var Airports = new Array();

Airports[0] = new Array(2);
Airports[0]["airport"] = "Atlanta, GA (ATL)";
Airports[0]["airport_code"] = "1060";

Airports[1] = new Array(2);
Airports[1]["airport"] = "Austin, TX (AUS)";
Airports[1]["airport_code"] = "1061";

Airports[2] = new Array(2);
Airports[2]["airport"] = "Baltimore, MD (BWI)";
Airports[2]["airport_code"] = "1062";

Airports[3] = new Array(2);
Airports[3]["airport"] = "Boston, MA (BOS)";
Airports[3]["airport_code"] = "1064";

Airports[4] = new Array(2);
Airports[4]["airport"] = "Burbank, CA (BUR)";
Airports[4]["airport_code"] = "1067";	

Airports[5] = new Array(2);
Airports[5]["airport"] = "Charleston, SC (CHS)";
Airports[5]["airport_code"] = "1068";

Airports[6] = new Array(2);
Airports[6]["airport"] = "Charlotte, NC (CLT)";
Airports[6]["airport_code"] = "1069";

Airports[7] = new Array(2);
Airports[7]["airport"] = "Chattanooga, TN (CHA)";
Airports[7]["airport_code"] = "1070";

Airports[8] = new Array(2);
Airports[8]["airport"] = "Chicago, IL/O Hare (ORD)";
Airports[8]["airport_code"] = "1071";

Airports[9] = new Array(2);
Airports[9]["airport"] = "Chicago-Midway, IL (MDW)";
Airports[9]["airport_code"] = "1072";	

Airports[10] = new Array(2);
Airports[10]["airport"] = "Cincinnati, OH (CVG)";
Airports[10]["airport_code"] = "1073";

Airports[11] = new Array(2);
Airports[11]["airport"] = "Cleveland, OH (CLE)";
Airports[11]["airport_code"] = "1074";

Airports[12] = new Array(2);
Airports[12]["airport"] = "Columbus, OH (CMH)";
Airports[12]["airport_code"] = "1076";

Airports[13] = new Array(2);
Airports[13]["airport"] = "Dallas, TX (DFW)";
Airports[13]["airport_code"] = "1077";

Airports[14] = new Array(2);
Airports[14]["airport"] = "Dallas, TX/Love (DAL)";
Airports[14]["airport_code"] = "1148";

Airports[15] = new Array(2);
Airports[15]["airport"] = "Dayton, OH (DAY)";
Airports[15]["airport_code"] = "1078";

Airports[16] = new Array(2);
Airports[16]["airport"] = "Denver, CO (DEN)";
Airports[16]["airport_code"] = "1079";

Airports[17] = new Array(2);
Airports[17]["airport"] = "Detroit, MI (DTW)";
Airports[17]["airport_code"] = "1081";

Airports[18] = new Array(2);
Airports[18]["airport"] = "Detroit, MI (YIP)";
Airports[18]["airport_code"] = "1151";

Airports[19] = new Array(2);
Airports[19]["airport"] = "Fort Lauderdale, FL (FLL)";
Airports[19]["airport_code"] = "1084";

Airports[20] = new Array(2);
Airports[20]["airport"] = "Fort Myers, FL (RSW)";
Airports[20]["airport_code"] = "1085";

Airports[21] = new Array(2);
Airports[21]["airport"] = "Hartford, CT (BDL)";
Airports[21]["airport_code"] = "1086";

Airports[22] = new Array(2);
Airports[22]["airport"] = "Honolulu, HI (HNL)";
Airports[22]["airport_code"] = "1087";

Airports[23] = new Array(2);
Airports[23]["airport"] = "Houston, TX (IAH)";
Airports[23]["airport_code"] = "1088";

Airports[24] = new Array(2);
Airports[24]["airport"] = "Houston Hobby, TX (HOU)";
Airports[24]["airport_code"] = "1089";

