 <!--

 /***********************************************************************/
/*  valdaciones de fechas 
/**********************************************************************/
function valfecha(fecha) {
  var browserVer = parseInt(navigator.appVersion);
  var browserName = navigator.appName;
  if (browserName == "Netscape" && browserVer >= 3) version = "n";
  else if (browserName == "Netscape" && browserVer <= 2) version = "n";
  else if (browserName == "Microsoft Internet Explorer" && browserVer > 3) version = "e";
  else if (browserName == "Microsoft Internet Explorer" && browserVer <= 3) version = "e";
  else version = "e";

  var hoy=new Date();
  if (version == "e") {year=hoy.getYear()} 
  if (version == "n") {year=hoy.getYear()+1900}

  if (fecha != "") {
    dfecha = fecha.split("/");

    dia = dfecha[0];
    mes = dfecha[1];
    anno = dfecha[2];
    if (isDate(dia, mes, anno)) return true;
    else return false;
  } else {
    return true;
  }
}

//**********************************************************************
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
//**********************************************************************

//**********************************************************************
function isDate (day,month,year) {
//**********************************************************************
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

//**********************************************************************
function timeDifference(laterdate,earlierdate) {
//**********************************************************************
    var difference = laterdate.getTime() - earlierdate.getTime();

    var daysDifference = Math.floor(difference/1000/60/60/24);
    difference -= daysDifference*1000*60*60*24
    var hoursDifference = Math.floor(difference/1000/60/60);
    difference -= hoursDifference*1000*60*60
    var minutesDifference = Math.floor(difference/1000/60);
    difference -= minutesDifference*1000*60
    var secondsDifference = Math.floor(difference/1000);
    return(daysDifference);
}

/*********************************************************/
/* Verifica los campos de una planilla antes de enviarla */
/*********************************************************/
function VerifContact() {
	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	if (document.frmContact.txtName.value=="")      {themessage = themessage + "\n* Falta su Nombre";}
	if (document.frmContact.txtEmail.value=="")       {themessage = themessage + "\n* Falta su E-mail";}
	if (!(document.frmContact.txtEmail.value=="") && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmContact.txtEmail.value))) {themessage = themessage + "\n* El E-Mail no es correcto. Coloque uno válido.";}
	if (!(document.frmContact.txtEmail.value=="") && (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmContact.txtEmail.value))) {themessage = themessage;}
	if (document.frmContact.txtMsj.value=="") {themessage = themessage + "\n* Sugerimos escribir algún comentario";}
	//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmContact.submit();
	document.MM_returnValue = true;
	}
	
	else {
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
}
function ResetContact() {
	document.frmContact.reset();
	}
	
function VerifRegistro() {
	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	if (document.frmContact.txtName.value=="")      {themessage = themessage + "\n* Falta su Nombre";}
	if (document.frmContact.txtLName.value=="")      {themessage = themessage + "\n* Falta su Apellido";}
	if (document.frmContact.txtEmail.value=="")       {themessage = themessage + "\n* Falta su E-mail";}
  	if (!(document.frmContact.txtEmail.value=="") && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmContact.txtEmail.value))) {themessage = themessage + "\n* El E-Mail no es correcto. Coloque uno válido.";}
	if (!(document.frmContact.txtEmail.value=="") && (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmContact.txtEmail.value))) {themessage = themessage;}
    
	if (document.frmContact.txtFecnac.value!="" && document.frmContact.txtFecnac.value!="dd/mm/yyyy")       {
	  alert(valfecha(document.frmContact.txtFecnac.value));
	  if (!valfecha(document.frmContact.txtFecnac.value)) {themessage = themessage + "\n* Fecha inválida";}
	}
  if (document.frmContact.txtFecnac.value=="dd/mm/yyyy")       {
   document.frmContact.txtFecnac.value="";
  }
	//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmContact.submit();
	document.MM_returnValue = true;
	}
	
	else {
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
}	

