// SCRIPT para verificar cpf e cnpj
function verificar(obj){
obj = $(obj);	
obj.blur(function(e){	
if(obj.attr('verificar') == "cpf")
  {
   dados = obj.val();
   dados = dados.replace('.', '');
   dados = dados.replace('.', '');
   dados = dados.replace('-', '');
   dados = dados.replace('_', '');
   if(dados == ''){ return;}
   if(verifica_cpf(dados) === false)
     {
	  obj.val('');	
	  alert(obj.attr('obs_txt'));	
	 }		
  }
if(obj.attr('verificar') == "cnpj")
  {
   dados = obj.val();
   dados = dados.replace('.', '');
   dados = dados.replace('.', '');
   dados = dados.replace('-', '');
   dados = dados.replace('_', '');
   dados = dados.replace('/', '');   
   if(dados == ''){ return;}
   if(verifica_cnpj(dados) === false)
     {
	  obj.val('');	
	  alert(obj.attr('obs_txt'));	
	 }		
  }  
});
}

function verifica_cpf(cpf) {
if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
return false;
add = 0;
for (i=0; i < 9; i ++)
add += parseInt(cpf.charAt(i)) * (10 - i);
rev = 11 - (add % 11);
if (rev == 10 || rev == 11)
rev = 0;
if (rev != parseInt(cpf.charAt(9)))
return false;
add = 0;
for (i = 0; i < 10; i ++)
add += parseInt(cpf.charAt(i)) * (11 - i);
rev = 11 - (add % 11);
if (rev == 10 || rev == 11)
rev = 0;
if (rev != parseInt(cpf.charAt(10)))
return false;
return true;
}
function verifica_cnpj(c)
      {
     var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais, cnpj = c.replace(/\D+/g, '');
     digitos_iguais = 1;
    if (cnpj.length != 14)
            {
             return false;
            }
     for (i = 0; i < cnpj.length - 1; i++)
           if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                 {
                 digitos_iguais = 0;
                 break;
                 }
     if (!digitos_iguais)
           {
           tamanho = cnpj.length - 2
           numeros = cnpj.substring(0,tamanho);
           digitos = cnpj.substring(tamanho);
           soma = 0;
           pos = tamanho - 7;
           for (i = tamanho; i >= 1; i--)
                 {
                 soma += numeros.charAt(tamanho - i) * pos--;
                 if (pos < 2)
                       pos = 9;
                 }
           resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
           if (resultado != digitos.charAt(0)) { return false; }
           tamanho = tamanho + 1;
           numeros = cnpj.substring(0,tamanho);
           soma = 0;
           pos = tamanho - 7;
           for (i = tamanho; i >= 1; i--)
                 {
                 soma += numeros.charAt(tamanho - i) * pos--;
                 if (pos < 2)
                       pos = 9;
                 }
           resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
           if (resultado != digitos.charAt(1)){
                 return false;
             }
           else
		     {
             return true;
             }
           }
     else{
           return false;
           }
     } 

function carrega_verificador(){
$('[verificar]').each(function(){
 try {
  verificar(this);
 } catch(err){ }
}); 		
}
carregar(["carrega_verificador();"]);
	
// FIM SCRIPT para verificar cpf e cnpj
