/// Build Airports
var Airports=buildAirports();
/// Build Countries
var Countries = buildCountries();

// Opens popup

function popup()
    {
        window.open("Airports.aspx",null, "scrollbars=1,location=0,toolbar=0,resizable=0,width=400,height=300,left=120,top=25","");
        return false;
    }

/// 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(
'KUL');
		apts[0]		= new airport( false, "AOR", "Alor Star", dests, "MY" );

		
		dests		= new Array(
'CGK','BKI','KUL','KCH');
		apts[1]		= new airport( false, "DPS", "Bali", dests, "ID" );

		
		dests		= new Array(
'CGK');
		apts[2]		= new airport( false, "BPN", "Balikpapan", dests, "ID" );

		
		dests		= new Array(
'KUL');
		apts[3]		= new airport( false, "BTJ", "Banda Aceh", dests, "ID" );

		
		dests		= new Array(
'KUL');
		apts[4]		= new airport( false, "BDO", "Bandung", dests, "ID" );

		
		dests		= new Array(
'CNX','CEI','HAN','HDY','SGN','CGK','JHB','KBV','KUL','MFM','NAW','PEN','PNH','HKT','UNN','SZX','SIN','URT','UBP','UTH','RGN');
		apts[5]		= new airport( false, "BKK", "Bangkok", dests, "TH" );

		
		dests		= new Array(
'CGK');
		apts[6]		= new airport( false, "BTH", "Batam", dests, "ID" );

		
		dests		= new Array(
'KUL','KCH');
		apts[7]		= new airport( false, "BTU", "Bintulu", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[8]		= new airport( false, "BWN", "Brunei", dests, "BN" );

		
		dests		= new Array(
'BKK','KUL');
		apts[9]		= new airport( false, "CNX", "Chiang Mai", dests, "TH" );

		
		dests		= new Array(
'BKK');
		apts[10]		= new airport( false, "CEI", "Chiang Rai", dests, "TH" );

		
		dests		= new Array(
'BKI','KUL');
		apts[11]		= new airport( false, "CRK", "Clark (Manila)", dests, "PH" );

		
		dests		= new Array(
'KUL');
		apts[12]		= new airport( false, "OOL", "Gold Coast (Brisbane)", dests, "AU" );

		
		dests		= new Array(
'KUL');
		apts[13]		= new airport( false, "CAN", "Guangzhou", dests, "CN" );

		
		dests		= new Array(
'KUL');
		apts[14]		= new airport( false, "HAK", "Haikou", dests, "CN" );

		
		dests		= new Array(
'KUL');
		apts[15]		= new airport( false, "HGH", "Hangzhou (Shanghai)", dests, "CN" );

		
		dests		= new Array(
'BKK','KUL');
		apts[16]		= new airport( false, "HAN", "Hanoi", dests, "VN" );

		
		dests		= new Array(
'BKK');
		apts[17]		= new airport( false, "HDY", "Hat Yai", dests, "TH" );

		
		dests		= new Array(
'BKK','KUL');
		apts[18]		= new airport( false, "SGN", "Ho Chi Minh", dests, "VN" );

		
		dests		= new Array(
'KUL');
		apts[19]		= new airport( false, "HKG", "Hong Kong", dests, "HK" );

		
		dests		= new Array(
'DPS','BPN','BKK','BTH','JHB','BKI','KUL','KCH','MES','PDG','PKU','PEN','SOC','SUB');
		apts[20]		= new airport( false, "CGK", "Jakarta", dests, "ID" );

		
		dests		= new Array(
'BKK','CGK','BKI','KUL','KCH','MFM','MES','MYY','PEN','SDK','SBW','SUB');
		apts[21]		= new airport( false, "JHB", "Johor Bahru", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[22]		= new airport( false, "KBR", "Kota Bharu", dests, "MY" );

		
		dests		= new Array(
'DPS','CRK','CGK','JHB','KUL','KCH','MFM','MYY','PEN','SDK','SZX','TWU');
		apts[23]		= new airport( false, "BKI", "Kota Kinabalu", dests, "MY" );

		
		dests		= new Array(
'BKK','KUL');
		apts[24]		= new airport( false, "KBV", "Krabi", dests, "TH" );

		
		dests		= new Array(
'AOR','DPS','BTJ','BDO','BKK','BTU','BWN','CNX','CRK','OOL','CAN','HAK','HGH','HAN','SGN','HKG','CGK','JHB','KBR','BKI','KBV','TGG','KUA','KCH','LBU','LGK','MFM','MES','MYY','PDG','PLM','PKU','PEN','PER','PNH','HKT','SDK','SZX','SBW','REP','SIN','SOC','SUB','TWU','VTE','JOG');
		apts[25]		= new airport( false, "KUL", "Kuala Lumpur LCCT", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[26]		= new airport( false, "TGG", "Kuala Terengganu", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[27]		= new airport( false, "KUA", "Kuantan", dests, "MY" );

		
		dests		= new Array(
'DPS','BTU','CGK','JHB','BKI','KUL','MFM','MYY','PEN','SBW');
		apts[28]		= new airport( false, "KCH", "Kuching", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[29]		= new airport( false, "LBU", "Labuan", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[30]		= new airport( false, "LGK", "Langkawi", dests, "MY" );

		
		dests		= new Array(
'BKK','JHB','BKI','KUL','KCH');
		apts[31]		= new airport( false, "MFM", "Macau", dests, "MO" );

		
		dests		= new Array(
'CGK','JHB','KUL','PEN');
		apts[32]		= new airport( false, "MES", "Medan", dests, "ID" );

		
		dests		= new Array(
'JHB','BKI','KUL','KCH');
		apts[33]		= new airport( false, "MYY", "Miri", dests, "MY" );

		
		dests		= new Array(
'BKK');
		apts[34]		= new airport( false, "NAW", "Narathiwat", dests, "TH" );

		
		dests		= new Array(
'CGK','KUL');
		apts[35]		= new airport( false, "PDG", "Padang", dests, "ID" );

		
		dests		= new Array(
'KUL');
		apts[36]		= new airport( false, "PLM", "Palembang", dests, "ID" );

		
		dests		= new Array(
'CGK','KUL');
		apts[37]		= new airport( false, "PKU", "Pekanbaru", dests, "ID" );

		
		dests		= new Array(
'BKK','CGK','JHB','BKI','KUL','KCH','MES');
		apts[38]		= new airport( false, "PEN", "Penang", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[39]		= new airport( false, "PER", "Perth", dests, "AU" );

		
		dests		= new Array(
'BKK','KUL');
		apts[40]		= new airport( false, "PNH", "Phnom Penh", dests, "KH" );

		
		dests		= new Array(
'BKK','KUL','SIN');
		apts[41]		= new airport( false, "HKT", "Phuket", dests, "TH" );

		
		dests		= new Array(
'BKK');
		apts[42]		= new airport( false, "UNN", "Ranong", dests, "TH" );

		
		dests		= new Array(
'JHB','BKI','KUL');
		apts[43]		= new airport( false, "SDK", "Sandakan", dests, "MY" );

		
		dests		= new Array(
'BKK','BKI','KUL');
		apts[44]		= new airport( false, "SZX", "Shenzhen", dests, "CN" );

		
		dests		= new Array(
'JHB','KUL','KCH');
		apts[45]		= new airport( false, "SBW", "Sibu", dests, "MY" );

		
		dests		= new Array(
'KUL');
		apts[46]		= new airport( false, "REP", "Siem Reap", dests, "KH" );

		
		dests		= new Array(
'BKK','KUL','HKT');
		apts[47]		= new airport( false, "SIN", "Singapore", dests, "SG" );

		
		dests		= new Array(
'CGK','KUL');
		apts[48]		= new airport( false, "SOC", "Solo", dests, "ID" );

		
		dests		= new Array(
'CGK','JHB','KUL');
		apts[49]		= new airport( false, "SUB", "Surabaya", dests, "ID" );

		
		dests		= new Array(
'BKK');
		apts[50]		= new airport( false, "URT", "Surat Thani", dests, "TH" );

		
		dests		= new Array(
'JHB','BKI','KUL');
		apts[51]		= new airport( false, "TWU", "Tawau", dests, "MY" );

		
		dests		= new Array(
'BKK');
		apts[52]		= new airport( false, "UBP", "Ubon Ratchathani", dests, "TH" );

		
		dests		= new Array(
'BKK');
		apts[53]		= new airport( false, "UTH", "Udon Thani", dests, "TH" );

		
		dests		= new Array(
'KUL');
		apts[54]		= new airport( false, "VTE", "Vientiane", dests, "LA" );

		
		dests		= new Array(
'BKK');
		apts[55]		= new airport( false, "RGN", "Yangon", dests, "MM" );

		
		dests		= new Array(
'KUL');
		apts[56]		= new airport( false, "JOG", "Yogyakarta", dests, "ID" );

        dests		= new Array(
'KUL');
		apts[57]		= new airport( false, "LHR", "United Kingdom", dests, "GBP" );

	

			return apts;
		}


/// COUntry
function country( c, n )
{
	this.code = c;
	this.name = n;
}
function buildCountries()
{
	var countries = new Array();
		countries[0] = new country ( "AU", "Australia" );
		
		countries[1] = new country ( "BN", "Brunei Darussalam" );
		
		countries[2] = new country ( "KH", "Cambodia" );
		
		countries[3] = new country ( "CN", "China" );
		
		countries[4] = new country ( "HK", "Hong Kong" );
		
		countries[5] = new country ( "ID", "Indonesia" );
		
		countries[6] = new country ( "LA", "Laos" );
		
		countries[7] = new country ( "MO", "Macau" );
		
		countries[8] = new country ( "MY", "Malaysia" );
		
		countries[9] = new country ( "MM", "Myanmar" );
		
		countries[10] = new country ( "PH", "Philippines" );
		
		countries[11] = new country ( "SG", "Singapore" );
		
		countries[12] = new country ( "TH", "Thailand" );
		
		countries[13] = new country ( "VN", "Vietnam" );		
		
		countries[14] = new country ( "LHR", "United Kingdom" );
	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.\nThank you.');	
		/*if(ignoreList.search(selected)<0)
		{
			
		}*/
	}
	
} 
