document.addEventListener("DOMContentLoaded",function(){var e2=document.getElementsByClassName('toklapp');for(var m=0;m<e2.length;m++){e2[m].setAttribute("id","kl_"+m)}
var k=0;var numItems=document.querySelectorAll('.toklapp').length;for(k=0;k<numItems;k++){var klappDiv=document.createElement('div');klappDiv.className='klapp';var klappLink=document.createElement('a');klappLink.setAttribute('rel','nofollow noindex');klappLink.className='xbtnBlue';klappLink.id='klapp'+k;klappLink.href='#';klappLink.addEventListener('click',function(event){event.preventDefault();toggleHandler(this.id.replace('klapp',''));return!1});var klappSpan1=document.createElement('span');klappSpan1.setAttribute('aria-hidden','true');klappLink.appendChild(klappSpan1);klappLink.innerHTML+='&nbsp;<span>...&nbsp;&dArr;&nbsp;einblenden&nbsp;&dArr;&nbsp;...</span>';klappDiv.appendChild(klappLink);document.getElementById('kl_'+k).parentNode.insertBefore(klappDiv,document.getElementById('kl_'+k))}});function toggleHandler(i){var klappDiv=document.getElementById('kl_'+i);var klappLink=document.getElementById('klapp'+i);var isHidden=klappDiv.style.display==='none'||klappDiv.offsetHeight===0;if(isHidden){klappDiv.style.display='block';klappLink.innerHTML='<span aria-hidden="true"></span>&nbsp;<span aria-live="polite">...&nbsp;&uArr;&nbsp;ausblenden&nbsp;&uArr;&nbsp;...</span>'}else{klappDiv.style.display='none';klappLink.innerHTML='<span aria-hidden="true"></span>&nbsp;<span aria-live="polite">...&nbsp;&dArr;&nbsp;einblenden&nbsp;&dArr;&nbsp;...</span>'}}
document.addEventListener("DOMContentLoaded",function(){var back_to_top_button='<a href="#top" class="backToTop">NACH OBEN &uArr;</a>';var sichtbarBeiScrollUpOderKlickAufBackToTop=document.getElementById('sichtbarBeiScrollUpOderKlickAufBackToTop');document.body.insertAdjacentHTML("beforeend",back_to_top_button);var backToTopButton=document.querySelector('.backToTop');backToTopButton.style.display='none';var previousScrollPosition=window.pageYOffset||document.documentElement.scrollTop;window.addEventListener('scroll',function(){var currentScrollPosition=window.pageYOffset||document.documentElement.scrollTop;if(currentScrollPosition<previousScrollPosition){backToTopButton.style.display='block';if(sichtbarBeiScrollUpOderKlickAufBackToTop){sichtbarBeiScrollUpOderKlickAufBackToTop.style.display='block'}}
previousScrollPosition=currentScrollPosition;if(window.scrollY>150){backToTopButton.style.display='block'}else if(document.documentElement.scrollTop>250){if(sichtbarBeiScrollUpOderKlickAufBackToTop){sichtbarBeiScrollUpOderKlickAufBackToTop.style.display='block'}}else{backToTopButton.style.display='none'}});backToTopButton.addEventListener('click',function(e){e.preventDefault();scrollToTop(400);if(sichtbarBeiScrollUpOderKlickAufBackToTop){sichtbarBeiScrollUpOderKlickAufBackToTop.style.display='block'}});function scrollToTop(scrollDuration){var scrollStep=-window.scrollY/(scrollDuration/15),scrollInterval=setInterval(function(){if(window.scrollY!==0){window.scrollBy(0,scrollStep)}else{clearInterval(scrollInterval)}},15)}});document.addEventListener("DOMContentLoaded",function(){var accordions=document.querySelectorAll('.accordion');for(var i=0;i<accordions.length;i++){accordions[i].addEventListener('click',function(){this.classList.toggle('active');var accordionArrow=this.querySelector('.accordionArrow');if(accordionArrow){accordionArrow.classList.toggle('active')}
var accordionPanel=this.nextElementSibling;if(accordionPanel&&accordionPanel.classList.contains('accordionPanel')){if(accordionPanel.style.display==='block'){accordionPanel.style.display='none'}else{accordionPanel.style.display='block'}}})}});function initAllCounters(){setCounter('id_Titel','counterTitel',150);setCounter('id_Text','counterText',5000);setCounterZiffern('id_Text','counterText',10)}
function setCounter($pStrIdCount,$pStrIdOutput,$pNumMaxCount){var $obIdCount=document.getElementById($pStrIdCount)
var $obIdOutput=document.getElementById($pStrIdOutput);var $numCount=String($obIdCount.value).length;var $numRest=$pNumMaxCount-$numCount;var $strRest='';if($numRest>=0){$strRest='- noch maximal '+$numRest+' Zeichen'}else{$strRest='<span class="hinweisTxtFehler">- Achtung: '+Math.abs($numRest)+' Zeichen zu viel</span>'}
$obIdOutput.innerHTML=$strRest}
function setCounterZiffern($pStrIdCount,$pStrIdOutput,$pNumMaxCount){var $obIdCount=document.getElementById($pStrIdCount)
var $obIdOutput=document.getElementById($pStrIdOutput);var $numCount=String($obIdCount.value).length;var $numRest=$pNumMaxCount-$numCount;var $strRest='';if($numRest>=0){$strRest='genau '+$numRest+' Ziffern'}else{$strRest='<span class="hinweisTxtFehler">Achtung: '+Math.abs($numRest)+' Ziffern zu viel!</span>'}
$obIdOutput.innerHTML=$strRest}
var isMarked=!0;function changeColor(){var elements=document.querySelectorAll('.searchMark, mark');for(var i=0;i<elements.length;i++){if(isMarked){elements[i].style.backgroundColor="inherit";elements[i].style.color = 'inherit';}else{elements[i].style.backgroundColor="#e7d3fc"}}
isMarked=!isMarked;var buttons=document.getElementsByClassName("toggleButton");for(var j=0;j<buttons.length;j++){if(isMarked){buttons[j].textContent="Such-Hilfen entfernen"}else{buttons[j].textContent="Such-Hilfen aktivieren"}}}
document.addEventListener('click',function(event){var navLeft=document.getElementById('navLeft');var hamburgerToggle=document.querySelector('.hamburgerToggle');var navLeftWrapper=document.getElementById('navLeftWrapper');var contentRightWrapper=document.getElementById('contentRightWrapper');if(!navLeftWrapper.contains(event.target)&&event.target!==hamburgerToggle&&event.target!==document.body){navLeft.style.opacity='0';hamburgerToggle.checked=!1}else if(event.target===hamburgerToggle){navLeft.style.opacity='1'}})