Airports[25] = new Array(2);
Airports[25]["airport"] = "Indianapolis, IN (IND)";
Airports[25]["airport_code"] = "1090";

Airports[26] = new Array(2);
Airports[26]["airport"] = "Islip, NY (ISP)";
Airports[26]["airport_code"] = "1150";

Airports[27] = new Array(2);
Airports[27]["airport"] = "Jacksonville, FL (JAX)";
Airports[27]["airport_code"] = "1091";

Airports[28] = new Array(2);
Airports[28]["airport"] = "Kahului, HI (OGG)";
Airports[28]["airport_code"] = "1152";

Airports[29] = new Array(2);
Airports[29]["airport"] = "Kailua/Kona, HI (KOA)";
Airports[29]["airport_code"] = "1153";

Airports[30] = new Array(2);
Airports[30]["airport"] = "Kansas City, MO (KCI)";
Airports[30]["airport_code"] = "1092";

Airports[31] = new Array(2);
Airports[31]["airport"] = "Kingsport, RI (TRI)";
Airports[31]["airport_code"] = "1093";

Airports[32] = new Array(2);
Airports[32]["airport"] = "Las Vegas, NV (LAS)";
Airports[32]["airport_code"] = "1094";

Airports[33] = new Array(2);
Airports[33]["airport"] = "Lihue, HI (LIH)";
Airports[33]["airport_code"] = "1154";

Airports[34] = new Array(2);
Airports[34]["airport"] = "Los Angeles, CA (LAX)";
Airports[34]["airport_code"] = "1097";

Airports[35] = new Array(2);
Airports[35]["airport"] = "Louisville, KY (SDF)";
Airports[35]["airport_code"] = "1098";

Airports[36] = new Array(2);
Airports[36]["airport"] = "Long Beach, CA (LGB)";
Airports[36]["airport_code"] = "1099";

Airports[37] = new Array(2);
Airports[37]["airport"] = "Manchester, NH (MHT)";
Airports[37]["airport_code"] = "1100";

Airports[38] = new Array(2);
Airports[38]["airport"] = "Memphis, TN (MEM)";
Airports[38]["airport_code"] = "1101";

Airports[39] = new Array(2);
Airports[39]["airport"] = "Miami, FL (MIA)";
Airports[39]["airport_code"] = "1102";	

Airports[40] = new Array(2);
Airports[40]["airport"] = "Milwaukee, WI (MKE)";
Airports[40]["airport_code"] = "1103";

Airports[41] = new Array(2);
Airports[41]["airport"] = "Minn. St. Paul, MN (MSP)";
Airports[41]["airport_code"] = "1104";

Airports[42] = new Array(2);
Airports[42]["airport"] = "Nashville, TN (BNA)";
Airports[42]["airport_code"] = "1105";

Airports[43] = new Array(2);
Airports[43]["airport"] = "New Orleans, LA (MSY)";
Airports[43]["airport_code"] = "1106";

Airports[44] = new Array(2);
Airports[44]["airport"] = "New York, NY (LGA)";
Airports[44]["airport_code"] = "1107";

Airports[45] = new Array(2);
Airports[45]["airport"] = "New York, NY (JFK)";
Airports[45]["airport_code"] = "1108";

Airports[46] = new Array(2);
Airports[46]["airport"] = "Newark, NJ (EWR)";
Airports[46]["airport_code"] = "1109";

Airports[47] = new Array(2);
Airports[47]["airport"] = "Norfolk, VA (ORF)";
Airports[47]["airport_code"] = "1110";

Airports[48] = new Array(2);
Airports[48]["airport"] = "Oakland, CA (OAK)";
Airports[48]["airport_code"] = "1111";

Airports[49] = new Array(2);
Airports[49]["airport"] = "Oklahoma City, OK (OKC)";
Airports[49]["airport_code"] = "1112";

Airports[50] = new Array(2);
Airports[50]["airport"] = "Omaha, NE (OMA)";
Airports[50]["airport_code"] = "1113";

