Wechseln zu:Navigation, Suche
Wiki

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* Das folgende JavaScript wird für alle Benutzer geladen. */
var sp_country_codes = document.querySelectorAll("span.sp-country-code");
for (i = 0; i < sp_country_codes.length; i++) {
	sp_country_codes[i].innerHTML = navigator.language.substring(0, 2);
	}

var default_language = document.querySelectorAll(".language.de");
for (i = 0; i < default_language.length; i++) {
	/*default_language[i].style.display = "inline";*/
	/*default_language[i].classList.add("inline");*/
	}

var supported_languages = {
	de: "german",
	en: "english",
	fr: "french",
	pl: "polish",
	// beliebig erweiterbar
	};

// sprache des browsers
var browser_langues_code = navigator.language;
if (browser_langues_code.indexOf("-") != -1) {
	var browser_langues_code = browser_langues_code.substring(
		0,
		browser_langues_code.indexOf("-")
	);
	}


// wird die sprache supportet auswählen
console.log(supported_languages[browser_langues_code]);
if (supported_languages[browser_langues_code] != undefined) {
	var default_language = document.querySelectorAll(
		".language." + supported_languages[browser_langues_code]
	);
	for (i = 0; i < default_language.length; i++) {
		/* default_language[i].style.display = "inline"; */
		 default_language[i].classList.add("inline"); 
		document.documentElement.setAttribute("lang", navigator.language.substring(0, 2) );
		document.getElementById('mw-content-text').setAttribute("lang", navigator.language.substring(0, 2) );
		}
	} else {
	var default_language = document.querySelectorAll(".language.english");
	for (i = 0; i < default_language.length; i++) {
		/* default_language[i].style.display = "inline"; */
		default_language[i].classList.add("inline"); 
		document.documentElement.setAttribute("lang", 'en');
		document.getElementById('mw-content-text').setAttribute("lang", 'en');
		}
	}

// hier die funktion der buttons

// deutsch button
var language_toggle_german = document.querySelectorAll(
	".language-toggle-german"
	);
for (i = 0; i < language_toggle_german.length; i++) {
	language_toggle_german[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
		}
		var language_german = document.querySelectorAll(".language.german");
		for (i = 0; i < language_german.length; i++) {
			language_german[i].classList.remove("toggle-inaktiv");
			language_german[i].classList.add("inline");
			document.documentElement.setAttribute("lang", 'de');
			document.getElementById('mw-content-text').setAttribute("lang", 'de');
			}
		});
	}

// englisch button
var language_toggle_english = document.querySelectorAll(
	".language-toggle-english"
	);
for (i = 0; i < language_toggle_english.length; i++) {
	language_toggle_english[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
			}
		var language_english = document.querySelectorAll(".language.english");
		for (i = 0; i < language_english.length; i++) {
			language_english[i].classList.remove("toggle-inaktiv");
			language_english[i].classList.add("inline");
			document.documentElement.setAttribute("lang", 'en');
			document.getElementById('mw-content-text').setAttribute("lang", 'en');
			}
		});
	}

// französisch button
var language_toggle_french = document.querySelectorAll(
	".language-toggle-french"
	);
for (i = 0; i < language_toggle_french.length; i++) {
	language_toggle_french[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
		}
		var language_french = document.querySelectorAll(".language.french");
		for (i = 0; i < language_french.length; i++) {
			language_french[i].classList.remove("toggle-inaktiv");
			language_french[i].classList.add("inline");
		}
	});
	}

// polnisch button
var language_toggle_polish = document.querySelectorAll(
	".language-toggle-polish"
	);
for (i = 0; i < language_toggle_polish.length; i++) {
	language_toggle_polish[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
		}
		var language_polish = document.querySelectorAll(".language.polish");
		for (i = 0; i < language_polish.length; i++) {
			language_polish[i].classList.remove("toggle-inaktiv");
			language_polish[i].classList.add("inline");
		}
	});
	}


// Ein- und ausblenden von Beschriftungs-div-Tags

/* Schaltet zwischen sp-toggle-show und sp-toggle-hide Paaren um */
mw.hook('wikipage.content').add(function($content) {
    // 1. Klick auf die Show-Box
    $content.find('.sp-toggle-show').on('click', function() {
        var $showBox = $(this);
        var $hideBox = $showBox.next('.sp-toggle-hide');
        
        if ($hideBox.length) {
            $showBox.addClass('none');
            $hideBox.removeClass('none');
        }
    });

    // 2. Klick auf die Hide-Box
    $content.find('.sp-toggle-hide').on('click', function() {
        var $hideBox = $(this);
        var $showBox = $hideBox.prev('.sp-toggle-show');
        
        if ($showBox.length) {
            $hideBox.addClass('none');
            $showBox.removeClass('none');
        }
    });
});



// Copy to Clipboard

$(function () {
    // Nur, wenn jQuery geladen ist
    $('.mw-copy-to-clipboard').on('click', function (e) {
        const $btn = $(this);
        // 1️⃣ Text holen – entweder aus data‑attribut oder aus dem Button‑Text selbst
        const textToCopy = $btn.data('clipboard-text') || $btn.text();

        // 2️⃣ Clipboard‑API benutzen, falls verfügbar
        if (navigator.clipboard) {
            navigator.clipboard.writeText(textToCopy)
                .then(() => showCopied($btn))
                .catch(err => console.warn('Clipboard API not allowed', err));
        } else {
            // 3️⃣ Fallback für alte Browser: execCommand
            const textarea = document.createElement('textarea');
            textarea.style.position = 'fixed';   // verhindert Scroll‑Schiebe‑Effekt
            textarea.style.opacity = 0;         // unsichtbar
            textarea.value = textToCopy;
            document.body.appendChild(textarea);
            textarea.select();
            try {
                document.execCommand('copy');
                showCopied($btn);
            } catch (err) {
                console.warn('Fallback copy failed', err);
            }
            document.body.removeChild(textarea);
        }
    });

    // Hilfsfunktion für kurzes „Copied!“ Tooltip
    function showCopied($el) {
        const originalTitle = $el.attr('title') || '';
        $el.attr('title', 'Copied!').trigger('mouseover');
        setTimeout(() => {
            $el.attr('title', originalTitle).trigger('mouseout');
        }, 1200);
    }
});