/*Esta función lanza un POPUP con las condiciones de Residencia
  si es necesario.
*/
//Precarga de Ficheros de Utilidades Base
include('/js/utiles/formularios.js');
include('/js/utiles/validacion.js');
include('/js/utiles/fechas.js');
include('/js/utiles/errores.js');
include('/js/reservas/calendar.js');

function ValidarFormulario(objForm){
	//Se encarga de rellenar el vector de errores si los hubiera
	CondicionesValidacion(objForm);
	//Si hay errores los mostramos
	var ok = MuestraErrores(); 
	return ok;
}

function CondicionesValidacion(objForm){
	BorrarErrores();
	var origen = objForm.elements['origen'].value;
	var destino = objForm.elements['destino'].value;
	var fechaIda = objForm.elements['fechaIda'].value;
	var fechaVuelta = objForm.elements['fechaVuelta'].value;

	//**********************
	//COMPROBACIONES
	//**********************
		//El origen no puede estar vacío
		if (origen==''){
			AnadirError('OrigenVacio', 'textoOrigen');
		}
		//El destino no puede estar vacío
		if (destino==''){
			AnadirError('DestinoVacio', 'textoDestino');
		}
		//El origen y el destino deben ser distintos
		if (origen!='' && origen==destino){
			AnadirError('AeropuertosIguales', 'textoOrigen textoDestino');
		}
		//El fecha de salida no puede estar vacía
		if (fechaIda==''){
			AnadirError('SalidaVacio', 'textoSalida');
		}else{
			var hoy = creaFecha('HOY');
			var fSalida= creaFecha(fechaIda);
			if (fSalida<hoy) AnadirError('SalidaPasada', 'textoSalida');
		}
		//Si el viaje es de Ida y Vuelta, la fecha de Vuelta no puede estar vacía
		if (fechaVuelta!=''){
			var fSalida= creaFecha(fechaIda);
			var fLlegada= creaFecha(fechaVuelta);
			if (fLlegada<fSalida) AnadirError('LlegadaPasada', 'textoLlegada');
		}
	return (Errores.length==0);
}


//Muestra solo los vuelos de un determinado tipo
function Listado_MostrarVuelos(IdaVuelta, tipo, directo){
	var objeto=ListaObjetos[IdaVuelta];
	var invertir = 0;
	var anteriorSombreado = false;
	var iniciar=true;
	if (objeto!=undefined){
		for (var i=0;i<objeto.length;i++){
			if (directo && !tieneClass(objeto[i], 'Directo')){
				//borramos los vuelos conexionados
				objeto[i].style.display="none";
				sombreado = tieneClass(objeto[i], "sombreadoInicial");
				if (sombreado!=anteriorSombreado || iniciar) invertir = 1-invertir;
				iniciar=false;
				anteriorSombreado=sombreado;
			}else if (tipo!="" && !tieneClass(objeto[i], tipo)){
				//borramos los vuelos de otras secciones horarias
				objeto[i].style.display="none";
				sombreado = tieneClass(objeto[i], "sombreadoInicial");
				if (sombreado!=anteriorSombreado || iniciar) invertir = 1-invertir;
				iniciar=false;
				anteriorSombreado=sombreado;
			}else{
				//reponemos el resto
				if (invertir){
					if (tieneClass(objeto[i], "sombreadoInicial")) quitarClass(objeto[i], "sombreado");
					else anadirClass(objeto[i], "sombreado");
				}
				objeto[i].style.display="";
				iniciar=true;
			}
		}
	}
}