//Gestion des formualaires

var TravelForm = function(name,positionId){
    this.name = name;
    this.comboBox = [];
    this.autoComplete = [];
    this.datePickers = [];
    this.errorUrl = [];
	this.positionId = positionId;
	//this.map = {}; //added for validation 
}
TravelForm.prototype.getDiv = function(){
    if (this.div == null) {
        this.div = document.getElementById("form-div-" + this.name);
    }
    return this.div;
}
TravelForm.prototype.getForm = function(){
    if (this.form == null) {
        this.form = document.getElementById("form-" + this.name);
    }
    return this.form;
}
TravelForm.prototype.getTab = function(){
    if (this.tab == null) {
        this.tab = document.getElementById("tab-" + this.name);
    }
    return this.tab;
}

TravelForm.prototype.getSelectedPartner = function(){
    var pInput = this.getForm()[this.name + '-partner'];
    if (pInput != null && pInput.value != null) {
        return pInput.value;
    }
    else 
        if (pInput.length != null) {
            for (var i = 0; i < pInput.length; i++) { 
                if (pInput[i].checked) { 
                    return pInput[i].value; 
                }
            }
            
        }
        else 
            return "undefined";
    
}

TravelForm.prototype.deselectAllPartners = function(){
    var pInput = this.getForm()[this.name + '-partner'];
    if (pInput != null && pInput.length != null) {
        for (var i = 0; i < pInput.length; i++) {
            pInput[i].checked = false;
        }
        
    }
    
}

TravelForm.prototype.findList = function(listName){
    for (var i = 0; i < this.comboBox.length; i++) {
        if (this.comboBox[i].name == listName) {
            return this.comboBox[i];
        }
    }
    for (var i = 0; i < this.autoComplete.length; i++) {
        if (this.autoComplete[i].name == listName ) {
        	return this.autoComplete[i];
        }
    }
	return null;
}

