Wikipedia:WikiProjekt Marxismus/monobook.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Juni 2009 um 17:52 Uhr durch Tets (Diskussion | Beiträge) (Änderung 61150606 von Tets wurde rückgängig gemacht.). Sie kann sich erheblich von der aktuellen Version unterscheiden.
// *************** SETUP Teil 1 **********************************
// Parameter für diese monobook.js (Quickbar, Module etc.)

var zeigeversion = false;        // monobook-Version anzeigen?
var zeigehilfe = false;          // 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: hinweise.js
 var hinweis = true;             // Portal- und Redaktionshinweis verwenden?
 
 //  

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

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

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();
var Stunde = jetzt.getHours();
var Minute = jetzt.getMinutes();
// 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       = (wgNamespaceNumber == 0);
var isArticleTalk   = (wgNamespaceNumber == 1);
var isDatei         = (wgCanonicalNamespace == "File");
var isCategory      = (wgCanonicalNamespace == "Category");
var isTemplate      = (wgCanonicalNamespace == "Template");
var isGeneric       = false;
if ((!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(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 = '

';
// optional:  opacity:0.9;
var xxx      = ;

var trenner='
';
var 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(); // ab hier keine Dropdowns mehr closedropdown(); dropdown=false; } /* * 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:Kandidaturen','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'); } /* * 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(
'
',
   (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&prefix=',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>')
        : ,

'
');
}
document.write('
',xxx,'

');

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);
}

// functions for getting API timestamp
function getAPItimestamp(dateobject) {
  return (dateobject.getFullYear() * 10000000000) + ((dateobject.getMonth() + 1) * 100000000) + (dateobject.getDate() * 1000000) + (dateobject.getHours() * 10000) + (dateobject.getMinutes() * 100);
}
function getFutureDate() {
  var dateobject = new Date();
  // adding 3 hours to dateobject
  dateobject.setTime(dateobject.getTime() + (3 * 3600 * 1000));
  return (getAPItimestamp(dateobject));
}
function getPastDate() {
  var dateobject = new Date();
  // subtracting 3 days from dateobject
  dateobject.setTime(dateobject.getTime() - (3 * 24 * 3600 * 1000));
  return (getAPItimestamp(dateobject));
}

// 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:PDDs 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:PDDs 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:PDDs 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 *****
// </nowiki> <- 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
}

// Und hier ist die monobook.js zu Ende.