function MappingFlying() {}

MappingFlying.prototype.ParamsMerchants = {

    tradedoubler : {

        url : 'http://hstes.tradedoubler.com/file/46544/results.html?',

        urlMerchant : '',

        pathSeparator : '',

        params : { // problème d'accent sur terminal A ex : fès

            provenance : function () { return clsMappingFlying.Checking.elements.flying_origin(); }, /* PAR */

            destination : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            jourdep : function () { return clsMappingFlying.Checking.elements.flying_originDay(); },

            moisdep : function () { return clsMappingFlying.Checking.elements.flying_originMonth(); },

            anneedep : function () { return clsMappingFlying.Checking.elements.flying_originYear(); },

            jouret : function () { return clsMappingFlying.Checking.elements.flying_destinationDay(); },

            moisret : function () { return clsMappingFlying.Checking.elements.flying_destinationMonth(); },

            anneeret : function () { return clsMappingFlying.Checking.elements.flying_destinationYear(); },

            nbradult : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            nbrkid : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            nbrbaby : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

        }

    },





	ebookers : {

		url:"http://clk.tradedoubler.com/click?p=463&a=1157571&g=175317&url=",

		urlMerchant:"http://www.ebookers.fr/partner/offsitesearch?type=air&returnspan=Anytime&departspan=Anytime&country=FR",

		pathSeparator:"",

		params:{

			origin:function(){return clsMappingFlying.Checking.elements.flying_origin()},

			dest:function(){return clsMappingFlying.Checking.elements.flying_destination()},

			departdate:function(){

				return clsMappingFlying.Checking.elements.flying_originYear()+'-'+clsMappingFlying.Checking.elements.flying_originMonth()+'-'+clsMappingFlying.Checking.elements.flying_originDay()

			},

			returndate:function(){

				return clsMappingFlying.Checking.elements.flying_destinationYear()+'-'+clsMappingFlying.Checking.elements.flying_destinationMonth()+'-'+clsMappingFlying.Checking.elements.flying_destinationDay()

			},

			adults:function(){

				return clsMappingFlying.Checking.elements.flying_adult()

			}



		}



	},



     govoyage : {

        url : 'http://tracking.publicidees.com/clic.php?progid=515&partid=11841&promoid=0&url=',

        urlMerchant : 'http://eulerian.govoyages.com/dynclick/govoyages/?etf-name=Flux%20pi%20-%20Vol&etf-prdref=VOL&ref=2007061303&eurl=http://www.advences.com/mirror/listevols.cfm&langue=fr&TypeClasse=0&AllRet=oui',

        pathSeparator : '',

        params : { 

            vildep : function () { return clsMappingFlying.Checking.elements.flying_origin(); }, /* PAR */

            Vilarr : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            DatDep : function () { return clsMappingFlying.Checking.elements.flying_originDay()+clsMappingFlying.Checking.elements.flying_originMonth()+clsMappingFlying.Checking.elements.flying_originYear().substring(2,4); },

            DatArr : function () { return clsMappingFlying.Checking.elements.flying_destinationDay()+clsMappingFlying.Checking.elements.flying_destinationMonth()+clsMappingFlying.Checking.elements.flying_destinationYear().substring(2,4); },

            Adultes : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            ENFANTS : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            BEBES : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

        }

    },



     corsairfly : {

        url : 'http://eulerian.corsairfly.com/dynclick/corsairfly/?etf-name=MonNuage%20%2D%20Flux%20Vol&etf-prdref=CODE_IATA&eurl=http://clk.tradedoubler.com/click?p=63885&a=1431311&g=17134126&url=http://www.corsairfly.com',

        urlMerchant : '',

        pathSeparator : '',

        params : {

	    'flightSearch.departureCity' : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

	    'flightSearch.arrivalCity' : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

	    'flightSearch.departureDay' : function () { return clsMappingFlying.Checking.elements.flying_originDay(); },

	    'flightSearch.returnDay' : function () { return clsMappingFlying.Checking.elements.flying_destinationDay(); },

	    'flightSearch.departureMonth' : function () { return clsMappingFlying.Checking.elements.flying_originYear()+clsMappingFlying.Checking.elements.flying_originMonth(); },

	    'flightSearch.returnMonth' : function () { return clsMappingFlying.Checking.elements.flying_destinationYear()+clsMappingFlying.Checking.elements.flying_destinationMonth(); },

	    'flightSearch.numberOfChildren' : function () { return clsMappingFlying.Checking.elements.flying_child(); },

	    'flightSearch.numberOfAdults' : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

	    'flightSearch.numberOfBabies' : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

		 }

    },



     transavia : {

        url : 'http://clk.tradedoubler.com/click?p=28245&a=1431311&g=16415484&url=http://www.transavia.com/hv/fr-FR/accueil',

        urlMerchant : '',

        pathSeparator : '',

        params : {

			}

    },



     promovols : {

        url : 'http://tracking.publicidees.com/clic.php?partid=11841&progid=200&promoid=2483',

        urlMerchant : '',

        pathSeparator : '',

        params : {

//            dep : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

//            arr : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

//	     dep_dat : function () { return clsMappingFlying.Checking.elements.flying_originYear()+clsMappingFlying.Checking.elements.flying_originMonth()+clsMappingFlying.Checking.elements.flying_originDay(); },

//            ret_dat : function () { return clsMappingFlying.Checking.elements.flying_destinationYear()+clsMappingFlying.Checking.elements.flying_destinationMonth()+clsMappingFlying.Checking.elements.flying_destinationDay(); }, 

//	     adults : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

//            children : function () { return clsMappingFlying.Checking.elements.flying_child(); },

//            infant : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }   

	}

    },



     skyeurope : {

        url : 'http://clk.tradedoubler.com/click?p=60880&a=943517&g=0&url=',

        urlMerchant : 'http://booking1.skyeurope.com/Search.aspx?RadioButtonMarketStructure=RoundTrip&DropDownListMarketDateRange1=1|1&DropDownListMarketDateRange2=1|1&culture=fr-FR',

        pathSeparator : '',

        params : {

		DropDownListMarketOrigin1 : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

		DropDownListMarketDestination1 : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

		DropDownListMarketDay1 : function () { return clsMappingFlying.Checking.elements.flying_originDay(); },

		DropDownListMarketMonth1 : function () { return clsMappingFlying.Checking.elements.flying_originYear()+'-'+clsMappingFlying.Checking.elements.flying_originMonth(); },

		DropDownListMarketOrigin2 : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

		DropDownListMarketDestination2 : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

		DropDownListMarketDay2 : function () { return clsMappingFlying.Checking.elements.flying_destinationDay(); },

		DropDownListMarketMonth2 : function () { return clsMappingFlying.Checking.elements.flying_destinationYear()+'-'+clsMappingFlying.Checking.elements.flying_destinationMonth(); },

		DropDownListPassengerType_ADT : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

		DropDownListPassengerType_CHD : function () { return clsMappingFlying.Checking.elements.flying_child(); },

		DropDownListPassengerType_INFANT : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

	}

    },



     bravofly : {

        url : 'http://tracking.publicidees.com/clic.php?progid=436&partid=11841&promoid=0&url=',

        urlMerchant : 'http://www.bravofly.fr/vg1/searching.do?&utm_source=PublID&utm_medium=aff&COBRANDED=PUBLIDFR&url=search3.do',

        pathSeparator : '',

        params : {	

	     roundtrip : function () { return true; },

            departureAirport : function () { return clsMappingFlying.Checking.elements.flying_origin(); }, /* PAR */

            arrivalAirport : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

 	     outboundDay : function () { return clsMappingFlying.Checking.elements.flying_originDay(); },

	     returnDay : function () { return clsMappingFlying.Checking.elements.flying_destinationDay(); },

            outboundMonthYear : function () { return clsMappingFlying.Checking.elements.flying_originMonth()+clsMappingFlying.Checking.elements.flying_originYear(); },

            returnMonthYear : function () { return clsMappingFlying.Checking.elements.flying_destinationMonth()+clsMappingFlying.Checking.elements.flying_destinationYear(); },

            adults : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            childs : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            infants : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

        }

    },



     vivacances : {

        url : 'http://clic.reussissonsensemble.fr/click.asp?ref=345249&site=4388&diurl=',

        urlMerchant : 'http://www.e-vacances.fr/publicvac/jsp/planItGoMP/AirAvailabilityServlet?TRIP_TYPE=R',

        pathSeparator : '',

        params : {	

	     TRIP_TYPE : 'R',

            B_LOCATION_IN : function () { return clsMappingFlying.Checking.elements.flying_origin(); }, /* PAR */

            E_LOCATION_IN : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            D_DATE : function () { return clsMappingFlying.Checking.elements.flying_originYear()+clsMappingFlying.Checking.elements.flying_originMonth()+clsMappingFlying.Checking.elements.flying_originDay(); },

            R_DATE : function () { return clsMappingFlying.Checking.elements.flying_destinationYear()+clsMappingFlying.Checking.elements.flying_destinationMonth()+clsMappingFlying.Checking.elements.flying_destinationDay(); }

        }

    },



     vueling : {

        url : 'http://ad.zanox.com/ppc/?9175159C538047835T&ULP=[[',

        urlMerchant : 'http://www.vueling.com/skylights/cgi-bin/skylights.cgi?module=SB&page=FAREFINDER&m1DP=2&m1DO=2&m2DP=2&m2DO=2&nom=2&language=FR',

        pathSeparator : '',

        params : {	

            m1 : function () { return clsMappingFlying.Checking.elements.flying_originYear()+clsMappingFlying.Checking.elements.flying_originMonth()+'01'+clsMappingFlying.Checking.elements.flying_origin().toUpperCase()+clsMappingFlying.Checking.elements.flying_destination().toUpperCase(); }, /* PAR */

            m2 : function () { return clsMappingFlying.Checking.elements.flying_destinationYear()+clsMappingFlying.Checking.elements.flying_destinationMonth()+'01'+clsMappingFlying.Checking.elements.flying_destination().toUpperCase()+clsMappingFlying.Checking.elements.flying_origin().toUpperCase(); },

            ADULT : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            CHILD : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            INFANT : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

        }

    },



    edreams : {

        url : 'http://clkuk.tradedoubler.com/click?p=51020&a=943517',

        urlMerchant : '&url=http://www.edreams.fr/edreams/francais/tradedoubler/launchSearch2.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&utm_source=tradedoubler-FR' +

        '&utm_medium=affiliates' +

        '&masterPricerSearchNextPage=/edreams/shared/amadeus3/checkSearch.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&scheduleDrivenNextPage=/edreams/shared/amadeus3/checkSearch.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&lowFareSearchNextPage=/edreams/shared/amadeus3/checkSearch.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&specialOfferNextPage=/edreams/shared/amadeus3/checkSearch.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&errorPage=/edreams/francais/index.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&recoverPage=/edreams/francais/index.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&chooseAirport=/edreams/shared/amadeus3/chooseAirport.jhtml?' +

        'mktportal=tradedoubler-FR' +

        '&language=fr' +

        '&country=FR',

        pathSeparator : '',

        params : {

            trip : '1',

            childs : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            infants : function () { return clsMappingFlying.Checking.elements.flying_bebe(); },

            seniors : '0',

            students : '0',

            infantswithseats : '0',

            youths : '0',

            serviceSearch : '1',

            serviceclass : 'Y', /* ?? */

            preferedAirlineThree : '',

            preferedAirlineTwo : '',

            preferedAirlineOne : '',

            departureDate : '',

            returnDate : '',

            searchType : '1',

            returnTime : '0000',

            departureTime : '',

            departureTime : '0000',

            /*            clase : function () {

            var clase = clsMappingFlying.Checking.elements.flying_class();

            // Y1=Economique,C1=Affaire,F1=Première

            switch (clase)

            {

            case 'E': return 'Y1'; break;

            case 'A': return 'C1'; break;

            case 'F': return 'F1'; break;

            }

            },*/

            departureCity : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

            arrivalCity : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            depDate : function () {

                return clsMappingFlying.Checking.elements.flying_originDay() + "/" +

                clsMappingFlying.Checking.elements.flying_originMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_originYear();

            },

            retDate : function () {

                return clsMappingFlying.Checking.elements.flying_destinationDay() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationYear();

            },

            adults : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            tripType : '1'

        }

    },



    lastminute : {

        url : 'http://www.jdoqocy.com/click-3103372-10427236?url=', // 

        urlMerchant : 'http://www.fr.lastminute.com/site/voyages/billets-avion-vols/',

        pathSeparator : '',

        params : {/*

            id : 'CM4',

            journey : 'R',

            departurecity : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

            arrivalcity : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            departuredate : function () {

                return clsMappingFlying.Checking.elements.flying_originDay() + "/" + clsMappingFlying.Checking.elements.flying_originMonth() + "/" +clsMappingFlying.Checking.elements.flying_originYear();

            },

            returndate : function () {

                return clsMappingFlying.Checking.elements.flying_destinationDay() + "/" + clsMappingFlying.Checking.elements.flying_destinationMonth() + "/" +clsMappingFlying.Checking.elements.flying_destinationYear();

            },

            adults : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            children : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            partnerId : '2400409' //2400409*/

        }

    },



    termia : {

        url : 'http://clk.tradedoubler.com/click?p=35602&a=943517&url=', // 

        urlMerchant : 'http://web107.terminala.com/FlightStep1.aspx?CobrandedID=210&Cultura=fr-FR',

        pathSeparator : '',

        params : {/*

            id : 'CM4',

            journey : 'R',

            departurecity : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

            arrivalcity : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            departuredate : function () {

                return clsMappingFlying.Checking.elements.flying_originDay() + "/" + clsMappingFlying.Checking.elements.flying_originMonth() + "/" +clsMappingFlying.Checking.elements.flying_originYear();

            },

            returndate : function () {

                return clsMappingFlying.Checking.elements.flying_destinationDay() + "/" + clsMappingFlying.Checking.elements.flying_destinationMonth() + "/" +clsMappingFlying.Checking.elements.flying_destinationYear();

            },

            adults : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            children : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            partnerId : '2400409' //2400409*/

        }

    },



    voyagessncf : {

        url : 'http://ad.zanox.com/ppc/?6346316C192123845T&ULP=http://agence.voyages-sncf.com/pub/agent.dll?',

        urlMerchant : '',

        pathSeparator : '',

        params : {

            qscr : 'fexp',

            flag : 'q',

            city1 : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

            citd1 : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            date1 : function () {

                return clsMappingFlying.Checking.elements.flying_originDay() + "/" +

                clsMappingFlying.Checking.elements.flying_originMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_originYear();

            },

            date2 : function () {

                return clsMappingFlying.Checking.elements.flying_destinationDay() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationYear();

            },

            cAdu : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            cSen : '0',

            cChi : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            cInf : '',

            infs : '',

            tktt : '',

            ecrc : '',

            eccn : '',

            qryt : '8',

            load : '1'

        }

    },



    nouvellesfrontieres : {

        url : 'http://tracking.publicidees.com/clic.php?partid=11841&progid=936&promoid=0&url=http://eulerian.nouvelles-frontieres.fr/click/nf/SmMvxkqDL6S1a502afB.ouW_MhcTYZLvcEOmqreLbORK/?',

        urlMerchant : 'eurl=http://vols.nouvelles-frontieres.fr/Vols/vols.do?',

        pathSeparator : '',

        params : {

            modeVoyage : function () {

                if (clsMappingFlying.Checking.elements.flying_direct() !== false) {

                    return 'allerRetour';

                } else {

                    return 'aller';

                }

            },

            compagnie : '',

            flightServiceClass : '1', // 0=affaire 1=eco 2=première - ne fonctionne pas

            modeRecherche : 'avancee',

            rechercheImmediatement : 'oui',

            mandator : 'nff',

            villeDepart : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

            villeArrivee : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            adultes : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            dateDepart : function () {

                return clsMappingFlying.Checking.elements.flying_originDay() + "/" +

                clsMappingFlying.Checking.elements.flying_originMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_originYear();

            },

            enfants : function () { return clsMappingFlying.Checking.elements.flying_child(); },

            dateRetour : function () {

                return clsMappingFlying.Checking.elements.flying_destinationDay() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationYear();

            },

            bebes : function () { return clsMappingFlying.Checking.elements.flying_bebe(); }

        }

    },



    expedia : { /*'05%2F06%2F07' */

        url : 'http://www.anrdoezrs.net/click-3103372-10469369?url=',

        urlMerchant : 'http://www.expedia.fr/daily/controls/wizards/home/process_bun2.aspx?',

        pathSeparator : '',

        params : {

            fret : function () { return _$.String.replace_title(clsMappingFlying.Checking.elements.flying_destination()); },

            fdepdt : function () {

                return clsMappingFlying.Checking.elements.flying_originDay() + "%2F" +

                clsMappingFlying.Checking.elements.flying_originMonth() + "%2F" +

                clsMappingFlying.Checking.elements.flying_originYear().substr(2,2);

            },

            bunsrch : '1',

            tktt : '3', // clase, ne fontionne pas

            frettm : '361',

            rad1 : '1',

            fdeptm : '361',

            fretdt : function () {

                return clsMappingFlying.Checking.elements.flying_destinationDay() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationMonth() + "/" +

                clsMappingFlying.Checking.elements.flying_destinationYear().substr(2,2);

            },

            fdep : function () { return _$.String.replace_title(clsMappingFlying.Checking.elements.flying_origin()); },

            affcid : 'expe.FR.002.002..10463802.1657380.moteur',

            rch1 : '0',

            TYPE : 'R',

            COS : 'Y',

            DEP : function () { return _$.String.replace_title(clsMappingFlying.Checking.elements.flying_origin()); }, /* PAR */

            LARR : function () { return _$.String.replace_title(clsMappingFlying.Checking.elements.flying_destination()); },

            DAY_DATE : function () { return clsMappingFlying.Checking.elements.flying_originDay(); },

            MONTH_DATE : function () {

                return clsMappingFlying.Checking.elements.flying_originYear() + "" +

                clsMappingFlying.Checking.elements.flying_originMonth();

            },

            TIME : '0',

            DAY_RDATE : function () { return clsMappingFlying.Checking.elements.flying_destinationDay(); },

            MONTH_RDATE : function () {

                return clsMappingFlying.Checking.elements.flying_destinationYear() + "" +

                clsMappingFlying.Checking.elements.flying_destinationMonth();

            },

            RTIME : '0',

            PAX0 : '1',

            PAX1 : '0',

            PAX2 : '0'

        }

    },



    opodo : {

        url : 'http://clic.reussissonsensemble.fr/click.asp?ref=345249&site=4388&diurl=http://vols.opodo.fr/apps/jsp/opodo/affiliateLandingPage.jsp?',

        urlMerchant : '',

        pathSeparator : '',

        params : {

            searchType : 'flight',

            Locale : 'fr',

            performFlightSearch : 'TRUE',

            BE_QUICK_SEARCH_FLAG : 'true',

            BE_AIR_IS_FROM_SAVED : 'TRUE',

            HP_QUICKSEARCH_USED : 'TRUE',

            whereTo : 'undefined',

            D_Time : 'ANY',

            BE_AIR_R_Time : 'ANY',

            SEARCH_BY : '2',

            ARRANGE_BY : '2',

            availSubmit : '*',

            availSearchSubmit : '*',

            TripType : '2',

            /*            ClassOfService : function () {

            var clase = clsMappingFlying.Checking.elements.flying_class();alert(clase);

            // E=Economique,B=Affaire,F=Première

            switch (clase)

            {

            case 'E': return 'E'; break;

            case 'A': return 'B'; break;

            case 'F': return 'F'; break;

            }

            },*/

            ParamSet : '1',

            Prepop : 'N',

            CMP : 'fr-af-ge-345249',

            D_City : function () { return clsMappingFlying.Checking.elements.flying_origin(); },

            A_City : function () { return clsMappingFlying.Checking.elements.flying_destination(); },

            D_Day : function () { return clsMappingFlying.Checking.elements.flying_originDay(); },

            D_Month : function () {

                return clsMappingFlying.Checking.elements.flying_originYear() + "" +

                clsMappingFlying.Checking.elements.flying_originMonth();

            },

            R_Day : function () { return clsMappingFlying.Checking.elements.flying_destinationDay(); },

            R_Month : function () {

                return clsMappingFlying.Checking.elements.flying_destinationYear() + "" +

                clsMappingFlying.Checking.elements.flying_destinationMonth();

            },

            BE_AIR_NUM_OF_ADULTS : function () { return clsMappingFlying.Checking.elements.flying_adult(); },

            BE_AIR_NUM_OF_CHILDREN : function () { return clsMappingFlying.Checking.elements.flying_child(); }

        }

    }

};



