
function AddClass(elem,classname){
if(!CheckClass(elem,classname)){
if(elem.className=="")
elem.className=classname;
else
elem.className+=" "+classname;}}
function RemoveClass(elem,classname){
var re=new RegExp("\\s*"+classname+"\\b");
if(!re.test(elem.className))
re=new RegExp(classname);
elem.className=elem.className.replace(re,"");}
function CheckClass(elem,classname){
var re=new RegExp("\\b"+classname+"\\b");
return re.test(elem.className);}
function GetChildElementsByTagName(tag,elem){
var i;
var numChildren;
var matchingNodes;
numChildren=elem.childNodes.length;
matchingNodes=new Array();
for(i=0;i<numChildren;i++){
if(elem.childNodes[i].nodeType==1){
if(elem.childNodes[i].tagName.toUpperCase()==tag.toUpperCase())
matchingNodes[matchingNodes.length]=elem.childNodes[i];}}
return matchingNodes;}
var _dynoLoader=new DynoLoader();
function DynoLoader(){
this._isBusy=false;
this._url=null;
this._targetContainer=null;
this._callback=null;
this._callbackArguments=null;
this._request=null;
this._responseCache=new Object();
this._isCaching=true;
this._loadXmlDocument=function(url,target,callback,callbackArgs,cache){
if(this._loadXmlDocument.arguments.length==5)
this._isCaching=cache;
if(this._isCaching&&this._responseCache[url]){
if(target)
this._renderDocument(target,this._responseCache[url].responseText);
if(callback){
if(target)
callback(callbackArgs);
else
callback(this._responseCache[url],callbackArgs);}
return;}
if(!this._isBusy){
this._isBusy=true;
this._url=url;
this._targetContainer=target;
this._callback=callback;
this._callbackArguments=callbackArgs;
this._request=this._getRequestObject();
this._request.onreadystatechange=_onRequestStateChange;
this._request.open("GET",url,true);
this._request.send("");}};
this._getRequestObject=function(){
var req=null;
if(window.XMLHttpRequest){
try{
req=new XMLHttpRequest();}catch(ex){}}else if(window.ActiveXObject){
try{
req=new ActiveXObject("Msxml2.XMLHTTP");}catch(ex){
try{
req=new ActiveXObject("Microsoft.XMLHTTP");}catch(ex){}}}
return req;};
this._renderDocument=function(target,html){
target.innerHTML=html;}}
function _onRequestStateChange(){
if(_dynoLoader._request.readyState==4){
if(_dynoLoader._request.status==200){
if(_dynoLoader._isCaching)
_dynoLoader._responseCache[_dynoLoader._url]=_dynoLoader._request;
if(_dynoLoader._targetContainer)
_dynoLoader._renderDocument(_dynoLoader._targetContainer,
_dynoLoader._request.responseText);
if(_dynoLoader._callback){
if(_dynoLoader._targetContainer)
_dynoLoader._callback(_dynoLoader._callbackArguments);
else
_dynoLoader._callback(_dynoLoader._request,_dynoLoader._callbackArguments);}}else{}
_dynoLoader._isBusy=false;}}
function Tree(root,evtCallbacks){
var i;
this._listElems=root.getElementsByTagName("li");
this._selectedNode=null;
this._selectNode=function(node){
if(this._selectedNode)
this._selectedNode._spanElem.className="";
node._spanElem.className="selected";
this._selectedNode=node;};
this._closeParents=function(){
var i;
for(i=0;i<this._listElems.length;i++){
if(this._listElems[i]._isParent){
this._listElems[i]._expand(false);}}};
for(i=0;i<this._listElems.length;i++){
this._listElems[i]._tree=this;
this._listElems[i]._isParent=(GetChildElementsByTagName("ul",this._listElems[i]).length!=0);
if(this._listElems[i]._isParent){
this._listElems[i]._expandElem=GetChildElementsByTagName("img",this._listElems[i])[0];
this._listElems[i]._isOpen=true;}else{
this._listElems[i]._isSelected=false;}
this._listElems[i]._spanElem=GetChildElementsByTagName("span",this._listElems[i])[0];
this._listElems[i]._inputElem=GetChildElementsByTagName("input",this._listElems[i])[0];
this._listElems[i]._eventCallbacks=evtCallbacks;
if(this._listElems[i]._isParent){
this._listElems[i]._expand=function(expandit){
var childElem;
if(expandit){
childElem=GetChildElementsByTagName("ul",this)[0];
childElem.style.display="block";
this._expandElem.className="open"
this._isOpen=true;}else{
childElem=GetChildElementsByTagName("ul",this)[0];
childElem.style.display="none";
this._expandElem.className="closed";
this._isOpen=false;}};}
if(this._listElems[i]._isParent){
this._listElems[i]._expandElem.onclick=function(){
this.parentNode._expand(!this.parentNode._isOpen);};}
this._listElems[i]._spanElem.onclick=function(){
this.parentNode._tree._selectNode(this.parentNode);
if(this.parentNode._eventCallbacks["onclick"])
this.parentNode._eventCallbacks["onclick"](this.parentNode);};
this._listElems[i]._spanElem.onmouseover=function(){
AddClass(this,"highlight");};
this._listElems[i]._spanElem.onmouseout=function(){
RemoveClass(this,"highlight");};}}
function TreeSelect(root,evtCallbacks){
var i;
this._listElems=root.getElementsByTagName("li");
this._getValues=function(){
var values;
var i;
values=new Array();
for(i=0;i<this._listElems.length;i++){
if(!this._listElems[i]._isParent&&this._listElems[i]._inputElem.checked){
values.push(this._listElems[i]._spanElem.firstChild.nodeValue);}}
return values;};
for(i=0;i<this._listElems.length;i++){
if(this._listElems[i].parentNode!=root)
this._listElems[i]._parent=this._listElems[i].parentNode.parentNode;
else
this._listElems[i]._parent=null;
this._listElems[i]._isParent=(GetChildElementsByTagName("input",this._listElems[i]).length==0);
if(this._listElems[i]._isParent){
this._listElems[i]._expandElem=GetChildElementsByTagName("img",this._listElems[i])[0];
this._listElems[i]._checkElem=GetChildElementsByTagName("img",this._listElems[i])[1];
this._listElems[i]._isOpen=true;}else{
this._listElems[i]._inputElem=GetChildElementsByTagName("input",this._listElems[i])[0];
this._listElems[i]._checkElem=GetChildElementsByTagName("img",this._listElems[i])[0];
this._listElems[i]._spanElem=GetChildElementsByTagName("span",this._listElems[i])[0];}
this._listElems[i]._isChecked=false;
this._listElems[i]._eventCallbacks=evtCallbacks;
if(this._listElems[i]._isParent){
this._listElems[i]._expand=function(expandit){
var childElem;
if(expandit){
childElem=GetChildElementsByTagName("ul",this)[0];
childElem.style.display="block";
this._expandElem.className="open"
this._isOpen=true;}else{
childElem=GetChildElementsByTagName("ul",this)[0];
childElem.style.display="none";
this._expandElem.className="closed";
this._isOpen=false;}};
this._listElems[i]._check=function(checkit){
var childElem;
var myListElems;
var i;
if(this._isChecked==checkit)
return;
childElem=GetChildElementsByTagName("ul",this)[0];
myListElems=GetChildElementsByTagName("li",childElem);
for(i=0;i<myListElems.length;i++)
myListElems[i]._check(checkit);
if(checkit)
this._checkElem.className="folderchecked";
else
this._checkElem.className="folder";
this._isChecked=checkit;};
this._listElems[i]._evalChecks=function(){
var childElem;
var myListElems;
var isComplete;
var i;
childElem=GetChildElementsByTagName("ul",this)[0];
myListElems=GetChildElementsByTagName("li",childElem);
isComplete=true;
for(i=0;i<myListElems.length;i++){
if(!myListElems[i]._isChecked)
isComplete=false;}
if(isComplete){
this._checkElem.className="folderchecked";
this._isChecked=true;}else{
this._checkElem.className="folder";
this._isChecked=false;}
if(this._parent!=null)
this._parent._evalChecks();};}else{
this._listElems[i]._check=function(checkit){
if(this._isChecked==checkit)
return;
if(checkit){
this._inputElem.checked=true;
this._checkElem.className="checked";
this._isChecked=true;}else{
this._inputElem.checked=false;
this._checkElem.className="unchecked";
this._isChecked=false;}
if(this._eventCallbacks["oncheck"])
this._eventCallbacks["oncheck"](this);};}
if(this._listElems[i]._isParent){
this._listElems[i]._expandElem.onclick=function(){
this.parentNode._expand(!this.parentNode._isOpen);};}else{
this._listElems[i]._spanElem.onclick=function(){
this.parentNode._check(!this.parentNode._isChecked);
if(this.parentNode._parent!=null)
this.parentNode._parent._evalChecks();};
this._listElems[i]._spanElem.onmouseover=function(){
AddClass(this,"highlight");};
this._listElems[i]._spanElem.onmouseout=function(){
RemoveClass(this,"highlight");};}
this._listElems[i]._checkElem.onclick=function(){
this.parentNode._check(!this.parentNode._isChecked);
if(this.parentNode._parent!=null)
this.parentNode._parent._evalChecks();};}}
function CreateDatePicker(id,isStart){
var now;
var years;
var i;
var calendar;
calendar=document.getElementById(id+"_calendar");
calendar._dateInfo=document.getElementById(id+"info");
calendar._monthSelect=calendar.getElementsByTagName("select")[0];
calendar._yearSelect=calendar.getElementsByTagName("select")[1];
calendar._headerCells=calendar.getElementsByTagName("th");
calendar._dayCells=calendar.getElementsByTagName("td");
calendar._selectedIndex=0;
calendar._startLimit=initDate(document.getElementById(id+"_mindate").value);
calendar._endLimit=initDate(document.getElementById(id+"_maxdate").value);
if(isStart){
calendar._currentDate=new Date(calendar._endLimit.getTime());
calendar._currentDate.setDate(calendar._currentDate.getDate()-parseInt(document.getElementById(id+"_startrange").value,10));
calendar._selectedDate=new Date(calendar._currentDate.getTime());}else{
calendar._currentDate=new Date(calendar._endLimit.getTime());
calendar._selectedDate=new Date(calendar._currentDate.getTime());}
calendar._months=new Array("January","February","March","April","May","June",
"July","August","September","October","November","December");
calendar._goBackMonth=function(){
this._currentDate.setMonth(this._currentDate.getMonth()-1);
if((this._currentDate.getTime()<this._startLimit.getTime())&&(this._currentDate.getMonth()!=this._startLimit.getMonth())){
this._currentDate.setMonth(this._currentDate.getMonth()+1);
return;}
this._update();};
calendar._goForwardMonth=function(){
this._currentDate.setMonth(this._currentDate.getMonth()+1);
if((this._currentDate.getTime()>this._endLimit.getTime())&&(this._currentDate.getMonth()!=this._endLimit.getMonth())){
this._currentDate.setMonth(this._currentDate.getMonth()-1);
return;}
this._update();};
calendar._update=function(){
var weekday;
var previousMonth;
var days;
var now;
var i;
weekday=this._getFirstDayIndex();
previousMonth=(this._currentDate.getMonth()!=0)?
this._currentDate.getMonth()-1:11;
days=this._daysInMonth(previousMonth,this._currentDate.getFullYear());
for(i=0;i<weekday;i++){
this._replaceCellText(this._dayCells[i],((days-weekday)+i)+1);
this._dayCells[i].className="othermonth";}
days=this._daysInMonth(this._currentDate.getMonth(),
this._currentDate.getFullYear());
for(i=0;i<days;i++){
this._replaceCellText(this._dayCells[i+weekday],(i+1));
if((((i+weekday)%7)==0)||((((i+weekday)+1)%7)==0))
this._dayCells[i+weekday].className="weekend";
else
this._dayCells[i+weekday].className="weekday";}
days=42-(weekday+days);
for(i=0;i<days;i++){
this._replaceCellText(this._dayCells[(42-days)+i],(i+1));
this._dayCells[(42-days)+i].className="othermonth";}
now=new Date();
now.setFullYear(this._currentDate.getFullYear());
now.setMonth(this._currentDate.getMonth());
now.setDate(1);
now.setHours(0);
now.setMinutes(0);
now.setSeconds(0);
now.setMilliseconds(0);
now.setDate(now.getDate()-weekday);
for(i=0;i<42;i++){
if((now.getTime()<this._startLimit.getTime())||(now.getTime()>this._endLimit.getTime()))
AddClass(this._dayCells[i],"disabled");
else
RemoveClass(this._dayCells[i],"disabled");
now.setDate(now.getDate()+1);}
if((this._selectedDate.getFullYear()==this._currentDate.getFullYear())&&(this._selectedDate.getMonth()==this._currentDate.getMonth()))
AddClass(this._dayCells[this._selectedIndex],"selected");
this._monthSelect.selectedIndex=this._currentDate.getMonth();
this._yearSelect.selectedIndex=
this._currentDate.getFullYear()-this._startLimit.getFullYear();};
calendar._setDateSelection=function(index,validate){
if(CheckClass(this._dayCells[index],"othermonth")||(CheckClass(this._dayCells[index],"disabled")))
return;
RemoveClass(this._dayCells[this._selectedIndex],"selected");
AddClass(this._dayCells[index],"selected");
this._selectedIndex=index;
this._selectedDate.setFullYear(this._currentDate.getFullYear());
this._selectedDate.setMonth(this._currentDate.getMonth());
this._selectedDate.setDate(this._dayCells[index].firstChild.nodeValue);
if(this._dateInfo.id.indexOf("start")!=-1){var s="Start date: "}else{var s="End date: "}
this._dateInfo.innerHTML=s+(this._selectedDate.getMonth()+1)+"/"+this._selectedDate.getDate()+"/"+this._selectedDate.getFullYear()
if(validate)validateWhen();};
calendar._getFirstDayIndex=function(){
var now;
var weekday;
now=new Date();
now.setFullYear(this._currentDate.getFullYear());
now.setMonth(this._currentDate.getMonth());
now.setDate(1);
weekday=now.getDay();
if(weekday==0)
weekday=7;
return weekday;};
calendar._daysInMonth=function(month,year){
var days;
if((month==3)||(month==5)||(month==8)||(month==10)){
days=30;}else{
if(month!=1){
days=31;}else{
if((year%4)==0){
if(((year%100)==0)&&((year%400)!=0))
days=28;
else
days=29;}else{
days=28;}}}
return days;};
calendar._replaceCellText=function(cellElem,text){
cellElem.firstChild.nodeValue=text;};
calendar._monthSelect.calendar=calendar;
calendar._monthSelect.onchange=function(){
this.calendar._currentDate.setMonth(this.calendar._monthSelect.selectedIndex);
this.calendar._update();};
for(i=0;i<12;i++)
calendar._monthSelect.options[i]=new Option(calendar._months[i]);
years=calendar._endLimit.getFullYear()-calendar._startLimit.getFullYear();
calendar._yearSelect.calendar=calendar;
calendar._yearSelect.onchange=function(){
this.calendar._currentDate.setFullYear(this.calendar._startLimit.getFullYear()+this.calendar._yearSelect.selectedIndex);
this.calendar._update();};
for(i=0;i<=years;i++)
calendar._yearSelect.options[i]=new Option(calendar._startLimit.getFullYear()+i);
calendar._headerCells[0].calendar=calendar;
calendar._headerCells[0].onclick=function(){
this.calendar._goBackMonth();};
calendar._headerCells[2].calendar=calendar;
calendar._headerCells[2].onclick=function(){
this.calendar._goForwardMonth();};
for(i=0;i<calendar._dayCells.length;i++){
calendar._dayCells[i]._cellIndex=i;
calendar._dayCells[i]._calendar=calendar;
calendar._dayCells[i].onclick=function(){
this._calendar._setDateSelection(this._cellIndex,true);};}
calendar._selectedIndex=calendar._currentDate.getDate()+
calendar._getFirstDayIndex()-1;
calendar._update();
calendar._setDateSelection(calendar._selectedIndex,false);
return calendar;}
function initDate(dateString){
newDate=new Date();
newDate.setFullYear(parseInt(dateString.substring(0,4),10));
newDate.setMonth(parseInt(dateString.substring(4,6),10)-1);
newDate.setDate(parseInt(dateString.substring(6,8),10));
newDate.setHours(0);
newDate.setMinutes(0);
newDate.setSeconds(0);
newDate.setMilliseconds(0);
return newDate;}
function TabStrip(navRoot,pages,start,prev,next){
var i;
this._listElems=navRoot.getElementsByTagName("li");
this._currentPageIndex=0;
this._tabPages=new Array();
this._dynoLoader=_dynoLoader;
this._prevBtn=prev;
this._nextBtn=next;
this._navigate=function(index){
if(this._tabPages[index]._isEnabled){
this._tabPages[this._currentPageIndex]._container.style.display="none";
this._listElems[this._currentPageIndex]._spanElem.className="";
this._tabPages[index]._container.style.display="block";
this._listElems[index]._spanElem.className="selected";
this._currentPageIndex=index;
this._prevBtn.style.display="none";
this._nextBtn.style.display="none";
if(index==(this._tabPages.length-1)){
if(!this._tabPages[index]._isLoaded){
this._dynoLoader._loadXmlDocument(this._tabPages[index]._pageUrl,
this._tabPages[index]._container,
this._tabPages[index]._onloadFunc,
null,false);
this._tabPages[index]._isLoaded=true;}else{
this._tabPages[index]._onloadFunc();}}else{
if(!this._tabPages[index+1]._isEnabled){
this._nextBtn.className="";}else{
this._nextBtn.className="enabled";}
if(index==0){
this._prevBtn.className="";}else{
this._prevBtn.className="enabled";}
if(!this._tabPages[index]._isLoaded){
if(this._tabPages[index]._beforeloadFunc!=null){
this._tabPages[index]._beforeloadFunc();}
this._dynoLoader._loadXmlDocument(this._tabPages[index]._pageUrl,
this._tabPages[index]._container,
this._tabPages[index]._onloadFunc,
null);
this._tabPages[index]._isLoaded=true;}else{
this._prevBtn.style.display="block";
this._nextBtn.style.display="block";}}}};
this._navigatePrev=function(){
if(this._currentPageIndex>0){
this._navigate(this._currentPageIndex-1);}};
this._navigateNext=function(){
if(this._currentPageIndex<this._tabPages.length-1){
this._navigate(this._currentPageIndex+1);}};
this._enablePage=function(index){
this._listElems[index]._spanElem.className="";
this._tabPages[index]._isEnabled=true;
if(this._tabPages[this._currentPageIndex+1]._isEnabled){
this._nextBtn.className="enabled";}};
this._enableNextPage=function(){
this._enablePage(this._currentPageIndex+1);};
this._disablePage=function(index){
this._listElems[index]._spanElem.className="disabled";
this._tabPages[index]._isEnabled=false;
if(!this._tabPages[this._currentPageIndex+1]._isEnabled){
this._nextBtn.className="";}};
this._disableNextPage=function(){
this._disablePage(this._currentPageIndex+1);};
this._disableRemainingPages=function(){
for(i=this._currentPageIndex+1;i<this._tabPages.length;i++){
this._disablePage(i);}};
for(i=0;i<this._listElems.length;i++){
this._tabPages[i]=pages[i];
this._listElems[i]._tabStrip=this;
this._listElems[i]._tabPageIndex=i;
this._listElems[i]._spanElem=this._listElems[i].getElementsByTagName("span")[0];
if(!this._tabPages[i]._isEnabled)
this._listElems[i]._spanElem.className="disabled";
this._listElems[i].onclick=function(){
this._tabStrip._navigate(this._tabPageIndex);};
this._listElems[i].onmouseover=function(){
if(this._spanElem.className=="")
this._spanElem.className="highlight";};
this._listElems[i].onmouseout=function(){
if(this._spanElem.className=="highlight")
this._spanElem.className="";};}
this._listElems[this._currentPageIndex]._spanElem.className="selected";
this._prevBtn._tabstrip=this;
this._prevBtn.onclick=function(){
this._tabstrip._navigatePrev();};
this._nextBtn._tabstrip=this;
this._nextBtn.onclick=function(){
this._tabstrip._navigateNext();};}
function TabPage(page,enabled,loaded,url,beforeload,onload){
this._container=page;
this._isEnabled=enabled;
this._isLoaded=loaded;
this._pageUrl=url;
this._beforeloadFunc=beforeload;
this._onloadFunc=onload;}
var m_navObj;
var m_WhatTreeSelectObj;
var m_selWhereTreeObj;
var m_startDatePickerObj;
var m_endDatePickerObj;
var m_numSelectedWhatQueries;
var m_numSelectedDOW;
var m_timePeriodIsValid;
var m_prevUrl;
var m_minDate,m_maxDate,m_startDate,m_maxDays;
var m_isParent,m_jurCode,m_jurDesc,m_addrX,m_addrY,m_buffDist;
var m_selQuery,m_selWhere,m_filtQuery,m_filtWhere,m_layerID,m_whereItem;
var m_whereDisplay,m_whatDisplay,m_whenDisplay,m_buffDisplay,m_wherePrint,m_whatPrint,m_whenPrint;
function arjisInit(){
setSplash(true);
initNav();
initWhere();
setSplash(false);
if(document.getElementById("browsercontainer")==null)document.getElementById("wheretreecontainer").style.display="block";}
function initNav(){
var pages=new Array();
pages[0]=new TabPage(document.getElementById("where"),
true,true,null,null,null);
pages[1]=new TabPage(document.getElementById("what"),
false,false,"Data.aspx?page=what",showSplash,initWhat);
pages[2]=new TabPage(document.getElementById("when"),
false,false,"Data.aspx?page=when",showSplash,initWhen);
pages[3]=new TabPage(document.getElementById("results"),
false,false,"Data.aspx?page=results",null,initResults);
m_navObj=new TabStrip(document.getElementById("navroot"),pages,0,
document.getElementById("btnprev").getElementsByTagName("div")[0],
document.getElementById("btnnext").getElementsByTagName("div")[0]);}
function hideBrowser(){
document.getElementById("browsercontainer").style.display="none";
document.getElementById("wheretreecontainer").style.display="block";}
function showSplash(){
setSplash(true);}
function setSplash(show){
if(show){
document.getElementById("splash").style.display="block";}else{
document.getElementById("splash").style.display="none";
m_navObj._prevBtn.style.display="block";
m_navObj._nextBtn.style.display="block";}}
function hideSummary(){
document.getElementById("sumcontainer").style.display="none";}
function showSummary(){
document.getElementById("sumcontainer").style.display="block";}
function buildSummaryDisplay(){
var s="";
if(m_whereDisplay!=""){
s+="<div class='sumcat'>Location</div>";
s+="<span class='sumitm'>Jurisdiction: </span>"+m_jurDesc;
s+="<br/><span class='sumitm'>Location Type: </span>"+m_whereItem;
s+="<br/><span class='sumitm'>Selected: </span>";
s+=m_whereDisplay;
if(m_buffDisplay!=""){
s+="<br/><br/><span class='sumval'>Shaded radius: "+m_buffDisplay;+"</span>";}
s+="<div class='sumspacer'>&nbsp;</div>";}
if(m_whatDisplay!=""){
s+="<div class='sumcat'>Incidents</div>";
s+="<span class='sumitm'>Selected: </span><br/>";
s+=m_whatDisplay;
s+="<div class='sumspacer'>&nbsp;</div>";}
if(m_whenDisplay!=""){
s+="<div class='sumcat'>Time Period</div>";
s+="<span class='sumitm'>Selected: </span><br/>";
s+=m_whenDisplay;
s+="<div class='sumspacer'>&nbsp;</div>";}
if(s=="")s="<div class='sumcat'>-- Nothing Selected --</div>";
document.getElementById("sumcontent").innerHTML=s;}
function buildSummaryPrint(){
var s="<br/><span class='rptrow2'>***Note: Day, Date and Time represent the earliest recorded values for each incident.</span><br/>";
s+="<br/><div class='prnthdr'>Report Parameters</div><br/>";
s+="<span class='rptrow2'><strong>Location: </strong>"+m_jurDesc+" - "+m_whereItem+": "+m_wherePrint;
if(m_buffDisplay!="")s+=",&nbsp;Shaded radius: "+m_buffDisplay;
s+="</span><br/><br/>";
s+="<span class='rptrow2'><strong>Incidents: </strong>"+m_whatPrint+"</span><br/><br/>";
s+="<span class='rptrow2'><strong>Time Period: </strong>"+m_whenPrint+"</span><br/><br/>";
return s;}
function initWhere(){
m_maxDays=90;
m_buffDist=0;
m_numSelectedDOW=0;
m_timePeriodIsValid=false;
m_numSelectedWhatQueries=0;
m_whereDisplay="";
m_whatDisplay="";
m_whenDisplay="";
buildSummaryDisplay();
m_selWhereTreeObj=new Tree(document.getElementById("wheretreeroot"),{onclick:loadWhere1});
m_selWhereTreeObj._closeParents();}
function loadWhere1(node){
m_addrX=0;
m_selWhere="";
m_navObj._disableRemainingPages();
m_jurCode=node._inputElem.value;
m_jurDesc=node._spanElem.firstChild.nodeValue;
m_isParent=(node._isParent);
var url="WhereData.aspx?target=1&jurcode="+m_jurCode+"&parent="+m_isParent;
var title=document.getElementById("wherelist2title");
var target=document.getElementById("wherelist2container");
title.innerHTML="&nbsp;";
target.innerHTML="&nbsp;";
title=document.getElementById("wherelist1title");
target=document.getElementById("wherelist1container");
title.firstChild.nodeValue=m_jurDesc;
_dynoLoader._loadXmlDocument(url,target,null,null);}
function loadWhere2(){
m_addrX=0;
m_selWhere="";
m_whereDisplay="";
buildSummaryDisplay();
m_navObj._disableRemainingPages();
var obj=document.getElementById("wherelist1");
var val=obj.options[obj.selectedIndex].value;
m_whereItem=obj.options[obj.selectedIndex].text;
var title=document.getElementById("wherelist2title");
var target=document.getElementById("wherelist2container");
var url="WhereData.aspx?target=2&value="+val+"&desc="+m_whereItem+"&parent="+m_isParent+"&jurcode="+m_jurCode+"&jurdesc="+m_jurDesc+"&dist="+m_buffDist;
title.firstChild.nodeValue=obj.options[obj.selectedIndex].text;
_dynoLoader._loadXmlDocument(url,target,null,null);}
function findAddress(type){
document.getElementById("addrsplash").className="addrsplash";
m_addrX=0;
m_selWhere="";
m_navObj._disableRemainingPages();
if(type==1){verifyAddress()}else{verifyIntersection()};}
function addressChanged(){
document.getElementById("addrsubmit").className="";}
function intersectionChanged(){
document.getElementById("intrsubmit").className="";}
function verifyAddress(){
var obj=document.getElementById("addrtxtaddress");
var addr=obj.value+"";
var target=document.getElementById("wherelist2container");
var url="WhereData.aspx?target=3&address="+addr+"&zone="+m_jurCode+"&dist="+m_buffDist;
_dynoLoader._loadXmlDocument(url,target,saveAddressXY,null);}
function verifyIntersection(){
var obj=document.getElementById("intrtxtstreet");
var street=obj.value+"";
obj=document.getElementById("intrtxtcross");
var cross=obj.value+"";
var target=document.getElementById("wherelist2container");
var url="WhereData.aspx?target=4&street="+street+"&cross="+cross+"&zone="+m_jurCode+"&dist="+m_buffDist;
_dynoLoader._loadXmlDocument(url,target,saveAddressXY,null);}
function addressSelected(){
var obj=document.getElementById("addrList");
var idx=obj.selectedIndex;
var a=obj.options[idx].value.split(",");
var target=document.getElementById("wherelist2container");
var url="WhereData.aspx?target=5&address="+a[0]+"&x="+a[1]+"&y="+a[2]+"&zone="+m_jurCode+"&dist="+m_buffDist+"&type=1";
_dynoLoader._loadXmlDocument(url,target,saveAddressXY,null);}
function intersectionSelected(){
var obj=document.getElementById("intrList");
var idx=obj.selectedIndex;
var a=obj.options[idx].value.split("+");
var target=document.getElementById("wherelist2container");
var url="WhereData.aspx?target=5&street="+a[0]+"&cross="+a[1]+"&x="+a[2]+"&y="+a[3]+"&zone="+m_jurCode+"&dist="+m_buffDist+"&type=2";
_dynoLoader._loadXmlDocument(url,target,saveAddressXY,null);}
function saveAddressXY(){
var obj=document.getElementById("addrX");
m_addrX=obj.value;
if(m_addrX!=0){
obj=document.getElementById("addrY");
m_addrY=obj.value;
obj=document.getElementById("addrText");
m_whereDisplay="<br/><span class='sumval'>"+obj.value+"</span>";
m_wherePrint=obj.value;
checkRemainingPages();}else{
m_whereDisplay="";
m_navObj._disableRemainingPages();}
saveBufferDistance();}
function saveFeatureID(qname,jfield,vfield,isnum,lid,max){
var idx=0,knt=0,s="",jur="",whr="";
var obj=document.getElementById("wherelist2");
m_whereDisplay="";m_wherePrint="";
if(jfield!=""){
if(m_isParent){jur=jfield+" = '"+m_jurCode+"'"}else{jur=jfield+" = '"+m_jurDesc+"'"};}
if(obj.multiple){
for(idx=0;idx<obj.options.length;idx++){
if(obj.options[idx].selected){
knt++;
if(knt>max){
obj.options[idx].selected=false;}else{
if(whr!="")whr+=" OR ";
s=obj.options[idx].value.replace(/&/,"%26");
s=s.replace(/'/,"%27%27");
if(isnum=="true"){whr+=vfield+"="+s}else{whr+=vfield+"='"+s+"'"};
if(m_whereDisplay!=""){
m_whereDisplay+="<span class='sumor'>&nbsp;and</span>";
m_wherePrint+=",&nbsp;";}
m_whereDisplay+="<br/><span class='sumval'>"+obj.options[idx].value+"</span>";
m_wherePrint+=obj.options[idx].value;}}}
whr="("+whr;
if(jfield!="")whr="("+jur+" AND "+whr+")";
whr+=")";}else{
if(isnum=="true"){whr="("+vfield+"="+obj.options[obj.selectedIndex].value}else{whr="("+vfield+"='"+obj.options[obj.selectedIndex].value+"'"};
if(jfield!="")whr+=" AND "+jur;
whr+=")";
m_whereDisplay+="<br/><span class='sumval'>"+obj.options[obj.selectedIndex].value+"</span>";
m_wherePrint+=obj.options[obj.selectedIndex].value;}
if(knt>max)alert("You cannot select more than "+max+" "+m_whereItem+".");
m_addrX=0;
m_selQuery=qname;
m_selWhere=whr;
m_layerID=lid;
if((m_selQuery!="")&&(m_selWhere!="")){
checkRemainingPages();}else{
alert("Query name and where clause are incomplete.\n  Query: "+m_selQuery+"\n  Where clause: "+whr);
m_navObj._disableRemainingPages();}
saveBufferDistance();}
function saveBufferDistance(){
var obj=document.getElementById("bufferlist");
if(obj!=null){
m_buffDist=obj.options[obj.selectedIndex].value;
m_buffDisplay=obj.options[obj.selectedIndex].text;}else{
m_buffDist=0;
m_buffDisplay="";}
buildSummaryDisplay();}
function checkRemainingPages(){
m_navObj._enableNextPage();
if(m_numSelectedWhatQueries>0){
m_navObj._enablePage(2);
if(m_timePeriodIsValid)m_navObj._enablePage(3);}}
function initWhat(args){
m_WhatTreeSelectObj=new TreeSelect(document.getElementById("whattreeroot"),{oncheck:validateWhat});
m_numSelectedWhatQueries=0;
m_filtQuery="incidents_filter";
setSplash(false);}
function validateWhat(node){
if(!node._isParent){
if(node._isChecked)
m_numSelectedWhatQueries++;
else
m_numSelectedWhatQueries--;
if(m_numSelectedWhatQueries>0){
m_navObj._enableNextPage();
if(m_numSelectedDOW>0)m_navObj._enablePage(3);
var a=m_WhatTreeSelectObj._getValues();
m_whatDisplay="<span class='sumval'>"+a[0]+"</span>";
m_whatPrint=a[0];
if(a.length>1){
for(var k=1;k<a.length;k++){
m_whatDisplay+="<span class='sumor'>&nbsp;or</span><br/><span class='sumval'>"+a[k]+"</span>";
m_whatPrint+=",&nbsp;"+a[k];}}}else{
m_navObj._disableRemainingPages();
m_whatDisplay="";}
buildSummaryDisplay();}}
function initWhen(){
m_startDatePickerObj=CreateDatePicker("startdate",true);
m_endDatePickerObj=CreateDatePicker("enddate",false);
m_maxDays=parseInt(document.getElementById("enddate_maxrange").value,10);
o=document.getElementById("starttime_hour");
o.options[11].selected=true;
o.onchange=function(){validateWhen()};
o=document.getElementById("starttime_minute");
o.options[0].selected=true;
o.onchange=function(){validateWhen()};
o=document.getElementById("starttime_ampm");
o.options[0].selected=true;
o.onchange=function(){validateWhen()};
o=document.getElementById("endtime_hour");
o.options[10].selected=true;
o.onchange=function(){validateWhen()};
o=document.getElementById("endtime_minute");
o.options[59].selected=true;
o.onchange=function(){validateWhen()};
o=document.getElementById("endtime_ampm");
o.options[1].selected=true;
o.onchange=function(){validateWhen()};
o=document.getElementById("alldays");
o.checked=true;
setDOW(2);
m_navObj._enableNextPage();
setSplash(false);
buildSummaryDisplay();}
function setDOW(v){
var o;
switch(v){
case 1:
o=document.getElementById("monday");
o.checked=false;
o=document.getElementById("tuesday");
o.checked=false;
o=document.getElementById("wednesday");
o.checked=false;
o=document.getElementById("thursday");
o.checked=false;
o=document.getElementById("friday");
o.checked=false;
o=document.getElementById("saturday");
o.checked=false;
o=document.getElementById("sunday");
o.checked=false;
m_numSelectedDOW=0;
break
case 2:
o=document.getElementById("monday");
o.checked=true;
o=document.getElementById("tuesday");
o.checked=true;
o=document.getElementById("wednesday");
o.checked=true;
o=document.getElementById("thursday");
o.checked=true;
o=document.getElementById("friday");
o.checked=true;
o=document.getElementById("saturday");
o.checked=true;
o=document.getElementById("sunday");
o.checked=true;
m_numSelectedDOW=7;
break
case 3:
o=document.getElementById("monday");
o.checked=true;
o=document.getElementById("tuesday");
o.checked=true;
o=document.getElementById("wednesday");
o.checked=true;
o=document.getElementById("thursday");
o.checked=true;
o=document.getElementById("friday");
o.checked=true;
o=document.getElementById("saturday");
o.checked=false;
o=document.getElementById("sunday");
o.checked=false;
m_numSelectedDOW=5;
break
case 4:
o=document.getElementById("monday");
o.checked=false;
o=document.getElementById("tuesday");
o.checked=false;
o=document.getElementById("wednesday");
o.checked=false;
o=document.getElementById("thursday");
o.checked=false;
o=document.getElementById("friday");
o.checked=false;
o=document.getElementById("saturday");
o.checked=true;
o=document.getElementById("sunday");
o.checked=true;
m_numSelectedDOW=2;
break}
validateWhen();}
function setDOWRadio(d){
if(document.getElementById(d).checked){m_numSelectedDOW+=1}else{m_numSelectedDOW-=1};
switch(m_numSelectedDOW){
case 0:
document.getElementById("nodays").checked=true;
break
case 2:
if(document.getElementById("saturday").checked&&document.getElementById("sunday").checked){
document.getElementById("weekends").checked=true;}else{
clearDOWRadio();}
break
case 5:
if((!document.getElementById("saturday").checked)&&(!document.getElementById("sunday").checked)){
document.getElementById("weekdays").checked=true;}else{
clearDOWRadio();}
break
case 7:
document.getElementById("alldays").checked=true;
break
default:
clearDOWRadio();}
validateWhen();}
function clearDOWRadio(){
document.getElementById("nodays").checked=false;
document.getElementById("alldays").checked=false;
document.getElementById("weekdays").checked=false;
document.getElementById("weekends").checked=false;}
function validateWhen(){
var isValid=false;
if(m_numSelectedDOW>0){
var oStart=document.getElementById("startdate_calendar")._selectedDate;
var oEnd=document.getElementById("enddate_calendar")._selectedDate;
var dr=Math.round((oEnd-oStart)/86400000)+1;
var oDI=document.getElementById("enddateinfo");
var oDR=document.getElementById("daterange");
oDR.innerHTML="Current date range: "+dr+" days";
if((dr>m_maxDays)||(dr<0)){
oDR.className="dateerror";
oDI.className="dateerror";
if(dr<0){
oDI.innerHTML="End date cannot be before start date";}else{
oDI.innerHTML="Date range cannot exceed "+m_maxDays+" days";}}else{
isValid=true;
oDR.className="daterangetext";
oDI.className="dateinfotext";
oDI.innerHTML="End date: "+(oEnd.getMonth()+1)+"/"+oEnd.getDate()+"/"+oEnd.getFullYear();
m_whenDisplay="<span class='sumval'>"+document.getElementById("startdateinfo").innerHTML+"</span>";
m_whenDisplay+="<br/><span class='sumval'>"+oDI.innerHTML+"</span>";
m_whenDisplay+="<br/><span class='sumval'>Date&nbsp;range:&nbsp;"+dr+"&nbsp;days</span>";
m_whenPrint=(oStart.getMonth()+1)+"/"+oStart.getDate()+"/"+oStart.getFullYear();
m_whenPrint+="&nbsp;-&nbsp;"+(oEnd.getMonth()+1)+"/"+oEnd.getDate()+"/"+oEnd.getFullYear();}
var st=getTimeAsHM("start");
if(st==""){st="0000"}
var et=getTimeAsHM("end");
if(et==""){et="2359"}
var sm=calcMinutes(st);
var em=calcMinutes(et);
var mins=em-sm+1;
var h=Math.floor(mins/60);
var m=mins-(h*60);
oDI=document.getElementById("timeerror");
oDR=document.getElementById("timerange");
var s=h;
if(h==1){s+=" hour"}else{s+=" hours"}
if(m!=0){
s+=", "+m;
if(m==1){s+=" minute"}else{s+=" minutes"}}
oDR.innerHTML="Current time range: "+s;
if((st>et)){
isValid=false;
oDR.className="dateerror";
oDI.className="dateerror";
oDI.innerHTML="Invalid time range";}else{
oDR.className="daterangetext";
oDI.className="nodisplay";
oDI.innerHTML="&nbsp;";
m_whenDisplay+="<br/><br/><span class='sumval'>Start time: "+document.getElementById("starttime_hour").value+":";
m_whenPrint+=",&nbsp;"+document.getElementById("starttime_hour").value+":";
sm=document.getElementById("starttime_minute").value;
if(sm<10)sm="0"+sm;
m_whenDisplay+=sm+"&nbsp;";
m_whenDisplay+=document.getElementById("starttime_ampm").value+"</span>";
m_whenPrint+=sm+"&nbsp;"+document.getElementById("starttime_ampm").value;
m_whenDisplay+="<br/><span class='sumval'>End time: "+document.getElementById("endtime_hour").value+":";
m_whenPrint+="&nbsp;-&nbsp;"+document.getElementById("endtime_hour").value+":";
em=document.getElementById("endtime_minute").value;
if(em<10)em="0"+em;
m_whenDisplay+=em+"&nbsp;";
m_whenDisplay+=document.getElementById("endtime_ampm").value+"</span>";
m_whenPrint+=em+"&nbsp;"+document.getElementById("endtime_ampm").value;
m_whenDisplay+="<br/><span class='sumval'>Time&nbsp;range:&nbsp;"+s+"</span>";}}
if(isValid){
if(m_numSelectedDOW<7){
var days="",pdays="";
var o=document.getElementById("sunday");
if(document.getElementById("sunday").checked){
days+="<br/><span class='sumval'>Sunday</span>";
pdays+="Sunday";}
if(document.getElementById("monday").checked){
if(days!=""){
days+="<span class='sumor'>&nbsp;or</span>";
pdays+=",&nbsp;";}
days+="<br/><span class='sumval'>Monday</span>";
pdays+="Monday";}
if(document.getElementById("tuesday").checked){
if(days!=""){
days+="<span class='sumor'>&nbsp;or</span>";
pdays+=",&nbsp;";}
days+="<br/><span class='sumval'>Tuesday</span>";
pdays+="Tuesday";}
if(document.getElementById("wednesday").checked){
if(days!=""){
days+="<span class='sumor'>&nbsp;or</span>";
pdays+=",&nbsp;";}
days+="<br/><span class='sumval'>Wednesday</span>";
pdays+="Wednesday";}
if(document.getElementById("thursday").checked){
if(days!=""){
days+="<span class='sumor'>&nbsp;or</span>";
pdays+=",&nbsp;";}
days+="<br/><span class='sumval'>Thursday</span>";
pdays+="Thursday";}
if(document.getElementById("friday").checked){
if(days!=""){
days+="<span class='sumor'>&nbsp;or</span>";
pdays+=",&nbsp;";}
days+="<br/><span class='sumval'>Friday</span>";
pdays+="Friday";}
if(document.getElementById("saturday").checked){
if(days!=""){
days+="<span class='sumor'>&nbsp;or</span>";
pdays+=",&nbsp;";}
days+="<br/><span class='sumval'>Saturday</span>";
pdays+="Saturday";}
m_whenDisplay+="<br/><br/><span class='sumval'>Days:</span>"+days;
m_whenPrint+=",&nbsp;"+pdays;}else{
m_whenDisplay+="<br/><br/><span class='sumval'>All days of the week</span>";
m_whenPrint+=",&nbsp;All days of the week";}
m_whenDisplay+="<br/><br/>";
m_timePeriodIsValid=true;
m_navObj._enableNextPage();}else{
m_whenDisplay="";
m_timePeriodIsValid=false;
m_navObj._disableNextPage();}
buildSummaryDisplay();}
function calcMinutes(s){
var sh,sm;
sh=s.substring(0,2);
sm=s.substring(2,4);
return((parseInt(sh,10)*60)+parseInt(sm,10));}
function initResults(){
var knt=1,lyrID=15,filtWhereExpr;
var obj=document.getElementById("resultsframe");
var url="map.asp?mapfunction"+knt+"=51";
filtWhereExpr="("+buildWhatQuery()+") AND (";
filtWhereExpr+=buildWhenQuery()+")";
if((m_addrX!=0)&&(m_addrY!=0)){
knt++;
url+="&mapminx"+knt+"="+m_addrX+"&mapminy"+knt+"="+m_addrY+"&envismapunits"+knt+"=-1&mapfunction"+knt+"=22";
knt++;
url+="&bufferdistance"+knt+"="+(m_buffDist*1.5)+"&bufferdisplay"+knt+"="+m_buffDist;
url+="&bufferunits"+knt+"=0&buffersource"+knt+"=3&buffertarget"+knt+"=0&mapfunction"+knt+"=25";
knt++;
url+="&maplayeractivebyid"+knt+"="+lyrID+"&mapfunction"+knt+"=35"+"&whereexpr"+knt+"="+filtWhereExpr;}else{
knt++;
url+="&mapfunction"+knt+"=40&queryname"+knt+"="+m_selQuery+"&whereexpr"+knt+"="+m_selWhere;
if(m_layerID!=""){
url+="&maplayeractivebyid"+knt+"="+m_layerID;
url+="&maplayervisiblebyid"+knt+"="+m_layerID;}
knt++;
if(m_buffDist==0){
url+="&bufferdistance"+knt+"=1320&bufferdisplay"+knt+"=0";}else{
url+="&bufferdistance"+knt+"="+(m_buffDist*1.5)+"&bufferdisplay"+knt+"="+m_buffDist;}
url+="&bufferunits"+knt+"=0&buffersource"+knt+"=2&buffertarget"+knt+"=0&mapfunction"+knt+"=25";
knt++;
url+="&maplayeractivebyid"+knt+"="+lyrID+"&mapfunction"+knt+"=38"+"&whereexpr"+knt+"="+filtWhereExpr;}
knt++;
url+="&mapfunction"+knt+"=37";
url+="&maplayeractivebyid"+knt+"="+lyrID;
if(url!=m_prevUrl){
obj.src=url;
m_prevUrl=url;}}
function buildWhatQuery(){
var a,i,s;
a=m_WhatTreeSelectObj._getValues();
s="(activitycategory = '"+a[0]+"')";
if(a.length>1){
for(i=1;i<a.length;i++){
s+=" OR (activitycategory = '"+a[i]+"')";}}
return s;}
function buildWhenQuery(){
var o,d,s,w,t="",or="";
o=document.getElementById("startdate_calendar")._selectedDate;
d=getDateAsYMD(o);
s="(fromdate >= '"+d+"') AND ";
o=document.getElementById("enddate_calendar")._selectedDate;
d=getDateAsYMD(o);
s+="(fromdate <= '"+d+"')";
if(m_numSelectedDOW<7){
s+=" AND (";
o=document.getElementById("sunday");
if(o.checked){s+=or+"(fromdayofweek = 1)";or=" OR ";}
o=document.getElementById("monday");
if(o.checked){s+=or+"(fromdayofweek = 2)";or=" OR ";}
o=document.getElementById("tuesday");
if(o.checked){s+=or+"(fromdayofweek = 3)";or=" OR ";}
o=document.getElementById("wednesday");
if(o.checked){s+=or+"(fromdayofweek = 4)";or=" OR ";}
o=document.getElementById("thursday");
if(o.checked){s+=or+"(fromdayofweek = 5)";or=" OR ";}
o=document.getElementById("friday");
if(o.checked){s+=or+"(fromdayofweek = 6)";or=" OR ";}
o=document.getElementById("saturday");
if(o.checked){s+=or+"(fromdayofweek = 7)";or=" OR ";}
s+=")";}
w=getTimeAsHM("start");
if(w!=""){
t+="(fromtime >= '"+w+"')";}
w=getTimeAsHM("end");
if(w!=""){
if(t!="")t+=" AND ";
t+="(totime <= '"+w+"')";}
if(t!="")s+=" AND ("+t+")";
return "$$nrf"+s+"$$nrf";}
function getDateAsYMD(o){
var d=o.getFullYear();
if(o.getMonth()<9)d+="0";
d+=(o.getMonth()+1)+"";
if(o.getDate()<10)d+="0";
d+=o.getDate()+"";
return d;}
function getTimeAsHM(id){
var h,m,a,o,s="";
o=document.getElementById(id+"time_hour");
h=o.options[o.selectedIndex].value;
o=document.getElementById(id+"time_minute");
m=o.options[o.selectedIndex].value;
o=document.getElementById(id+"time_ampm");
a=o.options[o.selectedIndex].value;
if((h==12)&&(m==0)&&(a=="AM"))return s;
if((h==11)&&(m==59)&&(a=="PM"))return s;
if(h==12)h=0;
if(a=="PM")h=parseInt(h)+12;
if(h<10)s="0";
s+=h;
if(m<10)s+="0";
s+=m;
return s;}
function showAbout(){
var newWin=window.open("./about.aspx","cmabout","width=700,height=550,top=0,left=0,scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes");
if(!newWin.opener){newWin.opener=self};
newWin.focus();}
function showHelp(id){
var newWin=window.open("./help.aspx?#"+id,"cmhelp","width=550,height=550,top=0,left=0,scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes");
if(!newWin.opener){newWin.opener=self};
newWin.focus();}
function showJurMap(){
var w=window.open("./gfx/global/jurmap.jpg","cmjurmap","width=990,height=700,top=0,left=0,scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes");
w.focus();}
function MM_swapImage(){
var i,j=0,x,a=MM_swapImage.arguments;document.MM_sr=new Array;for(i=0;i<(a.length-2);i+=3)
if((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x;if(!x.oSrc)x.oSrc=x.src;x.src=a[i+2];}}
function MM_swapImgRestore(){
var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)x.src=x.oSrc;}
function MM_findObj(n,d){
var p,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){
d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);
if(!x&&d.getElementById)x=d.getElementById(n);return x;}
var _oldhandler=window.onload;
window.onload=(typeof oldhandler=="function")?
function(){_oldhandler();arjisInit();}:arjisInit;
