﻿<!--	
	var VecteurCriteres = new Array(); //Vecteur des criteres - va contenir IdCritere , IdEnfants , Description_session("langue")
	var VecteurListes = new Array(); //Vecteur des ListesDeroulantes - va contenir le IdListe , IdCritere , Titre_session("langue")
	//var VecteurEnfants = new Array();//Vecteur des Relation pere / enfants - va contenir le id , IdListPere , IdListEnfant
	var pC = 0
	var pE = 0
	
	//Besoin de seulement le idcritere a passer en param?!
	
	function GenererListeDblCritere(ObjLstCritere,IdCritere,IdCritereEnfant,IdLst)
	{
		var Annee1 = 0
		var Annee2 = 0
		var CritereRechercher = 0

		if(ObjLstCritere.value!=-1)
		{						
			if(IdCritereEnfant!=-1)
			{
				var LstEnfant = document.getElementById("MrCritere"+IdCritereEnfant);
				LstEnfant.length=0
			}
			
			var x=0
			var EnfantsLst=""
			var SecondLst = ""
			var Critere2Rechercher = 0
			var Y=0
			var PremierItem = 0
			var DernierItem = 0
			//IdLst si =1 c est pour savoir que c est la liste #1 si #2 c est la liste #2
			if(IdLst==1)
			{
				CritereRechercher = ObjLstCritere.value
				
				//ici c est pour avoir l'année de départ!
				for(X=0;X<(VecteurListes.length);X++)
				{
					if(ObjLstCritere.value==VecteurListes[X][1])
					{
						 Annee1=VecteurListes[X][2]
					}
				}
				
				EnfantsLst=""
				SecondLst = document.getElementsByName("MrCritere"+IdCritere)[1];
				Critere2Rechercher = SecondLst.value
				Y=0
				PremierItem = ObjLstCritere.options[1].value
				DernierItem = ObjLstCritere.options[ObjLstCritere.length-1].value
				
				//ici c est pour savoir la derniere année disponible dans la liste
				var AnneeFin = 0
				for(X=0;X<(VecteurListes.length);X++)
				{
					if(DernierItem==VecteurListes[X][1])
					{
						 AnneeFin=VecteurListes[X][2]
					}
				}
				
				if(CritereRechercher!=-1)	
				{
					for(Y=0;Y<(VecteurListes.length);Y++)
					{
						//ici c est pour si la liste #2 est = a -1
						if(Critere2Rechercher==-1)
						{	
							if(parseInt(VecteurListes[Y][2])>=parseInt(Annee1) && parseInt(VecteurListes[Y][2])<=parseInt(AnneeFin))
							{
								for(z=1;z<(ObjLstCritere.length);z++)
								{
									if(VecteurListes[Y][1]==ObjLstCritere.options[z].value)
									{
										EnfantsLst = EnfantsLst+VecteurListes[Y][3]+"@"
									}
								}
							}
						}
						//ici c est si la valeur de la 2e lst est différente de -1
						else
						{
							Annee2 = 0
							for(X=0;X<(VecteurListes.length);X++)
							{
								if(Critere2Rechercher==VecteurListes[X][1])
								{
									 Annee2=VecteurListes[X][2]
								}
							}
							if(parseInt(VecteurListes[Y][2])>=parseInt(Annee1) && parseInt(VecteurListes[Y][2])<=parseInt(Annee2))
							{
								for(z=1;z<(ObjLstCritere.length);z++)
								{
									if(VecteurListes[Y][1]==ObjLstCritere.options[z].value)
									{
										EnfantsLst = EnfantsLst+VecteurListes[Y][3]+"@"
									}
								}
							}
						}
					}
				}
			}
			
			else
			{
				CritereRechercher = ObjLstCritere.value
				X=0
				for(X=0;X<(VecteurListes.length);X++)
				{
					if(ObjLstCritere.value==VecteurListes[X][1])
					{
						 Annee1=VecteurListes[X][2]
					}
				}
				
				Y=0
				EnfantsLst=""
				SecondLst = document.getElementsByName("MrCritere"+IdCritere)[0]
				Critere2Rechercher = SecondLst.value
				DernierItem = ObjLstCritere.options[1].value
				PremierItem = ObjLstCritere.options[ObjLstCritere.length-1].value
				var AnneeDepart=0
				
				for(x=0;x<VecteurListes.length;x++)
				{
					if(PremierItem==VecteurListes[x][1])
					{
						AnneeDepart=VecteurListes[x][2]
					}
				}
				
				if(CritereRechercher!=-1)	
				{
					for(Y=0;Y<(VecteurListes.length);Y++)
					{
						if(Critere2Rechercher==-1)
						{
							if(parseInt(VecteurListes[Y][2])>=parseInt(AnneeDepart) && parseInt(VecteurListes[Y][2])<=parseInt(Annee1) )
							{
								for(z=1;z<(ObjLstCritere.length);z++)
								{
									if(VecteurListes[Y][1]==ObjLstCritere.options[z].value)
									{
										EnfantsLst = EnfantsLst+VecteurListes[Y][3]+"@"
									}
								}
							}
						}
						else
						{
						
							for(x=0;x<VecteurListes.length;x++)
							{
								if(Critere2Rechercher==VecteurListes[x][1])
								{
									Annee2=0
									Annee2=VecteurListes[x][2]
								}
							}
							if(parseInt(VecteurListes[Y][2])<=parseInt(Annee1) && parseInt(VecteurListes[Y][2])>=parseInt(Annee2))
							{
								for(z=1;z<(ObjLstCritere.length);z++)
								{
									if(VecteurListes[Y][1]==ObjLstCritere.options[z].value)
									{
										EnfantsLst = EnfantsLst+VecteurListes[Y][3]+"@"
									}
								}
							}
						}
					}
				}
			}
			//********************* ici pour emplir la 2e liste a l envers *********************************************
			var Temp = EnfantsLst
			var	TabEnfantsLstDbl = Temp.split("@")
			var NewString =""
			for(x=0;x<TabEnfantsLstDbl.length;x++)
			{
				if(NewString.match(TabEnfantsLstDbl[x]))
				{}
				else{
					NewString = NewString + TabEnfantsLstDbl[x] + "@"
				}
			}
			
			var Tempo = NewString
			var TabFinal = Tempo.split("@")
			if(Tempo=="")
			{
				LstEnfant.options[LstEnfant.length] = new Option("- Aucun item disponible -", "-1");
			}
			else
			{
				if(IdCritereEnfant!=-1)
				{
					LstEnfant.options[LstEnfant.length] = new Option("- Sélectionner -", "-1");
				}
			}
			
			for(y=0;y<TabFinal.length-1;y++)
			{
				for(z=0;z<VecteurListes.length;z++)
				{
					if(TabFinal[y]==VecteurListes[z][1])
					{
						LstEnfant.options[LstEnfant.length] = new Option(VecteurListes[z][2], VecteurListes[z][1]);
					}
				}
			}
			//**************************************************** Fin pour la 2e liste **********************************************
		}	
		
		if(ObjLstCritere.value!=-1)
		{					
			//LoadOtherLst(ObjLstCritere,IdCritereEnfant)
			// met les enfants et toute sont arbre généalogique à -1
			var FinArbreGeo = 1 
			var PetitEnfant = -1
			var Premier = 1 
			while(FinArbreGeo==1)
			{	
				for(pC=0;pC<VecteurCriteres.length;pC++)
				{
					if(IdCritereEnfant==VecteurCriteres[pC][0])
					{	
						PetitEnfant = VecteurCriteres[pC][1]		
					}
				}		
				if(PetitEnfant!=-1)
				{		
					document.getElementById("MrCritere" + PetitEnfant).selectedIndex=0
					document.getElementById("MrCritere" + PetitEnfant).length=1
					IdCritereEnfant = PetitEnfant
					PetitEnfant = -1
				}
				else
				{
					FinArbreGeo=0
				}
			}	
		}
		
	}