TravelForm.prototype.notify = function(propertyChangeInput){
    //alert("Modifiction d'un element de '" + propertyChangeInput.form.name + "' : " + propertyChangeInput.name + "=" + propertyChangeInput.value);
    var tf = propertyChangeInput.form.travelForm;
    for (var i = 0; i < this.comboBox.length; i++) {
        if (this.comboBox[i].dependencies.contains(propertyChangeInput.name)) {
            console.log("Dependency found : " + this.comboBox[i].name + " depends of " + propertyChangeInput.name);
            this.comboBox[i].update(propertyChangeInput);
        }
    }
    for (var i = 0; i < this.autoComplete.length; i++) {
        if (this.autoComplete[i].dependencies.contains(propertyChangeInput.name)) {
            console.log("Dependency found : " + this.autoComplete[i].name + " depends of " + propertyChangeInput.name);
            this.autoComplete[i].update(propertyChangeInput);
        }
    }
	var updated = this.findList(propertyChangeInput.name);
	if(updated != null){
		console.log("A list has been modified, we'll try to auto resolve depencies if needed. List modified : ");
		console.log(updated);
		updated.autoResolveDependencies();
	}
}
TravelForm.prototype.init = function(){
    this.getForm().travelForm = this;
    for (var i = 0; i < this.comboBox.length; i++) {
        this.comboBox[i].getCombo().selectedIndex = 0;
    }
    for (var i = 0; i < this.autoComplete.length; i++) {
        this.autoComplete[i].getField().value = "";
    }
    for (var i = 0; i < this.datePickers.length; i++) {
        this.datePickers[i].field.value = "";
    }
    this.deselectAllPartners();
}
TravelForm.prototype.checkForm = function(){
    if (this.getSelectedPartner() == "undefined" || this.getSelectedPartner() == undefined) {
        blinkDiv("partner-warn-"+this.name,1);
        return false;
    }
    else {
        return true;
    }
    
}
TravelForm.prototype.submit = function(){ 
    //TODO verifier que les chmaps sont complÃ©tÃ© correctement et que le partenaire est bien selectionnÃ©
    //Contruction d'une map contenant les valeurs des champs a envoyer, ainsi que le partenaire choisi
    try {
        //on verifie qu'un partenaire est bien selectionnï¿½
        console.log("Submiting " + this.name);
		var errBox = document.getElementById('warn-message-'+this.name);
		if(errBox) errBox.style.display = "none";

        //to verify only partner logo checked or not
		if (!this.checkForm()) {
            console.log(" --> No partner selected : break");
            return false;
        }
        var formMap = {};
		console.log(" --> Form : "+this.getForm());
        var elts = this.getForm().elements;
		if(elts ==null) elts = this.getForm().getElements();
		console.log(" --> Scanning elements "+elts);
        for (var i = 0; i < elts.length; i++) {
			console.log("  --> adding "+elts[i]+" "+elts[i].name);
            formMap[elts[i].name] = getFieldValue(elts[i]);
            console.log("   --> formMap[" + elts[i].name + "] =" + getFieldValue(elts[i]));
        }
        console.log("Sending form '" + this.name + "' with data : ");
        console.log(formMap);
		//LoadIndicator.add();
		var map = {};
		//For Validation 
		this.errorMessage = [];
		var valresult = this.Validation(formMap);
		if(!valresult) {			
			
			map.errorMessage = this.errorMessage;
		}
		if(this.name.match("flight-form") && (valresult) ) 
		{
			map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032275|1|16|AdId=2125618;BnId=1;link=";//this.errorUrl;
			map.formAction = "http://www.easyvols.org/aolng/mev/results.jsp";
			map.formType = "GET";
			var appUrl = "?";
			var keyval = "";
			for (key in formMap)
			{
				if(key != "submitvolsButton" && key != "flight-form-partner")
				{
					if(key == "date_aller" || key == "date_retour") {
						var dateInput = formMap[key].split('/'); 
						if(key == "date_aller"){
							appUrl = appUrl+"&moisAller="+dateInput[1]+"/"+dateInput[2]+"&jourAller="+dateInput[0];
							map['moisAller'] = dateInput[1]+"/"+dateInput[2]; map['jourAller'] = dateInput[0];
						} else {
							appUrl = appUrl+"&moisRetour="+dateInput[1]+"/"+dateInput[2]+"&jourRetour="+dateInput[0];
							map['moisRetour'] = dateInput[1]+"/"+dateInput[2]; map['jourRetour'] = dateInput[0];
						}
					}
					else if (key == "type")
					{
						var typeval = (formMap[key] == false)?1:0;
						appUrl = appUrl+"&"+ key + "="+ typeval;
						map.type = typeval;
					}
					else {
						appUrl = appUrl+"&"+ key + "="+ formMap[key];
						map[key] = formMap[key];
					}
				}
			}			
		 }
		if(this.name.match("cars-form") ) 
		{
			map.trackingUrl = "http://fr.at.atwola.com/?adlink|3.0|516|1032275|1|16|AdId=2503325;BnId=1;link=";
			
			var dateInput = formMap.date_aller; 
			dateInput = dateInput.split("/");
			var date1 = dateInput[0]+"/"+dateInput[1]+"/"+dateInput[2].substring(2,4);
			
			var dateOuput = formMap.date_retour.split("/"); 
			var date2 = dateOuput[0]+"/"+dateOuput[1]+"/"+dateOuput[2].substring(2,4);
			
			var dropTime = formMap.num_adults;
			var pickTime = formMap.num_enfants;
			var timestamp = new Date().getTime();
			var smartClickUrl  = "http://www.smartadserver.com/call/cliccommand/2335548/5957/"+timestamp+"?";
			var appUrl=smartClickUrl+"http://agence.voyages-sncf.com/pubspec/scripts/eap.asp?GOTO=HOTSEARCH&InDate="+date1+"&OutDate="+date2+"&NumAdult="+pickTime+"&NumEnfants="+dropTime+"&CityName="+formMap.pick_up_city;
			map.formAction = appUrl;
			map.formType = "POST";
			map.GOTO = "CARSEARCH";
			map.InDate = date1;
			map.OutDate = date2;
			map.NumAdult =pickTime;
			map.NumEnfants = dropTime;
			map.CityName = formMap.pick_up_city;
		 }
		 if(this.name.match("stays-form") && (valresult) ) 
		 {
			map.trackingUrl = "";
			var appUrl = "";
			var stayspartner = this.getSelectedPartner();
			
			if(stayspartner == "look-voyages-stays-partner") 
			{
				var default_url = 'http://www.look-voyages-location.fr/?utm_source=aol&utm_medium=DLY_DLT_DSH&utm_content=FLX_MOT_SEJ&utm_campaign=PERMANENT';
				var prefix_url='http://www.lookvoyages.fr/redir.aspx?mode=catsearch&geozoneid=';
				var postfix_url = '&isCalculate=1&merchant_id=LK0001&utm_source=aol&utm_medium=DLY_DLT_DSH&utm_content=FLX_MOT_SEJ&utm_campaign=PERMANENT';
				var url=default_url;
				var id=lvPays[formMap.choix_pays];
				//map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032275|1|16|AdId=1651668;BnId=1;link=";
				map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032275|1|16|AdId=1651667;BnId=1;link=";
				map.formType = "GET";
				map.formAction = "http://www.lookvoyages.fr/redir.aspx?mode=catsearch";
				map.mode = "catsearch";
				map.geozoneid = id;
				map.utm_source = "AOL";
				map.utm_medium = "DLY_DLT_DSH";
				map.utm_content = "FLX_MOT_SEJ";
				map.utm_campaign = "PERMANENT";
				map.isCalculate = "1";
				
				if (!isNaN(id))
				{
					if (formMap.date_sejour){
						var tab_jour_mois_annee = formMap.date_sejour.split("/");
						var depDay = tab_jour_mois_annee[0] ;
						var depMonth = tab_jour_mois_annee[1] ;
						var depYear = tab_jour_mois_annee[2] ;
					}
					appUrl = prefix_url+id+postfix_url+'&depdatemin='+depDay+depMonth+depYear;
					map.depdatemin = depDay+depMonth+depYear;
				}
			}
			if(stayspartner == "promo-vacances-stays-partner") 
			{
				/*if(this.postionId = 'home')
					var urlAction = "http://aolmotvo.promovacances.com/?cid=400116";
				 else 
					var urlAction = "http://aolmotsej.promovacances.com/?cid=400117";*/
				var urlAction = "http://aolmotvo.promovacances.com/?cid=400116";
				map.formType = "POST";				
				map.formAction = urlAction;
				//map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032275|1|16|AdId=1022018;BnId=1;link=";
				map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032582|1|16|AdId=1021955;BnId=3;link=";
				if(formMap.date_sejour)
				{ 				
					var tab_jour_mois_annee= formMap.date_sejour.split("/");				
					var depDay = tab_jour_mois_annee[0] ;
					var depMonth = tab_jour_mois_annee[1] ;
					var depYear = tab_jour_mois_annee[2] ;
					map.jj = depDay;
					map.mm = depMonth;
					map.aaaa = depYear;	
				}
				var budgetValue="";

				switch (formMap.budget) 
				{
					case "" : 
					case "indiff" :	budgetValue = "0 - 9999999"; break; 
					case "inf300" : budgetValue = "0 - 1968"; break; 
					case "inf450" : budgetValue = "1968 - 2952"; break;
					case "inf600" : budgetValue = "2952 - 3936"; break; 
					case "inf750" : budgetValue = "3936 - 4919"; break;
					case "sup750" : budgetValue = "4919 - 9999999"; break; 
				}
				var bug = budgetValue.split("-");
				map.budmax = budgetValue; 
				map.aolws = 2;
				map.u = "PMV:RECH";
				map.theme  = formMap.theme;
				map.pays = formMap.choix_pays.toLowerCase();
			}
			if(stayspartner == "last-minute-stays-partner") 
			{
				map.formType = "GET";
				map.formAction = "http://www.fr.lastminute.com/site/voyages/agence-de-voyage/holidays-search-results.html";
				//map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032578|1|16|AdId=1360025;BnId=1;link=";
				map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032582|1|16|AdId=1359545;BnId=1;link=";
				var nDureeSejour; 

				switch (formMap.theme) 
				{
					case "K01" : nDureeSejour = "258"; break;
					case "C01" : nDureeSejour = "16"; break;
					case "S08" : nDureeSejour = "17"; break;
					default    : nDureeSejour = "0"; 
				}
				map.duree_sejour = nDureeSejour;
				var sBudget;
				
				switch (formMap.budget) 
				{
					case "" : sBudget = "0"; break;
					case "inf300" : sBudget = "4"; break; 
					case "inf450" : sBudget = "5"; break; 
					case "inf600" : sBudget = "6"; break; 
					case "inf750" : sBudget = "81"; break; 
					case "sup750" : sBudget = "82"; break; 
				}
				map.budget_max = sBudget;

				if(formMap.date_sejour)
				{ 
					var tab_jour_mois_annee = formMap.date_sejour.split("/");
					var depDay = tab_jour_mois_annee[0] ;
					var depMonth = tab_jour_mois_annee[1]-1 ;
					var depYear = tab_jour_mois_annee[2] ;
				}
				
				map.dep_day = depDay;
				map.dep_month = depMonth;
				map.dep_date = depYear + depMonth + depDay;
				map.destination = formMap.choix_pays.toLowerCase();
			}
		 }
	     if(this.name.match("hotels-form") && (valresult) ) 
		 {
			var appUrl = "";
		    var stayspartner = this.getSelectedPartner();
			
		   if(stayspartner == "hotel-club-partner") 
		   {
				var ville = formMap.nom_ville.toLowerCase();
				var nbVilles = tabVilles.length;
				var found = 0;
				var cityId = "";
				for (var i=0; i<nbVilles && found==0; i++) 
				{
					if (ville == tabVilles[i][1]) 
					{
					  cityId = tabVilles[i][0];
					  found = 1;
					}
				}
				
				var inDate = "";
				var outDate = "";
				
				if (formMap.date_depart && formMap.date_arrivee) 
				{ 
					var tab_jour_mois_annee = formMap.date_depart.split("/");
					var outDay =  tab_jour_mois_annee[0];
					var outMonth =  tab_jour_mois_annee[1];
					var outYear = tab_jour_mois_annee[2];
				 
					tab_jour_mois_annee = formMap.date_arrivee.split("/");
				 	var inDay = tab_jour_mois_annee[0];
					var inMonth = tab_jour_mois_annee[1];
					var inYear = tab_jour_mois_annee[2];
				}
				map.formType = "POST";
				
				if(found) {
				 appUrl="http://www.hotelclub.net/searchresults.asp?id="+cityId+"&lc=FR&curr=EUR&ru=54527&inDay="+inDay+"&inMonth="+inMonth+"&inYear="+inYear+"&outDay="+outDay+"&outMonth="+outMonth+"&outYear="+outYear;
				} else {
				 map.errorUrl = "http://www.hotelclub.net/sitegen/link.asp?default.asp?lc=FR";
				 appUrl = "http://www.hotelclub.net/sitegen/link.asp?default.asp?lc=FR";
				}
				map.formAction = appUrl;
		   }
   
		   if(stayspartner == "last-minute-hotel-partner") 
		   {
				var ville  = formMap.nom_ville.toLowerCase();
				var lmnLocation = ville;
				//map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032551|1|16|AdId=1448413;BnId=1;link=";
				map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032582|1|16|AdId=1359553;BnId=1;link=";
				if (formMap.date_depart && formMap.date_arrivee) 
				{  
					var tab_jour_mois_annee = formMap.date_depart.split("/");
					var lmnCheckOutDay =  tab_jour_mois_annee[0];
					var lmnCheckOutMonth =  tab_jour_mois_annee[1];
				 
					tab_jour_mois_annee = formMap.date_arrivee.split("/");
					var lmnCheckInDay  = tab_jour_mois_annee[0];
					var lmnCheckInMonth  = tab_jour_mois_annee[1];
				}
				map.formType = "GET";
				map.formAction = "http://www.fr.lastminute.com/lmn/hotels/search.jhtml";
				map.lmnLocation=lmnLocation;
				map.lmnCheckInDay=lmnCheckInDay;
				map.lmnCheckInMonth=lmnCheckInMonth;
				map.lmnCheckOutMonth=lmnCheckOutMonth;
				map.lmnCheckOutDay=lmnCheckOutDay;
				map.siteid="40854639";
				map.bfpage="moteur_hotels";
				map.bfmid="37920955";
				map.partnerId="21489";
				map.lmnResultsOnMap="false";
				map.debugSearch="false";
				map.searchType="criteria";
				map.lmnRooms="1";
				map.lmnAdultsRoom1="2";
				map.lmnChildrenRoom1="0";
				map.lmnAnyStar="on";
				map.returnURL="http://www.fr.lastminute.com/lmn/pso/catalog/Category.jhtml";
				map.preserveName_partnerId="21489";
				map.preserveName_CATID="287";
		   }
 
		   if (stayspartner == "rate-to-go-hotel-partner") 
		   {
			var ville = formMap.nom_ville.toLowerCase();
			var inDate = "";
			var outDate = "";
			//map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032578|1|16|AdId=1261392;BnId=1;link=";
			map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032582|1|16|AdId=1261365;BnId=1;link=";
			if (formMap.date_depart && formMap.date_arrivee) 
			{
				 var tab_jour_mois_annee = formMap.date_depart.split("/");
				 outDate = tab_jour_mois_annee[2] + "-" + tab_jour_mois_annee[1] +"-" +tab_jour_mois_annee[0]; 
						 
				 tab_jour_mois_annee = formMap.date_arrivee.split("/");
				 inDate = tab_jour_mois_annee[2] + "-" + tab_jour_mois_annee[1] + "-" +tab_jour_mois_annee[0]; 
		 	}
			map.formType = "POST";
			var appUrl="http://www.ratestogo.com/searchresults.asp?curr=EUR&lc=FR&city="+ville+"&inDate="+inDate+"&outDate="+outDate;
			map.formAction = appUrl;
			
		   }
		}
		if(this.name.match("custom-travel-form") && (valresult) ) 
		{
			map.trackingUrl = "http://adserver.aol.fr/?adlink|3.0|516|1032275|1|16|AdId=1832599;BnId=1;link=";
            var default_url = "http://www.fr.lastminute.com/site/voyages/voyage-sur-mesure/interstitial_page.html";
			var postfix_url = "?skin=frfr.lastminute.com&mondial_auto=1&ROOM_1_S=0&DPSRT=FA&DPNOC=2&DPNOA=5&locale=fr_FR&DPNOI=4&DPLOC=fr_FR&DPNOS=0&CLIENT_ID=&DPHSI=0&"+
									"ROOM_3_S=0&DPXCP=F&DPFSI=0&DPCID=0&DPXAL=F&DPTRT=&DPSFT=&DPXTR=F&DPXCH=F&DPXMG=F&ROOM_2_S=0&DPHEI=9&"+
									"failureURL=http%3A%2F%2Fwww.fr.lastminute.com%2Fsite%2Ftravel%2Fpackaging%2Ferror_packaging.html&DPDAP=PAR&DPXIN=T&DPCLS=X&DPPID=21488&DPFEI=9&"+
									"ERROR=dpfsm_param_date_330_days%3A+Should+be+no+more+than+330+days+in+the+future%3A+parameter+%22DPODD%22+%28%222009%2F07%2F23%22%29+&TRANS=ViewTransportationAndHotelSearchBox%2CSearchForTransportationAndHotel"+
									"&DPIDT=0500&DPFIT=&DPODT=0500&DPAIR=NONE&DPSAC=DP4&sourceRUID=AnGycQqoTFMAADe0zJsAABAA";
			var url=default_url+postfix_url;
			var appUrl = url;
			var stayspartner = this.getSelectedPartner();

			map.formType = "GET";
			map.formAction = "http://www.fr.lastminute.com/site/voyages/voyage-sur-mesure/interstitial_page.html";
				
			map.DPPID = "21488";
			map.partnerId = "21488";
			map.skin = "frfr.lastminute.com";
			map.DPSAC = "DP4";
			map.DPDCC = "EUR";
			map.DPCID = "0";
			map.DPFIT = "";
			map.DPSRT = "FA";
			map.DPHSI = "0";
			map.DPHEI = "9";
			map.DPFSI = "0";
			map.DPNOS = "0";
			map.DPFEI = "9";
			map.DPSFT = "";
			map.DPLOC = "fr_FR";
			map.DPTRT = "";
			map.DPXIN = "T";
			map.DPXCH = "F";
			map.DPXTR = "F";
			map.DPXCP = "F";
			map.DPXAL = "F";
			map.DPXMG = "F";
			map.ROOM_1_S = "0";
			map.ROOM_2_S = "0";
			map.ROOM_3_S = "0";
			map.mondial_auto = "1";
			map.failureURL = "http://www.fr.lastminute.com/site/travel/packaging/error_packaging.html";
			map.successURL = "/travel/packaging/choose-hotel.html";
			map.DPCLS = "X";
			map.DPAIR = "NONE";
			map.CATEGORY = "dp";
			map.searchType = "basic";
			for (key in formMap)
			{
				if(key != "submitvolsButton" && key != "custom-travel-form-partner")
				{
					if(key == "date_aller" || key == "date_retour") 
					{
						var dateInput = formMap[key].split('/'); 
						if(key == "date_aller")
						{
						    appUrl = appUrl+"&date_out_day="+dateInput[0]+"&date_out_month="+dateInput[1];
						    map['date_out_day'] = dateInput[0]; map['date_out_month'] = dateInput[1];
						}
						else 
						{
							appUrl = appUrl+"&date_in_day="+dateInput[0]+"&date_in_month="+dateInput[1];
							map['date_in_day'] = dateInput[0]; map['date_in_month'] = dateInput[1];
						}
					}
					else if(key == "ville_depart")
					{
					    appUrl = appUrl+"&DPDAP="+ lvEscapadesFrom[formMap.ville_depart];
					    map.DPDAP = lvEscapadesFrom[formMap.ville_depart];
					}
					else if(key == "ville_arrivee")
					{
					    appUrl = appUrl+"&DPAAP="+ lvEscapadesDestination[formMap.ville_arrivee];
					    map.DPAAP = lvEscapadesDestination[formMap.ville_arrivee];
					}
					else if(key == "nb_adultes")
					{
					    appUrl = appUrl+"&DPNOA="+ formMap[key];
					    map.DPNOA = formMap[key];
					}
					else if(key == "nb_enfants")
					{
					    appUrl = appUrl+"&DPNOI="+ formMap[key];
					    map.DPNOI = formMap[key];
					}
					else if(key == "nb_bebes")
					{
					    appUrl = appUrl+"&DPNOC="+ formMap[key];
					    map.DPNOC = formMap[key];
					}
					else if(key == "horaire_retour")
					{
					    appUrl = appUrl+"&DPODT="+ formMap[key];
					    map.DPODT = formMap[key];
					}
					else if(key == "horaire_aller")
					{
					    appUrl = appUrl+"&DPIDT="+ formMap[key];
					    map.DPIDT = formMap[key];
					}
					else
					{
					    appUrl = appUrl+"&"+ key + "="+ formMap[key];
					    map[key] = formMap[key];
					}
				}
			}
		 }
		this.getSubmitCallback1(map);
		return false;
    } 
    catch (ex) {
        console.error("Error when sending form : break !");
        console.error("Error "+ex.number+" : "+ex.description);
        return false;
    }
}

