MediaWiki:Common.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
K (test)
K (Bewegliche Feiertage)
Zeile 1: Zeile 1:
//== hilfsfunktionen =========================================
+
//============================================================
 
+
// hilfsfunktionen
/* CSS einbinden */
 
function addCSS(title) {
 
    document.write(
 
              '<style type="text/css">/*<![CDATA[*/ @import "/index.php?title=' +
 
              encodeURIComponent(title) + '&action=raw&ctype=text/css"; /*]]>*/</style>');
 
}
 
 
   
 
   
/* JS einbinden */
+
/** CSS einbinden */
function addJS(title) {
+
function addCSS(title) {
    document.write(
+
    document.write(
              '<script type="text/javascript" src="/index.php?title=' +
+
                '<style type="text/css">/*<![CDATA[*/ @import "/index.php?title=' +  
              encodeURIComponent(title) + '&action=raw&ctype=text/javascript"></script>');
+
                encodeURIComponent(title) + '&action=raw&ctype=text/css"; /*]]>*/</style>');
}
+
}
 
+
 
/* jQuery einbinden falls nötig */
+
/** JS einbinden */
function addJQuery() {
+
function addJS(title) {
        if (!window.jQuery)
+
    document.write(
        document.write('<script type="text/javascript" src="/skins/common/jquery.js"></script>');
+
                '<script type="text/javascript" src="/index.php?title=' +
}
+
                encodeURIComponent(title) + '&action=raw&ctype=text/javascript"></script>');
 +
}
  
// Zumindest während der Testphase sollte man CSS und JS auch später nachladen können:
+
//== ENDE hilfsfunktionen =====================================
  
addOnloadHook( function () {
+
/* Seiten mit eigenen Skins */
 +
var skinnedArticles = {
 +
    "Kamelopedia:Bildsuche":          "MediaWiki:Skin/Kamelopedia:Bildsuche.css",
 +
    "Pseudolink":                      "MediaWiki:Skin/Pseudolink.css",
 +
    "Spezial:Hochladen":              "MediaWiki:Skin/Spezial:Hochladen.css"
 +
};
  
/* CSS-Funktion ersetzen */
+
var articleCSS  = skinnedArticles[wgPageName.replace(/_/g, " ")];
addCSS = function(title)
+
if (articleCSS) addCSS(articleCSS);
{
+
var s = document.createElement("LINK");
+
s.rel = "stylesheet";
+
/* Seiten mit eigenen Skripts */
s.type = "text/css";
+
var scriptedArticles = {
s.href = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/css";
+
    "Spezial:Hochladen":                 "MediaWiki:Skin/Spezial:Hochladen.js",
document.body.appendChild(s);
+
     "Kamelopedia:Bildsuche":             "MediaWiki:Skin/Kamelopedia:Bildsuche.js",
}
+
    "Kamelopedia:Chat":                   "Hilfe:Javachat.js"
+
};  
/* JS-Funktion ersetzen */
 
addJS = function(title)
 
{
 
var s = document.createElement("SCRIPT");
 
s.type = "text/javascript";
 
s.src = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/javascript";
 
document.body.appendChild(s);
 
}
 
 
 
/* JQuery-Funktion ersetzen */
 
addJQuery = function(title)
 
{
 
var s = document.createElement("SCRIPT");
 
s.type = "text/javascript";
 
s.src = "/skins/common/jquery.js";
 
document.body.appendChild(s);
 
}
 
 
 
 
 
});
 
 
 
//== Konstanten ===============================================
 
 
 
function CSS(page)
 
{
 
return {type: "CSS", page: page};
 
}
 
 
 
function JS(page)
 
{
 
return {type: "JS", page: page};
 
}
 
 
 
function SPECIAL(key)
 
{
 
return {type: "SPECIAL", key: key};
 
}
 
 
 
var defaultCSS = CSS(null);
 
var defaultJS = JS(null);
 
var libPrototype = JS("MediaWiki:Prototype.js");
 
var libJQuery = SPECIAL("jQuery");
 
var libTranslate = JS("MediaWiki:Skin/translate.js");
 
 
 
//== Zeug laden ===============================================
 
 
 
// für "MediaWiki:Skin/Namensraum:Seitenname.css" defaultCSS verwenden
 
// für "MediaWiki:Skin/Namensraum:Seitenname.js" defaultJS verwenden
 
// für andere Seiten JS("Seite") oder CSS("Seite") verwenden
 
 
 
