(function (){
function openItem(button, panel){
const list=button.closest('.nfusion-kb-list');
list.querySelectorAll('.nfusion-kb-item.is-open').forEach(function(openItem){
if(openItem!==button.closest('.nfusion-kb-item') ){
closeItem(
openItem.querySelector('.nfusion-kb-question'),
openItem.querySelector('.nfusion-kb-answer')
);
}});
const item=button.closest('.nfusion-kb-item');
button.setAttribute('aria-expanded', 'true');
button.querySelector('.nfusion-kb-icon').textContent='−';
item.classList.add('is-open');
panel.style.height='0px';
panel.style.overflow='hidden';
panel.removeAttribute('hidden');
requestAnimationFrame(function (){
panel.style.height=panel.scrollHeight + 'px';
});
panel.addEventListener('transitionend', function onOpen(){
panel.style.height='auto';
panel.style.overflow='';
panel.removeEventListener('transitionend', onOpen);
});
}
function closeItem(button, panel){
const item=button.closest('.nfusion-kb-item');
button.setAttribute('aria-expanded', 'false');
button.querySelector('.nfusion-kb-icon').textContent='+';
item.classList.remove('is-open');
panel.style.height=panel.scrollHeight + 'px';
panel.style.overflow='hidden';
requestAnimationFrame(function (){
requestAnimationFrame(function (){
panel.style.height='0px';
});
});
panel.addEventListener('transitionend', function onClose(){
panel.setAttribute('hidden', '');
panel.style.height='';
panel.style.overflow='';
panel.removeEventListener('transitionend', onClose);
});
}
function openFromHash(){
const hash=window.location.hash.slice(1);
if(! hash) return;
const target=document.getElementById(hash);
if(! target||! target.classList.contains('nfusion-kb-item') ) return;
const button=target.querySelector('.nfusion-kb-question');
const panel=target.querySelector('.nfusion-kb-answer');
if(button&&panel){
openItem(button, panel);
setTimeout(function (){
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}, 50);
}}
document.addEventListener('DOMContentLoaded', function (){
document.querySelectorAll('.nfusion-kb-answer').forEach(function(panel){
panel.setAttribute('hidden', '');
});
document.querySelectorAll('.nfusion-kb-question').forEach(function(button){
const panel=document.getElementById(button.getAttribute('aria-controls') );
if(! panel) return;
button.addEventListener('click', function (){
if(button.getAttribute('aria-expanded')==='true'){
closeItem(button, panel);
}else{
openItem(button, panel);
}});
});
openFromHash();
});
})();