if(typeof Ajax.Autocompleter=="undefined")
{
	throw ("td.library.js requires including script.aculo.us' controls.js library");
}

TechDivision.StreetAutocompleter=Class.create(Ajax.Autocompleter,
	{
		initialize:function(c,d,e,b,a)
		{
			this.baseInitialize(c,e,a);
			this.options.asynchronous=true;
			this.options.onComplete=this.onComplete.bind(this);
			this.options.defaultParams=this.options.parameters||null;
			this.url=b;
			this.hiddenElement=d;
			this.options.autoSelect=true;
		},
		
		onComplete:function(c)
		{
			var b=c.responseText.evalJSON();
			var a="<ul>";
			
			for(i=0;i<b.length;i++)
			{
				a+="<li class='even' id=\""+b[i].point+'" title="'+b[i].street+'">'+b[i].street+"<br/><small>("+b[i].postcode+" "+b[i].quarter+")</small></li>";
			}
			
			this.updateChoices(a+"</ul>");
			
			if(b.length>0)
			{
				this.hiddenElement.value=b[0].point;
			}
		}
	}
);