Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

MediaWiki:Gadget-HotCat.js

MediaWiki-Schnittstellenseite
Weitere Sprachen

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
/*-------------------------------------------------------------*\
||                       --- HotCat ---                        ||
|| Vereinfachte Kategorie- und Interwiki-Link-Änderungen,      ||
|| ohne die Seite beabeiten zu müssen. Basierend auf           ||
|| http://commons.wikimedia.org/wiki/MediaWiki:Gadget-         ||
||    HotCat.js/Documentation                                  ||
||                                                             ||
|| Wichtigste Funktionen:                                      ||
|| hotcat_init()         Initialisierung                       ||
|| hotcat_edit()         Bearbeitet eine Kategorie             ||
|| hotcat_getcatlist()   Liste mit Kategorie-Vorschlägen       ||
|| hotinter_edit()       Bearbeitet einen Interwiki-Link       ||
|| hotinter_bot()        Bot bei Wookieepedia                  ||
|| refreshcategorylist() Aktualisiert die Kategorien-Anzeige   ||
|| refreshinterwikilist() Aktualisiert die Interwiki-Anzeige   ||
|| refreshinterwikicleanup() Aktualisiert Liste falscher IW-Ls ||
\*-------------------------------------------------------------*/

function hotcat_addlink() {
//Wenn die Seite automatisch geändert werden soll
if (window.location.href.search(/&hotcat=true/) != -1  &&  wgAction=="edit") {
	parent.document.getElementById("submitstatus_span_de").innerHTML+=" Kategorien werden geändert...";
	newcattext=document.getElementById("wpTextbox1").innerHTML;
	
	//Ergänze Qualitätssicherungsvorlage
	checkedqs=parent.checkedqs;
	checkedqs_desc=parent.checkedqs_desc;
	if (checkedqs!="keine Vorlage") {
		if (checkedqs=="KQ" && wgNamespaceNumber==6) checkedqs="Bildquelle";
		if (checkedqs_desc=="") {
			newcattext='\{\{'+checkedqs+'\}\}\n'+newcattext;
		} else if(parent.checkbox_qs==false) {
			newcattext='\{\{'+checkedqs+'|1='+checkedqs_desc+'\}\}\n'+newcattext;
		} else {
			newcattext='\{\{'+checkedqs+'|1='+checkedqs_desc+' --\~\~\~\~\}\}\n'+newcattext;
		}
	}
	
	//Ändere Kategorien
	defaultsortvar=parent.defaultsortvar_parent;
	if (defaultsortvar==wgPageName) {defaultsortvar="";}
	hotcat_categories=parent.hotcat_categories;
	if (newcattext.search(/\[\[\Kategorie:.+]\]/)!=-1) {
		newcattext=newcattext.replace(/(\[\[\Kategorie:.+]\] ?\r?\n?)+/g, "__KATEGORIELISTE__");
	} else {//Wenn es noch keine Kategorien gibt
		if (wgNamespaceNumber==6 && newcattext.search(/Hochladen/!=-1)) {//Füge die Kategorien bei Bildern unter "Kategorie" in der Hochlagen-Vorlage ein
			newcattext=newcattext.replace(/\|Kategorie=(.+)}}/, "|Kategorie=__KATEGORIELISTE__$1}}");
		} else {//Ansonsten am Ende der Seite
			newcattext+="\n__KATEGORIELISTE__";
		}
	}
	hotcat_wikimarkup=document.getElementById("wpTextbox1").innerHTML;
	defaultsortvar_old="";
	while (hotcat_wikimarkup.search(/\{\{DEFAULTSORT:.+\}\}/)!=-1) {
		hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("\{\{DEFAULTSORT:")+1, hotcat_wikimarkup.length);
		defaultsortvar_old=hotcat_wikimarkup.substring(13, hotcat_wikimarkup.indexOf("}"));
	}
	if (defaultsortvar=="") {//löschen
		newcattext=newcattext.replace(/\{\{DEFAULTSORT:.+\}\}/g, "");
	} else if (defaultsortvar_old!=defaultsortvar) {//ändern
		if (newcattext.search(/\{\{DEFAULTSORT:.+\}\}/)!=-1) {
			newcattext=newcattext.replace(/\{\{DEFAULTSORT:.+\}\}/g, "\{\{DEFAULTSORT:"+defaultsortvar+"\}\}");
		} else {
			newcattext=newcattext.replace(/__KATEGORIELISTE__/, "\{\{DEFAULTSORT:"+defaultsortvar+"\}\}\n__KATEGORIELISTE__");
		}
	}
	newcattext_preview="";
	for (i=0; i<hotcat_categories.length; i++) {
		newcattext_preview+="[[Kategorie:"+hotcat_categories[i]+"]]\n";
	}
	newcattext=newcattext.replace(/__KATEGORIELISTE__/, newcattext_preview);
	newcattext=newcattext.replace(/__KATEGORIELISTE__/g, "");
	newcattext=newcattext.replace(/&amp;/g, "&");
	newcattext=newcattext.replace(/&lt;/g, "<");
	newcattext=newcattext.replace(/&gt;/g, ">");

	//Ändere Interwiki-Links
	interwiki_links_old=new Array();
	hotcat_wikimarkup=document.getElementById("wpTextbox1").innerHTML;
	for (i=0; i<interwiki_list.length; i++) {
		interwiki_regexp = new RegExp("\\[\\["+interwiki_list[i][0]+":(.+)\\]\\]");
		if (interwiki_regexp.test(hotcat_wikimarkup)) {
			interwiki_links_old.push(new Array(interwiki_list[i][0], RegExp.$1, false));
			interwiki_regexp = new RegExp("\\{\\{(Vorlage:)?FA\\|"+interwiki_list[i][0]+"\\}\\}");
			if (interwiki_regexp.test(hotcat_wikimarkup)) {
				interwiki_links_old[interwiki_links_old.length-1][2]=true;
			}
		}
	}
	interwiki_links=parent.interwikis;
	if (hotcat_categories.length>0 && interwiki_links_old.length==0 && interwiki_links.length>0) {newcattext+="\n"}
	for (i=0; i<interwiki_list.length; i++) {//Alte Links löschen
		interwiki_regexp = new RegExp("\\[\\["+interwiki_list[i][0]+":(.+)\\]\\]\\r?\\n?","g");
		newcattext=newcattext.replace(interwiki_regexp, "");
		interwiki_regexp = new RegExp("{{(Vorlage:)?FA\\|"+interwiki_list[i][0]+"}}\\r?\\n?\\r?\\n?","g");
		newcattext=newcattext.replace(interwiki_regexp, "");
	}
	for (i=0; i<interwiki_links.length; i++) {//neue einfügen
		if (interwiki_links[i][2]==true) {
			newcattext+='\{\{FA|'+interwiki_links[i][0]+'\}\}\n';
		}
	}
	for (i=0; i<interwiki_links.length; i++) {
		newcattext+="[["+interwiki_links[i][0]+":"+interwiki_links[i][1]+"]]\n";
	}
	
	//Erstelle Zusammenfassung
	hotcat_categories_old=new Array();
	hotcat_wikimarkup=document.getElementById("wpTextbox1").innerHTML;
	while (hotcat_wikimarkup.search(/\[\[Kategorie:.+\]\]/)!=-1) {
		hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("[[Kategorie:")+1, hotcat_wikimarkup.length);
		hotcat_categories_old.push(hotcat_wikimarkup.substring(11, hotcat_wikimarkup.indexOf("]")));
	}
	hotcat_diffarrays=comparearrays("cat", hotcat_categories_old, hotcat_categories);
	hotcat_categories_old=hotcat_diffarrays[0].slice(0);
	hotcat_categories=hotcat_diffarrays[1].slice(0);
	hotinter_diffarrays=comparearrays("interwiki", interwiki_links_old, interwiki_links);
	interwiki_links_old=hotinter_diffarrays[0].slice(0);
	interwiki_links=hotinter_diffarrays[1].slice(0);
	//Jetzt enthalten die Arrays nur noch die Änderungen
	summary_elements=new Array();
	//Gelöschte Elemente
	if (hotcat_categories_old.length>0) {
		summary_working="- [[Kategorie:"+ (hotcat_categories_old[0]+"|").slice(0,hotcat_categories_old[0].indexOf("|")) +"]]";
		for (i=1; i<hotcat_categories_old.length; i++) {
			summary_working+=", [[Kategorie:"+ (hotcat_categories_old[i]+"|").slice(0,hotcat_categories_old[i].indexOf("|")) +"]]";
		}
		if (interwiki_links_old.length>0) {
			for (i=0; i<interwiki_links_old.length; i++) {
				summary_working+=", [["+interwiki_links_old[i][0]+":"+interwiki_links_old[i][1]+"]]";
			}
		}
		summary_elements.push(summary_working);
	} else if (interwiki_links_old.length>0) {
		summary_working="- [["+interwiki_links_old[0][0]+":"+interwiki_links_old[0][1]+"]]";
		for (i=1; i<interwiki_links_old.length; i++) {
			summary_working+=", [["+interwiki_links_old[i][0]+":"+interwiki_links_old[i][1]+"]]";
		}
		summary_elements.push(summary_working);
	}
	//Ergänzte Elemente
	if (hotcat_categories.length>0) {
		summary_working="+ [[Kategorie:"+ (hotcat_categories[0]+"|").slice(0,hotcat_categories[0].indexOf("|")) +"]]";
		for (i=1; i<hotcat_categories.length; i++) {
			summary_working+=", [[Kategorie:"+ (hotcat_categories[i]+"|").slice(0,hotcat_categories[i].indexOf("|")) +"]]";
		}
		if (interwiki_links.length>0) {
			for (i=0; i<interwiki_links.length; i++) {
				summary_working+=", [["+interwiki_links[i][0]+":"+interwiki_links[i][1]+"]]";
			}
		}
		summary_elements.push(summary_working);
	} else if (interwiki_links.length>0) {
		summary_working="+ [["+interwiki_links[0][0]+":"+interwiki_links[0][1]+"]]";
		for (i=1; i<interwiki_links.length; i++) {
			summary_working+=", [["+interwiki_links[i][0]+":"+interwiki_links[i][1]+"]]";
		}
		summary_elements.push(summary_working);
	}
	if (parent.checkedqs!="keine Vorlage") {
		if (checkedqs_desc=="") {
			summary_elements.push(parent.checkedqs+"-Vorlage ergänzt.");
		} else {
			summary_elements.push(parent.checkedqs+"-Vorlage ergänzt ("+checkedqs_desc+").");
		}
	}
	if (defaultsortvar_old!=defaultsortvar) {
		if (defaultsortvar_old=="") {
			summary_elements.push("DEFAULTSORT ergänzt.");
		} else if (defaultsortvar=="") {
			summary_elements.push("DEFAULTSORT entfernt.");
		} else {
			summary_elements.push("DEFAULTSORT geändert.");
		}
	}

	summary="[[Hilfe:HotCat|HotCat]]";
	if (parent.hotcat_comment && parent.hotcat_comment!=undefined && parent.hotcat_comment!="") {//Wenn eigener Kommentar angegeben wurde
		summary+=" ("+parent.hotcat_comment+")";
	}
	summary+=": "+summary_elements.join(" | ");
	if (summary_elements.length==0) {
		summary+="Reihenfolge der Kategorien oder FA-Vorlage(n) geändert.";
	}

	//Markiere Änderung als "Kleinigkeit"
	if (document.getElementById("wpMinoredit")) document.getElementById("wpMinoredit").checked=true;
	//Ändere die Kategorien
	document.getElementById("wpTextbox1").value=newcattext;
	//Ergänze Zusammenfassung
	document.getElementById("wpSummary").value=summary;
	//Sende ab
	document.getElementById("editform").submit();
	return;
}

