// Pour arrêter ou activer la fonction de masquage des sous-menu
var timeoutID;
var oTarget;

/* Fonction de fermeture retardée du dernier sous-menu survolé */
function closeSsMenu()
{
	oTarget.parent().next("dd").slideUp("slow");
}

$(document).ready(function()
{
	// Action à l'initialisation de la page :
	//  > Tous les sous-menus sont fermés sauf celui en cours
	$("dd:not(.open)").hide();
	
	// onMouseOver : ouvre le sous-menu de cet élément de menu
	$("dt span").mouseover(function()
	{
		// Arrêt du timeout pour la fermeture retardée
		window.clearTimeout(timeoutID);
		
		// Masquage de tous les sous-menus déjà ouverts
	//	$("dd").slideUp("slow");
		// >> celui-ci doit être déjà fermé >> pas besoin dans notre cas
		
		// Ouverture du sous-menu de l'élément de menu survolé
		$(this).parent().next("dd").slideDown("slow");
		
		return false;
	});
	
	// onMouseOut : ferme le sous-menu de cet élément de menu..
	//    ..au bout de 500 millisecondes
	//    ..pour laisser le temps de survoler les éléments de son sous-menu
	$("dt span").mouseout(function()
	{
		// Mémo de la référence de l'objet survolé
		oTarget = $(this);
		
		// Lancement de l'appel à la fonction de fermeture retardée de 500 ms
		timeoutID = window.setTimeout("closeSsMenu()",500);
		
	//  // Ceci serait l'appel direct
	//	$(this).parent().next("dd").slideUp("slow");
		
		return false;
	});
	
	// onMouseOver : pas de masquage tant que la souris est sur la zone du sous-menu (inhibe le code onMouseOut)
	$("dd").mouseover(function()
	{
		window.clearTimeout(timeoutID);
		return false;
	});
	$("dd").mouseout(function()
	{
	//	oTarget = $(this); // Déjà renseigné !
		timeoutID = window.setTimeout("closeSsMenu()",500);
		return false;
	});
	
});
