$(function() {
	var cache = {}, lastXhr;

	$("#searchBox").autocomplete({
		minLength: 2,
		source: function( request, response ) {
			var term = request.term;

			if (term in cache) {
				response(cache[term]);
				return;
			}

			var customRequest = {
				query: request.term,
				channel: 'hu',
				format: 'json'
			};

			lastXhr = $.getJSON( "factfinder_suggest.php", customRequest, function( data, status, xhr ) {
				cache[term] = data;
				if (xhr === lastXhr) {
					response(data);
				}
			});
		},
		select: function(event, ui) { 
			$('#searchBox').val(ui.item.label);
			$('#searchBox').closest('form').submit();
		}
	});
});


