﻿function ASPxPageControlImovel_ActiveTabChanging(s, e, pUrl, pCodigo) {
    if (e.tab.index == 2) {
        if (pUrl == null) {
            ExibirNotificacao("<p>Mapa não disponível</p>");
        }
        else {
            window.open(pUrl, "Mapa");
        }
        e.cancel = true;
    }
    else if (e.tab.index == 4) {
        window.open("VersaoImpressao/" + pCodigo);
        e.cancel = true;
    }
}

function AbrirPopupPesquisaTodos() {
    ExibirPopUpControl(ASPxPopupControlPrincipal, "Listagem de imóveis", null, "/Imoveis/Todos", true, 60, 40);
}

function AbrirPopupPesquisaVenda() {
    ExibirPopUpControl(ASPxPopupControlPrincipal, "Listagem de imóveis", null, "/Imoveis/Venda", true, 60, 40);
}

function AbrirPopupPesquisaLocacao() {
    ExibirPopUpControl(ASPxPopupControlPrincipal, "Listagem de imóveis", null, "/Imoveis/Locacao", true, 60, 40);
}

function ASPxGridViewImoveis_RowDblClick(s, e) {
    s.GetRowValues(s.GetFocusedRowIndex(), "Codigo;", ASPxGridViewImoveis_GetRowValues);
}

function ASPxGridViewImoveis_GetRowValues(values) {
    parent.ExibirImovelDetalhesTodosImoveis(values[0]);
}

function ExibirImovelDetalhes(pCodigo) {
    ExibirPopUpControl(ASPxPopupControlPrincipal, "Detalhes do imóvel", null, "/Imoveis/" + pCodigo, true, 90, 60);
}

function ExibirImovelDetalhesTodosImoveis(pCodigo) {
    ExibirPopUpControl(ASPxPopupControlSecundaria, "Detalhes do imóvel", null, "/Imoveis/" + pCodigo, true, 90, 60);
}

function ExibirFaleConosco(pCodigo, pAssunto) {
    window.location = "/Contato/Imovel/" + pCodigo + "/" + pAssunto + ";0;;;;;;;;0;;;;;";
}

//#region Busca

function ASPxButtonBuscar_Click(s, e) {
    if ((ASPxComboBoxTipo.InCallback()) || (ASPxComboBoxUF.InCallback()) ||
       (ASPxComboBoxCidadeMunicipio.InCallback()) || (ASPxComboBoxBairro.InCallback())
        || (ASPxComboBoxCondominio.InCallback())) {
        ExibirNotificacao("<p>Aguarde o carregamento de todos os campos.</p>");
    }
    else {
        ASPxComboBoxUF.Validate();
        if (ValidarGrupo("Busca")) {
            var vUrl = "/Imoveis/BuscaParametrizada=";
            //disponibilidade
            if (ASPxRadioButtonLocacao.GetChecked()) {
                vUrl += "Locação,";
            }
            else {
                vUrl += "Venda,";
            }

            //tipo do imóvel
            if (ASPxComboBoxTipo.GetValue() == 99) {
                vUrl += ",";
            }
            else {
                vUrl += ASPxComboBoxTipo.GetValue() + ",";
            }

            //unidade federativa
            if (ASPxComboBoxUF.GetValue() == "XX") {
                vUrl += ",";
            }
            else {
                vUrl += ASPxComboBoxUF.GetValue() + ",";
            }

            //cidade/município
            if (ASPxComboBoxCidadeMunicipio.GetValue() == 0) {
                vUrl += ",";
            }
            else {
                vUrl += ASPxComboBoxCidadeMunicipio.GetText() + ",";
            }

            //bairro
            if (ASPxComboBoxBairro.GetValue() == "" || ASPxComboBoxBairro.GetValue() == null) {
                vUrl += ",";
            }
            else {
                vUrl += ASPxComboBoxBairro.GetText() + ",";
            }

            //condomínio
            if (ASPxComboBoxCondominio.GetValue() == 0) {
                vUrl += ",";
            }
            else {
                vUrl += ASPxComboBoxCondominio.GetText() + ",";
            }

            vUrl += ASPxSpinEditDormitoriosMin.GetValue() + ",";
            vUrl += ASPxSpinEditDormitoriosMax.GetValue() + ",";
            vUrl += ASPxSpinEditGaragemMin.GetValue() + ",";
            vUrl += ASPxSpinEditGaragemMax.GetValue() + ",";
            vUrl += ASPxSpinEditAreaMin.GetValue() + ",";
            vUrl += ASPxSpinEditAreaMax.GetValue() + ",";
            vUrl += ASPxSpinEditPrecoMin.GetValue() + ",";
            vUrl += ASPxSpinEditPrecoMax.GetValue() + ",";

            if (ASPxCheckBoxFoto.GetChecked()) {
                vUrl += "T";
            }

            ExibirPopUpControl(ASPxPopupControlPrincipal, "Listagem de imóveis", null, vUrl, true, 60, 40);
        }
    }
}

