var Cagi_Autocompleter = {

    options: {
        url: '/ajax/suggest-location/',
        inputId: '#location',
        resultBlockId: undefined,
        resultHandler: function() {}
    },

    init: function(options) {
        for (var k in options) {
            this.options[k] = options[k];
        }
        
        $(this.options.inputId).autocomplete(Cagi_Autocompleter.options.url, {
            dataType: 'json',
            minChars: 3,
            cacheLength: 1,
            matchSubset: true,
            resultBlockId: Cagi_Autocompleter.options.resultBlockId,
            max: 300,
            parse: function(data){
               var array = new Array();
               for(var i = 0;i < data.items.length; i++) {
                       array[array.length] = {data: data.items[i], value: data.items[i].name, result: data.items[i].name};
               }
               return array;
            },
            formatItem: function(row) {
                return row.name;
            }
        });
        $(this.options.inputId).result(Cagi_Autocompleter.options.resultHandler);
    }
}