TravelForm.prototype.Validation = function(formMap)
{ 
	if(this.name.match("flight-form")) 
	{
		if(formMap.departAller == null || formMap.departAller == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de ville de départ."; 
			return false;
		}
		if(formMap.arriveeAller == null || formMap.arriveeAller == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de ville d'arrivée."; 
			return false;
		}
		if( (formMap.date_aller)||(formMap.date_retour) )
		{
			if(formMap.date_aller)
			{
				tabdepart=formMap.date_aller.split("/");
				if(tabdepart.length!=3 || DateNotValid(tabdepart[0],tabdepart[1],tabdepart[2]))
				{
					this.errorMessage = "Veuillez entrer une date d'arrivée valide."; 
					return false;
				}

			}
			if(formMap.date_retour)
			{
				tabretour=formMap.date_retour.split("/");
				if(tabretour.length!=3 || DateNotValid(tabretour[0],tabretour[1],tabretour[2]))
				{
					this.errorMessage = "Veuillez entrer une date de départ valide."; 
					return false;				
				}
			}
			
			if(getDateObject(formMap.date_aller,"/") > getDateObject(formMap.date_retour,"/"))
			{
				this.errorMessage = "La date de retour ne peut preceder la date de départ."; 
				return false;
			}

			var maintenant=new Date();
			var anneeActu=maintenant.getFullYear();
			var moisActu=maintenant.getMonth();
			//before funture one year date validation
			if((tabdepart[2]>anneeActu+1)||( (tabdepart[2]==anneeActu+1)&&(moisActu<tabdepart[1]) ) )
			{
				this.errorMessage = "Veuillez entrer une date de départ antérieure."; 
				return false;
			}	
		}
		else {
			this.errorMessage = "Veuillez entrer une date d'départ / arrivée valide."; 
			return false;
		}
		return true;
	}

	if(this.name.match("custom-travel-form")) 
	{

		if(formMap.ville_depart == null || formMap.ville_depart == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de ville de départ."; 
			return false;
		}
		if(formMap.ville_arrivee == null || formMap.ville_arrivee == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de ville d'arrivée."; 
			return false;
		}

		if( (formMap.date_aller)||(formMap.date_retour) )
		{
			if(formMap.date_aller)
			{
				tabdepart=formMap.date_aller.split("/");
				if(tabdepart.length!=3 || DateNotValid(tabdepart[0],tabdepart[1],tabdepart[2]))
				{
					this.errorMessage = "Veuillez entrer une date d'arrivée valide."; 
					return false;
				}
			}
			if(formMap.date_retour)
			{
				tabretour=formMap.date_retour.split("/");
				if(tabretour.length!=3 || DateNotValid(tabretour[0],tabretour[1],tabretour[2]))
				{
					this.errorMessage = "Veuillez entrer une date de départ valide."; 
					return false;				
				}
			} 
			if(getDateObject(formMap.date_aller,"/") > getDateObject(formMap.date_retour,"/"))
			{
				this.errorMessage = "La date de retour ne peut preceder la date de départ."; 
				return false;
			}
			
			var maintenant=new Date();
			var anneeActu=maintenant.getFullYear();
			var moisActu=maintenant.getMonth();
			//before funture one year date validation
			if((tabdepart[2]>anneeActu+1)||( (tabdepart[2]==anneeActu+1)&&(moisActu<tabdepart[1]) ) )
			{
				this.errorMessage = "Veuillez entrer une date de départ antérieure."; 
				return false;
			}		
		}
		else 
		{
			this.errorMessage = "Veuillez entrer une date d'départ / arrivée valide."; 
			return false;
		}
		return true;
	}
	if(this.name.match("cars-form")) 
	{ 
		
		
		return true;
	}
	if(this.name.match("stays-form")) 
	{ 
		var stayspartner = this.getSelectedPartner();
		if(stayspartner == null || stayspartner == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de Voyagiste."; 
			return false;
		}
		if(formMap.choix_pays == null || formMap.choix_pays == "null"|| formMap.choix_pays == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de destination"; 
			return false;
		}
		if(formMap.date_sejour){
			var tabdepart = formMap.date_sejour.split("/");
			if(tabdepart.length!=3 || DateNotValid(tabdepart[0],tabdepart[1],tabdepart[2]))
			{
				this.errorMessage = "Veuillez entrer une date de départ valide."; 
				return false;
			}
		}
		return true;
	}
	if(this.name.match("hotels-form"))
	{
		var stayspartner = this.getSelectedPartner();
		if(formMap.nom_pays == null || formMap.nom_pays == "null" || formMap.nom_pays == "")
		{
			this.errorMessage = "Choisissez le pays."; 
			return false;
		}
		if(stayspartner == null || formMap.nom_ville == "null" || stayspartner == "")
		{
			this.errorMessage = "Vous n'avez pas choisi de Voyagiste."; 
			return false;
		}		
		
		if(formMap.nom_ville == null || formMap.nom_ville == "null" || formMap.nom_ville == "")
		{
			this.errorMessage = "Vous n'avez pas indiquée de ville "; 
			return false;
		}
		if( (formMap.date_arrivee)||(formMap.date_depart) )
		{
			if(formMap.date_arrivee)
			{
				tabdepart=formMap.date_arrivee.split("/");
				if(tabdepart.length!=3 || DateNotValid(tabdepart[0],tabdepart[1],tabdepart[2]))
				{
					this.errorMessage = "Veuillez entrer une date d'arrivée valide."; 
					return false;
				}
			}
			if(formMap.date_depart)
			{
				tabretour=formMap.date_depart.split("/");
				if(tabretour.length!=3 || DateNotValid(tabretour[0],tabretour[1],tabretour[2]))
				{
					this.errorMessage = "Veuillez entrer une date de départ valide."; 
					return false;				
				}
			} 
			if(getDateObject(formMap.date_depart,"/") < getDateObject(formMap.date_arrivee,"/"))
			{
				this.errorMessage = "La date de retour ne peut preceder la date de départ."; 
				return false;
			}
			 // Si RatesToGo vÃ©rification que la date de retour soit infÃ©rieure Ã   21 jours de la date du jour.
			
		}
		else 
		{
			this.errorMessage = "La date de d'arrivée / de départ doit être indiquée ."; 
			return false;
		}
		return true;
	}
	return false;	
}
TravelForm.prototype.getSubmitCallback1 = function(map)
{ 
	var _this = this; 
	//LoadIndicator.remove();
	if (map['errorUrl'] == null && map['errorMessage'] == null) 
	{
		try {
				callTracking(map.trackingUrl+context+trackingUrl);
			} 
			catch (e) {
				console.error(e);
			}
		var uForm = document.getElementById('usefull-form');
		uForm.action = map.formAction;
		uForm.method = 'post';
		uForm.innerHTML = "";
		for (key in map) 
		{
			if (key != "formAction" && key != "formType" && key != "trackingUrl") 
			{
				uForm.innerHTML += '<input type="hidden" name="' + key + '" value="' + map[key] + '" />\n';
			}
		}
		console.log("Sending form : ");
		console.log(uForm);
		try 
		{
			uForm.submit();
		} 
		catch (e) 
		{
			alert("Firefox a empêché ce site d'ouvrir une fenêtre popup. Veuillez activer les popup pour cette page puis relancer la recherche.");					
		}		
	}
	else 
		if (map['errorMessage'] == null) 
		{
			window.open(map['errorUrl'], "_blank");
		}
		else 
		{
			var errBox = document.getElementById('warn-message-' + _this.name);
			if (errBox) 
			{
				errBox.innerHTML = map['errorMessage'];
				blinkDiv('warn-message-' + _this.name)
			}
			else 
				alert(map['errorMessage']);
				return false;
		}
}
TravelForm.prototype.getSubmitCallback = function(){
	var _this = this; 
	return function(map){
		console.log("Reciving form data to submit : ");
		console.log(map);
		LoadIndicator.remove();
		if (map['errorUrl'] == null && map['errorMessage'] == null) {
		
			// Tracking
			try {
				callTracking(map.trackingUrl+context+trackingUrl);
			} 
			catch (e) {
				console.error(e);
			}
			
				
				var uForm = document.getElementById('usefull-form');
				uForm.action = map.formAction;
				uForm.method = 'post';
				uForm.innerHTML = "";
				uForm.target = ('aol_search_result');
				for (key in map) {

					if (key != "formAction" && key != "formType" && key != "trackingUrl") {
						uForm.innerHTML += '<input type="hidden" name="' + key + '" value="' + map[key] + '" />\n';
					}
				}
				console.log("Sending form : ");
				console.log(uForm);
				
		
				try {
					uForm.submit();
				} catch (e) {
					alert("Firefox a empêché ce site d'ouvrir une fenêtre popup. Veuillez activer les popup pour cette page puis relancer la recherche.");					
				}
		
		}
		else 
			if (map['errorMessage'] == null) {
				window.open(map['errorUrl'], "_blank");
			}
			else {
				var errBox = document.getElementById('warn-message-' + _this.name);
				if (errBox) {
					errBox.innerHTML = map['errorMessage'];
					blinkDiv('warn-message-' + _this.name)
				}
				else 
					alert(map['errorMessage']);
				return false;
			}
	}
}

