function ValidaCPF (CPF) {
  if (CPF.length != 11) {
    alert ("O CPF deve ter 11 dígitos");
    return false;
  }

  if (CPF == "" || CPF == "11111111111" || CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" || CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" || CPF == "88888888888" || CPF == "99999999999" || CPF == "00000000000") {
      alert ("CPF Inválido");
      return false;
  }
   
  dig1 = 0;
  for (i=1;i<=9;i++)
    dig1 = dig1 + CPF.substr(i-1, 1) * i;
  dig1 = dig1%11;
  if (dig1 == 10) dig1 = 0;
  if (dig1 != CPF.substr(9, 1)) {
    alert ("CPF Inválido !");
    return false;
  }

  dig2 = 0;
  for (i=2;i<=10;i++) 
    dig2 = dig2 + CPF.substr(i-1, 1) * (i-1);
  dig2 = dig2%11;
  if (dig2 == 10) dig2 = 0;
  if (dig2 != CPF.substr(10, 1)) {
    alert ("CPF Inválido !");
    return false;
  }
  return true;
}

function ValidaCNPJ(CNPJ){
  var i, j, k, Soma;
  
  if (CNPJ.length != 14) {
    alert ("O CNPJ deve ter 14 dígitos");
    return false;
  }
  
  k = 0;
  while (k <= 1) {
    Soma = 0;
    j = 5 + k;
    for (i=0; i <= 11+k; i++){
      Soma += parseInt(CNPJ.charAt(i),10)*j;
      if ( j != 2)
        j--;
      else
        j = 9;
    }

    Soma = 11 - Soma%11;
    if (Soma >= 10) Soma = 0;
    if ( Soma != parseInt(CNPJ.charAt(12+k))) {
      alert ("CNPJ Inválido !");
      return false;
    }
    k++;
  }
  return true;
}

function SoNumeros(str) {
  var Numeros = "0123456789";
  var Str = new String(str);
  for (i=0;i<Str.length;i++) {
    if (Numeros.indexOf(Str.substr(i, 1), 0) == -1) return false    
  }
  return true;
}
