//carga un archivo php en una etiqueta html
function cargaArchivo(id, archivo, parametros)  
{  	
	//document.getElementById(id).innerHTML = 'Cargando..';
	//var url = 'http://'+location.host+'/vivecar/'+archivo;
	var url = archivo;

	var pars = 'parametros='+parametros;  

	var myAjax = new Ajax.Updater(id, url, { method: 'get', parameters: pars});  
} 

function vaciar_con(c) {
    
	if(c.value=="Para guardar la busqueda introduzca su email"){
		c.value="";
	}
}

//muestra el select con el pais de devolución que siempre será igual al del pais de recogida
function muestraPaisDevolucion()
{
	var selectDevolucion = document.getElementById('selectPaisDevolucion');
	var contenidoSelectDevolucion;
	
	muestraCamposDesactivados('pais_devolucion');	
}

//muestra el select de la ciudad de recogida
function muestraCiudadRecogida()
{
	var paisRecogida = document.getElementById('pais_recogida').value;
	var parametros = paisRecogida + ',' + 'Recogida';

	if(paisRecogida != "--")
	{
		cargaArchivo('selectCiudadRecogida', 'select-ciudad.php', parametros);
	}
	else
	{
		muestraCamposDesactivados('ciudad_recogida');
	}
}

//muestra el select con los lugares de recogida
function muestraLugarRecogida()
{
	var ciudadRecogida = document.getElementById('ciudad_recogida').value;
	var parametros = ciudadRecogida + ',' + 'Recogida';

	if(ciudadRecogida != "--")
	{
		cargaArchivo('selectLugarRecogida', 'select-lugar.php', parametros);
		
		if(document.getElementById('ciudad_devolucion').disabled == true)
		{
			muestraCiudadDevolucion(ciudadRecogida);
			muestraLugarDevolucion(ciudadRecogida);
		}
		
		muestraCamposDesactivados('fecha_recogida');
		
	}
	else
	{
		muestraCamposDesactivados('lugar_recogida');
	}
}

//activa la fecha y hora de recogida
function muestraFechaRecogida()
{
	var lugarRecogida = document.getElementById('lugar_recogida').value;
	
	if(lugarRecogida != "--")
	{
		document.getElementById('fecha_recogida').disabled = false;
		document.getElementById('hora_recogida').disabled = false;
		
		var lugarDevolucion = document.getElementById('lugar_devolucion').value;
		
		if(lugarDevolucion == "--")
		{
			muestraLugarDevolucion();
		}
	}
	else
	{
		muestraCamposDesactivados('fecha_recogida');
	}
}

//muestra el select de la ciudad de devolucion
function muestraCiudadDevolucion(ciudadRecogida)
{
	var paisRecogida = document.getElementById('pais_recogida').value;
	var parametros = paisRecogida + ',' + 'Devolucion' + ',' + ciudadRecogida;

	if(paisRecogida != "--")
	{
		cargaArchivo('selectCiudadDevolucion', 'select-ciudad.php', parametros);
	}
	else
	{
		muestraCamposDesactivados('ciudad_devolucion');
	}
}

//muestra el select con los lugares de devolucion
function muestraLugarDevolucion(ciudadDevolucion)
{	
	if(!ciudadDevolucion)
	{
		var ciudadDevolucion = document.getElementById('ciudad_devolucion').value;
	}
		
	var parametros = ciudadDevolucion + ',' + 'Devolucion';
	
	if(ciudadDevolucion != "--")
	{
		cargaArchivo('selectLugarDevolucion', 'select-lugar.php', parametros);
	}
	else
	{
		muestraCamposDesactivados('lugar_devolucion');
	}
}

//activa la fecha y hora de devolucion
function muestraFechaDevolucion()
{
	var lugarDevolucion = document.getElementById('lugar_devolucion').value;
	
	if(lugarDevolucion != "--")
	{
		document.getElementById('fecha_devolucion').disabled = false;
		document.getElementById('hora_devolucion').disabled = false;
	}
	else
	{
		muestraCamposDesactivados('fecha_devolucion');
	}
}