//Bearbeitungsfenster schließen, wenn Änderung abgeschlossen ist
if (parent.document.getElementById("submitstatus_table")) {
	window.onload=function(){
		window.setTimeout('parent.document.getElementById("submitstatus_table").removeChild(parent.document.getElementById("submitstatus_tr_de"));',500);
	}
	return;
}

//Prüfen, ob HotCat aktiviert werden soll: Abbruch, wenn
//nur Administratoren die Seite bearbeiten dürfen und man selber keiner ist
/*if (!hotcat_issysop) {
for (i=0; i<wgRestrictionEdit.length; i++) {if (wgRestrictionEdit[i]=="sysop") {return;}}
}*/
//oder wenn man die Seite bearbeitet oder im Vorschau-Modus ist
if (wgAction=="edit" || wgAction=="submit" || wgAction=="history" || wgAction=="delete" || wgAction=="protect" || wgAction=="unprotect" || wgAction=="watch" || wgAction=="unwatch" || wgCanonicalNamespace=="Special") {return;}
//oder wenn man im Versionsvergleich ist
var obj=document.getElementsByTagName("table");
for(i=0; i<obj.length; i++) {if (obj[i].className=="diff") {return;}}
//oder wenn sich die Seite im Vorlagen-Namensraum befindet (denn dann werden Kategorien meistens über die Vorlage eingefügt)
if (wgNamespaceNumber!=0 && wgNamespaceNumber!=4 && wgNamespaceNumber!=6 && wgNamespaceNumber!=12 && wgNamespaceNumber!=14) {return;}
//oder wenn die Seite nicht existiert
if (wgCurRevisionId == false) {return;}

//Wenn die Seite noch keine Kategorien besitzt, muss die Kategorie-Box ergänzt werden
if (!document.getElementById("catlinks")) {
	document.getElementById("bodyContent").innerHTML+='<div id="catlinks"><p class="catlinks"><a href="/wiki/index.php/Spezial:Categories" title="Spezial:Categories">Kategorien</a>: <i>leer</i></p></div>';
}

document.getElementById("catlinks").innerHTML+='<div id="hotcat_initlink" align="right"><small><a href="javascript:loadRCData2();">HotCat</a></small></div>';	
}

hotcat_getRCDataRO = getXmlHttpRequestObject();
//Starte eine Anfrage nach dem Inhalt der Seite
function loadRCData2() {
if (hotcat_getRCDataRO.readyState == 4 || hotcat_getRCDataRO.readyState == 0) {
	document.getElementById("hotcat_initlink").innerHTML='<img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif">';
	hotcat_getRCDataRO.open("GET", wikiurl1+encodeURIComponent(wgPageName)+'&action=raw&nocache='+wgCurRevisionId, true);
	hotcat_getRCDataRO.onreadystatechange = hotcat_init;
	hotcat_getRCDataRO.send(null);
}
}

