/*
 * Arquivo java script que contém funcionalidades específicas de
 * formatação de campo cnpj html.
 *
 * Por formatação de um campo html cnpj 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 FormatarCampoCNPJ.
 *
 * 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 Cnpj.
 */
function formatarCampoCnpj(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 18 caracteres, o cnpj
    // formatado já está completo.
    if (campoTipoPesquisa.value.length >= 18) {
        return false;
    }

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

}

