<!--
var CountryCityCodeIATA="87,Andorra,Andorra La Vella,3762,TLS~89,Andorra,Arinsal,3763,TLS~91,Andorra,Canillo,3764,TLS~93,Andorra,Encamp,3765,TLS~94,Andorra,Escaldes,3766,TLS~95,Andorra,La Massana,3767,TLS~96,Andorra,La Vella,3761,TLS~106,Andorra,Ordino,3768,TLS~110,Andorra,Pas De La Casa,3769,TLS~112,Andorra,Sant Julia,37611,TLS~113,Andorra,Soldeu,37612,TLS~1,Australia,Adelaide,611,ADL~2,Australia,Alice Springs,612,ASP~3,Australia,Brisbane,613,BNE~4,Australia,Cairns,615,CNS~5,Australia,Canberra,616,CBR~6,Australia,Darwin,618,DRW~7,Australia,Fremantle,6110,PER~8,Australia,Hobart,6111,HBA~9,Australia,Kewarra,6113,CNS~10,Australia,Melbourne,6114,MEL~11,Australia,Palm Cove,6116,CNS~12,Australia,Perth,6117,PER~13,Australia,Surfers Paradise,6121,BNE~14,Australia,Sydney,6122,SYD~15,Australia,Townsville,6123,TSV~16,Austria,Graz,431,GRZ~17,Austria,Innsbruck,432,INN~18,Austria,Kitzbuhel,4313,INN~19,Austria,Klagenfurt,4314,KLU~20,Austria,Linz,4316,VIE~21,Austria,Salzburg,433,SZG~22,Austria,Vienna,435,VIE~23,Belgium,Antwerp,321,ANR~24,Belgium,Bruges,322,BRU~25,Belgium,Brussels,323,BRU~26,Belgium,Gent,325,BRU~27,Belgium,Liege,3211,BRU~28,Belgium,Oostende,327,BRU~29,Bulgaria,Albena and Golden Sands,3591,VAR~30,Bulgaria,Nessebar,3592,BOJ~31,Bulgaria,Sofia,35911,SOF~32,Bulgaria,Sunny Beach,3593,BOJ~33,Bulgaria,Sveti Konstantin,3594,BOJ~34,Bulgaria,Sveti Vlas,3595,BOJ~35,Canada,Calgary,22,YYC~36,Canada,Montreal,210,YMX~37,Canada,Niagara Falls,211,YYZ~38,Canada,Ottawa (yow),212,YOW~39,Canada,Ottawa(ynd),212,YND~40,Canada,Toronto,214,YYZ~41,France,Toulouse,3339,TLS~42,Canada,Vancouver,215,YVR~43,Croatia,Dubrovnik,3851,DBV~44,Croatia,Split,38510,SPU~45,Croatia,Zagreb,38516,ZAG~46,Cuba,Cayo Coco,534,CCC~47,Cuba,Cayo Guillermo,535,HOG~48,Cuba,Havana,538,HAV~49,Cuba,Playa Yuraguanal Holguin,539,HOG~50,Cuba,Varadero,532,VRA~51,Cyprus,Ayia Napa,3571,LCA~52,Cyprus,Larnaca,3572,LCA~53,Cyprus,Limassol,3573,LCA~54,Cyprus,Paphos,3574,PFO~55,Cyprus,Protaras,3576,LCA~56,Cyprus,Protaras and Paralimni,3575,LCA~57,Czech Republic,Prague,4201,PRG~58,Denmark,Copenhagen,451,CPH~59,Dominica,Dominica,871,DOM~62,Dominican Republic,DomRepSouth-LRM,180922,LRM~64,Dominican Republic,DomRepSouthEast-PUJ,180923,PUJ~69,Dominican Republic,DomRepNorth-POP,180921,POP~75,Dominican Republic,Santo Domingo,180919,SDQ~77,Egypt,Alexandria,207,CAI~78,Egypt,Aswan,201,ASW~79,Egypt,Cairo,202,CAI~80,Egypt,Giza,209,CAI~81,Egypt,Hurghada,203,HRG~82,Egypt,Luxor,204,LXR~83,Egypt,Sharm El Sheikh,205,SSH~84,Estonia,Tallinn,3721,TLL~85,Estonia,Tallinn-Tallin,3722,TLL~86,Finland,Helsinki,3584,HEL~88,France,Antibes,3311,NCE~90,France,Bordeaux,331,BOD~92,France,Cannes,332,NCE~97,France,Lille,3324,LIL~98,France,Lille-f,3325,LIL~99,France,Lyon,333,LYS~100,France,Marseille,3327,NCE~102,France,Montpellier,3328,MPL~103,France,Nantes,3330,NTE~104,France,Nice,334,NCE~105,France,Nimes,3331,MPL~108,France,Paris - (CDG),335,CDG~109,France,Paris - (ORY),335,ORY~111,France,Rouen,3335,LEH~114,France,Strasbourg,3337,SXB~115,France,Toulon,3338,TLN~117,Germany,Berlin (SXF),492,SXF~118,Germany,Berlin (TXL),492,TXL~119,Germany,Bonn,493,CGN~120,Germany,Bremen,494,BRE~121,Germany,Cologne,495,CGN~122,Germany,Dortmund,497,DTM~123,Germany,Dresden,498,DRS~124,Germany,Dusseldorf,499,DUS~125,Germany,Frankfurt,4910,FRA~126,Germany,Hannover,4913,HAJ~127,Germany,Heidelberg,4929,FRA~128,Germany,Munich,4915,MUC~129,Germany,Nuremberg,4916,NUE~130,Germany,Stuttgart,4917,STR~131,Gibraltar,Gibraltar,3501,GIB~132,Greece,Athens and Evia,307,ATH~133,Greece,Athens-Atenas,3015,ATH~134,Greece,Corfu - ALL,301,CFU~135,Greece,Crete - ALL,302,HER~136,Greece,Delphi,3033,HER~137,Greece,Halkidiki - ALL,308,SKG~138,Greece,Kefalonia - ALL,304,EFL~139,Greece,Kos - ALL,305,KGS~140,Greece,Mykonos - ALL,309,JMK~141,Greece,Rhodes - ALL,306,RHO~142,Greece,Samos - ALL,3010,SMI~143,Greece,Santorini - ALL,3011,JTR~144,Greece,Skiathos - ALL,3013,JSI~145,Greece,Thessalonika,3071,SKG~146,Greece,Zante - ALL,3014,ZTH~147,Hong Kong,Hong Kong Island,5041,HKG~148,Hong Kong,Kowloon,5042,HKG~149,Hong Kong,North Point,5043,HKG~150,Hong Kong,Wanchai,5044,HKG~151,Hungary,Budapest,361,BUD~152,India,Goa,911,GOI~153,Indonesia,Bali,621,DPS~154,Indonesia,Lombok,622,DPS~155,Indonesia,Sanur,623,DPS~156,Italy,Amalfi,3920,NAP~157,Italy,Capri,3926,NAP~158,Italy,Florence,394,FLR~159,Italy,Genoa,3933,GOA~160,Italy,Lago Di Garda,3934,VCE~161,Italy,Lake Garda,3916,VCE~162,Italy,Lake Garda-Riva Del Garda,3935,VCE~164,Italy,Milan (LIN),397,LIN~165,Italy,Milan (MXP),397,MXP~166,Italy,Montecatini,3936,FLR~167,Italy,Naples,398,NAP~168,Italy,Neopolitan Riviera (inc Sorrento),3917,NAP~169,Italy,Parma,3939,BLQ~170,Italy,Pisa,3941,PSA~171,Italy,Rimini,3945,RMI~173,Italy,Rome,399,ROM~175,Italy,San Remo,3946,GOA~176,Italy,Sicily,3918,PMO~177,Italy,Tirrenia Near Pisa,3912,FLR~178,Italy,Treviso,3949,TSF~179,Italy,Turin,3951,TRN~180,Italy,Venice,3913,VCE~181,Italy,Venice Lido,3952,VCE~182,Italy,Venice-Piazzale Roma,3915,VCE~183,Italy,Verona,3953,VRN~184,Italy,Vicenza,3954,VRN~185,Jordan,Amman,9621,AMM~186,Jordan,Aqaba,9622,AMM~187,Jordan,Petra,9623,AMM~188,Latvia,Riga,3711,RIX~189,Lithuania,Vilnius,3701,VNO~190,Luxembourg,Luxembourg,3521,LUX~191,Malaysia,Kota Kinabalu,601,BKI~192,Malaysia,Kuala Lumpur,602,KUL~193,Malaysia,Langkawi,603,LGK~194,Malaysia,Penang,604,PEN~195,Malta,Malta - ALL,3561,MLA~196,Mexico,Mexico - All Resorts inc Cancun,5256,CUN~101,Monaco,Monte Carlo,3771,NCE~209,Morocco,Agadir,2121,AGA~210,Morocco,Casablanca,2122,CAS~211,Morocco,Marrakech,2123,RAK~212,Morocco,Rabat,2129,RBA~213,Morocco,Tangier,21210,TNG~214,Netherlands,Amsterdam,311,AMS~215,Netherlands,Maastricht,316,MST~216,Netherlands,Rotterdam,317,RTM~217,Netherlands,The Hague,312,AMS~218,Netherlands,Utrecht,319,AMS~219,New Zealand,Auckland,6871,AKL~220,New Zealand,Bay of Islands,6872,CHC~221,New Zealand,Christchurch,6873,CHC~222,New Zealand,Queenstown,6878,ZQN~223,New Zealand,Wellington,68712,WLG~224,Poland,Krakow,481,KRK~225,Poland,Warsaw,482,WAW~226,Portugal,Algarve-All,3512,FAO~227,Portugal,Estoril,35118,LIS~228,Portugal,Madeira,35169,FNC~229,Portugal,Lisbon,35113,LIS~230,Portugal,Madeira,35119,FNC~231,Ireland,Cork,3532,ORK~232,Ireland,Donegal,3534,CFN~233,Ireland,Dublin,3535,DUB~234,Ireland,Galway,3536,GWY~235,Ireland,Kerry,3537,KIR~236,Ireland,Kilkenny,3538,DUB~237,Ireland,Limerick,35310,DUB~238,Ireland,Shannon,35312,SNN~239,Ireland,Sligo (snn),35313,SNN~240,Ireland,Waterford,35315,WAT~241,Ireland,Wesport,35316,SNN~242,Republic of Korea (South Korea),Sligo (sel),35313,SEL~243,Romania,Brasov,409,OTP~244,Romania,Bucharest,405,OTP~245,Romania,Constanta,406,OTP~246,Romania,Mamaia,402,OTP~247,Romania,Neptun / Olimp,403,OTP~248,Romania,Oradea,407,OTP~249,Romania,Poiana Brasov,4010,OTP~250,Romania,Sibiu,408,OTP~251,Romania,Sinaia,4011,OTP~252,Romania,Timisoara,4012,OTP~253,Romania,Timisoara-Arad,4013,OTP~254,Romania,Tulcea,4014,OTP~255,Romania,Venus / Satum,404,OTP~259,Russia,Moscow,71,MOW~260,Russia,St Petersburg,72,LED~261,Singapore,Singapore,651,SIN~262,Slovak Republic,Bratislava,4211,BTS~263,Socialist Republic of Vietnam,Hanoi,4912,HAN~264,South Africa,Cape Town,272,CPT~264,South Africa,Pretoria,271,HPR~265,Spain,Barcelona,343,BCN~266,Spain,Bilbao,344,BIO~267,Spain,Cadiz,34115,AGP~268,Spain,Costa Almeria-Aguadulce,347,LEI~269,Spain,Costa Almeria-Almerimar,34116,LEI~270,Spain,Costa Almeria-Mojacar,3496,LEI~271,Spain,Costa Almeria-RoquetasDeMar,348,LEI~272,Spain,Costa Blanca-Alicante,3410,ALC~273,Spain,Costa Blanca-Benidorm,3413,ALC~274,Spain,Costa Blanca-Calpe,3414,ALC~275,Spain,Costa Blanca-Denia,3415,ALC~276,Spain,Costa Brava - ALL,3417,GRO~277,Spain,Costa De La Luz-Huelva,3498,XRY~278,Spain,Costa De La Luz-NovoSanctiP.,3499,XRY~279,Spain,Costa Del Sol - ALL,34140,AGP~280,Spain,Costa Dorada - ALL,3428,REU~281,Spain,Fuerteventura - ALL,3429,FUE~282,Spain,Gran Canaria - ALL,3434,LPA~283,Spain,Granada,3440,GRX~284,Spain,Ibiza - ALL,3441,IBZ~285,Spain,Lanzarote - ALL,3453,ACE~286,Spain,Madrid,3455,MAD~287,Spain,Majorca - ALL,3457,PMI~288,Spain,Menorca - ALL,3475,MAH~289,Spain,Seville,3487,SVQ~290,Spain,Tenerife - ALL,3488,TFS~291,Spain,Valencia,3495,VLC~292,Spain,Valencia-Valencia Alrededores,34323,VLC~293,Sweden,Gothenburg,461,GOT~294,Sweden,Malmo,463,ARN~295,Sweden,Stockholm,464,ARN~296,Switzerland,Basel,417,BSL~297,Switzerland,Berne,418,BRN~298,Switzerland,Chamonix,3318,GVA~299,Switzerland,Geneva,412,GVA~300,Switzerland,Grindelwald (brn),4110,BRN~301,Switzerland,Grindelwald (zrh),4110,ZRH~302,Switzerland,Interlaken,413,ZRH~303,Switzerland,Lausanne,4111,GVA~304,Switzerland,Lucerne,414,BSL~305,Switzerland,Lugano,4112,LUG~306,Switzerland,Montreux,4113,GVA~307,Switzerland,Murren,4114,ZRH~308,Switzerland,St Moritz,4115,ZRH~309,Switzerland,Wengen-ch,4116,ZRH~310,Switzerland,Zermatt (gva),4117,GVA~311,Switzerland,Zermatt (zrh),4117,ZRH~312,Switzerland,Zurich,416,ZRH~313,Thailand,Bangkok,661,BKK~314,Thailand,Cha Am,662,BKK~315,Thailand,Chiang Mai,663,CNX~316,Thailand,Chiang Rai,664,CEI~317,Thailand,Hua Hin,665,BKK~318,Thailand,Koh Samui,666,USM~319,Thailand,Krabi,667,KBV~320,Thailand,Pattaya,668,BKK~321,Thailand,Phi Phi Island,669,HKT~322,Thailand,Phuket,6611,HKT~323,Thailand,Phuket Island,6610,HKT~324,Tobago and Trinidad,Pointe A Pierre,98681,POS~325,Tobago and Trinidad,Port Of Spain,98682,POS~326,Tobago and Trinidad,Trinidad,98683,POS~327,Tunisia,Djerba,2162,DJE~328,Tunisia,Hammamet,2163,MIR~329,Tunisia,Hammamet Yasmine,2164,MIR~330,Tunisia,Monastir,2165,MIR~331,Tunisia,Port El Kantaoui,2166,MIR~332,Tunisia,Skanes,2167,MIR~333,Tunisia,Sousse,2168,MIR~334,Turkey,Alanya,901,AYT~335,Turkey,Altinkum,902,BJV~336,Turkey,Altinkum and Kusadasi,9012,BJV~337,Turkey,Antalya City,9013,AYT~338,Turkey,Belek,9014,AYT~339,Turkey,Bitez,9015,AYT~340,Turkey,Bodrum,904,BJV~341,Turkey,Fethiye,906,DLM~342,Turkey,Gumbet,907,BJV~343,Turkey,Icmeler,9017,DLM~344,Turkey,Istanbul,908,IST~345,Turkey,Marmaris,909,DLM~346,Turkey,Olu Deniz,9010,DLM~347,Turkey,Ovacik,9011,DLM~348,Turkey,Side,9020,AYT~349,United Arab Emirates,Dubai,9711,DXB~350,United Kingdom,Aberdeen,441,ABZ~351,United Kingdom,Altrincham,445,MAN~352,United Kingdom,Ascot,4410,LGW~353,United Kingdom,Ashford,4411,LHR~354,United Kingdom,Aviemore,4412,INV~355,United Kingdom,Barnsley,4417,MAN~356,United Kingdom,Bath,4420,BRS~357,United Kingdom,Belfast,4423,BFS~358,United Kingdom,Beverley,4425,LBA~359,United Kingdom,Birmingham,4428,BHX~360,United Kingdom,Blackpool,4429,MAN~361,United Kingdom,Bolton,4430,MAN~362,United Kingdom,Bournemouth,4431,LGW~363,United Kingdom,Bradford,4434,MAN~364,United Kingdom,Brighton,4439,LGW~365,United Kingdom,Bristol,4440,LGW~366,United Kingdom,Bury,4444,MAN~367,United Kingdom,Cambridge,4446,STN~368,United Kingdom,Canterbury,4447,STN~369,United Kingdom,Cardiff,4448,CWL~370,United Kingdom,Carlisle,4449,NCL~371,United Kingdom,Cheshire,4454,MAN~372,United Kingdom,Chester (lpl),4455,LPL~373,United Kingdom,Chester (man),4455,MAN~374,United Kingdom,Clitheroe,4457,LBA~375,United Kingdom,Crewe,4463,MAN~376,United Kingdom,East Midlands,4478,EMA~377,United Kingdom,Eastbourne,4479,LGW~378,United Kingdom,Edinburgh,4481,EDI~379,United Kingdom,Edinburgh And Lothians-Edinburgh,4482,EDI~380,United Kingdom,Exeter,4485,EXT~381,United Kingdom,Glasgow,4491,GLA~382,United Kingdom,Glasgow And Strathclyde-Glasgow,44236,GLA~383,United Kingdom,Halifax,4499,MAN~384,United Kingdom,Hemel Hempstead,44105,LHR~385,United Kingdom,Hemel Hempsted,44106,LHR~386,United Kingdom,Huddersfield,44112,LBA~387,United Kingdom,Hull,44113,LBA~388,United Kingdom,Inverness,44115,INV~389,United Kingdom,Isle Of Man,44119,IOM~390,United Kingdom,Leatherhead,44129,LHR~391,United Kingdom,Leeds,44130,LBA~392,United Kingdom,Liverpool,44133,LPL~396,United Kingdom,London,44136,LON~397,United Kingdom,Luton,44142,LTN~398,United Kingdom,Manchester,44146,MAN~399,United Kingdom,Newcastle,44154,NCL~400,United Kingdom,Nr. Chester,44161,LPL~401,United Kingdom,Preston,44171,MAN~402,United Kingdom,Stanstead Abbots,44193,STN~403,United Kingdom,Stansted,44194,STN~404,United Kingdom,Stockport,44197,MAN~405,United Kingdom,Stoke on Trent,44198,MAN~406,United Kingdom,Surrey,44202,LGW~407,United Kingdom,Swansea,44205,BRS~408,United Kingdom,Warrington,44217,MAN~409,United Kingdom,Wigan,44227,MAN~410,United Kingdom,Windsor,44230,LHR~411,United Kingdom,Wirral,44231,LPL~412,United Kingdom,York,44234,LBA~413,United States of America,Albuquerque,1291,ABQ~414,United States of America,Anaheim,129118,LAX~415,United States of America,Anaheim-Disney,1292,LAX~416,United States of America,Anaheim-Fullerton,1293,LAX~417,United States of America,Anchorage,1294,ANC~418,United States of America,Atlanta,1295,ATL~419,United States of America,Atlantic City,1296,EWR~420,United States of America,Baltimore,1297,GBO~421,United States of America,Boston,12913,BOS~422,United States of America,Boston-Airport,12914,BOS~423,United States of America,Boston-MA,129119,BOS~424,United States of America,Cape Cod-Falmouth,12917,BOS~425,United States of America,Cape Cod-Hyannis,12918,BOS~426,United States of America,Charlotte,12920,CLT~427,United States of America,Charlottesville,12921,CHO~429,United States of America,Chicago,12922,ORD~431,United States of America,Chicago-Airport,12923,ORD~432,United States of America,Clearwater Beach,12925,MCO~435,United States of America,Daytona Beach,12930,MCO~436,United States of America,Daytona Beach,12930,SFB~437,United States of America,Denver-Co,129123,DEN~438,United States of America,FL-Clearwater Beach (mco),129128,MCO~439,United States of America,FL-Clearwater Beach (sfb),129128,SFB~440,United States of America,FL-Cocoa Beach (mco),129129,MCO~441,United States of America,FL-Cocoa Beach (sfb),129129,SFB~442,United States of America,FL-Fort Lauderdale,12935,MIA~443,United States of America,FL-Fort Myers,12936,TPA~444,United States of America,FL-Key Largo,12937,MIA~445,United States of America,FL-Key West,12938,MIA~446,United States of America,FL-Miami,129136,MIA~447,United States of America,FL-St Petersburgh (mco),129139,MCO~448,United States of America,FL-St Petersburgh (sfb),129140,SFB~449,United States of America,FL-St Petersburgh Bea (sfb),129141,SFB~450,United States of America,FL-St Ptersburgh Beach (mco),129141,MCO~451,United States of America,FL-Tampa,129142,TPA~452,United States of America,Grand Canyon,12942,LAS~453,United States of America,Hawaii-Honolulu,12943,HNL~454,United States of America,Hawaii-Island Of Hawaii,12944,HNL~455,United States of America,Hawaii-Kauai,12945,HNL~456,United States of America,Hawaii-Maui,12946,HNL~457,United States of America,Hawaii-Molokai,12947,HNL~459,United States of America,Houston-TX,12949,IAH~460,United States of America,L A -Airport,12955,LAX~461,United States of America,L A- Beverly Hills,129144,LAX~462,United States of America,L A- Hollywood,12956,LAX~463,United States of America,L A- West Hollywood,129145,LAX~464,United States of America,L A-Beverly Hills,12957,LAX~465,United States of America,L A-Downtown,12958,LAX~466,United States of America,Las Vegas,12961,LAS~467,United States of America,Los Angeles-Ca,129146,LAX~468,United States of America,Memphis,12965,MEM~469,United States of America,Miami Beach,12966,MIA~470,United States of America,Naples,12971,TPA~471,United States of America,New Orleans,12973,MSY~473,United States of America,New York-EWR Airport,12974,EWR~474,United States of America,New York-JFK Airport,12974,JFK~475,United States of America,New York-LGA Airport,12974,LGA~476,United States of America,Orlando,129150,ORL~477,United States of America,Orlando - International Drive (mco),129150,MCO~478,United States of America,Orlando - Kissimmee (mco),129151,MCO~479,United States of America,Orlando- WaltDisneyWorld (mco),129153,MCO~480,United States of America,Orlando-InternationalDrive (sfb),129150,SFB~481,United States of America,Orlando-Kissimmee (sfb),129151,SFB~482,United States of America,Orlando-Lake Buena Vista (mco),129152,MCO~483,United States of America,Orlando-LakeBuenaVista (sfb),129152,SFB~484,United States of America,Orlando-WaltDisneyWorld (sfb),129153,SFB~485,Norway,Oslo,473,OSL~486,United States of America,Palm Beach,12981,MIA~487,United States of America,Philadelphia,12985,PHL~488,United States of America,Salt Lake City,12993,SLC~489,United States of America,San Diego,12994,SAN~490,United States of America,San Francisco,12995,SFO~491,United States of America,Seattle,129104,SEA~492,United States of America,St Petersburg (sfb),129108,SFB~493,United States of America,St. Petersburg (mco),129108,MCO~494,United States of America,Venice Beach-Ca,129157,LAX~497,United States of America,Washington,129113,DCA~498,Antigua and Barbuda,Antigua,2681,ANU~499,Antigua and Barbuda,Mamora Bay,2682,ANU~500,Antigua and Barbuda,St Johns,2683,ANU~501,Saint Lucia,Castries,7581,UVF~502,Saint Lucia,Gros Islet,7582,UVF~503,Saint Lucia,Soufriere,7583,UVF";
var BlackCodeIATA="3761,XXX~611,XXX~612,XXX~613,XXX~615,XXX~616,XXX~618,XXX~6110,XXX~6111,XXX~6113,XXX~6114,XXX~6116,XXX~6117,XXX~6118,XXX~6121,XXX~6122,XXX~6123,XXX~3311,XXX~331,XXX~3324,XXX~3325,XXX~3330,XXX~3331,XXX~3335,XXX~3501,XXX~5041,XXX~5042,XXX~5043,XXX~5044,XXX~911,XXX~621,XXX~622,XXX~623,XXX~3534,XXX~3537,XXX~3538,XXX~35313,XXX~35313,XXX~35316,XXX~3920,XXX~3926,XXX~3935,XXX~3939,XXX~3945,XXX~3946,XXX~3912,XXX~3949,XXX~3952,XXX~3915,XXX~601,XXX~602,XXX~603,XXX~604,XXX~6871,XXX~6872,XXX~6873,XXX~6878,XXX~68712,XXX~35119,XXX~651,XXX~34115,XXX~347,XXX~34116,XXX~34323,XXX~461,XXX~463,XXX~464,XXX~4110,XXX~4110,XXX~4114,XXX~4116,XXX~661,XXX~662,XXX~663,XXX~664,XXX~665,XXX~666,XXX~667,XXX~668,XXX~669,XXX~6611,XXX~6610,XXX~98681,XXX~98682,XXX~98683,XXX~445,XXX~4410,XXX~4411,XXX~4412,XXX~4425,XXX~4444,XXX~4447,XXX~4449,XXX~4457,XXX~4463,XXX~4482,XXX~44236,XXX~4499,XXX~44105,XXX~44106,XXX~44112,XXX~44113,XXX~44129,XXX~44161,XXX~44171,XXX~44193,XXX~44197,XXX~44198,XXX~44202,XXX~44205,XXX~44217,XXX~44227,XXX~44230,XXX~44231,XXX~441,XXX~4417,XXX~4434,XXX~4479,XXX~1293,XXX~12917,XXX~12918,XXX~12944,XXX~12945,XXX~12946,XXX~12947,XXX~129145,XXX~129146,XXX~129108,XXX~129108,XXX~129157,XXX~535,XXX~538,XXX~212,XXX~212,XXX~9621,XXX~9622,XXX~9623,XXX~22,XXX~210,XXX~534,XXX~539,XXX~18097,XXX~18093,XXX~18093,XXX~18093,XXX~18094,XXX~18098,XXX~18099,XXX~180910,XXX~180911,XXX~180912,XXX~180913,XXX~180914,XXX~180915,XXX~180916,XXX~180917,XXX~180919,XXX~347,XXX~34116,XXX~4478,XXX~4485,XXX~44115,XXX~44119,XXX~44194,XXX~1297,XXX~522,XXX~523,XXX~526,XXX~527,XXX~5210,XXX~5210,XXX~5211,XXX~5211,XXX~5228,XXX~5229,XXX~521,XXX~5243,XXX~5244,XXX~5245,XXX~5247,XXX~871,XXX~18096,XXX";

