// **************************************************
// Please record all modification
// 
// Author/Date: sfleming & btaylor 02/21/07
// Reason: Added cookies to remember form state for Book a Flight and Check Flight Status.
//
// **************************************************

//Shorten getElementById
	function getObj(obj)
	{
	    if(document.getElementById)
	                obj = document.getElementById(obj);
	    else if(document.all)
	                obj = document.all.item(obj);
	    else
	                obj = null;
	    return obj;
	}

//Drop Down Content - NOT USED
	//Cities
		function PopulateCities(theObj,whichToSelect) {
         return;
		}

  
	//Days and # of Passengers
	  function PopulateNumberList(theObj,minVal,maxVal,numberPad,suffix,whichToSelect) {
			var selIdx = 0;
			if (typeof(whichToSelect) == "undefined") var whichToSelect = "";
			if (theObj.options.length <= 2) {
				var idx = theObj.options.length;
				for (var i=minVal; i<=maxVal; i++) {
					var label = i;
					if ((numberPad) && (i < 10)) i = "0" + i;
					label += suffix;
					if (i == whichToSelect) selIdx = idx;
					theObj.options[idx++] = new Option(label,i);
				}
			}
		}
		
      
// Combined PopulateToTime and PopulateFromTime into one function Time
		function PopulateTime(theObj,whichToSelect) {   
			var time = new Array();
			time["Before Noon"] = "Before Noon";
			time["Noon - 6pm"] = "Noon - 6pm";
			time["After 6pm"] = "After 6pm";
			time["Anytime"] = "Anytime";
			var selIdx = 0;
			if (typeof(whichToSelect) == "undefined") var whichToSelect = "";
			if (theObj.options.length <= 1) {
				var idx = theObj.options.length;
				for (var i in time) {
					if (i == whichToSelect) selIdx = idx;
					theObj.options[idx++] = new Option(time[i],i);
				}
			}
		}


//Reading Cookies
	//Book a Flight
		function preSelectFromCity(city)
		{         
			var city = getObj(city);
			var cityArr = getCookie("bookNowForm").split('^');
			if(cityArr)
			{
				city.selectedIndex = cityArr[10];
			}
		}
		
		function preSelectToCity(city)
		{
			var city = getObj(city);
			var cityArr = getCookie("bookNowForm").split('^');
			if(cityArr)
			{
				city.selectedIndex = cityArr[11];
			}
		}
		
      function preSelectFromMonth(month)
		{
		   var month = getObj(month);
		   var monthArr = getCookie("bookNowForm").split('^');
		   if(monthArr)
		      month.value = monthArr[6];
     
		}
      
     function preSelectFromDate(date) {
        
         var date = getObj(date);
		   var dateArr = getCookie("bookNowForm").split('^');
		   if(dateArr)
		      date.value = dateArr[13]; 
        
      }
		
		function preSelectToMonth(month)
		{
			var month = getObj(month);
			var monthArr = getCookie("bookNowForm").split('^');
			if(monthArr)
				month.value = monthArr[8];            
		}
      
      function preSelectToDate(date) {        
         var date = getObj(date);
	      var dateArr = getCookie("bookNowForm").split('^');
		   if(dateArr)
		      date.value = dateArr[15];         
      }
		
		function preSelectFromDay(day)
		{
		  	var day = getObj(day);
		  	var dayArr = getCookie("bookNowForm").split('^');
		  	if(dayArr)
			  	day.value = dayArr[7];         
		}
		
		function preSelectToDay(day)
		{
			 var day = getObj(day);
			 var dayArr = getCookie("bookNowForm").split('^');
			 if(dayArr)
			 	day.value = dayArr[9];         
		}
      
      function preSelectFromTime(time)
		{
			var time = getObj(time);
			var timeArr = getCookie("bookNowForm").split('^');
			if(timeArr)
				time.value = timeArr[14];
		}
		
		function preSelectToTime(time)
		{
			var time = getObj(time);
			var timeArr = getCookie("bookNowForm").split('^');
			if(timeArr)
				time.value = timeArr[16];
		}
		
		function preSelectAdult(adult)
		{
			var adult = getObj(adult);
			var adultArr = getCookie("bookNowForm").split('^');
			if(adultArr)
				adult.selectedIndex = adultArr[17];
		}
		
		function preSelectSenior(senior)
		{
			var senior = getObj(senior);
			var seniorArr = getCookie("bookNowForm").split('^');
			if(seniorArr)
				senior.selectedIndex = seniorArr[18];
		}
      
      function preSelectPromoCode(promoCode) {        
         var promoCode = getObj(promoCode);
		   var promoCodeArr = getCookie("bookNowForm").split('^');
		   if(promoCodeArr)
		      promoCode.value = promoCodeArr[19];         
      }
	
	//Check Flight Status
		function preSelectFromCityStatus(city)
		{
			var city = getObj(city);
			var cityArr = getCookie("flightStatusForm").split('^');
			if(cityArr) {
				if (city.options.length > cityArr[2]) {//if city select options have not been populated yet, don't set selectedIndex - throws error in FF
					city.selectedIndex = cityArr[2];	
				}
			}
		}
		
		function preSelectToCityStatus(city)
		{
			var city = getObj(city);
			var cityArr = getCookie("flightStatusForm").split('^');
			if(cityArr) {
				if (city.options.length > cityArr[3]) {//if city select options have not been populated yet, don't set selectedIndex - throws error in FF
					city.selectedIndex = cityArr[3];	
				}
			}
		}
		
		function preSelectFlightNumStatus(flight)
		{
			var flight = getObj(flight);
			var flightArr = getCookie("flightStatusForm").split('^');
			if(flightArr)
				flight.value = flightArr[4];
		}
      
      

