// JavaScript Document
function page_onload() {
	menu_init('menu');
}

var menuTimeout = null;
var menuCurrent = null;

function menu_hideall(id)
{
	var menuroot = document.getElementById(id);
	if ( ! menuroot ) return; // erreur
	var li = menuroot.getElementsByTagName("li");
	for ( var i = 0; i < li.length; i++ ) {
		var actif = li[i].className.indexOf("actif");
		if ( actif >= 0 ) 
			li[i].className = li[i].className.substr(0,actif);
	}
}

/**
 * Affiche l'entrée "elt" du menu.
 * Ajoute la classe "actif".
 * @param elt l'élément.
 */
function menu_show(elt)
{
	if ( ! elt )
		return;

	if ( elt.className.indexOf("actif") < 0 )
		elt.className += " actif";
}

/**
 * Initialise le script.
 * Trouve le menu identifié par un id et l'active.
 * @param id l'id du menu
 */
function menu_init(id)
{
	var menuroot = document.getElementById(id);
	if ( ! menuroot ) return; // erreur
	
	var li = menuroot.getElementsByTagName("li");
	for ( var i = 0; i < li.length; i++ ) {
		var ul = li[i].getElementsByTagName("ul");
		/*
		if ( ul.length > 0 ) {*/
			li[i].onmouseover = function() {
                if(menuTimeout) {
                    menuTimeout = clearTimeout(menuTimeout);
                }
				// ne pas refaire si c'est déjà l'élément actif
				// évite les problèmes de scintillement
				if ( this.className.indexOf("actif") < 0 ) {
					menu_hideall(id);
					menu_show(this);
				}
			}
            // Cherche le menu par défaut de la page
            if ( li[i].className.indexOf("actif") >= 0 ) {
				menuCurrent = li[i];
			}
		/*
		}
		*/
	}
	
    // Remet le menu par défaut après le survol
    document.getElementById('menu').onmouseout = function() {
		
        if(!menuTimeout) {
            menuTimeout = setTimeout("menu_default()",200);
         }
    }
}

function menu_default() {
    menu_hideall('menu');
    menu_show(menuCurrent);
}