MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus DarkfleetWiki
Wechseln zu: Navigation, Suche
(btw. die fassung wurde aus dem fwwiki übernommen und von ando fürs fwwiki überareitet...wird gleich noch aufs dfwiki zugeschnitten)
 
(32 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 19: Zeile 19:
 
  * var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt
 
  * var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt
 
  **/
 
  **/
var NavigationBarShowDefault = 1;
+
var NavigationBarShowDefault = 0;
  
 
/**
 
/**
Zeile 97: Zeile 97:
  
 
// Lade createNavigationBarToggleButton() nach Laden der Seite
 
// Lade createNavigationBarToggleButton() nach Laden der Seite
addOnloadHook(createNavigationBarToggleButton);
+
jQuery( document ).ready( function( $ ) {
 +
createNavigationBarToggleButton();
 +
} );
 +
//addOnloadHook(createNavigationBarToggleButton);
 
   
 
   
 
/*** ENDE: Anpassung für die Navigationsleisten ***/
 
/*** ENDE: Anpassung für die Navigationsleisten ***/
Zeile 104: Zeile 107:
  
 
/*** 2. Kampfrechner ***/
 
/*** 2. Kampfrechner ***/
 
+
/*
 
// Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert
 
// Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert
 
// Wird nur auf der Seite [[Kampfrechner]] aufgerufen
 
// Wird nur auf der Seite [[Kampfrechner]] aufgerufen
 
if (mw.config.get('wgTitle') === 'Kampfrechner') {
 
if (mw.config.get('wgTitle') === 'Kampfrechner') {
importScript("MediaWiki:Kampfrechner.js");
+
        mw.loader.load( '/index.php?title=MediaWiki:Kampfrechner.js&action=raw&ctype=text/javascript' );
 +
//importScript("MediaWiki:Kampfrechner.js");
 
}
 
}
 
+
*/
 
/*** ENDE: Kampfrechner ***/
 
/*** ENDE: Kampfrechner ***/
  
/*** 3. Kartenspezifisches ***/
+
//=============================================================
  
// Gesamtkarten-Funktionen
+
/*** 3. Forschungen ***/
// Autorouter: Ist in [[MediaWiki:Autorouter.js]] ausgelagert
+
// Ist in [[MediaWiki:CFoptions.js]] ausgelagert
// Gesamtkarte-Funktionen: Sind in [[MediaWiki:Gesamtkarte.js]] ausgelagert
+
// Siehe auch: [[:Kategorie:Forschung]]
// Werden nur auf der Seite [[Gesamtkarte]] aufgerufen
+
mw.loader.load( '/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript' );
if (mw.config.get('wgTitle') === 'Gesamtkarte') {
+
//importScript("MediaWiki:CFoptions.js");
importScript("MediaWiki:Gesamtkarte.js");
 
importScript("MediaWiki:Autorouter.js");
 
}
 
  
/**
+
/*** ENDE: Forschungen ***/
* 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 ***/
 
  
 
//=============================================================
 
//=============================================================
Zeile 238: Zeile 190:
  
 
// Starte work_on_npcimages() nach Laden der Seite
 
// Starte work_on_npcimages() nach Laden der Seite
addOnloadHook(work_on_npcimages);
+
jQuery( document ).ready( function( $ ) {
 +
work_on_npcimages();
 +
} );
 +
//addOnloadHook(work_on_npcimages);
  
 
/*** ENDE: NPC-Bilder ***/
 
/*** ENDE: NPC-Bilder ***/
 +
  
 
//=============================================================
 
//=============================================================
  
/*** 5. FreewarWiki Chat ***/
+
/*** 5. Schnee/Feuerwerk ***/
 
 
/**
 
* Fügt den Chat ein
 
*/
 
function addChat()
 
{
 
findchat = document.getElementById("dfchat");
 
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);
+
/** ==Schnee== **/
param = document.createElement("param"); param.setAttribute("name","user"); param.setAttribute("value","einer"); chat.appendChild(param);
+
// Ist in [[MediaWiki:Schnee.js]] ausgelagert
param = document.createElement("param"); param.setAttribute("name", "showbuttonpanel"); param.setAttribute("value","false"); chat.appendChild(param);
+
//if (mw.config.get('wgTitle') === 'Hauptseite') {
param = document.createElement("param"); param.setAttribute("name","bg"); param.setAttribute("value","ffffff"); chat.appendChild(param);
+
//mw.loader.load('/index.php?title=MediaWiki:Schnee.js&action=raw&ctype=text/javascript');
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);
+
/** ==Feuerwerk== **/
}
+
// Ist in [[MediaWiki:Feuerwerk.js]] ausgelagert
 +
