function MM_findObj(n, d) { //v4.01
  var p,i,x;  
  if(!d) 
  	d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) 
  	x=d.all[n]; 
  for (i=0;!x&&i<d.forms.length;i++) 
  	x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
  	x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) 
  	x=d.getElementById(n); 
  return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
	  test=args[i+2]; 
	  val=MM_findObj(args[i]);
	    if (val) { 
	    	nm=val.name;
		    if ((val=val.value)!="") {
//		      if(nm=='nif'){
//						if(RevisaDNI(val)==false)
//						errors+='- NIF no válido.\n';
//			  }
			  if(nm=='fichero'){
					if(validarImagen(val)==false)
						errors+='- Foto cara no es una imagen válida.\n Los formatos de imagen deben ser .gif o.jpg.\n';
			  }
		      if (test.indexOf('isEmail')!=-1) { 
			  	p=val.indexOf('@');
		        if (p<1 || p==(val.length-1)) 
					errors+='- '+nm+' debe contener una dirección de e_mail válida\n';
		      }else if (test!='R') {
				  num = parseFloat(val);
				   if(nm=='movil'){
						if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(val)){ 
						}else{ 
								errors+='- '+nm+' debe ser un telefono válido.\n';
						}
				  }
				  else if(nm=='telefono'){
						if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(val)){ 
						}else{ 
							errors+='- '+nm+' debe ser un telefono válido.\n';
						}
				  }
				  else if(nm=='afiliacion_ss'){
						if(validarNASS(val)==false)
							errors+='- Afiliación SS no es válido.\n';
				  }else if(nm=='fichero2' || nm=='fichero3'){
					if(validarImagen(val)==false)
						errors+='- Foto completa no es una imagen válida.\n Los formatos de imagen deben ser .gif o.jpg.\n';
			  	}
				else if(nm=='Normas'){
					if(document.forms[0].Normas.checked==false)
						errors+='- Debe aceptar la política de privacidad.\n';
				}else if (isNaN(val)) 
					errors+='- '+nm+' debe ser un número.\n';
		      
			  	if (test.indexOf('inRange') != -1) {
					p=test.indexOf(':');
		          min=test.substring(8,p);
				  max=test.substring(p+1);
		          if (num<min || max<num) 
				  errors+='- '+nm+' debe ser un número entre '+min+' y '+max+'.\n';
		   		 } 
				} 
			} else if (test.charAt(0) == 'R') {
				if(nm=='agno')
					errors += '- Año nacimiento es obligatorio.\n';
				else if(nm=='fichero')
					errors += '- Foto cara es obligatorio.\n';
				else
					errors += '- '+nm+' es obligatorio.\n';
				} 
			}
		}

	  if (errors) alert('Han ocurrido los siguientes errores\n'+errors);
	  document.MM_returnValue = (errors == '');
}


/*
 * Función que valida el Número de Afiliación a la Seguridad Social
 * aabbbbbbbbcc (Puede tener longitud 11 ó 12)
 * numero válido =>461234567843
 */ 

function validarNASS(numero){
	if((numero.length == 12) || (numero.length == 11)){
		if(numero.length == 12){
			a = numero.substring(0,2);	
			b = numero.substring(2,10);	
			b2 = parseInt(quitarCerosIzquierda(b));
			c = numero.substring(10,12);	
			ab = numero.substring(0,10);		
		}else if(numero.length == 11){
			a = numero.substring(0,2);	
			b = numero.substring(2,9);	
			b2 = parseInt(quitarCerosIzquierda(b));	
			c = numero.substring(9,11);	
			ab = numero.substring(0,9);	
		}
		var d = 0;
		if(b < 10000000){
			d = b2 + (a * 10000000);
		}else{
			d = a+''+quitarCerosIzquierda(b);
		}
		c2 = d%97;
		if(c == c2) return true;
		else return false;
	}else return false;
}
function quitarCerosIzquierda(string){ 
	var str=""; 
	var i=-1; 
	while(string.charAt(++i)==0); 
	// en "i" esta el indice del primer caracter no igual a cero 
	str=string.substring(i,string.length); 
	
	return str; 
} 

function RevisaDNI(cadena) {		
/*		numero=cadena;

		if (cadena.length==9){ 
			numero=cadena.substr(0,8);
			letra=cadena.substr(8,1);			
		}
		else
		{	
			if (cadena.length==8) {
				numero=cadena.substr(0,7);
				letra=cadena.substr(7,1);				
			}			
		}
		
    var ok = "si";
    var temp;	
	
	if (cadena.length<8){		
		ok="no";		
		letra='';		
	}
											
	if ((numero > 999) && (numero <= 99999999)) {

					tmp = numero - 23 *((numero/23) - (numero/23)%1);
		
					if (tmp == 0) tmp2 = "T";
		
					if (tmp == 1) tmp2 = "R";
		
					if (tmp == 2) tmp2 = "W";
		
					if (tmp == 3) tmp2 = "A";
		
					if (tmp == 4) tmp2 = "G";
		
					if (tmp == 5) tmp2 = "M";
		
					if (tmp == 6) tmp2 = "Y";
		
					if (tmp == 7) tmp2 = "F";
		
					if (tmp == 8) tmp2 = "P";
		
					if (tmp == 9) tmp2 = "D";
		
					if (tmp == 10) tmp2 = "X";
		
					if (tmp == 11) tmp2 = "B";
		
					if (tmp == 12) tmp2 = "N";
		
					if (tmp == 13) tmp2 = "J";
		
					if (tmp == 14) tmp2 = "Z";
		
					if (tmp == 15) tmp2 = "S";
		
					if (tmp == 16) tmp2 = "Q";
		
					if (tmp == 17) tmp2 = "V";
		
					if (tmp == 18) tmp2 = "H";
		
					if (tmp == 19) tmp2 = "L";
		
					if (tmp == 20) tmp2 = "C";
		
					if (tmp == 21) tmp2 = "K";
		
					if (tmp == 22) tmp2 = "E";								 
	}		
	
	if (ok=='si'){			
		if (isNaN(numero) || (letra.toUpperCase()!=tmp2) ){			
			ok="no";   
			return false;
		}
	}
	
	if (ok=='no')
		return false;
*/
	var dni = cadena;
	letraNIE = dni.substr(0,1);
  // compruebo si es un NIE 
  if ((letraNIE=="X") || (letraNIE=="x"))
  	numero = dni.substr(1,dni.length-2);
  else
  	numero = dni.substr(0,dni.length-1);  
  let = dni.substr(dni.length-1,1);
  let = let.toUpperCase();
  numero = numero % 23;
  letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);
  if (letra!=let){
    alert('Dni erroneo');
   	return false; 
  }
  }

  function validarImagen(imagen){
	//comprobamo la extension
		var permitida=false;
		var archivo=imagen;
		var extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase(); 
		//
		var extensiones_permitidas = new Array(".gif",".jpg"); 
	
		
		for (var i = 0; i < extensiones_permitidas.length; i++) { 
	         if (extensiones_permitidas[i] == extension) { 
	         	 permitida = true;
				 break;
		     } 
	      } 
 		if (!permitida) {
			return false;
		}else{
			return true;
		}
}	



