//= require qs/dist/qs

$(document).ready(function () {
  var id = $("#id-embed");

  if (id.data("configured") === true) {
    var hash = location.hash.substring(1);
    var hashParams = hash ? OSM.params(hash) : {};
    var mapParams = OSM.mapParams();
    var params = {};

    if (mapParams.object) {
      params.id = mapParams.object.type + "/" + mapParams.object.id;
      mapParams = OSM.parseHash(location.hash);
      if (mapParams.center) {
        params.map = mapParams.zoom + "/" + mapParams.center.lat + "/" + mapParams.center.lng;
      }
    } else if (id.data("lat") && id.data("lon")) {
      params.map = "16/" + id.data("lat") + "/" + id.data("lon");
    } else {
      params.map = (mapParams.zoom || 17) + "/" + mapParams.lat + "/" + mapParams.lon;
    }

    if (hashParams.background) params.background = hashParams.background;
    if (hashParams.comment) params.comment = hashParams.comment;
    if (hashParams.disable_features) params.disable_features = hashParams.disable_features;
    if (hashParams.hashtags) params.hashtags = hashParams.hashtags;
    if (hashParams.locale) params.locale = hashParams.locale;
    if (hashParams.maprules) params.maprules = hashParams.maprules;
    if (hashParams.offset) params.offset = hashParams.offset;
    if (hashParams.photo) params.photo = hashParams.photo;
    if (hashParams.photo_dates) params.photo_dates = hashParams.photo_dates;
    if (hashParams.photo_overlay) params.photo_overlay = hashParams.photo_overlay;
    if (hashParams.photo_username) params.photo_username = hashParams.photo_username;
    if (hashParams.presets) params.presets = hashParams.presets;
    if (hashParams.source) params.source = hashParams.source;
    if (hashParams.validationDisable) params.validationDisable = hashParams.validationDisable;
    if (hashParams.validationWarning) params.validationWarning = hashParams.validationWarning;
    if (hashParams.validationError) params.validationError = hashParams.validationError;
    if (hashParams.walkthrough) params.walkthrough = hashParams.walkthrough;

    if (id.data("gpx")) {
      params.gpx = id.data("gpx");
    } else if (hashParams.gpx) {
      params.gpx = hashParams.gpx;
    }

    id.attr("src", id.data("url") + "#" + Qs.stringify(params));
  } else {
    alert(I18n.t("site.edit.id_not_configured"));
  }
});