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(menuID) {
	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] == menuID) {
				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( menuID, parentID) {	
	var parentObj = document.getElementById(parentID);
	if (parentObj) parentObj.className = "ddMenuFolderItemHover_folder";
}

function ddMenuFolderOut( parentID) {
	var parentObj = document.getElementById(parentID);
	if (parentObj) parentObj.className = "ddMenuFolderItem_folder";
}

/*
function ddMenuCancelBubble(e) {
	if (window.event) window.event.cancelBubble = true;
	else e.stopPropagation();
}
*/

function ddMenuFolderItemOver(menuID,actuator,type,subMenuSuffix) {
	
	ddMenuResetTimeout();
	ddMenuHideSubmenus(menuID);
	
	if (actuator) actuator.className = "ddMenuFolderItemHover_" + type;
	if (subMenuSuffix) {
		var subMenuName = "" + menuID + "_" + subMenuSuffix;
		ddMenuShowSubMenu(subMenuName,actuator,"right");
	}
}

function ddMenuFolderItemOut(actuator,type) {
	ddMenuStartTimeout();
	if (actuator) actuator.className = "ddMenuFolderItem_" + type;
}

function ddMenuShowSubMenu(subMenuName,actuator,direction) {
	ddMenuResetTimeout();
	var e = document.getElementById(subMenuName);
	if (e) {
		if (direction == "right") {		
			e.style.left = actuator.offsetWidth + ddMenuOffsetLeft;
			e.style.top = actuator.offsetTop + ddMenuOffsetTop;
		}
		else {
			e.style.width = actuator.offsetWidth;
		}
		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,menuID,actuator,direction) {
	ddMenuItemOver(actuator);
	ddMenuResetTimeout();
	ddMenuShowMenuContainer(containName);
	ddMenuShowSubMenu(menuID,actuator,direction);
}

function ddMenuShowMenuContainer(containName) {
	var c = document.getElementById(containName);
	if (c)	{
		c.style.visibility = "inherit";
		ddMenuOpenContainer = "" + containName;
	}
}

function ddMenuFolderItemClick(actuator) {}