function init_menu(){
    var menu = {};
    var timerMenu;
    var status = false;
    currentLink = null;
    var submenuCont = $('#container #header div.submenu');
    var subList = submenuCont.find("ul");
    
    var itemList = $("#top_menu table.menu a[rel]");
    itemList.each(function(){
        var link = $(this);
        var newparam = "link_" + itemList.index(link);
        menu[newparam] = {
            'self': link,
            'child': getSubmenu(link),
            'parent': link.parent()
        }
    });
	
    for (var item in menu) {
        menu[item].self.data('name', item)
        if (menu[item].child.self) {
            menu[item].child.self.data('name', item);
        }
        menu[item].self.mouseenter(function(){
            clearTimeout(timerMenu);
            var link = $(this);
            timerMenu = setTimeout(function(){
                if (currentLink) {
                    menu[currentLink].parent.removeClass('hover');
                }
                currentLink = link.data('name');
                with (menu[link.data('name')]) {
                
                    parent.addClass('hover');
                    if (child) {
                        if (!status) {
                            submenuShow(submenuCont);
                        }
                        subList.hide();
                        child.show();
                    }
                    else {
                        submenuHide(submenuCont);
                    }
                }
            }, 50);
        });
        menu[item].self.mouseleave(function(){
            clearTimeout(timerMenu);
            if (currentLink) {
                timerMenu = setTimeout(function(){
                    menu[currentLink].parent.removeClass('hover');
                    currentLink = null;
                    submenuHide(submenuCont);
                }, 450);
            }
        });
        submenuCont.mouseenter(function(){
            clearTimeout(timerMenu);
        });
        submenuCont.mouseleave(function(){
            clearTimeout(timerMenu);
            if (currentLink) {
                timerMenu = setTimeout(function(){
                    menu[currentLink].parent.removeClass('hover');
                    currentLink = null;
                    submenuHide(submenuCont);
                }, 450);
            }
        });
    }
    
    function submenuHide(submenu){
        submenu.slideUp(200);
        status = false;
    }
    
    function submenuShow(submenu){
        submenu.slideDown(200);
        status = true;
    }
    
    
    function getSubmenu(link){
        var sublist = $("#" + link.attr("rel"));
        if (sublist.length != 0) {
            return sublist.eq(0);
        }
        return false;
    }
}