MappingFlying.prototype.BuildMerchants={

	tradedoubler:function(D){

		_$.registry.set("merchant",D);

		var B=clsMappingFlying.ParamsMerchants.tradedoubler;

		var A="";

		switch(D){

			case"skyeurope":clsMappingFlying.ParamsMerchants.tradedoubler.params.affId="1454035";

			break;

			default:clsMappingFlying.ParamsMerchants.tradedoubler.params.affId="943517";

			break

		}

		for(var C in B.params){

			if(typeof B.params[C]=="function"){

				A+="&"+C+"="+B.params[C]()

			}

			else{

				A+="&"+C+"="+B.params[C]

			}



		}

		A=(B.url+B.urlMerchant+A);

		if(A!=""){

			A+="&voyagistes="+D;

			_$.registry.set("url",A);

			clsMappingFlying.Checking.popup()

		}



	},



	generic:function(F){

		_$.registry.set("merchant",F);

		var C="";

		var A="";

		var B="";

		switch(F){

			case"edreams": C = clsMappingFlying.ParamsMerchants.edreams;

			break;

			case"voyagessncf": C = clsMappingFlying.ParamsMerchants.voyagessncf;

			break;

			case"nouvellesfrontieres": C = clsMappingFlying.ParamsMerchants.nouvellesfrontieres;

			break;

			case"expedia": C = clsMappingFlying.ParamsMerchants.expedia;

			break;

			case"govoyage":C= clsMappingFlying.ParamsMerchants.govoyage;

			break;

			case"bravofly": C = clsMappingFlying.ParamsMerchants.bravofly;

			break;

			case"corsairfly": C = clsMappingFlying.ParamsMerchants.corsairfly;

			break;

			case"transavia": C = clsMappingFlying.ParamsMerchants.transavia;

			break;

			case"skyeurope": C = clsMappingFlying.ParamsMerchants.skyeurope;

			break;

			case"promovols": C = clsMappingFlying.ParamsMerchants.promovols;

			break

			case"ebookers": C = clsMappingFlying.ParamsMerchants.ebookers;

			break



		}

		if(C==""){

			return;

		}

		if(_$.String.is_empty(C.urlMerchant)){

			var E="";

		}

		else{

			var E="&";

		}

		for(var D in C.params){

			if(typeof C.params[D]=="function"){

				A+=E+D+"="+C.params[D]();

			}

			else{

				A+=E+D+"="+C.params[D];

			}

			E="&";

		}

		if(F=="bravofly"){

			A=C.url+_$.String.url_encode(C.urlMerchant+A)

		}

		else{

			A=C.url+C.urlMerchant+A

		}

		if(F=="expedia"){



		}

		if(A!=""){

			_$.registry.set("url",A);

			clsMappingFlying.Checking.popup()

		}



	},

	vivacances:function(){

		_$.registry.set("merchant","vivacances");

		var E="";

		var A="";

		var G="";

		E=clsMappingFlying.ParamsMerchants.vivacances;

		if(E==""){

			return

		}

		if(_$.String.is_empty(E.urlMerchant)){

			var F=""

		}

		else{

			var F="&"

		}

		for(var D in E.params){

			if(typeof E.params[D]=="function"){

				A+=F+D+"="+E.params[D]()

			}

			else{

				A+=F+D+"="+E.params[D]

			}

			F="&"

		}

		var C=clsMappingFlying.Checking.elements.flying_adult();

		var I=clsMappingFlying.Checking.elements.flying_bebe();

		var H=clsMappingFlying.Checking.elements.flying_child();

		for(i=1;i <= C;i++){

			A+="&TRAVELLER_TYPE_"+i+"=ADT";

			if(I !=0 & i <=I){

				A+="&HAS_INFANT_"+i+"=true"

			}



		}

		var B=parseInt(C)+parseInt(H);

		for(i=i;i<=B;i++){

			A+="&TRAVELLER_TYPE_"+i+"=CHD"

		}

		A=(E.url+E.urlMerchant+A);

		if(A!=""){

			_$.registry.set("url",A);

			clsMappingFlying.Checking.popup()

		}



	},

	lastminute:function(){

		_$.registry.set("merchant","lastminute");

		var B=clsMappingFlying.ParamsMerchants.lastminute;

		var A="";

		var D="";

		for(var C in B.params){

			if(typeof B.params[C]=="function"){

				A+=(A==""?"":"&")+C+"="+B.params[C]()

			}

			else{

				A+=(A==""?"":"&")+C+"="+B.params[C]

			}



		}

		buildUrl=(B.url+B.urlMerchant+A);

		var E="";

		new Ajax.Request("/moteur-vol/getLastMinute.php",{

			method:"get",parameters:{

				url:_$.String.url_encode(buildUrl)

			}

			,asynchronous:false,onComplete:function(F){

				E=F.responseText

			}



		}

		);

		E="http://www.anrdoezrs.net/click-3103372-10754782"+E;

		if(E!=""&&E!="false"){

			_$.registry.set("url",E);

			clsMappingFlying.Checking.popup()

		}

		else{



		}



	},

	termia:function(){

		_$.registry.set("merchant","termia");

		var B=clsMappingFlying.ParamsMerchants.lastminute;

		var A="";

		var D="";

		for(var C in B.params){

			if(typeof B.params[C]=="function"){

				A+=(A==""?"":"&")+C+"="+B.params[C]()

			}

			else{

				A+=(A==""?"":"&")+C+"="+B.params[C]

			}



		}

		buildUrl=(B.url+B.urlMerchant+A);

		var E="";

		new Ajax.Request("/moteur-vol/getLastMinute.php",{

			method:"get",parameters:{

				url:_$.String.url_encode(buildUrl)

			}

			,asynchronous:false,onComplete:function(F){

				E=F.responseText

			}



		}

		);

		E="http://clk.tradedoubler.com/click?p=35602&a=943517&url=http://web107.terminala.com/FlightStep1.aspx?CobrandedID=210&Cultura=fr-FR"+E;

		if(E!=""&&E!="false"){

			_$.registry.set("url",E);

			clsMappingFlying.Checking.popup()

		}

		else{



		}



	},

	opodo:function(){

		_$.registry.set("merchant","opodo");

		var B=clsMappingFlying.ParamsMerchants.opodo;

		var A="";

		for(var C in B.params){

			if(typeof B.params[C]=="function"){

				A+="&"+C+"="+B.params[C]()

			}

			else{

				A+="&"+C+"="+B.params[C]

			}



		}

		A=(B.url+B.urlMerchant+A);

		if(A!=""){

			A+="&Destination%231_DIRECT_NON_STOP=N&Destination%231_Airline%231=&Destination%231_Airline%232=&Destination%231_Airline%233=";

			_$.registry.set("url",A);

			clsMappingFlying.Checking.popup()

		}



	},

	vueling:function(){

		_$.registry.set("merchant","vueling");

		var B=clsMappingFlying.ParamsMerchants.vueling;

		var A="";

		for(var C in B.params){

			if(typeof B.params[C]=="function"){

				A+="&"+C+"="+B.params[C]()

			}

			else{

				A+="&"+C+"="+B.params[C]

			}



		}

		A=(B.url+B.urlMerchant+A);

		if(A!=""){

			A+="]]";

			_$.registry.set("url",A);

			clsMappingFlying.Checking.popup()

		}



	}



};

