function valida_cpf(cmp, ErroLimpaCampo, ForcaDigitacao) {
	var campo = cmp.value; // Recebe o valor digitado no campo	
			campo = campo.replace(".", ""); 
			campo = campo.replace(".", "");
			campo = campo.replace("-", ""); 
	
	switch (campo) {
		case "11111111111": case "22222222222": case "33333333333": case "44444444444": case "55555555555":
		case "66666666666": case "77777777777": case "88888888888": case "99999999999": case "00000000000":
		alert('CPF inválido!');
		if (ErroLimpaCampo == 'S')
			cmp.value='';
		if (ForcaDigitacao == 'S')
			cmp.focus();
		return false;
		break;
		}
							
	// Aqui comeca a checagem do CPF
	var posicao;
	var digitoVerificador
	var digitoVerificadorInformado;
	var i,  soma;
				
	var digitos = new Array();
				
	// Retira os dois últimos digitos do número informado
	digitoVerificadorInformado = campo.substr(9, 2); 
			
	// Desmembra o numero do CPF no array DIGITOS
	for (i = 0; i <= 8; i++) {
		digitos[i] = campo.substr(i, 1);
		}
			
	// Calcula o valor do 10 digito da verificação
	posicao = 10;
	soma = 0;
	for (i = 0; i <= 8; i++) {
		soma = soma + digitos[i] * posicao;
		posicao--;
		}
	
	digitos[9] = soma % 11;
	if (digitos[9] < 2) {
		digitos[9] = 0;
		}
	else{
		digitos[9] = 11 - digitos[9];
		}

	// Calcula o valor do 11 digito da verificação
	posicao = 11;
	soma = 0;
	for (i = 0; i <= 9; i++) {
		soma = soma + digitos[i] * posicao;
		posicao--;
		}
	digitos[10] = soma % 11;
	if ( digitos[10] < 2) {
		digitos[10] = 0;
		}
	else {
		digitos[10] = 11 - digitos[10];
		}

	// Verifica se os valores dos digitos verificadores conferem
	digitoVerificador = digitos[9] * 10 + digitos[10];
	if (digitoVerificador != digitoVerificadorInformado) {		
		alert('CPF inválido!');
		if (ErroLimpaCampo == 'S')
			cmp.value='';
		if (ForcaDigitacao == 'S')
			cmp.focus();
		return false;
		}
	return true;
		alert("CPF válido.");
	}
			
			
function formata_cpf(campo , TeclaPres) { 
	vr = campo.value;
	tamanho = vr.length; 
	var tecla = TeclaPres.keyCode;
		
  vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
  vr = vr.replace("-", ""); 

	if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105) {
		if (tamanho <= 3)  { 
        	campo.value = vr; 
      		} 
       	if ((tamanho >= 3) && (tamanho <= 6)) { 
         	campo.value = vr.substr(0, 3 - 0) + '.' + vr.substr(3 - 0, tamanho); 
       		}  
		if ((tamanho >= 7) && (tamanho <= 10)) { 
         	campo.value = vr.substr(0, 3 - 0) + '.' + vr.substr(3 - 0, 3)+ '.' + vr.substr(6 - 0, tamanho); 
       		}
		if ((tamanho >= 11) && (tamanho < 15)) { 
         	campo.value = vr.substr(0, 3 - 0) + '.' + vr.substr(3 - 0, 3)+ '.' + vr.substr(6 - 0, 3)+ '-'+ vr.substr(9 - 0, 2); 
       		}
		}
	return true; 
	}
	
//onKeyPress="return valida_numero(this, event);"
function isNumber( caractere ) { 
	var strValidos = "0123456789" 
	if ( strValidos.indexOf( caractere ) == -1 ) 
		return false; 
	return true; 
	} 
  
function valida_numero(campo, event) { 
	var BACKSPACE= 8; 
	var key; 
	var tecla; 
	CheckTAB=true; 
	if(navigator.appName.indexOf("Netscape")!= -1) 
		tecla= event.which; 
	else 
		tecla= event.keyCode; 
	key = String.fromCharCode( tecla); 
	//alert( 'key: ' + tecla + ' -> campo: ' + campo.value); 
	if ( tecla == 13 ) 
		return false; 
	if ( tecla == BACKSPACE ) 
		return true; 
	return ( isNumber(key)); 
	}