var loadStuff = {
 
    // Artikel
 
    "Artikelbaukasten":              [            defaultJS, libJQuery ],
 
    "Bewegung":                      [            defaultJS ],
 
    "Gelbsucht":                      [            defaultJS ],
 
    "Latein":                        [            defaultJS, libJQuery, libTranslate ],
 
    "Pseudolink":                    [ defaultCSS            ],
 
    "Wirklich leere Seite":          [ defaultCSS            ],
 
 
 
    // Kamelopedia
 
    "Commons:Kugel":                  [ defaultCSS, defaultJS, libJQuery ],
 
    "Kamelopedia:Kalender":          [ defaultCSS            ],
 
    "Kamelopedia:Harmoniehütte":     [ defaultCSS            ],
 
    "Kamelopedia:Zeitreisemaschine": [            defaultJS, libJQuery, JS("Kamel:J*/lib/async.js"), JS("Kamel:J*/lib/wiki.js") ],
 
 
 
    // Projekt
 
    "Projekt:Ka-Mel-Oh!": [ defaultCSS            ],
 
    "Projekt:Bürokratenspiel/9. Runde/Organe/Geheimdienst": [ JS("MediaWiki:Skin/Projekt:BS9Geheimdienst.js") ],
 
    // Forum
 
    "Forum:Kamelopedia":               [ defaultCSS            ],
 
    "Forum:Kamelopedia-Design-Wettbewerb": [ defaultJS            ],
 
   
 
    // Spezial
 
    "Spezial:Hochladen":              [ defaultCSS, defaultJS, libJQuery ],
 
    "Spezial:RatedPages":            [            defaultJS, libJQuery ],
 
    "Spezial:KamelBox":              [ defaultCSS                      ],
 
 
 
    // Echzeit-Letzte-Änderungen
 
    "Kamelopedia:RTRC": [JS("MediaWiki:Skin/Kamelopedia:RTRC.js")],
 
 
 
    "": [] // damit oben überall Kommata stehen bleiben können
 
};
 
  
var pageName = [wgPageName.replace(/_/g, " ")];
+
var articleJS  = scriptedArticles[wgPageName.replace(/_/g, " ")];
var stuffOnThisPage = loadStuff[pageName];
+
if (articleJS) {
if (stuffOnThisPage == null) stuffOnThisPage = [];
+
  // Prototype  nur laden, wenn's was zu scripten gibt
for (var i = 0; i < stuffOnThisPage.length; i++)
+
     addJS("MediaWiki:Prototype.js");
{
+
    addJS(articleJS);
    var item = stuffOnThisPage[i];
 
     if (item.type == "CSS")
 
    {
 
        if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".css";
 
        addCSS(item.page);
 
 
     }
 
     }
    else if (item.type == "JS")
+
    {
+
//================================================================================
        if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".js";
+
// Bild-Box-Lizenz-Gedöns für Datei-Seitenbearbeitung
        addJS(item.page);
 
    }
 
    else if (item.type == "SPECIAL" && item.key == "jQuery")
 
    {
 
addJQuery();
 
    }
 
}
 
 
 
//================================================================================
 
// Bild-Box-Lizenz-Gedöns für Datei-Seitenbearbeitung
 
  
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {   
+
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {   
 
     addCSS("MediaWiki:Skin/Spezial:Hochladen.css");
 
     addCSS("MediaWiki:Skin/Spezial:Hochladen.css");
     // benötigt auch jQuery
+
     // benötigt auch Prototype ...
     addJQuery();
+
     addJS("MediaWiki:Prototype.js");
 
     addJS("MediaWiki:Skin/Spezial:Hochladen.js");
 
     addJS("MediaWiki:Skin/Spezial:Hochladen.js");
}  
+
}
 +
 +
// lade [[Hilfe:Edittools.js]], wenn Seite bearbeitet wird
 +
if (wgAction == 'edit' || wgAction == 'submit') {
 +
    addJS("Hilfe:Edittools.js");
 +
}
 +
 +
// Tausche [[Special:Specialpages]] gegen [[Kamelopedia:Spezialseiten]]
 +
addOnloadHook(function() {
 +
    document.getElementById("t-specialpages").innerHTML = '<a href="/index.php/Kamelopedia:Spezialseiten">Spezialitäten</a>';
 +
});
  
// Kamelomedia Commons
+
//Gedudel auf [[Aufzug]] und [[Gedudel]] und [[WiKa-Sekte]]
if (wgNamespaceNumber == 110 || wgNamespaceNumber == 111 || wgPageName.indexOf ("Kategorie:Commons:") != -1 ){  
+
if (wgPageName == 'Aufzug' || wgPageName == 'Gedudel' || wgPageName == 'WiKa-Sekte' ) {
    addCSS("MediaWiki:Skin/Commons.css");
+
    document.write('<embed src="http://kamelopedia.mormo.org/images/c/cb/Aufzug.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">');
}
+
}
 
+
// TESTweise Aufhübschung der Logbücher
+
//[[Popupblocker]]
if (wgCanonicalSpecialPageName == "Log") {
+
if (wgPageName == 'Popupblocker') {
addJS("MediaWiki:Skin/Logbuch.js");
+
    alert("Ihr Popupblocker ist aktiviert");
}
+
}
 
+
// in Kats( Neue Dateien die gallery der Bildschirmseite anpassen
+
// Bilder bekommen einen "ähnliche Bilder"-Link und auch die Tagwolke
if (wgNamespaceNumber == 14 || wgCanonicalSpecialPageName == "Newimages")
+
if ( wgNamespaceNumber == 6 || wgPageName == "Kamelopedia:Bildtagwolke")
    addJQuery();
