ie4 = (document.all) ? true:false;
ns4=(navigator.appName=='Netscape' && parseInt(navigator.appVersion)==4);
ns6 = (!ie4 && document.getElementById) ? 1 : 0;

function iniciar() {
	show_calendar('reserva0.p_datsal');show_calendar2('reserva0.p_datreg');
    obtenerTrayectos();
	mostrarlog(2);
}

function mostrarlog(qui) {
	if (!document.getElementById|document.all) {
			return;
	}else{
		which  = (qui==1)?"logueado":"logueo";
		if (document.getElementById) oWhich = eval ("document.getElementById('" + which + "')");
		else oWhich = eval ("document.all." + which);
	}
	window.focus();
	if (oWhich.style.display=="none") {oWhich.style.display="";} else {oWhich.style.display="none";}
	}

function hemlogeat(elnom) {
	mostrarlog(2);
	mostrarlog(1);
	escriucapa("nomlogeado",elnom);
	}

function escriucapa(nocapa,content) {
	if (ie4) {
		sub = document.all[nocapa];
		sub.innerHTML=content;
		}
	else if (ns6) {
		rng = document.createRange();
		el = document.getElementById(nocapa);
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment(content);
		while (el.hasChildNodes()) el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
		}
	}

var aeroports = new Array();
function hideshowdos(qui) {
  var continuar = 1;
  if (!document.getElementById|document.all) {return;}
	else {
	  // Vamos a mostrar u ocultar el calendario de fecha de salida
		if (qui == 1) { 
		  which = "dataChildorigen"; 
      // Podemos seleccionar a partir de la fecha de hoy
		  gNow = new Date();
		  // Si ya hay fecha seleccionada, la marcamos
      if (checkDate(document.reserva0.p_datsal.value)) {
        var ar_fecha = document.reserva0.p_datsal.value.split('/');        
        
        f_anio = ar_fecha[2];
        if (ar_fecha[0] < 10) f_dia = ar_fecha[0].substring(1);
        else f_dia = ar_fecha[0];
        if (ar_fecha[1] < 10) f_mes = ar_fecha[1].substring(1)-1;
        else f_mes = ar_fecha[1]-1;
        
        // Dia seleccionado
        gSel = new Date(f_anio,f_mes,f_dia);
        Build('reserva0.p_datsal',f_mes,f_anio,"DD/MM/YYYY");		
      }
      else gSel = new Date(1900,1,1);
		}		

	  // Vamos a mostrar u ocultar el calendario de fecha de regreso
		if (qui == 2) { 
		  which = "dataChilddestino";
      // Podemos seleccionar a partir de la fecha de salida
      if (!checkDate(document.reserva0.p_datsal.value)) {
        alert('Tiene que especificar una fecha de origen');
        continuar = 0;
      }
      else {
        var ar_fecha = document.reserva0.p_datsal.value.split('/');        
        
        f_anio = ar_fecha[2];
        if (ar_fecha[0] < 10) f_dia = ar_fecha[0].substring(1);
        else f_dia = ar_fecha[0];
        if (ar_fecha[1] < 10) f_mes = ar_fecha[1].substring(1)-1;
        else f_mes = ar_fecha[1]-1;
        
        // Dia de salida
        gNow = new Date(f_anio,f_mes,f_dia);
        
        if (checkDate(document.reserva0.p_datreg.value)) {
          var ar_fecha2 = document.reserva0.p_datreg.value.split('/');        
          
          f_anio2 = ar_fecha2[2];
          if (ar_fecha2[0] < 10) f_dia2 = ar_fecha2[0].substring(1);
          else f_dia2 = ar_fecha2[0];
          if (ar_fecha2[1] < 10) f_mes2 = ar_fecha2[1].substring(1)-1;
          else f_mes2 = ar_fecha2[1]-1;
          
          // Dia de salida
          gSel = new Date(f_anio2,f_mes2,f_dia2);
          Build2('reserva0.p_datreg',f_mes2,f_anio2,"DD/MM/YYYY");
        }
        else {
          gSel = new Date(1900,1,1);
          Build2('reserva0.p_datreg',f_mes,f_anio,"DD/MM/YYYY");
        }
      }
		  
		};
		if (qui == 3) { 
		  gNow = new Date();
		  gSel = new Date(1900,1,1);
		  which="dataChildembarque"; 
		}; 

		if (continuar == 1) {
  		if (document.getElementById) oWhich = eval ("document.getElementById('" + which + "')");
  		else oWhich = eval ("document.all." + which);
		}
	}

	if (continuar == 1) {
  	window.focus();
  	if (oWhich.style.display=="none") {
        oWhich.style.display=""; 
  	  if (qui==2) {
  	    if (document.getElementById("capa_flash_2")) document.getElementById("capa_flash_2").style.display="none";
  	    if (document.getElementById("select26")) document.getElementById("select26").style.display="none";
  	  }
  	  if (qui==3) {
  	    if (document.getElementById("capa_flash_2")) document.getElementById("capa_flash_2").style.display="none";
  	  }
  	} else {
  	  oWhich.style.display="none";
  	  if (qui==2) {
  	    if (document.getElementById("capa_flash_2")) document.getElementById("capa_flash_2").style.display="";
  	    if (document.getElementById("select26")) document.getElementById("select26").style.display="";
  	  }
  	  if (qui==3) {
  	    if (document.getElementById("capa_flash_2")) document.getElementById("capa_flash_2").style.display="";
  	  }
  	}
	}
}

