var running = false;
var showing = false;
var timerID = null;
var timerShowing = null;
var currentID  = null;
var previousID = null;
var delay = 300;
var seeAllOpen = false;

var behaviors  = {};
function InitMenus(id) {
  // get all list elements
  if ($(id)) {
    $A($(id).childNodes).each(function(child) {
      if (child.nodeName == 'LI') {
        // is there a menu?
        if ($(child.id+'-menu')) {
          // set ids
          nav_id  = child.id;
          menu_id = child.id+'-menu';
          
          // add behaviors
          if(child.id=="mainNav_item20")
          {            
              eval("behaviors['#"+nav_id+":mouseover']  = function(e) { NavStartShowMenu(\"navShowMenu('"+nav_id+"')\"); }");
              eval("behaviors['#"+nav_id+":mouseout']   = function(e) { NavStartTimer(\"navHideMenu('"+nav_id+"')\"); }");
              eval("behaviors['#"+menu_id+":mouseover'] = function(e) { NavStopTimer(); }");
          }
          else
          {
              eval("behaviors['#"+nav_id+":mouseover']  = function(e) { navShowMenu('"+nav_id+"'); }");
              eval("behaviors['#"+nav_id+":mouseout']   = function(e) { NavStartTimer(\"navHideMenu('"+nav_id+"')\"); }");
              eval("behaviors['#"+menu_id+":mouseover'] = function(e) { NavStopTimer(); }");
          }
        }
      }
    });
    // add behaviors
    Event.addBehavior(behaviors);
  }
}

function NavStartShowMenu(event)
{
    NavStopTimer();
    if(!showing)
    {
        showing = true;
        timerShowing = setTimeout("NavStartShowMenu2(" + event + ")", 1000);
    }
    else if(showing && seeAllOpen)
    {
        timerShowing = setTimeout("NavStartShowMenu2(" + event + ")", 0);
    }
}

function NavStartShowMenu2(event)
{
    seeAllOpen = true;
    eval(event);
}

function NavStartTimer(event){
    running = true;
    timerID = setTimeout(event, delay);
}

function NavStopTimer(){ running = false; clearTimeout(timerID); }

function navShowMenu(id){  
    if (running){NavStopTimer();}
  
    if(id == 'mainNav_item20' && !showing){return;}
    
    currentID = id;
    if (currentID != previousID && previousID !== null){
        navHideMenu(previousID);
    }

    $(id+'-menu').className = 'show';
    $A($(id).childNodes).each(function(child) {
        if (child.nodeName == 'A') {
            Element.addClassName(child, 'hover');
        }
    });
    
    previousID = currentID;
    
    if(currentID == 'mainNav_item9') {
        hide('ctl00_PlaceHolderMain_StoreSearchAdvanced1_ddlState');
        hide('ctl00_PlaceHolderMain_StoreSearchAdvanced1_ddlRadius');
        hide('ctl00_PlaceHolderMain_CustomerComments1_ddlDivision');
        hide('ctl00_PlaceHolderMain_CustomerComments1_ddlState');
        hide('ctl00_PlaceHolderMain_FreshForYou1_ddlDivision');
        hide('ctl00_PlaceHolderMain_FreshForYou1_ddlState');
  }
}

function navHideMenu(id, level) 
{
    seeAllOpen = false;
    showing=false;

    $(id+'-menu').className = 'hide';
    $A($(id).childNodes).each(function(child) {
        if (child.nodeName == 'A') {
            Element.removeClassName(child, 'hover');
        }
    });
    
    if(currentID == 'mainNav_item9') {
        show('ctl00_PlaceHolderMain_StoreSearchAdvanced1_ddlState');
        show('ctl00_PlaceHolderMain_StoreSearchAdvanced1_ddlRadius');
        show('ctl00_PlaceHolderMain_CustomerComments1_ddlDivision');
        show('ctl00_PlaceHolderMain_CustomerComments1_ddlState');
        show('ctl00_PlaceHolderMain_FreshForYou1_ddlDivision');
        show('ctl00_PlaceHolderMain_FreshForYou1_ddlState');
    }
}

function hide(id){
    id = $(id);
    if(id) {
        id.style.display="none";
    }
}

function show(id){
    id = $(id);
    if(id) {
        id.style.display="inline";
    }
}
