  var HM_DOM = (document.getElementById) ? true : false;
   var HM_NS4 = (document.layers) ? true : false;
   var HM_IE = (document.all) ? true : false;
   var HM_IE4 = HM_IE && !HM_DOM;
   var HM_Mac = (navigator.appVersion.indexOf("Mac") != -1);
   var HM_IE4M = HM_IE4 && HM_Mac;
   var HM_IsMenu = (HM_DOM || HM_NS4 || (HM_IE && !HM_IE4M));

   if(!HM_IsMenu) event = null;

var zz, zv, d, fTSR;
var gBF=false;
var g_MINY = 1601;
var g_MAXY = 4500;
var g_month = 0;
var g_day = 0;
var g_year = 0;
var g_yLow = 1990;
var g_eC=null;
var g_eCV="";

var rgMC = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
d = new Date();
fTSR=0;
zv = d.getTime();
zz = "&zz="+zv;

var DiasPorMes=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5=(ie4 && navigator.userAgent.indexOf('MSIE 5')>0);
var x = 0;
var y = 0;
var trk = 0;
var offsetx=-70;
var offsety=5;
var diaSeleccionado= ""+diaSeleccionado;
var xCalendario="0";
var yCalendario="0";


function callayerWrite(txt) {
        if (ns4) {
                var lyr = document.ptsDiv.document
                lyr.write(txt)
                lyr.close()
        }
        else if (ie4) document.all["calendario"].innerHTML = txt
}

function MM_SIR() { //v3.0
    var i,x,a=document.MM_sr; 
    for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
    x.src=x.oSrc;
}

function MM_PI() { 
    var d=document; 
    if(d.images){ 
      if(!d.MM_p) d.MM_p=new Array();
      var i,j=d.MM_p.length,a=MM_PI.arguments; 
      for(i=0; i<a.length; i++)
      if (a[i].indexOf("#")!=0){ 
         d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
      }
    }
}

function MM_FO(n, d) { 
    var p,i,x;  
    if(!d) d=document; 
    if((p=n.indexOf("?"))>0&&parent.frames.length) {
      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
    }
    if(!(x=d[n])&&d.all) x=d.all[n]; 
    for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_FO(n,d.layers[i].document); return x;
}

