loginRefresh=true;var Months=["January","February","March","April","May","June","July","August","September","October","November","December"];var ChartArray=new Array();ChartArray[0]=new Image();ChartArray[1]=new Image();var flickerIndex=0;var flickerLength=2;var flickerImageDuration=10000;var flickerTimeOut;function updateStatCharts(month,year){var d=new Date();var timestamp=d.getTime();ChartArray[0].src='Chart?chart=line&w=250&h=180&month='+month+'&year='+year+'&d='+timestamp;ChartArray[1].src='Chart?chart=pie&w=250&h=180&month='+month+'&year='+year+'&d='+timestamp;flickerIndex=0;if(flickerTimeOut){clearTimeout(flickerTimeOut);flickerTimeOut=null;}
ChartArray[1].onload=function(){changeChart()};}
function changeChart(){new Effect.Fade($("chartdiv"),{afterFinish:doGrow});flickerTimeOut=setTimeout("changeChart()",flickerImageDuration);}
function doGrow(){flickerIndex++
if(flickerIndex>=flickerLength)flickerIndex=0;var div=$("chartdiv");var img=$('chartimg');if(img==null){div.innerHTML='<img id="chartimg" src="'+ChartArray[flickerIndex].src+'" alt="Annual Call Details" width="250px" style="border:1px solid #AD2C0C" height="180px">';}
else{img.src=ChartArray[flickerIndex].src;}
new Effect.Appear(div,{duration:5.0});}
function populateYearDropDown(id,year){var select=$(id);select.options.length=0;for(var i=year-3;i<year+3;i++){select.options[select.options.length]=new Option(i,i);if(i==year)select.options[select.options.length-1].selected=true;}}
function displayCallsByYear(y){var paramList=new Array();paramList[0]=new RequestParam("year",y);paramList[1]=new RequestParam("month","-1");paramList[2]=new RequestParam("sum");callGetJSON(paramList,"GetRunStat",function(o,t,e){if(o!=null){if(e){alert(e);}
else{var yearRows='';for(var i=0;i<o.length;i++){yearRows+='<tr><td align="center"><a class="fakelink v9" href="charts.html?month=12&year='+
o[i].year+'" target="_blank"">'+o[i].year+(o[i].year==(new Date().getFullYear())?' YTD':'')+'</a></td><td class="v9">'+o[i].number+'</td></tr>';}
$('callsbyyear').innerHTML='<table width="100%" style="border:1px solid gray;">'+yearRows+'</table>';}}});}
function loadStatistics(month,year){$('monthselect').options[month].selected=true;populateYearDropDown('yearselect',year);$('detailchartlink').innerHTML='<a href="charts.html?month='+month+'&year='+year+'" target="_blank"><span class="fakelink">Show Detailed Charts</span></a>';updateStatCharts(month,year);displayMonthlyStatistics(month,year);displayRunDetails(month,year);displayCallsByYear(year);}
function displayMonthlyStatistics(month,year){$('monthlystatspan').innerHTML='<br><span class="v10">Loading Statistics... Please wait.</span>';var paramList=new Array();paramList[0]=new RequestParam("month",month);paramList[1]=new RequestParam("year",year);callGetJSON(paramList,"GetRunStat",function(o,t,e){if(o!=null){if(e){$('monthlystatspan').innerHTML="<font color=\"red\">"+e+"</font>";}
else{var statRows='';var total=0;for(var i=0;i<o.list.length;i++){statRows+='<tr'+(i%2==0?' class="altRow"':'')+'>'+'<td class="v9">'+o.list[i].name+'</td>'+'<td class="v9"align="center">'+o.list[i].number+'</td>'+'</tr>';total+=o.list[i].number;}
$('monthlystatspan').innerHTML='<table cellpadding="1" cellspacing="0">'+'<tr>'+'<td class="v9b" width="150px" style="border:1px solid black;border-right:0;background-color:#FBD818">Type</td>'+'<td class="v9b" style="border:1px solid black;border-left:0;background-color:#FBD818" align="center">Number of Calls</td>'+'</tr>'+statRows+'<tr>'+
(o.admin?'<td style="border-top:1px solid black">'+'<table width="100%" cellspacing="0" cellpadding="0">'+'<tr>'+'<td>'+
(o.list.length>0?'<span class="fakelink v9" onclick="editStatistics('+month+','+year+')">Edit</span>':'&nbsp;')+'</td>'+'<td class="v9b" align="right">Total:</td>'+'</tr>'+'</table>'+'</td>':'<td class="v9b" align="right" style="border-top:1px solid black">Total:</td>')+'<td class="v9b" align="center" style="border-top:1px solid black">'+total+'</td>'+'</tr>'+'</table>';if(o.list.length==0){$('createstatmsg').innerHTML='<font class="v10i">No Statistics found for '+Months[month]+', '+year+'.<br>'+(o.admin?' Click <a href="javascript:createMonthlyStatistics('+month+','+year+');">here</a> to create statistics.</font>':'');}}}});}
function createMonthlyStatistics(month,year){callGetJSON(new Array(),"Stat",function(o,t,e){if(o!=null){if(e){$('monthlystatspan').innerHTML="<font color=\"red\">"+e+"</font>";}
else{var statRows='';for(var i=0;i<o.length;i++){statRows+='<tr'+(i%2==0?' class="altRow"':'')+'>'+'<td class="v9">'+o[i].name+'</td>'+'<td align="center">'+'<input type="text" onkeypress="return numberKeyPressed(event);" value="0"'+' maxlength="2" size="2" class="v9"></td></tr>';}
$('monthlystatspan').innerHTML='<table cellpadding="1" cellspacing="0">'+'<tr>'+'<td class="v9b" width="150px" style="border:1px solid black;border-right:0;background-color:#FBD818">Type</td>'+'<td class="v9b" style="border:1px solid black;border-left:0;background-color:#FBD818" align="center">Number of Calls</td>'+'</tr>'+statRows+'<tr>'+'<td align="right" colspan="2" style="border-top:1px solid black">'+'<table cellpadding="0" cellspacing="1">'+'<tr>'+'<td class="submitbtnpadded2" onclick="saveStatistics('+month+','+year+')">Save</td>'+'<td class="submitbtnpadded2" onclick="displayMonthlyStatistics('+month+','+year+')">Cancel</td>'+'</tr>'+'</table>'+'</td>'+'</tr>'+'</table>';$('createstatmsg').innerHTML='';}}});}
function saveStatistics(month,year){callSaveJSON(createSaveStatParamList(month,year),"administrator/RunStat",function(o,t,e){if(o!=null){if(e){$('monthlystatspan').innerHTML="<font color=\"red\">"+e+"</font>";}
else{loadStatistics(month,year);}}});}
function editStatistics(month,year){var tbl=$('monthlystatspan').getElementsByTagName('table')[0];for(var i=1;i<tbl.rows.length-1;i++){tbl.rows[i].cells[1].innerHTML='<input type="text" onkeypress="return numberKeyPressed(event);" value="'+tbl.rows[i].cells[1].innerHTML+'"'+' maxlength="2" size="2" class="v9">';}
var row=tbl.rows[tbl.rows.length-1];row.deleteCell(1);var td=row.cells[0];td.innerHTML='<table cellpadding="0" cellspacing="1">'+'<tr>'+
(tbl.rows.length>2?'<td class="submitbtnpadded2" onclick="updateStatistics('+month+','+year+')">Save</td>':'<td class="submitbtnpadded2" onclick="saveStatistics('+month+','+year+')">Save</td>')+'<td class="submitbtnpadded2" onclick="displayMonthlyStatistics('+month+','+year+')">Cancel</td>'+'</tr>'+'</table>';td.align="right";td.colSpan=2;}
function updateStatistics(month,year){callUpdateJSON(createSaveStatParamList(month,year),"administrator/RunStat",function(o,t,e){if(o!=null){if(e){$('monthlystatspan').innerHTML="<font color=\"red\">"+e+"</font>";}
else{loadStatistics(month,year);}}});}
function createSaveStatParamList(month,year){var tbl=$('monthlystatspan').getElementsByTagName('table')[0];var paramList=new Array();paramList[paramList.length]=new RequestParam("month",month);paramList[paramList.length]=new RequestParam("year",year);paramList[paramList.length]=new RequestParam("count",tbl.rows.length-2);paramList[paramList.length]=new RequestParam("page","Run Statistics");for(var i=1;i<tbl.rows.length-1;i++){paramList[paramList.length]=new RequestParam("name_"+i,tbl.rows[i].cells[0].innerHTML);paramList[paramList.length]=new RequestParam("num_"+i,tbl.rows[i].cells[1].getElementsByTagName('input')[0].value);}
return paramList;}
function displayRunDetails(month,year){window.status="Loading Run Details...Please Wait";var paramList=new Array();paramList[0]=new RequestParam("month",month);paramList[1]=new RequestParam("year",year);callGetJSON(paramList,"GetRunDetails",function(o,t,e){if(o!=null){if(e){$('rundetails').innerHTML="<font color=\"red\">"+e+"</font>";}
else{var detailRows='';for(var i=0;i<o.list.length;i++){if(!o.admin){detailRows+='<tr height="18px">'+'<td class="v10 b1sg" width="120px" align="center">'+getObjectDateTimeFieldsHTML(o.list[i].runDate)+'</td>'+'<td class="v10 b1sg" width="250px" align="center">'+o.list[i].type+'</td>'+'<td class="v10 b1sg" width="250px" align="center">'+o.list[i].location+'</td>'+'<td class="v10 b1sg" width="120px" align="center">'+getObjectDateTimeFieldsHTML(o.list[i].stationRestoredDate)+'</td>'+'<td class="v10 b1sg" width="120px" align="center">'+
(o.list[i].newsId>0?'<a href="news.html?id='+o.list[i].newsId+'" ><img src="images/notebook_full.gif" height="14" border="0" alt=""></a>':'&nbsp;')+'</td>'+'</tr>';}
else{detailRows+='<tr height="18px">'+'<td class="v10 b1sg" width="130px" align="center">'+
getObjectDateTimeFieldsHTML(o.list[i].runDate)+'<input type="hidden" value="'+o.list[i].id+'">'+'</td>'+'<td class="v10 b1sg" width="225px" align="center">'+o.list[i].type+'</td>'+'<td class="v10 b1sg" width="225px" align="center">'+o.list[i].location+'</td>'+'<td class="v10 b1sg" width="130px" align="center">'+getObjectDateTimeFieldsHTML(o.list[i].stationRestoredDate)+'</td>'+'<td class="v10 b1sg" width="55px" align="center">'+
(o.list[i].newsId>0?'<a href="administrator/newspost.html?id='+o.list[i].newsId+'&stat='+o.list[i].id+'" ><img src="images/notebook_full.gif" height="14" border="0" alt=""></a>':'&nbsp;')+'</td>'+'<td class="v10 b1sg" width="95px" align="center">'+'<table cellpadding="1" cellspacing="0"><tr><td width="50px" class="submitbtnnowidth" onclick="editRunDetails(this)">Edit</td></tr></table>'+'</td>'+'</tr>';}}
if(!o.admin){$('rundetails').innerHTML='<table cellpadding="2" cellspacing="1" border="0">'+'<tr height="18px">'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="120px" align="center">Call Date/Time</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="250px" align="center">Type</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="250px" align="center">Location</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="120px" align="center">Station Restored</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="120px" align="center">Article</td>'+'</tr>'+detailRows+'</table>';}
else{$('rundetails').innerHTML='<table cellpadding="2" cellspacing="1" border="0">'+'<tr height="18px">'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="130px" align="center">Call Date/Time</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="225px" align="center">Type</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="225px" align="center">Location</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="130px" align="center">Station Restored</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="55px" align="center">Article</td>'+'<td class="v10b" style="border:1px solid black;background-color:#FBD818" width="95px" align="center">Editing</td>'+'</tr>'+detailRows+'</table>';$('addbtntd').innerHTML='<table cellpadding="1" cellspacing="0">'+'<tr><td width="110px" class="submitbtnnowidth" onselectstart="return false;" onmousedown="return false" onclick="addRunDetails()">Add Run Details</td></tr>'+'</table>';if(o.list.length==0){addRunDetails();}}
window.status="Run Details Successfully Loaded";}}});}
function editRunDetails(td){var row=td.parentNode.parentNode.parentNode.parentNode.parentNode;var idObj=row.cells[0].getElementsByTagName('input')[0];var id=idObj.value;row.cells[0].removeChild(idObj);var runDT=row.cells[0].innerHTML.split("&nbsp;");var restDT=row.cells[3].innerHTML.split("&nbsp;");row.cells[0].innerHTML='<input type="text" value="'+runDT[0]+'" class="v10" size="12" maxlength="10">&nbsp;'+'<input type="text" value="'+runDT[1]+'" class="v10" size="5" maxlength="5">'+'<input type="hidden" value="'+id+'">';row.cells[1].innerHTML='<input type="text" value="'+row.cells[1].innerHTML+'" class="v10" style="width:100%;text-align:center" maxlength="30">';row.cells[2].innerHTML='<input type="text" value="'+row.cells[2].innerHTML+'" class="v10" style="width:100%;text-align:center" maxlength="30">';row.cells[3].innerHTML='<input type="text" value="'+restDT[0]+'" class="v10" size="12" maxlength="10">&nbsp;'+'<input type="text" value="'+restDT[1]+'" class="v10" size="5" maxlength="5">';if(row.cells[4].getElementsByTagName('a')[0]!=null){row.cells[4].innerHTML='<span class="fakelink" onclick="window.location=\''+row.cells[4].getElementsByTagName('a')[0].href+'\'">Edit</span>';}
else{row.cells[4].innerHTML='<span class="fakelink" onclick="window.location=\'administrator/newspost.html?stat='+id+'\'">Edit</span>';}
row.cells[5].innerHTML='<table cellpadding="0" cellspacing="1"><tr><td class="submitbtnpadded2" onclick="saveRunDetails(this)">Save</td><td class="submitbtnpadded2" onclick="cancelRunDetails(this)">Cancel</td></tr></table>';}
function updateRunDetails(row,id,runD,runT,restD,restT,type,location){var paramList=new Array();paramList[paramList.length]=new RequestParam("runD",runD+" "+runT);paramList[paramList.length]=new RequestParam("restD",restD+" "+restT);paramList[paramList.length]=new RequestParam("type",type);paramList[paramList.length]=new RequestParam("location",location);paramList[paramList.length]=new RequestParam("id",id);paramList[paramList.length]=new RequestParam("page","Run Statistics");callUpdateJSON(paramList,"administrator/RunDetails",function(o,t,e){if(o!=null){if(e){alert(e);}
else{completeSave(row,id,runD,runT,restD,restT,type,location,o.newsId);}}});}
function completeSave(row,id,runD,runT,restD,restT,type,location){window.status="Run Detail Successfully Saved";returnToReadFormat(row,id,runD,runT,restD,restT,type,location);}
function returnToReadFormat(row,id,runD,runT,restD,restT,type,location,newsId){row.cells[0].innerHTML=runD+"&nbsp;"+runT+'<input type="hidden" value="'+id+'">';row.cells[1].innerHTML=type;row.cells[2].innerHTML=location;row.cells[3].innerHTML=restD+"&nbsp;"+restT;row.cells[4].innerHTML=(newsId>0?'<a href="news.html?id='+newsId+'" ><img src="images/notebook_full.gif" height="14" border="0" alt=""></a>':'&nbsp;');row.cells[5].innerHTML='<table cellpadding="1" cellspacing="0"><tr><td width="50px" class="submitbtnnowidth" onclick="editRunDetails(this)">Edit</td></tr></table>';}
function saveRunDetails(td){window.status="Saving Run Details...Please Wait";var row=td.parentNode.parentNode.parentNode.parentNode.parentNode;var runD=row.cells[0].getElementsByTagName('input')[0].value;var runT=row.cells[0].getElementsByTagName('input')[1].value;var restD=row.cells[3].getElementsByTagName('input')[0].value;var restT=row.cells[3].getElementsByTagName('input')[1].value;if(!isValidDate(runD)){alert('Invalid Call Date "'+runD+"' Specified");row.cells[0].getElementsByTagName('input')[0].focus();return;}
if(!isValidTime(runT)){alert('Invalid Call Time "'+runT+"' Specified");row.cells[0].getElementsByTagName('input')[1].focus();return;}
if(!isValidDate(restD)){alert('Invalid Station Restored Date "'+restD+"' Specified");row.cells[3].getElementsByTagName('input')[0].focus();return;}
if(!isValidTime(restT)){alert('Invalid Station Restored Time "'+restT+"' Specified");row.cells[3].getElementsByTagName('input')[1].focus();return;}
var type=row.cells[1].getElementsByTagName('input')[0].value;if(type.length==0){alert("Type Not Specified");row.cells[1].getElementsByTagName('input')[0].focus();return;}
var location=row.cells[2].getElementsByTagName('input')[0].value;if(location.length==0){alert("Location Not Specified");row.cells[2].getElementsByTagName('input')[0].focus();return;}
var id=row.cells[0].getElementsByTagName('input')[2];if(id!=null&&id.id!="newrds"){updateRunDetails(row,id.value,runD,runT,restD,restT,type,location);return;}
var paramList=new Array();paramList[paramList.length]=new RequestParam("runD",runD+" "+runT);paramList[paramList.length]=new RequestParam("restD",restD+" "+restT);paramList[paramList.length]=new RequestParam("type",type);paramList[paramList.length]=new RequestParam("location",location);paramList[paramList.length]=new RequestParam("page","Run Statistics");callSaveJSON(paramList,"administrator/RunDetails",function(o,t,e){if(o!=null){if(e){alert(e);}
else{completeSave(row,o.id,runD,runT,restD,restT,type,location,o.newsId);}}});}
function addRunDetails(){if($('newrds')!=null)return;var tbl=$('rundetails').getElementsByTagName('table')[0];var row=tbl.insertRow(1);row.height="18px";var d=new Date();var td0=row.insertCell(0);td0.className="v10 b1sg";td0.width='130px';td0.align="center";td0.innerHTML=getDateTimeFieldsInputHTML(d.getMonth(),d.getDate(),d.getFullYear(),d.getHours(),d.getMinutes())+'<input type="hidden" id="newrds">';var td1=row.insertCell(1);td1.className="v10 b1sg";td1.width='225px';td1.align="center";td1.innerHTML='<input type="text" value="" class="v10" style="width:100%;text-align:center" maxlength="30">';var td2=row.insertCell(2);td2.className="v10 b1sg";td2.width='225px';td2.align="center";td2.innerHTML='<input type="text" value="" class="v10" style="width:100%;text-align:center" maxlength="30">';var td3=row.insertCell(3);td3.className="v10 b1sg";td3.width='130px';td3.align="center";td3.innerHTML=getDateTimeFieldsInputHTML(d.getMonth(),d.getDate(),d.getFullYear(),d.getHours(),d.getMinutes());var td4=row.insertCell(4);td4.className="v10 b1sg";td4.width='55px';td4.align="center";td4.innerHTML='<span class="fakelinkdisabled">Edit</span>';var td5=row.insertCell(5);td5.className="v10 b1sg";td5.width='95px';td5.align="center";td5.innerHTML='<table cellpadding="0" cellspacing="1"><tr><td class="submitbtnpadded2" onclick="saveRunDetails(this)">Save</td><td class="submitbtnpadded2" onclick="cancelRunDetails(this)">Cancel</td></tr></table>';}
function getDateTimeFieldsInputHTML(m,d,y,h,mm){return'<input type="text" value="'+(m+1<10?'0'+(m+1):(m+1))+'/'+(d<10?'0'+(d):(d))+'/'+y+'" class="v10" size="12" maxlength="10">&nbsp;'+'<input type="text" value="'+(h<10?'0'+(h):(h))+':'+(mm<10?'0'+(mm):(mm))+'" class="v10" size="5" maxlength="5">';}
function cancelRunDetails(td){var row=td.parentNode.parentNode.parentNode.parentNode.parentNode;var id=row.cells[0].getElementsByTagName('input')[2];if(id!=null&&id.id=="newrds"){row.parentNode.deleteRow(row.rowIndex);return;}
var runD=row.cells[0].getElementsByTagName('input')[0].value;var runT=row.cells[0].getElementsByTagName('input')[1].value;var restD=row.cells[3].getElementsByTagName('input')[0].value;var restT=row.cells[3].getElementsByTagName('input')[1].value;var type=row.cells[1].getElementsByTagName('input')[0].value;var location=row.cells[2].getElementsByTagName('input')[0].value;returnToReadFormat(row,id.value,runD,runT,restD,restT,type,location);}