
/*
homepage validation arrays
---------------------------------------------*/
var bGbp0 = Array(["CityCode", "Elije una ciudad de salida.", "validateHiddenTextField", []],
                  ["RL", "Ingresa tu n\372mero de confirmaci\363n. Debe tener seis caracteres (letras y n\372meros).", "validateAlphaNum", [6, 6]],
                  ["FirstName", "Ingresa el nombre de un pasajero en tu itinerario.", "validNotTextField", [' Nombre', '']],
                  ["LastName", "Ingresa el apellido de un pasajero en tu itinerario.", "validNotTextField", [' Apellido', '']]);


var bGbp1 = Array(["tbEmail", "Ingresa una direcci\363n de email v\341lida.", "validateEmail", []],
                  ["tbPass", "Ingresa tu contrase\361a de TrueBlue.", "validatePassword", [4, 10]]);


/*
homepage validation and cookie handling
----------------------------------------------*/
var trackingCookie0 = "jbHpSearchTracked2";
var trackingCookie1 = "jbHpFnTracked";


function trackSearch(form) {
  var theForm = document[form];
  var fromSet = theForm.MARKET1_ORIG_STATION.value != "" ? true : false;
  var toSet = theForm.MARKET1_DEST_STATION.value != "" ? true : false;

  var leaveSet = cal0Hidden.value != "" ? true : false;  
  var returnSet = cal1Hidden.value != "" ? true : false;
  
  var todayDate = new Date(); var tMonth = todayDate.getMonth() + 1; var tDay = todayDate.getDate(); var tYear = todayDate.getFullYear();
  var todayStr = tMonth + "/" + tDay + "/" + tYear;

  var trip_type = "";
  for(var i=0; i<theForm.length; i++) {
    if(theForm[i].name == "TRIP_TYPE" && theForm[i].checked) trip_type = theForm[i].value;
  }

  if(!fromSet) {
    alert("Elije una ciudad de salida.");
    return false;
  }
  else if(!toSet) {
    alert("Elije una ciudad de llegada.");
    return false;
  }
  else if(!leaveSet) {
    alert("Selecciona una fecha de salida.");
    return false;
  }
  else if(trip_type == "RoundTrip" && !returnSet) {
    alert("Selecciona una fecha de regreso.");
    return false;
  }
  else if(enforceMaxPax(form) && checkPassenger(form)) {

    if(cal0Hidden.value == cal1Hidden.value) {
      if(!confirm("Tu fecha de regreso es la misma que tu fecha de salida. \277Es intencional este viaje tan corto?"))
        return false;  
    }

    if(todayStr == cal0Hidden.value) alert("Debido a que has seleccionado la fecha de hoy, s\363lo se mostrar\341n en la pr\363xima p\341gina los vuelos que partan al menos 1 hora y 30 minutos despu\351s de la hora actual.");

    var from = theForm.MARKET1_ORIG_STATION.value; var to = theForm.MARKET1_DEST_STATION.value;

    var leaveVal = cal0Hidden.value; 
    var returnVal = cal1Hidden.value;
    var numAdt = theForm.NUM_ADT.value; 
    var numChd = theForm.NUM_CHD.value;
    var fares = theForm.fare_cat.value;

    setTracking(trackingCookie0, trip_type + "," + from + "," + to + "," + leaveVal + "," + returnVal + "," + numAdt + "," + numChd + "," + fares);

    return true;
    
  }
  else return false;
}

function enforceMaxPax(form)
{
  var paxTotal = 0 
  paxTotal = eval(paxTotal) + eval(document[form].NUM_CHD.value) 
  paxTotal = eval(paxTotal) + eval(document[form].NUM_ADT.value) 
  if (paxTotal > 7){
    alert("\nYou are allowed a maximum of seven passengers per online booking. If your party is larger than this, please call 1-888-JETBLUE (538-2583), option 2 or go to www.jetblue.com/groups.\n")
    return false 
  }
  else{
    return true 
  }
}

function checkPassenger(form){
//var adults = document[form].NUM_ADT.value;
//var children = document[form].NUM_CHD.value 
var adults = document[form].ADULT.value;
var children = document[form].CHILD.value 

 alert("passengers" + adults);
 

if (( adults + children ) <= 0 ) {
  alert("\nDebes ingresar al menos un pasajero.\n");
  return false;
  }
return true;
}

