


function show_subtabs (num) {

	for (var n = 1; n < 11; n ++) {
	
		var tab_content = document.getElementById('subtabs_' + n);
		var tab_label   = document.getElementById('tab_label_' + n);
		
		if (tab_content)
			if (n == num) {
				// diese Zeile auskommentieren, wenn es keine Subnavi geben soll
				tab_content.style.display = 'block';
				tab_label.className = 'tab_label_shown';
			} else {
				// diese Zeile auskommentieren, wenn es keine Subnavi geben soll
				tab_content.style.display = 'none';
				tab_label.className = 'tab_label_not_shown';
			}
	}
}

function show_subtab (tabnum, subtabnum) {

	for (var n = 1; n < 11; n ++) {
		for (var m = 1; m < 11; m ++) {
	
			//var stab_content = document.getElementById('subtabs_' + n + '_' + m);
			var stab_label   = document.getElementById('subtab_label_' + n + '_' + m);
			
			if (stab_label)
				if (n == tabnum && m == subtabnum) {
					//stab_content.style.display = 'block';
					stab_label.className = 'subtab_label_shown';
				} else {
					//stab_content.style.display = 'none';
					stab_label.className = 'subtab_label_not_shown';
				}
		}
	}	
}

/*
	Klickt auf einen bestimmten Unternavigationspunkt eines
	Hauptmenuepunkts
	
	tabnum = Nummer des Hauptnavipunkts
	subtabnum = Untermenuepunkt-Nummer
	areanums = Array mit den Nummern aller Bereiche, die neu geladen werden sollen
	visibleareas = Array mit den Nummern aller Bereiche, die ueberhaupt
		sichtbar sind
*/
function tab (tabnum, subtabnum, areanums, invisible_areas) {

	// Aktiviere die Unternavigationsleiste
	show_subtabs(tabnum);
	
	//clickElement('subtab_label_' + tabnum + '_1');
	subtab( tabnum, subtabnum, areanums, invisible_areas );
}

/*
	Klickt alle Ajax Buttons, die die Bereiche zu einem
	bestimmten Untermenupunkt neu laden
	
	tabnum = Hauptmenuepunkt-Nummer
	subtabnum = Untermenuepunkt-Nummer
	areanums = Array mit den Nummern aller Bereiche, die neu geladen werden sollen
*/
function subtab (tabnum, subtabnum, areanums, invisible_areas) {

	// Aktiviere den Untermenuepunkt in der Unternavigationsleiste
	show_subtab(tabnum, subtabnum);
	clickElement('ajaxbutton_' + tabnum + '_' + subtabnum);
/*	if (areanums)
	{
		for (var a = 0; a < areanums.length; a ++)
		{
			// Klicke den Ajax Button, der den Bereich mit der
			// aktuellen Nummer neu laedt
			//alert('updating area '+areanums[a]);
			clickElement('ajaxbutton_' + tabnum + '_' + subtabnum + '_' + areanums[a]);
		}
	}	
	*/
	//clickElement('ajaxbutton_' + tabnum + '_' + subtabnum + '_1');
	//clickElement('ajaxbutton_' + tabnum + '_' + subtabnum + '_2');
	//clickElement('ajaxbutton_' + tabnum + '_' + subtabnum + '_3');

	// Schalte alle Bereiche an
	for (var a = 0; a < 10; a ++)
	{
		activateElement( 'tab_content_' + a );
	}
	
	if (invisible_areas)
	{
		// Schalte alle unsichtbaren Bereiche ab
		for (var a = 0; a < invisible_areas.length; a ++)
		{
			//alert('hiding area '+invisible_areas[a]);
			deactivateElement( 'tab_content_' + invisible_areas[a] );
		}
	}
}

function activateElement (id) {

	var element = document.getElementById(id);
	
	if (element) {
		element.style.display = 'block';
	}
}

function deactivateElement (id) {

	var element = document.getElementById(id);
	
	if (element) {
		element.style.display = 'none';
	}
}

function clickElement (id) {

	var element = $(id);
	
	//alert(Element.inspect(element));
	
	if (element) {
		for (var a = 0; a < element.attributes.length; a ++) {
		
			var attribute = element.attributes[a];
			
			if (attribute.nodeName == 'onclick' || attribute.nodeName == 'onClick') {
				
				// strip off 'javascript:' from the start (for Safari)
				if (attribute.nodeValue.substr(0,11) == 'javascript:') {
					attribute.nodeValue = attribute.nodeValue.substr(11, attribute.nodeValue.length);
				}
				//alert(attribute.nodeValue);
				
				eval(attribute.nodeValue);
				
				// exit loop
				a = element.attributes.length;
			}
		}
	
		// old way (did not work in Safari)
		/*var fn = element.onclick;
		fn();*/
	}
	
	//element.click();
}

/* #############################  OLD   */

/* Schaltet einen Tabbereich an und alle anderen mit demselben Prefix aus
	Parameter:
		- prefix: der Prefix der Tabbereiche (IDs)
		- num: Nummer des anzuschaltenden Tabbereichs
		- tab: Objektreferenz auf den Navigationsitem (dort wird dann die Klasse geaendert)
*/
function show_tab (prefix, num) {

	for (var n = 1; n < 11; n ++) {
	
		var tab_content = document.getElementById(prefix + '_tab_' + n);
		var tab = document.getElementById('tab_label_' + n);
		
		if (tab_content)
			if (n == num) {
				tab_content.style.display = 'block';
				tab.className = 'tab_shown';
			} else {
				tab_content.style.display = 'none';
				tab.className = 'tab_not_shown';
			}
	}
}

