function HtmlGenerator(){}HtmlGenerator.BuildFilterAgencyTable=function(d,c){var b="";if(d!=undefined&&d!=null&&c!=undefined&&c!=null){var e=HtmlGenerator.SortHashByDescription(c);if(AgencyFilterHelper.FilterAgencyID!=null&&AgencyFilterHelper.FilterAgencyID!=""){b+='<option value="'+AgencyFilterHelper.FilterAgencyID+'">'+e[AgencyFilterHelper.FilterAgencyID].Description+", "+e[AgencyFilterHelper.FilterAgencyID].StateAbbreviation+"</option>"}else{b+='<option value="">Only show crime reported by:</option>';for(var a in e){if(d[a]!=undefined&&d[a]!=null){b+='<option value="'+a+'">'+e[a].Description+", "+e[a].StateAbbreviation+"</option>"}}}}else{if(AgencyFilterHelper.FilterAgencyID!=null&&AgencyFilterHelper.FilterAgencyID!=""){b+='<option value="'+AgencyFilterHelper.FilterAgencyID+'">'+c[AgencyFilterHelper.FilterAgencyID].Description+", "+c[AgencyFilterHelper.FilterAgencyID].StateAbbreviation+"</option>"}else{b+='<option value="">No agencies available</option>'}}return b};HtmlGenerator.BuildAddressMarkerInfoWindow=function(){var a="";a+='<div class="address-info-window">';a+='<a class="close-button" onclick="MapHelper.CloseInfoWindow();"></a>';a+="<h4>"+$("#main-address-search").val()+"</h4>";a+="<p>Search Radius: ";a+='<select id="address-info-window-radius-list" onchange="AddressFocusHelper.FocusCrimeAroundAddress($(\'#address-info-window-radius-list\').val(), AddressFocusHelper.AddressGraphic);">';if($("#address-form-radius-list").val()=="0.0"){a+='<option value="0.0" selected>None</option>'}else{a+='<option value="0.0">None</option>'}if($("#address-form-radius-list").val()=="0.094696"){a+='<option value="0.094696" selected>500 feet</option>'}else{a+='<option value="0.094696">500 feet</option>'}if($("#address-form-radius-list").val()=="0.2"){a+='<option value="0.2" selected>.2 miles</option>'}else{a+='<option value="0.2">.2 miles</option>'}if($("#address-form-radius-list").val()=="0.5"){a+='<option value="0.5" selected>.5 miles</option>'}else{a+='<option value="0.5">.5 miles</option>'}if($("#address-form-radius-list").val()=="1.0"){a+='<option value="1.0" selected>1.0 mile</option>'}else{a+='<option value="1.0">1.0 mile</option>'}if($("#address-form-radius-list").val()=="2.0"){a+='<option value="2.0" selected>2.0 miles</option>'}else{a+='<option value="2.0">2.0 miles</option>'}a+="</select>  ";if($("#address-form-radius-list").val()!="0.0"){a+='<a id="address-info-window-clear-buffer-button" class="link" onclick="AddressFocusHelper.RemoveAddressFocus();">Remove Radius</a>'}a+="</p></div>";return a};HtmlGenerator.BuildAddressDistanceInfoWindow=function(){var a="";a+='<div class="address-info-window">';a+='<a class="close-button" onclick="MapHelper.CloseInfoWindow();"></a>';a+="<h4>"+AddressDistanceHelper.Address+"</h4>";a+="<p>These points are "+AddressDistanceHelper.Distance+"</strong> miles apart.</p>";a+='<p><a class="link" onclick="AddressDistanceHelper.RemovePolylineOverlay(); ">Remove Line</a></p>';a+="</div>";return a};HtmlGenerator.BuildAsCrowFliesHtml=function(){var a="";a+='<p class="address-finder">';a+='<span id="address-finder-button"><a onclick="AddressDistanceHelper.ShowAddressDistanceFinder();">How close am I to this location?</a></span>';a+=HtmlGenerator.BuildAddressDistanceFinder();a+="</p>";return a};HtmlGenerator.BuildAddressDistanceFinder=function(){var a="";a+='<span id="address-distance-finder-panel" style="display: none;">';a+='   <span id="form">';a+='       <input type="text" id="distance-finder-address" tabIndex="12" size="30" onkeypress="return UtilitiesHelper.CaptureEnterKey(event, \'#find-distance\');" ';if(AddressFocusHelper.AddressText!=null&&AddressFocusHelper.AddressText!=""){a+=' value="'+AddressFocusHelper.AddressText+'" />'}else{a+="/>"}a+='       <input type="button" id="find-distance" tabIndex="13" onclick="AddressDistanceHelper.GetDistance();" value="Go" /><br/>';a+="   </span>";a+='   <span id="iw-sample-address" class="ex">'+$("#main-sample-address").text()+"</span><br/>";a+='   <span class="close"><a onclick="AddressDistanceHelper.HideAddressDistanceFinder(); AddressDistanceHelper.RemovePolylineOverlay(); $(\'#address-distance-button\').show();" tabIndex="14" style="cursor: pointer;">Clear?</a></span>';a+="</span>";return a};HtmlGenerator.BuildAgencyLinks=function(d,c){var b="";if(d!=undefined&&d!=null&&c!=undefined&&c!=null){var e=c[d.AgencyID];if(e!=undefined&&e!=null&&e.AgencyLinks!=undefined&&e.AgencyLinks!=null){b+='<div class="extra-links">';b+='<p class="title"><a onclick="$(\'.extra-links ul\').slideToggle(function(){ MapHelper.UpdateInfoWindow(); });">'+e.Description+" Links</a></p>";b+="<ul>";for(var a=0;a<e.AgencyLinks.length;a++){b+='<li><a target="_blank" href="'+e.AgencyLinks[a].Url+'">'+e.AgencyLinks[a].Description+"</a></li>"}b+="</ul>";b+="</div>"}}return b};HtmlGenerator.BuildAgencyInfoWindowHtml=function(d){html='<div class="agency-window">';html+='<a class="close-button" onclick="MapHelper.CloseInfoWindow();"></a>';if(d.Url!=null&&d.Url!=""){html+='<h4><a href="'+d.Url+'">'+d.Description+'</a>&nbsp;<a target="new" class="help-link" href="'+Configuration.WebRoot+'help/help.aspx#agency-icon"><img src="'+Configuration.WebRoot+'images/map/help.gif" alt="Help" title="Help" border="0" /></a></h4>'}else{html+="<h4>"+d.Description+'&nbsp;<a target="new" class="help-link" href="'+Configuration.WebRoot+'help/help.aspx#agency-icon"><img src="'+Configuration.WebRoot+'images/map/help.gif" alt="Help" title="Help" border="0" /></a></h4>'}html+='<p><span class="total-crimes">'+d.CrimeCount+"</span> crimes between:</p>";var a=new Date(UtilitiesHelper.FormatIncidentDate(d.LastIncidentDate));a=new Date(a.getFullYear(),a.getMonth(),(a.getDate()-Configuration.DefaultDateRange));var c=new Date(UtilitiesHelper.FormatIncidentDate(d.LastIncidentDate));html+='<p class="dates"><span>'+$.datepicker.formatDate("m/dd/yy",a)+"</span> - <span>"+$.datepicker.formatDate("m/dd/yy",c)+"</span></p>";html+="<p>Last crime reported on <strong>"+UtilitiesHelper.FormatIncidentDate(d.LastIncidentDate)+"</strong></p>";var b=new Date();html+='<ul class="action-menu">';html+='<li><a onclick="Map.Map.infoWindow.hide(); MapHelper.ZoomToPointAndDate( '+d.X+", "+d.Y+", "+d.Level+", false, '"+$.datepicker.formatDate("m/dd/yy",c)+"');\">Zoom here</a></li>";html+="</ul>";html+="</div>";return html};HtmlGenerator.BuildAgenciesList=function(e){var d="";var c=null;var a=null;var f=null;if(e!=undefined&&e!=null&&e.AgencyHashTable!=undefined&&e.AgencyHashTable!=null){f=HtmlGenerator.SortHashByDescription(e.AgencyHashTable);d+='<select id="agency-list" onchange="MapHelper.JumpToAgency();">';d+='<option value="">Choose an agency:</option>';for(var b in f){c=new Date(UtilitiesHelper.FormatIncidentDate(f[b].LastIncidentDate));d+='<option value="'+f[b].X+","+f[b].Y+","+f[b].Level+","+$.datepicker.formatDate("m/dd/yy",c)+'">'+f[b].Description+", "+f[b].StateAbbreviation+"</option>"}d+="</select>"}return d};HtmlGenerator.SortHashByDescription=function(b){var e=[];for(var d in b){e.push([b[d].Description,b[d]])}e.sort(function(g,f){return(g<f)?-1:(g>f)?1:0});var a=[];for(var c=0;c<e.length;c++){a[e[c][1].AgencyID]=e[c][1]}return a};HtmlGenerator.GetIncidentInfoWindowHtml=function(b,c){var a="";if(b!=undefined&&b!=null){if(b.length!=undefined&&b.length!=null&&b.length>1){a=HtmlGenerator.BuildTabbedIncidentInfoWindowHtml(b,c)}else{a='<div class="incident-info-window" >'+HtmlGenerator.BuildIncidentInfoWindowHtml(b[0],c,true)+"</div>"}}return a};HtmlGenerator.BuildIncidentInfoWindowHtml=function(e,d,c){var b='<div class="details">';var a="";if(Configuration.UsingLargeIcons){symbolUrl=Configuration.LargeLegendCrimeSymbols[dojo.indexOf(Configuration.CrimeCodes,e.CrimeCode)];a="large"}else{symbolUrl=Configuration.MiniLegendCrimeSymbols[dojo.indexOf(Configuration.CrimeCodes,e.CrimeCode)];a="mini"}b+='<a class="close-button" onclick="MapHelper.CloseInfoWindow();"></a>';b+='<h4 class="crime-type"><img src="'+symbolUrl+'" class="'+a+'" />'+e.CrimeCode+"</h4>";b+='<p><a class="link" onclick="javascript:MapHelper.ZoomToCrime(\''+e.ObjectID+"')\">Zoom here</a></p>";if(e.CaseNumber!=null&&e.CaseNumber!=""){b+="<p><strong>Case Number: </strong>"+e.CaseNumber+"</p>"}if(e.DateReported!=null&&e.DateReported!=""){b+="<p><strong>Date: </strong>"+UtilitiesHelper.FormatIncidentDate(e.DateReported)+"</p>"}if(e.Location!=null&&e.Location!=""){b+="<p><strong>Location: </strong>"+e.Location+"</p>"}if(e.Description!=null&&e.Description!=""){b+="<p><strong>Description: </strong>"+e.Description+"</p>"}b+=HtmlGenerator.BuildAgencyLinks(e,d);b+="</div>";if(c){b+=HtmlGenerator.BuildAsCrowFliesHtml()}return b};HtmlGenerator.BuildTabbedIncidentInfoWindowHtml=function(c,d){var b='<div class="incident-info-window tabbed" >';if(c!=undefined&&c!=null){for(var a=0;a<c.length;a++){b+='<table id="iw_'+a.toString()+'" ';if(a>0){b+=' style="display: none;" '}b+=">";b+='<tr><td colspan="2" >'+HtmlGenerator.BuildIncidentInfoWindowHtml(c[a],d,false)+"</td></tr>";b+="<tr>";b+='<td class="previous">';if(a>0){b+='<a id="previous" onclick="MapHelper.ShowIncidentInfoWindowTab(\'table#iw_\', '+(a-1)+');" alt="Previous" title="Previous"></a>'}else{b+='<a id="previous" class="disabled"></a>'}b+="</td>";b+='<td class="next">';if(a<c.length-1){b+='<a id="next" onclick="MapHelper.ShowIncidentInfoWindowTab(\'table#iw_\', '+(a+1)+');" alt="Next" title="Next" ></a>'}else{b+='<a id="next" class="disabled"></a>'}b+="</td>";b+="</tr>";b+='<tr><td class="page-labels" colspan="2">'+(a+1).toString()+" of "+c.length.toString();+"</td></tr>";b+="</table>"}}b+=HtmlGenerator.BuildAsCrowFliesHtml();b+="</div>";return b};