﻿var timeout = 1000;
var closetimer = 0;
var ddmenuitem = 0;
var active_id = null;
var finish = 0;

// open hidden layer
function mopen(id_sub, id) {
    // cancel close timer
    mcancelclosetime();

    // close old layer
    if (ddmenuitem && ddmenuitem != document.getElementById(id_sub)) {
        //$('#' + active_id).slideToggle('slow');
        ddmenuitem.style.visibility = 'hidden';
    }
    active_id = id_sub;

    // get new layer and show it
    ddmenuitem = document.getElementById(id_sub);

    if (ddmenuitem != null) {
        $('#' + id_sub).slideToggle('slow');
        ddmenuitem.style.visibility = 'visible';
    }
}

// close showed layer
function mclose() {
    if (ddmenuitem) {
        $('#' + active_id).slideToggle('slow', function() {
            finish = 0;
            ddmenuitem.style.visibility = 'hidden';
        });
    }
}

// go close timer
function mclosetime() {
    closetimer = window.setTimeout(mclose, timeout);
    finish = 1;
}

// cancel close timer
function mcancelclosetime() {
    if (closetimer) {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

// close layer when click-out
document.onclick = mclose;