Airports[51] = new Array(2);
Airports[51]["airport"] = "Ontario, CA (ONT)";
Airports[51]["airport_code"] = "1114";

Airports[52] = new Array(2);
Airports[52]["airport"] = "Orange County, CA (SNA)";
Airports[52]["airport_code"] = "1115";

Airports[53] = new Array(2);
Airports[53]["airport"] = "Orlando, FL (MCO)";
Airports[53]["airport_code"] = "1116";

Airports[54] = new Array(2);
Airports[54]["airport"] = "Philadelphia, PA (PHL)";
Airports[54]["airport_code"] = "1117";

Airports[55] = new Array(2);
Airports[55]["airport"] = "Phoenix, AZ (PHX)";
Airports[55]["airport_code"] = "1118";

Airports[56] = new Array(2);
Airports[56]["airport"] = "Pittsburgh, PA (PIT)";
Airports[56]["airport_code"] = "1119";

Airports[57] = new Array(2);
Airports[57]["airport"] = "Portland, ME (PWM)";
Airports[57]["airport_code"] = "1155";

Airports[58] = new Array(2);
Airports[58]["airport"] = "Portland, OR (PDX)";
Airports[58]["airport_code"] = "1120";

Airports[59] = new Array(2);
Airports[59]["airport"] = "Portsmouth, NH (PSM)";
Airports[59]["airport_code"] = "1156";

Airports[60] = new Array(2);
Airports[60]["airport"] = "Providence, RI (PVD)";
Airports[60]["airport_code"] = "1121";

Airports[61] = new Array(2);
Airports[61]["airport"] = "Raleigh-Durham, NC (RDU)";
Airports[61]["airport_code"] = "1122";

Airports[62] = new Array(2);
Airports[62]["airport"] = "Reno, NV (RNO)";
Airports[62]["airport_code"] = "1123";

Airports[63] = new Array(2);
Airports[63]["airport"] = "Richmond, VA (RIC)";
Airports[63]["airport_code"] = "1124";

Airports[64] = new Array(2);
Airports[64]["airport"] = "Sacramento, CA (SMF)";
Airports[64]["airport_code"] = "1125";

Airports[65] = new Array(2);
Airports[65]["airport"] = "Salt Lake City, UT (SLC)";
Airports[65]["airport_code"] = "1126";

Airports[66] = new Array(2);
Airports[66]["airport"] = "San Antonio, TX (SAT)";
Airports[66]["airport_code"] = "1127";

Airports[67] = new Array(2);
Airports[67]["airport"] = "San Diego, CA (SAN)";
Airports[67]["airport_code"] = "1128";

Airports[68] = new Array(2);
Airports[68]["airport"] = "San Francisco, CA (SFO)";
Airports[68]["airport_code"] = "1129";

Airports[69] = new Array(2);
Airports[69]["airport"] = "San Jose, CA (SJC)";
Airports[69]["airport_code"] = "1130";

Airports[70] = new Array(2);
Airports[70]["airport"] = "Sarasota/Bradenton, FL (SRQ)";
Airports[70]["airport_code"] = "1149";

Airports[71] = new Array(2);
Airports[71]["airport"] = "Seattle, WA (SEA)";
Airports[71]["airport_code"] = "1131";

Airports[72] = new Array(2);
Airports[72]["airport"] = "Spokane, WA (GEG)";
Airports[72]["airport_code"] = "1132";

Airports[73] = new Array(2);
Airports[73]["airport"] = "Springfield, IL (SGF)";
Airports[73]["airport_code"] = "1133";

Airports[74] = new Array(2);
Airports[74]["airport"] = "St. Louis, MO (STL)";
Airports[74]["airport_code"] = "1134";

Airports[75] = new Array(2);
Airports[75]["airport"] = "St. Petersburg, FL (PIE)";
Airports[75]["airport_code"] = "1135";