TravelForm.prototype.selectPartner = function(selected){
    if (selected) {
    	document.getElementById("partner-warn-"+this.name).style.display = "none";
        if (this.getSelectedPartner() != "none") {
            for (var i = 0; i < this.comboBox.length; i++) {
                this.comboBox[i].update();
            }
            for (var i = 0; i < this.autoComplete.length; i++) {
                this.autoComplete[i].refreshParams();
            }
        }
    }
}





function getDateObject(dateString,dateSeperator)
{
	var curValue=dateString;
	var sepChar=dateSeperator;
	var curPos=0;
	var cDate,cMonth,cYear;

	curPos=dateString.indexOf(sepChar);
	cDate=dateString.substring(0,curPos);
			
	endPos=dateString.indexOf(sepChar,curPos+1);
	
	cMonth=dateString.substring(curPos+1,endPos);
			
	curPos=endPos;
	endPos=curPos+5;			
	cYear=curValue.substring(curPos+1,endPos);
	
	dtObject=new Date(cYear,cMonth-1,cDate);	
	
	return dtObject;
}





if (console == null) 
    var console = {
        log: function(){
        },
        error: function(){
        }
    }
console.log(console);

function selectRadio(id){
    var rb = document.getElementById(id);
    if (rb) {
        rb.checked = true;
		var tf = rb.form.travelForm;
		if(tf != null) tf.selectPartner(true); 
    }
}



