﻿function liFormat(row, i, num) {
    var result = "<span class='dreck'>" + (row[0].search('Показать все результаты поиска...') > -1 ? '' : row[1]) + "</span>" + row[0];
    
    return result;
}

function findValueCallback(event, data, formatted) {
    if (!data || formatted == 'Совпадений не найдено') {
        //не нашли ничего
    } else {
        if (data[0].search('Показать все результаты поиска...') > -1) {
            $("input[name$='search-text']").val(data[1]);
        }

        //find_click();
        $("input[name$='btnSearch']").click();
    }
}

function bindAutocomplete(id){
    $(document).ready(function() {
        parentGroupId = "";
        if ($("#searchInGroup").attr("value") == "true") {
            parentGroupId = $("#currentId").attr("value");
        }

        extraParamsStruct = {
            max: 20,
            parentGroupId: function() { return (($("#searchInGroup").attr("value") == "true") ? $("#currentId").attr("value") : "") }
        }

        $("#filterForm").find("input").each(function() {
            if ($("#searchForm " + "#" + this.id).length == 0) {
                if ((this.type.toLowerCase() == "checkbox") || (this.type.toLowerCase() == "radiobutton")) {
                    if (this.checked) {
                        extraParamsStruct[this.id] = this.value;
                    }
                }
                else {
                    extraParamsStruct[this.id] = this.value;
                }
            }
        });

        extraParamsStruct["searchInGroup"] = function() { return $("#searchInGroup").attr("value") }

        $("input[name$='" + id + "']").autocomplete("/Price/Autocomplete", {
            max: 21,
            extraParams: extraParamsStruct,
            delay: 550,
            minChars: 3,
            //matchSubset: true,
            autoFill: false,
            matchContains: false, //matchContains: true,
            cacheLength: 0, //cacheLength: 10,
            selectFirst: false,
            formatItem: liFormat,
            maxItemsToShow: 21,
            scrollHeight: 500
        });

        $("input[name$='" + id + "']").result(findValueCallback); //.next().click(function() { $(this).prev().search(); });
    });
}