document.addEventListener("DOMContentLoaded", function () {
    // Überprüfen, ob ein Element mit der Klasse "KIsection" existiert
    var kiSection = document.querySelector(".KIsection");
    if (kiSection) {
        //console.log("KI-Section gefunden!");

        // Finde ALLE relevanten Details-Elemente ZUERST
        var detailsElements = document.querySelectorAll("details.details_pMetaHeading");

        // Stelle sicher, dass mindestens ein Details-Element vorhanden ist, bevor der Button erstellt wird
        if (detailsElements.length > 0) {
            // Bestimme den INITIALEN Zustand (gesetzt durch PHP)
            // Prüfe, ob das ERSTE Element das Attribut 'open' hat.
            var areInitiallyOpen = detailsElements[0].hasAttribute("open");

            // Setze den initialen Button-Text basierend auf dem initialen Zustand
            var initialButtonText = areInitiallyOpen ? "KI Ausblenden" : "KI Einblenden";
            //console.log("Initialer Zustand (open):", areInitiallyOpen, "Initialer Button Text:", initialButtonText);

            // Button erstellen
            var kiToggleButton = document.createElement("button");
            kiToggleButton.textContent = initialButtonText; // Den korrekten initialen Text setzen
            kiToggleButton.classList.add("kiToggleButton"); // CSS-Klasse hinzufügen (optional, aber gut für Styling)

            // Füge den Button dem DOM hinzu (z.B. vor der KIsection oder am Ende des body)
            // Beispiel: kiSection.parentNode.insertBefore(kiToggleButton, kiSection); // Fügt den Button vor der Sektion ein
            document.body.appendChild(kiToggleButton); // Fügt Button am Ende des Body an (wie im Original)


            // Klick-Event für den Button (Logik bleibt gleich)
            kiToggleButton.addEventListener("click", function () {
                // Prüfe den aktuellen Zustand WIEDER beim Klick
                var isOpen = detailsElements[0].hasAttribute("open");
                //console.log("Button Klick - Aktueller Zustand (open):", isOpen);

                detailsElements.forEach(function (details) {
                    if (isOpen) {
                        // Wenn offen -> schließen
                        details.removeAttribute("open");
                    } else {
                        // Wenn geschlossen -> öffnen
                        details.setAttribute("open", ""); // "" ist Standardwert für boolesche Attribute
                    }
                });

                // Button-Text umschalten (basiert auf dem Zustand VOR dem Klick)
                kiToggleButton.textContent = isOpen ? "KI Einblenden" : "KI Ausblenden";
                //console.log("Button Text nach Klick gesetzt auf:", kiToggleButton.textContent);
            });

        } else {
            // Keine Details-Elemente gefunden, auch wenn KIsection da ist. Button wird nicht erstellt.
            //console.log("KIsection gefunden, aber keine 'details.details_pMetaHeading' Elemente darin.");
        }
    } else {
        //console.log("Das Element mit der Klasse .KIsection wurde nicht gefunden.");
    }
});

    
        