function trackFlight(form) {
  var theForm = document.forms[form];
  var fromSet = theForm.depCity2.value != "" ? true : false;
  var toSet = theForm.arrCity2.value != "" ? true : false;
  var numSet = theForm.flightNumber.value != "" ? true : false;
  
  // the city section is filled out, track using it.
  if(theForm.depCity2.value != "" && theForm.arrCity2.value != "" )
    {    
    setTracking(trackingCookie1, theForm.depCity2.value + "," + theForm.arrCity2.value + "," + getDate(form, "ytt0"));
    return true;
    }
  else if(theForm.flightNumber.value != "" && isANumber(theForm.flightNumber.value))
    {
    setTracking(trackingCookie1, theForm.flightNumber.value +"," + getDate(form, "ytt1"));
    return true;
    }
  else if(!fromSet && !numSet)
    {
    alert("Elije una ciudad de salida.");
    return false;
    }
  else if(!toSet && !numSet)
    {
    alert("Elije una ciudad de llegada.");
    return false;
    }
  else if(!numSet || !isANumber(theForm.flightNumber.value))
    {
    alert("Ingresa un n\372mero de vuelo v\341lido (uno a cuatro d\355gitos).");
    return false;
    }
}

function trackInit() {
  
  var ck0 = getCookie(trackingCookie0); var div0 = $("tracked0");
  var ck1 = getCookie(trackingCookie1); var div1 = $("tracked1");

  $("ADULT").value = "01";
  $("MARKET1_DATE").value = "";
  $("MARKET2_DATE").value = "";
 
  //browserBackButton Cookie
  $("browserBack").value = Math.floor(Math.random()*110);


  if(ck0) {
    var aDiv = document.createElement("div");
    div0.appendChild(aDiv);
    var aSpan = document.createElement("span");
    aSpan.appendChild(document.createTextNode("B\372squedas: "));
    aDiv.appendChild(aSpan);
    var parts0 = ck0.split("//");
    for(var i=0; i<parts0.length; i++) {
      if(parts0[i] != "") {
        var parts1 = parts0[i].split(",");
        
        var link = document.createElement("a");
        link.href = "javascript:prepopMB('" + parts1[1] + "','" + parts1[2] + "'," + parts1[0] + "," + parts1[3] + "," + parts1[4] + "," + parts1[5] + "," + parts1[6] + "," + parts1[7] + ")";
        link.appendChild(document.createTextNode(parts1[1] + " hasta " + parts1[2]));
        aDiv.appendChild(link);
        if(i != parts0.length-1) aDiv.appendChild(document.createTextNode(" "));
      }
    }

    //prepop MB on browserBack
    //var parts1 = parts0[0].split(",");
    //if($("browserBack").value == parts1[7]) {
         //prepopMB("'" + parts1[1] + "'","'" + parts1[2] + "'",parts1[0],parts1[3],parts1[4],parts1[5],parts1[6]);
   //}
 }

  if(ck1) {
    var aDiv = document.createElement("div");
    div1.appendChild(aDiv);
    var aSpan = document.createElement("span");
    aSpan.appendChild(document.createTextNode("Recientemente rastreado: "));
    aDiv.appendChild(aSpan);
    var parts0 = ck1.split("//");
    for(var i=0; i<parts0.length; i++) {
      if(parts0[i] != "") {
        var parts1 = parts0[i].split(",");
        var link = document.createElement("a"); link.href = "";
        if(parts1.length == 2)
          link.appendChild(document.createTextNode("Vuelo " + parts1[0]));
        else
          link.appendChild(document.createTextNode(parts1[0] + " hasta " + parts1[1]));

        aDiv.appendChild(link);
        if(i != parts0.length-1) aDiv.appendChild(document.createTextNode(" "));
      }
    }
  }

}

function setTracking(cookieName, track)
{
  var tracked = getCookie(cookieName);
  var trackedParts = new Array();

  // if a cookie exists, remove the last tracked item and slide the new one onto
  // the front
  if (tracked)
  {
    deleteCookie(cookieName);
    trackedParts = tracked.split("//");
    trackedParts.pop();
    trackedParts.unshift(track);
    newTracked = trackedParts.join("//");
  }
  else 
  {
    newTracked = track + "//";
  }
  
  setCookie(cookieName, newTracked, 720);

}