Airports[76] = new Array(2);
Airports[76]["airport"] = "Steamboat Springs, CO (HDN)";
Airports[76]["airport_code"] = "1157";

Airports[77] = new Array(2);
Airports[77]["airport"] = "Syracuse, NY (SYR)";
Airports[77]["airport_code"] = "1136";

Airports[78] = new Array(2);
Airports[78]["airport"] = "Tampa, FL (TPA)";
Airports[78]["airport_code"] = "1137";

Airports[79] = new Array(2);
Airports[79]["airport"] = "Toledo, OH (TOL)";
Airports[79]["airport_code"] = "1138";

Airports[80] = new Array(2);
Airports[80]["airport"] = "Toronto, ON (YYZ)";
Airports[80]["airport_code"] = "1139";

Airports[81] = new Array(2);
Airports[81]["airport"] = "Tucson, AZ (TUS)";
Airports[81]["airport_code"] = "1140";

Airports[82] = new Array(2);
Airports[82]["airport"] = "Tulsa, OK (TUL)";
Airports[82]["airport_code"] = "1141";

Airports[83] = new Array(2);
Airports[83]["airport"] = "Vancouver, BC (YVR)";
Airports[83]["airport_code"] = "1142";

Airports[84] = new Array(2);
Airports[84]["airport"] = "Washington DC (DCA)";
Airports[84]["airport_code"] = "1143";

Airports[85] = new Array(2);
Airports[85]["airport"] = "Washington Dulles (IAD)";
Airports[85]["airport_code"] = "1144";

Airports[86] = new Array(2);
Airports[86]["airport"] = "West Palm Beach, FL (PBI)";
Airports[86]["airport_code"] = "1145";

Airports[87] = new Array(2);
Airports[87]["airport"] = "Newport News/Williamsburg, VA (PHF)";
Airports[87]["airport_code"] = "1146";

Airports[88] = new Array(2);
Airports[88]["airport"] = "White Plains, NY (HPN)";
Airports[88]["airport_code"] = "1147";

Airports[89] = new Array(2);
Airports[89]["airport"] = "Wilmington, DE (ILG)";
Airports[89]["airport_code"] = "1158";

Airports[90] = new Array(2);
Airports[90]["airport"] = "Worcester, MA (ORH)";
Airports[90]["airport_code"] = "1159";

Airports[91] = new Array(2);
Airports[91]["airport"] = "Beauvais, France (BVA)";
Airports[91]["airport_code"] = "1160";

Airports[92] = new Array(2);
Airports[92]["airport"] = "Edinburgh, Scotland (EDI)";
Airports[92]["airport_code"] = "1161";

Airports[93] = new Array(2);
Airports[93]["airport"] = "London, England (LGW)";
Airports[93]["airport_code"] = "1162";

Airports[94] = new Array(2);
Airports[94]["airport"] = "London, England (LHR)";
Airports[94]["airport_code"] = "1163";

Airports[95] = new Array(2);
Airports[95]["airport"] = "Paris, France (CDG)";
Airports[95]["airport_code"] = "1164";

Airports[96] = new Array(2);
Airports[96]["airport"] = "Paris, France (ORY)";
Airports[96]["airport_code"] = "1165";

