var timeout	= 500;  //in milliseconds
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id){	
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}

function mclose(){
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
function mclosetime(){
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime(){
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

document.onclick = mclose(); 