﻿var IE = navigator.appName == 'Microsoft Internet Explorer';

// Todos os controles modais que a função corrige modal irá controlar
var Modais = new Array('ProdutoDetalhes', 'login', 'CaixaPergunta', 'loading');

// Corrige o "click here to activate this control do IE"
var theObjects = document.getElementsByTagName("object");

for (var i = 0; i < theObjects.length; i++) {
    theObjects[i].outerHTML = theObjects[i].outerHTML;
}


if (typeof jQuery != 'undefined') {

    $(function () {

        $(".produtoLista *").live("mouseover", function () {
            $(this).siblings('div.CurrentTip').show();
        });

        $(".produtoLista *").live("mouseout", function () {
            $(this).siblings('div.CurrentTip').hide();
        });

    });

}


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 Chat() {
    window.open('http://web.atendimentoaovivo.com.br/chat.asp?idc=1100&pre_empresa=75&pre_depto=auto', 'CHAT', 'width=410, height=450, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no');
}

window.onload = function () {

    if (window.PageLoad != null) // chama a função da página
        PageLoad();

    CorrigeModal();
}

// Função que corrige todos os modais
function CorrigeModal() {
    var Posicao = IE ? document.documentElement.scrollTop : window.pageYOffset;

    for (var i = 0; i < Modais.length; i++) {
        var ControleCorrente = document.getElementById(Modais[i]);
        if (ControleCorrente != null) // se o controle estiver visível na tela
            ControleCorrente.style.top = Posicao + 'px';
    }

    setTimeout("CorrigeModal()", 1)
}

// Valida o campo passado com a regra de busca
function ValidaBusca(IDControle) {
    var Controle = document.getElementById(IDControle);
    var ABuscar = Controle.value;
    var QtdMinima = 3;

    if (ABuscar != '') {
        var Termos = ABuscar.split(',');

        for (var i = 0; i < Termos.length; i++) {
            var TermoCorrente = Termos[i].trim();
            if (TermoCorrente.length < QtdMinima) {
                alert('O termo a ser buscado "' + TermoCorrente + '" possui menos de ' + QtdMinima + ' Caracteres');
                return false;
            }
        }
    }
    else {
        alert('Por favor preencha o campo de busca');
        Controle.focus();
        return false;
    }

    return true;

}

// Popup de caracteristica do modal do produto
function PopupCaracteristica(PLU) {
    window.open('/Produto/Caracteristica.aspx?Produto=' + PLU, 'ProdutoCaracteristica', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=500,height=550');
}

// Abre o popup de pagamento para o pedido passado
function Pagamento(OrderID, IDDivRefazerPagamento, IDLinkClicado) {
    var JanelaPagamento;
    var LinkClicado;
    var DivRefazerPagamento = document.getElementById(IDDivRefazerPagamento);

    if (IDLinkClicado != null) {
        LinkClicado = document.getElementById(IDLinkClicado);

        if (LinkClicado.disabled) // se o botão estiver desativado cancela o popup
            return;
    }

    JanelaPagamento = window.open('/Pagamento/Default.aspx?OrderID=' + OrderID, 'loja', 'toolbar=no,location=no,directories=no,status=true,menubar=no,scrollbars=yes,resizable=true,menubar=no,width=800,height=500');

    if (DivRefazerPagamento != null)
        DivRefazerPagamento.style.visibility = JanelaPagamento == null ? '' : 'hidden';

    if (LinkClicado != null && JanelaPagamento != null)
        LinkClicado.disabled = 'disabled';
}

// Validação do email. Verifica se é um "formato" válido
function ValidaEmail(eMail) {
    var oRegE_mail = /^[a-z0-9\._\-]+\@[a-z0-9\._\-]+\.[a-z]{2,3}$/i;
    return oRegE_mail.test(eMail);
}

// Valida se o param passado é um numero
function ValidaNumero(Num) {
    var oRegNumero = /\D/;
    return !oRegNumero.test(Num);
}

function ValidaLoginEmail(IDtbxEmail) {
    tbxEmail = document.getElementById(IDtbxEmail);
    Email = tbxEmail.value;

    if (Email != '') {
        if (ValidaEmail(Email))
            return true;
        else {
            alert('E-mail inválido');
            tbxEmail.select();
        }
    } else {
        alert('Informe seu E-mail por favor');
        tbxEmail.focus();
    }

    return false;
}


function ValidaLogin(IDtbxEmail, IDtbxSenha) {
    tbxSenha = document.getElementById(IDtbxSenha);
    Senha = tbxSenha.value;

    if (ValidaLoginEmail(IDtbxEmail)) {
        if (Senha != '')
            return true;
        else {
            alert('Informe a senha por favor');
            tbxSenha.focus();
        }

    }

    return false;

}

function CancelaEnter() {
    if (event != null && event.keyCode == 13) {
        event.cancelBubble = true;
        event.returnValue = false;
    }
}

function SubmitOnClick(ButtonID, e) {
    var Controle = document.getElementById(ButtonID);
    if (Controle != null && GetKeyCode(e) == 13)
        Controle.click();
}


function Formatar(fsValor, foForm, foNome, fsFormato) {

    var piLoop;
    var psPalavra = '';
    var psResposta = '';
    var piTamanho = 0;
    var pParte_i = '';
    var pParte_f = '';
    var intDecimais = 2;

    intDecimais = 2;



    if (window.event.keyCode != 9 && window.event.keyCode != 16) {
        if (fsFormato == "cgc") fsFormato = "cnpj";
        if (window.event.keyCode != 8 && window.event.keyCode != 37 && window.event.keyCode != 39 && window.event.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);
            }
        }
    }
}
