<!--
/* Abre una ventana nueva sin controles para el webcheckin */
function launch_checkin(url) {
	  self.name = "opener";
	  remote = open(url, "remote", "scrollbars,width=1,height=1,left=1,top=1");
}


function emailCheck (emailStr) {
/* Verificar si el email tiene el formato user@dominio. */
var emailPat=/^(.+)@(.+)$/ 

/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 

/* Verifica los caracteres que son válidos en una dirección de email */
var validChars="\[^\\s" + specialChars + "\]" 

var quotedUser="(\"[^\"]*\")" 

/* Verifica si la dirección de email está representada con una dirección IP Válida */ 


var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/


/* Verificar caracteres inválidos */ 

var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/*domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
alert("La direccion es incorrecta (falta @ y .'s)")
return false;
}
var user=matchArray[1]
var domain=matchArray[2]

// Si el user "user" es valido 
if (user.match(userPat)==null) {
// Si no
alert("El nombre de usuario no es válido.")
return false;
}

/* Si la dirección IP es válida */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("IP de destino inválida")
return false;
}
}
return true;
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
alert("El dominio parece no ser válido.")
return false;
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
domArr[domArr.length-1].length>3) { 

alert("La dirección debe tener 3 letras si es .com o 2 si es de algún pais.")
return false;
}

if (len<2) {
var errStr="La dirección es erronea"
alert(errStr)
return false;
}

// La direcci&oacute;n de email ingresada es Válida
return true;
}


function comprobar(form){
 
      if (form.cod_ciudad.value.length < 3){
	      alert("El código de la ciudad debe ser de tres letras");
		   form.cod_ciudad.focus();
		   return false;
	   
	   }
	   
       if (form.nombre.value==''){
	       alert("Debe digitar el nombre de la ciudad");
		   form.nombre.focus();
		   return false;
	   }
       if (form.tasa.value==''){
	       alert("Debe digitar la tasa aeroportuaria de la ciudad");
		   form.tasa.focus();
		   return false;
	   }
 
 //form.submit();
}

function verificar_login(form){
  if (form.username.value==''){
       alert("Debe escribir su Nombre de Usuario");
       form.username.focus();
	   return false; 
   }
  if (form.password.value==''){
      alert("Debe escribir su contraseñ a");
       form.password.focus();
	   return false; 
  }
  //// form.submit();
}

function verificar_admin(form){
		
		if (form.nombre.value==''){
		   alert("Debe escribir su Nombre");
		   form.nombre.focus();
		   return false; 
		}
		if (form.apellido.value==''){
		   alert("Debe escribir su Apellido");
		   form.apellido.focus();
		   return false; 
		}
	  	if (form.username.value==''){
		   alert("Debe escribir su Nombre de Usuario");
		   form.username.focus();
		   return false; 
	   }
  	   if (form.contrasena.value==''){
		   alert("Debe escribir su contraseña");
		   form.contrasena.focus();
		   return false; 
	   }
  // form.submit();
}

function modificar_admin(form){
  		if (form.contrasena2.value!=''){
			if (form.contrasena2.value != form.contrasena.value){
					alert ("Para modificar la contrase&ntilde;a, debe digitarla igual en ambos campos.")
					form.contrasena.focus();
					return false;
			}
			else{
					form.cambiar.value=1;
			}
		}
		if (form.contrasena.value==''){
				alert ("Debe digitar la contraseña.");
				form.contrasena.focus();
				return false;
		}
	
	
	// form.submit();
}

function validar_ruta(form){
		if (form.origen.value==form.destino.value){
				alert("La ciudad de destino debe ser diferente a la ciudad de origen");
				form.destino.focus();
				return false;
		}
	// form.submit();
}

function validar_equipo_ruta(form){
		if (form.equipo.value==''){
				alert("Escribir el tipo de avión que se utilizará en la ruta");
				form.equipo.focus();
				return false;
		}
	// form.submit();
}

function abre_win(destino,ancho,alto){
	msg=window.open(destino,"DisplayWindow"+alto,"toolbar=no,directories=no,resize=no,menubar=no,width="+ancho+",height="+alto);
	msg.creator= self;
}

/*function validar_ver_itinerario(form){
	var finicio = form.fecha.options[0].value;
	var ffinal  = form.fecha_hasta.options[0].value;
	
	if (finicio==0)
		   {
			alert("No se ha seleccionado la fecha de inicio de la búsqueda");
			form.fecha.focus();
			return false;
		   }
		   
	if (ffinal==0){
		    alert("No se ha seleccionado la fecha de finalización de la búsqueda");
			form.fecha_hasta.focus();
			return false;
		    
		 }  
		  
	var inicio = finicio.split("/"); 
	var final= ffinal.split("/");
		
		
		if (inicio[2] > final[2])
		{
			alert("El año de la fecha inicial debe ser menor que el de la fecha final");
			form.fecha.focus();
			return false;
		}
		else{
		  if (inicio[2] == final[2]){// Año inicial igual al final 
			   if (inicio[0] > final[0])
				{// Mes inicial mayor que el final
				   alert("El mes de la fecha inicial debe ser menor que el de la fecha final");
				   form.fecha.focus();
					return false;
				}
				else{
					if (inicio[0]==final[0]){// Mes inicial igual al final
						  
					  if (inicio[1] > final[1])
					  {// Dia de la fecha inicial mayor a la final
						alert("El día de la fecha inicial debe ser menor que el día de la fecha final");
						form.fecha.focus();
						return false;
					  }// Dias
				   }// Mes
				}// Else
		 	}// Fin año
		}// Fin else
	// form.submit();
}*/

