document.addEventListener("DOMContentLoaded", function () {
    document
        .querySelector(".navbar_hamburger")
        .addEventListener("click", function () {
            this.classList.toggle("open");
            document.querySelector(".navbar_pages").classList.toggle("open");
            document.querySelector(".navbar_search_modal").classList.toggle("open");
        });

    document.querySelector(".navbar_search_button").addEventListener("click", function () {
        document.querySelector(".navbar_search_modal").classList.toggle("open");
        document.querySelector(".navbar_search_modal input").focus();
        document.querySelector(".navbar_hamburger").classList.remove("open");
        document.querySelector(".navbar_pages").classList.remove("open");
    });

    // document.addEventListener("click", function (event) {
    //     if (
    //         !event.target.closest(".navbar_search_modal")
    //         && !event.target.closest(".navbar_search_button")
    //     ) {
    //         document.querySelector(".navbar_search_modal").classList.remove("open");
    //     }
    // });

    document.querySelectorAll(".dropdown_field").forEach((dropdown_field) => {
        dropdown_field.addEventListener("click", function () {
            if (window.innerWidth > 768) return;
            event.preventDefault();
            this.parentElement.querySelector(".navbar_dropdown_menu").classList.toggle("open");
        });
    });

    // if (
    //     localStorage.getItem("our_sites_toggle") === null ||
    //     localStorage.getItem("our_sites_toggle") === "true"
    // ) {
    //     document.querySelector("#our_sites_toggle").classList.add("active");
    //     document
    //         .querySelector("#inner_sites_navigation")
    //         .classList.add("active");
    // }

    // add a click event listener to the id 'our_sites_toggle'
    // document.querySelector("#our_sites_toggle").addEventListener("click", function () {
    //         const isActive = this.classList.contains("active");

    //         if (isActive) {
    //             this.classList.remove("active");
    //             document.querySelector("#inner_sites_navigation").classList.remove("active");
    //             localStorage.setItem("our_sites_toggle", "false");
    //             return;
    //         }

    //         this.classList.add("active");
    //         document.querySelector("#inner_sites_navigation").classList.add("active");
    //         localStorage.setItem("our_sites_toggle", "true");
    //     });

    // if (
    //     document.querySelector("#inner_sites_navigation").classList.contains("active")
    // ) {
    //     window.addEventListener("scroll", function () {
    //         if (localStorage.getItem("our_sites_toggle") !== null) return;
    //         document.querySelector("#inner_sites_navigation").classList.remove("active");
    //         document.querySelector("#our_sites_toggle").classList.remove("active");
    //         localStorage.setItem("our_sites_toggle", "false");
    //     });
    // }

    const updateWIthSearchParam = (searchParam) => {
        document.querySelectorAll(".nav_currency_selector").forEach((anchor) => {
            const href = anchor.getAttribute("href").split("?");
            anchor.setAttribute("href", `${href[0]}?${searchParam}`);
        });
    };

    let currentSearchParam = new URLSearchParams(window.location.search).toString();
    if (currentSearchParam) {updateWIthSearchParam(currentSearchParam);}

    let previousUrl = "";
    const observer = new MutationObserver(function (mutations) {
        if (window.location.href !== previousUrl) {
            previousUrl = window.location.href;
            const searchParam = new URLSearchParams(
                window.location.search
            ).toString();
            if (searchParam !== currentSearchParam) {
                updateWIthSearchParam(searchParam);
                currentSearchParam = searchParam;
            }
        }
    });
    const config = {
        subtree: true,
        childList: true
    };
    observer.observe(document, config);

    // window.addEventListener("scroll", function () {
    // 	if (window.scrollY > 90) {
    // 		document.querySelector(".navigation").classList.add("scrolled");
    // 	} else {
    // 		document.querySelector(".navigation").classList.remove("scrolled");
    // 	}
    // });

    fetch("/json/global_cart")
        .then((response) => response.json())
        .then((data) => {
            console.log("json/global_cart data: ", data);
            if (data.order_qty == 0) {
                document.querySelector(".cart_count").textContent = "0";
            } else if (data.order_qty == 1) {
                document.querySelector(".cart_count").textContent = "1";
                document.querySelector(".cart_total").textContent =
                    data.order_subtotal;
            } else if (data.order_qty >= 2) {
                document.querySelector(".cart_count").textContent =
                    data.order_qty;
                document.querySelector(".cart_total").textContent =
                    data.order_subtotal;
            }
        })
        .catch((error) => {
            console.error("Error:", error);
        });

    $("#products_menu a").on("focus", function () {$("#products_menu").addClass("navbar_focus");});
    $("#products_menu a").on("focusout", function () {$("#products_menu").removeClass("navbar_focus");});
    $("#downloads_menu a").on("focus", function () {$("#downloads_menu").addClass("navbar_focus");});
    $("#downloads_menu a").on("focusout", function () {$("#downloads_menu").removeClass("navbar_focus");});
    $("#support_menu a").on("focus", function () {$("#support_menu").addClass("navbar_focus");});
    $("#support_menu a").on("focusout", function () {$("#support_menu").removeClass("navbar_focus");});
    $("#library_menu a").on("focus", function () {$("#library_menu").addClass("navbar_focus");});
    $("#library_menu a").on("focusout", function () {$("#library_menu").removeClass("navbar_focus");});
});
