var timer = 1; 
var highlight = 0;
var MenuePunktBreite = 150;
var MenuePunktHoehe = 20;
var AbstandX = 0;
var AbstandY = 0;
var ExtraHoeheHauptNavi=0;
var MenuesLevel1 = new Array();
var MenuesLevel2 = new Array();


function getTargetElement(evt) {
	var elem
	if (evt.target) {
		elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
	} else {
		elem = evt.srcElement
	}
	return elem
}

// Zeigt Elemente an
function anzeigen(id_DIV) { 
	if (document.getElementById(id_DIV)) 
		document.getElementById(id_DIV).style.display="block";
}

// verbirgt Elemente
function verbergen(id_DIV) {
	if (document.getElementById(id_DIV)) 
		document.getElementById(id_DIV).style.display="none";
}


// verbirgt alle Elemente eine DIV-Arrays
function alleVerbergen(MenueLevel) {
	for (var i=0;i<MenueLevel.length;i++) {
		verbergen(MenueLevel[i]);
	}
}

// 
function UnterMenueStyleSetzen(index_UnterMenuePunkt){

	var id_UnterMenuePunkt = "link"+index_UnterMenuePunkt;
	var id_UnterMenue = "div"+index_UnterMenuePunkt;

	if (document.getElementById(id_UnterMenuePunkt) && document.getElementById(id_UnterMenue)) 
		document.getElementById(id_UnterMenuePunkt).className="menueOffen";
}


// Setzt die "Geöffnet" - Klasse aller Menuepunkte zurück
function UnterMenuesStylesZurueckSetzen() {
	var a = document.getElementsByTagName("A");
	for (var i=0;i<a.length;i++){
		if (a[i].className == "menueOffen") {
			a[i].className = "menueOrdner";
		}
	}
}

// HauptMenue auf klasse "ausgeklapptesMenue" setzen
function HauptMenueStyleSetzen(index_HauptMenuePunkt){
	var HauptMenuePunkt = document.getElementById("link"+index_HauptMenuePunkt);
	HauptMenuePunkt.className = "ausgeklapptesMenue";
	return;
}

// Setzt die "Ausgeklappt" - Klasse aller HauptMenuepunkte zurück
function HauptMenuesStyleZurueckSetzen() {

	// HauptmenuePunkte erkennen
	var HauptMenue = document.getElementById("HauptMenue");
	var HauptMenuePunkte = HauptMenue.childNodes;

	for (var i = 0; i < HauptMenuePunkte.length; i++){
		if ( HauptMenuePunkte[i].nodeType == 1 && HauptMenuePunkte[i].tagName == "A" ){

			var aktivesMenue = "link"+highlight;

			if ( aktivesMenue == HauptMenuePunkte[i].id ) {
				HauptMenuePunkte[i].className = "aktivesMenue";
			} else {
				HauptMenuePunkte[i].className = null;
				HauptMenuePunkte[i].removeAttribute("className");
			}
		}
	}
}

function verarbeiteFocus(evt){
	evt = (evt) ? evt : ((window.event) ? window.event : "");

	if (evt) {
		var EventAusloeser = getTargetElement(evt);
		EventAusloeser.blur();

	}

	return;
}

function TimeoutStarten(){
	if (timer) window.clearTimeout(timer);
	timer = window.setTimeout("AlleMenuesVerbergen()",1000);
}

function TimeoutAufheben(){
	if (timer) window.clearTimeout(timer);
}

function UnterMenueLevel1Zeigen(evt){
	evt = (evt) ? evt : ((window.event) ? window.event : "");

	if (evt) {
		var EventAusloeser = getTargetElement(evt);
		var EventAusloeserId = (EventAusloeser.id) ? EventAusloeser.id : false;
	}

	if (EventAusloeserId){

		var index_HauptMenue = EventAusloeserId.substr(4,1);
	
		UnterMenuesStylesZurueckSetzen();
		alleVerbergen(MenuesLevel1);
		alleVerbergen(MenuesLevel2);

		HauptMenuesStyleZurueckSetzen();
		HauptMenueStyleSetzen(index_HauptMenue);

		anzeigen("div"+index_HauptMenue);
	}
}

