/**
 * AegisSight Analytics - Custom Events
 * Trackt wichtige Nutzerinteraktionen via Umami
 */
(function() {
    "use strict";

    // Nur tracken wenn umami geladen ist
    function track(name, data) {
        if (typeof umami !== "undefined" && umami.track) {
            umami.track(name, data);
        }
    }

    document.addEventListener("DOMContentLoaded", function() {

        // 1. Produkt-Tab geklickt
        document.querySelectorAll("[data-translate]").forEach(function(el) {
            if (el.closest(".products-section, .product-card, .tab-button")) {
                el.addEventListener("click", function() {
                    var text = el.textContent.trim().substring(0, 50);
                    track("Produkt-Interesse", { element: text });
                });
            }
        });

        // 2. About-Tabs (Unternehmen, Mission, Kernkompetenzen, Versprechen)
        document.querySelectorAll(".about-tab, .tab-btn, [data-tab]").forEach(function(el) {
            el.addEventListener("click", function() {
                var tab = el.getAttribute("data-tab") || el.textContent.trim().substring(0, 30);
                track("About-Tab", { tab: tab });
            });
        });

        // 3. Kontaktbereich erreicht (Scroll)
        var contactTracked = false;
        var observer = new IntersectionObserver(function(entries) {
            entries.forEach(function(entry) {
                if (entry.isIntersecting && !contactTracked) {
                    contactTracked = true;
                    track("Kontakt-Bereich-erreicht");
                }
            });
        }, { threshold: 0.5 });

        var footer = document.querySelector("footer, .contact-section, #kontakt, #contact");
        if (footer) observer.observe(footer);

        // 4. Sprachenwechsel
        document.querySelectorAll(".lang-switch, .language-btn, [data-lang]").forEach(function(el) {
            el.addEventListener("click", function() {
                var lang = el.getAttribute("data-lang") || el.textContent.trim();
                track("Sprachenwechsel", { sprache: lang });
            });
        });

        // 5. Lagebild-Seite: Tab gewechselt
        if (window.location.pathname.indexOf("lagen") > -1) {
            document.querySelectorAll(".tab-button, [data-tab]").forEach(function(el) {
                el.addEventListener("click", function() {
                    var tab = el.getAttribute("data-tab") || el.textContent.trim().substring(0, 30);
                    track("Lagebild-Tab", { tab: tab });
                });
            });
            track("Lagebild-Besuch");
        }

        // 6. AccountForger Video aufgerufen
        if (window.location.pathname.indexOf("accountforger") > -1) {
            track("AccountForger-Video-Aufruf");
        }
    });
})();
