
/***********************
 * Copyright by c-cron GmbH
 * Author: Robert Naumann (robert.naumann@c-cron.de)
 ***********************/
 
var currentFoldOutMenu;
var cursorInSubmenuContainer = false;
var checkCursorStateTimer;
var entered = false;

function onHeaderMenuItem_hover(item, submenuContainer) {
	clearTimeout(checkCursorStateTimer);
	if (item != null) {
		if (item.parentNode.nodeName == "LI" && item.parentNode.className != "act") {
			item.parentNode.style.backgroundPosition = "left 0px";
		}
	}
	if (currentFoldOutMenu != null) {
		currentFoldOutMenu.style.display = "none";
		currentFoldOutMenu = null;
	}
	if (submenuContainer != null) {
		var submenuContainerObj = document.getElementById(submenuContainer);
		if (submenuContainerObj != null && 
			submenuContainerObj.style.display == "none") {
			submenuContainerObj.style.display = "block";
			currentFoldOutMenu = submenuContainerObj;
			if (currentFoldOutMenu.addEventListener != null) {
				currentFoldOutMenu.addEventListener("mouseover", onSubMenuContainer_over, false);
				currentFoldOutMenu.addEventListener("mouseout", onSubmenuContainer_out, false);
			}
			else {
				currentFoldOutMenu.attachEvent('onmouseover', onSubMenuContainer_over);
				currentFoldOutMenu.attachEvent('onmouseout', onSubmenuContainer_out);
			}
		}
	}
}

function onHeaderMenuItem_out(item) {
	if (item != null) {
		if (item.parentNode.nodeName == "LI" && item.parentNode.className != "act" ) {
			item.parentNode.style.backgroundPosition = "left 53px";
		}
	}
	if (currentFoldOutMenu != null) { 
		 checkCursorStateTimer = setTimeout(checkFoldOutState, 250);
	}
}

function onSubMenuContainer_over(e) {
	if ((e.originalTarget || e.toElement) == currentFoldOutMenu && !cursorInSubmenuContainer) {
		cursorInSubmenuContainer = true;
		clearTimeout(checkCursorStateTimer);
	}
}

function onSubmenuContainer_out(e) {
	if ((e.relatedTarget || e.toElement) == currentFoldOutMenu && cursorInSubmenuContainer) {
		cursorInSubmenuContainer = false;
		checkFoldOutState();
	}
}

function checkFoldOutState() {
	if ((!cursorInSubmenuContainer) && (currentFoldOutMenu != null)) {
		currentFoldOutMenu.style.display = "none";
		currentFoldOutMenu = null;
	}
}