var Menu = {
   currentMenu: null,
   previousMenu: null,
   hideTimeOut: null,
   hiding: false,
   showTimeOut: null,
   
   showMenu: function(el){
      if(el == this.previousMenu){
         clearTimeout(this.hideTimeOut);
         this.hiding = false;
      }  
   
      this.currentMenu = el;
      clearTimeout(this.showTimeOut);
      this.showTimeOut = setTimeout('Menu.show()', 50);
   },

   hideMenu: function(el){
      if(!this.hiding){
         this.hiding = true;
         this.previousMenu = el;
         this.hideTimeOut = setTimeout('Menu.hide()', 50);      
      } else {
         clearTimeout(this.showTimeOut);
      }
   },
   
   hide: function(){
      $(this.previousMenu).removeClassName('hover');
   
      if(this.previousMenu && this.previousMenu.children[1])
         $(this.previousMenu.children[1]).setStyle({ display: 'none' });
         
      this.hiding = false;
   },
   
   show: function(){
      $(this.currentMenu).addClassName('hover');
   
      if(this.currentMenu.children[1])
         $(this.currentMenu.children[1]).setStyle({ display: 'block' });
   }
}
