+<%= javascript_include_tag 'swfobject.js' %>
+<script type="text/javascript">
+ var brokenContentSize = $("content").offsetWidth == 0;
+ var fo = new SWFObject("/potlatch/potlatch.swf?d="+Math.round(Math.random()*1000), "potlatch", "700", "600", "6", "#FFFFFF");
+ var changesaved = true;
+ var winie=false; if (document.all && window.print) { winie=true; }
+
+ window.onbeforeunload=function() {
+ if (!changesaved && !winie) {
+ return "You have unsaved changes. (To save in Potlatch, you should deselect the current way or point.)";
+ }
+ }
+
+ function doSWF(lat,lon,sc) {
+ if (sc < 11) sc = 11;
+ fo.addVariable('lat',lat);
+ fo.addVariable('long',lon);
+ fo.addVariable('scale',sc);
+ fo.addVariable('token','<%= session[:token] %>');
+ <% if params['gpx'] %>
+ fo.addVariable('gpx','<%= h(params['gpx']) + "/data" %>');
+ <% end %>
+ fo.write("map");
+ }
+
+ doSWF(<%= lat %>,<%= lon %>,<%= zoom %>);
+
+ function setPosition(lat, lon, zoom) {
+ doSWF(lat, lon, zoom);
+ }
+
+ function resizeContent() {
+ var content = $("content");
+ var rightMargin = parseInt(getStyle(content, "right"));
+ var bottomMargin = parseInt(getStyle(content, "bottom"));
+
+ content.style.width = document.documentElement.clientWidth - content.offsetLeft - rightMargin;
+ content.style.height = document.documentElement.clientHeight - content.offsetTop - bottomMargin;
+ }
+
+ function resizeMap() {
+ var sidebar_width = $("sidebar").offsetWidth;
+
+ if (sidebar_width > 0) {
+ sidebar_width = sidebar_width + 5
+ }
+
+ $("map").style.left = (sidebar_width) + "px";
+ $("map").style.width = ($("content").offsetWidth - sidebar_width) + "px";
+ $("map").style.height = ($("content").offsetHeight - 2) + "px";
+ }
+
+ function handleResize() {
+ if (brokenContentSize) {
+ resizeContent();
+ }
+
+ resizeMap();
+ }
+
+ window.onresize = handleResize;
+ window.onload = handleResize;