function MM_SI() { 
    var i,j=0,x,a=MM_SI.arguments; 
    document.MM_sr=new Array; 
    for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_FO(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function vacio()
{
}

esletra        = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-ÑñáéíóúüÁÉÍÓÚÜ&";
esnumero       = "0123456789";

function es_numero(cadena,lg)
{
   if (lg != cadena.length)  {return 1;}
   for (i=0;i<cadena.length;i++)
   if (esnumero.indexOf(cadena.charAt(i))==-1){return 1;}
   return 0;
}

function es_letra (cadena)
{
   lg = cadena.length;
   if (lg == 0) {return 1};
   for (i=0;i<cadena.length;i++)
   if (esletra.indexOf(cadena.charAt(i))==-1){return 1;}
   return 0;
}

function initForm() {
  if (navigator.userAgent.indexOf('Gecko') != -1) {
  document.AIR.D_Day_sel.selectedIndex = 0;
  document.AIR.R_Day_sel.selectedIndex = 0;
  document.AIR.D_Month_sel.selectedIndex = 0;
  document.AIR.R_Month_sel.selectedIndex = 0;
  }
}

function valorFecha(valor) {
  var monthYear_I = document.AIR.D_Month_sel.options[document.AIR.D_Month_sel.selectedIndex].value;
  var monthYear_V = document.AIR.R_Month_sel.options[document.AIR.R_Month_sel.selectedIndex].value;

  var month_I = monthYear_I.substring(4,6);
  var month_V = monthYear_V.substring(4,6);

  var year_I = monthYear_I.substring(2,4);
  var year_V = monthYear_V.substring(2,4);

  var new_fechaI = document.AIR.D_Day_sel.options[document.AIR.D_Day_sel.selectedIndex].value + "/" + month_I + "/" + year_I;
  var new_fechaV = document.AIR.R_Day_sel.options[document.AIR.R_Day_sel.selectedIndex].value + "/" + month_V + "/" + year_V;

  if (valor=='I') {
  return new_fechaI;
  } 
  else
  {
  return new_fechaV;
  }

}

function check_data(flight_type)
{

    checkstr = "";
    with(document.AIR) 
    {
        tipo_vuelo.value = flight_type;
        SEARCH_BY.value = flight_type;
	var num_adultos = NUMBER.selectedIndex;
	var num_ninios = INFANT.selectedIndex;
	if ( (1*num_ninios + 1*num_adultos) > 5)
	   checkstr += "- "+msg1+"\n";
	if ( num_adultos == 0 ) 
	   checkstr += "- "+msg2+"\n";

	if (!GetInputDate(fechaI.value))
	   checkstr += "- "+msg3+"\n";
	else {
	var dDateValue=(g_year*100+g_month)*100+g_day;
	D_Day.value=g_day;
	D_Month.value="20" + g_year+(g_month<10?"0":"")+g_month;
	var departureDate = new Date(g_year, g_month-1, g_day, 8, 0, 0);
	if (!GetInputDate(fechaV.value))
	   checkstr += "- "+msg4+"\n";
	else {
	var rDateValue=(g_year*100+g_month)*100+g_day;
	R_Day.value=g_day;
	R_Month.value="20" + g_year+(g_month<10?"0":"")+g_month;
	if (rDateValue < dDateValue)
	   checkstr += "- "+msg5+"\n";
	}
	}
	if (D_City.value=="")
	   checkstr += "- "+msg6+"\n";
	if (A_City.value == "")
	   checkstr += "- "+msg7+"\n";
	if(checkstr!=""){
	alert(checkstr);
	return;
	}
	
	   for (i=1 ;i<=num_adultos;i++)
	   eval("PaxType"+i+".value='ADT'");
	   for (i=(num_adultos+1) ;i<=(num_adultos+num_ninios);i++)
	   eval("PaxType"+i+".value='CHD'");

	fecha = fechaI.value;
	pos1 = fecha.indexOf("/");
	trozo1 = fecha.substring(fecha.indexOf("/")+1);
	pos2 = trozo1.indexOf("/");
        D_Day.value = fecha.substring(0,pos1);
        D_Month.value = "20" + trozo1.substring(pos2+1,trozo1.length)+trozo1.substring(0,pos2);
        
	fecha = fechaV.value;
	pos1 = fecha.indexOf("/");
	trozo1 = fecha.substring(fecha.indexOf("/")+1);
	pos2 = trozo1.indexOf("/");
        R_Day.value = fecha.substring(0,pos1);
        R_Month.value = trozo1.substring(0,pos2);
        R_Month.value = "20" + trozo1.substring(pos2+1,trozo1.length)+trozo1.substring(0,pos2);
        
	submit();
      }
}

function openwindow(direccion, name, cadena)  
{  
  var winf = window.open(direccion,name,cadena);  
  winf.focus();  
} 

function abrirventana(varHttp, lenX, lenY, bScroll) {
    var winf = open(varHttp, null, "width=" + lenX + ",height=" + lenY + ",status=no,menubar=no,scrollbars=" + bScroll + ",resizable=no");
    winf.focus();  
}

function GoToAuxWin(n, page){
numero = n;
page = "/pl/" + page;
listin = open(page, "", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=320,height=300");
if(navigator.appName == "Netscape")
listin.focus();
}

function Calendario(tipo,pais_an,x ,y){


         if (x!=null)
         {
           xCalendario=x;
           yCalendario=y;
         }else
         {
           xCalendario="";
           yCalendario="";

         }
	tipoFecha=tipo;
	pais=pais_an;

	if (calendario.style.visibility=="visible")
	{
     	   cerrarCalendario();
  	   return;
	}
	abrirCalendario(tipo);
}

function showObject(obj) {
if (ns4) obj.visibility = "show"
else if (ie4) obj.visibility = "visible"
}

function hideObject(obj) {
if (ns4) obj.visibility = "hide"
else if (ie4) obj.visibility = "hidden"
}

function abrirCalendario(tipoFecha){
  var text_cal="";
  fecha_real =new Date();
  anio_real = fecha_real.getFullYear();
  mes_real = fecha_real.getMonth();
  dia_real = fecha_real.getDate();


  if (tipoFecha=='I')
  {
         fechaInputSeleccionada=document.AIR.fechaI.value.substring(document.AIR.fechaI.value.indexOf("/"),document.AIR.fechaI.value.length);
         diaYaSeleccionado=1*document.AIR.fechaI.value.substring(0,document.AIR.fechaI.value.indexOf('/'));
  }
  else if(tipoFecha=='V')
  {
         fechaInputSeleccionada=document.AIR.fechaV.value.substring(document.AIR.fechaV.value.indexOf("/"),document.AIR.fechaV.value.length);
         diaYaSeleccionado=1*document.AIR.fechaV.value.substring(0,document.AIR.fechaV.value.indexOf('/'));

  }else   if (tipoFecha=='CI')
  {
         fechaInputSeleccionada=document.AIR.fechaI.value.substring(document.FormRicerca.calendarioI.value.indexOf("/"),document.FormRicerca.calendarioI.value.length);
         diaYaSeleccionado=1*document.FormRicerca.calendarioI.value.substring(0,document.FormRicerca.calendarioI.value.indexOf('/'));
  }
  else if (tipoFecha=='CV')
  {
         fechaInputSeleccionada=document.FormRicerca.calendarioV.value.substring(document.FormRicerca.calendarioV.value.indexOf("/"),document.AIR.fechaV.value.length);
         diaYaSeleccionado=1*document.FormRicerca.calendarioV.value.substring(0,document.FormRicerca.calendarioV.value.indexOf('/'));

  }

  ano = "" +Hoy.getYear();
  mes = (Hoy.getMonth()+1);
  mes = (mes<10?"0":"")+mes;
  fechaSeleccionada="/"+mes+"/"+ano.substring(0,4);



  var Anyo=Hoy.getYear(); // Si el año es anterior a 2000 debe sumarse 1900 a la cantidad obtenida
   // Observacion: El anyo se contabiliza a partir de 1900

   var EsteDia=Hoy.getDate();

  // Actualizacion del mes de Febrero (por los anyos bisiestos)
  if (((Anyo % 4 == 0) && (Anyo % 100 != 0)) || (Anyo % 400 == 0))
    DiasPorMes[1] = 29;
  // Numero de dias del mes actual
  NDias =DiasPorMes[Hoy.getMonth()];

  // Calculo que dia de la semana es el primero del mes
  PrimerDia=Hoy;
  PrimerDia.setDate(1);
 // Observacion: Obtengo el dia de hoy (p.e, 10-11-1999) y calculo que dia de la semana
 // es el dia 1 del mismo mes y anyo (p.e, 1-11-1999)

  Comienzo=PrimerDia.getDay();

 // Escritura en la pantalla de la tabla correspondiente al mes actual 

   text_cal="<div id='calendario' style='position:absolute; VISIBILITY: hidden;z-index=28;left:"+xCalendario+";top:"+yCalendario+"'>"
   text_cal=text_cal+"<CENTER>"
   text_cal=text_cal+"<TABLE BORDER=0 cellspacing=0 cellpadding=1 bgcolor=000000>"
   text_cal=text_cal+"<tr><td>"
   text_cal=text_cal+"<TABLE BORDER=0 cellspacing=0 cellpadding=0 bgcolor=FFFFFF>"
   text_cal=text_cal+"<TR bgcolor=CC0000 class=B>"

   // Escribo en nombre del mes en la cabecera de la tabla


   if ( Hoy.getMonth() == 0 && Hoy.getFullYear() == 2000)
     text_cal=text_cal+"<TD align=left width=20>&nbsp;"
   else
     text_cal=text_cal+"<TD align=center width='20'><a href='Javascript:void(null)' onClick='mesAtras(&quot;"+tipoFecha+"&quot;)'><img src='images/pic012.gif' border=0 ></a>"
     text_cal=text_cal+"</TD>"

 text_cal=text_cal+'<td COLSPAN=5 align=center>'+Meses[Hoy.getMonth()*1]
 text_cal=text_cal+" "
  text_cal=text_cal+Anyo
  text_cal=text_cal+"<TD align=center width='20'><a href='Javascript:void(null)' onClick='mesAdelante(&quot;"+tipoFecha+"&quot;)'><img src='images/pic013.gif' border=0 ></a>"
  text_cal=text_cal+"</TD></TR>"
  text_cal=text_cal+"<tr><td colspan=7 bgcolor=000000><img src='images/t.gif' height=1 border=0></td></tr>"
  //dias da semana
  text_cal=text_cal+"<TR class=B344 bgcolor=FFFFFF><td align=center>D<td align=center>S<td align=center>T<td align=center>Q<td align=center>Q<td align=center>S<td align=center>S</TR>"

   text_cal=text_cal+"<tr><td colspan=7 bgcolor=000000><img src='images/t.gif' height=1 border=0></td></tr>"

 // Escritura de los espacios en blanco de la tabla

 text_cal=text_cal+"<TR>"
   columna=0;

   for (i=0; i<Comienzo; i++)
      {
        text_cal=text_cal+"<TD>"
        columna++;
        text_cal=text_cal+"</TD>"
      }

   // Escritura de los dias del mes

 for (i=1; i<=NDias; i++)
      {
      text_cal=text_cal+"<TD class=B width='20'>"
        if ((i == diaYaSeleccionado)&&(fechaInputSeleccionada == fechaSeleccionada))
             estilo="class='azul'";
        else if (columna == 0)
             estilo="class='rojo'";
        else 
             estilo="class='normal'";

 //  if (Hoy.getMonth() == mes_real && Hoy.getFullYear() == anio_real && i < dia_real)
 //      text_cal=text_cal+"<center><font color='#CCCCCC'>"+i+"</font></center>"
 //  else
        text_cal=text_cal+"<center><div id="+i+" style='cursor:hand' onclick='javascript:diaSeleccionado="+i+";verDiaSeleccionado(&quot;"+tipoFecha+"&quot;)'><a href='Javascript:void(null)' "+estilo+">"+i+"</a></div></center>"

        if (i == EsteDia || columna == 6)
             text_cal=text_cal
        else if (columna == 0)
             text_cal=text_cal
        text_cal=text_cal+"</TD>"
columna++;
        if (columna == 7)
          { text_cal=text_cal+"</TR><TR>"; // Comienza una nueva fila
            columna=0;
          }
    }//fin del for

  text_cal=text_cal+"</TR>"
  text_cal=text_cal+"<TR>"

  text_cal=text_cal+"<TD colspan=5></td><td colspan=2 align=right><a href='Javascript:void(null)' onClick='cerrarCalendario()'><img src='images/pic014.gif' border='0' hspace='1' vspace='1'></a>"
  text_cal=text_cal+"</TD>"
  text_cal=text_cal+"</TR>"
text_cal=text_cal+"</TABLE>"
  text_cal=text_cal+"</TD>"
  text_cal=text_cal+"</TR>"
text_cal=text_cal+"</TABLE>"
text_cal=text_cal+"</CENTER>"
  text_cal=text_cal+"</div>"

calendario.outerHTML=text_cal;
calendario.style.visibility="visible";

}//finn de abrir calendario

function cerrarCalendario(){
     calendario.style.visibility="hidden";
}



function verDiaSeleccionado(tipoFecha){
mesActual=Hoy.getMonth()+1;
anoActual=Hoy.getYear();
anoActual=""+anoActual;
mesActual= ""+mesActual;
mesActual = mesActual.length==2 ? mesActual : "0"+mesActual;
diaSeleccionado= ""+diaSeleccionado;
diaSeleccionado = diaSeleccionado.length==2 ? diaSeleccionado : "0"+diaSeleccionado;

if (tipoFecha=="I") {document.AIR.fechaI.value=diaSeleccionado+"/"+mesActual+"/"+anoActual.substring(0,4);}
else if (tipoFecha=="V"){document.AIR.fechaV.value=diaSeleccionado+"/"+mesActual+"/"+anoActual.substring(0,4);}
else if (tipoFecha=="CI") {document.FormRicerca.calendarioI.value=diaSeleccionado+"/"+mesActual+"/"+anoActual.substring(0,4);}
else if (tipoFecha=="CV"){document.FormRicerca.calendarioV.value=diaSeleccionado+"/"+mesActual+"/"+anoActual.substring(0,4);}

calendario.style.visibility="hidden";
    //Hoy=new Date(2002,0,28); //año,mes,dia
//control_fecha();
   }//fin verDiaSeleccionado

function mesAtras(tipoFecha){
   if (Hoy.getMonth()==0){
  mesActual=11;
  anoActual=Hoy.getYear()-1;
  }
  else{
  mesActual=Hoy.getMonth()-1;
  anoActual=Hoy.getYear();
  }

//     Hoy=new Date(anoActual,mesActual,28); //año,mes,dia
      Hoy=new Date(anoActual,mesActual,1); //año,mes,dia
      abrirCalendario(tipoFecha);
      
}//fin mesAtras

function mesAdelante(tipoFecha){
  if (Hoy.getMonth()==11){
  	mesActual=0;
  	anoActual=Hoy.getYear()+1;
  }
  else{
  mesActual=Hoy.getMonth()+1;
  anoActual=Hoy.getYear();
  }
      Hoy=new Date(anoActual,mesActual,1); //año,mes,dia
     Hoy=new Date(anoActual,mesActual,28); //año,mes,dia
      abrirCalendario(tipoFecha);
}//fin mesAdelante

function GetInputDate(t) {
var l = t.length;
if(0 == l) return false;
var cSp = '\0';
var sSp1 = "";
var sSp2 = "";
for(var i=0; i<t.length; i++){
var c=t.charAt(i);
if(c==' ' || isdigit(c)) continue;
else if(cSp == '\0' && (c == '/' || c == '-' || c == '.')) {
cSp = c;
sSp1 = t.substring(i+1,l);
} else if(c==cSp) sSp2 = t.substring(i+1,l);
else if(c != cSp) return false;
}
if(0 == sSp1.length) return false;
var m=atoi(sSp1);
var d=atoi(t);
var y; 
if(0 != sSp2.length) y = atoi(sSp2);
else y = DefYr(m,d);
if(y < 100){
y = 1900+y;
while(y < g_yLow) y = y+100;
}
if(y < g_MINY || y > g_MAXY || m < 1 || m > 12) return false;
if(d < 1 || d > GetMonthCount(m,y)) return false;
g_month = m;
g_day = d;
g_year = y;
return true;
}

function DefYr(m,d){
var dt = new Date();
var yCur = (dt.getYear() < 1000) ? 1900+dt.getYear() : dt.getYear();
if(m-1 < dt.getMonth() || (m-1 == dt.getMonth() && d < dt.getDate())) return 1+yCur;
else return yCur;
}

function atoi(s){
var t=0;
for(var i=0; i<s.length; i++){
var c=s.charAt(i);
if(!isdigit(c)) return t;
else t = t*10 + (c-'0');
}
return t;
}

function isdigit(c) {
return(c >= '0' && c <= '9');
}

function GetMonthCount(m,y){
var c = rgMC[m-1];
if((2 == m) && IsLeapYear(y)) c++;
return c;
}

function IsLeapYear(y){
if(0 == y % 4 && ((y % 100 != 0) || (y % 400 == 0))) return true;
else return false;
}
