<!--

var A_Pays = new Array();
var A_Pays_Provinces = new Array();
var A_Provinces = new Array();
var A_Villes = new Array();
var A_Provinces_Villes =  new Array();
var sArrayPays = new Array();
var compteurVilles=0;

window.onload=function()
{
	if(document.search_form!=undefined&&document.search_form.pays!=undefined)
	{
		
 		InitialiserData();
 		afficherPays();
		chargerProvinces(); 
 		chargerVilles();
	}
	else
	{
		//alert('no action');
	}

 	
}


function InitialiserData()
{
	var stringmessage="";
	var A_Provinces2_Temp=new Array();
	
	var compteurProvinces = 0;
	var A_Provinces_Temp_Ter= new Array();
	var sChaineProvinces;
	var sChaineVilles;
	//A_Provinces_Temp_Ter[0]="coco";
	
	A_Pays = sPays_g.split(";");
	//	=> A_Pays[0] = Belgique
	//	=> A_Pays[1] = Allemagne
	//	=> A_Pays[2] = France
	//	=> A_Pays[3] = Italie
	A_Provinces2_Temp = sProvinces_g.split(";");
	//	=>A_Provinces2_Temp[0]="Liège,Namur,Hainaut,Bruxelles"
	//	=>A_Provinces2_Temp[1]="Bavière,Hesse"
	//	=>A_Provinces2_Temp[2]="Ardèche,Provence,Normandie,Bourgogne"
	//	=>A_Provinces2_Temp[3]="Frioul,Lombardie"
	A_Villes2_Temp = sVilles_g.split(";");
	//	=>A_Villes2_Temp[0]="Hannut,Huy"
	//	=>A_Villes2_Temp[1]="Ohey,Coutisse"
	//	=>A_Villes2_Temp[2]="Mons,Kain"
	//	=>A_Villes2_Temp[3]="Ixelles,Saint-Gilles,Auderghem,Woluwé"
	//	=>A_Villes2_Temp[4]="V Bavière1"
	//	=>A_Villes2_Temp[5]="V Hesse 1"
	//	=>A_Villes2_Temp[6]="Ardèche V 1"
	//	=>A_Villes2_Temp[7]="Saint-Tropez"
	//	=>A_Villes2_Temp[8]="Normandie v1"
	//	=>A_Villes2_Temp[9]="Bourgogne V1"
	//	=>A_Villes2_Temp[10]="FrioulV1"
	//	=>A_Villes2_Temp[11]="Monbardiev1"

	
	
	for (i=0;i<A_Pays.length;i++)
		{
			
			stringmessage+=A_Pays[i]+'\r\n';
			stringmessage+=' - ' +A_Provinces2_Temp[i]+'\r\n';
			sChaineProvinces = A_Provinces2_Temp[i].toString();
			
		
			A_Pays_Provinces[A_Pays[i]] = new Array();
			
			
			AjouterProvincesDansPays(A_Pays[i],sChaineProvinces);
			//splitter liège, namur, hainaut, bruxelles en array=> A_Provinces_Temp_Ter[0]=Liège
			
			A_Provinces_Temp_Ter = sChaineProvinces.split(",");
			//alert("A_Provinces_Temp_Ter.length = " + A_Provinces_Temp_Ter.length);
			//pour chaque province, identifier string de villes
			for (e=0;e<A_Provinces_Temp_Ter.length;e++)
				{
					sChaineVilles= A_Villes2_Temp[compteurProvinces];
					A_Provinces[compteurProvinces]=A_Provinces_Temp_Ter[e];
					
					//A_Villes[compteurProvinces]=A_Villes2_Temp[compteurProvinces];		
					A_Provinces_Villes[A_Provinces[compteurProvinces]] = new Array();
					
					stringmessage+=' -- ' +A_Villes2_Temp[compteurProvinces]+'\r\n';
					AjouterVillesDansProvince(A_Provinces_Temp_Ter[e],sChaineVilles);
					compteurProvinces++;
				}
		}
//alert(stringmessage);

}
function AjouterProvincesDansPays(sPays,sProvinces) {	

 	var A_Provinces_Temp= sProvinces.split(",");
		for (t=0;t<A_Provinces_Temp.length;t++)
		{
			v = A_Pays_Provinces[sPays].length;
			A_Pays_Provinces[sPays][v] = A_Provinces_Temp[t];
			
		}
		//alert(sPays);
}
function AjouterVillesDansProvince(sProvince,sVilles) {
    
	var A_Villes_Temp= sVilles.split(",");	
	
	for (q=0;q<A_Villes_Temp.length;q++)
		{
			A_Villes[compteurVilles]=A_Villes_Temp[q];
			v = A_Provinces_Villes[sProvince].length;
			A_Provinces_Villes[sProvince][v] = A_Villes_Temp[q];
			compteurVilles++;
		}
	//alert("fin AjouterVillesDansProvince : "+ sProvince + " => " + sVilles);
}
function afficherPays() {
  
   var ctrlPays = document.search_form.pays;
	
   ctrlPays.options.length = 0;
   
    ctrlPays.options[0] = new Option(sLabelPays,"",true,true);
  
   for (i=0;i<A_Pays.length;i++) {
	
    ctrlPays.options[i+1] = new Option(ExtractName(A_Pays[i]),A_Pays[i],false,false);
   }
   SortListBox(ctrlPays,compareText);  
}
function FiltrerVillesParPays(sPays)
{
	var ctrlVilles = document.search_form.ville;
	ctrlVilles.options.length = 0;
	ctrlVilles.options[0] = new Option(sLabelVilles,"",true,true);
	var compteur=0;
	for (a=0;a<A_Pays.length;a++) {
		
		if (sPays==A_Pays[a])
		{
			for (i=0;i<A_Pays_Provinces[A_Pays[a]].length;i++) 
			{
				for (b=0;b<A_Provinces_Villes[A_Pays_Provinces[A_Pays[a]][i]].length;b++) 
				{
					ctrlVilles.options[compteur+1] = new Option(ExtractName(A_Provinces_Villes[A_Pays_Provinces[A_Pays[a]][i]][b]), A_Provinces_Villes[A_Pays_Provinces[A_Pays[a]][i]][b],false,false);
					compteur++;
  				}
  			}
		break;
		}
   	}
}

