function setupcomplete(obj)
{
   /* var searchLabel = $('#search label').remove().text();
   
   obj.addClass('placeholder').val(searchLabel).focus(function() {
      if (this.value == searchLabel) {
         $(this).removeClass('placeholder').val('');
      };
   }).blur(function() {
      if (this.value == '') 
      {
         $(this).addClass('placeholder').val(searchLabel);
      };
   }); */
   
   var populateSearchField = function() {
      obj.val($autocomplete.find('li').eq(selectedItem).text());
      setSelectedItem(null);
   };

   var $autocomplete = $('<ul class="autocomplete"></ul>').hide().insertAfter('#' + obj.attr('id') + 'complete');
   
   obj.attr('autocomplete', 'off').keyup(function(event) {
     if (event.keyCode > 40 || event.keyCode == 8) {
        // Keys with codes 40 and below are special
        // (enter, arrow keys, escape, etc.).
        // Key code 8 is backspace.
        $.ajax({
         'url': '/ajax/autocomplete.php',
         'data': {'search-text': obj.val(), 'query': obj.attr('query')},
         'dataType': 'json',
         'type': 'POST',
         'success': function(data) {
            if (data.length) {
	       $autocomplete.empty();
	       $.each(data, function(index, term) {
	          $('<li></li>').text(term).appendTo($autocomplete).mouseover(function() {
	             setSelectedItem(index);
	             }).click(function() {
	                obj.val(term);
	                $autocomplete.hide();
	             });
	       });
	       setSelectedItem(0);
	    }
	    else 
	    {
	       setSelectedItem(null);
            }
         } 
     });
     }
     
     else if (event.keyCode == 38 && selectedItem !== null) {
        // User pressed up arrow.
        setSelectedItem(selectedItem - 1);
        event.preventDefault();
     }
     else if (event.keyCode == 40 && selectedItem !== null) {
        // User pressed down arrow.
        setSelectedItem(selectedItem + 1);
        event.preventDefault();
     }
     else if (event.keyCode == 27 && selectedItem !== null) {
        // User pressed escape key.
        setSelectedItem(null);
     }
     
     
   }).keypress(function(event) {
      if (event.keyCode == 13 && selectedItem !== null) {
         // User pressed enter key.
         populateSearchField();
         event.preventDefault();
      }
   }).blur(function(event) {
      setTimeout(function() {
         setSelectedItem(null);
      }, 250);
   });
   
   obj.attr('autocomplete', 'off');
   
   
   var selectedItem = null;
   var setSelectedItem = function(item) {
      selectedItem = item;
      if (selectedItem === null) {
         $autocomplete.hide();
         return;
      }
      if (selectedItem < 0) {
         selectedItem = 0;
      }
      if (selectedItem >= $autocomplete.find('li').length) {
         selectedItem = $autocomplete.find('li').length - 1;
      }
      $autocomplete.find('li').removeClass('selected').eq(selectedItem).addClass('selected');
      $autocomplete.show();
   };
   

}