var menu_element;
var submenu_element;
var menu_element_aktiv;
var submenu_element_aktiv;
var submenu_hide_timeout = 2; //sekunden
var hideExecute = false;

function menu_hover(opener, element_nr){
	element = $('submenu'+element_nr);

	if (element) {
		hideAll();
		element.show();
		menu_element = Element.extend(opener);
		submenu_element = element;
		menu_element_aktiv = true;
		submenu_element_aktiv = false;
		menu_element.onmouseout = menu_out;
	}

	return false;
}

function menu_out() {
	if (typeof menu_element == "object") {
		menu_element.onmouseout = "";
		menu_element_aktiv = false;
		submenu_tryhide();
	}
}

function submenu_hover() {
	if (typeof submenu_element == "object") {
		submenu_element.onmouseout = submenu_out;
		submenu_element_aktiv = true;
	}
}

function submenu_out() {
	if (typeof submenu_element == "object") {
		submenu_element.onmouseout = "";
		submenu_element_aktiv = false;
		submenu_tryhide();
	}
}

function submenu_tryhide() {
	if (!submenu_element_aktiv && !menu_element_aktiv) {
		if (hideExecute) hideExecute.stop();
		hideExecute = new PeriodicalExecuter(submenu_hide, submenu_hide_timeout);
	}
}

function submenu_hide() {
	if (hideExecute) hideExecute.stop();
	if (!submenu_element_aktiv && !menu_element_aktiv) {
		hideAll();
	}
}

function hideAll() {
	$('menu').descendants().each(function(top) {
	 if((top.hasClassName("submenu")) & ("UL" == top.tagName)){
	    if(Element.visible(top)) {
	    	top.hide();
	    }
	 }
	});
}

function gotoUrl (url_str) {
	if (url_str != '') {
		document.location.href = url_str;
	}
}
