(function (){
function notifyDearFlipResize(){
if(typeof window.jQuery!=='undefined'){
window.jQuery(window).trigger('resize');
}
window.dispatchEvent(new Event('resize'));
}
function DearFlipBilingualInstance(root){
this.root=root;
this.storageKey=root.getAttribute('data-storage-key')||'';
this.defaultLang=root.getAttribute('data-default-lang')||'it';
this.langButtons=root.querySelectorAll('.dp-dflip-bilingual__lang-btn');
this.panels=root.querySelectorAll('.dp-dflip-bilingual__panel');
this.bindEvents();
this.applyStoredLanguage();
}
DearFlipBilingualInstance.prototype.bindEvents=function (){
var self=this;
this.langButtons.forEach(function (button){
button.addEventListener('click', function (event){
self.showLanguage(button.getAttribute('data-lang'));
if(event.detail!==0){
button.blur();
}});
});
};
DearFlipBilingualInstance.prototype.getActiveLang=function (){
var activeButton=this.root.querySelector('.dp-dflip-bilingual__lang-btn.is-active');
return activeButton ? activeButton.getAttribute('data-lang'):this.defaultLang;
};
DearFlipBilingualInstance.prototype.applyStoredLanguage=function (){
if(!this.storageKey||!window.sessionStorage){
return;
}
var storedLang=window.sessionStorage.getItem(this.storageKey);
if(storedLang==='it'||storedLang==='en'){
this.showLanguage(storedLang);
}};
DearFlipBilingualInstance.prototype.showLanguage=function (lang){
if(!lang||lang===this.getActiveLang()){
return;
}
this.langButtons.forEach(function (button){
var isActive=button.getAttribute('data-lang')===lang;
button.classList.toggle('is-active', isActive);
button.classList.toggle('cta-btn-grandient', isActive);
button.setAttribute('aria-selected', isActive ? 'true':'false');
});
this.panels.forEach(function (panel){
var isActive=panel.getAttribute('data-lang')===lang;
panel.classList.toggle('is-active', isActive);
panel.hidden = !isActive;
});
if(this.storageKey&&window.sessionStorage){
window.sessionStorage.setItem(this.storageKey, lang);
}
window.setTimeout(notifyDearFlipResize, 50);
window.setTimeout(notifyDearFlipResize, 250);
};
function initDearFlipBilingual(){
document.querySelectorAll('.dp-dflip-bilingual:not(.dp-dflip-bilingual--error)').forEach(function (root){
if(root.getAttribute('data-initialized')==='true'){
return;
}
root.setAttribute('data-initialized', 'true');
new DearFlipBilingualInstance(root);
});
}
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', initDearFlipBilingual);
}else{
initDearFlipBilingual();
}})();