var Search = Class.create(
   {
      initialize: function(canvasDiv) 
      {
         this.ls = new google.search.LocalSearch();
         this.ls.setCenterPoint(TheMap.midpoint);
         this.ls.setResultSetSize(google.search.Search.LARGE_RESULTSET);
         this.ls.setAddressLookupMode(google.search.LocalSearch.ADDRESS_LOOKUP_DISABLED);
         this.ls.setRestriction(google.search.Search.RESTRICT_TYPE, google.search.LocalSearch.TYPE_LOCALONLY_RESULTS);
         this.ls.setSearchCompleteCallback(this, Search.prototype._searchCompleteHandler);
         this.ls.setNoHtmlGeneration();
      },

      // search(query, callback)
      //
      // query - What to search for near the midpoint (eg. pizza)
      // callback - Function to call when search is complete.
      //            Callback given this search object as a parameter.
      //
      search: function(query, callback)
      {
         this.searchCallback = callback;
         this.ls.execute(query);
      },
      
      _searchCompleteHandler: function()
      {
         this.results = this.ls.results;
         if (this.searchCallback) this.searchCallback(this);
      }
   }
);