var MAG = Object.extend({}, MAG || {});
MAG.Autocompleter = Class.create(
{
	initialize: function(options)
	{
		this.options = {};
		Object.extend(this.options, options || {});

		Event.observe(window, 'load', function()
		{
			new Ajax.Autocompleter(
				"autocompleter",
				"autocomplete_choices",
				this.options.url,
				{
					paramName: "location",
					minChars: 3,
					method: 'get',
					tokens: ',',
					frequency : 0.,
					indicator: 'autocomplete_indicator',
					callback: this.getParams,
					afterUpdateElement : this.getSelectionId.bind(this)
				});

			Event.observe('search', 'click', function(){
				$('quick_search_form').submit()
			});

			Event.observe('clear', 'click', this.clearForm);

		}.bind(this));

	},

	getSelectionId: function(elem, li)
	{
		if(li.id != '0') {
			eval('var obj='+li.id+';');
			for(item in obj) {
				$(item).value = obj[item];
			}
			$('location_params').value = $F('location_params') + li.title + ', ';
		}
		$('autocompleter').value = $F('location_params');

	},

	getParams: function(dummy, loc)
	{
		var ret = loc;
		/*if(!$F('city_id') && !$F('quarter_group_id') && !$F('quarter_id')) {
			ret += '';
		}*/

		if($F('city_id')) {
			ret += '&city_id=' + $F('city_id');
		}

		if($F('quarter_group_id')) {
			ret += '&quarter_group_id=' + $F('quarter_group_id');
		}

		return ret;
	},

	clearForm: function()
	{
		$('quick_search_form').reset();
		$('city_id').value = '';
		$('quarter_group_id').value = '';
		$('quarter_id').value = '';
		$('location_params').value = '';
	}



});
