
//variable pour stocker le menu selectionné
var selectMenu1
var selectMenu2
var selectMenu3
var idMenuT1Selectionne //menu type 1 selectionne
var idMenuT2Selectionne //menu type 2 selectionne

//variable pour gerer les fleches des menus
var oldValeurTopMenuT12=0
var oldValeurTopMenuT13=0
var hauteurpere = 120
var nbDivDsMenuT12 = 0
var nbDivDsMenuT13 = 0
var hauteurDivMenu = 15

var	oldValeurLeftMenuT22 = 0
var	nbDivDsMenuT22 = 0
var nbElementColonne = 8
var tailleColonne = 190
var tailleBackgroundColonne = 180 //ATTENTION VALEUR MODIFIEE SI FIREFOX (code createMenu)
var largeurpere = 510
	
//variables pour gerer les couleurs des over et out de la souris
styleOverMenu1_color_default = "#5C5C5C"
styleOverMenu1_color_select = "#ffffff"
styleOverMenu1_backgroud_default = "#ffffff"
styleOverMenu1_backgroud_select = "red"

styleOverMenu2_color_default = "#5C5C5C"
styleOverMenu2_color_select = "#ffffff"
styleOverMenu2_backgroud_default = "#EDEDED"
styleOverMenu2_backgroud_select = "red"

styleOverMenu3_color_default = "#5C5C5C"
styleOverMenu3_color_select = "red"
styleOverMenu3_backgroud_default = "#ffffff"
styleOverMenu3_backgroud_select = "#ffffff"


//VGE 12/12/05
//2 nouveaux parametres peuvent apparaitre ds l'url topMenu12 et topMenu13
//	ils permettent de replacer le menu à l'identique pour l'utilisateur
//VGE 28/12/05
//ajout du parametre leftMenu22, il permet de replacer le menu à l'identique pour un menu de type 2 niveau 2

var menuAll
function initMenuT1()
{
//[idUniqueMenu,nomMenu,niveauMenu,url,[sousMenu]]
var tab11 = [1,"ACTUALITE",1,null,[11,12,13]]
var tab12 = [2,"PRESENTATION",1,"testpres.htm?TypeMenu=1&idMenu=2",null]
var tab13 = [3,"ACTIVITE",1,"test8.htm?TypeMenu=1&idMenu=3",null]
var tab14 = [4,"IMPLANTATIONS",1,null,[41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,44,63,64,65,66]]

//ssMenu
var tab111 = [11,"ssACTUALITE1",2,null,null]
var tab112 = [12,"ssACTUALITE2",2,"test8.htm?TypeMenu=1&idMenu=12",null]
var tab113 = [13,"ssACTUALITE3",2,null,null]

var tab141 = [41,"france tres long pour depasser le menu en largeur",2,"test8.htm?TypeMenu=1&idMenu=41",[411,412,413]]
var tab142 = [42,"belge tres long pour depasser le menu en largeur",2,"test9.htm?TypeMenu=1&idMenu=42",null]
var tab143 = [43,"all",2,"allemagne.htm?TypeMenu=1",[431]]
var tab144 = [44,"GB tres long pour depasser le menu en largeur",2,null,[441,442]]
var tab145 = [45,"impl 1",2,null,null]
var tab146 = [46,"impl 2",2,null,null]
var tab147 = [47,"impl 3",2,null,null]
var tab148 = [48,"impl 4",2,null,null]
var tab149 = [49,"impl 5",2,"test8.htm?TypeMenu=2&idMenu=49",null]
var tab150 = [50,"impl 6",2,"allemagne.htm?TypeMenu=2&idMenu=50",null]
var tab151 = [51,"impl 7",2,null,null]
var tab152 = [52,"impl 7",2,null,null]
var tab153 = [53,"impl 7",2,null,null]
var tab154 = [54,"impl 7",2,null,null]
var tab155 = [55,"impl 7",2,null,null]
var tab156 = [56,"impl 7",2,null,null]
var tab157 = [57,"impl 7",2,null,null]
var tab158 = [58,"impl 58",2,null,[581,582]]
var tab159 = [59,"impl 7",2,null,null]
var tab160 = [60,"impl 7",2,null,null]
var tab161 = [61,"impl 7",2,null,null]
var tab162 = [62,"impl 62",2,"test8.htm?TypeMenu=2&idMenu=62",null]
var tab163 = [63,"impl 63",2,null,null]
var tab164 = [64,"impl 64",2,null,null]
var tab165 = [65,"impl 65",2,null,null]
var tab166 = [66,"impl 66",2,"test9.htm?TypeMenu=2&idMenu=66",null]


var tab1411 = [411,"lyon",3,null,[4111,4112,4113,4114,4115,4116,4117,4118,4119]]
var tab1412 = [412,"paris",3,"paris.html",null]
var tab1413 = [413,"marseille",3,null,null]

var tab1441 = [441,"londre",3,null,null]
var tab1442 = [442,"city",3,"test8.htm?TypeMenu=1&idMenu=442",null]

var tab1581 = [581,"impl 58_1",3,"test8.htm?TypeMenu=1&idMenu=581",null]
var tab1582 = [582,"impl 58_2",3,"test8.htm?TypeMenu=2&idMenu=582",null]



var tab1431 = [431,"all1",3,"",null]


var tab14111 = [4111,"lyon 3eme",4,null,null]
var tab14112 = [4112,"lyon 9eme",4,"lyon9.htm?TypeMenu=1&idMenu=4112",null]
var tab14113 = [4113,"lyon 1eme",4,null,null]
var tab14114 = [4114,"lyon 2eme",4,null,null]
var tab14115 = [4115,"lyon 4eme",4,"lyon9.htm?TypeMenu=2&idMenu=4115",null]
var tab14116 = [4116,"lyon 5eme",4,null,null]
var tab14117 = [4117,"lyon 6eme",4,null,null]
var tab14118 = [4118,"lyon 7eme",4,"lyon7T2.htm?TypeMenu=2",null]
var tab14119 = [4119,"lyon 8eme",4,"test8.htm?TypeMenu=1&idMenu=4119",null]



menuAll = [tab11,tab12,tab13,tab14,tab111,tab112,tab113,tab141,tab142,tab143,tab144,tab1411,tab1412,
			tab1413,tab14111,tab14112,tab1441,tab1442,tab1431,
			tab145,tab146,tab147,tab148,tab149,tab150,tab151,tab152,tab153,tab154,tab155,
				tab156,tab157,tab158,tab159,tab160,tab161,tab162,
				tab163,tab164,tab165,tab166,
			tab14113,tab14114,tab14115,tab14116,tab14117,tab14118,tab14119,
			tab1581,tab1582]
}