//if (mw.config.get('wgTitle') === 'Hauptseite') {
 +
//mw.loader.load('/index.php?title=MediaWiki:Feuerwerk.js&action=raw&ctype=text/javascript');
 +
//}
  
// Starte addChat() nach Laden der Seite
+
/*** ENDE: Schnee/Feuerwerk ***/
addOnloadHook(addChat);
 
  
/*** ENDE: FreewarWiki Chat ***/
+
//=============================================================
  
/*** 6. Charakterfähigkeiten ***/
 
 
// Ist in [[MediaWiki:CFoptions.js]] ausgelagert
 
importScript("MediaWiki:CFoptions.js");
 
 
/*** ENDE: Charakterfähigkeiten ***/
 
 
//=============================================================
 
  
/*** 7. Vertikale Tabs ***/
+
/*** 6. Vertikale Tabs ***/
  
 
// Variablendefinition
 
// Variablendefinition
Zeile 398: Zeile 299:
  
 
// Starte initVTabs() nach Laden der Seite
 
// Starte initVTabs() nach Laden der Seite
addOnloadHook(initVTabs);
+
jQuery( document ).ready( function( $ ) {
 +
initVTabs();
 +
} );
 +
//addOnloadHook(initVTabs);
  
 
/*** ENDE: Vertikale Tabs ***/
 
/*** ENDE: Vertikale Tabs ***/

Aktuelle Version vom 8. Januar 2023, 01:57 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 = 0;

/**
 * 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
jQuery( document ).ready( function( $ ) {
	createNavigationBarToggleButton();
} );
//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') {
        mw.loader.load( '/index.php?title=MediaWiki:Kampfrechner.js&action=raw&ctype=text/javascript' );
	//importScript("MediaWiki:Kampfrechner.js");
}
*/
/*** ENDE: Kampfrechner ***/

//=============================================================

/*** 3. Forschungen ***/
// Ist in [[MediaWiki:CFoptions.js]] ausgelagert
// Siehe auch: [[:Kategorie:Forschung]]
mw.loader.load( '/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript' );
//importScript("MediaWiki:CFoptions.js");	

/*** ENDE: Forschungen ***/

//=============================================================

/*** 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
jQuery( document ).ready( function( $ ) {
	work_on_npcimages();
} );
//addOnloadHook(work_on_npcimages);

/*** ENDE: NPC-Bilder ***/


//=============================================================

/*** 5. Schnee/Feuerwerk ***/

/** ==Schnee== **/
// Ist in [[MediaWiki:Schnee.js]] ausgelagert
//if (mw.config.get('wgTitle') === 'Hauptseite') {
//mw.loader.load('/index.php?title=MediaWiki:Schnee.js&action=raw&ctype=text/javascript');
//}

/** ==Feuerwerk== **/
// Ist in [[MediaWiki:Feuerwerk.js]] ausgelagert
//if (mw.config.get('wgTitle') === 'Hauptseite') {
//mw.loader.load('/index.php?title=MediaWiki:Feuerwerk.js&action=raw&ctype=text/javascript');
//}

/*** ENDE: Schnee/Feuerwerk ***/

//=============================================================


/*** 6. 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
jQuery( document ).ready( function( $ ) {
	initVTabs();
} );
//addOnloadHook(initVTabs);

/*** ENDE: Vertikale Tabs ***/