function MapHelper(){}MapHelper.CreateGraphicsLayer=function(c){var b=null;var a=null;if(Map.Map.getLayer(c)){a=Map.Map.getLayer(c);b=new esri.layers.GraphicsLayer({id:"newLayer"});Map.Map.removeLayer(a);b.id=c}else{b=new esri.layers.GraphicsLayer({id:c})}Map.Map.addLayer(b);dojo.connect(b,"onMouseOver",function(d){Map.Map.setMapCursor("pointer")});dojo.connect(b,"onMouseOut",function(d){Map.Map.setMapCursor("default")});if(b==undefined||b==null){ConsoleLogHelper.AddMessage("CreateGraphicsLayer failed. Layer ("+c+") is undefined or null");return null}return b};MapHelper.GetGraphicsLayer=function(b){var a=Map.Map.getLayer(b);if(a==undefined||a==null){ConsoleLogHelper.AddMessage("GetGraphicsLayer failed. Layer ("+b+") is undefined or null");return null}return a};MapHelper.RemoveGraphicsLayer=function(b){var a=Map.Map.getLayer(b);if(a==undefined||a==null){ConsoleLogHelper.AddMessage("RemoveGraphicsLayer failed. Layer ("+b+") is undefined or null");return null}Map.Map.removeLayer(a)};MapHelper.ClearGraphicsLayer=function(b){var a=Map.Map.getLayer(b);if(a==undefined||a==null){ConsoleLogHelper.AddMessage("ClearGraphicsLayer failed. Layer ("+b+") is undefined or null");return null}a.clear()};MapHelper.ReorderGraphicsLayer=function(c,b){if(b<0||(Map.Map.graphicsLayerIds!=undefined&&b>Map.Map.graphicsLayerIds.length)){ConsoleLogHelper.AddMessage("ReorderGraphicsLayer failed. Index ("+b+") is out of range");return null}var a=Map.Map.getLayer(c);if(a==undefined||a==null){ConsoleLogHelper.AddMessage("ReorderGraphicsLayer failed. Layer ("+c+") is undefined or null");return null}Map.Map.reorderLayer(a,b)};MapHelper.GetAgencies=function(){var a=Configuration.WebRoot+"GetAgencies.aspx";MapHelper.ShowLoadingMessage("black","");$.getJSON(a,function(b){MapHelper.GetAgenciesFinished(b)})};MapHelper.GetAgenciesFinished=function(c){if(c!=undefined&&c!=null){var d=null;var b=null;var a=null;d=c.agencies;if(d!=undefined&&d!=null){MapHelper.CreateAgencyHashTable(d);MapHelper.AddAgenciesToMap();MapHelper.ProcessCustomUrl();$("#agencies-panel td.list-cell").html(HtmlGenerator.BuildAgenciesList(Map))}else{if(b.errorMessage!=undefined&&b.errorMessage!=null){a=b.errorMessage;$.blockUI({message:$("#loading-message").attr("class","error").html("<h4>We're having some issues ... </h4>"+a),css:{background:"none",border:"none"},overlayCSS:{opacity:0.4}})}else{if(b.loginExpiredMessage!=undefined&&b.loginExpiredMessage!=null){a=b.loginExpiredMessage;$.blockUI({message:$("#loading-message").attr("class","time-expired").html("<h4>Oops!</h4>"+a+'<br/><br/><a class="button" href="'+Configuration.WebRoot+'login.aspx">LOGIN</a>'),css:{background:"none",border:"none"},overlayCSS:{opacity:0.4}})}}}}};MapHelper.CreateAgencyHashTable=function(a){Map.AgencyHashTable={};dojo.forEach(a,function(b){Map.AgencyHashTable[b.AgencyID]=b})};MapHelper.AddAgenciesToMap=function(){var c=null;var h=null;var e=null;var b={};var g=null;var d=new esri.SpatialReference({wkid:Configuration.SpatialReferenceWKID_BING});var f=0;c=MapHelper.CreateGraphicsLayer("agencyLayer");if(c!=null){if(Map.AgencyHashTable!=undefined&&Map.AgencyHashTable!=null){Map.Map.reorderLayer(c,1);for(var a in Map.AgencyHashTable){h=Map.AgencyHashTable[a];b={AgencyID:h.AgencyID,Description:h.Description,CrimeCount:h.CrimeCount,Url:h.Url,ZoomLevel:h.Level,X:h.X,Y:h.Y};g=new esri.geometry.Point(h.X,h.Y,d);c.add(new esri.Graphic(g,Configuration.AgencySymbol,b));f++}if(!Configuration.IsShowingCrime){$("#status-message").html('<strong class="counter-bubble"><span>'+f+' agencies</span></strong><p>Click a blue pin (<img src="'+Configuration.WebRoot+'images/blue-pin.gif" alt="Blue pin" title="Blue pin" />) and zoom in to view crime.</p>')}dojo.connect(c,"onClick",function(i){var j=i.graphic.attributes.AgencyID;var k=HtmlGenerator.BuildAgencyInfoWindowHtml(Map.AgencyHashTable[j]);Map.Map.infoWindow.setContent(k);MapHelper.ShowInfoWindow("agencyLayer",j)})}}if($("#loading-message").attr("class")=="black"){$("#loading-message").fadeOut("fast")}};MapHelper.ProcessCustomUrl=function(){var a="";var g=null;var b=null;var l="";var e=null;var f=false;if(Configuration.SelectedDateBegin!=undefined&&Configuration.SelectedDateBegin!=null&&Configuration.SelectedDateBegin!=""&&Configuration.SelectedDateEnd!=undefined&&Configuration.SelectedDateEnd!=null&&Configuration.SelectedDateEnd!=""){f=true;$("#date-picker").DatePickerSetDate([Configuration.SelectedDateBegin,Configuration.SelectedDateEnd],true)}if(Configuration.SelectedX!=undefined&&Configuration.SelectedX!=null&&Configuration.SelectedX!=""&&Configuration.SelectedY!=undefined&&Configuration.SelectedY!=undefined&&Configuration.SelectedY!=""){var h=new esri.SpatialReference({wkid:Configuration.SpatialReferenceWKID_BING});var k=new esri.geometry.Point(parseFloat(Configuration.SelectedX),parseFloat(Configuration.SelectedY),h);var d=Map.Map.getLayer(Map.Map.layerIds[0]).tileInfo.lods.length-Configuration.MaxIncidentZoomLevel;setTimeout(function(){Map.Map.centerAndZoom(k,d)},500)}else{if(Configuration.SelectedAddress!=null&&Configuration.SelectedAddress!=""){$("#main-address-search").val(Configuration.SelectedAddress);setTimeout(function(){MapHelper.FocusAroundAddress("#main-address-search")},500)}else{if(Configuration.SelectedAgencyID!=null&&Configuration.SelectedAgencyID!=""){if(Map.AgencyHashTable!=undefined&&Map.AgencyHashTable!=null){for(var j in Map.AgencyHashTable){if(j.toString().toLowerCase()==Configuration.SelectedAgencyID.toLowerCase()){g=Map.AgencyHashTable[j];e=g.LastIncidentDate}}if(g!=undefined&&g!=null){if(f==false&&e!=undefined&&e!=null&&e!=""){var c=new Date(UtilitiesHelper.FormatIncidentDate(e));var i=new Date();if((c.getFullYear()>(i.getFullYear()-5))&&(c.getFullYear()<(i.getFullYear()+5))){setTimeout(function(){MapHelper.ZoomToPointAndDate(g.X,g.Y,g.Level,false,UtilitiesHelper.FormatIncidentDate(e))},500);return}}setTimeout(function(){MapHelper.ZoomToPoint(g.X,g.Y,g.Level,false)},500);return}else{ConsoleLogHelper.AddMessage("MapHelper.ProcessCustomUrl failed. Configuration.SelectedAgencyID ("+Configuration.SelectedAgencyID+") not found in hash.")}}}else{if(Configuration.SelectedStateID!=null&&Configuration.SelectedStateID!=""){var a=Configuration.WebRoot+"GetState.aspx?sid="+Configuration.SelectedStateID;$.getJSON(a,function(m){MapHelper.GetStateByIDFinished(m)})}else{if(Configuration.SelectedRegionID!=null&&Configuration.SelectedRegionID!=""){var a=Configuration.WebRoot+"GetRegion.aspx?rid="+Configuration.SelectedRegionID;$.getJSON(a,function(m){MapHelper.GetRegionByIDFinished(m)})}}}}}};MapHelper.GetStateByIDFinished=function(d){var f=null;var e=null;var b=null;var c=new esri.SpatialReference({wkid:Configuration.SpatialReferenceWKID_BING});var a=null;if(d!=undefined&&d!=null&&d!=""){b=d;if(b.errorMessage!=null){errorMessage=b.errorMessage;MapUtils.ShowLoadingMessage("red",'<p><a onclick="$(\'#loadingMessage\').fadeOut();" class="close"></a><strong>'+errorMessage+"</strong>.</p>")}else{if(b!=null&&b!=""){a=new esri.geometry.Point(b.X,b.Y,c);Map.Map.centerAndZoom(a,b.Level)}}}};MapHelper.GetRegionByIDFinished=function(d){var f=null;var e=null;var b=null;var c=new esri.SpatialReference({wkid:Configuration.SpatialReferenceWKID_BING});var a=null;if(d!=undefined&&d!=null&&d!=""){b=d;if(b.errorMessage!=null){errorMessage=b.errorMessage;MapUtils.ShowLoadingMessage("red",'<p><a onclick="$(\'#loadingMessage\').fadeOut();" class="close"></a><strong>'+errorMessage+"</strong>.</p>")}else{if(b!=null&&b!=""){a=new esri.geometry.Point(b.X,b.Y,c);Map.Map.centerAndZoom(a,b.Level)}}}};MapHelper.GetCrimes=function(){var a=Configuration.WebRoot+"GetIncidents.aspx?";var b="";MapHelper.ShowLoadingMessage("black","");MapHelper.SetMapExtentSearchParameters();b+="xmin="+IncidentSearchParameters.ExtentXMin+"&ymin="+IncidentSearchParameters.ExtentYMin+"&xmax="+IncidentSearchParameters.ExtentXMax+"&ymax="+IncidentSearchParameters.ExtentYMax;MapHelper.SetSelectedDateRangeSearchParameters();b+="&db="+$.datepicker.formatDate("yy-mm-dd",IncidentSearchParameters.DateBegin)+" 00:00:00";b+="&de="+$.datepicker.formatDate("yy-mm-dd",IncidentSearchParameters.DateEnd)+" 23:59:59";MapHelper.SetSelectedCrimeTypesSearchParameters();b+="&ccs="+IncidentSearchParameters.CrimeTypes;if(AddressFocusHelper.AddressBufferGraphic!=undefined&&AddressFocusHelper.AddressBufferGraphic!=null&&AddressFocusHelper.AddressBufferCenterLat!=undefined&&AddressFocusHelper.AddressBufferCenterLat!=null&&AddressFocusHelper.AddressBufferCenterLng!=undefined&&AddressFocusHelper.AddressBufferCenterLng!=null&&AddressFocusHelper.AddressBufferRadius!=undefined&&AddressFocusHelper.AddressBufferRadius!=null){b+="&bcx="+AddressFocusHelper.AddressBufferCenterLng+"&bcy="+AddressFocusHelper.AddressBufferCenterLat+"&br="+AddressFocusHelper.AddressBufferRadius}MapHelper.SetFilterAgencyParameter();if(AgencyFilterHelper.FilterAgencyID!=undefined&&AgencyFilterHelper.FilterAgencyID!=null&&AgencyFilterHelper.FilterAgencyID!=""){b+="&faid="+AgencyFilterHelper.FilterAgencyID}if(Configuration.CurrentXHR!=null){Configuration.CurrentXHR.abort()}Configuration.CurrentXHR=$.getJSON(a+b,function(c){MapHelper.GetCrimesFinished(c)})};MapHelper.GetCrimesFinished=function(b){Configuration.CurrentXHR=null;if(b!=undefined&&b!=null){var c=null;var a=null;a=b;if(a.incidents!=undefined&&a.incidents!=null){c=a.incidents;MapHelper.ProcessCrimes(c)}else{if(a.errorMessage!=undefined&&a.errorMessage!=null){errorMessage=a.errorMessage;$.blockUI({message:$("#loading-message").attr("class","error").html("<h4>We're having some issues ... </h4>"+errorMessage),css:{background:"none",border:"none"},overlayCSS:{opacity:0.4}})}else{if(a.loginExpiredMessage!=undefined&&a.loginExpiredMessage!=null){errorMessage=a.loginExpiredMessage;$.blockUI({message:$("#loading-message").attr("class","time-expired").html("<h4>Oops!</h4>"+errorMessage+'<br/><br/><a class="button" href="'+Configuration.WebRoot+'login.aspx">LOGIN</a>'),css:{background:"none",border:"none"},overlayCSS:{opacity:0.4}})}}}}else{MapHelper.ShowLoadingMessage("yellow",'<a onclick="$(\'#loading-message\').fadeOut();" class="close"></a>No crime was found here')}};MapHelper.ProcessCrimes=function(c){var b=null;var a="";var d="";if(c!=undefined&&c!=null&&c.length>0){if(c.length==1){a=c.length+" crime"}else{a=c.length+" crimes";if(c.length>=Configuration.MaximumRecordCount){a="+"+c.length+" crimes";d="red-alert";MapHelper.ShowLoadingMessage("red",'The map can\'t plot any more crimes. <a class="link" onclick="javascript:Map.Map.setLevel((Map.Map.getLevel() + 1));">Zoom In</a>.')}}$("#status-message").html('<strong class="counter-bubble '+d+'"><span>'+a+"</span></strong> <p>between <a onclick=\"$('a#dates-nav-link').click();\">"+$.datepicker.formatDate("m/d/yy",IncidentSearchParameters.DateBegin)+" - "+$.datepicker.formatDate("m/d/yy",IncidentSearchParameters.DateEnd)+"</a></p>");MapHelper.CreateHashTable(c);if(Configuration.IsClusteringEnabled){b=Map.Map.getLayer(Map.Map.layerIds[0]).tileInfo.lods[Map.Map.getLevel()];ClusterHelper.AddFeaturesToMap(this,c,Map.Map,(b.level+2),Map.Map.extent,Map.AgencyHashTable)}else{MapHelper.AddFeaturesToMap(c)}EventBinderHelper.EnableChartButton();EventBinderHelper.EnableReportButton();EventBinderHelper.EnablePrintButton()}else{MapHelper.ClearGraphicsLayer("crimesLayer");Map.CrimeHashTable={};Configuration.IsShowingIncidents=false;$("#status-message").html('<strong class="counter-bubble"><span>0 crimes</span></strong> <p>between <a onclick="$(\'a#dates-nav-link\').click();">'+$.datepicker.formatDate("m/dd/yy",IncidentSearchParameters.DateBegin)+" - "+$.datepicker.formatDate("m/dd/yy",IncidentSearchParameters.DateEnd)+"</a></p>");setTimeout("$('#loading-message').fadeOut('slow');",500);EventBinderHelper.DisableChartButton();EventBinderHelper.DisableReportButton();EventBinderHelper.DisablePrintButton();AgencyFilterHelper.BuildFilterAgencyList()}if($("#loading-message").attr("class")=="black"){$("#loading-message").fadeOut("fast")}};MapHelper.AddFeaturesToMap=function(l){var b=null;var n=null;var j=false;var e=null;var f={};var m=null;var k=new esri.SpatialReference({wkid:Configuration.SpatialReferenceWKID_BING});var c=-1;var p={};layer=MapHelper.CreateGraphicsLayer("crimesLayer");if(layer!=null){MapHelper.ReorderGraphicsLayer("crimesLayer",1);if(Configuration.UsingLargeIcons){layer.setRenderer(Map.LargeSymbolRenderer)}else{layer.setRenderer(Map.MiniSymbolRenderer)}if(l.length>0&&Map.AgencyHashTable!=undefined&&Map.AgencyHashTable!=null){if(Map.AgencyHashTable[l[0].AgencyID]!=undefined&&Map.AgencyHashTable[l[0].AgencyID]!=null){$("#main-sample-address").text("Try: "+Map.AgencyHashTable[l[0].AgencyID].SampleAddress)}}for(var g=0;g<l.length;g++){var r=l[g];var q="";f={CaseNumber:r.CaseNumber,CrimeCode:r.CrimeCode,Description:r.Description,Location:r.Location,ObjectID:r.ObjectID,DateReported:r.DateReported,X:r.X,Y:r.Y};m=new esri.geometry.Point(r.X,r.Y,k);q=r.X.toString()+"|"+r.Y.toString();if(Map.CrimeHashTable[q].length>1){if(Configuration.UsingLargeIcons){layer.add(new esri.Graphic(m,Map.LargeMultiCrimeSymbol,f))}else{layer.add(new esri.Graphic(m,Map.MiniMultiCrimeSymbol,f))}}else{if(Configuration.UsingLargeIcons){layer.add(new esri.Graphic(m,Configuration.LargeCrimeSymbols[dojo.indexOf(Configuration.CrimeCodes,r.CrimeCode)],f))}else{layer.add(new esri.Graphic(m,Configuration.MiniCrimeSymbols[dojo.indexOf(Configuration.CrimeCodes,r.CrimeCode)],f))}}if(Configuration.SelectedCrimeID!=undefined&&Configuration.SelectedCrimeID!=null){if(Configuration.SelectedCrimeID==r.ObjectID){c=g}}if(!p[r.AgencyID]){p[r.AgencyID]=r.AgencyName}j=true}if(p!=undefined&&p!=null){AgencyFilterHelper.BuildFilterAgencyList(p)}dojo.connect(layer,"onClick",function(s){if(s.graphic.attributes!=undefined&&s.graphic.attributes!=null){var i=s.graphic.attributes.ObjectID;var u=s.graphic.attributes.X.toString()+"|"+s.graphic.attributes.Y.toString();var t=HtmlGenerator.GetIncidentInfoWindowHtml(Map.CrimeHashTable[u],Map.AgencyHashTable);Map.Map.infoWindow.setContent(t);MapHelper.ShowInfoWindow("crimesLayer",i)}});if(Configuration.SelectedCrimeID!=""&&c!=-1){var q=l[c].X.toString()+"|"+l[c].Y.toString();var d=Map.Map.getLayer(Map.Map.layerIds[0]).tileInfo.lods.length-Configuration.MaxIncidentZoomLevel;var o=new esri.geometry.Point(parseFloat(l[c].X),parseFloat(l[c].Y),k);Map.Map.centerAndZoom(o,d);var h=HtmlGenerator.GetIncidentInfoWindowHtml(Map.CrimeHashTable[q],Map.AgencyHashTable);Map.Map.infoWindow.setContent(h);var a=l[c].ObjectID;setTimeout(function(){MapHelper.ShowInfoWindow("crimesLayer",a)},500);Configuration.SelectedCrimeID="";c=-1}}if($("#loading-message").attr("class")=="black"){$("#loading-message").fadeOut("fast")}};MapHelper.CreateHashTable=function(b){var a="";Map.CrimeHashTable={};dojo.forEach(b,function(c){a=c.X.toString()+"|"+c.Y.toString();if(!Map.CrimeHashTable[a]){Map.CrimeHashTable[a]=[]}if(!dojo.some(Map.CrimeHashTable[a],function(d){return d.ObjectID==c.ObjectID})){Map.CrimeHashTable[a].push(c)}})};MapHelper.ShowInfoWindow=function(c,a){var b=dojo.filter(Map.Map.getLayer(c).graphics,function(d){if(d.attributes){switch(c){case"crimesLayer":return d.attributes.ObjectID==a;break;case"agencyLayer":return d.attributes.AgencyID==a;break}}})[0];if(b!=undefined&&b!=null){Map.Map.infoWindow.resize(Configuration.InfoWindowBaseWidth,Configuration.InfoWindowBaseHeight);Map.Map.infoWindow.show(Map.Map.toScreen(b.geometry),Map.Map.getInfoWindowAnchor(Map.Map.toScreen(b.geometry)))}else{ConsoleLogHelper.AddMessage("MapHelper.ShowInfoWindow failed. target is undefined or null.")}};MapHelper.OnInfoWindowShow=function(){MapHelper.UpdateInfoWindow()};MapHelper.UpdateInfoWindow=function(){var a=0;$(".top .right .user .layout").children().each(function(b){a+=$(this).innerHeight()});Map.Map.infoWindow.resize(Configuration.InfoWindowBaseWidth,a+40)};MapHelper.ShowIncidentInfoWindowTab=function(b,a){var c=$(".incident-info-window.tabbed table").length;for(var d=0;d<c;d++){if(d==a){$(b+d.toString()).show()}else{$(b+d.toString()).hide()}}MapHelper.UpdateInfoWindow()};MapHelper.ShowAddressGraphicInfoWindow=function(){var a=HtmlGenerator.BuildAddressMarkerInfoWindow();Map.Map.infoWindow.resize(350,150);Map.Map.infoWindow.setContent(a);Map.Map.infoWindow.show(Map.Map.toScreen(AddressFocusHelper.AddressGraphic.geometry),Map.Map.getInfoWindowAnchor(Map.Map.toScreen(AddressFocusHelper.AddressGraphic.geometry)))};MapHelper.ShowAddressGraphicDistanceInfoWindow=function(){var a=HtmlGenerator.BuildAddressDistanceInfoWindow();Map.Map.infoWindow.resize(350,150);Map.Map.infoWindow.setContent(a);Map.Map.infoWindow.show(Map.Map.toScreen(AddressDistanceHelper.AddressGraphic.geometry),Map.Map.getInfoWindowAnchor(Map.Map.toScreen(AddressDistanceHelper.AddressGraphic.geometry)))};MapHelper.NextIncident=function(){dijit.byId("iw_stackContainer").forward()};MapHelper.PrevIncident=function(){dijit.byId("iw_stackContainer").back()};MapHelper.CloseInfoWindow=function(){Map.Map.infoWindow.hide()};MapHelper.FocusAroundAddress=function(a){Configuration.IsMeasuringDistance=false;MapHelper.GeocodeAddress(a)};MapHelper.GeocodeAddress=function(a){var b=$(a).val();if(b!=undefined&&b!=null&&b!="Enter an address:"){MapHelper.ShowLoadingMessage("black","");$("#address-form-search, #main-address-search, #get-distance-text-address").val(b);BingGeocoderHelper.GeocodeAddress(b,MapHelper.GeocodingFinished)}else{$("#loading-message").fadeOut();MapHelper.ShowLoadingMessage("red","<a onclick=\"$('#loading-message').fadeOut();\" class=\"close\"></a>To focus on a location, please enter an address and click 'Search.'")}};MapHelper.GeocodingFinished=function(d){if(d!=null){if(d.length==0){MapHelper.ShowLoadingMessage("red",'<a onclick="$(\'#loading-message\').fadeOut();" class="close"></a>The address you entered could not be found.')}else{if(d.length==1){if(Configuration.IsMeasuringDistance){var c=Map.Map.toMap(Map.Map.infoWindow.coords).x;var a=Map.Map.toMap(Map.Map.infoWindow.coords).y;var h=d[0].X;var g=d[0].Y;var b=d[0].Address;AddressDistanceHelper.MeasureDistance(c,a,h,g,b,MapHelper.MeasuringFinished)}else{AddressFocusHelper.PlaceAddressGraphic(d[0].X,d[0].Y,d[0].Address)}}else{var f="";f='<div class="label">Did you mean:</div><a class="clear" onclick="$(\'#did-you-mean-panel\').hide();">Clear?</a>';f+='<p class="list">';for(var e=0;e<d.length;e++){if(Configuration.IsMeasuringDistance){f+=(e+1)+'. <a onclick="AddressDistanceHelper.MeasureDistance('+Map.Map.toMap(Map.Map.infoWindow.coords).x+","+Map.Map.toMap(Map.Map.infoWindow.coords).y+", "+d[e].X+", "+d[e].Y+",'"+d[e].Address+"', MapHelper.MeasuringFinished); $('#did-you-mean-panel').hide();\">"+d[e].Address+"</a><br/>"}else{f+=(e+1)+'. <a onclick="AddressFocusHelper.PlaceAddressGraphic('+d[e].X+", "+d[e].Y+", '"+d[e].Address+"'); $('#did-you-mean-panel').hide();\">"+d[e].Address+"</a><br/>"}}f+="</p>";$("#did-you-mean-panel").html(f);UtilitiesHelper.ShowDidYouMeanPanel()}}$("#loading-message").fadeOut()}else{MapHelper.ShowLoadingMessage("red",'<a onclick="$(\'#loading-message\').fadeOut();" class="close"></a>The address you entered could not be found.')}};MapHelper.MeasuringFinished=function(){};MapHelper.SetMapExtentSearchParameters=function(){IncidentSearchParameters.ExtentXMin=Map.Map.extent.xmin;IncidentSearchParameters.ExtentYMin=Map.Map.extent.ymin;IncidentSearchParameters.ExtentXMax=Map.Map.extent.xmax;IncidentSearchParameters.ExtentYMax=Map.Map.extent.ymax};MapHelper.SetSelectedCrimeTypesSearchParameters=function(){var a="";$(".check-box-form input[name='crime-types-check-list']").each(function(){if($(this).attr("checked")){if(a.length>0){a+=","+$(this).val()}else{a+=$(this).val()}}});if(a.length>0){IncidentSearchParameters.CrimeTypes=a}else{IncidentSearchParameters.CrimeTypes=null}};MapHelper.SetSelectedDateRangeSearchParameters=function(){var c=null;var a=new Date();var b=new Date();c=$("#date-picker").DatePickerGetDate(true);a.setTime(Date.parse(c[0]));b.setTime(Date.parse(c[1]));IncidentSearchParameters.DateBegin=a;IncidentSearchParameters.DateEnd=b};MapHelper.SetFilterAgencyParameter=function(){IncidentSearchParameters.FilterAgencyID=AgencyFilterHelper.FilterAgencyID};MapHelper.GetCrimeSearchQueryString=function(){MapHelper.SetSelectedDateRangeSearchParameters();MapHelper.SetSelectedCrimeTypesSearchParameters();MapHelper.SetFilterAgencyParameter();return MapHelper.BuildCrimeSearchQueryString()};MapHelper.BuildCrimeSearchQueryString=function(){var a="";if(IncidentSearchParameters.DateBegin!=undefined&&IncidentSearchParameters.DateBegin!=null&&IncidentSearchParameters.DateBegin!=""&&IncidentSearchParameters.DateEnd!=undefined&&IncidentSearchParameters.DateEnd!=null&&IncidentSearchParameters.DateEnd!=""){if(a.length>0){a+="&db="+$.datepicker.formatDate("m/dd/yy",IncidentSearchParameters.DateBegin)+" 00:00:00&de="+$.datepicker.formatDate("m/dd/yy",IncidentSearchParameters.DateEnd)+" 23:59:00"}else{a+="?db="+$.datepicker.formatDate("m/dd/yy",IncidentSearchParameters.DateBegin)+" 00:00:00&de="+$.datepicker.formatDate("m/dd/yy",IncidentSearchParameters.DateEnd)+" 23:59:00"}}else{throw"IncidentParameterException"}if(IncidentSearchParameters.CrimeTypes!=undefined&&IncidentSearchParameters.CrimeTypes!=null&&IncidentSearchParameters.CrimeTypes!=""){if(a.length>0){a+="&ccs="}else{a+="?ccs="}a+=IncidentSearchParameters.CrimeTypes}if(AddressFocusHelper.AddressText!=undefined&&AddressFocusHelper.AddressText!=null){if(a.length>0){a+="&add="+AddressFocusHelper.AddressText}else{a+="?add="+AddressFocusHelper.AddressText}}if(AddressFocusHelper.AddressBufferGraphic!=undefined&&AddressFocusHelper.AddressBufferGraphic!=null&&AddressFocusHelper.AddressBufferCenterLat!=undefined&&AddressFocusHelper.AddressBufferCenterLat!=null&&AddressFocusHelper.AddressBufferCenterLng!=undefined&&AddressFocusHelper.AddressBufferCenterLng!=null&&AddressFocusHelper.AddressBufferRadius!=undefined&&AddressFocusHelper.AddressBufferRadius!=null){if(a.length>0){a+="&bcy="+AddressFocusHelper.AddressBufferCenterLat+"&bcx="+AddressFocusHelper.AddressBufferCenterLng+"&br="+AddressFocusHelper.AddressBufferRadius}else{a+="?bcy="+AddressFocusHelper.AddressBufferCenterLat+"&bcx="+AddressFocusHelper.AddressBufferCenterLng+"&br="+AddressFocusHelper.AddressBufferRadius}}if(Map.Map.extent!=undefined&&Map.Map.extent!=null){a+="&xmin="+Map.Map.extent.xmin+"&ymin="+Map.Map.extent.ymin+"&xmax="+Map.Map.extent.xmax+"&ymax="+Map.Map.extent.ymax}else{throw"IncidentParameterException"}if(IncidentSearchParameters.FilterAgencyID!=undefined&&IncidentSearchParameters.FilterAgencyID!=null&&IncidentSearchParameters.FilterAgencyID!=""){if(a.length>0){a+="&faid="+IncidentSearchParameters.FilterAgencyID}else{a+="?faid="+IncidentSearchParameters.FilterAgencyID}}return a};MapHelper.WireMapMoveEvents=function(){dojo.connect(Map.Map,"onExtentChange",function(){if(Map.Map.getLevel()>Configuration.ShowingIncidentsZoomLevel){Configuration.IsShowingCrime=true;MapHelper.GetCrimes();EventBinderHelper.EnableNavigation();$("#use-mini-icons-button").show();$("#enable-clusters-button").show();if(AddressFocusHelper.AddressBufferGraphic!=undefined&&AddressFocusHelper.AddressBufferGraphic!=null){EventBinderHelper.AnimateClearBufferButton()}if(AgencyFilterHelper.FilterAgencyID!=undefined&&AgencyFilterHelper.FilterAgencyID!=null){EventBinderHelper.AnimateRemoveFilterButton()}}else{if(Configuration.CurrentXHR!=undefined&&Configuration.CurrentXHR!=null){Configuration.CurrentXHR.abort()}if(Configuration.IsShowingCrime){Configuration.IsShowingCrime=false;MapHelper.ClearGraphicsLayer("crimesLayer");AddressDistanceHelper.RemovePolylineOverlay();AddressFocusHelper.RemoveAddressFocus();AgencyFilterHelper.RemoveFilterAgency();EventBinderHelper.DisableNavigation();UtilitiesHelper.ResizeMap();$("#use-mini-icons-button").hide();$("#enable-clusters-button").hide();$("#loading-message").fadeOut("fast")}var b=0;for(var a in Map.AgencyHashTable){b++}$("#status-message").html('<strong class="counter-bubble"><span>'+b+' agencies</span></strong><p>Click a blue pin (<img src="'+Configuration.WebRoot+'images/blue-pin.gif" alt="Blue pin" title="Blue pin" />) and zoom in to view crime.</p>')}});dojo.connect(Map.Map,"onZoom",MapHelper.OnZoom)};MapHelper.OnZoom=function(c,b,a){$("#drag-zoom-in-button").removeClass("active");$("#drag-zoom-out-button").removeClass("active");Map.ToolBar.deactivate(esri.toolbars.Navigation.ZOOM_IN);Map.ToolBar.deactivate(esri.toolbars.Navigation.ZOOM_OUT)};MapHelper.DragZoomIn=function(){$("#drag-zoom-in-button").addClass("active");$("#drag-zoom-out-button").removeClass("active");Map.ToolBar.activate(esri.toolbars.Navigation.ZOOM_IN)};MapHelper.DragZoomOut=function(){$("#drag-zoom-out-button").addClass("active");$("#drag-zoom-in-button").removeClass("active");Map.ToolBar.activate(esri.toolbars.Navigation.ZOOM_OUT)};MapHelper.JumpToAgency=function(){if($("select#agency-list").val()!=undefined&&$("select#agency-list").val()!=null&&$("select#agency-list").val()!=""){var a=$("select#agency-list").val().split(",");if(a!=undefined&&a!=null){MapHelper.ZoomToPointAndDate(parseFloat(a[0]),parseFloat(a[1]),a[2],false,a[3])}}else{ConsoleLogHelper.AddMessage("MapHelper.JumpToAgency failed. 'select#agency-list' is undefined or null.")}};MapHelper.ZoomToPoint=function(d,c,b,a){AddressFocusHelper.RemoveAddressFocus();AddressDistanceHelper.RemovePolylineOverlay();AgencyFilterHelper.RemoveFilterAgency();Map.Map.centerAndZoom(new esri.geometry.Point(parseFloat(d),parseFloat(c)),b);if(a){Map.Map.infoWindow.show()}};MapHelper.ZoomToPointAndDate=function(g,f,e,b,c){var a=new Date();var d=new Date();d.setTime(Date.parse(c));a.setTime(Date.parse(c));a=new Date(a.getFullYear(),a.getMonth(),(a.getDate()-Configuration.DefaultDateRange));$("#date-picker").DatePickerSetDate([a,d],true);MapHelper.ZoomToPoint(g,f,e,b)};MapHelper.ZoomToNationalOverview=function(){if(Configuration.CurrentXHR!=undefined&&Configuration.CurrentXHR!=null){Configuration.CurrentXHR.abort()}Map.Map.setExtent(Configuration.DefaultExtent,false)};MapHelper.ToggleClustering=function(){if(Configuration.IsClusteringEnabled){$("a#enable-clusters-button").text("Enable Clusters").removeClass("active")}else{$("a#enable-clusters-button").text("Disable Clusters").addClass("active")}Configuration.IsClusteringEnabled=!Configuration.IsClusteringEnabled;MapHelper.GetCrimes()};MapHelper.ToggleIconSizes=function(){if(Configuration.UsingLargeIcons){Configuration.UsingLargeIcons=false;$("#use-mini-icons-button").text("Use Large Icons").addClass("active")}else{Configuration.UsingLargeIcons=true;$("#use-mini-icons-button").text("Use Mini Icons").removeClass("active")}UtilitiesHelper.ToggleFilterFormImages(Configuration.UsingLargeIcons);MapHelper.GetCrimes()};MapHelper.ZoomToCrime=function(a){var d=dojo.filter(Map.Map.getLayer("crimesLayer").graphics,function(e){if(e.attributes!=undefined&&e.attributes!=null){return(e.attributes.ObjectID==a)}else{false}})[0];if(d){var c=d.attributes.X.toString()+"|"+d.attributes.Y.toString();var b=HtmlGenerator.GetIncidentInfoWindowHtml(Map.CrimeHashTable[c]);Map.Map.infoWindow.setContent(b);MapHelper.ShowInfoWindow("crimesLayer",a);Map.Map.centerAndZoom(d.geometry,Map.Map.getLayer(Map.Map.layerIds[0]).tileInfo.lods.length-Configuration.MaxIncidentZoomLevel)}else{MapHelper.ShowLoadingMessage("red",'<a onclick="$(\'#loading-message\').fadeOut();" class="close"></a>That crime is not on the map, or could not be found.')}};MapHelper.PanToCrime=function(d,c,j,k){var a=new Date();var e=new Date();var g=new Date();var b=null;var h=new esri.SpatialReference({wkid:Configuration.SpatialReferenceWKID_BING});var f=Map.Map.extent.getCenter();var i=new esri.geometry.Point(d,c,h);a.setTime(Date.parse(k));Configuration.SelectedCrimeID=j;b=$("#date-picker").DatePickerGetDate(true);e.setTime(Date.parse(b[0]));g.setTime(Date.parse(b[1]));if(a<e||a>g){e=a;g=a;e.setDate(a.getDate()-2);g.setDate(a.getDate()+2);$("#date-picker").DatePickerSetDate([e,g],true)}if(f==i){MapHelper.GetCrimes()}else{Map.Map.centerAt(i)}};MapHelper.ShowZoomInMessage=function(){$("#loading-message span").html('<a onclick="$(\'#loading-message\').fadeOut();" class="close">&nbsp;</a>Sorry, but you must be <strong>zoomed in further</strong> to use these tools.<br/>Click on one of the blue pin markers on the map, to zoom in.');$("#loading-message").attr("class","red");$("#loading-message").show()};MapHelper.ShowLoadingMessage=function(b,a){$("#loading-message span").html(a);$("#loading-message").removeAttr("class").addClass(b);if(jQuery.browser.msie&&jQuery.browser.version<=6){switch(b){case"green":backgroundColor="#c1d88f";borderColor="#70b353";break;case"red":backgroundColor="#dd909e";borderColor="#a42f31";break;case"yellow":backgroundColor="#f9e994";borderColor="#e0a72d";case"black":backgroundColor="#2e2e2e";borderColor="#000000";$("#loading-message span").html('<img src="'+Configuration.WebRoot+'images/black-spinner.gif" alt="Loading" title="Loading" border="0" style="padding: 5px;" />');break}$("#loading-message").css({"background-color":backgroundColor})}$("#loading-message").show()};MapHelper.DatePicker_OnChange=function(c,b){var a=new Date();var d=new Date();EventBinderHelper.EnableResetDatePickerButton();a.setTime(Date.parse(b[0]));d.setTime(Date.parse(b[1]));MapHelper.SetSelectedDateRangeSearchParameters();MapHelper.GetCrimes()};MapHelper.ResetDatePicker=function(){var a=new Date();var b=new Date();EventBinderHelper.DisableResetDatePickerButton();a.setDate(a.getDate()-Configuration.DefaultDateRange);$("#date-picker").DatePickerSetDate([a,b],true);MapHelper.GetCrimes()};