function createMenu(idMenuSelect) {
	
	//ATTENTION TAILLE EN FONCTION DU NAVIGATEUR
	if(navigator.appName == "Netscape")
	{	//CAS DE FIREFOX
		tailleBackgroundColonne = 180
	}
	//FIN ATTENTION

	//VGE 11/01/06, la fct menu est appelé par du code meme si le menu n'est pas présent
	//On controle pour arreter le code
	if (typeof(menuAll)=="undefined")
	{
		return;
	}
	else
	{ 
		tblMenu = document.getElementById('DIVMenuT1')
		if (tblMenu == null | typeof(tblMenu)=="undefined")
		{
			return;
		}
		else
		{
			tblMenu = document.getElementById('DIVMenuT2')
			if (tblMenu == null | typeof(tblMenu)=="undefined")
			{
				return;
			}
		}
	}
	//FVE		


	selectMenu1 = null
	selectMenu2 = null
	selectMenu3 = null

	idMenuT1Selectionne = idMenuSelect
	idMenuT2Selectionne = idMenuSelect

	//alert(idMenuSelectionne)
	
	//on masque les 2 menus
	//tblMenu = document.getElementById('DIVMenuT1')
	//tblMenu.style.display = "none"
	
	//tblMenu = document.getElementById('DIVMenuT2')
	//tblMenu.style.display = "none"
	
	//on masquer les fleches
	SupprimerFlecheMenu()
	
	//VGE 28/09/2005, on recupere le type du menu soit de la variable TypeMenu soit de l'URL
	// l'URL est prioritaire
	var tmtmp = getQueryStringByName("TypeMenu")
	if (tmtmp == null)
	{
		tmtmp = ""
	}
	if (tmtmp != "")
	{
		TypeMenu = tmtmp
	}
	else
	{	//menu fixé par une variable TypeMenu dans le code de la page
		//alert(TypeMenu)
		//on verifie que la variable existe bien (crée dans le body ou autre)
		if (typeof(TypeMenu)=="undefined")
		{
			TypeMenu=""
		}
	}

	//On regarde le param d'entree en fonction du param, on charge le menu de type 1 ou 2
	if (TypeMenu == "2")
	{	//initMenuT1()
		tblMenu = document.getElementById('DIVMenuT2')
		tblMenu.style.display = "block"
		//de plus on doit centrer le menu au centre de l'ecran
		var position
		position = screen.availWidth / 2
		position = position - (740/2)
		//tblMenu.style.left = position

		createMenuT2()
		//on vient de creer le menu, on selection en focntion de l'Id passé en param
		selectionnerBonnesEntreesMenuT2()
	}
	else
	{	//initMenuT1()
		tblMenu = document.getElementById('DIVMenuT1')
		tblMenu.style.display = "block"
		
		//de plus on doit centrer le menu au centre de l'ecran
		var position
		position = screen.availWidth / 2
		position = position - (740/2)
		//tblMenu.style.left = position
		
		
		createMenuT1()
		//on vient de creer le menu, on selection en focntion de l'Id passé en param
		selectionnerBonnesEntreesMenu()
	}
	

}

function createMenuT1() {
	tblMenu = document.getElementById('MenuT11')

	tblMenu.innerHTML = ""
   //for (var i = 0; i < menu1.length; i++){
   for (var i = 0; i < menuAll.length; i++){
			//il faut un menu de niveau 1
			if (menuAll[i][2] == 1){	
				//on a 2 cas soit url soit un ss menu
				if (menuAll[i][3] == null){
				tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau1 id=menuT1_"+menuAll[i][0]+" onclick=showMenuT1_niveau2(this,"+menuAll[i][0]+") onmouseover=styleOverMenu1(this) onmouseout=styleOutMenu1(this)> "+menuAll[i][1]+"</div>"
				}
				else
				{tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau1 id=menuT1_"+menuAll[i][0]+" onclick=onmouseout=null;allerURL('"+menuAll[i][3]+"') onmouseover=styleOverMenu1(this) onmouseout=styleOutMenu1(this)> "+menuAll[i][1]+"</div>"

				}
			}
   }

}

function showMenuT1_niveau2(element,numMenu1)
{
	selectMenu1 = element
	setDefaultStyleMenu1()
	styleOutMenu1(element)
	
	//le menu 3 devient gris (au debut comme le menu2 (gris))
	document.getElementById('ConteneurMenuT13').style.background = styleOverMenu2_backgroud_default

	
	//gestion fleche menu
	oldValeurTopMenuT12 = 0
	nbDivDsMenuT12 = 0
	//On repôsitionne aussi les div (cas de deplacement sur un autre menu)
	document.getElementById('MenuT12').style.top = 0 + "px"

	//On detruit le menu 3 ou superieur s'il existe
	tblMenu = document.getElementById('MenuT13')
	tblMenu.innerHTML = ""
	
	//on masquer les fleches
	SupprimerFlecheMenu()
	
	//on controle si on a des fils avant de detruire le menu
	//if (ExisteSousMenuAuMenu(numMenu1) == false)
	//	return


	//On traite le menu de niveau 2
	tblMenu = document.getElementById('MenuT12')
	
	tblMenu.innerHTML = ""
    for (var j = 0; j < menuAll.length; j++){
		//on recherche le menu clique
		if (menuAll[j][0] == numMenu1)
		{
			//on recupere les fils 
			var lesFils
			lesFils = menuAll[j][4]
			if (lesFils != null) {    
				//on parcours les fils
				for(var k = 0; k < lesFils.length; k++)
				{
					//on recherche l'entree de menu	
					for (var l=0; l < menuAll.length; l++)
					{
						if(menuAll[l][0] == lesFils[k]) {
							if (menuAll[l][3] == null)
							{
							tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau2 id=menuT1_"+menuAll[l][0]+" onclick=showMenuT1_niveau3(this,"+menuAll[l][0]+")  onmouseover=styleOverMenu2(this) onmouseout=styleOutMenu2(this)> " +menuAll[l][1]+ "</div>"
							}
							else
							{
							tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau2 id=menuT1_"+menuAll[l][0]+" onclick=onmouseout=null;allerURL('"+menuAll[l][3]+"')  onmouseover=styleOverMenu2(this) onmouseout=styleOutMenu2(this)> " +menuAll[l][1]+ "</div>"
							}
							
							break;
					 }
					 
					  
					}
					
				 }
				 //on met a jour le nb de fils dans le menu
				 nbDivDsMenuT12 = k //+ 1 //k part a 0
				 
			}
		//on peut arreter 
		break;
        }
	}

	verifiFlecheMenu('MenuT12')
}

