//###################################################################
//#                                                                 #
//#  CMS:            KraftZeitung dot net de at ch                  #
//#  Bestimmung:     mainNAVI2 Steuerung Browserunabhaengig         #
//#  Author:         BB                                             #
//#  Version:        0.4.0  RC1                                     #
//#  Datum:          21.04.2008                                     #
//#  Copyright       Bernd Binder /2008                             #
//#                                                                 #
//###################################################################

// ***********  GLOBALE VARIABLEN   *************
var aktivmenue=-1;
var aktivsubmenue=-1;
var aktivbremse=0;

// ***********         Hautprozedure mainNAVI2         *************
function mainNAVI2() {
	var mainItems = document.getElementById('mainItems');  // == UL
	var L1_LI = new Array();
	
	for (i=0; i<mainItems.childNodes.length; i++){
		if (mainItems.childNodes[i].nodeName=='LI') {
			L1_LI[i] = mainItems.childNodes[i];
			if(L1_LI[i].className=="mainActive" && aktivmenue == -1){aktivmenue=i;}
			for (ii=0; ii < L1_LI[i].childNodes.length; ii++){	// Ermittelt Level 1 LI's
				L1_LI[i].x=i;
				if (L1_LI[i].childNodes[ii].nodeName=='A') {var xL2A=ii;} // merkt sich A Element -> zur uebergabe an mouseover/out
				if (L1_LI[i].childNodes[ii].nodeName=='UL') {// Erstelle L2_UL Array
					L1_LI[i].xx=ii; //merkt sich zugehoerigen UL Knoten 
					if (L1_LI[i]==L1_LI[aktivmenue] && aktivmenue != -1){aktivsubmenue=ii;}
					L1_LI[i].onmouseover=function(){einblenden(this.x, this.xx, xL2A)};
					L1_LI[i].onmouseout=function(){raus_1(this.x, this.xx, xL2A)};
				}
				if (L1_LI[i].childNodes[ii].nodeName=='A' && L1_LI[i].childNodes[ii].nodeName!='UL') {// Wenn kein L2_UL Array nur einblenden2
					L1_LI[i].onmouseover=function(){einblenden2(this.x, this.xx, xL2A)};
					L1_LI[i].onmouseout=function(){raus_2(this.x, this.xx, xL2A)};
				}
			}// ENTE for ii
		}// ENTE if LI
	} // ENTE for i

	if(aktivmenue != -1 && aktivsubmenue != -1){
		mainItems.childNodes[aktivmenue].childNodes[aktivsubmenue].style.display="block";
	} 
} // ENTE mainNAVI2()

///*********************  Verzoegerung Funktionen ********************************

	function raus_1(x, xx, xL2A){// fuer LI1 mit UL2
		aktivbremse=0;
		vz=0;
		var UL2=1;
		verzoegerung(x, xx, xL2A, vz, UL2);
	}

	function raus_2(x, xx, xL2A){ // fuer LI1 ohne UL2
		aktivbremse=0;
		vz=0;
		var UL2=0;
		verzoegerung(x, xx, xL2A, vz, UL2);
	}

	function verzoegerung(x, xx, xL2A, vz, UL2){
		if(aktivbremse==0){
			vz++;
			if (vz < 30){
				setTimeout('verzoegerung('+x+','+xx+','+xL2A+','+vz+','+UL2+')',100);
			} else { 
				if (UL2==1) {ausblenden(x, xx, xL2A);} else {ausblenden2(x, xx, xL2A);} // Weiche fuer LI1 mit/ohne UL2
			}
		} 
		else { vz=0; }
	}

