$(document).ready(function() {

	var cache = {},
		lastXhr;
	var json_url = "/livesearch.php";
	$('#search input[type=text]').autocomplete({
			source: function( request, response ) {
				var term = request.term;
				if ( term in cache ) {
					response( cache[ term ] );
					return;
				}

				lastXhr = $.getJSON( json_url, {q:term}, function( data, status, xhr ) {
					cache[ term ] = data;
					if ( xhr === lastXhr ) {
						response( data );
					}
				});
			},
			minLength: 2,
			appendTo: "#search",
			focus: function( event, ui ) {
				$('#search input[type=text]').val( ui.item.tootja_nimi );
				return false;
			},
			select: function( event, ui ) {
				$(location).attr('href',ui.item.url);
				
				return false;
			}
		})
		.data( "autocomplete" )._renderItem = function( ul, item ) {
			return $( "<li></li>" )
				.data( "item.autocomplete", item )
				.append( "<a href=\"" + item.url + "\"><img src=\"" + item.photo_url + "\" /><span class=\"text\"><span class=\"name\">" + item.tootja_nimi + "</span><br /><span class=\"description\">" + item.nimi_autor + "</span></span></a>" )
				.appendTo( ul );
		};
});		
