MediaWiki Diskussion:Common.js: Unterschied zwischen den Versionen

Aus BS-Wiki: Wissen teilen
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
// <source lang="javascript">
 
//============================================================
 
// en: ADD SOME EXTRA BUTTONS TO THE EDITPANEL [[:en:User:MarkS/Extra edit buttons]]
 
// de: FÜGE NEUE BUTTON IN DIE WERKZEUGLEISTE [[:de:Benutzer:Olliminatore/Extra-Editbuttons]]
 
//  Converted by [[User:Olliminatore]] 25.09.2006
 
//============================================================
 
// de: Die Reihenfolge und Anzahl der Buttons ist über die (alphabetische) Variable customEditButtons wählbar.
 
//
 
var XEBOrder=[];
 
var attributes = ["imageFile","speedTip","tagOpen","tagClose","sampleText"];
 
// isMSIE55
 
//fills the variable mwCustomEditButtons (s. function in /wikibits.js), with buttons for the toolbar 
 
function addCustomButton (){
 
var a = {};
 
for (d in attributes) a[attributes[d]] = arguments[d];
 
mwCustomEditButtons.push(a);
 
};
 
if (typeof usersignature == 'undefined') var usersignature = '-- \~\~\~\~';
 
  
var Isrc='http://upload.wikimedia.org/wikipedia/commons/';
+
//=============================================================
var BDict={
+
//*** Configuration for "star" logo in front of interwiki links to Featured Articles
// Deaktivieren einzelner Buttons durch Weglassen in XEBOrder:
+
//*** and green symbol in front of interwiki links to Good Articles
// Standardbuttons 0...10, umbenennen über Spezial:MediaWiki-Systemnachrichten
+
 
'A':['e/e9/Button_headline2.png','Zwischenüberschrift','\n=== ',' ===','Zwischenüberschrift'],
+
/** set to false in Special:Mypage/monobook.js to switch off this "feature" */
'A3':['/3/3a/Button_headline3.png','untergeordnete Überschrift','\n==== ',' ====','untergeordnete Überschrift'],
+
var linkFA_enabled = true;
'B':['1/13/Button_enter.png','Zeilenumbruch','<br />','',''],
+
 
'B1':['6/62/Button_desambig.png','Begriffsklärungseite','{{Begriffsklärung}}','',''],
+
/** description that is displayed when cursor hovers above FA interwiki links */
  'B2':['5/5e/Button_disambig_small.png','Dieser Artikel erläutert…','{{Dieser Artikel|','}}','erläutert den Buchstaben X, zu anderen Bedeutungen siehe [[X (Begriffsklärung)]].'],
+
var linkFA_description = "Dieser Artikel wurde als exzellent bewertet.";
'B3':['5/5e/Button_disambig_small.png','Begriffsklärungshinweis','{{Begriffsklärungshinweis}}','',''],
+
var linkGA_description = "Dieser Artikel wurde als lesenswert bewertet.";
'C':['5/5f/Button_center.png','zentriert','<div style="text-align: center;">\n','\n<\/div>','zentriert'],
+
 
'CF':['3/37/Btn_toolbar_commentaire.png','chemische Formel',':<math>\u005Cmathrm{','}</math>',''],
+
// linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style werden nur für cologneblue, nostalgia and standard verwendet,
'CO':['6/6c/Button_commons.png','Commons','{{Commons|Category:','}}','Seitenname'],
+
// für monobook und simple siehe [[MediaWiki:Common.css]]
'D':['e/ea/Button_align_left.png','Left-Align','<div style="text-align: left; direction: ltr; margin-left: 1em;">\n','\n<\/div>','Left-aligned Text'],
+
 
'DS':['4/4e/Button_romain.png','DEFAULTSORT','{{DEFAULTSORT:','}}','Sortierbegriff'],
+
/** image to use instead of the standard bullet (for cologneblue, nostalgia and standard */
'DO':['e/e9/Button_done.png','Erledigt (kurz)','{{Erl.}}','',''],
+
var linkFA_bullet = "http://upload.wikimedia.org/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
'ER':['9/9d/Button_fait.png','Erledigt (lang)','{{Erledigt|1=' + usersignature,'}}',''],
+
var linkGA_bullet = "http://upload.wikimedia.org/wikipedia/commons/a/a1/Monobook-bullet-star-gray.png";
'E':['0/04/Button_array.png','Tabelle','{| {{Tabelle\n}}\n |- \n | 1 || 2\n |- \n | 3 || 4','\n |}\n',''],
+
 
'F':['8/8f/Button_poeme.png','farbiger Text','<span style="color: red">','<\/span>','farbig'],
+
/** style to use for the linkFA_bullet/LinkGA_bullet img */
'FS':['1/1b/Button_miss_signature.png','fehlende Signatur','\{\{subst\:Unsigned|','3='+usersignature+'}}',''],
+
var linkFA_style = "margin-right: 0.2em;";
'G':['9/9e/Btn_toolbar_gallery.png','Bildergalerie',"\n<gallery>\nBild:M63.jpg|[[M63]]\nBild:Mona Lisa.jpg|[[Mona Lisa]]\nBild:Truite arc-en-ciel.jpg|Eine [[Forelle ]]\n<\/gallery>","",''],
+
var linkGA_style = "margin-right: 0.2em;";
'H':['7/74/Button_comment.png','versteckter Kommentar',"<!--","-->",'versteckt'],
+
 
'I':['4/41/Button_hr_halfwidth.png','Gedankenstrich','–','',''],
+
/**
'I1':['6/6a/Button_sup_letter.png','hochgestellter Text (superscript)','<sup>','<\/sup>','hochgestellt'],
+
* star logo for featured articles in other languages,
'I2':['a/aa/Button_sub_letter.png','tiefgestellter Text (subscript)','<sub>','<\/sub>','tiefgestellt'],
+
* see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
'J1':['5/58/Button_small.png','kleingeschriebener Text (small)','<small>','<\/small>','Klein'],
+
*/
'J2':['5/56/Button_big.png','größerer Text (big)','<big>','<\/big>','Groß'],
+
addOnloadHook(function() {
'K':['b/b4/Button_category03.png','Kategorie',"[[Kategorie:","]]",'Name der Kategorie'],
+
    // early exit when disabled
'KR':['b/b1/Button_dagger.png','Kreuz','†','',''],
+
    if (!linkFA_enabled) return;
'L':['8/8e/Button_shifting.png','setze Tab(s)',':','',':'],
+
 
// 'M':['f/fd/Button_blockquote.png','Markiert ein Zitat mit Absatz','<blockquote style="border: 1px solid blue; padding: 2em;">\n','\n<\/blockquote>','Text'],
+
    // skins need to be treated differently
'MA':['3/3d/Button_marker.png','Textmarker','{{Mark\n|','}}','Textmarker'],
+
    if (skin == "monobook" || skin == "simple" || skin == "modern") {
'N':['4/4b/Button_nbsp.png','geschütztes Leerzeichen (nonbreaking space)','&nbsp;','',''],
+
        newer();
'NT':['b/bf/Button_thinsp.png','schmales geschütztes Leerzeichen','&thinsp;','',''],
+
    }
'O':['2/23/Button_code.png','Code einfügen','<code>','<\/code>','Code'],
+
    else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") {
'P':['3/3c/Button_pre.png','vorformatierter Text','<pre>','<\/pre>','präformatierter Text'],
+
        older();
'P1':['9/93/Button_sub_link.png','Link zu einem Seiten-Abschnitt','[[Seite#',']]','Abschnitt'],
+
    }
'PF':['f/ff/Button_arrow_right.png','Pfeil nach rechts','[[Bild:Pfeil.gif]]','',''],
+
 
'PD':['e/ee/Button_vote_biblio.png','Personendaten','{{Personendaten\n|NAME=\n|ALTERNATIVNAMEN=','\n|KURZBESCHREIBUNG=\n|GEBURTSDATUM=\n|GEBURTSORT=\n|STERBEDATUM=\n|STERBEORT=\n}}',''],
+
    /** skin == "monobook" || skin == "simple" || skin="modern" */
// 'PO':['c/c7/Button_polytonique.png','Unicode-Sonderzeichen der altgriechischen Schrift','{{Polytonisch|','}}','Text'],
+
    function newer() {
// 'Q':['d/d3/Button_definition_list.png','Definitionsliste','\n; ',' : ','Text'],
+
        // links are to replaced in p-lang only
'Q1':['0/05/Button_Anf%C3%BChrung.png','Anführungszeichen',"„","“",'Text'],
+
        var pLang = document.getElementById("p-lang");
'Q2':['2/26/Button_latinas.png','Latinas',"«","»",'Text'],
+
        if (!pLang) return;
'Q3':['b/bc/Button_guillemet.png','Guillemets',"»","«",'Text'],
+
        var lis = pLang.getElementsByTagName("li");
'R':['7/79/Button_reflink.png','Markiere eine Referenz','<ref>','<\/ref>','Bezugsangabe'],
+
        for (var i = 0; i < lis.length; i++) {
//  'R1':['c/c4/Button_ref.png','Referenz mit Name','<ref name="">','<\/ref>','Bezugsangabe'],
+
            var li = lis[i];
'R2':['f/fe/Button_refs.png','Wiederholungs-Referenz','<ref name="','"/>','Referenzname'],
+
            // only links with a corresponding Link_FA template are interesting
//  'R3':['9/9a/Button_references.png','Referenz-Footer','\n== Einzelnachweise ==\n<references/>\n','',''],
+
            if (document.getElementById(li.className + "-fa")) {
'RD':['7/70/Button_fusion.png','Redundanz','{{subst:Redundanz|','}}','Artikel1|Artikel2|Artikel3…'],
+
              li.className += " FA";        // additional class so the template can be hidden with CSS
// 'S':['c/c9/Button_strike.png','durchgestrichener Text',"<s>","<\/s>",'durchgestrichen'],
+
              li.title = linkFA_description; // change title
// 'SA':['b/bb/Seealso.png','Siehe auch','\n== Siehe auch ==\n','',''],
+
              continue;
//  'SC':['0/02/Button_S_yellow.png','SourceCode hervorheben','<source lang="javascript">',"<\/source>",'Quelltext'],
+
            }
//  'SM':['7/74/Button_oeil.png','Smiley','<tt style="background:#FE3">','</tt>',':D'],
+
            if (document.getElementById(li.className + "-ga")) {
//  'ST':['7/72/Button_span_2.png','span-tag mit CSS-Angabe','<span style="">','<\/span>','markierter Inhalt'],
+
              li.className += " GA";        // additional class so the template can be hidden with CSS
'T':['e/eb/Button_plantilla.png','Vorlage','{{','}}','Vorlagenname'],
+
              li.title = linkGA_description; // change title
'T1':['b/ba/Search_button_bckg.png','Abstand (ohne Funktion)','','',''],
+
              continue;
'T2':['b/ba/Search_button_bckg.png','Abstand (ohne Funktion)','','',''],
+
            }
'T3':['b/ba/Search_button_bckg.png','Abstand (ohne Funktion)','','',''],
+
        }
'T4':['b/ba/Search_button_bckg.png','Abstand (ohne Funktion)','','',''],
+
    }
'TL':['e/eb/Button_templatelink.png','Vorlagenlink','{{[[Vorlage:','|]]}}','Vorlagenname'],
+
 
'TT':['3/30/Tt_icon.png','Schreibmaschinenstil','<tt>','<\/tt>','Teletyper Text'],
+
    /** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */
'U':['f/fd/Button_underline.png','unterstreichen',"<u>","<\/u>",'unterstrichen'],
+
    function older() {
'UR':['e/ec/Button_aviso.png','Urheberrecht ungeklärt',"{{Urheberrecht ungeklärt}}","",''],
+
        // these root elements can contain FA-/GA-links
'URV':['9/9d/Button_halt.png','Urheberrechtsverletzung',"{{URV}} [","] " + usersignature,'Url'],
+
        var rootIds = new Array("topbar", "footer");
'V':['c/c8/Button_redirect.png','Weiterleitung (Redirect)',"#REDIRECT [[","]]",'Ziel einfügen'],
+
        for (var i=0; i<rootIds.length; i++) {
'VP':['b/ba/Button_conserver.png','Vote *pro*',"# {{pro}} " + usersignature,"",''],
+
            var root    = document.getElementById(rootIds[i]);
'VC':['f/fc/Button_supp.png','Vote *contra*',"# {{contra}} " + usersignature,"",''],
+
            if (!root)  continue;
'VN':['4/4e/Button_neutre.png','Vote *neutral*',"# {{neutral}} " + usersignature,"",''],
+
 
'WB':['6/61/Button_wikibooks.png','Wikibooks',"{{Wikibooks","}}",'|Seitenname'],
+
            // if the root exists, try to decorate all the links within
'WS':['e/eb/Button_wikisource.png','Wikisource',"{{Wikisource","}}",'|Seitenname'],
+
            var links  = root.getElementsByTagName("a");
'WT':['b/bf/WP-icon.png','Wiktionary',"{{Wiktionary","}}",'|Seitenname'],
+
            for (var j=0; j<links.length; j++) {
'WV':['b/b5/Button_wikiversity.png','Wikiversity',"{{Wikiversity","}}",'|Seitenname'],
+
                decorate(links[j], "-fa", linkFA_bullet, linkFA_description, linkFA_style);
'W':['8/88/Btn_toolbar_enum.png','Nummerierung',"\n# Element 1\n# Element 2\n# Element 3","",''],
+
                decorate(links[j], "-ga", linkGA_bullet, linkGA_description, linkGA_style);
'X':['1/11/Btn_toolbar_liste.png','Liste',"\n* Element A\n* Element B\n* Element C","",''],
+
            }
'Y1':['c/ce/Button_no_include.png','No Include',"<noinclude>","<\/noinclude>",'Text'],
+
        }
'Y2':['7/79/Button_include.png','Include only',"<includeonly>","<\/includeonly>",'Text'],
+
    }
'Z':['3/35/Button_substitute.png','Substitute',"{{subst:","}}",'Vorlage'],
+
 
'ZI':['8/83/Button_biocitas.png','Zitat',"{{Zitat|","}}",'Text|Autor (optional)|Quelle (optional)']
+
    /** id necessary, modify a link to show the FA- or GA-star (older) */
};
+
    function decorate(link, idSuffix, bullet, description) {
if (typeof customEditButtons!='string') // can be modified
+
        var lang    = link.title.split(":")[0]; // not precise enough
// XEBOrder="A,B,C,E,F,H,I1,I2,K,MA,N,T,U,V,W,X,PF".split(",");
+
        var fa      = document.getElementById("interwiki-" + lang + idSuffix);
XEBOrder="0,1,U,I1,I2,F,MA,C,E,T1,2,3,5,6,K,V,T2,T,4,A,W,X,10,T3,N,PF,B,T4,8,H,9".split(",");
+
        if (!fa) return;
else if (customEditButtons.toLowerCase ()=='all')
+
       
for (b in BDict) XEBOrder.push(b);
+
// build an image-node for the FA-star
else XEBOrder=customEditButtons.split(",");
+
var img = document.createElement("img");
 +
img.setAttribute("src",     bullet);
 +
img.setAttribute("alt",     description);
 +
img.setAttribute("style",   style);
 +
// decorate the link with the image
 +
link.appendChild(img);
 +
link.appendChild(link.removeChild(link.firstChild));
 +
link.setAttribute("title", description);
 +
    }
 +
});
 +
 
 +
