//<[CDATA[
var timeout         = 700;
var closetimer		= 0;
var ddmenuitem      = 0;
var callermenuitem  = 0;

// open hidden layer
function mopen(caller, id) {	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
    if(callermenuitem) {
        var activeClsIndex = callermenuitem.className.indexOf('Active');
        if(activeClsIndex > -1) {
           callermenuitem.className = callermenuitem.className.substring(0, activeClsIndex);
       }
    }

    // get new layer and show it
	if(id != null) {
	    ddmenuitem = document.getElementById(id);
	    ddmenuitem.style.visibility = 'visible';
	}
	
	if(caller != null && caller != 'undefined') {
	    callermenuitem = caller;
	    callermenuitem.className = callermenuitem.className + 'Active';
	}
}
// close showed layer
function mclose() {
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	if(callermenuitem) {
	    var activeClsIndex = callermenuitem.className.indexOf('Active');
        if(activeClsIndex > -1) {
           callermenuitem.className = callermenuitem.className.substring(0, activeClsIndex);
       }
    }
}

// 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; 
//]]>
