// Event-Hilfsfunktionen Funktionen
function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
	}
}

function getGetTarget(evt) {
	if(evt.srcElement) return evt.srcElement;
	else return evt.target;
}


// Timer-Funktionen
function setMenuTimer() {
	clearTimeout(timerHauptmenu);
	timerHauptmenu = setTimeout("downliteHauptmenu()", 1000);
}

/* Mouseover-Funktionen */

// Ändert die Klasse des feuernden Elements
// Klappmenü anzeigen
function highliteHauptmenu(evt) {
			hideOptions();
	clearTimeout(timerHauptmenu);
	obj = getGetTarget(evt);
	if (obj.nodeName == "A" && obj.parentNode.className.indexOf("ebene1") == 0) {
		ul = obj.parentNode.getElementsByTagName("UL");
		if (ul[0]) {
	 		downliteHauptmenuBut(ul[0]);
			ul[0].className = ul[0].className.replace("normal", "over");
		} else {
			downliteHauptmenu();
		}
		if(obj.parentNode.className.indexOf("ebene1") != -1) {
			if(obj.className != "gewaehlt") obj.className = "aktiv";
		}
	}
}

function highliteFolgemenu(evt) {
	clearTimeout(timerHauptmenu);
	obj = getGetTarget(evt);
	if (obj.nodeName == "A") {
		obj.className = "ebene2_aktiv";
		ul = obj.parentNode.getElementsByTagName("UL");
		if (ul[0] != null && ul[0].nodeName=="UL") {
			ul[0].className = ul[0].className.replace("normal", "over");
 			downliteFolgemenuLevel3But(ul[0]);
		} else {
			downliteFolgemenuLevel3(obj);
		}
	}
}

// Diese funktion setzt alle Hauptmenupunkte zurück
function downliteHauptmenu() {
	lis = document.getElementById("menu").getElementsByTagName("A");
	for(i in lis) {
		if(lis[i].className=="aktiv") lis[i].className="";
	}
	uls = document.getElementById("menu").getElementsByTagName("UL");
	for(j=0;j<uls.length;j++) {
		if(uls[j].nodeName == "UL") {
			uls[j].className = uls[j].className.replace("over", "normal");
		}
	}
}
// alle anderen Klappmenüs ausblenden
function downliteHauptmenuBut(current) {
	lis = document.getElementById("menu").getElementsByTagName("A");
	for(i in lis) {
		if(lis[i].className=="aktiv") lis[i].className="";
	}
	uls = document.getElementById("menu").getElementsByTagName("ul");
	for(j=0;j<uls.length;j++) {
		if(uls[j].nodeName == "UL" && uls[j] != current) uls[j].className = uls[j].className.replace("over", "normal");
	}
}
// Alle Menüs der 3. Ebene ausblenden
function downliteFolgemenuLevel3(level2) {
	ul = level2.parentNode.parentNode;
	lis = ul.getElementsByTagName("A");
	for(i in lis) {
		if(lis[i].className=="ebene2_aktiv") lis[i].className="ebene2";
	}
	uls = ul.getElementsByTagName("UL");
	for(j in uls) {
 		if(uls[j].nodeName == "UL") uls[j].className = uls[j].className.replace("over", "normal");
	}
}

// Andere Menüs der 3. Ebene ausblenden
function downliteFolgemenuLevel3But(current) {
	ul = current.parentNode.parentNode;
	lis = ul.getElementsByTagName("A");
	for(i in lis) {
		if(lis[i].className=="ebene2_aktiv" && lis[i] != current.parentNode.getElementsByTagName("A")[0]) lis[i].className="ebene2";
	}
	uls = ul.getElementsByTagName("UL");
	for(j in uls) {
 		if(uls[j].nodeName == "UL" && uls[j] != current) uls[j].className = uls[j].className.replace("over", "normal");
	}
}

// Damit man nicht genau die Links treffen muss:
function goToChildHref(evt) {
		//Get the firing Element
	li = getGetTarget(evt);
	if(li && li.parentNode.href) location.href = li.parentNode.href;
}

function hasClass(obj) {
     var result = false;
     if (obj.getAttributeNode("class") != null) {
         result = obj.getAttributeNode("class").value;
     }
     return result;
}

