var idioma = fdic.lang(null);
function validatePax(entered, min, max, alertbox, datatype) {
	error = false;
	if (entered.value == "") { error = true; }
	checkvalue=parseFloat(entered.value);
	if (datatype) {
		smalldatatype=datatype.toLowerCase();
	    if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(entered.value);};
	}
	if ((parseFloat(min)==min && checkvalue<min) || (parseFloat(max)==max && checkvalue>max) || entered.value!=checkvalue) {
		error = true;
	}
	if (error == true) {
		alert(alertbox); return false;
	}else { 
		return true; 
	}
}

function validateagree() {
	error = false;
	if (document.forma.iagree.status == false) { error = true; }
	if (error == true) { 
		alert(fdic.trad(disAlertAgree,idioma)); 	return false; 
	}else {
		return true;
	}
}

function validaTraslados(thisform) {

    with (thisform) {
        //vallida el hotel
        if (validateHotel(Hoteles_Traslados, Clav_Hotel) == false) {
            return false;
        }
        //Válida Tipo de Traslado Diferente de Select opcion
        if (tipo_traslado.value == "X") {
            alert(fdic.trad(disAlertTipoTraslado, idioma)); return false;
        }
        if (tipo_traslado.value.toUpperCase() == "R") {  //Redonde
            if (validaFechaHoy(anio_desde.value, mes_desde.value, dia_desde.value, 'sin') == false) {  //Llegando
                alert(fdic.trad(disAlertFechaHoy1, idioma)); return false;
            }
            if (validaFechaHoy(anio_hasta.value, mes_hasta.value, dia_hasta.value, 'sin') == false) { //Saliendo
                alert(fdic.trad(disAlertFechaHoy2, idioma)); return false;
            }
            //Valida que no haya Cruce de Fechas
            if (validaCruceFechas(anio_desde.value, mes_desde.value, dia_desde.value, anio_hasta.value, mes_hasta.value, dia_hasta.value, 'transfer') == false) {
                alert(fdic.trad(disFechaPosteriorTransfer, idioma)); return false;
            }
        } else if (tipo_traslado.value.toUpperCase() == "L") {  //Llegando
            if (validaFechaHoy(anio_desde.value, mes_desde.value, dia_desde.value, 'sin') == false) {
                alert(fdic.trad(disAlertFechaHoy1, idioma)); return false;
            }
        } else if (tipo_traslado.value.toUpperCase() == "S") {  //Saliendo
            if (validaFechaHoy(anio_hasta.value, mes_hasta.value, dia_hasta.value, 'sin') == false) {
                alert(fdic.trad(disAlertFechaHoy2, idioma)); return false;
            }
        }
        // Si es Llegada o Round
        if (tipo_traslado.value == "R" || tipo_traslado.value == "L") {
            //Valida la fecha de llegada 48 horas de anticipacion.
            if (ValidaFechaTraslado(anio_desde, mes_desde, dia_desde) == false) {
                alert(fdic.trad(disAlertFechaMinima, idioma)); return false;
            }          
        }
        // Si es Sálida o Round
        if (tipo_traslado.value == "R" || tipo_traslado.value == "S") {
            //Valida la fecha de salida 48 horas de anticipacion.
            if (ValidaFechaTraslado(anio_hasta, mes_hasta, dia_hasta) == false) {
                alert(fdic.trad(disAlertFechaMinima, idioma)); return false;
            }          
        }		
        //Válida Adultos
        if (validatePax(num_adultos, 1, 999, fdic.trad(disAlertAdults, idioma), "I") == false) {
            return false;
        }
        //Válida nińos
        /*if (validatePax(num_ninos, 0, 5, fdic.trad(disAlertKids, idioma), "I") == false) {
            return false;
        }*/
    }
    return true;
}

//valida que se haya especificado la clave del hotel
function validateHotel(hotel,clave) {
    //Que haya indicado el hotel
    if (hotel.value == "" || clave.value == "") {
        alert(fdic.trad(disAlertHotel, idioma)); return false;
    }
    return true;
}

