var tShowSubMenuHorizontal = null;
var tHideSubMenu = null;

jQuery(document).ready(function(){
	//caler les sous-menus verticaux horizontalement
	jQuery("div[@id^='smenu']").hide().each(function(i){
			var off_element = jQuery('#menu dt.' + jQuery(this).attr('id')).offset();
			var pos_element = parseInt(off_element.left);
			var off_l = jQuery('#container').offset();
			var l = off_l.left;
			jQuery(this).css('left',pos_element - l);
	}).slice(-1).each(function(){
			jQuery(this).css('left', parseInt(jQuery(this).css('left')) - 20);
	});
	
	//do the job for main-menu/sub-menu
	jQuery('#menu dt').hover(function() {
		
		var id_menu = jQuery(this).attr("class");
		var sub_menu = jQuery("div#" + id_menu);
				
		if (sub_menu.filter(':visible').is('div')) { //we are coming again on the same main-menu
			window.clearTimeout(tHideSubMenu);
		} else { //we're changing of main-menu
			//hide visible sub-menus
			hideSubMenus();
			//show the sub-menu
			sub_menu.addClass('submenu_actif').fadeIn(500);
			jQuery('a', jQuery(this)).addClass('on');
		}
		
		//set timer for hiding sub-menu
		sub_menu.hover(function() { //over the sub-menu
			window.clearTimeout(tHideSubMenu);
		}, function() { //out of the sub-menu
			setHideTimeout();
		});
	}, function() { //out of the main-menu');
		setHideTimeout();
	});
	
	//cache le sous-menu horizontal si on arrive sur le menu ou qu'on est sur un sous-menu vertical
	jQuery("#menu").hover(function(){
		CacheSousMenuHorizontal();
	},function(){
		setShowTimeoutSousMenuHorizontal();
	});
	jQuery("div.smenu").hover(function(){
		CacheSousMenuHorizontal();
	},function(){
		setShowTimeoutSousMenuHorizontal();
	});
});

function CacheSousMenuHorizontal() {
	window.clearTimeout(tShowSubMenuHorizontal);
	jQuery('#sm').fadeOut(1000);   
	jQuery('#sub_menu').fadeOut(1000);
}

function AfficheSousMenuHorizontal() {
	jQuery('#sm').fadeIn(1000);
	jQuery('#sub_menu').fadeIn(1000,function(){jQuery(this).css('filter','progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=./images/home/sub-menu.png)');});
}

function setShowTimeoutSousMenuHorizontal() {
	if (tShowSubMenuHorizontal)
		window.clearTimeout(tShowSubMenuHorizontal);
	tShowSubMenuHorizontal = window.setTimeout('AfficheSousMenuHorizontal()', 1000);
}

function setHideTimeout() {
	if (tHideSubMenu)
		window.clearTimeout(tHideSubMenu);
	tHideSubMenu = window.setTimeout('hideSubMenus()', 1000);
}

function hideSubMenus() { //hide all visible sub-menus
	if (tHideSubMenu)
		window.clearTimeout(tHideSubMenu);
	jQuery('#container .smenu').removeClass('submenu_actif').fadeOut(500);
	jQuery('div#menu dl dt a').removeClass('on');
}

