function initializeSearch(map) {
$("#search_form").submit(submitSearch);
+ $("#describe_location").click(describeLocation);
if ($("#query").val()) {
$("#search_form").submit();
}
- // Focus the search field for browsers that don't support
- // the HTML5 'autofocus' attribute
- if (!("autofocus" in document.createElement("input"))) {
- $("#query").focus();
- }
+ $("#query")
+ .on("focus", function() {
+ $("#describe_location").fadeOut(100);
+ })
+ .on("blur", function() {
+ $("#describe_location").fadeIn(100);
+ });
$("#sidebar_content").on("click", ".search_results_entry a.set_position", clickSearchResult);
var bounds = map.getBounds();
- $("#sidebar_title").html(I18n.t('site.sidebar.search_results'));
$("#sidebar_content").load($(this).attr("action"), {
query: $("#query").val(),
+ zoom: map.getZoom(),
minlon: bounds.getWest(),
minlat: bounds.getSouth(),
maxlon: bounds.getEast(),
maxlat: bounds.getNorth()
});
- openSidebar();
-
$("#sidebar").one("closed", function () {
map.removeLayer(marker);
map.removeObject();
map.addObject(data, { zoom: false, style: { opacity: 0.2, fill: false } });
}
}
+
+ function describeLocation(e) {
+ e.preventDefault();
+
+ var center = map.getCenter(),
+ zoom = map.getZoom();
+
+ $("#sidebar_content").load($(this).attr("href"), {
+ lat: center.lat,
+ lon: center.lng,
+ zoom: zoom
+ });
+ }
}