//muestra los campos que se le indiquen desactivado
function muestraCamposDesactivados()
{
	var selectCiudadRecogida;
	var selectLugarRecogida;
	var selectPaisDevolucion;
	var selectCiudadDevolucion;
	var selectLugarDevolucion;
	
	for(i=0; i<arguments.length; i++)
	{
		switch(arguments[i])
		{
			case "ciudad_recogida":			
				selectCiudadRecogida = '<select id="ciudad_recogida" name="ciudad_recogida" class="selectBuscador" disabled>';
				selectCiudadRecogida += '<option value="">Ciudad</option>';
				selectCiudadRecogida += '</select>';
			
				document.getElementById('selectCiudadRecogida').innerHTML = selectCiudadRecogida;
			
			case "lugar_recogida":			
				selectLugarRecogida = '<select id="lugar_recogida" name="lugar_recogida" class="selectBuscador2" disabled>';
				selectLugarRecogida += '<option value="">Lugar de recogida</option>';
				selectLugarRecogida += '</select>';
			
				document.getElementById('selectLugarRecogida').innerHTML = selectLugarRecogida;
			
			case "fecha_recogida":
				document.getElementById('fecha_recogida').disabled = true;
				document.getElementById('hora_recogida').disabled = true;
			break;
					
			case "pais_devolucion":				
				selectPaisDevolucion = '<select id="pais_devolucion" name="pais_devolucion" class="selectBuscador" disabled>';
				selectPaisDevolucion += '<option value="">' + document.getElementById('pais_recogida').value + '</option>';
				selectPaisDevolucion += '</select>';
				
				document.getElementById('selectPaisDevolucion').innerHTML = selectPaisDevolucion;
			
			case "ciudad_devolucion":			
				selectCiudadDevolucion = '<select id="ciudad_devolucion" name="ciudad_devolucion" class="selectBuscador" disabled>';
				selectCiudadDevolucion += '<option value="">Ciudad</option>';
				selectCiudadDevolucion += '</select>';
			
				document.getElementById('selectCiudadDevolucion').innerHTML = selectCiudadDevolucion;
			
			case "lugar_devolucion":			
				selectLugarDevolucion = '<select id="lugar_devolucion" name="lugar_devolucion" class="selectBuscador2" disabled>';
				selectLugarDevolucion += '<option value="">Lugar de devoluci&oacute;n</option>';
				selectLugarDevolucion += '</select>';
			
				document.getElementById('selectLugarDevolucion').innerHTML = selectLugarDevolucion;
			
			case "fecha_devolucion":
				document.getElementById('fecha_devolucion').disabled = true;
				document.getElementById('hora_devolucion').disabled = true;
			break;
		}
	}
}

//oculta los campos selects ya que ie6 los situa por encima de las capas
function ocultaSelects(opcion)
{
	switch(opcion)
	{
		case "calendar": //calendario recogida
			document.getElementById('hora_recogida').style.display = "none";
			document.getElementById('ciudad_devolucion').style.display = "none";
			
			for(i=0; i<numeroTipos; i++)
			{
				if(document.getElementById('tipos' + i))
				{
					document.getElementById('tipos'+i).style.display = "none";	
				}
			}
			
		break;
		
		case "calendar2": //calendario devolucion
			document.getElementById('hora_devolucion').style.display = "none";
			
			for(i=0; i<numeroTipos; i++)
			{
				if(document.getElementById('tipos' + i))
				{
					document.getElementById('tipos'+i).style.display = "none";	
				}
			}
			
		break;
	}
}

//muestra los campos selects ya que ie6 los situa por encima de las capas
function muestraSelects(opcion)
{
	switch(opcion)
	{
		case "calendar": //calendario recogida
			document.getElementById('hora_recogida').style.display = "";
			document.getElementById('ciudad_devolucion').style.display = "";
			
			for(i=0; i<numeroTipos; i++)
			{
				if(document.getElementById('tipos' + i))
				{
					document.getElementById('tipos'+i).style.display = "";	
				}
			}
			
		break;
		
		case "calendar2": //calendario devolucion
			document.getElementById('hora_devolucion').style.display = "";
			
			for(i=0; i<numeroTipos; i++)
			{
				if(document.getElementById('tipos' + i))
				{
					document.getElementById('tipos'+i).style.display = "";	
				}
			}
			
		break;
	}
}