//Initialisierung von HotCat
function hotcat_init() {
//Wenn Antwort kommt
if (hotcat_getRCDataRO.readyState != 4) {return;}
document.getElementById("hotcat_initlink").innerHTML="";
hotinter_bot("login");//Login bei allen anderen Wikis
hotcat_wikimarkup=hotcat_getRCDataRO.responseText;

//---- AJAX-AUSWERTUNG ---- //

defaultsortname="";
hotcat_categories=new Array();
if (hotcat_wikimarkup.search(/\{\{DEFAULTSORT:.+\}\}/)!=-1) {
	hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("\{\{DEFAULTSORT:"), hotcat_wikimarkup.length);
	defaultsortname=hotcat_wikimarkup.substring(14, hotcat_wikimarkup.indexOf("}}"));
}
while (hotcat_wikimarkup.search(/\[\[Kategorie:.+\]\]/)!=-1) {
	hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("[[Kategorie:")+1, hotcat_wikimarkup.length);
	hotcat_categories.push(hotcat_wikimarkup.substring(11, hotcat_wikimarkup.indexOf("]")));
}
catlinks_old=document.getElementById("catlinks").innerHTML;
catlinks_old=catlinks_old.replace(/<p class=["']catlinks["']><a href=["']\/wiki\/index.php5?(\/|(\?title=))Spezial\:Categories["']/,"");
catlinks_old=catlinks_old.replace(/ title=["']Spezial:Categories["']>Kategorien?<\/a>: <span dir=["']ltr["']>/,"");
catlinks_old=catlinks_old.replace(/<\/span><\/p><div id="hotcat_initlink" align="right"><\/div>/,"");
catlinks_old=catlinks_old.split(/<\/span> \| <span dir=["']ltr["']>/);
existingcategories=new Array();//Kategorien, die es gibt
missingcategories=new Array();//Kategorie, die es nicht gibt
hidden_categories=new Array();//Kategorien, die über eine Vorlage eingebunden wurden
for (i=0; i<catlinks_old.length; i++) {
	if (catlinks_old[i].search(/class=["']new["']/)==-1) {
		catlinks_old[i]=catlinks_old[i].replace(/<a href="\/wiki\/index\.php5?(\/|(\?title=))Kategorie:.+" title="Kategorie:.+">(.+)<\/a>/, "$3");
		existingcategories.push(catlinks_old[i]);
	} else {
		catlinks_old[i]=catlinks_old[i].replace(/<a href="\/wiki\/index\.php5?\?title=Kategorie:.+&amp;action=edit" class="new" title="Kategorie:.+">(.+)<\/a>/, "$1");
		missingcategories.push(catlinks_old[i]);
	}
	//Versteckte Kategorien herausfinden
	for (j=0; j<hotcat_categories.length; j++) {
		if (i<0) iworking=0; else iworking=i;
		if (hotcat_categories[j].indexOf("|")!=-1)
		hotcat_working=hotcat_categories[j].substring(0,hotcat_categories[j].indexOf("|"))
		else hotcat_working=hotcat_categories[j];
		if (catlinks_old[iworking]==hotcat_working) {
			catlinks_old.splice(i, 1);
			if (i>-1)i--;
		}
	}
}
for (i=0; i<catlinks_old.length; i++) {
	hidden_categories.push(catlinks_old[i]);
}

interwikis=new Array();
//Prüfe, welche Interwiki-Links in der Seite sind
for (i=0; i<interwiki_list.length; i++) {
	interwiki_regexp = new RegExp("\\[\\["+interwiki_list[i][0]+":(.+)\\]\\]");
	if (interwiki_regexp.test(hotcat_getRCDataRO.responseText)) {
		interwikis.push(new Array(interwiki_list[i][0], RegExp.$1, false));//Sprachcode, Lemma, FA
		interwiki_regexp = new RegExp("\\{\\{(Vorlage:|Template:)?FA\\|"+interwiki_list[i][0]+"\\}\\}");
		if (interwiki_regexp.test(hotcat_getRCDataRO.responseText)) {
			interwikis[interwikis.length-1][2]=true;
		}
	}
}

//---- INTERFACE ---- //

catlinks_new='<div id="catlinks2"><div id="catlinks"><p class="catlinks">';
catlinks_new+='<h2 style="padding-top: 0px;"><span class="editsection"><a href="/wiki/index.php/Hilfe:HotCat" target="_blank">HotCat-Hilfe</a> | <a href="javascript:hotcat_edit(\'cancel\');">Schließen</a></span> <span class="mw-headline"><img src="http://www.jedipedia.de/wiki/thumb.php?f=HOTCAT+Logo.png&w=80" alt="Eine rote Katze läuft zwischen den Worten HOT und CAT." title="HOT CAT"></h2>';
catlinks_new+='<div style="width: 695px; float: left; margin-bottom: 30px;">';

//Kategorien
catlinks_new+='<h3><span class="editsection"></span> <span class="mw-headline">Kategorien</span></h3>';
catlinks_new+='<table cellspacing=3 style="background-color:transparent;">';
catlinks_new+='<tr><td align="right">\{\{DEFAULTSORT:</td><td><input value="'+defaultsortname+'" size="60" id="defaultsort" onfocus="hotcat_edit(\'defaultsort_focus\')" style="width: 386px;"> \}\}</td></tr>';
catlinks_new+='<tr><td></td><td><small style="color: #555;">Beispiel: &bdquo;Anakin Skywalker&ldquo; wird als &bdquo;Skywalker, Anakin&ldquo; einsortiert.</small></td></tr>';
catlinks_new+='<tr><td align="right">Kategorie erg&auml;nzen:</td><td><span id="vorschlaegecreatecatname" style="position:absolute;left:150px;width:300px;height:100px;margin-top:-112px;padding:5px;overflow:auto;border:1px solid #aaa;background-color:#f9f9f9;display:none;" onclick="hotcat_edit(\'openbox\',\'vorschlaegecreatecatname\')"><b>Vorschläge:</b></span><input size="60" id="createcatname" onkeyup="hotcat_keyup(\'createcatname\');" onfocus="hotcat_edit(\'openbox\',\'vorschlaegecreatecatname\')" onblur="hotcat_edit(\'closebox\',\'vorschlaegecreatecatname\')" style="width: 386px;"> <input onclick="hotcat_edit(\'add\')" type="button" value="Hinzufügen"></td></tr>';
catlinks_new+='<tr><td></td><td><span id="categorylist"></span></td></tr>';
catlinks_new+='<tr><td></td><td>Vor kurzem gel&ouml;schte Kategorien: <span id="hotcat_recentlyremoved"><i>nichts</i></span></td></tr>';
if (hidden_categories.length>0) {
	catlinks_new+='<tr><td></td><td>Versteckte Kategorien: '+hidden_categories.join(", ")+'</td></tr>';
	catlinks_new+='<tr><td></td><td><small style="color: #555;">Diese Kategorien werden durch Vorlagen eingebunden und können nicht mit HotCat bearbeitet werden.</small></td></tr>';
}
catlinks_new+='<tr><td colspan=2><br>';

//Qualitätssicherungsvorlagen
catlinks_new+='<h3><span class="editsection"></span> <span class="mw-headline">Qualitätssicherungsvorlage</span></h3></td></tr>';
catlinks_new+='<tr><td align="right">Vorlage wählen:</td><td><ul style="margin: -5px;">';
for (i=0; i<qs_vorlagen.length; i++) {
	if (qs_vorlagen[i]=="QM") {if (wgNamespaceNumber==6) {//Bild-Namensraum
		catlinks_new+='<li style="display:inline-block; margin-left:10px;"><input type="radio" name="vorlagen" value="'+qs_vorlagen[i]+'"> '+qs_vorlagen[i]+'</li>';
	}} else if (qs_vorlagen[i]=="keine Vorlage") {
		catlinks_new+='<li style="display:inline-block; margin-left:10px;"><input type="radio" name="vorlagen" value="'+qs_vorlagen[i]+'" checked> '+qs_vorlagen[i]+'</li>';
	} else {
		catlinks_new+='<li style="display:inline-block; margin-left:10px;"><input type="radio" name="vorlagen" value="'+qs_vorlagen[i]+'"> '+qs_vorlagen[i]+'</li>';
	}
}
catlinks_new+='</ul></td></tr>';
catlinks_new+='<tr><td>Begründung (optional):</td><td><input id="qsvorlage_desc" size=60 style="width: 386px;"></td></tr>';
catlinks_new+='<tr><td></td><td><small style="color: #555;">Beispiel: &bdquo;Für dieses Bild ist keine ausreichende Quelle vorhanden.&ldquo;</small> <input id="qsvorlage_checkbox" type="checkbox" checked> Signatur</td></tr></table></div>';

//Interwiki-Links
catlinks_new+='<div style="min-width: 300px; float: left; margin-bottom: 30px;"><h3><span class="editsection">';
catlinks_new+='<a href="http://www.google.de/search?q=';
if (interwikis.length>0) catlinks_new+='allintitle:+';
catlinks_new+='site:starwars.wikia.com+OR+site:ossus.pl+OR+site:wookiepedia.fr+';
for (i=0; i<3; i++) {
	catlinks_new+=encodeURIComponent(wgTitle.replace(/ ?\(.+\)/, "").split(" ").join("+OR+"));
	GoogleEN: for (j=0; j<interwikis.length; j++) {if (interwikis[j][0]=="en" && interwikis[j][1]!=wgTitle) {
		catlinks_new+='+OR+'+encodeURIComponent(interwikis[j][1].replace(/\(.+\)/, "").split(" ").join(" OR "));break GoogleEN;
	}}
}
//.replace(/von OR (.+)( OR .+)?/)
catlinks_new+='&num=100&filter=0" target="_blank">Links suchen</a>';
catlinks_new+='</span> <span class="mw-headline">InterWiki-Links</span></h3>';
catlinks_new+='<table cellspacing=3 style="background-color:transparent;">';
catlinks_new+='<tr><td width=130 align="right">InterWiki ergänzen:</td><td>\[\[<select id="addinterwikikuerzel" style="height: 22px;">';
for (i=0; i<interwiki_list.length; i++) {
	catlinks_new+='<option title="'+interwiki_list[i][1]+'"';
	if(interwiki_list[i][0]=="de")catlinks_new+=' disabled';
	catlinks_new+='>'+interwiki_list[i][0]+'</option>';
}
catlinks_new+='</select>:<input size="50" value="'+wgTitle+'" id="addinterwiki" style="width: 350px;">\]\] <input type="button" value="Hinzufügen" onclick="hotinter_edit(\'add\');"></td></tr>';
catlinks_new+='<tr><td></td><td><small style="color: #555;">Damit der Artikel in der jeweiligen Sprache verlinkt werden kann, musst du hier seinen Titel eintragen.</small></td></tr>';
catlinks_new+='<tr><td align="right" valign="top">InterWikis ändern:</td><td><div id="interwikilist"></div><br>';
catlinks_new+='<tr><td align="right" valign="top">InterWiki-CleanUp:</td><td><div id="interwiki_cleanup_loading"><img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif"> Die InterWiki-Links bei anderen Wikis werden geladen. (<span id="interwiki_cleanup_loadingstatus">0</span>/'+interwikis.length+')</div><div id="interwiki_cleanup"></div></td></tr></table></div>';
catlinks_new+='<br style="clear: left;"><div style="background-color: #AAA; padding: 10px;">';
catlinks_new+='<div style="margin-left: 52px; margin-bottom: 3px;">Kommentar: <input size="60" id="hotcatcomment" style="width: 386px;"> <input type="button" value="Speichern" onclick="hotcat_edit(\'submit\')"></div>';
catlinks_new+='<span style="display: inline-block; margin-left: 130px;"><small>Die Angabe eines Kommentars ist optional.</small></span><input type="button" value="Abbrechen" onclick="hotcat_edit(\'cancel\')" style="float: right;">';
catlinks_new+='<br style="clear:right;"></div></p></div></div>';

document.getElementById("bodyContent").innerHTML+=catlinks_new;
refreshcategorylist();
hotinter_bot("createlist");
refreshinterwikilist();
}

closebox=new Array();
function hotcat_edit(mode, id) {
	if (mode=="add" && document.getElementById("createcatname").value!="") {//Kategorie hinzufügen
		catadd=true;
		for (j=0; j<hotcat_blacklist.length; j++) {
			if (hotcat_blacklist[j]==document.getElementById("createcatname").value) {
				catadd=false;
				alert("Diese Kategorie kann nicht hinzugefügt werden, weil sie über eine Vorlage eingebunden werden muss.");
				break;
			}
		}
		if (catadd==true) {
			hotcat_categories.push(document.getElementById("createcatname").value);
			refreshcategorylist();
			document.getElementById("createcatname").value="";
		}
	} else if (mode=="del") {//Kategorie löschen
		categoryismissing="";
		for (j=0; j<missingcategories.length; j++) {
			if (hotcat_categories[id]==missingcategories[j]) {categoryismissing=' class="new"';}
		}
		if (document.getElementById("hotcat_recentlyremoved").innerHTML=="<i>nichts</i>") {
			document.getElementById("hotcat_recentlyremoved").innerHTML='<span id="removed_'+hotcat_categories[id]+'"><a href="/wiki/index.php/Kategorie:'+hotcat_categories[id]+'"'+categoryismissing+'>'+hotcat_categories[id]+'</a> <a href="javascript:hotcat_edit(\'rev\',\''+hotcat_categories[id]+'\')" title="wiederherstellen">&#8634;</a></span>';
		} else {
			document.getElementById("hotcat_recentlyremoved").innerHTML+='<span id="removed_'+hotcat_categories[id]+'">, <a href="/wiki/index.php/Kategorie:'+hotcat_categories[id]+'"'+categoryismissing+'>'+hotcat_categories[id]+'</a> <a href="javascript:hotcat_edit(\'rev\',\''+hotcat_categories[id]+'\')" title="wiederherstellen">&#8634;</a></span>';
		}
		hotcat_categories.splice(id,1);
		refreshcategorylist();
	} else if (mode=="rev") {//Gelöschte Kategorie wiederherstellen
		hotcat_categories.push(id);
		refreshcategorylist();
		document.getElementById("removed_"+id).innerHTML="";
	} else if (mode=="edit") {//Bearbeitungsfeld öffnen
		document.getElementById("category_"+id).innerHTML='<font color="#bbb">&ndash;</font> <font color="#bbb">&plusmn;</font> <font color="#bbb">&uarr;</font> <font color="#bbb">&darr;</font> <span id="vorschlaegenewcatname'+id+'" style="position:absolute;width:350px;height:100px;margin-top:-135px;overflow:auto;border:1px solid #aaa;background-color:#f9f9f9;display:none;padding:5px;left:250px;" onclick="hotcat_edit(\'openbox\',\'vorschlaegenewcatname'+id+'\')"><b>Vorschläge:</b></span><input value="'+hotcat_categories[id]+'" size="40" id="newcatname'+id+'" onkeyup="hotcat_keyup(\'newcatname'+id+'\');" onfocus="hotcat_edit(\'openbox\',\'vorschlaegenewcatname'+id+'\')" onblur="hotcat_edit(\'closebox\',\'vorschlaegenewcatname'+id+'\')"> <input onclick="hotcat_edit(\'editok\','+id+')" type="button" value="Übernehmen"> <input onclick="hotcat_edit(\'editcancel\','+id+')" type="button" value="Abbrechen">';
		hotcat_keyup("newcatname"+id);
	} else if (mode=="editok") {//Kategorie ändern
		hotcat_categories[id]=document.getElementById("newcatname"+id).value;
		refreshcategorylist();
	} else if (mode=="editcancel") {//Bearbeitungsfeld schließen
		refreshcategorylist();
	} else if (mode=="submit") {//Änderungen speichern
		defaultsortvar_parent=document.getElementById("defaultsort").value;
		hotcat_comment=document.getElementById("hotcatcomment").value;
		checkedqs_desc=document.getElementById("qsvorlage_desc").value;
		checkbox_qs=document.getElementById("qsvorlage_checkbox").checked;
		checkedqs="keine Vorlage";
		if (wgNamespaceNumber!=6) for (i=0; i<qs_vorlagen.length; i++) {if (qs_vorlagen[i]=="QM")qs_vorlagen.splice(i,1);}
		for (i=0; i<document.getElementsByName("vorlagen").length; i++) {
			if (document.getElementsByName("vorlagen")[i].checked) {checkedqs=qs_vorlagen[i];}
		}
		catlinks_submit ='<div id="catlinks"><img src="http://www.jedipedia.de/wiki/thumb.php?f=HOTCAT+Logo.png&w=150" alt="Eine rote Katze läuft zwischen den Worten HOT und CAT." title="HOT CAT" align="right"><h3>HotCat ist am Ändern.</h3>';
		catlinks_submit+='<b>Bitte schließe das Fenster erst, wenn die Änderungen abgeschlossen sind und die Bestätigung erscheint!</b><br><br>';
		catlinks_submit+='<table id="submitstatus_table" width="100%" style="background-color:transparent;">';
		catlinks_submit+='<tr id="submitstatus_tr_de"><td valign="top">de</td><td><img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif"> <span id="submitstatus_span_de">Seite wird geladen...</span><br>';
		catlinks_submit+='<iframe src="'+wikiurl1+encodeURIComponent(wgPageName)+'&action=edit&hotcat=true&printable=yes" width=100% height=100></iframe></td></tr>';
		catlinks_submit+='</table></div>';
		document.getElementById("catlinks2").innerHTML=catlinks_submit;
		hotinter_bot("gettoken");
	} else if (mode=="cancel") {//HotCat beenden
		document.getElementById("bodyContent").removeChild(document.getElementById("catlinks2"));
		hotcat_addlink();
	} else if (mode=="vorschlagclick") {
		oldinputvalue=document.getElementById(id[0]).value;
		document.getElementById(id[0]).value=id[1].replace(/%/g,'"');
		document.getElementById(id[0]).style.color="#002bb8";
		document.getElementById(id[0]).focus();
	} else if (mode=="openbox") {//Vorschläge-Kasten öffnen
		if (closebox[id]) {window.clearTimeout(window.closebox[id]);}
		document.getElementById(id).style.display="block";
	} else if (mode=="closebox") {//Vorschläge-Kasten schließen
		closebox[id]=window.setTimeout('document.getElementById("'+id+'").style.display="none";',175);
	} else if (mode=="defaultsort_focus") {
		if (document.getElementById("defaultsort").value=="") { 
			if (wgTitle.search(/ (von|um|auf|in|nach|beim) /)!=-1) {
				if (wgTitle.substring(0, wgTitle.indexOf(" "+RegExp.$1+" ")).search(/ /)!=-1) {
					document.getElementById("defaultsort").value=wgTitle.substring(wgTitle.indexOf(" "+RegExp.$1+" ")+RegExp.$1.length+2) + ", " + wgTitle.substring(0, wgTitle.lastIndexOf(" "));
				} else {
					document.getElementById("defaultsort").value=wgTitle.substring(wgTitle.indexOf(" "+RegExp.$1+" ")+RegExp.$1.length+2) + ", " + wgTitle.substring(0, wgTitle.indexOf(" "+RegExp.$1+" ")) + " "+RegExp.$1;
				}
			} else if (wgTitle.substring(0, 4)=="The ") {
				document.getElementById("defaultsort").value=wgTitle.substring(4)+", The";
			} else if (wgTitle.search(/ /)!= -1) {
				document.getElementById("defaultsort").value=wgTitle.substring(wgTitle.lastIndexOf(" ")+1) + ", " + wgTitle.substring(0, wgTitle.lastIndexOf(" "));
			} else {
				document.getElementById("defaultsort").value=wgTitle;
			}
			window.setTimeout('document.getElementById("defaultsort").focus();document.getElementById("defaultsort").select();',50);
		}
	} else if (mode=="up") {//Kategorie nach oben verschieben
		old1=hotcat_categories[id-1];old2=hotcat_categories[id];
		hotcat_categories[id-1]=old2;
		hotcat_categories[id]=old1;
		refreshcategorylist();
	} else if (mode=="down") {//Kategorie nach untern verschieben
		old1=hotcat_categories[id];old2=hotcat_categories[id+1];
		hotcat_categories[id]=old2;
		hotcat_categories[id+1]=old1;
		refreshcategorylist();
	}
}

//Interwiki-Link wird bearbeitet
function hotinter_edit(mode, id) {
	if (mode=="add") {//ergänzen
		newinterwikikuerzel=interwiki_list[document.getElementById("addinterwikikuerzel").selectedIndex][0];
		newinterwikitext=document.getElementById("addinterwiki").value;
		interwikis.push(new Array(newinterwikikuerzel,newinterwikitext,false));
		refreshinterwikilist();
		document.getElementById("addinterwiki").value=wgTitle;
	} else if (mode=="edit") {//bearbeiten öffnen
		hotinter_working='<font color="#bbb">&ndash;</font> <font color="#bbb">&plusmn;</font> \[\[<select id="editinterwikikuerzel'+id+'">';
		for (i=0; i<interwiki_list.length; i++) {
			hotinter_working+='<option title="'+interwiki_list[i][1]+'"';
			if (interwiki_list[i][0]=="de") {hotinter_working+=' disabled';}
			if (interwiki_list[i][0]==interwikis[id][0]) {hotinter_working+=' selected';}
			hotinter_working+='>'+interwiki_list[i][0]+'</option>';
		}
		hotinter_working+='</select>:<input value="'+interwikis[id][1]+'" style="width: 250px;" id="interwikiedit'+id+'">\]\] <input onclick="hotinter_edit(\'editsubmit\','+id+')" type="button" value="Übernehmen"> <input onclick="hotinter_edit(\'editcancel\','+id+')" type="button" value="Abbrechen">';
		document.getElementById("interwiki_"+id).innerHTML=hotinter_working;
	} else if (mode=="editsubmit") {//bearbeiten absenden
		interwikis[id][0]=interwiki_list[document.getElementById("editinterwikikuerzel"+id).selectedIndex][0];
		interwikis[id][1]=document.getElementById("interwikiedit"+id).value;
		refreshinterwikilist();
	} else if (mode=="editcancel") {//bearbeiten abbrechen
		refreshinterwikilist();
	} else if (mode=="del") {//löschen
		interwikis.splice(id,1);
		refreshinterwikilist();
	} else if (mode=="toggle") {//Exzellent-Status ändern
		if (interwikis[id][2]==true) {
			interwikis[id][2]=false;
		} else {
			interwikis[id][2]=true;
		}
		refreshinterwikilist();
	} else if (mode=="add_custom") {
		id=id.split("|");
		interwikis.push(new Array(id[0],id[1],false));
		refreshinterwikilist();
	} else if (mode=="edit_custom") {
		for (i=0; i<interwikis.length; i++) {
			if (interwikis[i][0]==id[0]) interwikis[i][1]=id[1];
		}
		refreshinterwikilist();
	} else if (mode=="rev") {//wiederherstellen, noch nicht implementiert
	}
	refreshinterwikicleanup();
}

//For-Schleife mit allen Interwiki-Links
//	Inhalt abrufen
//	Interwiki-Links heraussuchen (mit DE!!!)
//	Änderungen in Arrays schreiben
//	Prüfen ob alle Abfragen fertig; wenn ja, Liste anzeigen
//Liste mit Änderungen

//Beim Absenden:
//Login
//For-Schleife mit Änderungen
//	Gettoken
//	Edit
//Logout

//Ändert eine Seite bei Wookieepedia oder bei einem anderen Star-Wars-Wiki
hotcat_proxy="/proxy.php";
hotcat_cookie=new Array();
hotcat_token=new Array();
hotinter_bot_length=0;
interwikis_wikia=new Array();//Interwiki-Links bei anderen Wikis
interwikis_wikia_original=new Array();//Sicherungskopie
hotinter_responsetexts=new Array();//Sicherungskopie der Seiteninhalte der Wikis
hotinter_getcontents_requests=new Array();
hotcat_getLoginRequests=new Array();
hotcat_getTokenRequests=new Array();
hotcat_getEditRequests=new Array();
hotinter_edittime="";
function hotinter_bot(mode, kuerzel, lemma, summary, content) {
	if (mode=="opensearch") {//Womöglich für Vorschläge oder Prüfung, ob Seite existiert - im Moment nicht implementiert
	} else if (mode=="createlist") {//Erstelle Liste mit falschen Interwiki-Links bei anderen Wikis
		hotinter_bot_length=interwikis.length;
		for (i=0; i<interwikis.length; i++) {
			hotinter_bot("checkredirect",i);
		}
	} else if (mode=="checkredirect") {//Prüft, ob der Interwiki-Link eine Weiterleitung ist
		hotinter_getcontents_requests[kuerzel]=getXmlHttpRequestObject();
		hotinter_getcontents_requests[kuerzel].hotcat_id=kuerzel;
		hotinter_getcontents_requests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
			if (this.responseText.search(/missing=""/)!=-1) {
				alert('Der InterWiki-Link [['+interwikis[this.hotcat_id][0]+':'+interwikis[this.hotcat_id][1]+']] ist ungültig, weil er zu einer nicht existierenden Seite führt.\nEr wurde automatisch aus der Interwiki-Liste von StargateWiki entfernt.');
				hotinter_edit("del",this.hotcat_id);
				return;
			}
			if (this.responseText.search(/redirect=""/)!=-1) {//Wenn die Seite eine Weiterleitung ist
				idworking=this.hotcat_id;
				hotinter_getcontents_requests[idworking]=getXmlHttpRequestObject();
				hotinter_getcontents_requests[idworking].hotcat_id=idworking;
				hotinter_getcontents_requests[idworking].onreadystatechange=function(){if(this.readyState==4){
					//Dann prüfe, wohin die Weiterleitung führt
					returnredirect=/#.+\[\[(.+)\]\]/.exec(this.responseText);
					alert('Der InterWiki-Link [['+interwikis[this.hotcat_id][0]+':'+interwikis[this.hotcat_id][1]+']] ist eine Weiterleitung und wurde automatisch zu [['+interwikis[this.hotcat_id][0]+':'+returnredirect[1]+']] korrigiert.\nEr muss noch bei den anderen Wikis korrigiert werden.');
					interwikis[this.hotcat_id][1]=returnredirect[1];
					refreshinterwikilist();
					hotinter_bot("checkredirect",this.hotcat_id);
				}}
				hotinter_getcontents_requests[idworking].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[interwikis[idworking][0]]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[interwikis[idworking][0]]][3]+"index.php?title="+encodeURIComponent(interwikis[idworking][1])+"&action=raw"), true);
				hotinter_getcontents_requests[idworking].send(null);
			} else {//Wenn die Seite ein normalen Artikel und keine Weiterleitung ist
				hotinter_bot("fetchinterwikis",this.hotcat_id);
			}
		}}
		hotinter_getcontents_requests[kuerzel].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][3]+"api.php?action=query&titles="+encodeURIComponent(interwikis[kuerzel][1])+"&prop=info&format=xml"), true);
		hotinter_getcontents_requests[kuerzel].send(null);
	} else if (mode=="fetchinterwikis") {//Erstelle eine Liste mit Interwiki-Links bei einem bestimmten Wiki
		hotinter_getcontents_requests[kuerzel]=getXmlHttpRequestObject();
		hotinter_getcontents_requests[kuerzel].hotcat_id=kuerzel;
		hotinter_getcontents_requests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
			hotinter_responsetexts.push(this.responseText);
			interwikis_wikia[interwikis_wikia.length]=new Array();
			interwikis_wikia_original[interwikis_wikia_original.length]=new Array();//Das Array wird später verändert, daher muss eine Sicherungskopie angelegt werden
			interwikis_wikia[interwikis_wikia.length-1][0]=new Array(interwikis[this.hotcat_id][0],interwikis[this.hotcat_id][1]);
			interwikis_wikia_original[interwikis_wikia_original.length-1][0]=new Array(interwikis[this.hotcat_id][0],interwikis[this.hotcat_id][1]);
			for (j=0; j<interwiki_list.length; j++) {
				interwiki_regexp = new RegExp("\\[\\["+interwiki_list[j][0]+":(.+)\\]\\]");
				if (interwiki_regexp.test(this.responseText)) {
					innerLoop: for (k=0; k<interwiki_list[interwiki_codes[interwikis[this.hotcat_id][0]]][4].length; k++) {
						if (interwiki_list[interwiki_codes[interwikis[this.hotcat_id][0]]][4][k]==interwiki_list[j][0]) {
							interwikis_wikia[interwikis_wikia.length-1].push(new Array(interwiki_list[j][0], RegExp.$1));
							interwikis_wikia_original[interwikis_wikia_original.length-1].push(new Array(interwiki_list[j][0], RegExp.$1));
							break innerLoop;
						}
					}
				}
			}
			refreshinterwikicleanup();//Aktualisiere Liste
			hotinter_bot_length--;//Wenn alle Wikis kontrolliert wurden
			document.getElementById("interwiki_cleanup_loadingstatus").innerHTML=interwikis.length-hotinter_bot_length;
			if (hotinter_bot_length<1) document.getElementById("interwiki_cleanup_loading").innerHTML="";//Entferne Lade-Icon
		}}
		hotinter_getcontents_requests[kuerzel].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][3]+"index.php?title="+encodeURIComponent(interwikis[kuerzel][1])+"&action=raw"), true);
		hotinter_getcontents_requests[kuerzel].send(null);
	} else if (mode=="addlink") {//Füge Link bei einem anderen Wiki virtuell ein
		for (i=0; i<interwikis_wikia.length; i++) {
			if (interwikis_wikia[i][0][0]==summary) {
				interwikis_wikia[i].push(new Array(kuerzel,lemma));
				interwiki_working=new Array(interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]);
				interwikis_wikia[i].shift();
				interwikis_wikia[i].sort(sortInterwikis);
				interwikis_wikia[i].unshift(interwiki_working);
			}
		}
		refreshinterwikicleanup();
	} else if (mode=="editlink") {//Ändere Link bei einem anderen Wiki virtuell
		for (i=0; i<interwikis_wikia.length; i++) {
			if (interwikis_wikia[i][0][0]==summary) {
				for (j=0; j<interwikis_wikia[i].length; j++) {
					if (interwikis_wikia[i][j][0]==kuerzel) {
						interwikis_wikia[i][j][1]=lemma;
					}
				}
			}
		}
		refreshinterwikicleanup();
	} else if (mode=="deljp") {//Link bei StargateWiki virtuell entfernen
		for (i=0; i<interwikis.length; i++) {
			if (interwikis[i][0]==kuerzel) {
				hotinter_edit("del",i);
			}
		}
	} else if (mode=="dellink") {//Link bei einem anderen Wiki virtuell entfernen
		for (i=0; i<interwikis_wikia.length; i++) {
			if (interwikis_wikia[i][0][0]==lemma) {
				for (j=0; j<interwikis_wikia[i].length; j++) {
					if (interwikis_wikia[i][j][0]==kuerzel) {
						interwikis_wikia[i].splice(j,1);
					}
				}
			}
		}
		refreshinterwikicleanup();
	} else if (mode=="login") {//Login, um etwas zu ändern, siehe [[en:User:HotCat]]
		for (m=0; m<interwiki_list.length; m++) {
			if (interwiki_list[m][0]=="de") continue;
			hotcat_getLoginRequests[m]=getXmlHttpRequestObject();
			hotcat_getLoginRequests[m].id=m;
			hotcat_getLoginRequests[m].onreadystatechange=function(){if(this.readyState==4){
				inhalt=this.responseXML.documentElement.getElementsByTagName('login')[0];
				if (inhalt.attributes.length>4) {hotcat_cookieprefix=inhalt.attributes[4].nodeValue;hotcat_cookiesession=inhalt.attributes[5].nodeValue;} else {hotcat_cookieprefix="ossus2";hotcat_cookiesession="";}
				hotcat_cookie[interwiki_list[this.id][0]]=hotcat_cookieprefix+"UserName="+inhalt.attributes[2].nodeValue+";"+hotcat_cookieprefix+"UserID="+inhalt.attributes[1].nodeValue+";"+hotcat_cookieprefix+"Token="+inhalt.attributes[3].nodeValue+";"+hotcat_cookieprefix+"_session="+hotcat_cookiesession;
//				hotcat_cookie_alt="lgtoken="+inhalt.attributes[3].nodeValue+"&lgusername="+inhalt.attributes[2].nodeValue+"&lguserid="+inhalt.attributes[1].nodeValue;
			}}
			hotcat_getLoginRequests[m].open("POST", hotcat_proxy+"?mode=post&host="+interwiki_list[m][2]+"&path="+encodeURIComponent(interwiki_list[m][3]+"api.php?action=login&format=xml"), true);
			hotcat_getLoginRequests[m].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			hotcat_getLoginRequests[m].send("lgname=HotCat&lgpassword=__INSERTPASSWORDHERE__");
		}
	} else if (mode=="gettoken") {//Beantrage Edit-Token
		for (m=0; m<interwikis_wikia.length; m++) {
			kuerzel=interwikis_wikia[m][0][0];lemma=interwikis_wikia[m][0][1];
			hotinterwikia_diffarrays=comparearrays("interwiki", interwikis_wikia_original[m].slice(0), interwikis_wikia[m].slice(0));
			interwikis_old_working=hotinterwikia_diffarrays[0].slice(0);
			interwikis_new_working=hotinterwikia_diffarrays[1].slice(0);
			if (interwikis_old_working.length>0 || interwikis_new_working.length>0) {//Wenn sich was geändert hat
				document.getElementById("submitstatus_table").appendChild(document.createElement("tr"));//Statusanzeige ergänzen
				document.getElementById("submitstatus_table").lastChild.id="submitstatus_tr_"+kuerzel;
				document.getElementById("submitstatus_table").lastChild.innerHTML='<td>'+kuerzel+'</td><td><span id="submitstatus_span_'+kuerzel+'"><img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif"> Beantrage Edit-Token...</span></td>';
				content=hotinter_responsetexts[m];
				for (n=0; n<interwiki_list.length; n++) {//Alte Links löschen
					interwiki_regexp = new RegExp("(<\\!--(\\n)?)?\\[\\["+interwiki_list[n][0]+":(.+)\\]\\]((\\n)?-->)?\\r?\\n?","g");
					content=content.replace(interwiki_regexp, "");
				}
				content=content.replace(/(\r?\n)+$/,"");content+="\n\n";//Absätze am Ende entfernen
				for (n=1; n<interwikis_wikia[m].length; n++) {//Neue Links ergänzen
					content+='[['+interwikis_wikia[m][n][0]+':'+interwikis_wikia[m][n][1]+']]\n';
				}
				summary='[[de:User:'+wgUserName+']] updated the interwiki links: ';//Zusammenfassung erstellen
				if (interwikis_old_working.length>0) summary+='- ';
				for (n=0; n<interwikis_old_working.length; n++) {
					summary+='[['+interwikis_old_working[n][0]+':'+interwikis_old_working[n][1]+']]';
					if (n<interwikis_old_working.length-1) summary+=', '; else summary+=' | ';
				}
				if (interwikis_new_working.length>0) summary+='+ ';
				for (n=0; n<interwikis_new_working.length; n++) {
					summary+='[['+interwikis_new_working[n][0]+':'+interwikis_new_working[n][1]+']]';
					if (n<interwikis_new_working.length-1) summary+=', ';
				}

				hotcat_getTokenRequests[m]=getXmlHttpRequestObject();
				hotcat_getTokenRequests[m].kuerzel=kuerzel;hotcat_getTokenRequests[m].lemma=lemma;hotcat_getTokenRequests[m].summary=summary;hotcat_getTokenRequests[m].content=content;
				hotcat_getTokenRequests[m].onreadystatechange=function(){if(this.readyState==4){
					inhalt=this.responseXML.documentElement;
					if (this.kuerzel=="pl") {
						hotcat_token[this.kuerzel]=inhalt.getElementsByTagName('page')[0].attributes[7].nodeValue;
						hotinter_edittime=inhalt.getElementsByTagName('page')[0].attributes[3].nodeValue.replace(/T|Z|\:|\-/,"");
						hotinter_bot("pledit", this.kuerzel, this.lemma, this.summary, this.content);
					} else {
						hotcat_token[this.kuerzel]=inhalt.getElementsByTagName('page')[0].attributes[8].nodeValue;
						hotinter_bot("edit", this.kuerzel, this.lemma, this.summary, this.content);
					}
				}}
				hotcat_getTokenRequests[m].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"api.php?action=query&prop=info&titles="+encodeURIComponent(lemma)+"&intoken=edit&format=xml"), true);
				hotcat_getTokenRequests[m].send(null);
			}
		}
	} else if (mode=="edit") {//Ändere die Seite
		document.getElementById("submitstatus_span_"+kuerzel).innerHTML+=" Ändere Seite...";
		hotcat_getEditRequests[kuerzel]=getXmlHttpRequestObject();
		hotcat_getEditRequests[kuerzel].kuerzel=kuerzel;
		hotcat_getEditRequests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
			document.getElementById("submitstatus_span_"+this.kuerzel).innerHTML+=" Fertig!";
			window.setTimeout('document.getElementById("submitstatus_table").removeChild(document.getElementById("submitstatus_tr_'+this.kuerzel+'"));',500);
			if (document.getElementById("submitstatus_table").childNodes.length==0) alert("Fertig!");
//			hotinter_bot("logout",kuerzel);
		}}
		hotcat_getEditRequests[kuerzel].open("POST", hotcat_proxy+"?mode=post&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"api.php?action=edit&format=xml&token="+encodeURIComponent(hotcat_token[kuerzel])+"title="+encodeURIComponent(lemma)+"&summary="+encodeURIComponent(summary)), true);
		hotcat_getEditRequests[kuerzel].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		hotcat_getEditRequests[kuerzel].send("action=edit&format=xml&title="+encodeURIComponent(lemma)+"&token="+encodeURIComponent(hotcat_token[kuerzel])+"&summary="+encodeURIComponent(summary)+"&text="+encodeURIComponent(content));
	} else if (mode=="logout") {//Logout
		hotcat_getRequest = getXmlHttpRequestObject();
		hotcat_getRequest.onreadystatechange=function(){}
		//alert(hotcat_getRequest.responseText);
		hotcat_getRequest.open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"api.php?action=logout&format=xml")+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&"+Math.random(), true);
		hotcat_getRequest.send(null);
	} else if (mode=="pledit") {//Änderung bei Ossus.pl (MediaWiki-Version 1.11 unterstützt kein Edit-API)
		alert("Änderungen bei ossus.pl sind im Moment noch nicht möglich.");document.getElementById("submitstatus_table").removeChild(document.getElementById("submitstatus_tr_pl"));return;
		hotcat_getEditRequests[kuerzel] = getXmlHttpRequestObject();
		hotcat_getEditRequests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
			alert(this.responseText);
		}}
		hotcat_getEditRequests[kuerzel].open("POST", hotcat_proxy+"?mode=post&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"index.php?title="+lemma+"&action=submit")+"&"+Math.random(), true);
		hotcat_getEditRequests[kuerzel].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		jetzt=new Date();
		starttime=String(jetzt.getUTCFullYear())+String(jetzt.getUTCMonth()+1)+String(jetzt.getUTCDate())+String(jetzt.getUTCHours())+String(jetzt.getUTCMinutes())+String(jetzt.getUTCSeconds());
		parameters="wpSection=&wpStarttime="+starttime+"&wpEdittime="+hotinter_edittime+"&wpTextbox1="+encodeURIComponent(content)+"&wpSummary="+encodeURIComponent(summary)+"&wpSave=Seite+speichern&wpEditToken="+encodeURIComponent(hotcat_token);
//		hotcat_getEditRequests[kuerzel].setRequestHeader("Content-length", parameters.length);
//		hotcat_getEditRequests[kuerzel].setRequestHeader("Connection", "close");
		hotcat_getEditRequests[kuerzel].send(parameters);
	}
}

