const { AJAX_URL, HOME_URL, THEME_URL, THEME_DIR } = THEME;

document.addEventListener('DOMContentLoaded', function () {
    if (document.querySelector('header')) {
        const header = document.querySelector('header');
        const nav = header.querySelector('nav');
        const items = nav.querySelectorAll('ul > .menu-item-has-children');
        var lastScroll = 0;
        const scrollThreshold = 5;
    
        items.forEach(item => {
            // adiciona no final do item um icone de seta para baixo
            const icon = document.createElement('i');
            icon.classList.add('bi', 'bi-chevron-down');
            const link = item.querySelector('a');
            link.appendChild(icon);
    
            if (window.innerWidth < 1024) {
                link.addEventListener('click', (e) => {
                    e.preventDefault();
                    item.classList.toggle('open');
                });
            }
        });
    
        // se o scrool for maior que 100px, adiciona a classe 'scrolled' ao header
        window.addEventListener('scroll', () => {
            const currentScroll = window.scrollY - header.clientHeight;
    
            // Verifica se a diferença no scroll é maior que o threshold para evitar updates desnecessários
            if (Math.abs(currentScroll - lastScroll) > scrollThreshold) {
                if (currentScroll > lastScroll) {
                    // Scroll para baixo e posição maior que 100px
                    header.classList.add('scrolled');
                } else if (currentScroll < lastScroll) {
                    // Scroll para cima
                    header.classList.remove('scrolled');
                }
    
                lastScroll = currentScroll; // Atualiza o último valor de scroll
            }
        });
    
        const btnBurder = header.querySelector('#btn-burguer');
        const menu = header.querySelector('.header-menu');
    
        btnBurder.addEventListener('click', () => {
            if (menu.classList.contains('active')) {
                menu.classList.remove('active');
                btnBurder.classList.remove('active');
            } else {
                menu.classList.add('active');
                btnBurder.classList.add('active');
                menu.style.top = `${header.clientHeight}px`
            }
        });
    }
    if (document.querySelector('.galeria-evento')) {
        const galeriaEvento = document.querySelectorAll('.galeria-evento');
    
        galeriaEvento.forEach((element) => {
            const splideElement = element.querySelector('.splide.splide-galeria');
            const splideElementFooter = element.querySelector('.splide.splide-galeria-footer');
            const fulltscreenButton = element.querySelector('.fullscreen-button');
    
            fulltscreenButton.addEventListener('click', () => {
                element.classList.toggle('fullscreen');
                fulltscreenButton.classList.toggle('active');
            });
    
            const splide = new Splide(splideElement, {
                type: 'fade',
                rewind: true,
                pagination: false,
                arrows: true,
                autoplay: false,
                interval: 5000,
            });
    
            const splideFooter = new Splide(splideElementFooter, {
                type: 'fade',
                rewind: true,
                pagination: false,
                arrows: false,
                autoplay: false,
                interval: 5000,
            });
    
            splideFooter.mount();
            splide.mount();
    
            // sync 
            splide.sync(splideFooter);
    
            splide.on('move', (newIndex) => {
                const slideIndex = newIndex + 1;
                const slideIndexElement = element.querySelector('.slide-index');
                slideIndexElement.innerHTML = slideIndex;
    
                // pausa todas as tags video dentro do slide
                const videos = element.querySelectorAll('video');
                videos.forEach((video) => {
                    video.pause();
                });
    
                // pausa todos os ytb embeds 
                const ytbEmbeds = element.querySelectorAll('iframe');
                ytbEmbeds.forEach((ytbEmbed) => {
                    ytbEmbed.src = ytbEmbed.src;
                });
            });
        });
    } 
}); 