﻿var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
var temp_imgName = 0;
var temp_menuUp = 0;
var temp_menuDown = 0;
var on_imgName = 0;
var estado = 0;

// open hidden layer
function mopen(id, imgName, menuUp, menuDown, status) {
    // cancel close timer
    mcancelclosetime();

    if (status == "on") {
        estado = status;
        on_imgName = imgName;
    }
    
    // close old layer
    if (ddmenuitem) {
        ddmenuitem.style.visibility = 'hidden';
    }

    if (temp_imgName && on_imgName != temp_imgName) {
        document.images[temp_imgName].src = temp_menuUp;
    }

    document.images[imgName].src = menuDown;
    temp_imgName = imgName;
    temp_menuUp = menuUp;
    temp_menuDown = menuDown;

    // get new layer and show it
    
    ddmenuitem = document.getElementById(id);
    if (ddmenuitem != null) {
        ddmenuitem.style.visibility = 'visible';
    }
}

// close showed layer
function mclose() {
    if (ddmenuitem) {
        ddmenuitem.style.visibility = 'hidden';
    }

    if (temp_imgName && on_imgName != temp_imgName) {
        document.images[temp_imgName].src = temp_menuUp;
    }
}

// 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;
