var menuTimeout, menuDisapearTime = 300; //The time untill the menu should disappear in milliseconds
var menuOpen = null; //The currently open menu
function handleMenu(event) {
    var e = (event) ? event : window.event;
    var ele = (e.currentTarget) ? e.currentTarget : e.srcElement;
    if(e.type == "mouseover" && ele.tagName != "UL" && ele.tagName != "LI" && ele.tagName != "A") {
        var menu = ele.nextSibling;
        while (menu.nodeType!=1)
        {
            menu = menu.nextSibling;
        }
        
        if(menuOpen != null && menuOpen != menu) {
            menuOpen.style.display = "none";
        }
        clearTimeout(menuTimeout);
        
        menu.style.display = "block";
        menuOpen = menu;
    } else if(e.type == "mouseover") {
        clearTimeout(menuTimeout);
    } else if(e.type == "mouseout") {
        menuTimeout = setTimeout(function() {
            menuOpen.style.display = "none";
            menuOpen = null;
        }, menuDisapearTime);
    }
}