var CountryCityCodeIATAARR = CountryCityCodeIATA.split("~");
var BlackCodeIATAARR = BlackCodeIATA.split("~");

var MapIndex        = new Array;
var Countries       = new Array;
var CountriesUnique = new Array;
var Cities          = new Array;
var Codes           = new Array;
var IATA           = new Array;


var BlackCodes           = new Array;
var BlackIATA           = new Array;


        // sort function - ascending (case-insensitive)
        function sortFuncAsc(record1, record2) {
            var value1 = record1.optText.toLowerCase();
            var value2 = record2.optText.toLowerCase();
            if (value1 > value2) return(1);
            if (value1 < value2) return(-1);
            return(0);
        }

        // sort function - descending (case-insensitive)
        function sortFuncDesc(record1, record2) {
            var value1 = record1.optText.toLowerCase();
            var value2 = record2.optText.toLowerCase();
            if (value1 > value2) return(-1);
            if (value1 < value2) return(1);
            return(0);
        }

        function sortSelect(selectToSort, ascendingOrder) {
            if (arguments.length == 1) ascendingOrder = true;    // default to ascending sort

            // copy options into an array
            var myOptions = [];
            for (var loop=0; loop<selectToSort.options.length; loop++) {
                myOptions[loop] = { optText:selectToSort.options[loop].text, optValue:selectToSort.options[loop].value };
            }

            // sort array
            if (ascendingOrder) {
                myOptions.sort(sortFuncAsc);
            } else {
                myOptions.sort(sortFuncDesc);
            }

            // copy sorted options from array back to select box
            selectToSort.options.length = 0;
            for (var loop=0; loop<myOptions.length; loop++) {
                var optObj = document.createElement('option');
                optObj.text = myOptions[loop].optText;
                optObj.value = myOptions[loop].optValue;
                selectToSort.options.add(optObj);
            }
        }



