﻿function bestPricerCalendar(name, origen, destino, ida, vuelta, lhabi, edades, soloIda, divDestino, strMensajeCargando) {
    if (name){this.name=name;}else{this.name="bestPricerCal";}
    if (origen){this.origen=origen;}else{this.origen="";}
    if (destino){this.destino=destino;}else{this.destino="";}
    if (ida){this.ida=ida;}else{this.ida="";}
    if (vuelta){this.vuelta=vuelta;}else{this.vuelta="";}
    if (lhabi){this.lhabi=lhabi;}else{this.lhabi="";}
    if (edades){this.edades=edades;}else{this.edades="";}
    if (soloIda){this.soloIda=soloIda;}else{this.soloIda="";}
    if (divDestino){this.divDestino=divDestino;}else{this.divDestino="bestPricerCalendar";}
    if (strMensajeCargando){this.strMensajeCargando=strMensajeCargando;}else{this.strMensajeCargando="Loading . . .";}

    var peticionCal = false; 
    var xmlDocTextCal;
}

bestPricerCalendar.prototype.loadCal = function()
{
    try { 
      peticionCal = new XMLHttpRequest(); 
    } catch (trymicrosoft) { 
      try { 
        peticionCal = new ActiveXObject("Msxml2.XMLHTTP"); 
      } catch (othermicrosoft) { 
        try { 
          peticionCal = new ActiveXObject("Microsoft.XMLHTTP"); 
        } catch (failed) { 
          peticionCal = false; 
        }
      } 
    } 
  
    if (!peticionCal) alert("ERROR AL INICIALIZAR!");

    primeraVez = true;
    this.cargarDatosCal();
    this.cargarVuelosCal();
}

bestPricerCalendar.prototype.cargandoCal = function()
{
    var str = "";
    str += '<table cellSpacing=1 cellPadding=0 width=100% class=descripcion_home><tr height="40"><td align="center" bgcolor="#E0EAFD">' + this.strMensajeCargando + '</td></tr></table>'; 
    document.getElementById(this.divDestino).innerHTML = str;
}    

bestPricerCalendar.prototype.cargarDatosCal = function()
{
    if ((this.origen != "") && (this.destino != "")) {document.frmMain.ciudadesCal.value = this.origen + "_" + this.destino;} 
    if (this.ida != "") {document.frmMain.diaIdaCal.value = this.ida;}
    if (this.vuelta != "") {document.frmMain.diaVueltaCal.value = this.vuelta;}
    if (this.lhabi != "") {if (document.frmMain.lhabiCal) {document.frmMain.lhabiCal.value = this.lhabi; document.frmMain.edadesCal.value = this.edades;}}
    if (this.soloIda != "") {if (document.frmMain.soloIdaCal) {document.frmMain.soloIdaCal.value = "1";}}
}

bestPricerCalendar.prototype.cargarVuelosCal = function()
{
  var str = "";
  if ((document.frmMain.ciudadesCalRandom) && (document.frmMain.ciudadesCalRandom.value != "")){
     str = str + ("&ciudades=" + document.frmMain.ciudadesCalRandom.value);
  } else {
      if (document.frmMain.ciudadesCal.value != ""){
        str = str + ("&ciudades=" + document.frmMain.ciudadesCal.value);
      }
  }
  if (document.frmMain.diaIdaCal.value != "") {
    str = str + ("&fIda=" + document.frmMain.diaIdaCal.value);
  }
  if (document.frmMain.diaVueltaCal.value != "") {
    str = str + ("&fVuelta=" + document.frmMain.diaVueltaCal.value);
  }
  if (document.frmMain.lhabiCal) {
    str = str + ("&lhabi=" + document.frmMain.lhabiCal.value);
    str = str + ("&edades=" + document.frmMain.edadesCal.value);
  }

  if (document.frmMain.soloIdaCal) {
    if (document.frmMain.soloIdaCal.value == "1") {
        str = str + ("&soloIda=" + document.frmMain.soloIdaCal.value);
    }
  }   
  xmlDocTextCal = new XMLRemoteRequest("xmlDocTextCal");
  xmlDocTextCal.async = true;      
  xmlDocTextCal.getRemoteDocument("/include/xmlRequestGDSCalendar.ashx?" + str + "&fecha=" + (new Date).toString()); 
  xmlDocTextCal.onreadystatechange=new Function(this.name + ".pintaResultadoCal()");      
  this.cargandoCal();
}

bestPricerCalendar.prototype.pintaResultadoCal = function()
{
  document.getElementById(this.divDestino).innerHTML= xmlDocTextCal.getOuterXMLFull();
  if (primeraVez) primeraVez = false;
}
        
bestPricerCalendar.prototype.establecerDiaCal = function(ida, vuelta)
{
	document.frmMain.diaIdaCal.value = ida;
	document.frmMain.diaVueltaCal.value = vuelta;
    this.cargarVuelosCal();
}

bestPricerCalendar.prototype.buscarCal = function(combinacion, ida, vuelta)
{
    var idZonOrigen = combinacion.split("_")[0];
    var idZonDestino = combinacion.split("_")[1];
    document.frmMain.idZonOrigenCal.value = idZonOrigen;
    document.frmMain.idZonDestinoCal.value = idZonDestino;
    document.frmMain.diaIdaCal.value = ida;
    document.frmMain.diaVueltaCal.value = vuelta;
	document.frmMain.accionBuscador.value="Gds";
    document.frmMain.accionCal.value="BuscarDia";
    document.frmMain.submit();
}

bestPricerCalendar.prototype.establecerDatosCal = function(origen, destino, ida, vuelta)
{
	document.frmMain.idZonOrigenCal.value = origen;
	document.frmMain.idZonDestinoCal.value = destino;
	document.frmMain.ciudadesCal.value = origen + "_" + destino;
  if ((document.frmMain.ciudadesCalRandom) && (document.frmMain.ciudadesCalRandom.value != "")){
	    document.frmMain.ciudadesCalRandom.value = "";
	}
  	document.frmMain.diaIdaCal.value = ida;
	document.frmMain.diaVueltaCal.value = vuelta;
    this.cargarVuelosCal();
}