// ************************************************************************************************
//
// ************************************************************************************************
function drawAirports( divId )
{
	// something to hold our HTML list of Airports
	var strHTML = "";
	
	// how many Airports per column
	var perColumn = 25;
	
	// maxlength or the Airport name
	//var maxAirportName = 10;
	
	// the adjusted Airport name if too long + Airport Code
	var adjAirportName = "";
	
	// some counters
	var i;
	var k;
	
    // begin the list of Airports
    strHTML += "<a href=\"javascript:airportsModal.close();\" id=\"close_airport_list\" style=\"float:right; padding:0 3px 4px 4px; text-decoration:none; background:#e3120b; color:#fff;\">x</a>\n";
    strHTML += "<h2 style=\"display:block; margin:0 0 8px 0; padding:4px 0 4px 4px; color:#165398; font-size:1.30em;\">Select your airport from the list below</h2>\n";
    strHTML += "<ul class=prfAirportList>\n";
    strHTML += "\t<li class=left>\n"
    strHTML += "\t\t<ol>\n";
	
	for( i = 1; i <= Airports.length; i++ )
	{
		// the counter starts at 1, but the array starts at 0
		k = i - 1;
		
		strHTML += "\t\t\t";
		
		
		/* City, State (Code) */
		airport_code = Airports[k]["airport_code"];
		switch( airport_code.toUpperCase() )
		{
		default:
			adjAirportName = Airports[k]["city"] + ", " + Airports[k]["state"];
			adjAirportName += " (" + Airports[k]["airport_code"] + ")";
		break;
		}
		
		
		
		
		
		adjAirportName = Airports[k]["airport"];
		// create the link
		strHTML += "<li><a ";
		strHTML += "href=\"\" ";
		strHTML += "onclick=\"setAirport( '" + airport_code + "\', '" + adjAirportName + "' ); Control.Modal.close();new Ajax.Request('/home/on_search_airport_id_change/search_airport_id?dom_id=search_airport_id', {asynchronous:true, evalScripts:true, parameters:'dom_value=' + escape(" + airport_code + ")}); return false;\" ";
		strHTML += "title=\"" + adjAirportName + "\">" + adjAirportName + "</a></li>\n";
		
		// if we reached the max Airports for this column, start another column
		if( (i % perColumn) == 0 && i > 1 )
		{
			strHTML += "\t\t</ol>\n";
			strHTML += "\t</li>\n";
			strHTML += "\t<li class=left>\n";
			strHTML += "\t\t<ol>\n";
		}
	}
	
	// close the last column
	strHTML += "\t\t</ol>\n";
	strHTML += "\t</li>\n";
	strHTML += "</ul>";
	
	// write the list to the browser
	//document.write( strHTML );
	var formObj = document.getElementById( divId );
	formObj.innerHTML = strHTML;
	//document.forms[0].test.value = strHTML;
}
/*****************************************************************************
// access key=value pairs in the QueryString
// Call function by x = queryString("key") returns key's value
******************************************************************************/
function queryString(key) // as String
{ 
	var keyValue = null; 
	
	// for each key/value pair...
	for (var i = 0; i < queryString.keys.length; i++) 
	{ 
		// if this key matches the one being requested...
		if (queryString.keys[i].toLowerCase() == key.toLowerCase()) 
		{ 
			// save the key value
			keyValue = queryString.values[i]; 
			
			// break from the for loop
			break; 
		} 
	} 
	
	// return the key value
	return keyValue; 
} 

//-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -'
// syntax version

function querystring(key) // as String
{
	return queryString(key)
}

//-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -'
// syntax version

function QueryString(key) // as String
{
	return queryString(key)
}

/*****************************************************************************

******************************************************************************/
// create the array holding the Key names
queryString.keys = new Array();

// create the array holding the Key values
queryString.values = new Array(); 

// extract the key=value pairs from the QueryString
function queryString_Parse() 
{ 
	// get the QueryString as is
	var query = window.location.search.substring(1); 
	
	// split the QueryString into it key=value pairs
	var pairs = query.split("&"); 

	// for each key=value pair...
	for (var i=0;i<pairs.length;i++) 
	{ 
		// split the value from the key based on the = character
		var pos = pairs[i].indexOf('='); 
		
		if (pos >= 0) 
		{ 
			// the name is everything before the =
			var argName = pairs[i].substring(0,pos); 
			
			// assign it to the key array
			queryString.keys[queryString.keys.length] = argName; 
			
			// the value is everything after the =
			var value = pairs[i].substring(pos+1); 
			
			// assign it to the value array in the same index as the key name
			queryString.values[queryString.values.length] = value; 
		} 
	} 
} 

