﻿var IE = navigator.appName == 'Microsoft Internet Explorer';

function GetKeyCode(e) {
    if (e.keyCode) return e.keyCode;
    else if (e.which) return e.which; // Netscape 4.?
    else if (e.charCode) return e.charCode; // Mozilla
}

function SubmitOnClick(ButtonID, e) {
    var Controle = document.getElementById(ButtonID);
    if (Controle != null && GetKeyCode(e) == 13)
        Controle.click();
}

// Validação do email. Verifica se é um "formato" válido
function ValidaEmail(eMail) {
    var oRegEmail = /^[a-z0-9\._\-]+\@[a-z0-9\._\-]+\.[a-z]{2,3}$/i;
    return oRegEmail.test(eMail);
}

// Valida se o param passado é um numero
function ValidaNumero(Num) {
    var oRegNumero = /\D/;
    return !oRegNumero.test(Num);
}

function ValidaBusca() {

    var Field = document.getElementById('ctl00_termoBusca');

    if (Field.value == '') {
        alert('Preencha o campo da busca');
        Field.focus();
        return false;
    }

    if (Field.value.length < 3) {
        alert('A busca tem que possuir + de 3 caracteres');
        Field.select();
        return false;
    }

    return true;
}

function ValidaLogin() {

    var Email = document.getElementById('ctl00_emailLogin');
    var Pass = document.getElementById('ctl00_senhaLogin');

    if (Email.value == '') {
        alert('Preencha o e-mail');
        Email.focus();
        return false;
    }

    if (!ValidaEmail(Email.value)) {
        alert('E-mail inválido');
        Email.select();
        return false;
    }

    if (Pass.value == '') {
        alert('Preencha a senha');
        Pass.select();
        return false;
    }

    if (Pass.value.length < 4) {
        alert('A senha precisa ter + que 3 caracteres');
        Pass.select();
        return false;
    }

    return true;
}