function showMenuT1_niveau3(element,numMenu2)
{
	selectMenu2 = element
	setDefaultStyleMenu2()
	styleOutMenu2(element)

	//le menu 3 devient blanc car on a des valeurs (au debut comme le menu2 (gris))
	document.getElementById('ConteneurMenuT13').style.background = styleOverMenu3_backgroud_default

	
	//gestion fleche menu
	oldValeurTopMenuT13 = 0
	nbDivDsMenuT13 = 0
	//On repôsitionne aussi les div (cas de deplacement sur un autre menu)
	document.getElementById('MenuT13').style.top = 0 + "px"

	//on controle si on a des fils avant de detruire le menu
	//if (ExisteSousMenuAuMenu(numMenu2) == false)
	//	return


	tblMenu = document.getElementById('MenuT13')
	
	
	tblMenu.innerHTML = ""
    for (var j = 0; j < menuAll.length; j++){
		//on recherche le menu clique
		if (menuAll[j][0] == numMenu2)
		{
			//on recupere les fils 
			var lesFils
			lesFils = menuAll[j][4]
			if (lesFils != null) {    
				//on parcours les fils
				for(var k = 0; k < lesFils.length; k++)
				{
					//on recherche l'entree de menu	
					for (var l=0; l < menuAll.length; l++)
					{
						if(menuAll[l][0] == lesFils[k]) {
							//on change le style car on a un menu
							tblMenu.style.background = styleOverMenu3_backgroud_default
							
							//on ajoute l'entree de menu
							if (menuAll[l][3] == null){
							tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau3 id=menuT1_"+menuAll[l][0]+" onclick=showMenuT1_niveau4(this,"+menuAll[l][0]+")  onmouseover=styleOverMenu3(this) onmouseout=styleOutMenu3(this)> " +menuAll[l][1]+ "</div>"
							}
							else
							{
							tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau3 id=menuT1_"+menuAll[l][0]+" onclick=onmouseout=null;allerURL('"+menuAll[l][3]+"')  onmouseover=styleOverMenu3(this) onmouseout=styleOutMenu3(this)> " +menuAll[l][1]+ "</div>"
							}
							break;
						} 
					}
				}
				nbDivDsMenuT13 = k //+ 1 //k part a 0
				
			}
		//on peut arreter 
		break;
        }
	}
	verifiFlecheMenu('MenuT13')
}

function showMenuT1_niveau4(element,numMenu3)
{
	selectMenu3 = element
	setDefaultStyleMenu3()
	styleOutMenu3(element)
	
	//gestion fleche menu
	oldValeurTopMenuT13 = 0
	nbDivDsMenuT13 = 0
	//On repôsitionne aussi les div (cas de deplacement sur un autre menu)
	document.getElementById('MenuT13').style.top = 0 + "px"

	//on controle si on a des fils avant de detruire le menu
	//if (ExisteSousMenuAuMenu(numMenu3) == false)
	//	return

	//un niveau superieur à 3 est genere au meme endroit
	tblMenu = document.getElementById('MenuT13')
	
	
	tblMenu.innerHTML = ""
    for (var j = 0; j < menuAll.length; j++){
		//on recherche le menu clique
		if (menuAll[j][0] == numMenu3)
		{
			//on recupere les fils 
			var lesFils
			lesFils = menuAll[j][4]
			if (lesFils != null) {    
				//on parcours les fils
				for(var k = 0; k < lesFils.length; k++)
				{
					//on recherche l'entree de menu	
					for (var l=0; l < menuAll.length; l++)
					{
						if(menuAll[l][0] == lesFils[k]) {
							//on change le style car on a un menu
							tblMenu.style.background = styleOverMenu3_backgroud_default
							
							//on ajoute l'entree de menu
							if (menuAll[l][3] == null){
							tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau3 id=menuT1_"+menuAll[l][0]+" onclick=showMenuT1_niveau4(this,"+menuAll[l][0]+")  onmouseover=styleOverMenu3(this) onmouseout=styleOutMenu3(this)> " +menuAll[l][1]+ "</div>"
							}
							else
							{
							tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT1_niveau3 id=menuT1_"+menuAll[l][0]+" onclick=onmouseout=null;allerURL('"+menuAll[l][3]+"')  onmouseover=styleOverMenu3(this) onmouseout=styleOutMenu3(this)> " +menuAll[l][1]+ "</div>"
							}
							break;
						} 
					}
				}
				nbDivDsMenuT13 = k //+ 1 //k part a 0
				
			}
		//on peut arreter 
		break;
        }
	}
	verifiFlecheMenu('MenuT13')
}


