(function (){
'use strict';
var overlay;
function buildAccordion(){
var wpNavEl=overlay.querySelector('.jm-panel .wp-block-navigation');
if(!wpNavEl){ return; }
var container=wpNavEl.querySelector('.wp-block-navigation__container');
if(!container){ return; }
var nav=document.createElement('nav');
nav.className='jm-nav';
var ul=document.createElement('ul');
container.querySelectorAll(':scope > .wp-block-navigation-item').forEach(function (item){
var labelEl=item.querySelector('.wp-block-navigation-item__label');
var linkEl=item.querySelector(':scope > a.wp-block-navigation-item__content');
var submenu=item.querySelector('.wp-block-navigation__submenu-container');
var li=document.createElement('li');
if(submenu){
var btn=document.createElement('button');
btn.className='jm-parent';
btn.setAttribute('aria-expanded', 'false');
var span=document.createElement('span');
span.textContent=labelEl ? labelEl.textContent.trim():'';
btn.appendChild(span);
var subUl=document.createElement('ul');
subUl.className='jm-submenu';
submenu.querySelectorAll(':scope > .wp-block-navigation-item').forEach(function (subItem){
var subLabel=subItem.querySelector('.wp-block-navigation-item__label');
var subLink=subItem.querySelector('a.wp-block-navigation-item__content');
var subLi=document.createElement('li');
var a=document.createElement('a');
a.href=subLink ? (subLink.getAttribute('href')||'#'):'#';
a.textContent=subLabel ? subLabel.textContent.trim():'';
a.addEventListener('click', closeOverlay);
subLi.appendChild(a);
subUl.appendChild(subLi);
});
btn.addEventListener('click', function (){
var isOpen=li.classList.contains('is-open');
ul.querySelectorAll('li.is-open').forEach(function (openLi){
openLi.classList.remove('is-open');
openLi.querySelector('.jm-parent').setAttribute('aria-expanded', 'false');
});
if(!isOpen){
li.classList.add('is-open');
btn.setAttribute('aria-expanded', 'true');
}});
li.appendChild(btn);
li.appendChild(subUl);
}else{
var a=document.createElement('a');
a.href=linkEl ? (linkEl.getAttribute('href')||'#'):'#';
a.textContent=labelEl ? labelEl.textContent.trim():'';
a.addEventListener('click', closeOverlay);
li.appendChild(a);
}
ul.appendChild(li);
});
nav.appendChild(ul);
wpNavEl.parentNode.replaceChild(nav, wpNavEl);
}
function openOverlay(){
overlay.setAttribute('aria-hidden', 'false');
overlay.classList.add('is-open');
document.documentElement.style.overflow='hidden';
}
function closeOverlay(){
overlay.setAttribute('aria-hidden', 'true');
overlay.classList.remove('is-open');
document.documentElement.style.overflow='';
}
document.addEventListener('DOMContentLoaded', function (){
var hamburger=document.querySelector('.jagdschloss-nav-main .wp-block-navigation__responsive-container-open'
);
overlay=document.querySelector('.jm-overlay');
if(!hamburger||!overlay){ return; }
buildAccordion();
overlay.querySelector('.jm-close').addEventListener('click', closeOverlay);
overlay.addEventListener('click', function (e){
if(e.target===overlay){ closeOverlay(); }});
hamburger.addEventListener('click', function (e){
e.stopImmediatePropagation();
openOverlay();
}, true);
});
})();