function getDate(form, dateField)
{
  // all this to calculate a date from the radio boxes...

  var theForm = document.forms[form];
  var today = new Date();
  for (i=0; i<theForm.length; i++)
  {
    if (theForm[i].name == dateField && theForm[i].checked)
    {
      // millseconds in a day 
      // 60*60*24*1000
      // 86400000
      switch (theForm[i].value)
      {
        case "-1":
          var theDate = new Date(today.valueOf() - 86400000);
          break;
        case "0":
          var theDate = today;
          break;
        case "1":
          var theDate = new Date(today.valueOf() + 86400000);
          break;
      }
    }
  }
  return (theDate.getMonth() + 1) + "/" + theDate.getDate() + "/" + theDate.getFullYear();
}

function doNextMonth () {
	if (this.pages[this.pages.length-1].Style.CSS_NAV_RIGHT.indexOf("Inactivo") >= 0)
		return;

	for (var p=0;p<this.pages.length;++p) {
		var cal = this.pages[p];
		cal.nextMonth();
	}
}
function doPreviousMonth () {
	if (this.pages[0].Style.CSS_NAV_LEFT.indexOf("Inactivo") >= 0)
		return;

	for (var p=this.pages.length-1;p>=0;--p) {
		var cal = this.pages[p];
		cal.previousMonth();
	}
}

function buildFooter() {
  footerId = 'calendarFooter_' + this.id;
  if (document.getElementById(footerId)) return;


  var obj = this;
  var cid = obj.oDomContainer.id;
  var foot = document.createElement("div"); foot.id = footerId; foot.className = "calfooter";
  
  /*TWW -- These next two rows are to put the 'flights available through...' message
   *       on the calendar popup.
   */
  var scheduleDateElement = document.getElementById("hiddenScheduleDate");
  var scheduleDate = scheduleDateElement.getAttribute("value").replace(/(\d+)\/(\d+)\/(\d\d\d\d)/, "$1/$2/$3");
  var parsedDate = this.pages[0]._parseDate(scheduleDate);
  var months = this.cfg.getProperty("MONTHS_LONG");
  var longDate = months[parsedDate[1]-1] + ' ' + parsedDate[2] + ', ' + parsedDate[0];

  //alert(scheduleDate);
  //alert(longDate);

  var label = document.createElement("div"); label.className = "footerNotice";
  label.appendChild(document.createTextNode("Vuelos disponibles para la venta hasta el "));
  label.appendChild(document.createTextNode(longDate));
  foot.appendChild(label);
  
  //closer = "<div class='footerCloser'><a href=\"javascript:void(null);\" onclick=\"javascript:hide('" + this.oDomContainer.id + "')\"></a></div></td></tr>";

  label = document.createElement("div"); label.className = "footerCloser";
  label.appendChild(document.createTextNode("Cerrar"));
  label.onclick = function() {
    hide(cid);
  };
  foot.appendChild(label);

  obj.oDomContainer.appendChild(foot);
}


function showCalendar0(e, obj) {
  var correctDate;
  if(this.getSelectedDates().length == 0 && cal1.getSelectedDates().length !=0)
    correctDate = cal1.getSelectedDates()[0];
  else if(this.getSelectedDates().length !=0)
    correctDate = this.getSelectedDates()[0];
  else 
    correctDate = this.pages[0].today;

  showCalendar_core(this, correctDate);
}

function showCalendar1(e, obj) {
  var theInput = $(cal1.oDomContainer.id.replace("Container", "Input"));
  if(theInput.innerHTML == disabledTxt)
    return;
  if(theInput.getElementsByTagName("a")[0] && theInput.getElementsByTagName("a")[0].innerHTML == disabledTxt)
    return;

  var correctDate;
  if(cal0.getSelectedDates().length != 0)
    correctDate = cal0.getSelectedDates()[0];
  else if(cal0.getSelectedDates().length == 0 && this.getSelectedDates().length != 0)
    correctDate = this.getSelectedDates()[0];
  else
    correctDate = this.pages[0].today;
  
  showCalendar_core(this, correctDate);
}

