MediaWiki:Common.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
(addCSS und addJS kann auch raus ...)
(eine latte addJQuery raus (sollte default sein nun) (test))
Zeile 138: Zeile 138:
 
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {   
 
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {   
 
     importStylesheet('MediaWiki:Skin/Spezial:Hochladen.css');
 
     importStylesheet('MediaWiki:Skin/Spezial:Hochladen.css');
    // benötigt auch jQuery
 
    addJQuery();
 
 
     importScript('MediaWiki:Skin/Spezial:Hochladen.js');
 
     importScript('MediaWiki:Skin/Spezial:Hochladen.js');
 
}  
 
}  
Zeile 193: Zeile 191:
 
     importStylesheet("MediaWiki:Skin/Edittools.css");
 
     importStylesheet("MediaWiki:Skin/Edittools.css");
 
   // benötigt auch jQuery (Klick-Vorlagen)
 
   // benötigt auch jQuery (Klick-Vorlagen)
  addJQuery();
+
  //MW1.17 -> evtl. erst in Hilfe:Edittools.js anderen Krempel per resourceloader nachladen lassen
//MW1.17 -> evtl. erst in Hilfe:Edittools.js anderen Krempel per resourceloader nachladen lassen
 
 
   importScript("Hilfe:Edittools.js");
 
   importScript("Hilfe:Edittools.js");
 
}
 
}
Zeile 237: Zeile 234:
 
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
 
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
 
     importStylesheet("MediaWiki:Skin/Kamelionary.css");
 
     importStylesheet("MediaWiki:Skin/Kamelionary.css");
    addJQuery();
+
    importScript("MediaWiki:Skin/Kamelionary.js");
  importScript("MediaWiki:Skin/Kamelionary.js");
 
 
}
 
}
  
Zeile 640: Zeile 636:
 
// Vorlage:DISPLAYTITLE
 
// Vorlage:DISPLAYTITLE
 
//MW1.17
 
//MW1.17
addJQuery()
+
 
 
//MW1.17
 
//MW1.17
 
addOnloadHook(function () {
 
addOnloadHook(function () {

Version vom 16. April 2011, 02:35 Uhr

//== hilfsfunktionen =========================================

/* jQuery einbinden falls nötig */
//MW1.17 -> kann wech, jQuery standardmässig vorhanden ...
//
function addJQuery() {
        if (!window.jQuery)
        	document.write('<script type="text/javascript" src="/skins/common/jquery.js"></script>');
}

// Zumindest während der Testphase sollte man CSS und JS auch später nachladen können:
//MW1.17 -> kann wech (per resourceloader kann man bei bedarf nachladen lassen
//MW1.17 -> addOnloadHook deprecated -> jQuery document ready
//
addOnloadHook( function () {

	/* CSS-Funktion ersetzen */
	addCSS = function(title) 
	{
		var s = document.createElement("LINK");
		s.rel = "stylesheet";
		s.type = "text/css";
		s.href = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/css";
		document.body.appendChild(s);
	}
	 
	/* 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
};
//
//MW1.17 -> mw.config.get( 'wgPageName' ) ...
var pageName = [wgPageName.replace(/_/g, " ")];
//
var stuffOnThisPage = loadStuff[pageName];
if (stuffOnThisPage == null) stuffOnThisPage = [];
for (var i = 0; i < stuffOnThisPage.length; i++)
{
    var item = stuffOnThisPage[i];
    if (item.type == "CSS")
    {
        if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".css";
         importStylesheet(item.page);
    }
    else if (item.type == "JS")
    {
        if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".js";
       importScript(item.page);
    }
    else if (item.type == "SPECIAL" && item.key == "jQuery")
    {
	addJQuery();
    }
}

//================================================================================
// Bild-Box-Lizenz-Gedöns für Datei-Seitenbearbeitung
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {   
    importStylesheet('MediaWiki:Skin/Spezial:Hochladen.css');
    importScript('MediaWiki:Skin/Spezial:Hochladen.js');
} 

// Kamelomedia Commons
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgNamespaceNumber == 110 || wgNamespaceNumber == 111 || wgPageName.indexOf ("Kategorie:Commons:") != -1 ){   
     importStylesheet("MediaWiki:Skin/Commons.css");
}

// TESTweise Aufhübschung der Logbücher
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgCanonicalSpecialPageName == "Log") {
importScript("MediaWiki:Skin/Logbuch.js");
}


// Tag-Redirects
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgPageName.indexOf ("Kategorie:Commons:") != -1 ){   
   importScript("Kamel:J*/lib/nulledit.js");
    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
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgNamespaceNumber == 108 && (wgAction == 'view' || wgAction == 'submit') ){   
     importStylesheet("MediaWiki:Skin/KameloNews.css");
}

// lade [[Hilfe:Edittools.js]], wenn Seite bearbeitet wird (und neue toolbar aus)
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
//if ((wgNamespaceNumber != 6 ) && (wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == false)) {
if ((wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == true)) {
    importStylesheet("MediaWiki:Skin/Edittools.css");
   // benötigt auch jQuery (Klick-Vorlagen)
  //MW1.17 -> evtl. erst in Hilfe:Edittools.js anderen Krempel per resourceloader nachladen lassen
  importScript("Hilfe:Edittools.js");
}

// Tausche [[Special:Specialpages]] gegen [[Kamelopedia:Spezialseiten]]
//MW1.17 -> addOnloadHook -> jQuery ...
addOnloadHook(function() {
    document.getElementById("t-specialpages").innerHTML = '<a href="/index.php/Kamelopedia:Spezialseiten">Spezialitäten</a>';
});

//Gedudel auf [[Aufzug]] und [[Gedudel]] und [[WiKa-Sekte]]
//MW1.17 -> kein document.write -> jQuery ...
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]]
//MW1.17 -> kein document.write -> jQuery ...
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]]
//MW1.17
if (wgPageName == 'Popupblocker') {
    alert("Ihr Popupblocker ist aktiviert");
}

// Motive (Tags) werden zu Links
//MW1.17
 if ( wgNamespaceNumber == 6 )
      importScript("MediaWiki:Skin/Datei:Motivlinks.js");

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

// Skin und script für Kamelionary
//MW1.17
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
     importStylesheet("MediaWiki:Skin/Kamelionary.css");
     importScript("MediaWiki:Skin/Kamelionary.js");
}

