/* menu.js - implements a dropdown menu based on a HTML list
 * This script works for simple dropdown menus 
 * (only works with 2 level menus : menu item and sub-menu ; NOT with sub-sub-menu)
 *
 * Author: Dave Lindquist (http://www.gazingus.org)
 * Modified by : Nicolas Lesbats (nicolas lesbats at laposte net)
 * Modified by : Julien Lerch for ACTIMAGE
 * Version: 1.0 (2006.02.16)
 */
 
// Configuration du script :
var menuId = "menuListtop"; // 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 utilisée comme conteneur du sous menu
var submenuItemTag = "li"; // balise utilisée comme item du sous menu

function loadMenu()
{
  if (!document.getElementById) return;
	// var j = nb d'items ayant un sous-menu
	// root est la liste principale ayant pour id la var menuId
	// division est l'élément parent
  var i = 0, j, root, submenus, node, li, link, division;
	
  while (true) 
	{
    root = document.getElementById(menuId + (i + 1));
    if (root == null)
    {
    	break;
    }
    submenus = root.getElementsByTagName(submenuTag);
    division = root.parentNode; // division est le parent de la liste, le bloc conteneur
    if (document.createElement) 
		{
			 
      for (j = 0; j < submenus.length; j++) 
			{
        node = submenus.item(j);
				
        if (node.className == submenuClass && node.getElementsByTagName(submenuTag).length == 0) 
				{
          li = document.createElement(submenuItemTag);
          node.appendChild(li);
        } // /if				
      } // /for
    } // /if

    for (j = 0; j < submenus.length; j++) 
		{
      node = submenus.item(j);
			
      if (node.className == submenuClass) 
			{
				
        link = node.previousSibling;
        while (link != null) 
				{
					
          if (link.className == mainMenuItemClass) 
		  {
            initializeSubmenu(node, link, root, division);
            break;
          } // /if
          link = link.previousSibling;
        } // /while
      } // /if
    } // /for
    i++;
  } // /while
} // /function loadMenu

function initializeSubmenu(menu, actuator, root, div) {
// menu est chacun des éléments de class submenuClass présent dans la page
// actuator est chacun des liens cible des éléments de menu de class mainMenuItemClass
// root est la liste qui contient le menu (dont l'id est menuId)
// div est le conteneur de la liste (l'élement parent qui contient la liste d'id menuId)
	var parent = menu.parentNode;

  parent.onmouseover = function() {
    menu.style.visibility = "visible";
  }

  actuator.onfocus = function() {
    menu.style.visibility = "visible";
  }

  parent.onmouseout = function() {
    menu.style.visibility = "";
  }
  parent.onblur = function() {

  }
  var tags = menu.getElementsByTagName("a");
  var link = tags.item(tags.length - 1);

}
