//**********************************************************************
// VERIFICA SE O NUMERO INDICA UM CPF
// PARAMETROS:
// Source -> TEXTO ORIGINAL
// RETORNO:
// TRUE SE E' UM CPF
// DEPENDENCIAS:
// IsInteger
// AUTOR:
// Sergio Araripe
//**********************************************************************
function IsCPF(Source)
{
	var Total=0;			//SOMA DOS DIGITOS
	var Digito1=0;			//DIGITO INFERIOR
	var Digito2=0;			//DIGITO SUPERIOR
	var Texto="";			//VARIAVEL DE TRABALHO
	
	Texto=Source;
	if (Texto!="")
	{//EXISTE VALOR
		if (Texto.length!=11)
		{// TAMANHO IMPROPRIO
			return(false);
		}//if
		if (!IsInteger(Texto))
		{// EXISTEM CARACTERES NAO NUMERICOS
			return(false);
		}//if
		
		
		if ((Texto.charAt(0)==Texto.charAt(1)) && (Texto.charAt(1)==Texto.charAt(2)) && (Texto.charAt(2)==Texto.charAt(3)) && (Texto.charAt(3)==Texto.charAt(4)) && (Texto.charAt(4)==Texto.charAt(5)) && (Texto.charAt(5)==Texto.charAt(6)) && (Texto.charAt(6)==Texto.charAt(7)) && (Texto.charAt(7)==Texto.charAt(8)) && (Texto.charAt(8)==Texto.charAt(9)) && (Texto.charAt(9)==Texto.charAt(10)))
		{//TODOS OS NUMEROS IGUAIS
			return(false);
		}//if
		
		
		
		Total=Texto.charAt(9)*2+Texto.charAt(8)*3+Texto.charAt(7)*4+Texto.charAt(6)*5+Texto.charAt(5)*6+Texto.charAt(4)*7+Texto.charAt(3)*8+Texto.charAt(2)*9+Texto.charAt(1)*10+Texto.charAt(0)*11;
		Digito1=Total%11;
		if (Digito1<=1)
		{//DIGITO PREJUDICADO
			Digito1=0;
		}//if
		else
		{//COMPLEMENTO
			Digito1=11-Digito1;
		}//else
		Total=Texto.charAt(8)*2+Texto.charAt(7)*3+Texto.charAt(6)*4+Texto.charAt(5)*5+Texto.charAt(4)*6+Texto.charAt(3)*7+Texto.charAt(2)*8+Texto.charAt(1)*9+Texto.charAt(0)*10;
		Digito2=Total%11;
		if (Digito2<=1)
		{//DIGITO PREJUDICADO
			Digito2=0;
		}//if
		else
		{//COMPLEMENTO
			Digito2=11-Digito2;
		}//else
		if ((Digito2!=Texto.charAt(9)) || (Digito1!=Texto.charAt(10)))
		{//DIGITO NAO CONFERE
			return(false);
		}//if
	}//if
	return(true);
}