/*
 +
## ProjektLinks ##
 +
by Skript von [[user:Merlissimo]] (Idee basierend auf http://de.wiktionary.org/wiki/MediaWiki:Common.js von [[User:Pathoschild]] und [[wikt:de:User:Melancholie]])
 +
erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage {{InterProjekt}}
 +
siehe auch Feature-Request [[bugzilla:708]]
 +
*/
 +
addOnloadHook(function() {
 +
    var iProject = document.getElementById("interProject");
 +
    if(!iProject) return;
 +
    var sistersibling = document.getElementById("p-navigation");
 +
    if(!sistersibling) return;
 +
    //Link auf Parennode des Portletmenues
 +
    var sisterparent = sistersibling.parentNode;
 +
 
 +
    //Erzeuge neues Portletmenue
 +
    var sisterprojectnav = document.createElement("div");
 +
    sisterprojectnav.id = "p-sisterprojects";
 +
    sisterprojectnav.className = sistersibling.className
 +
    sisterprojectnav.innerHTML = '<h5>'+document.getElementById("sisterProjects").firstChild.innerHTML+'</h5><div><ul></ul></div>';
 +
    var sistersiblingsub = sistersibling.getElementsByTagName("div")[0];
 +
    if(sistersiblingsub){
 +
        sisterprojectnav.childNodes[1].className = sistersiblingsub.className;
 +
    } else {
 +
        sisterprojectnav.childNodes[1].className = "pBody";
 +
    }
 +
 
 +
    //Wenn möglich vor den Interwikis einfügen
 +
    var sisternext = document.getElementById("p-lang");
 +
    if ( sisternext && sisternext.parentNode == sisterparent ){
 +
        sisterparent.insertBefore( sisterprojectnav, sisternext );
 +
    }else{
 +
        sisterparent.appendChild(sisterprojectnav);
 +
    }
 +
 
 +
    //Schwesterlinks ermitteln und einfügen
 +
    var sisterlinks = iProject.getElementsByTagName("a");
 +
    for (var i = 0; i < sisterlinks.length; i++) {
 +
        var sistername = sisterlinks[i].firstChild.nodeValue
 +
        addPortletLink('p-sisterprojects', sisterlinks[i].getAttribute("href"), sistername, "sister-"+ sistername, sistername);
 +
    }
 +
});
 +
 
 +
