var commerceMenu = new Object();

commerceMenu.timeout  = 250;
commerceMenu.timer    = null;
commerceMenu.currItem = null;

commerceMenu.cancelCloseTimer = function() {

  if( commerceMenu.timer ){

    window.clearTimeout(commerceMenu.timer);
    commerceMenu.timer = null;
  }
};

commerceMenu.openMenu = function(event) {

  commerceMenu.cancelCloseTimer();

  if( commerceMenu.currItem )
    commerceMenu.closeMenu(event);

  var elId = Event.element(event).id;

  if( elId && $(elId + 'List') ){

    commerceMenu.currItem = $(elId + 'List');
    commerceMenu.currItem.style.display = 'block';
    
    // hack for simplyfeelgood
    // change menu item background
    $(elId).style.backgroundColor = '#DEE0B6';
  }
};

commerceMenu.closeMenu = function(event) {

  if( commerceMenu.currItem ){
    
    commerceMenu.currItem.style.display = 'none';

    // hack for simplyfeelgood
    // reset menu item background
    menuId = new String(commerceMenu.currItem.id).replace('List', '');
    
    // check and reset
    if( $(menuId) )
        $(menuId).style.backgroundColor = '#C4C879';
    
    // no longer have an active menu
    commerceMenu.currItem = null;
  }
};

commerceMenu.closeMenuTimed = function(event) {

  commerceMenu.timer = window.setTimeout('commerceMenu.closeMenu();', commerceMenu.timeout);
};

document.observe("dom:loaded", function(){

  $$("a.drop").each( function(item) {

    item.observe("mouseover", commerceMenu.openMenu)
        .observe("mouseout",  commerceMenu.closeMenuTimed);
  });

  $$("div.drop-menu").each( function(item) {

    item.observe("mouseover", commerceMenu.cancelCloseTimer)
        .observe("mouseout",  commerceMenu.closeMenuTimed);
  });
  
  $$("div.drop-panel").each( function(item) {

    item.observe("mouseover", commerceMenu.cancelCloseTimer)
        .observe("mouseout",  commerceMenu.closeMenuTimed);
  });
});
