function ValidaCPF(campo) {
Numero = new Array();
var RecebeCPF, soma, resultado1, resultado2;

RecebeCPF = campo.value;
if (RecebeCPF == "") 
{ return true;}

if ((isNaN(RecebeCPF)) ||  (RecebeCPF.indexOf(".") >= 0) || (RecebeCPF.indexOf("+") >= 0) || (RecebeCPF.indexOf("-") >= 0) || (RecebeCPF.indexOf(",") >= 0))  	
{
	alert("Campo apresenta caracteres inválidos"); 
	campo.focus();
	campo.select(); 
	return false; 
}

if (RecebeCPF.length < 11)
{
	alert( "CPF deve conter 11 digitos" ); 
	campo.focus();
	campo.select(); 
	return false; 
}
if (RecebeCPF == "00000000000")
{
	alert("CPF Inválido");
	campo.focus();
	campo.select(); 
	return false; 
}
else
{
Numero[0] = parseInt(RecebeCPF.substr(0,1));
Numero[1] = parseInt(RecebeCPF.substr(1,1));
Numero[2] = parseInt(RecebeCPF.substr(2,1));
Numero[3] = parseInt(RecebeCPF.substr(3,1));
Numero[4] = parseInt(RecebeCPF.substr(4,1));
Numero[5] = parseInt(RecebeCPF.substr(5,1));
Numero[6] = parseInt(RecebeCPF.substr(6,1));
Numero[7] = parseInt(RecebeCPF.substr(7,1));
Numero[8] = parseInt(RecebeCPF.substr(8,1));
Numero[9] = parseInt(RecebeCPF.substr(9,1));
Numero[10] = parseInt(RecebeCPF.substr(10,1));

soma = 10 * Numero[0] + 9 * Numero[1] + 8 * Numero[2] + 7 * Numero[3] + 6 * Numero[4] + 5 * Numero[5] + 4 * Numero[6] + 3 * Numero[7] + 2 * Numero[8];
soma = soma -(11 * (parseInt(soma / 11)));

if ((soma == 0) || (soma == 1)) {
resultado1 = 0;
}
else
{
resultado1 = 11 - soma;
}

if (resultado1 == Numero[9]) {

soma = Numero[0] * 11 + Numero[1] * 10 + Numero[2] * 9 + Numero[3] * 8 + Numero[4] * 7 + Numero[5] * 6 + Numero[6] * 5 + Numero[7] * 4 + Numero[8] * 3 + Numero[9] * 2;

soma = soma -(11 * (parseInt(soma / 11)));

	if ((soma == 0) || (soma == 1))
	{
	resultado2 = 0;
	} else {
	resultado2 = 11 - soma;
	}

	if (resultado2 == Numero[10]) {
		/*CPF Válido*/
		/*alert("CPF Válido");*/
		return true; 
	}
	else 
	{
		alert("CPF Inválido");
		campo.focus();
		campo.select(); 
		return false; 
	}
}
else 
{
	alert("CPF Inválido");
	campo.focus();
	campo.select(); 
	return false; 
}
}
}

