﻿var timeout = 500;    // ms
var closetimer = 0;
var ddmenuitem = 0;

// отваряне на подменю
function mopen(id) {
    // премахване на текущия таймер, ако има такъв
    mcancelclosetime();

    // скриване на текущо отвореното подменю, ако има такова
    if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';

    // показване на зададеното подменю
    ddmenuitem = document.getElementById(id);
    ddmenuitem.style.visibility = 'visible';

}

// скрива текущо отвореното подменю, ако има такова
function mclose() {
    if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}


// стартиране на нов таймер
function mclosetime() {
    closetimer = window.setTimeout(mclose, timeout);
}

// премахва текущия таймер, ако има такъв
function mcancelclosetime() {
    if (closetimer) {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

// Скриване на отворено подменю при клик извън него
document.onclick = mclose;