function ExtractID(theString)
{
	//name = toute la chaine avant le "_code"
	var longueur = theString.length;
	var positionAvant= theString.indexOf("_code");

	return theString.substring(positionAvant+5,longueur);
}
function ExtractName(theString)
{

var res="";
	if (theString.indexOf("_code")!= -1)
	{
	
		var longueur = theString.length;
		var positionAvant= theString.indexOf("_code");
		//alert(theString + ' longueur = '+longueur+ " -position _code= " + positionAvant);
	
		res = theString.substring(0,positionAvant);
	}
	else
	{
		res = theString;
	}
	return res;
	
}
function chargerVilles()
{
	var ctrlPays = document.search_form.pays;
   	var selectedPays = ctrlPays.options[ctrlPays.selectedIndex].value;

  	var ctrlProvinces = document.search_form.region;
   	var selectedProvince = ctrlProvinces.options[ctrlProvinces.selectedIndex].value;
  
   	var ctrlVilles = document.search_form.ville;
   	ctrlVilles.options.length = 0;
	ctrlVilles.options[0] = new Option(sLabelVilles,"",true,true);
	if(selectedProvince == "")
  	{
		if(selectedPays!="")
			{
				//filter villes aussi selon pays
				FiltrerVillesParPays(selectedPays);
			}
		else
			{
   				for (i=0;i<A_Villes.length;i++) 
					{
						ctrlVilles.options[i+1] = new Option(ExtractName(A_Villes[i]), A_Villes[i],false,false);
   					}
			}
	}
	else  
   	{ 
   	
	for (i=0;i<A_Provinces_Villes[selectedProvince].length;i++) 
		{
       		//label = A_Provinces_Villes[selectedProvince][i];
		ctrlVilles.options[i+1] = new Option(ExtractName(A_Provinces_Villes[selectedProvince][i]), A_Provinces_Villes[selectedProvince][i],false,false);
  		}
   	}
	SortListBox(ctrlVilles,compareText);  
	
	
}
function chargerProvinces() 
{
   	var ctrlPays = document.search_form.pays;
   	var selectedPays = ctrlPays.options[ctrlPays.selectedIndex].value;
  
   	var ctrlProvinces = document.search_form.region;
   	ctrlProvinces.options.length = 0;
	ctrlProvinces.options[0] = new Option(sLabelProvinces,"",true,true);
		//if("All" == selectedBT)
		//ctrlbusThread.options[0] = new Option("All","",true,true);
   		//else
		//ctrlbusThread.options[0] = new Option("All","",true,false);

  if(selectedPays == "")
  	{
   		for (i=0;i<A_Provinces.length;i++) 
		{
   			ctrlProvinces.options[i+1] = new Option(ExtractName(A_Provinces[i]), A_Provinces[i],false,false);
   		}
		
		
	}
   else  
   { 
	
	for (i=0;i<A_Pays_Provinces[selectedPays].length;i++) 
		{
		ctrlProvinces.options[i+1] = new Option(ExtractName(A_Pays_Provinces[selectedPays][i]), A_Pays_Provinces[selectedPays][i],false,false);
  	}
   }
 	SortListBox(ctrlProvinces,compareText);  
	
	chargerVilles();
}
function compareText (opt1, opt2) { 
// not case sensitive 
return opt1.text.toLowerCase() < opt2.text.toLowerCase() ? -1 : 
opt1.text.toLowerCase() > opt2.text.toLowerCase() ? 1 : 0; 
} 

function compareTextCaseSensitive (opt1, opt2) { 
// case sensitive 
return opt1.text < opt2.text ? -1 : 
opt1.text > opt2.text ? 1 : 0; 
} 

function SortListBox (pListBox, compareFunction) { 
if (!compareFunction) 
compareFunction = compareText; 
var options = new Array (pListBox.options.length); 
for (var i = 0; i < options.length; i++) 
options[i] = 
new Option ( 
pListBox.options[i].text, 
pListBox.options[i].value, 
pListBox.options[i].defaultSelected, 
pListBox.options[i].selected 
); 
options.sort(compareFunction); 
pListBox.options.length = 0; 
for (var i = 0; i < options.length; i++) 
pListBox.options[i] = options[i]; 
} 

//-->