function createMenuT2() {
	tblMenu = document.getElementById('MenuT21')

	tblMenu.innerHTML = ""
   for (var i = 0; i < menuAll.length; i++){
		//il faut un menu de niveau 1
		if (menuAll[i][2] == 1){	
			//on a 2 cas soit url soit un ss menu
			if (menuAll[i][3] == null){
			tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT2_niveau1 id=menuT2_"+menuAll[i][0]+" onclick=showMenuT2(this,"+menuAll[i][0]+") onmouseover=styleOverMenu1(this) onmouseout=styleOutMenu1(this)> "+menuAll[i][1]+"</div>"
			}
			else
			{tblMenu.innerHTML = tblMenu.innerHTML + "<div class=DivMenuT2_niveau1 id=menuT2_"+menuAll[i][0]+" onclick=onmouseout=null;allerURL('"+menuAll[i][3]+"') onmouseover=styleOverMenu1(this) onmouseout=styleOutMenu1(this)> "+menuAll[i][1]+"</div>"

			}
		}
   }
   SupprimerFlecheGaucheDroiteMenu()	

}
function showMenuT2(element,numMenu1)
{
	//ce code doit etre executé si on a un menu de niveau 1 
	//selectMenu1 = element
	//setDefaultStyleMenu1()
	//styleOutMenu1(element)
	
	for (var i = 0; i < menuAll.length; i++){
		//il faut un menu de niveau 1
		if (menuAll[i][0] == numMenu1){	
			if (menuAll[i][2] == 1){	
				selectMenu1 = element
				setDefaultStyleMenu1()
				styleOutMenu1(element)
				break;
			}
		}
	}
	
	
	//gestion fleche menu
	oldValeurLeftMenuT22 = 0
	nbDivDsMenuT22 = 0
	//On repôsitionne aussi les div (cas de deplacement sur un autre menu)
	document.getElementById('MenuT22').style.left = 0 + "px"
	document.getElementById('MenuT22').style.top = 0 + "px"

	//on masquer les fleches
	SupprimerFlecheGaucheDroiteMenu()
	
	tblMenu = document.getElementById('MenuT22')
	
	tblMenu.innerHTML = ""

	//position gauche
	var positionLeft = 0	
	//position top
	var positionTop = 0

    for (var j = 0; j < menuAll.length; j++)
    {
		if(menuAll[j][0] == numMenu1)
		{
			//on a le pere, on prend les enfants
			var lesFils
			lesFils = menuAll[j][4]
			if (lesFils != null)
			{
				for(var k=0; k < lesFils.length;k++)
				{
					//tblMenu.innerHTML = tblMenu.innerHTML + "<div style=\"left:" + positionLeft + "px;top:" + positionTop + "px\"  class=divMenu2 id=menuT22_"+numMenu1+" onclick=hideSubMenu("+numMenu1+")  onmouseover=styleOverMenu2(this) onmouseout=styleOutMenu2(this)> " +menu2[numMenu1][j]+ "</div>"
					
					//on recherche l'entree de menu	
					for (var l=0; l < menuAll.length; l++)
					{
						if(menuAll[l][0] == lesFils[k])
						{
							if (menuAll[l][3] == null)
							{
								tblMenu.innerHTML = tblMenu.innerHTML + "<div style=\"position:absolute;left:" + positionLeft + "px;top:" + positionTop + "px;width:"+tailleBackgroundColonne+"px\"  class=DivMenuT2_niveau2 id=menuT2_"+menuAll[l][0]+" onclick=showMenuT2(this,"+menuAll[l][0]+")  onmouseover=styleOverMenu2(this) onmouseout=styleOutMenu2(this)> " +menuAll[l][1]+ "</div>"

							}
							else
							{
								tblMenu.innerHTML = tblMenu.innerHTML + "<div style=\"position:absolute;left:" + positionLeft + "px;top:" + positionTop + "px;width:"+tailleBackgroundColonne+"px\"  class=DivMenuT2_niveau2 id=menuT2_"+menuAll[l][0]+" onclick=onmouseout=null;allerURL('"+menuAll[l][3]+"')  onmouseover=styleOverMenu2(this) onmouseout=styleOutMenu2(this)> " +menuAll[l][1]+ "</div>"

							}
							positionTop = positionTop + hauteurDivMenu
							if ((k % nbElementColonne) == nbElementColonne - 1 )
							{
								positionLeft = positionLeft + tailleColonne
								positionTop = 0
							}
							
							break;
						}
					}
					
				}
				nbDivDsMenuT22 = k
			}
			break
		}
	}
	VerifierFlecheGaucheDroiteMenu()
}




function parcourMenu()
{
	  for (var i = 0; i < tt.length; i++){
		alert(tt[i])
		var elt
		elt = tt[i]
		if (elt.length != 5)
		{ alert('erreur menu')
		}else
		{
			if (elt[4] != null){
				var ssMenu
				ssMenu = elt[4]
				for (var j = 0 ; j < ssMenu.length; j ++)
					parcourMenuID(ssMenu[j])
			}
		
		}
	  }

}

function parcourMenuID(id)
{
	//on recherche le menu id
    for (var i = 0; i < tt.length; i++){
		if (tt[i][0] == id) {
			alert("trouve " + id)
		}
    }
	
}



// -----------------------------------------------------
function menuOver(element, numMenu) {
   setDefaultStyle(element)
   styleOver(element)
   revealSubMenu(numMenu)
}
// -----------------------------------------------------
function menuOut(element, numMenu) {
   hideSubMenu(numMenu)
}

// -----------------------------------------------------
function styleOverMenu1(element) {
  if (element != null)
  {
	element.style.color= styleOverMenu1_color_select
	element.style.background = styleOverMenu1_backgroud_select
  }
  
}
// -----------------------------------------------------
function styleOutMenu1(element) {
   
   if (selectMenu1 != element)
   {
   element.style.color = styleOverMenu1_color_default
   element.style.background = styleOverMenu1_backgroud_default
   }
   else
   {
   styleOverMenu1(element)
   }

}
function setDefaultStyleMenu1() {
   for (var i = 0; i < menuAll.length; i++) {
      if (menuAll[i][2] == 1) //niveau 1
      {
		element1 = O("menuT1_"+menuAll[i][0])
		element2 = O("menuT2_"+menuAll[i][0])
		if (element1 != null) {
		element1.style.color = styleOverMenu1_color_default
		element1.style.background = styleOverMenu1_backgroud_default
		}
		if (element2 != null) {
		element2.style.color = styleOverMenu1_color_default
		element2.style.background = styleOverMenu1_backgroud_default
		}
	  }

   }
}



