﻿/// Build Airports
var Airports=buildAirports();
/// Build Countries
var Countries = buildCountries();


/// ASP.NET Client ID
var aspID='';
function SetASPID(id)
{
	aspID=id;
}

///cmbFlightDeparture

function setFromSelectValue()
{
	//debugger
	resetDest("");
}

///cmbFlightArrive
function setToSelectValue()
{
	//debugger
	//setDest( "" );
}


function resetDest( mkt )
{
	/// Get the 
	var fromList= document.getElementById("selectFrom"); //document.getElementById(aspID+"_cmbFlightDeparture");

	//one roundtrip, this is called for market2, but we have hidden the controls
	if (!fromList)
	{
		return;
	}

	var toList		= document.getElementById("selectTo");
	var orig		= fromList.options[ fromList.selectedIndex ].value;
	var dest="";

	/// Set Destnation Value
	dest= toList.options[toList.selectedIndex].value; //eval( "document.mainForm._hdToSelect" + mkt + ".value" );

	if(orig == 'XXX' )
	{
		fromList.selectedIndex++;
		fromList.onchange();
		return;
	}
	
	//toList.length	= 1;
	while(toList.childNodes.length )
	{
		toList.removeChild(toList.childNodes[0] );
	}
	
	
	toList.options[0]		= new Option("- destination -");
	toList.options[0].value	= "-"

	if (fromList.selectedIndex == 0)
	{
		for ( var j = 0; j < Countries.length; j++ )
		{
			var opt_group = document.createElement( 'optgroup' );
			opt_group.label = Countries[j].name;
			for (var i = 0; i < Airports.length; i++)
			{
				if( Airports[i].country != Countries[j].code )
				{
					continue;
				}
				var opt_str = Airports[i].name;
				opt_str += " (" + Airports[i].code + ")";
				/*if ( searchPrefs.DISPLAY_AIRPORT_CITY_CODES == 'true' )
				{
					opt_str += " (" + Airports[i].code + ")";
				}*/
				var dest_option = document.createElement( 'option' );
				dest_option.innerHTML = opt_str;
				dest_option.value = Airports[i].code;
				if ( dest == Airports[i].code )
				{
					dest_option.selected = true;
				}
				opt_group.appendChild( dest_option );
			}
			toList.appendChild( opt_group );
		}
	}
	else
	{
		var air = getAirport(orig);
		for ( var j = 0; j < Countries.length; j++ )
		{
			var opt_group = document.createElement( 'optgroup' );
			opt_group.label = Countries[j].name;
			
			for (var i = 0; i < air.dests.length; i++)
			{
				
				dest_air = getAirport(air.dests[i]);
				
				if(dest_air.country != Countries[j].code )
				{
					continue;
				}
					
				var opt_str = dest_air.name;
				opt_str += " (" + dest_air.code + ")";
				
				/*if ( searchPrefs.DISPLAY_AIRPORT_CITY_CODES == 'true' )
				{
				opt_str += " (" + dest_air.code + ")";
				}*/
				//alert(dest_air.name);
				var dest_option = document.createElement( 'option' );
				dest_option.innerHTML = opt_str;
				dest_option.value = dest_air.code;
				if ( dest == dest_air.code )
				{
				dest_option.selected = true;
				}
				opt_group.appendChild( dest_option );
			}
			if( opt_group.childNodes.length )
			{
				toList.appendChild( opt_group );
			}
		}
	}
	//setDest( mkt );
}
function getAirport( code )
{
	var air;
	for (var i=0; i < Airports.length; i++)
	{
		if ( Airports[i].code == code )
		{
			air		= Airports[i];
			break;
		}
	}
	return air;
}



function airport(m, c, n, d, cc)
{
	this.mac		= m;
	this.code	= c;
	this.name	= n;
	this.dests	= d;
	this.country = cc;

	this.display	= function ()
	{
		var msg		=  "Airport: "
					+ "\n   code: " + this.code
					+ "\n   name: " + this.name
					+ "\n   dests: ";
		for (var i=0; i < this.dests.length; i++)
		{
			msg		+= "'" + this.dests[i] + "', ";
		}
		alert( msg );
	};
}

