var active_id = '';
var active_timeout;
Event.addBehavior({
  'li.main-menu-item:mouseover' : function(e) {
    clearTimeout(active_timeout);
    this.firstDescendant().addClassName('active'); // The 'a' within the 'li'
    if ($(active_id) && active_id != this.id + '-subnav') {
      $(active_id).removeClassName('active');
      hideMenu(active_id);
	  }
	  showMenu(this.id + '-subnav');
	  return false;
  },
  'div.subNav:mouseover' : function(e) {
	 clearTimeout(active_timeout);
  },
  'div.subNav ul:mouseover' : function(e) {
	 clearTimeout(active_timeout);
  },
  'div.subNav ul li:mouseover' : function(e) {
	 clearTimeout(active_timeout);
  },
  'div.subNav ul li a:mouseover' : function(e) {
	 clearTimeout(active_timeout);
  },
  'li.main-menu-item:mouseout' : function(e) {
    this.firstDescendant().removeClassName('active'); // The 'a' within the 'li'
    active_timeout = setTimeout("hideMenu('" + active_id + "')",100);
  }
});

function showMenu(menu_id) {
    active_id = menu_id;
    $(menu_id).addClassName('active');
    Effect.Appear(menu_id, {duration: 0.3, to: 1.0});
}

function hideMenu(menu_id) {
    clearTimeout(active_timeout);
    active_timeout = setTimeout('$(\'' + active_id + '\').removeClassName(\'active\')',100);
    Effect.Fade(menu_id, { duration: 0.1 });
}
