/*
 * Arquivo java script que contém funcionalidades específicas de
 * formatação de campo cpf html.
 *
 * Por formatação de um campo html cpf neste js, se entende:
 * - Receber um novo caracter
 * - Validá-lo
 * - Mascarar o campo com os dados existente mais o novo caracter
 *
 * Todas as funções de formatação de campo possui o prefixo FormatarCampoCPF.
 *
 * Caso exitir funções neste arquivo com outro prefixo, então são funções internas
 * que não devem ser chamadas externamente.
 *
 * ****************************************************************************
 * JS NECESSÁRIOS
 * ****************************************************************************
 * - leitor.js
 * - verificador.js
 * - mascarador.js
 ******************************************************************************
 *
 * @autor Rodrigo Lopes
 * @data 31/07/2009
 * @versão 1.0
 *
 */

/*
 * Formata um campo para cpf .
 */
function formatarCampoCpf(campoTipoPesquisa, e) {

    var presskeyCode = getKeyCode(e);

    if (isTeclasNavegacao(presskeyCode)) {
        return true;
    }

    if (isBakspace(presskeyCode)) {
        return true;
    }

    if (isEnter(presskeyCode)) {
        return true;
    }
    
    if (!isNum(presskeyCode)) {
        return false;
    }

    // Se o inputtex possuir mais de 14 caracteres, é um cpf
    // inválido
    if (campoTipoPesquisa.value.length >= 14) {
        return false;
    }

    // Se o usuário pressionou uma tecla numérica e
    // o inputtext não possui ainda 14 caracteres
    // então processa a formatação dos número já digitados
    // até o momento
    mascarar(campoTipoPesquisa, e, '###.###.###-##');
    return true;
}


