+ page.unload = function () {
+ map.removeObject();
+ };
+
+ return page;
+ };
+
+ OSM.OldBrowse = function () {
+ var page = {};
+
+ page.pushstate = page.popstate = function (path) {
+ OSM.loadSidebarContent(path);
+ };
+
+ return page;
+ };
+
+ var history = OSM.History(map);
+
+ OSM.router = OSM.Router(map, {
+ "/": OSM.Index(map),
+ "/search": OSM.Search(map),
+ "/directions": OSM.Directions(map),
+ "/export": OSM.Export(map),
+ "/note/new": OSM.NewNote(map),
+ "/history/friends": history,
+ "/history/nearby": history,
+ "/history": history,
+ "/user/:display_name/history": history,
+ "/note/:id": OSM.Note(map),
+ "/node/:id(/history)": OSM.Browse(map, "node"),
+ "/node/:id/history/:version": OSM.OldBrowse(),
+ "/way/:id(/history)": OSM.Browse(map, "way"),
+ "/way/:id/history/:version": OSM.OldBrowse(),
+ "/relation/:id(/history)": OSM.Browse(map, "relation"),
+ "/relation/:id/history/:version": OSM.OldBrowse(),
+ "/changeset/:id": OSM.Changeset(map),
+ "/query": OSM.Query(map)
+ });
+
+ if (OSM.preferred_editor === "remote" && document.location.pathname === "/edit") {
+ remoteEditHandler(map.getBounds(), params.object);
+ OSM.router.setCurrentPath("/");
+ }
+
+ OSM.router.load();
+
+ $(document).on("click", "a", function (e) {
+ if (e.isDefaultPrevented() || e.isPropagationStopped() || $(e.target).data("turbo")) {
+ return;
+ }