function validar_reservas_0()
{
	
	     error_fecha =document.reservas_1.error_fecha.value;
		  error_noches = document.reservas_1.error_noches.value;
	      //validamos la fecha de entrada
			fecha_sel =  document.reservas_1.fecha_inicio.value;
         manana = document.reservas_1.manana.value;
			
         if   (fecha_sel==manana)	{
			    fecha_correct = true;
			}
			else	{
				bien =  !Comparar_Fecha(fecha_sel, manana);
				if (bien) {
					 fecha_correct=true;
				}
				else	{
					fecha_correct=false; 
					alert(error_fecha);
				}
			}
			
			//validamos el numero de noches
			noches = document.reservas_1.noches.value;
			if  (noches!='' && noches!=0)	{
			     noches_correct =true;	
			}
			else	{
				  noches_correct=false;
				  alert(error_noches);
			}
			
					
			if (fecha_correct && noches_correct)		{
				 document.reservas_1.submit();	
		   }

}

function validar_reservas_1()
{
	
	     error_fecha =document.reservas_1.error_fecha.value;
		  error_noches = document.reservas_1.error_noches.value;
		  error_tipo_alj =document.reservas_1.error_tipo_alj.value;;
	      //validamos la fecha de entrada
			fecha_sel =  document.reservas_1.fecha_inicio.value;
         manana = document.reservas_1.manana.value;
			
         if   (fecha_sel==manana)	{
			    fecha_correct = true;
			}
			else	{
				bien =  !Comparar_Fecha(fecha_sel, manana);
				if (bien) {
					 fecha_correct=true;
				}
				else	{
					fecha_correct=false; 
					alert(error_fecha);
				}
			}
			
			//validamos el numero de noches
			noches = document.reservas_1.noches.value;
			if  (noches!='' && noches!=0)	{
			     noches_correct =true;	
			}
			else	{
				  noches_correct=false;
				  alert(error_noches);
			}
			
			//validamos  tipo de laojamientos
			tipo_alj = document.reservas_1.id_alojamiento.value;
			if (tipo_alj!="0")	{
					tipo_alj_correct = true;
			}
			else {
			    tipo_alj_correct = false;
				 alert(error_tipo_alj)
			}
			
			if (fecha_correct && noches_correct && tipo_alj_correct)		{
				 document.reservas_1.submit();	
		   }

}

function validarEmail_res(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return (true)
	}
	else
	{
		//alert("La dirección: " + valor + " de email es incorrecta.");
		return (false);
	}
}

function validar_tarjeta(numero_tarjeta) {
		var cadena = numero_tarjeta.toString();
		var ccRE=/\W/gi;
	    cadena=cadena.replace(ccRE, "");
		cadena = cadena.replace(/[^0-9]/gi,"");
		document.reservas_3.tarjeta.value=cadena;
		var longitud = cadena.length;
		var cifra = null;
		var cifra_cad=null;
		var suma=0;
		if (longitud !=16 && longitud !=18)
		 return false;
		 
		for (var i=0; i < longitud; i+=2){
			cifra = parseInt(cadena.charAt(i))*2;
			if (cifra > 9){
				cifra_cad = cifra.toString();
				cifra = parseInt(cifra_cad.charAt(0)) +
				parseInt(cifra_cad.charAt(1));
			}
			suma+=cifra;
		}
		for (var i=1; i < longitud; i+=2){
			suma += parseInt(cadena.charAt(i));
		}
		
		if ((suma % 10) == 0){
			return true;
		} else {
            return false; 
		}
	}