// call the function to gather and split the key=value pairs
queryString_Parse(); 

/*
<script type="text/javascript" language="javascript">
x = queryString("FieldName")
if (x == "" || x == null)
{
	// do something
}
</script>
*/


/*****************************************************************************
change the selected value of a dropdown element
******************************************************************************/
function clearDDLSelected(elementObj, optSelected)
{
	// make sure the element is of the right object type
	if (elementObj.type == "select-one")
	{
		// clear all selected options
		for (var i = 0; i < elementObj.length; i++)
		{
			// if this child of the element is selected, de-select it
			elementObj[i].selected = false;
		}
		
		// select the option specified
		if (optSelected.length > 0)
		{
			// for each child of the element...
			for (var i = 0; i < elementObj.length; i++)
			{
				// if this child's value matches the passed value to select...
				if (elementObj[i].value.toLowerCase() == optSelected.toLowerCase())
				{
					// check the object
					elementObj[i].selected = true;
					
					// break out of the for loop
					break;
				}
			}
		}
		
	}
}






/*****************************************************************************

******************************************************************************/

function getCookie( c_name )
{
	if( document.cookie.length > 0 )
	{
		c_start = document.cookie.indexOf( c_name + "=" );
		
		if (c_start!=-1)
		{
			c_start = c_start + c_name.length+1; 
			c_end = document.cookie.indexOf( ";", c_start );
			if( c_end == -1 ) c_end = document.cookie.length;
			return unescape( document.cookie.substring( c_start, c_end ) );
		} 
	}
	
	return "";
}



function prfInitialize( objForm )
{
	// Initialize
	var x = queryString("search_airport_id")
	if (x == "" || x == null)
	{
		// see if Airport Code was passed using a different name syntax
		x = queryString("airportCode") // iFly.com naming convention
	}
	
	if (x != "" && x != null)
	{
		for( var i = 0; i < Airports.length; i++ )
		{
			var y = Airports[i]["airport_code"];
			if( x.toLowerCase() == y.toLowerCase() )
			{
				adjAirportName = Airports[i]["city"] + ", " + Airports[i]["state"];
				adjAirportName += " (" + Airports[i]["airport_code"] + ")";

				// function setAirport( airportCode, airportName )
				setAirport( Airports[i]["airport_code"], adjAirportName );
				break;
			}
		}
	}
	else
	{
	  if (document.getElementById("prfAirportName").value == "") setAirport( '0', 'Select an airport' );
	}
	
}


// each link in the <ul> list of Airports has an onClick event which passes the Airport name and code
// i.e <a href="" onClick="setAirport( 'LAX', Los Angeles International Airport' ); Control.Modal.close(); return false;"></a>

function setAirport( airportCode, airportName )
{
	objElementCode = document.getElementById("search_airport_id");
	objElementName = document.getElementById("prfAirportName");
	//Here we send the same airport value to the scheduled shuttle form	
	objElement2Code = document.getElementById("search_scheduled_id");
	objElement2Name = document.getElementById("prfScheduledName");
	
	// if element not found attempt to use prf booking steps control
	if( ( objElementCode == undefined ) || ( objElementName == undefined ) )
	{
	      objElementCode = document.getElementById("PRFBookingSteps_search_airport_id");
	      objElementName = document.getElementById("PRFBookingSteps_prfAirportName");
	}
	
	// fill in values
	if( ( objElementCode != undefined ) && ( objElementName != undefined ) )
	{
	      //Here's where you send the form variables
		  objElementCode.value = airportCode;
	      objElementName.value = airportName;
	}
	
	// fill in values
	if( ( objElement2Code != undefined ) && ( objElement2Name != undefined ) )
	{
	      //Here's where you send the form variables
		  objElement2Code.value = airportCode;
	      objElement2Name.value = airportName;
	}
}