//Taste wird gedrückt
function hotcat_keyup(elementvar) {
	workingelement=elementvar;
	catname=document.getElementById(elementvar).value;
	document.getElementById(elementvar).style.color="black";
	if (catname=="") {return;}
	for (i=0; i<existingcategories.length; i++) {
		if (catname==existingcategories[i]) {
			document.getElementById(elementvar).style.color="#002bb8";
		}
	}
	for (i=0; i<missingcategories.length; i++) {
		if (catname==missingcategories[i]) {
			document.getElementById(elementvar).style.color="#ba0000";
		}
	}
//	window.setTimeout('hotcat_getcatlist("'+catname+'");',100);
	hotcat_getcatlist(catname);
}

//Suche nach Kategorie, um Vorschläge zu machen
function hotcat_getcatlist(catname) {
	hotcat_getRCDataR1 = getXmlHttpRequestObject();
	if (hotcat_getRCDataR1.readyState == 4 || hotcat_getRCDataR1.readyState == 0) {
		catname=catname.split("|");
		hotcat_getRCDataR1.open("GET", wikiurl2+'?action=opensearch&search=Kategorie:'+catname[0], true);
		hotcat_getRCDataR1.onreadystatechange = hotcat_parsecatlist;
		hotcat_getRCDataR1.send(null);
	}
}