Array.prototype.contains = function contains(value){
    for (var i = 0; i < this.length; i++) {
        if (this[i] == value) 
            return true;
    }
    return false;
}



function selectSearchTab(formName){
    for (var i = 0; i < TravelForms.length; i++) {
        if (TravelForms[i].name == formName) {
            TravelForms[i].getDiv().style.display = "";
			if (TravelForms[i].getTab().className.indexOf('tab_border') == -1) {
				TravelForms[i].getTab().className = "on";
			} else {
				TravelForms[i].getTab().className = "on tab_border";
			}
        }
        else {
            TravelForms[i].getDiv().style.display = "none";
            if (TravelForms[i].getTab().className.indexOf('tab_border') == -1) {
				TravelForms[i].getTab().className = "off";
			} else {
				TravelForms[i].getTab().className = "off tab_border";
			}
        }
    }
}

function callTracking(url,ok){ 
	console.log("Tracking :"+url);
	if(ok)
		document.getElementById('usefull-frame').src = url;
	else
		setTimeout("callTracking('"+url+"',true)",1);
}

function getTravelFormByName(name){
    for (var i = 0; i < TravelForms.length; i++) {
        if (TravelForms[i].name == name) 
            return TravelForms[i];
    }
    throw "NoSuchTravelForm";
}