//Build Drop Downs
function BuildDropdowns() {
	var bff_form = document.forms["bookNowForm"];	
	var fs_form = document.forms["flightStatusForm"];	      
	
		PopulateTime(bff_form.elements["outbound_depart_time"]);  
		PopulateTime(bff_form.elements["return_depart_time"]);   
		
		//Passengers
		PopulateNumberList(bff_form.elements["PAX_COUNT"],2,8,false," Adults","1");
		PopulateNumberList(bff_form.elements["SENIOR_PAX_COUNT"],2,8,false," Seniors");
     
      //City Lists
      var findCities = getCities(); //triggers xhr call to get city lists and build city selects
}

function applyDropdownCookies(field)  {
	if (getCookie("bookNowForm") != null)
	{
		if (field == "s0m3valu3") {
			preSelectFromCity("s0m3valu3");
		} else if (field == "out_arr_airport")   {
			preSelectToCity("out_arr_airport");
		} else {
			var aCookie = getCookie("bookNowForm").split('^');
			var today = new Date();
			today.setHours(0);
			today.setMinutes(0);
			today.setSeconds(0);
			today.setMilliseconds(0);        

         var cookieDepartDate = new Date(aCookie[13]); 
         var cookieReturnDate = new Date(aCookie[15]);
     
        if (today <= cookieDepartDate) {	//don't set the depart date to a cookie date that is in the past
		   preSelectFromMonth("departMonth");
		   preSelectFromDay("departDay");
         preSelectFromDate("outboundDate");
	      preSelectFromTime("outbound_depart_time");
		}
			if (today <= cookieReturnDate) {	//don't set the return date to a cookie date that is in the past
		  preSelectToMonth("returnMonth");
		      preSelectToDay("returnDay");
            preSelectToDate("returnDate");
		      preSelectToTime("return_depart_time");
		}
		 preSelectAdult("PAX_COUNT");
		 preSelectSenior("SENIOR_PAX_COUNT");
      preSelectPromoCode("FARE_DESIGNATOR_PROMO_CODE");
		}	
	}
	if (getCookie("flightStatusForm") != null)	{		
		//Check Your Flight Status
		preSelectFromCityStatus("origin");
		preSelectToCityStatus("destination");
		preSelectFlightNumStatus("flight_number");
	}
   
}