var userAgent = navigator.userAgent;
var msie = userAgent.indexOf("MSIE");
var IE6 = (msie > 0) && (document.all) && (parseInt(userAgent.substring(msie + 5, userAgent.indexOf(".", msie))) <= 6);
var IE7 = !IE6 && (msie > 0) && (document.all) && (parseInt(userAgent.substring(msie + 5, userAgent.indexOf(".", msie))) == 7);


////////////////////// navigation oben  /////////////////////////////////////////////////////
function showEbeneOben(was, wie) {
	if(IE6) {
		document.getElementById(was).style.display = wie ? 'block' : 'none';
	}
}


////////////////////// hauptnavigation  /////////////////////////////////////////////////////
var parent = null;

function clearNavi() {
	if(IE6) {
		var ulList = document.getElementById("menu").getElementsByTagName("ul");
		for(k = ulList.length - 1; k >= 0; k--) {
			ulList[k].style.display = "none";
		}	
		var liList = document.getElementById("menu").childNodes; 
		for(k = 0; k < liList.length; k++) {
			liList[k].style.overflow = "hidden";
			liList[k].childNodes[0].className = "";
		}
		document.getElementById("clearNaviDiv").style.display = "none";
	}
}

function configMenue(element, position, par) {
	parent = par; // dient auch der Unterscheidung, ob erste oder untergeordnete Ebene
	window.setTimeout("configMenue2('"+element+"', "+position+")", 1);
	if(par == null) {
		clearNavi();
	}
}

function configMenue2(element, position) {
	var elementById = document.getElementById(element);
	var everyTimeParent = (parent != null) ? parent : elementById;
	
	//hack für IE 6
	if(IE6 && elementById.childNodes.length > 2) {
		document.getElementById("clearNaviDiv").style.display = "block";
		
		//falls durch 1. Ebene ausgelöst
		if(parent == null) {
			//alle untergeordneten Ebenen einklappen
			var ulList = elementById.getElementsByTagName("ul");
			for(k = ulList.length - 1; k >= 0; k--) {
				ulList[k].style.display = "none";
			}
			//ausgewählte 2. Ebene ausklappen
			elementById.childNodes[2].style.display = "block";
			//alle nachfolgenden Ebenen verbergen
			var liList = elementById.parentNode.childNodes; 
			for(k = 0; k < liList.length; k++) {
				liList[k].style.overflow = "hidden";
			}
			//die nachfolgenden Ebenen des gewählten Menüpunktes sichtbar machen
			elementById.style.overflow = "visible";
			//hover der 1. Ebene festhalten
			elementById.childNodes[0].className = elementById.id  + "hover";
			//document.getElementById("ausgabe").innerHTML = elementById.childNodes[0].className;
		} else {
		//falls durch untergeordnete Ebene ausgelöst
			//alle untergeordneten Ebenen einklappen
			var ulList = parent.parentNode.getElementsByTagName("ul");
			for(k = ulList.length - 1; k >= 0; k--) {
				ulList[k].style.display = "none";
			}
			//ausgewählte untergeordnete Ebene ausklappen
			if(parent.childNodes.length > 2) {
				parent.childNodes[2].style.display = "block";
				//document.getElementById("ausgabe").innerHTML = parent.childNodes[2].tagName;
				parent.childNodes[2].style.left = parent.parentNode.offsetWidth - 2;
			}
		}
	} else {
		// Höhe für SubNavigation ermitteln (= max. Höhe von allen geöffneten Ebenen)
		var height = IE7 ? 24 : 21;
		var size = 0;
		var width = 0;
		var ulists = elementById.getElementsByTagName("ul");
			
		if(ulists.length > 0) {
			width = ulists[0].offsetWidth - 2;

			for(var i=0; i < ulists.length; i++) {
				// offsetHeight > 0 nur wenn display = block
				if(ulists[i].offsetHeight > 0) {
					size = Math.max(ulists[i].childNodes.length, size);
				}
			}
			//childNodes werden im IE anders gezählt als in anderen Browsern
			if(!document.all) size = (size - 1) / 2;
	
			// Höhe der SubNavigation zuweisen
			for(var i=0; i < ulists.length; i++) {
				ulists[i].style.height = (size * height + 2) + "px";
			}
		}
		// Position der SubNavigation zuweisen (style.top zuweisen => immer oben beginnen) 
		if(parent != null && parent.childNodes.length > 2) {
			parent.childNodes[2].style.top = ((1 - position) * height - 1) + "px";
			// hack für IE 7
			if(IE7) {
				parent.childNodes[2].style.top = ((1 - position) * height - 1) + "px";
				parent.style.width = width + "px";
				parent.childNodes[2].style.left = width + "px";
			}
		}
		
		//festgehaltenen hover löschen
		var ankerList = null;
		// a-Tags finden
		if(parent != null) {
			// untergeordneter Menüpunkt => Menüpunkte der aktuellen und aller untergeordneten Ebenen finden
			ankerList = everyTimeParent.parentNode.getElementsByTagName("a");
		} else {
			// Menüpunkt der ersten Ebene => Menüpunkte aller untergeordneten Ebenen finden
			ankerList = everyTimeParent.getElementsByTagName("a");
		}
		// styles der aktuellen Ebene zurücksetzen
		for(var i=0; i < ankerList.length; i++) {
			ankerList[i].className = "";
		}
		// class des aktuellen Menüpunktes setzen, hover festhalten
		everyTimeParent.firstChild.className = "selected";
	}
}

