var carsForm = Array({"field" : "PULoc", "method" : "validateTextField"},
                     {"field" : "PUDate", "method" : "validateTextField"},
                     {"field" : "DODate", "method" : "validateTextField"});

function CarsPage(container) {
  this.container = container;
  this.cookie = "carsPageCookie";
  this.browserBackCookie = "CarbrowserBackCookie";
  this.panel1 = new GenericPanel("whereFrom", "Where to pick up car?", "PULoc", 0, airports,"carsForm","","");
  this.panel2 = new GenericPanel("pickTime", "Pick-up time?", "PUTime", 1, Hours, "carsForm","","");
  this.panel3 = new GenericPanel("dropTime", "Drop-off time?", "DOTime", 2, Hours, "carsForm","","");
  var o = this;
  this.panel2.numCols = this.panel3.numCols = 4;

   
  $("PULoc").value = "";
  $("PUDate").value = "";
  $("PUTime").value = "";
  $("DODate").value = "";
  $("DOTime").value = "";

  //Form Submit
  $("CarSubmit").onclick = function() { return o.submitForm('carsForm'); }


  this.calPair1 = new CalendarPair("cal0", "cal1", "PUDate", "DODate","","");

  this.validator = new Validator("carsForm", "errorMessage", false);

  var cookie = getCookie(this.cookie);


  if(cookie) {
    var jar = document.getElementsByClassName("cookieJar", this.container);
    var cookieObject = eval(cookie);
    jar[0].appendChild(document.createTextNode("Recent search: "));
    var link = document.createElement("a");

   link.href = "#";
   link.id = "prepopMB";
	  
    link.title = cookieObject[0].fields[0].v + " - Pick-up date " + 
                 cookieObject[0].fields[1].v + " Drop-off date " + 
                 cookieObject[0].fields[2].v; 
                 

    link.appendChild(document.createTextNode(cookieObject[0].val));
    jar[0].appendChild(link);
    $("prepopMB").onclick = function() { o.prepopMB(cookieObject[0].fields[0].v,cookieObject[0].fields[1].v,cookieObject[0].fields[2].v,cookieObject[0].fields[3].v,cookieObject[0].fields[4].v,cookieObject[0].fields[5].v); }
   }
   
   //browserBackButton Cookie
   $("browserBack").value = Math.floor(Math.random()*110);
  
   //display minibooker
   $("tdFlBooker").style.display = 'block';
   $("tdFlBookerBot").style.display = 'block';
   $("tdFlBookerMain").style.display = 'block';
   $("cal0Root").style.display = 'block';
   $("cal1Root").style.display = 'block';

   $("carsForm").action = "http://hotels.jetblue.com/cars/index.jsp?CID=233124";
   $("carsForm").method = "post";
}

CarsPage.prototype.submitForm = function() {

  var result = this.validator.validate();

  var partner;
  partner = "other";
  
  var cookieObject = new Object();
  if(result.length == undefined)
    {
    cookieObject.val = this.panel1.getReadable();
    cookieObject.fields = new Array();

    cookieObject.fields.push({ 
                        "v" : this.panel1.getValue()});

    cookieObject.fields.push({ 
                        "v" : this.calPair1.getValue1()});

    cookieObject.fields.push({
                        "v" : this.calPair1.getValue2()});

    cookieObject.fields.push({ 
                        "v" : this.panel2.getValue()});

     cookieObject.fields.push({
                        "v" : this.panel3.getValue()});

    cookieObject.fields.push({
                        "v" : partner});

    addTracking(this.cookie, cookieObject);

    //BrowserBackButton Cookie
    //var trackedParts = new Array();
    //trackedParts.push(cookieObject);
  
    //setCookie(this.browserBackCookie, trackedParts.toJSONString(), $("browserBack").value);

    //reformat date for hertz page
   var pudate = $("PUDate").value;
  
   pudate_temp = pudate.split("/");
   
   pudate_day = pudate_temp[1];
   pudate_month = pudate_temp[0];
   pudate_year = pudate_temp[2];

   $("pickUpDay").value =  pudate_day;
   $("pickUpMonth").value = pudate_month-1;

   if(pudate_day < 10)
     pudate_day = "0" + pudate_day;
   if(pudate_month < 10)
     pudate_month = "0" + pudate_month;

   $("PUDate").value = pudate_year + pudate_month + pudate_day;
   $("DOLoc").value = $("PULoc").value;
   
   
   var dodate = $("DODate").value;
   dodate_temp = dodate.split("/");
   dodate_day = dodate_temp[1];
   dodate_month = dodate_temp[0];
   dodate_year = dodate_temp[2];

   $("dropOffMonth").value = dodate_month-1;
   $("dropOffDay").value = dodate_day;

   if(dodate_day < 10)
     dodate_day = "0" + dodate_day;
   if(dodate_month < 10)
     dodate_month = "0" + dodate_month;

   $("DODate").value = dodate_year + dodate_month + dodate_day;
   $("city").value = this.panel1.getValue();


   $("PUTime").value = this.formatTime($("PUTime").value);
   $("DOTime").value = this.formatTime($("DOTime").value);
   $("pickUpTime").value = this.formatTime($("PUTime").value);
   $("dropOffTime").value = this.formatTime($("DOTime").value);
      
   return true;
    }
  else
    return false;
  }

CarsPage.prototype.formatTime = function(time) {
  
  switch(time) {
	case "0100": time = "1AM";break;
	case "0200": time = "2AM";break;
	case "0300": time = "3AM";break;
	case "0400": time = "4AM";break;
	case "0500": time = "5AM";break;
	case "0600": time = "6AM";break;
	case "0700": time = "7AM";break;
	case "0800": time = "8AM";break;
	case "0900": time = "9AM";break;
	case "1000": time = "10AM";break;
	case "1100": time = "11AM";break;
	case "1200": time = "12PM";break;
	case "1300": time = "1PM";break;
	case "1400": time = "2PM";break;
	case "1500": time = "3PM";break;
	case "1600": time = "4PM";break;
	case "1700": time = "5PM";break;
	case "1800": time = "6PM";break;
	case "1900": time = "7PM";break;
	case "2000": time = "8PM";break;
	case "2100": time = "9PM";break;
	case "2200": time = "10PM";break;
	case "2300": time = "11PM";break;
	case "0": time = "12AM";break;
  }
  return time;
}

CarsPage.prototype.prepopMB = function(fromCity, fromdt, todt, pickTime, dropTime,partner) {
 
  if(fromCity != "")
    this.panel1.preset(fromCity);
  if(fromdt != "")
    this.calPair1.preset0(fromdt);
  if(todt != "")
    this.calPair1.preset1(todt);
  if(pickTime != "")
    this.panel2.preset(pickTime);
  if(dropTime != "")
    this.panel3.preset(dropTime);

  $("carsForm").action = "http://hotels.jetblue.com/cars/index.jsp?CID=233124";
  $("carsForm").method = "post";
}




function init() {
  var page = new CarsPage("tdFlBookerTop");
  initLightbox();

}

/* for other browsers */
window.onload = init;
