
 
 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 EMAIL
  function esEmailValido(campo) // Devuelve los valores:0(correcto),1(incorrecto),2(con espacios)
  {

	email = campo.value;

    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ácter @
    {
       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ácter
      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ácter
      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 última posición 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ólo cotengan carácteres válidos
      if (CharInCorrectos(nombre)) return 1;
      if (CharInCorrectos(dominio)) return 1;
    }
    return 0;
   }


function CharInCorrectos(cadena)
   {
     validos="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.";

     // Comprobamos que cadena no tenga algún carácter 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
   }


//CHEQUEO DE LONGITUD
 function esMenorLongitud(campo, longitud) {
  valor = campo.value;

  if(valor.length > longitud) {
   return false;
  }
  return true;
 }



var errores = '';

 function checkVacio(campo,titulo){
	var formulario = document.getElementById('cajaLogin');
	statusImg = document.getElementById('status_'+campo);
	if (esBlanco(formulario[campo])){
		statusImg.src = '/images/formulario/val_error.gif';
		errores += '- El campo '+titulo+' no puede estar en blanco\n';
		//formulario[campo].focus();
		return false;
	}
	statusImg.src = '/images/formulario/val_ok.gif';
	return true;

 }

 function checkEmail(campo,titulo){
	var formulario = document.getElementById('cajaLogin');
	statusImg = document.getElementById('status_'+campo);
	if (esBlanco(formulario[campo])){
		errores += '- El campo '+titulo+' no puede estar en blanco\n';
		statusImg.src = '/images/formulario/val_error.gif';
		//formulario[campo].focus();
		return false;
	}
	if(esEmailValido(formulario[campo])==1){
		errores += '- El campo '+titulo+' no es una dirección de e-mail válida\n';
		statusImg.src = '/images/formulario/val_error.gif';
		//formulario[campo].focus();
		return false;
	}
	if(esEmailValido(formulario[campo])==2){
		errores += '- El campo '+titulo+' no puede contener espacios\n';
		statusImg.src = '/images/formulario/val_error.gif';
		//formulario[campo].focus();
		return false;
	}
	if(esMenorLongitud(formulario[campo], 60) == false){
		errores += '- El campo '+titulo+' es demasiado largo\n';
		statusImg.src = '/images/formulario/val_error.gif';
		//formulario[campo].focus();
		return false;
	}
	statusImg.src = '/images/formulario/val_ok.gif';
	return true;

	
 }

function checkRepite(campo,campoOrigen,titulo){

	var formulario = document.getElementById('cajaLogin');
	statusImg = document.getElementById('status_'+campo);

    if (esBlanco(formulario[campoOrigen])){
       statusImg.src = '/images/formulario/val_blank.gif';
       return false;
    }

	if (formulario[campo].value != formulario[campoOrigen].value){
		statusImg.src = '/images/formulario/val_error.gif';
		errores += '- Debes repetir el campo '+titulo+' EXACTAMENTE IGUAL que la primera vez\n';
		//formulario[campo].focus();
		return false;
	}
	statusImg.src = '/images/formulario/val_ok.gif';
	return true;


}


function checkIntereses(){
    statusImg = document.getElementById('status_intereses');

    if (
	 (document.getElementById("check90").checked == false) &&
	 (document.getElementById("check1").checked == false) &&
	 (document.getElementById("check41").checked == false) &&
	 (document.getElementById("check9").checked == false) &&
	 (document.getElementById("check13").checked == false) &&
	 (document.getElementById("check1133").checked == false) &&
	 (document.getElementById("check8").checked == false) &&
	 (document.getElementById("check7").checked == false) &&
	 (document.getElementById("check4").checked == false) &&
	 (document.getElementById("check11").checked == false)
	){
	    errores += '- Debes marcar alguna lista de interés.\n';
        statusImg.src = '/images/formulario/val_error.gif';
        return false;
    }
    // no saco la marca verde para que no avise al usuario de que está bien
    // en cuanto elige el primero
    statusImg.src = '/images/formulario/val_blank.gif';
	return true;

}



function compruebaCp(campo){

  var formulario = document.getElementById('cajaLogin');
  statusImg = document.getElementById('status_'+campo);

  var pais     = formulario['pais'].value
  var cp       = formulario[campo].value
  var longitud = formulario[campo].value.length;

  if (cp=='' && pais=='ESP'){
      errores += '- Debes introducir el código postal\n';
      statusImg.src = '/images/formulario/val_error.gif';
      return false;
  }
  if (longitud != 5 && pais=='ESP'){
       errores += '- El código postal no es correcto\n';
       statusImg.src = '/images/formulario/val_error.gif';
       return false;
  }
  if (longitud==5 && pais=='ESP'){
     var pos0=parseInt(cp.charAt(0));
     var pos1=parseInt(cp.charAt(1));
     if (  (( pos0==5)&& (pos1 > 2)) || ( pos0 > 5 )){
         errores += '- El código postal no es correcto\n';
         statusImg.src = '/images/formulario/val_error.gif';
         return false;
     }
     validos="0123456789";
     for (contador=0;contador<longitud;contador++){
 		if (validos.indexOf(cp.charAt(contador))==-1){
         		errores += '- El código postal no puede contener letras\n';
                statusImg.src = '/images/formulario/val_error.gif';
         		return false;
 		  }
      }
  }
    statusImg.src = '/images/formulario/val_ok.gif';
	return true;

 }

 
 function submit_page(formulario){
	errores = '';
	checkEmail('email','e-mail');
	checkRepite('confirm_email','email','e-mail');
	checkVacio('fec_ncto','fecha de nacimiento');
	checkVacio('pais','país');
    compruebaCp('cp');
	checkVacio('ocupacion','ocupación');
	checkVacio('sector','sector');
    checkIntereses();
	

	if (errores.length > 0){
		errores = 'Hay errores en la información que nos has dado:\n'+errores;
		alert(errores);
        return false;
	}

    return true;
 }
