function validaCPF(inputCPF){
  var VALIDO   = true;
  var CPF      = inputCPF.value;
  var soma     = 0;
  var digito1  = 0;
  var digito2  = 0;

  if (CPF != ""){
    if(CPF =="00000000000")
	  VALIDO = false;
    if (CPF.length < 11){
      VALIDO = false;
    }
    if (CPF.length > 11){
      if (CPF.length == 14){
      // Transformando: 999.999.999-00 -> 99999999900
        if (CPF.charAt(3)+CPF.charAt(7)+CPF.charAt(11) == "..-"){
          CPF = CPF.substring(0,3) + CPF.substring(4,7) +
		        CPF.substring(8,11) + CPF.substring(12,14);
        }
        else{
          VALIDO = false;
        }
      }
      if (CPF.length == 12){
      // Transformando: 999999999-00 -> 99999999900
        if (CPF.charAt(9) == "-"){
          CPF = CPF.substring(0,9) + CPF.substring(10,12)
        }
        else{
          VALIDO = false;
        }
      }
    }
    if (VALIDO && CPF.length == 11){
      for (var i = 0; i < 11; i++){
        if (CPF.charAt(i) < "0" || CPF.charAt(i) > "9"){
          VALIDO = false;
        }
      }
    }
	else{
	  VALIDO = false;
	}
    // Teste dos digitos verificadores
    if (VALIDO){

      // Primeiro digito
      for (var i = 1; i < 10; i++){
        soma += (parseInt(CPF.charAt(9-i)))*(i+1)
      }
      digito1 = 11 - (soma % 11);
      if (digito1 > 9){
        digito1 = 0;
      }

	  soma = 0;

      // Segundo digito
      for (var i = 1; i < 11; i++){
        soma += (parseInt(CPF.charAt(10-i)))*(i+1)
      }
      digito2 = 11 - (soma % 11);
      if (digito2 > 9){
        digito2 = 0;
      }

	  if (parseInt(CPF.charAt(9))  != digito1 ||
	      parseInt(CPF.charAt(10)) != digito2   ){
        VALIDO = false;
      }
    }
    if (!VALIDO){
      window.alert("CPF Inválido.");
	  inputCPF.value='';
      inputCPF.focus();
//	  inputCPF.value = '';
	  return false;
    }
	else{
     return true;
	}
  }
}