//temps d'affichage du  menu : 
var timeout = 500;

for( var i = 1; i < 5; i++ )
{
    eval("var timeoutsdiv_menu_" + i + " = false;");
}

function init()
{
//on exclu les navigateurs avec lesquels le menu ne fonctionne pas ...
    if ( browser.isDOM1 
    && !( browser.isMac && browser.isIE ) 
    && !( browser.isOpera && browser.versionMajor < 7 )
    && !( browser.isIE && browser.versionMajor < 5 ) )
    {
		////alert('debut test');
		
		//on va initialiser les 4 div_menu_
		//et on va initialiser les 4 sous menus :
		var div_menu;
		var sdiv_menu;
		for (var i = 0;i < 5;i++)
		{
			//les div_menu :
			div_menu = document.getElementById('div_menu_' + i);
			if (div_menu == null)
			{
				continue;
			}

            if ( browser.isIE )
            {
                //addAnEvent(div_menu,'keyup', show_sub_menu_2);
                eval("addAnEvent(div_menu,'keyup', show_sub_menu_" + i + ");");
            }
			//addAnEvent(div_menu,'mouseover', show_sub_menu_2);
			eval("addAnEvent(div_menu,'mouseover', show_sub_menu_" + i + ");");

            eval("addAnEvent(div_menu,'mouseout', timeout_sub_menu" + i + ");");
            eval("addAnEvent(div_menu,'blur', timeout_sub_menu" + i + ");");
            eval("addAnEvent(div_menu,'focus', show_sub_menu_" + i + ");");
			
			//et les sous menus : 
            if ( browser.isIE )
            {
                //addAnEvent(sdiv_menu, 'keyup', 'show_sub_menu_' + i);
                eval("addAnEvent(sdiv_menu,'keyup', show_sub_menu_" + i + ");");
            }

			//addAnEvent(sdiv_menu,'mouseover', show_sub_menu_2);
			eval("addAnEvent(sdiv_menu,'mouseover', show_sub_menu_" + i + ");");
            //addAnEvent(sdiv_menu,'mouseout', timeout_sub_menu2);
            eval("addAnEvent(sdiv_menu,'mouseout', timeout_sub_menu" + i + ");");
            //addAnEvent(sdiv_menu,'blur', timeout_sub_menu2);
            eval("addAnEvent(sdiv_menu,'blur', timeout_sub_menu" + i + ");");
            //addAnEvent(sdiv_menu,'focus', show_sub_menu_2);
            eval("addAnEvent(sdiv_menu,'focus', show_sub_menu_" + i + ");");

		}
    }
}

function addAnEvent( target, eventName, functionName )
{
	try
	{
		// apply the method to IE
		if ( browser.isIE )
		{
			eval('target.on'+eventName+'=functionName');
		}
		// apply the method to DOM compliant browsers
		else
		{
			target.addEventListener( eventName , functionName, true ); // true is important for Opera7
		}
    }
    catch (Identificateur)
    {
		////alert('erreur addevent : ' + Identificateur);
    }
}

function timeout_sub_menu1()
{
	var id = 'sdiv_menu_1';
	timeoutHide(id)
}

function timeout_sub_menu2()
{
	var id = 'sdiv_menu_2';
	timeoutHide(id)
}

function timeout_sub_menu3()
{
	var id = 'sdiv_menu_3';
	timeoutHide(id)
}

function timeout_sub_menu4()
{
	var id = 'sdiv_menu_4';
	timeoutHide(id)
}

// hide the first ul element of the current element
function timeoutHide(id)
{
    // start the timeout
    eval( "timeout" + id + " = window.setTimeout('hideUlUnder( \"" + id + "\" )', " + timeout + " );");
}

// hide the ul elements under the element identified by id
function hideUlUnder( id )
{   
    if (document.getElementById(id) == null)
	{
		return;
	}
    document.getElementById(id).style['visibility'] = 'hidden';
    document.getElementById(id).style.display='none';
}

function show_sub_menu_1()
{
	var id = 'sdiv_menu_1';
	show_sub_menu(id); 
}

function show_sub_menu_2()
{
	var id = 'sdiv_menu_2';
	show_sub_menu(id); 
}

function show_sub_menu_3()
{
	var id = 'sdiv_menu_3';
	show_sub_menu(id); 
}

function show_sub_menu_4()
{
	var id = 'sdiv_menu_4';
	show_sub_menu(id); 
}

function show_sub_menu(id)
{
    // clear the timeout
    eval ( "clearTimeout( timeout"+ id +");" );
    hideAllOthersUls(id);
	if (id)
	{	
		document.getElementById(id).style.display='block';
		document.getElementById(id).style['visibility'] = 'visible';
	}
}


// hide all ul on the same level of  this list item
function hideAllOthersUls(id)
{
	for (var i = 0;i < 4;i++)
	{
		//les div_menu :
		var div_menu_str = 'sdiv_menu_' + i;
		if (div_menu_str != id)
		{
			hideUlUnder(div_menu_str);
		}
	}
}