function Formatar(fsValor, foForm, foNome, fsFormato, e) {

    var piLoop;
    var psPalavra = '';
    var psResposta = '';
    var piTamanho = 0;
    var pParte_i = '';
    var pParte_f = '';
    var intDecimais = 2;
    var keyCode = GetKeyCode(e);

    intDecimais = 2;

    if (keyCode != 9 && keyCode != 16) {
        if (fsFormato == "cgc") fsFormato = "cnpj";
        if (keyCode != 8 && keyCode != 37 && keyCode != 39 && keyCode != 46) {
            for (piLoop = 0; piLoop <= (fsValor.length - 1); piLoop++) {
                switch (fsFormato) {
                    case 'data':
                        if (fsValor.charAt(piLoop) != '/' && fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'hora':
                        if (fsValor.charAt(piLoop) != ':' && fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'telefone':
                        if (fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'moeda':
                        if (fsValor.charAt(piLoop) != ',' && fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'cpf':
                        if (fsValor.charAt(piLoop) != '.' && fsValor.charAt(piLoop) != '-' && fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'cnpj':
                        if (fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'cnpj_filial':
                        if (fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'cep':
                        if (fsValor.charAt(piLoop) != '-' && fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        break;
                    case 'numero':
                        if (fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9') {
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        }

                        if (fsValor.charAt(piLoop) == '-' && psPalavra == '') {
                            psPalavra = psPalavra + fsValor.charAt(piLoop);
                        }

                        break;

                }
            }
            for (piLoop = 0; piLoop <= (psPalavra.length - 1); piLoop++) {
                switch (fsFormato) {
                    case 'data':
                        if (piLoop == 2) psResposta = psResposta + '/' + psPalavra.charAt(piLoop);
                        if (piLoop == 4) psResposta = psResposta + '/' + psPalavra.charAt(piLoop);
                        if (piLoop != 2 && piLoop != 4) psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 10;
                        break;
                    case 'hora':
                        if (piLoop == 2)
                            psResposta = psResposta + ':' + psPalavra.charAt(piLoop)
                        else
                            psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 5;
                        break;
                    case 'telefone':
                        psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 9;
                        break;
                    case 'moeda':
                        if (psPalavra.length < 14) {
                            psResposta = psResposta + psPalavra.charAt(piLoop);
                            piTamanho = 14;
                        } else {
                            psResposta = psPalavra;
                        }
                        break;
                    case 'cpf':
                        if (psPalavra.length < 14) {
                            psResposta = psResposta + psPalavra.charAt(piLoop);
                            piTamanho = 14;
                        } else {
                            psResposta = psPalavra;
                        }
                        break;
                    case 'cnpj':
                        psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 19;
                        break;
                    case 'cnpj_filial':
                        psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 7;
                        break;

                    case 'cep':
                        if (piLoop == 5) psResposta = psResposta + '-' + psPalavra.charAt(piLoop);
                        if (piLoop != 5) psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 9;
                        break;
                    case 'numero':
                        psResposta = psResposta + psPalavra.charAt(piLoop);
                        piTamanho = 50;
                        break;
                }
            }

            //--- Formata Moeda
            if (fsFormato == 'moeda' && psResposta.length > intDecimais) {
                for (piLoop = intDecimais; piLoop < (psResposta.length); piLoop++) {
                    pParte_i = psResposta.substring(0, psResposta.length - piLoop);
                    pParte_f = psResposta.substring(psResposta.length - piLoop, psResposta.length);
                    if (piLoop == intDecimais) {
                        psResposta = pParte_i + ',' + pParte_f;
                    }
                    else {
                        psResposta = pParte_i + '.' + pParte_f;
                    }
                    piLoop = piLoop + 3;
                }
            }
            //--- Fim Formata Moeda

            //--- Formata CNPJ
            if (fsFormato == 'cnpj' && psResposta.length > 6) {
                //psResposta = psResposta.substring(0, 19);
                pParte_i = psResposta.substring(0, psResposta.length - 2);
                pParte_f = psResposta.substring(psResposta.length - 2, psResposta.length);
                psResposta = pParte_i + '-' + pParte_f;
                pParte_i = psResposta.substring(0, psResposta.length - 7);
                pParte_f = psResposta.substring(psResposta.length - 7, psResposta.length);
                psResposta = pParte_i + '/' + pParte_f;
                for (piLoop = 11; piLoop < (psResposta.length); piLoop++) {
                    pParte_i = psResposta.substring(0, psResposta.length - piLoop);
                    pParte_f = psResposta.substring(psResposta.length - piLoop, psResposta.length);
                    psResposta = pParte_i + '.' + pParte_f;
                    piLoop = piLoop + 3;
                }
            }
            //--- Fim Formata CNPJ

            //--- Formata CNPJ_FILIAL
            if (fsFormato == 'cnpj_filial' && psResposta.length > 4) {
                psResposta = psResposta.substring(0, 7);
                pParte_i = psResposta.substring(0, psResposta.length - 2);
                pParte_f = psResposta.substring(psResposta.length - 2, psResposta.length);
                psResposta = pParte_i + '-' + pParte_f;
            }
            //--- Fim Formata CNPJ_FILIAL

            //--- Formata Telefone
            if (fsFormato == 'telefone' && psResposta.length > 4) {
                psResposta = psResposta.substring(0, 8);
                pParte_i = psResposta.substring(0, psResposta.length - 4);
                pParte_f = psResposta.substring(psResposta.length - 4, psResposta.length);
                psResposta = pParte_i + '-' + pParte_f;
            }
            //--- Fim Formata Telefone

            //--- Formata CPF
            if (fsFormato == 'cpf' && psResposta.length > 2) {
                psResposta = psResposta.substring(0, 11);
                pParte_i = psResposta.substring(0, psResposta.length - 2);
                pParte_f = psResposta.substring(psResposta.length - 2, psResposta.length);
                psResposta = pParte_i + '-' + pParte_f;

                for (piLoop = 6; piLoop < (psResposta.length); piLoop++) {
                    pParte_i = psResposta.substring(0, psResposta.length - piLoop);
                    pParte_f = psResposta.substring(psResposta.length - piLoop, psResposta.length);
                    psResposta = pParte_i + '.' + pParte_f;
                    piLoop = piLoop + 3;
                }
            }
            //--- Fim Formata CPF

            if (fsFormato == 'moeda') {
                document.forms[foForm].elements[foNome].value = psResposta.substring(0, psResposta.length);
            } else {
                document.forms[foForm].elements[foNome].value = psResposta.substring(0, piTamanho);
            }
        }
    }
}

// disables the button specified and sets its style to a disabled "look".    
function disableButtonOnClick(oButton, sButtonText, sCssClass)    {    
    // set button to disabled so you can't click on it.
    oButton.disabled = true; 
    // change the text of the button.        
    oButton.value = sButtonText;         
    // IE uses className for the css property.        
    oButton.setAttribute('className', sCssClass);
    // Firefox, Safari use class for the css property.  (doesn't hurt to do both).
    oButton.setAttribute('class', sCssClass);
}