function submit_page(formulario)
 {
  hayError = false;
  if ( formulario.listas1.checked  
			|| formulario.listas2.checked   
			|| formulario.listas3.checked  
			|| formulario.listas4.checked  
			|| formulario.listas5.checked  
			|| formulario.listas6.checked  
			|| formulario.listas7.checked  
			|| formulario.listas8.checked  
			|| formulario.listas9.checked  
			|| formulario.listas10.checked  
			|| formulario.listas11.checked  
			|| formulario.listas12.checked  
			|| formulario.listas13.checked 
			|| formulario.listas14.checked 
			|| formulario.listas15.checked 
			|| formulario.listas16.checked)
			{ hayError = false; }
	else { 
			alert ("Selecciona tus intereses");
			hayError=true; 
	}   
	
	if(hayError == false && esBlanco(formulario.email)) {
		alert("El campo direcci\363n de e-mail no puede quedar en blanco.");
		formulario.email.focus();
		hayError = true;
	}
	
   if (hayError==false && (formulario.pais.value=='')) { 
		alert("Debe seleccionar un pais");
		formulario.pais.focus();
		hayError = true;
  }
  if (hayError==false)
   {
     if (CompruebaCp(formulario)== true)
      {
        formulario.cp.focus();
        hayError=true;
      }
     else
        hayError=false;
   }
  var validaEmail= esEmailValido(formulario.email.value);
  if(hayError == false && validaEmail!=0 ) {
    if (validaEmail==1) {
        alert("No es una direcci\363n de email valida.");
        formulario.email.focus();
        hayError = true;
    } 
    if (validaEmail==2) {
         alert("Email incorrecto. El campo email no puede contener espacios.");
         formulario.email.focus();    
         hayError = true;
      }   
  }
  if(hayError == false && esMenorLongitud(formulario.email, 60) == false) {
      alert("La direcci\363n de e-mail es demasiado largo.");
      formulario.email.focus();
      hayError = true;
  }
  if (hayError==false && (formulario.usern.value == '' ))  {
     	alert ("Introduce tu nombre de usuario ");
     	formulario.usern.focus();
        hayError=true ;
     }
  if (hayError==false && (formulario.pass.value == '' ))  {
     	alert ("Introduce tu password ");
     	formulario.pass.focus();
        hayError=true ;
     }    
  if (hayError==false && (formulario.pass.value != formulario.pass2.value )     )  {
     	alert ("El password y su comprobacion deben ser iguales ");
     	formulario.pass2.focus();
        hayError=true ;
     } 
  if(hayError == false && esBlanco(formulario.nombre)) {
		alert("Introduce tu Nombre");
		formulario.nombre.focus();
		hayError = true;
  }
  if(hayError == false && esBlanco(formulario.apellido)) {
		alert("Introduce tu Apellido");
		formulario.apellido.focus();
		hayError = true;
  } 
  if (hayError==false && (formulario.sexo.value == '' ))  {
     	alert ("selecciona tu sexo ");
        hayError=true ;
     }
   if ( hayError == false && formulario.fec_ncto.value == ''  ) {
        alert ("Tienes que seleccionar tu edad");
        formulario.fec_ncto.focus();
        hayError = true;
    }
  if ( hayError == false && formulario.ocupacion.value == ''  ) {
        alert ("Tienes que seleccionar tu ocupacion");
        formulario.ocupacion.focus();
        hayError = true;
    }
  if ( hayError == false && formulario.sector.value == ''  ) {
        alert ("Tienes que seleccionar tu Sector");
        formulario.sector.focus();
        hayError = true;
    }
  if(hayError == false) {
    formulario.submit();
   }
 }
 function esBlanco(campo) {
  if(campo.value == "")
   return true;
  else
   for (var i=0;i<campo.value.length;i++)
    if (campo.value.charAt(i)!=" ") return false;

  return true;
 }

//CHEQUEO DE LONGITUD
 function esMenorLongitud(campo, longitud) {
  valor = campo.value;

  if(valor.length > longitud) {
   return false;
  }
  return true;
 }
  //CHEQUEO DE EMAIL
  function esEmailValido(email) // Devuelve los valores:0(correcto),1(incorrecto),2(con espacios)
  {
    if (email.indexOf(" ")!=-1) // Comprobamos que email no contenga espacios,tampoco en los laterales
       return 2;
    if (email.indexOf("@")==-1) // Comprobamos que exista al menos un car\341cter @
    {
       return 1;
    }
    else
    {
      var posarroba=email.indexOf("@");
      var nombre=email.substring(0, posarroba);
      var dominio=email.substring(posarroba+1);

      // Comprobamos que nombre  tenga al menos un car\341cter
      if (nombre.length==0)
         return 1;

      // Comprobamos que nombre no sea un solo punto
      if (nombre==".")
         return 1;

      // Comprobamos que dominio tenga al menos un car\341cter
      if (dominio.length==0)
         return 1

      // Comprobamos que dominio tenga al menos existe un punto
      if (dominio.indexOf(".")==-1)
         return 1;

      // Comprobamos que la ni la primera ni la \372ltima posici\363n del dominio sea el punto
      len_dom=dominio.length - 1;
      if ((dominio.charAt(0)==".")
||(dominio.charAt(len_dom)=="."))
         return 1;

      // Comprobamos que tanto nombre como dominio s\363lo cotengan car\341cteres v\341lidos
      if (CharInCorrectos(nombre)) return 1;
      if (CharInCorrectos(dominio)) return 1;
    }
    return 0;
   }

   function CharInCorrectos(cadena)
   {
     validos="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.";

     // Comprobamos que cadena no tenga alg\372n car\341cter no contemplado
     // en el string validos y que no existan dos puntos contiguos
     for (i=0;i<cadena.length;i++)
     {
       if (validos.indexOf(cadena.charAt(i))==-1) return true;
       if (cadena.charAt(i)==".")
         if ((i!=cadena.length-1) && (cadena.charAt(i+1)=="."))
           return true;
     }
     return false; // No se ha encontrado ninguna irregularidad
   }
  function CompruebaCp(formulario)
  {
        var pais     = formulario.pais.value;
        var cp       = formulario.cp.value;
        var longitud = formulario.cp.value.length;
        if (cp=='' && pais=='ESP') 
          {
            alert("Debes introducir el c\363digo postal");
            hayError="true";
            return true;
          }
        if (longitud != 5 && pais=='ESP')
          {
             alert("El c\363digo postal no es correcto");
             hayError="true";
             return true;
          }
        if (longitud==5 && pais=='ESP')
          {
           var pos0=parseInt(cp.charAt(0));
           var pos1=parseInt(cp.charAt(1));
           if (  (( pos0==5)&& (pos1 > 2)) 
|| ( pos0 > 5 )    )
            {
               alert("El c\363digo postal no es correcto");
               hayError="true";
               return true;
            }
           validos="0123456789";   
           for (contador=0;contador<longitud;contador++)
            {
       		if (validos.indexOf(cp.charAt(contador))==-1) 
       		  {
               		alert("El c\363digo postal no puede contener letras ");
               		hayError="true";
               		return true;       		     
       		  }    		
            } 
 	     }
       hayError="false";
 	     return false;

   }   