function setBodySize(){$("#map").height($(window).height()-$("#map").offset().top-$("footer").height())}jQuery.fn.showLoading=function(n){var s,t={addClass:"",beforeShow:"",afterShow:"",hPos:"center",vPos:"center",indicatorZIndex:5001,overlayZIndex:5e3,parent:"",marginTop:0,marginLeft:0,overlayWidth:null,overlayHeight:null},i,r,a,v,e,o,h,c,u,f,l;return jQuery.extend(t,n),i=jQuery("<div><\/div>"),r=jQuery("<div><\/div>"),s=t.indicatorID?t.indicatorID:jQuery(this).attr("id"),jQuery(i).attr("id","loading-indicator-"+s),jQuery(i).addClass("loading-indicator"),t.addClass&&jQuery(i).addClass(t.addClass),jQuery(r).css("display","none"),jQuery(document.body).append(r),jQuery(r).attr("id","loading-indicator-"+s+"-overlay"),jQuery(r).addClass("loading-indicator-overlay"),t.addClass&&jQuery(r).addClass(t.addClass+"-overlay"),e=jQuery(this).css("border-top-width"),o=jQuery(this).css("border-left-width"),e=isNaN(parseInt(e))?0:e,o=isNaN(parseInt(o))?0:o,h=jQuery(this).offset().left+parseInt(o),c=jQuery(this).offset().top+parseInt(e),a=t.overlayWidth!==null?t.overlayWidth:parseInt(jQuery(this).width())+parseInt(jQuery(this).css("padding-right"))+parseInt(jQuery(this).css("padding-left")),v=t.overlayHeight!==null?t.overlayWidth:parseInt(jQuery(this).height())+parseInt(jQuery(this).css("padding-top"))+parseInt(jQuery(this).css("padding-bottom")),jQuery(r).css("width",a.toString()+"px"),jQuery(r).css("height",v.toString()+"px"),jQuery(r).css("left",h.toString()+"px"),jQuery(r).css("position","absolute"),jQuery(r).css("top",c.toString()+"px"),jQuery(r).css("z-index",t.overlayZIndex),t.overlayCSS&&jQuery(r).css(t.overlayCSS),jQuery(i).css("display","none"),jQuery(document.body).append(i),jQuery(i).css("position","absolute"),jQuery(i).css("z-index",t.indicatorZIndex),u=c,t.marginTop&&(u+=parseInt(t.marginTop)),f=h,t.marginLeft&&(f+=parseInt(t.marginTop)),t.hPos.toString().toLowerCase()=="center"?jQuery(i).css("left",(f+(jQuery(r).width()-parseInt(jQuery(i).width()))/2).toString()+"px"):t.hPos.toString().toLowerCase()=="left"?jQuery(i).css("left",(f+parseInt(jQuery(r).css("margin-left"))).toString()+"px"):t.hPos.toString().toLowerCase()=="right"?jQuery(i).css("left",(f+(jQuery(r).width()-parseInt(jQuery(i).width()))).toString()+"px"):jQuery(i).css("left",(f+parseInt(t.hPos)).toString()+"px"),t.vPos.toString().toLowerCase()=="center"?jQuery(i).css("top",(u+(jQuery(r).height()-parseInt(jQuery(i).height()))/2).toString()+"px"):t.vPos.toString().toLowerCase()=="top"?jQuery(i).css("top",u.toString()+"px"):t.vPos.toString().toLowerCase()=="bottom"?jQuery(i).css("top",(u+(jQuery(r).height()-parseInt(jQuery(i).height()))).toString()+"px"):jQuery(i).css("top",(u+parseInt(t.vPos)).toString()+"px"),t.css&&jQuery(i).css(t.css),l={overlay:r,indicator:i,element:this},typeof t.beforeShow=="function"&&t.beforeShow(l),jQuery(r).show(),jQuery(i).show(),typeof t.afterShow=="function"&&t.afterShow(l),this};jQuery.fn.hideLoading=function(n){var t={};return jQuery.extend(t,n),indicatorID=t.indicatorID?t.indicatorID:jQuery(this).attr("id"),jQuery(document.body).find("#loading-indicator-"+indicatorID).remove(),jQuery(document.body).find("#loading-indicator-"+indicatorID+"-overlay").remove(),this};define("infoTemplateBuilder",["dojo/_base/lang","dojox/lang/functional","esri/InfoTemplate"],function(n,t,i){function s(n){return!(n.indexOf("shape")>-1||n==="layername"||n==="objectid"||n==="fid")}function r(n,t){return t?t[n]:["${",n,"}"].join("")}function h(n,t){return['<tr><td class="fieldName">',n,":<\/td><td>",r(n,t),"<\/td><\/tr>"].join("")}function c(n,t,i){return['<tr><td class="fieldName">',n,'<\/td><td><a href="',t,r(n,i),'">',r(n,i),"<\/a><\/td><\/tr>"].join("")}function l(n,t,i){return function(r){var u=r.toLowerCase();s(u)&&(u!==t.urlField?n.push(h(r,i)):n.push(c(r,t.urlPrefix,i)))}}function f(n,i,r){var u=[],f=null;return r&&(f=n.attributes),u.push('<table cellspacing="0" class="table">'),n.layerName&&u.push("<tr><td>SOURCE: <\/td><td>"+n.layerName+"<\/td><\/tr>"),t.forEach(t.keys(n.attributes),l(u,i,f)),u.push("<\/table>"),u}function e(n){return n||{}}function o(t){return n.mixin(t,{urlField:"urlField"in e(t)?t.urlField.toLowerCase():"",urlPrefix:"urlPrefix"in e(t)?t.urlPrefix:""})}function a(n,t){return new i("",f(n,o(t),!1).join(""))}function v(n){var t=o(n);return function(n){return f(n,t,!0).join("")}}function y(n){return n&&n.hasOwnProperty("geometry")}function u(n){return n[0]}function p(n){return n[1]}return function(){return y(u(arguments))?a(u(arguments),p(arguments)):v(u(arguments))}});$(window).resize(function(){setBodySize()});require(["esri/map","esri/layers/ArcGISDynamicMapServiceLayer","esri/layers/ArcGISTiledMapServiceLayer","esri/layers/OpenStreetMapLayer","esri/layers/GraphicsLayer","esri/geometry/webMercatorUtils","esri/geometry/Point","esri/geometry/Polyline","esri/tasks/query","esri/tasks/QueryTask","esri/tasks/PrintTask","esri/tasks/PrintParameters","esri/tasks/PrintTemplate","esri/tasks/IdentifyParameters","esri/tasks/IdentifyTask","esri/dijit/Measurement","esri/dijit/BasemapGallery","esri/dijit/Geocoder","esri/dijit/Popup","esri/symbols/PictureMarkerSymbol","esri/symbols/SimpleMarkerSymbol","esri/symbols/SimpleFillSymbol","esri/symbols/SimpleLineSymbol","esri/symbols/Font","esri/symbols/TextSymbol","esri/toolbars/draw","esri/units","esri/SpatialReference","esri/graphic","dcDijits/toc/toc","dcModules/Basemaps","infoTemplateBuilder","dojo/has","dojo/sniff","dojo/_base/Color","dojo/dnd/Moveable","dojo/query","dojo/dom-class","esri/config","dojo/domReady!"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et,ot,st,ht,ct,lt,at,vt,yt,pt,wt,bt,kt){function hi(n){var i=n.features,t,r;i.length>0?(window.extent=i[0].geometry.getExtent().expand(2),t=new u({id:"activeParcel"}),r=new tt(tt.STYLE_NULL,new it(it.STYLE_SOLID,new yt([255,0,0]),3),new yt([255,0,0,.25])),$.each(n.features,function(n,i){var u=i;u.setSymbol(r);t.add(u)}),fi(t)):fi()}function fi(i){var o=$("<div>",{id:"uxPopup"}),s=new d({fillSymbol:new tt(tt.STYLE_SOLID,new it(it.STYLE_SOLID,new yt([255,0,0]),2),new yt([255,255,0,.5]))},o[0]),f;window.map=new n("map",{basemap:"topo",sliderStyle:"large",maxZoom:19,minZoom:9,infoWindow:s});var r=window.map,h=wt(".title",r.infoWindow.domNode)[0],c=new pt(r.infoWindow.domNode,{handle:h});c.on("FirstMove",function(){var n=wt(".outerPointer",r.infoWindow.domNode)[0];bt.add(n,"hidden");n=wt(".pointer",r.infoWindow.domNode)[0];bt.add(n,"hidden")}.bind(this));window.extent?window.map.setExtent(window.extent):r.centerAndZoom(new e(-121.106946,44.038305),8);f=new b({showArcGISBasemaps:!1,basemaps:ct.getBasemaps(),google:{apiOptions:{v:"3.6"},mapOptions:{streetViewControl:!1}},map:window.map},"uxBasemapContent");f.startup();f.on("selection-change",function(){$("#uxBasemapTool").hide()});window.map.on("click",function(n){if($("#uxSolarCalcTool").is(":visible")){vi(n);return}if($(".mapToolsDialog:visible").length==0){var t=[0],i=$.grep(window.toc.layers,function(n){return n.isVis==!0});$.each(i,function(n,i){t.push(i.id)});dt.layerIds=t;dt.mapExtent=window.map.extent;dt.width=window.map.width;dt.height=window.map.height;ci(n)}});window.map.on("load",function(){var n,r;f.select("2024imagery");i?window.map.addLayer(i):window.map.setLevel(9);window.map.addLayer(new u({id:"findResults"}));window.map.addLayer(new u({id:"drawGraphics"}));window.map.addLayer(new u({id:"solarGraphics"}));window.geocoder=new k({map:window.map,autoNavigate:!0,maxLocations:1,arcgisGeocoder:{url:ii+"//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",searchExtent:window.mapExtent,name:"Esri World Geocoder",placeholder:"Find a place",sourceCountry:"USA"}},"uxSearch");window.geocoder.startup();n=new t(ii+"//maps.deschutes.org/arcgis/rest/services/Operational_Layers/MapServer");window.toc=new ht({map:window.map,serviceLayer:n},$("#uxToc").get(0));window.drawtool=new ft(window.map);window.drawtool.on("draw-end",ei);r=new g({angle:0,xoffset:0,yoffset:0,type:"esriPMS",url:ii+"//static.arcgis.com/images/Symbols/Shapes/BluePin1LargeB.png",contentType:"image/png",width:24,height:24});window.geocoder.on("find-results",function(n){var t=window.map.getLayer("findResults");t.clear();window.map.infoWindow.hide();$.each(n.results.results,function(n,i){i.feature.setSymbol(r);t.add(i.feature)})});window.geocoder.on("clear",function(){var n=window.map.getLayer("findResults");n.clear()});$("#uxMapToolbar").css("opacity",1);$("#map").hideLoading();si=new p(n.url);dt=new v;dt.tolerance=2;dt.returnGeometry=!0;dt.layerOption=v.LAYER_OPTION_ALL})}function ci(n){dt.geometry=n.mapPoint;var t=si.execute(dt);t.addCallback(function(n){var t=[];return window.map.getLevel()>16?$.each(n,function(n,i){$.grep(t,function(n){return n.feature.attributes.OBJECTID==i.feature.attributes.OBJECTID}).length==0&&t.push(i)}):$.each(n,function(n,i){$.grep(t,function(n){return n.layerName==i.layerName}).length==0&&t.push(i)}),dojo.map(t,function(n){var r=n.feature,i=new esri.InfoTemplate;if(i.title=n.layerName,n.layerName==="Taxlot"){var t=r.attributes,u=t.ADDRESS==null|t.ADDRESS=="Null"?"UNKNOWN":t.ADDRESS,f=t.SUBDIVISION==null|t.SUBDIVISION=="Null"?"":t.SUBDIVISION,e="<table><tr><td>MAILING NAME:<\/td><td>${MAILING NAME}<\/td><\/tr><tr><td>MAP TAXLOT:<\/td><td>${MAP TAXLOT}<\/td><\/tr><tr><td>ADDRESS:<\/td><td>"+u+"<\/td><\/tr><tr><td>SUBDIVISION:<\/td><td>"+f+"<\/td><\/tr><\/table><br /><a href='/results/taxlot?value=${MAP TAXLOT}&map=true'>View account information for this taxlot<\/a>";i.setContent(e)}else i.setContent(lt());return r.setInfoTemplate(i),r})});window.map.infoWindow.setFeatures([t]);window.map.infoWindow.show(n.mapPoint)}function ti(n,t){if(window.drawtool.deactivate(),$(".draw-button:checked").prop("checked",!1).button("refresh"),window.measureTool&&window.measureTool.activeTool&&(window.measureTool.clearResult(),window.measureTool.setTool(window.measureTool.activeTool,!1)),$(t).is(":visible"))return window.map.enableMapNavigation(),$(t).hide(),!1;$(".mapToolsDialog").hide();var i=$(n).position();return $(t).css({left:i.left,top:5}),$(t).show(),t.selector!="#uxMeasureTool"||window.measureTool||(window.measureTool=new w({map:window.map,defaultAreaUnit:et.ACRES,defaultLengthUnit:et.FEET},$("#uxMeasureContent").get(0)),window.measureTool.startup()),!0}function ei(n){var u,f,e,s,h,c;if(window.drawtool.deactivate(),$("#uxColor").val()==="auto")var t=Math.floor(Math.random()*250),i=Math.floor(Math.random()*100),r=Math.floor(Math.random()*100);else var o=new yt($("#uxColor").val()).toRgb(),t=o[0],i=o[1],r=o[2];if(e=$(".drawMargins input[type='radio']:checked").attr("id"),e==="uxDrawText")if(f=ft.POINT,$("#uxTextInput").dialog("isOpen"))$("#uxTextValue").val()!==""&&(s=new rt("16",rt.STYLE_NORMAL,rt.VARIANT_NORMAL,rt.WEIGHT_BOLDER,"Arial"),u=new ut($("#uxTextValue").val(),s,new yt([t,i,r]))),$("#uxTextInput").dialog("close");else return $("#uxTextInput").dialog("option","buttons",[{text:"OK",click:function(){ei(n)}},{text:"Cancel",click:function(){$("#uxTextValue").val("");ei(n)}}]),$("#uxTextInput").dialog("open"),!1;else e==="uxDrawPoint"?(f=ft.POINT,u=new nt(nt.STYLE_CIRCLE,10,new it(it.STYLE_SOLID,new yt([t,i,r,.5]),5),new yt([t,i,r,.9]))):e==="uxDrawPolyline"?(f=ft.POLYLINE,u=new it(it.STYLE_SOLID,new yt([t,i,r,.85]),6)):e==="uxDrawArrow"?(f=ft.ARROW,u=new tt(tt.STYLE_SOLID,new it(it.STYLE_SOLID,new yt([t,i,r,.9]),4),new yt([t,i,r,.5]))):(f=ft.POLYGON,u=new tt(tt.STYLE_SOLID,new it(it.STYLE_SOLID,new yt([t,i,r,.9]),4),new yt([t,i,r,.5])));u!=null&&(h=new st(n.geometry,u),c=window.map.getLayer("drawGraphics"),c.add(h));setTimeout(function(){window.drawtool.activate(f)},300)}function ui(n){return n*Math.PI/180}function li(n){return n*180/Math.PI}function ai(n,t){var f=ui(n[0]),i=ui(n[1]),r=ui(t[0]),u=ui(t[1]);return x=Math.sin(u-i)*Math.cos(r),y=Math.cos(f)*Math.sin(r)-Math.sin(f)*Math.cos(r)*Math.cos(u-i),bearing=Math.atan2(x,y),bearing=li(bearing),i>u&&(bearing=360+bearing),bearing}function vi(n){var i,r,t,u;if(ni!==null&&(gt=null,ni=null,document.getElementById("bearing").innerHTML="",window.map.getLayer("solarGraphics").clear()),gt===null){gt=f.webMercatorToGeographic(n.mapPoint);symbol=new nt(nt.STYLE_CIRCLE,10,new it(it.STYLE_SOLID,new yt([0,255,0,.5]),5),new yt([0,255,0,.9]));window.map.getLayer("solarGraphics").add(new st(gt,symbol));return}ni===null&&(ni=f.webMercatorToGeographic(n.mapPoint),window.map.getLayer("solarGraphics").clear(),i={paths:[[[gt.x,gt.y],[ni.x,ni.y]]],spatialReference:{wkid:4326}},r=new o(i),symbol=new it(it.STYLE_SOLID,new yt([0,0,255,.5]),1),window.map.getLayer("solarGraphics").add(new st(r,symbol)),symbol=new nt(nt.STYLE_CIRCLE,6,new it(it.STYLE_SOLID,new yt([255,0,0,.5]),5),new yt([255,0,0,.9])),window.map.getLayer("solarGraphics").add(new st(ni,symbol)),symbol=new nt(nt.STYLE_CIRCLE,6,new it(it.STYLE_SOLID,new yt([0,255,0,.5]),5),new yt([0,255,0,.9])),window.map.getLayer("solarGraphics").add(new st(gt,symbol)),t=Math.abs(ai([gt.y,gt.x],[ni.y,ni.x])),u=t>=45&&t<=135||t>=225&&t<=315?"North property line":"<strong>Not<\/strong> a North property line",document.getElementById("bearing").innerHTML=t.toFixed(1)+"&#176 - "+u)}var ii,oi,ri,si,dt,gt,ni;kt.defaults.io.proxyUrl="/proxy.ashx";ii=location.protocol==="https:"?"https:":"http:";$("body").addClass("claro");$("#footer-app").css("display","none");setBodySize();$("#map").showLoading();oi=new h(ii+"//maps.deschutes.org/arcgis/rest/services/Operational_Layers/MapServer/0");ri=new s;ri.outSpatialReference={wkid:102100};ri.returnGeometry=!0;$("#uxMapTaxlot").val()!=""?(ri.where="Taxlot_Assessor_Account.TAXLOT = '"+$("#uxMapTaxlot").val()+"'",ri.outFields=["*"],oi.execute(ri,hi)):fi();gt=null;ni=null;$("#uxTextInput").dialog({title:"Custom text",dialogClass:"noTitleBar",resizable:!1,autoOpen:!1,width:300,modal:!1,closeOnEscape:!1,open:function(n,t){$(".ui-dialog-titlebar-close",t.dialog||t).hide();$("#uxTextInput").keypress(function(n){n.keyCode==$.ui.keyCode.ENTER&&($(this).parent().find("button:eq(0)").trigger("click"),$("#uxTextInput").dialog("close"))})}});$("#uxPrintMap").button().click(function(){var t,n;$("#map").showLoading();t={name:"Dial_8_5x11_InteractivePDF",label:"Landscape (PDF)",format:"pdf",options:{legendLayers:[],scalebarUnit:"Feet",customTextElements:[{title:$("#uxMapTitle").val()},{subtitle:$("#uxMapSubTitle").val()},]}};n=a();n.layout=t.name;n.label=t.label;n.format=t.format;n.layoutOptions=t.options;n.preserveScale=!0;var r=ii+"//maps.deschutes.org/arcgis/rest/services/PrintingTemplates/Dial_8_5x11_ReportPDF/GPServer/Export%20Web%20Map",u=new c(r),i=new l;i.map=window.map;i.template=n;u.execute(i,function(n){$("#uxPrintUrl").prop("href",n.url);$("#map").hideLoading();$("#uxMapPrepDialog").dialog("open")})});$("#uxPrint").button({icons:{primary:"map-print-icon"}}).click(function(){ti($(this),$("#uxPrintTool"))});$("#uxSolarCalc").button({icons:{primary:"map-solarCalc-icon"}}).click(function(){ti($(this),$("#uxSolarCalcTool"))});$("#uxPrintUrl").click(function(){$("#uxMapPrepDialog").dialog("close");ti($(this),$("#uxPrintTool"))});$("#uxMapPrepDialog").dialog({title:"Map created...",modal:!0,resizable:!1,autoOpen:!1});$("#uxAddLayers").button({icons:{primary:"map-addlayers-icon"}}).click(function(){at("ie")<=8?($("#dialog").find("p").load("/Infrastructure/Information.htm #uxNoIE8",function(){}),$("#dialog").dialog("option","title","Browser not suppported"),$("#dialog").dialog("open")):window.toc.showLayers()});$("#uxBasemap").button({icons:{primary:"map-basemaps-icon"}}).click(function(){ti($(this),$("#uxBasemapTool"))});$("#uxMeasure").button({icons:{primary:"map-measure-icon"}}).click(function(){ti($(this),$("#uxMeasureTool"))});$("#uxDraw").button({icons:{primary:"map-draw-icon"}}).click(function(){ti($(this),$("#uxDrawTool"))});$(".draw-button").button().click(function(){var n,i,t;if($(this).attr("id")=="uxSolarClear")return window.map.getLayer("solarGraphics").clear(),document.getElementById("bearing").innerHTML="",!1;if($(this).attr("id")=="uxDrawClear")return n=window.map.getLayer("drawGraphics"),n.clear(),!1;if($(this).attr("id")=="uxDrawUndo")return n=window.map.getLayer("drawGraphics"),n.graphics.length>0&&(i=n.graphics[n.graphics.length-1],n.remove(i),n.redraw()),!1;t=ft.POINT;$(this).attr("id")=="uxDrawArrow"&&(t=ft.ARROW);$(this).attr("id")=="uxDrawPolygon"&&(t=ft.POLYGON);$(this).attr("id")=="uxDrawPolyline"&&(t=ft.POLYLINE);$(this).attr("id")=="uxDrawText"&&(esri.bundle.toolbars.draw.addPoint="Add text to the map");$(this).attr("id")=="uxDrawPoint"&&(esri.bundle.toolbars.draw.addPoint="Click to add a point");window.drawtool.activate(t)});$(".mapToolsCloseButton").button({icons:{primary:"ui-icon-close"},text:!1}).click(function(){var n=$(this).parent().parent();ti(null,n)})})