﻿
function PreencherComboJQuery(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, service) {
    if(service == "undefined" || service == null)
        service = "AjaxService";
            
    $.ajax({
        type: "POST",
        url: ObterDominio() + service + ".asmx/" + metodo,
        data: parametros,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(response) {
            AdicionarSelecione(idCombo);
            AtribuirListagemCombo(idCombo, response.d, propriedadeValor, propriedadeTexto);
        }
    });
}

function PreencherComboJQueryJson(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, url, adicionaSelecione, selecionarPrimeiroItem) {
    if (url == "undefined" || url == null)
        url = "carros/ajax.aspx";

    if (adicionaSelecione == "undefined" || adicionaSelecione == null)
        adicionaSelecione = true;        
    else
        adicionaSelecione = Boolean(adicionaSelecione);

    if (selecionarPrimeiroItem == "undefined" || selecionarPrimeiroItem == null)
        selecionarPrimeiroItem = false;
    else
        selecionarPrimeiroItem = Boolean(selecionarPrimeiroItem);

    var ajaxPage = ObterDominio() + url + "?metodo=" + metodo;
    
    if (parametros != "undefined" && parametros != null)
        ajaxPage += "&" + parametros;        
     
    var indicadorItens = false;
    
    $.getJSON(ajaxPage,
        function(data) {
            if (adicionaSelecione == true) {
                AdicionarSelecione(idCombo);
            }

            AtribuirListagemCombo(idCombo, data, propriedadeValor, propriedadeTexto);

            if( data.length > 0){
                indicadorItens = true;
                
                if (selecionarPrimeiroItem == true) {
                    $('#' + idCombo).val(data[0][propriedadeValor]);
                    $('#' + idCombo).change();
                }
            }               
        });
            
    return indicadorItens;
}

function PreencherComboAjaxCarros(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, adicionaSelecione, selecionarPrimeiroItem) {
    return PreencherComboJQueryJson(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, "carros/ajax.aspx", adicionaSelecione, selecionarPrimeiroItem);
}

function PreencherComboAjaxImoveis(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, adicionaSelecione, selecionarPrimeiroItem) {
    return PreencherComboJQueryJson(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, "imoveis/ajax.aspx", adicionaSelecione, selecionarPrimeiroItem);
}

function PreencherComboAjaxMix(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, adicionaSelecione, selecionarPrimeiroItem) {
    return PreencherComboJQueryJson(metodo, parametros, idCombo, propriedadeValor, propriedadeTexto, "mix/ajax.aspx", adicionaSelecione, selecionarPrimeiroItem);
}

function AdicionarSelecione(idCombo) {
    $('#' + idCombo).addOption("", "Selecione");
}

function HabilitarCombo(idCombo, habilitar) {
    $('#' + idCombo).attr("disabled", !habilitar);
}

function RemoverTodosItens(idCombo) {
    $('#' + idCombo).removeOption(/./);    
}

function LimparCombo(idCombo) {
    RemoverTodosItens(idCombo);
    AdicionarSelecione(idCombo);
    HabilitarCombo(idCombo, false);
}
function LimparComboParam(idCombo, selecione) {
    RemoverTodosItens(idCombo);
    if (selecione){
        AdicionarSelecione(idCombo);
    }
    HabilitarCombo(idCombo, false);
}

function AtribuirListagemCombo(idCombo, lista, propriedadeValor, propriedadeTexto) {
    RemoverTodosItens(idCombo);

    if (lista.length > 0) {                 
        for (var i = 0; i < lista.length; i++) {
            $('#' + idCombo).addOption(lista[i][propriedadeValor], lista[i][propriedadeTexto], false);
        }
        HabilitarCombo(idCombo, true);
    }
    else {
        AdicionarSelecione(idCombo);
        HabilitarCombo(idCombo, false);
    }
}

function VerificaVazio(valor) {
    return valor == null || valor == "";
}

function AtribuirValor(combo, hdn) {
    $("#" + hdn).attr("value", combo.value);
} 