Benutzer:Horgner/change links.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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
 function add_links_talkpage()
 {
  /*
     var section = document.getElementsByName("wpSection")[0].value;

  if(!section) return;

  if(section=="new")
  {
   insert_link_before("SPAN", "wpSummaryLabel", '<a href="#" onclick="document.getElementById(\'wpTextbox1\').value=\'Hi '+wgTitle+'\'">Hi</a>');
  }*/
 }
	 
 function add_links_article()
 {
   insert_link_before("LI", "t-permalink", '<a href="http://tools.wikimedia.de/~magnus/missing_images.php?lang=de&doit=Run&use_png=1&use_gif=1&use_jpg=1&use_tif=1&use_svg=1&donoevil=1&skipgood=0&titlelist=' + wgPageName + '" target="_blank">Bildercheck</a>');
   
   insert_link_before("LI", "t-recentchangeslinked", '<a target="_blank" href="http://wikipedia.ramselehof.de/contexter.php?article=' + wgPageName + '">Contexter</a>');
   
   //Edit first section
  var firstheading = document.getElementsByTagName("H1")[0];
  if ((firstheading ) && (wgIsArticle))
  {
    var ins = document.createElement("div");
    ins.innerHTML=/* */'<small align="right" class="noprint" style="font-size: 8;"><a href="'+ mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + wgPageName + '&action=edit&section=0">[bearbeiten]</a>&nbsp;<a href="'+ mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +  wgPageName + '&action=edit&section=new" class="noprint">[Neuer Absatz]</a></small>';/* */
    firstheading.parentNode.insertBefore(ins, firstheading);	
  }

 }

 function add_links_all()
 {

   insert_link_before("LI", "t-recentchangeslinked", '<a href="http://tools.wikimedia.de/~daniel/WikiSense/MyDiff.php?wiki=de.wikipedia.org&title=+'+wgPageName+'&user='+wgUserName+'">Diff zur mir</a>');

  //BLU-User-Link after logout-link (top right)
  insert_link_before("LI", "pt-logout", '<a href="http://de.wikipedia.org/wiki/Portal:Schweiz">Portal Schweiz</a>');

  //Insert WikiBlame, Contexter & Auto-Review before Changes on linked pages (left)
  insert_link_before("LI", "t-recentchangeslinked", '<a target="_blank" href="http://wikipedia.ramselehof.de/wikiblame.php?article=' + wgPageName + '">WikiBlame</a>');
  
  if(wgCanonicalSpecialPageName=="Search")
  {
  insert_link_before("DIV", "jump-to-nav", '<a target="_blank" href="http://en.wikipedia.org/wiki/' + document.getElementById('searchInput').value + '">englische Wikipedia</a>');
  }

  //normal links for images from [[Benutzer:BLueFiSH.as/monobook.js]]   
  if ( wgNamespaceNumber != 6 )
  { 
   for (var i=0; aNode = document.getElementsByTagName("a")[i]; i++)
   { 
    if ( href = aNode.getAttribute("href") )
    { 
     if ( href.search(/\?title\=Bild\:/) > 0 && href.search(/\&action\=edit/) > 0 )
     { 
      href = href.replace(/\&action\=edit/, '');
      aNode.setAttribute("href", href);
     }
     if (href.search(/wpDestFile/) > 0)
     { 
      href = href.replace(/Spezial\:Hochladen\&wpDestFile\=/, 'Bild:');
      aNode.setAttribute("href", href);
     }
    }
   }
  }
 }


 function add_links_user()
 {
	//BLU-User beforeLogout
	 insert_link_before("LI", "t-upload", '<a href="http://de.wikipedia.org/w/index.php?title=Spezial%3ALogbuch&type=upload&user=' + wgTitle + '">Dateilogbuch</a>');
	 
	 insert_link_before("LI", "t-upload", '<a href="http://tools.wikimedia.de/~magnus/userdupes.php?username=' + wgTitle + '&identicalsonly=1&language=de&showdesc=de&doit=Run">User-Dupes</a>');
	 
	 insert_link_before("LI", "t-upload", '<a href="http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + wgTitle + '&dbname=dewiki_p">Editcount</a>');
 }

 function add_links_image()
 {
   if(!document.getElementById('shared-image-desc')) //is local image
   {
    insert_link_before("LI", "n-mainpage", '<b><a href="http://tools.wikimedia.de/~magnus/commonshelper.php?language=de&image=' + wgTitle + '">auf Commons</a></b>');
	add_dellinks_nowcommons();
   }
   else
   {
     //Link auf Bildbeschreibung in Commons zum Bearbeiten
     insert_link_before("span", "commons_descr", '<b><a style="background-color:#f9f9f9;" href="http://commons.wikimedia.org/w/index.php?title=' + wgCanonicalNamespace + ':' + wgTitle + '&action=edit">[Bildbeschreibung in Commons bearbeiten]</a></b>');
   }
   check_image_usage();
 }

 function add_links_edit(form)
 {
  //Better Wiki-Syntax than Standard	
  chooseCharSubset(1); 
  document.getElementById('specialchars').firstChild.options[1].selected=true;

  insert_link_before("LI", "privacy", 'Tabellenspalte <a href="#" onclick="bulkEditTable(\'delete\')">[-]</a>&nbsp;<a href="#" onclick="bulkEditTable(\'label\')">[bla]</a>&nbsp;<a href="#" onclick="bulkEditTable(\'insert\')">[+]</a>&nbsp;&nbsp;<a href="#" onclick="invertedCommasToItalic()">Hochkommata  kursiv</a>&nbsp;<a href="#" onclick="boldToItalic()">fett->kursiv</a>&nbsp;entlinken:&nbsp;<a href="#" onclick="removeWikiLinks()">[alles]</a>&nbsp;<a href="#" onclick="removeWikiLinksToDates()">[Datum]</a>');
  
  //Auto summary, marginal edit and saving for linkfixes
  if(form.elements["wpSection"].value!="new")
  {
   place_auto_summary_link('linkfix', true, 'Linkfix');
   place_auto_summary_link('Bildlink repariert', true, 'Bildfix');
   place_auto_summary_link('Kosmetik', true, 'Kosmetik');
   place_auto_summary_link('Tippfehler ausgebessert', true, 'Typo');
   place_auto_summary_link('Stil', true, 'Stil');
   place_auto_summary_link('Link eingefügt', true, '+Link');
   place_auto_summary_link('Link auf Galerie/Kategorie auf [[Wikimedia Commons]] eingefügt', true, '+Commons');
   place_auto_summary_link('Bild eingefügt', false, '+Bild');
   place_auto_summary_link('Link auf gelöschte Seite entfernt', true, '-Artikel');
   place_auto_summary_link('gelöschte Vorlage entfernt', true, '-Vorlage');
   place_auto_summary_link('gelöschtes Bild entfernt', true, '-Bild');
   place_auto_summary_link('entlinkt', true, '-Link');
  }

  var text = form.elements["wpTextbox1"];
  if(wgTitle!="Flominator/change links.js")
  {
	var whereAreReferences = text.value.search(/references/);
    if(whereAreReferences!=-1)
    {
		if(text.value.search(/Einzelnachweise/)==-1)
		{
			text.value = convertQuellenToEinzelnachweise(text.value, whereAreReferences);
		}
    }
	
	var textAfterMasqueradedLink = text.value.search(/(\[\[[^\|]+\|[^\]]+)\]\]([\w]+)([\W])/);
	if(textAfterMasqueradedLink != -1)
	{
		text.value = moveTextAfterMasqueradedLinks(text.value, textAfterMasqueradedLink);
	}
    
   //Replacing regular expressions by text
   text.value = text.value
      .replace(/\[\[ *Image:/g,  "[[Datei:")
      .replace(/\[\[ *File:/g,  "[[Datei:")
      .replace(/\[\[:Image:/gm,    "[[:Datei:")
      .replace(/\[\[:File:/gm,    "[[:Datei:")
      .replace(/\[\[ *bild:/gm,  "[[Datei:")
      .replace(/\[\[:bild:/gm,    "[[:Datei:")
      .replace(/^Image:/gm,    "Datei:")
      .replace(/^File:/gm,    "Datei:")
      .replace(/\[\[ *Bild:/g,  "[[Datei:")
      .replace(/\[\[:Bild:/gm,    "[[:Datei:")
      .replace(/^Bild:/gm,    "Datei:")
      .replace(/\[\[ *datei:/gm,  "[[Datei:")
      .replace(/\[\[:datei:/gm,    "[[:Datei:")
      .replace(/{{Commons\|category:/gm,    "{{Commonscat|")
      .replace(/{{Commons\|Category:/gm,    "{{Commonscat|")
      .replace(/{{commons\|category:/gm,    "{{Commonscat|")
      .replace(/{{commons\|Category:/gm,    "{{Commonscat|")
      .replace(/\[\[USA\]\]/g,    "[[Vereinigte Staaten|USA]]")
      .replace(/\[\[USA\|/g,    "[[Vereinigte Staaten|")
      .replace(/\[\[Großbritannien\]\]/g,    "[[Vereinigtes Königreich|Großbritannien]]")
      .replace(/\[\[Großbritannien\|/g,    "[[Vereinigtes Königreich|")
      .replace(/\[\[Bläser\]\]/g,    "[[Blasinstrument|Bläser]]")
      .replace(/Diskografie/g,    "Diskografie")
      .replace(/Geschichte/g,    "Geschichte")
      .replace(/\[\[Geige\]\]/g,    "[[Violine|Geige]]")
      .replace(/\[\[Geige\|/g,    "[[Violine|")
      .replace(/\[\[Maler\]\]/g,    "[[Malerei|Maler]]")
      .replace(/\[\[Maler\|/g,    "[[Malerei|")
      .replace(/\[\[Sängerin\]\]/g,    "[[Gesang|Sängerin]]")
      .replace(/\[\[Schauspielerin\]\]/g,    "[[Schauspieler]]in")
      .replace(/\[\[Sänger\]\]/g,    "[[Gesang|Sänger]]")
      .replace(/\[\[Sänger\|/g,    "[[Gesang|"); 
   }
   check_for_references_tag();
   check_for_wrong_links(text);
   check_external_links();
 }

 /* functions called by the ones above */
 function check_image_usage()
 {
  var headline = document.getElementById("filelinks");
  var used = false;
  if(headline)
  {
   while(headline.nodeName.toUpperCase() !="UL")
   {
    headline=headline.nextSibling;
   }
   var used_list = headline.childNodes;
   var entry = '';
	 
   for(var i =0;i<used_list.length;i++)
   {
    entry = (used_list[i].textContent)
	 	 
    if(entry.length>1)
    {
     if(entry!='Bild:'+wgTitle)
     {
      //alert("drin bei "+entry);
      used=true;
	  break;
     }
    }
   }
  }
	 
   if(used==true)
   {
     //alert("drin bei true");
     var del_button = document.getElementById("bodyContent");
     if(!del_button){ alert ('kein Delbutton da') }
     //del_button.firstChild.data='!!!' + del_button.firstChild.data + '!!!';
     del_button.style.backgroundColor='#FFC1C1';
   }
 }


 //Insert any tag before any element with an id
 function insert_link_before(tagname, previous_element, linkcode)
 {
 	var vl_logout = document.getElementById(previous_element);
 	if (vl_logout) 
 	{
 		var ins_li = document.createElement(tagname);
 		ins_li.innerHTML=/* */linkcode;/* */
 		 vl_logout.parentNode.insertBefore(ins_li, vl_logout);
 	}
 }



 function check_image_usage()
 {
 	var headline = document.getElementById("filelinks");
	
	 	var used = false;
	if(headline)
	{
		

	 	while(headline.nodeName.toUpperCase() !="UL")
	 	{
	 		headline=headline.nextSibling;
	 	}
	 
	 	var used_list = headline.childNodes;
	 	var entry = '';
	 
	 	for(var i =0;i<used_list.length;i++)
	 	{
	 	 entry = (used_list[i].textContent)
	 	 
	 	 if(entry.length>1)
	 	 {
	 		
	 	 if(entry!='Bild:'+wgTitle)
	 		{
				//alert("drin bei "+entry);
	 			used=true;
	 break;
	 		}
	 	 }
	 	}
}
	 
	if(used==true)
	{
	 //alert("drin bei true");
		var del_button = document.getElementById("bodyContent");
 if(!del_button){ alert ('kein Delbutton da') }
		//del_button.firstChild.data='!!!' + del_button.firstChild.data + '!!!';
 del_button.style.backgroundColor='#FFC1C1';
	}
 }


 function auto_summary(summary, minor)
 {
  document.forms[0].wpSummary.value=document.forms[0].wpSummary.value+ ' ' + summary;
  document.forms[0].wpMinoredit.checked=minor;
  document.forms[0].submit()
 }

 function place_auto_summary_link(summary, minor, title)
 {
  insert_link_before("span", "wpSummaryLabel", '<a href="#" onclick="javascript:auto_summary(\'' + summary + '\', ' + minor + ')">' + title + '</a>&nbsp;&nbsp;');
 }

 function check_for_references_tag()
 {
   var ta = document.forms[0].wpTextbox1;
   var refs_there=ta.value.search(/<ref/);
   var references_there=ta.value.search(/<references/);
   if((refs_there > -1 )&&(references_there == -1))
   {
    var source = 'http://wikipedia.ramselehof.de/text_present.php?article=' + wgPageName + '&lang=' + wgContentLanguage + '&project=wikipedia&needle=references';

    insert_link_before("span", "wpMinoredit", '&lt;references&gt;<img id="ref_bild" src="' + source + '" />');
   }
 }

 function check_for_wrong_links(ta)
 {
	var Satz = "Wer nicht vom [[rechten]] Weg abkommt bleibt [[auf|oder]] der Strecke";
	Satz = ta.value;
	var Woerter = Satz.split("[[");
	var link_end;
	var links = "";
	for(var i=1;i<Woerter.length;i++)
	{
		
		link_end = Woerter[i].indexOf("|");
		
		if((Woerter[i].charAt(0) != ':') && (Woerter[i].search(/Kategorie:/)==-1)&& (Woerter[i].search(/Bild:/)==-1))
		{
			var last_bracket = Woerter[i].indexOf("]");
			if((link_end==-1) || link_end > last_bracket)
			{
				link_end = last_bracket;
			}
			
			var plain_link = Woerter[i].substring(0, link_end);
			plain_link = plain_link.replace(/#/g,    "rraauuttttee");
			plain_link = plain_link.replace(/&/g,    "%26");
			//document.write(i + Woerter[i]);
			//document.write("gekürzt:" + plain_link + '<br>');
			links = links + plain_link + ';';
		}
	}
	//alert(links);
	
    var full_link = "http://wikipedia.ramselehof.de/bklredir.php?articles=" + links;
    var iframe = '<iframe width="150" src="'+ full_link + '"></iframe>'
    insert_link_before("li", "p-tb", iframe );

 }

function GetElementsByClassName(tagname, classname)
{
  /* [[Benutzer:ASM/WIP]] */
   var ret = new Array();
   var tags = document.getElementsByTagName(tagname);
   for (i = 0; i < tags.length; i++)
      if (tags[i].className == classname)
		ret.push(tags[i]);

   return ret;
}

function check_external_links()
{
	checkExternalLinksByClassName("external text");
	checkExternalLinksByClassName("external free");
}

function checkExternalLinksByClassName(classname)
{
	var links_arr = GetElementsByClassName("a", classname);

	for(var i=0;i<links_arr.length;i++)
	{
		var a_node = links_arr[i];
		var ins_li = document.createElement("span");
 		ins_li.innerHTML='<img border="0" src="http://wikipedia.ramselehof.de/pinger.php?url='+ links_arr[i].href +'>';
 		a_node.appendChild(ins_li);
		
		
	}
}

function invertedCommasToItalic()
{
	var ta = document.getElementById("wpTextbox1");
	var beginning = extractBeforeSelection(ta);
	var middle = extractSelection(ta);
	var ending = extractAfterSelection(ta);
	middle = middle.replace(/„/g,    "''").replace(/“/g,    "''").replace(/"/g,    "''");
	
	ta.value= beginning + middle + ending;
}


function extractBeforeSelection(ta)
{
	return ta.value.substr(0, ta.selectionStart);
}

function extractSelection(ta)
{
	return ta.value.substr(ta.selectionStart, ta.selectionEnd-ta.selectionStart);
}

function extractAfterSelection(ta)
{ 
	return ta.value.substr(ta.selectionEnd, ta.value.length);
}

function removeWikiLinks()
{
	var ta = document.getElementById("wpTextbox1");
	var beginning = extractBeforeSelection(ta);
	var middle = extractSelection(ta);
	var ending = extractAfterSelection(ta);
	middle = middle.replace(/\[\[/g,    "").replace(/\]\]/g,    "");
	ta.value= beginning + middle + ending;
}

function boldToItalic() 
{
	var ta = document.getElementById("wpTextbox1");
	var beginning = extractBeforeSelection(ta);
	var middle = extractSelection(ta);
	var ending = extractAfterSelection(ta);
	middle = middle.replace(/\'\'\'/g,    "''");
	ta.value= beginning + middle + ending;
}

function removeWikiLinksToDates()
{
	var ta = document.getElementById("wpTextbox1");
	var beginning = extractBeforeSelection(ta);
	var middle = extractSelection(ta);
	var ending = extractAfterSelection(ta);
	middle = middle.replace(/\[\[\s*(\d+(er)?( v. Chr.)?)\s*\]\]/g, "$1");
	middle = middle.replace(/\[\[\s*(\d+\. (Jahrhundert|Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember))\s*\]\]/g, "$1");
	ta.value= beginning + middle + ending;
}

function bulkEditTable(mode)
{
	/*
		available modes: label, insert, delete
	*/
	
	var ta = document.getElementById("wpTextbox1");

	var currentRow = fillArray(new Array(10), 0, 0);
	var nextRow = fillArray(new Array(10), 0, 0);
	
	
	var validMode = false;
	if(mode=="label")
	{
		
		var toWorkWith = window.prompt("Welche Spalte der Auswahl beschriften?");
		if(!toWorkWith) return
		var label = window.prompt("Mit welchem Kommentar beschriften?");
		if(!label) return
		
		var labelComment = '<!-- ' + label + ' -->';
		validMode = true;
	}
	
	if(mode=="delete")
	{
		var toWorkWith = window.prompt("Welche Spalte der Auswahl entfernen?");
		if(!toWorkWith) return;
		validMode = true;
	}
	
	if(mode=="insert")
	{
		var toWorkWith = window.prompt("Nach welcher Spalte soll eine neue eingefügt werden?");
		if(!toWorkWith) return
		var newColumnText = window.prompt("Welchen Text enthät die neue Spalte", "|");
		if(!newColumnText) return
		validMode = true;
	}

	if(!validMode)
	{
		alert("Funktion mit ungültigem Modus aufgerufen");
		return;
	}

	var beginOfTableBeginning = ta.value.indexOf("{|");
	var endOfTableBeginning = ta.value.indexOf("\n", beginOfTableBeginning)
	if (ta.value.indexOf("{|", endOfTableBeginning) != -1)
	{
		alert("mehr als eine Tabelle in aktivem Fenster, daher Abbruch");
		return;
	}
	
	var endOfTable = ta.value.indexOf("|}", endOfTableBeginning);
	beginning = ta.value.substr(0, endOfTableBeginning);
	middle = ta.value.substr(endOfTableBeginning+1, endOfTable-endOfTableBeginning-2); //+1 removes the \n
	
	//alert("middle=" + middle);
	ending = ta.value.substr(endOfTable);
	//alert("ending " + ending);


	var table = middle.split("\n");
	var i=0;
	var col = 1;
	var outputTable = beginning + "\n";
	//alert (table.length);
	alert("Gewählter/erkannter Text: \n" + middle);
	var log = "";
	while(i<table.length)
	{
		log = log + "i="+ i + " col=" + col + "Anfang: Aktuelle Zelle mit Zusatzhöhe="+ currentRow[col];// + " lautet " + table[i];
		log = log + "\n";
		
		//anfang eingefügt
		if(table[i].substr(0, 2)=="|-")
		{
			outputTable = outputTable + table[i] + "\n";
			log = log + "Zeile fertig" + col + "\n ---------------------------\n";
			if(col!=1) 
			{
				col++;				
				nextRow=fillArray(nextRow, 0, col);
				
				log = log + "   nextRow   (vorher):\t " + printArray(nextRow) + "\n";
				log = log + "currentRow   (vorher):\t " + printArray(currentRow) + "\n";
				currentRow = nextRow;
				nextRow = fillArray(new Array(10), 0,0); //eventuell 10 durch col ersetzen
				log = log + "    nextRow (nachher): \t" + printArray(nextRow) + "\n";
				log = log + "currentRow: (nachher):\t " + printArray(currentRow) + "\n";
			}
			col=0;
		}//ende eingefügt
		else
		{
			log = log + "i="+ i + " col=" + col + "Nach Zeilentrenner: Aktuelle Zelle mit Zusatzhöhe="+ currentRow[col];// + " lautet " + table[i];
			log = log + "\n";

	        
			if(currentRow[col-1]==0)
			{
				col = col + spannedCells(table[i], 'col') -1;
				
				nextRow[col-1] = spannedCells(table[i], 'row') -1;
				if (nextRow[col-1]<0) nextRow[col-1]=0;
				
				
				if(col!=toWorkWith)
				{
					log = log + "wird normal bearbeitet\n";
					outputTable = outputTable + table[i] + "\n";
				}
				else //if nothing is done here, the cell in the selected column will be removed
				{	
					log = log + "wird speziell bearbeitet\n";
					if(mode=="label")
					{
						lastPipe = table[i].lastIndexOf("|") + 1;
						firstBracket = table[i].indexOf("[");
						firstTag = table[i].indexOf("<");
						
						if((firstBracket!=-1) && (firstTag!=-1))
						{
							beginOfData = Math.min(firstBracket, firstTag);
							if(beginOfData < lastPipe)
							{
								insertAt=beginOfData-1;
							}
							else
							{
								insertAt = lastPipe;
							}
							
						}
						else
						{
							insertAt = lastPipe;
						}
						outputTable = outputTable + table[i].substr(0, insertAt) + labelComment + table[i].substr(insertAt) + "\n";
					}
					if(mode=="insert")
					{
						outputTable = outputTable + table[i] + "\n" + newColumnText + "\n" ;
					}
				}

			}
			else
			{
				log = log + "... existiert nicht\n";
				nextRow[col-1]=currentRow[col-1] - 1;
				if(nextRow[col-1]<0)
				{
					nextRow[col-1]=0;
				}
				i--;
			}
			
		}
		i++;
		col++;
	}
	outputTable = outputTable + ending;
	//alert(log);
	if(confirm("Ergebnis ok?\n" +  outputTable))
	{
		ta.value=outputTable;
	}
}

function spannedCells(line, row_or_col)
{
	//klowerCaseLine = line.;
	spanTag = "" + row_or_col + "span";
	beginSpan = line.toLowerCase().indexOf(spanTag);
	if(beginSpan==-1) return 1;

	firstInvertedComas = line.indexOf("\"", beginSpan) ;
	secondInvertedComas = line.indexOf("\"", firstInvertedComas+1) ;
	lengthSpan = secondInvertedComas - firstInvertedComas -1;
	//alert(spanTag + " begin=" + beginSpan + "\"" + firstInvertedComas + " " + secondInvertedComas + " "+ lengthSpan);
	//alert(line.substr(firstInvertedComas+1, lengthSpan));
	return parseInt(line.substr(firstInvertedComas+1, lengthSpan));
	
}

function printArray(theArray)
{
	var returnString = "";
	for(var i=0;i<theArray.length;i++)
	{
		//returnString = returnString + i + "=" + theArray[i] + ";";
		returnString = returnString + theArray[i] + " | ";
	}
	return returnString;
}

function fillArray(theArray, fillValue, fillStart)
{
	for(var i=fillStart;i<theArray.length;i++)
	{
		theArray[i]=fillValue;
	}
	return theArray;
}

function convertQuellenToEinzelnachweise(text, positionOfReferences)
{
  tkorrone = /(\n)[^\n]*(\n\<references[^\/]*\/\>)/;
  var textNeu = text.replace(tkorrone,'$1== Einzelnachweise ==$2');
  if(confirm("Quellengedöhns zu Einzelnachweis machen? \n ---------------------------\n" + textNeu.substring(positionOfReferences-40, positionOfReferences+40) + "\n---------------------------"))
  {
    return textNeu;
  }
  return text;
}

function moveTextAfterMasqueradedLinks(text, positionOfTextAfterLink)
{
	var textNeu = text.replace(/(\[\[[^\|]+\|[^\]]+)\]\]([\w]+)([\W])/g,'$1$2]]$3');
	if(confirm("Text nach Link einfügen? \n ---------------------------\n" + textNeu.substring(positionOfTextAfterLink-20, positionOfTextAfterLink+40) + "\n---------------------------"))
	  {
		return textNeu;
	  }
	  return text;
}