-<div id="geocoder">
- <% form_tag :controller => 'geocoder', :action => 'search' do %>
- <%= hidden_field_tag 'next_controller', @controller.controller_name %>
- <%= hidden_field_tag 'next_action', @controller.action_name %>
- <%= text_field 'query', 'postcode' %>
- <%= text_field 'query', 'place_name'%>
- <%= submit_tag 'Search' %>
+<script type="text/javascript">
+<!--
+ function startSearch() {
+ updateSidebar("Search Results", "<p class='search_results_entry'>Searching...</p>");
+
+ $("search_field").style.display = "none";
+ $("search_active").style.display = "inline";
+ }
+
+ function endSearch() {
+ $("search_field").style.display = "inline";
+ $("search_active").style.display = "none";
+ }
+
+ function describeLocation() {
+ var position = getPosition();
+
+ <%= remote_function(:loading => "startSearch()",
+ :complete => "endSearch()",
+ :url => { :controller => :geocoder, :action => :description },
+ :with => "'lat=' + position.lat + '&lon=' + position.lon") %>
+ }
+
+ <% if params[:query] %>
+ <%= remote_function(:loading => "startSearch()",
+ :complete => "endSearch()",
+ :url => { :controller => :geocoder, :action => :search, :query => params[:query] }) %>
<% end %>
+// -->
+</script>
- <div id="geocoder-attribution">
- Geolocation provided by <a href="http://npemap.org.uk/">npemap.org.uk</a>,
- <a href="http://geocoder.us/">geocoder.us</a>, <a href="http://geocoder.ca/">geocoder.ca</a> and <a href="http://www.geonames.org/">geonames.org</a>
- </div>
- <div id="postcode-helper">
- Enter a postcode or zip code, eg: SW15 6JH, 95472
- </div>
- <div id="placename-helper">
- Enter a place-name, eg:Essen
+<% content_for "optionals" do %>
+ <div class="optionalbox">
+ <span class="oboxheader">Search</span>
+ <span class="whereami"><a href="javascript:describeLocation()">Where am I?</a></span>
+ <div class="search_form">
+ <span id="search_field">
+ <% form_remote_tag(:loading => "startSearch()",
+ :complete => "endSearch()",
+ :url => { :controller => :geocoder, :action => :search }) do %>
+ <%= text_field_tag :query, params[:query] %>
+ <% end %>
+ </span>
+ <p id="search_active">Searching...</p>
+ </div>
+ <p class="search_help">
+ examples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ',
+ or 'post offices near Lünen'
+ <a href="http://wiki.openstreetmap.org/index.php/Search">more examples...</a>
+ </p>
</div>
-</div>
+<% end %>