var LoadIndicator = {
	loading:0,
	getPicto: function(){
		return document.getElementById('loading_div');
	},
	add:function(){
		this.loading++;
		this.getPicto().style.display='block';
		console.log("Start loading ...");
	},
	remove:function() {
		this.loading--;
		if(this.loading <1){
			this.loading = 0;
			this.getPicto().style.display='none';
			console.log(".. loading ended !");
		}
	}
}

function blinkDiv(divId,n){
	if(n == null) n=1;
	var elt = document.getElementById(divId);
	if(elt != null){
		elt.style.display = "block";
		if (n % 2 == 1) {
			elt.style.visibility = "visible";
		} else {
			elt.style.visibility = "hidden";			
		}
		n++;
		if (n < 8) {
			setTimeout("blinkDiv('"+divId+"',"+n+")", 100);
		}
	}
}

function getFieldValue(field) {
	if (field) {
		if (field.type == 'checkbox') {
			return (field.checked);
		}
		else 
			if (field.type == 'radio' && field.length != null) {
				for(var i=0;i<field.length;i++){
					if(field[i].checked){
						return field[i].value;
					}
				}
			}
			else {
				return field.value;
			}
	}
	return null;
}


//Gestion des liste deroulantes
var TravelComboBox = function(formName, name, dependencies){
    this.travelForm = getTravelFormByName(formName);
    this.name = name;
    this.dependencies = (dependencies != null ? dependencies : []);
    this.dependencyMap = [];
    for (var i = 0; i < this.dependencies.length; i++) {
        this.dependencyMap[this.dependencies[i]] = null;
    }
    this.travelForm.comboBox.push(this);   //alert('Combo : '+ name +'---'+  this.name);
}
TravelComboBox.prototype.getCombo = function(){
    if (this.combo == null) {
        this.combo = document.getElementById("select-" + this.travelForm.name + "-" + this.name);
    }
    return this.combo;
}
TravelComboBox.prototype.getValue = function(){
    return this.getCombo().value;
}
TravelComboBox.prototype.update = function(propertyChangeInput){
	if (propertyChangeInput) {
		this.dependencyMap[propertyChangeInput.name] = propertyChangeInput.value;
	}

	var args = {};
	
	var j=0;
    for (var i = 0; i < this.dependencies.length; i++) {
		var key = this.dependencies[i];
		var val = this.dependencyMap[key];
		if (val != "" && val != null && val != "null") { 
			args[key] = val;
		}
    }
	
    var selectedPartner = this.travelForm.getSelectedPartner(); //alert(selectedPartner);
	//LoadIndicator.add();
    //SearchListService.getListValues(this.travelForm.name, this.name, args, selectedPartner, this.getUpdateCallback());
	this.getListValues(args);
}
// added by me 
TravelComboBox.prototype.getListValues = function(args){
	
	var selectedPartner = this.travelForm.getSelectedPartner();
	var elements = {}; 
	if(this.travelForm.name == 'hotels-form') {
		if(this.name == 'nom_pays') {
			if(selectedPartner  == 'rate-to-go-hotel-partner'){				
				elements = rate_hotels;
				this.getUpdateCallback(elements);
			}
			else if((selectedPartner  == 'last-minute-hotel-partner')||(selectedPartner  == 'hotel-club-partner'))
			{
				elements = last__hotelclub_hotels;
				this.getUpdateCallback(elements);
			} 
		} 
		
	}

   /* var selectedPartner = this.travelForm.getSelectedPartner();alert(selectedPartner);
	//LoadIndicator.add();
    SearchListService.getListValues(this.travelForm.name, this.name, args, selectedPartner, this.getUpdateCallback());*/
}

