function cpfValido(campo) {

    if ( campo.value.length != 0 || campo.value != '' || campo.value != null ) {
        if (!Verify(campo.value, 'CPF')) {
            alert('Invalid CPF');
            campo.value = "";
            if(campo.value.length != 0) {campo.focus()};
            return false;
        } else {
        	return true;
        }
    }

    return false;
}

function verificar_cpf(campo) {
	if( cpfValido(campo) ) {
		return verificaCpfInscrito(campo);
	} else {
		return false;
	}
}

function verificaCpfInscrito(campo) {

	acaoPosVerificacaoChave.campo		= campo;
	acaoPosVerificacaoChave.nomeCampo	= "cpf";

	FabricaAjax.getInstance().simpleMethod(	"verificaCpfInscrito-ajax.php",
											acaoPosVerificacaoChave.retorno,
											campo.value);
}

function ClearStr(str, charr) {
	var str;
	while( ( cx = str.indexOf(charr) ) != -1 ) {
		str = str.substring( 0, cx) + str.substring( cx + 1 );
	}
	return(str);
}

function ParseNumb(c)
{
  c=ClearStr(c,'-');
  c=ClearStr(c,'/');
  c=ClearStr(c,',');
  c=ClearStr(c,'.');
  c=ClearStr(c,'(');
  c=ClearStr(c,')');
  c=ClearStr(c,' ');
  if((parseFloat(c) / c != 1))
  {
    if(parseFloat(c) * c == 0)
    {
      return(c);
    }
    else
    {
      return(0);
    }
  }
  else
  {
    return(c);
  }
}

function Verify(CNUMB,CTYPE) {

  CNUMB=ParseNumb(CNUMB)

  if(CNUMB == 0) {
    return(false);
  } else {
    g=CNUMB.length-2;
    if(TestDigit(CNUMB,CTYPE,g))
    {
      g=CNUMB.length-1;
      if(TestDigit(CNUMB,CTYPE,g))
      {
        return(true);
      }
      else
      {
        return(false);
      }
    }
    else
    {
      return(false);
    }
  }
}

function TestDigit(CNUMB,CTYPE,g)
{
  var dig=0;
  var ind=2;
  for(f=g;f>0;f--)
  {
    dig+=parseInt(CNUMB.charAt(f-1))*ind;
    ind++;
  }
  dig%=11;
  if(dig<2)
  {
    dig=0;
  }
  else
  {
    dig=11-dig;
  }
  if(dig!=parseInt(CNUMB.charAt(g)))
  {
    return(false);
  }
  else
  {
    return(true);
  }
}