// -----------------------------------------------------
function styleOverMenu2(element) {
  element.style.color=styleOverMenu2_color_select
  element.style.background = styleOverMenu2_backgroud_select
}
// -----------------------------------------------------
function styleOutMenu2(element) {
   
   if (selectMenu2 != element)
   {
   element.style.color = styleOverMenu2_color_default
   element.style.background = styleOverMenu2_backgroud_default
   }
   else
   {
   styleOverMenu2(element)
   }

}
function setDefaultStyleMenu2() {
   for (var i = 0; i < menuAll.length; i++) {
      if (menuAll[i][2] == 2) //niveau 2
      {
		element = O("menuT1_"+menuAll[i][0])
		if (element != null) {
		element.style.color = styleOverMenu2_color_default
		element.style.background = styleOverMenu2_backgroud_default
		}
	  }

   }
}

// -----------------------------------------------------
function styleOverMenu3(element) {
  element.style.color=styleOverMenu3_color_select
  element.style.background = styleOverMenu3_backgroud_select
}
// -----------------------------------------------------
function styleOutMenu3(element) {
   
   if (selectMenu3 != element)
   {
   element.style.color = styleOverMenu3_color_default
   element.style.background = styleOverMenu3_backgroud_default
   }
   else
   {
   styleOverMenu3(element)
   }
   
}
function setDefaultStyleMenu3() {
   for (var i = 0; i < menuAll.length; i++) {
      if (menuAll[i][2] >= 3) //niveau 3 ou superieur (meme cadre)
      {
		element = O("menuT1_"+menuAll[i][0])
		if (element != null) {
		element.style.color = styleOverMenu3_color_default
		element.style.background = styleOverMenu3_backgroud_default
		}
	  }

   }
}

// -----------------------------------------------------
function setDefaultStyle() {
   for (var i = 0; i < menu1.length; i++)
      O("menuT11"+i).bgColor = menu_bgcolor_normal
}
// -----------------------------------------------------



// -----------------------------------------------------
function revealSubMenu(numMenu) {
   hideAll()
   show( O("menu2"+numMenu) )
}
// -----------------------------------------------------
function hideSubMenu(numMenu) {
   hide( O("menu2"+numMenu) )
}
// -----------------------------------------------------
function show(element) {
   element.style.display = ""
}
// -----------------------------------------------------
function hideAll() {
   for (var i = 0; i < menu2.length; i++)
      hideSubMenu(i)
}
// -----------------------------------------------------
function hide(element) {
   element.style.display = "none"
}
// -----------------------------------------------------


function allerURL(sUrl)
{
	//alert( sUrl)
	//document.URL = sUrl
	
	//VGE 12/12/05, ce code permet de rajouter des parametres à l'url générée
	var tmtmp = getQueryStringByName("TypeMenu")
	if (tmtmp == null)
	{
		tmtmp = "1"
	}
	if (tmtmp != "")
	{
	}
	else
	{	//menu fixé par une variable TypeMenu dans le code de la page
		//alert(TypeMenu)
		//on verifie que la variable existe bien (crée dans le body ou autre)
		if (typeof(TypeMenu)=="undefined")
		{
			tmtmp="1"
		}
		else
		{ tmtmp = TypeMenu
		}
	}
	//VGD 2/06/2009 on peut aussi utililiser des url qui ne sont pas d'acs donc il ne faut pas ajouter les param
	//d'ou on ajoute un test sur l'url pour ne pas ajouter les param
	if(sUrl.toUpperCase().match("ACS/SERVLET") != null)
	{ //on fait le code ajout param autrement rien à l'url
	//FVGD 2/06/2009 (penser acolade de fin

	if (tmtmp == "1")
	{   //les parametres sont ajoutés que pour des adresses de menu type 1
		//On envoi les position du menu dans l'url
		if (typeof(document.getElementById('MenuT13').style.top)!="undefined")
		{
			var topMenu13
			topMenu13 = document.getElementById('MenuT13').style.top
			sUrl = sUrl + "&topMenu13=" + topMenu13
		}
		if (typeof(document.getElementById('MenuT12').style.top)!="undefined")
		{
			var topMenu12
			topMenu12 = document.getElementById('MenuT12').style.top
			sUrl = sUrl + "&topMenu12=" + topMenu12
		}

	}
	else
	{  //28/12/2005, on utilise le meme principe pour les menu de type 2
	   //On envoi la position du menu de niveau 2 pour le type menu 2
		if (typeof(document.getElementById('MenuT22').style.left)!="undefined")
		{
			var leftMenu22
			leftMenu22 = document.getElementById('MenuT22').style.left
			sUrl = sUrl + "&leftMenu22=" + leftMenu22
		}
	   
	}
	//alert(sUrl)
	//FVE
	
	//VGD 2/06/2009 fin du if
	}

	location.href = sUrl
}


// -----------------------------------------------------
function O(id) {
   return document.getElementById(id)
}
// -----------------------------------------------------