function ASPxComboBoxBairro_Aguarde() {
    ASPxComboBoxBairro.ClearItems();
    if (!ASPxComboBoxBairro.InCallback) {
        ASPxComboBoxBairro.AddItem("Aguarde...", "-1");
    }
    ASPxComboBoxBairro.SetSelectedIndex(0);
}

function ASPxComboBoxBairro_EndCallback(s, e) {
    ASPxComboBoxCondominio.PerformCallback(ASPxComboBoxCidadeMunicipio.GetValue() + ";" + ASPxComboBoxBairro.GetValue() + ";" + ASPxComboBoxUF.GetValue());
}

function ASPxComboBoxBairro_SelectedIndexChanged(s, e) {
    ASPxComboBoxCondominio_Aguarde();
    ASPxComboBoxCondominio.PerformCallback(ASPxComboBoxCidadeMunicipio.GetValue() + ";" + ASPxComboBoxBairro.GetValue() + ";" + ASPxComboBoxUF.GetValue());
}

function ASPxComboBoxCidadeMunicipio_Aguarde() {
    ASPxComboBoxCidadeMunicipio.ClearItems();
    if (!ASPxComboBoxCidadeMunicipio.InCallback) {
        ASPxComboBoxCidadeMunicipio.AddItem("Aguarde...", "-1");
    }
    ASPxComboBoxCidadeMunicipio.SetSelectedIndex(0);
}

function ASPxComboBoxCidadeMunicipio_EndCallback(s, e) {
    ASPxComboBoxBairro.PerformCallback(ASPxComboBoxCidadeMunicipio.GetValue());    
}

function ASPxComboBoxCidadeMunicipio_SelectedIndexChanged(s, e) {    
    ASPxComboBoxBairro_Aguarde();
    ASPxComboBoxCondominio_Aguarde();
    ASPxComboBoxBairro.PerformCallback(ASPxComboBoxCidadeMunicipio.GetValue());    
}

function ASPxComboBoxCondominio_Aguarde() {
    ASPxComboBoxCondominio.ClearItems();
    if (!ASPxComboBoxCondominio.InCallback) {
        ASPxComboBoxCondominio.AddItem("Aguarde...", "-1");
    }
    ASPxComboBoxCondominio.SetSelectedIndex(0);
}

function ASPxComboBoxUF_SelectedIndexChanged(s, e) {
    AtualizarCidade();
    ASPxComboBoxCondominio.PerformCallback(ASPxComboBoxCidadeMunicipio.GetValue() + ";" + ASPxComboBoxBairro.GetValue() + ";" + ASPxComboBoxUF.GetValue());
}

function AtualizarCidade() {
    ASPxComboBoxCidadeMunicipio_Aguarde();    
    ASPxComboBoxBairro_Aguarde();
    ASPxComboBoxCondominio_Aguarde();

    ASPxComboBoxCidadeMunicipio.PerformCallback(ASPxComboBoxCidadeMunicipio.GetValue());
}

//#endregion
