//**************************************Fonctions permettant de générer des évenement et des id dynamiquement sur le menu de gauche
// the timeout for the menu
var timeout = 100;

// not very clean but simple
// the function can be run in the HTML for faster display
// window.onload=initMenu;

// creat timeout variables for list item
// it's for avoid some warning with IE
for( var i = 0; i < 100; i++ )
{
    eval("var timeoutli" + i + " = false;");
}
function suiviMenu(id)
{
	if(browser.isIE) {
		document.getElementById(id).childNodes[0].style.backgroundColor="#5C6177";

	} else {
		document.getElementById(id).childNodes[1].style.backgroundColor="#5C6177";
	}
	
}

function sortiMenu(id)
{
	if(browser.isIE) {
		document.getElementById(id).childNodes[0].style.backgroundColor="#343746";
	} else {
		document.getElementById(id).childNodes[1].style.backgroundColor="#343746";
	}
	
}

// this fonction apply the CSS style and the event
function initMenu()
{
    // a test to avoid some browser like IE4, Opera 6, and IE Mac
    if ( browser.isDOM1 
    && !( browser.isMac && browser.isIE ) 
    && !( browser.isOpera && browser.versionMajor < 7 )
    && !( browser.isIE && browser.versionMajor < 5 ) )
    {
        // get some element
        var menu = document.getElementById('menuHaut'); // the root element
        var lis = menu.getElementsByTagName('li'); // all the li
        
        // change the class name of the menu, 
        // it's usefull for compatibility with old browser
        menu.className='menuHaut';
        
        // i am searching for ul element in li element
        for ( var i=0; i<lis.length; i++ )
        { 
			lis.item(i).setAttribute( 'id', "li"+i );
			
			if(lis.item(i).parentNode.id!='menuHaut')
                {	
					lis.item(i).onmouseover = function() {suiviMenu(this.parentNode.parentNode.id);};
					lis.item(i).onmouseout = function() {sortiMenu(this.parentNode.parentNode.id);};
					
				}
			
				
								
            // is there a ul element ?
            if ( lis.item(i).getElementsByTagName('ul').length > 0 )
            {        
                // improve IE key navigation
                if ( browser.isIE )
                {
                    addAnEvent(lis.item(i),'keyup',show);
                }
                // link events to list item
                addAnEvent(lis.item(i),'mouseover',show);
                addAnEvent(lis.item(i),'mouseout',timeoutHide);
                addAnEvent(lis.item(i),'blur',timeoutHide);
                addAnEvent(lis.item(i),'focus',show);
                addAnEvent(lis.item(i),'click',lonkOver);
                
                // add an id to list item
               // lis.item(i).setAttribute( 'id', "li"+i );
                
                
            }
        }
    }
}


function lonkOver()
{
if(browser.isIE){
	var li=this;
	EffaceCookie("lien");
	if(li.parentNode !=null && li.parentNode.id=='menuHaut')
	 {
		var as = li.parentNode;
		
		for ( var i=0; i<as.childNodes.length; i++ )
		{
			
			as.childNodes[i].getElementsByTagName('a')[0].style.backgroundColor="#343746";
			
		
		}
		//alert(document.getElementById(li.id).getElementsByTagName('a')[0].nodeName);
		
		EcrireCookie("lien",li.id,null,"/");	
		document.getElementById(li.id).getElementsByTagName('a')[0].style.backgroundColor="#5C6177";
     }
    
 }
 else{
 var li=this;	
	EffaceCookie("lien");
		if(li.parentNode !=null && li.parentNode.id=='menuHaut')
		{
			var as = li.parentNode;
				
			for ( var i=1; i<as.childNodes.length-1; i++ )
			{
			
				as.childNodes[i].getElementsByTagName('a')[0].style.backgroundColor="#343746";
			
			}
			//alert(document.getElementById(li.id).getElementsByTagName('a')[0].nodeName);
			EcrireCookie("lien",li.id,null,"/");
			
			document.getElementById(li.id).getElementsByTagName('a')[0].style.backgroundColor="#5C6177";
		
		}
	 }
	  hideUlUnder( li.id );
	
}
function addAnEvent( target, eventName, functionName )
{
    // apply the method to IE
    if ( browser.isIE )
    {
  
        //attachEvent dont work properly with this
        eval('target.on'+eventName+'=functionName');
      
    }
    // apply the method to DOM compliant browsers
    else
    {
        target.addEventListener( eventName , functionName , true ); // true is important for Opera7
    }
}
    
// hide the first ul element of the current element
function timeoutHide()
{
    // start the timeout
 //   eval( "timeout" + this.id + " = window.setTimeout('hideUlUnder( \"" + this.id + "\" )', " + timeout + " );");
 hideUlUnder( this.id );
// clearTimeout( timeout+ this.id);
}