// === pInhaltsverzeichnis
// Funktion zur Initialisierung des Inhaltsverzeichnisses
function initStickyContent(stickyId) {
  const tocEl = document.getElementById(stickyId);

  if (tocEl) {
    const tocTitle = tocEl.querySelector(`.${stickyId}Title`);
    const tocList = tocEl.querySelector(`.${stickyId}List`);

    if (tocTitle && tocList) {
      // Klick auf den Titel, um die Liste zu toggeln
      tocTitle.addEventListener('click', function() {
        // Umschalten zwischen sichtbar und unsichtbar
        tocList.classList.toggle(`${stickyId}IsHidden`);
        tocEl.classList.toggle('open');
      });

      // Klick ausserhalb des Bereichs schliesst die Liste
      document.addEventListener('click', function(event) {
        if (!tocEl.contains(event.target) && !tocList.classList.contains(`${stickyId}IsHidden`)) {
          tocList.classList.add(`${stickyId}IsHidden`);
          tocEl.classList.remove('open');
        }
      });
    }
  }
}

// Initialisierung fuer beide Elemente
document.addEventListener('DOMContentLoaded', function() {
  initStickyContent('pInhaltSticky');
  initStickyContent('fInhaltSticky');
});



document.addEventListener("DOMContentLoaded", function () {
    const audioElements = document.querySelectorAll(".podcastAudio"); // Alle Elemente mit der Klasse 'podcastAudio' auswaehlen

    const observer = new IntersectionObserver(
        (entries, observer) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    const audioElement = entry.target; // Aktuelles Ziel des Observers
                    const sources = audioElement.querySelectorAll("source");

                    // Datenquelle 'data-src' in 'src' umwandeln
                    sources.forEach(source => {
                        const dataSrc = source.getAttribute("data-src");
                        if (dataSrc) {
                            source.src = dataSrc; // 'src' setzen
                            source.removeAttribute("data-src"); // 'data-src' entfernen
                        }
                    });

                    // Audio-Element neu laden
                    audioElement.load(); // Sicherstellen, dass das Audio geladen wird

                    // Beobachtung stoppen, da Audio geladen wurde
                    observer.unobserve(audioElement);
                }
            });
        },
        { threshold: 0.1 } // Observer reagiert, wenn 10% des Elements sichtbar sind
    );

    // Observer auf jedes Audio-Element anwenden
    audioElements.forEach(audioElement => {
        observer.observe(audioElement);
    });
});




