var MenuHandler = Class.create({
	initialize: function () {
		this.menus = $$('#head li.active');
		
		this.activate();
	},
	
	activate: function () {
		this.menus.each((function(menu){
			var inMenu = menu.select('div.hidmenu').first().hide();
			menu.observe('mouseover', this.mouseover.bindAsEventListener(this));
			menu.observe('mouseout', this.mouseout.bindAsEventListener(this));
			inMenu.observe('mouseout', this.mouseout.bindAsEventListener(this));
		}).bind(this));
	},
	
	showMenu: function (menu) {
		this.activeMenu = $(menu);
		this.activeMenu.show();
	},
	
	hideMenu: function (menu) {
		this.activeMenu = $(menu);
		this.activeMenu.hide();
	},
	
	mouseover: function (event) {
		event.stop();
		var menu = Event.element(event).up('li.active').down().next('div.hidmenu');
		this.showMenu(menu);
	},
	
	mouseout: function (event) {
		event.stop();
		var element = Event.element(event);
		var liItem = element.up('li.active');
		var menu = element.up('li.active').down().next('div.hidmenu');
		if( ( element.descendantOf( liItem ) == true ) || Event.element(event).tagName == 'A'  ) {
			this.hideMenu(menu);
		}		
	}
});
