$(document).ready(function(){
	$("#searchinput").keyup(function() {
		clearTimeout($.data(this, "timer"));
		var ms = 200;
		var val = this.value;
		
		if(this.value.length > 2)
		{
			var wait = setTimeout(function()
			{
				$('#loadingindicator').addClass('load');
				
				$.post("autosuggest.ajax.php", {queryString: ""+val+""}, function(d){
					if(d.length > 0)
					{
						$('#suggestions').fadeIn();
						$('#suggestions').html(d);
						$('#loadingindicator').removeClass('load');
					}
				});
			}, ms);
		}
		else
		{
			$('#suggestions').fadeOut();
		}
		
		$("#searchinput").blur(function() {
			setTimeout(fill(this.value), 100);
		});
		
		$.data(this, "timer", wait);
	});
});

function fill(thisValue) {
	$("#searchinput").val(thisValue);
	setTimeout($('#suggestions').fadeOut(), 600);
	setTimeout($('#loadingindicator').removeClass('load'), 100);
};