for (var i=0;i<BlackCodeIATAARR.length;i++){
    var items = BlackCodeIATAARR[i].split(",");
    BlackCodes.push (items[0]);
    BlackIATA.push (items[1].toUpperCase());  
}


for (var i=0;i<CountryCityCodeIATAARR.length;i++){
    var items = CountryCityCodeIATAARR[i].split(",");
    if (pairBlackExists(items[3],items[4])) {
         items[1]="";
         items[2]="";
         items[3]="";
	 items[4]="";
    }
    MapIndex.push (items[0]);
    Countries.push (items[1]);
    Cities.push (items[2]);
    Codes.push (items[3]);
    IATA.push (items[4]);    
    if (!(elExists(CountriesUnique,items[1]))) {CountriesUnique.push (items[1]);}

}

function getRealArrIndex(index) {
   for (var i=0;i<MapIndex.length;i++){
      if (MapIndex[i]==index) {
         return i;
      }
   }
   return -1;
}


function elExists(arr,el) {
   for (var i=0;i<arr.length;i++) {
      if (arr[i]==el) {return true;}
   }
   return false;
}

function pairBlackExists(elCode,elIATA) {
   for (var i=0;i<BlackCodes.length;i++) {
     // if ((BlackCodes[i]==elCode)&&(BlackIATA[i]==elIATA)) {return true;}
     if (BlackCodes[i]==elCode) {return true;}
   }
   return false;
}