function comparar_fechas(finicio,ffinal){
	// Compara fechas en forma YYYY/MM/DD 
	var inicio = finicio.split("/"); 
	var dfinal= ffinal.split("/");
		
		
		if (inicio[0] > dfinal[0])
		{
			alert("El año de la fecha inicial debe ser menor que el de la fecha final");
			
			return false;
		}
		else{
		  if (inicio[0] == dfinal[0]){// Año inicial igual al final 
			   if (inicio[1] > dfinal[1])
				{// Mes inicial mayor que el final
				   alert("El mes de la fecha inicial debe ser menor que el de la fecha final");
				   
					return false;
				}
				else{
					if (inicio[1]==dfinal[1]){// Mes inicial igual al final
						  
					  if (inicio[2] > dfinal[2])
					  {// Dia de la fecha inicial mayor a la final
						alert("El día de la fecha inicial debe ser menor que el día de la fecha final");
						
						return false;
					  }// Dias
				   }// Mes
				}// Else
		 	}// Fin año
		}// Fin else
}
function validar_ver_itinerario(form){
	var fech = form.fecha.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.fecha_hasta.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.fecha.focus();
		return false;
	}
	if (isDate(date1)==false){
		form.fecha_hasta.focus();
		return false;
	}
	if (comparar_fechas(date,date1)==false)
	{	
		return false;
	}
	// form.submit();
}
/*function validar_ver_it(form){
	var fecha = form.fecha.options[0].value;
	if (fecha==0){
		alert("No se ha seleccionado la fecha de la búsqueda");
			form.fecha.focus();
			return false;
	}
	// form.submit();
}*/

function validar_tarifa(form){
	/*var finicio = form.fecha.options[0].value;
	var ffinal  = form.fecha_hasta.options[0].value;
	
	if (finicio==0)
		   {
			alert("No se ha seleccionado la fecha de inicio de la búsqueda");
			form.fecha.focus();
			return false;
		   }
		   
	if (ffinal==0){
		    alert("No se ha seleccionado la fecha de finalización de la búsqueda");
			form.fecha_hasta.focus();
			return false;
		    
		 }  
		  
	var inicio = finicio.split("/"); 
	var final= ffinal.split("/");
		
		
		if (inicio[2] > final[2])
		{
			alert("El año de la fecha inicial debe ser menor que el de la fecha final");
			form.fecha.focus();
			return false;
		}
		else{
		  if (inicio[2] == final[2]){// Año inicial igual al final 
			   if (inicio[0] > final[0])
				{// Mes inicial mayor que el final
				   alert("El mes de la fecha inicial debe ser menor que el de la fecha final");
				   form.fecha.focus();
					return false;
				}
				else{
					if (inicio[0]==final[0]){// Mes inicial igual al final
						  
					  if (inicio[1] > final[1])
					  {// Dia de la fecha inicial mayor a la final
						alert("El día de la fecha inicial debe ser menor que el día de la fecha final");
						form.fecha.focus();
						return false;
					  }// Dias
				   }// Mes
				}// Else
		 	}// Fin año
		}// Fin else*/
	
	var fech = form.fecha.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.fecha_hasta.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.fecha.focus();
		return false;
	}
	if (isDate(date1)==false){
		form.fecha_hasta.focus();
		return false;
	}
	if (comparar_fechas(date,date1)==false)
	{	
		return false;
	}
	if (form.valor_adulto.value==""){
		alert("Escriba el valor de la tarifa para adulto");
		form.valor_adulto.focus();
		return false;
	}
	if (form.valor_nino.value==""){
		alert("Escriba el valor de la tarifa para niño");
		form.valor_nino.focus();
		return false;
	}
	
	if (form.clase.value==""){
		alert("Escriba la clase de la tarifa");
		form.clase.focus();
		return false;
	}
	// form.submit();
}