+
        addJS("MediaWiki:Skin/Kamelopedia:Bildsuche/bild.js");
    addJS("MediaWiki:Skin/ResizeGalleries.js");
 
}
 
  
// Tag-Redirects
+
// Skin für Forum
if (wgPageName.indexOf ("Kategorie:Commons:") != -1 ){  
+
  if (wgNamespaceNumber == 102) {
     addJS("Kamel:J*/lib/nulledit.js");
+
     addCSS("MediaWiki:Skin/Forum.css");
    var nulledit_count = 0;
+
}
    function ne_report (text,p)
 
    {
 
        nulledit_count += p;
 
        if(nulledit_count == 0)
 
            jQuery("#tag_redirect_info").text("Fertig. Bitte lade die Seite neu und schau nach, ob noch Dateien übrig geblieben sind.");
 
        else
 
            jQuery("#tag_redirect_info").text(text + " – noch " + nulledit_count + " Nulledits");
 
    }
 
    addOnloadHook( function () {
 
        jQuery("#tag_redirect_go").bind("click",function () {
 
            categoryNulledit(wgPageName, ne_report);
 
        });
 
    });
 
}
 
  
//KameloNews
+
// Skin für Archiv
if (wgNamespaceNumber == 108 && (wgAction == 'view' || wgAction == 'submit') ){  
+
if (wgNamespaceNumber == 104 || wgNamespaceNumber == 105) {
     addCSS("MediaWiki:Skin/KameloNews.css");
+
     addCSS("MediaWiki:Skin/Archiv.css");
}
+
}
  
// lade [[Hilfe:Edittools.js]], wenn Seite bearbeitet wird (und neue toolbar aus)
+
  // Skin und script für Kamelionary
//if ((wgNamespaceNumber != 6 ) && (wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == false)) {
+
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
if ((wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == true)) {
 
  addCSS("MediaWiki:Skin/Edittools.css");
 
  // benötigt auch jQuery (Klick-Vorlagen)
 
  addJQuery();
 
  addJS("Hilfe:Edittools.js");
 
}
 
 
 
// Tausche [[Special:Specialpages]] gegen [[Kamelopedia:Spezialseiten]]
 
addOnloadHook(function() {
 
    document.getElementById("t-specialpages").innerHTML = '<a href="/index.php/Kamelopedia:Spezialseiten">Spezialitäten</a>';
 
});
 
 
 
//Gedudel auf [[Aufzug]] und [[Gedudel]] und [[WiKa-Sekte]]
 
if (wgPageName == 'Aufzug' || wgPageName == 'Gedudel' || wgPageName == 'WiKa-Sekte' ) {
 
    document.write('<embed src="http://kamelopedia.mormo.org/images/c/cb/Aufzug.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">');
 
}
 
 
 
//Gedudel auf [[Mausetot]]
 
if (wgPageName == 'Mausetot' ) {
 
    document.write('<embed src="http://kamelopedia.mormo.org/images/a/a3/Fuchs.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">');
 
}
 
 
 
//[[Popupblocker]]
 
if (wgPageName == 'Popupblocker') {
 
    alert("Ihr Popupblocker ist aktiviert");
 
}
 
 
 
// Motive (Tags) werden zu Links
 
  if ( wgNamespaceNumber == 6 )
 
      addJS("MediaWiki:Skin/Datei:Motivlinks.js");
 
 
 
// Skin für Archiv
 
if (wgNamespaceNumber == 104 || wgNamespaceNumber == 105) {
 
  addCSS("MediaWiki:Skin/Archiv.css");
 
}
 
 
 
// Skin und script für Kamelionary
 
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
 
 
     addCSS("MediaWiki:Skin/Kamelionary.css");
 
     addCSS("MediaWiki:Skin/Kamelionary.css");
    addJQuery();
+
    addJS("MediaWiki:Prototype.js");
    addJS("MediaWiki:Skin/Kamelionary.js");
+
    addJS("MediaWiki:Skin/Kamelionary.js");
}
+
}
 
 
//================================================================================
 
// Ka-Mel-Oh! CSS auch im Kamel-/Vorlagen-Namensraum nachladen
 
  
if (wgNamespaceNumber == 2  || wgNamespaceNumber == 3|| wgNamespaceNumber == 10 || wgNamespaceNumber == 11) { 
 
    addCSS("MediaWiki:Skin/Projekt:Ka-Mel-Oh!.css");
 
}
 
  
// Der doofe server stürzt dauernd ab, wenn das script da unten läuft ...
+
// Der doofe server stürzt dauernd ab, wenn das script da unten läuft ...
if (wgPageName == "Kinderporno" || wgPageName == "Server_Error") {
+
if ( wgPageName == "Kinderporno" || wgPageName == "Server_Error") {
     window.onload = function() {
+
     window.onload = function()
        if (!document.getElementById("ServerError")) return;
+
  {
document.getElementsByTagName("body")[0].style.backgroundColor = "#ffffff";
+
      if (document.getElementById("ServerError")) {
document.getElementsByTagName("body")[0].style.backgroundImage = "none";
+
        document.getElementsByTagName("body")[0].style.backgroundColor = "#ffffff";
document.getElementsByTagName("body")[0].style.fontSize = "12px";
+
        document.getElementsByTagName("body")[0].style.backgroundImage = "none";
document.getElementsByTagName("body")[0].style.padding = "10px";
+
        document.getElementsByTagName("body")[0].style.fontSize = "12px";
document.getElementsByTagName("body")[0].innerHTML = document.getElementById("ServerError").innerHTML;
+
        document.getElementsByTagName("body")[0].style.padding = "10px";
 +
        document.getElementsByTagName("body")[0].innerHTML = document.getElementById("ServerError").innerHTML;
 +
    }
 
     }
 
     }
}
+
}
 
+
 
// ================================================================================
 
// ================================================================================
 
// Ein- und Ausblenden per Javascript
 