function showCalendar_core(obj, correctDate)
{
  var pageDate = obj.getSelectedDates()[0];
  if (pageDate == undefined) pageDate = correctDate;

  obj.setMonth(correctDate.getMonth()); obj.setYear(correctDate.getFullYear());

  var diff = Date.parse(correctDate.toString()) - Date.parse(obj.pages[0].today);

  if(pageDate.getMonth() == obj.pages[0].today.getMonth() && pageDate.getYear() == obj.pages[0].today.getYear()) {
    obj.pages[0].Style.CSS_NAV_LEFT = "yui-calendar calnavleft calnavleftInactive"; obj.pages[1].Style.CSS_NAV_RIGHT = "yui-calendar calnavright";
  }
  else if(diff > (1000*60*60*24*maxDaysOut)) {
    obj.pages[0].Style.CSS_NAV_LEFT = "yui-calendar calnavleft"; obj.pages[1].Style.CSS_NAV_RIGHT = "yui-calendar calnavright calnavrightInactive";
  }
  else {
    obj.pages[0].Style.CSS_NAV_LEFT = "yui-calendar calnavleft"; obj.pages[1].Style.CSS_NAV_RIGHT = "yui-calendar calnavright";
  }

  obj.render();

  $(obj.oDomContainer.id).style.display = "block";
}


function hide(id) {
  $(id).style.display = "none";
}

function changePage() {
  var currDate = this.pages[0].today; var nextDate = this.pages[1].cfg.getProperty(YAHOO.widget.CalendarGroup._DEFAULT_CONFIG.PAGEDATE.key);
  var diff = Date.parse(nextDate.toString()) - Date.parse(currDate.toString());

  if(diff <= 0) {
    this.pages[0].Style.CSS_NAV_LEFT = "yui-calendar calnavleft calnavleftInactive"; this.pages[1].Style.CSS_NAV_RIGHT = "yui-calendar calnavright";
  }
  else if(diff > (1000*60*60*24*maxDaysOut)) {
    this.pages[0].Style.CSS_NAV_LEFT = "yui-calendar calnavleft"; this.pages[1].Style.CSS_NAV_RIGHT = "yui-calendar calnavright calnavrightInactive";
  }
  else {
    this.pages[0].Style.CSS_NAV_LEFT = "yui-calendar calnavleft"; this.pages[1].Style.CSS_NAV_RIGHT = "yui-calendar calnavright";
  }

  this.render();
}


function dateSelect0(type, args, obj) {
  var c = obj ? obj : this;
  var currDate = c.getSelectedDates()[0]; 
  var parsed = Date.parse(currDate.toString());
  var jbDate = c.cfg.getProperty("WEEKDAYS_MEDIUM")[currDate.getDay()] + ", " +
               c.cfg.getProperty("MONTHS_SHORT")[currDate.getMonth()] + " " +
               currDate.getDate() + ", " +
               currDate.getFullYear();
  
  $(c.oDomContainer.id.replace("Container", "Input")).innerHTML = jbDate;

  // format date for skylights
  cal0SkyLightsHiddenDay.value = currDate.getDate() < 10 ? "0" + currDate.getDate() : currDate.getDate();
  var monthVal = (currDate.getMonth() + 1) < 10 ? "0" + (currDate.getMonth() + 1) : currDate.getMonth() + 1;
  cal0SkyLightsHiddenMonthYear.value = monthVal + currDate.getFullYear().toString();

  cal0Hidden.value = (currDate.getMonth() + 1) + "/" + currDate.getDate() + "/" + currDate.getFullYear();

  if( cal1Hidden.value == "" ) {
    cal1.setMonth(currDate.getMonth()); 
    cal1.setYear(currDate.getFullYear()); 
    cal1.render();
    }

  else if( Date.parse( cal1Hidden.value ) < parsed ) {
    $(cal1.oDomContainer.id.replace("Container", "Input")).innerHTML = "\277Fecha de regreso?";
    cal1Hidden.value = "";
    cal1.clear();
    }

  cal1.cfg.setProperty('mindate', currDate);
  
  hide(c.oDomContainer.id);
}