///*********************  SubFunktionen  zur Steuerung der Untermenues ********************************
	function einblenden(x, xx, xL2A) { 
		// Erwaret: x=LI knoten 1.Level / xx= UL Knoten 2.Level  / xL2A = A Knoten 2.Level
		// bekommt nur die UL Knoten von Level 2
		var mainItems = document.getElementById('mainItems');  // == UL
		var L2_UL2 = new Array();
		var L3_LI = new Array();
		alleszu();

		if(aktivmenue != -1 && aktivsubmenue != -1){mainItems.childNodes[aktivmenue].childNodes[aktivsubmenue].style.display="none";}

		L2_UL2[xx]=mainItems.childNodes[x].childNodes[xx];  // einlesen UL Knotens des Level.2

		for (xxx=0; xxx < L2_UL2[xx].childNodes.length; xxx++){					// Ermittelt Level 2 LI's
			if (L2_UL2[xx].childNodes[xxx].nodeName=='LI') {  // Erstelle L3_LI Array
				L3_LI[xxx]=L2_UL2[xx].childNodes[xxx];
				L3_LI[xxx].xxx=xxx;
				L3_LI[xxx].onmouseover=function(){einblenden3(x, xx, this.xxx)};
				L3_LI[xxx].onmouseout=function(){ausblenden3(x, xx, this.xxx)};
			}
		} // ENTE for xxx

		// Styles dynamis aendern
		mainItems.childNodes[x].style.backgroundPosition="0px -21px";			// LI Hintergrund auf weiss / 1Level
		L2_UL2[xx].style.display="block";										// UL einblende / 2.Level
		mainItems.childNodes[x].childNodes[xL2A].style.color="#666";			// A Farbe auf Grau / 2.Level
		aktivbremse=1;
	} // ENTE einblenden()

	function einblenden2(x, xx, xL2A) {										//wenn LI_1 kein UL hat
		alleszu();
		var mainItems = document.getElementById('mainItems');  // == UL
		if(aktivmenue > -1 && aktivsubmenue > -1){mainItems.childNodes[aktivmenue].childNodes[aktivsubmenue].style.display="none";}
		mainItems.childNodes[x].style.backgroundPosition="0px -21px";
		mainItems.childNodes[x].childNodes[xL2A].style.color="#666";
		aktivbremse=1;
	} // ENTE einblenden2()

	function einblenden3(x, xx, xxx) {										//  3.Level LI 
		var mainItems = document.getElementById('mainItems');
		mainItems.childNodes[x].childNodes[xx].childNodes[xxx].style.backgroundColor="#ddd";
	} // ENTE einblenden3()

	function ausblenden(x, xx, xL2A) {
		if (aktivbremse==0) {
			schiesser(x, xx, xL2A);
			var mainItems = document.getElementById('mainItems');  // == UL
			mainItems.childNodes[x].childNodes[xx].style.display="none";
			if(aktivmenue > -1 && aktivsubmenue > -1){mainItems.childNodes[aktivmenue].childNodes[aktivsubmenue].style.display="block";}
		}
	} // ENTE ausblenden()

	function ausblenden2(x, xx, xL2A) {										//wenn LI_1 kein UL hat
		if (aktivbremse==0) {
			schiesser(x, xx, xL2A);
			var mainItems = document.getElementById('mainItems');  // == UL
			if(aktivmenue > -1 && aktivsubmenue > -1){mainItems.childNodes[aktivmenue].childNodes[aktivsubmenue].style.display="block";}
		}
	} // ENTE ausblenden2()

	function ausblenden3(x, xx, xxx) {										//  3.Level LI 
		var mainItems = document.getElementById('mainItems');
		if (mainItems.childNodes[x].childNodes[xx].childNodes[xxx].className=='subInactive'){
			mainItems.childNodes[x].childNodes[xx].childNodes[xxx].style.backgroundColor="#fff";
		}
		if (mainItems.childNodes[x].childNodes[xx].childNodes[xxx].className=='subActive'){
			mainItems.childNodes[x].childNodes[xx].childNodes[xxx].style.backgroundColor="#cfcfcf";
		}
	} // ENTE ausblenden3()

	function alleszu(){  // Erst mal alle ausblenden
	var mainItems = document.getElementById('mainItems');  // == UL
	for(var i=0; i < mainItems.childNodes.length; i++){  
		if (mainItems.childNodes[i].nodeName=="LI") {
			if (mainItems.childNodes[i].className=='mainActive') mainItems.childNodes[i].style.backgroundPosition="0px -21px"; 
			if (mainItems.childNodes[i].className=='mainInactive') {
					if (mainItems.childNodes[i].id=='mainLast') mainItems.childNodes[i].style.backgroundPosition="0px -42px"; 
					else mainItems.childNodes[i].style.backgroundPosition="0px 0px";
			}
			for (ii=0; ii < mainItems.childNodes[i].childNodes.length; ii++){
				if (mainItems.childNodes[i].childNodes[ii].nodeName=="A"){
					//bedingung wenn aktiv
					if (mainItems.childNodes[i].className=='mainActive') mainItems.childNodes[i].childNodes[ii].style.color="#d00";
					else mainItems.childNodes[i].childNodes[ii].style.color="#fff";
				}
				if (mainItems.childNodes[i].childNodes[ii].nodeName=='UL'){mainItems.childNodes[i].childNodes[ii].style.display="none";}
			} // ENTE for ii
		} // ENTE if LI
	} // ENTE for i
	} // ENTE alleszu()

	function schiesser (x, xx, xL2A) {// schliesst UL2 von wenn LI1
		var mainItems = document.getElementById('mainItems');  // == UL
		if (mainItems.childNodes[x].className=='mainInactive'){
			mainItems.childNodes[x].style.backgroundPosition="0px 0px"; mainItems.childNodes[x].childNodes[xL2A].style.color="#fff";
		} 
		if (mainItems.childNodes[x].className=='mainActive'){
			mainItems.childNodes[x].style.backgroundPosition="0px -21px"; mainItems.childNodes[x].childNodes[xL2A].style.color="#d00";
		}
		if (mainItems.childNodes[x].id=='mainLast'){
			if (mainItems.childNodes[x].className=='mainInactive') {
				mainItems.childNodes[x].style.backgroundPosition="0px -42px"; mainItems.childNodes[x].childNodes[xL2A].style.color="#fff";
			}
			if (mainItems.childNodes[x].className=='mainActive') {
				mainItems.childNodes[x].style.backgroundPosition="0px -21px"; mainItems.childNodes[x].childNodes[xL2A].style.color="#d00";
			}
		}
	}// ENTE  schiesser();

