var timers = new Array();

$(document).ready(function(){
    $("div#menubar a").mouseenter(function(){

       var id = $(this).find('img').attr("id");
       var sm = $("div#" + id.replace("item_", "sub_"));
       if(checkTimer(sm))
       {
           cancelTimer(sm);
       }

       sm.fadeIn(500);
    });

    $("div.submenu").mouseenter(function(){
       if(checkTimer($(this)))
       {
           cancelTimer($(this));
       }
    });

    $("div#menubar a").mouseleave(function(){
        var id = $(this).find('img').attr("id");
        var sm = $("div#" + id.replace("item_", "sub_"));

        setTimer(sm);
    });

    $("div.submenu").mouseleave(function(){
        var id = $(this).attr("id");
        var sm = $("div#" + id);

        setTimer(sm);
    });
});

function checkTimer(menu) {
    var id = menu.attr("id");
    if (timers[id] != null) {
        return true;
    }

    return false;
}

function setTimer(menu) {
    var id = menu.attr("id");
    timers[id] = setTimeout(function(){ hideMenu(menu); }, 500);
}

function cancelTimer(menu) {
    var id = menu.attr("id");
    clearTimeout(timers[id]);

    timers[id] = null;
}

function hideMenu(menu) {
    menu.fadeOut(500);
}
