$(document).ready(function() {
  timeout = undefined;
  var request = false;

  $("#searchQuery").keyup(function() {
      if(timeout != undefined) {
        clearTimeout(timeout);
      }
      var timeout = setTimeout(function() {
        timeout = undefined;
        if(!request) {
          request = true;
          var query = $('#searchQuery').attr('value');
          $('#searchSuggestions').load('/search/default/suggestion?q=' + query, function() {
            request = false;
            if($('#searchSuggestions').html() != '') {
              $('#searchSuggestions').slideDown();
            }
          });
        }
      }, 2000);
  });
	
	$(document).click(function(){
		$('#searchSuggestions').fadeOut();
	});	

	$('#searchSuggestions').click(function(e){
	    e.stopPropagation();
	});
});