class MenuTop extends HTMLElement {

    constructor() {
        super();
        this.attachShadow({mode: 'open'});
    }
    connectedCallback() {
        const shadow = this.shadowRoot;
        const preloadStyle = document.createElement('style');
        preloadStyle.textContent = `
        .preload { 
            visibility: hidden; /* oder display:none */
        }
    `;
        shadow.appendChild(preloadStyle);

        const parser = new DOMParser();
        const doc = parser.parseFromString(`<style>
    .menu-top.preload {
        visibility: hidden;
    }
</style>
<div class="menu-top preload">
    <span id="menu-mobile" class="menu-mobile">Alle MGA Produkte
        <svg xmlns="http://www.w3.org/2000/svg" width="8.62" height="5.33" viewBox="0 0 8.62 5.33">
            <path id="Pfad_2" data-name="Pfad 2" d="M7.013,8.58l3.3,3.3,3.3-3.3L14.62,9.6l-4.31,4.31L6,9.6Z"
                  transform="translate(-6 -8.58)" fill="var(--white)"></path>
        </svg>
    </span>
    <ul>
        <span class="menuHeader">
            <span class="close">
                <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32.021" viewBox="0 0 32 32.021">
                    <path id="Pfad_5" data-name="Pfad 5"
                          d="M33.318,36.241,20.23,23.132,7.142,36.241,4.22,33.318,17.329,20.23,4.22,7.142,7.142,4.22,20.23,17.329,33.318,4.241l2.9,2.9L23.132,20.23,36.22,33.318Z"
                          transform="translate(-4.22 -4.22)" fill="#fff"></path>
                </svg>
            </span>
        </span>

        <h2 class="menuTitle">Alle MGA Produkte</h2>
                <a href="https://kis.idowa.de?return_url=https%3A%2F%2Ftrauer.idowa.de" target="_blank">


            <li class="menu">
                    Abo
            </li>
                </a>

                <a href="https://epaper.mga.de/dashboard.act?region=reg" target="_blank">


            <li class="menu">
                    E-Paper
            </li>
                </a>



            <li class="menu">
                    Anzeigen &amp; Märkte
                    <svg xmlns="http://www.w3.org/2000/svg" width="8.62" height="5.33" viewBox="0 0 8.62 5.33">
                        <path id="Pfad_2" data-name="Pfad 2"
                              d="M7.013,8.58l3.3,3.3,3.3-3.3L14.62,9.6l-4.31,4.31L6,9.6Z"
                              transform="translate(-6 -8.58)" fill="var(--white)"/>
                    </svg>

                    <ul class="subMenu" style="top:-100vh;">
                        <span class="menuHeader">
                            <img src=""/>
                            <span class="close">
                                <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32.021"
                                     viewBox="0 0 32 32.021">
                                    <path id="Pfad_5" data-name="Pfad 5"
                                          d="M33.318,36.241,20.23,23.132,7.142,36.241,4.22,33.318,17.329,20.23,4.22,7.142,7.142,4.22,20.23,17.329,33.318,4.241l2.9,2.9L23.132,20.23,36.22,33.318Z"
                                          transform="translate(-4.22 -4.22)" fill="#fff"/>
                                </svg>
                            </span>
                        </span>
                            <h2 class="subMenuTitle">Anzeigen &amp; Märkte</h2>
        <span class="group0">
    <a href="https://markt.idowa.de/anzeige-buchen" style="color: black">


    <li class="menu">Anzeige buchen
    </li>
    </a>

    <a href="https://markt.idowa.de/chiffre-anzeigen" style="color: black">


    <li class="menu">Chiffre-Anzeige beantworten
    </li>
    </a>
        </span>


    <span class="group1">


    <li class="menu">Märkte &amp; Sonderthemen

            <ul class="subSubMenu">

    <a href="https://jobs.idowa.de/" style="color: black">


    <li class="menu">Stellenmarkt
    </li>
    </a>

    <a href="https://zuhause.idowa.de/" style="color: black">


    <li class="menu">Immobilienmarkt
    </li>
    </a>

    <a href="https://markt.idowa.de/automarkt" style="color: black">


    <li class="menu">Kfz-Markt
    </li>
    </a>

    <a href="https://markt.idowa.de/traueranzeigen" style="color: black">


    <li class="menu">Traueranzeigen
    </li>
    </a>

    <a href="https://markt.idowa.de/herzliche-anzeigen" style="color: black">


    <li class="menu">Herzliche Anzeigen
    </li>
    </a>

    <a href="https://markt.idowa.de/kleinanzeigen" style="color: black">


    <li class="menu">Kleinanzeigen
    </li>
    </a>

    <a href="https://idowa.weekli.de/" style="color: black">


    <li class="menu">Prospekte
    </li>
    </a>

    <a href="https://markt.idowa.de/sonderthemen" style="color: black">


    <li class="menu">Sonderthemen
    </li>
    </a>

        </ul>


    </li>
    </span>

    <span class="group2">


    <li class="menu">Magazine &amp; Ratgeber

            <ul class="subSubMenu">

    <a href="https://landshuter-magazin.de/" style="color: black">


    <li class="menu">Landshuter-Magazin
    </li>
    </a>

    <a href="https://straubinger-magazin.de/" style="color: black">


    <li class="menu">Straubinger-Magazin
    </li>
    </a>

    <a href="https://landshuter-magazin.de/" style="color: black">


    <li class="menu">Mama, Papa &amp; Wir
    </li>
    </a>

    <a href="https://www.espresso-magazin.de/" style="color: black">


    <li class="menu">Espresso-Magazin
    </li>
    </a>

    <a href="https://www.expertenratgeber.de/" style="color: black">


    <li class="menu">Expertenratgeber
    </li>
    </a>

    <a href="https://www.deine-lehrstelle.de/" style="color: black">


    <li class="menu">Deine Lehrstelle
    </li>
    </a>

    <a href="https://golf-faszination.de/" style="color: black">


    <li class="menu">Golf Faszination &amp; Lifestyle
    </li>
    </a>

    <a href="https://weihnachten-faszination.de/" style="color: black">


    <li class="menu">Weihnachten Faszination &amp; Lifestyle
    </li>
    </a>

    <a href="https://www.passau-magazin.de/" style="color: black">


    <li class="menu">Niederbayern TV Magazin
    </li>
    </a>

        </ul>


    </li>
    </span>

    <span class="group3">


    <li class="menu">Verzeichnisse &amp; Vergleiche

            <ul class="subSubMenu">

    <a href="https://markt.idowa.de/gesundheit" style="color: black">


    <li class="menu">Gesundheit
    </li>
    </a>

    <a href="https://markt.idowa.de/branchenbuch" style="color: black">


    <li class="menu">Branchenbuch
    </li>
    </a>

    <a href="https://markt.idowa.de/heizoel" style="color: black">


    <li class="menu">Heizölpreise
    </li>
    </a>

    <a href="https://markt.idowa.de/heizoel" style="color: black">


    <li class="menu">Pelletspreis
    </li>
    </a>

        </ul>


    </li>
    </span>

    <span class="group4">


    <li class="menu">Media &amp; Service

            <ul class="subSubMenu">

    <a href="https://markt.idowa.de/mediadaten" style="color: black">


    <li class="menu">Mediadaten
    </li>
    </a>

    <a href="https://markt.idowa.de/startseite/kontakt-faq/abteilung/anzeigen-beilagen/onlinewerbung-1.html" style="color: black">


    <li class="menu">Onlinewerbung
    </li>
    </a>

    <a href="https://idowapro.de/" style="color: black">


    <li class="menu">Digitalagentur
    </li>
    </a>

    <a href="https://markt.idowa.de/startseite/kontakt-faq" style="color: black">


    <li class="menu">FAQ
    </li>
    </a>

    <a href="https://markt.idowa.de/mediadaten" style="color: black">


    <li class="menu">Kontakt Mediaberatung
    </li>
    </a>

        </ul>


    </li>
    </span>

                            <span class="menuFooter"><a href="https://www.mediengruppe-attenkofer.de/" target="_blank">
                <img src="https://mediagroup-central.s3.eu-central-1.amazonaws.com/files/mga/images/logo/logo.svg"/>
            </a>
        </span>
                    </ul>

            </li>

                <a href="https://markt.idowa.de/startseite/kontakt-faq/abteilung/leserservice.html" target="_blank">


            <li class="menu">
                    Leserservice
            </li>
                </a>

                <a href="https://www.mediengruppe-attenkofer.de/" target="_blank">


            <li class="menu">
                    Mediengruppe Attenkofer
            </li>
                </a>


        <span class="menuFooter"><a href="https://www.mediengruppe-attenkofer.de/" target="_blank">
                <img src="https://mediagroup-central.s3.eu-central-1.amazonaws.com/files/mga/images/logo/logo.svg"/>
            </a>
        </span>
    </ul>
</div>`, 'text/html');
        const templateContent = doc.body.firstChild;
        shadow.appendChild(templateContent);

        const cssFiles = [
            'https://mediagroup-component-menu-configurator.s3.eu-central-1.amazonaws.com/css/index.css',
        ];

        cssFiles.forEach(href => {
            const link = document.createElement('link');
            link.rel = 'stylesheet';
            link.href = href;
            shadow.appendChild(link);
        });

        const links = shadow.querySelectorAll('link');
        let loadedCount = 0;
        links.forEach(link => {
            link.onload = () => {
                loadedCount++;
                if (loadedCount === links.length) {
                    const menu = shadow.querySelector('.menu-top');
                    if (menu) menu.classList.remove('preload');
                }
            }
        });

        this.initEvents();
    }
    initEvents = () => {
        let listElements = this.shadowRoot.querySelectorAll('li');
        let menuMobile = this.shadowRoot.querySelector('#menu-mobile');
        let menuMobileHeader = this.shadowRoot.querySelector('.menuHeader');
        listElements.forEach((listElement) => listElement.addEventListener('click', this.toggleSubMenu));
        menuMobile.addEventListener('click', this.toggleSubMenu);
        menuMobileHeader.addEventListener('click', this.toggleSubMenu);
    };
    toggleSubMenu(event) {
        console.log(event)
    let subMenu;
    if (this.id === 'menu-mobile' || this.className === 'menuHeader') {
        if (this.id === 'menu-mobile') {
        subMenu = this.nextElementSibling;
        if (subMenu.style.top === "-100vh") {
            subMenu.style.top = '0vh';
        } else {
            subMenu.style.top = '0vh';
        }
        } else {
            subMenu = this.parentElement;
            if (subMenu.style.top === '0vh') {
                subMenu.style.top = '-100vh';
            } else {
                subMenu.style.top = '0vh';
            }
        }
    } else {
        subMenu = this.querySelector('.subMenu');
        if (subMenu.style.top === '-100vh') {
            subMenu.style.top = '0vh';
        } else {
            subMenu.style.top = '-100vh';
        }
    }
}
}
customElements.define('menu-top', MenuTop);