function validacnpjcpf(campo,pessoaFisica)
{
   var tam = 0;
   var vr = "";
   var s = "";
   var valor = 0;
   var digito1 = 0;
   var digito2 = 0;

   vr = campo.value;
     while (vr.indexOf(".")!=-1)
   {vr = vr.replace(".","")}
   while (vr.indexOf("-")!=-1)
   {vr = vr.replace("-","")}
   while (vr.indexOf("/")!=-1)
   {vr = vr.replace("/","")}
   tam = vr.length;
   for (i = 0; i < tam ; i++) {
      if (vr.substring(i,i + 1) == "0" || vr.substring(i,i + 1) == "1" || vr.substring(i,i + 1) == "2"  || vr.substring(i,i + 1) == "3" || vr.substring(i,i + 1) == "4" || vr.substring(i,i + 1) == "5" || vr.substring(i,i + 1) == "6" || vr.substring(i,i + 1) == "7" || vr.substring(i,i + 1) == "8" || vr.substring(i,i + 1) == "9")
      {
         s = s + vr.substring(i,i + 1);
      }
   }
   vr = s;
   tam = vr.length;

   if (tam == 0) {
      return true;
   }

   if (pessoaFisica == false)
   {
      valor = parseInt(vr.substr(11,1)) * 2;
      valor = valor + parseInt(vr.substr(10,1)) * 3;
      valor = valor + parseInt(vr.substr(9,1)) * 4;
      valor = valor + parseInt(vr.substr(8,1)) * 5;
      valor = valor + parseInt(vr.substr(7,1)) * 6;
      valor = valor + parseInt(vr.substr(6,1)) * 7;
      valor = valor + parseInt(vr.substr(5,1)) * 8;
      valor = valor + parseInt(vr.substr(4,1)) * 9;
      valor = valor + parseInt(vr.substr(3,1)) * 2;
      valor = valor + parseInt(vr.substr(2,1)) * 3;
      valor = valor + parseInt(vr.substr(1,1)) * 4;
      valor = valor + parseInt(vr.substr(0,1)) * 5;
      digito1 = parseInt(11 - parseInt(valor - (parseInt(valor / 11) * 11)));
      if ((digito1 == 10) || (digito1 == 11)) {
         digito1 = 0;
      }

      valor = parseInt(vr.substr(11,1)) * 3;
      valor = valor + parseInt(vr.substr(10,1)) * 4;
      valor = valor + parseInt(vr.substr(9,1)) * 5;
      valor = valor + parseInt(vr.substr(8,1)) * 6;
      valor = valor + parseInt(vr.substr(7,1)) * 7;
      valor = valor + parseInt(vr.substr(6,1)) * 8;
      valor = valor + parseInt(vr.substr(5,1)) * 9;
      valor = valor + parseInt(vr.substr(4,1)) * 2;
      valor = valor + parseInt(vr.substr(3,1)) * 3;
      valor = valor + parseInt(vr.substr(2,1)) * 4;
      valor = valor + parseInt(vr.substr(1,1)) * 5;
      valor = valor + parseInt(vr.substr(0,1)) * 6;
      valor = valor + parseInt(digito1) * 2;
      digito2 = parseInt(11 - parseInt(valor - (parseInt(valor / 11) * 11)));
      if ((digito2 == 10) || (digito2 == 11)) {
         digito2 = 0;
      }

      if ((vr.substr(12,1) == digito1) && (vr.substr(13, 1) == digito2)) {
         return true;
      }
      else {
         alert("CNPJ Inválido!");
         setTimeout(campo.focus(),250);
         return false;
      }
   }
   else
   {
      valor=0;
      for (i = 1; i <= 9 ; i++) {
         valor = valor + parseInt(vr.substr(i-1,1)) * (11 - i);
      }
      digito1 = parseInt(11 - (valor - (parseInt(valor / 11) * 11)));
      if ((digito1 == 10) || (digito1 == 11)) {
         digito1 = 0;
      }

      valor=0;
      for (i = 1; i <= 10 ; i++) {
         valor = valor + parseInt(vr.substr(i-1,1)) * (12 - i);
      }
      digito2 = parseInt(11 - (valor - (parseInt(valor / 11) * 11)));
      if ((digito2 == 10) || (digito2 == 11)) {
         digito2 = 0;
      }

      if ((vr.substr(9,1) == digito1) && (vr.substr(10, 1) == digito2)) {
         return true;
      }
      else {
         alert("CPF Inválido!");
          setTimeout(campo.focus(),250);
         return false;
      }
   }
}
