documento = "cnpj";
function testa(valor){
	if (documento=='cnpj'){
		check_cnpj(valor) 
	}
	else(check_cpf(valor))
}

function check_cpf(numero){

  cpf = soh_numero(numero,'.');
  cpf = soh_numero(cpf,'-');
  tamanho = cpf.length;
  dig1 = 0 ;
  dig2 = 0 ;
  numero = 0 ;
  caracter = 0 ;

  if (cpf !=""){
    for(i=10;i>1;i--){
      dig1 = dig1 + i*parseInt(cpf.charAt(tamanho-i-1));
      dig2 = dig2 + (i+1)*parseInt(cpf.charAt(tamanho-i-1));
    } //for

    dig1 %= 11;
    dig1 = define_dig(dig1);

    dig2 = dig2 + 2*dig1;
    dig2 %= 11;
    dig2 = define_dig(dig2);

    veredicto('CPF',cpf,dig1,dig2,9,10);

  }//if 0
} //check_cpf()

//****************************************//
function check_cnpj(numero){

  cnpj = soh_numero(numero,'.');
  cnpj = soh_numero(cnpj,'/');
  cnpj = soh_numero(cnpj,'-');
  dig1 = 0 ;
  dig2 = 0 ;
  atual = 0 ;
  fator = 5 ;
  predigitos = 12 ;

  if (cnpj !=""){
    while (atual < predigitos){
      dig2 = dig2 + (fator + 1 )*parseInt(cnpj.charAt(atual));
      if (fator <= 1){fator = 9}
      dig1 = dig1 + fator*parseInt(cnpj.charAt(atual));
      atual++ ;
      fator-- ;
    }

    dig1 %= 11;
    dig1 = define_dig(dig1);

    dig2 = dig2 + 2*dig1;
    dig2 %= 11;
    dig2 = define_dig(dig2);

    veredicto('CNPJ',cnpj,dig1,dig2,12,13);

  }//if 0
}//check_cnpj()

//****************************************//
function soh_numero(numero,caracter){

  var cpf = numero;

  while(cpf.indexOf(caracter)>=0){
    cpf = cpf.substring(0,cpf.indexOf(caracter)) + cpf.substring(cpf.indexOf(caracter)+1,cpf.length)
  }
  return cpf
}

//****************************************//
function define_dig(digito){

  if (digito==0 || digito==1){
    digito = 0
  }else{
    digito = 11 - digito
  }// if 1
  return digito 
}

//****************************************//
function veredicto(tipo,objeto,dig1,dig2,pos1,pos2){

    if (dig1!=parseInt(objeto.charAt(pos1)) || dig2!=parseInt(objeto.charAt(pos2))){
      Alerta = alert(tipo + " inválido !!! \n Por favor digite novamente. ");
	  document.forms[0].cpfcnpj.focus();
	  document.forms[0].cpfcnpj.select();
    }else{
    false;
    }//if 1
}