function buildCountryList() {
    var NewOption = new Array();
    while(document.afpForm.country.options.length) {
         d = document.afpForm.country.options.length - 1;
	     document.afpForm.country.options[d]=null;
    }

	NewOption[0]=new Option('-- Select Country --  ','')
	for (var i=0;i<CountriesUnique.length;i++){
   	    NewOption[NewOption.length]= new Option(CountriesUnique[i],CountriesUnique[i]);
	}

    for(x=0; x < NewOption.length; x++){
       document.afpForm.country.options[x]=NewOption[x];
    }
    sortSelect(document.afpForm.country, true);
    if ( document.afpForm.country.selectedIndex==0) {
	document.afpForm.country.selectedIndex=1; 
    }	
}

function buildCitySelection(obj) {
   var NewOption = new Array();
   NewOption[0]=new Option('-- Select City --  ','')
   for (var i=0;i<Cities.length;i++){
      if ((Countries[i]==obj.value)&&(Cities[i]!="")) {
   	     NewOption[NewOption.length]= new Option(Cities[i],MapIndex[i]);
      }
   }

    while(document.afpForm.rdcitycodeSelector.options.length) {
         d = document.afpForm.rdcitycodeSelector.options.length - 1;
	     document.afpForm.rdcitycodeSelector.options[d]=null;
    }

    for(x=0; x < NewOption.length; x++){
       document.afpForm.rdcitycodeSelector.options[x]=NewOption[x];
    }
    sortSelect(document.afpForm.rdcitycodeSelector, true);
}