//==============================================================================
 +
//*** Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu
 +
 
 +
addOnloadHook(function() {
 +
    // only on the main page
 +
    if ( wgTitle != 'Hauptseite' || wgNamespaceNumber != 4 )    return;
 +
 
 +
    try {
 +
        var completelist = addPortletLink("p-lang", "http://de.wikipedia.org/wiki/Wikipedia:Sprachen", "Alle Sprachen", "interwiki-completelist", "Alle Sprachen");
 +
        completelist.className='interwiki-completelist';
 +
    } catch(e) {
 +
        // lets just ignore what's happened
 +
    }
 +
});
 +
 
 +
//================================================================================
 +
//*** force the loading of another JavaScript file (Kopie von [[Commons:Common.js]])
 +
// Local Maintainer: [[Commons:User:Dschwen]]
 +
 
 +
function includePage(name) {
 +
    document.write('<script type="text/javascript" src="' + wgScript + '?title='
 +
        + name + '&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');    // smaxage=3600
 +
}
 +
 
 +
//==============================================================================
 +
//*** Fügt der Suche weitere Suchengines hinzu (kopiert aus eswp)
 +
// 2009-07-02: Auskommentiert, da das neue Suchformular anders funktioniert. Raymond.
 +
// 2009-08-03: code jetzt reparierter . Pmartin
 +
// 2009-08-03: Nochmals auskommentiert, siehe Diskussionsseite
 +
//if (wgCanonicalSpecialPageName == "Search") {
 +
//   includePage("MediaWiki:SpezialSuche.js");
 +
//}
 +
 
 +
//================================================================================
 +
//*** import Onlyifuploading-functions
 +
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
 +
 
 +
if (wgCanonicalSpecialPageName == "Upload") {
 +
    includePage("MediaWiki:Onlyifuploading.js");
 +
    includePage("MediaWiki:Onlyifediting.js");
 +
}
 +
 
 +
//================================================================================
 +
//*** import watchlistmessage-functions
 +
// Nachrichten auf der Beobachtungliste ausblenden
 +
// SEE ALSO [[MediaWiki:Common.js/watchlist.js]]
 +
 
 +
if (wgCanonicalSpecialPageName == "Watchlist") {
 +
    includePage("MediaWiki:Common.js/watchlist.js");
 +
}
 +
 
 +
//================================================================================
 +
//*** Dynamic Navigation Bars
 +
 
 +
// set up the words in your language
 +
var NavigationBarHide = 'Einklappen';
 +
var NavigationBarShow = 'Ausklappen';
 +
 
 +
// set up max count of Navigation Bars on page,
 +
// if there are more, all will be hidden
 +
// NavigationBarShowDefault = 0; // all bars will be hidden
 +
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
 +
if (typeof NavigationBarShowDefault == 'undefined' ) {
 +
    var NavigationBarShowDefault = 1;
 +
}
 +
 
 +
// adds show/hide-button to navigation bars
 +