//comprueba si están todos los datos y envia el formulario
function realizaBusqueda()
{
	var id_lugar1 = document.getElementById('lugar_recogida').value;
	var fecha1 = document.getElementById('fecha_recogida').value;
	var hora1 = document.getElementById('hora_recogida').value;
	var id_lugar2 = document.getElementById('lugar_devolucion').value;
	var fecha2 = document.getElementById('fecha_devolucion').value;
	var hora2 = document.getElementById('hora_devolucion').value;
	var codigo_promocion = document.getElementById('codigo_promocion').value;
	var vecesBusqueda = 0;
		
	//pasamos las fechas a formato de fecha para que el javascript pueda comparar cual es mayor
	var fecha1_data = fecha1.split("/");
	var fecha2_data = fecha2.split("/");
	
	var hora1_data = hora1.split(":");
	
	var fecha3FormatoDate = new Date(fecha1_data[2],fecha1_data[1]-1,fecha1_data[0],hora1_data[0],hora1_data[1],00) 
	var fecha_hoy = new Date();
	
	var fecha1FormatoDate = new Date(fecha1_data[2],fecha1_data[1],fecha1_data[0]);
	var fecha2FormatoDate = new Date(fecha2_data[2],fecha2_data[1],fecha2_data[0]);
	
	//comprobamos que todos los campos estén listos para enviar los datos
	if(id_lugar1 != "--" && fecha1 != "" && hora1 != "" && id_lugar2 != "--" && fecha2 != "" && hora2 != "")
	{
		document.getElementById('buscador3').style.display = "";
		
		var diferencia = fecha3FormatoDate.getTime() - fecha_hoy.getTime()  
	    var horas_diferencia = Math.floor(diferencia / (1000 * 60 * 60  ))
		
		if(horas_diferencia<24){
			alert("Para la reserva de un vehículo debe de realizarse con un mínimo de 24 horas de antelación. Si de todas formas desea realizarla, contáctenos por teléfono al (0034) 95 453 36 91");
			return false;
		}
		
		//comprobamos que la fecha de recogida no sea la misma que hoy
		/*
		if(fecha1 == fechaHoy)
		{
			alert("La fecha de recogida no puede ser igual a la del día actual.");
			return false;
		}*/
		
		//si las dos fechas son iguales no puede ser la hora ni igual ni menor solo superior
		if(fecha1 == fecha2  && (hora1 > hora2 || hora1 == hora2))
		{
			alert("No puede seleccionar esa hora ya que se encuentra en el mismo día tanto la recogida como la devolución del vehículo.");
			return false;
		}
		
		if(fecha1FormatoDate!="Thu Mar 03 2011 00:00:00 GMT+0100 (CET)" && fecha1FormatoDate!="Wed Mar 02 2011 00:00:00 GMT+0100 (CET)"){//Provisional, ya que existe un fallo con el 31 de enero
			//comprobamos que la fecha 1 sea menor que la fecha2
			if(fecha2FormatoDate < fecha1FormatoDate)
			{
				alert("La fecha de la devolución del vehículo no puede ser inferior a la de recogida.");
				return false;	
			}
		}
				
		//creamos un array para pasarlo por parametro para realizar la busqueda
		var datosBusqueda = Array(id_lugar1,fecha1,hora1,id_lugar2,fecha2,hora2,codigo_promocion,vecesBusqueda);
		
		//numeroTipos += 8;
				
		for(i=0; i<numeroTipos; i++)
		{
			//var name = parseInt(i) - 8;
			
			//alert(name);
			
			if(document.getElementById("tipos" + i))
			{
				
				if(document.getElementById("tipos" + i).checked == true)
				{					
					datosBusqueda[datosBusqueda.length] = document.getElementById("tipos" + i).value;		
					//alert(datosBusqueda.length);
				}
			
			}
		}
				
		//alert("Enviamos datos");
		
		realizandoBusqueda();		
		cargaArchivo("centroPagina","busqueda.php",datosBusqueda);
	}
		
}

function realizandoBusqueda()
{
		document.getElementById('centroPagina').innerHTML = '<div class="mensajeBusqueda"><table><tr><td><img src="imagenes/loader.gif" /></td><td>Estamos realizando la b&uacute;squeda, espere por favor... </tr></table></div>';
}

function enviaReserva(pagoTarjeta)
{
	var camposObligatorios = new Array("nombre","apellidos","telefono","email","confirma_email","pais", "diaNacimiento", "mesNacimiento", "anoNacimiento");
	
	for(i=0; i<camposObligatorios.length; i++)
	{
		if(document.getElementById(camposObligatorios[i]).value == "")
		{
			alert("Debe rellenar todos los campos marcados con un asterisco.");
			return false;
		}
	}
	
	//if(!edad())
	//{
		//return false;
	//}
	
	if(document.getElementById(camposObligatorios[3]).value != document.getElementById(camposObligatorios[4]).value)
	{
		alert("La confirmación de correo electrónico no es correcta, rellene los datos correctamente.");
		return false;
	}
		
	if(document.getElementById('acepto').checked == false)
	{
		alert("Por favor lea y acepte los términos de uso.");
		return false;
	}
	
	document.getElementById('pagoTarjeta').value = pagoTarjeta;
	
	document.getElementById('f_reserva').submit();
}

