]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/edit/potlatch.js.erb
Stop creating a shared global querystring variable
[rails.git] / app / assets / javascripts / edit / potlatch.js.erb
1 //= require swfobject
2
3 $(document).ready(function () {
4   window.changesaved = true;
5
6   window.markChanged = function (saved) {
7     window.changesaved = saved;
8   }
9
10   $(window).on("beforeunload", function() {
11     if (!window.changesaved) {
12       return I18n.t("site.edit.potlatch_unsaved_changes");
13     }
14   });
15
16   window.updatelinks = function (lon, lat, zoom, layers, minlon, minlat, maxlon, maxlat, object) {
17     var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
18
19     if (hash !== location.hash) {
20       location.replace(hash);
21     }
22
23     updateLinks({ lon: lon, lat: lat }, zoom);
24   }
25
26   var potlatch = $("#potlatch"),
27       urlparams = OSM.params(),
28       potlatch_swf = <%= asset_path("potlatch/potlatch.swf").to_json %>,
29       install_swf = <%= asset_path("expressInstall.swf").to_json %>,
30       flashvars = {},
31       params = {},
32       attributes = {};
33
34   flashvars.winie = document.all && window.print ? true : false;
35   flashvars.token = potlatch.data("token");
36
37   if (potlatch.data("lat") && potlatch.data("lon")) {
38     flashvars.lat = potlatch.data("lat");
39     flashvars.long = potlatch.data("lon");
40     flashvars.scale = potlatch.data("zoom");
41   } else {
42     var mapParams = OSM.mapParams();
43
44     flashvars.lat = mapParams.lat;
45     flashvars.long = mapParams.lon;
46     flashvars.scale = mapParams.zoom || 17;
47   }
48
49   if (flashvars.scale < 11) flashvars.scale = 11;
50
51   if (urlparams.gpx) flashvars.gpx = urlparams.gpx;
52   if (urlparams.way) flashvars.way = urlparams.way;
53   if (urlparams.node) flashvars.node = urlparams.node;
54   if (urlparams.custombg) flashvars.custombg = urlparams.custombg;
55
56   attributes.id = "potlatch";
57   attributes.bgcolor = "#FFFFFF";
58
59   swfobject.embedSWF(potlatch_swf, "potlatch", "100%", "100%", "6",
60                      install_swf, flashvars, params, attributes);
61 });