var Formularios = {
    VincularExpositorMontador: function(botao, id_montador, id_expositor, pagina, div){
        DesabilitaCampo(botao);

        if (!confirm("Deseja cadastrar essa montadora para seu estande?")) {
            HabilitaCampo(botao);
            return false;
        }

        var Retorno = function(){
            var ajax = Ajax.request;
            if (ajax.readyState == 4) {
                GetId('aguardandoVincular'+id_montador).innerHTML = '';
                if(ajax.status == 200){
                    var json = eval('(' + ajax.responseText + ')');
                    HabilitaCampo(botao);
                    switch (json.resultado){
                        case 'sim':
                            alert('Montadora vinculada com sucesso!');
                            if (pagina && div){
                                RemovePopup(1);
                                Load(pagina, div);
                            }
                            break;

                        case 'erro':
                            alert('Não foi possível realizar o vinculo, por favor entre em contato com a organização');
                            if (pagina && div){
                                RemovePopup(1);
                                Load(pagina, div);
                            }
                            break;
                    }
                }
            } else if (ajax.readyState != 4) {
                GetId('aguardandoVincular'+id_montador).innerHTML = '<img src="imagem/aguardando.gif">';
            }
        };
        var valores = "acao=VincularExpositorMontador&id_montador=" + id_montador +"&id_expositor="+id_expositor;
        Ajax.Solicitacao("acao.php", valores, Retorno);
        Ajax.Solicitar();
    },

    somenteNumeros: function(campo){
        var digitos ="0123456789"
        var aux;
        for (var i=0;i<campo.value.length;i++){
          aux = campo.value.substring(i,i+1)
          if (digitos.indexOf(aux)==-1){
                campo.value = campo.value.substring(0,i);
                break;
           }
        }
    },
    
    AbrirMerchanBCS: function(){
        GetId('label').style.visibility="visible";
        document.onmousemove = Formularios.follow;
    },

    FecharMerchanBCS: function(){
        GetId('label').style.visibility="hidden";
        document.onmousemove = "";
    },

    mouseX: function(evt){
        if (!evt)
            evt = window.event;
            if (evt.pageX)
                return evt.pageX;
            else if (evt.clientX)
                return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
                else
                    return 0;
    },

    mouseY: function(evt){
        if (!evt)
            evt = window.event;
            if (evt.pageY){
                var tamanho = (evt.pageY) - 120;
                return tamanho;
            } else if (evt.clientY){
                return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
            } else {
                return 0;
            }
    },

    follow: function(evt) {
            if (GetId) {
                var obj = GetId('label').style;
                obj.visibility = 'visible';
                obj.left = (parseInt(Formularios.mouseX(evt))+5) + 'px';
                obj.top = (parseInt(Formularios.mouseY(evt))+5) + 'px';
            }
    },

    selecionaTipoPonto: function(id,cor){
        var id_antigo = GetId('tipo_de_ponto').value;
        if (id_antigo!=''){
            GetId('a'+id_antigo).style.backgroundColor = '';
            GetId('b'+id_antigo).style.backgroundColor = '';
            GetId('c'+id_antigo).style.backgroundColor = '';
        }
        GetId('a'+id).style.backgroundColor = '#E4EAEA';
        GetId('b'+id).style.backgroundColor = '#E4EAEA';
        GetId('c'+id).style.backgroundColor = '#E4EAEA';
        GetId('tipo_de_ponto').value = id;
        GetId('cor_ponto').value = cor;
    },

    MarcaCampo: function(){
        var frm = document.forms['boletos'];
        var numElementos = frm.elements.length;
        var valor = 0;
        for (var i = 0; i < numElementos; i++) {
            if ((frm.elements[i].type == "checkbox") && (frm.elements[i].checked)) {
                ValorItem = frm.elements[i].value.replace(".", "");
                ValorItem = ValorItem.replace(",", ".");
                if (ValorItem != ""){
                    valor += parseFloat(ValorItem);
                }
            }
        }
        valor = valor.toFixed(2);
        document.getElementById('div_valortotal').innerHTML = "R$ " + valor.toString().replace(".", ",");
    },

    MaximoCaracteres: function(form,max){
        var frm = document.forms[form];
        for (var i = 0; i < frm.elements.length; i++)
        {
            var campo = frm.elements[i];
            if ( campo.type == 'textarea')
            {
                campo.onkeyup = function(){
                    Formularios.maxlegth(this,max);
                };
                campo.onkeydown = function(){
                    Formularios.maxlegth(this,max);
                };
            }
        }

    },

    maxlegth : function(campo,max){
        if(campo.value.length > max){
            campo.value = campo.value.substring(0, max);
            alert('O limite máximo de caracteres foi excedido.');
        }
    },

    IncluirMultiselect: function(campo,multiple) {
        if(GetId(campo).value!=""){
            var txt = GetId(campo).value;
            addOption = new Option(txt,txt);
            var numItems = GetId(multiple).options.length;
            GetId(multiple).options[numItems++] = addOption;
            GetId(campo).value="";
        }
    },

    DeletarMultiselect: function(multiple) {
        var selItems = GetId(multiple).options.selectedIndex;
        if (selItems >= 0) {
            GetId(multiple).options[selItems] = null;
        }
    },

    SelectAllMultiselect: function(multiple) {
        var i;
        multiple = multiple.split(';');
        for (var indice in multiple){
            for (i = 0; i < GetId(multiple[indice]).options.length; i++){
                GetId(multiple[indice]).options[i].selected = true;
            }
        }

        Padrao.Executa({
            botao : '',
            form : 'expositor.guia_oficial',
            validar : true,
            loadPagina : 'guia_oficial.php?pg={$paginaAtual}',
            loadDiv : 'divFormularios',
            pagina : 'acao.php',
            parametros : 'acao=inserirGuiaOficial',
            camada : 1,
            divAguardando : 'aguardando_guia_oficial'
        });
    },

    BuscaKVA: function (botao){
        var select = GetId(botao.id);
        var kva = select.getElementsByTagName('option')[select.selectedIndex].getAttribute('kva');
        var equipamento = select.getElementsByTagName('option')[select.selectedIndex].getAttribute('equipamento');
        equipamento = kva == '' ? '' : equipamento;
        var valida;
        if (GetId('kva')) {
            GetId('kva').value = kva;
            if (kva != '') {
                GetId('kva').disabled = true;
                GetId('equipamento').value = equipamento;
                GetId('equipamento').disabled = true;
                valida = select.getAttribute('valida');
                valida = valida.split(',');
                select.setAttribute('valida', 'sim,'+valida[1]+','+valida[2]);
            } else {
                GetId('kva').disabled = false;
                valida = select.getAttribute('valida');
                valida = valida.split(',');
                select.setAttribute('valida', 'nao,'+valida[1]+','+valida[2]);
                GetId('equipamento').value = equipamento;
                GetId('equipamento').disabled = false;
                GetId('equipamento').focus();
            }
        }
    },

    marcaPontos: function (id,cor){
        if(cor!=''){
            var pontos = GetId('pontos').value;
            var local_pontos = pontos.search(id+':');
            if (local_pontos != -1) {
                var id_tipo = pontos.substr(local_pontos+id.length+1 , 1);
                GetId(id).style.backgroundColor = '';
                var ponto_marcado = pontos.substr(local_pontos , (id.length + 3));
                GetId('pontos').value = GetId('pontos').value.replace(ponto_marcado, '');
                if ('c'+id_tipo == 'c6') {
                    var qtd5 = parseInt(GetId('c5').innerHTML)
                    qtd5 = isNaN(qtd5) ? 0 : qtd5;
                    var qtd4 = parseInt(GetId('c4').innerHTML)
                    qtd4 = isNaN(qtd4) ? 0 : qtd4;
                    GetId('c5').innerHTML = qtd5 - 1;
                    GetId('c4').innerHTML = qtd4 - 1;
                } else {
                    var qtd = parseInt(GetId('c'+id_tipo).innerHTML)
                    qtd = isNaN(qtd) ? 0 : qtd;
                    var qtd_permitida = parseInt(GetId('b'+id_tipo).innerHTML);
                    qtd_permitida = isNaN(qtd_permitida) ? 0 : qtd_permitida;
                    GetId('c'+id_tipo).innerHTML = qtd - 1;
                }
            } else {
                if ('c'+GetId('tipo_de_ponto').value == 'c6') {
                    var qtd4 = parseInt(GetId('c4').innerHTML);
                    qtd4 = isNaN(qtd4) ? 0 : qtd4;
                    var qtd5 = parseInt(GetId('c5').innerHTML);
                    qtd5 = isNaN(qtd5) ? 0 : qtd5;
                    var qtd_permitida4 = parseInt(GetId('b4').innerHTML);
                    qtd_permitida4 = isNaN(qtd_permitida4) ? 0 : qtd_permitida4;
                    var qtd_permitida5 = parseInt(GetId('b5').innerHTML);
                    qtd_permitida5 = isNaN(qtd_permitida5) ? 0 : qtd_permitida5;
                    if ((qtd4<qtd_permitida4)&&(qtd5<qtd_permitida5)){
                        GetId(id).style.backgroundColor = cor;
                        GetId('pontos').value = GetId('pontos').value + id + ':' + GetId('tipo_de_ponto').value + ';';
                        GetId('c4').innerHTML = qtd4 + 1;
                        GetId('c5').innerHTML = qtd5 + 1;
                    }else{
                        alert('Não há mais campos disponiveis');
                    }
                }else{
                    var qtd = parseInt(GetId('c'+GetId('tipo_de_ponto').value).innerHTML);
                    qtd = isNaN(qtd) ? 0 : qtd;
                    var qtd_permitida = parseInt(GetId('b'+GetId('tipo_de_ponto').value).innerHTML);
                    qtd_permitida = isNaN(qtd_permitida) ? 0 : qtd_permitida;
                    if (qtd<qtd_permitida){
                        GetId(id).style.backgroundColor = cor;
                        GetId('pontos').value = GetId('pontos').value + id + ':' + GetId('tipo_de_ponto').value + ';';
                        GetId('c'+GetId('tipo_de_ponto').value).innerHTML = qtd + 1;
                    }else{
                        alert('Não há mais campos disponiveis');
                    }
                }
            }
        }
    },

    visualizarAnuncios: function (){

        var URL = "acao.php";
        var valores = "acao=visualizarAnuncios"
        var ajax = CriaAjax();
        ajax.open('POST', URL, true);
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        ajax.onreadystatechange = function(){
            if (ajax.readyState == 4) {
                document.getElementById('esquerda').innerHTML='';
                document.getElementById('direita').innerHTML='';
                document.getElementById('rodape').innerHTML='';
                if(ajax.status == 200){
                    var json = eval('(' + ajax.responseText + ')');
                    if(GetId('visualizar_anuncios').value=='true'){
                        GetId('visualizar_anuncios').value='false';
                    }else{
                        GetId('visualizar_anuncios').value='true'
                    }
                    document.getElementById('esquerda').innerHTML=json.esquerda;
                    document.getElementById('direita').innerHTML=json.direita;
                    document.getElementById('rodape').innerHTML=json.rodape;
                    document.getElementById('topo').innerHTML=json.logo;
                }
            } else if (ajax.readyState != 4) {
                document.getElementById('esquerda').innerHTML='<img src="../../../imagem/aguardando.gif">';
                document.getElementById('direita').innerHTML='<img src="../../../imagem/aguardando.gif">';
                document.getElementById('rodape').innerHTML='<img src="../../../imagem/aguardando.gif">';
            }
        };
        ajax.send(valores);

    },

    DesativarPadrao: function(botao,pagina,div,lingua){
        DesabilitaCampo(botao);
        if (lingua==null){
            lingua = 'br';
        }

        switch (lingua){
            case 'br':
                var mensagem = "Deseja Realmente Excluir?";
                break;

            case 'en':
                var mensagem = "Do you really want to delete?";
                break;

           case 'en':
                var mensagem = "Estás seguro que quieres eliminar?";
                break;
        }
        if (!confirm(mensagem)) {
            HabilitaCampo(botao);
            return false;
        }

        var Retorno = function(){
            var ajax = Ajax.request;
            if (ajax.readyState == 4) {
                GetId('AguardandoExcluir'+botao.id).innerHTML = '';
                if(ajax.status == 200){
                    var json = eval('(' + ajax.responseText + ')');
                    HabilitaCampo(botao);
                    switch (json.resultado)	{
                        case 'sim':
                            RetornoPositivo('excluir', lingua);
                            if (pagina && div) Load(pagina, div);
                            break;
                            
                        case 'dados_errados':
                            var erro = dadosErrados(json.dados_errados);
                            var msg = eval("Valida.Msg" + Valida.LinguaForm(form).toUpperCase());
                            alert(msg + " \n\t- " + erro.join("\n\t- "));
                            break;

                        case 'msg_erro':
                            var erro = dadosErrados(json.msg_erro);
                            alert(erro.join("\n\t- "));
                            break;

                        case 'erro':
                            RetornoErro(json.erro);
                            break;
                    }
                }
            } else if (ajax.readyState != 4) {
                GetId('AguardandoExcluir'+botao.id).innerHTML = '<img src="imagem/aguardando.gif">';
            }
        };
        var valores = "acao=DesativarPadrao&id=" + botao.id +"&tabela="+botao.name+"&valor=false";
        Ajax.Solicitacao("acao.php", valores, Retorno);
        Ajax.Solicitar();
    },

    DesativarUnico: function(botao,pagina,div){
        DesabilitaCampo(botao);
        if (!confirm("Deseja Realmente Excluir?")) {
            HabilitaCampo(botao);
            return false;
        }

        var Retorno = function(){
            var ajax = Ajax.request;
            if (ajax.readyState == 4) {
                GetId('AguardandoExcluir'+botao.id).innerHTML = '';
                if(ajax.status == 200){
                    var json = eval('(' + ajax.responseText + ')');
                    HabilitaCampo(botao);
                    switch (json.resultado)	{
                        case 'sim':
                            RetornoPositivo('excluir');
                            if (pagina && div) Load(pagina, div);
                            break;

                        case 'dados_errados':
                            var erro = dadosErrados(json.dados_errados);
                            var msg = eval("Valida.Msg" + Valida.LinguaForm(form).toUpperCase());
                            alert(msg + " \n\t- " + erro.join("\n\t- "));
                            break;

                        case 'erro':
                            RetornoErro(json.erro);
                            break;
                    }
                }
            } else if (ajax.readyState != 4) {
                GetId('AguardandoExcluir'+botao.id).innerHTML = '<img src="imagem/aguardando.gif">';
            }
        };
        var valores = "acao=DesativarUnico&id=" + botao.id +"&tabela="+botao.name+"&valor=false";
        Ajax.Solicitacao("acao.php", valores, Retorno);
        Ajax.Solicitar();
    },

    Login: function(form,botao){
        DesabilitaCampo(botao);
        if (!Valida.ValidaForm(form)) {
            HabilitaCampo(botao);
            return false;
        }
        var Retorno = function(){
            var ajax = Ajax.request;

            if (ajax.readyState == 4) {
                GetId('aguardando').innerHTML = '';
                if(ajax.status == 200){
                    HabilitaCampo(botao);
                    var json = eval('(' + ajax.responseText + ')');
                    switch (json.resultado)	{
                        case 'nao_efetuado':
                            alert('Não foi possível efetuar o login.\nTente novamente');
                            GetId('login').focus();
                            GetId('senha').value="";
                            break;
                        case 'efetuado':
                            Redirect('index.php', 'divMenuFormularios')
                            break;
                        case 'session_erro':
                            Redirect('login.php', 'divMenuFormularios')
                            break;
                        case 'dados_errados':
                            alert('Não foi possível efetuar o login.\nLogin ou senha incorretos.');
                            break;
                    }
                }
            } else if (ajax.readyState != 4) {
                GetId('aguardando').innerHTML = '<img src="imagem/aguardando.gif">';
            }
        };
        var valores = PegaDados.Formulario(form);
        Ajax.Solicitacao("acao.php?acao=login", valores, Retorno);
        Ajax.Solicitar();
    },

    LoginPrestador: function(form,botao){
        DesabilitaCampo(botao);
        if (!Valida.ValidaForm(form)) {
            HabilitaCampo(botao);
            return false;
        }
        var Retorno = function(){
            var ajax = Ajax.request;

            if (ajax.readyState == 4) {
                GetId('aguardando').innerHTML = '';
                if(ajax.status == 200){
                    HabilitaCampo(botao);
                    var json = eval('(' + ajax.responseText + ')');
                    switch (json.resultado)	{
                        case 'nao_efetuado':
                            alert('Não foi possível efetuar o login.\nTente novamente');
                            GetId('login').focus();
                            GetId('senha').value="";
                            break;
                        case 'efetuado':
                            Redirect('index.php', 'divMenuFormularios')
                            break;
                        case 'session_erro':
                            Redirect('login.php', 'divMenuFormularios')
                            break;
                        case 'dados_errados':
                            alert('Não foi possível efetuar o login.\nLogin ou senha incorretos.');
                            break;
                    }
                }
            } else if (ajax.readyState != 4) {
                GetId('aguardando').innerHTML = '<img src="imagem/aguardando.gif">';
            }
        };
        var valores = PegaDados.Formulario(form);
        Ajax.Solicitacao("acao.php?acao=loginMontador", valores, Retorno);
        Ajax.Solicitar();
    },

    buscaCPF: function(cpf){
        if (!Valida.VerificaCPF(cpf)) {
            return false;
        }

        var Retorno = function(){
            var ajax = Ajax.request;

            if (ajax.readyState == 4) {
                if(ajax.status == 200){
                    var json = eval('(' + ajax.responseText + ')');
                    switch (json.result_busca)	{
                        case 'sim':
                            cpf.disabled = true;
                            for (var indice in json){
                                if ((GetId(indice))&&(json[indice]!='')&&(json[indice]!=null)) {
                                    GetId(indice).value = json[indice];
                                }
                            }
                            break;
                        case 'dados_errados':
                            alert('Não foi possível efetuar o login.\nLogin ou senha incorretos.');
                            break;
                    }
                }
            }
        };
        var valores = "acao=buscaCracha&cpf_Valida=sim,cpf,CPF,text&cpf=" + cpf.value;
        Ajax.Solicitacao("acao.php", valores, Retorno);
        Ajax.Solicitar();
    },

    buscaDocumento: function(cnpj){
        if (!Valida.VerificaCNPJ(cnpj)) {
            return false;
        }

        var Retorno = function(){
            var ajax = Ajax.request;

            if (ajax.readyState == 4) {
                if(ajax.status == 200){
                    var json = eval('(' + ajax.responseText + ')');
                    switch (json.result_busca)	{
                        case 'sim':
                            cnpj.disabled = true;
                            for (var indice in json){
                                if ((GetId(indice))&&(json[indice]!='')&&(json[indice]!=null)) {
                                    GetId(indice).value = json[indice];
                                }
                            }
                            break;
                    }
                }
            }
        };
        var valores = "acao=buscaEmpresa&cnpj_Valida=sim,cnpj,CNPJ,text&cnpj=" + cnpj.value;
        if(GetId('id_tipo_empresa_prestador')){
            valores += "&id_tipo_empresa_prestador_Valida=sim,,,text&id_tipo_empresa_prestador=" + GetId('id_tipo_empresa_prestador').value;
        }
        Ajax.Solicitacao("acao.php", valores, Retorno);
        Ajax.Solicitar();
    },

    AbrirMerchandising: function(posicao,site,id_expositor,div){
        if(div!=null){
            CriaPopup(site,div);
        }else{
            window.open('http://'+site);
        }

        var URL = "acao.php";
        var valores = "acao=abrirMerchandising&posicao="+posicao+"&id_expositor="+id_expositor+"&link="+site;
        var ajax = CriaAjax();
        ajax.open('POST', URL, true);
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        ajax.onreadystatechange = function(){
//            if (ajax.readyState == 4) {
//                if(ajax.status == 200){
//                    if(div!=null){
//                        CriaPopup(site,div);
//                    }else{
//                        window.open('http://'+site);
//                    }
//                }
//            }
        };
        ajax.send(valores);
    },

    Lingua: function(linguagem_sigla,linguagem){
        var URL = "acao.php";
        var valores = "acao=lingua&linguagem="+linguagem+"&linguagem_sigla="+linguagem_sigla;
        var ajax = CriaAjax();
        ajax.open('POST', URL, true);
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        ajax.onreadystatechange = function(){
            if (ajax.readyState == 4) {
                if(ajax.status == 200){
                    window.location = 'index.php';
                }
            }
        };
        ajax.send(valores);
    },

    Logoff: function ()
    {
        var Logoff = new RequestObject();
        Logoff.Solicitar({
            url: 'acao.php',
            dados : "acao=Logoff",
            onLoad: function(Req, id)
            {
                var json = eval('(' + Req.responseText + ')');
                if (json.resultado == "sim")
                {
                    Redirect('index.php');
                }
            }
        });
    }
    
}