function validar_mod_tarifa(form){
	/*var finicio = form.fecha.options[0].value;
	var ffinal  = form.fecha_hasta.options[0].value;
	
	if (finicio==0)
		   {
			alert("No se ha seleccionado la fecha de inicio de la búsqueda");
			form.fecha.focus();
			return false;
		   }
		   
	if (ffinal==0){
		    alert("No se ha seleccionado la fecha de finalización de la búsqueda");
			form.fecha_hasta.focus();
			return false;
		    
		 }  
		  
	var inicio = finicio.split("/"); 
	var final= ffinal.split("/");
		
		
		if (inicio[2] > final[2])
		{
			alert("El año de la fecha inicial debe ser menor que el de la fecha final");
			form.fecha.focus();
			return false;
		}
		else{
		  if (inicio[2] == final[2]){// Año inicial igual al final 
			   if (inicio[0] > final[0])
				{// Mes inicial mayor que el final
				   alert("El mes de la fecha inicial debe ser menor que el de la fecha final");
				   form.fecha.focus();
					return false;
				}
				else{
					if (inicio[0]==final[0]){// Mes inicial igual al final
						  
					  if (inicio[1] > final[1])
					  {// Dia de la fecha inicial mayor a la final
						alert("El día de la fecha inicial debe ser menor que el día de la fecha final");
						form.fecha.focus();
						return false;
					  }// Dias
				   }// Mes
				}// Else
		 	}// Fin año
		}// Fin else*/
	
	var fech = form.fecha.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.fecha_hasta.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.fecha.focus();
		return false;
	}
	if (isDate(date1)==false){
		form.fecha_hasta.focus();
		return false;
	}
	if (comparar_fechas(date,date1)==false)
	{	
		return false;
	}
	if (form.valor_adulto.value==""){
		alert("Escriba el valor de la tarifa para adulto");
		form.valor_adulto.focus();
		return false;
	}
	if (form.valor_nino.value==""){
		alert("Escriba el valor de la tarifa para niño");
		form.valor_nino.focus();
		return false;
	}
	
	// form.submit();
}

function validar_disp(form){
	/*var finicio = form.fecha.options[0].value;
	var ffinal  = form.fecha_hasta.options[0].value;
	
	if (finicio==0)
		   {
			alert("No se ha seleccionado la fecha de inicio de la búsqueda");
			form.fecha.focus();
			return false;
		   }
		   
	if (ffinal==0){
		    alert("No se ha seleccionado la fecha de finalización de la búsqueda");
			form.fecha_hasta.focus();
			return false;
		    
		 }  
		  
	var inicio = finicio.split("/"); 
	var final= ffinal.split("/");
		
		
		if (inicio[2] > final[2])
		{
			alert("El año de la fecha inicial debe ser menor que el de la fecha final");
			form.fecha.focus();
			return false;
		}
		else{
		  if (inicio[2] == final[2]){// Año inicial igual al final 
			   if (inicio[0] > final[0])
				{// Mes inicial mayor que el final
				   alert("El mes de la fecha inicial debe ser menor que el de la fecha final");
				   form.fecha.focus();
					return false;
				}
				else{
					if (inicio[0]==final[0]){// Mes inicial igual al final
						  
					  if (inicio[1] > final[1])
					  {// Dia de la fecha inicial mayor a la final
						alert("El día de la fecha inicial debe ser menor que el día de la fecha final");
						form.fecha.focus();
						return false;
					  }// Dias
				   }// Mes
				}// Else
		 	}// Fin año
		}// Fin else
	// form.submit();*/
}

function validar_ver_dispo(form){
	/*var fecha = form.fecha.options[0].value;
	if (fecha==0){
		alert("No se ha seleccionado la fecha de la búsqueda");
			form.fecha.focus();
			return false;
	}*/
	var fech = form.fecha.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	if (isDate(date)==false){
		form.fecha.focus();
		return false;
	}
	if (form.origen.value==form.destino.value){
				alert("La ciudad de destino debe ser diferente a la ciudad de origen");
				form.destino.focus();
				return false;
		}
	// form.submit();
}


function validar_reserva_user(form){
	if (form.username.value==""){
		alert("Debe digitar el username del usuario para realizar la consulta");
		form.username.focus();
		return false;
	}
	// form.submit();
}

function validar_reserva_record(form){
	if (form.record.value==""){
		alert("Debe digitar el record locator para realizar la consulta");
		form.record.focus();
		return false;
	}
	// form.submit();
}

function detalles (id_res)
{
	mes=window.open('detalles.php?id_reserva='+id_res,'detalles','width=300,height=500,status=no,resizable=no,scrollbars=yes,top=50,left=480');
	mes.creator= self;
}

function validar_agregar_rule(form){
	if (form.clase.value==''){
		alert("Debe escribir la clase a la cual va agregar la regla");
		form.clase.focus();
		return false;
	}
	if (form.regla.value==''){
		alert("Escriba el texto de la regla a agregar");
		form.regla.focus();
		return false;
	}
	// form.submit();
}

function validar_modif_rule(form){
	if (form.regla.value==''){
		alert("Escriba el texto de la regla a agregar");
		form.regla.focus();
		return false;
	}
	// form.submit();
}

function validar_modif_help(form){
	if (form.ayuda.value==''){
		alert("Escriba el texto de la ayuda a modificar");
		form.ayuda.focus();
		return false;
	}
	// form.submit();
}

function validar_busq_socio(form){
	if (form.dato.value==''){
		alert("Escriba el parametro de la busqueda");
		form.dato.focus();
		return false;
	}
	// form.submit();
}

