var ddMenuOpenContainer = null;
var ddMenuOpenMenus = null;
var ddMenuActiveItem = null;
var ddMenuHideTimer = null;

function ddMenuStartTimeout() {
	ddMenuHideTimer = setTimeout("ddMenuHideMenus()", ddMenuTimeout);
}

function ddMenuHideMenus() {
	ddMenuResetTimeout();
	if (ddMenuOpenContainer) {
		var c = document.getElementById(ddMenuOpenContainer);
		c.style.visibility = "inherit";
		ddMenuOpenContainer = null;
	}
	if (ddMenuOpenMenus) {
		for (var i in ddMenuOpenMenus) {
			var m = document.getElementById(ddMenuOpenMenus[i]);
			m.style.visibility = "hidden";
		}
		ddMenuOpenMenus = null;
	}
	ddMenuItemOut();
}

function ddMenuHideSubmenus(menuName) {
	if (ddMenuOpenMenus) {
		var h = false;
		var c = 0;
		for (var i in ddMenuOpenMenus) {
			if (h) {
				var m = document.getElementById(ddMenuOpenMenus[i]);
				m.style.visibility = "hidden";
			}
			else if(ddMenuOpenMenus[i] == menuName) {
				h = true;
			}
			else {
				c++;
			}
		}
		ddMenuOpenMenus.length = c + 1;
	}
}

function ddMenuItemOver(actuator) {
	
	ddMenuItemOut();
	ddMenuHideMenus();
	
	if (actuator) {
		ddMenuActiveItem = actuator;
		ddMenuActiveItem.className = "ddMenuItemHover";
	}
}

function ddMenuItemOut() {
	if (ddMenuActiveItem) ddMenuActiveItem.className = "ddMenuItem";
}

function ddMenuFolderOver(menuName,id) {
	
	ddMenuResetTimeout();
	ddMenuHideSubmenus(menuName);
	
	var actuator = document.getElementById(id);
	if (actuator) actuator.className = "ddMenuFolderItemHover";
}

function ddMenuFolderOut(id) {	

	ddMenuStartTimeout();
	
	var actuator = document.getElementById(id);
	if (actuator) actuator.className = "ddMenuFolderItem";
}

function ddMenuFolderItemOver(menuName, actuator, subMenuSuffix) {	
	if (actuator) actuator.className = "ddMenuFolderItemHover";
	if (subMenuSuffix) {
		var subMenuName = "" + menuName + "_" + subMenuSuffix;
		ddMenuShowSubMenu(subMenuName, actuator);
	}
}

function ddMenuFolderItemOut(actuator) {	
	if (actuator) actuator.className = "ddMenuFolderItem";
}

function ddMenuShowSubMenu(subMenuName, actuator) {
	ddMenuResetTimeout();
	var e = document.getElementById(subMenuName);
	if (e) {
		if (ddMenuOrientation == "H") {
			// horizontal
			if (ddMenuOffsetLeft) e.style.left = ddMenuOffsetLeft;
			if (ddMenuOffsetTop) e.style.top = ddMenuOffsetTop;
		}
		else {
			// vertical
			e.style.left = actuator.offsetWidth + ddMenuOffsetLeft;
			e.style.top = actuator.offsetTop + ddMenuOffsetTop;
		}
		e.style.zIndex = e.parentNode.style.zIndex + 1;
		e.style.visibility = "inherit";
		
		if (!ddMenuOpenMenus) ddMenuOpenMenus = new Array;
		ddMenuOpenMenus[ddMenuOpenMenus.length] = "" + subMenuName;
	}
}

function ddMenuResetTimeout() {
	if (ddMenuHideTimer) clearTimeout(ddMenuHideTimer);
	ddMenuHideTimer = null;
}

function ddMenuShowMenu(containName, menuName, actuator) {
	ddMenuItemOver(actuator);
	ddMenuResetTimeout();
	ddMenuShowMenuContainer(containName);
	ddMenuShowSubMenu(menuName, actuator);
}

function ddMenuShowMenuContainer(containName) {
	var c = document.getElementById(containName);
	if (c)	{
		c.style.visibility = "inherit";
		ddMenuOpenContainer = "" + containName;
	}
}

function ddMenuFolderItemClick(actuator) {}