﻿// JavaScript Document



function MM_validateForm() { //v4.0
  if (document.getElementById){
    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=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe escribir una dirección de correo correcta.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' debe contener 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+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es obligatorio.\n'; }
	} if (errors) alert('Aparecieron los siguientes errores:\n'+errors);
    document.MM_returnValue = (errors == '');
} }


function cleanForm(form1){
var inputs = document.form1.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
inputs[i].value = "";
}
}


function formato(cif) {
  
        var resul = false;
        // pasar a mayúsculas
        var temp = cif.toUpperCase(); 
        var a =0;
		
		 numero = cif.substr(0,cif.length-1);
		 let = cif.substr(cif.length-1,1);
	     numero = numero % 23;
		letra='TRWAGMYFPDXBNJZSQVHLCKET';
		letra=letra.substring(numero,numero+1);
      
      if (letra==let)
         {//alert('Dni correcto');
		  a=1;
		 }
         
		else if (!/^[A-Za-z0-9]{9}$/.test(temp) && a==0) // Son 9 dígitos? 
                 { cleanForm();
				 //alert ("Longitud incorrecta, un CIF valido consta de una letra y 8 dígitos");
				   alert ("Compruebe que el CIF/NIF sea correcto");
				 }
        else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)&& a==0) 
                // Es una letra de las admitidas ?
				{ cleanForm();
                  //alert("El primer dígito del CIF es incorrecto, debe contener una letra válida"); 
				  alert("Compruebe que el CIF/NIF sea correcto");
				  }
				
        else
                resul = true;
   
   return resul;
   
}

function ValidaCIF(cif) {
     
	   
        // Sumamos los A y B
        a = 0;
        b = 0;
        c=  0; //comprobar DNI
		var calculo = new Array(0,2,4,6,8,1,3,5,7,9);
        
		
        for(x=2;x<=6;x+=2)  {
                a = a + parseInt(cif.substr(x,1));  
                b = b + calculo[parseInt(cif.substr(x-1,1))];           
        }           
    b = b + calculo[parseInt(cif.substr(x-1,1))];
                
        // C como suma de a+b
        c=a+b;

        // El calculo de D
        d = (10 -(c%10));

        var codigos = new Array('J','A','B','C','D','E','F','G','H','I','J');
       
		x=parseInt(cif.substr(x,1));
		
		numero = cif.substr(0,cif.length-1);
		 let = cif.substr(cif.length-1,1);
	     numero = numero % 23;
		letra='TRWAGMYFPDXBNJZSQVHLCKET';
		letra=letra.substring(numero,numero+1);
      
      if (letra==let)
         {//alert('Dni correcto');
		  c=1;
		  
		 }
		
		else if (cif.length == 0 ) 
		 {/*alert('Campo vacio');*/}
			
		  else if ( d!=x )
		   { cleanForm();  
		     alert("El CIF/NIF introducido es incorrecto."); }
	
		
         	 
		
   	
}