function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1) IsNumber = false;
      }
   return IsNumber;
   }

meses = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
function checkDate(lafecha) {
	var fecha = new String(lafecha);
	cad2=fecha.split('/');
	if (cad2.length==3) catena = 'calendario.htm?fecha='+cad2[0]+'/'+cad2[1]+'/'+cad2[2];
	else return 0;
	if (!IsNumeric(cad2[0])||!IsNumeric(cad2[1])||!IsNumeric(cad2[2])) return 0;
	var myDateStr = cad2[0] + ' ' + meses[cad2[1]-1] + ' ' + cad2[2] +" 12:00:00";
	var myDate = new Date( myDateStr );
	var myDate_string = myDate.toGMTString();
	var myDate_array = myDate_string.split( ' ' );
	if ( myDate_array[2] != meses[cad2[1]-1] ) return 0;
	else return 1;
	} 

function compare(Dat1,Dat2) {
var d1;
var d2;
d1=Dat1.split('/');
d2=Dat2.split('/');

var Date1 = new Date(d1[2],d1[1]-1,d1[0]);
var Date2 = new Date(d2[2],d2[1]-1,d2[0]);
if (Date1 > Date2) return 1; 
else return 0;
}


function updateorigen() {
	totalae = aeroports.length;
 	Refer1=document.reserva0.p_aptdep;
	for (i=0;i<totalae;i++) {
	   	Refer1.options[i] = new Option(aeroports[i][0],aeroports[i][1]);
	    }	
	Refer1.options.selectedIndex=0;
	}

