/**** Destination object*********************/
function Destination(){
			this.regions = [
			"SOUTH PACIFIC",
			"CANADA",
			"EASTERN MEDITERRANEAN",
			"MEXICO",
			"RUSSIA",
			"AFRICA",
			"CENTRAL AMERICA",
			"CARIBBEAN",
			"SOUTH AMERICA",
			"UNITED STATES - ALL",
			"EUROPE"];


			this.destMapping = {
			"SOUTH PACIFIC":["PPT","RGI"],
			"CANADA":["BUF","YHZ","YOW","YQB","YQM","YUL","YVR","YXC","YYC","YYG","YYT","YYZ"],
			"EASTERN MEDITERRANEAN":["CAI","TLV"],
			"MEXICO":["ACA","BJX","CUN","CZM","GDL","HUX","LTO","MEX","MID","MTY","MZT","OAX","PBC","PVR","SJD","ZIH","ZLO"],
			"RUSSIA":["LED","SVO"],
			"AFRICA":["JRO"],
			"CENTRAL AMERICA":["BZE","GUA","LIR","MDZ","PTY","SAL","SJO"],
			"CARIBBEAN":["ANU","AUA","AXA","BDA","BGI","BIM","BON","CIW","CUR","EIS","ELH","FDF","FPO","GCM","GGT","GND","KIN","LRM","MBJ","MHH","NAS","NEV","PLS","POP","PTP","PUJ","SBH","SDQ","SJU","SKB","STT","STX","SXM","TAB","TCB","TYM","UVF","VIJ"],
			"SOUTH AMERICA":["BRC","CUZ","EZE","FLN","FTE","GIG","GRU","IGR","IGU","LIM","MAO","MVD","NAT","REL","SCL","SSA","USH"],
			"UNITED STATES - ALL":["ASE","BOS","DAB","EYW","FLL","HNL","ITO","JAX","KOA","LAS","LAX","LIH","LNY","MCO","MIA","MLB","MSY","MTH","NYC","OGG","PBI","PHX","PSP","RNO","RSW","SAN","SFO","SNA","SRQ","TPA","TUS","WAS"],
			"EUROPE":["AGP","AMS","ATH","AVN","BCN","BER","BFS","BGO","BHX","BIO","BOD","BRN","BRU","BUD","CAG","CCF","CDZ","CEG","CEQ","CGN","CPH","CTA","CWL","DBV","DRS","DUB","DXB","EDI","EXT","FAO","FLR","FNC","FRA","GLA","GOA","GRX","GVA","GWY","HAM","HEL","HER","IBZ","IST","JMK","JTR","KIR","KKY","KRK","LIS","LON","LPL","LUG","LYN","MAD","MAN","MCM","MIL","MRS","MUC","NAP","NCE","NOC","ODB","OPO","ORK","OSL","OVD","PAR","PEG","PMI","PMO","PRG","PSA","QLJ","QQX","QRL","QXB","RHO","ROM","RRO","SAY","SNN","STO","SVQ","SZG","VCE","VIE","VLC","VRS","WAT","WAW","XRY","ZAG","ZRH"]};


			this.destinations = {
			"ACA":"Acapulco, Mexico",
			"AGP":"Malaga, Spain",
			"AMS":"Amsterdam, Holland, The Netherlands",
			"ANU":"Antigua",
			"ASE":"Aspen, Colorado",
			"ATH":"Athens, Greece",
			"AUA":"Aruba",
			"AVN":"Avignon",
			"AXA":"Anguilla",
			"BCN":"Barcelona, Spain",
			"BDA":"Bermuda",
			"BER":"Berlin, Germany",
			"BFS":"Belfast, Northern Ireland, UK",
			"BGI":"Barbados",
			"BGO":"Bergen, Norway",
			"BHX":"Birmingham, England, UK",
			"BIM":"Bimini/ Outer Island Of Bahamas",
			"BIO":"Bilbao, Spain",
			"BJX":"Guanajuato/ Leon/ Bajo, Mexico",
			"BOD":"Bordeaux, France",
			"BON":"Bonaire",
			"BOS":"Boston, MA",
			"BRC":"Bariloche, Argentina",
			"BRN":"Berne, Switzerland",
			"BRU":"Brussels, Belgium",
			"BUD":"Budapest, Hungary",
			"BUF":"Niagara Falls, ON, Canada/ Buffalo Airport",
			"BZE":"Belize",
			"CAG":"Cagliari, Sardinia",
			"CAI":"Cairo, Egypt",
			"CCF":"Carcassonne, France",
			"CDZ":"Cadiz, Spain",
			"CEG":"Chester, England, UK",
			"CEQ":"Cannes, France",
			"CGN":"Cologne, Germany",
			"CIW":"Canouan Island, St. Vincent",
			"CPH":"Copenhagen, Denmark",
			"CTA":"Catania, Italy",
			"CUN":"Cancun/ Riviera Maya, Mexico",
			"CUR":"Curacao",
			"CUZ":"Cusco, Peru",
			"CWL":"Cardiff, Wales, UK",
			"CZM":"Cozumel, Mexico",
			"DAB":"Daytona Beach, FL",
			"DBV":"Dubrovnik/ Hvar/ Split, Croatia",
			"DRS":"Dresden, Germany",
			"DUB":"Dublin, Ireland",
			"DXB":"Dubai, United Arab Emirates",
			"EDI":"Edinburgh, Scotland, UK",
			"EIS":"Tortola/ Beef Island, BVI",
			"ELH":"Eleuthera, Bahamas",
			"EXT":"Exeter, England, UK",
			"EYW":"Key West, FL",
			"EZE":"Buenos Aires, Argentina",
			"FAO":"Faro/ Algarve, Portugal",
			"FDF":"Martinique/ Fort De France",
			"FLL":"Ft. Lauderdale/ Deerfield Beach, FL",
			"FLN":"Florianopolis, Brazil",
			"FLR":"Florence, Italy",
			"FNC":"Madeira, Portugal",
			"FPO":"Freeport, Bahamas",
			"FRA":"Frankfurt, Germany",
			"FTE":"El Calafate, Argentina",
			"GCM":"Grand Cayman/ George Town",
			"GDL":"Guadalajara, Mexico",
			"GGT":"Exuma/ Georgetown, Bahamas",
			"GIG":"Rio De Janeiro, Brazil",
			"GLA":"Glasgow, Scotland, UK",
			"GND":"Grenada/ St Georges",
			"GOA":"Genoa, Italy",
			"GRU":"Sao Paulo, Brazil",
			"GRX":"Granada, Spain",
			"GUA":"Guatemala City, Guatemala",
			"GVA":"Geneva, Switzerland",
			"GWY":"Galway, Ireland",
			"HAM":"Hamburg, Germany",
			"HEL":"Helsinki, Finland",
			"HER":"Crete, Greece",
			"HNL":"Honolulu/ Waikiki/ Oahu, HI",
			"HUX":"Huatulco, Mexico",
			"IBZ":"Ibiza, Spain",
			"IGR":"Iguazu, Argentina",
			"IGU":"Iguassu Falls, Brazil",
			"IST":"Istanbul, Turkey",
			"ITO":"Hilo/ Big Island, HI",
			"JAX":"Jacksonville/ Amelia Island, FL",
			"JMK":"Mykonos, Greece",
			"JRO":"Kilimanjaro, Tanzania",
			"JTR":"Santorini, Greece",
			"KIN":"Kingston, Jamaica",
			"KIR":"Kerry, Ireland",
			"KKY":"Killarney, Ireland",
			"KOA":"Kona/ Big Island, HI",
			"KRK":"Krakow, Poland",
			"LAS":"Las Vegas, NV",
			"LAX":"Los Angeles, CA",
			"LED":"St. Petersburg, Russia",
			"LIH":"Lihue/ Kauai, HI",
			"LIM":"Lima, Peru",
			"LIR":"Guanacaste/ Liberia, Costa Rica",
			"LIS":"Lisbon, Portugal",
			"LNY":"Lanai, HI",
			"LON":"London, England, UK",
			"LPL":"Liverpool, UK",
			"LRM":"La Romana, Dominican Republic",
			"LTO":"Loreto/ Baja California Sur, Mexico",
			"LUG":"Lugano, Switzerland",
			"LYN":"Lyon/ Bron, France",
			"MAD":"Madrid, Spain",
			"MAN":"Manchester, England, UK",
			"MAO":"Manaus, Brazil",
			"MBJ":"Montego Bay/ Negril/ Ocho, Jamaica",
			"MCM":"Monte Carlo, Monaco",
			"MCO":"Orlando, FL",
			"MDZ":"Mendoza, Argentina",
			"MEX":"Mexico City, Mexico",
			"MHH":"Marsh Harbour/ Abaco, Bahamas",
			"MIA":"Miami, FL",
			"MID":"Merida, Mexico",
			"MIL":"Milan, Italy",
			"MLB":"Melbourne, FL",
			"MRS":"Marseille, France",
			"MSY":"New Orleans, LA",
			"MTH":"Marathon/ Duck Key, FL",
			"MTY":"Monterrey, Mexico",
			"MUC":"Munich, Germany",
			"MVD":"Montevideo, Uruguay",
			"MZT":"Mazatlan, Mexico",
			"NAP":"Naples, Italy",
			"NAS":"Nassau/ Cable Beach/ Paradise Island",
			"NAT":"Natal, Brazil",
			"NCE":"Nice, France",
			"NEV":"Nevis",
			"NOC":"Knock, Ireland",
			"NYC":"New York City, NY",
			"OAX":"Oaxaca, Mexico",
			"ODB":"Cordoba, Spain",
			"OGG":"Maui/ Kahului, HI",
			"OPO":"Porto, Portugal",
			"ORK":"Cork, Ireland",
			"OSL":"Oslo, Norway",
			"OVD":"Oviedo, Asturias, Spain",
			"PAR":"Paris, France",
			"PBC":"Puebla, Mexico",
			"PBI":"West Palm Beach/ Boca Raton, FL",
			"PEG":"Perugia, Italy",
			"PHX":"Phoenix, AZ",
			"PLS":"Turks And Caicos/ Providenciales",
			"PMI":"Palma De Majorca, Spain",
			"PMO":"Palermo, Italy",
			"POP":"Puerto Plata, Dominican Republic",
			"PPT":"Tahiti, French Polynesia",
			"PRG":"Prague, Czech Republic",
			"PSA":"Pisa, Italy",
			"PSP":"Palm Springs, CA",
			"PTP":"Guadeloupe/ Pointe A Pitre",
			"PTY":"Panama City, Panama",
			"PUJ":"Punta Cana, Dominican Republic",
			"PVR":"Puerto Vallarta/ Nuevo, Mexico",
			"QLJ":"Lucerne, Switzerland",
			"QQX":"Bath, England, UK",
			"QRL":"Marbella, Spain",
			"QXB":"Aix En Provence, France",
			"REL":"Puerto Madryn, Argentina",
			"RGI":"Rangiroa, French Polynesia",
			"RHO":"Rhodes, Greece",
			"RNO":"Reno, Nevada",
			"ROM":"Rome, Italy",
			"RRO":"Sorrento, Italy",
			"RSW":"Ft. Myers/ Marco/ Naples/ Sanibel, FL",
			"SAL":"San Salavador, El Salvador",
			"SAN":"San Diego, CA",
			"SAY":"Siena, Italy",
			"SBH":"St. Barthelemy/ St. Barts",
			"SCL":"Santiago, Chile",
			"SDQ":"Santo Domingo, Dominican Republic",
			"SFO":"San Francisco, CA",
			"SJD":"San Jose Cabo/ Los Cabos, Mexico",
			"SJO":"San Jose, Costa Rica",
			"SJU":"San Juan, Puerto Rico",
			"SKB":"St. Kitts",
			"SNA":"Anaheim/ Orange County, CA",
			"SNN":"Shannon, Ireland",
			"SRQ":"Sarasota/ Longboat Key, FL",
			"SSA":"Salvador/ Bahia, Brazil",
			"STO":"Stockholm, Sweden",
			"STT":"St. Thomas/ St. John, USVI",
			"STX":"St. Croix, USVI",
			"SVO":"Moscow, Russia",
			"SVQ":"Seville, Spain",
			"SXM":"St. Martin/ Maarten",
			"SZG":"Salzburg, Austria",
			"TAB":"Tobago, Trinidad",
			"TCB":"Treasure Cay, Bahamas",
			"TLV":"Israel, Tel Aviv/ Eilat/ Jerusalem/ Haifa",
			"TPA":"Tampa/ St. Pete/ Clearwater, FL",
			"TUS":"Tucson, AZ",
			"TYM":"Staniel Cay, Bahamas",
			"USH":"Ushuaia, Argentina",
			"UVF":"St. Lucia",
			"VCE":"Venice, Italy",
			"VIE":"Vienna, Austria",
			"VIJ":"Virgin Gorda, BVI",
			"VLC":"Valencia, Spain",
			"VRS":"Versailles, France",
			"WAS":"Washington DC",
			"WAT":"Waterford, Ireland",
			"WAW":"Warsaw, Poland",
			"XRY":"Jerez De La Frontera, Spain",
			"YHZ":"Halifax/ Yarmouth/ Sydney, NS, Canada",
			"YOW":"Ottawa, ON, Canada",
			"YQB":"Quebec City/ La Malbaie, QC, Canada",
			"YQM":"Moncton, NB, Canada",
			"YUL":"Montreal/ Montebello, QC, Canada",
			"YVR":"Vancouver/ Whistler/ Victoria, BC, Canada",
			"YXC":"Cranbrook, Canada",
			"YYC":"Calgary/ Banff/ Lake Louise, AB, Canada",
			"YYG":"Charlottetown, PE, Canada",
			"YYT":"Newfoundland",
			"YYZ":"Toronto, ON, Canada",
			"ZAG":"Zagreb, Croatia",
			"ZIH":"Ixtapa/ Zihuatanejo, Mexico",
			"ZLO":"Manzanillo, Mexico",
			"ZRH":"Zurich, Switzerland"};

//aev
	this.CTNFAMDestMapping=
			{
			"CANADA":["BUF","YYC","YQB","YVR","YYZ"],
			"MEXICO":["PVR","CUN","CZM","SJD","ZIH","ACA"],
			"CENTRAL AMERICA":["SJO","BZE","GUA","LIR"],
			"CARIBBEAN":["MBJ","STT","SJU","STX","GCM","BDA","SXM","SKB","PLS","PUJ","AXA","AUA","NAS","BGI"],
			"UNITED STATES - ALL":["MIA","ASE","PBI","HNL","OGG","NYC","EYW","SFO","TPA","PHX","MCO","SAN","LIH","PSP","LNY","RSW","MTH","KOA"],
			"SOUTH AMERICA":["GIG"]};

//ctn
}