//================================================================================
// Ka-Mel-Oh! CSS auch im Kamel-/Vorlagen-Namensraum nachladen
//MW1.17
if (wgNamespaceNumber == 2  || wgNamespaceNumber == 3|| wgNamespaceNumber == 10 || wgNamespaceNumber == 11) {   
     importStylesheet("MediaWiki:Skin/Projekt:Ka-Mel-Oh!.css");
}

// Der doofe server stürzt dauernd ab, wenn das script da unten läuft ...
//MW1.17
if (wgPageName == "Kinderporno" || wgPageName == "Server_Error") {
    window.onload = function() {
        if (!document.getElementById("ServerError"))	return;
		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;
    }
}

// ================================================================================
//
//MW1.17 -> jQuery-Klapp standardmässig aktiviert (class mw-collapsible)
//
// 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)
//MW1.17
if (wgPageName == 'Projekt:Gummistiefel' || 
        wgPageName == 'Kamel_Diskussion:AnnaLog/Archiv' || 
        wgPageName == 'Windowspedia' || 
        wgPageName == 'Gut_versteckt' || 
        wgPageName == 'B-Wegung' || 
        wgPageName == 'Wortspiel' || 
        wgPageName == 'Kamel:Atreju/Spielplatz' || 
        wgPageName == 'Kamel:Pille' || 
        wgPageName == 'Bewegliche_Feiertage' ||
        wgPageName == 'Kamel:J*/Ka-Mel-Oh/Testgelände' ||
        wgPageName == 'Projekt_Diskussion:Gummistiefel') {
   importScript("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]]
 */
//MW1.17
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...
//MW1.17
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.id = "x-zitieren";
   LiZit.appendChild(aZit);

   var LiPDF = document.createElement("li");
   LiPDF.style.whiteSpace = "nowrap";
   LiPDF.id = "x-pdf";
   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)
//MW1.17

    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 */
//MW1.17
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() {
          var originalSource = document.getElementById('wpTextbox1').value;
          var newSource      = originalSource.replace(/\{\{Artikeltest\}\}/g, templateCode);
          document.getElementById('wpTextbox1').value = newSource;
     }
}
    
// TEST WiMus GaGA-Automatismus
//MW1.17
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') {
   importScript("MediaWiki:Prototype.js"); 
   importScript("MediaWiki:Skin/Test_zirkelklapp.js");
}

// externe links in neuem browser Fenster öffnen (nicht bei interwikis)
//MW1.17
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 //
//MW1.17
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 */
 //MW1.17 (raus, Twitter funzte eh nicht)
 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
//MW1.17

//MW1.17
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*/
//MW1.17
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);
 });

/* Warnung für Seite Kamelopedia:Das größte Schweinekamel */
//MW1.17
if (wgPageName == "Kamelopedia:Das_größte_Schweinekamel" && (wgAction == "edit" || wgAction =="submit")) {
addOnloadHook(function addSchwein(){
   var tSchwein = document.createTextNode("Achtung, diese Seite ist purer Quatsch! Niemand hält dich für ein Schweinekamel. Per JavaScript bekommt jedes angemeldete Kamel seinen eigenen Namen auf dieser Seite angezeigt. Also nicht aufregen ;)");
   
   var DivSchwein = document.createElement("div");
   DivSchwein.style.fontSize = "130%";
   DivSchwein.style.fontWeight = "bold";
   DivSchwein.style.backgroundColor = "#FFD800";
   DivSchwein.style.padding = "15px";
   DivSchwein.appendChild(tSchwein);
 
   var warn = document.getElementById("firstHeading");
   warn.appendChild(DivSchwein);
 });
}