var timeout    = 500;
var closetimer    = 0;
var ddmenuitem    = 0;

// open hidden layer
function mopen(id){
    // cancel close timer
    mcancelclosetime();
    // close old layer
    if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
    // get new layer and show it
    ddmenuitem = document.getElementById(id);
    ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose(){
    if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

function mclosetime(tmr){
	if(tmr==undefined) tmr=timeout;
    closetimer = window.setTimeout(mclose, tmr);
}

function mcancelclosetime(){
    if(closetimer){
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}
// close layer when click-out
document.onclick = mclose;