//****************************************** FNC GenererLstCritere *********************************************************

	function GenererListeCritere(ObjLstCritere,IdCritere,IdCritereEnfant,LstDouble)
	{	
		if (ObjLstCritere != null)
		{
			//pour avoir la longueur du tableau de criteres		
			var longueur = VecteurCriteres.length
			//Pour ajouter l'option non applicable a toutes les listes deroulantes
			var NbItem = ObjLstCritere.length
			if(LstDouble==1)
			{
				if(NbItem==0)
				{	ObjLstCritere.options[ObjLstCritere.length] = new Option("  Entre...  ", "-1");
				}
			}
			
			if(ObjLstCritere.length<=1)
			{	
				for(pC=0;pC<longueur;pC++)
				{	
					if(IdCritere==VecteurCriteres[pC][0])
					{
						var IdCritereEnfant = VecteurCriteres[pC][1]
						if(LstDouble==0)
						{	
							for(pE=0;pE<(VecteurListes.length);pE++)
							{
								if(IdCritere==VecteurListes[pE][0])
								{
									ObjLstCritere.options[ObjLstCritere.length] = new Option(VecteurListes[pE][2], VecteurListes[pE][1]);
								}
							}
						}
						else
						{
							FullLst2(ObjLstCritere,IdCritere)
						}
					}
				}
			}	
				
			if(ObjLstCritere.value!=-1)
			{					
				if(document.getElementById("MrCritere"+IdCritereEnfant))
				{
					if(document.getElementById("MrCritere"+IdCritereEnfant).name!=undefined)
					{
						LoadOtherLst(ObjLstCritere,IdCritereEnfant)
					}
					else
					{
						ObjLstCritere= document.getElementsByName("MrCritere"+IdCritereEnfant)[0]
						FullLstDblEnfant(ObjLstCritere,IdCritere,IdCritereEnfant)
					}
				}
				// met les enfants et toute sont arbre généalogique à -1
				var FinArbreGeo = 1 
				var PetitEnfant = -1
				var Premier = 1 
				while(FinArbreGeo==1)
				{	
					for(pC=0;pC<VecteurCriteres.length;pC++)
					{
						if(IdCritereEnfant==VecteurCriteres[pC][0])
						{	PetitEnfant = VecteurCriteres[pC][1]		
						}
					}		
					if(PetitEnfant!=-1)
					{		
						document.getElementById("MrCritere" + PetitEnfant).selectedIndex=0
						document.getElementById("MrCritere" + PetitEnfant).length=1				
						IdCritereEnfant = PetitEnfant
						PetitEnfant = -1
					}
					else
					{
						FinArbreGeo=0
					}
				}	
			}
		}
		//ici le else si non 		




	}
	
