Benutzer:Quezon95/vector.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
// FAQ:
//
// Frage:   Wie übernehme ich dieses Skript?
//
// Antwort: Einfach "Quelltext betrachten", alles markieren und kopieren, und dann in deine eigene
//          monobook.js (also hierhinein: Benutzer:<DeinName>/monobook.js) kopieren.
//          Am sinnvollsten ist es dabei, wenn du die Originalversion von Benutzer:PDD/monobook.js
//          übernimmst, da diese immer auf dem neuesten Stand ist.
//
// Frage:   Kann ich dieses Skript einfach so übernehmen, oder muss ich da tausend Sachen ändern?
//
// Antwort: Du kannst natürlich alles ändern, aber du musst nicht. Einfach erstmal kopieren, ausprobieren,
//          und dann so anpassen, dass es deinem Bedarf gerecht wird.
//
// Weitere Fragen und Antworten findest du hier: Benutzer:PDD/monobook FAQ
//
// Hier bitte eine Signaturvariante aussuchen!
//
// 
 // (Signaturvariante 1: sinnvoll bei unter "Einstellungen" typografisch angepassten Signaturen)
 // var usersignature = '\~\~\~\~';
 // (Signaturvariante 2: Datum kleiner, kein Zeilenumbruch nach dem Leerzeichen)
 var usersignature = '<span style=\"white-space:nowrap;\">-- \~\~\~ <small>\~\~\~\~\~<\/small><\/span>';
 // (Wiki-Standard-Signatur, bitte das Leerzeichen nach den zwei Strichen beachten)
 // var usersignature = '-- \~\~\~\~';
 // 
// Originalskript ursprünglich gefunden bei en:User:Angela
// bearbeitet von Benutzer:Maximus Rex
// bearbeitet von Benutzer:SirJective
// bearbeitet von Benutzer:BLueFiSH.as
// bearbeitet von Benutzer:Littl (2005-09-07)
// bearbeitet von Benutzer:Schwalbe (2006-02-03)
// bearbeitet wieder von Benutzer:Littl (2006-02-21)
// bearbeitet von Benutzer:PDD (ab 2006-04-22)
// *************** SETUP Teil 1 **********************************
// Parameter für Gadgets
// Gadgets müssen über Spezial:Einstellungen -> Gadgets freigeschaltet werden
// Gadget: Extra-Editbuttons, sieheWikipedia:Helferlein/Extra-Editbuttons
// Anzahl und Reihenfolge wählbar (siehe: Wikipedia:Helferlein/Extra-Editbuttons#Die Buttons)
var customEditButtons = "A,A3,B,C,E,F,G,H,I,I1,I2,J1,K,M,O,P,PO,Q,R,R3,S,T,T1,U,V,W,X,Y1,Y2,VP,VC,VN,SM";
// zu entfernende Standard-Edit buttons (0...10)
var rmEditButtons = [6,7,10]; // Standardbutton entfernen
var myButtons = {}            // eigene Buttons?
// [[:de:MediaWiki:Gadget-Extra-Editbuttons.js]] – diese Zeile bitte mitkopieren
mw.loader.load('//de.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons.js&action=raw&ctype=text/javascript');
// *************** SETUP Teil 2 **********************************
// Parameter für diese monobook.js (Quickbar, Module etc.)
var zeigeversion = true;        // monobook-Version anzeigen?
var zeigehilfe = true;          // kurze Hilfetexte beim überfahren mit der Maus anzeigen?
var qbnewpage = true;           // sollen Seiten aus dem QuickBar im neuen Fenster aufgerufen werden?
var rclimit = 500;              // angezeigte Anzahl auf "Letzte Änderungen"
var nplimit = 500;              // angezeigte Anzahl auf "Neue Artikel"
var nulimit = 1000;             // angezeigte Anzahl auf "Neuanmeldungs-Logbuch"
var nvlimit = 500;              // angezeigte Anzahl auf "Alte, gesichtete Seiten"
var usedropdown = false;        // Wenn keine Dropdowns gewünscht sind, hier false eintragen!
var timeout = 50000;            // 50 Sekunden auf das Neuladen der Seite warten
var timezoneshift = 0;          // Unterschied lokale Zeit zur Systemzeit (bleibt für Mitteleuropäer 0)
var debugme = false;            // Debug-Modus?
var qbfontsize = 100;            // Schriftgröße im QuickBar (relativ in Prozent)
// systemweite Default-Optionen aus MediaWiki:Monobook.js
NavigationBarShowDefault = 0;     // Navi-Leisten: alle einklappen == 0; alle ausklappen == 15 (z.B.)
var oldEditsectionLinks = false;  // "Bearbeiten"-Links bei Abschnitten ganz nach rechts?
var enable_linkFA = true;         // "Featured Articles" in fremdsprachigen Wikipedias markieren?
// 
 // Modul: changeBeschriftungen.js
 var beschriftungen = true;      // kosmetische Änderungen an der MediaWiki-Oberfläche?
 var markhandsoff = true;        // fremde Benutzerseiten grafisch markieren?
 // Beschriftungen: personal toolbar
 var cbmytalk = "Meine Diskussion";
 var cbprefs = "Einstellungen";
 var cbwatchlist = "Beobachtungsliste";
 var cbmyconts = "Meine Beiträge";
 var cblogout = "X";
 // Beschriftungen: current article
 var cbedit = "Bearbeiten";
 var cbhistory = "Versionen";
 var cbmove = "Verschieben";
 var cbwatch = "Beobachten";
 var cbunwatch = "Ignorieren";
 // Beschriftungen: tools
 var cbwhatlinkshere = "Links a. d. Seite";
 var cblinked = "Verlinkte Änderungen";
 var cbmail = "E-Mail senden";
 var cbupload = "Datei hochladen";
 var cbprint = "Druckversion";
 var cbblock = "User sperren";
 // Beschriftungen: portlets
 var cblang = "Interwiki";

 // Modul: Sperrstatus.js
 var sperrstatus = true;         // Sperrstatus einer Seite farblich anzeigen?

 // Modul: eintragen.js
 var autosave = true;            // automatisches Speichern von QS/LA/SLA/Vandal-Einträgen?
 var signogrundparam = false;           // auf true setzen, wenn Signatur das SLA-Eintragen behindert
 var emptylinesafterhr = 1;             // Leerzeilen zwischen LA-Baustein und Artikeltext
 var defaultSLA = "Kein Artikel";       // Standard-SLA-Grund
 var defaultVandal = "vandaliert in [[]]";  // Standardgrund für Vandalismusmeldung (Benutzer)
 var defaultAVandal = "Edit-War";           // Standardgrund für Vandalismusmeldung (Artikel)

 // Modul: hinweise.js
 var hinweis = true;             // Portal- und Redaktionshinweis verwenden?

 // Modul: godmode-light.js
 var godmodelight = true;        // "Zurücksetzen" einblenden?
 var godmodenewstyle = true;            // neuer Rollback-Kommentartext?

 // Modul: addEditAndRevertLinks.js
 var editlinkoldversion = true;  // Bearbeiten-Link für ältere Versionen anzeigen?
 var editlinktxt = "edit";       // Text des Edit-Links
 var revertwithreason = true;    // Revert-Link mit Grund-Eingabe anzeigen?
 var revlinktxt = "rev";         // Text des Revert-Links
 var revlinkshowuser = true;     // beim Revertieren über (Rev)-Link letzten Benutzer angeben?
 var rvisminor = true;           // sind Reverts mit "(rev)"-Link Minor-Changes?
 var aearldefault = "Grund: keine Verbesserung des Artikels";      // Defaultgrund beim Revertieren
 var aerhistory = true;                       // Links auch in der Versionsgeschichte?
 var aearlhere = true;                        // Revertaktion im selben Browserfenster?

 // Modul: addLogsLink.js
 var addlogslink = true;         // Zusatzlinks zu Spezial:Log einfügen?
 var pagelogtext = "Page:Log";                // Text des Seitenlogbuch-Links
 var userlogtext1 = "User:Log:1";             // Texte der beiden Benutzerlog-Links
 var userlogtext2 = "User:Log:2";

 var addusercontriblink = true;  // auf Benutzerseiten auch noch Link auf Contributions?
 var usercontribtext = "User:Contribs";       // Text des Contributions-Links ("Benutzerbeiträge")
 var userdeledittext = "User:DelEdits";       // Text des Links auf Deleted Edits
 var userstatstext = "User:Stats";            // Text des Links auf Benutzerstatistik
 var userstatstype = "interiot";                      // Art der Benutzerstatistik
                                                      // (interiot/dab/yaec/kate/wannabe_kate/misza)
 var usergallerytext = "User:Gallery";        // Text des Links auf Bildergalerie des Benutzers
 var userstimmrechttext = "User:Stimmrecht";  // Text des Links auf Stimmrechtcheck

 var adduserarticlelink = true;  // auf Benutzerseiten Link auf erstellte Artikel?
 var userarticletext = "User:Articles";       // Text des Links auf erstellte Artikel

 var addbrowselink = true;       // auf allen Seiten Link zum alphabetischen Browsen?
 var browseuserprefix = true;                 // bei Nutzerseiten stattdessen alle Unterseiten des Nutzers zeigen?
 var browsetext = "Browse";                   // Text des Links auf Browsing-Seite

 var addiusagelink = true;       // bei Bildern Link zur Bildnutzung (Commons)?
 var imgusagetext = "IMG:C-Usage";            // Text des Links auf Bildnutzung

 // Modul: modifyCA.js
 var addeditintro = true;        // TAB zum Editieren des Nullabschnitts (Intros) einer Seite hinzufügen?
 var editintrotext = "IntroBearbeiten";  // Beschriftung des TABs
 var addpurge = true;            // TAB zum Purgen (Servercache-Updaten) einer Seite hinzufügen?
 var purgetext = "Purge";                // Beschriftung des TABs

 // Modul: markAdmins.js
 var markadmins = true;          // Admins u.ä. besonders hervorheben?
 var marksubpages = true;              // auch Links auf Admin-Unterseiten markieren?
 var mawatchlist = true;               // auch auf der Beobachtungsliste?
 var macontribs = true;                // auch auf den Benutzerbeiträgen?
 var markatxt = "A";              // Markierung für Admins
 var markrenatxt = "A-Ren";       // Markierung für umbenannte Admins
 var markbureautxt = "B";         // Markierung für Bürokraten
 var markstewtxt = "S";           // Markierung für Stewards

 var markcomadmins = true;      // zusätzlich: Commons-Admins besonders hervorheben?
 var markcomatxt = "Com-A";       // Markierung für Commons-Admins

 var markexadmins = true;       // zusätzlich: Ex-Admins besonders hervorheben?
 var markexatxt = "Ex-A";         // Markierung für Ex-Admins
 var markexbureautxt = "Ex-B";    // Markierung für Ex-Bürokraten

 var markarbcom = true;         // zusätzlich: Schiedsgericht besonders hervorheben?
 var markarbcomtxt = "SG";        // Markierung für Schiedsgerichtler

 var markcheckuser = true;      // zusätzlich: CheckUser besonders hervorheben?
 var markcheckusertxt = "CU";     // Markierung für Checkuser-Berechtigte
 var markombudsmantxt = "O";      // Markierung für Ombudspersonen

 // Modul: markUTF8.js
 var markutf8 = true;            // Sonderzeichenbenutzernamen besonders hervorheben?
 var muwatchlist = true;              // auch auf der Beobachtungsliste?
 var mucontribs = true;               // auch auf den Benutzerbeiträgen?
 var markutf8txt = "UTF8!";      // Markierung für UTF8-kodierte Nutzernamen etc.
 var markltrtxt = "UTF8:LTR!";   // Markierung für Lemmata mit LTR-Mark

 // Modul: markErledigt.js
 var markerledigt = true;        // Erledigt-Button auf Seiten mit [[Vorlage:Autoarchiv-Erledigt]]

 // Modul: reftoggle.js
 var reftoggle = false;          // "Quellen verstecken"/"Quellen anzeigen"-Schalter für Fußnoten?

 // Modul: newgallery.js
 var newgallery = false;         // Anzahl Bilder/Zeile in Galerien verändern?
 var gallery_len = 6;            // Breite der Galerien
 var bCategory = true;                 // nur in Kategorien?
 var bArticle = true;                  // (oder/und) nur in Artikeln?

 // Modul: quickedit.js
 var qeEnabled = false;          // QuickEdit aktivieren?
 var qeEnableSection0 = false;   // QuickEdit-Link für Abschnitt 0 (Einleitung)?
 var qeEnableAccessKeys = true;  // Tastaturbefehle aktivieren?
 var qeShowErrors = true;        // Fehlermeldungen anzeigen
 var qeTextboxHeight = 20;       // Höhe des Textfelds

 // Modul: APPERs RP
 var rechtschreibpruefung = false;  // Rechtschreibprüfung aktivieren?
 var AutorunRP = false;                // false = RP durch Anklicken; true = automatische RP

 // Modul: APPERs IP-Patrol Vandalenmarkierer
 var ippvandalmark = false;      // IP-Patrol-Vandalenmarkierung aktivieren?

 // Modul: osm.js
 var openstreetmap = false; // OpenStreetMap-Link anschalten?

 // Modul: coordinates.js
 // (für dieses Modul im CSS #editpage-copywarn nicht ausblenden!)
 var coordinates = false;        // Koordinate_Artikel in Editfenster generierbar?

 // Modul: unsigned.js
 var unsigning = true;           // Einfügen von Unsigned bei unsignierten Beiträgen auf Diskussionsseiten?
 var addownsig =  false;           // unsigniert-Baustein unterschreiben?
 var ssubst =  true;                   // unsigniert-Baustein mit subst einfügen?

 // Modul: signing.js
 var signing = false;            // automatische Unterschrift auf Diskussionsseiten?
 // Liste der Nicht-Diskussionsseiten, die ebenfalls unterschrieben werden sollen:
 var regpages = new Array(':Verbesserungsvorschläge', ':Löschkandidaten', ':Löschprüfung', ':Entsperrwünsche', ':Adminkandidaturen', ':Qualitätssicherung', ':Fragen_zur_Wikipedia', ':Meinungsbilder', ':Review', ':Bilderwünsche', ':Kandidaten');

 // Modul: SearchBox.js
 var searchbox = false;          // erweitertes suchen/ersetzen

 // 
