﻿//INICIO DO CONTROLE DAS TABS //
//Avança o tabIndex do PageControl
function ASPxButtonAvancar_Click(s, e) {
    var vActiveTabIndex = ASPxPageControlDownload.GetActiveTab().index;

    switch (vActiveTabIndex) {
        case 0: //Identificação
            {
                ResetarCampos();
                if (ValidarGrupo("Etapa1")) {
                    ASPxCallbackEnviarDados.SendCallback("Identificacao;" + ASPxTextBoxEmail.GetText());
                }
                break;
            }
        case 1: //Cliente cadastrado
            {
                if (ValidarGrupo("Cliente")) {
                    ASPxCallbackEnviarDados.SendCallback("IdentificacaoCliente;");
                }
                break;
            }
        case 2: //Futuro cliente cadastrado
            {
                if (ValidarGrupo("FuturoCliente")) {
                    ASPxCallbackEnviarDados.SendCallback("IdentificacaoFuturoCliente;");
                }
                break;
            }
        case 3: //Cadastro de futuro cliente
            {
                if (ValidarGrupo("Finalizar")) {
                    var vValidacaoOk = true;
                    if (ASPxCheckBoxCriarSenha.GetValue()) {
                        if (ASPxButtonEditPaisBasico.GetText() == "Brasil") {
                            if (ASPxTextBoxTelefone2Completo.GetText() != "" && ASPxTextBoxTelefone2Completo.GetText() != "(__)__________") {
                                if (ValidarGrupo("Telefone2")) {
                                    vValidacaoOk = true;
                                }
                                else {
                                    vValidacaoOk = false;
                                }
                            }

                            if (vValidacaoOk) {
                                if (ASPxTextBoxTelefone3Basico.GetText() != "" && ASPxTextBoxTelefone3Completo.GetText() != "(__)__________") {
                                    if (ValidarGrupo("Telefone3")) {
                                        vValidacaoOk = true;
                                    }
                                    else {
                                        vValidacaoOk = false;
                                    }
                                }
                            }
                        }
                        else {
                            if (ASPxTextBoxTelefone2CompletoOutroPais.GetText() != "" && ASPxTextBoxTelefone2CompletoOutroPais.GetText() != "____________") {
                                if (ValidarGrupo("Telefone2")) {
                                    vValidacaoOk = true;
                                }
                                else {
                                    vValidacaoOk = false;
                                }
                            }

                            if (vValidacaoOk) {
                                if (ASPxTextBoxTelefone3CompletoOutroPais.GetText() != "" && ASPxTextBoxTelefone3CompletoOutroPais.GetText() != "____________") {
                                    if (ValidarGrupo("Telefone3")) {
                                        vValidacaoOk = true;
                                    }
                                    else {
                                        vValidacaoOk = false;
                                    }
                                }
                            }
                        }
                    }
                    else {
                        if (ASPxButtonEditPaisBasico.GetText() == "Brasil") {
                            if (ASPxTextBoxTelefone2Basico.GetText() != "" && ASPxTextBoxTelefone2Basico.GetText() != "(__)__________") {
                                if (ValidarGrupo("Telefone2")) {
                                    vValidacaoOk = true;
                                }
                                else {
                                    vValidacaoOk = false;
                                }
                            }

                            if (vValidacaoOk) {
                                if (ASPxTextBoxTelefone3Basico.GetText() != "" && ASPxTextBoxTelefone3Basico.GetText() != "(__)__________") {
                                    if (ValidarGrupo("Telefone3")) {
                                        vValidacaoOk = true;
                                    }
                                    else {
                                        vValidacaoOk = false;
                                    }
                                }
                            }
                        }
                        else {
                            if (ASPxTextBoxTelefone2BasicoOutroPais.GetText() != "" && ASPxTextBoxTelefone2BasicoOutroPais.GetText() != "____________") {
                                if (ValidarGrupo("Telefone2")) {
                                    vValidacaoOk = true;
                                }
                                else {
                                    vValidacaoOk = false;
                                }
                            }

                            if (vValidacaoOk) {
                                if (ASPxTextBoxTelefone3BasicoOutroPais.GetText() != "" && ASPxTextBoxTelefone3BasicoOutroPais.GetText() != "____________") {
                                    if (ValidarGrupo("Telefone3")) {
                                        vValidacaoOk = true;
                                    }
                                    else {
                                        vValidacaoOk = false;
                                    }
                                }
                            }
                        }
                    }


                    if (vValidacaoOk) {
                        if (ASPxCheckBoxCriarSenha.GetValue()) {
                            vValidacaoOk = false;
                            if (ASPxTextBoxSenhaCompleto.GetText() != ASPxTextBoxRepetirSenhaCompleto.GetText()) {
                                ExibirPopUpMensagem("<p>A senha digitada não confere. Verifique.</p>", "P");
                            }
                            else {
                                vValidacaoOk = true;
                            }
                        }

                        if (vValidacaoOk) {
                            ASPxCallbackEnviarDados.SendCallback("Inclusao;" + RecuperarDadosFormCadastroFuturoCliente());
                        }
                    }
                }
                break;
            }
        case 4: //Atualização de futuro cliente
            {
                if (ValidarGrupo("Finalizar")) {
                    var vValidacaoOk = true;
                    if (ASPxButtonEditPais.GetText() == "Brasil") {
                        if (ASPxTextBoxTelefone2.GetText() != "" && ASPxTextBoxTelefone2.GetText() != "(__)__________") {
                            if (ValidarGrupo("Telefone2")) {
                                vValidacaoOk = true;
                            }
                            else {
                                vValidacaoOk = false;
                            }
                        }

                        if (vValidacaoOk) {
                            if (ASPxTextBoxTelefone3.GetText() != "" && ASPxTextBoxTelefone3.GetText() != "(__)__________") {
                                if (ValidarGrupo("Telefone3")) {
                                    vValidacaoOk = true;
                                }
                                else {
                                    vValidacaoOk = false;
                                }
                            }
                        }
                    }
                    else {
                        if (ASPxTextBoxTelefone2OutroPais.GetText() != "" && ASPxTextBoxTelefone2OutroPais.GetText() != "(__)__________") {
                            if (ValidarGrupo("Telefone2")) {
                                vValidacaoOk = true;
                            }
                            else {
                                vValidacaoOk = false;
                            }
                        }

                        if (vValidacaoOk) {
                            if (ASPxTextBoxTelefone3OutroPais.GetText() != "" && ASPxTextBoxTelefone3OutroPais.GetText() != "(__)__________") {
                                if (ValidarGrupo("Telefone3")) {
                                    vValidacaoOk = true;
                                }
                                else {
                                    vValidacaoOk = false;
                                }
                            }
                        }
                    }
                    if (vValidacaoOk) {
                        ASPxCallbackEnviarDados.SendCallback("Atualizacao;" + RecuperarDadosFormCadastroFuturoCliente());
                    }
                }
                break;
            }
        default:
            break;
    }
}