//Wenn Antwort kommt
function hotcat_parsecatlist() {
	if (hotcat_getRCDataR1.readyState == 4) {
		catlist_ajax=eval(hotcat_getRCDataR1.responseText);
		catlist_ajax=catlist_ajax;
		catlist_ajax[0]=catlist_ajax[0].substring(10, catlist_ajax[0].length);
		newvorschlaegehtml="<b>Vorschläge:</b><br>";
		if (catlist_ajax[1]!="") {
			if (catlist_ajax[0]==catlist_ajax[1][0].substring(10, catlist_ajax[1][0].length)) {
				document.getElementById(workingelement).style.color="#002bb8";
			} else {
				missingcategories.push(catlist_ajax[0]);
				document.getElementById(workingelement).style.color="#ba0000";
			}
			for (i=0; i<catlist_ajax[1].length; i++) {
				catlist_ajax[1][i]=catlist_ajax[1][i].substring(10, catlist_ajax[1][i].length);
				existingcategories.push(catlist_ajax[1][i]);
				newvorschlaegehtml+='<a href="javascript:hotcat_edit(\'vorschlagclick\',new Array(\''+workingelement+'\',\''+catlist_ajax[1][i].replace(/'/g,"\\'").replace(/"/g,"%")+'\'));" title="auswählen">&#8628; '+catlist_ajax[1][i]+'</a><br>';
			}
		} else {
			missingcategories.push(catlist_ajax[0]);
			document.getElementById(workingelement).style.color="#ba0000";
		}
		document.getElementById("vorschlaege"+workingelement).innerHTML=newvorschlaegehtml;
		document.getElementById("vorschlaege"+workingelement).style.display="block";
	}
}