//update with with argument elements by me 5/27/2008
TravelComboBox.prototype.getUpdateCallback = function(elements){
    var combo = this.getCombo();
    var tvlComboBox = this;
    //return function(elements){
        console.log("Combobox update callback :" + elements.length + " elements");
        var currentVal = combo.value;
		var nullOption = combo.options[0];
		combo.clear();
        while (combo.length>1) {
            combo.remove(1);
        }
		combo.options[0] = nullOption;
        combo.selectedIndex = 0;
        var doNotify = true;
        for (var i = 0; i < elements.length; i++) {
            if (elements[i] == currentVal) {
                combo.options[i + 1] = new Option(elements[i], elements[i], false, true);
                doNotify = false;
            }
            else {
                combo.options[i + 1] = new Option(elements[i], elements[i], false, false);
            }
        }
        if (doNotify) {
            tvlComboBox.travelForm.notify(combo); //notify that the field value was modified
        }
		//LoadIndicator.remove();
    //}
}

TravelComboBox.prototype.checkDependency = function(elt, noAlert){
    for (var i = 0; i < this.dependencies.length; i++) {
        if (this.dependencyMap[this.dependencies[i]] == null ||
        this.dependencyMap[this.dependencies[i]] == "null" ||
        this.dependencyMap[this.dependencies[i]] == "") {
            if (elt) 
                elt.blur();
            if (!noAlert) 
                alert(this.resolveDependencyMessage);
            return false;
        }
    }
    return true;
}


TravelComboBox.prototype.autoResolveDependencies = function() {
	for(var i=0;i<this.dependencies.length;i++){
		if (this.dependencyMap[this.dependencies[i]] == null ||
        this.dependencyMap[this.dependencies[i]] == "null" ||
        this.dependencyMap[this.dependencies[i]] == ""){
			var lst = this.travelForm.findList(this.dependencies[i]);
			if(lst != null){
				lst.tryToResolve(this.name,this.getCombo().value)
			}
		}
	}
}

TravelComboBox.prototype.tryToResolve = function(fieldName,value){
	console.log("Resolving "+fieldName+"'s dependency on "+this.name);
	var form = this.travelForm.getForm();
    var args = {};
	args[fieldName] = value;
    var selectedPartner = this.travelForm.getSelectedPartner();
	//LoadIndicator.add();
    //SearchListService.getListValues(this.travelForm.name, this.name, args, selectedPartner, this.getResolveCallback());
}

TravelComboBox.prototype.getResolveCallback = function(){
	var _this = this;
	 var combo = this.getCombo();
	return function(arg){
		if (arg.length > 0) {
			for (var i = 0; i < arg.length; i++) {
				for(var j=1;j<combo.options.length;j++){
					if(combo.options[j].value == arg[i]){
						combo.selectedIndex = j;
						_this.travelForm.notify(combo); //notify that the field value was modified
						console.log("Dependency resolved : "+arg[i]);
						//LoadIndicator.remove();
						return true;
					}
				}
			}
		}
		console.log("Dependency not resolved !");
		//LoadIndicator.remove();
		return false;
	}
}




/***********  Genral *************/
function isInteger(s) {
	var i;
	if (s=="")
		return false;
	for(i=0;i<s.length;i++)	{			
		var c=s.charAt(i);
		if((c<"0")  ||  (c>"9"))
			return false;
	}
	return true;
}
// validite de la date
function DateNotValid(dayVal,monthVal,yearVal) {

	var error=0;
	if(!isInteger(dayVal)  ||  !isInteger(monthVal)  ||  !isInteger(yearVal)){error=1;}
	if(dayVal>31 || monthVal>12 || yearVal<2003 || dayVal<1 || monthVal<1){error=1;}
	if((monthVal==4) || (monthVal==6) || (monthVal==9) || (monthVal==11)) {
		//mois a 30 jours
		if(dayVal>30)error=1;
	}
	else if(monthVal==2) {
		// fevrier
		// annee bissextile
		if(((yearVal%4==0)  &&  (yearVal%100!=0)) || (yearVal%400==0)) {
			if(dayVal>29)error=1;
		} else if(dayVal>28)
			error=1;
	}
	if(error==1){return true;}else{return false;}
}

function getObject(objectId) {
	if(document.all && !document.getElementById)	{
		return document.all(objectId);
	} else if (document.getElementById) {
		return document.getElementById(objectId);
	}
	return null;
}