//Avança a tab
function AvancarTab(tabIndex) {
    for (var Indice = 0; Indice < ASPxPageControlDownload.GetTabCount(); Indice++) {
        if (Indice != tabIndex && ASPxPageControlDownload.GetTab(Indice).GetVisible()) {
            ASPxPageControlDownload.GetTab(Indice).SetVisible(false);
        }
    }
    ASPxPageControlDownload.GetTab(tabIndex).SetVisible(true);
}
//FIM DO CONTROLE DE TABS

// CALLBACK DE ENVIO DE DADOS
function ASPxCallbackEnviarDados_BeginCallback(s, e) {
    ExibirLoadingPanel(true);
}

function ASPxCallbackEnviarDados_CallbackComplete(s, e) {
    ASPxComboBoxSites.SetFocus();
    AvancarTab(ASPxCallbackEnviarDados.cpEtapa);

    //Se ocorrer algum erro de callback sera disparado o envio de e-mail
    if (ASPxCallbackEnviarDados.cpErro) {
        if (ASPxCallbackEnviarDados.cpMensagem == null || ASPxCallbackEnviarDados.cpMensagem == "EX") {
            ASPxCallbackErro.SendCallback(ASPxCallbackEnviarDados.cpMensagem);
        }
    }
    //Exibe todas as mensagens definidas pelo server
    else if (ASPxCallbackEnviarDados.cpMensagemTipo != null && ASPxCallbackEnviarDados.cpMensagemTipo != "") {
        ExibirPopUpMensagem(ASPxCallbackEnviarDados.cpMensagem, ASPxCallbackEnviarDados.cpMensagemTipo);
    }
    //Se nao entrar em nenhuma condição acima.
    else {
        if (ASPxCallbackEnviarDados.cpExibirCadastro) {
            ASPxCallbackPanelCadastro.PerformCallback("Cadastro");
            if (ASPxCallbackEnviarDados.cpSistemaID != 0) {
                ASPxComboBoxSistemaCadastro.SetValue(ASPxCallbackEnviarDados.cpSistemaID);
            }
        }
        else if (ASPxCallbackEnviarDados.cpExibirAtualizacao) {
            ASPxCallbackPanelAtualizacao.PerformCallback("Atualizacao");
            if (ASPxCallbackEnviarDados.cpSistemaID != 0) {
                ASPxComboBoxSistemaAtualizacao.SetValue(ASPxCallbackEnviarDados.cpSistemaID);
            }
            ASPxMemoObservacaoAtualizacao.SetText(ASPxMemoObservacaoFuturoCliente.GetText());
        }
    }
}