//Aktualisiert die Liste mit den Kategorien laut hotcat_categories[]
function refreshcategorylist() {
catlinks_new="";
if (hotcat_categories.length==1) {
	catpreview='<p class=\'catlinks\'><a href="/wiki/index.php/Spezial:Categories" title="Spezial:Categories">Kategorie</a>: ';
} else {
	catpreview='<p class=\'catlinks\'><a href="/wiki/index.php/Spezial:Categories" title="Spezial:Categories">Kategorien</a>: ';
}
for (i=0; i<hotcat_categories.length; i++) {
	categoryismissing="";
	if (hotcat_categories[i].search(/\|/)==-1) hotcat_catworking=hotcat_categories[i]; else hotcat_catworking=hotcat_categories[i].substring(0, hotcat_categories[i].indexOf("|"));
	for (j=0; j<missingcategories.length; j++) {
		if (hotcat_categories[i]==missingcategories[j]) {categoryismissing=' class="new"';}
	}
	catworking='<span id="category_'+i+'"><a href="javascript:hotcat_edit(\'del\','+i+')" title="löschen">&ndash;</a> <a href="javascript:hotcat_edit(\'edit\','+i+')" title="bearbeiten">&plusmn;</a>';
	if (i==0) catworking+=' <font color="#bbb">&uarr;</font>'; else {catworking+=' <a href="javascript:hotcat_edit(\'up\','+i+')" title="nach oben verschieben">&uarr;</a>';catpreview+=' | ';}
	catpreview+='<span dir=\'ltr\'><a href="/wiki/index.php/Kategorie:'+hotcat_catworking+'"'+categoryismissing+' title="Kategorie:'+hotcat_categories[i]+'">'+hotcat_categories[i]+'</a></span>';
	if (i==hotcat_categories.length-1) {catworking+=' <font color="#bbb">&darr;</font>';} else {catworking+=' <a href="javascript:hotcat_edit(\'down\','+i+')" title="nach unten verschieben">&darr;</a>';}
	catworking+=' <a href="/wiki/index.php/Kategorie:'+hotcat_catworking+'"'+categoryismissing+'>'+hotcat_categories[i]+'</a></span><br>';
	catlinks_new+=catworking;
}
catpreview+='</p>';
document.getElementById("categorylist").innerHTML=catlinks_new;
document.getElementById("catlinks").innerHTML=catpreview;
}

