Benutzer:Androl/autoformat.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
function doAutoformat(a)
{
	var e = document.forms["editform"].elements;
	var b = e["wpTextbox1"];
	var t = b.value;

	// Korrektur von Benutzer:TMg/autoFormatter.js-Fehlern
	t = t.replace(/ (m[äöü])/gi, " $1");                     // 15&nbsp:Männer
	t = t.replace(/\{(„|“)/g, "{\"");                             // Vorlage:"
	t = t.replace(/(\[|\r?\n *)Datei:([^\]\|\r\n]*)–/g, "$1Datei:$2-");  // "–" in Dateinamen
	t = t.replace(/(\[|\r?\n *)Datei:([^\]\|\r\n]*)–/g, "$1Datei:$2-");  // "–" in Dateinamen
	t = t.replace(/(\[|\r?\n *)Datei:([^\]\|\r\n]*)–/g, "$1Datei:$2-");  // "–" in Dateinamen
	t = t.replace(/([0-9]{4})–[0-9]{2}([0-9]{2}).([0-9]{3})/g, "$1: $2.$3");  // Einwohnerzahlen
	t = t.replace(/\| [–-]( ?)([0-9])/g, "| −$1$2");  // Minus
	t = t.replace(/ m\}\}/g, " m}}");  // überfl. nbsp in Vorlagen

	// Links ohne Leerzeichen
	t = t.replace(/\[\[ */g, "[[");
	t = t.replace(/ *\]\]/g, "]]");
	t = t.replace(/(\[\[Kategorie:.*)\|\]\]/g, "$1| ]]");

	// doppelte Leerzeichen
	t = t.replace(/([\wäöüßÄÖÜ,\.;:\-'\[\]]) +([\wäöüßÄÖÜ,\.;:\-'\[\]])/g, "$1 $2");

	t = t.replace(/(\[|\r?\n) *(Bild|File|Image):/gi, "$1Datei:");
	// Parameter bei Dateieinbindung in einheitlicher Reihenfolge
	t = t.replace(/(Datei:[^\|\r\n]*)(\|[^\]\r\n]*)?\| *(upright|hochkant) *(= *[^\| \]\r\n]*)? */gi, "$1|hochkant$4$2");
	t = t.replace(/\|hochkant= */gi, "|hochkant=");
	t = t.replace(/(Datei:[^\|\r\n]*)(\|[^\]\r\n]*)?\| *(left|links) */gi, "$1|links$2");
	t = t.replace(/(Datei:[^\|\r\n]*)(\|[^\]\r\n]*)?\| *(right|rechts) */gi, "$1|rechts$2");
	t = t.replace(/(Datei:[^\|\r\n]*)(\|[^\]\r\n]*)?\| *(thumb|miniatur) */gi, "$1|miniatur$2");
	t = t.replace(/\|miniatur\|rechts\|/gi, "|miniatur|");