/************************************************************************/
/*																		*/	
/*   BUSQUEDAS															*/		
/************************************************************************/
function VerifSearch() {
//alert("validando en la busqueda");
	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	//validamos fechas
	
	if (document.frmSearch.selProducto.value=="-1" ) {document.frmSearch.action="index.php?pg=09";document.frmSearch.submit(); }
	
	
	if (document.frmSearch.txtSalida.value!="" && document.frmSearch.txtRetorno.value!="")
	    {
		OK=true;
		if (!valfecha(document.frmSearch.txtSalida.value)) { OK=false; themessage = themessage + "\n* Fecha de Salida no válida";}
		 if (!valfecha(document.frmSearch.txtRetorno.value)) {OK=false; themessage = themessage + "\n* Fecha de Retorno no válida";}
		  if (OK){
		  var hoy=new Date();
 		  if (version == "e") {year=hoy.getYear()} 
		  if (version == "n") {year=hoy.getYear()+1900}
 		  dfecha = document.frmSearch.txtSalida.value.split("/");
    	  fsalida=dfecha[2]+"/"+dfecha[1]+"/"+dfecha[0];
		  dfecha =document.frmSearch.txtRetorno.value.split("/");
    	  fretorno=dfecha[2]+"/"+dfecha[1]+"/"+dfecha[0];
	     
		 if ((timeDifference(new Date(fretorno),new Date(fsalida))<=0) ) { themessage = themessage + "\n* Revise las fechas de salida y retorno";}
	     }
	  }
	if (!(document.frmSearch.txtCiudad.value=="" ) && (! isNaN(document.frmSearch.txtCiudad.value))) {themessage = themessage + "\n* Indique la ciudad";}
 
	if (!(document.frmSearch.txtDesde.value=="" ) && (isNaN(document.frmSearch.txtDesde.value))) {themessage = themessage + "\n* Coloque solo números en el Campo Desde" ;}
	if (!(document.frmSearch.txtHasta.value=="" ) && (isNaN(document.frmSearch.txtHasta.value))) {themessage = themessage + "\n* Coloque solo números en el Campo Hasta";}
	
	//alert(themessage);
			//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmSearch.submit();
	document.MM_returnValue = false;
	}
	
	else {
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
	
	
}

function VeriQuickSearch() {

	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	//validamos fechas
	if (document.frmQuickSearch.txtCiudad.value=="") {themessage = themessage + "\n* Indique la ciudad";}
	if ( !(document.frmQuickSearch.txtCiudad.value=="") && (!isNaN(document.frmQuickSearch.txtCiudad.value))) {themessage = themessage + "\n* Coloque sólo letras en la ciudad";}
 //alert(themessage);
			//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmQuickSearch.submit();
	document.MM_returnValue = false;
	}
	
	else {
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
	
	
}

/**********************************************************************/
/* verifica reserva													 */
/*********************************************************************/

function VerifReserva() {
	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	//validamos fechas
	estadia=document.frmReserva.estadiaPaquete.value;
	if (document.frmReserva.txtSalida.value=="" || document.frmReserva.txtRetorno.value==""){themessage = themessage + "\n* Introduzca las fechas de su vaije";}
	else 
	    {
	   if (document.frmReserva.txtSalida.value!="" && document.frmReserva.txtRetorno.value!="")
	    {
		OK=true;
		if (!valfecha(document.frmReserva.txtSalida.value)) { OK=false; themessage = themessage + "\n* Fecha de Salida no válida";}
		 if (!valfecha(document.frmReserva.txtRetorno.value)) {OK=false; themessage = themessage + "\n* Fecha de Retorno no válida";}
		  if (OK){
		  var hoy=new Date();
 		  if (version == "e") {year=hoy.getYear()} 
		  if (version == "n") {year=hoy.getYear()+1900}
		     dfechaI = document.frmReserva.txtSalida.value.split("/");
			 dfecha =document.frmReserva.txtRetorno.value.split("/");
			  fsalida=dfechaI[2]+"/"+dfechaI[1]+"/"+dfechaI[0];
			  fretorno=dfecha[2]+"/"+dfecha[1]+"/"+dfecha[0];
			  numnoches=timeDifference(new Date(fretorno),new Date(fsalida));
      	 	 if (numnoches<=0 ) { themessage = themessage + "\n* Verifique las fechas escogidas";}
			 if (numnoches<estadia ) { themessage = themessage + "\n* La estadía mínima de este Paquete es de "+ estadia + " noches";}
	     
		 }
	  }
	}
			//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmReserva.submit();
	document.MM_returnValue = false;
	}
	
	else {
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
	
	
}

/************************************************************************************/
/*  verificar compra    															*/
/***********************************************************************************/
/*********************************************************/
/* Verifica los campos de una planilla antes de enviarla */
/*********************************************************/

function EsNumeroEntero(valor){
    var cadena = valor.toString();
	var longitud = cadena.length;
	if (longitud == 0){return false;}
	var ascii = null;
    for (var i=0; i<longitud; i++) {
		ascii = cadena.charCodeAt(i);
        if (ascii < 48 || ascii > 57){return false;}
    }
	return true;
}

