var a;if(navigator.userAgent.indexOf("iPhone")!=-1||navigator.userAgent.indexOf("iPod")!=-1)document.location="http://myneighborhoodupdate.net/mobile";function getInternetExplorerVersion(){var b=-1;if(navigator.appName=="Microsoft Internet Explorer")if(/MSIE ([0-9]{1,}[.0-9]{0,})/.exec(navigator.userAgent)!=null)return b=parseFloat(RegExp.$1)}var ver=getInternetExplorerVersion();
if(ver>-1)if(ver<=7){var conf=confirm("We have detected that you are running Internet Explorer 7, alghough the site will work, it will be very slow. \nClick 'ok' to continue\nClick 'cancel' to upgrade");if(!conf)window.location="http://windowsupdate.microsoft.com"}var LOGGER,REQUEST_PENDING=0,MAP_ZOOM_LEVEL,MAX_POINTS;MAX_POINTS=ver<=7?100:250;
var HIDE_EVENTS=0,LISTENER_STATUS=0,EVENT_LIST_LIMIT=25,AGENCIES=[],A_C=[],VISIBLE_AGENCIES=[],SEARCHES=[],EVENT_LIST=[],VISIBLE_TYPES={},TYPE_TOTALS=[],SUBSCRIBE_RESULT,BLINK_TIMES=15,BLINK_ON=1,CATEGORY_MARKERS=[];CATEGORY_MARKERS[1]="orange_MarkerP.png";CATEGORY_MARKERS[2]="red_MarkerV.png";CATEGORY_MARKERS[3]="yellow_MarkerT.png";CATEGORY_MARKERS[4]="green_MarkerP.png";CATEGORY_MARKERS[5]="purple_MarkerN.png";CATEGORY_MARKERS[6]="blue_MarkerD.png";CATEGORY_MARKERS[7]="paleblue_MarkerO.png";
var CATEGORY_COLORS=[];CATEGORY_COLORS[1]="#FFA54F";CATEGORY_COLORS[2]="#CD4F39";CATEGORY_COLORS[3]="#FBEC5D";CATEGORY_COLORS[4]="#9ACD32";CATEGORY_COLORS[5]="#DB70DB";CATEGORY_COLORS[6]="#3F73FB";CATEGORY_COLORS[7]="#AFEEEE";var P_N=[];P_N[1]="Here be chaos o' th' land";P_N[2]="Mutiny";P_N[3]="Landlubber Boats";P_N[4]="Anti-Pirating";P_N[5]="You be too loud!";P_N[6]="Here be chaos";P_N[7]="Nethers";
var SEARCH_DISP=1,CATEGORIES=[],CAT_COUNTS=[],TYPES=[],URL_ACTIVE_CATEGORIES=[],VISIBLE_CATEGORIE_IDS=[],INITIAL_LOAD=0,GRAPH_DATA=[],O_EVENTLIST,O_SERVER,O_SCOREBOARD,O_MAP,O_CAL={},O_GRAPH,PLEASE_WAIT,ZOOM_LISTENER,DRAG_LISTENER;google.load("visualization","1",{packages:["linechart","piechart"]});var c_y=0,c_x=0,d_y=0,offset_l=0,offset_t=-5;
function pre_load(){var b=new Image,c=[];c[0]="http://myneighborhoodupdate.net/images/normal_left.png";c[1]="http://myneighborhoodupdate.net/images/normal_right.png";c[2]="http://myneighborhoodupdate.net/images/normal_bottom_left.png";c[3]="http://myneighborhoodupdate.net/images/normal_bottom_right.png";for(var d=0;d<c.length;d++)b.src=c[d]}function remove_dupes(b){var c=[],d=0,f=b.length;a:for(;d<f;d++){for(var e=d+1;e<f;e++)if(b[e]==b[d])continue a;c[c.length]=b[d]}return c}
function show_previous_searches(){SEARCHES=remove_dupes(SEARCHES);SEARCHES.sort();if(SEARCHES.length>1){var b=document.getElementById("search_div");b.innerHTML="";b.style.display="block";b.style.visibility="visible";for(var c=0;c<5;c++)if(SEARCHES[c]!==undefined){var d=["<a onclick=\"javascript: document.addr.sb.value = '",SEARCHES[c],"'; SEARCH_DISP=0; \">",SEARCHES[c],"</a> <br />"].join("");b.innerHTML+=d}b.innerHTML+='<div style="text-align: right; width: 100%;"><hr />Recent searches</div>'}}
function set_cursor_pos(b){if(!b)b=window.event;if(b){c_x=b.pageX;c_y=b.pageY}}function set_cursor_pos_all(b){if(!b)b=window.event;if(b){c_x=b.clientX;c_y=b.clientY}}document.onmousemove=document.all?set_cursor_pos_all:set_cursor_pos;
function assign_position(b){if(self.pageYOfset){d_x=self.pageXOffset;d_y=self.pageYOffset}else if(document.documentElement&&document.documentElementScrollTop){d_x=document.documentElement.scrollLeft;d_y=document.documentElement.scrollTop}else if(document.body){d_x=document.body.scrollLeft;d_y=document.body.scrollTop}if(document.all){c_x+=d_x;c_y+=d_y}b.style.left=c_x+offset_l+"px";b.style.top=c_y+offset_t+"px"}
function show_types(b){var c=document.getElementById(b);if(CAT_COUNTS[b]===undefined)c.innerHTML="No events for this category.";assign_position(c);c.style.zIndex=210;c.style.display="block"}function hide_types(b,c){b=document.getElementById(b);var d=window.event||c;c=window.event?d.srcElement:d.target;if(c.nodeName=="DIV"){for(d=d.relatedTarget?d.relatedTarget:d.toElement;d!=c&&d.nodeName!="BODY";)d=d.parentNode;if(d!=c)b.style.display="none"}}
function get_cookie(b){if(document.cookie.length>0){start=document.cookie.indexOf(b+"=");if(start!=-1){start=start+b.length+1;end=document.cookie.indexOf(";",start);if(end==-1)end=document.cookie.length;return unescape(document.cookie.substring(start,end))}}return""}
function add_email_notification(){var b=document.getElementById("link_popup"),c=document.getElementById("link_popup_info"),d=document.getElementById("link_type"),f=document.getElementById("link_title");d.src="/images/email_notification_icon.gif";f.innerHTML="Email Notification";d=get_cookie("email")||"";f=O_MAP.get_extents();var e=f.split(","),g=new GLatLng(e[1],e[0]);e=new GLatLng(e[3],e[2]);var h=O_MAP.get_center(),l=O_MAP.get_zoom(),j=[];j=['By providing your e-mail address and a short description, an e-mail message will be sent when new events occur within the map area you are currently viewing.<br /><br /><center><form target="return" method="get" onsubmit="submit_email(); return true;" action="/manage_alerts.cgi" name="email_sub"><input type="hidden" value="add_email" name="m"><table border="0"><tr><td style="text-align: right;">E-Mail:</td><td style="text-align: right;"><input id="email" type="text" name="email" size="30" onchange="validate( \'email\' )" value=',
d,'></td></tr><tr><td style="text-align: right;">Description:</td><td style="text-align: right;"><input id="desc" type="text" name="desc" size="30" onchange="validate( \'desc\' )"></td><input type="hidden" value="',f,'" name="ext"><input type="hidden" value="',h,'" name="center"><input type="hidden" value="',l,'" name="zoom"></tr><tr><td></td><td style="text-align: right;"><input type="submit" name="submit" value="Subscribe" /></td></tr></form></tr><tr><td colspan="2"><iframe name="return" width="240px" height="40px" frameborder="0" scrolling="no"></iframe></td></tr><tr><td style="text-align: left" colspan="3">See our <a href="/help/privacy.shtml" target="_blank">privacy</a> section for more details.</td></tr></table></center>'].join("");
c.innerHTML=j;if(e.distanceFrom(g)>12E3)alert("Sorry, the area you are viewing is too wide for e-mail alerts.  Please zoom in closer and try again.");else b.style.visibility="visible";d!==""?document.email_sub.desc.focus():document.email_sub.email.focus()}
function validate(b){var c;if(b=="email"){c=new RegExp(/^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/);var d=document.email_sub.email;if(d.value.match(c)){d.style.color="black";d.style.background="white"}else{alert("Invalid E-Mail");d.style.color="white";d.style.background="red"}}if(b=="desc"){c=new RegExp(/^[A-Za-z0-9]|\s+$/);b=document.email_sub.desc;if(b.value.match(c)){b.style.color="black";b.style.background=
"white"}else{alert("Invalid Description:\n\tOnly use Alphanumeric");b.style.color="white";b.style.background="red"}}}function set_cookie(b,c,d){var f=new Date;f.setDate(f.getDate()+d);document.cookie=b+"="+escape(c)+(d===null?"":";expires="+f.toGMTString())}function submit_email(){set_cookie("email",document.email_sub.email.value,10)}
function get_num_points(){var b=0;if(document.getElementById("p_sel")){b=document.getElementById("p_sel");set_cookie("num_points",b.options[b.selectedIndex].value,1);b=b.options[b.selectedIndex].value}else b=250;return b}function get_param(b){var c="",d=window.location.href,f=d.substr(d.indexOf("?")).toLowerCase();d=d.split("&");for(f=0;f<d.length;f++)if(d[f].indexOf(b.toLowerCase()+"=")>-1)c=d[f].split("=")[1];if(c!=="")return unescape(c)}
function refresh(){VISIBLE_TYPES={};if(!(REQUEST_PENDING>0)){MAP_ZOOM_LEVEL=O_MAP.get_zoom();if(MAP_ZOOM_LEVEL>10){if(LISTENER_STATUS==1){DRAG_LISTENER=GEvent.bind(O_MAP.map_canvas,"dragend",O_MAP,function(){refresh()});GEvent.addListener(DRAG_LISTENER);LISTENER_STATUS=2}extents=O_MAP.get_extents();VISIBLE_CATEGORIE_IDS="";var b=0;for(var c in CATEGORIES){if(!CATEGORIES[c].hidden){VISIBLE_CATEGORIE_IDS+=c;VISIBLE_CATEGORIE_IDS+=b==6?"":","}b++}if(VISIBLE_CATEGORIE_IDS.length===13)VISIBLE_CATEGORIE_IDS=
"all";O_SERVER.get_events(O_CAL.begin_epoch,O_CAL.end_epoch,extents,VISIBLE_CATEGORIE_IDS)}else{O_MAP.show_agencies();O_GRAPH.refresh();O_EVENTLIST.refresh();LISTENER_STATUS=1}set_cookie("center",O_MAP.get_center(),1);set_cookie("zoom",O_MAP.get_zoom(),1)}}function date_to_epoch(b){if(b!==undefined&&b.match("/")){var c=b.split("/");b=new Date(b);return parseInt(b.getTime()/1E3,10)}else alert("date_to_epoch: undefined date, "+b)}
function epoch_to_date(b){var c=new Date(b*1E3);b=c.getMonth()+1;var d=c.getFullYear();c=c.getDate();return b+"/"+c+"/"+d}function blink_image(){BLINK_ON=BLINK_ON==1?0:1;var b=document.getElementById("blinker"),c="visible";BLINK_ON||(c="hidden");b.style.visibility=c;BLINK_TIMES--;if(BLINK_TIMES<=0)b.style.visibility="visible";else setTimeout("blink_image()",750)}
function init(b){pre_load();O_SERVER=new Server;if(typeof Log!=="undefined"){Log.options.sort_obj=true;Log.options.timestamp=true;Log.options.max_recurs=1;Log.debug("Logging enabled!")}O_EVENTLIST=new EventList("event_list");PLEASE_WAIT=document.getElementById("please_wait");O_MAP=new Map("map_canvas");O_SCOREBOARD=new ScoreBoard("score_board");O_GRAPH=new Graph;var c=function(k){if(k=="begin"){dt=$("#cal_begin").attr("value");k=date_to_epoch(dt);O_CAL.begin_epoch=k;refresh()}else if(k=="end"){dt=
$("#cal_end").attr("value");k=date_to_epoch(dt);O_CAL.end_epoch=k;refresh()}else alert("need to pass a date box to change_dates")},d=new Date,f=new Date;f.setDate(d.getDate());d.setDate(d.getDate()-365);$(function(){$("#cal_begin").datepicker({minDate:d,maxDate:f,onSelect:function(k,m){O_CAL.begin_epoch=date_to_epoch(k);refresh()}})});$(function(){$("#cal_end").datepicker({minDate:d,maxDate:f,onSelect:function(k,m){O_CAL.end_epoch=date_to_epoch(k);refresh()}})});O_SERVER.get_types();O_SERVER.get_categories();
O_SERVER.get_agencies();c=get_cookie("begin_epoch");var e=get_cookie("end_epoch"),g=epoch_to_date(e);if(e>0)g=epoch_to_date(e);else{dt=new Date;e=parseInt(dt.getTime()/1E3,10);g=dt.getMonth()+1;var h=dt.getDate(),l=dt.getFullYear();g=g+"/"+h+"/"+l}$("#cal_end").attr("value",g);if(!(c>0)){dt=new Date;c=e-2592E3}g=epoch_to_date(c);$("#cal_begin").attr("value",g);O_CAL.begin_epoch=c;O_CAL.end_epoch=e;c=get_cookie("center");e=window.location.href;var j;$("#p_sel").attr("value",MAX_POINTS);if(e.indexOf("/?center")>
-1){b=get_param("center");zoom=get_param("zoom");O_CAL.begin_epoch=get_param("b")||O_CAL.begin_epoch;O_CAL.end_epoch=get_param("e")||O_CAL.end_epoch;j=get_param("c")||"all";c=unescape(b).split(", ");for(b=0;b<j.length;b++)URL_ACTIVE_CATEGORIES[j[b]]=parseInt(j[b],10);O_MAP.map_canvas.setCenter(new GLatLng(c[0],c[1]),parseInt(zoom,10))}else if(b)b=O_MAP.geocode(b);else if(c!==null&&c!==""){b=get_cookie("zoom");e=get_cookie("num_points");j=get_cookie("categories")||"all";e&&$("#p_sel").attr("value",
e);c=c.split(", ");O_MAP.map_canvas.setCenter(new GLatLng(c[0],c[1]),parseInt(b,10))}else{if(google.loader&&google.loader.ClientLocation!==null&&google.loader.ClientLocation.address.country_code=="US"&&google.loader.ClientLocation.address.region)O_MAP.map_canvas.setCenter(new GLatLng(google.loader.ClientLocation.latitude,google.loader.ClientLocation.longitude),11);else{INITIAL_LOAD=1;O_MAP.map_canvas.setCenter(new GLatLng(37.0625,-95.67706),4)}j="all"}$("#cal_end").attr("value",epoch_to_date(O_CAL.end_epoch));
$("#cal_begin").attr("value",epoch_to_date(O_CAL.begin_epoch));extents=O_MAP.get_extents();window.setTimeout(function(){O_SERVER.get_events(O_CAL.begin_epoch,O_CAL.end_epoch,extents,j)},500);ZOOM_LISTENER=GEvent.bind(O_MAP.map_canvas,"zoomend",O_MAP,function(){refresh()});DRAG_LISTENER=GEvent.bind(O_MAP.map_canvas,"dragend",O_MAP,function(){refresh()});GEvent.addListener(ZOOM_LISTENER);GEvent.addListener(DRAG_LISTENER);setTimeout("blink_image()",2E3)}
function show_search(){$("#address_input").is(":none")?$("#address_input").hide().fadeIn(3E3):alert("nohere")}
function close_link(b,c){if(c){if(c=="search_div"){var d=window.event||b;b=window.event?d.srcElement:d.target;if(b.nodeName!="DIV")return;for(d=d.relatedTarget?d.relatedTarget:d.toElement;d!=b&&d.nodeName!="BODY";)d=d.parentNode;if(d==b)return}c=document.getElementById(c);O_MAP.pano&&O_MAP.pano.remove();c.style.visibility="hidden"}else document.getElementById("link_popup").style.visibility="hidden"}
function show_link(){var b=O_MAP.get_center(),c=MAP_ZOOM_LEVEL,d="http://";d+=window.location.hostname;d+="?center="+escape(b);d+="&zoom="+escape(c);d+="&b="+O_CAL.begin_epoch;d+="&e="+O_CAL.end_epoch;if(VISIBLE_CATEGORIE_IDS.length===0)VISIBLE_CATEGORIE_IDS="all";d+="&c="+VISIBLE_CATEGORIE_IDS;b=document.getElementById("link_popup");c=document.getElementById("link_textarea");var f=document.getElementById("link_popup_info"),e=document.getElementById("link_type"),g=document.getElementById("link_title");
e.src="/images/link_icon.gif";g.innerHTML="Link to current view";f.innerHTML="";if(c)close_link();else{c=document.createElement("textarea");c.id="link_textarea";c.cols=45;c.rows=5;e='alert( "hi" )';f.innerHTML+="Copy and paste the text below to share this view with someone else.<br /><br />";f.innerHTML+='<form name="url_selector">Exclude date ranges: <input onclick="javascript: update_url( );" type="checkbox" name="cb"/></form><br />';f.appendChild(c);c.value=d;b.style.visibility="visible";c.focus();
c.select()}}function update_url(){var b=document.url_selector.cb,c=O_MAP.get_center(),d=MAP_ZOOM_LEVEL,f="http://";f+=window.location.hostname;f+="?center="+escape(c);f+="&zoom="+escape(d);if(!b.checked){f+="&b="+O_CAL.begin_epoch;f+="&e="+O_CAL.end_epoch}if(VISIBLE_CATEGORIE_IDS.length===0)VISIBLE_CATEGORIE_IDS="all";b=document.getElementById("link_textarea");f+="&c="+VISIBLE_CATEGORIE_IDS;b.value=f;b.focus()}
function send_param(){var b=O_MAP.get_center(),c=MAP_ZOOM_LEVEL,d="http://";d+=window.location.hostname;d+="?center="+escape(b);d+="&zoom="+escape(c);d+="&b="+O_CAL.begin_epoch;d+="&e="+O_CAL.end_epoch;d+="&c="+VISIBLE_CATEGORIE_IDS;b="Someone sent you a link from myneighborhoodupdate.net%0DPaste the following link into your browser:%0D%0D";b+=escape(d);window.open("mailto:?subject=My Neighborhood Update&body="+b,"emailWindow").close()}
function soft_refresh(){VISIBLE_CATEGORIE_IDS="";var b=0;for(var c in CATEGORIES){if(!CATEGORIES[c].hidden){VISIBLE_CATEGORIE_IDS+=c;VISIBLE_CATEGORIE_IDS+=","}b++}if(VISIBLE_CATEGORIE_IDS.length===13)VISIBLE_CATEGORIE_IDS="all";if(VISIBLE_CATEGORIE_IDS.length===0){O_GRAPH.refresh();O_EVENTLIST.refresh()}extents=O_MAP.get_extents();O_SERVER.get_events(O_CAL.begin_epoch,O_CAL.end_epoch,extents,VISIBLE_CATEGORIE_IDS)}
function sort_projects(b){var c=[];for(var d in b)c.push([d,b[d]]);c.sort(function(f,e){return f[1].name>e[1].name?-1:f[1].name<e[1].name?1:0});b={};for(d=c.length-1;d>=0;d--)b[c[d][0]]=c[d][1];return b}
function update_visible_agencies(){var b=document.getElementById("visible_agencies"),c='<b>Visible agencies:</b><br/><table id="visible_agencies_table">',d=0,f=sort_projects(AGENCIES);for(var e in f){c+=d%2==1?"<tr>":'<tr style="background-color: #eee">';if(f[e]!==undefined&&e in VISIBLE_AGENCIES){var g=f[e].city,h=f[e].state,l="O_MAP.show_long_lat("+f[e].longitude+", "+f[e].latitude+", "+f[e].zoom+" )",j=f[e].name;if(g.length&&h.length)j='<td><a href="javascript:'+l+';" title="Zoom in to this agency" id="'+
g+'_zoomto">'+j+"</a></td>";c+="<td>"+j+"</td>"}c+="</tr>";d++}c+="</table>";b.innerHTML=c}function show_wait(){PLEASE_WAIT.style.visibility="visible"}function hide_wait(){PLEASE_WAIT.style.visibility="hidden"}function un_init(){GEvent.clearListeners(O_MAP.map_canvas);GUnload();O_GRAPH=O_MAP=O_EVENTLIST=O_SERVER=null};function Server(){this.service_url=location.host=="oxford.coronasolutions.com"?"http://"+location.host+"/nusvc-dev":"http://"+location.host+"/nusvc"}a=Server.prototype;
a.make_request=function(b,c){var d=false;try{d=new ActiveXObject("Msxml2.XMLHTTP")}catch(f){try{d=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){d=false}}if(!d&&typeof XMLHttpRequest!="undefined")d=new XMLHttpRequest;show_wait();d.open("GET",this.service_url+b,true);d.onreadystatechange=function(){if(d.readyState===4)if(d.status===200)c(d);else if(d.status===500)alert("Internal Server Error");else if(d.status===501)alert("Not Implemented");else if(d.status===502)alert("Bad Gateway");else if(d.status===
503)alert("Service Unavailable\nPlease try again.");else d.status===504&&alert("Gateway Timeout\nPlease try again.")};d.send(null);delete d.onreadystatechange;window.CollectGarbage&&CollectGarbage()};a.report_error=function(b,c){this.make_request("?m=report_error&e="+b+"&msg="+c,function(){})};
a.get_events=function(b,c,d,f){if(f){var e;if(b===undefined||c===undefined)return 0;if(!(REQUEST_PENDING>0)){REQUEST_PENDING++;e=MAP_ZOOM_LEVEL<=10?1:0;var g=get_cookie("email");g=g===""?"":"&email="+g;this.make_request("?m=get_events&b="+b+"&e="+c+"&extents="+d+"&mx="+get_num_points()+"&ac="+e+"&nolist="+e+"&categories="+f+g,function(h){h=eval("("+h.responseText+")");EVENT_LIST=h.events;GRAPH_DATA=h.graph_linedata;CAT_COUNTS=h.category_counts;if(e==1)A_C=h.agency_counts;window.setTimeout("update_visible_agencies();",
1E3);window.setTimeout("O_GRAPH.refresh();",250);window.setTimeout("O_EVENTLIST.refresh();",270);window.setTimeout("O_MAP.draw_points();",400);window.setTimeout("O_SCOREBOARD.refresh();",550);REQUEST_PENDING--})}}else O_MAP.map_canvas.clearOverlays()};a.get_categories=function(){this.make_request("?m=get_categories",function(b){CATEGORIES=eval("("+b.responseText+")")})};a.get_agencies=function(){this.make_request("?m=get_agencies",function(b){AGENCIES=eval("("+b.responseText+")")})};
a.get_types=function(){this.make_request("?m=get_types",function(b){TYPES=eval("("+b.responseText+")")})};a.add_email_alert=function(b,c,d,f){this.make_request("?m=add_email&email="+b+"&ext="+d+"&desc="+c+"&zoom="+f,function(e){SUBSCRIBE_RESULT=eval("("+e.responseText+")");return SUBSCRIBE_RESULT.code})};function Browser(){var b,c,d;this.isNS=this.isIE=false;this.version=null;b=navigator.userAgent;c="MSIE";if((d=b.indexOf(c))>=0){this.isIE=true;this.version=parseFloat(b.substr(d+c.length))}else{c="Netscape6/";if((d=b.indexOf(c))>=0){this.isNS=true;this.version=parseFloat(b.substr(d+c.length))}else{c="Gecko";if(b.indexOf(c)>=0){this.isNS=true;this.version=6.1}}}};function EventList(b){this.div=document.getElementById(b)}
EventList.prototype.start=function(){if(events===undefined||events.length<1)this.div.innerHTML="No events displayed for the area shown. Zoom in or change to a different location.";else{this.div.innerHTML="";["<table width='100%' id=\"events_table\"><tr>","<th colspan='6'>Listing "+EVENT_LIST.length+" Significant Events of "+O_SCOREBOARD.cat_total+" (click a row to get more info)</th></tr><tr>","<th>Type</th><th>Location</th><th>Received</th><th>Cars</th><th>Time</th></tr>"].join("");VISIBLE_AGENCIES=
[]}};EventList.prototype.refresh_nolimit=function(){O_EVENTLIST.refresh("none")};
EventList.prototype.refresh=function(b){var c;if(b){if(b==="none"){limit=EVENT_LIST.length;c=""}}else{limit=EVENT_LIST_LIMIT;c='<tr ><td style="text-align: center;" colspan="6"><a href="javascript: O_EVENTLIST.refresh_nolimit();">Click here to display '+EVENT_LIST.length+" events.</a></td></tr>"}b=EVENT_LIST;var d=TYPES,f=CATEGORIES;if(O_MAP.get_zoom()<=10){c="<div id='no_events'>";c+="You are zoomed out too far to view any events.</div>";this.div.innerHTML=c}else if(b===undefined||b.length<1){c=
"<div id='no_events' class='no_print'> There were no events found in this geographic area.  Potential reasons are:<ul>";c+="<li>The agency responsible for this jurisdiction is not a member of the Neighborhood Update program.</li>";c+="<li>There are no events reported for this area within the specified date range, try selecting a longer date span.</li>";c+="<li>The agency has not yet provided any data for the selected date range.</li>";c+="<li>You are zoomed in too close to see events.  Try using the vertical slider on the map to zoom out.</li></ul></div>";
this.div.innerHTML=c}else{this.div.innerHTML="";var e="<table id=\"events_table\"><tr><th colspan='6' id='most_sig_lst'></th></tr><tr><th></th><th>Type</th><th>Location</th><th>Received</th><th>Cars</th><th>Time</th></tr><tbody>";VISIBLE_AGENCIES=[];var g=(new Date).getFullYear(),h=g-1+"",l=h-1+"";g+="";for(var j=g.replace(/^20/,""),k=h.replace(/^20/,""),m=l.replace(/^20/,""),i=0;i<b.length;i++){var n="?",s,o=0,q=b[i][1];q=q.replace(/:[0-9]+\s[A-Z]+$/,"");q=q.replace(g,j);q=q.replace(h,k);q=q.replace(l,
m);try{s=b[i][6]||"?";cat_icon=parseInt(s,10);n=d[b[i][7]].type||"?";o=f[s].hidden}catch(r){O_SERVER.report_error(r.description,"can't assign values")}if(i==limit)break;if(!o){var p=b[i][16];if(p.length>21)p=p.substr(0,18)+"...";o=Math.round(b[i][13]);if(o>60){o/=60;o=Math.round(o*100)/100;o+="h"}else if(o>0)o+="m";else o=o===0?"< 1":"&nbsp;";var t=b[i][12];if(parseInt(b[i][18],10)===1)t="N/A";if(parseInt(b[i][19],10)===1)o="N/A";var u=b[i][2];this.zoom_to_event(i+1,b[i][4],b[i][5],u);e+=['<tr title="',
b[i][16],'" id="',u,'"><td>','<img src="/icons/'+CATEGORY_MARKERS[cat_icon]+'"/>',"</td><td>",n,"</td><td>",p,"</td><td>",q,"</td><td>",t,"</td><td>",o,"</td></tr>"].join("");p=b[i][0]}VISIBLE_AGENCIES[p+""]=1}e+=c;e+="</tbody></table>";this.div.innerHTML=e}};EventList.prototype.zoom_to_event=function(b,c,d,f){return['onclick="javascript:O_MAP.zoom_to_point(',c,", ",d,", '",f,"' )\""].join("")};function sort_keys(b){var c=[];for(var d in b)c.push(d);c.sort(function(f,e){return parseInt(f,10)<parseInt(e,10)?-1:parseInt(f,10)>parseInt(e,10)?1:0});return c}
function Graph(){this.months=new Array(12);this.months[0]="Jan.";this.months[1]="Feb.";this.months[2]="Mar.";this.months[3]="Apr.";this.months[4]="May.";this.months[5]="June";this.months[6]="July";this.months[7]="Aug.";this.months[8]="Sep.";this.months[9]="Oct.";this.months[10]="Nov.";this.months[11]="Dec.";this.color=[];this.color[0]="#3F73FB";this.color[1]="#9ACD32";this.color[2]="#FFA54F";this.color[3]="#FBEC5D";this.color[4]="#AFEEEE";this.color[5]="#CD4F39";this.color[6]="#DB70DB";this.color_index=
[];this.color_index[1]=2;this.color_index[2]=5;this.color_index[3]=3;this.color_index[4]=1;this.color_index[5]=6;this.color_index[6]=0;this.color_index[7]=4}Graph.prototype.refresh=function(){var b=document.getElementById("line_graph"),c=document.getElementById("pie_graph");b.innerHTML="";c.innerHTML="";if(O_MAP.get_zoom()<=10){b.innerHTML="Zoom in to view graph data.";c.innerHTML=""}else this.draw_chart()};
Graph.prototype.draw_chart=function(){var b=new google.visualization.DataTable,c=new google.visualization.DataTable,d=GRAPH_DATA,f=CATEGORIES;b.addRows(13);var e=[],g=1,h=0;b.addColumn("string","Month");c.addColumn("string","Events");c.addColumn("number","Number of Events");c.addRows(7);TYPE_TOTALS=[];for(var l in d.type)for(var j in d.type[l])for(var k in d.type[l][j])if(TYPE_TOTALS[l]===undefined)TYPE_TOTALS[l]=parseInt(d.type[l][j][k],10);else TYPE_TOTALS[l]+=parseInt(d.type[l][j][k],10);l=(new Date).getMonth();
for(var m in d.cat)if(f[m].hidden!==1){e.push(this.color[this.color_index[m]]);b.addColumn("number",f[m].category);j=0;k=sort_keys(d.cat[m]);c.setValue(g-1,0,f[m].category);for(var i=0;i<k.length;i++)for(var n=k[i]+"",s=sort_keys(d.cat[m][n]),o=0,q=0;q<s.length;q++){var r=s[q];if(i+1==k.length&&q+1==l+1)break;else r==0?c.setValue(g-1,1,parseInt(d.cat[m][n][1],10)):c.setValue(g-1,1,parseInt(d.cat[m][n][r],10));if(h===0){var p=n.replace(/20/,"");try{b.setValue(j,0,(this.months[r-1]||this.months[r])+
" "+p)}catch(t){}}try{value=r==0?parseInt(d.cat[m][n][1],10):parseInt(d.cat[m][n][r],10);b.setValue(j,g,value)}catch(u){}j++;o++}h=1;g++}(new google.visualization.LineChart(document.getElementById("line_graph"))).draw(b,{colors:e,width:370,height:340,legend:"bottom",legentFontSize:6,title:"12-Month Trend in Current Map Area",titleY:"Count",titleFontSize:12,smoothLine:true});(new google.visualization.PieChart(document.getElementById("pie_graph"))).draw(c,{colors:e,is3D:true,width:250,height:240,legend:"none",
title:"% of Events by Category",titleFontSize:12,legendFontSize:1})};function InfoOverlay(b,c){this.marker=b;this.msg=c}InfoOverlay.prototype=new GOverlay;InfoOverlay.prototype.initialize=function(b){this.outer_div=document.createElement("div");this.div=document.createElement("div");this.map=b};
InfoOverlay.prototype.redraw=function(b){document.getElementById("bubble")&&this.remove();if(b){this.outer_div.style.top=0;this.outer_div.style.left=0;this.outer_div.id="bubble_outer";this.div.id="bubble";this.div.innerHTML='<div class="right" id="bubble_top"><a href="" onclick="javascript: O_MAP.map_canvas.removeOverlay( O_MAP.ol ); return false;">close [-]</a><br />';this.div.innerHTML+=this.msg;this.div.innerHTML+="</div>";b=this.map.fromLatLngToContainerPixel(this.marker.getPoint()).x;var c=this.map.fromLatLngToContainerPixel(this.marker.getPoint()).y,
d="left";this.div.style.width="270px";this.div.style.height="200px";if(270+b>735&&200+c>400){if(c>c/2)d="bottom_right";b=b-270-65;c=c-200+40}else{if(270+b>735){d="right";b=b-270-65}if(200+c>400){if(b>b/2)d="bottom_left";c=c-200+40}}this.outer_div.style.top=c-35+"px";this.outer_div.style.left=b+"px";this.outer_div.appendChild(this.div);this.div.style.left="20px";this.outer_div.style.backgroundImage="url( /images/normal_"+d+".png )";this.outer_div.style.backgroundRepeat="no-repeat";this.outer_div.style.backgroundPosition=
"center";document.getElementById("map_canvas").appendChild(this.outer_div)}};InfoOverlay.prototype.remove=function(){document.getElementById("bubble_outer")&&document.getElementById("map_canvas").removeChild(document.getElementById("bubble_outer"))};function Map(b){this.map_div=document.getElementById(b);this.have_events=this.previous_extents=0;this.gevent_array=[];this.marker_xy=[];if(GBrowserIsCompatible())this.map_canvas=new GMap2(this.map_div);else{alert("This browser is not compatible with Google Maps!");return false}this.map_canvas.enableDoubleClickZoom();GEvent.addListener(this.map_canvas,"zoomend",function(c,d){MAP_ZOOM_LEVEL=d});this.geocoder=new GClientGeocoder;typeof Log!=="undefined"&&Log.debug("Geocoder",this.geocoder);this.map_canvas.setUIToDefault();
this.map_canvas.setMapType(G_NORMAL_MAP);this.base_icon=new GIcon(G_DEFAULT_ICON);this.base_icon.shadow=null}a=Map.prototype;
a.create_marker=function(b,c,d,f,e){f||(f=new GSize(9,15));this.base_icon.infoWindowAnchor=new GPoint(f.width/2,f.height);var g=new GIcon(this.base_icon);g.iconSize=f;g.image="http://myneighborhoodupdate.net/icons/"+d;g.printImage="http://myneighborhoodupdate.net/icons/"+d;g.printShadow=null;this.have_events=1;var h=new GMarker(b,{icon:g});d=GEvent.addListener(h,"click",function(){scroll(0,0);if(e){O_MAP.pano_client&&document.getElementById("map_pano").style.visibility==="visible"&&O_MAP.create_pano(b.lat(),
b.lng());for(var k=document.getElementById("events_table"),m=document.getElementById(e),i=0;i<k.rows.length;i++)k.rows[i].style.background="white";m.style.background="#ffff99"}O_MAP.ol=new InfoOverlay(h,c);O_MAP.map_canvas.addOverlay(O_MAP.ol)});if(e)try{var l=GEvent.addDomListener(document.getElementById(e),"click",function(){for(var k=document.getElementById("events_table"),m=document.getElementById(e),i=0;i<k.rows.length;i++)k.rows[i].style.background="white";m.style.background="#ffff99";k=GEvent.trigger(h,
"click");O_MAP.gevent_array.push(k)})}catch(j){}this.gevent_array.push(l);this.gevent_array.push(d);this.marker_xy.push(b.x+","+b.y);return h};
a.create_pano=function(b,c){var d=document.getElementById("map_pano"),f=document.getElementById("pano_info");f.innerHTML="";f.style.width="695px";f.style.height="320px";f.style.border="1px solid #333333";O_MAP.pano_client=new GStreetviewClient;d.style.visibility="visible";b=new GLatLng(b,c);O_MAP.pano=new GStreetviewPanorama(document.getElementById("pano_info"));O_MAP.pano_client.getNearestPanorama(b,function(e){f.style.textAlign="center";if(e.code===600)f.innerHTML="<br /><br /><br /><br /><br /><br /><br /><br />Sorry, street view not found for this area.";
else if(e.code===603)f.innerHTML="<br /><br /><br /><br /><br /><br /><br /><br />Sorry, flash plugin required for street view."});O_MAP.pano.setLocationAndPOV(b);GEvent.addListener(O_MAP.pano,"error",function(e){f.style.textAlign="center";if(e===600)f.innerHTML="<br /><br /><br /><br /><br /><br /><br /><br />Sorry, street view not found for this area.";else if(e===603)f.innerHTML="<br /><br /><br /><br /><br /><br /><br /><br />Sorry, flash plugin required for street view."})};
a.draw_points=function(){this.map_canvas.clearOverlays();if(document.getElementById("count_div")){var b=document.getElementById("count_div");this.map_canvas.getPane(G_MAP_MAP_PANE).removeChild(b)}if(this.have_events==1){for(b=0;b<this.gevent_array.length;b++)this.gevent_array[b]&&GEvent.removeListener(this.gevent_array[b]);this.gevent_array=[]}b=EVENT_LIST;b.length==0&&hide_wait();window.setTimeout(function(){O_MAP.map_canvas.addControl(new PointCount)},1E3);var c=CATEGORIES,d=AGENCIES;this.center=
this.map_canvas.getCenter();MAX_POINTS=get_num_points();if(MAP_ZOOM_LEVEL<=10||INITIAL_LOAD==1){this.show_agencies();INITIAL_LOAD=0}else for(var f=0,e=0;e<b.length;e++){var g=b[e][7],h=parseInt(b[e][6],10);if(!c[h].hidden||c[h].hidden===1){if(VISIBLE_TYPES[g]===undefined)VISIBLE_TYPES[g]=1;else VISIBLE_TYPES[g]+=1;var l=b[e][12],j=b[e][16],k=b[e][2],m=c[h].category||"?",i=Math.round(b[e][13]);if(parseInt(i,10)===0)i="< 1";var n="",s="",o=d[b[e][0]].phone||"",q="";n=d[b[e][0]].url?'<a href="'+d[b[e][0]].url+
'" target="_blank">'+d[b[e][0]].name+"</a>":d[b[e][0]].name;s=d[b[e][0]].email?'<a href="mailto:'+d[b[e][0]].email+"?subject=Regarding dispatched event # "+b[e][2]+'">Send e-mail</a>':"";q=parseInt(b[e][19],10)===1?"":"<br /><b>Consumed time:</b> "+i+" minutes";units_string=parseInt(b[e][18],10)===1?"":"<br /><b># cars arrived:</b> "+l;var r=new GLatLng(parseFloat(b[e][5]),parseFloat(b[e][4])),p=b[e][1],t=(new Date).getFullYear(),u=t-1+"",w=u-1+"";t+="";var x=t.replace(/^20/,""),y=u.replace(/^20/,
""),z=w.replace(/^20/,"");p=p.replace(/:[0-9]+\s[A-Z]+$/,"");p=p.replace(t,x);p=p.replace(u,y);p=p.replace(w,z);g=["<b>Type:</b> ",TYPES[g].type,'<br /><b>Category:</b> <a href="javascript:show_types(',h,');">',m,"</a><br /><b>Received:</b> ",p,"<br /><b>Location:</b> ",j,units_string,q,"<br /><b>Agency:</b> ",n,"<br /><b>Contact: </b> ",o," ",s,"<br /><b>Police Event #: </b>",b[e][2],'<br /><hr /><center><a style="color: #91919f;" href="javascript: O_MAP.create_pano( ',b[e][5],", ",b[e][4],' );"><img src="/images/sv.jpg" style="width: 20px; vertical-align: middle;"/><b> Show street view</b></a></center>'].join("");
var v;j=n=10;n+=n-MAP_ZOOM_LEVEL*0.15;j+=n-MAP_ZOOM_LEVEL*0.15;if(l>1&&i>10&&i<5E3){if(l>13)l=13;m=i/40;if(m>5)m=5;n=n+n*n/200*m;j=j+j*j/200*m;if(i/l>5)v=new GSize(n,j)}else v=new GSize(n,j);h=f>=EVENT_LIST_LIMIT?this.create_marker(r,g,CATEGORY_MARKERS[h],v):this.create_marker(r,g,CATEGORY_MARKERS[h],v,k,true);this.map_canvas.addOverlay(h);f++;if(f==b.length){if(O_MAP.input_address_point){h=new GSize(35,35);h=this.create_marker(this.input_address_point,O_MAP.input_address,"youarehere.gif",h);this.map_canvas.addOverlay(h)}hide_wait()}if(f>=
MAX_POINTS)break}}};
a.show_agencies=function(){this.map_canvas.clearOverlays();hide_wait();VISIBLE_AGENCIES=[];for(var b in AGENCIES){var c=new GSize(16,25),d=AGENCIES[b].longitude,f=AGENCIES[b].latitude,e=O_MAP.get_extents().split(",");if(parseInt(AGENCIES[b].longitude,10)>=parseInt(e[0],10)&&parseInt(AGENCIES[b].latitude,10)>=parseInt(e[1])&&parseInt(AGENCIES[b].longitude,10)<=parseInt(e[2],10)&&parseInt(AGENCIES[b].latitude,10)<=parseInt(e[3],10))VISIBLE_AGENCIES[b+""]=1;e=new GLatLng(parseFloat(f),parseFloat(d));
var g='<br /><br /><div style="font-size: 12px;">';g+=AGENCIES[b].name;g+=[" ("+d+" : "+f+")<br />"].join();d=["javascript:O_MAP.zoom_to_point( "+d+", "+f+");"].join();g+=['<br /><a href="'+d+'"><img src="/images/magnify_icon.gif"/> &nbsp;Zoom in &raquo;</a>'].join();g+="</div>";this.map_canvas.addOverlay(this.create_marker(e,g,"agency.png",c,"",false))}update_visible_agencies()};
a.show_address=function(b){if(b==="pirate!"){alert("Pirate mode activated!");O_SCOREBOARD.use_pirate=true;O_SCOREBOARD.refresh()}else if(b==="Pants the squirrel"){alert(":O");document.getElementById("footer").style.backgroundImage="url( '/images/sq.jpg' ) "}else{var c=new GIcon(this.base_icon);c.image="http://myneighborhoodupdate.net/icons/youarehere.gif";c.printImage="http://myneighborhoodupdate.net/icons/youarehere.gif";c.printShadow=null;this.have_events=1;SEARCHES.push(b);document.addr.sb.value=
b;document.getElementById("search_div").style.display="none";this.geocoder.getLatLng(b,function(d){if(d){O_MAP.input_address_point=d;O_MAP.input_address=b;O_MAP.map_canvas.setCenter(d,15);refresh()}else alert(b+" isn't recognized as an address or location.")})}};
a.show_long_lat=function(b,c,d){var f=new GIcon(this.base_icon);f.image="http://myneighborhoodupdate.net/icons/youarehere.gif";f.printImage="http://myneighborhoodupdate.net/icons/youarehere.gif";f.printShadow=null;this.have_events=1;b=new GLatLng(c,b);O_MAP.map_canvas.setCenter(b,d);refresh()};a.get_extents=function(){this.map_canvas.bounds=this.map_canvas.getBounds();var b=this.map_canvas.bounds.getSouthWest(),c=this.map_canvas.bounds.getNorthEast();return b.lng()+","+b.lat()+","+c.lng()+","+c.lat()};
a.get_center=function(){return this.map_canvas.getCenter().toString().replace("(","").replace(")","")};a.get_zoom=function(){return this.map_canvas.getZoom()};a.zoom_to_address=function(b){this.geocoder.getLatLng(b,function(c){c&&O_MAP.map_canvas.setCenter(c,13)})};a.geocode=function(b){return this.geocoder.getLatLng(b,function(c){if(c)return c})};a.zoom_to_point=function(b,c){this.map_canvas.setCenter(new GLatLng(c,b),15)};function PointCount(){}PointCount.prototype=new GControl;PointCount.prototype.initialize=function(b){var c=document.createElement("div"),d;this.setButtonStyle_(c);d=EVENT_LIST.length;if(O_SCOREBOARD.cat_total===undefined)O_SCOREBOARD.cat_total=0;c.appendChild(document.createTextNode("Displaying "+d+" of "+O_SCOREBOARD.cat_total+" events."));b.getContainer().appendChild(c);return c};PointCount.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(3,365))};
PointCount.prototype.setButtonStyle_=function(b){b.style.textDecoration="none";b.style.color="black";b.style.backgroundColor="white";b.style.font="small Arial";b.style.border="1px solid black";b.style.padding="1px";b.style.marginBottom="3px";b.style.textAlign="center";b.style.width="14em";b.style.height="14px";b.style.cursor="pointer"};function ScoreBoard(b){this.div=document.getElementById(b);this.selected_type=this.selected_id=0}
ScoreBoard.prototype.refresh=function(){this.div.innerHTML="";var b='<table id="score_board_table"><tr>';b+='<th class="no_print">On</th>';b+="<th>&nbsp;</th>";b+="<th>Category</th>";b+="<th>#</th></tr>";var c,d=CATEGORIES,f=0,e=[];this.cat_total=0;for(c in d){var g;if(CAT_COUNTS[c]){g=CAT_COUNTS[c].count;this.cat_total+=parseInt(CAT_COUNTS[c].count,10)}else{g=0;this.cat_total+=0}e.push(g)}e=e.sort(function(l,j){return l-j});for(var h in CATEGORIES){d=parseInt(h,10);if(CATEGORIES[h].hidden===1||!(h in
URL_ACTIVE_CATEGORIES)&&CATEGORIES[h].hidden===undefined&&URL_ACTIVE_CATEGORIES.length!==0){CATEGORIES[h].hidden=1;c="HIDDEN";c=""}else{CATEGORIES[h].hidden=0;c="VISIBLE";c="checked"}b+=f%2==1?"<tr>":'<tr style="background-color: #eee">';b+=['<td class="no_print"><input type="checkbox" ',c,' title="Show or hide this category" id="',h,'_checkbox" onclick="O_SCOREBOARD.update_selected_categories(this, ',h,');"></input></td>'].join("");b+='<td><img src="/icons/'+CATEGORY_MARKERS[d]+'" /></td>';d=CAT_COUNTS[h]?
CAT_COUNTS[h].count:0;c='onclick="show_types('+h+');"';g="<div "+(' onmouseout="hide_types('+h+', event );"')+' style="display: none;" class="score_board_type" id="'+h+'">'+this.get_types(h)+"</div>";if(this.use_pirate===true)CATEGORIES[h].category=P_N[h];b+='<td class="help_link" id="parent_to_'+h+'" '+c+"> "+CATEGORIES[h].category+' </td><td class="right">'+d+"</td>";b+="</tr>";b+='<tr><td></td><td></td><td colspan="2">'+g+"</td></tr>";d=10*(d-e[0])*9/(e[6]-e[0]);if(isNaN(d))d=0;b+='<tr class="mini_graph"><td colspan="5"><div style="border: 1px solid #aaaaaa; width: '+
d+'%; height: 4px; margin-bottom: 7px; font-size: 5px;"><div style="border: 2px solid '+CATEGORY_COLORS[h]+' "></div></td></tr>';f++}URL_ACTIVE_CATEGORIES.length=0;b+="</table>";this.fill_print_div();this.fill_most_sig_lst();this.div.innerHTML=b};function sortAssoc(b){var c=[];for(var d in b)c.push([d,b[d]]);c.sort(function(f,e){return f[1]-e[1]});b=[];for(d=c.length-1;d>=0;d--)b[c[d][0]]=c[d][1];return b}
ScoreBoard.prototype.fill_print_div=function(){var b=[],c=document.getElementById("type_totals_div");for(var d in TYPES)if(VISIBLE_TYPES[d]!==undefined)b[TYPES[d].type+""]=VISIBLE_TYPES[d]+"";sortAssoc(b);b="";b+='<table id="type_table">';b+="<tr>";d="";for(cat in CATEGORIES){b+="<th>"+CATEGORIES[cat].category+'(<img src="/icons/'+CATEGORY_MARKERS[cat]+'"/>)</th>';d+="<td>"+this.get_types(cat,true)+"</td>"}b+="</tr>";b+="<tr>";b+=d;b+="</tr>";b+="</table>";c.innerHTML=b};
ScoreBoard.prototype.fill_most_sig_lst=function(){var b=document.getElementById("most_sig_lst")||0;if(b)b.innerHTML=EVENT_LIST.length+" most significant events out of "+this.cat_total+" (click a row to get more info)"};
ScoreBoard.prototype.get_types=function(b,c){var d=[],f=[],e='<table width="100%">';for(var g in TYPES)if(TYPES[g].type&&TYPES[g].categoryid===b&&TYPE_TOTALS[g])d[TYPES[g].type+""]=TYPE_TOTALS[g];f=sortAssoc(d);for(var h in f)e+=c?"<tr><td>"+h+"</td><td align='right'>"+d[h+""]+"</td></tr>":"<tr><td>&nbsp;&#8227;&nbsp;"+h+"</td><td align='right'>"+d[h+""]+"</td></tr>";e+="</table>";return e};ScoreBoard.prototype.update_selected_categories=function(b,c){CATEGORIES[c].hidden=b.checked===false?1:0;soft_refresh()};