//sejours look voyage destination list
var lvPays = {
	"Acores":"166",
	"Afrique du sud":"6",
	"Algerie":"151",
	"Allemagne":"162",
	"Andalousie":"156",
	"Angleterre":"162",
	"Argentine":"8",
	"Australie":"32",
	"Autriche":"162",
	"Bahamas":"166",
	"Baleares":"215",
	"Bali":"19",
	"Belgique":"162",
	"Benin":"150",
	"Bhoutan":"160",
	"Birmanie":"28",
	"Bolivie":"159",
	"Botswana":"161",
	"Bresil":"9",
	"Bulgarie":"162",
	"Burkina Faso":"161",
	"Cambodge":"160",
	"Canada":"15",
	"Canaries":"156",
	"Cap Vert":"158",
	"Chili":"159",
	"Chine":"17",
	"Chypre":"143",
	"Corfou":"154",
	"Corse":"-",
	"Coree du Sud":"160",
	"Cote d'Ivoire":"161",
	"Crete":"153",
	"Croatie":"144",
	"Cuba":"45",
	"Danemark":"164",
	"Dubai":"186",
	"Ecosse":"164",
	"Egypte":"145",
	"Equateur":"259",
	"Espagne":"156",
	"Estonie":"164",
	"Etats-Unis":"16",
	"Ethiopie":"161",
	"Finlande":"38",
	"France":"-",
	"Grece":"146",
	"Ghana":"161",
	"Guadeloupe":"33",
	"Guatemala":"159",
	"Guyane Francaise":"166",
	"Hong-Kong":"160",
	"Hongrie":"162",
	"Ibiza":"156",
	"Ile de rhodes":"162",
	"Ile maurice":"25",
	"Inde":"18",
	"Indonesie":"19",
	"Iran":"189",
	"Irlande":"164",
	"Islande":"164",
	"Israel":"189",
	"Italie":"149",
	"Japon":"169",
	"Jersey":"162",
	"Jordanie":"186",
	"Kenya":"7",
	"Laos":"160",
	"Lettonie":"164",
	"Lituanie":"164",
	"Liban":"186",
	"Libye":"165",
	"Luxembourg":"-",
	"Madagascar":"161",
	"Madere":"165",
	"Malaisie":"160",
	"Maldives":"163",
	"Mali":"161",
	"Malte":"162",
	"Marie Galante":"-",
	"Maroc":"147",
	"Martinique":"24",
	"Maurice":"25",
	"Mauritanie":"161",
	"Mexique":"12",
	"Mongolie":"160",
	"Myanmar":"28",
	"Namibie":"7",
	"Nicaragua":"159",
	"Niger":"161",
	"Norvege":"164",
	"Nouvelle-Caledonie":"160",
	"Nouvelle-Zelande":"160",
	"Nepal":"160",
	"Oman":"186",
	"Ouzbekistan":"260",
	"Pakistan":"260",
	"Panama":"159",
	"Pays-Bas":"164",
	"Perou":"14",
	"Philippines":"160",
	"Pologne":"164",
	"Polynesie Francaise":"160",
	"Portugal":"162",
	"Republique Dominicaine":"46",
	"Republique Tcheque":"162",
	"Reunion":"25",
	"Roumanie":"162",
	"Russie":"164",
	"Saint Barthelemy":"141",
	"Saint Martin":"16",
	"Sardaigne":"162",
	"Senegal":"150",
	"Seychelles":"25",
	"Sicile":"149",
	"Singapour":"160",
	"Slovenie":"164",
	"Sri Lanka":"21",
	"Suede":"164",
	"Suisse":"162",
	"Syrie":"187",
	"Tahiti":"141",
	"Tanzanie":"7",
	"Thailande":"22",
	"Tibet":"160",
	"Togo":"150",
	"Tunisie":"151",
	"Turquie":"152",
	"Ukraine":"162",
	"Venezuela":"159",
	"Vietnam":"23",
	"Yemen":"186",
	"Zimbabwe":"159"
	};


// tableau libelle-pays pour promovacances, code-pays pour Nouvelles frontieres, code-pays pour LastMinute
var sPays = new Array(["Acores","-"],["Afrique du sud","-"],["Algerie","-"],["Allemagne","591"],["Andalousie","-"],["Angleterre","-"],
["Argentine","-"],["Australie","-"],["Autriche","631"],["Bahamas","-"],["Baleares","718"],["Bali","-"],["Belgique","-"],["Benin","-"],
["Bhoutan","-"],["Birmanie","-"],["Bolivie","-"],["Botswana","-"],["Bresil","-"],["Bulgarie","624"],["Burkina Faso","-"],["Cambodge","-"],
["Canada","610"],["Canaries","717"],["Cap Vert","-"],["Chili","-"],["Chine","-"],["Chypre","593"],["Corfou","-"],["Corse","736"],
["Coree du Sud","-"],["Costa rica","-"],["Cote d'Ivoire","-"],["Crete","734"],["Croatie","672"],["Cuba","596"],["Danemark","-"],["Dubai","-"],
["Ecosse","-"],["Egypte","531"],["Equateur","-"],["Espagne","528"],["Estonie","-"],["Etats-Unis","-"],["Ethiopie","-"],
["Expeditions Africaines","-"],["Finlande","525"],["France","683"],["France sejours","683"],["France locations","683"],["Ghana","-"],
["Grande-Bretagne","-"],["Grece","537"],["Guadeloupe","725"],["Guatemala","-"],["Guernesey","-"],["Guyane Francaise","-"],["Hong-Kong","-"],
["Hongrie","-"],["Ibiza","-"],["Ile de rhodes","-"],["Ile maurice","508"],["Inde","-"],["Indonesie","551"],["Iran","-"],["Irlande","-"],
["Islande","546"],["Israel","-"],["Italie","544"],["Japon","-"],["Jersey","-"],["Jordanie","-"],["Kenya","557"],["Laos","-"],
["Lettonie","-"],["Lituanie","-"],["Liban","-"],["Libye","-"],["Luxembourg","-"],["Madagascar","503"],["Madere","742"],["Malaisie","701"],
["Maldives","502"],["Mali","-"],["Malte","515"],["Marie Galante","741"],["Maroc","506"],["Martinique","740"],["Maurice","508"],
["Mauritanie","-"],["Mexique","501"],["Mongolie","-"],["Myanmar","-"],["Namibie","-"],["Nicaragua","-"],["Niger","-"],["Norvege","-"],
["Nouvelle-Caledonie","-"],["Nouvelle-Zelande","-"],["Nepal","-"],["Oman","-"],["Ouzbekistan","-"],["Pakistan","-"],["Panama","-"],
["Pays-Bas","-"],["Perou","-"],["Philippines","-"],["Pologne","-"],["Polynesie Francaise","731"],["Portugal","581"],
["Republique Dominicaine","686"],["Republique Tcheque","-"],["Reunion","730"],["Roumanie","-"],["Russie","-"],["Saint Barthelemy","715"],
["Saint Martin","714"],["Sardaigne","729"],["Senegal","572"],["Seychelles","659"],["Sicile","728"],["Singapour","-"],["Slovenie","561"],
["Sri Lanka","704"],["Suede","-"],["Suisse","608"],["Syrie","-"],["Tahiti","-"],["Tanzanie","-"],["Thailande","654"],["Tibet","-"],
["Togo","-"],["Tunisie","649"],["Turquie","648"],["Ukraine","-"],["Venezuela","-"],["Vietnam","-"],["Yemen","-"],["Zimbabwe","-"]);

function getIDofsPays(name)
{   
	name =  name.toLowerCase();
	var nLengthTab = sPays.length; 	
	for(var i=0; i<nLengthTab; i++)
	{	pays = sPays[i][0].toLowerCase();
		if(pays == name) 
		{		
			return sPays[i][1];
		}
	}

	return "-";
}



