/*--------------------------------Definido, diseñado y creado por Rubén Martín Guerrero 15/06/2008------------------------------*/

var LVEN00100000026='La ciudad de origen es obligatoria.'; 
var LVEN00100000027='La ciudad de destino es obligatoria.'; 
var LVEN00100000028='La fecha de salida es incorrecta. -dd/mm/aaaa-'; 
var LVEN00100000029='La fecha de regreso es incorrecta. -dd/mm/aaaa-'; 
var LVEN00100000030='La fecha de salida debe ser anterior a la de regreso.'; 
var LVEN00100000031='La fecha de salida debe ser superior en 4 o mas días a la fecha actual.'; 
var LVEN00100000033='El número de bebes tiene que ser menor que el número de adultos.'; 
var LVEN00100000034='Debe de seleccionar al menos un pasajero.'; 
var LVEN00100000040='Ha sobrepasado el número máximo de pasajeros, el máximo es de 9.'; 
var LVEN00100000041='Usted ha elegido ida y vuelta en el mismo dia.\nEs obligatorio que seleccione la hora de ida y la de vuelta.';

var hoy = new Date();           
var day   = hoy.getDate(); 
var mes = hoy.getMonth(); 
var anio  = hoy.getYear(); 
var dia =hoy.getDate(); 
var i=0;                                                
var hoyCadena=dia.toString() + "/" + (mes+1).toString() + "/" + anio.toString(); 
var diaformateado; 
var mesformateado; 
var anoformateado; 
if (dia<10) 
	diaformateado="0" + dia.toString(); 
else 
	diaformateado= dia.toString(); 
                        
if (mes<10) 
	mesformateado="0" + (mes+1).toString(); 
else 
	mesformateado= (mes+1).toString(); 
                        
anioformateado= anio.toString(); 
                

//************************************************************************************* 
//Funcion que me dice si una fecha + un numero de dias (param Rango) es superior a otra 
function SuperaRangoFecha(Fecha1,Rango,Fecha2) 
{ 
	var aux,dia,mes,anio,fecha1,fechasuma,fecha2; 
                
	aux = Fecha1.split('/'); 
	dia = aux[0]; 
	mes = aux[1] - 1; 
	anio = aux[2]; 
                
	fecha1= new Date(anio,mes,dia); 
	dia = parseInt(dia,10) + Rango; 
	fechasuma=new Date(anio, mes,dia); 
                
	aux = Fecha2.split('/'); 
	dia = aux[0]; 
	mes = aux[1] - 1; 
	anio = aux[2]; 
	fecha2 = new Date(anio, mes,dia); 
                
	if (fechasuma>fecha2)           
		return true; 
	else 
		return false; 
}

function FormatearFecha(elemento)
{
	var re = /(\-+)|(\s+)/g; 
	var cadenaaux = elemento.value.replace(re,'/'); 
    if (cadenaaux.length==10){ 
    	elemento.value = cadenaaux;
	}
                
	if (cadenaaux.length==9)
	{
		var pepe = cadenaaux.split('/'); 
		if (cadenaaux.search("/")>0)
		{ 
        	if (pepe[0].length==1)
			{ 
				var dia = '0' + pepe[0]; 
				var mes = pepe[1]; 
			}
			else
			{ 
				var dia = pepe[0]; 
				var mes = '0' + pepe[1]; 
			} 
			var anno = pepe[2]; 
			if (anno!= null)
			{ 
				if (anno.length==4)
					elemento.value = dia + '/' + mes + '/' + anno; 
			} 
		} 
	} 
	if (cadenaaux.length==8)
	{ 
    	if (cadenaaux.search("/")>0)
		{ 
			if (cadenaaux.indexOf("/")>1) 
            { 
            	var dia =  cadenaaux.substring(0,2); 
				var mes =  cadenaaux.substring(3,5); 
				var anno = '20' + cadenaaux.substring(6,8); 
			} 
			else 
			{ 
				var dia = '0' + cadenaaux.substring(0,1); 
				var mes = '0' + cadenaaux.substring(2,3); 
				var anno = cadenaaux.substring(4,8); 
			} 
		}
		else
		{ 
        	var dia = cadenaaux.substring(0,2); 
			var mes = cadenaaux.substring(2,4); 
			var anno = cadenaaux.substring(4,8); 
		} 
		if (anno.length==4 && !isNaN(anno))
			elemento.value = dia + '/' + mes + '/' + anno; 
	} 
	if (cadenaaux.length==6)
	{ 
		if (cadenaaux.search("/")>0)
		{ 
			var dia = '0' + cadenaaux.substring(0,1); 
			var mes = '0' + cadenaaux.substring(2,3); 
			var anno = '20' + cadenaaux.substring(4,6); 
		} 
		else
		{ 
			var dia = cadenaaux.substring(0,2); 
			var mes = cadenaaux.substring(2,4); 
			var anno = '20' + cadenaaux.substring(4,6); 
		} 
		if (anno.length==4 && !isNaN(anno))
			elemento.value = dia + '/' + mes + '/' + anno; 
	} 

}               
                
