
// Configuration du script :
var menuId = "menuList1"; 				// identifiant de la liste contenant tout le menu
var submenuClass = "menu"; 				// classe de la liste constituant un sous-menu
var mainMenuItemClass = "menu_item"; 	// classe du li contenant un sous-menu
var submenuTag = "ul"; 					// balise utilise comme conteneur du sous menu
var submenuItemTag = "li"; 				// balise utilise comme item du sous menu
var act = 1;							// empêche le menu de se refermer intempestivement (si act == 0)

function loadMenu()
{
	var menuItem = document.getElementById(menuId).getElementsByTagName('li');

	for(var i=0; i<menuItem.length; i++)
	{
		// on vérifie la classe du LI
		if(menuItem[i].className == mainMenuItemClass)
		{
					
			var submenu = menuItem[i].getElementsByTagName(submenuTag)[0];
			// on attribue un ID 'dynamique' pour faciliter la manipulation ultrieure
			if(submenu && submenu.className == submenuClass)
			{
				submenu.setAttribute('id', 'smenu'+i);
				submenu.style.visibility = 'hidden';
				submenu.style.overflow = 'hidden';
			}
				
			menuItem[i].onmouseover = function()
			{
				var autresMenus = this.parentNode.getElementsByTagName(submenuTag);

					for(var j=0; j<autresMenus.length; j++)
					{				
						if(autresMenus[j].className == submenuClass)
						{
							var autresMenusId = autresMenus[j].id;
							document.getElementById(autresMenusId).style.visibility='hidden';
						}
					}
			

				var submenu = this.getElementsByTagName(submenuTag)[0];
					
				if(submenu && submenu.className == submenuClass)
				{
								
					var autresMenus = this.parentNode.getElementsByTagName(submenuTag);

					for(var j=0; j<autresMenus.length; j++)
					{				
						if(autresMenus[j].className == submenuClass && autresMenus[j].id != submenu.id)
						{
							var autresMenusId = autresMenus[j].id;
							document.getElementById(autresMenusId).style.visibility='hidden';
						}
					} 
					document.getElementById(submenu.id).style.visibility='visible';
				}
			}
			
			
			
			menuItem[i].onfocus = function()
			{
				var autresMenus = this.parentNode.getElementsByTagName(submenuTag);

					for(var j=0; j<autresMenus.length; j++)
					{				
						if(autresMenus[j].className == submenuClass)
						{
							var autresMenusId = autresMenus[j].id;
							document.getElementById(autresMenusId).style.visibility='hidden';
						}
					}
			

				var submenu = this.getElementsByTagName(submenuTag)[0];
					
				if(submenu && submenu.className == submenuClass)
				{
								
					var autresMenus = this.parentNode.getElementsByTagName(submenuTag);

					for(var j=0; j<autresMenus.length; j++)
					{				
						if(autresMenus[j].className == submenuClass && autresMenus[j].id != submenu.id)
						{
							var autresMenusId = autresMenus[j].id;
							document.getElementById(autresMenusId).style.visibility='hidden';
						}
					} 
					document.getElementById(submenu.id).style.visibility='visible';
				}
			}
			
			
			
			menuItem[i].onmouseout = function()
			{	
				var submenu = this.getElementsByTagName(submenuTag)[0];
				if(submenu && submenu.className == submenuClass)
				{
						var itemId = submenu.id;
						document.getElementById(itemId).style.visibility='hidden';
				}
			}
			
			if(submenu)
			{
				submenu.onmouseover = function()
				{
					act = 0;
				}
				
				submenu.onmouseout = function()
				{
					act = 1;
					var submenu = this.getElementsByTagName(submenuTag)[0];
					if(submenu && submenu.className == submenuClass)
					{
							var itemId = submenu.id;
							document.getElementById(itemId).style.visibility='hidden';
					}
				}
				
				
				submenu.onfocus = function()
				{
					act = 0;
				}
				
				submenu.onblur = function()
				{
					act = 1;
					var submenu = this.getElementsByTagName(submenuTag)[0];
					if(submenu && submenu.className == submenuClass)
					{
							var itemId = submenu.id;
							document.getElementById(itemId).style.visibility='hidden';
					}
				}
				
				
			}
			
			
			menuItem[i].onblur = function()
			{	
				var submenu = this.getElementsByTagName(submenuTag)[0];
				if(submenu && submenu.className == submenuClass)
				{
						var itemId = submenu.id;
						document.getElementById(itemId).style.visibility='hidden';
				}
			}
			
			if(submenu)
			{
				submenu.onmouseover = function()
				{
					act = 0;
				}
				
				submenu.onmouseout = function()
				{
					act = 1;
					var submenu = this.getElementsByTagName(submenuTag)[0];
					if(submenu && submenu.className == submenuClass)
					{
							var itemId = submenu.id;
							document.getElementById(itemId).style.visibility='hidden';
					}
				}
			}
			
			if(submenu)
			{
				submenu.onfocus = function()
				{
					act = 0;
				}
				
				submenu.onblur = function()
				{
					act = 1;
					var submenu = this.getElementsByTagName(submenuTag)[0];
					if(submenu && submenu.className == submenuClass)
					{
							var itemId = submenu.id;
							document.getElementById(itemId).style.visibility='hidden';
					}
				}
			}
			
		}
	}
}

