// 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
