var timeout        = 500; // timeout before closing expanded menu, ms
var timeout_open   = 45; // timeout before expanding selected item, ms
var closetimer     = 0;
var opentimer      = 0;
var topitem_close  = 0; // top menu item to roll up
var topitem_open   = 0; // top menu item to expand
var seltopitem     = 0; // selected top menu item
var bgcolor        = ''; // background color of selected item (from css)

function topmenu_open(){
    topmenu_close();
    if(topitem_open){
        topitem_open.css('visibility', 'visible');
        topitem_close = topitem_open;
        topitem_open = 0;
    }
    set_topitem_bg(bgcolor);
    cancel_timer(opentimer);
}
function topmenu_open_timer(){
    topitem_open = $(this).find('ul');

    set_topitem_bg('');
    seltopitem = $(this);
    bgcolor = seltopitem.css('background-color');

    if(topitem_close){
        topmenu_open();
    }else{
       opentimer = window.setTimeout(topmenu_open, timeout_open);
    }
    cancel_timer(closetimer);

}


function topmenu_close(){
    if(topitem_close){
        topitem_close.css('visibility', 'hidden');
        topitem_close = 0;
    }
    set_topitem_bg('');
}
function topmenu_close_timer(){
    if(topitem_close){
        set_topitem_bg(bgcolor);
        closetimer = window.setTimeout(topmenu_close, timeout);
    }
    cancel_timer(opentimer);
}
function cancel_timer(timer){
    if(timer){
        window.clearTimeout(timer);
        timer = null;
    }
}
function set_topitem_bg(bg){
    if(seltopitem) seltopitem.css('background-color', bg);
}