function dateSelect1(type, args, obj) {
  var c = obj ? obj : this;
  var currDate = c.getSelectedDates()[0];
  var jbDate = c.cfg.getProperty("WEEKDAYS_MEDIUM")[currDate.getDay()] + ", " +
               c.cfg.getProperty("MONTHS_SHORT")[currDate.getMonth()] + " " +
               currDate.getDate() + ", " +
               currDate.getFullYear();
    
  $(c.oDomContainer.id.replace("Container", "Input")).innerHTML = jbDate;
  
  // format date for skylights
  cal1SkyLightsHiddenDay.value = currDate.getDate() < 10 ? "0" + currDate.getDate() : currDate.getDate();

  var monthVal = (currDate.getMonth() + 1) < 10 ? "0" + (currDate.getMonth() + 1) : currDate.getMonth() + 1;
  cal1SkyLightsHiddenMonthYear.value = monthVal + currDate.getFullYear().toString();

  cal1Hidden.value = (currDate.getMonth() + 1) + "/" + currDate.getDate() + "/" + currDate.getFullYear();

  hide(c.oDomContainer.id);
}

function reenableCal(cal) {
  var theInput = $(cal.oDomContainer.id.replace("Container", "Input"));
  if(theInput.innerHTML == disabledTxt || (theInput.getElementsByTagName("a")[0] && theInput.getElementsByTagName("a")[0].innerHTML == disabledTxt)) {
    theInput.style.color = "#4b90cd";
    theInput.innerHTML = "\277Fecha de regreso?";
    if(theInput.firstChild.nodeName.toLowerCase() == "a")
      theInput.firstChild.style.fontSize = "13px";
  }
}

function disableCal(cal, hid) {
  var theInput = $(cal.oDomContainer.id.replace("Container", "Input"));
  theInput.innerHTML = disabledTxt;
  theInput.style.color = "#cccccc";
  if(theInput.getElementsByTagName("a")[0]) theInput.getElementsByTagName("a")[0].style.color = "#cccccc";
  cal.clear(); $(hid).value = "";
  var trigger = cal.oDomContainer.id.replace("Container", "Trigger");
}

function offClick(e) {
  if(!e) e = window.event;
  var caller = e.srcElement ? e.srcElement : e.target;
  var chain0 = false;
  var chain1 = false;
  
  while(caller) {
    if(caller.id == cal0.oDomContainer.id.replace("Container", "Root")) {
      chain0 = true;
      break;
    }
    else if(caller.id == cal1.oDomContainer.id.replace("Container", "Root")) {
      chain1 = true;
      break;
    }

    caller = caller.parentNode;
  }

  if(!chain0) hide(cal0.oDomContainer.id);
  if(!chain1) hide(cal1.oDomContainer.id);
}


var today = new Date();
var cal0, cal1;

var cal0Hidden = ""; 
var cal1Hidden = "";

var cal0SkyLightsHiddenMonthYear = ""; 
var cal0SkyLightsHiddenDay = ""; 

var cal1SkyLightsHiddenMonthYear = "";
var cal1SkyLightsHiddenDay = "";

var disabledTxt = "---------------------------------------";
var maxDaysOut = 365;


/*
Field focus functions
-------------------------------------------------*/
function initFocus(fieldId, defaultVal, maxlen) {
  var theInput = document.getElementById(fieldId);
  if(theInput.value == defaultVal) {
    theInput.value = "";
    
    if(maxlen >= 0) theInput.maxLength = maxlen;
  }
}

/* NOTE: there is a javascript defect making it necessary to set the
 * unfocused maxLength to an arbitrarily large value once it was set
 * to a finite value by initFocus... thus the 999999 below.
 */
function initBlur(fieldId, defaultVal, maxlen) {
	var theInput = document.getElementById(fieldId);
	if(theInput.value == "") {
		if (maxlen >= 0)
			theInput.maxLength = 999999; /* SEE NOTE ABOVE */
		theInput.value = defaultVal;
	}
}


function swapPass(parent) {
  var td = parent;
  var input = td.firstChild;
  if(input.getAttribute("type") == "text") {
    var pass = document.createElement("input");
    pass.setAttribute("type", "password");
    pass.id = input.id; pass.name = input.name;
    pass.maxLength = 10;
    td.removeChild(input);
    td.appendChild(pass);
    pass.focus();
  }
}



