function lanza_request(url, funcion) {
	estados = "";
    http_request = false;

    if (window.XMLHttpRequest) { 
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { 
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    http_request.onreadystatechange = eval(funcion);
    http_request.open('GET', url, true);
    http_request.send(null);

}

function activar_buscador(nombre){
	document.getElementById('buscador_rural').style.display='none';
	document.getElementById('buscador_hotel').style.display='none';
	document.getElementById('buscador_activo').style.display='none';
	document.getElementById('buscador_entradas').style.display='none';
	document.getElementById('buscador_coches').style.display='none';
	document.getElementById('buscador_traslados').style.display='none';
	
	switch(nombre){
		case 'rural': if(document.getElementById('caja_destinos_casa').innerHTML=="")
							lanza_request('/es/php/buscador_turistico_aux.php?buscador_mostrar=casas','recibir_destinos_buscador_casa');
					  document.getElementById('buscador_rural').style.display='inline';
					  var contenido='<div style="float:left; display:inline; margin-left:10px; width:30px; height:33px; background-image:url(\'/images/icono_casa_buscador.png\');"></div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:165px; margin-top:10px;" class="E-14-negro-bold">Casas rurales</div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:19px; height:21px; margin-top:5px; background-image:url(\'/images/flecha_morada.png\');"></div>';
					  document.getElementById('nombre_buscador').innerHTML=contenido;
				break;
		case 'hoteles': if(document.getElementById('caja_destinos_hotel').innerHTML=="")
							lanza_request('/es/php/buscador_turistico_aux.php?buscador_mostrar=hoteles','recibir_destinos_buscador_hotel');
					  document.getElementById('buscador_hotel').style.display='inline';
					  var contenido='<div style="float:left; display:inline; margin-left:10px; width:30px; height:33px; background-image:url(\'/images/icono_hotel_buscador.png\');"></div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:165px; margin-top:10px;" class="E-14-negro-bold">Hoteles en la Serrania</div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:19px; height:21px; margin-top:5px; background-image:url(\'/images/flecha_morada.png\');"></div>';
					  document.getElementById('nombre_buscador').innerHTML=contenido;
				break;
		case 'turismo_activo': if(document.getElementById('caja_destinos_activo').innerHTML=="")
							lanza_request('/es/php/buscador_turistico_aux.php?buscador_mostrar=activo','recibir_destinos_buscador_activo');
		  			  document.getElementById('buscador_activo').style.display='inline';
					  var contenido='<div style="float:left; display:inline; margin-left:10px; width:30px; height:33px; background-image:url(\'/images/icono_activo_buscador.png\');"></div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:165px; margin-top:10px;" class="E-14-negro-bold">Turismo Activo</div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:19px; height:21px; margin-top:5px; background-image:url(\'/images/flecha_morada.png\');"></div>';
					  document.getElementById('nombre_buscador').innerHTML=contenido;
				break;
		case 'entradas': if(document.getElementById('caja_destinos_entrada').innerHTML=="")
							lanza_request('/es/php/buscador_turistico_aux.php?buscador_mostrar=entradas','recibir_destinos_buscador_entrada');
		  			  document.getElementById('buscador_entradas').style.display='inline';
					  var contenido='<div style="float:left; display:inline; margin-left:10px; width:30px; height:33px; background-image:url(\'/images/icono_entrada_buscador.png\');"></div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:165px; margin-top:10px;" class="E-14-negro-bold">Entradas</div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:19px; height:21px; margin-top:5px; background-image:url(\'/images/flecha_morada.png\');"></div>';
					  document.getElementById('nombre_buscador').innerHTML=contenido;
				break;
		case 'coches': if(document.getElementById('caja_origenes_coche').innerHTML=="")
							lanza_request('/es/php/buscador_turistico_aux.php?buscador_mostrar=coches','recibir_destinos_buscador_coche');
		  			  document.getElementById('buscador_coches').style.display='inline';
					  var contenido='<div style="float:left; display:inline; margin-left:10px; width:30px; height:33px; background-image:url(\'/images/icono_coche_buscador.png\');"></div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:165px; margin-top:10px;" class="E-14-negro-bold">Coches Alquiler</div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:19px; height:21px; margin-top:5px; background-image:url(\'/images/flecha_morada.png\');"></div>';
					  document.getElementById('nombre_buscador').innerHTML=contenido;
				break;
		case 'traslados': if(document.getElementById('caja_origenes_traslado').innerHTML=="")
							lanza_request('/es/php/buscador_turistico_aux.php?buscador_mostrar=traslados','recibir_destinos_buscador_traslado');
		  			  document.getElementById('buscador_traslados').style.display='inline';
					  var contenido='<div style="float:left; display:inline; margin-left:10px; width:30px; height:33px; background-image:url(\'/images/icono_traslado_buscador.png\');"></div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:165px; margin-top:10px;" class="E-14-negro-bold">Traslados</div>';
					  contenido+='<div style="float:left; display:inline; margin-left:5px; width:19px; height:21px; margin-top:5px; background-image:url(\'/images/flecha_morada.png\');"></div>';
					  document.getElementById('nombre_buscador').innerHTML=contenido;
				break;
	}
	
}

function recibir_destinos_buscador_casa(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_buscador_casa(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_destinos_buscador_hotel(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_buscador_hotel(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_destinos_buscador_activo(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_buscador_activo(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_destinos_buscador_entrada(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_buscador_entrada(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_destinos_buscador_coche(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_buscador_coche(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_destinos_buscador_traslado(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_buscador_traslado(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_destinos_buscador_casa(xml){
	document.getElementById('caja_destinos_casa').innerHTML=xml;
	
}

function procesar_destinos_buscador_hotel(xml){
	document.getElementById('caja_destinos_hotel').innerHTML=xml;
	
}

function procesar_destinos_buscador_activo(xml){
	document.getElementById('caja_destinos_activo').innerHTML=xml;
	
}

function procesar_destinos_buscador_entrada(xml){
	document.getElementById('caja_destinos_entrada').innerHTML=xml;
	
}

function procesar_destinos_buscador_coche(xml){
	document.getElementById('caja_origenes_coche').innerHTML=xml;
	
}

function procesar_destinos_buscador_traslado(xml){
	document.getElementById('caja_origenes_traslado').innerHTML=xml;
	
}

function anadir_habitaciones(numero){
	for(var i=1; i<=5; i++){
		if(i<=numero){
			if(document.getElementById('habitacion_'+i).style.display=="none"){
				document.getElementById('habitacion_'+i).style.display='inline';
			}			
		}else{
			document.getElementById('h_adultos_'+i).value="1";
			document.getElementById('h_ninos_'+i).value="0";
			document.getElementById('h_age_child_'+i+'_1').value="";
			document.getElementById('h_age_child_'+i+'_2').value="";
			document.getElementById('h_age_child_'+i+'_3').value="";
			document.getElementById('h_age_child_'+i+'_4').value="";
			document.getElementById('edades_ninios_'+i).style.display='none';
			document.getElementById('habitacion_'+i).style.display='none';
		}
	}
}

function mostrar_edades(habitacion,numero){
	for(var i=1; i<=4; i++){
		if(i<=numero){
			if(document.getElementById('edades_ninios_'+habitacion+'_'+i).style.display=="none"){
				document.getElementById('edades_ninios_'+habitacion+'_'+i).style.display='inline';
				if(numero>0)
					document.getElementById('edades_ninios_'+habitacion).style.display='inline';
			}			
		}else{
			document.getElementById('h_age_child_'+habitacion+'_'+i).value="";
			document.getElementById('edades_ninios_'+habitacion+'_'+i).style.display='none';
			if(numero==0)
				document.getElementById('edades_ninios_'+habitacion).style.display='none';
		}
	}
}

function mostrar_edades_servicios(tipo,numero){
	for(var i=1;i<=12;i++){
		if(i<=numero){
			if(document.getElementById('edades_ninios_'+tipo+'_'+i).style.display=="none"){
				document.getElementById('edades_ninios_'+tipo+'_'+i).style.display='inline';
				if(numero>0)
					document.getElementById('edades_ninios_'+tipo).style.display='inline';
			}			
		}else{
			if(tipo=="activo")
				document.getElementById('a_age_child_'+i).value="";
			if(tipo=="entrada")
				document.getElementById('e_age_child_'+i).value="";
			document.getElementById('edades_ninios_'+tipo+'_'+i).style.display='none';
			if(numero==0)
				document.getElementById('edades_ninios_'+tipo).style.display='none';
		}
		
	}
	
}

function validar_busqueda_casa(formulario){
	var error="";
	if(formulario.c_destino.value==""){
		error="Seleccione un destino.\n";
	}
	if(!formulario.c_sin_fecha.checked){
		var fentrada=formulario.c_fentrada.value;
		var aux_fentrada = fentrada.split("/");
	    var dia_ent = parseInt(aux_fentrada[0],10);
	    var mes_ent = parseInt(aux_fentrada[1],10);
	    var anio_ent = parseInt(aux_fentrada[2],10);
	  
	  	var hoy = new Date();
	  	var diaHoy = hoy.getDate()+1;
		
	  	var mesHoy = hoy.getMonth()+1;
	  	var anioHoy = hoy.getFullYear();
	  	
	  	if(fentrada == ""){
			error += "Indique la fecha de entrada.\n";
		}else{
		   
		   if(mes_ent == mesHoy && anio_ent == anioHoy){
			   
			   if(dia_ent < diaHoy ){
				  
						  error+= "Fecha de entrada no v\u00E1lida \n";
			   } 
		   }
		}
	  	
	  	var fsalida=formulario.c_fsalida.value;
	  	var aux_fsalida = fsalida.split("/");
	    var dia_reg = parseInt(aux_fsalida[0],10);
	    var mes_reg = parseInt(aux_fsalida[1],10);
	    var anio_reg = parseInt(aux_fsalida[2],10);
		
		if(fsalida == ""){
		   error += "Indique la fecha de salida.\n";
		}else{
			if(mes_reg == mesHoy && anio_reg == anioHoy){
				 if(dia_reg < diaHoy || dia_reg == diaHoy){
				  error += "Fecha de salida no v\u00E1lida \n" ;
				 }  
			}
		}
		
		if(anio_ent > anio_reg){
			error += "Fechas no v\u00E1lidas.\n";
		}else{
		    if(anio_ent == anio_reg){
			  if(mes_ent > mes_reg){
				  error += "Fechas no v\u00E1lidas.\n";
			  }else{
			    if(mes_ent == mes_reg){
				  if(dia_ent > dia_reg){
					error += "Fechas no v\u00E1lidas.\n";  
				  }else{
					
				    if(dia_reg <= dia_ent || dia_reg < (dia_ent + 2)){
						error += "No se permiter reservas para menos de dos noches.\n"; 
					}
				  }
				}
			  }
			}
		}
	  	
	}
	
	if(error == ""){
	  formulario.submit();
	}else{
	  alert(error);
	}
}

function validar_busqueda_hotel(formulario){
	var error="";
	if(formulario.h_destino.value==""){
		error="Seleccione un destino.\n";
	}
	if(!formulario.h_sin_fecha.checked){
		var fentrada=formulario.h_fentrada.value;
		var aux_fentrada = fentrada.split("/");
	    var dia_ent = parseInt(aux_fentrada[0],10);
	    var mes_ent = parseInt(aux_fentrada[1],10);
	    var anio_ent = parseInt(aux_fentrada[2],10);
	  
	  	var hoy = new Date();
	  	var diaHoy = hoy.getDate()+1;
		
	  	var mesHoy = hoy.getMonth()+1;
	  	var anioHoy = hoy.getFullYear();
	  	
	  	if(fentrada == ""){
			error += "Indique la fecha de entrada.\n";
		}else{
		   
		   if(mes_ent == mesHoy && anio_ent == anioHoy){
			   
			   if(dia_ent < diaHoy ){
				  
						  error+= "Fecha de entrada no v\u00E1lida \n";
			   } 
		   }
		}
	  	
	  	var fsalida=formulario.h_fsalida.value;
	  	var aux_fsalida = fsalida.split("/");
	    var dia_reg = parseInt(aux_fsalida[0],10);
	    var mes_reg = parseInt(aux_fsalida[1],10);
	    var anio_reg = parseInt(aux_fsalida[2],10);
		
		if(fsalida == ""){
		   error += "Indique la fecha de salida.\n";
		}else{
			if(mes_reg == mesHoy && anio_reg == anioHoy){
				 if(dia_reg < diaHoy || dia_reg == diaHoy){
				  error += "Fecha de salida no v\u00E1lida \n" ;
				 }  
			}
		}
		
		if(anio_ent > anio_reg){
			error += "Fechas no v\u00E1lidas.\n";
		}else{
		    if(anio_ent == anio_reg){
			  if(mes_ent > mes_reg){
				  error += "Fechas no v\u00E1lidas.\n";
			  }else{
			    if(mes_ent == mes_reg){
				  if(dia_ent > dia_reg){
					error += "Fechas no v\u00E1lidas.\n";  
				  }else{
					
				    if(dia_reg <= dia_ent || dia_reg < (dia_ent + 2)){
						error += "No se permiter reservas para menos de dos noches.\n"; 
					}
				  }
				}
			  }
			}
		}
	  	
	}
	
	var num_hab=formulario.h_habitaciones.value;
	if(num_hab<1){
		error += "Especifique al menos una habitación.\n"; 
	}else{
		for(var i=1;i<=parseInt(num_hab);i++){
			if(document.getElementById('h_adultos_'+i).value=="0"){
				error += "El numero minimo de adultos por habitación es de 1.\n"; 
			}
			var menores=document.getElementById('h_ninos_'+i).value;
			if(parseInt(menores)>0){
				for(var j=1;j<=parseInt(menores);j++){
					var edad=document.getElementById('h_age_child_'+i+'_'+j).value;
					if(isNaN(parseInt(edad)) || !(edad.length > 0)){
						error += "Especifique la edad del niño "+j+" de la habitación "+i+".\n"; 
					}
				}
			}
		}
	}
	
	if(error == ""){
	  formulario.submit();
	}else{
	  alert(error);
	}
}

function buscar_disponibilidad_casa(formulario){
   	var error="";
	if(formulario.c_destino.value==""){
		error="Seleccione un destino.\n";
	}
	
		var fentrada=formulario.c_fentrada.value;
		var aux_fentrada = fentrada.split("/");
	    var dia_ent = parseInt(aux_fentrada[0],10);
	    var mes_ent = parseInt(aux_fentrada[1],10);
	    var anio_ent = parseInt(aux_fentrada[2],10);
	  
	  	var hoy = new Date();
	  	var diaHoy = hoy.getDate()+1;
		
	  	var mesHoy = hoy.getMonth()+1;
	  	var anioHoy = hoy.getFullYear();
	  	
	  	if(fentrada == ""){
			error += "Indique la fecha de entrada.\n";
		}else{
		   
		   if(mes_ent == mesHoy && anio_ent == anioHoy){
			   
			   if(dia_ent < diaHoy ){
				  
						  error+= "Fecha de entrada no v\u00E1lida \n";
			   } 
		   }
		}
	  	
	  	var fsalida=formulario.c_fsalida.value;
	  	var aux_fsalida = fsalida.split("/");
	    var dia_reg = parseInt(aux_fsalida[0],10);
	    var mes_reg = parseInt(aux_fsalida[1],10);
	    var anio_reg = parseInt(aux_fsalida[2],10);
		
		if(fsalida == ""){
		   error += "Indique la fecha de salida.\n";
		}else{
			if(mes_reg == mesHoy && anio_reg == anioHoy){
				 if(dia_reg < diaHoy || dia_reg == diaHoy){
				  error += "Fecha de salida no v\u00E1lida \n" ;
				 }  
			}
		}
		
		if(anio_ent > anio_reg){
			error += "Fechas no v\u00E1lidas.\n";
		}else{
		    if(anio_ent == anio_reg){
			  if(mes_ent > mes_reg){
				  error += "Fechas no v\u00E1lidas.\n";
			  }else{
			    if(mes_ent == mes_reg){
				  if(dia_ent > dia_reg){
					error += "Fechas no v\u00E1lidas.\n";  
				  }else{
					
				    if(dia_reg <= dia_ent || dia_reg < (dia_ent + 2)){
						error += "No se permiter reservas para menos de dos noches.\n"; 
					}
				  }
				}
			  }
			}
		}
	  	
	
	
	if(error == ""){
	    document.getElementById('capa_precios').innerHTML='<div style="margin:5px auto;width:41px; height:39px; background-image:url(\'/images/loading.gif\');"></div><div style="clear:both;"></div>';
		document.getElementById('capa_precios').style.display='inline';
		document.getElementById('capa_informacion').style.display='none';
		document.getElementById('habitaciones_resultado').innerHTML='<div style="margin:5px auto; width:300px;" class="E-13-gris_oscuro-bold">Estamos buscando los mejores precios.</div><div style="clear:both;"></div>';
		document.getElementById('habitaciones_resultado').style.display='inline';
		document.getElementById('boton_reservar').style.display='none';
	  
		  var parametros='&buscador_turistico='+formulario.buscador_turistico.value+'&c_destino='+formulario.c_destino.value+'&destino_casa='+formulario.destino_casa.value+'&c_fentrada='+formulario.c_fentrada.value+'&c_fsalida='+formulario.c_fsalida.value+'&personas='+formulario.personas.value;
		  var alb=Math.random();
		  lanza_request('http://www.malagarural.es/es/Casas-Rurales/xml/searchRuralAvail.php?PerPage=10&PageNumber=1&propia=si'+parametros+'&alb='+alb,'recibir_rural_avail_on');
	}else{
	  alert(error);
	}
   
}

function buscar_disponibilidad_hotel(formulario){
   	var error="";
	if(formulario.h_destino.value==""){
		error="Seleccione un destino.\n";
	}
	
		var fentrada=formulario.h_fentrada.value;
		var aux_fentrada = fentrada.split("/");
	    var dia_ent = parseInt(aux_fentrada[0],10);
	    var mes_ent = parseInt(aux_fentrada[1],10);
	    var anio_ent = parseInt(aux_fentrada[2],10);
	  
	  	var hoy = new Date();
	  	var diaHoy = hoy.getDate()+1;
		
	  	var mesHoy = hoy.getMonth()+1;
	  	var anioHoy = hoy.getFullYear();
	  	
	  	if(fentrada == ""){
			error += "Indique la fecha de entrada.\n";
		}else{
		   
		   if(mes_ent == mesHoy && anio_ent == anioHoy){
			   
			   if(dia_ent < diaHoy ){
				  
						  error+= "Fecha de entrada no v\u00E1lida \n";
			   } 
		   }
		}
	  	
	  	var fsalida=formulario.h_fsalida.value;
	  	var aux_fsalida = fsalida.split("/");
	    var dia_reg = parseInt(aux_fsalida[0],10);
	    var mes_reg = parseInt(aux_fsalida[1],10);
	    var anio_reg = parseInt(aux_fsalida[2],10);
		
		if(fsalida == ""){
		   error += "Indique la fecha de salida.\n";
		}else{
			if(mes_reg == mesHoy && anio_reg == anioHoy){
				 if(dia_reg < diaHoy || dia_reg == diaHoy){
				  error += "Fecha de salida no v\u00E1lida \n" ;
				 }  
			}
		}
		
		if(anio_ent > anio_reg){
			error += "Fechas no v\u00E1lidas.\n";
		}else{
		    if(anio_ent == anio_reg){
			  if(mes_ent > mes_reg){
				  error += "Fechas no v\u00E1lidas.\n";
			  }else{
			    if(mes_ent == mes_reg){
				  if(dia_ent > dia_reg){
					error += "Fechas no v\u00E1lidas.\n";  
				  }else{
					
				    if(dia_reg <= dia_ent || dia_reg < (dia_ent + 2)){
						error += "No se permiter reservas para menos de dos noches.\n"; 
					}
				  }
				}
			  }
			}
		}
	  	
	
	
	var num_hab=formulario.h_habitaciones.value;
	if(num_hab<1){
		error += "Especifique al menos una habitación.\n"; 
	}else{
		for(var i=1;i<=parseInt(num_hab);i++){
			if(document.getElementById('h_adultos_'+i).value=="0"){
				error += "El numero minimo de adultos por habitación es de 1.\n"; 
			}
			var menores=document.getElementById('h_ninos_'+i).value;
			if(parseInt(menores)>0){
				for(var j=1;j<=parseInt(menores);j++){
					var edad=document.getElementById('h_age_child_'+i+'_'+j).value;
					if(isNaN(parseInt(edad)) || !(edad.length > 0)){
						error += "Especifique la edad del niño "+j+" de la habitación "+i+".\n"; 
					}
				}
			}
		}
	}
	
	
	if(error == ""){
		document.getElementById('capa_precios').innerHTML='<div style="margin:5px auto;width:41px; height:39px; background-image:url(\'/images/loading.gif\');"></div><div style="clear:both;"></div>';
		document.getElementById('capa_precios').style.display='inline';
		document.getElementById('capa_informacion').style.display='none';
		document.getElementById('habitaciones_resultado').innerHTML='<div style="margin:5px auto; width:300px;" class="E-13-gris_oscuro-bold">Estamos buscando los mejores precios.</div><div style="clear:both;"></div>';
		document.getElementById('habitaciones_resultado').style.display='inline';
		document.getElementById('boton_reservar').style.display='none';
				
	  var parametros='&buscador_turistico='+formulario.buscador_turistico.value+'&h_destino='+formulario.h_destino.value+'&destino_hotel='+formulario.destino_hotel.value+'&h_fentrada='+formulario.h_fentrada.value+'&h_fsalida='+formulario.h_fsalida.value+'&h_habitaciones='+formulario.h_habitaciones.value+'&h_adultos_1='+formulario.h_adultos_1.value+'&h_adultos_2='+formulario.h_adultos_2.value+'&h_adultos_3='+formulario.h_adultos_3.value+'&h_adultos_4='+formulario.h_adultos_4.value+'&h_adultos_5='+formulario.h_adultos_5.value;
	  parametros+='&h_ninos_1='+formulario.h_ninos_1.value+'&h_ninos_2='+formulario.h_ninos_2.value+'&h_ninos_3='+formulario.h_ninos_3.value+'&h_ninos_4='+formulario.h_ninos_4.value+'&h_ninos_5='+formulario.h_ninos_5.value+'&h_age_child_1_1='+formulario.h_age_child_1_1.value+'&h_age_child_1_2='+formulario.h_age_child_1_2.value+'&h_age_child_1_3='+formulario.h_age_child_1_3.value+'&h_age_child_1_4='+formulario.h_age_child_1_4.value;
	  parametros+='&h_age_child_2_1='+formulario.h_age_child_2_1.value+'&h_age_child_2_2='+formulario.h_age_child_2_2.value+'&h_age_child_2_3='+formulario.h_age_child_2_3.value+'&h_age_child_2_4='+formulario.h_age_child_2_4.value+'&h_age_child_3_1='+formulario.h_age_child_3_2.value+'&h_age_child_3_2='+formulario.h_age_child_3_2.value+'&h_age_child_3_3='+formulario.h_age_child_3_3.value+'&h_age_child_3_4='+formulario.h_age_child_3_4.value;
	  parametros+='&h_age_child_4_1='+formulario.h_age_child_4_1.value+'&h_age_child_4_2='+formulario.h_age_child_4_2.value+'&h_age_child_4_3='+formulario.h_age_child_4_3.value+'&h_age_child_4_4='+formulario.h_age_child_4_4.value+'&h_age_child_5_1='+formulario.h_age_child_5_1.value+'&h_age_child_5_2='+formulario.h_age_child_5_2.value+'&h_age_child_5_3='+formulario.h_age_child_5_3.value+'&h_age_child_5_4='+formulario.h_age_child_5_4.value;
	  var alb=Math.random();
	  lanza_request('http://www.malagarural.es/es/Hoteles-en-la-Serrania/xml/searchHotelAvail.php?PerPage=10&PageNumber=1&propia=si'+parametros+'&alb='+alb,'recibir_hotel_avail_on');
	}else{
	  alert(error);
	}
	
}

function validar_busqueda_activo(formulario){
	var error = "";

	if(formulario.a_destino.value==""){
		error="Seleccione un destino.\n";
	}
	
	fentrada = formulario.a_fentrada.value;
	fsalida = formulario.a_fsalida.value;
	
	var aux_fentrada = fentrada.split("/");
    var dia_ent = aux_fentrada[0];
    var mes_ent = aux_fentrada[1];
    var anio_ent = aux_fentrada[2];
  
  	var hoy = new Date();
  	var diaHoy = hoy.getDate();
	
  	var mesHoy = hoy.getMonth()+1;
  	var anioHoy = hoy.getYear();
  
	if(fentrada == ""){
		error += "Indique la fecha desde la que desea realizar la busqueda.\n";
	}else{
	   
	   if(mes_ent == mesHoy && anio_ent == anioHoy){
		   
		   if(dia_ent < diaHoy ){
			  
					  error+= "Fecha desde no v\u00E1lida \n";
		   } 
	   }
	}
	
	var aux_fsalida = fsalida.split("/");
    var dia_reg = aux_fsalida[0];
    var mes_reg = aux_fsalida[1];
    var anio_reg = aux_fsalida[2];
	
	if(fsalida == ""){
	   error += "Indique la fecha hasta la que desea realizar.\n";
	}else{
		if(mes_reg == mesHoy && anio_reg == anioHoy){
			 if(dia_reg < diaHoy){
			  error += "Fecha hasta no v\u00E1lida \n" ;
			 }  
		}
	}
	
	if(anio_ent > anio_reg){
		error += "Fechas no v\u00E1lidas.\n";
	}else{
	    if(anio_ent == anio_reg){
		  if(mes_ent > mes_reg){
			  error += "Fechas no v\u00E1lidas.\n";
		  }else{
		    if(mes_ent == mes_reg){
			  if(dia_ent > dia_reg){
				error += "Fechas no v\u00E1lidas.\n";  
			  }
			}
		  }
		}
	}
	
	var menores=document.getElementById('a_ninos').value;
	if(parseInt(menores)>0){
		for(var j=1;j<=parseInt(menores);j++){
			var edad=document.getElementById('a_age_child_'+j).value;
			if(isNaN(parseInt(edad)) || !(edad.length > 0)){
				error += "Especifique la edad del niño "+j+".\n"; 
			}
		}
	}
	
		
	if(error == ""){
	  formulario.submit();
	}else{
	  alert(error);
	}
	
}

function validar_busqueda_entradas(formulario){
	var error = "";

	if(formulario.e_destino.value==""){
		error="Seleccione un destino.\n";
	}
	
	fentrada = formulario.e_fentrada.value;
	fsalida = formulario.e_fsalida.value;
	
	var aux_fentrada = fentrada.split("/");
    var dia_ent = aux_fentrada[0];
    var mes_ent = aux_fentrada[1];
    var anio_ent = aux_fentrada[2];
  
  	var hoy = new Date();
  	var diaHoy = hoy.getDate();
	
  	var mesHoy = hoy.getMonth()+1;
  	var anioHoy = hoy.getYear();
  
	if(fentrada == ""){
		error += "Indique la fecha desde la que desea realizar la busqueda.\n";
	}else{
	   
	   if(mes_ent == mesHoy && anio_ent == anioHoy){
		   
		   if(dia_ent < diaHoy ){
			  
					  error+= "Fecha desde no v\u00E1lida \n";
		   } 
	   }
	}
	
	var aux_fsalida = fsalida.split("/");
    var dia_reg = aux_fsalida[0];
    var mes_reg = aux_fsalida[1];
    var anio_reg = aux_fsalida[2];
	
	if(fsalida == ""){
	   error += "Indique la fecha hasta la que desea realizar.\n";
	}else{
		if(mes_reg == mesHoy && anio_reg == anioHoy){
			 if(dia_reg < diaHoy){
			  error += "Fecha hasta no v\u00E1lida \n" ;
			 }  
		}
	}
	
	if(anio_ent > anio_reg){
		error += "Fechas no v\u00E1lidas.\n";
	}else{
	    if(anio_ent == anio_reg){
		  if(mes_ent > mes_reg){
			  error += "Fechas no v\u00E1lidas.\n";
		  }else{
		    if(mes_ent == mes_reg){
			  if(dia_ent > dia_reg){
				error += "Fechas no v\u00E1lidas.\n";  
			  }
			}
		  }
		}
	}
	
	var menores=document.getElementById('e_ninos').value;
	if(parseInt(menores)>0){
		for(var j=1;j<=parseInt(menores);j++){
			var edad=document.getElementById('e_age_child_'+j).value;
			if(isNaN(parseInt(edad)) || !(edad.length > 0)){
				error += "Especifique la edad del niño "+j+".\n"; 
			}
		}
	}
	
		
	if(error == ""){
	  formulario.submit();
	}else{
	  alert(error);
	}
	
}

function validar_busqueda_coches(formulario){
	destino = formulario.r_origen.value;
	error = "";

	if(destino == "0"){
	  error += "Debe introducir una oficina de recogida.\n";  
	}
	
	destino = formulario.r_destino.value;
	if(destino == ""){
	  error += "Debe introducir una oficina de devolucion.\n";  
	}
	
	fentrada = formulario.r_fentrada.value;
	fsalida = formulario.r_fsalida.value;
	
	var aux_fentrada = fentrada.split(" ");
	var aux_fentrada = aux_fentrada[0].split("/");
    var dia_ent = aux_fentrada[0];
    var mes_ent = aux_fentrada[1];
    var anio_ent = aux_fentrada[2];
  
  	var hoy = new Date();
  	var diaHoy = hoy.getDate();
	
  	var mesHoy = hoy.getMonth()+1;
  	var anioHoy = hoy.getYear();
  
	if(fentrada == ""){
		error += "Indique la fecha desde la que desea realizar la busqueda.\n";
	}else{
	   
	   if(mes_ent == mesHoy && anio_ent == anioHoy){
		   
		   if(dia_ent < diaHoy ){
			  
					  error+= "Fecha desde no v\u00E1lida \n";
		   } 
	   }
	}
	
	var aux_fsalida = fsalida.split("0");
	var aux_fsalida = aux_fsalida[0].split("/");
    var dia_reg = aux_fsalida[0];
    var mes_reg = aux_fsalida[1];
    var anio_reg = aux_fsalida[2];
	
	if(fsalida == ""){
	   error += "Indique la fecha hasta la que desea realizar.\n";
	}else{
		if(mes_reg == mesHoy && anio_reg == anioHoy){
			 if(dia_reg < diaHoy){
			  error += "Fecha hasta no v\u00E1lida \n" ;
			 }  
		}
	}
	
	if(anio_ent > anio_reg){
		error += "Fechas no v\u00E1lidas.\n";
	}else{
	    if(anio_ent == anio_reg){
		  if(mes_ent > mes_reg){
			  error += "Fechas no v\u00E1lidas.\n";
		  }else{
		    if(mes_ent == mes_reg){
			  if(dia_ent > dia_reg){
				error += "Fechas no v\u00E1lidas.\n";  
			  }
			}
		  }
		}
	}
	destino = formulario.r_age.value;
	if(destino == "" && isNaN(parseInt(destino))){
	  error += "Debe introducir la edad del conductor.\n";  
	}
		
	if(error == ""){
	  formulario.submit();
	}else{
	  alert(error);
	}
}

function validar_busqueda_traslados(formulario){
	destino = formulario.t_origen.value;
	error = "";

	if(destino == "0"){
	  error += "Debe introducir un origen.\n";  
	}
	
	destino = formulario.t_destino.value;
	if(destino == ""){
	  error += "Debe introducir un destino.\n";  
	}
	
	fentrada = formulario.t_fentrada.value;
	fsalida = formulario.t_fsalida.value;
	
	var aux_fentrada = fentrada.split(" ");
	var aux_fentrada = aux_fentrada[0].split("/");
    var dia_ent = aux_fentrada[0];
    var mes_ent = aux_fentrada[1];
    var anio_ent = aux_fentrada[2];
  
  	var hoy = new Date();
  	var diaHoy = hoy.getDate();
	
  	var mesHoy = hoy.getMonth()+1;
  	var anioHoy = hoy.getYear();
  
	if(fentrada == ""){
		error += "Indique la fecha desde la que desea realizar la busqueda.\n";
	}else{
	   
	   if(mes_ent == mesHoy && anio_ent == anioHoy){
		   
		   if(dia_ent < diaHoy ){
			  
					  error+= "Fecha desde no v\u00E1lida \n";
		   } 
	   }
	}
	
	var aux_fsalida = fsalida.split("0");
	var aux_fsalida = aux_fsalida[0].split("/");
    var dia_reg = aux_fsalida[0];
    var mes_reg = aux_fsalida[1];
    var anio_reg = aux_fsalida[2];
	
	if(fsalida == ""){
	   error += "Indique la fecha hasta la que desea realizar.\n";
	}else{
		if(mes_reg == mesHoy && anio_reg == anioHoy){
			 if(dia_reg < diaHoy){
			  error += "Fecha hasta no v\u00E1lida \n" ;
			 }  
		}
	}
	
	if(anio_ent > anio_reg){
		error += "Fechas no v\u00E1lidas.\n";
	}else{
	    if(anio_ent == anio_reg){
		  if(mes_ent > mes_reg){
			  error += "Fechas no v\u00E1lidas.\n";
		  }else{
		    if(mes_ent == mes_reg){
			  if(dia_ent > dia_reg){
				error += "Fechas no v\u00E1lidas.\n";  
			  }
			}
		  }
		}
	}
	destino = formulario.t_pasajeros.value;
	if(destino == "" && isNaN(parseInt(destino))){
	  error += "Debe introducir el numero de pasajeros.\n";  
	}
		
	if(error == ""){
	  formulario.submit();
	}else{
	  alert(error);
	}
}

function activar_fechas(bloque, campo, total){
	for(var i=0; i<parseInt(total); i++){
		document.getElementById('operation_from_'+bloque+'_'+i).disabled='disabled';
	}
	document.getElementById('operation_from_'+bloque+'_'+campo).disabled='';
}

function cargar_destinos_coches(origen){
	alb = Math.random();
	lanza_request('/es/Servicios-Turisticos/xml/CarOfficeList.php?origen='+origen+"&alb="+alb,'recibir_destinos_coches');
}

function cargar_destinos_traslados(origen){
	alb = Math.random();
	lanza_request('/es/Servicios-Turisticos/xml/TransferZoneList.php?origen='+origen+"&alb="+alb,'recibir_destinos_traslados');
}

function recibir_destinos_coches(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_coches(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_destinos_traslados(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_destinos_traslados(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_destinos_coches(xml){
	document.getElementById('capa_destino_coches').innerHTML=xml;
}

function procesar_destinos_traslados(xml){
	document.getElementById('capa_destino_traslados').innerHTML=xml;
}

function marcar_casilla_hotel(numero,numRoom,numAdult,numChild,shrui,caracteristicaRoom,codigoRoom,tipoRoom,codigoBoard,tipoBoard,numero_hab,num_noches){
	document.getElementById('RoomCount'+numero).value=numRoom;
	document.getElementById('AdultCount'+numero).value=numAdult;
	document.getElementById('ChildCount'+numero).value=numChild;
	document.getElementById('SHRUI'+numero).value=shrui;
	document.getElementById('CharacteristicRoom'+numero).value=caracteristicaRoom;
	document.getElementById('CodeRoom'+numero).value=codigoRoom;
	document.getElementById('TypeRoom'+numero).value=tipoRoom;
	document.getElementById('CodeBoard'+numero).value=codigoBoard;
	document.getElementById('TypeBoard'+numero).value=tipoBoard;
	
	var precio=0;
	for(var i=0;i<5;i++){
		var radioboton=document.getElementsByName('hab_'+i);
		if(radioboton!=null){
			for (i=0; i<radioboton.length; i++){ 
				if (radioboton[i].checked){
					valor=radioboton[i].value;
					precio=precio+parseFloat(valor);
				} 
			}
		}
	}
	
    var precio_dia=precio/parseInt(num_noches);
    
	
    document.getElementById('capa_precio_total').innerHTML=precio+' €';
    document.getElementById('capa_precio_dia').innerHTML=precio_dia+' €';
}

function marcar_casilla_ticket(numero,datos){
	var formulario=document.getElementById('anadir_ticket_carrito'+numero);
	var datos_aux=datos.split('~');
	if(datos_aux[2]!="0")
		formulario.STRUI.value=datos_aux[2];
	else
		formulario.STRUI.value="";
	if(datos_aux[0]!="0")
		formulario.DateTo.value=datos_aux[0];
	else
		formulario.DateTo.value="";
	if(datos_aux[1]!="0")
		formulario.DateFrom.value=datos_aux[1];
	else
		formulario.DateFrom.value="";
	
	if(datos_aux[3]=="0")
		datos_aux[3]="--";
	document.getElementById('precio_ticket_'+numero).innerHTML=datos_aux[3]+' €';
}

function recibir_carrito(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_carrito(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_carrito(xml){
	//document.getElementById('carrito_general').innerHTML="";
	if(xml=="OK")
		document.location.href="/es/php/carrito.php";
	else{
		alert('Se ha producido un error al añadir el producto al carrito.\nMotivo:'+xml);
		if(xml.indexOf("carrito ha caducado")!= -1){
			lanza_request('/php/limpiartodo.php','recibir_limpiar_todos');
		}
	}
}

function vaciar_carrito(){
	var respuesta = confirm("Se va a vaciar el carrito completo. ¿Desea continuar?");
	 if(respuesta){
	lanza_request('/xml/purchaseFlush.php','recibir_vaciar_carrito');
	 }else{
		 SexyLightbox.close();
	 }
}

function recibir_vaciar_carrito(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_vaciar_carrito(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function recibir_limpiar_todos(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_limpiar_todos(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_vaciar_carrito(xml){
	if(xml=="OK"){
		lanza_request('/php/limpiartodo.php','recibir_limpiar_todos');
	}else{
		//alert('Se ha producido un error al añadir el producto al carrito.\nMotivo:'+xml);
		//if(xml.indexOf("ha caducado")!= -1){
			lanza_request('/php/limpiartodo.php','recibir_limpiar_todos');
		//}
	}
}

function procesar_limpiar_todos(xml){
	if(xml=="ok"){
		document.location.href="/es/php/carrito.php";
	}else
		alert('Se ha producido un error al vaciar el carrito.');
}

function recibir_eliminar_producto(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_eliminar_producto(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_eliminar_producto(xml){
	//document.getElementById('carrito_general').innerHTML="";
	if(xml=="OK")
		document.location.href="/es/php/carrito.php";
	else{
		alert('Se ha producido un error al eliminar el producto del carrito.\nMotivo:'+xml);
		if(xml.indexOf("carrito ha caducado")!= -1){
			lanza_request('/php/limpiartodo.php','recibir_limpiar_todos');
		}
	}
}


function isCreditCard( CC, tipo ) 
{            
	switch(tipo){
		case "VI": if(CC.substring(0,1)!="4")
						return (false);
					break;
		case "CA": if(CC.substring(0,1)!="5")
						return (false);
					break;
		case "AX": if(CC.substring(0,1)!="3")
						return (false);
					break;
	}
	
     if (CC.length > 19)
          return (false);

     sum = 0; mul = 1; l = CC.length;
     for (i = 0; i < l; i++) 
     {
          digit = CC.substring(l-i-1,l-i);
          tproduct = parseInt(digit ,10)*mul;
          if (tproduct >= 10)
               sum += (tproduct % 10) + 1;
          else
               sum += tproduct;
          if (mul == 1)
               mul++;
          else
               mul--;
     }
     if ((sum % 10) == 0)
          return (true);
     else
          return (false);
}

function es_numerico(cadena){
	var numeros = "0123456789";
	var todo_valido = true;
	
	for (i = 0; i < cadena.length; i++) 
	{
		ch = cadena.charAt(i);
		
		for (j = 0; j < numeros.length; j++){
		
			if (ch == numeros.charAt(j))
			 break;
			 
			if (j == (numeros.length - 1) ) {
				todo_valido = false;
			}
		}		
	}

	return todo_valido;
}

function no_espacios(cadena){

	var primerBlanco = /^ /
	var ultimoBlanco = / $/
	
	cadena = cadena.replace (primerBlanco,"");
	cadena = cadena.replace (ultimoBlanco,"");
	
	return (cadena);
}


function es_cadena(cadena){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú_ ";
	var checkStr = cadena;
	var allValid = true;
	for (i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		
		for (j = 0; j < checkOK.length; j++){
			
			if (ch == checkOK.charAt(j))
				break;
			
			//alert(j)
			if (j == (checkOK.length - 1)) {
				allValid = false;
			
			}
		}
	}
	return (allValid);

}

function validar_venta(formulario){
	nombre_contacto = formulario.nombre_contacto.value;
	apellidos_contacto = formulario.apellidos_contacto.value;
	nif_contacto = formulario.nif_contacto.value;
	direccion_contacto = formulario.dirpostal_contacto.value;
	codigopostal_contacto = formulario.codigopostal_contacto.value;
	poblacion_contacto = formulario.localidad_contacto.value;
	provincia_contacto = formulario.provincia_contacto.value;
	telefono_contacto = formulario.telefono_contacto.value;
	email_contacto = formulario.email_contacto.value;
	
	
	error = "";
	if(nombre_contacto == ""){
	   error  += "Introduzca el nombre de la persona de contacto para la reserva.\n";
	}
	if(apellidos_contacto == ""){
	   error  += "Introduzca los apellidos de la persona de contacto para la reserva.\n";
	}
	if(nif_contacto == ""){
	   error  += "Introduzca el nif de la persona de contacto para la reserva.\n";
	}
	if(direccion_contacto == ""){
	   error  += "Introduzca la direccion de la persona de contacto para la reserva.\n";
	}
	if(codigopostal_contacto == ""){
	   error  += "Introduzca el codigo postal de la persona de contacto para la reserva.\n";
	}
	if(poblacion_contacto == ""){
	   error  += "Introduzca la poblacion de la persona de contacto para la reserva.\n";
	}
	if(provincia_contacto == ""){
	   error  += "Introduzca la provincia de la persona de contacto para la reserva.\n";
	}	
	if(telefono_contacto == ""){
	   error  += "Introduzca el teléfono de la persona de contacto para la reserva.\n";
	}
	if(email_contacto == ""){
	   error  += "Introduzca el email de la persona de contacto para la reserva.\n";
	}else{
	   if(email_contacto.indexOf(".")==-1 || email_contacto.indexOf("@") == -1){
		   error += "Formato de e-mail no v\u00E1lido\n";
	   }
	}
	
	
	if(formulario.nombre_a1_1 != null && formulario.nombre_a1_1.value==""){
		error  += "Introduzca el nombre de la persona al cargo de la habitacion 1.\n";
	}
	if(formulario.apellidos_a1_1 != null && formulario.apellidos_a1_1.value==""){
		error  += "Introduzca los apellidos de la persona al cargo de la habitacion 1.\n";
	}
	if(formulario.nombre_a2_1 != null && formulario.nombre_a2_1.value==""){
		error  += "Introduzca el nombre de la persona al cargo de la habitacion 2.\n";
	}
	if(formulario.apellidos_a2_1 != null && formulario.apellidos_a2_1.value==""){
		error  += "Introduzca los apellidos de la persona al cargo de la habitacion 2.\n";
	}
	if(formulario.nombre_a3_1 != null && formulario.nombre_a3_1.value==""){
		error  += "Introduzca el nombre de la persona al cargo de la habitacion 3.\n";
	}
	if(formulario.apellidos_a3_1 != null && formulario.apellidos_a3_1.value==""){
		error  += "Introduzca los apellidos de la persona al cargo de la habitacion 3.\n";
	}
	if(formulario.nombre_a4_1 != null && formulario.nombre_a4_1.value==""){
		error  += "Introduzca el nombre de la persona al cargo de la habitacion 4.\n";
	}
	if(formulario.apellidos_a4_1 != null && formulario.apellidos_a4_1.value==""){
		error  += "Introduzca los apellidos de la persona al cargo de la habitacion 4.\n";
	}
	if(formulario.nombre_a5_1 != null && formulario.nombre_a5_1.value==""){
		error  += "Introduzca el nombre de la persona al cargo de la habitacion 5.\n";
	}
	if(formulario.apellidos_a5_1 != null && formulario.apellidos_a5_1.value==""){
		error  += "Introduzca los apellidos de la persona al cargo de la habitacion 5.\n";
	}
	
	for(var s=1;(document.getElementById('nombre_as'+s+'_1') != null && document.getElementById('apellidos_as'+s+'_1') != null);s++){
		if(document.getElementById('apellidos_as'+s+'_1') != null && document.getElementById('apellidos_as'+s+'_1').value==""){
			error  += "Introduzca el nombre de la persona al cargo del servicio turistico numero "+s+".\n";
		}
		if(document.getElementById('apellidos_as'+s+'_1') != null && document.getElementById('apellidos_as'+s+'_1').value==""){
			error  += "Introduzca los apellidos de la persona al cargo del servicio turistico numero "+s+".\n";
		}
	}
	var pago_seleccionado="";
	var metodo_pago=document.getElementsByName('formapago');
	for(var f=0;f<metodo_pago.length;f++){
		if(metodo_pago[f].checked)
			pago_seleccionado=metodo_pago[f].value;
	}
	if(pago_seleccionado=="CreditCard"){
		if(formulario.nombretag.value==""){
			 error += "Campo Nombre que figura en la tarjeta vacio.\n";
			}
			else{
			 
			 if(!es_cadena(formulario.nombretag.value)){
			  error += "El nombre que aparece en la tarjeta no es válido.\n";
			 }
			}
		
		
		if(formulario.numtotal.value==""){
		  error += "Debe introducir el n\u00FAmero de su tarjeta de cr\u00E9dito.\n";
		}else{
		  if( isCreditCard(formulario.numtotal.value, formulario.tipo_tarjeta.value) == false){
		    error += "Número de tarjeta no v\u00E1lido.\n";
		  }else{
			  if(!es_numerico(formulario.numtotal.value)){//vemos si es numérico 
					error += "Número de tarjeta no v\u00E1lido.\n";
			 }else{
				 if(formulario.numtotal.length<16){//vemos si tiene 16 digitos 
						error += "Número de tarjeta no v\u00E1lido.\n";
				 }
			 }
		  }
		}
		
		 
		 
		//VALIDO EL CODIGO DE SEGURIDAD CVV
		if(formulario.cvv.value==""){
		  error += "Debe indicar el código de seguridad de su tarjeta.\n";
		}
		var cod_cvv = formulario.cvv.value;
		if(cod_cvv.length < 3){
		 error +="El código de segurida debe tener al menos 3 dígitos\n";
		} 
		if(!es_numerico(cod_cvv)){//vemos si es numérico el cvv
				error += "Código de seguridad no válido.\n";
		 }
		
		//VALIDO LA FECHA DE CADUCIDAD
		if (formulario.mes.value=="vacio" || formulario.ano.value=="vacio"){
			error += "No ha detallado la caducidad de la tarjeta\n";
	
		}
				
	}

	if(formulario.name_operations_agency != null && formulario.name_operations_agency.value==""){
		error += "Indique el nombre de operador.";
	}
	
	if(error == ""){
		  
	  //alert('Pagina en mantenimiento.\nTanto la reservas que se realicen, como los precios obtenidos, no tienen validez ni vinculantes.\nDisculpe las molestias.\n');
	  formulario.submit();	
	}else{
	  alert(error);
	}
}

function recibir_reservar_carrito(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_reservar_carrito(http_request.responseText);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_reservar_carrito(xml){
	if(xml=="OK")
		document.location.href="/es/php/finalizado.php";
	else{
		alert('Se ha producido un error al reservar el carrito.\nMotivo:'+xml);
		if(xml.indexOf("Token no localizado")!= -1){
			lanza_request('/php/limpiartodo.php','recibir_limpiar_todos');
		}else{
			document.location.href="/es/php/carrito.php";
		}
	}
}

function imprimirpagina(){
	window.print();
	
	
}

function validar_codigo_descuento(codigo){
	alb = Math.random();
	lanza_request('/xml/comprobar_codigo_descuento.php?codigo_descuento='+codigo+'&alb='+alb,'recibir_codigo_descuento');
	
}

function recibir_codigo_descuento(){
    switch(http_request.readyState) {
    case 0: // Uninitialized
        break;
    case 1: // Loading
        break;
    case 2: // Loaded
        break;
    case 3: // Interactive
        break;
    case 4: // Done!
	     if (http_request.status == 200) { // Respuesta OK
	    //  alert(http_request.responseText);
	    	 procesar_codigo_descuento(http_request.responseXML);
	     }
		 else {
	       alert('Se ha producido el error xml_1: '+http_request.status);
	     }
		break;
    default:
        break;
    }
	estados += http_request.readyState;

}

function procesar_codigo_descuento(xml){
	
	var mensaje = xml.getElementsByTagName("state")[0].firstChild.data;
	if(mensaje=="OK"){
	
		document.getElementById('codigo_descuento_central').style.backgroundColor='#C3DF8A';
		document.getElementById('codigo_descuento_central').disabled="true";
		document.getElementById('validar_cod_discount').disabled="true";
		
		document.location.href="/es/php/carrito.php";
	}else{
		document.getElementById('codigo_descuento_central').style.backgroundColor='#F50000';
	}
}