function selectionnerBonnesEntreesMenu()
{
	//on recupere le param idMenu
	//var idMenu
	//idMenu = getQueryStringByName("idMenu")
	
	if (idMenuT1Selectionne != null)
	{ //rien on laisse
	}
	else
	{
		//variable globale
		idMenuT1Selectionne = idMenu
	}
	
	if (idMenuT1Selectionne == null)
	{ return
	}
	
	//on trouve cette entrée dans le tableau menu
	for (var i = 0; i < menuAll.length; i++) 
	{
      if (menuAll[i][0] == idMenuT1Selectionne) 
      {

		//on est sur un menu il faut remonter pour creer toutes la hierarchie du menu
		var niveauMenu
		niveauMenu = menuAll[i][2]
		var tabDesParents = new Array(niveauMenu)
		tabDesParents[niveauMenu - 1 ] = menuAll[i][0]


		var tabDesIndiceDansLeMenu = new Array(niveauMenu)
		tabDesIndiceDansLeMenu[niveauMenu - 1 ] = 0


		var parentID
		parentID = menuAll[i][0]
		while (niveauMenu > 1)
		{
			//on remonte, il faut trouver l'id du menu dans les autres menu
			niveauMenu = niveauMenu - 1
			for (var j = 0; j < menuAll.length; j++) 
			{
				if(menuAll[j][2] == niveauMenu)
				{
					//on controle dans les enfants que l'on utilise le parent
					var lesFils
					lesFils = menuAll[j][4]
					if (lesFils != null)
					{
						for(var k=0;k<lesFils.length;k++)
						{
							if (lesFils[k] == parentID)
							{
								//on a trouvé notre parent
								tabDesParents[niveauMenu - 1 ] = menuAll[j][0]
								//niveauMenu = niveauMenu - 1	
								parentID = menuAll[j][0]			
				
				
								tabDesIndiceDansLeMenu[niveauMenu - 1 ] = k //position du menu
								break
							}
						}
					}
				}
			
			}
			
			
			
			
		}			

		//alert("parent:" + tabDesParents)

		//maintenant que le tableau de la hierarchie est remplit on reparcours pour charger les bon menu
		for (var n=0;n < tabDesParents.length;n++)
		{
			//on trouve notre menu dans la tableau de menu
			for(var m=0; m < menuAll.length; m++)
			{
				if(menuAll[m][0] == tabDesParents[n])
				{	
					//si le menu est le menu passe en param. on ne clique pas dessus
					if (idMenuT1Selectionne != menuAll[m][0])
					{
				
						//en fonction du niveau on clique
						if (menuAll[m][2] == 1)
						{
							//alert("showMenuT1_niveau2" + menuAll[m][0])
							showMenuT1_niveau2(O("menuT1_"+menuAll[m][0]),menuAll[m][0])
							
						}
						else
						{
							if (menuAll[m][2] == 2)
							{
									//alert("showMenuT1_niveau3" + menuAll[m][0])
									showMenuT1_niveau3(O("menuT1_"+menuAll[m][0]),menuAll[m][0])
									
									//alert(tabDesIndiceDansLeMenu[n-1])
									for (var nbfbas=nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas+1)
									{	scrollBasMenu('MenuT12')
									}
									
									positionnerCorrectementMenuT12()
							}
							else
							{
									//alert("showMenuT1_niveau4" + menuAll[m][0])
									showMenuT1_niveau4(O("menuT1_"+menuAll[m][0]),menuAll[m][0])
									
									for (var nbfbas=nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas+1)
									{	scrollBasMenu('MenuT13')
									}
									
									positionnerCorrectementMenuT13
							}
						
						}
					
						break
					}
					else
					{
						//on selectionne seulement le menu
						//en fonction du niveau on selectionne le bon (affichage graphique)
						
						//On ajoute un test en plus, si on a des fils alors on les affichent autrement on selectionne
						if(ExisteSousMenuAuMenu(idMenuT1Selectionne))
						{
							//en fonction du niveau on clique
							if (menuAll[m][2] == 1)
							{
								//alert("showMenuT1_niveau2" + menuAll[m][0])
								showMenuT1_niveau2(O("menuT1_"+menuAll[m][0]),menuAll[m][0])
								
							}
							else
							{
								if (menuAll[m][2] == 2)
								{
										//alert("showMenuT1_niveau3" + menuAll[m][0])
										showMenuT1_niveau3(O("menuT1_"+menuAll[m][0]),menuAll[m][0])
										
										//alert(tabDesIndiceDansLeMenu[n-1])
										for (var nbfbas=nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas+1)
											scrollBasMenu('MenuT12')
										
										positionnerCorrectementMenuT12()
								}
								else
								{
										//alert("showMenuT1_niveau4" + menuAll[m][0])
										showMenuT1_niveau4(O("menuT1_"+menuAll[m][0]),menuAll[m][0])
										
										for (var nbfbas=nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas+1)
											scrollBasMenu('MenuT13')
											
										positionnerCorrectementMenuT13()
								}
							
							}

						}
						else
						{
						
							if (menuAll[m][2] == 1)
							{
								selectMenu1 = O("menuT1_"+menuAll[m][0])
								styleOutMenu1(selectMenu1)
							}
							else
							{
								if (menuAll[m][2] == 2)
								{
									selectMenu2 = O("menuT1_"+menuAll[m][0])
									styleOutMenu2(selectMenu2)

									for (var nbfbas=nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas+1)
											scrollBasMenu('MenuT12')

									positionnerCorrectementMenuT12()
								}
								else
								{
									selectMenu3 = O("menuT1_"+menuAll[m][0])
									styleOutMenu3(selectMenu3)

									for (var nbfbas=nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas+1)
									{	scrollBasMenu('MenuT13')
									}
									
									positionnerCorrectementMenuT13()
								}
							}
						}
					
						break
					}

				}
			}
		}

	  }

    }	
	
		
}


function positionnerCorrectementMenuT12()
{
		//VGE 12/12/05 permet de repositionner exactement le menu pour l'utilisateur
		var topMenu12 = getQueryStringByName("topMenu12")
		if (topMenu12 != null)
		{
			if (topMenu12.indexOf('px',1) > 0)
			{
				topMenu12 = "-"  + topMenu12.substring(1,topMenu12.length-2)
				//la conversion en chaine de caractere fait perdre le - donc on remet
			}
			if (topMenu12.indexOf('pt',1) > 0)
			{
				topMenu12 = topMenu12.substring(1,topMenu12.length-2)
				//la conversion en chaine de caractere fait perdre le - donc on remet
			}
			if(topMenu12 == ""  || topMenu12 == "-")
				topMenu12 = "0" //on met 0 car le vide indique entier 0
			
			document.getElementById('MenuT12').style.top = parseInt(topMenu12) + "px"
			oldValeurTopMenuT12 = parseInt(topMenu12)
			verifiFlecheMenu('MenuT12')
		}
		//FVGE

}