/*
ReconcilePAXChoices: 
  What do do whenever the user clicks a choice.
-----------------------------------------------*/
function ReconcilePAXChoices()
{
  var adt = document.getElementById('selectObj_0').getElementsByTagName("input")[0].value;
  var chd = document.getElementById('selectObj_1').getElementsByTagName("input")[0].value;
  var inf = document.getElementById('selectObj_2').getElementsByTagName("input")[0].value;

  //alert("adt: " + adt + " chd: " + chd + " inf: " + inf);

  // set 'infant' choices
  if (adt < inf)
  {
    var inp = document.getElementById('selectObj_2').getElementsByTagName("input");
    inp[0].value = 0;
    var h4 = document.getElementById("selectObj_2").getElementsByTagName("h4")[0];
    h4.innerHTML = "0 Infantes";
  }
  var lis = document.getElementById("selectObj_2").getElementsByTagName("li");
  for (i=0; i<lis.length; i++)
  {
    if (i > adt)
      lis[i].style.display = "none";
    else
      lis[i].style.display = "";
  }
}

/*
Preset Mini-Booker
-----------------------------------------------*/
function usePreset(config, panel, form) {
  var subP, obj, p, dateParts;
  if("from" in config) {
    this.panel0.panel1.preset(config["from"]);
    //subP = panel.subPanels[0];
    //if(obj = retCityAnchor(subP.panelId, config["from"]))
      //onclickWrap(subP, obj);
  }

  if("to" in config) {
    this.panel0.panel2.preset(config["to"]);
    //subP = panel.subPanels[1];
    //if(obj = retCityAnchor(subP.panelId, config["to"]))
      //onclickWrap(subP, obj);
  }

  if("dateLeave" in config) {
    newDate = config["dateLeave"];
    if (newDate != "") {
      cal0.select(newDate);
      var selectedDates = cal0.getSelectedDates();
      if (selectedDates.length > 0) {
        var firstDate = selectedDates[0];
        cal0.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
        cal0.render();
      }
    }
  }

  if("dateReturn" in config) {
    if(config["dateReturn"] != "") {
      newDate = config["dateReturn"];
      if (newDate != "") {
        cal1.select(newDate);
        var selectedDates = cal1.getSelectedDates();
        if (selectedDates.length > 0) {
          var firstDate = selectedDates[0];
          cal1.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
          cal1.render();
        }
      }
    }
  }

  var theForm = document[form];
  if("numAdt" in config) {
    var h4 = document.getElementById("selectObj_0").getElementsByTagName("h4")[0];
    h4.innerHTML = config["numAdt"] + " Adulto";
    h4.innerHTML += (config["numAdt"] == 1) ? "" : "s";
    p = theForm.NUM_ADT ? theForm.NUM_ADT : theForm.ADULT;
    p.value = config["numAdt"];
  }

  if("numChd" in config) {
    var h4 = document.getElementById("selectObj_1").getElementsByTagName("h4")[0];
    h4.innerHTML = config["numChd"] + " Ni\361o"; 
    h4.innerHTML += (config["numChd"] == 1) ? "" : "s";
    p = theForm.NUM_CHD ? theForm.NUM_CHD : theForm.CHILD;
    p.value = config["numChd"];
  }

  if("numInf" in config) {
    var h4 = document.getElementById("selectObj_2").getElementsByTagName("h4")[0];
    h4.innerHTML = config["numInf"] + " Infante"; 
    h4.innerHTML += (config["numInf"] == 1) ? "" : "s";
    p = theForm.NUM_INF ? theForm.NUM_INF : theForm.numInfants;
    p.value = config["numInf"];
  }

  ReconcilePAXChoices()

  if(config["tripType"]) {    
    theForm.TRIP_TYPE[1].checked = true;
    disableCal(cal1, "MARKET2_DATE");
  } else {
    theForm.TRIP_TYPE[0].checked = true;
    reenableCal(cal1, "MARKET2_DATE");
    $("cal1Input").style.color = "#4B90CD";
  } 
}
/* add helper JS for recent searches */

function prepopMB(fromCity, toCity, trip, numAdts, numChds, numInfs, fromdt, todt) {
  // fire prepopulated minibooker on "Recent Searches"
  // reset form for Firefox users  
  var preset2 = {"tripType": trip, "from": fromCity, "to": toCity, "numAdt": numAdts, "numChd": numChds, "numInf": numInfs, "dateLeave" : fromdt, "dateReturn" : todt };
  usePreset(preset2, panel0, "bBaf"); 
}   

