/*====== Alle funktionen für die Tabs in den Boxen ======*/

var tabBoxes = {};


/* initialisiert die Tabboxen */
function initTabBoxes() {

	var tabrows = $$('DIV.boxtabs');
	var currentBox;
	var tablist;
	var rememberedTab;
	
	for (var i=0; i<tabrows.length; i++) {
		currentBox = $(tabrows[i].parentNode);
		
		currentBox.myTabList = tabrows[i].firstDescendant().childElements();
		currentBox.myContents = tabrows[i].next('.boxcenter').childElements();
		currentBox.myID = '';
		currentBox.myCurrentTab = 0;
			
		for (var j=0;  j<currentBox.myTabList.length; j++) {
			currentBox.myTabList[j].myBox = currentBox;
			currentBox.myTabList[j].myTabNum = j;
			currentBox.myTabList[j].onmouseover = function () {setTab(this.myBox, this.myTabNum)};
			
			if (currentBox.myTabList[j].className == 'activeBoxTab') {
				currentBox.myCurrentTab = j;
			}
		}
		
		currentBox.myContents.each(function(elem){elem.setStyle({'display':'none'})});
		setTab(currentBox,currentBox.myCurrentTab);
	}
}


/* aktiviert einen Tab */
function setTab (box, tabNum) {
	var displayValue;
	var tabClassName;
	
	for (var i=0; i<box.myTabList.length; i++) {
		
		// Der Tab ist aktiv (letzter Tab hat zusätzlichen style "lastTab")
		if (i==tabNum) {tabClassName = (i==box.myTabList.length-1) ? 'activeBoxTab lastTab':'activeBoxTab'}
		// Der Tab ist links vom aktiven Tab (Schatten!)
		else if (i==tabNum-1) {tabClassName = 'activeBoxTabLeft'}		
		// Der Tab ist rechts vom aktiven Tab (Schatten!)
		else if (i==tabNum+1) {tabClassName = (i==box.myTabList.length-1) ? 'activeBoxTabRight lastTabOff': 'activeBoxTabRight'}
		// Der Tab ist inaktive und kein direkter Nachbar des aktiven Tabs
		else {tabClassName = (i==box.myTabList.length-1) ? 'lastTabOff':'' }
		
		box.myTabList[i].className = tabClassName;
		
		if (box.myContents[i]) {
			displayValue = (i==tabNum) ? 'block' : 'none';		
			box.myContents[i].setStyle({'display': displayValue});
		}
	}
}


registerOnLoadFunction (initTabBoxes);
