function valida_registro(f1)
{
	$bool_error = true;

    if(f1.op_autentificacion[0].checked==true)
    {
        if(vacio(f1.alta_nombre.value)) 
        {
            $bool_error = false;
	   		$('alta_nombre_error').style.display='block';
			$('alta_nombre').style.display='none';
        }
		else
		{
			$('alta_nombre_error').style.display='none';
			$('alta_nombre').style.display='block';
		}
	
        if(vacio(f1.alta_apellidos.value)) 
        {
            $bool_error = false;
	    	$('alta_apellidos_error').style.display='block';
			$('alta_apellidos').style.display='none';
        }
		else
		{
			$('alta_apellidos_error').style.display='none';
			$('alta_apellidos').style.display='block';
		}

        if( (document.f1.alta_email.value.indexOf('@') == -1) || (document.f1.alta_email.value.indexOf('.') == -1) )
        {
            $bool_error = false;
	    	$('alta_email_error').style.display='block';
			$('alta_email').style.display='none';
        }
		else
		{
			$('alta_email_error').style.display='none';
			$('alta_email').style.display='block';
		}
		
        if(vacio(f1.alta_direccion1.value)) 
        {
            $bool_error = false;
	    	$('alta_direccion1_error').style.display='block';
			$('alta_direccion1').style.display='none';
        }
		else
		{
			$('alta_direccion1_error').style.display='none';
			$('alta_direccion1').style.display='block';
		}

        if(vacio(f1.alta_ciudad.value)) 
        {
            $bool_error = false;
	    	$('alta_ciudad_error').style.display='block';
			$('alta_ciudad').style.display='none';
        }
		else
		{
			$('alta_ciudad_error').style.display='none';
			$('alta_ciudad').style.display='block';
		}

        if(vacio(f1.alta_provincia.value)) 
        {
            $bool_error = false;
	    	$('alta_provincia_error').style.display='block';
			$('alta_provincia').style.display='none';
        }
		else
		{
			$('alta_provincia_error').style.display='none';
			$('alta_provincia').style.display='block';
		}
			
		if((/^[0-9]{5,}$/).exec(document.f1.alta_codpostal.value)==null)
        {
            $bool_error = false;
	    	$('alta_codpostal_error').style.display='block';
			$('alta_codpostal').style.display='none';
        }
		else
		{
			$('alta_codpostal_error').style.display='none';
			$('alta_codpostal').style.display='block';
		}

        if(f1.alta_pais.value == "----------------------")
        {
            $bool_error = false;
	    	$('alta_pais_error').style.display='block';
			$('alta_pais').style.display='none';
        }
		else
		{
			$('alta_pais_error').style.display='none';
			$('alta_pais').style.display='block';
		}

		num=f1.alta_telefono.value.charAt(0);
		//nos aseguramnos de que el telefono comience por 6 8 o 9 //nos aseguramos de que el telf tenga 9 cifras
        if( (vacio(f1.alta_telefono.value)) || (num!='6' && num!='8' && num!='9') || (f1.alta_telefono.value.length<9) )
        {
            $bool_error = false;
	    	$('alta_telefono_error').style.display='block';
			$('alta_telefono').style.display='none';
        }
		else
		{
			$('alta_telefono_error').style.display='none';
			$('alta_telefono').style.display='block';
		}
		
		$error_nif = false;
        if(vacio(f1.alta_nif.value)) 
            $error_nif = true;
		else
		{
			//Comprobamos si el NIF/DNI/CIF es correcto (matematicamente)
			par = 0;
			non = 0;
			letras="ABCDEFGHKLMNPQS";
			let=f1.alta_nif.value.charAt(0);

			if (!isNaN(let)) //Evalua si se trata de un NIF o CIF
  			{
				nif=f1.alta_nif.value.substring(0,f1.alta_nif.value.length-1);
				let=f1.alta_nif.value.charAt(f1.alta_nif.value.length-1);
				
  				cadena="TRWAGMYFPDXBNJZSQVHLCKET";
  				posicion = nif % 23;
  				letra = cadena.substring(posicion,posicion+1);
  				if (letra!=let.toUpperCase())
   				{
					//Nif no válido
    				$error_nif = true;
   				}
  			}
			else //Debe de tratarde de un CIF
			{
				for (zz=2;zz<8;zz+=2)
  				{
  					par = par+parseInt(f1.alta_nif.value.charAt(zz));
  				}

				for (zz=1;zz<9;zz+=2)
  				{
  					nn = 2*parseInt(f1.alta_nif.value.charAt(zz));
  					if (nn > 9) nn = 1+(nn-10)
  						non = non+nn;
				}

				parcial = par + non;

				control = (10 - ( parcial % 10));
				if (control==10) 
					control=0;
					
				if (control!=f1.alta_nif.value.charAt(8))
  				{
  					//Cif no es válido
    				$error_nif = true;
  				}
			}
		}
		
		if($error_nif == true)
		{
			$bool_error = false;
			$('alta_nif_error').style.display='block';
			$('alta_nif').style.display='none';
		}
		else
		{
			$('alta_nif_error').style.display='none';
			$('alta_nif').style.display='block';
		}

        if( (vacio(f1.alta_password1.value)) || (f1.alta_password1.value.length<8) || (f1.alta_password1.value.length>12) || (document.f1.alta_password1.value!=document.f1.alta_password2.value) )
        {
            $bool_error = false;
	    	$('alta_password1_error').style.display='block';
			$('alta_password2_error').style.display='block';
			$('alta_password1').style.display='none';
			$('alta_password2').style.display='none';
        }
		else
		{
			$('alta_password1_error').style.display='none';
			$('alta_password2_error').style.display='none';
			$('alta_password1').style.display='block';
			$('alta_password2').style.display='block';
		}
    }
   else
    {		
	 	if( (document.f1.autentificacion_email.value.indexOf('@') == -1) || (document.f1.autentificacion_email.value.indexOf('.') == -1) )
        {
            $bool_error = false;
	    	$('autentificacion_email_error').style.display='block';
			$('autentificacion_email').style.display='none';
        }
		else
		{
			$('autentificacion_email_error').style.display='none';
			$('autentificacion_email').style.display='block';
		}
		
		if( (vacio(f1.autentificacion_password.value)) || (f1.autentificacion_password.value.length<8) || (f1.autentificacion_password.value.length>12) )
        {
            $bool_error = false;
	    	$('autentificacion_password_error').style.display='block';
			$('autentificacion_password').style.display='none';
        }
		else
		{
			$('autentificacion_password_error').style.display='none';
			$('autentificacion_password').style.display='block';
		}

    }

	if (f1.aceptar.checked == false)
    {
        $bool_error = false;
	 	$('aviso_aceptar_error').style.display='block';
		$('aviso_aceptar').style.display='none';
    }
	else
	{
		$('aviso_aceptar_error').style.display='none';
		$('aviso_aceptar').style.display='block';
	}

	if($bool_error == true)
		return(true); //los datos son correctos
	else
		return(false); 
		
}