<?xml version="1.0" encoding="utf-8" ?>











<Module>
<ModulePrefs title="Virgin Atlantic Flights" description="Book Virgin Atlantic flights to the USA, Caribbean, Africa, Asia, Australia, Mauritius and the UK from your Google homepage. Book your next Virgin Atlantic flight today." author="Virgin Atlantic Airways" author_email="Google.Info-vaa@fly.virgin.com" screenshot="http://www.virgin-atlantic.com/images/google/screenshot.png" thumbnail="http://www.virgin-atlantic.com/tridion/images/vaa_logo_small_tcm4-511884.gif" title_url="http://www.virgin-atlantic.com" category="tools" width="300" height="280">
<Require feature="interaction-tracking"/>
</ModulePrefs>
<UserPref datatype="hidden" name="aiturl"/>
<Content type="html"><![CDATA[



<script>

//Unavailable routes that should be removed from default routes
var unavailableRoutes = new Array();
//adding existing unavailable routes
unavailableRoutes = unavailableRoutes.concat(['CPTJNB', 'JNBCPT']);
//Singapore
unavailableRoutes = unavailableRoutes.concat(['SINADL', 'SINBNE', 'SINMEL', 'SINPER', 'SINSYD', 'ADLSIN', 'BNESIN', 'MELSIN', 'PERSIN', 'SYDSIN']);
//Virgin Blue
unavailableRoutes = unavailableRoutes.concat(['SYDADL', 'SYDBNE', 'SYDCBR', 'SYDMEL', 'SYDOOL', 'ADLSYD', 'BNESYD', 'CBRSYD', 'MELSYD', 'OOLSYD']);
//British Midland
unavailableRoutes = unavailableRoutes.concat(['LONAMS', 'LONLHRAMS', 'LONDUB', 'LONLHRDUB', 'LONBRU', 'LONLHRBRU','LONPMI', 'LONLHRPMI', 'LONNAP', 'LONLHRNAP', 'LONVCE', 'LONLHRVCE', 'LONHAJ', 'LONLHRHAJ', 'AMSLON', 'AMSLONLHR', 'DUBLON', 'DUBLONLHR', 'BRULON', 'BRULONLHR', 'PMILON', 'PMILONLHR', 'NAPLON', 'NAPLONLHR', 'VCELON', 'VCELONLHR','HAJLON', 'HAJLONLHR']);

/*
 * Removes the unavailable routes from default routes.
 */
function removeUnavailableRoutes() {
  for (var i = 0; i < unavailableRoutes.length; i++) {
    var unavailableRoute = unavailableRoutes[i];
    for (var j = 0; j < ourRoutes.length; j++) {
      var route = ourRoutes[j];
      if (route.departCity + route.arriveCity == unavailableRoute) {
        //remove the current route
        ourRoutes.splice(j, 1);
        break;
      }
    }
  }
}




function setUp(obDepartCity, obArriveCity, obCabin, ibDepartCity, ibArriveCity, ibCabin)
{
  removeUnavailableRoutes();
  
	
	if(checkDepartCities(obDepartCity,ibDepartCity) || !isDepartCity(obDepartCity)){
		obDepartCity = gatewayCityCode;
		defaultArrivalCity = 'LON';
		if(gatewayCityCode=='LON'){
			defaultArrivalCity = 'NYC';
		}
		obArriveCity = defaultArrivalCity;
		ibDepartCity = defaultArrivalCity;
		ibArriveCity = gatewayCityCode;
	}
	
	if(checkDepartCities(obDepartCity,ibDepartCity)){
		obDepartCity = 'LON';
		obArriveCity = 'NYC';
		ibDepartCity = 'NYC';
		ibArriveCity = 'LON';
	}

	if (!nonBookingPage){
		
		setCabinGroups();
		
		currentSearchOption = getSearchType();
	}

	
	doOutboundDeparture(obDepartCity);
	doOutboundArrival(obDepartCity, obArriveCity);

	
	if (detailedBookingPage)
	{
		doInboundDeparture(ibDepartCity);
		doInboundArrival(ibDepartCity, ibArriveCity);
	}

	doOutboundCabin(obCabin);
	if (!nonBookingPage){
		doInboundCabin(ibCabin);
	}

  if (getSearchType() == "milesPlusMoney") {
    document.main.isreturn[0].checked = true;
    document.main.isreturn[1].disabled = true;
  }
}




function doOutboundDeparture(departCity)
{

	var selected = 0;
	var optionIndex = 0;

	document.main.departure.options.length = 0;
	for (var i = 0; i < cityNames.length; i++)
	{
		var city = cityNames[i];

		if ((city.canDepart) && (isAllowedForBookingType(city))) {
			document.main.departure.options.length++;
			document.main.departure.options[optionIndex++] = new Option(city.name, city.code);

			if (city.code == departCity){
				selected = optionIndex - 1;
			}
		}
	}
	
	document.main.departure.options[selected].selected = true;
}


function doOutboundArrival(departCity, arrivalCity){
	populateArrivalDropdown(departCity, arrivalCity, document.main.arrival);
}


function doOutboundCabin(cabinId)
{
	var cabinList = getCabinList(true);
	

	clearOptions(document.main.classType);

	var selected = 0;
	
	var cabins = cabinGroups[cabinList];
	
	for (var i = 0; i < cabins.length; i++)
	{
		var cabin = cabins[i];

		document.main.classType.options[i] = new Option(cabin.myFriendlyName, cabin.myId);
		if (cabin.myId == cabinId) selected = i;
	}
	
	document.main.classType.options[selected].selected = true;

	
	checkOutboundCabins();
}


function doInboundDeparture(departCity)
{
	

	clearOptions(document.main.departureReturn);
	
	var selected = 0;
	var optionIndex = 0;

	
	var outboundDepartureCity = document.main.departure.options[document.main.departure.selectedIndex].value;

	for (var i = 0; i < cityNames.length; i++){
		var city = cityNames[i];

		if ((city.code != outboundDepartureCity) && isAllowedForBookingType(city)){
			document.main.departureReturn.options[optionIndex++] = new Option(city.name, city.code);

			if (city.code == departCity){
				selected = optionIndex - 1;
			}
		}
	}
	
	document.main.departureReturn.options[selected].selected = true;
}


function doInboundArrival(departCity, arrivalCity){
	populateArrivalDropdown(departCity, arrivalCity, document.main.arrivalReturn);
}


function populateArrivalDropdown(departCity, arrivalCity, arrivalDropdown){
	var searchType = getSearchType();

	
	clearOptions(arrivalDropdown);

	var optionIndex = 0;
	var cabinList = 0;
	var selected = 0;
	for (var i = 0; i < ourRoutes.length; i++)
	{
		var route = ourRoutes[i];

		
		if ((route.departCity == departCity) && allowsBookingType(route, searchType))
		{
			var cityName = getCityName(route.arriveCity)
			arrivalDropdown.options[optionIndex++] = new Option(cityName, route.arriveCity);
			
			if (route.arriveCity == arrivalCity)
			{
				selected = optionIndex - 1;
			}
		}
	}
	
	arrivalDropdown.options[selected].selected = true;
}


function doInboundCabin(cabinId){
	
	clearOptions(document.main.classTypeReturn);

	if (canMixCabins()){
		
		var outboundCabinId = document.main.classType.options[document.main.classType.selectedIndex].value;
		var outboundCabins = cabinGroups[getCabinList(true)];
		var flexible = false;

		
		for (var i = 0; i < outboundCabins.length; i++)
		{
			var cabin = outboundCabins[i];
			if (cabin.myId == outboundCabinId)
			{
				flexible = cabin.flexible;
			}
		}

		var optionIndex = 0;
		
		var inboundCabins = cabinGroups[getCabinList(false)];
		
		for (var i = 0; i < inboundCabins.length; i++)
		{
			var cabin = inboundCabins[i];
			
			
			if (flexible == cabin.flexible){
				var currentOption = new Option(cabin.myFriendlyName, cabin.myId);
				document.main.classTypeReturn.options[optionIndex++] = currentOption;
				if (cabin.myId == cabinId){
					currentOption.selected = true;
				}
			}
		}
	}
	else{
		

		
		
		trimClassTypeOptions();

		
		var outboundCabinId = document.main.classType.options[document.main.classType.selectedIndex].value;
		
		var inboundCabins = cabinGroups[getCabinList(false)];
		
		for (var i = 0; i < inboundCabins.length; i++)
		{
			var cabin = inboundCabins[i];

			if (cabin.myId == outboundCabinId)
			{
				document.main.classTypeReturn.options[0] = new Option(cabin.myFriendlyName, cabin.myId);
				break;
			}
		}
	}
}

function trimClassTypeOptions()
{
	
	var outboundSelected = document.main.classType.options.selectedIndex;

	clearOptions(document.main.classType);

	var outboundCabins = cabinGroups[getCabinList(true)];

	var inboundCabins = cabinGroups[getCabinList(false)];

	var optionIndex = 0;

	
	for (var i = 0; i < outboundCabins.length; i++)
	{
		var outboundCabin = outboundCabins[i];

		for (var j = 0; j < inboundCabins.length; j++)
		{
			var inboundCabin = inboundCabins[j];
			if (outboundCabin.myId == inboundCabin.myId)
			{
				document.main.classType.options[optionIndex++] = new Option(outboundCabin.myFriendlyName, outboundCabin.myId);
				break;
			}
		}
	}
	
	if (outboundSelected < document.main.classType.options.length) document.main.classType.options[outboundSelected].selected = true;
}



function checkOutboundCabins()
{
	var inboundCabinList = getCabinList(false);

	if (inboundCabinList != -1)
	{
		var inboundCabins = cabinGroups[inboundCabinList];

		if (inboundCabins[0].neither)
		{
			var outboundCabins = cabinGroups[getCabinList(true)];
			if (!outboundCabins[0].neither)
			{

				
				clearOptions(document.main.classType);

				var optionIndex = 0;
				
				for (var i = 0; i < outboundCabins.length; i++)
				{
					var cabin = outboundCabins[i];
					if (!cabin.flexible)
					{
						document.main.classType.options[optionIndex++] = new Option(cabin.myFriendlyName, cabin.myId);
					}
				}
			}
		}
	}
}


function isAllowedForBookingType(city){
	var searchType = getSearchType();

	if ((searchType == "milesPlusMoney") || (searchType == "redeemMiles")){
		for (var i = 0; i < ourRoutes.length; i++){
			var route = ourRoutes[i];
			if ((route.departCity == city.code) && allowsBookingType(route, searchType)){
				return true;
			}
		}
		return false;
	}
	else{
		return true;
	}
}


function allowsBookingType(route, searchType){
	if (searchType == "redeemMiles"){
		return route.allowsRedemption;
	}
	else if (searchType == "milesPlusMoney"){
		return route.allowsMPM;
	}
	else{
		return true;
	}
}


function getRoute(departCity, arriveCity)
{
	var route;

	
	
	if (departCity == '' || arriveCity == '')
	{
		route = -1;
	}
	else
	{
		for (var i = 0; i < ourRoutes.length; i++)
		{
			route = ourRoutes[i];
			if (route.departCity == departCity && route.arriveCity == arriveCity) break;
		}
	}
	return route;
}


function getCabinList(outbound){
	var depCityCode;
	var arrCityCode;
	
	var route;

	if (outbound){
		depCityCode = document.main.departure.value;
		arrCityCode = document.main.arrival.value;

	}
	else if (detailedBookingPage){
		depCityCode = document.main.departureReturn.value;
		arrCityCode = document.main.arrivalReturn.value;
	}
	else{
		depCityCode = document.main.arrival.value;
		arrCityCode = document.main.departure.value;
	}
	route = getRoute(depCityCode, arrCityCode);

	var cabinList;

	if (route != -1)
	{
		cabinList = route.cabinList;
	}
	else
	{
		cabinList = -1;
	}

	
	return cabinList;
}


function setCabinGroups(){
	var bookingType;
	var searchType = getSearchType();
	if ((searchType == "redeemMiles") || (searchType == "milesPlusMoney")){
		
		bookingType = 3;
	}
	else{
		bookingType = 1;
	}
	cabinGroups = allCabinGroups[bookingType];
}


function getSearchType(){
	return document.main.search_type.value;
}


function refreshDropdownsForBookingTypeChanged(){
	var currentObDep = document.main.departure.value;
	var obArr = document.main.arrival.value;
	var preserveInbound = true;

	doOutboundDeparture(currentObDep);
	
	if (currentObDep != document.main.departure.value){
		document.main.departure.value = gatewayCityCode;
		obArr = getDefaultArrival(gatewayCityCode);
		preserveInbound = false;
	}
	
	doOutboundArrival(document.main.departure.value, obArr);
	
	
	if (obArr != document.main.arrival.value){
		document.main.arrival.value = getDefaultArrival(document.main.departure.value);
		preserveInbound = false;
	}

	if (preserveInbound){
		if (detailedBookingPage){
			
			var currentIbDep = document.main.departureReturn.value;
			var ibArr = document.main.arrivalReturn.value;

			doInboundDeparture(currentIbDep);
			
			if (currentIbDep != document.main.departureReturn.value){
				document.main.departureReturn.value = document.main.arrival.value;
				ibArr = document.main.departure.value;
			}
			doInboundArrival(document.main.departureReturn.value, ibArr);
			
			
			if (ibArr != document.main.arrivalReturn.value){
				document.main.arrivalReturn.value = document.main.departure.value;
			}
		}
		
		doOutboundCabin(document.main.classType.value);
   		
		doInboundCabin(document.main.classTypeReturn.value);
	}
	else{
		
		obArrivalChanged();
	}
}




function obDepChanged()
{
	
	var departCity = document.main.departure.options[document.main.departure.selectedIndex].value;
	doOutboundArrival(departCity, getDefaultArrival(departCity));

	
	obArrivalChanged();
}


function obArrivalChanged(){
	
	if (detailedBookingPage)
	{
		
		doInboundDeparture(document.main.arrival.options[document.main.arrival.selectedIndex].value);

		
		ibDepChanged();
	}
	else{
		
		doOutboundCabin(document.main.classType.value);
		if (!nonBookingPage){
			
			doInboundCabin(document.main.classTypeReturn.value);
		}
	}
}


function obCabinChanged()
{
	
	doInboundCabin(document.main.classType.value);
}


function ibDepChanged()
{
	
	doInboundArrival(document.main.departureReturn.value, document.main.departure.value);

	
	ibArrivalChanged();

}


function ibArrivalChanged(){
	
	doOutboundCabin(document.main.classType.value);

    
	doInboundCabin(document.main.classTypeReturn.value);
}


function bookingTypeChanged(){
	var newlySelectedSearch = getSearchType();
	if (!(((newlySelectedSearch == "exact_date") && (currentSearchOption == "lowest_fare")) ||
		  ((newlySelectedSearch == "lowest_fare") && (currentSearchOption == "exact_date")))){

		setCabinGroups();

		refreshDropdownsForBookingTypeChanged();
	}

  	if (newlySelectedSearch == "milesPlusMoney") {
    	document.main.isreturn[0].checked = true;
    	document.main.isreturn[1].disabled = true;
    	doRoundTrip(true);
  	}
  	if (currentSearchOption == "milesPlusMoney") {
    	document.main.isreturn[1].disabled = false;
  	}

  	currentSearchOption = newlySelectedSearch;
}




function doRoundTrip(isRoundTrip)
{
	document.main.returnDate.disabled = !isRoundTrip;
    document.main.classTypeReturn.disabled = !isRoundTrip;
    if (detailedBookingPage){
    	document.main.departureReturn.disabled = !isRoundTrip;
		document.main.arrivalReturn.disabled = !isRoundTrip;
	}
}


function isMultiSector(depCityCode, arrCityCode){
	var route = getRoute(depCityCode, arrCityCode);

	return route.multiSector;
}


function canMixCabins(){
	var outboundRoute = getRoute(document.main.departure.value, document.main.arrival.value);
	var result = !outboundRoute.multiSector;

	if (result && detailedBookingPage){
		var inboundRoute = getRoute(document.main.departureReturn.value, document.main.arrivalReturn.value);
		result = !inboundRoute.multiSector;
	}

	return result;
}



function checkDepartCities(outBoundDepart, inBoundDepart){

	if(!checkDepartCity(outBoundDepart)){
		return true;
	}

	if(!checkDepartCity(inBoundDepart)){
		return true;
	}
	return false;
}


function checkDepartCity(departureCityName){

	for (var i = 0; i < ourRoutes.length; i++)
	{
		var route = ourRoutes[i];
		
		if (route.departCity == departureCityName)
		{
			return true;
		}
	}
	return false;
}


function isDepartCity(cityToDepart)
{
	for (var i = 0; i < cityNames.length; i++)
	{
		var city = cityNames[i];
		if(city.code == cityToDepart){
			if (city.canDepart) return true;
		}
	}
	return false;
}


function getCityName(cityCode)
{
	var city;
	
	for (var i=0; i < cityNames.length; i++)
	{
		city = cityNames[i];
		if (city.code == cityCode) break;
	}
	return city.name;
}



function getDefaultArrival(departCity){
	var arrivalCity;
	if (departCity.substring(0,3) == 'LON')
	{
		arrivalCity = 'NYC';
	}
	else if (departCity == 'MAN')
	{
		arrivalCity = 'MCO';
	}
	else
	{
		arrivalCity = 'LON';
	}
	return arrivalCity;
}


function clearOptions(theSelect){
	if (theSelect.type=='select-one')
	    while(theSelect.length>0)
	        theSelect.options[0]=null;
}





function CabinDetails(id, fn, flx, nei, sk)
{
    this.myId=id;
    this.myFriendlyName=fn;
	this.flexible = flx;
	this.neither = nei;
	this.sortKey = sk;
}


function City(cd, nm, cdp)
{
	this.code = cd;
	this.name = nm;
	this.canDepart = cdp;
}


function Route(dc, ac, cl, ms, allowsRedemption, allowsMPM)
{
    this.departCity = dc;
	this.arriveCity = ac;
	this.cabinList = cl;
	this.multiSector = ms;
	this.allowsRedemption = allowsRedemption;
	this.allowsMPM = allowsMPM;
}



function days_in_month (year, month)
{


	      return 32 - new Date(year, month, 32).getDate();

}




function onMonthYearChange(dayObject,monthObject,yearObject)
{
	onMonthYearChange2(dayObject,monthObject,yearObject);
}

function onMonthYearChangeExtra(dayObject,monthObject,yearObject){
	onMonthYearChange2(dayObject,monthObject,yearObject);
}

function onMonthYearChange2(dayObject,monthObject,yearObject)
{

	

	var monthSelected = monthObject;
	var yearSelected  = yearObject;
	monthSelected     = monthSelected-1;

	var days = days_in_month (yearSelected , monthSelected);

	var currentDays = dayObject.length;

	if(currentDays == days)
		return;

	if(currentDays < days)
	{

		var iSel = dayObject.selectedIndex;

		var diff = days - currentDays;
		for(var i=0; i<diff; i++)
		{
			dayObject.options[currentDays + i] = new Option(currentDays+i+1, currentDays+i+1);
		}
		dayObject.options[iSel].selected = true;

	}

	if(currentDays > days)
	{
		var iSel = dayObject.selectedIndex;

		dayObject.options.length = 0;

		for (var i=0; i<days; i++)
		{
			dayObject.options[dayObject.options.length] = new Option(i+1, i+1);
		}

		if (iSel > dayObject.options.length - 1)
		{
			iSel = dayObject.options.length - 1
		}

		dayObject.options[iSel].selected = true;
	}

}

function theMonthYearChange(dayObject,monthObject,yearObject)
	{


		var year=yearObject;
		if(monthObject==2)
		{

			year=2004;
		}
		onMonthYearChange(dayObject,monthObject,year)
	}

function monthChange(dayObject,monthYearObject)
{

	var the_string = monthYearObject;
	if(the_string=="None")
	{
		return;
	}
	var broken_up_string = the_string.split("/");

	var monthObject = broken_up_string[0];
	var yearObject = broken_up_string[1];
	
	
	onMonthYearChange3(dayObject,monthObject,yearObject);
}


function onMonthYearChange3(dayObject,monthObject,yearObject)
{

	

	var monthSelected = monthObject;
	var yearSelected  = yearObject;
	

	var days = days_in_month (yearSelected , monthSelected);
	

	var currentDays1 = dayObject.length-1;
	var currentDays = dayObject.length;


	if(currentDays1 == days)
		return;

	if(currentDays1 < days)
	{

		var iSel = dayObject.selectedIndex;

		var diff = days - currentDays1;
		for(var i=0; i<diff; i++)
		{
			dayObject.options[currentDays + i] = new Option(currentDays1+i+1, currentDays1+i+1);
		}
		dayObject.options[iSel].selected = true;

	}

	if(currentDays1 > days)
	{
		var iSel = dayObject.selectedIndex;

		dayObject.options.length = 0;
		dayObject.options[dayObject.options.length] = new Option("", -1);

		for (var i=0; i<days; i++)
		{
			dayObject.options[dayObject.options.length] = new Option(i+1, i+1);
		}

		if (iSel > dayObject.options.length - 1)
		{
			iSel = dayObject.options.length - 1
		}

		dayObject.options[iSel].selected = true;
	}

}


function advanceDepartureDateTo7Days(departureDay,countryId,returnDay,currentYear,currentMonth,currentDay,departureYear,departureMonth,returnMonth,returnYear)
{
	var year =currentYear;
 	var month =currentMonth;
	var day =currentDay;
	var dayAdvancedTo7Days=day+7;
	var daysInCurrentMonth = days_in_month(currentYear,currentMonth);
	var newDate = dayAdvancedTo7Days - daysInCurrentMonth ;
	var newMonth = currentMonth;
	if(dayAdvancedTo7Days > daysInCurrentMonth)
	{
		newMonth = currentMonth+1;
	}
	else
	{
		newDate =dayAdvancedTo7Days;
	}

	var departureDateWithin7Days=false;
	var returnDateWithin7Days=false;
	if(countryId == 10)
	{
		departureDateWithin7Days = isWithin7Days (year, month,day,departureYear.value, departureMonth.options[departureMonth.selectedIndex].value-1,departureDay.options[departureDay.selectedIndex].value,newDate,newMonth);
		returnDateWithin7Days = isWithin7Days (year, month,day,returnYear.value, returnMonth.options[returnMonth.selectedIndex].value-1,returnDay.options[returnDay.selectedIndex].value,newDate,newMonth);

		if(departureDateWithin7Days)
		{
			advanceDateTo7Days(departureDay,departureMonth,dayAdvancedTo7Days,daysInCurrentMonth,newMonth,newDate);
		}
		if(returnDateWithin7Days)
		{
			advanceDateTo7Days(returnDay,returnMonth,dayAdvancedTo7Days,daysInCurrentMonth,newMonth,newDate);
		}
	}
}


function isWithin7Days (currentYear, currentMonth,currentDay,tripYear, tripMonth,tripDay,newDate,newMonth)
{
		var currentDate=new Date(currentYear, currentMonth,currentDay).getDate();
		var tripDate=new Date(tripYear, tripMonth,tripDay).getDate();
		
		
		

		if(tripYear >= currentYear)
		{
			if(tripMonth > newMonth)
			{

				return false;

			}
			else if(tripMonth == newMonth)
			{
				
				if(tripDate > newDate)
				{
					return false;
				}
			}
		}

		return true;

}

function advanceDateTo7Days(day,month,dayAdvancedTo7Days,daysInCurrentMonth,newMonth,newDate)
{
	var newDate = 0;
	
	if(dayAdvancedTo7Days > daysInCurrentMonth)
	{
		newDate = dayAdvancedTo7Days - daysInCurrentMonth -1;

	}
	else
	{
		newDate = dayAdvancedTo7Days -1;

	}
	
	var tripMonth=month.options[month.selectedIndex].value-1;
	if(tripMonth < newMonth)
	{
		month = month.options[month.selectedIndex+1].selected =true;

		day.options[newDate].selected   = true;

	}
	else
	{
		day.options[newDate].selected   = true;

	}
}


function populateDaySelect(daySelect, nrDays, blankOption, selectedValue){
	daySelect.length = 0;
	if (blankOption){
		daySelect.options[daySelect.length] = new Option('', '');
	}
	for (i = 1; i <= nrDays; i++){
		daySelect.options[daySelect.length] = new Option(i, i);
	}
	if ((selectedValue != '') && (selectedValue > nrDays)){
		selectedValue = nrDays;
	}
	daySelect.value = selectedValue;
}








function popup(URL, scroll, width, height)
{
 day = new Date();
 id = day.getTime();

 popup(URL, scroll, width, height, id);
}

function popup(URL, scroll, width, height, id)
{
 eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=" + scroll + ",location=0,statusbar=0,menubar=1,resizable=1,width=" + width + ",height=" + height + "');")
}

function popUp1(URL)
{
 day = new Date();
 id = day.getTime();

 eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=1,resizable=1,width=344,height=270');");
}

function popUp2(URL)
{
 day = new Date();
 id = day.getTime();

 eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=1,resizable=1,width=455,height=270');");
}

function popup1(URL, scroll, width, height)
{
 day = new Date();
 id = day.getTime();

 eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=" + scroll + ",location=1,statusbar=1,menubar=1,resizable=1,width=" + width + ",height=" + height + "');");
}
 function doRoundTrip_v2(){

 	if (document.main.isreturn_checkbox.checked==true)
	{
        doRoundTrip(false);
		document.main.isreturn.value="no";
	}
	else
	{
	 doRoundTrip(true);
	 document.main.isreturn.value="yes";
 	}

}
</script>


<style>
#vaaAdvert
    {
        width:300px;
        background-color:#c00;
        color:white;
        display:block;
        font-family:tahoma, arial;
        font-size:90%;
        padding:2px;
    }

    #vaaAdvert img
    {
        border:0;
    }

    #vaaAdvert select
    {
        margin-bottom:2px;
    }
    .mainContent
    {
        padding:0px 5px 0;
    }

    .auralOnly
    {
        width:1px;
        height:1px;
        postion:absolute;
        left:-1000px;
        visability:hidden;
        overflow:none;
        display:none;
    }


    .vstyle {
		font-family: Tahoma, Helvetica, Arial, sans-serif;
		font-size: 11px;
		color: #ffffff;
	}
	.vheadstyle {
			font-family: Tahoma, Helvetica, Arial, sans-serif;
			font-size: 14px;
			color: #ffffff;
	}
	.cell {
		font-family: Tahoma, Helvetica, Arial, sans-serif;
		font-size: 11px;
		color: #000000;
	}

	.smlContainer
	{
		width:70px;
		float:left;
		text-align:left;
    }
	.smlContainerExtend
    {
        width:70px;
        float:left;
        text-align:left;
    }
</style>
<center>
<form id="vaaAdvert" method="get" action="http://www.virgin-atlantic.com/bookflightsandmore/bookflights/homeSearch.do" id="main" name="main" onsubmit="javascript:_IG_ReportInteraction();return fillReturnInfo();" target="_blank">

<div class="mainContent">
	<table width="100%" border="0" cellPadding="0" cellSpacing="0" class="vheadstyle">
		<tr>
		<td>
		<strong>Virgin Atlantic Flights</strong>
		</td>
		<td>
		<img src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/vaa_logo_small_tcm4-511884.gif" alt="Virgin Atlantic Airways" title="Virgin Atlantic Airways" height="32" width="101" />
		</td>
		</tr>
	</table>
	<div class="auralOnly">
    Please be aware that this form may contain dynamic elements that, when changed, may alter the contents of other fields in the form.
	</div>

	<div class="auralOnly">
    Updating the following field will cause Inbound Departure dropdownsto be updated.
	</div>
	<table width="100%" border="0" cellpadding="8" cellspacing="0">
     <tr>
	  <td align="left">

		<table width="100%" class="vstyle" border="0" cellpadding="0" cellspacing="0" summary="Home page booking form" style="margin-top:-5px; padding-top:0;">
      <tbody>
      
      
      
      <tr>
        <td>
          <div class="auralOnly">
            Updating the following field will cause Outbound Arrival dropdownto be updated.
          </div>
          <label for="departurepanel">From</label>
          <br />
          <select id="departurepanel" name="departure" onchange="obDepChanged();" class="cell" onmousewheel="return false;" ><option value="ADL">Adelaide</option><option value="ALB">Albany</option><option value="AMS">Amsterdam</option><option value="ANU">Antigua</option><option value="ATL">Atlanta</option><option value="BGI">Barbados</option><option value="BJS">Beijing</option><option value="BOS">Boston</option><option value="BNE">Brisbane</option><option value="BRU">Brussels</option><option value="CBR">Canberra</option><option value="CPT">Cape Town</option><option value="CHI">Chicago</option><option value="CLE">Cleveland</option><option value="DEL">Delhi</option><option value="DTT">Detroit</option><option value="DXB">Dubai</option><option value="DUB">Dublin</option><option value="DUR">Durban</option><option value="ELS">East London</option><option value="GLA">Glasgow</option><option value="OOL">Gold Coast</option><option value="GND">Grenada</option><option value="HAJ">Hanover</option><option value="HAV">Havana</option><option value="HKG">Hong Kong</option><option value="HOU">Houston</option><option value="JNB">Johannesburg</option><option value="KIN">Kingston</option><option value="LOS">Lagos</option><option value="LAS">Las Vegas</option><option selected="selected" value="LON">London All</option><option value="LONLGW">London Gatwick</option><option value="LONLHR">London Heathrow</option><option value="LAX">Los Angeles</option><option value="MAN">Manchester</option><option value="MRU">Mauritius</option><option value="MEL">Melbourne</option><option value="MIA">Miami</option><option value="MBJ">Montego Bay</option><option value="BOM">Mumbai</option><option value="NBO">Nairobi</option><option value="NYC">New York All</option><option value="NYCJFK">New York JFK</option><option value="NYCEWR">New York Newark</option><option value="ORL">Orlando</option><option value="PMI">Palma Mallorca</option><option value="PER">Perth</option><option value="PHX">Phoenix</option><option value="PLZ">Port Elizabeth</option><option value="PVD">Providence</option><option value="RDU">Raleigh Durham</option><option value="RIC">Richmond</option><option value="ROC">Rochester</option><option value="SFO">San Francisco</option><option value="SHA">Shanghai</option><option value="SIN">Singapore</option><option value="SLU">St Lucia</option><option value="SYD">Sydney</option><option value="TAB">Tobago</option><option value="TYO">Tokyo</option><option value="VCE">Venice</option><option value="WAS">Washington</option></select>
        </td>
        <td>
          Departing<br />
          <div class="auralOnly">
            <label for="departuredate">Outbound date</label>
          </div>
          <input id="departureDate" name="departureDate" type="text" value="DD/MM/YY" size="10" maxlength="8" class="cell" onclick="selectText(document.main.departureDate);" />	
          <div class="auralOnly">
            Updating the following field will cause 
            Outbound Departure Date
            to be updated.
          </div>
        </td>
       </tr>
       
       <tr>
        <td colspan="2">
          <label for="cabinoptionFrom">Cabin</label>
          <img src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/icon_info_tcm4-416347.gif" height="11" width="9" 
              alt="Pick (lowest) for the cheapest fare with the most restrictions or (flexible) if you might want to make changes to your ticket at a later date" 
              title="Pick (lowest) for the cheapest fare with the most restrictions or (flexible) if you might want to make changes to your ticket at a later date" />
          <br />
          <select id="classType" name="classType" onchange="obCabinChanged();" class="cell" onmousewheel="return false;" ><option selected="selected" value="6">Economy (lowest)</option><option value="5">Economy (flexible)</option><option value="4">Premium Economy (lowest)</option><option value="3">Premium Economy (flexible)</option><option value="2">Upper Class (lowest)</option><option value="1">Upper Class (flexible)</option></select>
          
          <input class="cell" onclick="doRoundTrip_v2();" type="checkbox" id="isreturn_checkbox" name="isreturn_checkbox"><label for="isReturn">One Way</label>
        </td>
      </tr>
      
      <tr>
        <td>
          <label for="arrivalpanel">To</label>
          <br />
          <select id="arrivalpanel" name="arrival" onchange="obArrivalChanged();" class="cell" onmousewheel="return false;" ><option value="ADL">Adelaide</option><option value="ALB">Albany</option><option value="AMS">Amsterdam</option><option value="ANU">Antigua</option><option value="ATL">Atlanta</option><option value="BGI">Barbados</option><option value="BJS">Beijing</option><option value="BOS">Boston</option><option value="BNE">Brisbane</option><option value="BRU">Brussels</option><option value="CBR">Canberra</option><option value="CPT">Cape Town</option><option value="CHI">Chicago</option><option value="CLE">Cleveland</option><option value="DEL">Delhi</option><option value="DTT">Detroit</option><option value="DXB">Dubai</option><option value="DUB">Dublin</option><option value="DUR">Durban</option><option value="ELS">East London</option><option value="GLA">Glasgow</option><option value="OOL">Gold Coast</option><option value="GND">Grenada</option><option value="HAJ">Hanover</option><option value="HAV">Havana</option><option value="HKG">Hong Kong</option><option value="HOU">Houston</option><option value="JNB">Johannesburg</option><option value="KIN">Kingston</option><option value="LOS">Lagos</option><option value="LAS">Las Vegas</option><option selected="selected" value="LON">London All</option><option value="LONLGW">London Gatwick</option><option value="LONLHR">London Heathrow</option><option value="LAX">Los Angeles</option><option value="MAN">Manchester</option><option value="MRU">Mauritius</option><option value="MEL">Melbourne</option><option value="MIA">Miami</option><option value="MBJ">Montego Bay</option><option value="BOM">Mumbai</option><option value="NBO">Nairobi</option><option value="NYC">New York All</option><option value="NYCJFK">New York JFK</option><option value="NYCEWR">New York Newark</option><option value="ORL">Orlando</option><option value="PMI">Palma Mallorca</option><option value="PER">Perth</option><option value="PHX">Phoenix</option><option value="PLZ">Port Elizabeth</option><option value="PVD">Providence</option><option value="RDU">Raleigh Durham</option><option value="RIC">Richmond</option><option value="ROC">Rochester</option><option value="SFO">San Francisco</option><option value="SHA">Shanghai</option><option value="SIN">Singapore</option><option value="SLU">St Lucia</option><option value="SYD">Sydney</option><option value="TAB">Tobago</option><option value="TYO">Tokyo</option><option value="VCE">Venice</option><option value="WAS">Washington</option></select>
        </td>
        <td>
          Returning<br />
          <div class="auralOnly">
            <label for="returndatepanel">Inbound date</label>
          </div>
          <input id="returnDate" name="returnDate" type="text" value="DD/MM/YY" size="10" maxlength="8" class="cell" onclick="selectText(document.main.returnDate);" />
          <div class="auralOnly">
            Updating the following field will cause 
            Inbound Departure Date
            to be updated.
          </div>
        </td>
       </tr>
       
       <tr>
        <td colspan="2">
          <label for="cabinoptionTo">Cabin</label>
          <img src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/icon_info_tcm4-416347.gif" height="11" width="9" 
              alt="Pick (lowest) for the cheapest fare with the most restrictions or (flexible) if you might want to make changes to your ticket at a later date" 
              title="Pick (lowest) for the cheapest fare with the most restrictions or (flexible) if you might want to make changes to your ticket at a later date" />
          <br />
          <select id="classTypeReturn" name="classTypeReturn" class="cell" onmousewheel="return false;" ><option selected="selected" value="6">Economy (lowest)</option><option value="5">Economy (flexible)</option><option value="4">Premium Economy (lowest)</option><option value="3">Premium Economy (flexible)</option><option value="2">Upper Class (lowest)</option><option value="1">Upper Class (flexible)</option></select>
          
        </td>
      </tr>
          
      <tr>
        <td colspan="2">
        <table width="90%" border="0" cellpadding="0" cellspacing="0" class="vstyle">
        <tr>
	<td>
          <div class="smlContainer">
            <label for="adultspanel">Adults</label>
            <img src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/icon_info_tcm4-416347.gif" alt="Age 12+" title="Age 12+" height="11" width="9" /><br />
            <div class="auralOnly">
              <label for="adultspanel">Number of adults</label>
            </div>
            <select id="adult" name="adult" class="cell" onmousewheel="return false;" ><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option></select>
            
          </div>

          <div class="smlContainerExtend">
            <label for="childpanel">Children</label>
            <img src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/icon_info_tcm4-416347.gif" alt="Children (2-11)" title="Children (2-11)" height="11" width="9" /><br />
            <div class="auralOnly">
              <label for="childpanel">Number of children</label>
            </div>
            <select id="child" name="child" class="cell" onmousewheel="return false;" ><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option></select>
            
          </div>

          <div class="smlContainerExtend">
            <label for="infantpanel">Infants</label>
            <img src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/icon_info_tcm4-416347.gif" alt="Infants (Under 2) do not occupy a seat" title="Infants (Under 2) do not occupy a seat" height="11" width="9" /><br />
            <div class="auralOnly">
              <label for="infantpanel">Number of infants</label>
            </div>
            <select id="infant" name="infant" class="cell" onmousewheel="return false;" ><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option></select>
            
          </div>

          <div style="clear: both;"></div>
        </td>
        </tr>

         <tr>
          <td align="right">
           <input id="bookflight" name="bookflight" type="image" src="/ig/proxy?url=http://www.virgin-atlantic.com/tridion/images/home_search_tcm4-416389.gif" alt="Search" />
           <br clear="all"/>
           <div style="clear: both;"></div>
          </td>
        </tr>
        </table>
        </td>
      </tr>
	</tbody>
    </table>

    </td>
    </tr>
    </table>

    <input id="isreturn" name="isreturn" type="hidden" value="yes" />
    <input id="departureReturnpanel" name="departureReturn" type="hidden" value="" />
    <input id="arrivalReturnpanel" name="arrivalReturn" type="hidden" value="" />
    <input id="bookingpanel" name="booking" type="hidden" value="light" />
    <input id="bookingpanel" name="WT.mc_id" type="hidden" value="gg_book1" />
    <input id="searchtype" name="search_type" type="hidden" value="lowest_fare" />
</div>
  </form>
  </center>

	



<script type="text/javascript">
<!--
	var detailedBookingPage=false;
	var nonBookingPage=false;
	var cabinGroups;
	var currentSearchOption = null;

	var cityNames = new Array(new City('ADL', 'Adelaide', true, 16),new City('ALB', 'Albany', true, 3),new City('AMS', 'Amsterdam', true, 28),new City('ANU', 'Antigua', true, 13),new City('ATL', 'Atlanta', true, 3),new City('BGI', 'Barbados', true, 14),new City('BJS', 'Beijing', false, 11),new City('BOS', 'Boston', true, 3),new City('BNE', 'Brisbane', true, 16),new City('BRU', 'Brussels', true, 30),new City('CBR', 'Canberra', true, 16),new City('CPT', 'Cape Town', true, 4),new City('CHI', 'Chicago', true, 3),new City('CLE', 'Cleveland', true, 3),new City('DEL', 'Delhi', true, 7),new City('DTT', 'Detroit', true, 3),new City('DXB', 'Dubai', true, 22),new City('DUB', 'Dublin', true, 29),new City('DUR', 'Durban', true, 4),new City('ELS', 'East London', true, 4),new City('GLA', 'Glasgow', true, 1),new City('OOL', 'Gold Coast', true, 16),new City('GND', 'Grenada', true, 19),new City('HAJ', 'Hanover', true, 33),new City('HAV', 'Havana', true, 23),new City('HKG', 'Hong Kong', true, 12),new City('HOU', 'Houston', true, 3),new City('JNB', 'Johannesburg', true, 4),new City('KIN', 'Kingston', true, 24),new City('LOS', 'Lagos', true, 10),new City('LAS', 'Las Vegas', true, 3),new City('LON', 'London All', true, 1),new City('LONLGW', 'London Gatwick', true, 1),new City('LONLHR', 'London Heathrow', true, 1),new City('LAX', 'Los Angeles', true, 3),new City('MAN', 'Manchester', true, 1),new City('MRU', 'Mauritius', true, 25),new City('MEL', 'Melbourne', true, 16),new City('MIA', 'Miami', true, 3),new City('MBJ', 'Montego Bay', true, 24),new City('BOM', 'Mumbai', true, 7),new City('NBO', 'Nairobi', true, 26),new City('NYC', 'New York All', true, 3),new City('NYCJFK', 'New York JFK', true, 3),new City('NYCEWR', 'New York Newark', true, 3),new City('ORL', 'Orlando', true, 3),new City('PMI', 'Palma Mallorca', true, 31),new City('PER', 'Perth', true, 16),new City('PHX', 'Phoenix', true, 3),new City('PLZ', 'Port Elizabeth', true, 4),new City('PVD', 'Providence', true, 3),new City('RDU', 'Raleigh Durham', true, 3),new City('RIC', 'Richmond', true, 3),new City('ROC', 'Rochester', true, 3),new City('SFO', 'San Francisco', true, 3),new City('SHA', 'Shanghai', true, 11),new City('SIN', 'Singapore', false, 18),new City('SLU', 'St Lucia', true, 15),new City('SYD', 'Sydney', true, 16),new City('TAB', 'Tobago', true, 20),new City('TYO', 'Tokyo', true, 6),new City('VCE', 'Venice', true, 32),new City('WAS', 'Washington', true, 3));


var ourRoutes = new Array(new Route('ADL', 'HKG', 8, true, false, false, false), new Route('ADL', 'LON', 8, true, false, false, false), new Route('ADL', 'LONLHR', 8, true, false, false, false), new Route('ADL', 'SYD', 8, false, false, false, false), new Route('ALB', 'LON', 3, true, false, false, false), new Route('ALB', 'LONLHR', 3, true, false, false, false), new Route('AMS', 'BOS', 3, true, false, false, false), new Route('AMS', 'CPT', 3, true, false, false, false), new Route('AMS', 'CHI', 3, true, false, false, false), new Route('AMS', 'DEL', 3, true, false, false, false), new Route('AMS', 'DXB', 3, true, false, false, false), new Route('AMS', 'JNB', 3, true, false, false, false), new Route('AMS', 'LOS', 3, true, false, false, false), new Route('AMS', 'LAX', 3, true, false, false, false), new Route('AMS', 'MIA', 3, true, false, false, false), new Route('AMS', 'BOM', 3, true, false, false, false), new Route('AMS', 'NBO', 3, true, false, false, false), new Route('AMS', 'NYC', 3, true, false, false, false), new Route('AMS', 'NYCJFK', 3, true, false, false, false), new Route('AMS', 'NYCEWR', 3, true, false, false, false), new Route('AMS', 'SFO', 3, true, false, false, false), new Route('AMS', 'SHA', 3, true, false, false, false), new Route('AMS', 'SYD', 3, true, false, false, false), new Route('AMS', 'TYO', 3, true, false, false, false), new Route('AMS', 'WAS', 3, true, false, false, false), new Route('ANU', 'CPT', 3, true, true, false, false), new Route('ANU', 'DEL', 3, true, true, false, false), new Route('ANU', 'DXB', 3, true, true, false, false), new Route('ANU', 'HKG', 3, true, true, false, false), new Route('ANU', 'JNB', 3, true, true, false, false), new Route('ANU', 'LOS', 3, true, true, false, false), new Route('ANU', 'LON', 1, false, true, true, true), new Route('ANU', 'LONLGW', 1, false, true, true, true), new Route('ANU', 'MRU', 3, true, true, false, false), new Route('ANU', 'BOM', 3, true, true, false, false), new Route('ANU', 'NBO', 3, true, true, false, false), new Route('ANU', 'SHA', 3, true, true, false, false), new Route('ANU', 'SIN', 5, true, false, false, false), new Route('ANU', 'SYD', 3, true, true, false, false), new Route('ANU', 'TYO', 3, true, true, false, false), new Route('ATL', 'LON', 3, true, false, false, false), new Route('ATL', 'LONLHR', 3, true, false, false, false), new Route('BGI', 'CPT', 3, true, true, false, false), new Route('BGI', 'DEL', 3, true, true, false, false), new Route('BGI', 'DXB', 3, true, true, false, false), new Route('BGI', 'HKG', 3, true, true, false, false), new Route('BGI', 'JNB', 3, true, true, false, false), new Route('BGI', 'LOS', 3, true, true, false, false), new Route('BGI', 'LON', 1, false, true, true, true), new Route('BGI', 'LONLGW', 1, false, true, true, true), new Route('BGI', 'LONLHR', 1, false, true, true, true), new Route('BGI', 'MAN', 1, false, true, true, true), new Route('BGI', 'MRU', 3, true, true, false, false), new Route('BGI', 'BOM', 3, true, true, false, false), new Route('BGI', 'NBO', 3, true, true, false, false), new Route('BGI', 'SHA', 3, true, true, false, false), new Route('BGI', 'SIN', 5, true, false, false, false), new Route('BGI', 'SYD', 3, true, true, false, false), new Route('BGI', 'TYO', 3, true, true, false, false), new Route('BJS', 'LON', 7, false, false, false, false), new Route('BJS', 'LONLHR', 7, false, false, false, false), new Route('BOS', 'AMS', 3, true, false, false, false), new Route('BOS', 'BRU', 3, true, false, false, false), new Route('BOS', 'CPT', 3, true, true, false, false), new Route('BOS', 'DEL', 3, true, true, false, false), new Route('BOS', 'DXB', 3, true, true, false, false), new Route('BOS', 'DUB', 3, true, false, false, false), new Route('BOS', 'HAJ', 3, true, false, false, false), new Route('BOS', 'HKG', 3, true, true, false, false), new Route('BOS', 'JNB', 3, true, true, false, false), new Route('BOS', 'LOS', 3, true, true, false, false), new Route('BOS', 'LON', 1, false, true, true, true), new Route('BOS', 'LONLHR', 1, false, true, true, true), new Route('BOS', 'MRU', 3, true, true, false, false), new Route('BOS', 'BOM', 3, true, true, false, false), new Route('BOS', 'NBO', 3, true, true, false, false), new Route('BOS', 'SHA', 3, true, true, false, false), new Route('BOS', 'SIN', 5, true, false, false, false), new Route('BOS', 'SYD', 3, true, true, false, false), new Route('BOS', 'TYO', 3, true, true, false, false), new Route('BNE', 'HKG', 8, true, false, false, false), new Route('BNE', 'LON', 8, true, false, false, false), new Route('BNE', 'LONLHR', 8, true, false, false, false), new Route('BNE', 'SYD', 8, false, false, false, false), new Route('BRU', 'BOS', 3, true, false, false, false), new Route('BRU', 'CPT', 3, true, false, false, false), new Route('BRU', 'CHI', 3, true, false, false, false), new Route('BRU', 'DEL', 3, true, false, false, false), new Route('BRU', 'DXB', 3, true, false, false, false), new Route('BRU', 'JNB', 3, true, false, false, false), new Route('BRU', 'LOS', 3, true, false, false, false), new Route('BRU', 'LAX', 3, true, false, false, false), new Route('BRU', 'MIA', 3, true, false, false, false), new Route('BRU', 'BOM', 3, true, false, false, false), new Route('BRU', 'NYC', 3, true, false, false, false), new Route('BRU', 'NYCJFK', 3, true, false, false, false), new Route('BRU', 'NYCEWR', 3, true, false, false, false), new Route('BRU', 'SFO', 3, true, false, false, false), new Route('BRU', 'SHA', 3, true, false, false, false), new Route('BRU', 'SYD', 3, true, false, false, false), new Route('BRU', 'TYO', 3, true, false, false, false), new Route('BRU', 'WAS', 3, true, false, false, false), new Route('CBR', 'HKG', 8, true, false, false, false), new Route('CBR', 'LON', 8, true, false, false, false), new Route('CBR', 'LONLHR', 8, true, false, false, false), new Route('CBR', 'SYD', 8, true, false, false, false), new Route('CPT', 'AMS', 3, true, false, false, false), new Route('CPT', 'ANU', 3, true, true, false, false), new Route('CPT', 'BGI', 3, true, true, false, false), new Route('CPT', 'BOS', 3, true, true, false, false), new Route('CPT', 'BRU', 3, true, false, false, false), new Route('CPT', 'CHI', 3, true, true, false, false), new Route('CPT', 'DEL', 3, true, true, false, false), new Route('CPT', 'DXB', 3, true, true, false, false), new Route('CPT', 'DUB', 3, true, false, false, false), new Route('CPT', 'GND', 3, true, true, false, false), new Route('CPT', 'HAJ', 3, true, false, false, false), new Route('CPT', 'HAV', 3, true, true, false, false), new Route('CPT', 'HKG', 3, true, true, false, false), new Route('CPT', 'JNB', 1, false, false, false, false), new Route('CPT', 'KIN', 3, true, true, false, false), new Route('CPT', 'LAS', 3, true, true, false, false), new Route('CPT', 'LON', 1, false, true, true, false), new Route('CPT', 'LONLHR', 1, false, true, true, false), new Route('CPT', 'LAX', 3, true, true, false, false), new Route('CPT', 'MIA', 3, true, true, false, false), new Route('CPT', 'MBJ', 3, true, true, false, false), new Route('CPT', 'BOM', 3, true, true, false, false), new Route('CPT', 'NYC', 3, true, true, false, false), new Route('CPT', 'NYCJFK', 3, true, true, false, false), new Route('CPT', 'NYCEWR', 3, true, true, false, false), new Route('CPT', 'ORL', 3, true, true, false, false), new Route('CPT', 'SFO', 3, true, true, false, false), new Route('CPT', 'SHA', 3, true, true, false, false), new Route('CPT', 'SIN', 5, true, false, false, false), new Route('CPT', 'SLU', 3, true, true, false, false), new Route('CPT', 'SYD', 3, true, true, false, false), new Route('CPT', 'TAB', 3, true, true, false, false), new Route('CPT', 'TYO', 3, true, true, false, false), new Route('CPT', 'VCE', 3, true, false, false, false), new Route('CPT', 'WAS', 3, true, true, false, false), new Route('CHI', 'AMS', 3, true, false, false, false), new Route('CHI', 'BRU', 3, true, false, false, false), new Route('CHI', 'CPT', 3, true, true, false, false), new Route('CHI', 'DEL', 3, true, true, false, false), new Route('CHI', 'DXB', 3, true, true, false, false), new Route('CHI', 'DUB', 3, true, false, false, false), new Route('CHI', 'HAJ', 3, true, false, false, false), new Route('CHI', 'HKG', 3, true, true, false, false), new Route('CHI', 'JNB', 3, true, true, false, false), new Route('CHI', 'LOS', 3, true, true, false, false), new Route('CHI', 'LON', 1, false, true, true, true), new Route('CHI', 'LONLHR', 1, false, true, true, true), new Route('CHI', 'MRU', 3, true, true, false, false), new Route('CHI', 'BOM', 3, true, true, false, false), new Route('CHI', 'NBO', 3, true, true, false, false), new Route('CHI', 'SHA', 3, true, true, false, false), new Route('CHI', 'SIN', 3, true, false, false, false), new Route('CHI', 'SYD', 3, true, true, false, false), new Route('CHI', 'TYO', 3, true, true, false, false), new Route('CLE', 'LON', 3, true, false, false, false), new Route('CLE', 'LONLHR', 3, true, false, false, false), new Route('DEL', 'AMS', 3, true, false, false, false), new Route('DEL', 'ANU', 3, true, true, false, false), new Route('DEL', 'BGI', 3, true, true, false, false), new Route('DEL', 'BOS', 3, true, true, false, false), new Route('DEL', 'BRU', 3, true, false, false, false), new Route('DEL', 'CPT', 3, true, true, false, false), new Route('DEL', 'CHI', 3, true, true, false, false), new Route('DEL', 'DUB', 3, true, false, false, false), new Route('DEL', 'GND', 3, true, true, false, false), new Route('DEL', 'HAJ', 3, true, false, false, false), new Route('DEL', 'HAV', 3, true, true, false, false), new Route('DEL', 'HKG', 3, true, false, false, false), new Route('DEL', 'JNB', 3, true, true, false, false), new Route('DEL', 'KIN', 3, true, true, false, false), new Route('DEL', 'LOS', 3, true, true, false, false), new Route('DEL', 'LAS', 3, true, true, false, false), new Route('DEL', 'LON', 1, false, true, false, false), new Route('DEL', 'LONLHR', 1, false, true, false, false), new Route('DEL', 'LAX', 3, true, true, false, false), new Route('DEL', 'MRU', 3, true, true, false, false), new Route('DEL', 'MIA', 3, true, true, false, false), new Route('DEL', 'MBJ', 3, true, true, false, false), new Route('DEL', 'NBO', 3, true, true, false, false), new Route('DEL', 'NYC', 3, true, true, false, false), new Route('DEL', 'NYCJFK', 3, true, true, false, false), new Route('DEL', 'NYCEWR', 3, true, true, false, false), new Route('DEL', 'ORL', 3, true, true, false, false), new Route('DEL', 'SFO', 3, true, true, false, false), new Route('DEL', 'SHA', 3, true, false, false, false), new Route('DEL', 'SIN', 3, true, false, false, false), new Route('DEL', 'SLU', 3, true, true, false, false), new Route('DEL', 'SYD', 3, true, true, false, false), new Route('DEL', 'TAB', 3, true, true, false, false), new Route('DEL', 'TYO', 3, true, false, false, false), new Route('DEL', 'VCE', 3, true, false, false, false), new Route('DEL', 'WAS', 3, true, true, false, false), new Route('DTT', 'LON', 3, true, false, false, false), new Route('DTT', 'LONLHR', 3, true, false, false, false), new Route('DXB', 'AMS', 3, true, false, false, false), new Route('DXB', 'ANU', 3, true, true, false, false), new Route('DXB', 'BGI', 3, true, true, false, false), new Route('DXB', 'BOS', 3, true, true, false, false), new Route('DXB', 'BRU', 3, true, false, false, false), new Route('DXB', 'CPT', 3, true, true, false, false), new Route('DXB', 'CHI', 3, true, true, false, false), new Route('DXB', 'DUB', 3, true, false, false, false), new Route('DXB', 'GND', 3, true, true, false, false), new Route('DXB', 'HAJ', 3, true, false, false, false), new Route('DXB', 'HAV', 3, true, true, false, false), new Route('DXB', 'HKG', 3, true, true, false, false), new Route('DXB', 'JNB', 3, true, true, false, false), new Route('DXB', 'KIN', 3, true, true, false, false), new Route('DXB', 'LOS', 3, true, true, false, false), new Route('DXB', 'LAS', 3, true, true, false, false), new Route('DXB', 'LON', 1, false, true, false, true), new Route('DXB', 'LONLHR', 1, false, true, false, true), new Route('DXB', 'LAX', 3, true, true, false, false), new Route('DXB', 'MRU', 3, true, true, false, false), new Route('DXB', 'MIA', 3, true, true, false, false), new Route('DXB', 'MBJ', 3, true, true, false, false), new Route('DXB', 'NBO', 1, true, true, false, false), new Route('DXB', 'NYC', 3, true, true, false, false), new Route('DXB', 'NYCJFK', 3, true, true, false, false), new Route('DXB', 'NYCEWR', 3, true, true, false, false), new Route('DXB', 'ORL', 3, true, true, false, false), new Route('DXB', 'PMI', 3, true, false, false, false), new Route('DXB', 'SFO', 3, true, true, false, false), new Route('DXB', 'SHA', 3, true, true, false, false), new Route('DXB', 'SLU', 3, true, true, false, false), new Route('DXB', 'SYD', 3, true, true, false, false), new Route('DXB', 'TAB', 3, true, true, false, false), new Route('DXB', 'TYO', 3, true, true, false, false), new Route('DXB', 'WAS', 3, true, true, false, false), new Route('DUB', 'BOS', 3, true, false, false, false), new Route('DUB', 'CPT', 3, true, false, false, false), new Route('DUB', 'CHI', 3, true, false, false, false), new Route('DUB', 'DEL', 3, true, false, false, false), new Route('DUB', 'DXB', 3, true, false, false, false), new Route('DUB', 'JNB', 3, true, false, false, false), new Route('DUB', 'LOS', 3, true, false, false, false), new Route('DUB', 'LAX', 3, true, false, false, false), new Route('DUB', 'MIA', 3, true, false, false, false), new Route('DUB', 'BOM', 3, true, false, false, false), new Route('DUB', 'NBO', 3, true, false, false, false), new Route('DUB', 'NYC', 3, true, false, false, false), new Route('DUB', 'NYCJFK', 3, true, false, false, false), new Route('DUB', 'NYCEWR', 3, true, false, false, false), new Route('DUB', 'SFO', 3, true, false, false, false), new Route('DUB', 'SHA', 3, true, false, false, false), new Route('DUB', 'SYD', 3, true, false, false, false), new Route('DUB', 'TYO', 3, true, false, false, false), new Route('DUB', 'WAS', 3, true, false, false, false), new Route('DUR', 'LON', 1, true, false, false, false), new Route('DUR', 'LONLHR', 1, true, false, false, false), new Route('ELS', 'LON', 1, true, false, false, false), new Route('ELS', 'LONLHR', 1, true, false, false, false), new Route('GLA', 'ORL', 1, false, true, false, true), new Route('OOL', 'HKG', 8, true, false, false, false), new Route('OOL', 'LON', 8, true, false, false, false), new Route('OOL', 'LONLHR', 8, true, false, false, false), new Route('OOL', 'SYD', 8, true, false, false, false), new Route('GND', 'CPT', 3, true, true, false, false), new Route('GND', 'DEL', 3, true, true, false, false), new Route('GND', 'DXB', 3, true, true, false, false), new Route('GND', 'HKG', 3, true, true, false, false), new Route('GND', 'JNB', 3, true, true, false, false), new Route('GND', 'LOS', 3, true, true, false, false), new Route('GND', 'LON', 1, false, true, true, true), new Route('GND', 'LONLGW', 1, false, true, true, true), new Route('GND', 'MRU', 3, true, true, false, false), new Route('GND', 'BOM', 3, true, true, false, false), new Route('GND', 'NBO', 3, true, true, false, false), new Route('GND', 'SHA', 3, true, true, false, false), new Route('GND', 'SIN', 5, true, false, false, false), new Route('GND', 'SYD', 3, true, true, false, false), new Route('GND', 'TYO', 3, true, true, false, false), new Route('HAJ', 'BOS', 3, true, false, false, false), new Route('HAJ', 'CPT', 3, true, false, false, false), new Route('HAJ', 'CHI', 3, true, false, false, false), new Route('HAJ', 'DEL', 3, true, false, false, false), new Route('HAJ', 'DXB', 3, true, false, false, false), new Route('HAJ', 'JNB', 3, true, false, false, false), new Route('HAJ', 'LAX', 3, true, false, false, false), new Route('HAJ', 'MIA', 3, true, false, false, false), new Route('HAJ', 'BOM', 3, true, false, false, false), new Route('HAJ', 'NYC', 3, true, false, false, false), new Route('HAJ', 'NYCJFK', 3, true, false, false, false), new Route('HAJ', 'NYCEWR', 3, true, false, false, false), new Route('HAJ', 'SFO', 3, true, false, false, false), new Route('HAJ', 'SHA', 3, true, false, false, false), new Route('HAJ', 'SYD', 3, true, false, false, false), new Route('HAJ', 'TYO', 3, true, false, false, false), new Route('HAJ', 'WAS', 3, true, false, false, false), new Route('HAV', 'CPT', 3, true, true, false, false), new Route('HAV', 'DEL', 3, true, true, false, false), new Route('HAV', 'DXB', 3, true, true, false, false), new Route('HAV', 'HKG', 3, true, true, false, false), new Route('HAV', 'JNB', 3, true, true, false, false), new Route('HAV', 'LOS', 3, true, true, false, false), new Route('HAV', 'LON', 1, false, true, true, true), new Route('HAV', 'LONLGW', 1, false, true, true, true), new Route('HAV', 'MRU', 3, true, true, false, false), new Route('HAV', 'BOM', 3, true, true, false, false), new Route('HAV', 'NBO', 3, true, true, false, false), new Route('HAV', 'SHA', 3, true, true, false, false), new Route('HAV', 'SYD', 3, true, true, false, false), new Route('HAV', 'TYO', 3, true, true, false, false), new Route('HKG', 'ADL', 8, true, false, false, false), new Route('HKG', 'ANU', 3, true, true, false, false), new Route('HKG', 'BGI', 3, true, true, false, false), new Route('HKG', 'BOS', 3, true, true, false, false), new Route('HKG', 'BNE', 8, true, false, false, false), new Route('HKG', 'CBR', 8, true, false, false, false), new Route('HKG', 'CPT', 3, true, true, false, false), new Route('HKG', 'CHI', 3, true, true, false, false), new Route('HKG', 'DEL', 3, true, false, false, false), new Route('HKG', 'DXB', 3, true, true, false, false), new Route('HKG', 'OOL', 8, true, false, false, false), new Route('HKG', 'GND', 3, true, true, false, false), new Route('HKG', 'HAV', 3, true, true, false, false), new Route('HKG', 'JNB', 3, true, true, false, false), new Route('HKG', 'KIN', 3, true, true, false, false), new Route('HKG', 'LOS', 3, true, true, false, false), new Route('HKG', 'LAS', 3, true, true, false, false), new Route('HKG', 'LON', 1, false, true, false, true), new Route('HKG', 'LONLHR', 1, false, true, false, true), new Route('HKG', 'LAX', 3, true, true, false, false), new Route('HKG', 'MRU', 3, true, true, false, false), new Route('HKG', 'MEL', 8, true, false, false, false), new Route('HKG', 'MIA', 3, true, true, false, false), new Route('HKG', 'MBJ', 3, true, true, false, false), new Route('HKG', 'NBO', 1, true, true, false, false), new Route('HKG', 'NYC', 3, true, true, false, false), new Route('HKG', 'NYCJFK', 3, true, true, false, false), new Route('HKG', 'NYCEWR', 3, true, true, false, false), new Route('HKG', 'ORL', 3, true, true, false, false), new Route('HKG', 'SFO', 3, true, true, false, false), new Route('HKG', 'SLU', 3, true, true, false, false), new Route('HKG', 'SYD', 1, false, true, false, true), new Route('HKG', 'TAB', 3, true, true, false, false), new Route('HKG', 'WAS', 3, true, true, false, false), new Route('HOU', 'LON', 3, true, false, false, false), new Route('HOU', 'LONLHR', 3, true, false, false, false), new Route('JNB', 'AMS', 3, true, false, false, false), new Route('JNB', 'ANU', 3, true, true, false, false), new Route('JNB', 'BGI', 3, true, true, false, false), new Route('JNB', 'BOS', 3, true, true, false, false), new Route('JNB', 'BRU', 3, true, false, false, false), new Route('JNB', 'CPT', 1, false, false, false, false), new Route('JNB', 'CHI', 3, true, true, false, false), new Route('JNB', 'DEL', 3, true, true, false, false), new Route('JNB', 'DXB', 3, true, true, false, false), new Route('JNB', 'DUB', 3, true, false, false, false), new Route('JNB', 'GND', 3, true, true, false, false), new Route('JNB', 'HAJ', 3, true, false, false, false), new Route('JNB', 'HAV', 3, true, true, false, false), new Route('JNB', 'HKG', 3, true, true, false, false), new Route('JNB', 'KIN', 3, true, true, false, false), new Route('JNB', 'LAS', 3, true, true, false, false), new Route('JNB', 'LON', 1, false, true, true, false), new Route('JNB', 'LONLHR', 1, false, true, true, false), new Route('JNB', 'LAX', 3, true, true, false, false), new Route('JNB', 'MIA', 3, true, true, false, false), new Route('JNB', 'MBJ', 3, true, true, false, false), new Route('JNB', 'BOM', 3, true, true, false, false), new Route('JNB', 'NYC', 3, true, true, false, false), new Route('JNB', 'NYCJFK', 3, true, true, false, false), new Route('JNB', 'NYCEWR', 3, true, true, false, false), new Route('JNB', 'ORL', 3, true, true, false, false), new Route('JNB', 'SFO', 3, true, true, false, false), new Route('JNB', 'SHA', 3, true, true, false, false), new Route('JNB', 'SLU', 3, true, true, false, false), new Route('JNB', 'SYD', 3, true, true, false, false), new Route('JNB', 'TAB', 3, true, true, false, false), new Route('JNB', 'TYO', 3, true, true, false, false), new Route('JNB', 'VCE', 3, true, false, false, false), new Route('JNB', 'WAS', 3, true, true, false, false), new Route('KIN', 'CPT', 3, true, true, false, false), new Route('KIN', 'DEL', 3, true, true, false, false), new Route('KIN', 'DXB', 3, true, true, false, false), new Route('KIN', 'HKG', 3, true, true, false, false), new Route('KIN', 'JNB', 3, true, true, false, false), new Route('KIN', 'LOS', 3, true, true, false, false), new Route('KIN', 'LON', 1, false, true, true, true), new Route('KIN', 'LONLGW', 1, false, true, true, true), new Route('KIN', 'MRU', 3, true, true, false, false), new Route('KIN', 'BOM', 3, true, true, false, false), new Route('KIN', 'NBO', 3, true, true, false, false), new Route('KIN', 'SHA', 3, true, true, false, false), new Route('KIN', 'SYD', 3, true, true, false, false), new Route('KIN', 'TYO', 3, true, true, false, false), new Route('LOS', 'AMS', 3, true, false, false, false), new Route('LOS', 'ANU', 3, true, true, false, false), new Route('LOS', 'BGI', 3, true, true, false, false), new Route('LOS', 'BOS', 3, true, true, false, false), new Route('LOS', 'BRU', 3, true, false, false, false), new Route('LOS', 'CHI', 3, true, true, false, false), new Route('LOS', 'DEL', 3, true, true, false, false), new Route('LOS', 'DXB', 3, true, true, false, false), new Route('LOS', 'DUB', 3, true, false, false, false), new Route('LOS', 'GND', 3, true, true, false, false), new Route('LOS', 'HAV', 3, true, true, false, false), new Route('LOS', 'HKG', 3, true, true, false, false), new Route('LOS', 'KIN', 3, true, true, false, false), new Route('LOS', 'LAS', 3, true, true, false, false), new Route('LOS', 'LON', 1, false, true, true, false), new Route('LOS', 'LONLHR', 1, false, true, true, false), new Route('LOS', 'LAX', 3, true, true, false, false), new Route('LOS', 'MIA', 3, true, true, false, false), new Route('LOS', 'MBJ', 3, true, true, false, false), new Route('LOS', 'BOM', 3, true, true, false, false), new Route('LOS', 'NYC', 3, true, true, false, false), new Route('LOS', 'NYCJFK', 3, true, true, false, false), new Route('LOS', 'NYCEWR', 3, true, true, false, false), new Route('LOS', 'ORL', 3, true, true, false, false), new Route('LOS', 'SFO', 3, true, true, false, false), new Route('LOS', 'SHA', 3, true, true, false, false), new Route('LOS', 'SIN', 5, true, false, false, false), new Route('LOS', 'SLU', 3, true, true, false, false), new Route('LOS', 'SYD', 3, true, true, false, false), new Route('LOS', 'TAB', 3, true, true, false, false), new Route('LOS', 'TYO', 3, true, true, false, false), new Route('LOS', 'WAS', 3, true, true, false, false), new Route('LAS', 'CPT', 3, true, true, false, false), new Route('LAS', 'DEL', 3, true, true, false, false), new Route('LAS', 'DXB', 3, true, true, false, false), new Route('LAS', 'HKG', 3, true, true, false, false), new Route('LAS', 'JNB', 3, true, true, false, false), new Route('LAS', 'LOS', 3, true, true, false, false), new Route('LAS', 'LON', 1, false, true, true, true), new Route('LAS', 'LONLGW', 1, false, true, true, true), new Route('LAS', 'MRU', 3, true, true, false, false), new Route('LAS', 'BOM', 3, true, true, false, false), new Route('LAS', 'NBO', 3, true, true, false, false), new Route('LAS', 'SHA', 3, true, true, false, false), new Route('LAS', 'SYD', 3, true, true, false, false), new Route('LAS', 'TYO', 3, true, true, false, false), new Route('LON', 'ADL', 8, true, false, false, false), new Route('LON', 'ANU', 1, false, true, true, true), new Route('LON', 'BGI', 1, false, true, true, true), new Route('LON', 'BJS', 7, false, false, false, false), new Route('LON', 'BOS', 1, false, true, true, true), new Route('LON', 'BNE', 8, true, false, false, false), new Route('LON', 'CBR', 8, true, false, false, false), new Route('LON', 'CPT', 1, false, true, true, true), new Route('LON', 'CHI', 1, false, true, true, true), new Route('LON', 'CLE', 3, true, false, false, false), new Route('LON', 'DEL', 1, false, true, true, true), new Route('LON', 'DTT', 3, true, false, false, false), new Route('LON', 'DXB', 1, false, true, true, true), new Route('LON', 'DUR', 1, true, false, false, false), new Route('LON', 'ELS', 1, true, false, false, false), new Route('LON', 'OOL', 8, true, false, false, false), new Route('LON', 'GND', 1, false, true, true, true), new Route('LON', 'HAV', 1, false, true, true, true), new Route('LON', 'HKG', 1, false, true, true, true), new Route('LON', 'HOU', 3, true, false, false, false), new Route('LON', 'JNB', 1, false, true, true, true), new Route('LON', 'KIN', 1, false, true, true, true), new Route('LON', 'LOS', 1, false, true, true, true), new Route('LON', 'LAS', 1, false, true, true, true), new Route('LON', 'LAX', 1, false, true, true, true), new Route('LON', 'MRU', 1, false, true, true, true), new Route('LON', 'MEL', 8, true, false, false, false), new Route('LON', 'MIA', 1, false, true, true, true), new Route('LON', 'MBJ', 1, false, true, true, true), new Route('LON', 'BOM', 1, false, true, true, true), new Route('LON', 'NBO', 1, false, true, true, true), new Route('LON', 'NYC', 1, false, true, true, true), new Route('LON', 'NYCJFK', 1, false, true, true, true), new Route('LON', 'NYCEWR', 1, false, true, true, true), new Route('LON', 'ORL', 1, false, true, true, true), new Route('LON', 'PER', 5, true, false, false, false), new Route('LON', 'PHX', 1, true, false, false, false), new Route('LON', 'PLZ', 1, true, false, false, false), new Route('LON', 'RDU', 3, true, false, false, false), new Route('LON', 'RIC', 3, true, false, false, false), new Route('LON', 'ROC', 3, true, false, false, false), new Route('LON', 'SFO', 1, false, true, true, true), new Route('LON', 'SHA', 1, false, true, true, true), new Route('LON', 'SIN', 5, false, false, false, false), new Route('LON', 'SLU', 1, false, true, true, true), new Route('LON', 'SYD', 1, true, true, true, true), new Route('LON', 'TAB', 1, false, true, true, true), new Route('LON', 'TYO', 1, false, true, true, true), new Route('LON', 'WAS', 1, false, true, true, true), new Route('LONLGW', 'ANU', 1, false, true, true, true), new Route('LONLGW', 'BGI', 1, false, true, true, true), new Route('LONLGW', 'GND', 1, false, true, true, true), new Route('LONLGW', 'HAV', 1, false, true, true, true), new Route('LONLGW', 'KIN', 1, false, true, true, true), new Route('LONLGW', 'LAS', 1, false, true, true, true), new Route('LONLGW', 'MBJ', 1, false, true, true, true), new Route('LONLGW', 'NYC', 1, false, true, true, true), new Route('LONLGW', 'NYCEWR', 1, false, true, true, true), new Route('LONLGW', 'ORL', 1, false, true, true, true), new Route('LONLGW', 'PHX', 1, true, false, false, false), new Route('LONLGW', 'SLU', 1, false, true, true, true), new Route('LONLGW', 'TAB', 1, false, true, true, true), new Route('LONLHR', 'ADL', 8, true, false, false, false), new Route('LONLHR', 'BGI', 1, false, true, true, true), new Route('LONLHR', 'BJS', 7, false, false, false, false), new Route('LONLHR', 'BOS', 1, false, true, true, true), new Route('LONLHR', 'BNE', 8, true, false, false, false), new Route('LONLHR', 'CBR', 8, true, false, false, false), new Route('LONLHR', 'CPT', 1, false, true, true, true), new Route('LONLHR', 'CHI', 1, false, true, true, true), new Route('LONLHR', 'CLE', 3, true, false, false, false), new Route('LONLHR', 'DEL', 1, false, true, true, true), new Route('LONLHR', 'DTT', 3, true, false, false, false), new Route('LONLHR', 'DXB', 1, false, true, true, true), new Route('LONLHR', 'DUR', 1, true, false, false, false), new Route('LONLHR', 'ELS', 1, true, false, false, false), new Route('LONLHR', 'OOL', 8, true, false, false, false), new Route('LONLHR', 'HKG', 1, false, true, true, true), new Route('LONLHR', 'HOU', 3, true, false, false, false), new Route('LONLHR', 'JNB', 1, false, true, true, true), new Route('LONLHR', 'LOS', 1, false, true, true, true), new Route('LONLHR', 'LAX', 1, false, true, true, true), new Route('LONLHR', 'MRU', 1, false, true, true, true), new Route('LONLHR', 'MEL', 8, true, false, false, false), new Route('LONLHR', 'MIA', 1, false, true, true, true), new Route('LONLHR', 'BOM', 1, false, true, true, true), new Route('LONLHR', 'NBO', 1, false, true, true, true), new Route('LONLHR', 'NYC', 1, false, true, true, true), new Route('LONLHR', 'NYCJFK', 1, false, true, true, true), new Route('LONLHR', 'NYCEWR', 1, false, true, true, true), new Route('LONLHR', 'PER', 5, true, false, false, false), new Route('LONLHR', 'PHX', 1, true, false, false, false), new Route('LONLHR', 'PLZ', 1, true, false, false, false), new Route('LONLHR', 'RDU', 3, true, false, false, false), new Route('LONLHR', 'RIC', 3, true, false, false, false), new Route('LONLHR', 'ROC', 3, true, false, false, false), new Route('LONLHR', 'SFO', 1, false, true, true, true), new Route('LONLHR', 'SHA', 1, false, true, true, true), new Route('LONLHR', 'SIN', 5, false, false, false, false), new Route('LONLHR', 'SYD', 1, true, true, true, true), new Route('LONLHR', 'TYO', 1, false, true, true, true), new Route('LONLHR', 'WAS', 1, false, true, true, true), new Route('LAX', 'AMS', 3, true, false, false, false), new Route('LAX', 'BRU', 3, true, false, false, false), new Route('LAX', 'CPT', 3, true, true, false, false), new Route('LAX', 'DEL', 3, true, true, false, false), new Route('LAX', 'DXB', 3, true, true, false, false), new Route('LAX', 'DUB', 3, true, false, false, false), new Route('LAX', 'HAJ', 3, true, false, false, false), new Route('LAX', 'HKG', 3, true, true, false, false), new Route('LAX', 'JNB', 3, true, true, false, false), new Route('LAX', 'LOS', 3, true, true, false, false), new Route('LAX', 'LON', 1, false, true, true, true), new Route('LAX', 'LONLHR', 1, false, true, true, true), new Route('LAX', 'MRU', 3, true, true, false, false), new Route('LAX', 'BOM', 3, true, true, false, false), new Route('LAX', 'NBO', 3, true, true, false, false), new Route('LAX', 'SHA', 3, true, true, false, false), new Route('LAX', 'SYD', 3, true, true, false, false), new Route('LAX', 'TYO', 3, true, true, false, false), new Route('MAN', 'BGI', 1, false, true, true, true), new Route('MAN', 'ORL', 1, false, true, true, true), new Route('MAN', 'PER', 5, true, false, false, false), new Route('MAN', 'SIN', 5, false, false, false, false), new Route('MAN', 'SLU', 1, false, true, true, true), new Route('MAN', 'SYD', 5, true, false, false, false), new Route('MRU', 'ANU', 3, true, true, false, false), new Route('MRU', 'BGI', 3, true, true, false, false), new Route('MRU', 'BOS', 3, true, true, false, false), new Route('MRU', 'CHI', 3, true, true, false, false), new Route('MRU', 'DEL', 3, true, true, false, false), new Route('MRU', 'GND', 3, true, true, false, false), new Route('MRU', 'HAV', 3, true, true, false, false), new Route('MRU', 'HKG', 3, true, true, false, false), new Route('MRU', 'KIN', 3, true, true, false, false), new Route('MRU', 'LAS', 3, true, true, false, false), new Route('MRU', 'LON', 1, false, true, false, true), new Route('MRU', 'LONLHR', 1, false, true, false, true), new Route('MRU', 'LAX', 3, true, true, false, false), new Route('MRU', 'MIA', 3, true, true, false, false), new Route('MRU', 'MBJ', 3, true, true, false, false), new Route('MRU', 'BOM', 3, true, true, false, false), new Route('MRU', 'NYC', 3, true, true, false, false), new Route('MRU', 'NYCJFK', 3, true, true, false, false), new Route('MRU', 'NYCEWR', 3, true, true, false, false), new Route('MRU', 'ORL', 3, true, true, false, false), new Route('MRU', 'SFO', 3, true, true, false, false), new Route('MRU', 'SHA', 3, true, true, false, false), new Route('MRU', 'SLU', 3, true, true, false, false), new Route('MRU', 'SYD', 3, true, true, false, false), new Route('MRU', 'TAB', 3, true, true, false, false), new Route('MRU', 'TYO', 3, true, true, false, false), new Route('MRU', 'WAS', 3, true, true, false, false), new Route('MEL', 'HKG', 8, true, false, false, false), new Route('MEL', 'LON', 8, true, false, false, false), new Route('MEL', 'LONLHR', 8, true, false, false, false), new Route('MEL', 'SYD', 8, false, false, false, false), new Route('MIA', 'AMS', 3, true, false, false, false), new Route('MIA', 'BRU', 3, true, false, false, false), new Route('MIA', 'CPT', 3, true, true, false, false), new Route('MIA', 'DEL', 3, true, true, false, false), new Route('MIA', 'DXB', 3, true, true, false, false), new Route('MIA', 'DUB', 3, true, false, false, false), new Route('MIA', 'HAJ', 3, true, false, false, false), new Route('MIA', 'HKG', 3, true, true, false, false), new Route('MIA', 'JNB', 3, true, true, false, false), new Route('MIA', 'LOS', 3, true, true, false, false), new Route('MIA', 'LON', 1, false, true, true, true), new Route('MIA', 'LONLHR', 1, false, true, true, true), new Route('MIA', 'MRU', 3, true, true, false, false), new Route('MIA', 'BOM', 3, true, true, false, false), new Route('MIA', 'NBO', 3, true, true, false, false), new Route('MIA', 'SHA', 3, true, true, false, false), new Route('MIA', 'SIN', 5, true, false, false, false), new Route('MIA', 'SYD', 3, true, true, false, false), new Route('MIA', 'TYO', 3, true, true, false, false), new Route('MBJ', 'CPT', 3, true, true, false, false), new Route('MBJ', 'DEL', 3, true, true, false, false), new Route('MBJ', 'DXB', 3, true, true, false, false), new Route('MBJ', 'HKG', 3, true, true, false, false), new Route('MBJ', 'JNB', 3, true, true, false, false), new Route('MBJ', 'LOS', 3, true, true, false, false), new Route('MBJ', 'LON', 1, false, true, true, true), new Route('MBJ', 'LONLGW', 1, false, true, true, true), new Route('MBJ', 'MRU', 3, true, true, false, false), new Route('MBJ', 'BOM', 3, true, true, false, false), new Route('MBJ', 'NBO', 3, true, true, false, false), new Route('MBJ', 'SHA', 3, true, true, false, false), new Route('MBJ', 'SYD', 3, true, true, false, false), new Route('MBJ', 'TYO', 3, true, true, false, false), new Route('BOM', 'AMS', 3, true, false, false, false), new Route('BOM', 'ANU', 3, true, true, false, false), new Route('BOM', 'BGI', 3, true, true, false, false), new Route('BOM', 'BOS', 3, true, true, false, false), new Route('BOM', 'BRU', 3, true, false, false, false), new Route('BOM', 'CPT', 3, true, true, false, false), new Route('BOM', 'CHI', 3, true, true, false, false), new Route('BOM', 'DUB', 3, true, false, false, false), new Route('BOM', 'GND', 3, true, true, false, false), new Route('BOM', 'HAJ', 3, true, false, false, false), new Route('BOM', 'HAV', 3, true, true, false, false), new Route('BOM', 'JNB', 3, true, true, false, false), new Route('BOM', 'KIN', 3, true, true, false, false), new Route('BOM', 'LOS', 3, true, true, false, false), new Route('BOM', 'LAS', 3, true, true, false, false), new Route('BOM', 'LON', 1, false, true, false, false), new Route('BOM', 'LONLHR', 1, false, true, false, false), new Route('BOM', 'LAX', 3, true, true, false, false), new Route('BOM', 'MRU', 3, true, true, false, false), new Route('BOM', 'MIA', 3, true, true, false, false), new Route('BOM', 'MBJ', 3, true, true, false, false), new Route('BOM', 'NBO', 3, true, true, false, false), new Route('BOM', 'NYC', 3, true, true, false, false), new Route('BOM', 'NYCJFK', 3, true, true, false, false), new Route('BOM', 'NYCEWR', 3, true, true, false, false), new Route('BOM', 'ORL', 3, true, true, false, false), new Route('BOM', 'SFO', 3, true, true, false, false), new Route('BOM', 'SLU', 3, true, true, false, false), new Route('BOM', 'SYD', 3, true, true, false, false), new Route('BOM', 'TAB', 3, true, true, false, false), new Route('BOM', 'VCE', 3, true, false, false, false), new Route('BOM', 'WAS', 3, true, true, false, false), new Route('NBO', 'AMS', 3, true, false, false, false), new Route('NBO', 'ANU', 1, true, true, false, false), new Route('NBO', 'BGI', 1, true, true, false, false), new Route('NBO', 'BOS', 3, true, true, false, false), new Route('NBO', 'CHI', 3, true, true, false, false), new Route('NBO', 'DEL', 1, true, true, false, false), new Route('NBO', 'DXB', 1, true, true, false, false), new Route('NBO', 'DUB', 3, true, false, false, false), new Route('NBO', 'GND', 3, true, true, false, false), new Route('NBO', 'HAV', 3, true, true, false, false), new Route('NBO', 'HKG', 1, true, true, false, false), new Route('NBO', 'KIN', 3, true, true, false, false), new Route('NBO', 'LAS', 3, true, true, false, false), new Route('NBO', 'LON', 1, false, true, false, true), new Route('NBO', 'LONLHR', 1, false, true, false, true), new Route('NBO', 'LAX', 3, true, true, false, false), new Route('NBO', 'MIA', 3, true, true, false, false), new Route('NBO', 'MBJ', 3, true, true, false, false), new Route('NBO', 'BOM', 1, true, true, false, false), new Route('NBO', 'NYC', 3, true, true, false, false), new Route('NBO', 'NYCJFK', 3, true, true, false, false), new Route('NBO', 'NYCEWR', 3, true, true, false, false), new Route('NBO', 'ORL', 3, true, true, false, false), new Route('NBO', 'SFO', 3, true, true, false, false), new Route('NBO', 'SHA', 1, true, true, false, false), new Route('NBO', 'SIN', 1, true, false, false, false), new Route('NBO', 'SLU', 3, true, true, false, false), new Route('NBO', 'SYD', 3, true, true, false, false), new Route('NBO', 'TAB', 3, true, true, false, false), new Route('NBO', 'TYO', 1, true, true, false, false), new Route('NBO', 'WAS', 3, true, true, false, false), new Route('NYC', 'AMS', 3, true, false, false, false), new Route('NYC', 'BRU', 3, true, false, false, false), new Route('NYC', 'CPT', 3, true, true, false, false), new Route('NYC', 'DEL', 3, true, true, false, false), new Route('NYC', 'DXB', 3, true, true, false, false), new Route('NYC', 'DUB', 3, true, false, false, false), new Route('NYC', 'HAJ', 3, true, false, false, false), new Route('NYC', 'HKG', 3, true, true, false, false), new Route('NYC', 'JNB', 3, true, true, false, false), new Route('NYC', 'LOS', 3, true, true, false, false), new Route('NYC', 'LON', 1, false, true, true, true), new Route('NYC', 'LONLGW', 1, false, true, true, true), new Route('NYC', 'LONLHR', 1, false, true, true, true), new Route('NYC', 'MRU', 3, true, true, false, false), new Route('NYC', 'BOM', 3, true, true, false, false), new Route('NYC', 'NBO', 3, true, true, false, false), new Route('NYC', 'SHA', 3, true, true, false, false), new Route('NYC', 'SIN', 5, true, false, false, false), new Route('NYC', 'SYD', 3, true, true, false, false), new Route('NYC', 'TYO', 3, true, true, false, false), new Route('NYCJFK', 'AMS', 3, true, false, false, false), new Route('NYCJFK', 'BRU', 3, true, false, false, false), new Route('NYCJFK', 'CPT', 3, true, true, false, false), new Route('NYCJFK', 'DEL', 3, true, true, false, false), new Route('NYCJFK', 'DXB', 3, true, true, false, false), new Route('NYCJFK', 'DUB', 3, true, false, false, false), new Route('NYCJFK', 'HAJ', 3, true, false, false, false), new Route('NYCJFK', 'HKG', 3, true, true, false, false), new Route('NYCJFK', 'JNB', 3, true, true, false, false), new Route('NYCJFK', 'LOS', 3, true, true, false, false), new Route('NYCJFK', 'LON', 1, false, true, true, true), new Route('NYCJFK', 'LONLHR', 1, false, true, true, true), new Route('NYCJFK', 'MRU', 3, true, true, false, false), new Route('NYCJFK', 'BOM', 3, true, true, false, false), new Route('NYCJFK', 'NBO', 3, true, true, false, false), new Route('NYCJFK', 'SHA', 3, true, true, false, false), new Route('NYCJFK', 'SIN', 5, true, false, false, false), new Route('NYCJFK', 'SYD', 3, true, true, false, false), new Route('NYCJFK', 'TYO', 3, true, true, false, false), new Route('NYCEWR', 'AMS', 3, true, false, false, false), new Route('NYCEWR', 'BRU', 3, true, false, false, false), new Route('NYCEWR', 'CPT', 3, true, true, false, false), new Route('NYCEWR', 'DEL', 3, true, true, false, false), new Route('NYCEWR', 'DXB', 3, true, true, false, false), new Route('NYCEWR', 'DUB', 3, true, false, false, false), new Route('NYCEWR', 'HAJ', 3, true, false, false, false), new Route('NYCEWR', 'HKG', 3, true, true, false, false), new Route('NYCEWR', 'JNB', 3, true, true, false, false), new Route('NYCEWR', 'LOS', 3, true, true, false, false), new Route('NYCEWR', 'LON', 1, false, true, true, true), new Route('NYCEWR', 'LONLGW', 1, false, true, true, true), new Route('NYCEWR', 'LONLHR', 1, false, true, true, true), new Route('NYCEWR', 'MRU', 3, true, true, false, false), new Route('NYCEWR', 'BOM', 3, true, true, false, false), new Route('NYCEWR', 'NBO', 3, true, true, false, false), new Route('NYCEWR', 'SHA', 3, true, true, false, false), new Route('NYCEWR', 'SIN', 5, true, false, false, false), new Route('NYCEWR', 'SYD', 3, true, true, false, false), new Route('NYCEWR', 'TYO', 3, true, true, false, false), new Route('ORL', 'CPT', 3, true, true, false, false), new Route('ORL', 'DEL', 3, true, true, false, false), new Route('ORL', 'DXB', 3, true, true, false, false), new Route('ORL', 'GLA', 1, false, true, false, true), new Route('ORL', 'HKG', 3, true, true, false, false), new Route('ORL', 'JNB', 3, true, true, false, false), new Route('ORL', 'LOS', 3, true, true, false, false), new Route('ORL', 'LON', 1, false, true, true, true), new Route('ORL', 'LONLGW', 1, false, true, true, true), new Route('ORL', 'MAN', 1, false, true, true, true), new Route('ORL', 'MRU', 3, true, true, false, false), new Route('ORL', 'BOM', 3, true, true, false, false), new Route('ORL', 'NBO', 3, true, true, false, false), new Route('ORL', 'SHA', 3, true, true, false, false), new Route('ORL', 'SIN', 5, true, false, false, false), new Route('ORL', 'SYD', 3, true, true, false, false), new Route('ORL', 'TYO', 3, true, true, false, false), new Route('PMI', 'DXB', 3, true, false, false, false), new Route('PMI', 'SHA', 3, true, false, false, false), new Route('PMI', 'TYO', 3, true, false, false, false), new Route('PER', 'LON', 5, true, false, false, false), new Route('PER', 'LONLHR', 5, true, false, false, false), new Route('PER', 'MAN', 5, true, false, false, false), new Route('PHX', 'LON', 1, true, false, false, false), new Route('PHX', 'LONLGW', 1, true, false, false, false), new Route('PHX', 'LONLHR', 1, true, false, false, false), new Route('PLZ', 'LON', 1, true, false, false, false), new Route('PLZ', 'LONLHR', 1, true, false, false, false), new Route('PVD', 'LON', 3, true, false, false, false), new Route('PVD', 'LONLHR', 3, true, false, false, false), new Route('RDU', 'LON', 3, true, false, false, false), new Route('RDU', 'LONLHR', 3, true, false, false, false), new Route('RIC', 'LON', 3, true, false, false, false), new Route('RIC', 'LONLHR', 3, true, false, false, false), new Route('ROC', 'LON', 3, true, false, false, false), new Route('ROC', 'LONLHR', 3, true, false, false, false), new Route('SFO', 'AMS', 3, true, false, false, false), new Route('SFO', 'BRU', 3, true, false, false, false), new Route('SFO', 'CPT', 3, true, true, false, false), new Route('SFO', 'DEL', 3, true, true, false, false), new Route('SFO', 'DXB', 3, true, true, false, false), new Route('SFO', 'DUB', 3, true, false, false, false), new Route('SFO', 'HAJ', 3, true, false, false, false), new Route('SFO', 'HKG', 3, true, true, false, false), new Route('SFO', 'JNB', 3, true, true, false, false), new Route('SFO', 'LOS', 3, true, true, false, false), new Route('SFO', 'LON', 1, false, true, true, true), new Route('SFO', 'LONLHR', 1, false, true, true, true), new Route('SFO', 'MRU', 3, true, true, false, false), new Route('SFO', 'BOM', 3, true, true, false, false), new Route('SFO', 'NBO', 3, true, true, false, false), new Route('SFO', 'SHA', 3, true, true, false, false), new Route('SFO', 'SYD', 3, true, true, false, false), new Route('SFO', 'TYO', 3, true, true, false, false), new Route('SHA', 'AMS', 3, true, false, false, false), new Route('SHA', 'ANU', 3, true, true, false, false), new Route('SHA', 'BGI', 3, true, true, false, false), new Route('SHA', 'BOS', 3, true, true, false, false), new Route('SHA', 'BRU', 3, true, false, false, false), new Route('SHA', 'CPT', 3, true, true, false, false), new Route('SHA', 'CHI', 3, true, true, false, false), new Route('SHA', 'DEL', 3, true, false, false, false), new Route('SHA', 'DXB', 3, true, true, false, false), new Route('SHA', 'DUB', 3, true, false, false, false), new Route('SHA', 'GND', 3, true, true, false, false), new Route('SHA', 'HAJ', 3, true, false, false, false), new Route('SHA', 'HAV', 3, true, true, false, false), new Route('SHA', 'JNB', 3, true, true, false, false), new Route('SHA', 'KIN', 3, true, true, false, false), new Route('SHA', 'LOS', 3, true, true, false, false), new Route('SHA', 'LAS', 3, true, true, false, false), new Route('SHA', 'LON', 1, false, true, false, false), new Route('SHA', 'LONLHR', 1, false, true, false, false), new Route('SHA', 'LAX', 3, true, true, false, false), new Route('SHA', 'MRU', 3, true, true, false, false), new Route('SHA', 'MIA', 3, true, true, false, false), new Route('SHA', 'MBJ', 3, true, true, false, false), new Route('SHA', 'NBO', 1, true, true, false, false), new Route('SHA', 'NYC', 3, true, true, false, false), new Route('SHA', 'NYCJFK', 3, true, true, false, false), new Route('SHA', 'NYCEWR', 3, true, true, false, false), new Route('SHA', 'ORL', 3, true, true, false, false), new Route('SHA', 'PMI', 3, true, false, false, false), new Route('SHA', 'SFO', 3, true, true, false, false), new Route('SHA', 'SLU', 3, true, true, false, false), new Route('SHA', 'TAB', 3, true, true, false, false), new Route('SHA', 'VCE', 3, true, false, false, false), new Route('SHA', 'WAS', 3, true, true, false, false), new Route('SIN', 'ANU', 5, true, false, false, false), new Route('SIN', 'BGI', 5, true, false, false, false), new Route('SIN', 'BOS', 5, true, false, false, false), new Route('SIN', 'CPT', 5, true, false, false, false), new Route('SIN', 'CHI', 3, true, false, false, false), new Route('SIN', 'DEL', 3, true, false, false, false), new Route('SIN', 'GND', 5, true, false, false, false), new Route('SIN', 'LOS', 5, true, false, false, false), new Route('SIN', 'LON', 5, false, false, false, false), new Route('SIN', 'LONLHR', 5, false, false, false, false), new Route('SIN', 'MAN', 5, false, false, false, false), new Route('SIN', 'MIA', 5, true, false, false, false), new Route('SIN', 'NBO', 1, true, false, false, false), new Route('SIN', 'NYC', 5, true, false, false, false), new Route('SIN', 'NYCJFK', 5, true, false, false, false), new Route('SIN', 'NYCEWR', 5, true, false, false, false), new Route('SIN', 'ORL', 5, true, false, false, false), new Route('SIN', 'SLU', 5, true, false, false, false), new Route('SIN', 'TAB', 5, true, false, false, false), new Route('SIN', 'WAS', 5, true, false, false, false), new Route('SLU', 'CPT', 3, true, true, false, false), new Route('SLU', 'DEL', 3, true, true, false, false), new Route('SLU', 'DXB', 3, true, true, false, false), new Route('SLU', 'HKG', 3, true, true, false, false), new Route('SLU', 'JNB', 3, true, true, false, false), new Route('SLU', 'LOS', 3, true, true, false, false), new Route('SLU', 'LON', 1, false, true, true, true), new Route('SLU', 'LONLGW', 1, false, true, true, true), new Route('SLU', 'MAN', 1, false, true, false, true), new Route('SLU', 'MRU', 3, true, true, false, false), new Route('SLU', 'BOM', 3, true, true, false, false), new Route('SLU', 'NBO', 3, true, true, false, false), new Route('SLU', 'SHA', 3, true, true, false, false), new Route('SLU', 'SIN', 5, true, false, false, false), new Route('SLU', 'SYD', 3, true, true, false, false), new Route('SLU', 'TYO', 3, true, true, false, false), new Route('SYD', 'ADL', 8, false, false, false, false), new Route('SYD', 'AMS', 3, true, false, false, false), new Route('SYD', 'ANU', 3, true, true, false, false), new Route('SYD', 'BGI', 3, true, true, false, false), new Route('SYD', 'BOS', 3, true, true, false, false), new Route('SYD', 'BNE', 8, false, false, false, false), new Route('SYD', 'BRU', 3, true, false, false, false), new Route('SYD', 'CBR', 8, true, false, false, false), new Route('SYD', 'CPT', 3, true, true, false, false), new Route('SYD', 'CHI', 3, true, true, false, false), new Route('SYD', 'DEL', 3, true, true, false, false), new Route('SYD', 'DXB', 3, true, true, false, false), new Route('SYD', 'DUB', 3, true, false, false, false), new Route('SYD', 'OOL', 8, true, false, false, false), new Route('SYD', 'GND', 3, true, true, false, false), new Route('SYD', 'HAJ', 3, true, false, false, false), new Route('SYD', 'HAV', 3, true, true, false, false), new Route('SYD', 'HKG', 1, false, true, true, true), new Route('SYD', 'JNB', 3, true, true, false, false), new Route('SYD', 'KIN', 3, true, true, false, false), new Route('SYD', 'LOS', 3, true, true, false, false), new Route('SYD', 'LAS', 3, true, true, false, false), new Route('SYD', 'LON', 1, true, true, true, true), new Route('SYD', 'LONLHR', 1, true, true, true, true), new Route('SYD', 'LAX', 3, true, true, false, false), new Route('SYD', 'MAN', 5, true, false, false, false), new Route('SYD', 'MRU', 3, true, true, false, false), new Route('SYD', 'MEL', 8, false, false, false, false), new Route('SYD', 'MIA', 3, true, true, false, false), new Route('SYD', 'MBJ', 3, true, true, false, false), new Route('SYD', 'BOM', 3, true, true, false, false), new Route('SYD', 'NBO', 3, true, true, false, false), new Route('SYD', 'NYC', 3, true, true, false, false), new Route('SYD', 'NYCJFK', 3, true, true, false, false), new Route('SYD', 'NYCEWR', 3, true, true, false, false), new Route('SYD', 'ORL', 3, true, true, false, false), new Route('SYD', 'SFO', 3, true, true, false, false), new Route('SYD', 'SLU', 3, true, true, false, false), new Route('SYD', 'TAB', 3, true, true, false, false), new Route('SYD', 'VCE', 3, true, false, false, false), new Route('SYD', 'WAS', 3, true, true, false, false), new Route('TAB', 'CPT', 3, true, true, false, false), new Route('TAB', 'DEL', 3, true, true, false, false), new Route('TAB', 'DXB', 3, true, true, false, false), new Route('TAB', 'HKG', 3, true, true, false, false), new Route('TAB', 'JNB', 3, true, true, false, false), new Route('TAB', 'LOS', 3, true, true, false, false), new Route('TAB', 'LON', 1, false, true, true, true), new Route('TAB', 'LONLGW', 1, false, true, true, true), new Route('TAB', 'MRU', 3, true, true, false, false), new Route('TAB', 'BOM', 3, true, true, false, false), new Route('TAB', 'NBO', 3, true, true, false, false), new Route('TAB', 'SHA', 3, true, true, false, false), new Route('TAB', 'SIN', 5, true, false, false, false), new Route('TAB', 'SYD', 3, true, true, false, false), new Route('TAB', 'TYO', 3, true, true, false, false), new Route('TYO', 'AMS', 3, true, false, false, false), new Route('TYO', 'ANU', 3, true, true, false, false), new Route('TYO', 'BGI', 3, true, true, false, false), new Route('TYO', 'BOS', 3, true, true, false, false), new Route('TYO', 'BRU', 3, true, false, false, false), new Route('TYO', 'CPT', 3, true, true, false, false), new Route('TYO', 'CHI', 3, true, true, false, false), new Route('TYO', 'DEL', 3, true, false, false, false), new Route('TYO', 'DXB', 3, true, true, false, false), new Route('TYO', 'DUB', 3, true, false, false, false), new Route('TYO', 'GND', 3, true, true, false, false), new Route('TYO', 'HAJ', 3, true, false, false, false), new Route('TYO', 'HAV', 3, true, true, false, false), new Route('TYO', 'JNB', 3, true, true, false, false), new Route('TYO', 'KIN', 3, true, true, false, false), new Route('TYO', 'LOS', 3, true, true, false, false), new Route('TYO', 'LAS', 3, true, true, false, false), new Route('TYO', 'LON', 1, false, true, false, true), new Route('TYO', 'LONLHR', 1, false, true, false, true), new Route('TYO', 'LAX', 3, true, true, false, false), new Route('TYO', 'MRU', 3, true, true, false, false), new Route('TYO', 'MIA', 3, true, true, false, false), new Route('TYO', 'MBJ', 3, true, true, false, false), new Route('TYO', 'NBO', 3, true, true, false, false), new Route('TYO', 'NYC', 3, true, true, false, false), new Route('TYO', 'NYCJFK', 3, true, true, false, false), new Route('TYO', 'NYCEWR', 3, true, true, false, false), new Route('TYO', 'ORL', 3, true, true, false, false), new Route('TYO', 'PMI', 3, true, false, false, false), new Route('TYO', 'SFO', 3, true, true, false, false), new Route('TYO', 'SLU', 3, true, true, false, false), new Route('TYO', 'TAB', 3, true, true, false, false), new Route('TYO', 'VCE', 3, true, false, false, false), new Route('TYO', 'WAS', 3, true, true, false, false), new Route('VCE', 'CPT', 3, true, false, false, false), new Route('VCE', 'DEL', 3, true, false, false, false), new Route('VCE', 'JNB', 3, true, false, false, false), new Route('VCE', 'BOM', 3, true, false, false, false), new Route('VCE', 'SHA', 3, true, false, false, false), new Route('VCE', 'SYD', 3, true, false, false, false), new Route('VCE', 'TYO', 3, true, false, false, false), new Route('WAS', 'AMS', 3, true, false, false, false), new Route('WAS', 'BRU', 3, true, false, false, false), new Route('WAS', 'CPT', 3, true, true, false, false), new Route('WAS', 'DEL', 3, true, true, false, false), new Route('WAS', 'DXB', 3, true, true, false, false), new Route('WAS', 'DUB', 3, true, false, false, false), new Route('WAS', 'HAJ', 3, true, false, false, false), new Route('WAS', 'HKG', 3, true, true, false, false), new Route('WAS', 'JNB', 3, true, true, false, false), new Route('WAS', 'LOS', 3, true, true, false, false), new Route('WAS', 'LON', 1, false, true, true, true), new Route('WAS', 'LONLHR', 1, false, true, true, true), new Route('WAS', 'MRU', 3, true, true, false, false), new Route('WAS', 'BOM', 3, true, true, false, false), new Route('WAS', 'NBO', 3, true, true, false, false), new Route('WAS', 'SHA', 3, true, true, false, false), new Route('WAS', 'SIN', 5, true, false, false, false), new Route('WAS', 'SYD', 3, true, true, false, false), new Route('WAS', 'TYO', 3, true, true, false, false) );


var allCabinGroups = new Array();
allCabinGroups[2] = new Array();
allCabinGroups[2][8] = new Array();
allCabinGroups[2][8][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[6] = new Array();
allCabinGroups[6][1] = new Array();
allCabinGroups[6][1][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[6][1][1] = new CabinDetails(4, 'Premium Economy', false, true, 2);
allCabinGroups[6][3] = new Array();
allCabinGroups[6][3][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[6][3][1] = new CabinDetails(4, 'Premium Economy', false, true, 2);
allCabinGroups[1] = new Array();
allCabinGroups[1][2] = new Array();
allCabinGroups[1][2][0] = new CabinDetails(6, 'Economy (lowest)', false, false, 1);
allCabinGroups[1][2][1] = new CabinDetails(5, 'Economy (flexible)', true, false, 2);
allCabinGroups[1][2][2] = new CabinDetails(4, 'Premium Economy (lowest)', false, false, 3);
allCabinGroups[1][2][3] = new CabinDetails(3, 'Premium Economy (flexible)', true, false, 4);
allCabinGroups[1][4] = new Array();
allCabinGroups[1][4][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[1][4][1] = new CabinDetails(8, 'Business Class', false, true, 2);
allCabinGroups[1][4][2] = new CabinDetails(7, 'First Class', false, true, 3);
allCabinGroups[1][8] = new Array();
allCabinGroups[1][8][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[1][6] = new Array();
allCabinGroups[1][6][0] = new CabinDetails(11, 'Economy', false, true, 1);
allCabinGroups[1][1] = new Array();
allCabinGroups[1][1][0] = new CabinDetails(6, 'Economy (lowest)', false, false, 1);
allCabinGroups[1][1][1] = new CabinDetails(5, 'Economy (flexible)', true, false, 2);
allCabinGroups[1][1][2] = new CabinDetails(4, 'Premium Economy (lowest)', false, false, 3);
allCabinGroups[1][1][3] = new CabinDetails(3, 'Premium Economy (flexible)', true, false, 4);
allCabinGroups[1][1][4] = new CabinDetails(2, 'Upper Class (lowest)', false, false, 5);
allCabinGroups[1][1][5] = new CabinDetails(1, 'Upper Class (flexible)', true, false, 6);
allCabinGroups[1][3] = new Array();
allCabinGroups[1][3][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[1][3][1] = new CabinDetails(4, 'Premium Economy', false, true, 2);
allCabinGroups[1][3][2] = new CabinDetails(2, 'Upper Class', false, true, 3);
allCabinGroups[1][10] = new Array();
allCabinGroups[1][10][0] = new CabinDetails(6, 'Economy (lowest)', false, false, 10);
allCabinGroups[1][10][1] = new CabinDetails(5, 'Economy (flexible)', true, false, 20);
allCabinGroups[1][7] = new Array();
allCabinGroups[1][7][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[1][7][1] = new CabinDetails(8, 'Business Class', false, true, 2);
allCabinGroups[1][5] = new Array();
allCabinGroups[1][5][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[1][5][1] = new CabinDetails(8, 'Business Class', false, true, 2);
allCabinGroups[3] = new Array();
allCabinGroups[3][2] = new Array();
allCabinGroups[3][2][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[3][2][1] = new CabinDetails(4, 'Premium Economy', false, true, 2);
allCabinGroups[3][4] = new Array();
allCabinGroups[3][4][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[3][4][1] = new CabinDetails(8, 'Business Class', false, true, 2);
allCabinGroups[3][4][2] = new CabinDetails(7, 'First Class', false, true, 3);
allCabinGroups[3][1] = new Array();
allCabinGroups[3][1][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[3][1][1] = new CabinDetails(4, 'Premium Economy', false, true, 2);
allCabinGroups[3][1][2] = new CabinDetails(2, 'Upper Class', false, true, 3);
allCabinGroups[3][3] = new Array();
allCabinGroups[3][3][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[3][3][1] = new CabinDetails(4, 'Premium Economy', false, true, 2);
allCabinGroups[3][3][2] = new CabinDetails(2, 'Upper Class', false, true, 3);
allCabinGroups[3][5] = new Array();
allCabinGroups[3][5][0] = new CabinDetails(6, 'Economy', false, true, 1);
allCabinGroups[5] = new Array();
allCabinGroups[5][2] = new Array();
allCabinGroups[5][2][0] = new CabinDetails(6, 'Economy Lowest', false, true, 10);
allCabinGroups[5][2][1] = new CabinDetails(5, 'Economy', true, true, 20);
allCabinGroups[5][2][2] = new CabinDetails(4, 'Premium Economy Lowest', false, true, 30);
allCabinGroups[5][2][3] = new CabinDetails(3, 'Premium Economy', true, true, 40);
allCabinGroups[5][4] = new Array();
allCabinGroups[5][4][0] = new CabinDetails(6, 'Economy Lowest', false, true, 10);
allCabinGroups[5][4][1] = new CabinDetails(5, 'Economy', true, true, 20);
allCabinGroups[5][4][2] = new CabinDetails(4, 'Premium Economy Lowest', false, true, 30);
allCabinGroups[5][4][3] = new CabinDetails(3, 'Premium Economy', true, true, 40);
allCabinGroups[5][4][4] = new CabinDetails(2, 'Upper Class Lowest', false, true, 50);
allCabinGroups[5][4][5] = new CabinDetails(1, 'Upper Class', true, true, 60);
allCabinGroups[5][1] = new Array();
allCabinGroups[5][1][0] = new CabinDetails(6, 'Economy Lowest', false, true, 10);
allCabinGroups[5][1][1] = new CabinDetails(5, 'Economy', true, true, 20);
allCabinGroups[5][1][2] = new CabinDetails(4, 'Premium Economy Lowest', false, true, 30);
allCabinGroups[5][1][3] = new CabinDetails(3, 'Premium Economy', true, true, 40);
allCabinGroups[5][1][4] = new CabinDetails(2, 'Upper Class Lowest', false, true, 50);
allCabinGroups[5][1][5] = new CabinDetails(1, 'Upper Class', true, true, 60);
allCabinGroups[5][3] = new Array();
allCabinGroups[5][3][0] = new CabinDetails(6, 'Economy Lowest', false, true, 10);
allCabinGroups[5][3][1] = new CabinDetails(5, 'Economy', true, true, 20);
allCabinGroups[5][3][2] = new CabinDetails(4, 'Premium Economy Lowest', false, true, 30);
allCabinGroups[5][3][3] = new CabinDetails(3, 'Premium Economy', true, true, 40);
allCabinGroups[5][3][4] = new CabinDetails(2, 'Upper Class Lowest', false, true, 50);
allCabinGroups[5][3][5] = new CabinDetails(1, 'Upper Class', true, true, 60);

var gatewayCityCode = 'LON';
setUp('LON', 'NYC', null, 'NYC', 'LON', null);

	function fillReturnInfo() {
  	var departCity = document.main.departure.options[document.main.departure.selectedIndex].value;
    document.main.arrivalReturn.value = departCity;
    var arrivalCity = document.main.arrival.options[document.main.arrival.selectedIndex].value;
    document.main.departureReturn.value = arrivalCity;
    return true;
  }
  
  function selectText(inputField){
  	inputField.select();
  }
	advanceDepartureDateTo7Days(document.main.departureday,1,document.main.returnday,2009,0,7,document.main.departureyear,document.main.departuremonth,document.main.returnmonth,document.main.returnyear);
	
-->
</script>


]]></Content>
</Module>