function positionnerCorrectementMenuT13()
{
		//VGE 12/12/05 permet de repositionner exactement le menu pour l'utilisateur
		var topMenu13 = getQueryStringByName("topMenu13")
		if (topMenu13 != null)
		{
			if (topMenu13.indexOf('px',1) > 0)
			{
				topMenu13 = "-" + topMenu13.substring(1,topMenu13.length-2)
				//la conversion en chaine de caractere fait perdre le - donc on remet
			}
			if (topMenu13.indexOf('pt',1) > 0)
			{
				topMenu13 = "-" + topMenu13.substring(1,topMenu13.length-2)
				//la conversion en chaine de caractere fait perdre le - donc on remet
			}
			if(topMenu13 == "" || topMenu13 == "-")
				topMenu13 = "0" //on met 0 car le vide indique entier 0
			
			//alert("topMenu13" + topMenu13 + "parseint" + parseInt(topMenu13))
			document.getElementById('MenuT13').style.top = parseInt(topMenu13) + "px"
			oldValeurTopMenuT13 = parseInt(topMenu13)
			verifiFlecheMenu('MenuT13')
		}
		//FVGE

}

function positionnerCorrectementMenuT22()
{
		//VGE 28/12/05 permet de repositionner exactement le menu pour l'utilisateur
		var leftMenu22 = getQueryStringByName("leftMenu22")
		if (leftMenu22 != null)
		{
			if (leftMenu22.indexOf('px',1) > 0)
			{
				leftMenu22 = "-"  + leftMenu22.substring(1,leftMenu22.length-2)
				//la conversion en chaine de caractere fait perdre le - donc on remet
			}
			if (leftMenu22.indexOf('pt',1) > 0)
			{
				leftMenu22 = leftMenu22.substring(1,leftMenu22.length-2)
				//la conversion en chaine de caractere fait perdre le - donc on remet
			}
			if(leftMenu22 == ""  || leftMenu22 == "-")
				leftMenu22 = "0" //on met 0 car le vide indique entier 0
			
			document.getElementById('MenuT22').style.left = parseInt(leftMenu22) + "px"
			oldValeurLeftMenuT22 = parseInt(leftMenu22) 
			VerifierFlecheGaucheDroiteMenu()
		}
		//FVGE

}


//DEPLACEMENT DES MENUS AVEC LA FLECHE


function verifiFlecheMenu(Nomelement)
{
	var oldValeurTop
	var nbDivDsMenu
	oldValeurTop = 0
	nbDivDsMenu = 0
	//initialisation des variables en fonctions du menu
	if(Nomelement == 'MenuT12')
	{
		oldValeurTop = 	oldValeurTopMenuT12
		nbDivDsMenu = nbDivDsMenuT12	
	}
	else
	{
		if(Nomelement == 'MenuT13')
		{
			oldValeurTop = 	oldValeurTopMenuT13	
			nbDivDsMenu = nbDivDsMenuT13
		}
	}


	if ( (oldValeurTop-hauteurpere) <= -(nbDivDsMenu*hauteurDivMenu))  //formule avec des - car top devient négatif lorsque l'on deplace
	{
		document.getElementById(Nomelement+'flechebas').style.display = 'none'
	}
	else
	{
		document.getElementById(Nomelement+'flechebas').style.display = 'block'
	}
	
	if (oldValeurTop == 0 )
	{
		document.getElementById(Nomelement+'flechehaut').style.display = 'none'
	}
	else
	{
		document.getElementById(Nomelement+'flechehaut').style.display = 'block'
	}
	
	
}


function scrollHautMenu(Nomelement)
{
	var divInterieur
	divInterieur = document.getElementById(Nomelement)
	if(Nomelement == 'MenuT12')
	{
		oldValeurTopMenuT12 = oldValeurTopMenuT12 + hauteurDivMenu
		oldValeurTop = 	oldValeurTopMenuT12	
	}
	else
	{
		if(Nomelement == 'MenuT13')
		{
			oldValeurTopMenuT13 = oldValeurTopMenuT13 + hauteurDivMenu
			oldValeurTop = 	oldValeurTopMenuT13	
		}
	}

	document.getElementById(Nomelement).style.top = oldValeurTop  + "px" //VGE 16/01/06 ajout px obligé à cause xhtml
	verifiFlecheMenu(Nomelement)
}

function scrollBasMenu(Nomelement)
{
	var divInterieur
	divInterieur = document.getElementById(Nomelement)
	if(Nomelement == 'MenuT12')
	{
		oldValeurTopMenuT12 = oldValeurTopMenuT12 - hauteurDivMenu
		oldValeurTop = 	oldValeurTopMenuT12	
	}
	else
	{
		if(Nomelement == 'MenuT13')
		{
			oldValeurTopMenuT13 = oldValeurTopMenuT13 - hauteurDivMenu
			oldValeurTop = 	oldValeurTopMenuT13	
		}
	}
	document.getElementById(Nomelement).style.top = oldValeurTop + "px" //VGE 16/01/06 ajout px obligé à cause xhtml
	verifiFlecheMenu(Nomelement)

}

function SupprimerFlecheMenu()
{
	document.getElementById('MenuT12flechehaut').style.display = 'none'
	document.getElementById('MenuT12flechebas').style.display = 'none'
	document.getElementById('MenuT13flechehaut').style.display = 'none'
	document.getElementById('MenuT13flechebas').style.display = 'none'

	//On repôsitionne aussi les div (cas de deplacement sur un autre menu)
	document.getElementById('MenuT12').style.top = 0 + "px"
	document.getElementById('MenuT13').style.top = 0 + "px"

}

//fonction pour tester si une entree de menu à des enfants (sous menus)
function ExisteSousMenuAuMenu(idMenu)
{	var bRetour
	bRetour = false
	for (var j = 0; j < menuAll.length; j++)
	{
		//on recherche le menu id
		if (menuAll[j][0] == idMenu)
		{
			var lesFils
			lesFils = menuAll[j][4]
			if (lesFils != null)
			{
				bRetour = true
			}
			break
		}
	}
	return bRetour
	
}