function validar_reservas_3()
{
	
		  error_nombre = document.reservas_3.error_nombre.value;
		  error_apellidos = document.reservas_3.error_apellidos.value;
		  error_dni = document.reservas_3.error_dni.value;
  		  error_email = document.reservas_3.error_email.value;
		  error_acepta = document.reservas_3.error_acepta.value;
	
	     nombre = document.reservas_3.nombre.value;
		  apellidos = document.reservas_3.apellidos.value;
		  dni = document.reservas_3.dni.value;
		  email = document.reservas_3.email.value;
		  acepta = document.reservas_3.acepta.checked;
				  
		  if (nombre!=''){
			   nombre_correct = true;
		  }
		  else{
			  alert(error_nombre);
			  nombre_correct = false;
		  }
		  
		  if (apellidos!=''){
			   apellidos_correct = true;
		  }
		  else{
			  alert(error_apellidos);
			  apellidos_correct = false;
		  }
		  
		  if (dni!=''){
			   dni_correct = true;
		  }
		  else{
			  alert(error_dni);
			  dni_correct = false;
		  }
		  
		  if (validarEmail(email)){
			   email_correct = true;
		  }
		  else{
			  alert(error_email);
			  email_correct = false;
		  }
		  
		  if (acepta) {
			  acepta_correct=true;
		  }
		  else{
			  acepta_correct=false;
			  alert(error_acepta);
			  
			}
		  
		
			if (nombre_correct && apellidos_correct && dni_correct && email_correct && acepta_correct)	{
				 document.reservas_3.submit();	
		   }

}


function validar_reservas_3_https()
{
	
		  error_nombre = document.reservas_3.error_nombre.value;
		  error_apellidos = document.reservas_3.error_apellidos.value;
		  error_dni = document.reservas_3.error_dni.value;
  		  error_email = document.reservas_3.error_email.value;
		  error_acepta = document.reservas_3.error_acepta.value;
		  error_tarjeta = document.reservas_3.error_tarjeta.value;
		  error_caducidad = document.reservas_3.error_caducidad.value;
	
	      nombre = document.reservas_3.nombre.value;
		  apellidos = document.reservas_3.apellidos.value;
		  dni = document.reservas_3.dni.value;
		  email = document.reservas_3.email.value;
		  acepta = document.reservas_3.acepta.checked;
		  tarjeta = document.reservas_3.tarjeta.value;
		  mes_cad = document.reservas_3.mes_cad.value;	
		  mes_act = document.reservas_3.mes_act.value;	
		  ano_cad = document.reservas_3.ano_cad.value;
		  ano_act = document.reservas_3.ano_act.value;
		  cad_error="";
		  
		
				  
		  if (nombre!=''){
			   nombre_correct = true;
		  }
		  else{
			  //alert(error_nombre);
			  nombre_correct = false;
		      cad_error = cad_error + error_nombre + "\n";			  
		  }
		  
		  if (apellidos!=''){
			   apellidos_correct = true;
		  }
		  else{
			  //alert(error_apellidos);
			  cad_error = cad_error + error_apellidos + "\n";			  
			  apellidos_correct = false;
		  }
		  
		  if (dni!=''){
			   dni_correct = true;
		  }
		  else{
			  //alert(error_dni);
			  cad_error = cad_error + error_dni + "\n";			  
			  dni_correct = false;
		  }
		  
		  if (validarEmail_res(email)){
			   email_correct = true;
		  }
		  else{
			  //alert(error_email);
			  cad_error = cad_error + error_email + "\n";			  
			  email_correct = false;
		  }
		  
		  if ((!validar_tarjeta(tarjeta)) || (tarjeta=="")) 
		  {
			   //alert ("tarjeta incorrecta"); 
			   tarjeta_correct= false;  
			   cad_error = cad_error + error_tarjeta + "\n";
		  }
		  else
		  {
			 tarjeta_correct= true;  
		  }
		  
		  if (ano_cad==ano_act)
		  {
			 if   (mes_cad < mes_act)
			 {
			   caducidad_correct=false; 	 
   			   cad_error = cad_error + error_caducidad + "\n";
		     }
			 else
			 {
				 caducidad_correct=true; 	 
			 }
		  }
		  else
		  {
			  caducidad_correct=true;
		  }
		  
		  if (acepta) {
			  acepta_correct=true;
		  }
		  else{
			  acepta_correct=false;
			  //alert(error_acepta);
			  cad_error = cad_error + error_acepta + "\n";			  
			  
			}
		  
		
			if (nombre_correct && apellidos_correct && dni_correct && email_correct && acepta_correct && tarjeta_correct)	{
				 document.reservas_3.submit();	
		   }
		   else
		   {
			 alert (cad_error);   
			}

}