addOnloadHook(function() {
 +
// shows and hides content and picture (if available) of navigation bars
 +
// Parameters:
 +
//    indexNavigationBar: the index of navigation bar to be toggled
 +
function toggleNavigationBar(indexNavigationBar)
 +
{
 +
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 +
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 +
 
 +
  if (!NavFrame || !NavToggle) {
 +
  return false;
 +
  }
 +
 
 +
  // if shown now
 +
  if (NavToggle.firstChild.data == NavigationBarHide) {
 +
  for (
 +
  var NavChild = NavFrame.firstChild;
 +
  NavChild != null;
 +
  NavChild = NavChild.nextSibling
 +
  ) {
 +
  if (NavChild.className == 'NavPic') {
 +
  NavChild.style.display = 'none';
 +
  }
 +
  if (NavChild.className == 'NavContent') {
 +
  NavChild.style.display = 'none';
 +
  }
 +
  if (NavChild.className == 'NavToggle') {
 +
  NavChild.firstChild.data = NavigationBarShow;
 +
  }
 +
  }
  
 +
  // if hidden now
 +
  } else if (NavToggle.firstChild.data == NavigationBarShow) {
 +
  for (
 +
  var NavChild = NavFrame.firstChild;
 +
  NavChild != null;
 +
  NavChild = NavChild.nextSibling
 +
  ) {
 +
  if (NavChild.className == 'NavPic') {
 +
  NavChild.style.display = 'block';
 +
  }
 +
  if (NavChild.className == 'NavContent') {
 +
  NavChild.style.display = 'block';
 +
  }
 +
  if (NavChild.className == 'NavToggle') {
 +
  NavChild.firstChild.data = NavigationBarHide;
 +
  }
 +
  }
 +
  }
 +
}
  
function initButtons (){
+
function toggleNavigationBarFunction(indexNavigationBar) {
  var bc,d;
+
return function() {
for (b in BDict) BDict[b][0] = Isrc+BDict[b][0]; // // Add the start of the URL (Isrc) to the XEB buttons
+
toggleNavigationBar(indexNavigationBar);
// If the user has defined any buttons then add them into the available button lists
+
return false;
if (typeof myButtons=='object')
+
};
  for (b in myButtons) BDict[b] = myButtons[b]; // custom user buttons
 
  // Add the media wiki standard buttons into the available buttons
 
for (b in mwEditButtons) { // add standard buttons for full XEB order changing
 
BDict[b]=[];
 
// for (d in mwEditButtons[b])
 
for (d in attributes) BDict[b].push(mwEditButtons[b][attributes[d]]);
 
 
}
 
}
+
// iterate over all NavFrames
// Build the new buttons
+
var NavFrames = getElementsByClassName((document.getElementById("content") || document.getElementById("mw_content")), "div", "NavFrame");
for (i=0;i<XEBOrder.length;i++) {
+
for (var i=0; i<NavFrames.length; i++) {
bc = BDict[XEBOrder[i]];
+
var NavFrame = NavFrames[i];
//try { // catch not existing button names
+
var NavToggle = document.createElement("a");
addCustomButton(bc[0],bc[1],bc[2],bc[3],bc[4]);
+
NavToggle.className = 'NavToggle';
//}
+
NavToggle.setAttribute('id', 'NavToggle' + i);
// catch(e) {continue}
+
NavToggle.setAttribute('href', '#');
 +
NavToggle.onclick = toggleNavigationBarFunction(i);
 +
 +
var NavToggleText = document.createTextNode(NavigationBarHide);
 +
NavToggle.appendChild(NavToggleText);
 +
 +
// add NavToggle-Button as first div-element
 +
// in < div class="NavFrame" >
 +
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
 +
NavFrame.setAttribute('id', 'NavFrame' + i);
 
}
 
}
// Remove the default buttons (if requested by the user)
+
// if more Navigation Bars found than Default: hide all
rmEditButtons=['all']
+
if (NavigationBarShowDefault < NavFrames.length) {
 +
for(var i=0; i<NavFrames.length; i++) {
 +
toggleNavigationBar(i);
 +
}
 +
}
 +
 
 +
});
  
eraseButtons ();
+
//================================================================================
};
+
//*** import Onlyifediting-functions
 +
// SEE ALSO [[MediaWiki:Onlyifediting.js]]
  
//============================================================
+
if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) {
// Table generator
+
    includePage("MediaWiki:Onlyifediting.js");
//============================================================
 
/** en: Generate an array using Mediawiki syntax
 
* @author: originally from fr:user:dake
 
* @version: 0.2 */
 
function generateTable (caption, exhead, nbCol, nbRow, exfield, align){
 
var code = "\n";
 
code += '{| {{Tabelle\n}}\n ' + align + '\n'
 
+ caption + exhead;
 
if (exfield) code += '!\n';
 
for (i=1;i<nbCol+1;i++) code += '! Spalte ' + i + '\n';
 
var items = 0;
 
for (var j=0;j<nbRow;j++){
 
if (exfield) {
 
items++;
 
code += '|-\n! style="background: #FFDDDD;"|ITEM ' + items + '\n';
 
} else code += '|-\n';
 
                var zeile = j+1;
 
               
 
for (i=0;i<nbCol;i++){
 
                  var spalte = i+1;
 
                  code += '| Feld ' + spalte + '-' + zeile + '\n';
 
 
}
 
}
}
 
code += '|}\n';
 
insertTags('','', code);
 
editform.elements['wpSummary'].value+=' table+';
 
return false
 
};
 
  
 +
//================================================================================
  
/** en: Open a popup with parameters to generate an array.
+
/** Skript für Vorlage:Galerie */
* The number of rows/columns can be modified.
+
addOnloadHook(function() {
* @author: originally fr:user:dake
+
   if (document.URL.match(/printable/g)) return;
* @version: 0.2 */
 
function popupTable (){
 
  var popup = window.open('about:blank','WPtable','height=500,width=400,scrollbars=yes');
 
  var javaCode = '<script type="text\/javascript">function insertCode (){'
 
  +'var caption = (document.paramForm.inputCaption.checked)?"\|\+ Tabellenüberschrift \\n":""; '
 
  +'var exhead = (document.paramForm.inputHead.checked)?\'\|\- style=\"background: #DDFFDD;\"\\n\':""; '
 
  +'var row = parseInt(document.paramForm.inputRow.value); '
 
  +'var col = parseInt(document.paramForm.inputCol.value); '
 
  +'var exfield = document.paramForm.inputItems.checked; '
 
  +'var align = (document.paramForm.inputAlign.checked)?\'align="center"\':""; '
 
   +'window.opener.generateTable(caption,exhead,col,row,exfield,align); '
 
  +'window.close ()}<\/script>';
 
 
 
  popup.document.write('<html><head><title>Make table<\/title>'
 
// +'<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><\/script>'
 
//+'<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>'
 
  + javaCode +'<\/head><body>'
 
  +'<p>Wie soll die Tabelle aussehen? <\/p>'
 
  +'<form name="paramForm">'
 
  +'mit Überschrift: <input type="checkbox" name="inputCaption"><p\/>'
 
  +'Ausrichtung: center<input type="checkbox" name="inputAlign"><p\/>'
 
  +'Kopfzeile farbig:<input type="checkbox" name="inputHead"><p\/>'
 
  +'Anzahl der Zeilen: <input type="text" name="inputRow" value="3" size="2"><p\/>'
 
  +'Anzahl der Spalten: <input type="text" name="inputCol" value="3" size="2"><p\/>'
 
  //+'Alternating grey lines: <input type="checkbox" name="inputLine" checked="1" ><p\/>'
 
  +'Köpfe: <input type="checkbox" name="inputItems" ><p\/>'
 
  +'<\/form">'
 
  +'<p><a href="javascript:insertCode ()"> Tabelle einfügen<\/a> &nbsp;&nbsp;&nbsp; |'
 
  +' &nbsp;&nbsp;&nbsp;<a href="javascript:self.close ()">Abbruch<\/a><\/p>'
 
  +'<\/body><\/html>');
 
  popup.document.close ();
 
  return false
 
};
 
  
 +
  function toggleImageFunction(group,  remindex, shwindex) {
 +
    return function() {
 +
      document.getElementById("ImageGroupsGr" + group + "Im" + remindex).style["display"] = "none";
 +
      document.getElementById("ImageGroupsGr" + group + "Im" + shwindex).style["display"] = "block";
 +
      return false;
 +
    };
 +
  }
  
/** en: Removes arbitrary standard buttons from the toolbar
+
  var divs = document.getElementsByTagName("div");
* @author: [[:de:User:Olliminatore]]
+
  var i = 0, j = 0;
* @version: 0.2 (01.10.2006) **/
+
  var units, search;
function eraseButtons (){
+
  var currentimage;
if(typeof rmEditButtons!='object') return;
+
  var UnitNode;
if (typeof rmEditButtons[0] == 'string' && rmEditButtons[0].toLowerCase () == 'all')  
+
  for (i = 0; i < divs.length; i++) {
return mwEditButtons=[];
+
    if (divs[i].className !== "ImageGroup") { continue; }
//Remove the buttons the user doesn't want
+
    UnitNode = undefined;
for(i=0;i<rmEditButtons.length;i++){
+
    search = divs[i].getElementsByTagName("div");
var n=rmEditButtons[i]-i;
+
    for (j = 0; j < search.length; j++) {
if(n>=0 && n<mwEditButtons.length){
+
      if (search[j].className !== "ImageGroupUnits") { continue; }
if(n<mwEditButtons.length){
+
      UnitNode=search[j];
var x = -1;
+
      break;
while((++x)<mwEditButtons.length)
+
    }
if(x>=n)
+
    if (UnitNode === undefined) { continue; }
mwEditButtons[x] = mwEditButtons[x+1];
+
    units = [];
}
+
    for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
mwEditButtons.pop ();
+
      var temp = UnitNode.childNodes[j];
}
+
      if (temp.className === "center") { units.push(temp); }
}
+
    }
};
+
    var rightlink = undefined;
 +
    var commentText = undefined;
 +
    for (j = 0; j < units.length; j++) {
 +
      currentimage = units[j];
 +
      currentimage.id = "ImageGroupsGr" + i + "Im" + j;
 +
      var leftlink = document.createElement("a");
 +
      if (commentText !== undefined) {
 +
        leftlink.setAttribute("title", commentText);
 +
      }
 +
      var comment;
 +
      if (typeof(currentimage.getAttribute("title")) !== "string") {
 +
        commentText = (j+1) + "/" + units.length;
 +
        comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
 +
      }
 +
      else {
 +
        commentText = currentimage.getAttribute("title");
 +
        comment = document.createElement("span").appendChild(document.createTextNode(commentText));
 +
        currentimage.removeAttribute("title");
 +
      }
 +
      if(rightlink !== undefined) {
 +
        rightlink.setAttribute("title", commentText);
 +
      }
 +
      var imghead = document.createElement("div");
 +
      rightlink = document.createElement("a");
 +
      if (j != 0) {
 +
        leftlink.href = "#";
 +
        leftlink.onclick = toggleImageFunction(i, j, j-1);
 +
        leftlink.appendChild(document.createTextNode("◀"));
 +
      }
 +
      if (j != units.length - 1) {
 +
        rightlink.href = "#";
 +
        rightlink.onclick = toggleImageFunction(i, j, j+1);
 +
        rightlink.appendChild(document.createTextNode("▶"));
 +
      }
 +
      imghead.style["fontSize"] = "110%";
 +
      imghead.style["fontweight"] = "bold";
 +
      imghead.appendChild(leftlink);
 +
      imghead.appendChild(document.createTextNode("\xA0"));
 +
      imghead.appendChild(comment);
 +
      imghead.appendChild(document.createTextNode("\xA0"));
 +
      imghead.appendChild(rightlink);
 +
      if (units.length > 1) {
 +
        currentimage.insertBefore(imghead,currentimage.childNodes[0]);
 +
      }
 +
      if (j != 0) {
 +
        currentimage.style["display"] = "none";
 +
      }
 +
    }
 +
  }
 +
});
  