function EsFecha(Elemento)
{ 
	var patron = /^\d\d\/\d\d\/\d\d\d\d$/; 
	FormatearFecha(Elemento); 
	var cadenaEncontrada = Elemento.value.match(patron); 
	if(cadenaEncontrada != null)
	{ 
		var tm = Array(); 
		tm[1] = 31; 
		tm[3] = 31; 
		tm[4] = 30; 
		tm[5] = 31; 
		tm[6] = 30; 
		tm[7] = 31; 
		tm[8] = 31; 
		tm[9] = 30; 
		tm[10] = 31; 
		tm[11] = 30; 
		tm[12] = 31; 
		var dia = parseInt(Elemento.value.substring(0,2),10); 
		var mes = parseInt(Elemento.value.substring(3,5),10); 
		var anno = parseInt(Elemento.value.substring(6,10),10); 
                        
		if(dia==0 || mes==0 || anno==0)
			return false;
		if(mes>12)
			return false;
		if(mes==2)
		{ 
			if (((anno % 4==0) && (anno % 100!=0)) || (anno % 400==0))
			{
				if (dia>29)	
					return false; 
			}
            else
			{ 
				if (dia>28)
					return false; 
			} 
		} 
		if(dia>tm[mes]){return false;} 
		if (anno < 1800){return false;} 
		return true 
	} 
	return false; 
}

//Función que valida el rango de dos fechas: 
//Valida que el parametro FDesde sea menor o igual que el parametro FHasta 
//      FDesde:Fecha inicial. 
//      FHasta:Fecha final. 
function EsRangoFechas(FDesde,FHasta)
{
	patron = /^\d\d\/\d\d\/\d\d\d\d-\d\d\/\d\d\/\d\d\d\d$/; 
	var cadena; 
	var AuxFDesde,AuxFHasta; 
	if (FDesde.value!=null)
		AuxFDesde = FDesde.value; 
	else
		AuxFDesde = FDesde; 

	if (FHasta.value!=null)
		AuxFHasta = FHasta.value; 
	else
		AuxFHasta = FHasta; 

	cadena = AuxFDesde + '-' + AuxFHasta; 

	cadenaEncontrada = cadena.match(patron); 
	if(cadenaEncontrada != null)
	{ 
		var dia1 = AuxFDesde.substring(0, 2); 
		var mes1 = AuxFDesde.substring(3, 5); 
		var anio1 = AuxFDesde.substring(6, 10); 
		var dia2 = AuxFHasta.substring(0, 2); 
		var mes2 = AuxFHasta.substring(3, 5); 
		var anio2 = AuxFHasta.substring(6, 10); 
		if (anio1>anio2)
			return false 
		if (anio1==anio2)
		{ 
			if (mes1>mes2)
				return false; 
			else
			{ 
				if (mes1==mes2)
				{ 
					if (dia1>dia2)
						return false; 
				} 
			} 
		} 
		return true; 
	} 
	return false; 
}               
        
