+ var brokenContentSize = $("content").offsetWidth == 0;
+ var marker;
+ var map;
+
+ function mapInit(){
+ map = createMap("map");
+
+ <% unless OSM_STATUS == :api_offline or OSM_STATUS == :database_offline %>
+ map.dataLayer = new OpenLayers.Layer("Data", { "visibility": false });
+ map.dataLayer.events.register("visibilitychanged", map.dataLayer, toggleData);
+ map.addLayer(map.dataLayer);
+ <% end %>
+
+ <% if bbox %>
+ var bbox = new OpenLayers.Bounds(<%= minlon %>, <%= minlat %>, <%= maxlon %>, <%= maxlat %>);
+
+ setMapExtent(bbox);
+ <% if box %>
+ // IE requires Vector layers be initialised on page load, and not under deferred script conditions
+ Event.observe(window, 'load', function() {addBoxToMap(bbox)});
+ <% end %>
+ <% else %>
+ var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
+ var zoom = <%= zoom %>;
+
+ <% if params['scale'] and params['scale'].length > 0 then %>
+ zoom = scaleToZoom(<%= params['scale'].to_f() %>);
+ <% end %>
+
+ setMapCenter(centre, zoom);
+ <% end %>
+
+ <% if !layers.nil? and !layers.empty? %>
+ setMapLayers("<%= layers %>");
+ <% end %>
+
+ <% if marker %>
+ marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>));
+ <% end %>
+
+ map.events.register("zoomend", map, updateKey);
+
+ map.events.register("moveend", map, updateLocation);
+ map.events.register("changelayer", map, updateLocation);
+ updateLocation();