﻿/// <reference path="../../../Resources/jquery-vsdoc.js" />

$.extend({
    searchBox: new function() {
        var _self = this;
        var _searchResultsInProgress = false;

        _self.initialize = function() {

            $("#search-item-criteria")
                .keydown(function(event) {
                    if (event.keyCode == 13) {
                        _searchResults();
                    }
                })
                .autocomplete("/engine/getbusinessesbycriteria", {
                    dataType: "json",
                    selectFirst: false,
                    max: 30,
                    minChars: 2,
                    cacheLength: 0,
                    parse: _parseItem,
                    formatItem: function(row, i, n) { return row.Line; },
                    extraParams: {
                        criteria: function() { return $("#search-item-criteria").val() },
                        count: 30
                    }
                })
                .result(function(event, data, formatted) {
                    if (!_searchResultsInProgress) {
                        window.location.href = data.ID;
                    }
                });

            $("#search-button").click(function() {
                _searchResults();
            });
        }

        var _parseItem = function(data) {
            var rows = new Array();
            for (var i = 0; i < data.length; i++) {
                rows[i] = { data: data[i], value: data[i].Line, result: data[i].Name };
            }

            return rows;
        }

        var _searchResults = function() {
            var criteria = $("#search-item-criteria").val();

            if (criteria != "") {
                window.location.href = "/engine/searchresults?criteria=" + criteria;
                _searchResultsInProgress = true;
            }
        }
    }
});

$(function() {
    $.searchBox.initialize();
});
