﻿var _GeoFields = [];
var _GeoTimer = null;
$(document).ready(function()
{
    Geo_Setup();
});

function Geo_Setup()
{
    for (var i = 0; i < _GeoFields.length; i++)
    {
        $field = $("#" + _GeoFields[i]);
        if (!_GeoFields[i].Inited)
        {
            $field.autocomplete("/Ajax/GeoPositions.ashx", {
                dataType: 'json',
                parse: Geo_Parse,
                autoFill: false,
                cacheLength: 0,
                max: 20,
                delay: 500,
                mustMatch: true,
                formatItem: Geo_FormatItem,
                formatResult: Geo_FormatItem
            });
            $field.result(GeoField_Completed);
            _GeoFields[i].Inited = true;
        }
    }
}

function Geo_Parse(data)
{
    var rows = [];
    for (var i = 0; i < data.length; i++)
    {
        rows.push({ data: data[i], value: data[i].Name, result: data[i].Name });
    }
    return rows;
}

function Geo_FormatItem(row) {
    return row.Name;
}

function GeoField_Completed(e, data, formatted, i)
{
    if (data)
    {
        var hfValue = $(e.currentTarget).attr("id").replace("txtGeoQuery", "hfGeoValue");
        $("#" + hfValue).val(data.Type + "|" + data.Id + "|" + data.Name + "|" + data.Node);
    }
}