var oc = null;
var om = null;
var t = null;

function f_st(hideTimeout) {
	t = setTimeout("f_hm()", 100);
}

function f_hm() {
	f_rt();
	if(oc) {
		var c = document.getElementById(oc);
		c.style.visibility = "inherit";
		oc = null;
	}
	if( om ) {
		for(var i = 0; i < om.length ; i++) {
			var m = document.getElementById(om[i]);
			m.style.visibility = "hidden";			
		}
		om = null;
	}
}

function f_hs(menuName) {
	if( om ) {
		var h = false;
		var c = 0;
		for(var i = 0; i < om.length ; i++) {
			if( h ) {
				var m = document.getElementById(om[i]);
				m.style.visibility = "hidden";
			} else if( om[i] == menuName ) {
				h = true;
			} else {
				c++;
			}
		}
		om.length = c+1;
	}
}

function f_ov(menuName, subMenuSuffix) {
	f_rt();
	f_hs(menuName);
	if( subMenuSuffix ) {
		var subMenuName = "" + menuName + subMenuSuffix;
		f_ssb(subMenuName);
	}
}

function f_ssb(subMenuName) {
	f_rt();
	var e = document.getElementById(subMenuName);
	e.style.visibility = "inherit";
	if( !om ) {
		om = new Array;
	}
	om[om.length] = "" + subMenuName;
}

function f_rt() {
	if (t) clearTimeout(t);
	t = null;
}

function f_smn(containName, menuName) {
	f_hm();
	f_rt();
	f_smnc(containName);
	f_ssb(menuName);
}

function f_smnc(containName) {	
	var c = document.getElementById(containName);
	var s = c.style;
	s.visibility = "inherit";

	oc = "" + containName;
}