//********************************************************* FNC FullLst2 *************************************************************************
	function FullLstDblEnfant(ObjLstCritere,IdCritere,IdCritereEnfant)
	{
		//ici pour la liste 1
		var Obj = document.getElementById("MrCritere"+IdCritere)
		for(x=0;x<VecteurListes.length;x++)
		{
			if(VecteurListes[x][1]==Obj.value)
			{
				var Enfants = VecteurListes[x][3]
			}
		}
		if(Enfants!="")
		{
			var TabEnfants = Enfants.split("@")
			ObjLstCritere.length = 0
			ObjLstCritere.options[ObjLstCritere.length] = new Option("  Entre...  ", "-1");		
		}
		
		for(z=0;z<TabEnfants.length-1;z++)
		{
			for(y=0;y<VecteurListes.length;y++)
			{	
				if(VecteurListes[y][1]==TabEnfants[z])
				{
					ObjLstCritere.options[ObjLstCritere.length] = new Option(VecteurListes[y][2],VecteurListes[y][1])
				}
			}
		}

		//ici pour la liste 2 
		var ObjLst2 = document.getElementsByName("MrCritere"+IdCritereEnfant)[1];
		ObjLst2.length = 0
		ObjLst2.options[ObjLst2.length] = new Option("et..  ", "-1");
		for(z=TabEnfants.length-1;z>0;z--)
		{
			for(y=0;y<VecteurListes.length;y++)
			{	
				if(VecteurListes[y][1]==TabEnfants[z])
				{
					ObjLst2.options[ObjLst2.length] = new Option(VecteurListes[y][2],VecteurListes[y][1])
				}
			}
		}
	}
	
		
	function FullLst2(ObjLstCritere,IdCritere)
	{
		ObjLstCritere.length = 0
		ObjLstCritere.options[ObjLstCritere.length] = new Option("  Entre...  ", "-1");
		
		//ici je remplis la premiere liste
		for(pE=0;pE<(VecteurListes.length);pE++){
			if(IdCritere==VecteurListes[pE][0]){
				ObjLstCritere.options[ObjLstCritere.length] = new Option(VecteurListes[pE][2], VecteurListes[pE][1]);
			}
		}
		
		//ici je remplis la 2e lst double
		var Lst2 = document.getElementsByName("MrCritere"+IdCritere)[1];
		Lst2.length=0
		Lst2.options[Lst2.length] = new Option(" et... ", "-1");
		for(pE=(VecteurListes.length-1);pE>=0;pE--){
			if(IdCritere==VecteurListes[pE][0]){
				Lst2.options[Lst2.length] = new Option(VecteurListes[pE][2], VecteurListes[pE][1]);
			}
		}
	}

//************************************************* FNC LoadOtherLst *************************************************************************************
	function LoadOtherLst(ObjLstCritere,IdCritereEnfant)
	{
		var longueur = VecteurListes.length
		for(pC=0;pC<longueur;pC++)
		{
			if(VecteurListes[pC][1]==ObjLstCritere.value)
			{	
				//ici je crée un tableau d' enfants du critere de la premiere liste 
				var Enfants = VecteurListes[pC][3]
				if(Enfants!=-1)
				{
					var TabEnfants = Enfants.split("@")
				}
				else if(IdCritereEnfant!=-1)
				{
					document.getElementById("MrCritere"+IdCritereEnfant).length=0
					document.getElementById("MrCritere"+IdCritereEnfant).options[document.getElementById("MrCritere"+IdCritereEnfant).length] = new Option('- Aucun item -', '-1');
				}
			}
		}
		
		if(IdCritereEnfant!=-1 && Enfants!=-1)
		{	
			document.getElementById("MrCritere"+IdCritereEnfant).length=0
			document.getElementById("MrCritere"+IdCritereEnfant).options[document.getElementById("MrCritere"+IdCritereEnfant).length] = new Option('- Sélectionner -', '-1');
			for(pE=0;pE<=(TabEnfants.length)-1;pE++)
			{
				for(pC=0;pC<(VecteurListes.length);pC++)
				{
					if(VecteurListes[pC][1]==TabEnfants[pE])
					{
						document.getElementById("MrCritere"+IdCritereEnfant).options[document.getElementById("MrCritere"+IdCritereEnfant).length] = new Option(VecteurListes[pC][2], VecteurListes[pC][1]);
					}
				}
			}
		}
	}


//-->