Destination.prototype.loadDestCitiesTo = function( listBox, pgm, ls ,destCity ){
	if( listBox ){			
		for(var r = 0; r < this.regions.length; r++ ){
			var reg = this.regions[r];
			var cities = this.destMapping[reg];
			if( pgm == 'CTN' && ls == 'FAM' ){
				cities = this.CTNFAMDestMapping[reg];				
			}
			if( cities ){
				if(destCity != null && destCity != ''){
					for( var d = 0; d < cities.length; d++ ){
						var dest = cities[d];
						if( this.destinations[dest] ){							
							if(dest == destCity){
								listBox.options[0] = new Option(this.destinations[dest],dest);
							}
						}
					}
				} else {					
					//listBox.options[0] = new Option('- Select a Destination City -','- Select a Destination City -');
					var oGroup = document.createElement('optgroup');
					oGroup.label = reg;
					for( var d = 0; d < cities.length; d++ ){
						var dest = cities[d];
						if( this.destinations[dest] ){
							var oOption = document.createElement('option');
							oOption.value = dest;
							oOption.innerHTML = this.destinations[dest];
							oGroup.appendChild(oOption);
						}
					}
					listBox.appendChild(oGroup);
				}
			}
		}
	}
};
Destination.prototype.loadPromoDests = function( listBox, prefRegs, prefDest ){
	if( listBox ){
		var cities = null;
		var oOption = null;
		if( prefDest != null && prefDest != 'null' && prefDest != '' ){
			// do nothing
		}
		else {
			oOption = document.createElement('option');
			oOption.value = '- Select a Destination City -';
			oOption.innerHTML = '- Select a Destination City -';
			listBox.appendChild(oOption);
		}
		for(var r = 0; r < this.regions.length; r++ ){
			cities = null;
			var reg = this.regions[r];
			if( prefRegs != null && prefRegs != 'null' && prefRegs != '' && prefRegs != 'ALL'){
				if( prefRegs.indexOf(reg) > -1 ){
					cities = this.destMapping[reg];
				}
			}
			else { 
				cities = this.destMapping[reg];
			}
			if( cities ){
				var oGroup = document.createElement('optgroup');
				oGroup.label = reg;
				for( var d = 0; d < cities.length; d++ ){
					var dest = cities[d];
					if( this.destinations[dest] ){
						oOption = document.createElement('option');
						oOption.value = dest;
						oOption.innerHTML = this.destinations[dest];
						if( prefDest == dest ){
							oOption.selected = true;
						}
						oGroup.appendChild(oOption);
					}
				}
				listBox.appendChild(oGroup);
			}
		}
		if( prefDest != null && prefDest != 'null' && prefDest != '' ){
			listBox.value = prefDest;
		}
	}
};
Destination.prototype.loadBookitDests = function( listBox, b_cities ){
	if( listBox && b_cities != null){			
		for(var r = 0; r < this.regions.length; r++ ){
			var reg = this.regions[r];
			var cities = this.destMapping[reg];
			if( cities ){
				if(b_cities != null && b_cities.length > 0 ){
					if( b_cities.length > 3 ){
						listBox.options[0] = new Option('- Select a Destination City -','- Select a Destination City -');
					}
					for( var d = 0; d < cities.length; d++ ){
						var dest = cities[d];
						if( this.destinations[dest] 
						  && b_cities.indexOf(dest) > -1 ){
							listBox.options[listBox.options.length] = new Option(this.destinations[dest],dest);
						}
					}
				}
			}
		}
	}
};

//For aevmanage
Destination.prototype.showDestList = function( listBox ){
	var dstContent = '';
	for(var r = 0; r < this.regions.length; r++ ){
		var reg = this.regions[r];
		var cities = this.destMapping[reg];
		if( cities ){
			for( var d = 0; d < cities.length; d++ ){
				var dest = cities[d];
				if( this.destinations[dest] ){
					dstContent += wrapDestItem(dest,this.destinations[dest]);
				}
			}
		}
	}
	$('#'+listBox).html(dstContent);
};
//For aevmanage
Destination.prototype.setDestNames = function( dests ){
	if( dests != null && dests.length > 0 ){
		var dlist = dests.split(',');
		for( var d = 0; d < dlist.length; d++ ){
			$('#'+dlist[d]).html(this.destinations[dlist[d]]);
		}
	}
};
//For aevmanage
function wrapDestItem(value,text){
	return '<div class="item style01 color04">'
			+ '<input type="checkbox" name="carr" class="itemCheck" value="'
			+ value + '"> '
			+ text 
			+ '</div>';
}