function validar_cambiar_socio(form){
	
		if (form.nombre.value==''){
			alert("Debe digitar el nombre del socio");
			form.nombre.focus();
			return false;
		}
		if (form.apellido.value==''){
			alert("Debe digitar el apellido del socio");
			form.apellido.focus();
			return false;
		}
		if (form.telefono_oficina.value==''){
			alert("Debe digitar el telefono de la oficina del socio");
			form.telefono_oficina.focus();
			return false;
		}
		if (form.telefono_dia.value==''){
			alert("Debe digitar el telefono de dia del socio");
			form.telefono_dia.focus();
			return false;
		}
		if (form.telefono_noche.value==''){
			alert("Debe digitar el telefono de noche del socio");
			form.telefono_noche.focus();
			return false;
		}
		
		if (form.ciudad.value==''){
			alert("Debe digitar la ciudad del socio");
			form.ciudad.focus();
			return false;
		}
		if (form.password.value==''){
			alert("Debe digitar el password del socio");
			form.password.focus();
			return false;
		}
	
		if (emailCheck(form.email.value)==false){
			form.email.focus();
			return false;
		}
			
	
}

function validar_cambiar_testigo(form){

	if (form.disp.value==''){
		alert("Debe escribir la disponibilidad para el itinerario");
		form.disp.focus();
		return false;
	}
		// form.submit();
}

function validar_answer_comen(form){

	if (form.respuesta.value==''){
		alert("Debe dar una respuesta al comentario");
		form.respuesta.focus();
		return false;
	}
	// form.submit();
}

function validar_iva(form){
	if (form.iva.value==''){
		alert("Debe escribir el valor del IVA");
		form.iva.focus();
		return false;
	}
	// form.submit();
}

function validar_sobre(form){
	if (form.sobrecosto.value==''){
		alert("Debe escribir el valor del SOBRECOSTO DE COMBUSTIBLE");
		form.sobrecosto.focus();
		return false;
	}
	// form.submit();
}

function validar_cambio_passwd(form){
	if (form.passwd_orig.value==''){
		alert("Debe escribir la contraseña original para realizar el cambio");
		form.passwd_orig.focus();
		return false;
	}
	if (form.passwd1.value==''){
		alert("Debe escribir la nueva contraseña para realizar el cambio");
		form.passwd1.focus();
		return false;
	}
	if (form.passwd2.value==''){
		alert("Debe repetir la nueva contraseña para realizar el cambio");
		form.passwd2.focus();
		return false;
	}
	if (form.passwd1.value != form.passwd2.value){
		alert("Las contraseñas no coinciden");
		form.passwd1.focus();
		return false;
	}
}


// SCRIPT PARA VALIDAR FECHAS EN EL FORMATO MM/DD/YYYY

// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=3000;


function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
    
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strYear=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strDay=dtStr.substring(pos2+1)
	
	
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	

	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr) 
	
	if (pos1==-1 || pos2==-1){   
		alert("El formato de la fecha debe ser : mm/dd/aaaa")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
	    
		alert("Por favor ingrese un més válido")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Por favor ingrese un dia valido")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Por favor ingrese un año valido")
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Por favor ingrese una fecha válida")
		return false
	}
return true
}

// FIN VALIDAR FECHAS

function validar_agregar_it(form){
	var fech = form.fecha.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	if (isDate(date)==false){
		form.fecha.focus();
		return false;
	}
	// form.submit();
}

function imprimir_page(){
	window.print();
}

function verificar_agregar_hotel(form){
	if (form.hotel.value==""){
		alert("Debe digitar el nombre del hotel");
		form.hotel.focus();
		return false;
	}
}

function validar_modif_hotel(form){
	if (form.hotel.value==""){
		alert("Debe digitar el nombre del hotel");
		form.hotel.focus();
		return false;
	}
	if (form.ciudad.value==""){
		alert("Debe digitar el nombre de la ciudad");
		form.ciudad.focus();
		return false;
	}
}

function validar_agreg_cat(form){
	if (form.categoria.value==""){
		alert("Debe digitar la categoria");
		form.categoria.focus();
		return false;
	}
}

function validar_agreg_subcat(form){
	if (form.categoria.value==""){
		alert("Debe digitar la subcategoria");
		form.categoria.focus();
		return false;
	}
}

function validar_agreg_tipo(form){
	if (form.tipo_plan.value==""){
		alert("Debe digitar el tipo de plan");
		form.tipo_plan.focus();
		return false;
	}
}

function validar_grupo_ciudad(form){
	if (form.grupo_ciudad.value==""){
		alert("Debe digitar el grupo de ciudades");
		form.grupo_ciudad.focus();
		return false;
	}
}

function validar_agreg_plan(form){
	var fech = form.vigencia_inicio.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.vigencia_final.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.vigencia_inicio.focus();
		return false;
	}
	if (isDate(date1)==false){
		form.vigencia_final.focus();
		return false;
	}
	if (comparar_fechas(date,date1)==false)
	{	
		return false;
	}
	if (form.nombre.value==""){
		alert("Debe digitar el nombre del plan");
		form.nombre.focus();
		return false;
	}
	if (form.incluye.value==""){
		alert("Debe digitar lo que se incluye en el plan");
		form.incluye.focus();
		return false;
	}
	if (form.no_incluye.value==""){
		alert("Debe digitar lo que no se incluye en el plan");
		form.no_incluye.focus();
		return false;
	}
	
}

