﻿/* Copyright Standard Web 2009
*  Version 1.0
*/


//Paramétrage du script
var sw_param_delaiAvantFermeture = 300; //qd le curseur quitte le menu ou sous menu, détlai avant la fermeture du sous menu
var sw_param_delaiApparition = 500;     //animation de fondu
var sw_param_delaiDisparition = 500;	//animation de fondu


//pas touche
var sw_timerMenu;
var sw_ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
var sw_ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
var sw_ieShit = jQuery.browser.msie && (sw_ie55 || sw_ie6);	

if (sw_ieShit) {
	sw_param_delaiDisparition = 0;
}



/* sert à positionner et à gérer l'affichage du sous menu */

/* int idMenu : 1=>homme  2=>femme  3=>enfant  4=>marques  5=>offres spéciales  6=>ventes privées  
				de 1 à 6 on affiche le sous menu correspondant
	boolean bSortie : événement déclencheur onmouseout si vrai, sinon onmouseover
*/		
function manageSubMenu (idMenu, bSortie) {
	
	
	
	if (bSortie) {
		
		sw_timerMenu = setTimeout('manageOnSubMenu(' + idMenu + ', true)', sw_param_delaiAvantFermeture);
		
		return true;
	}
	
	clearTimeout(sw_timerMenu);
	
	//on cache tous les sous menus
	for (i=1; i<=6; i++) {
		$("div#subMenu" + i).hide();
	}
	montreSelect();
	
	
	//on affiche le sous menu passé en paramètre
	switch (idMenu) {
	
		case 1:
		case 2:
		case 3:
			obj = $("div#headerContent").offset();
			$("div#subMenu" + idMenu).css('left', Math.round(obj.left) + 'px');
			$("div#subMenu" + idMenu).fadeIn(sw_param_delaiApparition);
			masqueSelect(idMenu);
			break;
		
		case 4:
		case 5:
		case 6:
			return false;
			break;
			
		case -1:
			//on s'est occupé de tout masquer au début de la fonction
			break;
	
		default:
			return false;
			break;
	}
	
	
	return true;
}






/* Une fois que le curseur passe sur le sous menu, cette fonction permet de le laisser ouvert ou de le fermer qd le curseur quitte le sous menu */

/* int idMenu : 1=>homme  2=>femme  3=>enfant  4=>marques  5=>offres spéciales  6=>ventes privées  
				de 1 à 6 on affiche le sous menu correspondant
	
	boolean bMasquer : true=> on masque   false=> on affiche
*/
function manageOnSubMenu (idMenu, bMasquer) {

	//on affiche le sous menu passé en paramètre
	switch (idMenu) {
	
		case 1:
		case 2:
		case 3:
			if (bMasquer) {
				sw_timerMenu = setTimeout('hideSubMenu(' + idMenu + ')', sw_param_delaiAvantFermeture);
				//montreSelect();
			} else {
				//$.clearTimeOut(0);
				clearTimeout(sw_timerMenu);
				$("div#subMenu" + idMenu).show();
				masqueSelect (idMenu)
			}
			
			break;
			
		case 4:
		case 5:
		case 6:
			return false;
			break;
		
		default:
			alert ('manageOnSubMenu - param idMenu non géré : ' + idMenu);
			return false;
			break;
	}

	return true;
}


function hideSubMenu (idMenu) { 
	
	$("div#subMenu" + idMenu).fadeOut(sw_param_delaiDisparition);
	montreSelect()
	return true;
}




//on centre les sous menus (appelé sur le redimentionnement du navigateur)
function setPositionSubMenu () {
	
	obj = $("div#headerContent").offset();
	for (i=1; i<=6; i++) {
		$("div#subMenu" + i).css('left', Math.round(obj.left) + 'px');
	}
	return true;
}




//masque les balises select pour notre cher IE si le menu les recouvre
function masqueSelect (idMenu) {
	
	var menu_top = $('div#subMenu' + idMenu).position().top;
	var menu_height = $('div#subMenu' + idMenu).height();
	
	
	if (sw_ieShit) { //si IE < 7
		
		
		$('select').each(
			function (i) {

				if (menu_top + menu_height >  $(this).position().top ) {
					$(this).css('visibility', 'hidden');
				}
			}
		);
	}
	
	return true;
}


function montreSelect() {

	if (sw_ieShit) { //si IE < 7
		$('select').css('visibility', 'visible');
	}
	
	return true;

}
