/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +	ALLES RUND UM DIE TABS											**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/

// Tabgruppen Array
var groups = new Array();
// Tabcontainer Array
var container = new Array();
// der Style für Mouseover und Hover Effekte
var style = '';
// der Name des aktiven Tabs
var activeTab = '';

// Setze den momentan aktive Tab
// nötig für changeStyle

function setActiveTab(tabName) {
	activeTab = tabName;
}

// erstelle eine neue Gruppe
function setGroup(groupName){
	groups.push(groupName);
}

// Style setzen
function setStyle(styleName){
	style = styleName;
}

// Style bei Mouseover ändern
function changeStyle(objToChange) {
	if(document.getElementById(objToChange)){
		var el = document.getElementById(objToChange);
		if ( el.className == style && objToChange != activeTab) {
			el.className = '';
		} else {
			el.className = style;
		}
		
	}
}

// erstelle einen neuen Container in einer Gruppe
function setContainer(groupName, containerName){
	
	// wenn Array noch nicht nicht existiert, dann erstellen
	if (!container[groupName]) {
		container[groupName] = new Array();
	}
	container[groupName].push(containerName);
	
}

// schliesse Container
function hideContainer(objToClose){
	if(document.getElementById(objToClose)){
		var el = document.getElementById(objToClose);
		el.style.display = "none";
	}
}
// öffne  Container
function showContainer(objToOpen){
	if(document.getElementById(objToOpen)){
		var el = document.getElementById(objToOpen);
		el.style.display = "block";
	}
}

// wechsele zwischen geöffneten und geschlossenem Container
function switchContainer(objToOpen){
	if(document.getElementById(objToOpen)){
		var el = document.getElementById(objToOpen);
		if ( el.style.display == "none"){
			el.style.display = "block";
		} else {
			el.style.display = "none";
		}
	}
}

// funktion setzt einen bestimmten Tab anhand der id auf "Off"
function setClassNameOfTab(objToChangeCss,className){
	// ermittle Element, bei welchen die CSS Id-geändert werden soll
		var tabE1	= document.getElementById(objToChangeCss);
		tabE1.className		= className;
}

// funktion setzt einen bestimmten Container auf Sichtbar und alle anderen auf Unsichtbar
// das Gleiche mit den Tabs! den aktuelle auf Aktiv und die anderen auf Inactiv
// Wichtig! Container müssen die id=dataContainer"x" haben
// Wichtig! Tabs müssen die id = tabDate"x" haben damit alles funktioniert!
function openOneSectionAndCloseRest(groupToOpen,containerToOpen){
	//1.  zunächst alle Container schließen und Tabs deaktivieren!
	for (var i = 0; i < container[groupToOpen].length; i++ ){

		// erstelle temp. Id's
		var myTempContainerId 	= 'data_' +groupToOpen+ '_' + container[groupToOpen][i];
		var myTempTabId			= 'tab_' +groupToOpen+ '_' + container[groupToOpen][i];
		// schließe Container
		hideContainer(myTempContainerId);
		setClassNameOfTab(myTempTabId,'');
	}
	// öffne den gewünschten Container und bene den Tab hervor!
	showContainer('data_' +groupToOpen+ '_' +containerToOpen);
	setClassNameOfTab('tab_' +groupToOpen+ '_' +containerToOpen,style)
	setActiveTab('tab_' +groupToOpen+ '_' +containerToOpen);
	

}

// funktion zeigt alle Container und nur einen bestimmten Tab als Aktiv!
// Wichtig! Container müssen die id=dataContainer"x" haben
// Wichtig! Tabs müssen die id = tabDate"x" haben damit alles funktioniert!
function openAllSectionAndActivateOneTab(groupToOpen,containerToOpen,classNameOfOpenedTab){

	//1.  zunächst alle Container öffene und Tabs deaktivieren!
	for (var i = 0; i <= container[groupToOpen].length; i++ ){
		// erstelle temp. Id's
		var myTempContainerId 	= 'data_' +groupToOpen+ '_' +containerToOpen;
		var myTempTabId			= 'tab_' +groupToOpen+ '_' +containerToOpen;
		// schließe Container
		showContainer(myTempContainerId);
		setClassNameOfTab(myTempTabId,'');
	}
	// hebe den gewünschten Tab hervor!
	setClassNameOfTab(tabIdToActive,classNameOfOpenedTab)
}

// Funktion um eine neue Seite aus einem Select-Element aufzurufen
// ermittelt die URL aus dem gewählten Option-Value und sendet die ab
function selectAndGo(idSelectElement) {
	var selectElement = document.getElementById(idSelectElement);
	window.location.href = selectElement.options[selectElement.selectedIndex].value;
}

function getAndChange(strItemSrc, intID) {
	
	var srcItem	= document.getElementById(strItemSrc);
	var strURL	= srcItem.options[srcItem.options.selectedIndex].value;
	
	// hinweis! da der IE problem macht und irgendwie das Ergebnis cached!
	// soll ihm vorgegaukelt werden, dass jedesmal eine andere Seite aufgerufen wird
	var jetzt = new Date();	
	var tempParameter = jetzt.getTime();			
	
	// erstelle an dieser Stelle eine String, der alle Angaben enthält die der Server braucht!
	var strData	= "&jetzt=" + jetzt;
	
	/** sendRequest( strSource, strData, intType, intID ) **/
   /** intType = 0 => GET_Methode **/
   sendRequest( strURL, strData, 0, intID );
}

function quickSelectBoxChange(strItem, strContent, boolDisabled) {
	document.getElementById(strItem).innerHTML	= strContent;
	//document.getElementById(strItem).disabled	= boolDisabled;
}