<script>
// Wacht tot de pagina geladen is en haalt elementen op uit de DOM
	document.addEventListener('DOMContentLoaded', function () {
  const menu = document.querySelector('.menu-hoofd-navigatie-container');
  const openBtn = document.getElementById('openMobileMenu');
  const closeBtn = document.getElementById('closeMobileMenu');

  // Open en sluiten als er op de knop ervoor wordt gedrukt
  openBtn.addEventListener('click', (e) => {
		// Zorgt dat het werkt niet voor desktop
		if (window.innerWidth <= 1024) {
      e.stopPropagation();
      menu.classList.add('is-open');
    }
  });

  closeBtn.addEventListener('click', (e) => {
    e.stopPropagation();
    closeAll();
  });

  // Selecteerd alle submenus 
  menu.querySelectorAll('.menu-item-has-children > a').forEach(link => {
    link.addEventListener('click', function (e) {
			// Zorgt dat het werkt niet voor desktop
			if (window.innerWidth > 1024) return;

			const parentLi = this.parentElement;
      const parentUl = parentLi.parentElement;parentUl
			
			// Als het menu al open is, en er wordt nog een keer geklikt, wordt navigatie wel toegestaan
			if (parentLi.classList.contains('is-open')) return;
			
			// Zorgt dat hij niet automatisch navigeert als je het menu probeert te openen
      e.preventDefault();
      e.stopPropagation();

      // Sluit submenu als een ander (sub)menu geopend wordt
      parentUl.querySelectorAll(':scope > li.is-open').forEach(li => {
        if (li !== parentLi) {
          li.classList.remove('is-open');
          li.querySelectorAll('li.is-open').forEach(child => {
            child.classList.remove('is-open');
          });
        }
      });

      // Alleen openen (niet sluiten bij opnieuw klikken)
      parentLi.classList.add('is-open');
    });
  });
	
  // Als er buiten het menu wordt geklikt, sluit alle hoofd en submenus
  document.addEventListener('click', function (e) {
		// Zorgt dat het werkt niet voor desktop
		if (window.innerWidth > 1024) return;

    if (!menu.contains(e.target) && !openBtn.contains(e.target)) {
      closeAll();
    }
  });

  // Hulpfunctie closeall, sluit alle hoofd en submenus
  function closeAll() {
    menu.classList.remove('is-open');
    menu.querySelectorAll('li.is-open').forEach(li => {
      li.classList.remove('is-open');
    });
  }
});
</script>