//funcion confirma contraseña
function enviacliente()
{
	var camposObligatorios = new Array("nombre", "apellidos", "telefono", "email", "confirma_email", "pais", "usuario_nuevo", "contrasena_nuevo", "confir_nuevo", "dia", "mes", "anio");
	
	for(i=0; i<camposObligatorios.length; i++)
	{
		if(document.getElementById(camposObligatorios[i]).value == "")
		{
			alert("Debe rellenar todos los campos marcados con un asterisco.");
			return false;
		}
	}
	
	//if(!edad())
	//{
		//return false;
	//}
	
	if(document.getElementById(camposObligatorios[3]).value != document.getElementById(camposObligatorios[4]).value)
	{
		alert("La confirmación de correo electrónico no es correcta, rellene los datos correctamente.");
		return false;
	}
	if(document.getElementById(camposObligatorios[7]).value != document.getElementById(camposObligatorios[8]).value)
	{
		alert("La confirmación de contraseña no es correcta, rellene los datos correctamente.");
		return false;
	}
		
	if(document.getElementById('acepto').checked == false)
	{
		alert("Por favor lea y acepte los términos de uso.");
		return false;
	}
	
	document.getElementById('f_reserva').submit();
}
//fin funcion confirma contraseña

function cambiaPrecioReserva(){
	
	var cantidadSillas = parseInt(document.getElementById('sillas_ninio').value);
	var precioSillas = parseFloat(document.getElementById('precio_sillas_ninio').value);
	
	var cantidadBacas = parseInt(document.getElementById('baca').value);
	var precioBacas = parseFloat(document.getElementById('precio_baca').value);
	
	var cantidadElevadores = parseInt(document.getElementById('elevadores').value);
	var precioElevadores = parseFloat(document.getElementById('precio_elevadores').value);
	
	var diasAlquiler = parseInt(document.getElementById('dias').value);
		
	var precio = parseFloat(document.getElementById('precioInicial').value);
	var precioTarjeta = parseFloat(document.getElementById('precioInicialTarjeta').value);
	
	precioIncrementar = parseFloat((precioSillas * cantidadSillas * diasAlquiler) + ( cantidadBacas * precioBacas * diasAlquiler ) + ( cantidadElevadores * precioElevadores * diasAlquiler ));
	
	precio += precioIncrementar;
	
	document.getElementById('muestraPrecio').innerHTML = precio;
	
	//si hay descuento sustituimos los precios
	if(document.getElementById('muestraPrecioDescuento'))
	{
		precio = parseFloat(document.getElementById('precioInicialDescuento').value) + precioIncrementar;
		
		precio = Math.round(precio*100)/100;
		
		document.getElementById('muestraPrecioDescuento').innerHTML = precio;

	}
	
	if(document.getElementById('muestraPrecioTarjeta'))
	{
		precioTarjeta += precioIncrementar;
		document.getElementById('muestraPrecioTarjeta').innerHTML = precioTarjeta;
		
		precioTarjeta = parseFloat(document.getElementById('precioInicialTarjetaDescuento').value) + precioIncrementar;
		
		precioTarjeta = Math.round(precioTarjeta*100)/100;
		
		if(document.getElementById('muestraPrecioTarjetaDescuento'))
			{
			document.getElementById('muestraPrecioTarjetaDescuento').innerHTML = precioTarjeta;
			}
		
		document.f_reserva.precioTarjeta.value = precioTarjeta;
	}
	
	precio = Math.round(precio*100)/100;
	document.f_reserva.precio.value = precio;
	
}

function edad(){
	var edadMinima = parseInt(document.getElementById('edadMinima').value);
	var dia = parseInt(document.getElementById('diaNacimiento').value);
	var mes = parseInt(document.getElementById('mesNacimiento').value);
	var ano = parseInt(document.getElementById('anoNacimiento').value);
	var anoActual = parseInt(document.getElementById('anoActual').value);
	
	if(dia>0 && mes>0 && ano>0){
		var edadCliente = anoActual - ano ;
		
		if(edadCliente<edadMinima){
			alert("Lo sentimos pero para poder alquilar este vehiculo debe de tener una edad minima de "+edadMinima+" años");
			return false;
		}else{
			return true;	
		}
	}else{
		return false;	
	}
	
}

