﻿$(document).ready(function () {
    $(function () {
        var cache = {},
				    lastXhr;
        // 3.1.41#lacasadelelectrodomestico
        $("#BusquedaAvanzadaColumna #BuscarTodas").autocomplete({
            minLength: 2,
            delay: 0,
            select: function (event, ui) {
                this.value = ui.item.value;
                $(this).closest("form").submit();
            },
            source: function (request, response) {
                var term = request.term;
                if (term in cache) {
                    response(cache[term]);
                    return;
                }

                lastXhr = $.getJSON("_Autocompletar.aspx", request, function (data, status, xhr) {
                    cache[term] = data;
                    if (xhr === lastXhr) {
                        response(data);
                    }
                });
            }
        });
    });
});

// 3.1.43#lacasadelelectrodomestico
function AddBusquedaPredictivaLocalidad(strCampo, strCampoPais, strCampoProvincia, strAspx) {
    $(document).ready(function () {
        $(function () {
            var cache = {},
				    lastXhr;
            $('#' + strCampo).autocomplete({
                minLength: 2,
                delay: 0,
                select: function (event, ui) {
                    this.value = ui.item.value;
                },
                source: function (request, response) {
                    var idPais = $('#' + strCampoPais).attr('value');
                    var idProvincia = $('#' + strCampoProvincia).attr('value');
                    var term = idPais + '_' + idProvincia + '_' + request.term;
                    if (term in cache) {
                        response(cache[term]);
                        return;
                    }
                    lastXhr = $.getJSON(strAspx + '?IDPais=' + idPais + '&IDProvincia=' + idProvincia, request, function (data, status, xhr) {
                        cache[term] = data;
                        if (xhr === lastXhr) {
                            response(data);
                        }
                    });
                }
            });
        });
    });    
}