//Se der erro envia um e-mail de falha.
function ASPxCallbackEnviarDados_Callback_Error(s, e) {
    OcultarLoadingPanel(true);
    ASPxCallbackErro.SendCallback(e.message);
}

function ASPxCallbackEnviarDados_EndCallback(s, e) {
    //Se o componente possuir uma url será disparado a mesma.
    if (ASPxCallbackEnviarDados.cpUrl != null && ASPxCallbackEnviarDados.cpUrl != "") {
        EfetuarDownload(ASPxCallbackEnviarDados.cpUrl);
    }
    else {        
        var vActiveTabIndex = ASPxPageControlDownload.GetActiveTab().index;
        if (vActiveTabIndex == 1) {
            ASPxTextBoxEmailCliente.SetText(ASPxCallbackEnviarDados.cpEmail);
            ASPxButtonAvancar.SetText("Iniciar download &raquo;");
        }
        else if (vActiveTabIndex == 2) {
            ASPxTextBoxEmailFuturoCliente.SetText(ASPxCallbackEnviarDados.cpEmail);
            if (ASPxCheckBoxAlterarDados.GetValue()) {
                ASPxButtonAvancar.SetText("Atualizar dados &raquo;");
            }
            else {
                ASPxButtonAvancar.SetText("Iniciar download &raquo;");
            }
        }
        OcultarLoadingPanel(true);
    }
}
//FIM DO CALLBACK DE ENVIO DE DADOS

function ASPxCheckBoxAlterarDados_CheckedChanged(s, e) {
    ASPxCallbackEnviarDados.SendCallback("AtivarAtualizarCadastro;");
}
function ASPxHyperLinkEsqueciSenha_Click(s, e) {
    if (ConfirmarRecuperarSenha()) {
        ASPxCallbackEnviarDados.SendCallback("RecuperarSenha;");
    }
}

//INICIO DOS DOWNLOADS

function EfetuarDownload(url) {
    window.location.href = url;
}
//FIM DOS DOWNLOADS