// Funcion que valida la tarjeta de credito
function ValidarTJ(numeroT) {
	var numero_tarjeta=numeroT;
	
	// Comprobamos que solo hemos introducido numeros
	if (!EsNumeroEntero(numero_tarjeta)){
//		alert("Debe introducir unicamente números");
		return false;
	}

	// Paso 1: Tomamos las cifras en posiciones impares y las multiplicamos por 2 y
	// sumamos el resultado
	var cadena = numero_tarjeta.toString();
	var longitud = cadena.length;
	var cifra = null;
	var cifra_cad=null;
	var suma=0;
	for (var i=0; i < longitud; i+=2){
		cifra = parseInt(cadena.charAt(i))*2;
		// Si la cifra resultante es mayor que 9 sumamos las cifras
		if (cifra > 9){ 
			cifra_cad = cifra.toString();
			cifra = parseInt(cifra_cad.charAt(0))+parseInt(cifra_cad.charAt(1));
		}
		suma+=cifra;
	}
	// Paso 2: Tomamos las cifras en posiciones pares y las sumamos
	for (var i=1; i < longitud; i+=2){
		suma += parseInt(cadena.charAt(i));
	}
	
	// Paso 3: Comprobamos que el resultado es múltiplo de 10
	if ((suma % 10) == 0){ 
		// Si todo es correcto enviamos el formulario
		return true;
	} else {
	    return false;
  //	alert("El número de tarjeta no es válido");
	}
}

function VerifCompra() {

	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	// Vamos a validar datos de contacto
	
	if (document.frmReserva.txtEmail.value=="")       {themessage = themessage + "\n* Falta su Correo Electrónico";}
	if (!(document.frmReserva.txtEmail.value=="") && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmReserva.txtEmail.value))) {themessage = themessage + "\n* El Correo Electrónico no es correcto. Coloque uno válido";}
	if (!(document.frmReserva.txtEmail.value=="") && (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmReserva.txtEmail.value))) {themessage = themessage;}
    //if (document.frmReserva.txtClave.value=="")      {
		if (document.frmReserva.txtName.value=="")      {themessage = themessage + "\n* Falta su Nombre";}
		if (document.frmReserva.txtLName.value=="")      {themessage = themessage + "\n* Falta su Apellido";}
	//}
	
	//validamos la informaci&oacute;n de los pasajeros
	
	totADL=document.frmReserva.totADL.value; //ojo
	faltadato=false;
	for (i=0;i<totADL;i++)
    {
     eval("Npasajero=document.frmReserva.txtPName_"+i+".value");
	 eval("Apasajero=document.frmReserva.txtPLName_"+i+".value");
	 eval("Dpasajero=document.frmReserva.txtPDoc_"+i+".value");
	 eval("Tpasajero=document.frmReserva.selPTDoc_"+i+".value");
	 if (Npasajero=="" || Apasajero=="" || Dpasajero=="" || Tpasajero=="") faltadato=true;
}
if (faltadato==true) {themessage = themessage + "\n* Coloque los nombres, apellidos e identificación de todos los pasajeros adultos";}
  
  faltadato=false;
  nanEdad=false;
  totCHD=document.frmReserva.totCHD.value; //ojo
	
	for (i=0;i<totCHD;i++)
    {
     eval("Npasajero=document.frmReserva.txtCName_"+i+".value");
	 eval("Apasajero=document.frmReserva.txtCLName_"+i+".value");
	 
	 eval("Dpasajero=document.frmReserva.txtCAge_"+i+".value");
//	 eval("Tpasajero=document.frmReserva.selCTDoc_"+i+".value");
	 
	 if (Npasajero=="" || Apasajero=="" || Dpasajero=="" ) faltadato=true;
     if (Dpasajero!="" && isNaN(Dpasajero)) nanEdad=true; 
}	
    if (faltadato==true) {themessage = themessage + "\n* Coloque los nombres, apellidos y edad de todos los niños";}
    if (nanEdad==true)  {themessage = themessage + "\n* Coloque un número en la edad";}
	
	//validamos la tarjeta de credito
	
//	if (document.frmReserva.txtNumCard.value=="")    {themessage = themessage + "\n* Introduzca el número de la tarjeta";}
//	else{
//	    if (!ValidarTJ(document.frmReserva.txtNumCard.value)){themessage = themessage + "\n* Número de la tarjeta no valido";}
	
//	}

	if (!(document.frmReserva.acepto.checked))       {themessage = themessage + "\n* Debe aceptar los términos y condiciones";}
