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';
}
      
// go close timer
function mclosetime()
{
        closetimer = window.setTimeout(mclose, timeout);
} 
    
// cancel close timer
function mcancelclosetime()
{     
        if(closetimer)
        {
                window.clearTimeout(closetimer);
                closetimer = null;
        }
}

// close layer when click-out
document.onclick = mclose; 