function rellena_adultos (seleccionar)
{
    
	//buscamos lo seleccionado en tipos de alojamiento
	id_aloj=document.reservas_1.id_alojamiento.value;
	
	//para facilitar sintaxis creamos aux que contendra el array correspondiente
	//a la zonas del marca seleccionado en el select marca
	aux = eval("a"+id_aloj);
	
   //reseteamos el select de n_adultos
	document.reservas_1.n_adultos.options[0]=null;
	document.reservas_1.n_adultos.length=0;

   //variable que llevara el conteo del index del select de n_adultos
	contador = 0;
	
	//añadimos los elementos que sacaremos del array
	if (aux[0]==0)
	{
	   nueva = new Option('---------------',0);
      document.reservas_1.n_adultos.options[0]=nueva;		
	}
	
	id_opcion_sel=99;
	for (i=0;i<aux[0];i=i+1)  
	{ 
	   contador++;
      nueva = new Option(i+1,i+1);
		valor_sel = i+1;
		
		
		if (valor_sel==seleccionar) {
		  id_opcion_sel = i;
		}
		
      document.reservas_1.n_adultos.options[i]=nueva;		
	}
	
	if (id_opcion_sel!=99) {
	  document.reservas_1.n_adultos.selectedIndex = id_opcion_sel ;
	}
	

}

function rellena_ninos (seleccionar)
{
    
	//buscamos lo seleccionado en tipos de alojamiento
	id_aloj=document.reservas_1.id_alojamiento.value;
	
	//para facilitar sintaxis creamos aux que contendra el array correspondiente
	//a la zonas del marca seleccionado en el select marca
	aux = eval("a"+id_aloj);
	
   //reseteamos el select de n_adultos
	document.reservas_1.n_ninos.options[0]=null;
	document.reservas_1.n_ninos.length=0;

   //variable que llevara el conteo del index del select de n_adultos
	contador = 0;
	
	total=aux[0];
	//añadimos el resto de los elementos que sacaremos del array
	if (aux[0]==0)
	{
	   nueva = new Option('---------------',0);
      document.reservas_1.n_ninos.options[0]=nueva;		
	}
	id_opcion_sel = 99;
	for (i=0;i<total;i=i+1)  
	{ 
	   contador++;
      nueva = new Option(i,i);
		valor_sel = i;
		
		
		if (valor_sel==seleccionar) {
		  id_opcion_sel = i;
		}
		
      document.reservas_1.n_ninos.options[i]=nueva;		
	}
	
		if (id_opcion_sel!=99) {
	  document.reservas_1.n_ninos.selectedIndex = id_opcion_sel ;
	}

}


function rellena_ninos_dep_adultos ()
{
    
	//buscamos lo seleccionado en tipos de alojamiento
	id_aloj=document.reservas_1.id_alojamiento.value;
	
	//para facilitar sintaxis creamos aux que contendra el array correspondiente
	//a la zonas del marca seleccionado en el select marca
	aux = eval("a"+id_aloj);
	
   //reseteamos el select de n_adultos
	document.reservas_1.n_ninos.options[0]=null;
	document.reservas_1.n_ninos.length=0;

   //variable que llevara el conteo del index del select de n_adultos
	contador = 0;
	n_adult_sel = document.reservas_1.n_adultos.value;
	total=aux[0]-n_adult_sel+1;
	//añadimos el resto de los elementos que sacaremos del array
	for (i=0;i<total;i=i+1)  
	{ 
	   contador++;
      nueva = new Option(i,i);
      document.reservas_1.n_ninos.options[i]=nueva;		
	}

}

