<script type="text/javascript">
<!--
- function startSearch() {
- updateSidebar("<%= t 'site.sidebar.search_results' %>", "<p class='search_results_entry'><%= t 'site.search.searching' %><\/p>");
+ function describeLocation() {
+ var args = getArgs($("#viewanchor").attr("href"));
- $("search_field").style.display = "none";
- $("search_active").style.display = "inline";
+ $("#sidebar_title").html("<%= t 'site.sidebar.search_results' %>");
+ $("#sidebar_content").load("<%= url_for :controller => :geocoder, :action => :description %>", {
+ lat: args["lat"],
+ lon: args["lon"],
+ zoom: args["zoom"]
+ }, openSidebar);
}
- function endSearch() {
- $("search_field").style.display = "inline";
- $("search_active").style.display = "none";
- }
+ function doSearch(query) {
+ $("#sidebar_title").html("<%= t 'site.sidebar.search_results' %>");
- function describeLocation() {
- var position = getPosition();
+ <% if params[:action] == 'index' -%>
+ var extent = unproj(map.getExtent());
- <%= remote_function(:loading => "startSearch()",
- :complete => "endSearch()",
- :url => { :controller => :geocoder, :action => :description },
- :with => "'lat=' + position.lat + '&lon=' + position.lon") %>
+ $("#sidebar_content").load("<%= url_for :controller => :geocoder, :action => :search %>", {
+ query: $("#query").val(),
+ minlon: extent.left,
+ minlat: extent.bottom,
+ maxlon: extent.right,
+ maxlat: extent.top
+ }, openSidebar);
+ <% else -%>
+ $("#sidebar_content").load("<%= url_for :controller => :geocoder, :action => :search %>", {
+ query: $("#query").val()
+ }, openSidebar);
+ <% end -%>
}
- <% if params[:query] %>
- <%= remote_function(:loading => "startSearch()",
- :complete => "endSearch()",
- :url => { :controller => :geocoder, :action => :search, :query => h(params[:query]) }) %>
- <% end %>
+ $(document).ready(function () {
+ $("#search_form").submit(function (event) {
+ doSearch($("#query").val());
+
+ return false;
+ });
+ });
// -->
</script>
-<% content_for "optionals" do %>
+<% content_for :optionals do %>
<div class="optionalbox">
- <span class="oboxheader"><%= t 'site.search.search' %></span>
- <span class="whereami"><a href="javascript:describeLocation()"><%= t 'site.search.where_am_i' %></a></span>
- <div class="search_form">
+ <div class="search_container">
<div id="search_field">
- <% form_remote_tag(:loading => "startSearch()",
- :complete => "endSearch()",
- :url => { :controller => :geocoder, :action => :search }) do %>
- <%= text_field_tag :query, h(params[:query]) %>
+ <%= form_tag "#", :id => "search_form" do %>
<%= submit_tag t('site.search.submit_text') %>
+ <%= text_field_tag :query, h(params[:query]), :tabindex => "1", :placeholder => t('site.search.search') %>
<% end %>
</div>
- <p id="search_active"><%= t 'site.search.searching' %></p>
</div>
- <p class="search_help">
- <%= t 'site.search.search_help' %>
+ <p class='search_help deemphasize'>
+ <%= raw(t 'site.search.search_help') %>
+ <span class="whereami"><a href="javascript:describeLocation()" title="<%= t 'site.search.where_am_i_title' %>"><%= t 'site.search.where_am_i' %></a></span>
</p>
</div>
<% end %>