function scrollgaucheMenu()
{
	var divInterieur
	divInterieur = document.getElementById('MenuT22')

	oldValeurLeftMenuT22 = oldValeurLeftMenuT22 + tailleColonne

	divInterieur.style.left = oldValeurLeftMenuT22+ "px" //VGE 16/01/06 ajout px obligé à cause xhtml
	VerifierFlecheGaucheDroiteMenu()  
}
function scrolldroiteMenu()
{
	var divInterieur
	divInterieur = document.getElementById('MenuT22')

	oldValeurLeftMenuT22 = oldValeurLeftMenuT22 - tailleColonne

	divInterieur.style.left = oldValeurLeftMenuT22  + "px" //VGE 16/01/06 ajout px obligé à cause xhtml
	VerifierFlecheGaucheDroiteMenu()
}

function SupprimerFlecheGaucheDroiteMenu()
{
	document.getElementById('MenuT22flechegauche').style.display = 'none'
	document.getElementById('TexteRetour').style.display = 'none'
	document.getElementById('MenuT22flechedroite').style.display = 'none'
	document.getElementById('TexteSuite').style.display = 'none'

}

function VerifierFlecheGaucheDroiteMenu()
{

	//on utilise - car le left devient negatif par raport au pere
	if ((oldValeurLeftMenuT22-(tailleColonne*2)) <= -((nbDivDsMenuT22 / nbElementColonne)* (tailleColonne)) )
	{
		document.getElementById('MenuT22flechedroite').style.display = 'none'
		document.getElementById('TexteSuite').style.display = 'none'
	}
	else
	{
		document.getElementById('MenuT22flechedroite').style.display = 'inline'
		document.getElementById('TexteSuite').style.display = 'inline'
	}
	
	if (oldValeurLeftMenuT22 == 0 )
	{
		document.getElementById('MenuT22flechegauche').style.display = 'none'
		document.getElementById('TexteRetour').style.display = 'none'
		
	}
	else
	{
		document.getElementById('MenuT22flechegauche').style.display = 'inline'
		document.getElementById('TexteRetour').style.display = 'inline'
	}
	



}


function selectionnerBonnesEntreesMenuT2()
{
	//on recupere le param idMenu
	//var idMenu
	//idMenu = getQueryStringByName("idMenu")
	
	if (idMenuT2Selectionne != null)
	{ //rien on laisse
	}
	else
	{
		//variable globale
		idMenuT2Selectionne = idMenu
	}
	
	if (idMenuT2Selectionne == null)
	{ return
	}
	
	//on trouve cette entrée dans le tableau menu
	for (var i = 0; i < menuAll.length; i++) 
	{
      if (menuAll[i][0] == idMenuT2Selectionne) 
      {

		//on est sur un menu il faut remonter pour creer toutes la hierarchie du menu
		var niveauMenu
		niveauMenu = menuAll[i][2]
		var tabDesParents = new Array(niveauMenu)
		tabDesParents[niveauMenu - 1 ] = menuAll[i][0]
		
		var tabDesIndiceDansLeMenu = new Array(niveauMenu)
		tabDesIndiceDansLeMenu[niveauMenu - 1 ] = 0
		
		var parentID
		parentID = menuAll[i][0]
		while (niveauMenu > 1)
		{
			//on remonte, il faut trouver l'id du menu dans les autres menu
			niveauMenu = niveauMenu - 1
			for (var j = 0; j < menuAll.length; j++) 
			{
				if(menuAll[j][2] == niveauMenu)
				{
					//on controle dans les enfants que l'on utilise le parent
					var lesFils
					lesFils = menuAll[j][4]
					if (lesFils != null)
					{
						for(var k=0;k<lesFils.length;k++)
						{
							if (lesFils[k] == parentID)
							{
								//on a trouvé notre parent
								tabDesParents[niveauMenu - 1 ] = menuAll[j][0]
								parentID = menuAll[j][0]			
	
								tabDesIndiceDansLeMenu[niveauMenu - 1 ] = k //position du menu
								break
							}
						}
					}
				}
			
			}
			
		}			

		//alert("parent:" + tabDesParents)

		//maintenant que le tableau de la hierarchie est remplit on reparcours pour charger les bon menu
		for (var n=0;n < tabDesParents.length;n++)
		{
			//on trouve notre menu dans la tableau de menu
			for(var m=0; m < menuAll.length; m++)
			{
				if(menuAll[m][0] == tabDesParents[n])
				{	
					//si le menu est le menu passe en param. on ne clique pas dessus
					if (idMenuT2Selectionne != menuAll[m][0])
					{
						showMenuT2(O("menuT2_"+menuAll[m][0]),menuAll[m][0])
						break
					}

					else
					{
						//on selectionne seulement le menu
						//en fonction du niveau on selectionne le bon (affichage graphique)

						//On ajoute un test en plus, si on a des fils alors on les affichent autrement on selectionne
						if(ExisteSousMenuAuMenu(idMenuT2Selectionne))
						{
							showMenuT2(O("menuT2_"+menuAll[m][0]),menuAll[m][0])
						}
						else
						{

							if (menuAll[m][2] == 1)
							{
								selectMenu1 = O("menuT2_"+menuAll[m][0])
								styleOutMenu1(selectMenu1)
							}
							else
							{		selectMenu2 = O("menuT2_"+menuAll[m][0])
									styleOutMenu2(selectMenu2)

									oldValeurLeftMenuT22 = 0 //Pour l'instant menu juste chargé
									for (var nbfbas=nbElementColonne+nbElementColonne;nbfbas < tabDesIndiceDansLeMenu[n-1]+1;nbfbas=nbfbas +nbElementColonne)
									{  
										scrolldroiteMenu()
									}

									//VGE 28/12/2005
									positionnerCorrectementMenuT22()
							}
						}
					}

				}
			}
		}

	  }

    }	
	
	
}