// Ein- und Ausblenden per Javascript
Zeile 382: Zeile 237:
 
// Nach dem Laden des Fensters folgendes Ausführen:
 
// Nach dem Laden des Fensters folgendes Ausführen:
 
addOnloadHook(makeAusklapp);
 
addOnloadHook(makeAusklapp);
 
// ================================================================================
 
  
 
// altes dragobject für die Seiten, wo benutzt, ansonsten raus (alles mit class='jstest' ist dragbar)
 
// altes dragobject für die Seiten, wo benutzt, ansonsten raus (alles mit class='jstest' ist dragbar)
if (wgPageName == 'Projekt:Gummistiefel' ||  
+
if (wgPageName == 'Projekt:Gummistiefel' ||  
        wgPageName == 'Kamel_Diskussion:AnnaLog/Archiv' ||  
+
    wgPageName == 'Kamel_Diskussion:AnnaLog/Archiv' ||  
        wgPageName == 'Windowspedia' ||  
+
    wgPageName == 'Windowspedia' ||  
        wgPageName == 'Gut_versteckt' ||  
+
    wgPageName == 'Gut_versteckt' ||  
        wgPageName == 'B-Wegung' ||
+
    wgPageName == 'Bewegliche_Feiertage' ||
        wgPageName == 'Wortspiel' ||
+
    wgPageName == 'Projekt_Diskussion:Gummistiefel') {
        wgPageName == 'Kamel:Atreju/Spielplatz' ||
 
        wgPageName == 'Kamel:Pille' ||
 
        wgPageName == 'Projekt:Bewegliche_Feiertage' ||
 
        wgPageName == 'Kamel:J*/Ka-Mel-Oh/Testgelände' ||
 
        wgPageName == 'Projekt_Diskussion:Gummistiefel') {
 
 
     addJS("MediaWiki:Skin/Alt_dragobject.js");
 
     addJS("MediaWiki:Skin/Alt_dragobject.js");
}
+
  }
  
// ================================================================================
+
// ================================================================================
 
// username template
 
// username template
  
Zeile 423: Zeile 271:
 
// ================================================================================
 
// ================================================================================
 
// FDP-Version & Zitierhilfe, nur mal so zum Spass...
 