function g(A){

	_$.registry.set("url",A);

	clsMappingFlying.Checking.popup()

}

MappingFlying.prototype.Exceptions={

	alert:{

		origin_destination:"La ville de départ ou d'arrivé doivent être valides.",firstclass_govoyage:"Les vols en première classe ne sont pas proposés par GoVoyages. Veuillez sélectionner un autre partenaire ou une autre classe.",notdestination:"Cette agence ne propose pas de vols à destination de Cuba. Veuillez sélectionner un autre partenaire."

	},

	genericode:{

		withoutDestination:function(){

			var B=_$.Elements.getInputText("flying_origin").toLowerCase();

			var A=_$.Elements.getInputText("flying_destination").toLowerCase();

			switch(true){

				case (B=="la havane"||B=="varadero"||B=="santiago"||A=="la havane"||A=="varadero"||A=="santiago"):alert(clsMappingFlying.Exceptions.alert.notdestination);

				return false;

				break

			}



		}



	},

	ebookers:{

		except:{

			conformityToList:function(){

				var B=clsMappingFlying.Checking.elements.flying_origin();

				var C=SearchingListing.vtlst(B);

				if(_$.Array.count(C)===0||_$.Array.count(C) > 1){

					alert(clsMappingFlying.Exceptions.alert.origin_destination);

					return false

				}

				else{

					for(var A in C){

						clsMappingFlying.ParamsMerchants.tradedoubler.params.provenance=A

					}

					return true

				}



			}



		},

		accept:{

			withoutDestination:function(){

				return clsMappingFlying.Exceptions.genericode.withoutDestination()

			}



		}



	},

	lastminute:{

		except:{

			conformityToListOrigin:function(){

				var B=clsMappingFlying.Checking.elements.flying_origin();

				var C=SearchingListing.vtlst(B);

				if(_$.Array.count(C)==0||_$.Array.count(C)>1){

					alert(clsMappingFlying.Exceptions.alert.origin_destination);

					return false

				}

				else{

					for(var A in C){

						clsMappingFlying.ParamsMerchants.lastminute.params.departurecity=A

					}

					return true

				}



			}

			,conformityToListDestination:function(){

				var B=clsMappingFlying.Checking.elements.flying_destination();

				var A=SearchingListing.vtlst(B);

				if(_$.Array.count(A)==0||_$.Array.count(A)>1){

					alert(clsMappingFlying.Exceptions.alert.origin_destination);

					return false

				}

				else{

					for(var C in A){

						clsMappingFlying.ParamsMerchants.lastminute.params.arrivalcity=C

					}

					return true

				}



			}



		},

		accept:{

			firstclass:function(){



			}



		}



	}

	,govoyages:{

		accept:{

			firstclass:function(){

				var A=clsMappingFlying.Checking.elements.flying_class();

				if(A=="A"||A=="F"){

					return false

				}



			}



		}



	}

	,expedia:{

		accept:{

			withoutDestination:function(){

				return clsMappingFlying.Exceptions.genericode.withoutDestination()

			}



		}



	}

	,voyagessncf:{

		accept:{

			withoutDestination:function(){

				return clsMappingFlying.Exceptions.genericode.withoutDestination()

			}



		}



	}



}