function Comparar_Fecha(Obj1,Obj2)
{
		String1 = Obj1
		String2 = Obj2
		// Si los dias y los meses llegan con un valor menor que 10
		// Se concatena un 0 a cada valor dentro del string
		if (String1.substring(1,2)=="-") {
		String1="0"+String1
		}
		if (String1.substring(4,5)=="-"){
		String1=String1.substring(0,3)+"0"+String1.substring(3,9)
		}
		
		if (String2.substring(1,2)=="-") {
		String2="0"+String2
		}
		if (String2.substring(4,5)=="-"){
		String2=String2.substring(0,3)+"0"+String2.substring(3,9)
		}
		
		dia1=String1.substring(0,2);
		mes1=String1.substring(3,5);
		anyo1=String1.substring(6,10);
		dia2=String2.substring(0,2);
		mes2=String2.substring(3,5);
		anyo2=String2.substring(6,10);
		
		
		if (dia1 == "08") // parseInt("08") == 10 base octogonal
		dia1 = "8";
		if (dia1 == '09') // parseInt("09") == 11 base octogonal
		dia1 = "9";
		if (mes1 == "08") // parseInt("08") == 10 base octogonal
		mes1 = "8";
		if (mes1 == "09") // parseInt("09") == 11 base octogonal
		mes1 = "9";
		if (dia2 == "08") // parseInt("08") == 10 base octogonal
		dia2 = "8";
		if (dia2 == '09') // parseInt("09") == 11 base octogonal
		dia2 = "9";
		if (mes2 == "08") // parseInt("08") == 10 base octogonal
		mes2 = "8";
		if (mes2 == "09") // parseInt("09") == 11 base octogonal
		mes2 = "9";
		
		dia1=parseInt(dia1);
		dia2=parseInt(dia2);
		mes1=parseInt(mes1);
		mes2=parseInt(mes2);
		anyo1=parseInt(anyo1);
		anyo2=parseInt(anyo2);
		
		if (anyo1>anyo2)
		{
		return false;
		}
		
		if ((anyo1==anyo2) && (mes1>mes2))
		{
		return false;
		}
		if ((anyo1==anyo2) && (mes1==mes2) && (dia1>dia2))
		{
		return false;
		}
		
		return true;
}

function quitar_comidas()
{
   document.reservas_2.cena.checked=0;	
   document.reservas_2.desayuno.checked=0;	
   document.reservas_2.	comida.checked=0;	
}

function getRadioButtonSelectedValue(ctrl)
{
    for(i=0;i<ctrl.length;i++)
        if(ctrl[i].checked) return ctrl[i].value;
}

function seleccionar_radio(ctrl,valor)
{
    for(i=0;i<ctrl.length;i++)
        if(ctrl[i].value==valor)
		  {
			  ctrl[i].checked=1;
		  }
		  else
		  {
		     ctrl[i].checked=0;
		  }
}
function no_permitir_comidas()
{
	regimen_sel = getRadioButtonSelectedValue(document.reservas_2.regimen);
	if (regimen_sel !="solo_con")
	{
		
		   seleccionar_radio (document.reservas_2.regimen,"solo_con")
			//document.reservas_2.cena.checked=0;	
			//document.reservas_2.desayuno.checked=0;	
			//document.reservas_2.comida.checked=0;	
	}
	
}


//                                           BARRA DE RESERVAS                                    //
function rellena_ninos_b (primera)
{
    
	//obtenemos la capacidad máxima de todos los alojamientos
	capacidad=document.barra_reservas.cap_max.value;

   //reseteamos el select de n_ninos
	document.barra_reservas.n_ninos.options[0]=null;
	document.barra_reservas.n_ninos.length=0;


	
	n_adult_sel = document.barra_reservas.n_adultos.value;
	total= capacidad - n_adult_sel + 1;
	
	
   nueva = new Option(primera,0);
   document.barra_reservas.n_ninos.options[0]=nueva;		
	

   //variable que llevara el conteo del index del select de n_ninos
	contador = 0;
	//añadimos el resto de los elementos que sacaremos del array
	for (i=0;i<total;i=i+1)  
	{ 
	   contador++;
      nueva = new Option(i,i);
      document.barra_reservas.n_ninos.options[contador]=nueva;		
	}

}

function rellena_ninos_nuevo (primera)
{
    
	//obtenemos la capacidad máxima de todos los alojamientos
	capacidad=document.reservas_1.cap_max.value;

   //reseteamos el select de n_ninos
	document.reservas_1.n_ninos.options[0]=null;
	document.reservas_1.n_ninos.length=0;


	
	n_adult_sel = document.reservas_1.n_adultos.value;
	total= capacidad - n_adult_sel + 1;
	
	
   nueva = new Option(primera,0);
   document.reservas_1.n_ninos.options[0]=nueva;		
	

   //variable que llevara el conteo del index del select de n_ninos
	contador = 0;
	//añadimos el resto de los elementos que sacaremos del array
	for (i=0;i<total;i=i+1)  
	{ 
	   contador++;
      nueva = new Option(i,i);
      document.reservas_1.n_ninos.options[contador]=nueva;		
	}

}

function mostrar_info_alj (capa)
{
  if (document.getElementById(capa).style.display=="block")
  {
	   document.getElementById(capa).style.display="none";
  }
  else
  {
	  document.getElementById(capa).style.display="block";
  }
}
