var mainNavigation =  {
	mainNavs : [],
	lastOpened : null,
	timeoutID : null,
	
	initNavi : function () {
		mainNavs = $$('#navMain > ul > li > a');
		mainNavs.each(function (n) {
				var subnavs = n.up().select('li a');
				n.observe('mouseover', mainNavigation.openNav);
				n.observe('mouseout', mainNavigation.closeNav);
				subnavs.each(function(sn){
					sn.observe('mouseover', mainNavigation.stopClose);
					sn.observe('mouseout', mainNavigation.closeNav);
				});
			}
		);
		
	},
	
	openNav : function (e) {
		var subNav = e.target.up().down('ul');
		mainNavigation.stopClose();
		if (mainNavigation.lastOpened != e.target) {
			mainNavigation.instantClose();
		}
		if (subNav) {
			subNav.show();
		}
		mainNavigation.lastOpened = e.target;
	},
	
	closeNav : function (e) {
		mainNavigation.stopClose();
		mainNavigation.timeoutID = window.setTimeout("mainNavigation.instantClose();", 100);
	},
	
	stopClose : function (e) {
		window.clearTimeout(mainNavigation.timeoutID);
	},
	
	instantClose : function () {
		if (mainNavigation.lastOpened) {
			var subNav = mainNavigation.lastOpened.up().down('ul');
			if (subNav) {
				subNav.hide();
			}
		}
		mainNavigation.lastOpened = null;
	}
}
  
document.observe("dom:loaded", mainNavigation.initNavi);