;

MappingFlying.prototype.Checking={

	elements:{

		flying_origin:function(){

			return _$.String.trim(_$.Elements.getInputText("iata_depart").toUpperCase())

		}

		,flying_destination:function(){

			return _$.String.trim(_$.Elements.getInputText("iata_arrivee").toUpperCase())

		}

		,flying_direct:function(){

			return""

		}

		,flying_type:function(){

			return""

		}

		,flying_class:function(){

			return""

		}

		,flying_originDay:function(){

			return _$.Elements.getSelectedByValue("flying_originDay")

		}

		,flying_originMonth:function(){

			return _$.Elements.getSelectedByValue("flying_originMonth")

		}

		,flying_originYear:function(){

			return _$.Elements.getSelectedByValue("flying_originYear")

		}

		,flying_destinationDay:function(){

			return _$.Elements.getSelectedByValue("flying_destinationDay")

		}

		,flying_destinationMonth:function(){

			return _$.Elements.getSelectedByValue("flying_destinationMonth")

		}

		,flying_destinationYear:function(){

			return _$.Elements.getSelectedByValue("flying_destinationYear")

		}

		,flying_adult:function(){

			return _$.Elements.getSelectedByValue("flying_adult")

		}

		,flying_child:function(){

			return _$.Elements.getSelectedByValue("flying_child")

		}

		,flying_bebe:function(){

			return _$.Elements.getSelectedByValue("flying_bebe")

		}



	}

	,verif:function(){

		var E=this.elements.flying_originDay()+"/"+this.elements.flying_originMonth()+"/"+this.elements.flying_originYear();

		var F=this.elements.flying_destinationDay()+"/"+this.elements.flying_destinationMonth()+"/"+this.elements.flying_destinationYear();

		var A=dateToday.day+"/"+dateToday.month+"/"+dateToday.year;

		if(_$.Verif.is_blank(this.elements.flying_origin())==false||_$.Verif.is_blank(this.elements.flying_destination())==false){

			alert("Veuillez remplir correctement votre ville de départ et votre ville d'arrivée.");

			return false

		}

		else{

			if(this.elements.flying_adult()<this.elements.flying_bebe()){

				alert("Vous ne pouvez pas embarquer plus de bébés que d'adultes.");

				return false

			}

			else{

				if(_$.Date.compare(E,A)===2||_$.Date.compare(F,A)===2||_$.Date.compare(E,F)===1){

					alert("Merci de vérifier les dates saisies. 2 raisons possibles :\n1 - Vos dates de départ et d'arrivée doivent être postérieures à la date d'aujourd'hui\n2 - La date d'arrivée ne peut être antérieure à la date de retour");

					return false

				}

				else{

					var H=_$.registry.get("merchant");

					if(!_$.String.is_empty(H)){

						var D=clsMappingFlying.Exceptions;

						for(var C in D){

							if(C.toLowerCase()==H.toLowerCase()){

								var G=D[C].accept;

								for(var B in G){

									if(typeof G[B]=="function"){

										return G[B]()

									}



								}



							}



						}



					}

					else{

						alert("Error : var merchant is empty.")

					}



				}



			}



		}

		_$.registry.remove("merchant")

	}

	,popup:function(){
		
		if(clsMappingFlying.Checking.verif()===false){

			return

		}

		var A=_$.registry.get("strFlying");

		var B=_$.registry.get("url");

		var C="toolbar=yes,location=yes,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=790,height=570,left=30,top=30";

	if ( B.match("terminala") ) {
		var origin = clsMappingFlying.Checking.elements.flying_origin();
		var destination = clsMappingFlying.Checking.elements.flying_destination();
		var originDay = clsMappingFlying.Checking.elements.flying_originDay();
		var originMonth = clsMappingFlying.Checking.elements.flying_originMonth(); 
		var originYear = clsMappingFlying.Checking.elements.flying_originYear();
		var destinationDay = clsMappingFlying.Checking.elements.flying_destinationDay();
		var destinationMonth = clsMappingFlying.Checking.elements.flying_destinationMonth();
		var destinationYear = clsMappingFlying.Checking.elements.flying_destinationYear();
		var flying_adult = clsMappingFlying.Checking.elements.flying_adult();
		var flying_child = clsMappingFlying.Checking.elements.flying_child();		
		var flying_bebe = clsMappingFlying.Checking.elements.flying_bebe();
		var terminalA = "&terminala=1";
		var urlDest = B;
		var fileToLoading = 
		"/moteur-vol/scripts/loadingFlying.php?origin=" + origin +
		"&destination=" + destination +
		"&originDay=" + originDay +
		"&originMonth=" + originMonth +
		"&originYear=" + originYear +
		"&destinationDay=" + destinationDay +
		"&destinationMonth=" + destinationMonth +
		"&destinationYear=" + destinationYear + 
		"&flying_adult=" + flying_adult + 
		"&flying_child=" + flying_child +
		"&flying_bebe=" + flying_bebe +
		terminalA;
		
		window.open(fileToLoading, "", C);


	}
	else {
		window.open(B,"",C);
	}

//		_$.registry.remove("url")

	}



}

;

var clsMappingFlying=new MappingFlying();