//get boarding pass where is this link
function open_pnr_example()
{
  var wait_url ="http://hola.jetblue.com/enes/pnr_example.asp" 
  var popH ="350" 
  var popW ="575" 

  var w = 640 
  var h = 480 

  if (document.getElementById) { //NN6
     w = screen.availWidth 
     h = screen.availHeight 
  } 

  else if ( document.all ) { //IE
     w = screen.availWidth 
     h = screen.availHeight 
  } 

  else if ( document.layers ) {  //NN
     w = screen.availWidth 
     h = screen.availHeight 
  } 

  var leftPos = (w-popW)/2, topPos = (h-popH)/2 

  var waitpage = window.open(wait_url,'wait','width=' + popW + ',height=' + popH + ',screenX=' + leftPos + ',screenY=' + topPos + ', Top=' + topPos + ',left=' + leftPos + ',navigationbar=0,toolbar=0,directories=0,status=0,location=0,menubar=0,scrollbars=0,resizable=0') 
}

/*
homepage dual calendar
------------------------------------------------*/
function init() {
  if (cal0 != undefined) return;

  var todayDate = new Date(); var tMonth = todayDate.getMonth() + 1; var tDay = todayDate.getDate(); var tYear = todayDate.getFullYear();
  var todayStr = tMonth + "/" + tDay + "/" + tYear;

  var scheduleDateElement = document.getElementById("hiddenScheduleDate");
  var scheduleDate = scheduleDateElement.getAttribute("value").replace(/(\d+)[\/-](\d+)[\/-](\d+)/, "$1/$2/$3");

  var config = {
    LOCALE_WEEKDAYS: '1char', 
    LOCALE_MONTHS: 'long', 
    mindate: todayStr,
    maxdate: scheduleDate,
    strings : { previousMonth: "", nextMonth: ""}
    };

  cal0 = new YAHOO.widget.CalendarGroup("cal0", "cal0Container", config);
//  cal0.renderCellDefault = renderDefault;
//  cal0.renderCellNotThisMonth = renderNotThisMonth;
  cal0.changePageEvent.subscribe(changePage, cal0, true);
  cal0.renderFooter = buildFooter;
  cal0.nextMonth = doNextMonth;
  cal0.previousMonth = doPreviousMonth;
  cal0.selectEvent.subscribe(dateSelect0, cal0, true);
  cal0.setupConfig();
  
  cal0.render();


  // skylights compatible variables
  cal0SkyLightsHiddenDay = $("sector_1_d");
  cal0SkyLightsHiddenMonthYear = $("sector_1_m");
  cal0Hidden = $("MARKET1_DATE");



  cal1 = new YAHOO.widget.CalendarGroup("cal1", "cal1Container", config);
  //cal1.renderCellDefault = renderDefault;
  //cal1.renderCellNotThisMonth = renderNotThisMonth;
  cal1.changePageEvent.subscribe(changePage, cal1, true);
  cal1.renderFooter = buildFooter;
  cal1.nextMonth = doNextMonth;
  cal1.previousMonth = doPreviousMonth;
  cal1.selectEvent.subscribe(dateSelect1, cal1, true);
  cal1.setupConfig();
  cal1.render();

  // skylights compatible variables
  cal1SkyLightsHiddenDay = $("sector_2_d");
  cal1SkyLightsHiddenMonthYear = $("sector_2_m");
  cal1Hidden = $("MARKET2_DATE");


	YAHOO.util.Event.addListener(cal0.oDomContainer.id.replace("Container", "Trigger"), "click", showCalendar0, cal0, true);
	YAHOO.util.Event.addListener(cal1.oDomContainer.id.replace("Container", "Trigger"), "click", showCalendar1, cal1, true);
	YAHOO.util.Event.addListener(document.body, "click", offClick);
	YAHOO.util.Event.addListener(['selectObj_0', 'selectObj_1'], "click", ReconcilePAXChoices);

  // clear these out
  $("MARKET1_ORIG_STATION").value = "";
  $("MARKET1_DEST_STATION").value = "";
  $("sector1_o").value = "";
  $("sector1_d").value = "";
  $("sector_1_d").value = "";
  $("sector_1_m").value = "";
  $("sector_2_d").value = "";
  $("sector_2_m").value = "";
  $("MARKET2_DATE").value = "";
  $("MARKET1_DATE").value = "";
}