//Aktualisiert die Liste mit den Interwiki-Links laut interwikis[]
function refreshinterwikilist() {
	interwikis.sort(sortInterwikis);
	interwiki_links="";
	for (i=0; i<interwikis.length; i++) {
		interwiki_links+='<span id="interwiki_'+i+'"><a href="javascript:hotinter_edit(\'del\','+i+');" title="löschen">&ndash;</a> <a href="javascript:hotinter_edit(\'edit\','+i+');" title="bearbeiten">&plusmn;</a> <a href="javascript:hotinter_edit(\'toggle\','+i+');" title="Exzellenter-Artikel-Status (de-)aktivieren"><sup><img src="';
		if (interwikis[i][2]==false) {
			interwiki_links+='http://www.jedipedia.de/wiki/skins/monobook/bullet.gif';
		} else {
			interwiki_links+='http://www.jedipedia.de/wiki/images/FA-Sternchen.png';
		}
		interwiki_links+='"></sup></a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+interwikis[i][0]+':'+encodeURIComponent(interwikis[i][1])+'" target="_blank">'+interwikis[i][0]+':'+interwikis[i][1]+'</a></span><br>';
	}
	document.getElementById("interwikilist").innerHTML=interwiki_links;
}


//Aktualisiert die Liste mit den fehlenden/falschen/zu ergänzenden Interwiki-Links
function refreshinterwikicleanup() {
	hotinter_newlinks=new Array();//Links, die im Wiki fehlen
	hotinter_nolinks=new Array();//Links, die woanders fehlen
	hotinter_difflinks=new Array();//Links, die woanders anders sind
	for (i=0; i<interwikis_wikia.length; i++) {
		hotinter_jpiwworking=interwikis.slice(0);hotinter_jpiwworking.push(new Array("de",wgTitle));
		hotinter_wikiaiwworking=interwikis_wikia[i].slice(0);
		OuterLoop: for (j=0; j<hotinter_jpiwworking.length; j++) {
			iwcodeinarray=false;
			InnerLoop: for (k=0; k<hotinter_wikiaiwworking.length; k++) {
				if (hotinter_wikiaiwworking[k]==null) continue InnerLoop;
				if (hotinter_jpiwworking[j][0]==hotinter_wikiaiwworking[k][0]) {//Wenn das Kürzel in beiden Arrays enthalten ist
					iwcodeinarray=true;
					if (hotinter_jpiwworking[j][1]==hotinter_wikiaiwworking[k][1]) {//Wenn die Lemmas identisch sind
						hotinter_jpiwworking[j]=null;
					} else {//Wenn die Lemmas unterschiedlich sind
						hotinter_difflinks.push(new Array(hotinter_wikiaiwworking[k][0],hotinter_wikiaiwworking[k][1],interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]));
					}
					hotinter_wikiaiwworking[k]=null;
					break InnerLoop;
				}
			}
			if (iwcodeinarray==false) {//Wenn das Kürzel nur bei StargateWiki ist
				if (hotinter_jpiwworking[j][0]!=interwikis_wikia[i][0][0]) {//Ergänze nur, wenn der Link zu einem anderen Wiki zeigt
					innerLoop: for (k=0; k<interwiki_list[interwiki_codes[interwikis_wikia[i][0][0]]][4].length; k++) {
						if (interwiki_list[interwiki_codes[interwikis_wikia[i][0][0]]][4][k]==hotinter_jpiwworking[j][0]) {//Und wenn das Wiki den Link akzeptiert
							hotinter_nolinks.push(new Array(hotinter_jpiwworking[j][0],hotinter_jpiwworking[j][1],interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]));
						}
					}
				}
			}
		}
		for (j=0; j<hotinter_wikiaiwworking.length; j++) {//Wenn ein Link bei StargateWiki fehlt
			if (hotinter_wikiaiwworking[j]!=null) hotinter_newlinks.push(new Array(hotinter_wikiaiwworking[j][0],hotinter_wikiaiwworking[j][1],interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]));
		}
	}

	cleanupcontent='';
	//Neue Interwiki-Links
	if (hotinter_newlinks.length>0) cleanupcontent+='Andere Wikis haben weitere Links, die noch nicht im Wiki stehen:<br><small style="color: #555;">Auf den Haken klicken, um den Link bei das Wiki zu ergänzen.<br>Auf das Kreuz klicken, um Link in diesem Wiki zu entfernen.</small><br><div id="hotcat_newiwlinks">';
	for (j=0; j<hotinter_newlinks.length; j++) {
		if (hotinter_newlinks[j][0]!="de" && hotinter_newlinks[j][0]!="fr") cleanupcontent+='<a href="javascript:hotinter_edit(\'add_custom\', \''+hotinter_newlinks[j][0]+'|'+hotinter_newlinks[j][1].replace(/"/,"%22").replace(/'/,"%27")+'\');" title="ergänzen">&radic;</a> <a href="javascript:hotinter_bot(\'dellink\',\''+hotinter_newlinks[j][0]+'\',\''+hotinter_newlinks[j][2]+'\');">X</a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_newlinks[j][2]+':'+encodeURIComponent(hotinter_newlinks[j][3])+'" target="_blank">'+hotinter_newlinks[j][2]+':'+hotinter_newlinks[j][3]+'</a> hat noch den Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_newlinks[j][0]+':'+encodeURIComponent(hotinter_newlinks[j][1])+'" target="_blank">'+hotinter_newlinks[j][0]+':'+hotinter_newlinks[j][1]+'</a><br>';
	}
	if (hotinter_newlinks.length>0) cleanupcontent+='</div><br>';
	//Fehlende Interwiki-Links
	if (hotinter_nolinks.length>0) cleanupcontent+='Bei manchen Wikis fehlen Interwiki-Links:<br><small style="color: #555;">Auf den Haken klicken, um den Link auf der jeweiligen Seite zu ergänzen.<br>Auf das Kreuz klicken, um den Link aus dem Wiki zu entfernen.</small><br><div id="hotcat_noiwlinks">';
	for (j=0; j<hotinter_nolinks.length; j++) {
		if (hotinter_nolinks[j][0]!="fr") cleanupcontent+='<a href="javascript:hotinter_bot(\'addlink\',\''+hotinter_nolinks[j][0]+'\',\''+hotinter_nolinks[j][1].replace(/"/,"%22").replace(/'/,"%27")+'\',\''+hotinter_nolinks[j][2]+'\');" title="ergänzen">&radic;</a> <a href="javascript:hotinter_bot(\'deljp\',\''+hotinter_nolinks[j][0]+'\');">X</a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_nolinks[j][2]+':'+encodeURIComponent(hotinter_nolinks[j][3])+'" target="_blank">'+hotinter_nolinks[j][2]+':'+hotinter_nolinks[j][3]+'</a> hat nicht den Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_nolinks[j][0]+':'+encodeURIComponent(hotinter_nolinks[j][1])+'" target="_blank">'+hotinter_nolinks[j][0]+':'+hotinter_nolinks[j][1]+'</a><br>';
	}
	if (hotinter_nolinks.length>0) cleanupcontent+='</div><br>';
	//Andere Interwiki-Links
	if (hotinter_difflinks.length>0) cleanupcontent+='Manche Wikis haben andere Interwiki-Links:<br><small style="color: #555;">Auf den Haken klicken, um den Link auf der jeweiligen Seite zu korrigieren.<br>Auf das Kreuz klicken, um den Link von der jeweiligen Seite in das Wiki zu übernehmen.</small><br><div id="hotcat_newiwlinks">';
	for (i=0; i<hotinter_difflinks.length; i++) {
		if (i>0) cleanupcontent+="<br>";
		if (hotinter_difflinks[i][0]=="de") {
			cleanupcontent+='<a href="javascript:hotinter_bot(\'editlink\',\''+hotinter_difflinks[i][0]+'\',\''+wgTitle.replace(/"/,"%22").replace(/'/,"%27")+'\',\''+hotinter_difflinks[i][2]+'\');" title="korrigieren">&radic;</a> <font color="#bbb">X</font>';
			cleanupcontent+=' <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][2]+':'+encodeURIComponent(hotinter_difflinks[i][3])+'" target="_blank">'+hotinter_difflinks[i][2]+':'+hotinter_difflinks[i][3]+'</a> hat den Interwiki-Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][0]+':'+encodeURIComponent(hotinter_difflinks[i][1])+'" target="_blank">'+hotinter_difflinks[i][0]+':'+hotinter_difflinks[i][1]+'</a>';
			cleanupcontent+=' (StargateWiki hat <a href="http://www.stargate-wiki.de/wiki/index.php/'+encodeURIComponent(wgTitle)+'" target="_blank">de:'+wgTitle+'</a>)';
		} else for (j=0; j<interwikis.length; j++) {if (interwikis[j][0]==hotinter_difflinks[i][0] && hotinter_difflinks[i][0]!="fr"){
			cleanupcontent+='<a href="javascript:hotinter_bot(\'editlink\',\''+hotinter_difflinks[i][0]+'\',\''+interwikis[j][1].replace(/"/,"%22").replace(/'/,"%27")+'\',\''+hotinter_difflinks[i][2]+'\');" title="korrigieren">&radic;</a> <a href="javascript:hotinter_edit(\'edit_custom\',new Array(\''+hotinter_difflinks[i][0]+'\',\''+hotinter_difflinks[i][1]+'\'));" title="übernehmen">X</a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][2]+':'+encodeURIComponent(hotinter_difflinks[i][3])+'" target="_blank">'+hotinter_difflinks[i][2]+':'+hotinter_difflinks[i][3]+'</a> hat den Interwiki-Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][0]+':'+encodeURIComponent(hotinter_difflinks[i][1])+'" target="_blank">'+hotinter_difflinks[i][0]+':'+hotinter_difflinks[i][1]+'</a>';
			cleanupcontent+=' (StargateWiki hat <a href="http://www.stargate-wiki.de/wiki/index.php/'+interwikis[j][0]+':'+encodeURIComponent(interwikis[j][1])+'" target="_blank">'+interwikis[j][0]+':'+interwikis[j][1]+'</a>)';
		}}
	}
	if (hotinter_difflinks.length>0) cleanupcontent+='</div>';
	if (cleanupcontent=="" && document.getElementById("interwiki_cleanup_loading").innerHTML=="") cleanupcontent='HotCat konnte nichts finden, was geändert werden sollte.';
	document.getElementById("interwiki_cleanup").innerHTML=cleanupcontent;
}

if(!Array.indexOf) {
	Array.prototype.indexOf = function(el) {
		for(var i = 0; i < this.length; i++) if(el === this[i]) return i;
		return -1;
	}
}
//Sortiert das Interwiki-Links-Array
function sortInterwikis(a, b) {
	a=interwiki_codes[a[0]];
	b=interwiki_codes[b[0]];
	return(a==b)?0:(a>b)?1:-1;
}

function comparearrays(mode, altesarray, neuesarray) {
	if (mode=="cat") {
		MainFor: for (i=0; i<altesarray.length; i++) {//Alte Kategorien
			for (j=0; j<neuesarray.length; j++) {//Neue Kategorien
				//Lösche doppelte
				if (altesarray.length==0 || neuesarray.length == 0) break MainFor;
				if (i<0) iworking=0; else iworking=i;
				if (altesarray[iworking] == neuesarray[j]) {
					altesarray.splice(iworking, 1);
					neuesarray.splice(j, 1);
					if (i>-1)i--;
					j--;
				}
			}
		}
	} else if (mode=="interwiki") {
		MainFor: for (i=0; i<altesarray.length; i++) {//Alte Kategorien
			for (j=0; j<neuesarray.length; j++) {//Neue Kategorien
				//Lösche doppelte
				if (altesarray.length==0 || neuesarray.length == 0) break MainFor;
				if (i<0) iworking=0; else iworking=i;
				if (altesarray[iworking][0] == neuesarray[j][0] && altesarray[iworking][1] == neuesarray[j][1]) {
					altesarray.splice(iworking, 1);
					neuesarray.splice(j, 1);
					if (i>-1)i--;
					j--;
				}
			}
		}
	}
	return new Array(altesarray, neuesarray);
}