function init(){dojo.ready(function(){function f(){dojo.ready(function(){var t=new esri.symbol.PictureMarkerSymbol(appBaseUrl+"Images/map_cross.png",31,31),n=new esri.Graphic(map.extent.getCenter(),t);n.id="cr";map.graphics.add(n);h(n)})}function h(n){var t=n.getDojoShape(),i,r;t!=null&&(i=new dojox.gfx.Moveable(t),r=dojo.connect(i,"onMoveStop",function(){var i=t.getTransform(),r=n.geometry,u=map.toMap(map.toScreen(r).offset(i.dx,i.dy));t.setTransform(null);n.setGeometry(u)}))}function c(){ndeg=$("#nDegrees").val();nmin=$("#nMinutes").val();nsec=$("#nSeconds").val();wdeg=$("#wDegrees").val();wmin=$("#wMinutes").val();wsec=$("#wSeconds").val();$("#latitude").val(((parseInt(nsec)/60+parseInt(nmin))/60+parseInt(ndeg)).toFixed(6));$("#longitude").val((((parseInt(wsec)/60+parseInt(wmin))/60+parseInt(wdeg))*-1).toFixed(6))}function n(){lat=$("#latitude").val();lon=$("#longitude").val();nDeg=Math.floor(lat);ndMin=((lat-Math.floor(lat))*60).toFixed(4);nSec=((ndMin-Math.floor(ndMin))*60).toFixed(4);wDeg=Math.floor(lon*-1);wdMin=((lon*-1-Math.floor(lon*-1))*60).toFixed(4);wSec=((wdMin-Math.floor(wdMin))*60).toFixed(4);nMin=parseInt(ndMin).toFixed(0);wMin=parseInt(wdMin).toFixed(0);$("#nDegrees").val(nDeg);$("#nMinutes").val(parseInt(nMin).toFixed(0));$("#nSeconds").val(nSec);$("#wDegrees").val(wDeg);$("#wMinutes").val(parseInt(wMin).toFixed(0));$("#wSeconds").val(wSec)}var e=$("#latitude").val(),o=$("#longitude").val(),t,i;e==""||o==""?(t="38.01443654626312",i="-79.3717571981081",dzoom=7,mlayer="Street"):(t=e,i=o,dzoom=14);map=new esri.Map("map",{center:[i,t],zoom:dzoom});dojo.connect(map,"onLoad",function(){var r=$("#latitude").val(),u=$("#longitude").val(),i,t;r!=""&&u!=""&&(i=new esri.symbol.PictureMarkerSymbol(appBaseUrl+"Images/marker_blue.gif",20,34),t=new esri.Graphic(map.extent.getCenter(),i),t.id="sp",map.graphics.add(t),map.infoWindow.setTitle("<strong>Current Plotted Point<\/strong>"),map.infoWindow.setContent("<p>Use Crosshair to adjust position before clicking the <strong>Set GIS Coordinates<\/strong> button.<\/p> "),map.infoWindow.show(map.extent.getCenter(),map.getInfoWindowAnchor(map.extent.getCenter())));f();n()});var s=new esri.geometry.Point([i,t],new esri.SpatialReference({wkid:4326})),l=esri.geometry.geographicToWebMercator(s),r=new esri.layers.ArcGISTiledMapServiceLayer("https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"),u=new esri.layers.ArcGISTiledMapServiceLayer("https://gismaps.vdem.virginia.gov/arcgis/rest/services/VBMP_Imagery/MostRecentImagery_WGS/MapServer");mlayer=="imagery"?(map.addLayer(u),$("#img").hide(),$("#str").show(),mlayer==null):(map.addLayer(r),$("#img").show(),$("#str").hide());dojo.connect(map,"load",function(){dojo.connect(dijit.byId("map"),"resize",map,function(){clearTimeout(resizeTimer);resizeTimer=setTimeout(function(){map.resize();map.reposition()},200)})});$(document).ready(function(){function t(n){dojo.forEach(map.graphics.graphics,function(t){if(t.id=="sp"){map.graphics.remove(t);var r=new esri.symbol.PictureMarkerSymbol(appBaseUrl+"Images/marker_blue.gif",20,34),i=new esri.Graphic(n.geometry,r);i.id="sp";map.graphics.add(i)}})}$("#img").on("click",function(){map.addLayer(u);map.removeLayer(r);$("#img").hide();$("#str").show()});$("#str").on("click",function(){map.addLayer(r);map.removeLayer(u);$("#str").hide();$("#img").show()});$("#togDD").on("click",function(){$("#dd").show();$("#dms").hide();$("#swDMS").show();$("#swDD").hide()});$("#togDMS").on("click",function(){$("#dd").hide();$("#dms").show();$("#swDMS").hide();$("#swDD").show()});$("#updatecoord").on("click",function(){dojo.forEach(map.graphics.graphics,function(i){i.id=="cr"&&(mp=esri.geometry.webMercatorToGeographic(i.geometry),$("#latitude").val(mp.y.toFixed(6)),$("#longitude").val(mp.x.toFixed(6)),t(i),n())})});$("#save").on("click",function(){$("#choosePoint").show()});$("#cp").on("click",function(){dojo.forEach(map.graphics.graphics,function(t){if(t.id=="cr"){var i=esri.geometry.webMercatorToGeographic(t.geometry);$("#latitude").val(i.y.toFixed(6));$("#longitude").val(i.x.toFixed(6));n();$("#form").submit()}})});$("#pp").on("click",function(){dojo.forEach(map.graphics.graphics,function(t){if(t.id=="sp"){var i=esri.geometry.webMercatorToGeographic(t.geometry);$("#latitude").val(i.y.toFixed(6));$("#longitude").val(i.x.toFixed(6));n();$("#form").submit()}})})});dojo.connect(map,"onPanEnd",function(){dojo.forEach(map.graphics.graphics,function(n){n.id=="cr"&&map.graphics.remove(n)});f();map.infoWindow.hide()});dojo.connect(map,"onZoomEnd",function(){var n=map.getZoom();n>"18"?(alert("Map view isn't supported at this zoom level, click OK reset to maximum allowed zoom."),map.setZoom(18)):$("#img").removeAttr("disabled");map.infoWindow.hide();dojo.forEach(map.graphics.graphics,function(n){if(n.id=="cr"&&(map.graphics.remove(n),f()),n.id=="sp"){map.graphics.remove(n);var i=$("#latitude").val(),r=$("#longitude").val(),u=new esri.symbol.PictureMarkerSymbol(appBaseUrl+"Images/marker_blue.gif",20,34),e=new esri.geometry.Point(r,i,new esri.SpatialReference({wkid:4326})),o=esri.geometry.geographicToWebMercator(e),t=new esri.Graphic(o,u);t.id="sp";map.graphics.add(t)}})});$("#latitude, #longitude").change(function(){var t,i;n();var r=$("#latitude").val(),u=$("#longitude").val();mlayer="Imagery";t=new esri.geometry.Point([u,r],new esri.SpatialReference({wkid:4326}));i=esri.geometry.geographicToWebMercator(t);map.centerAndZoom(i,18)});$("#nDegrees, #nMinutes, #nSeconds, #wDegrees, #wMinutes, #wSeconds").change(function(){var n,t;c();var i=$("#latitude").val(),r=$("#longitude").val();mlayer="Imagery";n=new esri.geometry.Point([r,i],new esri.SpatialReference({wkid:4326}));t=esri.geometry.geographicToWebMercator(n);map.centerAndZoom(t,18)})})}function trimToNull(n){var t=$.trim(n);return t.length>0?t:null}function sendResult(n){parentWindow?parentWindow.source.postMessage(JSON.stringify(n),parentWindow.origin):alert("parentWindow is not set")}function receiveMessage(n){var o,u,f;parentWindow={source:n.source,origin:n.origin};var i=$.parseJSON(n.data),r=i.coordinates,t=i.address,e=i.layer;if(mlayer=i.hasOwnProperty("layer")?e.map:null,t&&t.street&&t.city&&t.state&&(g_address=t,$("#reset").text("Reset to address: "+t.street+" "+t.city+", "+t.state).show(),$("#coordinatesContainer .span20").addClass("half-bottom"),handleResize()),o=i.extended,i.extended&&$.each(i.extended,function(n,t){var r=$('<div class="span'+(t.width||20)+'" />'),i;$("<label />").attr("for",t.name).text(t.label).appendTo(r);i=null;t.options?(i=$("<select />").attr("id",t.name).attr("name",t.name).appendTo(r),$.each(t.options,function(n,r){var u=$("<option />").attr("value",r.value).text(r.text).appendTo(i);r.value==t.value&&u.attr("selected","selected")})):(i=$("<input />").attr("id",t.name).attr("name",t.name).attr("type",t.type).val(t.value).appendTo(r),t.required&&i.attr("required","required"));t.numeric&&i.attr("numeric","true");$("#actions").before(r)}),u=function(n,t){$("#latitude").val(n);$("#longitude").val(t);init()},r&&r.latitude&&r.longitude){if(validCoordinates(r.latitude,r.longitude)){u(r.latitude,r.longitude);return}f="The currently plotted location is not inside Virginia.";g_address&&(f+="  The address will be used as your starting point.");alert(f)}if(g_address){geoCode(g_address,function(n){n?u(n.latitude,n.longitude):u()});return}init()}function validCoordinates(n,t){return!(n<36.1906||n>39.5979||t>-75.2255||t<-83.7439)}function geoCode(n,t){var i="?SingleLine="+n.street+" "+n.city+" "+n.state+"&outSR=4326&f=pjson",r=i.replace(/ /g,"+"),u="https://gismaps.vdem.virginia.gov/arcgis/rest/services/Geocoding/VGIN_Composite_Locator/GeocodeServer/findAddressCandidates"+r;$.ajax({type:"GET",url:u,data:"{}",contentType:"application/json; charset=utf-8",dataType:"jsonp",success:function(n){var i=JSON.stringify(n.candidates);i.length>10?(latitude=n.candidates[0].location.y.toFixed(9),longitude=n.candidates[0].location.x.toFixed(9),t({latitude:latitude,longitude:longitude})):(alert("Geocoding was unable to find a location for that address."),t())},error:function(){alert("Geocoding service failed to respond in a timely manner.");t()}})}var parentWindow,handleResize,g_address;dojo.require("esri.map");dojo.require("esri.map");dojo.require("dojo.parser");dojo.require("dojox.gfx.move");dojo.require("dijit.form.Button");dojo.require("dijit.layout.BorderContainer");dojo.require("dijit.layout.ContentPane");dojo.require("esri.dijit.BasemapGallery");dojo.require("esri.dijit.Scalebar");dojo.require("dijit.form.Button");dojo.require("dijit.Menu");dojo.require("esri.dijit.Popup");var map=null,dzoom=null,mlayer=null;parentWindow={};handleResize=function(){var totalHeight=0,body=$("body"),bodyMargin,windowHeight;body.children().each(function(){if(this.id&&"maparea"!=this.id){var n=$(this);totalHeight+=n.outerHeight(!0)}});bodyMargin=eval(body.css("margin-top").replace("px",""))+eval(body.css("margin-bottom").replace("px",""));windowHeight=$(window).height()-bodyMargin;$("#map").outerHeight(windowHeight-totalHeight,!0)};$(document).ready(function(){window.attachEvent?window.attachEvent("onmessage",receiveMessage):window.addEventListener?window.addEventListener("message",receiveMessage,!1):alert("no receive attached");$("#form").submit(function(n){var t,i;n.preventDefault();var f=$("#latitude").val(),e=$("#longitude").val(),r=parseFloat($("#latitude").val()),u=parseFloat($("#longitude").val());if(!validCoordinates(r,u)){alert("Coordinates are not inside Virginia, please check and re-enter.");return}t={};$(":input",this).each(function(){var input=$(this),propertyName=input.attr("name"),value;propertyName&&(value=trimToNull(input.val()),input.attr("numeric")=="true"&&(value=eval(value)),t[propertyName]=value)});i={result:"success",data:t};sendResult(i)});var n=function(){sendResult({result:"canceled"})};$("#cancel").click(function(t){t.preventDefault();n()});$("#reset").click(function(n){n.preventDefault();geoCode(g_address,function(n){n&&n.latitude&&n.longitude&&($("#latitude").val(n.latitude),$("#longitude").val(n.longitude).change())})});$(document).keyup(function(t){t.keyCode==27&&n()});$(window).resize(handleResize);handleResize();window.setTimeout(handleResize,1e3)});$(window).load(function(){handleResize()});g_address=null