function encodeRE(s) { return s.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1') } 	

$(window).load(function () { 
        //generate an ajaxmanger named clearQueue
        $.manageAjax.create('clearQueue', {queue: 'clear', preventDoubbleRequests: true, cacheResponse: true, maxRequests: 3, abortOld: true});
	
                $( "#searchField" ).autocomplete({ 
                  source: function(request, response) { 
                    //$.ajax({
                    $.manageAjax.add('clearQueue', {
                      url: "/getsearchhint.asp",
                      data: {
                        q: request.term
                      },
                      dataType: "json",
                      success: function( data ) {
						response( $.map( data.results, function( item ) {
							return {
								label: item.name,
								value: item.name
                              };
                            })
                        );
                      }               
                    })
                  }, 
                  minLength: 3, 
                  delay: 200,
                  mode: "abort",
                  port: "autocomplete",
                  select: function( event, ui ) {
            			$("#searchField").val(ui.item.value);
                        $("#searchForm").submit();
                            
          		  }

                })
                .data( "autocomplete" )._renderItem = function( ul, item ) {
                      var re = new RegExp("^" + encodeRE($.trim(this.term)), "i") ;
                      var t = item.label.replace(re,"<span style='font-weight:bold;'>" + this.term + "</span>");
                      return $( "<li></li>" )
                          .data( "item.autocomplete", item )
                          .append( "<a>" + t + "</a>" )
                          .appendTo( ul );
          		};
                
        
}); 
        
//$(window).load(function () { 
//$(':input:visible:enabled:first').focus(); 
//}); 
      