function UnterMenueLevel2Zeigen(evt){
	evt = (evt) ? evt : ((window.event) ? window.event : "");

	if (evt) {
		var EventAusloeser = getTargetElement(evt);
		var EventAusloeserId = (EventAusloeser.id) ? EventAusloeser.id : false;
	}

	if (EventAusloeserId){
		var index_UnterMenue = EventAusloeserId.substr(4,4);

		UnterMenuesStylesZurueckSetzen();
		UnterMenueStyleSetzen(index_UnterMenue)
		alleVerbergen(MenuesLevel2);
		anzeigen("div"+index_UnterMenue);
	}
}

function AlleMenuesVerbergen(){
	HauptMenuesStyleZurueckSetzen();
	UnterMenuesStylesZurueckSetzen();
	alleVerbergen(MenuesLevel1);
	alleVerbergen(MenuesLevel2);
}

function initclick(){
	AlleMenuesVerbergen();
}

function menuesInitialisieren(){
	
	// Untermenues erkennen
	
	AbstandY = document.getElementById("HauptMenue").offsetTop;

	var alleDivs = document.getElementsByTagName("DIV");
	for (var i=0;i<alleDivs.length;i++){
		if (alleDivs[i].className == "UnterMenue"){

			// Falls _ vorkommt, level-1 UnterMenue
			if (alleDivs[i].id.lastIndexOf("_") == -1){

				// UnterMenue Level 1
				MenuesLevel1.push(alleDivs[i].id);

				// Abstand Oben:
				alleDivs[i].style.top = AbstandY+MenuePunktHoehe+"px";

				// Abstand Links
				var position = alleDivs[i].id.substr(3,1);
				var idElternMenue= "link"+position;
				var abstandLinks = document.getElementById(idElternMenue).offsetLeft+AbstandX;
				alleDivs[i].style.left = abstandLinks+"px";
				
				//Events für MenuePunkteLevel1 initialisieren:
				var UnterMenuePunkte = alleDivs[i].childNodes;
				for (var j = 0; j < UnterMenuePunkte.length; j++){
					if ( UnterMenuePunkte[j].nodeType == 1 && UnterMenuePunkte[j].tagName == "A" ){
						UnterMenuePunkte[j].onmouseover = UnterMenueLevel2Zeigen;
						UnterMenuePunkte[j].onfocus = verarbeiteFocus;
					}
				}

			} else {

				// UnterMenue Level 2
				MenuesLevel2.push(alleDivs[i].id);

				// Abstand Oben:
				var position = alleDivs[i].id.substr(3,4);
				var idElternMenue= "link"+position;
				var ElternMenueHoehe = document.getElementById(idElternMenue).offsetHeight;
				var abstandOben = document.getElementById(idElternMenue).offsetTop+AbstandY+ElternMenueHoehe+ExtraHoeheHauptNavi;

				alleDivs[i].style.top = abstandOben+"px";
				//alert(document.getElementById(idElternMenue).offsetTop+'|'+ElternMenueHoehe+'|'+AbstandY+'='+abstandOben)

				// Abstand links:
				var position = alleDivs[i].id.substr(3,1);
				var idElternMenue= "link"+position;
				var abstandLinks = document.getElementById(idElternMenue).offsetLeft+AbstandX+MenuePunktBreite;
				alleDivs[i].style.left = abstandLinks+"px";
				
			}

			// Events für alle Untermenues
			alleDivs[i].onmouseout = TimeoutStarten;
			alleDivs[i].onmousemove = TimeoutAufheben;
		
		} else if (alleDivs[i].className == "HauptMenue"){
			// Hauptmenue
			alleDivs[i].onmouseout = TimeoutStarten;
			alleDivs[i].onmousemove = TimeoutAufheben;
			
			//Events für HauptMenuePunkte initialisieren:
			var HauptMenuePunkte = alleDivs[i].childNodes;
			for (var j = 0; j < HauptMenuePunkte.length; j++){
				if ( HauptMenuePunkte[j].nodeType == 1 && HauptMenuePunkte[j].tagName == "A" ){
					HauptMenuePunkte[j].onmouseover = UnterMenueLevel1Zeigen;
				}
			}
		}
	}

	for (var i=0;i<alleDivs.length;i++){
		if (alleDivs[i].className == "UnterMenue"){
			alleDivs[i].style.display="none";
			alleDivs[i].style.visibility="visible";
		}
	}
}



function initialisieren() {
	menuesInitialisieren();
}

window.onload = initialisieren;

