//Verifica se string é numérica
function isNum(str)
{
var VBlnIsNum;
VIntTam = str.length;
VBlnIsNum = true;
if (VIntTam == 0)
{
return false;
}
else
{
for (i=0; i < VIntTam; i++)
{
if (str.substring(i,i+1) < '0' || str.substring(i,i+1) >
'9')
{
VBlnIsNum = false;
}
}
return VBlnIsNum;
}
}

//Função de validação de CPF
function validaCPF(st) {
if (st == "")
return (false);
l = st.length;

var b = new Array();
b[0] = "00000000000";
b[1] = "11111111111";
b[2] = "22222222222";
b[3] = "33333333333";
b[4] = "44444444444";
b[5] = "55555555555";
b[6] = "66666666666";
b[7] = "77777777777";
b[8] = "88888888888";
b[9] = "99999999999";

for(x=0;x<=9;x++){
 if(b[x]==st){
  return false;
  break;
 } 
}

//aleterado para se usuário não digitar os zeros na frente do CPF, completar sozinho
if ((l == 9) || (l == 8))
{
for (i = l ; i < 10; i++)
{
st = '0' + st
}
}
l = st.length;
st2 = "";
for (i = 0; i < l; i++) {
caracter = st.substring(i,i+1);
if ((caracter >= '0') && (caracter <= '9'));
st2 = st2 + caracter;
}
if ((st2.length > 11) || (st2.length < 10))
return (false);
if (st2.length==10)
st2 = '0' + st2;
digito1 = st2.substring(9,10);
digito2 = st2.substring(10,11);
digito1 = parseInt(digito1,10);
digito2 = parseInt(digito2,10);
sum = 0; mul = 10;
for (i = 0; i < 9 ; i++) {
digit = st2.substring(i,i+1);
tproduct = parseInt(digit ,10) * mul;
sum += tproduct;
mul--;
}
dig1 = ( sum % 11 );
if ( dig1==0 || dig1==1 )
dig1=0;
else
dig1 = 11 - dig1;
if (dig1!=digito1)
return (false);
sum = 0;
mul = 11;
for (i = 0; i < 10 ; i++) {
digit = st2.substring(i,i+1);
tproduct = parseInt(digit ,10)*mul;
sum += tproduct;
mul--;
}
dig2 = (sum % 11);
if ( dig2==0 || dig2==1 )
dig2=0;
else
dig2 = 11 - dig2;
if (dig2 != digito2)
return (false);
return (true);
}