function updatedestino() {
 	Refer1=document.reserva0.p_aptdep;
 	Refer2=document.reserva0.p_aptarr;
	totalae = aeroports.length;
	totaldest = Refer2.length;
	for (i=1;i<totaldest;i++) {
		var remChld = Refer2.options[1];
		Refer2.removeChild(remChld);
	    }
	aeor = Refer1.selectedIndex;
	totaldest = aeroports[aeor][2].length;
	for (i=0,i2=0,lastip="";i<totaldest;i++) {
		newtip = aeroports[aeor][2][i][2];
		if (lastip != newtip && newtip) {
			Refer2.options[i+i2+1] = new Option("-----------------------------------------","0");i2++;
			switch (newtip) {
				case "NAC":Refer2.options[i+i2+1] = new Option("          Nacionales","0");i2++;break;
				case "EUR":Refer2.options[i+i2+1] = new Option("             Europa","0");i2++;break;
				case "AFR":Refer2.options[i+i2+1] = new Option("              África","0");i2++;break;
				case "AMN":Refer2.options[i+i2+1] = new Option("    América del Norte","0");i2++;break;
				case "AMS":Refer2.options[i+i2+1] = new Option("      América del Sur","0");i2++;break;
				case "CAR":Refer2.options[i+i2+1] = new Option("             Caribe","0");i2++;break;
				case "ASI":Refer2.options[i+i2+1] = new Option("              Asia","0");i2++;break;
				}
			Refer2.options[i+i2+1] = new Option("-----------------------------------------","0");i2++;
			lastip = newtip;
			}
		if (lastip) Refer2.options[i+i2+1] = new Option(aeroports[aeor][2][i][1],aeroports[aeor][2][i][0]);
	    }	
		Refer2.options.selectedIndex=0;
	}

function guardaraeor() {
 	Refer3=document.aeroporthabitual.aehabitual;
	if (aeroports[Refer3.options.selectedIndex][1]!="") {
		var expDays = 100; // Días
		var exp = new Date();
		exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
		squel ('AEHABITUAL',aeroports[Refer3.options.selectedIndex][1],exp);
		}
	}

function validareserva() {
	var error="";
 	Refer1=document.reserva0.p_aptdep;
 	Refer2=document.reserva0.p_aptarr;
	aeor = Refer1.options[Refer1.selectedIndex].value;
	aede = Refer2.options[Refer2.selectedIndex].value;
	nadults = eval(document.reserva0.p_numpaxadl.value);
	nnins12 = eval(document.reserva0.p_numpaxchl.value);
	nnins2 = eval(document.reserva0.p_numpaxinf.value);
	if (aeor=="") error += "No has elegido el aeropuerto de origen.\n";
	if (aede=="0") error += "No has elegido el aeropuerto de destino.\n";
	if (!checkDate(document.reserva0.p_datsal.value)) {
		if (document.reserva0.p_datsal.value=="dd/mm/aaaa") error += "No has introducido la fecha de salida.\n";
		else error += "La fecha de salida no es válida.\n";
		}
	else {
		var eldataavui =  new Date();
		var eldiaavui = eldataavui.getDate()+'/'+eval(eldataavui.getMonth()+1)+'/'+eval(eldataavui.getYear()+1900*ns6);
		if (!(document.reserva0.p_datsal.value.substring(0,5) == '01/02' || document.reserva0.p_datsal.value.substring(0,5) == '02/02'))
		  if (compare(eldiaavui,document.reserva0.p_datsal.value)) error += "La fecha de salida tiene que ser posterior al dia de hoy.\n";
	}
	if (!checkDate(document.reserva0.p_datreg.value)) {
		if (document.reserva0.p_datreg.value!="dd/mm/aaaa" && document.reserva0.p_datreg.value.length!=0) error += "La fecha de regreso no es vàlida.\n";
		}
	else {
		if (compare(document.reserva0.p_datsal.value,document.reserva0.p_datreg.value)) {
      if (!(document.reserva0.p_datsal.value.substring(0,5) == '30/01' && document.reserva0.p_datreg.value.substring(0,5) == '01/02') && !(document.reserva0.p_datsal.value.substring(0,5) == '31/01' && (document.reserva0.p_datreg.value.substring(0,5) == '01/02' || document.reserva0.p_datreg.value.substring(0,5) == '02/02')))
        error += "La fecha de regreso tiene que ser posterior.\n";
		}
	}
	if (nadults < nnins2 ) error += "Por cada bebé debe haber un adulto al cargo.\n";
	if ((nadults + nnins12) > 9 ) error += "Sólo se permite reservar 9 plazas, los bebes no ocupan plaza.\n";
	if (error!="") {alert(error);return (false);}
	return(true);
	}

function obtenerTrayectos(){
	document.getElementById("foInfoSesion").submit();
}
