    var topNavActive=false;
    var navBarEl;
    
    $$(".nicemenu .arrow").invoke("observe", "mouseover", overMenuTitle);
    $$(".nicemenu .menu_title").invoke("observe", "mouseover", overMenuTitle);
    
    function overMenuTitle(e) {
        if(topNavActive) {
            clearMenu();  
        }  
        $(e.element().parentNode).addClassName("over");
        $(e.element().parentNode.parentNode).addClassName("menu_active");
        topNavActive=true;
    }
    
    document.observe("mouseover", function(e) {
        if(!topNavActive) {
            return;
        }
        var el=$(e.element());
        while(el!=document) {
            if(el.hasClassName('nicemenu')) {
                return;
            }
            el=$(el.parentNode);
        }
        clearMenu();
        topNavActive=false;        
    });
    
function clearMenu() {  
    //if we can decide on a consistent ID for this thing, we can make this better...
    if(!navBarEl) {
        navBarEl = $$('.nicemenu');
        navBarEl = navBarEl[0];
    }  
    var activeEl = navBarEl.down('.menu_active');
    activeEl.removeClassName('menu_active');
    children = activeEl.childNodes;
    for(var i=0; i<children.length; i++) {
        el = $(children[i]);
        if(el.className) {
            if(el.hasClassName('head_menu')) {
                el.removeClassName("over");
            }
        }
    }
}