function buildAirports()
	{
		var apts	= new Array();
		var dests;

		
		dests		= new Array(
'BKK','KUL');
		apts[0]		= new airport( false, "KBV", "กระบี่", dests, "TH" );

		
		dests		= new Array(
'KBV','KUL','CGK','NST','NAW','PEN','PNH','HKT','MFM','JHB','RGN','SIN','URT','HDY','UTH','UBP','HAN','HKG','CEI','CNX','SZX','SGN','CAN','DPS','TPE');
		apts[1]		= new airport( false, "BKK", "กรุงเทพฯ (สุวรรณภูมิ)", dests, "TH" );

		
		dests		= new Array(
'KUL','BKK');
		apts[2]		= new airport( false, "CAN", "กวางโจว", dests, "CN" );

		
		dests		= new Array(
'KUL');
		apts[3]		= new airport( false, "TGG", "กัวลาตรังกานู", dests, "MY" );

		
		dests		= new Array('AOR','DPS','BTJ','BDO','BKK','BTU','BWN','CNX','CRK','OOL','CTU','CAN','KWL','HAK','HGH','HAN','SGN','HKG','CGK','JHB','KBR','BKI','KBV','TGG','KCH','LBU','LGK','MFM','UPG','MDC','MES','MEL','MYY','PDG','PLM','PKU','PEN','PER','PNH','HKT','SDK','SZX','SBW','REP','SIN','SOC','SUB','TWU','TRZ','VTE','JOG','STN','DAC','TSN','TPE','CMB','AUH');
		apts[4]		= new airport( false, "KUL", "กัวลาลัมเปอร์ LCCT", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[5]		= new airport( false, "KWL", "กุ้ยหลิน", dests, "CN" );

		
		dests		= new Array(
'KUL','CGK','SBW','BTU','PEN','MFM','MYY','JHB','SIN','BKI');
		apts[6]		= new airport( false, "KCH", "กูชิง", dests, "MY" );

		
		dests		= new Array(
'KUL','BKI');
		apts[7]		= new airport( false, "CRK", "คล้าก (มะนิลา)", dests, "PH" );

		
		dests		= new Array(
'KUL');
		apts[8]		= new airport( false, "KUA", "ควนตัน", dests, "MY" );

		
		dests		= new Array(
'BKK','KUL','KCH','BTH','BPN','DPS','PDG','PKU','PEN','UPG','JHB','JOG','SUB','MES','BKI','SIN','SGN','HKT');
		apts[9]		= new airport( false, "CGK", "จาการ์ตา", dests, "ID" );

		
		dests		= new Array(
'KUL','BKI');
		apts[10]		= new airport( false, "SDK", "ซานดากัน", dests, "MY" );

		
		dests		= new Array(
'KUL','KCH','JHB','BKI');
		apts[11]		= new airport( false, "SBW", "ซิบู", dests, "MY" );

		
		dests		= new Array(
'KUL','JHB','BKI');
		apts[12]		= new airport( false, "TWU", "ตาวาอู", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[13]		= new airport( false, "TRZ", "ติรุจิรัปปัลลิ", dests, "IN" );

		
		dests		= new Array(
'BKK');
		apts[14]		= new airport( false, "NST", "นครศรีธรมราช", dests, "TH" );

		
		dests		= new Array(
'BKK');
		apts[15]		= new airport( false, "NAW", "นราธิวาส", dests, "TH" );

		
		dests		= new Array(
'KUL');
		apts[16]		= new airport( false, "BWN", "บรูไน", dests, "BN" );

		
		dests		= new Array(
'KUL');
		apts[17]		= new airport( false, "BTJ", "บันดา อาเจะห์", dests, "ID" );

		
		dests		= new Array(
'KUL','SIN','DPS','MES');
		apts[18]		= new airport( false, "BDO", "บันดุง", dests, "ID" );

		
		dests		= new Array(
'CGK');
		apts[19]		= new airport( false, "BTH", "บาตัม", dests, "ID" );

		
		dests		= new Array(
'CGK');
		apts[20]		= new airport( false, "BPN", "บาลิกปาปัน", dests, "ID" );

		
		dests		= new Array(
'KUL','CGK','JHB','BKK','SIN','BDO');
		apts[21]		= new airport( false, "DPS", "บาหลี", dests, "ID" );

		
		dests		= new Array(
'KUL','KCH');
		apts[22]		= new airport( false, "BTU", "บินตูลู", dests, "MY" );

		
		dests		= new Array(
'KUL','CGK');
		apts[23]		= new airport( false, "PDG", "ปาดัง", dests, "ID" );

		
		dests		= new Array(
'KUL');
		apts[24]		= new airport( false, "PLM", "ปาเล็มบัง", dests, "ID" );

		
		dests		= new Array(
'KUL','CGK','SIN');
		apts[25]		= new airport( false, "PKU", "ปีกันบารู", dests, "ID" );

		
		dests		= new Array(
'BKK','KUL','KCH','CGK','JHB','MES','BKI','MFM','SIN','HKG');
		apts[26]		= new airport( false, "PEN", "ปีนัง", dests, "MY" );

		
		dests		= new Array(
'BKK','KUL');
		apts[27]		= new airport( false, "PNH", "พนมเปญ", dests, "KH" );

		
		dests		= new Array(
'BKK','KUL','SIN','HKG','CGK','MES','SGN','CNX');
		apts[28]		= new airport( false, "HKT", "ภูเก็ต", dests, "TH" );

		
		dests		= new Array(
'KUL','CGK');
		apts[29]		= new airport( false, "UPG", "มากัสซาร์", dests, "ID" );

		
		dests		= new Array(
'KUL');
		apts[30]		= new airport( false, "MDC", "มานาโด", dests, "ID" );

		
		dests		= new Array(
'BKK','KUL','KCH','BKI','PEN');
		apts[31]		= new airport( false, "MFM", "มาเก๊า", dests, "MO" );

		
		dests		= new Array(
'KUL','KCH','JHB','BKI');
		apts[32]		= new airport( false, "MYY", "มิริ", dests, "MY" );

		
		dests		= new Array(
'BKK','KUL','KCH','CGK','SBW','DPS','PEN','MYY','SUB','BKI');
		apts[33]		= new airport( false, "JHB", "ยะโฮร์ บาห์รู ", dests, "MY" );

		
		dests		= new Array(
'KUL','CGK','SIN');
		apts[34]		= new airport( false, "JOG", "ย็อกยาการ์ตา", dests, "ID" );

		
		dests		= new Array(
'BKK');
		apts[35]		= new airport( false, "RGN", "ย่างกุ้ง", dests, "MM" );

		
		dests		= new Array(
'KUL','BKK');
		apts[36]		= new airport( false, "TPE", "ไทเป", dests, "TW" );

		
		dests		= new Array(
'KUL','SIN');
		apts[37]		= new airport( false, "LGK", "ลังกาวี", dests, "MY" );

		
		dests		= new Array(
'KUL','BKI');
		apts[38]		= new airport( false, "LBU", "ลาบวน", dests, "MY" );

		
		dests		= new Array(
'BKK','KUL','KCH','PKU','HKT','BKI','CGK','JOG','BDO','DPS','PEN','LGK');
		apts[39]		= new airport( false, "SIN", "สิงคโปร์", dests, "SG" );

		
		dests		= new Array(
'KUL','CGK','JHB');
		apts[40]		= new airport( false, "SUB", "สุราบายา", dests, "ID" );

		
		dests		= new Array(
'BKK');
		apts[41]		= new airport( false, "URT", "สุราษฏร์ธานี", dests, "TH" );

		
		dests		= new Array(
'KUL');
		apts[42]		= new airport( false, "HGH", "หางโจว (เซี่ยงไฮ้)", dests, "CN" );

		
		dests		= new Array(
'BKK');
		apts[43]		= new airport( false, "HDY", "หาดใหญ่", dests, "TH" );

		
		dests		= new Array(
'KUL');
		apts[44]		= new airport( false, "AOR", "อลอร์ สตาร์", dests, "MY" );

		
		dests		= new Array(
'BKK');
		apts[45]		= new airport( false, "UTH", "อุดรธานี", dests, "TH" );

		
		dests		= new Array(
'BKK');
		apts[46]		= new airport( false, "UBP", "อุบลราชธานี", dests, "TH" );

		
		dests		= new Array(
'BKK','KUL');
		apts[47]		= new airport( false, "HAN", "ฮานอย", dests, "VN" );

		
		dests		= new Array(
'BKK','KUL','PEN','HKT');
		apts[48]		= new airport( false, "HKG", "ฮ่องกง", dests, "HK" );

		
		dests		= new Array(
'BKK');
		apts[49]		= new airport( false, "CEI", "เชียงราย", dests, "TH" );

		
		dests		= new Array(
'BKK','KUL','HKT');
		apts[50]		= new airport( false, "CNX", "เชียงใหม่ ", dests, "TH" );

		
		dests		= new Array(
'BKK','KUL','BKI');
		apts[51]		= new airport( false, "SZX", "เซินเจิน", dests, "CN" );

		
		dests		= new Array(
'KUL');
		apts[52]		= new airport( false, "PER", "เพิร์ธ", dests, "AU" );

		
		dests		= new Array(
'KUL','CGK','PEN','BDO','HKT');
		apts[53]		= new airport( false, "MES", "เมดาน", dests, "ID" );

		
		dests		= new Array(
'KUL');
		apts[54]		= new airport( false, "MEL", "เมลเบิร์น", dests, "AU" );

		
		dests		= new Array(
'KUL');
		apts[55]		= new airport( false, "VTE", "เวียงจันทน์", dests, "LA" );

		
		dests		= new Array(
'KUL');
		apts[56]		= new airport( false, "REP", "เสียมเรียบ", dests, "KH" );

		
		dests		= new Array(
'KUL');
		apts[57]		= new airport( false, "KBR", "โกตาบาห์รู", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[58]		= new airport( false, "OOL", "โกลด์โคสต์ (บริสเบน)", dests, "AU" );

		
		dests		= new Array(
'KUL','KCH','CRK','CGK','SDK','TWU','PEN','MFM','MYY','JHB','LBU','SIN','SZX','SBW');
		apts[59]		= new airport( false, "BKI", "โคตาคินาบาลู", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[60]		= new airport( false, "SOC", "โซโล", dests, "ID" );

		
		dests		= new Array(
'BKK','KUL','CGK','HKT');
		apts[61]		= new airport( false, "SGN", "โฮจิมินห์", dests, "VN" );

		
		dests		= new Array(
'KUL');
		apts[62]		= new airport( false, "HAK", "ไหโข่ว", dests, "CN" );
		
		
	dests		= new Array('KUL');
		apts[63]		= new airport( false, "STN", "ลอนดอน (Stansted)", dests, "GB" );
		
		
	dests		= new Array('KUL');
		apts[64]		= new airport( false, "DAC", "ธากา", dests, "BD" );
		
dests		= new Array('KUL');
		apts[65]		= new airport( false, "TSN", "เทียนจิน", dests, "CN" );

		dests = new Array('KUL');
		apts[66] = new airport(false, "CMB", "โคโลมโบ", dests, "SL");
		
				dests		= new Array('KUL');
		apts[67]		= new airport( false, "AUH", "อาบูดาบี", dests, "AE" );
		
				dests		= new Array('KUL');
		apts[68]		= new airport( false, "CTU", "เฉินตู", dests, "CN" );
		


			return apts;

		}
/// COUntry
function country( c, n )
{
	this.code = c;
	this.name = n;
}

	function buildCountries()
	{
		var countries = new Array();

		countries[0] = new country ( "AU", "ออสเตรเลีย" );
		
		countries[1] = new country ( "BD", "บันดาห์อาเจะห์" );
		
		countries[2] = new country ( "BN", "บรูไนดารุสซาราม " );
		
		countries[3] = new country ( "KH", "กัมพูชา" );
		
		countries[4] = new country ( "CN", "จีน" );
		
		countries[5] = new country ( "HK", "ฮ่องกง" );
		
		countries[6] = new country ( "IN", "อินเดีย" );
		
		countries[7] = new country ( "ID", "อินโดนีเซีย" );
		
		countries[8] = new country ( "LA", "ลาว" );
		
		countries[9] = new country ( "MO", "มาเก๊า" );
		
		countries[10] = new country ( "MY", "มาเลเซีย" );
		
		countries[11] = new country ( "MM", "พม่า" );
		
		countries[12] = new country ( "PH", "ฟิลิปปินส์" );

		countries[13] = new country("SG", "สิงคโปร์");

		countries[14] = new country("SL", "ศรีลังกา");
		
		countries[15] = new country ( "TW", "ไต้หวัน" );		
		
		countries[16] = new country ( "TH", "ประเทศไทย" );

		countries[17] = new country ( "GB", "สหราชอาณาจักร" );
		
		countries[18] = new country ( "VN", "เวียดนาม" );
		
		countries[19] = new country ( "AE", "สหรัฐอาหรับเอมิเรตส์" );

		
		return countries;
	}





function CountryWarning(obj)
{
	// Malaysia Airport list
	var ignoreList="AOR BTU JHB KBR BKI KUL TGG KCH LBU LGK MYY PEN SDK SBW TWU";
	var selected=obj.options[obj.selectedIndex].value;
	if(selected!='' && selected!=" ")
	{
	    alert('Please be reminded that you will be responsible for obtaining all entry, exit, health and other documents. If you are unsure of the requirements, we recommend that you contact the consulate/embassy of your desired destination before purchasing your seat.\n\nPlease also note that this booking EXCLUDES Special Service Request (Meals, Pre-book baggage, Seat Assignment). Special Service Request is chargeable and handled by the airline and you may book through online via Manage My Booking available at www.airasia.com or contact the airline directly in advance of the departure date for any special request. Please provide your flight booking reference (available in the package Confirmation Slip) to book these services in advance.\nThank you.');	
		/*if(ignoreList.search(selected)<0)
		{
			
		}*/
	}
	
} 
