+//= require sidebar
+//= require richtext
+//= require resize
+//= require geocoder
+//= require querystring
+
+var querystring = require('querystring-component');
+
+function zoomPrecision(zoom) {
+ var decimals = Math.pow(10, Math.floor(zoom/3));
+ return function(x) {
+ return Math.round(x * decimals) / decimals;
+ };
+}
+
+function normalBounds(bounds) {
+ if (bounds instanceof L.LatLngBounds) return bounds;
+ return new L.LatLngBounds(
+ new L.LatLng(bounds[0][0], bounds[0][1]),
+ new L.LatLng(bounds[1][0], bounds[1][1]));
+}
+
+function remoteEditHandler(bbox, select) {
+ var loaded = false,
+ query = {
+ left: bbox.getWest() - 0.0001,
+ top: bbox.getNorth() + 0.0001,
+ right: bbox.getEast() + 0.0001,
+ bottom: bbox.getSouth() - 0.0001
+ };
+
+ if (select) query.select = select;
+ $("#linkloader")
+ .attr("src", "http://127.0.0.1:8111/load_and_zoom?" + querystring.stringify(query))
+ .load(function() { loaded = true; });
+
+ setTimeout(function () {
+ if (!loaded) alert(I18n.t('site.index.remote_failed'));
+ }, 1000);
+
+ return false;
+}