function Validar() 
{ 
	if (!EsFecha(window.document.getElementById("fechaida"))) 
	{ 
		window.alert('La fecha de salida es incorrecta. -dd/mm/aaaa-'); 
		return false;
	}
	var tipovuelo = window.document.getElementById("rdtipovuelo0");
	if (tipovuelo.checked==true)
	{ 
		if (!EsFecha(window.document.getElementById("fechavuelta"))) 
		{ 
			window.alert('La fecha de regreso es incorrecta. -dd/mm/aaaa-'); 
			return false; 
		}
	}
	var fechaActual=diaformateado + "/" + mesformateado + "/" + anioformateado;     
                
	var diaActual = new Date ();
	var nosuperior;
	
	if (diaActual.getDay() > 0 && diaActual.getDay() < 5)
	{
		nosuperior = SuperaRangoFecha(fechaActual,2,window.document.getElementById("fechaida").value)				
		if (nosuperior) 
		{
			alert('La fecha de salida debe ser superior en 2 o mas días a la fecha actual.\nPuedes hacer tu reserva de vuelo con un mínimo de 24 horas de antelación en el teléfono 902 30 40 20 de lunes a viernes de 9:30 a 20:00 horas y sábados de 9:30 a 14:00 y de 16:30 a 20:00 horas.'); 
			return false;
		}
		else
			return true;
	}
	else
	{
		nosuperior = SuperaRangoFecha(fechaActual,3,window.document.getElementById("fechaida").value)
		if (nosuperior) 
		{
			window.alert('La fecha de salida debe ser superior en 3 o mas días a la fecha actual.\nPuedes hacer tu reserva de vuelo con un mínimo de 24 horas de antelación en el teléfono 902 30 40 20 de lunes a viernes de 9:30 a 20:00 horas y sábados de 9:30 a 14:00 y de 16:30 a 20:00 horas.');
			return false;
		}
		else
			return true;
	}
	tipovuelo = window.document.getElementById("rdtipovuelo00");
	if (tipovuelo.checked==true)
	{ 
		if (!EsRangoFechas(window.document.getElementById("fechaida"),window.document.getElementById("fechavuelta"))) 
		{ 
			window.alert("La fecha de salida debe ser anterior a la de regreso."); 
			return false;           
		}
		if ( window.document.getElementById("fechaida").value==window.document.getElementById("fechavuelta").value )                  
		{
			if (window.document.getElementById("cbohorasalida").options[window.document.getElementById("cbohorasalida").selectedIndex].text=='Cualquiera' && window.document.getElementById("cbohoraregreso").options[window.document.getElementById("cbohoraregreso").selectedIndex].text=='Cualquiera' )
			{
				alert("Usted ha elegido ida y vuelta en el mismo dia.\nEs obligatorio que seleccione la hora de ida y la de vuelta.");
				return false; 
			}
		} 
	}
	return true;
}
function controlahora()//control de hora en caso de que las fechas de ida y vuelta sean iguales para obligar a seleccionar un horario
{ 
	var horasalida = document.BuscVuelo.cbohorasalida.selectedIndex; //valor elemento combo hsalida
	var horavuelta = document.BuscVuelo.cbohoraregreso.selectedIndex; //valor elemento combo hregreso
	var ida = document.BuscVuelo.fechaida.value;
	var regreso = document.BuscVuelo.fechavuelta.value;
	var valida="0";
    var diferencia=(horavuelta - horasalida);
	var tipo=document.BuscVuelo.rdtipovuelo[0].checked;

	if (ida == regreso && tipo == 1)
	{
		if (horasalida == 0 || horavuelta == 0 || diferencia < 1)
		{
			window.alert('Para vuelos de ida y vuelta en el mismo dia debes especificar hora de salida y regreso');
			document.BuscVuelo.cbohorasalida.selectedIndex = 0;
			document.BuscVuelo.cbohoraregreso.selectedIndex = 0;
			valida=0;
		}
		else
			valida=1;
	}
	else
		valida=1;
		
	return valida;
 }      


function fechaIdaChange(ida,vuelta,fmenorV)
{
	var diaIda = fecha_cal (ida.value);

	if (vuelta.value == "")
	{
		fmenorV.value = ida.value;
		vuelta.value = fmenorV.value;
	}
	else
	{
		var diaVuelta = fecha_cal (vuelta.value);
		fmenorV.value = fecha_text (diaIda);
		if (diaIda >= diaVuelta)
			vuelta.value = fmenorV.value;
	}
}

function fechaVueltaChange(ida,vuelta)
{
	if (ida.value == '')
		ida.value = vuelta.value
}

function actualizaValor(tipo,valor,desc){
if(tipo=="O"){
	//alert(valor);
	//alert(desc);
	window.document.getElementById('hidCodOrigen').value=valor;
	window.document.getElementById('origen').value=desc;
}else{
	window.document.getElementById('hidCodDestino').value=valor;
	window.document.getElementById('destino').value=desc;
}
}