function Validaciones(thisform) { 
	/* Tipos de Traslados: R: Round Trip S: On Way Salida L: On Way Llegada */
	
	with (thisform) {	
	
		// Que hay un traslado válido			
		if (clav_traslado == "") {				
			alert(fdic.trad(disAlertTrasfer,idioma)); return false;	
		}
		//Que haya indicado el hotel	
		if (hotel.value == "") {
			alert(fdic.trad(disAlertHotel,idioma)); return false;
		}		
		//Válida Adultos
		if (validatePax(num_adultos,1,999,fdic.trad(disAlertAdults,idioma),"I") == false ) {	
			return false;		
		}
		//Válida nińos
		if (validatePax(num_ninos,0,5,fdic.trad(disAlertKids,idioma),"I") == false ) {	
			return false;		
		}
		//Válida Tipo de Traslado Diferente de Select opcion
		if (tipo_traslado.value == "X" ) {	
			alert(fdic.trad(disAlertTipoTraslado,idioma)); return false;		
		}

		if (tipo_traslado.value.toUpperCase() == "R") {  //Redonde
		    //rangoFechas('desde_UI_trans', 'hasta_UI_trans', 1);
		    //initFechas('desde_UI_trans', 'hasta_UI_trans', 'dd/M/yy');
		    if (validaFechaHoy(anio_desde.value, mes_desde.value, dia_desde.value, 'sin') == false) {  //Llegando
		        alert(fdic.trad(disAlertFechaHoy1, idioma)); return false;
		    }
		    if (validaFechaHoy(anio_hasta.value, mes_hasta.value, dia_hasta.value, 'sin') == false) { //Saliendo
		        alert(fdic.trad(disAlertFechaHoy2, idioma)); return false;
		    }
		    //Valida que no haya Cruce de Fechas
		    if (validaCruceFechas(anio_desde.value, mes_desde.value, dia_desde.value, anio_hasta.value, mes_hasta.value, dia_hasta.value, 'transfer') == false) {
		        alert(fdic.trad(disFechaPosteriorTransfer, idioma)); return false;
		    }
		} else if (tipo_traslado.value.toUpperCase() == "L") {  //Llegando
		    if (validaFechaHoy(anio_desde.value, mes_desde.value, dia_desde.value, 'sin') == false) {
		        alert(fdic.trad(disAlertFechaHoy1, idioma)); return false;
		    }		
		} else if (tipo_traslado.value.toUpperCase() == "S") {  //Saliendo
		    if (validaFechaHoy(anio_hasta.value, mes_hasta.value, dia_hasta.value, 'sin') == false) {
		        alert(fdic.trad(disAlertFechaHoy2, idioma)); return false;
		    }
		}				
		// Si es Llegada o Round
		if (tipo_traslado.value == "R" || tipo_traslado.value == "L") {
			//Valida la fecha de llegada 48 horas de anticipacion.
			if (ValidaFechaTraslado(anio_desde,mes_desde,dia_desde) == false) {				
				alert(fdic.trad(disAlertFechaMinima,idioma)); return false;			
			}
			if (AirlineGo.value == "") {
				alert(fdic.trad(disAlertAirline1,idioma)); return false;			
			}
			if (FlightNumberGo.value == "") {
				alert(fdic.trad(disAlertFlight1,idioma)); return false;
			}
		}		
		// Si es Sálida o Round
		if (tipo_traslado.value == "R" || tipo_traslado.value == "S") {
			//Valida la fecha de salida 48 horas de anticipacion.
			if (ValidaFechaTraslado(anio_hasta,mes_hasta,dia_hasta) == false) {				
				alert(fdic.trad(disAlertFechaMinima,idioma)); return false;			
			}
			if (AirlineReturn.value == "") {
				alert(fdic.trad(disAlertAirline2,idioma)); return false;
			}
			if (FlightNumberReturn.value == "") {
				alert(fdic.trad(disAlertFlight2,idioma)); return false;
			}
		}		
	}
	return true;
}
//Funcion que valida que haya 48 horas para el traslado
/*function ValidaFechaTraslado(elAnio,elMes,elDia) {
   //Guarda en un arreglo los meses para formar la fecha de hoy en formato gringo.
    var ArregloMeses = fdic.meses(idioma);
   //Hace un parse a la fecha de hoy.
   var laFechaDeHoy = new Date();
   var elAnioDeHoy = laFechaDeHoy.getFullYear();
   var elMesDeHoy = laFechaDeHoy.getMonth();
   var elDiaDeHoy = laFechaDeHoy.getDate();

   //Formatea las fechas de hoy y la que se esta validando en formato gringo para 
   //sacarle la diferencia de dias.
   var laFecha1=ArregloMeses[elMesDeHoy]+" "+elDiaDeHoy+", "+elAnioDeHoy
   var laFecha2=ArregloMeses[elMes.value-1]+" "+elDia.value+", "+elAnio.value
   var laDiferencia=(Math.round((Date.parse(laFecha2) - Date.parse(laFecha1))/(24*60*60*1000))*1)

   if (laDiferencia<2){return false;}
   if (laDiferencia>=2){return true;}
}*/


