function AddressDistanceHelper() { } AddressDistanceHelper.AddressPolylineGraphic = null; AddressDistanceHelper.ClientCallback = null; AddressDistanceHelper.AddressGraphic = null; AddressDistanceHelper.AddressText = null; AddressDistanceHelper.Distance = 0; AddressDistanceHelper.GeometryLayerDojoClickConnection = null;
AddressDistanceHelper.MeasureDistance = function (a, c, d, b, e, f) {
    AddressFocusHelper.RemoveAddressFocus(); AddressDistanceHelper.ClientCallback = f; AddressDistanceHelper.AddressText = e; a = new esri.geometry.Point(a, c, new esri.SpatialReference({ wkid: Configuration.SpatialReferenceWKID_BING })); d = new esri.geometry.Point(d, b, new esri.SpatialReference({ wkid: Configuration.SpatialReferenceWKID_BING })); b = new esri.geometry.Polyline(new esri.SpatialReference({ wkid: Configuration.SpatialReferenceWKID_BING })); b.addPath([a,
d]); AddressDistanceHelper.AddressPolylineGraphic = new esri.Graphic(b, Configuration.AddressDistanceSymbol, null); b = MapHelper.GetGraphicsLayer("geometryLayer"); if (b != null) b.clear(), AddressDistanceHelper.GeometryLayerDojoClickConnection != void 0 && AddressDistanceHelper.GeometryLayerDojoClickConnection == null && dojo.disconnect(AddressDistanceHelper.GeometryLayerDojoClickConnection), b.add(AddressDistanceHelper.AddressPolylineGraphic), AddressDistanceHelper.AddressGraphic = new esri.Graphic(d, Configuration.AddressGraphicSymbol),
b.add(AddressDistanceHelper.AddressGraphic), AddressDistanceHelper.GeometryLayerDojoClickConnection = dojo.connect(b, "onClick", function () { MapHelper.ShowAddressGraphicDistanceInfoWindow() }), Configuration.GeometryService.project([AddressDistanceHelper.AddressPolylineGraphic.geometry], new esri.SpatialReference({ wkid: Configuration.SpatialReferenceWKID_BING }), AddressDistanceHelper.OnProjectComplete, AddressDistanceHelper.OnProjectFailed)
};
AddressDistanceHelper.OnProjectComplete = function (a) { if (a != void 0 && a != null) { var c = new esri.tasks.LengthsParameters; c.polylines = a; c.lengthUnit = CookieHelper.HasCookie() && CookieHelper.GetCookieData().units == "kilometres" ? esri.tasks.GeometryService.UNIT_KILOMETER : esri.tasks.GeometryService.UNIT_STATUTE_MILE; Configuration.GeometryService.lengths(c, AddressDistanceHelper.OnLengthsComplete, AddressDistanceHelper.OnLengthsFailed) } };
AddressDistanceHelper.OnProjectFailed = function (a) { a = "The geometry service's project() method failed. \r\nCode: " + a.code + "\r\nMessage: " + a.message + "\r\nDetails:" + a.details; ConsoleLogHelper.AddMessage(a); $("#loading-message").show(); $("#loading-message").attr("class", "error").html("<h4>We're having some issues ... </h4>" + a + '<br/><a class="button" href="default.aspx">Restart Application</a>').show().modal({ appendTo: "form", close: false, escClose: false, overlayClose: false, opacity: 15, overlayCss: { backgroundColor: "#000"} }) };
AddressDistanceHelper.OnLengthsComplete = function (a) { Map.Map.infoWindow.hide(); a.lengths != void 0 && a.lengths != null ? (AddressDistanceHelper.Distance = Math.round(a.lengths[0] * 100) / 100, MapHelper.ShowAddressGraphicDistanceInfoWindow(), EventBinderHelper.EnableRemoveLinesButtons(), AddressDistanceHelper.ClientCallback != null && AddressDistanceHelper.ClientCallback(), Map.Map.setExtent(AddressDistanceHelper.AddressPolylineGraphic.geometry.getExtent().expand(2))) : alert("No lengths returned") };
AddressDistanceHelper.OnLengthsFailed = function (a) { a = "The geometry service's lengths() method failed. \r\nCode: " + a.code + "\r\nMessage: " + a.message + "\r\nDetails:" + a.details; ConsoleLogHelper.AddMessage(a); $("#loading-message").show(); $("#loading-message").attr("class", "error").html("<h4>We're having some issues ... </h4>" + a + '<br/><a class="button" href="default.aspx">Restart Application</a>').show().modal({ appendTo: "form", overlayClose: false, close: false, escClose: false, opacity: 15, overlayCss: { backgroundColor: "#000"} }) };
AddressDistanceHelper.ShowAddressDistanceFinder = function () { $("#address-distance-button").hide(); $("#address-distance-finder-panel").show("fast", function () { MapHelper.UpdateInfoWindow() }) }; AddressDistanceHelper.HideAddressDistanceFinder = function () { $("#address-distance-finder-panel").hide(); MapHelper.UpdateInfoWindow() }; AddressDistanceHelper.GetDistance = function () { Configuration.IsMeasuringDistance = true; MapHelper.GeocodeAddress("#distance-finder-address") };
AddressDistanceHelper.RemovePolylineOverlay = function () { MapHelper.CloseInfoWindow(); if (AddressDistanceHelper.AddressPolylineGraphic != null) MapHelper.ClearGraphicsLayer("geometryLayer"), Configuration.IsMeasuringDistance = false, EventBinderHelper.DisableRemoveLinesButtons(); AddressDistanceHelper.AddressText = null };