// hide the ul elements under the element identified by id
function hideUlUnder( id )
{ 
	
  //  document.getElementById(id).getElementsByTagName('ul')[0].style['visibility'] = 'hidden';
  
      if(document.getElementById(id)!=null && document.getElementById(id).nodeName=='LI' && document.getElementById(id).parentNode.id!='menuHaut')
		{document.getElementById(id).getElementsByTagName('ul')[0].style['visibility'] = 'hidden';
			document.getElementById(id).getElementsByTagName('a')[0].style.backgroundColor="#343746";
		}
		if(document.getElementById(id).parentNode.id=='menuHaut')
		{document.getElementById(id).getElementsByTagName('ul')[0].style['visibility'] = 'hidden';
			document.getElementById(id).getElementsByTagName('a')[0].style.backgroundColor="#5C6177";
		}

    }


// show the first ul element found under this element
function show()
{
	var currentNode=this;	
	if(browser.isIE){	
		if(currentNode.parentNode !=null && currentNode.parentNode.id=='menuHaut')
		{
			var as = currentNode.parentNode;
				
			for ( var i=0; i<as.childNodes.length; i++ )
			{
				as.childNodes[i].getElementsByTagName('a')[0].style.backgroundColor="#343746";
			}
			
		}
     }else{
    if(currentNode.parentNode !=null && currentNode.parentNode.id=='menuHaut')
		{
			var as = currentNode.parentNode;
				
			for ( var i=1; i<as.childNodes.length-1; i++ )
			{
				as.childNodes[i].getElementsByTagName('a')[0].style.backgroundColor="#343746";
			}
			
		}
     
     }
    // show the sub menu
    this.getElementsByTagName('ul')[0].style['visibility'] = 'visible';
   
    currentNode.getElementsByTagName('a')[0].style.backgroundColor="#5C6177";
    while(currentNode)
    {
            if( currentNode.nodeName=='LI')
            {
                currentNode.getElementsByTagName('a')[0].className = 'linkOver';
            } 
            
            
            if(currentNode.parentNode!=null && currentNode.parentNode.nodeName=='LI')
			{
				
				currentNode.parentNode.getElementsByTagName('a')[0].style.backgroundColor="#5C6177";
			}
	           
            currentNode=currentNode.parentNode;
    }
    // clear the timeout
    try {   
    eval ( "clearTimeout( timeout"+ this.id +");" );
    }
    catch (e)
    {}
    
    hideAllOthersUls( this );
 
}

// hide all ul on the same level of  this list item
function hideAllOthersUls( currentLi )
{
    var lis = currentLi.parentNode;
    for ( var i=0; i<lis.childNodes.length; i++ )
    {
        if ( lis.childNodes[i].nodeName=='LI' && lis.childNodes[i].id != currentLi.id )
        {
            hideUlUnderLi( lis.childNodes[i] );
        }
    }   
}

// hide all the ul wich are in the li element
function hideUlUnderLi( li )
{
	 li.getElementsByTagName('a')[0].className ="";
	
	if(li.parentNode !=null && li.parentNode.nodeName=='LI')
	{
		var parent = li.parentNode.getElementsByTagName('a');
		for ( var i=0; i<parent.length; i++ )
		{
			parent.item(i).className="";
		
		}
	}
    var as = li.getElementsByTagName('a');
    for ( var i=0; i<as.length; i++ )
    {
        as.item(i).className="";
      
    }
    var uls = li.getElementsByTagName('ul');
    for ( var i=0; i<uls.length; i++ )
    {
        uls.item(i).style['visibility'] = 'hidden';
    }
   
} 
var req = window.location.search.substr(1,window.location.search.length);


var dbl = req.split('&');

 

var aPrm = new Array();    // Pour stock. le nom des paramètres

var aVal = new Array();    // Pour stock. la valeur des paramètres

var objQS = new Object();  // Objet pour stock. le nom des paramètres

 

for (i=0;i < dbl.length;i++) {

  // Recup. le nom des parametres (Attention : elem.1 du tab. = param.1)

  aPrm[i+1] = dbl[i].substring(0,dbl[i].indexOf('='));

// Recup. la valeur des parametres (Attention : elem.1 du tab. = val.param.1)

  aVal[i+1] = unescape(dbl[i].substring(dbl[i].indexOf('=')+1,dbl[i].length));

  

  // Stock la valeur des paramètres sous forme de propriété

  objQS[aPrm[i+1]] = aVal[i+1];

}

 

// Renvoie la valeur d'un parametre par son nom

function getQueryStringByName(pname)

{

  return eval("objQS." + pname);

}

 

// Renvoie la valeur d'un paramètre par sa position dans la requete

// Attention : le premier paramètre de la requete est le 1 etc..

function getQueryStringByPos(ppos)

{

  return aVal[ppos];

}