function validar_agregar_dato_plan(form){
	if (form.duracion.value==""){
		alert("Debe digitar la duración del plan");
		form.duracion.focus();
		return false;
	}
}

function ver_it(form){
	
	var fech = form.fecha.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.fecha_hasta.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.fecha.focus();
		return false;
	}
	if (isDate(date1)==false){
		form.fecha_hasta.focus();
		return false;
	}
	if (comparar_fechas(date,date1)==false)
	{	
		return false;
	}
	
	if (form.vuelo.value==""){
		alert("Debe digitar el numero del vuelo a buscar");
		form.vuelo.focus();
		return false;
	}
}

//Funciones del Webpage

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_findObj(n, d) { //v4.0
  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_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImgRestore() { //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_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

/*function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe contener una dirección de email.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' debe contener un número.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' debe contener un número entre '+min+' y '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es requerido.\n'; }
  } if (errors) alert('Los siguientes errores han ocurrido :\n\n'+errors);
  document.MM_returnValue = (errors == '');
}*/

function MM_validateForm() { //v4.0
  
  var i,p,q,nm,test,num,pal,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { 
  			test=args[i+2]; 
			pal=args[i+1];
			val=MM_findObj(args[i]);
    		if (val) { //if 1
				nm=val.name; 
				if ((val=val.value)!="") {// if 2
      					//alert(val.length);
						if (test.indexOf('isEmail')!=-1) { //if 3
								p=val.indexOf('@');
        						if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe contener una dirección de email.\n';
      					}//if 3 
						else 
						if (test!='R') {//if 4
        					if (test=='K'){
								prueba=MM_findObj(pal);
								verifva = prueba.value;
								//errors+='- '+verifva+' debe contener un númeroY.\n';
								//errors+='- '+pal+' debe contener un númeroX.\n';
								if (verifva!=val) errors+='- El valor de la identificación debe ser igual al de la verificación.\n';
							}
							else{	
							 if (test=='P'){
								if (val.length>0){ 
									if ((val.length>8) || (!validarOnePass(val))) errors += '- El código OnePass es incorrecto.\n';
								}
							 }else{
							 	if (isNaN(val)) errors+='- '+nm+' debe contener un número.\n';
								if ((val.length<7)||(val.length>7)) errors+='- '+nm+' debe tener al menos 7 digitos.\n';
        						if (test.indexOf('inRange') != -1) { // if 5
										p=test.indexOf(':');
          								min=test.substring(8,p); max=test.substring(p+1);
          								if (val<min || max<val) errors+='- '+nm+' debe contener un número entre '+min+' y '+max+'.\n';
    							}//if 5 
							 }//else
							}//else
						} // if 4
/*						else
							if ((pal!=1) && (!validarNombre(val))) errors += '- '+nm+' debe contener solo letras.\n'; */
								
				}// if 2 
				else{ 
					if (test.charAt(0) == 'R') errors += '- '+pal+' es requerido.\n';
//					if (test.charAt(0) == 'R') errors += '- '+nm+' es requerido.\n';
//					if (test.charAt(0) == 'K') errors += '- '+nm+' es requerido.\n';
				}
		   }// if 1
  }// for 
  if (errors){
  	alert('Los siguientes errores han ocurrido :\n\n'+errors);
	document.MM_returnValue = (errors == '');
   }else{
	
	if(confirm('¿Está seguro que desea hacer la reserva?')){
                val=MM_findObj("envio");
		val.disabled=true;
		document.MM_returnValue = true;
	}else{
		document.MM_returnValue = false;
	//	window.location.href = 'index.php3'; 
	}
     }
}

function validarNombre(cad){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
	var checkStr = cad;
	var allValid = true;
	var t=0;
	for (i = 0; i < checkStr.length; i++) {
			ch = checkStr.charAt(i);
			if (ch == checkOK.charAt(64)) t=t+1;
			for (j = 0; j < checkOK.length; j++)
						if (ch == checkOK.charAt(j))
							break;
						if (j == checkOK.length) {
							allValid = false;
							break;
			}
	}
	
if (t==checkStr.length)	return false;
else  if (!allValid)  return false; else return true;

}

function validarOnePass(cad){
	var myExp = new RegExp(/[a-zA-Z]{2}\d{6}/);
	var myRsult = myExp.test(cad);
	return myRsult;
}

function validar_form_reserva(form){
	var fech = form.fecha_ida.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.fecha_regreso.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.fecha_ida.focus();
		return false;
	}
	if (form.agree.value==1){
		if (isDate(date1)==false){
			form.fecha_regreso.focus();
			return false;
		}
		if (comparar_fechas(date,date1)==false)
		{	
			return false;
		}
	}
	
}

function validar_form_reserva2(form){
	var fech = form.fecha_ida.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	var fech1 = form.fecha_regreso.value.split("/"); 
	date1= fech1[2] + "/" + fech1[0] + "/" + fech1[1];
	if (isDate(date)==false){
		form.fecha_ida.focus();
		return false;
	}
	if (form.agree.value==1){
		if (isDate(date1)==false){
			form.fecha_regreso.focus();
			return false;
		}
		if (comparar_fechas(date,date1)==false)
		{	
			return false;
		}
	}
	
	if (form.open_pass.value=="Si"){
		form.action="reserva.php?opcion=paso2_new"
	}
}

function validar_paso2(form){
	var cant;
	cant=parseInt(form.adultos.value) + parseInt(form.ninos.value);
	if (cant>5){
		alert("La cantidad máxima a viajar en esta reserva es de 5 personas");
		form.ninos.focus();
		return false;
	}
}

function validar_producto(form){
	var fech = form.fecha_salida.value.split("/"); 
	date= fech[2] + "/" + fech[0] + "/" + fech[1];
	if (isDate(date)==false){
		form.fecha_salida.focus();
		return false;
	}
}

//ABRIL 16
function form_reserva(form){
	var fech = form.strFecha1.value.split("/"); 
	date= fech[2] + "/" + fech[1] + "/" + fech[0];
	var fech1 = form.strFechaRegreso1.value.split("/"); 
	date1= fech1[2] + "/" + fech1[1] + "/" + fech1[0];
	var pasajeros = parseInt(form.inAdultos.options[form.inAdultos.selectedIndex].value)+parseInt(form.inNinos.options[form.inNinos.selectedIndex].value);
	var factual = form.strFechaOrig.value.split("/"); 
	date2= factual[2] + "/" + factual[0] + "/" + factual[1];
	var envioimg = document.getElementById("envio");
	
	if (isDate(date)==false){
		form.strFechaRegreso1.focus();
		return false;
	}
	if (comparar_fechas_reserva(date2,date)==false)
	{	
			return false;
	}
		
	if (form.agree.value==3){
		if (isDate(date1)==false){
			form.strFechaRegreso1.focus();
			return false;
		}
		if (comparar_fechas(date,date1)==false)
		{	
			return false;
		}
	}
	if (form.strOrigen.options[form.strOrigen.selectedIndex].value == '') {
		alert("Debe seleccionar una ciudad de origen");
		form.strOrigen.focus();
		return false;
	}
	if (form.strDestino.options[form.strDestino.selectedIndex].value == '') {
		alert("Debe seleccionar una ciudad de destino");
		form.strDestino.focus();
		return false;
	}
	if (form.strOrigen.options[form.strOrigen.selectedIndex].value==form.strDestino.options[form.strDestino.selectedIndex].value){
		alert("Debe seleccionar una ciudad de destino diferente!");
		form.strDestino.focus();
		return false;
	}
	
	
	if (parseInt(pasajeros)<=0){
		alert("Debe seleccionar la cantidad de pasajeros");
		form.inAdultos.focus();
		return false;
	}
/*	
	if (parseInt(pasajeros)>8){
		alert("La cantidad de pasajeros maximo es 8");
		form.inAdultos.focus();
		return false;
	}
*/	
	form.inPasajeros.value=parseInt(form.inAdultos.options[form.inAdultos.selectedIndex].value)+parseInt(form.inNinos.options[form.inNinos.selectedIndex].value);
	
	form.strFecha.value = fech[1] + "/" + fech[0] + "/" + fech[2];
	form.strFechaRegreso.value = fech1[1] + "/" + fech1[0] + "/" + fech1[2];

	envioimg.disabled=true; // deshabilitar el submit del formulario

	return true;
}

function comparar_fechas_reserva(finicio,ffinal){
	// Compara fechas en forma YYYY/MM/DD 
	var inicio = finicio.split("/"); 
	var dfinal= ffinal.split("/");
		
		
		if (inicio[0] > dfinal[0])
		{
			alert("El año de la fecha inicial escogida debe ser igual o mayor a el de la fecha actual");
			
			return false;
		}
		else{
		  if (inicio[0] == dfinal[0]){// Año inicial igual al final 
			   if (inicio[1] > dfinal[1])
				{// Mes inicial mayor que el final
				   alert("El mes de la fecha inicial escogida debe ser igual o mayor a el de la fecha actual");
				   
					return false;
				}
				else{
					if (inicio[1]==dfinal[1]){// Mes inicial igual al final
						  
					  if (inicio[2] > dfinal[2])
					  {// Dia de la fecha inicial mayor a la final
						alert("El día de la fecha inicial escogida debe ser igual o mayor a el de la fecha actual");
						
						return false;
					  }// Dias
				   }// Mes
				}// Else
		 	}// Fin año
		}// Fin else
}


function ver_imprimible()
	{
	abrir_ventana_imprimible();
	document.formulario.submit();
	}
function abrir_ventana_imprimible()
	{
	popupWin=window.open('','imprimible','width=495,height=680,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,directories=0,status=0,copyhistory=0,minimise=no,maximise=no,left=70,top=70');
	}
function ver_imprimible_cotizacion()
	{
	abrir_cotizacion_imprimible();
	document.formulario.submit();
	}
function abrir_cotizacion_imprimible()
	{
	popupWin=window.open('','imprimible','width=680,height=430,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,directories=0,status=0,copyhistory=0,minimise=no,maximise=no,left=70,top=70');
	}

function ver_contrato()
	{
	popupWin=window.open('modulos/reservas/documentos/e_ticket.pdf','contrato','width=800,height=600,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,directories=0,status=0,copyhistory=0,minimise=no,maximise=no,left=70,top=70');
	}

function ver_visa()
	{
	popupWin=window.open('modulos/reservas/visa.php','Visa','width=500,height=600,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,directories=0,status=0,copyhistory=0,minimise=no,maximise=no,left=70,top=70');
	}

function ver_pse()
	{
	popupWin=window.open('modulos/reservas/pse.php','VBV','width=500,height=700,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,directories=0,status=0,copyhistory=0,minimise=no,maximise=no,left=70,top=70');
	}
function validar_pagos(form){
	errors=''
	val = form.strTelefono.value;
	if (form.strNombre.value=="") errors += '- El campo Nombre no puede ser vacío.\n';
	if (!validarNombre(form.strNombre.value)) errors += '- El campo Nombre debe contener solo letras.\n';
	if (form.strPrimerApellido.value=="") errors += '- El campo Primer Apellido no puede ser vacío.\n';
	if (!validarNombre(form.strPrimerApellido.value)) errors += '- El campo Primer Apellido debe contener solo letras.\n';
	if (form.strSegundoApellido.value!=""){
			if (!validarNombre(form.strSegundoApellido.value)) errors += '- El campo Segundo Apellido debe contener solo letras.\n';
	}
	if (form.strId.value=="") errors += '- El campo Numero de Identificación no puede ser vacío.\n';
	if (isNaN(val)) errors+='- el campo Telefono debe contener un número.\n';
	if ((val.length<7)||(val.length>7)) errors+='- El campo Telefono debe tener al menos 7 digitos.\n';
	if (!emailCheck(form.strEmail.value)){
		errors+= '- El campo Email es incorrecto.\n';
	}
	else{
			if (form.strEmail.value!=form.strEmail1.value) errors+= '- La Verificación del Email es incorrecta.\n';
		}
		
	if (!form.condiciones.checked) errors+= '- No se han aceptado las condiciones del Contrato de Transporte.\n';
	
	if (!form.condiciones1.checked) errors+= '- No se han aceptado las Restricciones.\n';
	
if (errors){ alert('Los siguientes errores han ocurrido :\n\n'+errors); return false;}
else return true;
}

function validar_contactenos(form){
	errors=''
	val = form.telefono.value;
	if (form.nombre.value=="") errors += '- El campo Nombre no puede ser vacío.\n';
	if (!validarNombre(form.nombre.value)) errors += '- El campo Nombre debe contener solo letras.\n';
	if (form.apellido.value=="") errors += '- El campo Apellido no puede ser vacío.\n';
	if (!validarNombre(form.apellido.value)) errors += '- El campo Apellido debe contener solo letras.\n';
	if (val=="") errors += '- El campo Telefono no puede ser vacío.\n';
	if (val.length<7) errors += '- El campo Telefono debe tener al menos 7 caracteres.\n';
	if (form.comentarios.value=="") errors += '- El campo Comentarios no puede ser vacío.\n';
	if (!emailCheck(form.email.value)){
		errors+= '- El campo Email es incorrecto.\n';
	}
	
if (errors){ alert('Los siguientes errores han ocurrido :\n\n'+errors); return false;}
else return true;
}

function verificar_residente(){
	validar_sandres_panama();

	
	if ((document.form_itinerario.strOrigen.options[document.form_itinerario.strOrigen.selectedIndex].value=="San Andrés") || (document.form_itinerario.strDestino.options[document.form_itinerario.strDestino.selectedIndex].value=="San Andrés") || document.form_itinerario.strDestino.options[document.form_itinerario.strDestino.selectedIndex].value=="Panamá"){
		document.form_itinerario.btResidente.disabled=false;
		document.form_itinerario.btResidente.style.visibility = 'visible';
         validar_soloida();

		cambio('capa1',1);
	}
	else
		{
			document.form_itinerario.btResidente.disabled=true;
			document.form_itinerario.btResidente.style.visibility = 'hidden'; 
			cambio('capa1',0);
                       //habilitar soloida
                          cambio('divTipoViaje',1);
                         document.form_itinerario.inSoloIda.disabled=false;
                            cambio('divTipoViajeTitle',1);

		}
}
function validar_soloida(){

//alert(document.form_itinerario.btResidente.value);

if (document.form_itinerario.btResidente.value == 0)
 {
  if (document.form_itinerario.strDestino.options[document.form_itinerario.strDestino.selectedIndex].value=="San Andrés" || document.form_itinerario.strDestino.options[document.form_itinerario.strDestino.selectedIndex].value=="Panamá")
   {
   document.form_itinerario.inSoloIda.disabled=true;
   cambio('divTipoViaje',0);
   cambio('divTipoViajeTitle',0);
   }
//alert("Disable soloida");
 }
else
 { //habilitar soloida
   document.form_itinerario.inSoloIda.disabled=false;
   cambio('divTipoViaje',1);
   cambio('divTipoViajeTitle',1);

//alert("Enable soloida");


 }

}
function validar_sandres_panama(){
if (document.form_itinerario.strOrigen.options[document.form_itinerario.strOrigen.selectedIndex].value=="San Andrés")
  {
  removeValue('strDestino','Panamá');
//alert (document.form_itinerario.strDestino.selectedIndex);
  }
else
  {
  if (!findValue('strDestino','Panamá'))
     appendOptionBefore('strDestino','Pereira');
//  else
//     alert ("added panama");
  }

}
function findValue(sel,value) {
var elSel = document.getElementById(sel);
  var i,found = 0;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].value==value) {
     found = 1;

     // alert('found '+ value);
    return true;
     }

  }
