Kategorien
MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
KKeine Bearbeitungszusammenfassung |
(Überarbeitung der Common.js: Neue Aufteilung, teilweise dokumentiert, wo sinnvoll Scripts ausgelagert) |
||
Zeile 1: | Zeile 1: | ||
/* | /*********************************************************************/ | ||
/* Common.js enthält gemeinsamen JavaScript-Code für alle Benutzer. */ | |||
/* Jedes JavaScript, dass sich in dieser Seite befindet, wird für */ | |||
/* alle Benutzer geladen. Daher bitte mit Vorsicht bearbeiten! */ | |||
/*****************************************************************/ | |||
//============================================================= | |||
/ | |||
/*** 1. Anpassung für die Navigationsleisten ***/ | |||
// Sprachdefinition | |||
var NavigationBarHide = 'Einklappen'; | |||
var NavigationBarShow = 'Ausklappen'; | |||
/** | |||
* Maximale Anzahl an Navigationsleisten pro Seite. | |||
* Gibt es auf einer Seite mehr, werden diese automatisch versteckt! | |||
* var NavigationBarShowDefault = 0; // Alle Navigationsleisten werden versteckt | |||
* var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt | |||
**/ | |||
var NavigationBarShowDefault = 1; | |||
/** | |||
* Zeigt und versteckt den Inhalt und das Bild der Navigationsleiste | |||
* Parameter: | |||
* indexNavigationBar: Index der Navigationsleiste | |||
**/ | |||
function toggleNavigationBar(indexNavigationBar) { | |||
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); | |||
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); | |||
if (!NavFrame || !NavToggle) { | |||
return false; | |||
} | |||
// Verstecken, wenn die Leiste derzeit gezeigt wird | |||
if (NavToggle.firstChild.data == NavigationBarHide) { | |||
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | |||
if (NavChild.className == 'NavPic') { | |||
NavChild.style.display = 'none'; | |||
} | |||
if (NavChild.className == 'NavContent') { | |||
NavChild.style.display = 'none'; | |||
} | |||
if (NavChild.className == 'NavToggle') { | |||
NavChild.firstChild.data = NavigationBarShow; | |||
} | |||
} | |||
// Anzeigen, wenn die Leiste derzeit versteckt ist | |||
} else if (NavToggle.firstChild.data == NavigationBarShow) { | |||
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | |||
if (NavChild.className == 'NavPic') { | |||
NavChild.style.display = 'block'; | |||
} | |||
if (NavChild.className == 'NavContent') { | |||
NavChild.style.display = 'block'; | |||
} | |||
if (NavChild.className == 'NavToggle') { | |||
NavChild.firstChild.data = NavigationBarHide; | |||
} | |||
} | |||
} | |||
} | |||
/** | |||
* Fügt Anzeigen/Verstecken-Link zur Navigationsleiste hinzu | |||
*/ | |||
function createNavigationBarToggleButton() { | |||
var indexNavigationBar = 0; | |||
// Auf alle div-Elemente anwenden | |||
for (var i = 0; NavFrame = document.getElementsByTagName("div")[i]; i++) { | |||
// Wenn eine Navigationsleiste gefunden wurde | |||
if (NavFrame.className == "NavFrame") { | |||
indexNavigationBar++; | |||
var NavToggle = document.createElement("a"); | |||
NavToggle.className = 'NavToggle'; | |||
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | |||
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | |||
var NavToggleText = document.createTextNode(NavigationBarHide); | |||
NavToggle.appendChild(NavToggleText); | |||
// Füge die Links als erstes div-Element hinzu | |||
NavFrame.insertBefore(NavToggle, NavFrame.firstChild); | |||
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); | |||
} | |||
} | |||
// Wenn mehrere Navigationsleisten gefunden wurden, dann wird versteckt | |||
if (NavigationBarShowDefault < indexNavigationBar) { | |||
for (var i = 1; i <= indexNavigationBar; i++) { | |||
toggleNavigationBar(i); | |||
} | |||
} | |||
} | |||
// Lade createNavigationBarToggleButton() nach Laden der Seite | |||
addOnloadHook(createNavigationBarToggleButton); | |||
/*** ENDE: Anpassung für die Navigationsleisten ***/ | |||
//============================================================= | |||
/*** 2. Kampfrechner ***/ | |||
// Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert | |||
// Wird nur auf der Seite [[Kampfrechner]] aufgerufen | |||
if (mw.config.get('wgTitle') === 'Kampfrechner') { | if (mw.config.get('wgTitle') === 'Kampfrechner') { | ||
importScript("MediaWiki:Kampfrechner.js"); | importScript("MediaWiki:Kampfrechner.js"); | ||
} | } | ||
/*** ENDE: Kampfrechner ***/ | |||
/*** 3. Kartenspezifisches ***/ | |||
// Gesamtkarten-Funktionen | |||
// Autorouter: Ist in [[MediaWiki:Autorouter.js]] ausgelagert | |||
// Gesamtkarte-Funktionen: Sind in [[MediaWiki:Gesamtkarte.js]] ausgelagert | |||
// Werden nur auf der Seite [[Gesamtkarte]] aufgerufen | |||
if (mw.config.get('wgTitle') === 'Gesamtkarte') { | |||
importScript("MediaWiki:Gesamtkarte.js"); | |||
importScript("MediaWiki:Autorouter.js"); | |||
} | |||
/** | |||
* Zeigt/Versteckt Questpassage auf interkativer Karte | |||
* Parameter: | |||
* bool: Wenn wahr, Questpassage anzeigen, wenn falsch, dann nicht | |||
*/ | |||
function showQP(bool) { | |||
if (bool) { | |||
document.cookie = "tiramon_deShowQP=1"; | |||
} else { | |||
document.cookie = "tiramon_deShowQP=0"; | |||
} | |||
location.reload(); | |||
} | |||
/** | |||
* Generalfunktion, arbeitet an allen Questpassagen | |||
*/ | */ | ||
function work_on_questpassages() { | |||
// Fügt den Anzeigen/Verstecken-Link zur Map hinzu | |||
findmenu = document.getElementById("QPinout"); | |||
if (findmenu) { | |||
showlink = document.createElement("a"); | |||
showlink.setAttribute("href","Javascript:showQP(true)"); | |||
showlink.appendChild(document.createTextNode('anzeigen')); | |||
hidelink = document.createElement("a"); | |||
hidelink.setAttribute("href","Javascript:showQP(false)"); | |||
hidelink.appendChild(document.createTextNode('verbergen')); | |||
findmenu.appendChild(showlink); | |||
findmenu.appendChild(document.createTextNode('/')); | |||
findmenu.appendChild(hidelink); | |||
} | |||
// Questpassagen anzeigen, wenn gewünscht | |||
for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) { | |||
var tiramon_deShowQP = document.cookie; | |||
if (tiramon_deShowQP.indexOf("tiramon_deShowQP=")=="-1") return(-1); | |||
if (tiramon_deShowQP.charAt(tiramon_deShowQP.indexOf("tiramon_deShowQP=")+17) != "1") return(-1); | |||
if (foundspan.className == "QP") { | |||
foundspan.setAttribute("style", "display:inline;"); | |||
} | |||
} | |||
} | |||
// Starte work_on_questpassages() nach Laden der Seite | |||
addOnloadHook(work_on_questpassages); | |||
/*** ENDE: Kartenspezifisches ***/ | |||
//============================================================= | |||
/*** 4. NPC-Bilder ***/ | |||
/ | /** | ||
* Zeigt/Versteckt NPC-Bilder | |||
* Parameter: | |||
* bool: Wenn wahr, NPC-Bilder anzeigen, wenn falsch, dann nicht | |||
*/ | */ | ||
function showNI(bool) | |||
{ | |||
var DaysToExpire = 300; // Cookie wird nach so vielen Tagen gelöscht | |||
var ExpireDate = new Date(); | |||
ExpireDate.setTime((ExpireDate.getTime() + DaysToExpire * 24 * 60 * 60 * 1000)); | |||
if (bool) { | |||
document.cookie="tiramon_deShowNI=1; expires=" + ExpireDate.toGMTString(); | |||
} else { | |||
document.cookie="tiramon_deShowNI=0; expires=" + ExpireDate.toGMTString(); | |||
} | |||
location.reload(); | |||
} | |||
/** | |||
* Generalfunktion, arbeitet an allen NPC-Bildern | |||
*/ | |||
function work_on_npcimages() | |||
{ | |||
// Füge Anzeigen/Verstecken-Link hinzu | |||
findmenu = document.getElementById("NIinout"); | |||
if (findmenu) { | |||
showlink=document.createElement("a"); | |||
showlink.setAttribute("href","Javascript:showNI(true)"); | |||
showlink.appendChild(document.createTextNode('anzeigen')); | |||
hidelink=document.createElement("a"); | |||
hidelink.setAttribute("href","Javascript:showNI(false)"); | |||
hidelink.appendChild(document.createTextNode('verbergen')); | |||
findmenu.appendChild(showlink); | |||
findmenu.appendChild(document.createTextNode('/')); | |||
findmenu.appendChild(hidelink); | |||
} | |||
// Standardwert des Anzeigemodus | |||
var NIDisplaymode = "inline"; | |||
// Frage gespeicherten Anzeigemodus ab | |||
var tiramon_deShowNI=document.cookie; | |||
if (tiramon_deShowNI.indexOf("tiramon_deShowNI=") != "-1") { | |||
if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") NIDisplaymode = "none"; | |||
} | |||
== | for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) { | ||
if (foundspan.className == "NI") { | |||
foundspan.setAttribute("style", "display:" + NIDisplaymode +";"); | |||
} | |||
} | |||
} | |||
// | // Starte work_on_npcimages() nach Laden der Seite | ||
addOnloadHook(work_on_npcimages); | |||
/*** ENDE: NPC-Bilder ***/ | |||
//============================================================= | |||
// | /*** 5. FreewarWiki Chat ***/ | ||
/ | /** | ||
* Fügt den Chat ein | |||
*/ | |||
function addChat() | |||
function | |||
{ | { | ||
if ( | findchat = document.getElementById("fwwchat"); | ||
if (!findchat) return false; | |||
chat = document.createElement("applet"); | |||
chat.setAttribute("archive","http://www.freejavachat.com/java/cr.zip"); | |||
chat.setAttribute("codebase","http://www.freejavachat.com/java/"); | |||
chat.setAttribute("name","cr"); | |||
chat.setAttribute("code","ConferenceRoom.class"); | |||
chat.setAttribute("width","640"); | |||
chat.setAttribute("height","480"); | |||
// | param = document.createElement("param"); param.setAttribute("name","channel"); param.setAttribute("value","#freewarwiki"); chat.appendChild(param); | ||
param = document.createElement("param"); param.setAttribute("name","user"); param.setAttribute("value","einer"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name", "showbuttonpanel"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","bg"); param.setAttribute("value","ffffff"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","fg"); param.setAttribute("value","000000"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","roomswidth"); param.setAttribute("value","0"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","lurk"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","userprompt"); param.setAttribute("value",""); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","nameprompt"); param.setAttribute("value",""); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","simple"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","restricted"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","showjoins"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","showserverwindow"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","nicklock"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","playsounds"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","onlyshowchat"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","showcolorpanel"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","floatnewwindows"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","buttonsize"); param.setAttribute("value","14"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","buttonstyle"); param.setAttribute("value","BOLD"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","nosettings"); param.setAttribute("value","false"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","loadmodules"); param.setAttribute("value","NickServPanel hide"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","loadmodules1"); param.setAttribute("value","ImagePanel hide"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","loadmodules2"); param.setAttribute("value","OpPanel hide"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","commands"); param.setAttribute("value","Image Panel;/showmodule ImagePanel;NickServ Panel;/showmodule NickServPanel;Operators Panel;/showmodule OpPanel"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","userwidth"); param.setAttribute("value","16"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","joinsound"); param.setAttribute("value","bell.au"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","sounds"); param.setAttribute("value","Alarm;Alarm.au Are we awake?;Applause;applause.au ENCORE!!!;Awwwwwww;aww.au Awwwwwwwww;BabyCry;babycry.au Wahhhh;CashRegister;cash_register.au Woohoo!;CowMoo;moo.au moos like a cow;Crash;crash.au *** CRASHES ***;Cymbal;CrashCymbal.au Tada!;Cuckoo;Cuckoo.au Where's Dr Fraud?;DoesNotCompute;does_not_compute.au That does NOT compute!;DOH!;doh.au Homer says DOH!;Door;door.au hears a door;Drip;drip.au Drip;Explosion;explosion.au explodes;Flush;flush.au courtesy flush;Geek;computer.au computer geek detected;Giggle;giggle.au haha;Glass1;Glass.au Breaks it;Glass2;breaking_glass.au Oh No!;Goofed;goofed.au OOPS!;Hallelujah!;hallelujah.au It's a miracle!;Knock;knock.au Knocks patiently;Gong;gong.au has gonged you;Laugh 1;laugh.au Laughs hysterically;Laugh 2;laughter.au You're KIDDING!;OHYEA!;ohyeah.au Woohoo!;Rasberry;Rasberry.au Excuse me;SciFi;sci_fi.au scifi;Snore;snore.au Snores;SubDive;sub_dive_horn.au Watch out!;SubPing;scoping.au Ping!;Swish;swish.au thinks that went over someone's head!;This just in;music.au NEWSFLASH! THIS JUST IN....;Ting;join.au dropped something;Train;train.au hears a train coming...;Whee;whistle.au Whee!"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","timestamp"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","playsounds"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","showsendbutton"); param.setAttribute("value","true"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","listtime"); param.setAttribute("value","0"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","guicolors1"); param.setAttribute("value","youColor=880000;operColor=004488;voicecolor=000000;userscolor=000000"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","guicolors2"); param.setAttribute("value","inputcolor=dddddd;inputtextColor=000000;sessioncolor=ffffff;systemcolor=aaaaaa"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","guicolors3"); param.setAttribute("value","titleColor=888888;titletextColor=ffffff;sessiontextColor=000000"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","guicolors4"); param.setAttribute("value","joinColor=228b22;partColor=228b22;talkcolor=000000"); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","nick"); param.setAttribute("value",""); chat.appendChild(param); | |||
param = document.createElement("param"); param.setAttribute("name","passprompt"); param.setAttribute("value","Passwort (registrierte Nicknames)"); chat.appendChild(param); | |||
findchat.appendChild(chat); | |||
} | } | ||
// Starte addChat() nach Laden der Seite | |||
addOnloadHook(addChat); | |||
/ | /*** ENDE: FreewarWiki Chat ***/ | ||
// | /*** 6. Charakterfähigkeiten ***/ | ||
// Ist in [[MediaWiki:CFoptions.js]] ausgelagert | |||
importScript("MediaWiki:CFoptions.js"); | |||
/*** ENDE: Charakterfähigkeiten ***/ | |||
// | //============================================================= | ||
// | /*** 7. Vertikale Tabs ***/ | ||
// Variablendefinition | |||
var shownTab = Array(); | |||
var disabledLink = Array(); | |||
/** | |||
* Änderung des aktuell ausgewählten Tabs | |||
*/ | |||
function showVTab(area, tab) { | |||
var div = document.getElementById('VTabContent_' + String(area) + '_' + String(tab)); | |||
var a = document.getElementById('VTabLink_' + String(area) + '_' + String(tab)); | |||
if (!div || !a) return; | |||
div.style.height = 'auto'; | |||
if (shownTab[area]) shownTab[area].style.height = '0'; | |||
shownTab[area] = div; | |||
var strong = document.getElementById('VTabStrong_' + String(area)); | |||
if (!strong) { | |||
strong = document.createElement('strong'); | |||
strong.id = 'VTabStrong_' + String(area); | |||
strong.className = 'selflink'; | |||
} | |||
if (disabledLink[area]) { | |||
disabledLink[area].appendChild(strong.firstChild); | |||
strong.parentNode.appendChild(disabledLink[area]); | |||
} | } | ||
strong.appendChild(a.firstChild); | |||
a.parentNode.appendChild(strong); | |||
a.parentNode.removeChild(a); | |||
disabledLink[area] = a; | |||
} | } | ||
function | /** | ||
{ | * Initialisiert vertikale Tabs | ||
*/ | |||
function initVTabs() { | |||
var indexVTabs = 0; | |||
for (var i = 0; table = document.getElementsByTagName('table')[i]; i++) { | |||
if (table.className != 'VTabs') continue; | |||
table.id = 'VTabs_' + String(++indexVTabs); | |||
shownTab[indexVTabs] = disabledLink[indexVTabs] = 0; | |||
var numTabs = 0; | |||
var contents; | |||
for (var j = 0; tr = table.getElementsByTagName('tr')[j]; j++) { | |||
var caption = tr.getElementsByTagName('td')[0]; | |||
caption.className = 'VTabCaption'; | |||
caption.id = 'VTabCaption_' + String(indexVTabs) + '_' + String(++numTabs); | |||
var a = document.createElement('a'); | |||
a.id = 'VTabLink_' + String(indexVTabs) + '_' + String(++numTabs); | |||
a.href = 'javascript:showVTab(' + String(indexVTabs) + ', ' + String(numTabs) + ');'; | |||
a.appendChild(caption.firstChild); | |||
caption.appendChild(a); | |||
var content = tr.getElementsByTagName('td')[1]; | |||
var div = document.createElement('div'); | |||
div.className = 'VTabContent'; | |||
div.id = 'VTabContent_' + String(indexVTabs) + '_' + String(numTabs); | |||
while (content.childNodes.length) { | |||
div.appendChild(content.childNodes[0]); | |||
} | |||
if (contents) { | |||
tr.removeChild(content); | |||
} else { | |||
contents = content | |||
} | |||
contents.rowSpan = numTabs; | |||
contents.appendChild(div); | |||
} | |||
} | } | ||
} | } | ||
// | // Starte initVTabs() nach Laden der Seite | ||
addOnloadHook(initVTabs); | |||
/*** ENDE: Vertikale Tabs ***/ |
Version vom 3. März 2012, 19:21 Uhr
/*********************************************************************/ /* Common.js enthält gemeinsamen JavaScript-Code für alle Benutzer. */ /* Jedes JavaScript, dass sich in dieser Seite befindet, wird für */ /* alle Benutzer geladen. Daher bitte mit Vorsicht bearbeiten! */ /*****************************************************************/ //============================================================= /*** 1. Anpassung für die Navigationsleisten ***/ // Sprachdefinition var NavigationBarHide = 'Einklappen'; var NavigationBarShow = 'Ausklappen'; /** * Maximale Anzahl an Navigationsleisten pro Seite. * Gibt es auf einer Seite mehr, werden diese automatisch versteckt! * var NavigationBarShowDefault = 0; // Alle Navigationsleisten werden versteckt * var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt **/ var NavigationBarShowDefault = 1; /** * Zeigt und versteckt den Inhalt und das Bild der Navigationsleiste * Parameter: * indexNavigationBar: Index der Navigationsleiste **/ function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // Verstecken, wenn die Leiste derzeit gezeigt wird if (NavToggle.firstChild.data == NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } // Anzeigen, wenn die Leiste derzeit versteckt ist } else if (NavToggle.firstChild.data == NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } /** * Fügt Anzeigen/Verstecken-Link zur Navigationsleiste hinzu */ function createNavigationBarToggleButton() { var indexNavigationBar = 0; // Auf alle div-Elemente anwenden for (var i = 0; NavFrame = document.getElementsByTagName("div")[i]; i++) { // Wenn eine Navigationsleiste gefunden wurde if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // Füge die Links als erstes div-Element hinzu NavFrame.insertBefore(NavToggle, NavFrame.firstChild); NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // Wenn mehrere Navigationsleisten gefunden wurden, dann wird versteckt if (NavigationBarShowDefault < indexNavigationBar) { for (var i = 1; i <= indexNavigationBar; i++) { toggleNavigationBar(i); } } } // Lade createNavigationBarToggleButton() nach Laden der Seite addOnloadHook(createNavigationBarToggleButton); /*** ENDE: Anpassung für die Navigationsleisten ***/ //============================================================= /*** 2. Kampfrechner ***/ // Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert // Wird nur auf der Seite [[Kampfrechner]] aufgerufen if (mw.config.get('wgTitle') === 'Kampfrechner') { importScript("MediaWiki:Kampfrechner.js"); } /*** ENDE: Kampfrechner ***/ /*** 3. Kartenspezifisches ***/ // Gesamtkarten-Funktionen // Autorouter: Ist in [[MediaWiki:Autorouter.js]] ausgelagert // Gesamtkarte-Funktionen: Sind in [[MediaWiki:Gesamtkarte.js]] ausgelagert // Werden nur auf der Seite [[Gesamtkarte]] aufgerufen if (mw.config.get('wgTitle') === 'Gesamtkarte') { importScript("MediaWiki:Gesamtkarte.js"); importScript("MediaWiki:Autorouter.js"); } /** * Zeigt/Versteckt Questpassage auf interkativer Karte * Parameter: * bool: Wenn wahr, Questpassage anzeigen, wenn falsch, dann nicht */ function showQP(bool) { if (bool) { document.cookie = "tiramon_deShowQP=1"; } else { document.cookie = "tiramon_deShowQP=0"; } location.reload(); } /** * Generalfunktion, arbeitet an allen Questpassagen */ function work_on_questpassages() { // Fügt den Anzeigen/Verstecken-Link zur Map hinzu findmenu = document.getElementById("QPinout"); if (findmenu) { showlink = document.createElement("a"); showlink.setAttribute("href","Javascript:showQP(true)"); showlink.appendChild(document.createTextNode('anzeigen')); hidelink = document.createElement("a"); hidelink.setAttribute("href","Javascript:showQP(false)"); hidelink.appendChild(document.createTextNode('verbergen')); findmenu.appendChild(showlink); findmenu.appendChild(document.createTextNode('/')); findmenu.appendChild(hidelink); } // Questpassagen anzeigen, wenn gewünscht for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) { var tiramon_deShowQP = document.cookie; if (tiramon_deShowQP.indexOf("tiramon_deShowQP=")=="-1") return(-1); if (tiramon_deShowQP.charAt(tiramon_deShowQP.indexOf("tiramon_deShowQP=")+17) != "1") return(-1); if (foundspan.className == "QP") { foundspan.setAttribute("style", "display:inline;"); } } } // Starte work_on_questpassages() nach Laden der Seite addOnloadHook(work_on_questpassages); /*** ENDE: Kartenspezifisches ***/ //============================================================= /*** 4. NPC-Bilder ***/ /** * Zeigt/Versteckt NPC-Bilder * Parameter: * bool: Wenn wahr, NPC-Bilder anzeigen, wenn falsch, dann nicht */ function showNI(bool) { var DaysToExpire = 300; // Cookie wird nach so vielen Tagen gelöscht var ExpireDate = new Date(); ExpireDate.setTime((ExpireDate.getTime() + DaysToExpire * 24 * 60 * 60 * 1000)); if (bool) { document.cookie="tiramon_deShowNI=1; expires=" + ExpireDate.toGMTString(); } else { document.cookie="tiramon_deShowNI=0; expires=" + ExpireDate.toGMTString(); } location.reload(); } /** * Generalfunktion, arbeitet an allen NPC-Bildern */ function work_on_npcimages() { // Füge Anzeigen/Verstecken-Link hinzu findmenu = document.getElementById("NIinout"); if (findmenu) { showlink=document.createElement("a"); showlink.setAttribute("href","Javascript:showNI(true)"); showlink.appendChild(document.createTextNode('anzeigen')); hidelink=document.createElement("a"); hidelink.setAttribute("href","Javascript:showNI(false)"); hidelink.appendChild(document.createTextNode('verbergen')); findmenu.appendChild(showlink); findmenu.appendChild(document.createTextNode('/')); findmenu.appendChild(hidelink); } // Standardwert des Anzeigemodus var NIDisplaymode = "inline"; // Frage gespeicherten Anzeigemodus ab var tiramon_deShowNI=document.cookie; if (tiramon_deShowNI.indexOf("tiramon_deShowNI=") != "-1") { if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") NIDisplaymode = "none"; } for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) { if (foundspan.className == "NI") { foundspan.setAttribute("style", "display:" + NIDisplaymode +";"); } } } // Starte work_on_npcimages() nach Laden der Seite addOnloadHook(work_on_npcimages); /*** ENDE: NPC-Bilder ***/ //============================================================= /*** 5. FreewarWiki Chat ***/ /** * Fügt den Chat ein */ function addChat() { findchat = document.getElementById("fwwchat"); if (!findchat) return false; chat = document.createElement("applet"); chat.setAttribute("archive","http://www.freejavachat.com/java/cr.zip"); chat.setAttribute("codebase","http://www.freejavachat.com/java/"); chat.setAttribute("name","cr"); chat.setAttribute("code","ConferenceRoom.class"); chat.setAttribute("width","640"); chat.setAttribute("height","480"); param = document.createElement("param"); param.setAttribute("name","channel"); param.setAttribute("value","#freewarwiki"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","user"); param.setAttribute("value","einer"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name", "showbuttonpanel"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","bg"); param.setAttribute("value","ffffff"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","fg"); param.setAttribute("value","000000"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","roomswidth"); param.setAttribute("value","0"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","lurk"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","userprompt"); param.setAttribute("value",""); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","nameprompt"); param.setAttribute("value",""); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","simple"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","restricted"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","showjoins"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","showserverwindow"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","nicklock"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","playsounds"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","onlyshowchat"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","showcolorpanel"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","floatnewwindows"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","buttonsize"); param.setAttribute("value","14"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","buttonstyle"); param.setAttribute("value","BOLD"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","nosettings"); param.setAttribute("value","false"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","loadmodules"); param.setAttribute("value","NickServPanel hide"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","loadmodules1"); param.setAttribute("value","ImagePanel hide"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","loadmodules2"); param.setAttribute("value","OpPanel hide"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","commands"); param.setAttribute("value","Image Panel;/showmodule ImagePanel;NickServ Panel;/showmodule NickServPanel;Operators Panel;/showmodule OpPanel"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","userwidth"); param.setAttribute("value","16"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","joinsound"); param.setAttribute("value","bell.au"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","sounds"); param.setAttribute("value","Alarm;Alarm.au Are we awake?;Applause;applause.au ENCORE!!!;Awwwwwww;aww.au Awwwwwwwww;BabyCry;babycry.au Wahhhh;CashRegister;cash_register.au Woohoo!;CowMoo;moo.au moos like a cow;Crash;crash.au *** CRASHES ***;Cymbal;CrashCymbal.au Tada!;Cuckoo;Cuckoo.au Where's Dr Fraud?;DoesNotCompute;does_not_compute.au That does NOT compute!;DOH!;doh.au Homer says DOH!;Door;door.au hears a door;Drip;drip.au Drip;Explosion;explosion.au explodes;Flush;flush.au courtesy flush;Geek;computer.au computer geek detected;Giggle;giggle.au haha;Glass1;Glass.au Breaks it;Glass2;breaking_glass.au Oh No!;Goofed;goofed.au OOPS!;Hallelujah!;hallelujah.au It's a miracle!;Knock;knock.au Knocks patiently;Gong;gong.au has gonged you;Laugh 1;laugh.au Laughs hysterically;Laugh 2;laughter.au You're KIDDING!;OHYEA!;ohyeah.au Woohoo!;Rasberry;Rasberry.au Excuse me;SciFi;sci_fi.au scifi;Snore;snore.au Snores;SubDive;sub_dive_horn.au Watch out!;SubPing;scoping.au Ping!;Swish;swish.au thinks that went over someone's head!;This just in;music.au NEWSFLASH! THIS JUST IN....;Ting;join.au dropped something;Train;train.au hears a train coming...;Whee;whistle.au Whee!"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","timestamp"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","playsounds"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","showsendbutton"); param.setAttribute("value","true"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","listtime"); param.setAttribute("value","0"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","guicolors1"); param.setAttribute("value","youColor=880000;operColor=004488;voicecolor=000000;userscolor=000000"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","guicolors2"); param.setAttribute("value","inputcolor=dddddd;inputtextColor=000000;sessioncolor=ffffff;systemcolor=aaaaaa"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","guicolors3"); param.setAttribute("value","titleColor=888888;titletextColor=ffffff;sessiontextColor=000000"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","guicolors4"); param.setAttribute("value","joinColor=228b22;partColor=228b22;talkcolor=000000"); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","nick"); param.setAttribute("value",""); chat.appendChild(param); param = document.createElement("param"); param.setAttribute("name","passprompt"); param.setAttribute("value","Passwort (registrierte Nicknames)"); chat.appendChild(param); findchat.appendChild(chat); } // Starte addChat() nach Laden der Seite addOnloadHook(addChat); /*** ENDE: FreewarWiki Chat ***/ /*** 6. Charakterfähigkeiten ***/ // Ist in [[MediaWiki:CFoptions.js]] ausgelagert importScript("MediaWiki:CFoptions.js"); /*** ENDE: Charakterfähigkeiten ***/ //============================================================= /*** 7. Vertikale Tabs ***/ // Variablendefinition var shownTab = Array(); var disabledLink = Array(); /** * Änderung des aktuell ausgewählten Tabs */ function showVTab(area, tab) { var div = document.getElementById('VTabContent_' + String(area) + '_' + String(tab)); var a = document.getElementById('VTabLink_' + String(area) + '_' + String(tab)); if (!div || !a) return; div.style.height = 'auto'; if (shownTab[area]) shownTab[area].style.height = '0'; shownTab[area] = div; var strong = document.getElementById('VTabStrong_' + String(area)); if (!strong) { strong = document.createElement('strong'); strong.id = 'VTabStrong_' + String(area); strong.className = 'selflink'; } if (disabledLink[area]) { disabledLink[area].appendChild(strong.firstChild); strong.parentNode.appendChild(disabledLink[area]); } strong.appendChild(a.firstChild); a.parentNode.appendChild(strong); a.parentNode.removeChild(a); disabledLink[area] = a; } /** * Initialisiert vertikale Tabs */ function initVTabs() { var indexVTabs = 0; for (var i = 0; table = document.getElementsByTagName('table')[i]; i++) { if (table.className != 'VTabs') continue; table.id = 'VTabs_' + String(++indexVTabs); shownTab[indexVTabs] = disabledLink[indexVTabs] = 0; var numTabs = 0; var contents; for (var j = 0; tr = table.getElementsByTagName('tr')[j]; j++) { var caption = tr.getElementsByTagName('td')[0]; caption.className = 'VTabCaption'; caption.id = 'VTabCaption_' + String(indexVTabs) + '_' + String(++numTabs); var a = document.createElement('a'); a.id = 'VTabLink_' + String(indexVTabs) + '_' + String(++numTabs); a.href = 'javascript:showVTab(' + String(indexVTabs) + ', ' + String(numTabs) + ');'; a.appendChild(caption.firstChild); caption.appendChild(a); var content = tr.getElementsByTagName('td')[1]; var div = document.createElement('div'); div.className = 'VTabContent'; div.id = 'VTabContent_' + String(indexVTabs) + '_' + String(numTabs); while (content.childNodes.length) { div.appendChild(content.childNodes[0]); } if (contents) { tr.removeChild(content); } else { contents = content } contents.rowSpan = numTabs; contents.appendChild(div); } } } // Starte initVTabs() nach Laden der Seite addOnloadHook(initVTabs); /*** ENDE: Vertikale Tabs ***/