//Funcion que valida que haya 48 horas para el traslado
function ValidaFechaTraslado(elAnio, elMes, elDia) {

    var fechahoy = new Date(); //fechahoy.setHours(00); fechahoy.setMinutes(00); fechahoy.setSeconds(00);
    var hrsHoy = fechahoy.getHours()
    var minHoy = fechahoy.getMinutes()
    //var secHoy = fechahoy.getSeconds()
    var fecha = new Date(parseInt(elAnio.value), parseInt(elMes.value) - 1, parseInt(elDia.value), hrsHoy, minHoy, 00);
    var laDiferencia = (Math.round((Date.parse(fecha) - Date.parse(fechahoy)) / (24 * 60 * 60 * 1000)) * 1)
    if (laDiferencia < 2) { return false; }
    if (laDiferencia >= 2) { return true; }

}
//Valida Cruce de Fechas
function validaCruceFechas(anio_desde, mes_desde, dia_desde, anio_hasta, mes_hasta, dia_hasta, tipomsg) {
	var _tipomsg = '';
    var idioma = fdic.lang(null); arrMonths = fdic.meses(idioma);
    var fechaIni = new Date(parseInt(anio_desde), parseInt(mes_desde) - 1, parseInt(dia_desde), 00, 00, 00);
    var fechaFin = new Date(parseInt(anio_hasta), parseInt(mes_hasta) - 1, parseInt(dia_hasta), 00, 00, 00);
    var psDateIni = Date.parse(fechaIni);
    var psDateFin = Date.parse(fechaFin);
    
    if (psDateIni > psDateFin) {
        if (typeof tipomsg != 'undefined' && tipomsg != null) { _tipomsg = tipomsg; }
        return false;
    }  
    return true;
}

function DisplayLlegadaSalida(Tipo_Traslado) {	
	/* Tipos de Traslados: R: Round Trip,  S: On Way Salida,  L: On Way Llegada */
	var sDivLleg = document.getElementById('DivLlegada');
	var sDivSal = document.getElementById('DivSalida');
	var sDivBtn = document.getElementById('DivBoton');
	switch (Tipo_Traslado)
	{
	    case "R":
//	            $$(document).ready(function() {
//	                rangoFechas('desde_UI_trans', 'hasta_UI_trans', 1);
//	                initFechas('desde_UI_trans', 'hasta_UI_trans', 'dd/M/yy');
//	            });	       
		        if (sDivLleg !='undefined' && sDivLleg!=null) { sDivLleg.style.display=''; }   //datos de llegada 
		        if (sDivSal !='undefined'  && sDivSal!=null)  { sDivSal.style.display=''; }    //datos de salida
		        if (sDivBtn !='undefined'  && sDivBtn!=null)  { sDivBtn.style.display=''; }    //boton 
				break;
		case "L":
		        if (sDivLleg !='undefined' && sDivLleg!=null) { sDivLleg.style.display=''; }   //datos de llegada 
		        if (sDivSal !='undefined'  && sDivSal!=null)  { sDivSal.style.display='none'; }//datos de salida
		        if (sDivBtn !='undefined'  && sDivBtn!=null)  { sDivBtn.style.display=''; }    //boton 
				break;
		case "S":
				if (sDivLleg !='undefined' && sDivLleg!=null) { sDivLleg.style.display='none'; } //datos de llegada 
		        if (sDivSal !='undefined'  && sDivSal!=null)  { sDivSal.style.display=''; }      //datos de salida
		        if (sDivBtn !='undefined'  && sDivBtn!=null)  { sDivBtn.style.display=''; }      //boton 
				break;		
		default:
		        if (sDivLleg !='undefined' && sDivLleg!=null) { sDivLleg.style.display='none'; } //datos de llegada 
		        if (sDivSal !='undefined'  && sDivSal!=null)  { sDivSal.style.display='none'; }  //datos de salida
		        if (sDivBtn !='undefined'  && sDivBtn!=null)  { sDivBtn.style.display=''; }      //boton
				break;
	}
}


$$(document).ready(function() {


    DisplayLlegadaSalida($$('select[name=tipo_traslado]').val());

    var _Reser; var Idioma = fdic.lang(null); var objTrasf = $$('#clav_traslado');
    if ($$('#clav_traslado').val() != '') {
        _Reser = $$('.btn_reservar');
        $$('#buscar', _Reser).css({ 'display': 'none' });
        $$('#reservar', _Reser).css({ 'display': '' });
        $$('#Destino').val('');
    }
    objTrasf.change(function() {
        _Reser = $$('.btn_reservar');
        if ($$(this).val() == '') {
            $$('#buscar', _Reser).css({ 'display': '' });
            $$('#reservar', _Reser).css({ 'display': 'none' });
        } else {
            $$('#buscar', _Reser).css({ 'display': 'none' });
            $$('#reservar', _Reser).css({ 'display': '' });
        }
    });
    $$('#Destino').change(function() {
        _Reser = $$('.btn_reservar'); objTrasf = $$('#clav_traslado');
        $$('#buscar', _Reser).css({ 'display': '' });
        $$('#reservar', _Reser).css({ 'display': 'none' });
        objTrasf.val('');
    });
    $$('#num_adultos').change(function() {
        _Reser = $$('.btn_reservar'); objTrasf = $$('#clav_traslado');
        $$('#buscar', _Reser).css({ 'display': '' });
        $$('#reservar', _Reser).css({ 'display': 'none' });
        objTrasf.val('');
    });
    $$('#num_ninos').change(function() {
        _Reser = $$('.btn_reservar'); objTrasf = $$('#clav_traslado');
        $$('#buscar', _Reser).css({ 'display': '' });
        $$('#reservar', _Reser).css({ 'display': 'none' });
        objTrasf.val('');
    });


});	


