// Description: Javascript tiedosto teeman toiminnallisuuksille
// Version: 1.0
// Käytetään jQuery-kirjastoa

/*------------------------------------------------------
-----LISÄTÄÄN MENUVALIKON TOIMINNALLISUUS---------------
------------------------------------------------------*/

    // Lisää klikkaustapahtuman kuuntelija dokumentille
    document.addEventListener("click", function (event) {
        // Jos klikattu elementti ei ole valikon alueella
        if (!event.target.closest(".menu-item-has-children")) {
            // Sulje kaikki avoimet valikon alaotsikot
            document.querySelectorAll(".menu-item-has-children.toggled").forEach((openItem) => {
                openItem.classList.remove("toggled");
                // Sulje kaikki avoimet alavalikot
                const submenu = openItem.querySelector(".sub-menu");
                if (submenu) {
                    submenu.classList.remove("submenu-open");
                }
            });
        }
    });

    // Lisätään valikon alaotsikoiden toiminnallisuus

(function($) {
    // Kun dokumentti on valmis
    $(document).ready(function() {
        // Kun mobiilivalikon avauspainiketta klikataan
        $('.menu-toggle').click(function() {
            // Aktivioidaan tai poistetaan 'toggled' luokka .menu-primary-container elementistä
            $('.menu-primary-container').toggleClass('toggled');
            // Aktivoidaan tai poistetaan 'mobile-menu-open' luokka body elementistä
            $('body').toggleClass('mobile-menu-open');
            // Päivitetään 'aria-expanded' attribuutti
            $(this).attr('aria-expanded', function(attr) {
                return attr == 'true' ? 'false' : 'true';
            });
            // Käännä kuvake 90 astetta
            $(this).toggleClass('icon-rotate');
        });
    });
})(jQuery);

document.addEventListener("DOMContentLoaded", function () {
    // Valitse kaikki valikon alaotsikot, joilla CSS-luokka 'menu-item-has-children'
    const menuItems = document.querySelectorAll(".menu-item-has-children > a");

    // Kaikille valikon alaotsikoille
    menuItems.forEach((item) => {
        // Lisää klikkaustapahtuman kuuntelija
        item.addEventListener("click", function (event) {
            // Jos mobiilivalikko on avoinna
            if (document.body.classList.contains('mobile-menu-open')) {
                // Estä oletustoiminto
                event.preventDefault();
                // Lopeta tapahtuman leviäminen
                event.stopPropagation();
                // Aktivioidaan tai poistetaan 'toggled' luokka .menu-primary-container elementistä
                const parent = this.parentElement;
                parent.classList.toggle("toggled");
                // Aktivioidaan tai poistetaan 'submenu-open' luokka .sub-menu elementistä
                const submenu = parent.querySelector(".sub-menu");
                if (submenu) {
                    submenu.classList.toggle("submenu-open");
                }
            }
        });
    });

});