// FDP-Version & Zitierhilfe, nur mal so zum Spass...
 
 
if (wgNamespaceNumber == 0 || wgNamespaceNumber == 106) {
 
if (wgNamespaceNumber == 0 || wgNamespaceNumber == 106) {
 
   addOnloadHook(function addFDPVersion(){
 
   addOnloadHook(function addFDPVersion(){
Zeile 438: Zeile 285:
 
   var LiZit = document.createElement("li");
 
   var LiZit = document.createElement("li");
 
   LiZit.style.whiteSpace = "nowrap";
 
   LiZit.style.whiteSpace = "nowrap";
  LiZit.id = "x-zitieren";
 
 
   LiZit.appendChild(aZit);
 
   LiZit.appendChild(aZit);
  
 
   var LiPDF = document.createElement("li");
 
   var LiPDF = document.createElement("li");
 
   LiPDF.style.whiteSpace = "nowrap";
 
   LiPDF.style.whiteSpace = "nowrap";
  LiPDF.id = "x-pdf";
 
 
   LiPDF.appendChild(aPDF);
 
   LiPDF.appendChild(aPDF);
  
Zeile 457: Zeile 302:
 
// Die sitenotice per Klick verstecken  (wenn eine wegklick-notice vorhanden)
 
// Die sitenotice per Klick verstecken  (wenn eine wegklick-notice vorhanden)
  
 +
if (document.getElementById("siteNoticeSub")) {
 
     var siteNoticeTs; // DPL-Timestamp des letzten Edits
 
     var siteNoticeTs; // DPL-Timestamp des letzten Edits
 
     function hideSitenotice() {
 
     function hideSitenotice() {
Zeile 489: Zeile 335:
 
  }
 
  }
 
     addOnloadHook(hideSitenotice);
 
     addOnloadHook(hideSitenotice);
 +
}
 +
  
 
  
// ================================================================================
 
  
 
/* Artikel-Review-Autovervollständigungs-script */
 
/* Artikel-Review-Autovervollständigungs-script */
Zeile 512: Zeile 358:
  
 
     window.onload = function() {
 
     window.onload = function() {
           var originalSource = document.getElementById('wpTextbox1').value;
+
           originalSource = document.getElementById('wpTextbox1').value;
           var newSource      = originalSource.replace(/\{\{Artikeltest\}\}/g, templateCode);
+
           newSource      = originalSource.replace(/\{\{Artikeltest\}\}/g, templateCode);
 
           document.getElementById('wpTextbox1').value = newSource;
 
           document.getElementById('wpTextbox1').value = newSource;
 +
          }
 
     }
 
     }
}
+
   
   
+
// TEST WiMus GaGA-Automatismus
// TEST WiMus GaGA-Automatismus
+
if (wgPageName == 'Forum:Unendliche_GaGA-Wahlen_/_neue_Wahl-Statuten_/_neue_Vorlagen' ||  
if (wgPageName == 'Forum:Unendliche_GaGA-Wahlen_/_neue_Wahl-Statuten_/_neue_Vorlagen' ||  
+
    wgPageName == 'Kamel:WiMu/GaGA-Wahl-Test/2' ||  
        wgPageName == 'Kamel:WiMu/GaGA-Wahl-Test/2' ||  
+
    wgPageName == 'Datei:Gaga-Test.gif' ||  
        wgPageName == 'Datei:Gaga-Test.gif' ||  
+
    wgPageName == 'Datei:Gaga-Test.png' ||  
        wgPageName == 'Datei:Gaga-Test.png' ||  
+
    wgPageName == 'WiMu/GaGA-Wahl-Test/1' ||  
        wgPageName == 'WiMu/GaGA-Wahl-Test/1' ||  
+
    wgPageName == 'Vorlage:GaGA' ||  
        wgPageName == 'Vorlage:GaGA' ||  
+
    wgPageName == 'Heiland_Sellarrie') {
        wgPageName == 'Heiland_Sellarrie') {
 
 
     addJS("MediaWiki:Prototype.js");  
 
     addJS("MediaWiki:Prototype.js");  
 
     addJS("MediaWiki:Skin/Test_zirkelklapp.js");
 
     addJS("MediaWiki:Skin/Test_zirkelklapp.js");
}
 
 
// externe links in neuem browser Fenster öffnen (nicht bei interwikis)
 
 
function externalWindow(){
 
    if (typeof(disableLinkWindow) != 'undefined' && disableLinkWindow) return;
 
    var allinks = document.getElementById('bodyContent').getElementsByTagName('a');
 
    for(var i = 0; i < allinks.length; i++) {
 
        if(allinks[i].href.indexOf('kamelopedia.mormo.org/') == -1 && allinks[i].parentNode.className.indexOf('noblank') == -1){
 
            allinks[i].target = '_blank';
 
        }
 
    }
 
}
 
 
addOnloadHook(externalWindow);
 
 
//experimenteller HTML5-Player für die Datei-Seite //
 
 
addOnloadHook(function() {
 
  if ((wgCanonicalNamespace=="File") && (wgAction == 'view') && (wgTitle.indexOf('.og') != -1)) {
 
    var isogg = true;
 
    var mtyp = wgTitle.substr((wgTitle.length)-3, 3);
 
    var $media = jQuery('#file.fullImageLink:first');
 
    var $mediaLink = $media.find('a');
 
    switch (mtyp) {
 
        case "ogg":
 
              var $mime = jQuery('<audio controls />').attr('src', $mediaLink.attr('href')).wrap('<div />');
 
              break;
 
        case "oga":
 
              var $mime = jQuery('<audio controls />').attr('src', $mediaLink.attr('href')).wrap('<div />');
 
              break;
 
        case "ogv":
 
              var $mime = jQuery('<video controls />').attr('src', $mediaLink.attr('href')).wrap('<div />');
 
              break; 
 
        default:
 
        isogg = false;
 
        break;
 
    }
 
    if (isogg)  {
 
        var $info = jQuery('<div id="html5info" />').html('Der Player für diese Datei wird nur in oggfreundlichen<br />und HTML5fähigen Browsern angezeigt <a href="http://kamelopedia.mormo.org/index.php/Forum:Video-/_Audio-Player_(aktuelle_Infos_zu_OGG-Dateien)">(Info)</a>.<br />Alternativ die Datei halt herunterladen (Link direkt hier drunter)');
 
        $media.html($mime).append($info);
 
    }
 
  }
 
});
 
 
/* Funktionen zur Zeitsteuerung */
 
 
function dateFromServer () {
 
    return new Date(jQuery(jQuery(jQuery.ajax({
 
        url: "/api.php",
 
        data: {action:"parse", format:"xml", text:"{{#timel: m_d,_Y_H:i:s}}", prop:"text"},
 
        dataType: "xml",
 
        async: false,
 
        timeout: 300
 
    }).responseXML).find("api parse text").text()).text().replace(/[\s\n]/g, "").replace(/_/g," "));
 
}
 
 
function dateFromClient () {
 
    return new Date();
 
}
 
 
// Zeit vom wahlweise Server oder vom Client holen
 
 
//var now = dateFromServer();
 
var now = dateFromClient();
 
 
// oben: hohe Priorität, unten: niedrige Priorität
 
// Parameter: aktuelle Zeit als Date Objekt
 
// Rückgabewert: true zurückgeben, um weitere Aktionen zu unterbinden, sonst false
 
// Achtung: Monate werden ab 0 gezählt, Monatstage ab 1
 
var dateSpecificActions = [
 
// cAPSLOCK dAY
 
function (d) {
 
if ((d.getMonth() == 9 && d.getDate() == 22) ||
 
    (d.getMonth() ==  5 && d.getDate() == 28) )
 
{
 
addJS("MediaWiki:Skin/dateSpecific/CAPSLOCK.js")
 
return true;
 
}
 
return false;
 
}
 
];
 
 
for (var i=0; i<dateSpecificActions.length; i++)
 
{
 
    if (dateSpecificActions[i](now))
 
        break;
 
}
 
 
/* Twütter Sönderzeichen-Füx vön Jüttstürnchen */
 
 
if (wgPageName=="Spezial:Badtitle" && document.referrer != null && (document.referrer.indexOf("twitter.com") != -1 || document.referrer.indexOf("Forum:Twittern") != -1))
 
{
 
    location.href = unescape(location.href);
 
}
 
 
// Vorlage:DISPLAYTITLE
 
addJQuery()
 
addOnloadHook(function () {
 
  var newTitle = jQuery("#title_replacement");
 
  if (newTitle.length && newTitle.length > 0)
 
  {
 
    jQuery("#firstHeading").text(newTitle.text());
 
 
   }
 
   }
});
 
 
/*Neue Bildsuche mal bei der Suchbox platzieren quick&dirty*/
 
addOnloadHook(function addKugelsuche(){
 
  var aKugelsuche = document.createElement("a");
 
  aKugelsuche.title = "Kugel-Bildersuche (öffnet sich in neuem Fenster)";
 
  aKugelsuche.className = "kugellink";
 
  aKugelsuche.target = "_blank";
 
  aKugelsuche.href = "http://kamelopedia.mormo.org/index.php/Commons:Kugel";
 
  aKugelsuche.style.color = "#577FCF";
 
  aKugelsuche.appendChild(document.createTextNode("Kugel-Bildersuche"));
 
 
  var DivKugelsuche = document.createElement("div");
 
  DivKugelsuche.style.fontSize = "10px";
 
  DivKugelsuche.style.textAlign = "right";
 
  DivKugelsuche.style.fontWeight = "normal";
 
  DivKugelsuche.appendChild(aKugelsuche);
 
 
  var NaviUl = document.getElementById("p-search").getElementsByTagName("form");
 
  NaviUl[0].appendChild(DivKugelsuche);
 
});
 

Version vom 20. Dezember 2010, 15:48 Uhr

 //============================================================
 // hilfsfunktionen
 
 /** CSS einbinden */
 function addCSS(title) {
     document.write(
                '<style type="text/css">/*<![CDATA[*/ @import "/index.php?title=' + 
                encodeURIComponent(title) + '&action=raw&ctype=text/css"; /*]]>*/</style>');
 }
  
 /** JS einbinden */
 function addJS(title) {
     document.write(
                '<script type="text/javascript" src="/index.php?title=' +
                encodeURIComponent(title) + '&action=raw&ctype=text/javascript"></script>');
 }

 //== ENDE hilfsfunktionen =====================================

/* Seiten mit eigenen Skins */
 var skinnedArticles = {
     "Kamelopedia:Bildsuche":           "MediaWiki:Skin/Kamelopedia:Bildsuche.css",
     "Pseudolink":                      "MediaWiki:Skin/Pseudolink.css",
     "Spezial:Hochladen":               "MediaWiki:Skin/Spezial:Hochladen.css"
 };

 var articleCSS  = skinnedArticles[wgPageName.replace(/_/g, " ")];
 if (articleCSS) addCSS(articleCSS);
 
 
 /* Seiten mit eigenen Skripts */
 var scriptedArticles = {
     "Spezial:Hochladen":                  "MediaWiki:Skin/Spezial:Hochladen.js",
     "Kamelopedia:Bildsuche":              "MediaWiki:Skin/Kamelopedia:Bildsuche.js",
     "Kamelopedia:Chat":                   "Hilfe:Javachat.js"
 }; 

 var articleJS  = scriptedArticles[wgPageName.replace(/_/g, " ")];
 if (articleJS) {
   // Prototype  nur laden, wenn's was zu scripten gibt
    addJS("MediaWiki:Prototype.js");
    addJS(articleJS);
    }
 
 //================================================================================
 // Bild-Box-Lizenz-Gedöns für Datei-Seitenbearbeitung

 if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {   
    addCSS("MediaWiki:Skin/Spezial:Hochladen.css");
    // benötigt auch Prototype ...
    addJS("MediaWiki:Prototype.js");
    addJS("MediaWiki:Skin/Spezial:Hochladen.js");
 }
 
 // lade [[Hilfe:Edittools.js]], wenn Seite bearbeitet wird
 if (wgAction == 'edit' || wgAction == 'submit') {
    addJS("Hilfe:Edittools.js");
 }
 
 // Tausche [[Special:Specialpages]] gegen [[Kamelopedia:Spezialseiten]]
 addOnloadHook(function() {
     document.getElementById("t-specialpages").innerHTML = '<a href="/index.php/Kamelopedia:Spezialseiten">Spezialitäten</a>';
 });

 //Gedudel auf [[Aufzug]] und [[Gedudel]] und [[WiKa-Sekte]]
 if (wgPageName == 'Aufzug' || wgPageName == 'Gedudel' || wgPageName == 'WiKa-Sekte' ) {
     document.write('<embed src="http://kamelopedia.mormo.org/images/c/cb/Aufzug.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">');
 }
 
 //[[Popupblocker]]
 if (wgPageName == 'Popupblocker') {
     alert("Ihr Popupblocker ist aktiviert");
 }
 
 // Bilder bekommen einen "ähnliche Bilder"-Link und auch die Tagwolke
 if ( wgNamespaceNumber == 6 || wgPageName == "Kamelopedia:Bildtagwolke")
        addJS("MediaWiki:Skin/Kamelopedia:Bildsuche/bild.js");

 // Skin für Forum
  if (wgNamespaceNumber == 102) {
    addCSS("MediaWiki:Skin/Forum.css");
 }

 // Skin für Archiv
 if (wgNamespaceNumber == 104 || wgNamespaceNumber == 105) {
    addCSS("MediaWiki:Skin/Archiv.css");
 }

 // Skin und script für Kamelionary
 if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
    addCSS("MediaWiki:Skin/Kamelionary.css");
     addJS("MediaWiki:Prototype.js");
     addJS("MediaWiki:Skin/Kamelionary.js");
 }


 // Der doofe server stürzt dauernd ab, wenn das script da unten läuft ...
 if ( wgPageName == "Kinderporno" || wgPageName == "Server_Error") {
    window.onload = function()
	  {
      if (document.getElementById("ServerError")) {
        document.getElementsByTagName("body")[0].style.backgroundColor = "#ffffff";
        document.getElementsByTagName("body")[0].style.backgroundImage = "none";
        document.getElementsByTagName("body")[0].style.fontSize = "12px";
        document.getElementsByTagName("body")[0].style.padding = "10px";
        document.getElementsByTagName("body")[0].innerHTML = document.getElementById("ServerError").innerHTML;
     	}
    }
 }
 
// ================================================================================
// Ein- und Ausblenden per Javascript

// mit den folgenden Funktionen lässt sich ein div-Konstrukt in ein Einblende-Ausblende-Ding verwandeln
//
// Variante 1 (Klick irgendwo blendet ein oder aus):
//	<div class="klapp">
//		<div class="klapp_t">Titel im ausgeblendeten Zustand</div>
//		<div class="klapp_e">Titel im ausgeblendeten Zustand</div>
//		<div class="klapp_i">Einzublendender Inhalt</div>
//	</div>
//
// Variante 2 (ein- und ausblenden nur mit Links):
//	<div class="klapp_x">
//		<div class="klapp_t">Titel im ausgeblendeten Zustand mit <span class="klapp">Einblendelink</span></div>
//		<div class="klapp_e">Titel im ausgeblendeten Zustand mit <span class="klapp">Ausblendelink</span></div>
//		<div class="klapp_i">Einzublendender Inhalt</div>
//	</div>

function ausklapp( element )
{
	var klapp_i = null;
	var klapp_e = null;
	var klapp_t = null;

	for (i=0; i<element.childNodes.length; i++)
	{
		if( element.childNodes[i].nodeType == 1 )
		{
			if ( element.childNodes[i].className == "klapp_i" )
				klapp_i = element.childNodes[i];
			else if ( element.childNodes[i].className == "klapp_t" )
				klapp_t = element.childNodes[i];
			else if ( element.childNodes[i].className == "klapp_e" )
				klapp_e = element.childNodes[i];
		}

		if ( klapp_i && klapp_t && klapp_e )
			break;
	}

	if( klapp_i.style.display != "none")
	{
		klapp_i.style.display = "none";
		klapp_e.style.display = "none";
		klapp_t.style.display = "block";

	}
	else
	{
		klapp_i.style.display = "block";
		klapp_e.style.display = "block";
		klapp_t.style.display = "none";
	}

}

function getKlappDiv( obj )
{
	while ( obj && obj.parentNode && obj.className != "klapp_x" )
		obj = obj.parentNode;

	return obj;
}

// Event-Handler für alle class="klapp"-Objekte zuweisen
function makeAusklapp()
{
	// klapp-div-Rahmen
	var a = document.getElementsByTagName("div"); 
	for ( div=0; div<a.length; div++ )
	{
		if ( a[div].className == "klapp" )
		{
			//Leider nicht IE-Kompatibel:
			//var f = function () { ausklapp(this) };
			//addEvent( a[div], "click", f , false );
			//stattdessen:

			a[div].onclick = function () { ausklapp(this);}
		}
	}

	// klapp-spans-Rahmen als Link-Ersatz
	var a = document.getElementsByTagName("span"); 
	for ( span=0; span<a.length; span++ )
	{
		if ( a[span].className == "klapp" )
		{
			a[span].onclick = function () { ausklapp(getKlappDiv( this ));}
		}
	}

	urlKlapp();
}

/*
 * liest aus der URL aus, ob ein bestimmtes Objekt ausgeklappt werden soll.
 * angegeben werden kann eine oder mehrere Objekt-Id:
 * index.php?title=Hauptseite&klapp=id1/id2/id3
 */
function urlKlapp()
{
	var arg = location.href;
	var reg = new RegExp(/[?&]klapp=(.*?)($|[?&])/);
	arg = arg.match(reg);
	if( arg == null )
		return;
	arg = arg[0].replace(reg,"$1");
	if( arg == "" )
		return;
	arg = arg.split("/");

	for(var i=0; i<arg.length; i++)
	{
		try
		{
			ausklapp(document.getElementById(arg[i]));
		}
		catch(e)
		{
		}
	}

}

// Nach dem Laden des Fensters folgendes Ausführen:
addOnloadHook(makeAusklapp);

// altes dragobject für die Seiten, wo benutzt, ansonsten raus (alles mit class='jstest' ist dragbar)
 if (wgPageName == 'Projekt:Gummistiefel' || 
     wgPageName == 'Kamel_Diskussion:AnnaLog/Archiv' || 
     wgPageName == 'Windowspedia' || 
     wgPageName == 'Gut_versteckt' || 
     wgPageName == 'Bewegliche_Feiertage' ||
     wgPageName == 'Projekt_Diskussion:Gummistiefel') {
    addJS("MediaWiki:Skin/Alt_dragobject.js");
  }

 // ================================================================================
// username template

/**
 * Username replace function ([[Vorlage:USERNAME]]) 
 * Inserts user name into <span id="insertusername"></span>
 * By [[wikia:User:Splarka|Splarka]]
 */
addOnloadHook(function() {
    if (typeof(disableUsernameReplace) != 'undefined' && disableUsernameReplace) return;
    if (!document.getElementById('pt-userpage'))    return;
    
    var spans = document.getElementsByTagName("span");
    for (var i=0; i<spans.length; i++) {
        var span    = spans[i];
        if (span.getAttribute('id') == "insertusername") {
            span.innerHTML  = wgUserName;
        }
    }
});

// ================================================================================
// FDP-Version & Zitierhilfe, nur mal so zum Spass...
if (wgNamespaceNumber == 0 || wgNamespaceNumber == 106) {
  addOnloadHook(function addFDPVersion(){
   var aZit = document.createElement("a");
   aZit.title = "Seite zitieren";
   aZit.href = wgServer + "/index.php/" + "Hilfe:Zitierhilfe";
   aZit.appendChild(document.createTextNode("Seite zitieren"));

   var aPDF = document.createElement("a");
   aPDF.title = "FDP-Version";
   aPDF.href = wgServer + "/index.php/" + "PDF?klapp=pdfgen";
   aPDF.appendChild(document.createTextNode("FDP-Version"));

   var LiZit = document.createElement("li");
   LiZit.style.whiteSpace = "nowrap";
   LiZit.appendChild(aZit);

   var LiPDF = document.createElement("li");
   LiPDF.style.whiteSpace = "nowrap";
   LiPDF.appendChild(aPDF);

   var ToolboxUl = document.getElementById("p-tb").getElementsByTagName("ul");
   ToolboxUl[0].appendChild(LiPDF);
   ToolboxUl[0].appendChild(LiZit);
 })
};

// ================================================================================
// sitenotice

// Die sitenotice per Klick verstecken  (wenn eine wegklick-notice vorhanden)

if (document.getElementById("siteNoticeSub")) { 
    var siteNoticeTs; // DPL-Timestamp des letzten Edits
    function hideSitenotice() {
        if (document.getElementById("siteNoticeSub")) {
        if (document.getElementById("siteNoticeTime") != null) {
                siteNoticeTs = escape( document.getElementById("siteNoticeTime").innerHTML );
        }
       
	  if (document.cookie.search(new RegExp("dontshowsitenotice="+siteNoticeTs) ) != -1) {
		    document.getElementById("siteNoticeInner").style.display = "none";
                machdiesiteNoticewegduSau()
	  } else {
       document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:machdiesiteNoticewegduSau()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice verbergen]</a>';
			 }
	   }
 	  }

    function machdiesiteNoticewegduSau() {
        document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:gabsdanichtmalnesiteNotice()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice anzeigen]</a>';
	      document.getElementById("siteNoticeInner").style.display = "none";
        var datum = new Date();
        var ablauf = datum.getTime() + (265 * 24 * 60 * 60 * 1000);
        datum.setTime(ablauf);

	  document.cookie = "dontshowsitenotice="+siteNoticeTs+"; path=/; expires="+datum.toGMTString();
	}

    function gabsdanichtmalnesiteNotice() {
        document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:machdiesiteNoticewegduSau()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice verbergen]</a>'
	      document.getElementById("siteNoticeInner").style.display = "block";
	      document.cookie = "dontshowsitenotice=never; path=/; expires=Thu, 01-Jan-1970 00:00:01 GMT";
	  }
    addOnloadHook(hideSitenotice);
}
 



