var mmOpenContainer = null;
var mmOpenMnus = null;
var mmHideMnuTimer = null;

function MM_mnuStartTimeout(hideTimeout) {
	mmHideMnuTimer = setTimeout("MM_mnuHideMnus()", hideTimeout);	
}

function MM_mnuHideMnus() {
	MM_mnuResetTimeout();
	if(mmOpenContainer) {
		var c = document.getElementById(mmOpenContainer);
		c.style.visibility = "inherit";
		mmOpenContainer = null;
	}
	if( mmOpenMnus ) {
		for(var i in mmOpenMnus) {
			var m = document.getElementById(mmOpenMnus[i]);
			m.style.visibility = "hidden";			
		}
		mmOpenMnus = null;
	}
}

function MM_mnuHideSubmnus(mnuName) {
	if( mmOpenMnus ) {
		var h = false;
		var c = 0;
		for(var i in mmOpenMnus) {
			if( h ) {
				var m = document.getElementById(mmOpenMnus[i]);
				m.style.visibility = "hidden";
			} else if( mmOpenMnus[i] == mnuName ) {
				h = true;
			} else {
				c++;
			}
		}
		mmOpenMnus.length = c+1;
	}
}

function MM_mnuOverMnuItem(mnuName, subMnuSuffix) {
	MM_mnuResetTimeout();
	MM_mnuHideSubmnus(mnuName);
	if( subMnuSuffix ) {
		var subMnuName = "" + mnuName + "_" + subMnuSuffix;
		MM_mnuShowSubMnu(subMnuName);
	}
}

function MM_mnuShowSubMnu(subMnuName) {
	MM_mnuResetTimeout();
	var e = document.getElementById(subMnuName);
	e.style.visibility = "inherit";
	if( !mmOpenMnus ) {
		mmOpenMnus = new Array;
	}
	mmOpenMnus[mmOpenMnus.length] = "" + subMnuName;
}

function MM_mnuResetTimeout() {
	if (mmHideMnuTimer) clearTimeout(mmHideMnuTimer);
	mmHideMnuTimer = null;
}

function MM_mnuShowMnu(containName, mnuName, xOffset, yOffset, triggerName) {
	MM_mnuHideMnus();
	MM_mnuResetTimeout();
	MM_mnuShowMnuContainer(containName, xOffset, yOffset, triggerName);
	MM_mnuShowSubMnu(mnuName);
}

function MM_mnuShowMnuContainer(containName, x, y, triggerName) {	
	var c = document.getElementById(containName);
	var s = c.style;
	s.visibility = "inherit";
	
	mmOpenContainer = "" + containName;
}