addOnloadHook(initButtons);
+
/* admin ui changes */
  
// Adds extended onclick-function to some buttons
+
if( window.wgUserGroups ) {
function extendButtons (){
+
  for(var i = 0; i < wgUserGroups.length; ++i) {
if(!(allEditButtons = document.getElementById('toolbar'))) return false;
+
    if(wgUserGroups[i] === "sysop") {
if(typeof editform == 'undefined')
+
  /*  importScript("MediaWiki:Group-sysop.js");  kann bei Bedarf ent-auskommentiert werden  */
if(!(window.editform = document.editform)) return false;
+
      importStylesheet("MediaWiki:Group-sysop.css");
 +
      break;
 +
    }
 +
  }
 +
}
  
XEBOrder.getIndex = function (item){
+
//==============================================================================
if(is_gecko) return this.indexOf(item);
+
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein
else //is IE (Opera < 9)
 
for (var i=0;i < this.length;i++) if (this[i]==item) return Number(i);
 
  return -1
 
}
 
var searchbox = allEditButtons.getElementsByTagName('span')[0];
 
if (searchbox) allEditButtons.appendChild(searchbox) // pay Zocky/Search Box
 
 
allEditButtons = allEditButtons.getElementsByTagName('img');
 
  
var bu_len = mwEditButtons.length;
+
addOnloadHook(function() {
var c=0;
+
        if(wgNamespaceNumber != 0 && wgNamespaceNumber != 1) return;
 +
var tab = document.getElementById( 'ca-talk' );
 +
if( !tab || tab.className != 'new' ) return;
 +
var link = tab.getElementsByTagName( 'a' )[0];
 +
if( !link ) return;
 +
link.href += '&section=new';
 +
});
  
if(!allEditButtons.length) return false;
 
  
// own signature
+
// Lokaler Bilddiskussionsseitenlink eines Commonsbildes verweist nach Commons
if (bu_len>0){
 
if(typeof rmEditButtons=='object' && rmEditButtons.pop ()==10) c=1;
 
mwEditButtons[bu_len-2+c].tagOpen=usersignature;
 
if(usersignature != '-- \~\~\~\~')
 
allEditButtons[bu_len-2+c].src=Isrc+'d/d1/Button_mysignature.png';
 
}
 
  
//  table
+
if (wgNamespaceNumber === 6) addOnloadHook( function() {
if((c=XEBOrder.getIndex('E')) != -1) allEditButtons[bu_len+c].onclick=popupTable;
+
if (window.keepLocalFileTabs ) return;
 +
if (document.getElementById( 'ca-history')) return; //Lokale Dateibeschreibung vorhanden?
 +
if (!getElementsByClassName(document, 'div', 'sharedUploadNotice')[0]) return; //Nur bei Commons-Bildern
 +
 +
var path = wgServer.match(/^https/)
 +
? 'https://secure.wikimedia.org/wikipedia/commons/wiki/'
 +
: 'http://commons.wikimedia.org/wiki/';
  
+
// Ändere Link auf Diskussionsseite
// farbwahl
+
// vector uses ca-image_talk
if((c=XEBOrder.getIndex('F')) != -1) allEditButtons[bu_len+c].onclick=popupfarbe;
+
var talk = document.getElementById('ca-talk') || document.getElementById('ca-image_talk');
 +
if (talk && talk.className.match(/(^| )new( |$)/)) {
 +
var link = talk.getElementsByTagName('a')[0];
 +
link.href      = path + 'File_talk:' + encodeURIComponent(wgTitle) + '?uselang=de';
 +
link.className  += ' commonstab';
 +
}
 +
 +
// Ändere Bearbeiten-Link
 +
var edit = document.getElementById('ca-edit') || document.getElementById('ca-viewsource');
 +
if (edit) {
 +
var link = edit.getElementsByTagName('a')[0];
 +
link.href      = path + 'File:' + encodeURIComponent(wgTitle) + '?uselang=de&action=edit';
 +
link.className  += ' commonstab';
 +
link.firstChild.nodeValue = 'Bearbeiten';
 +
}
 +
});
  
// spacer width
+
/** Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu */
if((c = XEBOrder.getIndex('T1')) != -1) allEditButtons[bu_len+c].width = 6;
+
function SVGThumbs() {
 +
var file = document.getElementById("file"); // might fail if MediaWiki can't render the SVG
 +
if (file && wgIsArticle && wgTitle.match(/\.svg$/i)) {
 +
var thumbu = file.getElementsByTagName('IMG')[0].src;
 +
if(!thumbu) return;
 +
 +
function svgAltSize( w, title) {
 +
var path = thumbu.replace(/\/\d+(px-[^\/]+$)/, "/" + w + "$1");
 +
var a = document.createElement("A");
 +
a.setAttribute("href", path);
 +
a.appendChild(document.createTextNode(title));
 +
return a;
 +
}
 +
 +
var p = document.createElement("p");
 +
p.className = "SVGThumbs";
 +
p.appendChild(document.createTextNode("Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": "));
 +
var l = [200, 500, 1000, 2000];
 +
                for( var i = 0; i < l.length; i++ ) {
 +
p.appendChild(svgAltSize( l[i], l[i] + "px"));
 +
if( i < l.length-1 ) p.appendChild(document.createTextNode(", "));
 +
                }
 +
p.appendChild(document.createTextNode("."));
 +
var info = getElementsByClassName( file.parentNode, 'div', 'fullMedia' )[0];
 +
if( info ) info.appendChild(p);
 +
}
 
};
 
};
 +
addOnloadHook( SVGThumbs );
  
if(!wgIsArticle) // only if edit
+
/** Mobile Redirect Helper ************************************************
hookEvent("load", extendButtons);
+
*
 +
*  Redirects to the mobile-optimized gateway at en.m.wikimedia.org
 +
*  for viewers on iPhone, iPod Touch, Palm Pre, and Android devices.
 +
*
 +
*  You can turn off the redirect by setting the cookie "stopMobileRedirect=true"
 +
*
 +
*  This code cannot be imported, because the JS only loads after all other files
 +
*  and this was causing major issues for users with mobile devices. Must be loaded
 +
*  *before* the images and etc of the page on all mobile devices.
 +
*
 +
*  Maintainer: [[User:Brion VIBBER]], [[User:hcatlin]]
 +
*/
 +
if (/(Android|iPhone|iPod|webOS)/.test(navigator.userAgent)) {
  
//============================================================
+
  var wgMainPageName = "Wikipedia:Hauptseite";
// Farbwahl
+
//============================================================
+
  var stopMobileRedirectCookieExists = function() {
/** de: Textfarbe wählen
+
    return (document.cookie.indexOf("stopMobileRedirect=true") >= 0);
* @author: originally from de:user:dg.de
+
  }
* @version: 2008-03-06 */
+
function popupfarbe (){
+
  var mobileSiteLink = function() {
  var popup = window.open('about:blank','WPtable','height=80,width=240');
+
    if (wgCanonicalNamespace == 'Special' && wgCanonicalSpecialPageName == 'Search') {
  var javaCode = '<script type="text\/javascript">function insertCode (farbe){'
+
        var pageLink = '?search=' + encodeURIComponent(document.getElementById('searchText').value);
  +'window.opener.generateFarbe(farbe); '
+
    } else if (wgPageName == wgMainPageName) {
  +'window.close ()}<\/script>';
+
        var pageLink = '::Home'; // Special case
    
+
    } else {
   popup.document.write('<html><head><title>Farbwahl<\/title>'
+
        var pageLink = encodeURIComponent(wgPageName).replace('%2F','/').replace('%3A',':');
 +
    }
 +
    return 'http://' + wgContentLanguage + '.m.wikipedia.org/wiki/' + pageLink + "?wasRedirected=true";
 +
   }
 +
 +
   if (!stopMobileRedirectCookieExists()) {
 +
    document.location = mobileSiteLink();
 +
  }
 +
}
  
  + javaCode +'<\/head><body>'
+
// <noscript>-Emulation via <div class="noscript"></div>
  +'<p>Welche Farbe soll der Text haben? <\/p>'
+
  appendCSS('.noscript {display:none;}');
//  +'<form name="paramForm">'
 
+ '<select onchange="insertCode(this.value)">'
 
+ '<option value="black" style="color:black">&#x2588;&#x2588; Schwarz'
 
+ '<option value="maroon" style="color:maroon">&#x2588;&#x2588; Rotbraun'
 
+ '<option value="purple" style="color:purple">&#x2588;&#x2588; Violett'
 
+ '<option value="navy" style="color:navy">&#x2588;&#x2588; Dunkelblau'
 
+ '<option value="blue" style="color:blue">&#x2588;&#x2588; Blau'
 
+ '<option value="aqua" style="color:aqua">&#x2588;&#x2588; Hellblau'
 
+ '<option value="oliv" style="color:oliv">&#x2588;&#x2588; Oliv'
 
+ '<option value="teal" style="color:teal">&#x2588;&#x2588; teal'
 
+ '<option value="green" style="color:green">&#x2588;&#x2588; Grün'
 
+ '<option value="lime" style="color:lime">&#x2588;&#x2588; Limone'
 
+ '<option value="yellow" style="color:yellow">&#x2588;&#x2588; Gelb'
 
+ '<option value="orange" style="color:orange">&#x2588;&#x2588; Orange'
 
+ '<option value="red" style="color:red">&#x2588;&#x2588; Rot'
 
+ '<option value="fuchsia" style="color:fuchsia">&#x2588;&#x2588; Pink'
 
+ '<option value="white" style="color:white">&#x2588;&#x2588; Weiß'
 
+ '<option value="silver" style="color:silver">&#x2588;&#x2588; Silber'
 
+ '<option value="gray" style="color:gray">&#x2588;&#x2588; Grau'
 
+ '</select>'
 
// +'</form>'
 
  +'<\/body><\/html>');
 
  popup.document.close ();
 
  return false
 
};
 
  
function generateFarbe (farbe){
+
/*
var code = '<span style="color: ';
+
* Description: Stay on the secure server as much as possible
code += farbe;
+
*/
code += '">';
+
if(wgServer == 'https://secure.wikimedia.org') {
insertTags(code,"</span>",'Text');
+
    importScript( 'MediaWiki:Common.js/secure.js');
editform.elements['wpSummary'].value+=' table+';
+
}
return false
 
};
 

Version vom 20. März 2010, 11:25 Uhr

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */

//============================================================= //*** Configuration for "star" logo in front of interwiki links to Featured Articles //*** and green symbol in front of interwiki links to Good Articles

/** set to false in Special:Mypage/monobook.js to switch off this "feature" */ var linkFA_enabled = true;

/** description that is displayed when cursor hovers above FA interwiki links */ var linkFA_description = "Dieser Artikel wurde als exzellent bewertet."; var linkGA_description = "Dieser Artikel wurde als lesenswert bewertet.";

// linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style werden nur für cologneblue, nostalgia and standard verwendet, // für monobook und simple siehe MediaWiki:Common.css

/** image to use instead of the standard bullet (for cologneblue, nostalgia and standard */ var linkFA_bullet = "Monobook-bullet-star-transparent.png"; var linkGA_bullet = "Monobook-bullet-star-gray.png";

/** style to use for the linkFA_bullet/LinkGA_bullet img */ var linkFA_style = "margin-right: 0.2em;"; var linkGA_style = "margin-right: 0.2em;";

/**

* star logo for featured articles in other languages,
* see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
*/

addOnloadHook(function() {

   // early exit when disabled
   if (!linkFA_enabled) return;
   // skins need to be treated differently
   if (skin == "monobook" || skin == "simple" || skin == "modern") {
       newer();
   }
   else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") {
       older();
   }
   /** skin == "monobook" || skin == "simple" || skin="modern" */
   function newer() {
       // links are to replaced in p-lang only
       var pLang = document.getElementById("p-lang");
       if (!pLang) return;
       var lis = pLang.getElementsByTagName("li");
       for (var i = 0; i < lis.length; i++) {
           var li = lis[i];
           // only links with a corresponding Link_FA template are interesting
           if (document.getElementById(li.className + "-fa")) {
             li.className += " FA";         // additional class so the template can be hidden with CSS
             li.title = linkFA_description; // change title
             continue;
           }
           if (document.getElementById(li.className + "-ga")) {
             li.className += " GA";         // additional class so the template can be hidden with CSS
             li.title = linkGA_description; // change title
             continue;
           }
       }
   }
   /** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */
   function older() {
       // these root elements can contain FA-/GA-links
       var rootIds = new Array("topbar", "footer");
       for (var i=0; i<rootIds.length; i++) {
           var root    = document.getElementById(rootIds[i]);
           if (!root)  continue;
           // if the root exists, try to decorate all the links within
           var links   = root.getElementsByTagName("a");
           for (var j=0; j<links.length; j++) {
               decorate(links[j], "-fa", linkFA_bullet, linkFA_description, linkFA_style);
               decorate(links[j], "-ga", linkGA_bullet, linkGA_description, linkGA_style);
           }
       }
   }
  
   /** id necessary, modify a link to show the FA- or GA-star (older) */
   function decorate(link, idSuffix, bullet, description) {
       var lang    = link.title.split(":")[0]; // not precise enough
       var fa      = document.getElementById("interwiki-" + lang + idSuffix);
       if (!fa)	return;
       

// build an image-node for the FA-star var img = document.createElement("img"); img.setAttribute("src", bullet); img.setAttribute("alt", description); img.setAttribute("style", style); // decorate the link with the image link.appendChild(img); link.appendChild(link.removeChild(link.firstChild)); link.setAttribute("title", description);

   }

});

/*

    1. ProjektLinks ##

by Skript von user:Merlissimo (Idee basierend auf http://de.wiktionary.org/wiki/MediaWiki:Common.js von User:Pathoschild und wikt:de:User:Melancholie) erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage Vorlage:InterProjekt siehe auch Feature-Request bugzilla:708

  • /

addOnloadHook(function() {

   var iProject = document.getElementById("interProject");
   if(!iProject) return;
   var sistersibling = document.getElementById("p-navigation");
   if(!sistersibling) return;
   //Link auf Parennode des Portletmenues
   var sisterparent = sistersibling.parentNode;
   //Erzeuge neues Portletmenue
   var sisterprojectnav = document.createElement("div");
   sisterprojectnav.id = "p-sisterprojects";
   sisterprojectnav.className = sistersibling.className
sisterprojectnav.innerHTML = '
'+document.getElementById("sisterProjects").firstChild.innerHTML+'
    ';
       var sistersiblingsub = sistersibling.getElementsByTagName("div")[0];
       if(sistersiblingsub){
           sisterprojectnav.childNodes[1].className = sistersiblingsub.className;
       } else {
           sisterprojectnav.childNodes[1].className = "pBody";
       }
    
       //Wenn möglich vor den Interwikis einfügen
       var sisternext = document.getElementById("p-lang");
       if ( sisternext && sisternext.parentNode == sisterparent ){
           sisterparent.insertBefore( sisterprojectnav, sisternext );
       }else{
           sisterparent.appendChild(sisterprojectnav);
       }
    
       //Schwesterlinks ermitteln und einfügen
       var sisterlinks = iProject.getElementsByTagName("a");
       for (var i = 0; i < sisterlinks.length; i++) {
           var sistername = sisterlinks[i].firstChild.nodeValue
           addPortletLink('p-sisterprojects', sisterlinks[i].getAttribute("href"), sistername, "sister-"+ sistername, sistername);
       }
    

    });

    //============================================================================== //*** Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu

    addOnloadHook(function() {

       // only on the main page
       if ( wgTitle != 'Hauptseite' || wgNamespaceNumber != 4 )    return;
    
       try {
           var completelist = addPortletLink("p-lang", "http://de.wikipedia.org/wiki/Wikipedia:Sprachen", "Alle Sprachen", "interwiki-completelist", "Alle Sprachen");
           completelist.className='interwiki-completelist';
       } catch(e) {
           // lets just ignore what's happened
       }
    

    });

    //================================================================================ //*** force the loading of another JavaScript file (Kopie von Commons:Common.js) // Local Maintainer: Commons:User:Dschwen

    function includePage(name) {

       document.write('<script type="text/javascript" src="' + wgScript + '?title='
           + name + '&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');    // smaxage=3600
    

    }

    //============================================================================== //*** Fügt der Suche weitere Suchengines hinzu (kopiert aus eswp) // 2009-07-02: Auskommentiert, da das neue Suchformular anders funktioniert. Raymond. // 2009-08-03: code jetzt reparierter . Pmartin // 2009-08-03: Nochmals auskommentiert, siehe Diskussionsseite //if (wgCanonicalSpecialPageName == "Search") { // includePage("MediaWiki:SpezialSuche.js"); //}

    //================================================================================ //*** import Onlyifuploading-functions // SEE ALSO MediaWiki:Onlyifuploading.js

    if (wgCanonicalSpecialPageName == "Upload") {

       includePage("MediaWiki:Onlyifuploading.js");
       includePage("MediaWiki:Onlyifediting.js");
    

    }

    //================================================================================ //*** import watchlistmessage-functions // Nachrichten auf der Beobachtungliste ausblenden // SEE ALSO MediaWiki:Common.js/watchlist.js

    if (wgCanonicalSpecialPageName == "Watchlist") {

       includePage("MediaWiki:Common.js/watchlist.js");
    

    }

    //================================================================================ //*** Dynamic Navigation Bars

    // set up the words in your language var NavigationBarHide = 'Einklappen'; var NavigationBarShow = 'Ausklappen';

    // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden if (typeof NavigationBarShowDefault == 'undefined' ) {

       var NavigationBarShowDefault = 1;
    

    }

    // adds show/hide-button to navigation bars addOnloadHook(function() { // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

    if (!NavFrame || !NavToggle) { return false; }

    // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } }

    // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } }

    function toggleNavigationBarFunction(indexNavigationBar) { return function() { toggleNavigationBar(indexNavigationBar); return false; }; } // iterate over all NavFrames var NavFrames = getElementsByClassName((document.getElementById("content") || document.getElementById("mw_content")), "div", "NavFrame"); for (var i=0; i<NavFrames.length; i++) { var NavFrame = NavFrames[i]; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + i); NavToggle.setAttribute('href', '#'); NavToggle.onclick = toggleNavigationBarFunction(i);

    var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText);

    // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore(NavToggle, NavFrame.firstChild); NavFrame.setAttribute('id', 'NavFrame' + i); } // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < NavFrames.length) { for(var i=0; i<NavFrames.length; i++) { toggleNavigationBar(i); } }

    });

    //================================================================================ //*** import Onlyifediting-functions // SEE ALSO MediaWiki:Onlyifediting.js

    if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) {

       includePage("MediaWiki:Onlyifediting.js");
    

    }

    //================================================================================

    /** Skript für Vorlage:Galerie */ addOnloadHook(function() {

     if (document.URL.match(/printable/g)) return;
    
     function toggleImageFunction(group,  remindex, shwindex) {
       return function() {
         document.getElementById("ImageGroupsGr" + group + "Im" + remindex).style["display"] = "none";
         document.getElementById("ImageGroupsGr" + group + "Im" + shwindex).style["display"] = "block";
         return false;
       };
     }
    
     var divs = document.getElementsByTagName("div");
     var i = 0, j = 0;
     var units, search;
     var currentimage;
     var UnitNode;
     for (i = 0; i < divs.length; i++) {
       if (divs[i].className !== "ImageGroup") { continue; }
       UnitNode = undefined;
       search = divs[i].getElementsByTagName("div");
       for (j = 0; j < search.length; j++) {
         if (search[j].className !== "ImageGroupUnits") { continue; }
         UnitNode=search[j];
         break;
       }
       if (UnitNode === undefined) { continue; }
       units = [];
       for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
         var temp = UnitNode.childNodes[j];
         if (temp.className === "center") { units.push(temp); }
       }
       var rightlink = undefined;
       var commentText = undefined;
       for (j = 0; j < units.length; j++) {
         currentimage = units[j];
         currentimage.id = "ImageGroupsGr" + i + "Im" + j;
         var leftlink = document.createElement("a");
         if (commentText !== undefined) {
           leftlink.setAttribute("title", commentText);
         }
         var comment;
         if (typeof(currentimage.getAttribute("title")) !== "string") {
           commentText = (j+1) + "/" + units.length;
           comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
         }
         else {
           commentText = currentimage.getAttribute("title");
           comment = document.createElement("span").appendChild(document.createTextNode(commentText));
           currentimage.removeAttribute("title");
         }
         if(rightlink !== undefined) {
           rightlink.setAttribute("title", commentText);
         }
         var imghead = document.createElement("div");
         rightlink = document.createElement("a");
         if (j != 0) {
           leftlink.href = "#";
           leftlink.onclick = toggleImageFunction(i, j, j-1);
           leftlink.appendChild(document.createTextNode("◀"));
         }
         if (j != units.length - 1) {
           rightlink.href = "#";
           rightlink.onclick = toggleImageFunction(i, j, j+1);
           rightlink.appendChild(document.createTextNode("▶"));
         }
         imghead.style["fontSize"] = "110%";
         imghead.style["fontweight"] = "bold";
         imghead.appendChild(leftlink);
         imghead.appendChild(document.createTextNode("\xA0"));
         imghead.appendChild(comment);
         imghead.appendChild(document.createTextNode("\xA0"));
         imghead.appendChild(rightlink);
         if (units.length > 1) {
           currentimage.insertBefore(imghead,currentimage.childNodes[0]);
         }
         if (j != 0) {
           currentimage.style["display"] = "none";
         }
       }
     }
    

    });

    /* admin ui changes */

    if( window.wgUserGroups ) {

     for(var i = 0; i < wgUserGroups.length; ++i) {
       if(wgUserGroups[i] === "sysop") {
     /*  importScript("MediaWiki:Group-sysop.js");  kann bei Bedarf ent-auskommentiert werden  */
         importStylesheet("MediaWiki:Group-sysop.css");
         break;
       }
     }
    

    }

    //============================================================================== //*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein

    addOnloadHook(function() {

           if(wgNamespaceNumber != 0 && wgNamespaceNumber != 1) return;
    

    var tab = document.getElementById( 'ca-talk' ); if( !tab || tab.className != 'new' ) return; var link = tab.getElementsByTagName( 'a' )[0]; if( !link ) return; link.href += '&section=new'; });


    // Lokaler Bilddiskussionsseitenlink eines Commonsbildes verweist nach Commons

    if (wgNamespaceNumber === 6) addOnloadHook( function() { if (window.keepLocalFileTabs ) return; if (document.getElementById( 'ca-history')) return; //Lokale Dateibeschreibung vorhanden? if (!getElementsByClassName(document, 'div', 'sharedUploadNotice')[0]) return; //Nur bei Commons-Bildern

    var path = wgServer.match(/^https/) ? 'https://secure.wikimedia.org/wikipedia/commons/wiki/' : 'http://commons.wikimedia.org/wiki/';

    // Ändere Link auf Diskussionsseite // vector uses ca-image_talk var talk = document.getElementById('ca-talk') || document.getElementById('ca-image_talk'); if (talk && talk.className.match(/(^| )new( |$)/)) { var link = talk.getElementsByTagName('a')[0]; link.href = path + 'File_talk:' + encodeURIComponent(wgTitle) + '?uselang=de'; link.className += ' commonstab'; }

    // Ändere Bearbeiten-Link var edit = document.getElementById('ca-edit') || document.getElementById('ca-viewsource'); if (edit) { var link = edit.getElementsByTagName('a')[0]; link.href = path + 'File:' + encodeURIComponent(wgTitle) + '?uselang=de&action=edit'; link.className += ' commonstab'; link.firstChild.nodeValue = 'Bearbeiten'; } });

    /** Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu */ function SVGThumbs() { var file = document.getElementById("file"); // might fail if MediaWiki can't render the SVG if (file && wgIsArticle && wgTitle.match(/\.svg$/i)) { var thumbu = file.getElementsByTagName('IMG')[0].src; if(!thumbu) return;

    function svgAltSize( w, title) { var path = thumbu.replace(/\/\d+(px-[^\/]+$)/, "/" + w + "$1"); var a = document.createElement("A"); a.setAttribute("href", path); a.appendChild(document.createTextNode(title)); return a; }

    var p = document.createElement("p"); p.className = "SVGThumbs"; p.appendChild(document.createTextNode("Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": ")); var l = [200, 500, 1000, 2000];

                   for( var i = 0; i < l.length; i++ ) {
    

    p.appendChild(svgAltSize( l[i], l[i] + "px")); if( i < l.length-1 ) p.appendChild(document.createTextNode(", "));

                   }
    

    p.appendChild(document.createTextNode(".")); var info = getElementsByClassName( file.parentNode, 'div', 'fullMedia' )[0]; if( info ) info.appendChild(p); } }; addOnloadHook( SVGThumbs );

    /** Mobile Redirect Helper ************************************************

    *
    *  Redirects to the mobile-optimized gateway at en.m.wikimedia.org
    *  for viewers on iPhone, iPod Touch, Palm Pre, and Android devices.
    *
    *  You can turn off the redirect by setting the cookie "stopMobileRedirect=true"
    *
    *  This code cannot be imported, because the JS only loads after all other files
    *  and this was causing major issues for users with mobile devices. Must be loaded
    *  *before* the images and etc of the page on all mobile devices.
    *
    *  Maintainer: User:Brion VIBBER, User:hcatlin
    */
    

    if (/(Android|iPhone|iPod|webOS)/.test(navigator.userAgent)) {

     var wgMainPageName = "Wikipedia:Hauptseite";
    
     var stopMobileRedirectCookieExists = function() {
       return (document.cookie.indexOf("stopMobileRedirect=true") >= 0);
     }
    
     var mobileSiteLink = function() {
       if (wgCanonicalNamespace == 'Special' && wgCanonicalSpecialPageName == 'Search') {
           var pageLink = '?search=' + encodeURIComponent(document.getElementById('searchText').value);
       } else if (wgPageName == wgMainPageName) {
           var pageLink = '::Home'; // Special case
       } else {
           var pageLink = encodeURIComponent(wgPageName).replace('%2F','/').replace('%3A',':');
       }
       return 'http://' + wgContentLanguage + '.m.wikipedia.org/wiki/' + pageLink + "?wasRedirected=true";
     }
    
     if (!stopMobileRedirectCookieExists()) {
       document.location = mobileSiteLink();
     }
    

    }

    // <noscript>-Emulation via
    appendCSS('.noscript {display:none;}');
    

    /*

    * Description: Stay on the secure server as much as possible
    */
    

    if(wgServer == 'https://secure.wikimedia.org') {

       importScript( 'MediaWiki:Common.js/secure.js');
    

    }