/*
wherewefly destinations validation and cookie handling
----------------------------------------------*/
var trackingCookie0 = "jbHpSearchTracked";

function trackSearch(form) {
  var theForm = document.forms[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;
  }
  alert(trip_type);
  alert(theForm.MARKET1_DEST_STATION.value);

  if(trip_type != "RoundTrip" && theForm.MARKET1_DEST_STATION.value == "BOG") {
     alert(bogota_popup);
     return true;
  }
  
  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;

    setTracking(trackingCookie0, trip_type + "," + from + "," + to + "," + leaveVal + "," + returnVal + "," + numAdt + "," + numChd);

    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 > 9){
    alert("\nSe permite un m\341ximo de " + 9 + " pasajeros\npor cada reservaci\363n online. Si tu grupo supera\nese n\372mero, llama a nuestro centro de reservaciones.\n")
    return false 
  }
  else{
    return true 
    }
  }

function checkPassenger(form){
var adults = document[form].NUM_ADT.value;
var children = document[form].NUM_CHD.value 
if (( adults + children ) <= 0 ) {
  alert("\nDebes ingresar al menos un pasajero.\n");
  return false;
  }
return true;
}

function trackInit() {
  var ck0 = getCookie(trackingCookie0); var div0 = $("wwfContentTrackedWrapper");
  
  if(ck0) {
    var controlTop = $("wwfControlTop"); controlTop.className = "tracked";
    div0.style.padding = "0 0 3px 0";
    div0.appendChild(document.createTextNode("B\372squedas: "));
    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] + ")";
        link.appendChild(document.createTextNode(parts1[1] + " hasta " + parts1[2]));
        div0.appendChild(link);
        if(i != parts0.length-1) div0.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);

  }



/*
Preset Mini-Booker
-----------------------------------------------*/
function usePreset(config, panel, form) {
  var subP, obj, p, dateParts;
  if("from" in config) {
    subP = panel.subPanels[0];
    if(obj = retCityAnchor(subP.panelId, config["from"]))
      onclickWrap(subP, obj);
  }

  if("to" in config) {
    subP = panel.subPanels[1];
    if(obj = retCityAnchor(subP.panelId, config["to"]))
      onclickWrap(subP, obj);
  }

  if("dateLeave" in config) {
    dateParts = config["dateLeave"].split("/");
    cal0.selectedDates[0] = [dateParts[2],dateParts[0],dateParts[1]];
    dateSelect0(cal0);
  }

  if("dateReturn" in config) {
    dateParts = config["dateReturn"].split("/");
    cal1.selectedDates[0] = [dateParts[2],dateParts[0],dateParts[1]];
    dateSelect1(cal1);
  }

  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(config["tripType"]) {
    theForm.TRIP_TYPE[1].checked = true;
    disableCal(cal1, "MARKET2_DATE");
  } else {
    theForm.TRIP_TYPE[0].checked = true;
	reenableCal(cal1, "MARKET2_DATE");
  }		 
}
/* add helper JS for recent searches */

function prepopMB(fromCity, toCity, trip, numAdts, numChds) {
	// fire prepopulated minibooker on "Recent Searches"
	 // reset form for Firefox users	

	 var preset2 = {"tripType": trip, "from": fromCity, "to": toCity, "numAdt": numAdts, "numChd": numChds };
	 usePreset(preset2, panel0, "bBaf"); 
}	 

