var currentSubMenu = new Array();
//var searchDefaultValue = "";
var active_nav = null;
var nav_main = null;
//function openSubMenu(subID,direction) {
function openSubMenu(e,subID,direction) {
	
	if(document.all) {
		var obj = event.srcElement;
	}else {
		var obj = e;
	}
	
	//hover-style zuruecksetzten wenn nicht null, nicht active und nicht current
	if(active_nav != null && active_nav.id != current_main_nav) {
		//active_nav.style.color = "#002F63";
		//active_nav.style.backgroundColor = "#E6E6E6";
		nav_main.style.color = "#000000";
		nav_main.style.backgroundColor = "#FFFFFF";
	}
	
	//wenn ein Hauptnavigationslink ueberfahren wird, dann alle geoeffneten
	//Submenues schliessen (ODER 'parentNode.className' notwendig, weil
	//IE und Moz unterschiedlicher Auffassung sind was wo ist.
	if(obj.className == "main_nav_links" | obj.parentNode.className == "main_nav_links") {
		closeAllSubMenus();
		nav_main = obj;
	}
	
	var submenu = document.getElementById(subID);
	var flash = document.getElementById("flash");
	
	if(currentSubMenu.length > 0 && currentSubMenu[(currentSubMenu.length-1)] != obj.parentNode) {
		currentSubMenu[(currentSubMenu.length-1)].style.display = "none";
		currentSubMenu.pop();
	}
	
	if(submenu) {
		switch(direction) {
			case "bottom":
				submenu.style.top = absTop(obj)+obj.offsetHeight+"px";
				submenu.style.left = absLeft(obj)+"px";
				break;
			case "right":
				submenu.style.top = absTop(obj)+"px";
				submenu.style.left = absLeft(obj)+obj.offsetWidth+"px";
				break;
		}
		submenu.style.display = "block";
		currentSubMenu.push(submenu);
	}
	
	//hover-style fuer main_navi beibehalten
	if(nav_main != "" && nav_main != null) {
		nav_main.style.color = "#FFFFFF";
		nav_main.style.backgroundColor = "#0EA47B";
		active_nav = obj;
	}
	
	//FlashFilm aus- und einblenden
	if(flash) {
		if(currentSubMenu.length > 0) {
			flash.style.visibility = "hidden";
		}else {
			flash.style.visibility = "visible";
		}
	}
	
	//document.getElementById("val").innerText = currentSubMenu.join(",");
}

function closeAllSubMenus() {
	var flash = document.getElementById("flash");
	if(flash) {
		flash.style.visibility = "visible";
	}
	
	for(var i in currentSubMenu) {
		currentSubMenu[i].style.display = "none";
	}
	currentSubMenu = new Array();
	
	//hover-style zuruecksetzten wenn nicht null und nicht current
	if(active_nav != null && active_nav.id != current_main_nav) {
		nav_main.style.color = "#000000";
		nav_main.style.backgroundColor = "#FFFFFF";
	}
}

function init() {
	
	document.body.onclick = closeAllSubMenus;
	/*
	//ImageMap zuordnen
	if(document.getElementById("img260")) {
		document.getElementById("img260").setAttribute("useMap", "#map260");
	}
	if(document.getElementById("img261")) {
		document.getElementById("img261").setAttribute("useMap", "#map261");
	}
	*/
	//Action der Kontaktformulare setzen
	if(document.getElementsByName("kontaktformular")[0]) {
		document.getElementsByName("kontaktformular")[0].action = self.location.href+"&send=formular";
	}
	
	if(document.getElementsByName("registrierung")[0]) {
		document.getElementsByName("registrierung")[0].action = self.location.href+"&send=formular";
	}
	
	if(document.getElementsByName("pw")[0]) {
		document.getElementsByName("pw")[0].action = self.location.href+"&send=formular";
	}
	
	//searchDefaultValue = document.searchForm.searchValue.;
}

function checkSearchFormValue(ev) {
	//this.value=(this.value == '' ? this.defaultValue : this.value);
	var obj = document.searchForm.sv;
	if(ev == "focus") {
		obj.value = (obj.value == '' | obj.value == "Suchbegriff..." | obj.value == "search word..." ? '' : obj.value);
	}else {
		obj.value = (obj.value == '' ? obj.defaultValue : obj.value);
	}
}

function checkFormular(formObj) {
	
	switch(formObj.name) {
		case "kontaktformular":
			//zu pruefenden Formularelemente, array(Elementname,Pruefoption) siehe 'eva.js'
			chkFields = new Array();
			chkFields[0] = new Array("Name","NotEmpty");
			chkFields[1] = new Array("Funktion","NotEmpty");
			chkFields[2] = new Array("Telefon","NotEmpty");
			chkFields[3] = new Array("Fax","NotEmpty");
			chkFields[4] = new Array("Mail","IsEmail");
			
			break;
		case "registrierung":
			//zu pruefenden Formularelemente, array(Elementname,Pruefoption) siehe 'eva.js'
			chkFields = new Array();
			chkFields[0] = new Array("Name","NotEmpty");
			chkFields[1] = new Array("Funktion","NotEmpty");
			chkFields[2] = new Array("Telefon","NotEmpty");
			chkFields[3] = new Array("Fax","NotEmpty");
			chkFields[4] = new Array("Email","IsEmail");
			chkFields[5] = new Array("Benutzername","NotEmpty");
			chkFields[6] = new Array("Kennwort","NotEmpty");
			
			break;
		case "pw":
			//zu pruefenden Formularelemente, array(Elementname,Pruefoption) siehe 'eva.js'
			chkFields = new Array();
			chkFields[0] = new Array("Benutzername","NotEmpty");
			chkFields[1] = new Array("Email","IsEmail");
			
			break;
	}
	
	if(chkFormElements(formObj,chkFields)) {
		return true;
	}
	
	return false;
}