//Recupera os dados do form para prepar inclusao/alteração
//Caracter separador de string ?
//Caracter separador de blocos de string ;
function RecuperarDadosFormCadastroFuturoCliente() {
    var vRetorno = "";
    if (ASPxCallbackEnviarDados.cpTipoCadastro == "A") {
        vRetorno += "CadastroCompleto?true;";
        vRetorno += "Email?" + ASPxTextBoxEmail.GetText() + ";";
        vRetorno += "PessoaJuridica?" + ASPxRadioButtonListPessoa.GetValue() + ";";
        vRetorno += "Nome?" + ASPxTextBoxNome.GetText() + ";";
        vRetorno += "Contato?" + ASPxTextBoxContato.GetText() + ";";
        vRetorno += "CNPJ?" + ASPxTextBoxCNPJ.GetText() + ";";
        vRetorno += "InscricaoEstadual?" + ASPxTextBoxInscricaoEstadual.GetText() + ";";
        vRetorno += "CPF?" + ASPxTextBoxCPF.GetText() + ";";
        vRetorno += "RG?" + ASPxTextBoxRG.GetText() + ";";
        vRetorno += "Atividade?" + ASPxTextBoxAtividade.GetText() + ";";
        vRetorno += "Pais?" + ASPxButtonEditPais.GetText() + ";";
        if (ASPxPanelBrasil.GetVisible()) {
            vRetorno += "CEP?" + ASPxTextBoxCEP.GetText() + ";";
            vRetorno += "Endereco?" + ASPxTextBoxEndereco.GetText() + ";";
            vRetorno += "Bairro?" + ASPxTextBoxBairro.GetText() + ";";
            vRetorno += "Cidade?" + ASPxTextBoxCidade.GetText() + ";";
            vRetorno += "UFID?" + ASPxComboBoxUF.GetValue() + ";";
            vRetorno += "Telefone1?" + ASPxTextBoxTelefone1.GetText() + ";";
            vRetorno += "Telefone2?" + ASPxTextBoxTelefone2.GetText() + ";";
            vRetorno += "Telefone3?" + ASPxTextBoxTelefone3.GetText() + ";";
        }
        else {
            vRetorno += "Endereco?" + ASPxTextBoxEnderecoOutroPais.GetText() + ";";
            vRetorno += "Bairro?" + ASPxTextBoxBairroOutroPais.GetText() + ";";
            vRetorno += "Cidade?" + ASPxTextBoxCidadeOutroPais.GetText() + ";";
            vRetorno += "Telefone1?" + ASPxTextBoxTelefone1OutroPais.GetText() + ";";
            vRetorno += "Telefone2?" + ASPxTextBoxTelefone2OutroPais.GetText() + ";";
            vRetorno += "Telefone3?" + ASPxTextBoxTelefone3OutroPais.GetText() + ";";
        }
        vRetorno += "InstituicaoEducacional?" + ASPxTextBoxInstituicaoEducacional.GetText() + ";";
    }
    else if (ASPxCallbackEnviarDados.cpTipoCadastro == "I") {
        if (!ASPxCheckBoxCriarSenha.GetValue()) {
            vRetorno += "CadastroCompleto?false;";
            vRetorno += "Email?" + ASPxTextBoxEmail.GetText() + ";";
            vRetorno += "PessoaJuridica?" + ASPxRadioButtonListPessoaBasico.GetValue() + ";";
            vRetorno += "Nome?" + ASPxTextBoxNomeBasico.GetText() + ";";
            vRetorno += "Contato?" + ASPxTextBoxContatoBasico.GetText() + ";";
            vRetorno += "CNPJ?" + ASPxTextBoxCNPJBasico.GetText() + ";";
            vRetorno += "InscricaoEstadual?" + ASPxTextBoxInscricaoEstadualBasico.GetText() + ";";
            vRetorno += "CPF?" + ASPxTextBoxCPFBasico.GetText() + ";";
            vRetorno += "RG?" + ASPxTextBoxRGBasico.GetText() + ";";
            vRetorno += "Atividade?" + ASPxTextBoxAtividadeBasico.GetText() + ";";
            vRetorno += "Pais?" + ASPxButtonEditPaisBasico.GetText() + ";";
            if (ASPxPanelBrasil.GetVisible()) {
                vRetorno += "CEP?" + ASPxTextBoxCEPBasico.GetText() + ";";
                vRetorno += "Endereco?" + ASPxTextBoxEnderecoBasico.GetText() + ";";
                vRetorno += "Bairro?" + ASPxTextBoxBairroBasico.GetText() + ";";
                vRetorno += "Cidade?" + ASPxTextBoxCidadeBasico.GetText() + ";";
                vRetorno += "UFID?" + ASPxComboBoxUFBasico.GetValue() + ";";
                vRetorno += "Telefone1?" + ASPxTextBoxTelefone1Basico.GetText() + ";";
                vRetorno += "Telefone2?" + ASPxTextBoxTelefone2Basico.GetText() + ";";
                vRetorno += "Telefone3?" + ASPxTextBoxTelefone3Basico.GetText() + ";";
            }
            else {
                vRetorno += "Endereco?" + ASPxTextBoxEnderecoBasicoOutroPais.GetText() + ";";
                vRetorno += "Bairro?" + ASPxTextBoxBairroBasicoOutroPais.GetText() + ";";
                vRetorno += "Cidade?" + ASPxTextBoxCidadeBasicoOutroPais.GetText() + ";";
                vRetorno += "Telefone1?" + ASPxTextBoxTelefone1BasicoOutroPais.GetText() + ";";
                vRetorno += "Telefone2?" + ASPxTextBoxTelefone2BasicoOutroPais.GetText() + ";";
                vRetorno += "Telefone3?" + ASPxTextBoxTelefone3BasicoOutroPais.GetText() + ";";
            }
            vRetorno += "InstituicaoEducacional?" + ASPxTextBoxInstituicaoEducacionalBasico.GetText() + ";";
        }
        else {
            vRetorno += "CadastroCompleto?true;";
            vRetorno += "Email?" + ASPxTextBoxEmail.GetText() + ";";
            vRetorno += "PessoaJuridica?" + ASPxRadioButtonListPessoaCompleto.GetValue() + ";";
            vRetorno += "Nome?" + ASPxTextBoxNomeCompleto.GetText() + ";";
            vRetorno += "Contato?" + ASPxTextBoxContatoCompleto.GetText() + ";";
            vRetorno += "CNPJ?" + ASPxTextBoxCNPJCompleto.GetText() + ";";
            vRetorno += "InscricaoEstadual?" + ASPxTextBoxInscricaoEstadualCompleto.GetText() + ";";
            vRetorno += "CPF?" + ASPxTextBoxCPFCompleto.GetText() + ";";
            vRetorno += "RG?" + ASPxTextBoxRGCompleto.GetText() + ";";
            vRetorno += "Atividade?" + ASPxTextBoxAtividadeCompleto.GetText() + ";";
            vRetorno += "Pais?" + ASPxButtonEditPaisCompleto.GetText() + ";";
            if (ASPxPanelBrasilCompleto.GetVisible()) {
                vRetorno += "CEP?" + ASPxTextBoxCEPCompleto.GetText() + ";";
                vRetorno += "Endereco?" + ASPxTextBoxEnderecoCompleto.GetText() + ";";
                vRetorno += "Bairro?" + ASPxTextBoxBairroCompleto.GetText() + ";";
                vRetorno += "Cidade?" + ASPxTextBoxCidadeCompleto.GetText() + ";";
                vRetorno += "UFID?" + ASPxComboBoxUFCompleto.GetValue() + ";";
                vRetorno += "Telefone1?" + ASPxTextBoxTelefone1Completo.GetText() + ";";
                vRetorno += "Telefone2?" + ASPxTextBoxTelefone2Completo.GetText() + ";";
                vRetorno += "Telefone3?" + ASPxTextBoxTelefone3Completo.GetText() + ";";
            }
            else {
                vRetorno += "Endereco?" + ASPxTextBoxEnderecoCompletoOutroPais.GetText() + ";";
                vRetorno += "Bairro?" + ASPxTextBoxBairroCompletoOutroPais.GetText() + ";";
                vRetorno += "Cidade?" + ASPxTextBoxCidadeCompletoOutroPais.GetText() + ";";
                vRetorno += "Telefone1?" + ASPxTextBoxTelefone1CompletoOutroPais.GetText() + ";";
                vRetorno += "Telefone2?" + ASPxTextBoxTelefone2CompletoOutroPais.GetText() + ";";
                vRetorno += "Telefone3?" + ASPxTextBoxTelefone3CompletoOutroPais.GetText() + ";";
            }
            vRetorno += "InstituicaoEducacional?" + ASPxTextBoxInstituicaoEducacionalCompleto.GetText() + ";";
            vRetorno += "Senha?" + ASPxTextBoxSenhaCompleto.GetText() + ";";
        }
    }
    return vRetorno;
}

function ResetarCampos(s, e) {
    ASPxMemoObservacaoFuturoCliente.SetText("");
    ASPxTextBoxSenhaFuturoCliente.SetText("");
    ASPxCheckBoxAlterarDados.SetChecked(false);
    ASPxMemoObservacaoCliente.SetText("");
    ASPxTextBoxSenhaCliente.SetText("");
}

function ASPxPageControlDownload_Init(s, e) {
    s.SetVisible(true);
}