function set_date() {
	var outday=document.afpForm.outday.selectedIndex;
	var outmonth=document.afpForm.outmonth.selectedIndex;
	var calendar=new Date();
	var advpurchase=1+2;
	calendar.setDate(calendar.getDate()+advpurchase);
	document.afpForm.outday.selectedIndex=calendar.getDate()-1;
	document.afpForm.outmonth.selectedIndex=calendar.getMonth();
	calendar.setDate(calendar.getDate()+7);
	document.afpForm.retday.selectedIndex=calendar.getDate()-1;
	document.afpForm.retmonth.selectedIndex=calendar.getMonth();
}



function restoreDestination(){
   buildCitySelection(document.afpForm.country,document.afpForm.rdcitycodeSelector);

   for (var i=0;i<document.afpForm.country.options.length;i++) {
        if (document.afpForm.country.options[i].value==document.afpForm.udf_I_country.value) { 
            document.afpForm.country.selectedIndex=i;
            break;
	}
   }
   buildCitySelection(document.afpForm.country,document.afpForm.rdcitycodeSelector);
   for (var i=0;i<document.afpForm.rdcitycodeSelector.options.length;i++) {
	   if ((Codes[getRealArrIndex(document.afpForm.rdcitycodeSelector.options[i].value)]==document.afpForm.udf_I_rdcitycode.value)&&(document.afpForm.tocity.value==IATA[getRealArrIndex(document.afpForm.rdcitycodeSelector.options[i].value)])) {
	       document.afpForm.rdcitycodeSelector.selectedIndex=i;
	   }
   }
   if (document.afpForm.country.selectedIndex<1) {
      document.afpForm.country.selectedIndex=1;
   }      
}


-->
