// JavaScript Document

document.observe('dom:loaded', function(){
	$$('.menu .item').each(function(e){
		e.hover = function(){
			if (e.outTimer)
			{
				clearTimeout(e.outTimer);
			}
			if (e.hideTimer)
			{
				clearTimeout(e.hideTimer);
			}
			e.addClassName('hover');
			e.childElements().each(function(i){
				if (i.hasClassName('submenu'))
				{
					i.style.display = '';
					i.observe('mouseover', function(){e.fire('mouseover');});
					i.observe('mouseout', function(){e.fire('mouseout');});
					i.descendants().each(function(u){
						u.observe('mouseover', function(){e.fire('mouseover');});
						u.observe('mouseout', function(){e.fire('mouseout');});
					});
				}
			});
		}; 
		
		e.unhover = function() {
			e.removeClassName('hover');
		}
		
		e.hideSub = function() {
			e.childElements().each(function(i){
				if (i.hasClassName('submenu'))
				{
					i.style.display = 'none';
				}
			});
		}
		
		e.out = function() {
			e.outTimer = setTimeout(e.unhover,25);
			e.hideTimer = setTimeout(e.hideSub,50);
		};
		
		e.observe('mouseover', e.hover);
		e.observe('mouseout', e.out);
	});									
});