// Modul: popups.js (Lupin, Navpop)
var lupinpopups = false;        // Popup-Modul einbinden?
// Optionen für Lupin-Popups
// (ausführliche Liste siehe Wikipedia:Helferlein/Navigation-Popups#Optionen bzw.
// aktueller und auf englisch en:Wikipedia:Tools/Navigation popups#Options)
popupDelay = 1;                // Popupverzögerung in s (DEFAULT: 0.5)
simplePopups = false;          // auf true setzen, wenn Laden im Hintergrund unerwünscht (DEFAULT: false)
popupStructure = 'menus';      // Aussehen der Popups (DEFAULT: 'shortmenus')
popupActionsMenu = false;      // separates "actions"-Menu (DEFAULT: true)
popupImages = true;            // Bilder im Popup erwünscht? (DEFAULT: true)
popupSubpopups = true;         // Popups für Links innerhalb von Popups generieren? (DEFAULT: true)
popupAdminLinks = false;       // Funktionen, die nur Admins nutzen können (DEFAULT: false)
// nächste Option sollte bei Verwendung von showRedundantLinks.js *nicht* auf true gesetzt werden
removeTitles = false;          // Originaltitel der Links nach popups verschieben? (DEFAULT: true)
popupFixRedirs = true;                  // Links auf Redirects korrigieren? (DEFAULT: false)
popupWatchRedirredPages = false;        // korrigierte Seite beobachten? (DEFAULT: null)
popupRedirAutoClick = 'wpSave';         // ausgeführte Aktion beim Korrigieren von Redirects (DEFAULT: 'wpDiff')
popupRedlinkRemoval = true;             // Rote Links entfernen? (DEFAULT: false)
popupFixDabs = true;                    // Links auf BKLs korrigieren? (DEFAULT: false)
popupWatchDisambiggedPages = false;     // korrigierte Seite beobachten? (DEFAULT: null)
popupLastModified = true;      // Zeit seit letzter Änderung anzeigen? (DEFAULT: true)
popupDiffDates = true;         // Änderungsdaten bei Diffs anzeigen? (DEFAULT: true)
popupOnlyArticleLinks = true;  // Popups nur für Artikel-Links (DEFAULT: true)
imagePopupsForImages = false;  // Bildvorschau laden, wenn Mausposition über Bild? (DEFAULT: true)
popupMaxWidth = 400;           // Maximalbreite des Popup-Fensters (DEFAULT: 350)
popupRevertSummaryPrompt = true;        // Prompt zum Ändern des Revert-Kommentars? (DEFAULT: false)
popupMaxPreviewSentences = 2;  // Anzahl der angezeigten Sätze in der Vorschau (DEFAULT: 4)
// 
 // Link auf Popups zu Messages hinzufügen?
 addpopuplink = true;
 // deutsche Texte für Lupin
 popupFixDabsSummary = "Ersetze BKL-Seite [[%s]] durch [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupExtendedRevertSummary = "Revert auf Version vom %s von Benutzer %s, oldid %s" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupRevertSummary = "Revert auf Version %s" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupRevertToPreviousSummary = "Revert auf Vorgängerversion der Version %s" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupQueriedRevertSummary = "Revert auf Version $1 vom $2 von $3" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupQueriedRevertToPreviousSummary = "Revert auf Vorgängerversion der Version $1 vom $2 von $3" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupFixRedirsSummary = "Ersetze Redirect [[%s]] durch [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupRedlinkSummary = "Entferne Link auf leere Seite [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
 popupRmDabLinkSummary = "Entferne Link auf BKL-Seite [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");

 // weitere Module
 var showredundantlinks = false; // zeigt doppelte Links an
 var ripe = false;               // Ripe - Tooltips?
 var irrenhaus = false;          // Script für mehr Abwechslung im "neue Nachrichten"-Balken
 var js_highlight = false;       // javascript-code farbig hervorheben  (.js and pre-tags)
 var imgdupecheck = true;        // Bilder-Duplikate anzeigen

 // special rights options
 var dellinknowcommons = true;   // Löschlink bei NowCommons-Bildern (von Revvar/Codeispoetry)
 var loescheimer = true;         // erleichtertes LK-Abarbeiten (von mnh)
 var filter_rfdtoc_by_default = true;    // Löscheimer: TOC der LK-Seite filtern?

 // **************** SETUP Ende ***********************************

 // (PDD: note to self: version auch in alert-Funktion ändern!)
 var version  = 'P098w';

 var user  = wgUserName;         // username wird automatisch übernommen

 // aktuelle Zeit ermitteln
 var jetzt = new Date();
 // recalculate 4 furriners
 var jetztfixed = jetzt.getTime();
 jetztfixed += (timezoneshift * 3600 * 1000);
 jetzt.setTime(jetztfixed);
 // fill date variables
 var Monate = new Array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 var Monatekurz = new Array("", "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
 var Jahr = jetzt.getYear();
 if (Jahr < 999)  Jahr += 1900;
 var Monat = jetzt.getMonth() + 1;
 var Tag = jetzt.getDate();
 // fill WP date variables
 var WPDatum = Tag + '._' + Monate[Monat] + '_' + Jahr;
 var WPDatum2 = Jahr + '/' + Monate[Monat] + '/' + Tag;
 var WPDatum3 = Monate[Monat] + ' ' + Jahr;
 var WPDatum4 = Jahr + '-' + LeadingZero(Monat);
 var WPDatum5 = Jahr + LeadingZero(Monat) + '/';
 var refDatum = Tag + '. ' + Monatekurz[Monat] + '. ' + Jahr;
 var refDatumlang = Tag + '. ' + Monate[Monat] + ' ' + Jahr;

 // Lemma-Varianten (work in progress) + redundant zu addLogsLink etc.
 // get page title
 var pagetitle = wgPageName;
 var spagetitle = wgTitle;
 // do real spaces; fix for lemmas with '&'
 var ptitle = pagetitle.replace(/_/g, " ").split('&').join('%26');
 var sptitle = spagetitle.replace(/_/g, " ").split('&').join('%26');
 // do + escaped (" " to "+")
 var pesctitle = spaceEscape(ptitle);
 var spesctitle = spaceEscape(sptitle);
 // lemmatitle for external lookup
 var spesctitlelookup = spesctitle.split('+(')[0];
 // Komma-Lemma für Personen (Klammerzusätze weg etc.)
 var personlemma = spagetitle.split(' (')[0];
 var titlesplit = personlemma.split(' ');
 if (titlesplit.length > 1) {
    personlemma = titlesplit[titlesplit.length-1] + ',';
    for (i=0; i<(titlesplit.length-1); i++)
        personlemma=personlemma + " "+titlesplit[i];
 }

 // get URL parameters (used for page type variables)
 var UrlParameters = new Array ();
 readparams();

 function readparams() {
  var asReadInUrlParameters;
  var asReadInUrlParameter;

  // Get URL parameters
  asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
  for (i = 0; i < asReadInUrlParameters.length; i++) {
    asReadInUrlParameter = asReadInUrlParameters[i].split("=");
    UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
  }
 }

 // page type variables: namespaces
 var isArticle       = (mw.config.get('wgNamespaceNumber') == 0);
 var isArticleTalk   = (mw.config.get('wgNamespaceNumber') == 1);
 var isBild          = (wgCanonicalNamespace == "Image");
 var isDatei         = (wgCanonicalNamespace == "File");
 var isCategory      = (wgCanonicalNamespace == "Category");
 var isTemplate      = (wgCanonicalNamespace == "Template");
 var isGeneric       = false;
 if ((!isBild) && (!isDatei) && (!isCategory) && (!isTemplate))
     isGeneric  = true;
 var isProject       = (wgCanonicalNamespace == "Project"); /* NR Wikipedia: */
 var isHelp          = (wgCanonicalNamespace == "Help");    /* NR Hilfe */

 // page type variables: namespace == -1
 var isSpecial  = (wgCanonicalNamespace == "Special");
 var isRestore = (isSpecial && (wgCanonicalSpecialPageName == "Undelete"));
 var isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
 var isDelContrib = (isSpecial && (wgCanonicalSpecialPageName == "DeletedContributions"));
 var isWatchlist = (isSpecial && (wgCanonicalSpecialPageName == "Watchlist"));

 // page type variables: namespace == -1
 var isTalk = (!isSpecial && isOdd(mw.config.get('wgNamespaceNumber')));

 // page type variables: other stuff
 var isPHP     = (document.URL.indexOf('index.php') > 0);
 var isDiff    = UrlParameters["diff"];
 var isEdit    = ( (UrlParameters['action']=='edit')
                || (UrlParameters['action']=='submit') );
 var isHistory = (UrlParameters['action']=='history');

 // individual page specials
 var isLKpage = false;
 if ((isProject) && (wgTitle.indexOf('Löschkandidaten') != -1))
     isLKpage = true;

 // userpage/name stuff, vor allem für IPs
 var userPageOwner = "";
 if (isContrib || isDelContrib)  {
   if (UrlParameters['target']) userPageOwner = UrlParameters['target'].split('+').join('_');
   else {
        userPageOwner = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
        userPageOwner = userPageOwner.substring(userPageOwner.indexOf("Beiträge/") + 9);
   }
 }

 // page type variables: user & user discussion lumped together
 var isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
 var isUserMainpage = false;
 if (isUserpage)
    if (wgTitle == wgTitle.split("/")[0]) {
        isUserMainpage = true;
        userPageOwner = wgTitle;
    }

 // handelt es sich um eine IP?
 var isIPUser = false;
 if (userPageOwner != "")
    if (userPageOwner.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) != null)
       if ((userPageOwner.split(".")[0] > 1) && (userPageOwner.split(".")[0] < 255))
          isIPUser = true;

 // Admin & editor functions
 var adminflag = false;
 if (hasRight("sysop")) adminflag = true;

 var editorflag = false;
 if (hasRight("editor")) editorflag = true;

 // Browserkram
 var userbrowser = "Standard";
 if (navigator.userAgent.indexOf("Opera") > -1)
     userbrowser = "Opera";
 if (navigator.userAgent.indexOf("Safari") > -1)
     userbrowser = "Standard";
 if (navigator.userAgent.indexOf("MSIE") > -1) {
     userbrowser = "IE";
     if (navigator.userAgent.indexOf("MSIE 7") > -1)
         userbrowser = "IE7";
 }

 // force Browserswitches
 if ((userbrowser == "IE") || (userbrowser == "IE7")) {
     godmodelight = false;
     showredundantlinks = false;
 }
 if (userbrowser == "Opera") {
     godmodelight = false;
 }

 /*
  * ab hier wird der Quickbar (der Kasten oben links) zusammengebaut
  *
  * zuerst die allgemeinen Variablen (hier bitte nix ändern!)
  */

 var Quickbar = '<div class="pBody noprint" id="p-quickbar" style="position:absolute; top:5px; left:0px; width:14.1em; z-index:10;">';
 // optional:  opacity:0.9;
 var xxx      = '';

 var trenner='<hr />';
 var br     ='<br />';

 var qbtarget = '_self';
 if (qbnewpage) qbtarget = '_blank';

 var dropdown = usedropdown;
 var scrpt    = '';
 var scrptn   = 0;
 var indropdown;
 var ind;

 /*
  * Quickbar-Zusammenbau, Teil 1:
  *
  * zuerst die Reihenfolge der einzelnen Abschnitte:
  */

 function buildQuickbar() {
    qbWPIntern();
    qbPatrol();
    qbWartung();
    qbToolserver();
    qbCategoryTools();
    qbImageTools();
    qbExternTools();

    // ab hier keine Dropdowns mehr
    closedropdown();
    dropdown=false;

    // die folgenden werden nur im Edit-Modus eingeblendet
    qbEditTags();
    qbArticleTemps();
    qbMarkupTools();
    qbImageTemps();
    qbUsertalkTemps();

    // der folgende Abschnitt wird nur bei Admins eingeblendet
    qbAdminTools();

    // Automatisches Bausteinsetzen
    qbAutoTemps();
 }


 /*
  * Quickbar-Zusammenbau, Teil 2:
  *
  * die Belegung der einzelnen Abschnitte
  */

 function qbWPIntern() {
    w (0,trenner,'Wikipedia','');

    // w (1,'/wiki/Hilfe:MediaWiki','MW',qbtarget,'MediaWiki-Hilfe');
    // w (1,'/wiki/Wikipedia:Hilfe','RTFM',qbtarget,'Wikipedia-Hilfe');
    // w (1,'/wiki/Hilfe:Textgestaltung','TG',qbtarget,'Hilfe zur Textgestaltung');
    // w (1,'/wiki/Hilfe:Farben','FT',qbtarget,'Hilfe zur Farbgestaltung');
    w (1,'/wiki/Wikipedia:Kurier','K',qbtarget,'Wikikurier - Das Wikipedia-Nachrichtenblatt');
    w (1,'/wiki/Wikipedia:Fragen zur Wikipedia','FZW',qbtarget,'Fragen zur Wikipedia');
    w (1,'/wiki/Wikipedia:Auskunft','A',qbtarget,'Auskunft');
    // w (1,'/wiki/Wikipedia:Autorenportal','P',qbtarget,'Autorenportal');
    w (1,'/wiki/Wikipedia:Projektneuheiten','NEU',qbtarget,'Projektneuheiten');
    w (1,'/wiki/Wikipedia:Verbesserungsvorschläge','VV',qbtarget,'Verbesserungsvorschläge');
    // w (1,'/wiki/Wikipedia:Tellerrand','TE',qbtarget,'Tellerrand');
    w (1,'/wiki/Wikipedia:Administratoren/Anfragen','AAF',qbtarget,'Administratoren/Anfragen');
    w (1,'/wiki/Wikipedia:Administratoren/Notizen','AN',qbtarget,'Administratoren/Notizen');
    w (1,'/wiki/Wikipedia:Dritte_Meinung','3M',qbtarget,'Dritte Meinung');
    // w (1,'/wiki/Wikipedia:Projektdiskussionen','PRD',qbtarget,'Projektdiskussionen');
    w (1,'/wiki/Wikipedia:Adminkandidaturen','AK',qbtarget,'Adminkandidaturen');
    w (1,'/wiki/Wikipedia:Schiedsgericht/Anfragen','SG/A',qbtarget,'Schiedsgericht/Anfragen');
    w (1,'/wiki/Wikipedia:Checkuser/Anfragen','CU/A',qbtarget,'Checkuser/Anfragen');
    // w (1,'/wiki/Wikipedia:Abkürzungen','ABK',qbtarget,'Abkürzungen');
 }

 function qbPatrol() {
    w (0,trenner,'Überwachung','');

    w (1,'/w/index.php?title=Special:Recentchanges&hideminor=0&hideliu=1&hidebots=1&hidepatrolled=0&days=7&limit='+rclimit,'RCs',qbtarget,'Letzte Änderungen');
    w (1,'/wiki/Special:Contributions/newbies','RCNs',qbtarget,'Beiträge neuer Benutzer');
    w (1,'/w/index.php?title=Special:Newpages&namespace=0&limit='+nplimit,'NeuA',qbtarget,'Neue Artikel');
    // w (1,'/wiki/Special:Newimages','NeuD',qbtarget,'Neue Dateien (Bilder)');
    w (1,'/w/index.php?title=Special:Log&limit='+nulimit+'&type=newusers','NeuB',qbtarget,'Neue Benutzer');
    w (1,'/w/index.php?title=Special:OldReviewedPages&limit='+nvlimit,'NeuE',qbtarget,'Neue Edits in gesichteten Artikeln');
    w (1,'/wiki/Wikipedia:Vandalismusmeldung','VM',qbtarget,'Vandalismusmeldung');
    w (1,'/wiki/Wikipedia:Sperrprüfung','SP',qbtarget,'Sperrprüfung');
    w (1,'/wiki/Wikipedia:Löschprüfung','LP',qbtarget,'Löschprüfung');
    w (1,'/wiki/Wikipedia:Entsperrwünsche','EW',qbtarget,'Entsperrwünsche');
    w (1,'/wiki/Wikipedia:Administratoren/Probleme','AP',qbtarget,'Admin-Probleme');
    w (1,'/wiki/Special:Log','Log',qbtarget,'Logfiles');
    // w (1,'irc://irc.freenode.net/wikipedia-de','IRC',qbtarget,'IRC-Chat #wikipedia-de');
 }

 function qbWartung() {
    w (0,trenner,'Wartung','');

    // w (1,'/wiki/Wikipedia:Löschregeln','WP:LR',qbtarget,'Löschregeln');
    w (1,'/wiki/Kategorie:Wikipedia:Schnelllöschen','SLK',qbtarget,'Schnelllöschkandidaten');
    w (1,'/wiki/Wikipedia:Löschkandidaten','LK',qbtarget,'Löschkandidaten');
    w (1,'/wiki/Wikipedia:Löschkandidaten/'+WPDatum,'LKH',qbtarget,'Löschkandidaten (heute)');
    // w (1,'/wiki/Wikipedia:Löschkandidaten/Bilder/'+WPDatum,'BildLK',qbtarget,'Löschkandidaten (Bilder)');
    // w (1,'/wiki/Wikipedia:WikiProjekt_Kategorien/Diskussionen/'+WPDatum2,'KatLK',qbtarget,'Löschkandidaten (Kategorien)');
    w (1,'/wiki/Wikipedia:Versionslöschungen','LKV',qbtarget,'Versionslöschungen');
    w (1,'/wiki/Wikipedia:Löschkandidaten/Urheberrechtsverletzungen','URV',qbtarget,'Löschkandidaten (URVs)');

    w (1,'/wiki/Wikipedia:Qualitätssicherung/'+WPDatum,'QS',qbtarget,'Qualitätssicherung');
    w (1,'/wiki/Wikipedia:Redundanz/'+WPDatum3,'RED',qbtarget,'Redundanz');
    w (1,'/wiki/Kategorie:Wikipedia:Unverständlich','Wirr',qbtarget,'Unverständlich');

    w (1,'/wiki/Wikipedia:Kandidaten für exzellente Artikel','KEA',qbtarget,'Kandidaten für exzellente Artikel');
    w (1,'/wiki/Wikipedia:Kandidaten für lesenswerte Artikel','KLA',qbtarget,'Kandidaten für lesenswerte Artikel');
    w (1,'/wiki/Wikipedia:Review','RV',qbtarget,'Review');
    w (1,'/wiki/Wikipedia:Kandidaten für exzellente Bilder','KEB',qbtarget,'Kandidaten für exzellente Bilder');
    w (1,'/wiki/Wikipedia:Kandidaten für informative Listen und Portale','KILP',qbtarget,'Kandidaten für informative Listen und Portale');
    // w (1,'/wiki/Wikipedia:Kandidaten für exzellente Aufnahmen','KEAU',qbtarget,'Kandidaten für exzellente Aufnahmen');
 }

 function qbToolserver() {
    w (0,trenner,'Toolserver','');

    qbUserTools();

    // w (1,"http://toolserver.org/~leon/stats/wikicharts/index.php?lang=de&wiki=dewiki&ns=Artikel&limit=200&month=" + LeadingZero(Monat) + "%2F" + Jahr + "&mode=view",'WCh',qbtarget,'WikiCharts');
    w (1,"http://toolserver.org/~vvv/adminstats.php?wiki=dewiki_p&tlimit=2419200",'AdmA',qbtarget,'Adminaktivität (letzte 4 Wochen)');
    w (1,"http://toolserver.org/~aka/cgi-bin/revstat.cgi?period=168",'RStat',qbtarget,'Revert-Statistik (letzte Woche)');
    w (1,"http://toolserver.org/~luxo/Geburtstag.php",'GK',qbtarget,'Wikipedia Geburtstagskalender');
    w (1,"http://toolserver.org/~magnus/wikitodo.php?language=de",'2Do',qbtarget,'Wikipedia ToDo');
    w (1,"http://toolserver.org/~aka/cgi-bin/reviewcnt.cgi",'RCt',qbtarget,'Sichtungsstatistik');
    w (1,"http://toolserver.org/~dab/jservlets/flaggedrevs/showunsighpages?twoYears=true&redirect=true",'UsP',qbtarget,'Zufälliger Artikel zum Sichten');

    if (isArticle) {
        w (1,"http://stats.grok.se/de/"+WPDatum5+ptitle,'AStat',qbtarget,'Wikipedia article traffic statistics');
        w (1,"http://toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=de&wikifam=.wikipedia.org&page="+pesctitle+"&since=&until=&grouped=on&order=-rev_timestamp&max=100&order=-rev_timestamp&format=html",'Conts',qbtarget,'Beiträge zu diesem Artikel');
    }
 }

 function qbUserTools() {
    if (userPageOwner == "") return;

    if (isIPUser) {
        // w (1,"http://www.ripe.net/whois?form_type=simple&full_query_string=&searchtext="+userPageOwner+"&do_search=Search",'IPripe',qbtarget);
        w (1,"http://www.dnsstuff.com/tools/ipall.ch?domain="+userPageOwner,'IPinfo',qbtarget,'IPInfo/Whois');
        w (1,"http://www.dnsstuff.com/tools/tracert.ch?ip="+userPageOwner,'IPtrcrt',qbtarget,'Traceroute');
        // w (1,"https://www.dan.me.uk/torcheck?ip="+userPageOwner,'TOR',qbtarget,'TOR-Node-Check');
        w (1,"http://toolserver.org/~krimpet/torcheck.php?ip="+userPageOwner,'K-TOR',qbtarget,'Krimpets TOR-Node-Check');
        w (1,"http://toolserver.org/~luxo/contributions/contributions.php?user="+userPageOwner+"&blocks=true&lang=de",'IP-GUC',qbtarget,'Global user contributions');
        // w (1,"http://toolserver.org/~vvv/rangecontribs.php?wiki=dewiki_p&user="+userPageOwner.substring(0, userPageOwner.lastIndexOf('.')),'IP-RaC',qbtarget,'IP range contributions');
        // w (1,"http://de.wikipedia.org/w/api.php?action=query&list=usercontribs&uclimit=200&format=xmlfm&ucuserprefix="+userPageOwner.substring(0, userPageOwner.lastIndexOf('.'))+".",'IP-RaC',qbtarget,'IP range contributions via API');
        w (1,"http://jodies.de/ipcalc?host="+userPageOwner+"&mask1=18&mask2=",'Rng',qbtarget,'Range/Subnet Rechner');
        w (1,"http://toolserver.org/~krimpet/rbhelper.php?db=dewiki_p&ip="+userPageOwner,'RngB?',qbtarget,'Range Block Finder');
    } else {
        // w (1,"http://www.ripe.net/whois",'ripe',qbtarget);
        // w (1,"http://www.dnsstuff.com/",'whois',qbtarget,'Whois');
        // w (1,"http://www.denic.de/de/",'denic',qbtarget,'Domain-Lookup');
        // w (1,"http://www.iks-jena.de/cgi-bin/whois",'iks-whois',qbtarget,'IKS-Whois-Lookup');

        w (1,"http://toolserver.org/~vvv/sulutil.php?user="+userPageOwner,'GUA',qbtarget,'Global user accounts');
        w (1,"http://toolserver.org/~purodha/sample/dbswithuser.php?usr="+userPageOwner+"&go=Go%21&uselang=de",'GUA+',qbtarget,'Global user accounts (ausführlich)');
        w (1,"http://toolserver.org/~luxo/contributions/contributions.php?user="+userPageOwner+"&lang=de",'GUC',qbtarget,'Global user contributions');

        if (user != userPageOwner)
           w (1,"http://toolserver.org/~cyroxx/familiar/familiar.php?user1="+spaceEscape(user)+"&user2="+spaceEscape(userPageOwner),'UFam',qbtarget,'Are U familiar?');
    }

    // w (1,"http://toolserver.org/~interiot/cgi-bin/count_edits?user="+user+"&dbname=dewiki_p",'EC+',qbtarget,'Mein Editcount');
    w (1,"http://toolserver.org/~chm/blockcalc.php",'BCalc',qbtarget,'Rangeblock-Calculator');

 }

 function qbCategoryTools() {
    if (!isCategory) return;

    w (0,trenner,'Kategorie-Tools','');

    w (1,"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat="+spesctitle+"&userlang=de",'K:Scan',qbtarget,'Kategorie: CatScan');
    w (1,"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat="+spesctitle+"&basedeep=5&mode=rc&hours=168&onlynew=on&userlang=de&go=Scannen",'K:NeuA',qbtarget,'Kategorie: Neue Artikel');
    w (1,"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat="+spesctitle+"&basedeep=5&mode=cs&tagcat=Wikipedia%3AL%C3%B6schkandidat&tagdeep=1&userlang=de&go=Scannen",'K:LA',qbtarget,'Kategorie: Artikel mit Löschantrag');
    w (1,"http://toolserver.org/~magnus/missingtopics.php?project=wikipedia&language=de&category="+spesctitle+"&depth=5&wikimode=0&doit=Run",'K:Miss',qbtarget,'Kategorie: Fehlende Artikel');
    w (1,"http://toolserver.org/~magnus/deep_out_of_sight.php?category="+spesctitle+"&depth=9",'K:NeuE',qbtarget,'Kategorie: Nachzusichtende Artikel');
    w (1,"http://toolserver.org/~magnus/deep_insight.php?category="+spesctitle+"&depth=9",'K:UsP',qbtarget,'Kategorie: Erstzusichtende Artikel');
 }

 function qbImageTools() {
    if ((!isBild) && (!isDatei)) return;

    w (0,trenner,'Bild-Tools','');

    w (1,"http://toolserver.org/~magnus/commonshelper.php?interface=de&lang=de&project=wikipedia&image="+spesctitle+"&doit='Text generieren'",'D:M2C',qbtarget,'Datei: Move-to-commons-Assistent');
    w (1,"http://toolserver.org/~luxo/reworkhelper/index.php?image="+pesctitle,'D:RWH',qbtarget,'Datei: Reworkhelper');

    w (1,'http://commons.wikimedia.org/wiki/Special:Upload','C-Up',qbtarget,'Commons-Upload');
    w (1,'http://toolserver.org/~daniel/WikiSense/CommonsClash.php?wikilang=de&wikifam=.wikipedia.org&order=img_name&max=200&format=html','C-C',qbtarget,'CommonsClash');
    w (1,"http://toolserver.org/~magnus/commonshelper.php?interface=de&lang=de&project=wikipedia",'M2C',qbtarget,'Move-to-commons-Assistent');
 }

 function qbExternTools() {
    w (0,trenner,'Externe Tools','');

    // w (1,"http://www.copyscape.com",'CopySc',qbtarget);
    w (1,"http://www.affenkrieger.de/wiki/wikicc.php",'AffenKr',qbtarget,'Affenkrieger');
    w (1,'http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?search='+pesctitle+'&timeout=300&minor=1','GWS',qbtarget,'GlobalWikiSearch');
    w (1,'http://wikipedia.ramselehof.de/wikiblame.php?article='+pesctitle+'&user_lang=de&skipversions=2&ignorefirst=3&limit=250','WBlame',qbtarget,'Wikiblame');
    w (1,'http://vs.aka-online.de/cgi-bin/wppagehiststat.pl?lang=de&page='+pesctitle,'WPHS',qbtarget,'Seitenstatistik');
    // w (1,"http://www.itp.uni-hannover.de/~krohn/wscan.html.utf8",'Krohn',qbtarget);

    // w (1,'http://toolserver.org/~arnomane/cgi-bin/WP-autoreview.pl?l=de&do_typo_check=ON&Go%21=Go%21&lemma='+pesctitle,'AR',qbtarget,'AutoReview');
    w (1,'http://toolserver.org/~timl/cgi-bin/wikilint?l=de&do_typo_check=ON&remove_century=ON&Go%21=Go%21&lemma='+pesctitle,'WL',qbtarget,'WikiLint (Autoreviewer)');

    // w (1,"http://www.canoo.net",'Canoo',qbtarget);
    w (1,"http://www.cia.gov/cia/publications/factbook/index.html",'FactB',qbtarget,'CIA World Factbook');
    w (1,"http://de.encarta.msn.com/artcenter_/browse.html",'Enc',qbtarget,'MSN Encarta');
    w (1,"http://lexikon.meyers.de/meyers/Meyers:Meyers_Lexikon_online",'Meyers',qbtarget,'Meyers Lexikon online');
    w (1,"http://www.retrobibliothek.de/retrobib/suche.html",'rbib',qbtarget,'retro-bib (u. a. Meyers Konversationslexikon 1888)');

    if (isArticle) {
        // w (1,"http://www.zeno.org/Zeno/0/Suche?&q=%22" + spesctitlelookup + "%22&h=1",'Zeno',qbtarget,'Verschiedene Lexika bei zeno.org');
        w (1,"http://www.zeno.org/Zeno/0/Suche?&q=" + spesctitlelookup + "&h=1",'Zeno',qbtarget,'Verschiedene Lexika bei zeno.org');
    } else {
        w (1,"http://www.zeno.org/Bibliothek",'Zeno',qbtarget,'Verschiedene Lexika bei zeno.org');
    }

    w (1,"http://www.ddb.de",'DNB',qbtarget,'Deutsche Nationalbibliothek');

    if (isArticle) {
        w (1,"http://dispatch.opac.ddb.de/DB=4.1/CMD?ACT=SRCHA&IKT=8514&SRT=YOP&TRM="+quickEscape(personlemma,1),'DNB-PND',qbtarget,'DNB (PND-Suche)');
    } else {
        w (1,"http://dnb.ddb.de/",'DNB-PND',qbtarget,'DNB (PND-Suche)');
    }

    w (1,"http://www.ubka.uni-karlsruhe.de/kvk.html",'KVK',qbtarget,'Karlsruher Virtueller Katalog');
    w (1,"http://toolserver.org/gradzeichen/IsbnCheckAndFormat?Language=Deutsch&FormatOnlyRaw=no&Test=http%3A%2F%2Fswb.bsz-bw.de%2FDB%3D2.1%2FCMD%3FACT%3DSRCHA%26IKT%3D1007%26TRM%3DMAGIC",'ISBN',qbtarget,'ISBN Checker/Formatter');
    w (1,"http://www.deutsche-biographie.de/ndbmaske.html",'A/NDB',qbtarget,'Allgemeine/Neue Deutsche Biographie');
    // w (1,"http://bse.sci-lib.com/",'Бсэ',qbtarget,'Большая советская энциклопедия');
    w (1,"http://encycl.yandex.ru/dict/bse",'Бсэ',qbtarget,'Большая советская энциклопедия');
    w (1,"http://wikyrilliza.visuelya.de/index.php.utf8",'Вик',qbtarget,'Wikyrilliza');
 }

 function qbEditTags() {
    if (isBild) return;
    if (isDatei) return;
    if (!isEdit) return;

    w (0,trenner,'Editierhilfen','');

    w (3,"br,'',''",'br','','Zeilenumbruch');
    w (3,"'&','nbsp;',''",'nbsp','','Geschütztes Leerzeichen');
    w (3,"'†','',''",'†','','Kreuz');
    // w (3,"'—','',''",'—','','Geviertstrich (Spiegelstrich)');
    w (3,"'–','',''",'–','','Halbgeviertstrich (Gedankenstrich)');
    // w (3,"'-','',''",'-','','Viertelgeviertstrich (Bindestrich)');
    // w (3,"'−','',''",'−','','Minuszeichen');
    w (3,"'→','',''",'→','','Pfeil nach rechts');
    w (3,"'←','',''",'←','','Pfeil nach links');
    w (3,"'<!-- ',' -->',''",'// comment','','<!--Kommentar-->');
    w (3,"'„','“',''",'„“','','Anführungszeichen');
 // 
   w (3,"'','',",'Nowiki',,'');
    w (3,"'<code><nowiki>','',",'Code',,'');
// 
    w (3,"'<span class=\\u0022plainlinks\\u0022>','</span>',''",'Plain','','Plain Link');
    w (3,"'<small>','</small>',''",'<small>small</small>','','Klein');
    w (3,"'<s>','</s>',''",'<s>strike</s>','','Durchstreichen');
    w (3,"'<u>','</u>',''",'<u>under</u>','','Unterstreichen');
    w (3,"'<ref>','</ref>',''",'<small>[ref]</small>','','Referenz');
    w (3,"'<ref name=\\u0022name\\u0022>','</ref>',''",'<small>[refN]</small>','','Referenz-Name');
    w (3,"'<ref name=\\u0022name\\u0022 />','',''",'<small>[refR]</small>','','Referenz-Name-Wiederholung');
    w (3,"'<math>','</math>',''",'Math');
    w (3,"':<math>\\u005Cmathrm{','}</math>',''",'ChemForm');

    w (3,"'\\n{{Kasten|',' " + usersignature  + "}}\\n',''","Kast",'','Kasten');
 }

 function qbArticleTemps() {
    if (isBild) return;
    if (isDatei) return;
    if (!isEdit) return;

    w (0,trenner,'Artikelbausteine','');

    w (3,"'== Weblinks ==\\n','',''",'Weblinks','','== Weblinks ==');
    w (3,"'== Einzelnachweise ==\\n<references />\\n','',''",'Refs','','== Einzelnachweise ==');

    w (3,"'[[Kategorie:',']]\\n',''","Kat:",'','[[Kategorie:]]');
    w (3,"'{{DEFAULTSORT:" + tagEscape(quickEscape(personlemma,2)) + "}}\\n','',''","DefSrt",'','{{DEFAULTSORT:');
    w (3,"'[[Benutzer:',']]',''","User:",'','[[Benutzer:]]');
    w (3,"'[[Wikipedia:',']]',''","WP:",'','[[Wikipedia:]]');

    w (0,br,'','');

    w (3,"'{{Personendaten\\n|NAME=" + tagEscape(personlemma) + "\\n|ALTERNATIVNAMEN=\\n|KURZBESCHREIBUNG=\\n|GEBURTSDATUM=\\n|GEBURTSORT=\\n|STERBEDATUM=\\n|STERBEORT=\\n}}\\n','',''",'PD','','{{Personendaten...');
    w (3,"'* {{PND|','}}\\n',''","PND",'','PND (individualisiert)');
    w (3,"'* {{PND|','|Keine Treffer im DNB-OPAC, " + refDatumlang + "}}\\n',''","PNDx",'','PND (individualisiert, ohne Treffer)');
    w (3,"'* {{PNDfehlt|" + refDatumlang + "|','}}\\n',''","PNDF",'','PNDfehlt (nicht individualisiert, aber mit Treffern)');
    w (3,"'* {{ADB|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n','',''","ADB",'','{{ADB...');
    w (3,"'* {{NDB|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n','',''","NDB",'','{{NDB...');
    w (3,"'* {{BBKL|x/name_x_y|autor=|artikel=" + tagEscape(personlemma) + "|band=|spalten=–}}\\n<!-- bitte vollständig ausfüllen -->\\n','',''","BBKL",'','{{BBKL...');
    w (3,"'* {{IMDb Name|','|" + tagEscape(wgTitle) + "}}\\n',''","IMDb-n",'','{{IMDb Name...');
    w (3,"'* {{IMDb Titel|tt','|" + tagEscape(wgTitle) + "}}\\n',''","IMDb-t",'','{{IMDb Titel...');
    w (3,"'* {{IMDb Firma|','|" + tagEscape(wgTitle) + "}}\\n',''","IMDb-f",'','{{IMDb Firma...');
    w (3,"'* {{OFDb|','|" + tagEscape(wgTitle) + "}}\\n',''","OFDb",'','{{OFDb...');

    w (0,br,'','');

    w (2,"'','#REDIRECT [[]]',1","Redir",'','#REDIRECT [[]]');
    w (2,"'+Überarbeiten','{{Überarbeiten}}\\n',3","Überarb",'','{{Überarbeiten}}');
    w (2,"'+Quelle','{{Quelle}}\\n',3","Quelle?",'','{{Quelle}}');
    w (2,"'+Lückenhaft','{{Lückenhaft|Es fehlen...}}\\n',3","Lücke","","Lückenhaft");
    // w (2,"'+Rechtshinweis','{{Rechtshinweis}}',2","Recht");
    // w (2,"'+Gesundheitshinweis','{{Gesundheitshinweis}}',2","Gesundh.");
 }

 function qbMarkupTools() {
    if (isBild) return;
    if (isDatei) return;
    if (!isEdit) return;

    w (0,trenner,'Markup-Tools','');

    w (4,"addPersData();","AutoPD",'','Automatische Kategorien und Personendaten'); // extern
    w (4,"wpTextReplace();","Replace",'','Suchen und Ersetzen');
    if (rechtschreibpruefung && !AutorunRP && !isSpecial)
        w (4,"spellcheck();","SpellChk",'','Rechtschreibprüfung');
    w (4,"ReplaceQuoteSigns();","FixQuote",'','Anführungszeichen korrigieren');  // extern
    w (4,"convertEntities();","FixEnt",'','HTML-Entities entfernen');  // extern
    w (4,"fixDash();","FixDash",'','Striche auf Halbgeviert vereinheitlichen');  // extern
    w (4,"ReplaceMarkup();","FixMark",'','Verschiedene Markup-Korrekturen');  // extern
    w (4,"undate();","UnDate",'','Daten entlinken');
 }

 function qbImageTemps() {
    if ((!isBild) && (!isDatei)) return;
    if (!isEdit) return;

    w (0,trenner,'Bildbausteine','');
    w (4,"nowcomm();","NowCommons",'','NowCommons-Baustein setzen');

    w (2,"'+DÜP','{{Dateiüberprüfung|Quelle|Urheber|Lizenz|Freigabe|Recht am eigenen Bild|Gezeigtes Werk|Besonderer Fall}}\\n\\n',3","DÜP",'','Dateiüberprüfung (bitte überflüssige Parameter entfernen)');
 }

 function qbUsertalkTemps() {
    if (!isUserpage) return;
    if (!isTalk) return;
    if (!isEdit) return;

    w (0,trenner,'Benutzerbausteine','');

    // w (3,"'{{subst:Benutzer:PDD/Greetings/Hallo|1=" + tagEscape(user) + "}} " + tagEscape(usersignature) + "\\n','','','Willkommen!'","Hallo",'','Baustein PDD:Hallo');
    w (3,"'{{subst:Benutzer:PDD/Greetings/HalloG|1=" + tagEscape(user) + "|2=" + tagEscape(usersignature) + "}}\\n','','','Willkommen!'","Hallo",'','Baustein PDD:HalloG');
    w (3,"'{{subst:Begrüßungsbox|1=" + tagEscape(user) + "|2=a}}\\n','','','Willkommen!'","HalloC",'','Baustein Begrüßungsbox');
    w (3,"'{{subst:Benutzer:PDD/Greetings/Danke}} " + tagEscape(usersignature) + "\\n','',''",'Danke','','Baustein PDD:Danke');
    w (3,"'{{subst:Benutzer:Complex/Greetings/TestMitStopschild}} " + tagEscape(usersignature) + "\\n','',''",'Stop','','Baustein Complex:TestMitStopschild'); // Abwandlung von [[Benutzer:LKD/V/VHinweis]]
    // w (3,"'{{subst:Benutzer:Blah/Vorlage:Vandale}}\\n','',''",'Vand','','Baustein Blah:Vandale');
    // w (3,"'{{subst:Benutzer:Tobi B./Vorlage:Löschvandale}} " + tagEscape(usersignature) + "\\n','',''",'LöschV','','Baustein Tobi B.:Löschvandale');
    w (3,"'{{subst:Benutzer:PDD/Greetings/KinderKinder!}}\\n','',''",'Kind','','Baustein PDD:Kind');
    w (3,"'{{subst:Benutzer:Chaddy/Vorlage:Signaturhinweis}} " + tagEscape(usersignature) + "\\n','',''",'Sign!','','Signieren nicht vergessen');
    w (3,"'{{subst:Vorschau}}\\n','',''",'Vorschau','','{{subst:Vorschau}}');
    // w (3,"'{{subst:Benutzer:PDD/Greetings/Linkspam}} " + tagEscape(usersignature) + "\\n','',''",'Linkspam','','Baustein PDD:Linkspam');
    w (3,"'{{subst:Benutzer:LKD/V/LHinweis}} " + tagEscape(usersignature) + "\\n','',''",'Linkspam','','Baustein LKD:Linkspam');
    // w (3,"'{{subst:Benutzer:Complex/Greetings/WP-WEB}} " + tagEscape(usersignature) + "\\n','',''",'LinkspamC','','Baustein Complex:WP-WEB'); // Abwandlung von [[Benutzer:LKD/V/LHinweis]]
    if (adminflag)
       w (3,"'{{subst:Benutzer:LKD/V/ALoesch}} " + tagEscape(usersignature) + "\\n','',''",'SLA-ex','','Autorenbenachrichtigung nach Schnelllöschung');
 }

 function qbAdminTools() {
    if (!adminflag) return;

    if (isUserMainpage && isEdit) {
        w (0,trenner,'','');
        w (2,"'+Gesperrter Benutzer','{{Gesperrter Benutzer}}',1","BSp",'','Benutzer gesperrt');
        w (2,"'+Offener Proxy','{{Offener Proxy}}',2","OP",'','Offener Proxy');
        w (2,"'+Gesperrte IP','{{IP-Sperrung}}',2","IP-S",'','IP gesperrt');
    }

    if (isRestore) {
        w (0,trenner,'','');
        w (4,"revAllDeletedVersions();","Auswahl umkehren?","","Versionsauswahl umkehren?");
    }
 }

 function qbAutoTemps() {
    if (isSpecial && !isContrib) return;

    w (0,trenner,'Auto-Bausteine','');

    if (( isGeneric)  && (!isSpecial))  w (4,"eintragen(1);","QS+","","+Qualitätssicherung");
    if (( isGeneric)  && (!isSpecial))  w (4,"eintragen(5);","URV+","","+URV");
    if (( isGeneric)  && (!isSpecial))  w (4,"eintragen(2);","LA+","","+Löschantrag");
    if (( isCategory) && (!isSpecial))  w (4,"eintragen(7);","KatLA+","","+Löschantrag Kategorie");
    if (( isTemplate) && (!isSpecial))  w (4,"eintragen(8);","VorLA+","","+Löschantrag Vorlage");
    if (                 (!isSpecial))  w (4,"eintragen(3);","SLA+","","+Schnelllöschantrag");

    if (hinweis) {
       // if (( isGeneric)  && (!isSpecial))  w (4,"hinweis(1);","PH+","","+Portalhinweis");
       // if (( isGeneric)  && (!isSpecial))  w (4,"hinweis(2);","RH+","","+Redaktionshinweis");
    }
    if (wgPageName == "Wikipedia:Spielwiese") w (4,"eintragen(10);","SPW-Reset","","Spielwiese zurücksetzen");

    if (( isContrib)  || ( isUserpage)) {
        w (4,"eintragen(6);","VANDAL+","","+Vandalismusmeldung (Benutzer)");
    }
    if ((  isArticle) || ( isCategory)) {
        w (4,"eintragen(9);","VANDAL+","","+Vandalismusmeldung (Artikel)");
    }
 }


 /*
  * hier wird der Quickbar in die Seite geschrieben
  * (ab hier bitte nichts ändern)
  */

 buildQuickbar();
 document.write(Quickbar);

 if (typeof(version) == 'undefined') var version = "?";
 if (!isEdit || zeigeversion || isPHP) {
  document.write(
      '<div align=right>',

    (zeigeversion) ?
      ('<a href="#" onclick="amIuptodate()" title="Versionscheck">' + (adminflag ? 'A/' : '') + version + '</a>  ')
         : '',

    (!isEdit) ?
      ('<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()" title="Seite alle ' + (timeout/1000) + ' s neu laden?"></input>  ')
         : ' ',

      '<a href="/w/index.php?title=Spezial%3APrefixindex&from=',user,
          '&namespace=2" target="', qbtarget, '" title="Meine Seiten im Benutzernamensraum">',
          (user.split(' ')[0].length < 10) ? user.split(' ')[0] : 'MyPages',
      '</a>',

    (userbrowser != "Standard") ?
      ('  <a href="#" onclick="badBrowser()" title="Browser nicht unterstützt">'
              + userbrowser.charAt(0) + userbrowser.charAt(1) + '!</a>')
         : '',

      '</div>');
 }
 document.write('<div style="font-size:',qbfontsize,'%;">',xxx,'</div></div>');

 if (scrpt > '') {
    document.write('<script> function _doopt (was) { switch (was) {', scrpt, '}}<\/script>');
    scrpt='';
 }

 //
 // ab hier functions
 //

 function w (was,lurl,linktext,targt,title) {
  if (!title) title=linktext;
  if (!zeigehilfe) title='';
  if (!dropdown) {
   switch (was) {
    case 0 : xxx=xxx+lurl;break;
    case 1 : xxx=xxx+'<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a>  ';break;
    case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a>  ';break;
    case 3 : xxx=xxx+'<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a>  ';break;
    case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a>  ';break;
   }
  } //if
  else //todo: Hilfe bei Dropdowns. Benutzt die überhaupt jemand????
  {
   var ltext='__________'.substr(1,ind)+linktext;
   switch (was) {
    case 0 : if (lurl==br) { xxx = xxx+'<option>'+linktext+'</option>';ind=2; }
             else
             if (lurl==trenner) newdropdown(linktext);
             break;
    case 1 : xxx=xxx+'<option value="1|'+lurl+'">'+ltext+'</option>';break;
    case 2 : xxx=xxx+'<option value="2|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break;
    case 3 : xxx=xxx+'<option value="3|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break;
    case 4 : xxx=xxx+'<option value="4|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':'+lurl+';break;';scrptn++;break;
   } //switch
  } //else
 } //w

 function dodropdown (aktion) {
  var zutun = aktion.split('|');
  var was = Number(zutun[0]);
  var wie = zutun[1];

  switch (was) {
   case 1 : window.open (wie); break;
   case 2 : _doopt (Number(wie)); break;
   case 3 : _doopt (Number(wie)); break;
   case 4 : _doopt (Number(wie)); break;
  } //switch
 } //dodropdown

 function newdropdown (oname) {
   closedropdown();
   xxx = xxx+'<select size=1 onchange="dodropdown(this.value);" style="width:135px;font-size:9px;">';
   if (oname > '') { xxx = xxx+'<option>'+oname+'</option>'; }
   indropdown = true;
   ind=2;
 }

 function closedropdown () {
  if (indropdown) xxx=xxx+'</select>';
  indropdown = false;
 }

 function newtext (subj,text,wo)
  {  //wo=1 : Text austauschen
     //wo=2 : Text am Ende anhängen
     //wo=3 : Text vorne Einfügen

   if (subj > "") {
      if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
      document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
   }

   switch (wo) {
       case 1 : document.editform.wpTextbox1.value=text+'\n'; break;
       case 2 : document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+'\n'+text;break;
       case 3 : document.editform.wpTextbox1.value=text+'\n'+document.editform.wpTextbox1.value;break;
   }
   document.editform.wpTextbox1.focus();
  }

 function insertTagsWrapper(tagOpen, tagClose, sampleText, subj) {
   if (subj > "") {
      if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
      document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
   }
   insertTags(untagEscape(tagOpen), untagEscape(tagClose), untagEscape(sampleText))
 }

 // Krimskrams
 function isEven(myNumber) {
    return (myNumber % 2 == 0);
 }
 function isOdd(myNumber) {
    return (! isEven(myNumber));
 }
 function LeadingZero(x) {
    return (x >= 10 || x < 0 ? "" : "0") + x;
 }
 function hasRight(right) {
   var specialrights = false;
   if (typeof wgUserGroups != 'object') return(specialrights);
   if (typeof wgUserGroups[0] != 'string') return(specialrights); 
   for (i=0;i<wgUserGroups.length;i++) {
       if (wgUserGroups[i] == right) specialrights = true;
   }
   return(specialrights); 
 }
 function quickEscape(text, esctype)
 {
   // esctype = 1 -> normal umlaut escapes
   // esctype = 2 -> wikisort umlaut escapes

   text = text.replace(/ß/g, "ss");

   text = text.replace(/Á/g,"A").replace(/á/g,"a")
              .replace(/À/g,"A").replace(/à/g,"a")
              .replace(/Ă/g,"A").replace(/ă/g,"a")
              .replace(/Â/g,"A").replace(/â/g,"a")
              .replace(/Å/g,"A").replace(/å/g,"a")
              .replace(/Ā/g,"A").replace(/ā/g,"a")
              .replace(/Ć/g,"C").replace(/ć/g,"c")
              .replace(/Č/g,"C").replace(/č/g,"c")
              .replace(/Ç/g,"C").replace(/ç/g,"c")
              .replace(/Đ/g,"Dj").replace(/đ/g,"dj")
              .replace(/É/g,"E").replace(/é/g,"e")
              .replace(/È/g,"e").replace(/è/g,"e")
              .replace(/Ë/g,"e").replace(/ë/g,"e")
              .replace(/Ě/g,"e").replace(/ě/g,"e")
              .replace(/Ğ/g,"G").replace(/ğ/g,"g")
              .replace(/Í/g,"I").replace(/í/g,"i")
              .replace(/Ì/g,"I").replace(/ì/g,"i")
              .replace(/Ï/g,"I").replace(/ï/g,"i")
              .replace(/İ/g,"I").replace(/ı/g,"i")
              .replace(/Î/g,"I").replace(/î/g,"i")
              .replace(/Ł/g,"L").replace(/ł/g,"l")
              .replace(/Ļ/g,"L").replace(/ļ/g,"l")
              .replace(/Ń/g,"N").replace(/ń/g,"n")
              .replace(/Ñ/g,"N").replace(/ñ/g,"n")
              .replace(/Ň/g,"N").replace(/ň/g,"n")
              .replace(/Ņ/g,"N").replace(/ņ/g,"n")
              .replace(/Ó/g,"O").replace(/ó/g,"o")
              .replace(/Ò/g,"O").replace(/ò/g,"o")
              .replace(/Ô/g,"O").replace(/ô/g,"o")
              .replace(/Ø/g,"O").replace(/ø/g,"o")
              .replace(/Õ/g,"O").replace(/õ/g,"o")
              .replace(/Ő/g,"O").replace(/ő/g,"o")
              .replace(/Ř/g,"R").replace(/ř/g,"r")
              .replace(/Ś/g,"S").replace(/ś/g,"s")
              .replace(/Š/g,"S").replace(/š/g,"s")
              .replace(/Ş/g,"S").replace(/ş/g,"s")
              .replace(/Ţ/g,"T").replace(/ţ/g,"t")
              .replace(/Ú/g,"U").replace(/ú/g,"u")
              .replace(/Ù/g,"U").replace(/ù/g,"u")
              .replace(/Ű/g,"U").replace(/ű/g,"u")
              .replace(/Ů/g,"U").replace(/ů/g,"u")
              .replace(/Ý/g,"Y").replace(/ý/g,"y")
              .replace(/Ÿ/g,"Y").replace(/ÿ/g,"y")
              .replace(/Ź/g,"Z").replace(/ź/g,"z")
              .replace(/Ž/g,"Z").replace(/ž/g,"z")
              .replace(/Ż/g,"Z").replace(/ż/g,"z")
              .replace(/Æ/g,"Ae").replace(/æ/g,"ae")
              .replace(/Œ/g,"Oe").replace(/œ/g,"oe");

   if (esctype == 1) {
      text = text.replace(/Ä/g,"Ae").replace(/ä/g,"ae")
                 .replace(/Ö/g,"Oe").replace(/ö/g,"oe")
                 .replace(/Ü/g,"Ue").replace(/ü/g,"ue")
                 .replace(/Ə/g,"Ae").replace(/ə/g,"ae");
   } else {
      text = text.replace(/Ä/g,"A").replace(/ä/g,"a")
                 .replace(/Ö/g,"O").replace(/ö/g,"o")
                 .replace(/Ü/g,"U").replace(/ü/g,"u")
                 .replace(/Ə/g,"A").replace(/ə/g,"a");
   }
   return(text);
 }
 function tagEscape(text)
 {
   text = text.replace(/'/g, "%27");
   text = text.replace(/"/g, "%22");
   return(text);
 }
 function untagEscape(text)
 {
   text = text.replace(/%27/g, "'");
   text = text.replace(/%22/g, "\"");
   return(text);
 }
 function spaceEscape(text)
 {
   text = text.replace(/ /g, "+");
   text = text.replace(/_/g, "+");
   return(text);
 }

 // Funktion: importPage()
 // zum Einbinden der Module
 function importPage(seite, lang) { // all languages support
    name='User:'; // international name, works in all wikipedias
    if(!lang) lang = wgContentLanguage;

    // new version
    seite = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=' + name + seite +
           '&action=raw&ctype=text/javascript&smaxage=0';

    var head = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', seite);
    js.setAttribute('charset', 'utf-8');
    head.appendChild(js);

    return false;
    // old version
    // document.write('<SCRIPT TYPE="text/javascript" SRC="http://' + lang
    // + '.wikipedia.org/w/index.php?title=' + name + seite
    // + '&action=raw&ctype=text/javascript&smaxage=0"><\/SCRIPT>');
 }

 /*
  * 3xImport von [[Benutzer:Revvar]]
  * aus [[Benutzer:Revvar/wikibits.js]] und [[Benutzer:Revvar/monobook.js]]
  */

 /**
 Imports a user javascript page from any wikipedia project into the actual document.

 @version 0.1
 @date 2007/03/22
 @author: based on function importPage from [[de:User:PDD]]s monobook.js, extended by [[de:User:Revvar]]
 @param page Name of the user page without the "user:" prefix and the ".js" appendix
 @param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
 @return "true" on success, "false" otherwise
 */

 function importJavascriptL(page, lang)
 {
    try {
        /* check the parameters and set defaults */
        if(!page) throw("importJavascriptL: Missing parameter page.");
        if(!lang) lang = wgContentLanguage;

        /* create import url */
        var import_url = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=User:' + page +
           '.js&action=raw&ctype=text/javascript&smaxage=0';

        /* import page */
        var Head = document.getElementsByTagName('head').item(0);
        var Script = document.createElement('script');
        Script.setAttribute('type', 'text/javascript');
        Script.setAttribute('src', import_url);
        Script.setAttribute('charset', 'utf-8');
        Head.appendChild(Script);

        return true;
    } catch(e) {
        alert(e.message);
        return false;
    }
 }

 /**
 Imports a user css page from any wikipedia project into the actual document.

 @version 0.1.1
 @date 2007/03/26
 @author: based on function importPage from [[de:User:PDD]]s monobook.js, rewritten by [[de:User:Revvar]]
 @param page Name of the user page without the "user:" prefix and the ".css" appendix
 @param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
 @return "true" on success, "false" otherwise
 */

 function importCSSL(page, lang)
 {
    try {
        /* check the parameters and set defaults */
        if(!page) throw("importCSSL: Missing parameter page.");
        if(!lang) lang = wgContentLanguage;

        /* create import url */
        var import_url = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=User:' + page +
           '.css&action=raw&ctype=text/css&smaxage=0';

        /* import page */
        var Head = document.getElementsByTagName('head').item(0);
        var CSS = document.createElement('style');
        CSS.setAttribute('type', 'text/css');
        CSS.setAttribute('charset', 'utf-8');
        CSS.appendChild(document.createTextNode("@import url(" + import_url + ");"));
        Head.appendChild(CSS);

        return true;
    } catch(e) {
        alert(e.message);
        return false;
    }
 }

 /**
 Asynchron import of a Javascript file from the toolserver.

 @version 0.1
 @date 2007/04/24
 @author based on function importPage from [[de:User:PDD]]s monobook.js, rewritten by [[de:User:Revvar]]
 @param path Path to the toolserver script without the ".js" appendix
 */

 function import_JS_from_TS(path)
 {
    try {
        /* check the parameter */
        if(!path) throw("import_JS_from_TS: Missing parameter path.");

        /* create import url */
        var import_url = 'http://toolserver.org/' + path + '.js';

        /* import */
        setTimeout(function(e) {
          var Head = document.getElementsByTagName('head').item(0);
          var Script = document.createElement('script');
          Script.setAttribute('type', 'text/javascript');
          Script.setAttribute('src', import_url);
          Script.setAttribute('charset', 'utf-8');
          Head.appendChild(Script);
        }, 1000);

    } catch(e) {
        alert(e.message);
        return;
    }
 }


 // ***** FOOT-Block *****
 //  <- nicht löschen!!!

// ausgelagerte obligatorische Funktionen
importJavascriptL('PDD/supportFuncs','de'); // Benutzer:PDD/supportFuncs.js
importJavascriptL('PDD/helperFunctions','de'); // Benutzer:PDD/helperFunctions.js
importJavascriptL('PDD/eintragen','de'); // Benutzer:PDD/eintragen.js
importJavascriptL('PDD/alertOnChanges','de'); // Benutzer:PDD/alertOnChanges.js

// obligatorisch nur für editpages
if (isEdit) {
   importJavascriptL('PDD/wpTextReplace','de'); // Benutzer:PDD/wpTextReplace.js
   importJavascriptL('BLueFiSH.as/JS/replaceQuoteSigns','de'); // Benutzer:BLueFiSH.as/JS/replaceQuoteSigns.js
   importJavascriptL('BLueFiSH.as/JS/markup','de'); // Benutzer:BLueFiSH.as/JS/markup.js
   importJavascriptL('PDD/convertEntities','de'); // Benutzer:PDD/convertEntities.js
   importJavascriptL('Euku/persDaten','de'); // Benutzer:Euku/persDaten.js
}

// ausgelagerte optionale Funktionen (Autoload)

// revert/loglink-Funktionen: möglichst früh einbinden
// Revert godmode-light
if (godmodelight && !adminflag && !editorflag && !isEdit && !(isSpecial && !isContrib)) {
    importJavascriptL('PDD/godmode-light','de'); // Benutzer:PDD/godmode-light.js
    // importJavascriptL('Olliminatore/godmode-light','en');  // en:User:Olliminatore/godmode-light.js
}
// Revert addEditAndRevertLinks
if (!(!aerhistory && isHistory) && !isEdit) {
   if (editlinkoldversion || revertwithreason)
      importJavascriptL('PDD/addEditAndRevertLinks','de'); // Benutzer:PDD/addEditAndRevertLinks.js
}
// LogLinks addLogsLink
if (addlogslink && !isSpecial) importJavascriptL('PDD/addLogsLink','de'); // Benutzer:PDD/addLogsLink.js

// jetzt alles andere, was optional ist
if (!isSpecial)
   if (addeditintro || addpurge) importJavascriptL('PDD/modifyCA','de'); // Benutzer:PDD/modifyCA.js
// changeBeschriftungen *nach* modifyCA.js (!)
if (beschriftungen) importJavascriptL('PDD/changeBeschriftungen','de'); // Benutzer:PDD/changeBeschriftungen.js
if (sperrstatus) importJavascriptL('Stefan/Sperrstatus','de'); // Benutzer:Stefan/Sperrstatus.js
if (rechtschreibpruefung && !isSpecial) {
   DontAutorunRP = !AutorunRP;
   importPage('APPER/RP/js'); // Benutzer:APPER/RP/js
}
if (ippvandalmark && !isEdit) importPage('APPER/IP-Patrol/js'); // Benutzer:APPER/IP-Patrol/js
if (showredundantlinks && !isSpecial)
   importJavascriptL('PDD/showRedundantLinks','de'); // Benutzer:PDD/showRedundantLinks.js
// Signierfunktionen
if (isEdit && !isArticle) {
   if (signing) importJavascriptL('Olliminatore/signing','de'); // Benutzer:Olliminatore/signing.js
   if (unsigning) importJavascriptL('Olliminatore/unsigned','de');  // Benutzer:Olliminatore/unsigned.js
}

// extended search & replace feature
if (isEdit && searchbox) importJavascriptL('Zocky/SearchBox','en');  // en:User:Zocky/SearchBox.js

// Portal- und Redaktionshinweis
if (hinweis) importJavascriptL('DerHexer/hinweise','de'); // Benutzer:DerHexer/hinweise.js

// Kackbalken-Script
if (irrenhaus) importJavascriptL('Revvar/irrenhaus','de');  // Benutzer:Revvar/irrenhaus.js

// Syntax highlighter
if (js_highlight) importJavascriptL('Olliminatore/shCore','en');  // en:User:Olliminatore/shCore.js

// openstreetmap: OpenStreetMap bei Georeferenzen
if (openstreetmap && !isSpecial)
   importJavascriptL('Magnus_Manske/osm','de'); // Benutzer:Magnus Manske/osm.js

// coordinates: Generierung der Koordinaten-Vorlage
if (coordinates && isEdit) importJavascriptL('Dschwen/coordinates','de');  // Benutzer:Dschwen/coordinates.js

// showreftoggle
if (reftoggle && !isSpecial)
   importJavascriptL('Malte_Schierholz/reftoggle','de');  // Benutzer:Malte Schierholz/reftoggle.js

// setGallery
if (newgallery && !isSpecial)
   importJavascriptL('Olliminatore/newgallery','de'); // Benutzer:Olliminatore/newgallery.js

// quickedit
if (qeEnabled) importJavascriptL('ASM/quickedit','de'); // Benutzer:ASM/quickedit.js

// RIPE tooltips
if (ripe && !isEdit) importJavascriptL('PDD/tooltips','de'); // Benutzer:PDD/tooltips.js

// dellinknowcommons
if (dellinknowcommons && adminflag && (isBild || isDatei))
   importJavascriptL('PDD/dellink-nc','de'); // Benutzer:PDD/dellink-nc.js

// loescheimer
if (loescheimer && adminflag)
   importJavascriptL('PDD/modifyLKs','de'); // Benutzer:PDD/modifyLKs.js

// Lupin's popups
if (lupinpopups) importJavascriptL('Lupin/popups','en');   // en:User:Lupin/popups.js

// Codeispoetrys DupeCheck
if (imgdupecheck && (isBild || isDatei))
   importJavascriptL('PDD/checkDupes','de');   // Benutzer:PDD/checkDupes.js

// Markierskripte ganz zum Schluss einbinden, da sie innerHTML verändern
if (markerledigt) importJavascriptL('Euku/markErledigt','de');   // Benutzer:Euku/markErledigt.js

if (!(!mawatchlist && isWatchlist) && !(!macontribs && isContrib)) {
   if (markadmins)
      importJavascriptL('PDD/markAdmins','de'); // Benutzer:PDD/markAdmins.js
}
if (!(!muwatchlist && isWatchlist) && !(!mucontribs && isContrib)) {
   if (markutf8)
      importJavascriptL('PDD/markUTF8','de'); // Benutzer:PDD/markUTF8.js
}
//============================================================
// 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 
//   Angepasst an RL und mw.toolbar von [[User:✓]] April 2011
//============================================================
// de: Die Reihenfolge und Anzahl der Buttons ist über die (alphabetische) Variable customEditButtons wählbar.
// <nowiki>
//

(function(){

	// Return early if not on edit page
	var action = mw.config.get( 'wgAction' );
	if( action !== 'edit' && action !== 'submit' ) {
		return;
	}

	// By registering our dependency after document.ready, we make sure
	// that the toolbar is fully loaded before we manipulate it
	mw.loader.using( [ 'mediawiki.toolbar', 'user' ], function() { $( function() {

		// Check that the toolbar is present on the page
		if( !$( '#toolbar' ).length ) {
			return;
		}

		// Define available buttons
		var sig = window.usersignature || '--\~\~\~\~';
		var commonsUrl = "//upload.wikimedia.org/wikipedia/commons/";

		var buttons = {
			'A'  : [
				commonsUrl + 'e/e9/Button_headline2.png',
				'Sekundäre Überschrift',
				'\n=== ',
				' ===',
				'Sekundäre Überschrift'
			],
			'A3' : [
				commonsUrl + '/3/3a/Button_headline3.png',
				'Untergeordnete Überschrift',
				'\n==== ',
				' ====',
				'Untergeordnete Überschrift'
			],
			'B'  : [
				commonsUrl + '1/13/Button_enter.png',
				'Zeilenumbruch',
				'<br />',
				'',
				''
			],
			'B1' : [
				commonsUrl + '6/62/Button_desambig.png',
				'Begriffsklärungseite',
				'{{Begriffsklärung}}',
				'',
				''
			],
			'B2' : [
				commonsUrl + '5/5e/Button_disambig_small.png',
				'Dieser Artikel erläutert…',
				'{{Dieser Artikel|',
				'}}',
				'erläutert den Buchstaben X, zu anderen Bedeutungen siehe [[X (Begriffsklärung)]].'
			],
			'B3' : [
				commonsUrl + '5/5e/Button_disambig_small.png',
				'Begriffsklärungshinweis',
				'{{Begriffsklärungshinweis}}',
				'',
				''
			],
			'C'  : [
				commonsUrl + '5/5f/Button_center.png',
				'Zentriert',
				'<div style="text-align: center;">\n',
				'\n<\/div>',
				'Zentriert'
			],
			'CF' : [
				commonsUrl + '3/37/Btn_toolbar_commentaire.png',
				'Chemische Formel',
				':<math>\u005Cmathrm{',
				'}</math>',
				''
			],
			'CO' : [
				commonsUrl + '6/6c/Button_commons.png',
				'Commons',
				'{{Commons|Category:',
				'}}',
				'Seitenname'
			],
			'D'  : [
				commonsUrl + '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' : [
				commonsUrl + '4/4e/Button_romain.png',
				'SORTIERUNG',
				'{{SORTIERUNG:',
				'}}',
				'Sortierbegriff'
			],
			'DO' : [
				commonsUrl + 'e/e9/Button_done.png',
				'Erledigt (kurz)',
				'{{Erl.}}',
				'',
				''
			],
			'ER' : [
				commonsUrl + '9/9d/Button_fait.png',
				'Erledigt (lang)',
				'{{Erledigt|1=' + sig,
				'}}',
				''
			],
			'E' : [
				commonsUrl + 'c/c6/Blending_blue_button_background.png',
				'Spacer (no function)', // War Table Generator
				'',
				'',
				''
			],
			'F'  : [
				commonsUrl + '8/8f/Button_poeme.png',
				'Farbiger Text',
				'<span style="color: color">',
				'<\/span>',
				'Farbig'
			],
			'FS' : [
				commonsUrl + '1/1b/Button_miss_signature.png',
				'Fehlende Signatur',
				'\{\{subst\:Unsigned|',
				'}}',
				'BENUTZER'
			],
			'G'  : [
				commonsUrl + '9/9e/Btn_toolbar_gallery.png',
				'Bildergalerie',
				'\n<gallery>\nDatei:M63.jpg|[[M63]]\nDatei:Mona Lisa.jpg|[[Mona Lisa]]\nDatei:Truite arc-en-ciel.jpg|Eine [[Forelle ]]\n<\/gallery>',
				'',
				''
			],
			'H'  : [
				commonsUrl + '7/74/Button_comment.png',
				'Versteckter Kommentar',
				'<!--',
				'-->',
				'Versteckt'
			],
			'I'  : [
				commonsUrl + '4/41/Button_hr_halfwidth.png',
				'Gedankenstrich',
				'–',
				'',
				''
			],
			'I1' : [
				commonsUrl + '6/6a/Button_sup_letter.png',
				'Hochgestellter Text (superscript)',
				'<sup>',
				'<\/sup>',
				'Hochgestellt'
			],
			'I2' : [
				commonsUrl + 'a/aa/Button_sub_letter.png',
				'Tiefgestellter Text (subscript)',
				'<sub>',
				'<\/sub>',
				'Tiefgestellt'
			],
			'J1' : [
				commonsUrl + '5/58/Button_small.png',
				'Kleingeschriebener Text (small)',
				'<small>',
				'<\/small>',
				'Klein'
			],
			'J2' : [
				commonsUrl + '5/56/Button_big.png',
				'Größerer Text (big)',
				'<big>',
				'<\/big>',
				'Groß'
			],
			'K'  : [
				commonsUrl + 'b/b4/Button_category03.png',
				'Kategorie',
				'[[Kategorie:',
				']]',
				'Name der Kategorie'
			],
			'KR' : [
				commonsUrl + 'b/b1/Button_dagger.png',
				'Kreuz',
				'†',
				'',
				''
			],
			'L'  : [
				commonsUrl + '8/8e/Button_shifting.png',
				'Setze Tab(s)',
				':',
				'',
				':'
			],
			'M'  : [
				commonsUrl + 'f/fd/Button_blockquote.png',
				'Markiert ein Zitat mit Absatz',
				'<blockquote style="border: 1px solid blue; padding: 2em;">\n',
				'\n<\/blockquote>',
				'Text'
			],
			'N'  : [
				commonsUrl + '4/4b/Button_nbsp.png',
				'Geschütztes Leerzeichen (nonbreaking space)',
				'&nbsp;',
				'',
				''
			],
			'NT' : [
				commonsUrl + 'b/bf/Button_thinsp.png',
				'Schmales geschütztes Leerzeichen',
				'&thinsp;',
				'',
				''
			],
			'O'  : [
				commonsUrl + '2/23/Button_code.png',
				'Code einfügen',
				'<code>',
				'<\/code>',
				'Code'
			],
			'P'  : [
				commonsUrl + '3/3c/Button_pre.png',
				'Vorformatierter Text',
				'<pre>',
				'<\/pre>',
				'Präformatierter Text'
			],
			'P1' : [
				commonsUrl + '9/93/Button_sub_link.png',
				'Link zu einem Seiten-Abschnitt',
				'[[Seite#',
				']]',
				'Abschnitt'
			],
			'PF' : [
				commonsUrl + 'f/ff/Button_arrow_right.png',
				'Pfeil nach rechts',
				'\u2192',
				'',
				''
			],
			'PD' : [
				commonsUrl + 'e/ee/Button_vote_biblio.png',
				'Personendaten',
				'{{Personendaten\n|NAME=\n|ALTERNATIVNAMEN=',
				'\n|KURZBESCHREIBUNG=\n|GEBURTSDATUM=\n|GEBURTSORT=\n|STERBEDATUM=\n|STERBEORT=\n}}',
				''
			],
			'PO' : [
				commonsUrl + 'c/c7/Button_polytonique.png',
				'Unicode-Sonderzeichen der altgriechischen Schrift',
				'{{Polytonisch|',
				'}}',
				'Text'
			],
			'Q'  : [
				commonsUrl + 'd/d3/Button_definition_list.png',
				'Definitionsliste',
				'\n; ',
				' : ',
				'Text'
			],
			'Q1' : [
				commonsUrl + '0/05/Button_Anf%C3%BChrung.png',
				'Anführungszeichen',
				'„',
				'“',
				'Text'
			],
			'Q2' : [
				commonsUrl + '2/26/Button_latinas.png',
				'Latinas',
				'«',
				'»',
				'Text'
			],
			'Q3' : [
				commonsUrl + 'b/bc/Button_guillemet.png',
				'Guillemets',
				'»',
				'«',
				'Text'
			],
			'R'  : [
				commonsUrl + '7/79/Button_reflink.png',
				'Markiere eine Referenz',
				'<ref>',
				'<\/ref>',
				'Bezugsangabe'
			],
			'R1' : [
				commonsUrl + 'c/c4/Button_ref.png',
				'Referenz mit Name',
				'<ref name="">',
				'<\/ref>',
				'Bezugsangabe'
			],
			'R2' : [
				commonsUrl + 'f/fe/Button_refs.png',
				'Wiederholungs-Referenz',
				'<ref name="',
				'"/>',
				'Referenzname'
			],
			'R3' : [
				commonsUrl + '9/9a/Button_references.png',
				'Referenz-Footer',
				'\n== Einzelnachweise ==\n<references />\n',
				'',
				''
			],
			'RD' : [
				commonsUrl + '7/70/Button_fusion.png',
				'Redundanz',
				'{{ers:Redundanz|',
				'}}',
				'Artikel1|Artikel2|Artikel3…'
			], 
			'S'  : [
				commonsUrl + 'c/c9/Button_strike.png',
				'Durchgestrichener Text',
				'<s>',
				'<\/s>',
				'Durchgestrichen'
			],
			'SA' : [
				commonsUrl + 'b/bb/Seealso.png',
				'Siehe auch',
				'\n== Siehe auch ==\n',
				'',
				''
			],
			'SC' : [
				commonsUrl + '0/02/Button_S_yellow.png',
				'SourceCode hervorheben',
				'<source lang="javascript">',
				'<\/source>',
				'Quelltext'
			], 
			'SM' : [
				commonsUrl + '7/74/Button_oeil.png',
				'Smiley',
				'<code style="background:#FE3">',
				'</code>',
				':D'
			],
			'ST' : [
				commonsUrl + '7/72/Button_span_2.png',
				'span-tag mit CSS-Angabe',
				'<span style="">',
				'<\/span>',
				'Markierter Inhalt'
			],
			'T'  : [
				commonsUrl + 'e/eb/Button_plantilla.png',
				'Vorlage',
				'{{',
				'}}',
				'Vorlagenname'
			],
			'TL' : [
				commonsUrl + 'e/eb/Button_templatelink.png',
				'Vorlagenlink',
				'{{[[Vorlage:',
				'|]]}}',
				'Vorlagenname'
			],
			'TT' : [
				commonsUrl + '3/30/Tt_icon.png',
				'Schreibmaschinenstil',
				'<code>',
				'<\/code>',
				'Teletyper Text'
			],
			'U'  : [
				commonsUrl + 'f/fd/Button_underline.png',
				'Unterstreichen',
				'<u>',
				'<\/u>',
				'Unterstrichener Text'
			],
			'UR' : [
				commonsUrl + 'e/ec/Button_aviso.png',
				'Urheberrecht ungeklärt',
				'{{Urheberrecht ungeklärt}}',
				'',
				''
			],
			'URV': [
				commonsUrl + '9/9d/Button_halt.png',
				'Urheberrechtsverletzung',
				'{{URV}} [',
				'] ' + sig,
				'Url'
			],
			'V'  : [
				commonsUrl + 'c/c8/Button_redirect.png',
				'Weiterleitung (Redirect)',
				'#WEITERLEITUNG [[',
				']]',
				'Ziel einfügen',
				'mw-editbutton-redirect'
			],
			'VP' : [
				commonsUrl + 'b/ba/Button_conserver.png',
				'Vote *pro*',
				'# {{pro}} ' + sig,
				'',
				''
			],
			'VC' : [
				commonsUrl + 'f/fc/Button_supp.png',
				'Vote *contra*',
				'# {{contra}} ' + sig,
				'',
				''
			],
			'VN' : [
				commonsUrl + '4/4e/Button_neutre.png',
				'Vote *neutral*',
				'# {{neutral}} ' + sig,
				'',
				''
			],
			'WB' : [
				commonsUrl + '6/61/Button_wikibooks.png',
				'Wikibooks',
				'{{Wikibooks',
				'}}',
				'|Seitenname'
			],
			'WS' : [
				commonsUrl + 'e/eb/Button_wikisource.png',
				'Wikisource',
				'{{Wikisource',
				'}}',
				'|Seitenname'
			],
			'WT' : [
				commonsUrl + 'b/bf/WP-icon.png',
				'Wiktionary',
				'{{Wiktionary',
				'}}',
				'|Seitenname'
			],
			'WV' : [
				commonsUrl + 'b/b5/Button_wikiversity.png',
				'Wikiversity',
				'{{Wikiversity',
				'}}',
				'|Seitenname'
			],
			'W'  : [
				commonsUrl + '8/88/Btn_toolbar_enum.png',
				'Nummerierung',
				'\n# Element 1\n# Element 2\n# Element 3',
				'',
				''
			],
			'X'  : [
				commonsUrl + '1/11/Btn_toolbar_liste.png',
				'Liste',
				'\n* Element A\n* Element B\n* Element C',
				'',
				''
			],
			'Y1' : [
				commonsUrl + 'c/ce/Button_no_include.png',
				'No Include',
				'<noinclude>',
				'<\/noinclude>',
				'Text'
			],
			'Y2' : [
				commonsUrl + '7/79/Button_include.png',
				'Include only',
				'<includeonly>',
				'<\/includeonly>',
				'Text'
			],
			'Z'  : [
				commonsUrl + '3/35/Button_substitute.png',
				'Ersetzen',
				'{{ers:',
				'}}',
				'Vorlage'
			],
			'ZI' : [
				commonsUrl + '8/83/Button_biocitas.png',
				'Zitat',
				'{{Zitat|',
				'}}',
				'Text|Autor (optional)|Quelle (optional)'
			],
			'T1' : [
				commonsUrl + 'c/c6/Blending_blue_button_background.png',
				'Spacer (no function)',
				'',
				'',
				''
			],
			'0'  : [
				commonsUrl + 'e/e2/Button_bold.png',
				'Fetter Text',
				'\'\'\'',
				'\'\'\'',
				'Fetter Text',
				'mw-editbutton-bold'
			],
			'1'  : [
				commonsUrl + '1/1d/Button_italic.png',
				'Kursiver Text',
				'\'\'',
				'\'\'',
				'Kursiver Text',
				'mw-editbutton-italic'
			],
			'2'  : [
				commonsUrl + 'c/c0/Button_link.png',
				'Interner Link',
				'[[',
				']]',
				'Link-Text',
				'mw-editbutton-link'
			],
			'3'  : [
				commonsUrl + 'e/ec/Button_extlink.png',
				'Externer Link (http:// beachten)',
				'[',
				']',
				'http://www.example.com Link-Text',
				'mw-editbutton-extlink'
			],
			'4'  : [
				commonsUrl + 'f/fb/Button_headline.png',
				'überschrift',
				'\n== ',
				' ==\n',
				'überschrift',
				'mw-editbutton-headline'
			],
			'5'  : [
				commonsUrl + 'd/de/Button_image.png',
				'Dateilink',
				'[[Datei:',
				']]',
				'Beispiel.jpg',
				'mw-editbutton-image'
			],
			'6'  : [
				commonsUrl + '1/19/Button_media.png',
				'Mediendatei-Link',
				'[[Media:',
				']]',
				'Beispiel.ogg',
				'mw-editbutton-media'
			],
			'7'  : [
				commonsUrl + '2/2e/Button_math.png',
				'Mathematische Formel (LaTeX)',
				'\x3cmath\x3e',
				'\x3c/math\x3e',
				'Formel hier einfügen',
				'mw-editbutton-math'
			],
			'8'  : [
				commonsUrl + '8/82/Nowiki_icon.png',
				'Unformatierter Text',
				'\x3cnowiki\x3e',
				'\x3c/nowiki\x3e',
				'Unformatierten Text hier einfügen',
				'mw-editbutton-nowiki'
			],
			'9'  : [
				commonsUrl + '6/6d/Button_sig.png',
				'Deine Signatur mit Zeitstempel',
				'--\~\~\~\~',
				'',
				'',
				'mw-editbutton-signature'
			],
			'10' : [
				commonsUrl + '0/0d/Button_hr.png',
				'Horizontale Linie (sparsam verwenden)',
				'\n----\n',
				'',
				'',
				'mw-editbutton-hr'
			]
		};

		// Add user defined buttons to the available buttons
		if( window.myButtons ) {
			$.extend( buttons, window.myButtons );
		}

		// Add buttons to the toolbar in the specified order
		var order = window.customEditButtons || 'A,A3,B,E,F,G,H,I1,I2,J1,K,M,Q,R,R1,R2,R3,S,T,U,V,W,X';
		if( order === 'all' ) {
			order = [];
			for( var key in buttons ) {
				if( isNaN( key ) ) {
					order.push( key );
				}
			}
		} else {
			order = order.split( ',' );
		}

		for( var i = 0, l = order.length; i < l; i++ ) {
			var button = buttons[order[i]];
			if( !button ) {
				throw new Error( 'Unknown button: ' + order[i] );
			}
			mw.toolbar.addButton.apply( mw.toolbar, button );
		}

		// Remove some default buttons if requested
		if( window.rmEditButtons ) {
			var remove = window.rmEditButtons;
			if( ( remove[0] + '' ).toLowerCase() === 'all' ) {
				remove = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
			}
			remove.sort().reverse();

			var $toolbarButtons = $( '#toolbar' ).children();
			for( var i = 0, l = remove.length; i < l; i++ ) {
				$toolbarButtons.eq( remove[i] ).remove();
			}
		}

		// Customize signature button
		if( sig !== '--\~\~\~\~' ) {
			$( '#mw-editbutton-signature' ).unbind( 'click' ).click( function() {
				mw.toolbar.insertTags( sig, '', '' );
				return false;
			} ).attr( 'src', commonsUrl + 'd/d1/Button_mysignature.png' );
		}

		// Add special click handlers
		$( '#mw-editbutton-redirect' ).unbind( 'click' ).click( function() {
			var target = window.prompt( 'Wohin soll die Weiterleitung?', '' );
			if( target ) {
				var text = '#WEITERLEITUNG [[' + target + ']]';
				$( '#wpTextbox1' ).val( text );
				$( '#wpSummary' ).val( text );
				$( '#wpWatchthis' ).prop( 'checked', false );
			}
		} );			

		// Adjust width of spacer images
		if( mw.toolbar.$toolbar ) {
			mw.toolbar.$toolbar.children( 'img[src="' + buttons['E'][0] + '"]' ).width( 6 ).unbind( 'click' );
			mw.toolbar.$toolbar.children( 'img[src="' + buttons['T1'][0] + '"]' ).width( 6 ).unbind( 'click' );
		}
	} ) } );
})();

// Und hier ist die monobook.js zu Ende.
// </nowiki>