return false;
}
function removeValue(sel,value) {
var elSel = document.getElementById(sel);
  var i,found = 0;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].value==value) {
       elSel.remove(i);

     // alert('removed '+ value);
    return true;
     }

  }
return false;
}

function appendOptionBefore(sel, value)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = 'Panamá';
  elOptNew.value = 'Panamá';
  var elSel = document.getElementById(sel);
  var j;
    var elOptOld;

  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].value==value) {
         elOptOld = elSel.options[i];
         j = i;
        }
   }
    try {
      elSel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
    }
    catch(ex) {
      elSel.add(elOptNew, j); // IE only
    }
}


function cambio(idCapa,valor){
var capa;
if (document.layers) capa = eval("document.form_itinerario." + idCapa);
if (document.all) capa = eval(idCapa + ".style");
if (document.getElementById) capa = eval('document.getElementById("' + idCapa + '").style'); 

if (valor==1) capa.visibility = (document.layers) ? "show" : "visible" ;
else capa.visibility = (document.layers) ? "hide" : "hidden" ;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function tigra_tables (
		str_tableid, // table id (req.)
		num_header_offset, // how many rows to skip before applying effects at the begining (opt.)
		num_footer_offset, // how many rows to skip at the bottom of the table (opt.)
		str_odd_color, // background color for odd rows (opt.)
		str_even_color, // background color for even rows (opt.)
		str_mover_color, // background color for rows with mouse over (opt.)
		str_onclick_color // background color for marked rows (opt.)
	) {

	 // skip non DOM browsers
	if (typeof(document.all) != 'object') return;

	// validate required parameters
	if (!str_tableid) return alert ("No table(s) ID specified in parameters");
	var obj_tables = (document.all ? document.all[str_tableid] : document.getElementById(str_tableid));
	if (!obj_tables) return alert ("Can't find table(s) with specified ID (" + str_tableid + ")");

	// set defaults for optional parameters
	var col_config = [];
	col_config.header_offset = (num_header_offset ? num_header_offset : 0);
	col_config.footer_offset = (num_footer_offset ? num_footer_offset : 0);
	col_config.odd_color = (str_odd_color ? str_odd_color : '#ffffff');
	col_config.even_color = (str_even_color ? str_even_color : '#dbeaf5');
	col_config.mover_color = (str_mover_color ? str_mover_color : '#6699cc');
	col_config.onclick_color = (str_onclick_color ? str_onclick_color : '#4C7DAB');
	
	// init multiple tables with same ID
	if (obj_tables.length)
		for (var i = 0; i < obj_tables.length; i++)
			tt_init_table(obj_tables[i], col_config);
	// init single table
	else
		tt_init_table(obj_tables, col_config);
}

function tt_init_table (obj_table, col_config) {
	var col_lconfig = [],
		col_trs = obj_table.rows;
	for (var i = col_config.header_offset; i < col_trs.length - col_config.footer_offset; i++) {
		col_trs[i].config = col_config;
		col_trs[i].lconfig = col_lconfig;
		col_trs[i].set_color = tt_set_color;
		col_trs[i].onmouseover = tt_mover; 
		col_trs[i].onmouseout = tt_mout;
		col_trs[i].onmousedown = tt_onclick;
		col_trs[i].order = (i - col_config.header_offset) % 2;
		col_trs[i].onmouseout();
	}
}
function tt_set_color(str_color) {
	this.style.backgroundColor = str_color;
}

// event handlers
function tt_mover () {
	if (this.lconfig.clicked != this)
		this.set_color(this.config.mover_color);
}
function tt_mout () {
	if (this.lconfig.clicked != this)
		this.set_color(this.order ? this.config.odd_color : this.config.even_color);
}
function tt_onclick () {
	if (this.lconfig.clicked == this) {
		this.lconfig.clicked = null;
		this.onmouseover();
	}
	else {
		var last_clicked = this.lconfig.clicked;
		this.lconfig.clicked = this;
		if (last_clicked) last_clicked.onmouseout();
		this.set_color(this.config.onclick_color);
	}
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Fin funciones de webpage
// -->
