j$ = jQuery;
function AddressFinder(container)
{
	if (typeof container == 'string') {
		var container = document.getElementById(container);
	}
	this.container = container;
	j$(container).append('<input id="address_finder" name="address_finder" type="text" size="10"/>');
	j$(container).append('<br />');
	j$(container).append('<a href="javascript:void(0)" class="text-bold">Find Address <img style="vertical-align:middle" alt="Find Address" src="/static/images/arrow.jpg"/></a>');
	this.input = this.container.getElementsByTagName('input')[0];
	this.link = this.container.getElementsByTagName('a')[0];
	var _this = this;
	j$(this.link).bind('click', function() { _this.runSearch(); });
	j$(this.input).bind('keydown', function(e) { 
		if (e.keyCode == 13) {
			_this.runSearch();
			return false;
		}
	});
}
AddressFinder.prototype = {
	runSearch:
	function()
	{
		this.byPostcode(this.input.value);
	},
	byPostcode:
	function(postcode)
	{
		var _this = this;
		var url = "/addressfinder/" + postcode + "/";
		j$.getJSON(url, function(items) {
			if (items.error) {
				alert(items.error);
			} else {
				_this.populateAddress(items[0]);
			}
		});
	},
	populateAddress:
	function(fields)
	{
		for (f in fields) {
			var input = document.getElementById('id_' + f);
			if (input) {
				input.value = fields[f];
			}
		}
	}
};

