//Valida o cpf 
function ValidaCPF(CPF)
{
dig_1 = 0;
dig_2 = 0;
controle_1 = 10;
controle_2 = 11;
lsucesso = 1;

if ((numero.length != 12) || (numero.substring(9, 10) != "-"))
{
alert("CPF inválido! Formato: xxxxxxxxx-xx");
return false;
}
else
{
for (i=0 ; i < 9 ; i++)
{
dig_1 = dig_1 + parseInt(numero.substring(i, i+1) * controle_1);
controle_1 = controle_1 - 1;
}

resto = dig_1 % 11;
dig_1 = 11 - resto;

if ((resto == 0) || (resto == 1))
dig_1 = 0;

for ( i=0 ; i < 9 ; i++)
{
dig_2 = dig_2 + parseInt(numero.substring(i, i + 1) * controle_2);
controle_2 = controle_2 - 1;
}

dig_2 = dig_2 + 2 * dig_1;
resto = dig_2 % 11;
dig_2 = 11 - resto;

if ((resto == 0) || (resto == 1))
dig_2 = 0;

dig_ver = (dig_1 * 10) + dig_2;

if (dig_ver != parseFloat(numero.substring(numero.length-2,numero.length)))
{
return false;
}
}
return true;
} 

//Função de validação de CPF
function eCPF(st) {
if (st == "")
return (false);
l = st.length;
//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);
}