function mirarOfertaDias(diaInicio, mesInicio, anoInicio, diaFin, mesFin, anoFin, diasOferta){
	var error=0;
	var dia = parseInt(document.getElementById('fecha_recogida0').value);
	var mes = parseInt(document.getElementById('fecha_recogida1').value);
	var ano = parseInt(document.getElementById('fecha_recogida2').value);
	
	var dia2 = parseInt(document.getElementById('fecha_devolucion0').value);
	var mes2 = parseInt(document.getElementById('fecha_devolucion1').value);
	var ano2 = parseInt(document.getElementById('fecha_devolucion2').value);

	/*var diaHoy = hoy.getDate();
	var mesHoy = hoy.getMonth();
	var anoHoy = hoy.getYear();*/
	
	/*Restar la fecha actual con la fecha de inicio para saber si han pasado mas de 1 dia*/
	var hoy = new Date();
	var fechaRecogida = new Date(ano, mes-1, dia);
	var diferenciaHoy = fechaRecogida.getTime() - hoy.getTime();
	var diasElegidosHoy = diferenciaHoy / (1000 * 60 * 60 * 24);
	if (diasElegidosHoy <= 1){
		error=5;
	}
	
	/*Restar fechas elegidas para saber numero de dias y compararlos con los de la oferta*/
	if (diasOferta > 0){
		var fechaRecogida = new Date(ano, mes-1, dia);
		var fechaEntrega = new Date(ano2, mes2-1, dia2);
		//Resta fechas y redondea
		var diferencia = fechaEntrega.getTime() - fechaRecogida.getTime();
		var diasElegidos = Math.floor(diferencia / (1000 * 60 * 60 * 24));
		if (diasElegidos < diasOferta){
			error=4;
		}
	}
	
	/*Fecha recogida dentro de rango*/
	if(ano<=anoFin && ano>=anoInicio){
		if(mes<=mesFin && mes>=mesInicio){
			if (mes==mesInicio && dia<diaInicio){
				error=1;
			}else if(mes==mesFin && dia>diaFin){
				error=1;
			}
		}else{
			error=1;
		}
	}else{
		error=1;
	}
	
	/*Fecha devolucion dentro de rango*/
	if(ano2<=anoFin && ano2>=anoInicio){
		if(mes2<=mesFin && mes2>=mesInicio){
			if (mes2==mesInicio && dia2<diaInicio){
				error=3;
			}else if(mes2==mesFin && dia2>diaFin){
				error=3;
			}
		}else{
			error=3;
		}
	}else{
		error=3;
	}
	
	if(ano2>=ano){
		if(mes2>=mes){
			if(mes2==mes){
				if(dia2<dia){
					error=2;
				}
			}
		}else{
			error=2	
		}
	}else{
		error=2;	
	}
	
	if(error==0){
		document.f_fecha.submit();
	}else if(error==1){
		alert("La fecha de recogida del vehiculo debe de estar entre los días indicados de la oferta.");
		return false;
	}else if(error==2){
		alert("La fecha de devolución del vehiculo tiene que ser posterior a la de recogida.");
		return false;
	}else if(error==3){
		alert("La fecha de devolución del vehiculo debe de estar entre los días indicados de la oferta.");
		return false;
	}else if(error==4){
		alert("Esta oferta solo está indicada para el alquiler de " + diasOferta + " o más días. Consulte el buscador para elegir otra opción.");
		return false;
	}else if(error==5){
		alert("No es posible realizar una reserva con menos de 24 horas de antelación.");
		return false;
	}
}

function camposObligatorios(camposOb)
{
	/*var camposOb = new Array(campos);*/
	
	for(i=0; i<camposOb.length; i++)
	{
		if(document.getElementById(camposOb[i]).value == "")
		{
			alert("Debe rellenar todos los campos marcados con un asterisco.");
			return false;
		}
	}
	return true;
}

function envia_lista(){
	if(document.getElementById('acepto').checked == false){
		alert("Por favor lea y acepte los términos de uso.");
		return false;
	}
	if (camposObligatorios(new Array('name','email')) === true){
		return true;
	}else{
		return false;
	}
}

function envia_comentario(){
	if(document.getElementById('acepto').checked == false){
		alert("Por favor lea y acepte la ley de privacidad.");
		return false;
	}
	if (camposObligatorios(new Array('nombre','email','comentarios','captcha')) === true){
		return true;
	}else{
		return false;
	}
}

function envia_afiliate(){
	if(document.getElementById('acepto').checked == false){
		alert("Por favor lea y acepte la ley de privacidad.");
		return false;
	}
	if (camposObligatorios(new Array('nombre','empresa','telefono','email')) === true){
		return true;
	}else{
		return false;
	}
}

function revisaHora(){
	var hr = document.getElementById('hora_recogida_oferta').selectedIndex;
	var hd = document.getElementById('hora_devolucion_oferta').selectedIndex;
	if (hr < 0 || hd < 0){
		alert(decodeURIComponent(escape('La oficina se encuentra cerrada algún día del rango seleccionado. Por favor elija otro rango de dias.')));
		return false;
	}else{
		document.getElementById('f_hora').submit();
	}
}
