    function validarCIF(texto){     
	  // Copyright © McAnam.com  
	  // http://www.mcanam.com/articulos/JavaScript.php?id=16   
        var pares = 0;
        var impares = 0;
        var suma;
        var ultima;
        var unumero;
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
        var xxx;
        
        texto = texto.toUpperCase();
        
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);
         if (!regular.exec(texto)) return false;
             
         ultima = texto.substr(8,1);

         for (var cont = 1 ; cont < 7 ; cont ++){
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
             pares += parseInt(texto.substr(cont,1));
         }
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
         
         suma = (pares + impares).toString();
         unumero = parseInt(suma.substr(suma.length - 1, 1));
         unumero = (10 - unumero).toString();
         if(unumero == 10) unumero = 0;
         
         if ((ultima == unumero) || (ultima == uletra[unumero]))
             return true;
         else
             return false;

    } 

 	function validarNIF(dni) {
		dni = dni.toUpperCase();
		if (dni.charAt(0)== "X") return true;
		var esDNI = /^\d{8}\w$/.test(dni);
		var esCIF;
		if (!esDNI) {
   			return false;
	  	} else {
			var i = dni.length - 1;
			var letra = dni.charAt(i);
			var numero = parseInt(dni.substr(0, i))%23;
	  		var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
			if (letra != letras.charAt(numero)) {
				return false;
			}		
		}
   		return true;
 	}

	function validarNIFCIF(texto) {
		if(validarNIF(texto) || validarCIF(texto)) {
			return true;
		}
		alert("ˇNo es un NIF/CIF/NIE válido!");
		return false;
	}
        
        function validarMAIL(email) {
		var mail = new RegExp("^\\w+(\\.\\w+)*@\\w(\\w*\\.\\w+)+$", "i");
		var resultado = email.search(mail);
                
		if(resultado >= 0) 
			return true;
		else
			alert("Debe introducir un email válido");
		return false;
	}
