
$(function(){
    initMenu();
});


function initMenu() {
    var currentMenu = false;
    var itv = false;

    var close = function() {
        if (currentMenu) {
            var m = currentMenu;
            itv = window.setTimeout(function(){
                if (m!=currentMenu) return false;
                currentMenu.hide();
                currentMenu=false;
            }, 400);
        }
    };

    $('a[@menuid]', 'div.topmenu').each(function(){
        var a = $(this);
        var id = a.attr('menuid');
        if (!id) return true;
        var m = $('div.dropdownmenu[menublock='+id+']');
        if(m.length==0) return true;
        var ofs = a.position();
        var top = ofs.top;
        if ($.browser.msie) ofs.left-=1;
        var w = a.width()-3;
        m.css({top: top+a.height()+6, left: ofs.left, width: w+'px'});
        m.find('a').css('width', w+'px');

        a.bind('mouseenter', function(e) {
            e.stopPropagation();
            if (itv) window.clearTimeout(itv);
            if (currentMenu && currentMenu != m) currentMenu.hide();
            if (currentMenu == m) return false;
            m.show();
            currentMenu = m;
            return false;
        });
        a.bind('mouseleave', close);
        m.bind('mouseleave', close);
        m.bind('mouseenter', function(e) {
            e.stopPropagation();
            if (itv) window.clearTimeout(itv);
            a.mouseover();
            return false;
        });
    });
};