$(function() {
	$('#shop-by-location-form').submit(function(e) {
		e.stop();
		var form = $(e.target),
			error = form.find('.error').hide(),
			postcode = form.find('#postcode').val(),
			values = form.serialize() + '&startrank=0&prefdb=product&view=geo_products';
		
		myDeco.createCookie('geolocation', postcode, 60);
		myDeco.buttons.disable(form);
		
		myDeco.location2coords(postcode, function(coords) {
			values += '&distance_centre=' + coords.join(',');
			document.location = '/search/?' + values;
		}, function(data) {
			myDeco.buttons.enable(form);
			if(data.message)
				error.html(data.message).show();
		});
	});
})