-/*
- * Called as the user scrolls/zooms around to aniplate hrefs of the
- * view tab and various other links
- */
-function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,objid) {
- var toPrecision = zoomPrecision(zoom);
- var node;
-
- lat = toPrecision(lat);
- lon = toPrecision(lon);
-
- if (minlon) {
- minlon = toPrecision(minlon);
- minlat = toPrecision(minlat);
- maxlon = toPrecision(maxlon);
- maxlat = toPrecision(maxlat);
- }
-
- $(".geolink").each(function (index, link) {
- var args = getArgs(link.href);
-
- if ($(link).hasClass("llz")) {
- args.lat = lat;
- args.lon = lon;
- args.zoom = zoom;
- } else if (minlon && $(link).hasClass("bbox")) {
- args.bbox = minlon + "," + minlat + "," + maxlon + "," + maxlat;
- }
-
- if (layers && $(link).hasClass("layers")) {
- args.layers = layers;
- }
-
- if (objtype && $(link).hasClass("object")) {
- args[objtype] = objid;
- }
-
- var classes = $(link).attr("class").split(" ");
-
- $(classes).each(function (index, classname) {
- if (match = classname.match(/^minzoom([0-9]+)$/)) {
- var minzoom = match[1];
- var name = link.id.replace(/anchor$/, "");
-
- $(link).off("click.minzoom");
-
- if (zoom >= minzoom) {
- $(link).attr("title", I18n.t("javascripts.site." + name + "_tooltip"));
- $(link).removeClass("disabled");
- } else {
- $(link).on("click.minzoom", function () { alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false; });
- $(link).attr("title", I18n.t("javascripts.site." + name + "_disabled_tooltip"));
- $(link).addClass("disabled");
- }
- }
- });
-
- link.href = setArgs(link.href, args);
- });
-
- $("#shortlinkanchor").each(function () {
- var args = getArgs(this.href);
- var code = makeShortCode(lat, lon, zoom);
- var prefix = shortlinkPrefix();
-
- // Add ?{node,way,relation}=id to the arguments
- if (objtype && objid) {
- args[objtype] = objid;
- }
-
- // This is a hack to omit the default mapnik layer from the shortlink.
- if (layers && layers != "M") {
- args.layers = layers;
- }
- else {
- delete args.layers;
- }
-
- // Here we're assuming that all parameters but ?layers= and
- // ?{node,way,relation}= can be safely omitted from the shortlink
- // which encodes lat/lon/zoom. If new URL parameters are added to
- // the main slippy map this needs to be changed.
- if (args.layers || args[objtype]) {
- this.href = setArgs(prefix + "/go/" + code, args);
- } else {
- this.href = prefix + "/go/" + code;
- }
- });