//	if (document.frmReserva.selAnoCard.value=="0")       {themessage = themessage + "\n* Seleccione Año de la tarjeta";}
//	if (document.frmReserva.txtTitular.value=="")       {themessage = themessage + "\n* Coloque el nombre del titular de la tarjeta";}
//	if (document.frmReserva.txtSecuCode.value=="")       {themessage = themessage + "\n* Coloque el código de seguridad de la tarjet";}
	
	//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmReserva.submit();
	document.MM_returnValue = true;
	}
	
	else {
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
	
	
}
/***********************************************************************/
/* VALIDA VIAJES A SUS MEDIDA                            */
/***********************************************************************/
function VerifSolicitud() {
	var themessage = "";
	document.MM_returnValue = false;
	var cabecera = "Es necesario completar lo siguiente: ";
	if (document.frmContact.txtMsj.value=="") {themessage = themessage + "\n* Sugerimos escribir algún comentario sobre tu viaje";}
	if (document.frmContact.txtName.value=="")      {themessage = themessage + "\n* Falta tu Nombre y Apellido";}
	if (document.frmContact.txtPhone.value=="")      {themessage = themessage + "\n* Falta tu Teléfono";}
	if (document.frmContact.txtEmail.value=="")       {themessage = themessage + "\n* Falta tu E-Mail";}
	if (!(document.frmContact.txtEmail.value=="") && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmContact.txtEmail.value))) {themessage = themessage + "\n* El E-Mail no es correcto. Coloque uno válido.";}
	if (!(document.frmContact.txtEmail.value=="") && (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.frmContact.txtEmail.value))) {themessage = themessage;}
	
	inicio=document.frmContact.txtSalida;
	fin=document.frmContact.txtRetorno;
	//validamos fechas
	if (inicio.value=="" || fin.value==""){themessage = themessage + "\n* Introduzca las fechas de su viaje";}
	else   {
	   if (inicio.value!="" && fin.value!="")   {
		  var hoy=new Date();
		  
		   var browserVer = parseInt(navigator.appVersion);
  var browserName = navigator.appName;
  if (browserName == "Netscape" && browserVer >= 3) version = "n";
  else if (browserName == "Netscape" && browserVer <= 2) version = "n";
  else if (browserName == "Microsoft Internet Explorer" && browserVer > 3) version = "e";
  else if (browserName == "Microsoft Internet Explorer" && browserVer <= 3) version = "e";
  else version = "e";
 		  if (version == "e") {year=hoy.getYear()} 
		  if (version == "n") {year=hoy.getYear()+1900}
		     dfechaI = inicio.value.split("/");
			 dfecha =fin.value.split("/");
			  fsalida=dfechaI[2]+"/"+dfechaI[1]+"/"+dfechaI[0];
			  fretorno=dfecha[2]+"/"+dfecha[1]+"/"+dfecha[0];
			  numnoches=timeDifference(new Date(fretorno),new Date(fsalida));
			//  alert(numnoches);
	  	 	 if (numnoches<=0 ) { themessage = themessage + "\n* Verifique las fechas escogidas";}
	  }
	}
	
	
	//Avisa si los campos están vacíos, y cancela el envio
	if ((themessage == "")) {
	document.frmContact.submit();
	document.MM_returnValue = true;
	}
	
	else {
	document.frmContact.txtMsj.focus();
	themessage=cabecera + themessage;
	alert(themessage);
	
	//return false;
	}
}


/***********************************************************************/
/*  valdaciones de fechas 
/**********************************************************************/
function valfecha(fecha) {
  var browserVer = parseInt(navigator.appVersion);
  var browserName = navigator.appName;
  if (browserName == "Netscape" && browserVer >= 3) version = "n";
  else if (browserName == "Netscape" && browserVer <= 2) version = "n";
  else if (browserName == "Microsoft Internet Explorer" && browserVer > 3) version = "e";
  else if (browserName == "Microsoft Internet Explorer" && browserVer <= 3) version = "e";
  else version = "e";

  var hoy=new Date();
  if (version == "e") {year=hoy.getYear()} 
  if (version == "n") {year=hoy.getYear()+1900}

  if (fecha != "") {
    dfecha = fecha.split("/");

    dia = dfecha[0];
    mes = dfecha[1];
    anno = dfecha[2];
    if (isDate(dia, mes, anno)) return true;
    else return false;
  } else {
    return true;
  }
}

//**********************************************************************
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
//**********************************************************************

//**********************************************************************
function isDate (day,month,year) {
//**********************************************************************
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

//**********************************************************************
function timeDifference(laterdate,earlierdate) {
//**********************************************************************
    var difference = laterdate.getTime() - earlierdate.getTime();

    var daysDifference = Math.floor(difference/1000/60/60/24);
    difference -= daysDifference*1000*60*60*24
    var hoursDifference = Math.floor(difference/1000/60/60);
    difference -= hoursDifference*1000*60*60
    var minutesDifference = Math.floor(difference/1000/60);
    difference -= minutesDifference*1000*60
    var secondsDifference = Math.floor(difference/1000);
    return(daysDifference);
}


//-->

