Event.observe(
	window, 
	'load',
	function()
	{
		// ----- VARIABLES -----
		
		var menuTabList = $$('#menu-container a');
		var menuBlocList = $$('.bloc-menu-ouvert');
		
		var menuTimeout = null;
		var menuCurrentId = null;
		
		// ----- FUNCTIONS -----
		
		function onMenuTabMouseUp()
		{
			trace('onMenuTabMouseUp()');
			
			menuBlocList.each(
				function(item)
				{
					item.setStyle({ 'display': 'none' });
				}
			);
			
			if((this.readAttribute('id') != null) && (this.readAttribute('id').match('menu-tab-') != null))
			{
				var menuCurrentId = $(this).readAttribute('id').replace('menu-tab-', '');
				
				$('menu-bloc-'+ menuCurrentId).setStyle({ 'display': 'block' });
			}
			clearTimeout(menuTimeout);
		}
		
		function onMenuMouseOut()
		{
			trace('onMenuTabMouseOut()');
			
			clearTimeout(menuTimeout);
			menuTimeout = setTimeout(onTimeout, 1000);
		}
		
		function onMenuBlocMouseOver()
		{
			trace('onMenuBlocMouseOver()');
			
			clearTimeout(menuTimeout);
		}
		
		function onTimeout()
		{
			trace('onTimeout()');
			
			$$('.bloc-menu-ouvert').each(
				function(item)
				{
					item.setStyle({ 'display': 'none' });
				}
			);
			
			clearTimeout(menuTimeout);
		}
		
		function trace(toTrace)
		{
			if(typeof(console) != 'undefined')
			{
				console.log(toTrace);
			}
		}
		
		// ----- SCRIPT -----
		
		menuTabList.each(
			function(item)
			{
				Event.observe(item, 'mouseover', onMenuTabMouseUp);
				Event.observe(item, 'mouseout', onMenuMouseOut);
			}
		);
		
		menuBlocList.each(
			function(item)
			{
				item.setStyle({ 'display': 'none' });
				Event.observe(item, 'mouseover', onMenuBlocMouseOver);
				Event.observe(item, 'mouseout', onMenuMouseOut);
			}
		);
	}
);