/*	// Tabellensyntax
	// Leerzeichen um "|"
	t = t.replace(/\|/g, " | ");
	// Leerzeichen entfernen
	t = t.replace(/\|  \|/g, "||");
	t = t.replace(/\r?\n(\s*) \|/g, "\n$1|");
	t = t.replace(/\{ \|/g, "{|");
	t = t.replace(/\| \}/g, "|}");
	t = t.replace(/\| -+/g, "|-");
	t = t.replace(/\[\[([^\|\]]*[^\|\] ]) *\| *([^\]]*)\]\]/g, "[[$1|$2]]");
	t = t.replace(/\{\{([^\}]*[^\} ])(\s*) \| ([^\}]*)\}\}/g, "{{$1$2|$3}}");
	t = t.replace(/\{\{([^\}]*[^\} ])(\s*) \| ([^\}]*)\}\}/g, "{{$1$2|$3}}");
	t = t.replace(/\{\{([^\}]*[^\} ])(\s*) \| ([^\}]*)\}\}/g, "{{$1$2|$3}}");
	t = t.replace(/\{\{([^\}]*[^\} ])(\s*) \| ([^\}]*)\}\}/g, "{{$1$2|$3}}");
	t = t.replace(/\{\{([^\}]*[^\} ])(\s*) \| ([^\}]*)\}\}/g, "{{$1$2|$3}}");
	t = t.replace(/\{\{([^\}]*[^\} ])(\s*) \| ([^\}]*)\}\}/g, "{{$1$2|$3}}");
	t = t.replace(/ +\|/g, " |");
	t = t.replace(/\| +/g, "| ");
	t = t.replace(/\| \r?\n/g, "|\n");
*/

	// Leerzeichen vor/nach ||
	t = t.replace(/\|\|/g, " || ");
	t = t.replace(/(\s) *\|\|/g, "$1||");
	t = t.replace(/\|\| *(\s)/g, "||$1");
	t = t.replace(/(\{\{BS.*) \|\| /g, "$1||");
	// Leerzeichen nach \n|
	t = t.replace(/\n+\|/g, "\n| ");
	// bei |- |+ |} || rückgängig
	t = t.replace(/\n\| (-|\+|\}|\|[^\|\r\n])/g, "\n|$1");
	t = t.replace(/\n\|\|? +/g, "\n| ");
	// |---- -> |-
	t = t.replace(/\n\|-+/g, "\n|-");
	t = t.replace(/\n\|- *\r?\n\|-/g, "\n|-");

	// Überschriftszeilen mit "!"
	t = t.replace(/\s*!!\s*/g, " !! ");
	t = t.replace(/\n! *(([^\r\n])|\n+([^!\|]))/g, "\n! $2$3");

	// Listensyntax
	t = t.replace(/\n([\*#:;]+)\s*(\S)/g, "\n$1 $2");
	t = t.replace(/\n# (WEITER)/g, "\n#$1");

	// Datum entlinken
	t = t.replace(/\[\[([0-9]+)\]\]/g, "$1");
	t = t.replace(/\[\[0?([123]?[0-9]. (Januar|Jänner|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember))\]\]/g, "$1");

	// Datum verlinken in Biographien
	t = t.replace(/('''.*'''.*\* )([123]?[0-9]\. [A-Za-zä]+) ([0-9]+)/g, "$1[[$2]] [[$3]]");
	t = t.replace(/('''.*'''.*† )([123]?[0-9]\. [A-Za-zä]+) ([0-9]+)/g, "$1[[$2]] [[$3]]");

	//  
	t = t.replace(/([0-9]\.?) ([a-zäöü]{4}|Mai)/gi, "$1 $2");

	// <br />
	t = t.replace(/ *<br \/> */g, "<br />");

	// Formatierung asd="fgh"
	t = t.replace(/(align|span|size|width|color|class) *= *"? *(#?[\w\. -]*\w) *(%?) *"?( *;?) */g, "$1=\"$2$3\" ");
	t = t.replace(/" >/g, "\">");
	t = t.replace(/color="#? *([0-9A-Fa-f]{6})"/g, "color=\"#$1\"");
	// Leerzeichen nach asd="fgh" |
	t = t.replace(/(="#?\w*" \|) *([^\r\n])/g, "$1 $2");
	// !-Zeile ohne align=center
	t = t.replace(/! *([^\r\n\| ;][^\r\n\|;]*[^\r\n\| ;]);? *align="?center"?;? */g, "! $1 ");
	t = t.replace(/! *align="?center"?(;? (\| )?)/g, "! ");
	// !-Zeile ohne '''fett'''
	t = t.replace(/\n! ([^'\r\n]*)'''([^'\r\n]*)'''/g, "\n! $1$2");

	// Leerzeile vor und nach Vorlagen
	t = t.replace(/([^\|\{\r\n])(\r?\n)+\{\{/gi, "$1\n\n{{");
	t = t.replace(/\}\}\r?\n+([^\|\}\*\r\n])/gi, "}}\n\n$1");
	t = t.replace(/\}\}\r?\n+\{\{/gi, "}}\n{{");
	t = t.replace(/\}\}\r?\n+\[\[Datei:/gi, "}}\n[[Datei:");

	// Leerzeile vor und nach Bildern
	t = t.replace(/([^\|\r\n])(\r?\n)+\[\[Datei:/g, "$1\n\n[[Datei:");
	t = t.replace(/\[Datei:(.*)(\r?\n)+([^\|\r\n])/g, "[Datei:$1\n\n$3");
	t = t.replace(/tei:([^\r\n]*)\r?\n\r?\n\[\[Da/g, "tei:$1\n[[Da");

	// Leerzeile vor und nach Überschriften
	t = t.replace(/\s*\r?\n=/g, "\n\n=");
	t = t.replace(/=\s*\r?\n\s*/g, "=\n");

	// Interwikis/Kategorien ohne Leerzeilen
	t = t.replace(/(\[\[[^\|\]:]{2,}:[^\|\]:]+\]\])\r?\n*/g, "$1\n");
	t = t.replace(/(Kategorie:.*\]\])\s*\[\[([^K])/g, "$1\n\n[[$2");

	// circa
	t = t.replace(/(circa|zirka) /g, "etwa ");
	t = t.replace(/(Circa|Zirka) /g, "Etwa ");

	// Vorlagenparameter
	// kein Leerzeichen nach |
	t = t.replace(/\n *\| *([^\r\n\|=]*)=/g, "\n|$1=");
	t = t.replace(/\n *\|([-\+]?)(\w*(align|span|color|style|width|class)=")/g, "\n|$1 $2");
	// | an den Zeilenanfang
	t = t.replace(/ *\| *(\r?\n)+ *([\w-äöüß\/]* *=)/gi, "\n|$2");
	t = t.replace(/(\n\|[^\r\n=-][^\r\n=]*[^\r\n= ])= *([^\r\n\|= ][^\r\n\|=]*)?\r?\n/g, "$1 = $2\n");
	t = t.replace(/(\n\|[^\r\n=-][^\r\n=]*[^\r\n= ])= *([^\r\n\|= ][^\r\n\|=]*)?\r?\n/g, "$1 = $2\n");
	// Leerzeichen nach =
	t = t.replace(/ = *([^=])/g, " = $1");
	// -überfl. |
	t = t.replace(/\|\s*\r?\n\}/g, "\n}");
	// Naviblock
	t = t.replace(/({{NaviBlock\r?\n(.*\n){0}\|) /g, "$1");
	t = t.replace(/({{NaviBlock\r?\n(.*\n){1}\|) /g, "$1");
	t = t.replace(/({{NaviBlock\r?\n(.*\n){2}\|) /g, "$1");
	t = t.replace(/({{NaviBlock\r?\n(.*\n){3}\|) /g, "$1");
	t = t.replace(/({{NaviBlock\r?\n(.*\n){4}\|) /g, "$1");
	t = t.replace(/({{NaviBlock\r?\n(.*\n){5}\|) /g, "$1");
	// Personendaten-BNS
	t = t.replace(/\|(NAME|ALTERNATIVNAMEN|KURZBESCHREIBUNG|(GEBURTS|STERBE)(DATUM|ORT)) = */g, "|$1=");
	// Gemeindevorlage-BNS
	t = t.replace(/\|Bürgermeistertitel =/g, "|Bürgermeistertitel=");

	// Weiterleitungsauflösung
	t = t.replace(/\[Maus( |_)\(EDV\)/g, "[Maus (Computer)");
	t = t.replace(/Frankfurt\/Oder/g, "Frankfurt (Oder)");
	t = t.replace(/Frankfurt( |_)an( |_)der( |_)Oder/g, "Frankfurt (Oder)");
	t = t.replace(/\[Aschendorf\/Ems\|?(\]?)/g, "[Aschendorf (Papenburg)|$1");
	t = t.replace(/\[Globus \(Kartographie\)(\|Globus([^\|\]]*)\]\])?((\|[^\]]*)\]\])?/g, "[Globus$4]]$2");
	t = t.replace(/\[Globus \(Kartografie\)(\|Globus([^\|\]]*)\]\])?((\|[^\]]*)\]\])?/g, "[Globus$4]]$2");
	t = t.replace(/\[(Mannheim|Heidelberg)-(Feudenheim|Jungbusch|Kirschgartshausen|Neckarau|Neckarstadt(-West|-Ost\/Wohlgelegen)?|Neuhermsheim|Neuostheim(\/Neuhermsheim)?|Schwetzingerstadt\/Oststadt|Sandhofen|Seckenheim|Vogelstang|Wallstadt|Bahnstadt|Emmertsgrund|Handschuhsheim|Neuenheim|Patrick-Henry-Village|Pfaffengrund|Wieblingen|Ziegelhausen)(\|(Feudenheim|Jungbusch|Kirschgartshausen|Neckarau|Neckarstadt(-West|-Ost\/Wohlgelegen)?|Neuhermsheim|Neuostheim(\/Neuhermsheim)?|Schwetzingerstadt\/Oststadt|Sandhofen|Seckenheim|Vogelstang|Wallstadt|Bahnstadt|Emmertsgrund|Handschuhsheim|Neuenheim|Patrick-Henry-Village|Pfaffengrund|Wieblingen|Ziegelhausen))?\|?/g, "[$2|");
	t = t.replace(/\[(Mannheim|Heidelberg)-(Innenstadt|Oststadt|Blumenau|Friedrichsfeld|Käfertal|Lindenhof|Rheinau|Schönau|Waldhof|Bergheim|Boxberg|Kirchheim|Kohlhof|Peterstal|Rohrbach|Schlierbach|Südstadt|Weststadt)\|?/g, "[$2 ($1)|");
	t = t.replace(/\[Heidelberg-Altstadt\|?/g, "[Heidelberger Altstadt|");
	t = t.replace(/([^\)])\|\]/g, "$1]");

	// Einzelnachweise
	t = t.replace(/== .* ==\r?\n(<references \/>)/g, "== Einzelnachweise ==\n$1");

	// Kommazahlen
	t = t.replace(/([0-9])\.([0-9]{1,2})( %|&nbsp;)/g, "$1,$2$3");

	// Metadaten Einwohner
	t = t.replace(/#time: j. F Y \| \{\{Metadaten Einwohnerzahl ([A-Z-]*)\|TIMESTAMP\}\} */g, "EWD|$1");
	t = t.replace(/FormatZahl\|\{\{Metadaten Einwohnerzahl ([A-Z-]*)\|([0-9]*) *\}\} */g, "EWZ|$1|$2");

	// Höhen
	t = t.replace(/\{\{Höhe\|([0-9]+)\.([0-9]+)/g, "{{Höhe|$1,$2");
	t = t.replace(/\(([0-9,\.]+)&nbsp;m\)/g, "({{Höhe|$1}})");
	t = t.replace(/([0-9,\.]+)( |&nbsp;)*m\.?( |&nbsp;)*ü(\.|ber)?( |&nbsp;)*(\[\[\w*\|)?N\.?( |&nbsp;)*N\.?\]*/g, "{{Höhe|$1|DE-NN}}");
	t = t.replace(/\{\{Höhe\|([0-9]+)\.([0-9]+)/g, "{{Höhe|$1$2");
	t = t.replace(/\{\{Höhe\|([0-9]+),([0-9]+)/g, "{{Höhe|$1.$2");

	// Standardvorlagen
	t = t.replace(/\n*(\{\{SORTIERUNG:.*\}\})\r?\n*/g, "\n\n$1\n");
	t = t.replace(/\n*(\{\{Personendaten)/g, "\n\n$1");
	t = t.replace(/(\n\}\})\n*(\{\{Link)/g, "$1\n\n$2");

	// zum Schluss
	t = t.replace(/ +\r?\n/g, "\n");


	if (t != b.value.replace(/\r+\n/g, "\n"))
	{
		b.value = t;
		a.style.color = "green";
		//e["wpDiff"].click();
	}
	else
		a.style.color = "silver";
	return false;
}

function doAutoformatCH(a)
{
	var e = document.forms["editform"].elements;
	var b = e["wpTextbox1"];
	var t = b.value;


	// Zahlen
	t = t.replace(/\.([0-9]{3})\b/g, "'$1");

	// „“ -> «»
	t = t.replace(/„([^„“]+)“/g, "«$1»");

	// Höhe m.ü.M.
	t = t.replace(/( |&nbsp;)*m(etern?|\.)?( |&nbsp;)*ü(ber|\.)?( |&nbsp;)*M(eer)?\.?/gi, " m ü. M.");
	t = t.replace(/(([0-9])')?([0-9]+) m ü\. M\./g, "{{Höhe|$2$3|CH}}");
	t = t.replace(/(([0-9])')?([0-9]+)( |&nbsp;)*\[\[[\wäöü ]*\| m ü\. M\.\]\]/g, "{{Höhe|$2$3|CH|link=true}}");

	// sbz
	t = t.replace(/(.)\s*(<!-- *schweizbezogen *-->)/g, "$1\n$2");
	t = t.replace(/(<!-- *schweizbezogen *-->)\s*/g, "$1\n");

	// BKSK
	t = t.replace(/(Begriffsklärung Schweizer Kanton\|\w\w\|)(Aargau|Appenzell Ausserrhoden|Basel-Landschaft|Basel-Stadt|Bern|Freiburg|Genf|Glarus|Graubünden|Jura|Appenzell Innerrhoden|Luzern|Neuenburg|Nidwalden|Obwalden|Schaffhausen|Schwyz|Solothurn|St. Gallen|Tessin|Thurgau|Uri|Waadt|Wallis|Zug|Zürich)\|/g, "$1");

	// BEZIRK
	t = t.replace(/\|BEZIRK.*kennt keine[^\r\n]*\r?\n/g, "");
	t = t.replace(/\|BEZIRK = \[\[(.*) \(\w*\)\|.*\]\]\r?\n/g, "|BEZIRK = $1\n");

	// EINWOHNER
	t = t.replace(/(\|GEMEINDE =(.*\n)*)(\|EINWOHNER = *[^\n]*\n)/g, "$1$3$3");
	t = t.replace(/(\|GEMEINDE =(.*\n)*)(\|STAND_EINWOHNER = *[^\n]*\n)/g, "$1$3$3");
	t = t.replace(/(Infobox Ort in der Schweiz(.*\n)*)(\|EINWOHNER = *[^\n]*\n)/g, "$1<!--Einwohnerdaten werden automatisch aus einer zentralen Vorlage eingebunden-->\n");
	t = t.replace(/(\|EINWOHNER = *[^\n]*\n)<!--Einwohnerdaten werden automatisch aus einer zentralen Vorlage eingebunden-->\n/g, "$1");
	t = t.replace(/(Infobox Ort in der Schweiz(.*\n)*)(\|STAND_EINWOHNER = *[^\n]*\n)/g, "$1");

	// Kanton
	t = t.replace(/\[\[Kanton .Schweiz..Kanton.. ..Kanton ([\w äöü]+)\|([\w äöü]+)\]\]/g, "[[Kanton $1]]");
	t = t.replace(/\[\[Kanton .Schweiz..Kantons.. ..Kanton ([\w äöü]+)\|([\w äöü]+)\]\]/g, "[[Kanton $1|Kantons $1]]");


	if (t != b.value.replace(/\r+\n/g, "\n"))
	{
		b.value = t;
		a.style.color = "green";
		//e["wpDiff"].click();
	}
	else
		a.style.color = "silver";
	return false;
}

function doAutoformatBKL(a)
{
	var e = document.forms["editform"].elements;
	var b = e["wpTextbox1"];
	var t = b.value;


	// *
	t = t.replace(/\*+ *(.*[^ ]) *\r?\n/g, "* $1\n");

	// Satzzeichen
	t = t.replace(/\* (.*[^ ]) *[,;:\.]\r?\n/g, "* $1\n");

	// siehe
	t = t.replace(/\* (eine?r?n?s? )?(.*)[,;:\.] siehe:? (\[\[.*\]\]) *\r?\n/gi, "* $3, $2\n");
	t = t.replace(/\* (eine?r?n?s? )?(.*): (\[\[.*\]\]) *\r?\n/g, "* $3, $2\n");

	// in in
	t = t.replace(/(\*.*)( in | im )(.*)( in | im )(Baden-Württemberg|Bayern|Berlin|Brandenburg|Bremen|Hamburg|Hessen|Mecklenburg-Vorpommern|Nordrhein-Westfalen|Niedersachsen|Rheinland-Pfalz|Sachsen(-Anhalt)?|Saarland|Schleswig-Holstein|Thüringen)\r?\n/g, "$1$2$3, $5\n");

	// Formulierungen
	t = t.replace(/(bezeichnet|steht für) folgend.*Orte/gi, "ist der Name folgender Orte");
	t = t.replace(/ist .*Familienname.*\n/gi, "ist der Name folgender Personen:\n");


	if (t != b.value.replace(/\r+\n/g, "\n"))
	{
		b.value = t;
		a.style.color = "green";
		//e["wpDiff"].click();
	}
	else
		a.style.color = "silver";
	return false;
}

function doAutoformatInfobox(a)
{
	var e = document.forms["editform"].elements;
	var b = e["wpTextbox1"];
	var t = b.value;

	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Art *=/g,                "$1Art               =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Wappen *=/g,             "$1Wappen            =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Breitengrad *=/g,        "$1Breitengrad       =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Längengrad *=/g,         "$1Längengrad        =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Lageplan *=/g,           "$1Lageplan          =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Bundesland *=/g,         "$1Bundesland        =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Regierungsbezirk *=/g,   "$1Regierungsbezirk  =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Landkreis *=/g,          "$1Landkreis         =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Höhe *=/g,               "$1Höhe              =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Fläche *=/g,             "$1Fläche            =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)PLZ *=/g,                "$1PLZ               =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)PLZ-alt *=/g,            "$1PLZ-alt           =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Vorwahl *=/g,            "$1Vorwahl           =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Kfz *=/g,                "$1Kfz               =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Gemeindeschlüssel *=/g,  "$1Gemeindeschlüssel =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Gliederung *=/g,         "$1Gliederung        =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Adresse *=/g,            "$1Adresse           =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Website *=/g,            "$1Website           =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Bürgermeister *=/g,      "$1Bürgermeister     =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Bürgermeistertitel *=/g, "$1Bürgermeistertitel=");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Partei *=/g,             "$1Partei            =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)LOCODE *=/g,             "$1LOCODE            =");
	t = t.replace(/(\{Inf.*nde in D(.*\n\|)*)Straße *=/g,             "$1Straße            =");


	if (t != b.value.replace(/\r+\n/g, "\n"))
	{
		b.value = t;
		a.style.color = "green";
		//e["wpDiff"].click();
	}
	else
		a.style.color = "silver";
	return false;
}

addOnloadHook(function()
{
	var vForm = document.getElementById("editform");
	if (!vForm) return;

	var vLinkTMg = document.createElement("A");
	vLinkTMg.href = "#";
	vLinkTMg.onclick = function() { return autoFormatter.click(this); }
	vLinkTMg.appendChild(document.createTextNode("Auto-Format"));

	var vLink = document.createElement("A");
	vLink.href = "#";
	vLink.onclick = function() { return doAutoformat(this); }
	vLink.appendChild(document.createTextNode("Autoformat"));

	var vLinkCH = document.createElement("A");
	vLinkCH.href = "#";
	vLinkCH.onclick = function() { return doAutoformatCH(this); }
	vLinkCH.appendChild(document.createTextNode("CH"));

	var vLinkBKL = document.createElement("A");
	vLinkBKL.href = "#";
	vLinkBKL.onclick = function() { return doAutoformatBKL(this); }
	vLinkBKL.appendChild(document.createTextNode("BKL"));

	var vLinkInfobox = document.createElement("A");
	vLinkInfobox.href = "#";
	vLinkInfobox.onclick = function() { return doAutoformatInfobox(this); }
	vLinkInfobox.appendChild(document.createTextNode("Infobox"));

	var vElemente = vForm.getElementsByTagName("SPAN");
	for (var i = vElemente.length - 1; i >= 0; i--)
		if (vElemente[i].className === "editHelp")
		{
			vElemente = vElemente[i];
			break;
		}
	vElemente.appendChild(document.createTextNode(" | "));
	vElemente.appendChild(vLinkTMg);
	vElemente.appendChild(document.createTextNode(" | "));
	vElemente.appendChild(vLink);
	vElemente.appendChild(document.createTextNode(" | "));
	vElemente.appendChild(vLinkCH);
	vElemente.appendChild(document.createTextNode(" | "));
	vElemente.appendChild(vLinkBKL);
	vElemente.appendChild(document.createTextNode(" | "));
	vElemente.appendChild(vLinkInfobox);
});