/* Artikel-Review-Autovervollständigungs-script */

if (wgNamespaceNumber=1 && wgAction == 'edit' && window.location.href.split('&')[2] == 'articlereview=true') {
     var hoecker  = '~~';
     templateCode = '{{Artikeltest\r'
                  + '| Humor/pkt 		=\r'
                  + '| Humor/txt 		=\r'
                  + '| Konzept/pkt 		=\r'
                  + '| Konzept/txt 		=\r'
                  + '| Formatierung/pkt	=\r'
                  + '| Formatierung/txt	=\r'
                  + '| Bilder/pkt 		=\r'
                  + '| Bilder/txt 		=\r'
                  + '| Gesamt/txt 		=\r'
                  + '| ' + hoecker + hoecker + '\r'
                  + '}}'

     window.onload = function() {
          originalSource = document.getElementById('wpTextbox1').value;
          newSource      = originalSource.replace(/\{\{Artikeltest\}\}/g, templateCode);
          document.getElementById('wpTextbox1').value = newSource;
          }
     }
     
 // TEST WiMus GaGA-Automatismus
 if (wgPageName == 'Forum:Unendliche_GaGA-Wahlen_/_neue_Wahl-Statuten_/_neue_Vorlagen' || 
     wgPageName == 'Kamel:WiMu/GaGA-Wahl-Test/2' || 
     wgPageName == 'Datei:Gaga-Test.gif' || 
     wgPageName == 'Datei:Gaga-Test.png' || 
     wgPageName == 'WiMu/GaGA-Wahl-Test/1' || 
     wgPageName == 'Vorlage:GaGA' || 
     wgPageName == 'Heiland_Sellarrie') {
    addJS("MediaWiki:Prototype.js"); 
    addJS("MediaWiki:Skin/Test_zirkelklapp.js");
  }