/* DefaultButtons.js */
function SearchSubmit(baseURL,searchCtl)
{if(baseURL.indexOf("?")>0)
location.href=baseURL+"&Search_Keywords="+escape(searchCtl.value);else
location.href=baseURL+"?Search_Keywords="+escape(searchCtl.value);}
function DefaultButton(anEvent,btn)
{if(document.all)
{if(event.keyCode==13)
{event.returnValue=false;event.cancel=true;btn.click();}}
else if(document.getElementById)
{if(anEvent.which==13)
{anEvent.returnValue=false;anEvent.preventDefault();if(btn.click)
btn.click(anEvent);else if(btn.onclick)
btn.onclick(anEvent);}}
else if(document.layers)
{if(event.which==13)
{event.returnValue=false;event.cancel=true;btn.click();}}}
function ShowPanel(onPanel,offPanel,suffix)
{document.getElementById(onPanel).style.display="block";document.getElementById(offPanel).style.display="none";if(!suffix)
return;for(var ii=0;ii<Page_Validators.length;++ii)
if(Page_Validators[ii].id.indexOf(suffix)==(Page_Validators[ii].id.length-suffix.length))
ValidatorEnable(Page_Validators[ii],true);else
ValidatorEnable(Page_Validators[ii],false);}
function ValidateLogin(panel,changeMessageID)
{var messageControl=document.getElementById(changeMessageID);if(!messageControl)
return;messageControl.innerText="";messageControl.style.display="none";switch(panel)
{case"changePasswordPanel":if(!document.getElementById("userNameEP").value||!document.getElementById("oldPassword").value||!document.getElementById("newPassword1").value||!document.getElementById("newPassword2").value)
messageControl.innerText="All fields must be supplied";else if(document.getElementById("newPassword1").value!=document.getElementById("newPassword2").value)
messageControl.innerText="New passwords do not match";else if(document.getElementById("newPassword1").value==document.getElementById("oldPassword").value)
messageControl.innerText="New passwords matches old password";break;case"loginOnlyDiv":if(!document.getElementById("userName").value||!document.getElementById("userPassword").value)
messageControl.innerText="All fields must be supplied";break;case"loginAndChangeDiv":if(!document.getElementById("userNameCP").value||!document.getElementById("oldPasswordCP").value||!document.getElementById("newPassword1CP").value||!document.getElementById("newPassword2CP").value)
messageControl.innerText="All fields must be supplied";else if(document.getElementById("newPassword1CP").value!=document.getElementById("newPassword2CP").value)
messageControl.innerText="New passwords do not match";else if(document.getElementById("newPassword1CP").value==document.getElementById("oldPasswordCP").value)
messageControl.innerText="New passwords matches old password";break;}
if(!messageControl.innerText)
{document.getElementById("submitType").value=panel;document.forms[0].submit();}
else
messageControl.style.display="block";}/* FormEditorSupport.js */
function SFGetControlSet(ctlSet)
{return document.getElementsByName(ctlSet);}
function SFGetControl(ctlName)
{return document.getElementById(ctlName);}
function SFGetLabelValue(ctlName)
{ctl=document.getElementById(ctlName);return ctl.innerHTML;}
function SFGetRadioValue(ctlSet)
{var radios=SFGetControlSet(ctlSet);if(radios==null)
return null;if(radios.length==null||radios.length==0)
return(radios.checked?radios.value:null);for(var ii=0;ii<radios.length;++ii)
if(radios[ii].type!='radio')
return null;else if(radios[ii].checked)
return radios[ii].value;return null;}
function SFGetRadioDefaultValue(ctlSet)
{var radios=SFGetControlSet(ctlSet);if(radios==null)
return null;for(var ii=0;ii<radios.length;++ii)
if(radios[ii].type!='radio')
return null;else if(radios[ii].defaultChecked)
return radios[ii].value;return null;}
function SFGetSelectListLength(ctlName)
{return SFGetControl(ctlName).options.length;}
function SFGetSelectValue(ctlSet)
{var options=document.getElementById(ctlSet);if(options==null)
return null;var retVal="";for(var ii=0;ii<options.length;++ii)
if(options[ii].selected)
retVal+=(retVal.length?", ":"")+options[ii].value;return retVal;}
function SFGetSelectDefaultValue(ctlSet)
{var options=document.getElementById(ctlSet);if(options==null)
return null;for(var ii=0;ii<options.length;++ii)
if(options[ii].defaultSelected)
return options[ii].value;return null;}
function SFGetCheckboxState(ctlName)
{return SFGetControl(ctlName).checked;}
function SFRemoveAllWhitespace(strValue)
{return strValue.replace(/[\s|\240]/gi,"");}
function SFEditFieldValue(ctlName)
{return SFRemoveAllWhitespace(SFGetControl(ctlName).value);}
function SFEditFieldHasValue(ctlName)
{return(SFEditFieldValue(ctlName)!="");}
function SFEditParseDate(ctlName)
{if(!SFEditFieldIsDate(ctlName))
return new Date();var ctl=SFGetControl(ctlName);if(!ctl||!ctl.value)
return new Date();var date=new Date();var dateRE=/^ *([01]?\d)[\-|\/\.]([0123]?\d)[\-|\/\.]([12][8901]\d{2}) *$/;if(dateRE.test(ctl.value))
{var match=ctl.value.match(dateRE);if(match.length==4)
return new Date(match[3],Number(match[1])-1,match[2]);}
return date;}
function SFEditFieldIsDate(ctlName)
{var ctl=SFGetControl(ctlName);if(!ctl||!ctl.value)
return true;var dateRE=/^ *([01]?\d)[\-|\/\.]([0123]?\d)[\-|\/\.]([12][8901]\d{2}) *$/;if(dateRE.test(ctl.value))
{var match=ctl.value.match(dateRE);if(match.length==4)
{var testDate=new Date(match[3],Number(match[1])-1,match[2]);if(testDate.getFullYear()==match[3]&&testDate.getMonth()==Number(match[1])-1&&testDate.getDate()==match[2])
return true;}}
return false;}
function SFEditFieldIsTime(ctlName)
{var ctl=SFGetControl(ctlName);if(!ctl||!ctl.value)
return true;var timeRE=/^ *([012]?\d)[: ]([0-5]?\d) ?([aApP]?\.?[mM]?\.?) *$/;if(timeRE.test(ctl.value))
{var match=ctl.value.match(timeRE);if(match.length==4)
{var testTime=new Date(1900,0,01);testTime.setHours(match[1]);testTime.setMinutes(match[2]);var hours=testTime.getHours();var minutes=testTime.getMinutes();if((hours!=Number(match[1]))||(minutes!=Number(match[2]))||(testTime.getDate()!=1))
return false;var isAM=(match[3].indexOf('a')>=0||match[3].indexOf('A')>=0);if(isAM&&testTime.getHours()>12)
return false;ctl.value=String(hours)+((minutes<10)?":0":":")+String(minutes)+((match[3])?(" "+match[3]):"");return true;}}
return false;}
function SFEditFieldMatchesRegEx(ctlName,regEx)
{return(SFGetControl(ctlName).value.match(regEx)!=null);}
function SFEditFieldIsEmail(ctlName)
{return SFEditFieldMatchesRegEx(ctlName,"^ *[\\w._\\-']+@[\\w._\\-]*\\.[\\w._\\-]* *$");}
function internal_ActionByType(type,action,container,suffix)
{if(!container)
container=document;var ctls=container.getElementsByTagName(type);var returnValue=true;for(var ii=0;ii<ctls.length;++ii)
if(ctls[ii].name.indexOf("cmsForms_")==0||ctls[ii].name.indexOf("cmsFormS_")==0)
switch(action)
{case"disable":SFDisableControl(ctls[ii].name);break;case"enable":SFEnableControl(ctls[ii].name);break;case"validate":returnValue&=SFValidateControl(ctls[ii].name,suffix);break;case"clearCheck":if(ctls[ii].type=="checkbox")
ctls[ii].checked=false;}
return returnValue;}
function SFClearCheckBoxes()
{internal_ActionByType("input","clearCheck",document,null);}
function SFDisableAll(container)
{if(!container)
container=document;internal_ActionByType("input","disable",container,null);internal_ActionByType("textarea","disable",container,null);internal_ActionByType("select","disable",container,null);}
function SFEnableAll(container)
{if(!container)
container=document;internal_ActionByType("input","enable",container,null);internal_ActionByType("textarea","enable",container,null);internal_ActionByType("select","enable",container,null);}
function SFGeneralValidate(docID,blockID,useCaptcha,specialValidationFunc)
{var containerControl=document.getElementById("DataDiv_"+blockID);if(!containerControl)
{window.alert("Form Container is Missing");return false;}
tic_Utilities.ShowHideById("DataDiv_"+blockID,false);var allPassed=true;if(specialValidationFunc)
allPassed&=specialValidationFunc(blockID,docID);allPassed&=internal_ActionByType("select","validate",containerControl,blockID);allPassed&=internal_ActionByType("input","validate",containerControl,blockID);allPassed&=internal_ActionByType("textarea","validate",containerControl,blockID);if(useCaptcha=="1")
allPassed&=ClientSideCaptchaValidate(blockID);if(!allPassed)
tic_Utilities.ShowHideById("DataDiv_"+blockID,true);return allPassed;}
function SFExtraEventValidation(blockID,docID)
{var allPassed=true;var ctlName="cmsForms_EventStartTime_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName).value)
allPassed&=SFRespondToValidation(SFEditFieldIsTime(ctlName),"message_"+ctlName,"Start Time is invalid.  Accepted format is HH:MM with am, pm or in 24-hour time",ctlName,blockID);ctlName="cmsForms_EventEndTime_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName).value)
allPassed&=SFRespondToValidation(SFEditFieldIsTime(ctlName),"message_"+ctlName,"End Time is invalid.  Accepted format is HH:MM with am, pm or in 24-hour time",ctlName,blockID);ctlName="cmsForms_EventStartDate_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName).value)
allPassed&=SFRespondToValidation(SFEditFieldIsDate(ctlName),"message_"+ctlName,"Start Date is invalid.  Accepted format is MM-dd-yyyy",ctlName,blockID);ctlName="cmsForms_EventEndDate_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName).value)
allPassed&=SFRespondToValidation(SFEditFieldIsDate(ctlName),"message_"+ctlName,"End Date is invalid.  Accepted format is MM-dd-yyyy",ctlName,blockID);ctlName="cmsForms_EventContactEmail_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName).value)
allPassed&=SFRespondToValidation(SFEditFieldIsEmail(ctlName),"message_"+ctlName,"Invalid Contact Email detected",ctlName,blockID);ctlName="cmsForms_EventDescription_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName))
allPassed&=SFRespondToValidation(internal_GetCommentValue(document.getElementById(ctlName))==document.getElementById(ctlName).value,"message_"+ctlName,"Description field cannot contain HTML",ctlName,blockID);ctlName="cmsForms_EventNotes_"+blockID;if(document.getElementById(ctlName)&&document.getElementById(ctlName))
allPassed&=SFRespondToValidation(internal_GetCommentValue(document.getElementById(ctlName))==document.getElementById(ctlName).value,"message_"+ctlName,"Notes field cannot contain HTML",ctlName,blockID);return allPassed;}
function SFFinalEventSubmit(docID,blockID,useCaptcha)
{var attachment=document.getElementById("cmsForms_EventAttachment_"+blockID);if(attachment&&attachment.value)
document.getElementById("cmsForms_EventHasAttachment_"+blockID).value="1";var ctl=document.getElementById("cmsForms_EventName_"+blockID);ctl.form.submit();}
function SFSubmitEvent(docID,blockID,doConfirm,useCaptcha)
{if(!SFGeneralValidate(docID,blockID,useCaptcha,SFExtraEventValidation))
return;if(doConfirm=="1")
return SFConfirmForm(blockID);SFFinalEventSubmit(docID,blockID,useCaptcha);}
function SFSubmitForm(docID,blockID,doConfirm,useCaptcha)
{if(!SFGeneralValidate(docID,blockID,useCaptcha,window["FormSpecificValidation"]))
return;if(doConfirm=="1")
return SFConfirmForm(blockID);SFFinalFormSubmit(docID,blockID,useCaptcha);}
function SFReturnToEdit(blockID)
{SFEnableAll(document.getElementById("DataDiv_"+blockID));tic_Utilities.ShowHideById("VerifyMessage_"+blockID,false);tic_Utilities.ShowHideById("SubmitButtons_"+blockID,true);tic_Utilities.ShowHideById("ConfirmButtons_"+blockID,false);tic_Utilities.ShowHideById("DataDiv_"+blockID,true);}
function SFConfirmForm(blockID)
{SFDisableAll(document.getElementById("DataDiv_"+blockID));tic_Utilities.ShowHideById("VerifyMessage_"+blockID,true);tic_Utilities.ShowHideById("SubmitButtons_"+blockID,false);tic_Utilities.ShowHideById("ConfirmButtons_"+blockID,true);tic_Utilities.ShowHideById("cmsForms_DataNotProvided_"+blockID,false);tic_Utilities.ShowHideById("DataDiv_"+blockID,true);}
function SFFinalFormSubmit(docID,blockID,useCaptcha)
{SFReturnToEdit(blockID);tic_Utilities.ShowHideById("DataDiv_"+blockID,false);var containerControl=document.getElementById("DataDiv_"+blockID);var packagedData=tic_Utilities.MakeXmlStartTag("Data",false);packagedData+=internal_PackageByType("select",containerControl);packagedData+=internal_PackageByType("input",containerControl);packagedData+=internal_PackageByType("textarea",containerControl);packagedData+=tic_Utilities.MakeXmlStartTag("Captcha",false);packagedData+=ExtractCaptchaInfo(containerControl);packagedData+=tic_Utilities.MakeXmlEndTag("Captcha",false);packagedData+=tic_Utilities.MakeXmlEndTag("Data",false);var ajaxArgs=new Array();ajaxArgs[ajaxArgs.length]=docID;ajaxArgs[ajaxArgs.length]=blockID;ajaxArgs[ajaxArgs.length]=packagedData;TitanDisplayServiceWrapper.MakeWebServiceCall("Forms",NorthwoodsSoftwareDevelopment.Cms.WebServices.FormBlockAjax.ProcessComment,ajaxArgs,SFFormSubmitComplete,[blockID],true);}
function SFFormSubmitComplete(blockID,results,context,methodName)
{if(window["ProcessCaptchaResults"])
ProcessCaptchaResults(results);if(!results.status)
{tic_Utilities.ShowHideById("DataDiv_"+blockID,true);SFRespondToValidation(false,"formsubmit",results.message,"foo",blockID);}
else
tic_Utilities.ShowHideById("ThankYouDiv_"+blockID,true);}
function SFValidateAll(ctl)
{var allPassed=true;if(window.FormSpecificValidation)
allPassed&=FormSpecificValidation();allPassed&=internal_ActionByType("select","validate",document,null);allPassed&=internal_ActionByType("input","validate",document,null);allPassed&=internal_ActionByType("textarea","validate",document,null);if(allPassed)
ctl.form.submit();}
function SFValidateControl(ctlName,suffix)
{var messageName="alert_"+ctlName;var controlIsValid=true;var ctl=document.getElementById(ctlName);var displayName=ctlName.substring(ctlName.indexOf('_')+1);var bIsRequired=false;if(ctl)
{if(ctl.attributes["errorMessage"]&&ctl.attributes["errorMessage"].value!="")
displayName=ctl.attributes["errorMessage"].value;else if(ctl.attributes["errormessage"]&&ctl.attributes["errormessage"].value!="")
displayName=ctl.attributes["errormessage"].value;bIsRequired=((ctl.attributes["isRequired"]&&(ctl.attributes["isRequired"].value=='true'||ctl.attributes["isRequired"].value=="isRequired"))||(ctl.attributes["isrequired"]&&(ctl.attributes["isrequired"].value=='true'||ctl.attributes["isrequired"].value=="isrequired")));}
if(ctl&&ctl.tagName=="SELECT")
{if(bIsRequired)
{var selectedValue=SFGetSelectValue(ctlName);if(!selectedValue||selectedValue=="")
controlIsValid=false;}
SFRespondToValidation(controlIsValid,messageName,displayName,ctlName,suffix);}
else if(ctl&&ctl.tagName=='INPUT'&&ctl.type=='checkbox')
{if(bIsRequired)
{controlIsValid=ctl.checked;SFRespondToValidation(controlIsValid,messageName,displayName,ctlName,suffix);}}
else if(!ctl||(ctl.tagName=='INPUT'&&ctl.type=='radio'))
{if(!ctl)
{var ctlGroup=document.getElementsByName(ctlName);if(ctlGroup&&ctlGroup.length>0)
{bIsRequired=((ctlGroup[0].attributes["isRequired"]&&(ctlGroup[0].attributes["isRequired"].value=='true'||ctlGroup[0].attributes["isRequired"].value=="isRequired"))||(ctlGroup[0].attributes["isrequired"]&&(ctlGroup[0].attributes["isrequired"].value=='true'||ctlGroup[0].attributes["isrequired"].value=="isrequired")));var ctl=ctlGroup[0];if(ctl.attributes["errorMessage"]&&ctl.attributes["errorMessage"].value!="")
displayName=ctl.attributes["errorMessage"].value;else if(ctl.attributes["errormessage"]&&ctl.attributes["errormessage"].value!="")
displayName=ctl.attributes["errormessage"].value;}}
if(bIsRequired)
{var selectedValue=SFGetRadioValue(ctlName);if(!selectedValue||selectedValue=="")
controlIsValid=false;}
SFRespondToValidation(controlIsValid,messageName,displayName,ctlName,suffix);}
else
{bNeedsValidation=(ctl.attributes["validationType"]&&ctl.attributes["validationType"].value!='None');if(!bNeedsValidation)
bNeedsValidation=(ctl.attributes["validationtype"]&&ctl.attributes["validationtype"].value!='None');if(bIsRequired&&!SFEditFieldHasValue(ctlName))
controlIsValid=false;else if(bNeedsValidation&&!SFEditFieldMatchesRegEx(ctlName,(ctl.getAttribute("regExp")||ctl.getAttribute("regexp"))))
controlIsValid=false;SFRespondToValidation(controlIsValid,messageName,displayName,ctlName,suffix);}
return controlIsValid;}
function internal_MaskEdit(ctl)
{ctl.readOnly=true;tic_Utilities.AddStyle(ctl,"hideBorders");}
function internal_UnMaskEdit(ctl)
{ctl.readOnly=false;tic_Utilities.RemoveStyle(ctl,"hideBorders");}
function SFEnableControl(ctlName)
{var ctl=document.getElementById(ctlName);if(ctl&&ctl.tagName=="SELECT")
{ctl.style.display="block";if(document.getElementById(ctl.id+"_mask"))
document.getElementById(ctl.id+"_mask").parentNode.removeChild(document.getElementById(ctl.id+"_mask"));}
else if(ctl&&ctl.tagName=='INPUT'&&ctl.type=='checkbox')
ctl.disabled=false;else if(!ctl||(ctl.tagName=='INPUT'&&ctl.type=='radio'))
{var ctlGroup=document.getElementsByName(ctlName);for(var ii=0;ii<ctlGroup.length;++ii)
ctlGroup[ii].disabled=false;}
else
internal_UnMaskEdit(ctl);}
function SFDisableControl(ctlName)
{var ctl=document.getElementById(ctlName);if(ctl&&ctl.tagName=="SELECT")
{var parentNode=ctl.parentNode;if(!parentNode)
return window.alert("No parent element found for "+ctlName);var inputControl=document.createElement("input");if(!inputControl)
return window.alert("Unable to create element for "+ctlName);inputControl.id=ctl.id+"_mask";if(!ctl.multiple&&ctl.selectedIndex>=0)
inputControl.value=ctl.options[ctl.selectedIndex].text;else
{var str="";for(var ii=0;ii<ctl.length;++ii)
if(ctl[ii].selected)
str+=((str.length>0)?", ":"")+ctl[ii].text;inputControl.value=str;}
inputControl.className=ctl.className;parentNode.insertBefore(inputControl,ctl);internal_MaskEdit(inputControl);ctl.style.display="none";}
else if(ctl&&ctl.tagName=='INPUT'&&ctl.type=='checkbox')
ctl.disabled=true;else if(!ctl||(ctl.tagName=='INPUT'&&ctl.type=='radio'))
{var ctlGroup=document.getElementsByName(ctlName);for(var ii=0;ii<ctlGroup.length;++ii)
ctlGroup[ii].disabled=true;}
else
internal_MaskEdit(ctl);}
function SFControlIsEnabled(ctlName)
{return document.getElementById(ctlName)!=null&&!document.getElementById(ctlName).disabled;}
function SFControlExists(ctlName)
{return SFGetControl(ctlName)!=null;}
function SFValueHasChanged(ctlName)
{var ctl=SFGetControl(ctlName);if(ctl==null)
return;var value;if(!ctl.tagName)
value=SFGetRadioValue(ctlName);else if(ctl.tagName=="SELECT")
value=SFGetSelectValue(ctlName);else if(ctl.tagName=='INPUT'&&ctl.type=='checkbox')
value=ctl.checked?ctl.value:"";else
value=((!ctl.value)?"":ctl.value);var defaultValue;if(!ctl.tagName)
defaultValue=SFGetRadioDefaultValue(ctlName);else if(ctl.tagName=="SELECT")
defaultValue=SFGetSelectDefaultValue(ctlName);else if(ctl.tagName=='INPUT'&&ctl.type=='checkbox')
defaultValue=ctl.defaultChecked?ctl.value:"";else
defaultValue=((!ctl.defaultValue)?"":ctl.defaultValue);defaultValue=(defaultValue?defaultValue:"");value=(value?value:"");return(defaultValue!=value);}
function SFSetRadioValue(ctlName,ctlValue)
{var ctl=SFGetControl(ctlName);if(ctl==null)
return;if(ctl.length&&ctl.length>0)
for(var ii=0;ii<ctl.length;++ii)
ctl.checked=(ctl.value==ctlValue);else
ctl.checked=(ctl.value==ctlValue);}
function SFClearRadioButton(ctlName,ctlValue)
{var ctl=SFGetControl(ctlName);if(ctl==null)
return;for(var ii=0;clt.length&&ii<ctl.length;++ii)
if(ctl[ii].value==ctlValue)
ctl[ii].selected=ctl[ii].checked=false;}
function SFSetControlValue(ctlName,ctlValue,bFireChangeEvent)
{var ctl=document.getElementById(ctlName);if(ctl==null)
{ctl=document.getElementsByName(ctlName);if(ctl==null||ctl.length==0)
return;}
var arrayOfValues;if(ctl.tagName=="SELECT"&&ctl.multiple)
arrayOfValues=ctlValue.split(',');else
arrayOfValues=[ctlValue];if(ctl.length&&ctl.length>0)
{for(var ii=0;ii<ctl.length;++ii)
{ctl[ii].selected=false;ctl[ii].checked=false;ctl[ii].defaultChecked=false;ctl[ii].defaultSelected=false;}
for(var jj=0;jj<arrayOfValues.length;++jj)
{for(var ii=0;ii<ctl.length;++ii)
{if(ctl[ii].value.replace(/ /g,'')==arrayOfValues[jj].replace(/ /g,''))
{ctl[ii].selected=true;ctl[ii].checked=true;ctl[ii].defaultChecked=true;ctl[ii].defaultSelected=true;if(bFireChangeEvent&&ctl[ii].onclick)
ctl[ii].onclick();}}}
if(bFireChangeEvent&&ctl.onchange)
ctl.onchange();}
else if(ctl.tagName=='INPUT'&&ctl.type=='radio')
{var ctlGroup=document.getElementsByName(ctlName);for(var ii=0;ii<ctlGroup.length;++ii)
if(ctlGroup[ii].value==ctlValue)
{ctlGroup[ii].checked=true;if(bFireChangeEvent&&ctl.onclick)
ctl.onclick();}}
else if(ctl.tagName=='INPUT'&&ctl.type=='checkbox')
{ctl.defaultChecked=ctl.checked=(ctlValue!=""&&ctlValue!=0&&ctlValue!="No"&&ctlValue!="off"&&ctlValue!=false);if(bFireChangeEvent&&ctl.onclick)
ctl.onclick();}
else
{ctl.value=ctlValue;ctl.defaultValue=ctlValue;if(bFireChangeEvent&&ctl.onchange)
ctl.onchange();}}
function SFExtractMessageControl(suffix)
{var ctlName="cmsForms_DataNotProvided";if(suffix)
ctlName+="_"+suffix;return document.getElementById(ctlName);}
function SFFindMessage(msgCtl,msgName)
{var message=document.getElementById(msgName);if(message)
msgCtl.style.display="block";return message;}
function SFMessageAreaHasMessage(suffix)
{var ctl=SFExtractMessageControl(suffix);var embeddedDivs=ctl.getElementsByTagName("DIV");for(var ii=0;ii<embeddedDivs.length;++ii)
if(embeddedDivs[ii].className&&embeddedDivs[ii].className=="SFMessage")
return true;return false;}
function SFMessageAreaFinalAdjust(suffix)
{var msgCtl=SFExtractMessageControl(suffix);if(SFMessageAreaHasMessage(suffix))
{msgCtl.style.display="block";if(msgCtl.getAttribute("useClass")=="1")
tic_Utilities.RemoveStyle(msgCtl,"error");else
msgCtl.style.display="none";}
else
{if(msgCtl.getAttribute("useClass")=="1")
tic_Utilities.AddStyle(msgCtl,"error");else
msgCtl.style.display="none";}}
function SFAddMessage(msgName,msgText,suffix)
{var msgCtl=SFExtractMessageControl(suffix);if(SFFindMessage(msgCtl,msgName))
return;var newMessage=document.createElement("DIV");newMessage.className='SFMessage';newMessage.id=msgName;newMessage.innerHTML="&nbsp;&nbsp;&nbsp;"+msgText;msgCtl.appendChild(newMessage);if(msgCtl.getAttribute("useClass")=="1")
tic_Utilities.AddStyle(msgCtl,"error");else
msgCtl.style.display="block";return true;}
function SFRemoveMessage(msgName,suffix)
{var msgCtl=SFExtractMessageControl(suffix);var ctlToRemove=SFFindMessage(msgCtl,msgName);if(ctlToRemove==null||msgCtl==null)
return;msgCtl.removeChild(ctlToRemove);if(msgCtl.getElementsByTagName("DIV").length>0)
return;if(msgCtl.getAttribute("useClass")=="1")
tic_Utilities.RemoveStyle(msgCtl,"error");else
msgCtl.style.display="none";}
function SFDisplayMessage(msgName,message,suffix)
{if(SFFindMessage(SFExtractMessageControl(suffix),msgName))
return;SFAddMessage(msgName,message,suffix);}
function SFRespondToValidation(testHasPassed,msgName,message,ctlName,suffix)
{var containingDiv=null;var errorCtl=document.getElementById(ctlName+"_Error");if(errorCtl)
{containingDiv=errorCtl;while(containingDiv&&containingDiv.tagName!="DIV")
containingDiv=containingDiv.parentNode;if(containingDiv&&containingDiv.tagName!="DIV")
containingDiv=null;}
if(testHasPassed)
{SFRemoveMessage(msgName,suffix);tic_Utilities.RemoveStyle(containingDiv,"messageOn");return true;}
else
{SFDisplayMessage(msgName,message,suffix);tic_Utilities.AddStyle(containingDiv,"messageOn");return false;}}
function IsPhotoDiv(div)
{if(!div.id)
return false;if(div.id.indexOf("/")!=0)
return false;return true;}
function ChangeImageSource(ctlName,newSource,blockIndex)
{var ctl=document.getElementById(ctlName);var divChildren=ctl.getElementsByTagName("DIV");for(var ii=0;ii<divChildren.length;++ii)
{if(!IsPhotoDiv(divChildren[ii]))
continue;if(!divChildren[ii].style.display||divChildren[ii].style.display=="block")
divChildren[ii].style.display="none";if(divChildren[ii].id==newSource)
{divChildren[ii].style.display="block";ResetImageTag(divChildren[ii]);if(document.getElementById("rightArrow"+String(blockIndex)))
document.getElementById("rightArrow"+String(blockIndex)).style.visibility=(((ii+1)<divChildren.length)?"visible":"hidden");if(document.getElementById("leftArrow"+String(blockIndex)))
document.getElementById("leftArrow"+String(blockIndex)).style.visibility=(((ii)>0)?"visible":"hidden");}}}
function OpenFullImage(fullImageLink)
{var hwnd=window.open(fullImageLink);hwnd.focus();}
function ResetImageTag(outerDiv)
{var images=outerDiv.getElementsByTagName("IMG");if(!images||!images.length)
return;var img=images[0];img.src=img.getAttribute("realSrc");}
function PhotoBlockMove(direction,ctlName,blockIndex)
{var ctl=document.getElementById(ctlName);var divChildren=ctl.getElementsByTagName("DIV");for(var ii=0;ii<divChildren.length;++ii)
{if(!IsPhotoDiv(divChildren[ii]))
continue;if(divChildren[ii].style.display&&divChildren[ii].style.display=="none")
continue;if(direction=="right")
{if((ii+1)<divChildren.length)
{divChildren[ii].style.display="none";divChildren[ii+1].style.display="block";ResetImageTag(divChildren[ii+1]);}
document.getElementById("rightArrow"+String(blockIndex)).style.visibility=(((ii+2)<divChildren.length)?"visible":"hidden");document.getElementById("leftArrow"+String(blockIndex)).style.visibility="visible";}
else if(direction=="left")
{if((ii-1)>=0)
{divChildren[ii].style.display="none";divChildren[ii-1].style.display="block";ResetImageTag(divChildren[ii-1]);}
document.getElementById("leftArrow"+String(blockIndex)).style.visibility=(((ii-1)>0)?"visible":"hidden");document.getElementById("rightArrow"+String(blockIndex)).style.visibility="visible";}
break;}}
function internal_ControlHasBeenProcessed(processed,newCtlName)
{for(var ii=0;ii<processed.length;++ii)
if(processed[ii]==newCtlName)
return true;return false;}
function internal_GetCommentValue(ctl)
{switch(ctl.tagName)
{case"INPUT":if(ctl.type=="radio")
return SFGetRadioValue(ctl.name);else if(ctl.type=="checkbox")
return SFGetCheckboxState(ctl.name)?"1":"0";case"TEXTAREA":return ctl.value.replace(/<|>|&lt;|&gt;|&#60;|&#62;|&#x3c;|&#x3e;|%3c|%3e/gi,"");case"SELECT":return SFGetSelectValue(ctl.id);}}
function internal_PackageByType(type,container)
{if(!container)
container=document;var processedControls=[];var returnValue="";var ctls=container.getElementsByTagName(type);for(var ii=0;ii<ctls.length;++ii)
if(ctls[ii].name.indexOf("cmsForms_")==0||ctls[ii].name.indexOf("cmsFormS_")==0)
{if(internal_ControlHasBeenProcessed(processedControls,ctls[ii].name))
continue;processedControls[processedControls.length]=ctls[ii].name;returnValue+=tic_Utilities.PackageXml(ctls[ii].name,internal_GetCommentValue(ctls[ii]),true);}
return returnValue;}
function CRValidateAndSubmit(ctl)
{var containerControl=document.getElementById("titanComments_CommentForm");if(!containerControl)
return window.alert("Commenting form container is missing");tic_Utilities.ShowHideById("titanComments_CommentForm",false);var allPassed=true;if(window["CommentRating_UserSuppliedValidation"])
allPassed&=CommentRating_UserSuppliedValidation();allPassed&=internal_ActionByType("select","validate",containerControl,null);allPassed&=internal_ActionByType("input","validate",containerControl,null);allPassed&=internal_ActionByType("textarea","validate",containerControl,null);if(window["ClientSideCaptchaValidate"])
allPassed&=ClientSideCaptchaValidate(null);if(!allPassed)
{SFMessageAreaFinalAdjust(null);return tic_Utilities.ShowHideById("titanComments_CommentForm",true);}
var packagedData=tic_Utilities.MakeXmlStartTag("Data",false);packagedData+=internal_PackageByType("select",containerControl);packagedData+=internal_PackageByType("input",containerControl);packagedData+=internal_PackageByType("textarea",containerControl);packagedData+=tic_Utilities.MakeXmlStartTag("Captcha",false);packagedData+=ExtractCaptchaInfo(containerControl);packagedData+=tic_Utilities.MakeXmlEndTag("Captcha",false);packagedData+=tic_Utilities.MakeXmlEndTag("Data",false);var ajaxArgs=new Array();ajaxArgs[ajaxArgs.length]=document.getElementById("cmsForms_DocID").value;ajaxArgs[ajaxArgs.length]=packagedData;SFRespondToValidation(true,"captcha","","cmsForms_TitanRatingReCaptchaZone",null);TitanDisplayServiceWrapper.MakeWebServiceCall("Commenting",NorthwoodsSoftwareDevelopment.Cms.WebServices.CommentingAjax.ProcessComment,ajaxArgs,CRSaveComplete,[],true);}
function CRSaveComplete(results,context,methodName)
{if(!results.status)
{tic_Utilities.ShowHideById("titanComments_CommentForm",true);SFRespondToValidation(false,"formsubmit",results.message,"cmsForms_TitanRatingReCaptchaZone",null);}
else if(document.getElementById("titanComments_Confirmation"))
tic_Utilities.ShowHideById("titanComments_Confirmation",true);else
document.location.href=document.location.href;if(window["ProcessCaptchaResults"])
ProcessCaptchaResults(results);}
function ClientSideCaptchaValidate(suffix)
{if(!document.getElementById("cmsForms_CommentingCaptchaEnabled")||document.getElementById("cmsForms_CommentingCaptchaEnabled").value!="1")
return true;if(document.getElementById("cmsForms_TitanRatingReCaptchaZone"))
return SFRespondToValidation(Recaptcha.get_response(),"titan_captcha","You must respond to the Recaptcha request","cmsForms_TitanCaptcha",suffix);return true;}
function ProcessCaptchaResults(results)
{try
{document.getElementById("recaptcha_response_field").focus();if(window["Recaptcha"]&&Recaptcha.widget)
Recaptcha.reload();}
catch(e)
{}}
function ExtractCaptchaInfo(containerControl)
{var retVal=tic_Utilities.PackageXml("RecaptchaChallenge",Recaptcha.get_challenge(),true);retVal+=tic_Utilities.PackageXml("RecaptchaResponse",Recaptcha.get_response(),true);return retVal;}
function CRCommentLimit(ctl,numChars)
{var baseID=ctl.id;var limitSpanCtl=document.getElementById(baseID+"_Count");if(ctl.value.length>numChars)
ctl.value=ctl.value.substring(0,numChars);if(limitSpanCtl)
limitSpanCtl.innerHTML=String(numChars-ctl.value.length);}/* BlockSupport.js */
function PrintPage_PrintPage(printPageString)
{var params=PrintPage_FormatParams();window.open(window.location.pathname+printPageString+params);}
function PrintPage_Email(subjectLine)
{var params=PrintPage_FormatParams();window.open("mailto:?subject="+subjectLine+"&body="+window.location.protocol+"//"+window.location.host+window.location.pathname+"?"+encodeURIComponent(params));}
function PrintPage_FormatParams()
{var params=window.location.search;if(params.indexOf("?")==0)
params=params.substring(1,params.length);var blocks=window.location.titanBlocks;var filterParams="",calendarParams="";if(blocks!=null)
{for(var ii=0;ii<blocks.length;++ii)
{if(blocks[ii].blockType!="FilterBlock")
continue;params=FilterBlock_RemoveExistingFilterBlockParams(params);filterParams=FilterBlock_PackageQueryStringData(blocks[ii].blockID,-1,true);break;}
for(var ii=0;ii<blocks.length;++ii)
{if(blocks[ii].blockType!="CalendarBlock")
continue;params=CalendarBlock_RemoveExistingCalendarParams(params);calendarParams=Cal_PackageQueryStringData(blocks[ii].blockID);break;}}
return params+filterParams+calendarParams;}
function FilterBlock_RemoveExistingFilterBlockParams(params)
{if(!params)
return"";var retVal="";var paramArray=params.split("&");for(var ii=0;ii<paramArray.length;ii++)
if(paramArray[ii].indexOf("FB_Values")==0||paramArray[ii].match(/^F\d*_/));else
retVal+=(retVal.length?"&":"")+paramArray[ii];return retVal;}
function PrintPage_StoreInfoForPrintPage(blockType,blockID)
{var blockInfos=window.location.titanBlocks||[];blockInfos[blockInfos.length]={blockType:blockType,blockID:blockID};window.location.titanBlocks=blockInfos;}
function FilterBlock_PackageQueryStringData(blockID,pageID,printPageEvent)
{var blockPrefix=FilterBlock_MakePrefix(blockID);var useCheck;if(FilterBlock_AjaxEnabled(blockPrefix)||printPageEvent)
useCheck=true;else if(pageID==-1)
{useCheck=true;pageID=1;}
else
useCheck=false;var allInputs=document.getElementsByTagName("INPUT");var additionalArgs=new StringBuilder();var newQueryString=new StringBuilder();if(pageID>0)
additionalArgs.Append(blockPrefix+"PageNum=",pageID);for(var ii=0;ii<allInputs.length;++ii)
{var myId=allInputs[ii].id;if(allInputs[ii].type=="hidden"&&myId.indexOf(blockPrefix)!=0&&myId.indexOf("_PageNum")==(myId.length-8))
additionalArgs.Append((additionalArgs.IsEmpty()?"":"&"),myId,"=",allInputs[ii].value);else if(allInputs[ii].type=="text"&&myId.indexOf(blockPrefix)==0&&useCheck)
additionalArgs.Append((additionalArgs.IsEmpty()?"":"&"),myId,"=",allInputs[ii].value);else if(allInputs[ii].type=="text"&&myId.indexOf(blockPrefix)==0&&!useCheck)
additionalArgs.Append((additionalArgs.IsEmpty()?"":"&"),myId,"=",allInputs[ii].defaultValue);else if(allInputs[ii].type=="text"&&myId.indexOf(blockPrefix)!=0&&(/^F\d*_/).test(myId)&&printPageEvent)
additionalArgs.Append((additionalArgs.IsEmpty()?"":"&"),myId,"=",allInputs[ii].value);else if(allInputs[ii].type=="checkbox"&&useCheck&&allInputs[ii].checked&&myId.indexOf(blockPrefix)==0)
newQueryString.Append(myId,"!");else if(allInputs[ii].type=="checkbox"&&!useCheck&&allInputs[ii].defaultChecked&&myId.indexOf(blockPrefix)==0)
newQueryString.Append(myId,"!");else if(allInputs[ii].type=="checkbox"&&allInputs[ii].checked&&myId.indexOf(blockPrefix)==-1&&(/^F\d*_C\d*_A\d*$/).test(myId)&&FilterBlock_AjaxEnabled(myId.substring(0,myId.indexOf("_")+1)))
newQueryString.Append(myId,"!");else if(allInputs[ii].type=="checkbox"&&allInputs[ii].defaultChecked&&myId.indexOf(blockPrefix)==-1&&(/^F\d*_C\d*_A\d*$/).test(myId)&&!FilterBlock_AjaxEnabled(myId.substring(0,myId.indexOf("_")+1)))
newQueryString.Append(myId,"!");else if(printPageEvent&&allInputs[ii].type=="checkbox"&&allInputs[ii].checked&&myId.indexOf(blockPrefix==-1)&&(/^F\d*_C\d*_A\d*$/).test(myId))
newQueryString.Append(myId,"!");else if(printPageEvent&&allInputs[ii].type=="hidden"&&myId.indexOf(blockPrefix)==0&&myId.indexOf("_PageNum")==(myId.length-8))
additionalArgs.Append((additionalArgs.IsEmpty()?"":"&"),myId,"=",allInputs[ii].value);}
return"&FB_Values="+newQueryString.ReturnAndEmpty()+(additionalArgs.IsEmpty()?"":"&")+additionalArgs.ReturnAndEmpty();}
function FilterBlock_MakePrefix(blockID)
{return"F"+blockID+"_";}
function FilterBlock_Pager(blockID,pageID)
{}
function FilterBlock_Submit(blockID,pageID)
{var params=window.location.search;if(params.indexOf("?")==0)
params=params.substring(1,params.length);params=FilterBlock_RemoveExistingFilterBlockParams(params);var blocks=window.location.titanBlocks;var calendarParams="";if(blocks!=null)
{for(var ii=0;ii<blocks.length;++ii)
{if(blocks[ii].blockType!="CalendarBlock")
continue;params=CalendarBlock_RemoveExistingCalendarParams(params);calendarParams=Cal_PackageQueryStringData(blocks[ii].blockID);break;}}
location.search=params+FilterBlock_PackageQueryStringData(blockID,pageID,false)+calendarParams;}
function FilterBlock_FormatClassifications(blockPrefix)
{var allInputs=document.getElementsByTagName("INPUT");var checkBoxes=new StringBuilder();for(var ii=0;ii<allInputs.length;++ii)
{var myId=allInputs[ii].id;if(allInputs[ii].type=="checkbox"&&allInputs[ii].checked&&myId.indexOf(blockPrefix)==0)
checkBoxes.Append(myId,"!");}
return checkBoxes.ReturnAndEmpty();}
function FilterBlock_CheckAll(ctl,blockID,classID)
{var blockPrefix=FilterBlock_MakePrefix(blockID)+"C"+classID+"_";var allInputs=document.getElementsByTagName("INPUT");for(var ii=0;ii<allInputs.length;++ii)
{if(allInputs[ii].type=="checkbox"&&allInputs[ii].id.indexOf(blockPrefix)==0)
allInputs[ii].checked=ctl.checked;}}
function FilterBlock_KeywordFilter(blockID)
{FilterBlock_ClassificationCheck(blockID);}
function FilterBlock_AjaxEnabled(blockPrefix)
{return(document.getElementById(blockPrefix+"ajaxEnabled")&&document.getElementById(blockPrefix+"ajaxEnabled").value==1);}
function FilterBlock_ClassificationCheck(blockID)
{PrintPage_StoreInfoForPrintPage("FilterBlock",blockID);var blockPrefix=FilterBlock_MakePrefix(blockID);if(!FilterBlock_AjaxEnabled(blockPrefix))
return;var ajaxArgs=new Array();ajaxArgs[ajaxArgs.length]=document.getElementById(blockPrefix+"DocID").value;ajaxArgs[ajaxArgs.length]=blockID;if(document.getElementById(blockPrefix+"keywordFilter"))
ajaxArgs[ajaxArgs.length]=document.getElementById(blockPrefix+"keywordFilter").value;else
ajaxArgs[ajaxArgs.length]="";ajaxArgs[ajaxArgs.length]=FilterBlock_FormatClassifications(blockPrefix);document.getElementById(blockPrefix+"ResultsDiv").className+=" waiting";TitanDisplayServiceWrapper.MakeWebServiceCall("FilterBlock_"+blockID,NorthwoodsSoftwareDevelopment.Cms.WebServices.AggregationV2Ajax.GetResultsData,ajaxArgs,FilterBlock_AjaxComplete,[blockID],true);}
function FilterBlock_AjaxComplete(blockID,results,context,methodName)
{var blockPrefix=FilterBlock_MakePrefix(blockID);var resultsArea=document.getElementById(blockPrefix+"ResultsDiv");if(!resultsArea)
return window.alert("Lost results");resultsArea.className="AggregationResults";resultsArea.innerHTML=results;}
function FilterBlock_UncheckAll(allID)
{var ctl=document.getElementById(allID);if(ctl)
ctl.checked=false;}
function DisplaySideUpload_Expand(dataArea,link)
{if(document.getElementById(dataArea).style.display=="block")
{document.getElementById(dataArea).style.display="none";document.getElementById(link).innerHTML="Upload File";}
else
{document.getElementById(dataArea).style.display="block";document.getElementById(link).innerHTML="Hide Upload Data";}}
function DisplaySideUpload_Upload(btnCtl,baseID)
{btnCtl.disabled=true;window.setTimeout("document.forms[0].submit()",0);}
var TitanDisplayServiceWrapper={gCallbackQueue:new Array(),WebServiceCallComplete:function(results,context,methodName)
{var callInfo=TitanDisplayServiceWrapper.gCallbackQueue.shift();if(!callInfo)
return;var matchesExist=false;for(var ii=0;ii<TitanDisplayServiceWrapper.gCallbackQueue.length;++ii)
if(TitanDisplayServiceWrapper.gCallbackQueue[ii].name==callInfo.name)
{matchesExist=true;break;}
if(!matchesExist)
{var args=callInfo.postOpArgs;args[args.length]=results;args[args.length]=context;args[args.length]=methodName;callInfo.postOp.apply(window,args);}
if(TitanDisplayServiceWrapper.gCallbackQueue.length)
TitanDisplayServiceWrapper.ActualAsyncCall();},WebServiceErrorFunction:function(myArgs)
{window.alert("An error was encountered processing your request");},MakeWebServiceCall:function(name,webServiceFunction,arrayOfArgs,postOpFunction,postOpArguments,canSkip)
{arrayOfArgs[arrayOfArgs.length]=TitanDisplayServiceWrapper.WebServiceCallComplete;arrayOfArgs[arrayOfArgs.length]=TitanDisplayServiceWrapper.WebServiceErrorFunction;var newQueueItem={name:name,callName:webServiceFunction,args:arrayOfArgs,postOp:postOpFunction,postOpArgs:postOpArguments};if(canSkip)
{for(var ii=1;ii<TitanDisplayServiceWrapper.gCallbackQueue.length;++ii)
if(TitanDisplayServiceWrapper.gCallbackQueue[ii].name==name)
{TitanDisplayServiceWrapper.gCallbackQueue[ii]=newQueueItem;return;}}
TitanDisplayServiceWrapper.gCallbackQueue.push(newQueueItem);if(TitanDisplayServiceWrapper.gCallbackQueue.length==1)
TitanDisplayServiceWrapper.ActualAsyncCall();},ActualAsyncCall:function()
{if(TitanDisplayServiceWrapper.gCallbackQueue.length==0)
return;var callInfo=TitanDisplayServiceWrapper.gCallbackQueue[0];callInfo.callName.apply(window,callInfo.args);}};/* CalendarDisplay.js */
function Cal_PackageQueryStringData(calID)
{var calTable=document.getElementById(calID);var blockID=calTable.getAttribute("blockID");var params="&DateRange="+calTable.getAttribute("dateRange");var selectedDate=new Date(calTable.getAttribute("selectedDate"));params+="&Date="+String(selectedDate.getMonth()+1)+"/"+String(selectedDate.getDate())+"/"+String(selectedDate.getFullYear());params+="&Keyword="+(document.getElementById("keywordFilter"+blockID)?document.getElementById("keywordFilter"+blockID).value:"");params+="&Classifications="+Cal_FormatClassifications(calTable,blockID);if(document.getElementById("Calendar"+blockID+"_EventID"))
params+=(params.length?"&EventID=":"EventID=")+document.getElementById("Calendar"+blockID+"_EventID").value;return params;}
function CalendarBlock_RemoveExistingCalendarParams(params)
{if(!params)
return"";var retVal="";var paramArray=params.split("&");for(var ii=0;ii<paramArray.length;ii++)
if(paramArray[ii].indexOf("DateRange")==0||paramArray[ii].indexOf("Date")==0||paramArray[ii].indexOf("Keyword")==0||paramArray[ii].indexOf("Classifications")==0||paramArray[ii].indexOf("EventID")==0);else
retVal+=(retVal.length?"&":"")+paramArray[ii];return retVal;}
function Cal_TableClick(ctl,evt)
{var targetCell=tic_Utilities.GetTargetCtl(evt);if(tic_Utilities.HasStyle(targetCell,"otherMonth")||targetCell.tagName!="TD"||targetCell.parentNode.tagName!="TR"||targetCell.parentNode.parentNode.tagName!="TBODY")
return;var selectedDate=new Date(ctl.getAttribute("currentMonth"));selectedDate.setDate(selectedDate.getDate()+Number(targetCell.innerHTML)-1);ctl.setAttribute("selectedDate",selectedDate);Cal_ResetSelection(ctl);}
function Cal_ResetSelection(calTable)
{var firstDay=-1,lastDay=-1,selectedDay=-1;var currentMonth=new Date(calTable.getAttribute("currentMonth"));var selectedDate=new Date(calTable.getAttribute("selectedDate"));if(currentMonth.getMonth()==selectedDate.getMonth()&&currentMonth.getFullYear()==selectedDate.getFullYear())
{selectedDay=selectedDate.getDate();switch(calTable.getAttribute("dateRange"))
{default:case"day":firstDay=lastDay=selectedDay;break;case"month":case"year":firstDay=1;lastDay=31;break;case"week":firstDay=selectedDay-selectedDate.getDay();lastDay=selectedDay+6-selectedDate.getDay();break;}}
var dateRows=Cal_GetDateRows(calTable);var searchRow=0,searchCol=0;for(searchCol=0;searchCol<7;++searchCol)
if(dateRows[searchRow][searchCol].className!="otherMonth")
break;for(var rows=searchRow;rows<6;++rows)
for(var cols=(rows?0:searchCol);cols<7;++cols)
{var cell=dateRows[rows][cols];if(cell.className=="otherMonth"&&calTable.getAttribute("dateRange")!="year")
break;if(cell.className=="otherMonth"&&calTable.getAttribute("dateRange")=="year")
{cell.className="otherMonth selected";continue;}
var cellDate=Number(cell.innerHTML);cell.className="";if(cellDate>=firstDay&&cellDate<=lastDay)
cell.className="selected";if(cellDate==selectedDay)
cell.className+=" selectedDate";}
Cal_ReloadAjaxData(calTable.id);}
function Cal_SwitchRange(anchor,calID,range)
{var calTable=document.getElementById(calID);var currRange=calTable.getAttribute("dateRange");if(currRange==range)
return;var container=anchor.parentNode;while(container&&container.tagName!="DIV")
container=container.parentNode;if(container.className!='calendarNav')
return;var anchors=container.getElementsByTagName("SPAN");for(var ii=0;ii<anchors.length;ii++)
anchors[ii].className="";anchor.className="selected";calTable.setAttribute("dateRange",range);if(currRange=="year")
{var calDate=new Date(calTable.getAttribute("currentMonth"));Cal_ResetCalendar(calTable,calDate);}
else
Cal_ResetSelection(calTable);}
function Cal_InitCalendar(calID)
{var calTable=document.getElementById(calID);var today=new Date(),firstOfMonth=new Date();firstOfMonth.setDate(1);var lastOfMonth=Cal_FindLastOfMonth(new Date());Cal_ResetCalendar(calTable,firstOfMonth);}
function Cal_FindLastOfMonth(dayInMonth)
{var maxDaysToEnd=31-dayInMonth.getDate();var lastOfMonth=new Date();lastOfMonth.setDate(dayInMonth.getDate()+maxDaysToEnd);while(lastOfMonth.getDate()<10)
lastOfMonth.setDate(lastOfMonth.getDate()-1);return lastOfMonth;}
function Cal_ResetCalendar(calTable,firstOfMonth)
{var becauseMacsDontPlayFair=["January","February","March","April","May","June","July","August","September","October","November","December"];Cal_GetHeaderCell(calTable).innerHTML=becauseMacsDontPlayFair[firstOfMonth.getMonth()]+" "+firstOfMonth.getFullYear();var dateRows=Cal_GetDateRows(calTable);var dateToFill=new Date(firstOfMonth.toString());dateToFill.setDate(firstOfMonth.getDate()-(firstOfMonth.getDay()==0?7:firstOfMonth.getDay()));for(var rows=0;rows<6;++rows)
for(var cols=0;cols<7;++cols,dateToFill.setDate(dateToFill.getDate()+1))
{var cell=dateRows[rows][cols];cell.innerHTML=dateToFill.getDate();cell.className=(dateToFill.getMonth()!=firstOfMonth.getMonth())?"otherMonth":"";}
calTable.setAttribute("currentMonth",firstOfMonth.toString());Cal_ResetSelection(calTable);}
function Cal_JumpSelection(selectedDate,newFirstOfMonth)
{var newDate=new Date(newFirstOfMonth);newDate.setDate(selectedDate.getDate());while(newDate.getMonth()!=newFirstOfMonth.getMonth())
newDate.setDate(newDate.getDate()-1);return newDate;}
function Cal_NextMonth(calID,evt)
{var calTable=document.getElementById(calID);if(!calTable)
return;var calDate=new Date(calTable.getAttribute("currentMonth"));calDate.setMonth(calDate.getMonth()+1);var selectedDate=new Date(calTable.getAttribute("selectedDate"));calTable.setAttribute("selectedDate",Cal_JumpSelection(selectedDate,calDate).toString());Cal_ResetCalendar(calTable,calDate);tic_Utilities.CancelBubble(evt);}
function Cal_PrevMonth(calID,evt)
{var calTable=document.getElementById(calID);if(!calTable)
return;var calDate=new Date(calTable.getAttribute("currentMonth"));calDate.setMonth(calDate.getMonth()-1);var selectedDate=new Date(calTable.getAttribute("selectedDate"));calTable.setAttribute("selectedDate",Cal_JumpSelection(selectedDate,calDate).toString());Cal_ResetCalendar(calTable,calDate);tic_Utilities.CancelBubble(evt);}
function Cal_GetDateRows(calTable)
{var allRows=calTable.getElementsByTagName("TR");var retArray=new Array(6);for(var ii=0;ii<6;++ii)
retArray[ii]=allRows[ii+2].getElementsByTagName("TD");return retArray;}
function Cal_GetHeaderCell(calTable)
{return document.getElementById('calTitle'+calTable.getAttribute("blockId"));}
function Cal_PrevRange(calID)
{var calTable=document.getElementById(calID);if(!calTable)
return;var selectedDate=new Date(calTable.getAttribute("selectedDate"));switch(calTable.getAttribute("dateRange"))
{default:case'day':selectedDate.setDate(selectedDate.getDate()-1);break;case'week':selectedDate.setDate(selectedDate.getDate()-7);break;case'month':case'year':return Cal_PrevMonth(calID);break;}
var firstOfMonth=new Date(selectedDate.toString());firstOfMonth.setDate(1);calTable.setAttribute("selectedDate",selectedDate);Cal_ResetCalendar(calTable,firstOfMonth);}
function Cal_NextRange(calID)
{var calTable=document.getElementById(calID);if(!calTable)
return;var selectedDate=new Date(calTable.getAttribute("selectedDate"));switch(calTable.getAttribute("dateRange"))
{default:case'day':selectedDate.setDate(selectedDate.getDate()+1);break;case'week':selectedDate.setDate(selectedDate.getDate()+7);break;case'month':case'year':return Cal_NextMonth(calID);break;}
var firstOfMonth=new Date(selectedDate.toString());firstOfMonth.setDate(1);calTable.setAttribute("selectedDate",selectedDate);Cal_ResetCalendar(calTable,firstOfMonth);}
function Cal_Return(calID)
{Cal_ReloadAjaxData(calID);}
function Cal_ClassificationCheck(calID,allID)
{FilterBlock_UncheckAll(allID);Cal_ReloadAjaxData(calID);}
function Cal_ClassificationCheckAll(allCtl,calID,blockID,classID)
{FilterBlock_CheckAll(allCtl,blockID,classID)
Cal_ReloadAjaxData(calID);}
function Cal_KeywordFilter(calID)
{Cal_ReloadAjaxData(calID);}
function Cal_FormatClassifications(calTable,blockID)
{var blockPrefix=FilterBlock_MakePrefix(blockID);var allInputs=document.getElementsByTagName("INPUT");var classArgs="";for(var ii=0;ii<allInputs.length;++ii)
{var myId=allInputs[ii].id;if(allInputs[ii].type=="checkbox"&&allInputs[ii].checked&&myId.indexOf(blockPrefix)==0)
classArgs+=myId+"!";}
return classArgs;}
function Cal_ReloadAjaxData(calID)
{PrintPage_StoreInfoForPrintPage("CalendarBlock",calID)
var calTable=document.getElementById(calID);if(calTable.id=="DP_PopupCalendar")
return;var blockID=calTable.getAttribute("blockID");var selectedDate=new Date(calTable.getAttribute("selectedDate"));var ajaxArgs=new Array();ajaxArgs[ajaxArgs.length]=calTable.getAttribute("docID");ajaxArgs[ajaxArgs.length]=blockID;ajaxArgs[ajaxArgs.length]=String(selectedDate.getMonth()+1)+"/"+String(selectedDate.getDate())+"/"+String(selectedDate.getFullYear());ajaxArgs[ajaxArgs.length]=calTable.getAttribute("dateRange");if(document.getElementById("keywordFilter"+blockID))
ajaxArgs[ajaxArgs.length]=document.getElementById("keywordFilter"+blockID).value;else
ajaxArgs[ajaxArgs.length]="";ajaxArgs[ajaxArgs.length]=Cal_FormatClassifications(calTable,blockID);document.getElementById("CalendarResults_"+blockID).className+=" waiting";TitanDisplayServiceWrapper.MakeWebServiceCall("Calendar_Main"+blockID,NorthwoodsSoftwareDevelopment.Cms.WebServices.CalendarAjax.GetResultsData,ajaxArgs,Cal_AjaxComplete,[blockID],true);}
function Cal_ViewCalItem(calID,itemNumber)
{PrintPage_StoreInfoForPrintPage("CalendarBlock",calID)
var calTable=document.getElementById(calID);var blockID=calTable.getAttribute("blockID");var ajaxArgs=new Array();ajaxArgs[ajaxArgs.length]=calTable.getAttribute("docID");ajaxArgs[ajaxArgs.length]=blockID;ajaxArgs[ajaxArgs.length]=itemNumber;document.getElementById("CalendarResults_"+blockID).className+=" waiting";TitanDisplayServiceWrapper.MakeWebServiceCall("Calendar_Main"+blockID,NorthwoodsSoftwareDevelopment.Cms.WebServices.CalendarAjax.GetEventItem,ajaxArgs,Cal_AjaxComplete,[blockID],true);}
function Cal_AjaxComplete(blockID,responseAsJSON,responseAsXml,responseAsText)
{var resultsArea=document.getElementById("CalendarResults_"+blockID);if(!resultsArea)
return window.alert("Lost results");resultsArea.className="CalendarResults";resultsArea.innerHTML=responseAsJSON;}
function GetCursorPosition(evt)
{evt=evt||window.event;var cursor={x:0,y:0};if(evt.pageX||evt.pageY)
{cursor.x=evt.pageX;cursor.y=evt.pageY;}
else
{cursor.x=evt.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)-
document.documentElement.clientLeft;cursor.y=evt.clientY+
(document.documentElement.scrollTop||document.body.scrollTop)-
document.documentElement.clientTop;}
return cursor;}
function DP_ShowPopup(evt,parent)
{var popup=document.getElementById("DP_PopupCalendarContainer");var pos=GetCursorPosition(evt);popup.style.position="absolute";popup.style.left=pos.x+"px";popup.style.top=pos.y+"px";popup.style.display="block";}
function DP_HidePopup(evt)
{document.getElementById("DP_PopupCalendarContainer").style.display="none";tic_Utilities.CancelBubble(evt);}
function DP_MouseOut(evt)
{var target=tic_Utilities.GetTargetCtl(evt);if(target!=document.getElementById("DP_PopupCalendarContainer"))
return;DP_HidePopup(evt);}
function DP_EnableCalendar(inputName,spanCtl,evt)
{var calTable=document.getElementById('DP_PopupCalendar');if(calTable.getAttribute("doInit")=="1")
Cal_InitCalendar('DP_PopupCalendar');calTable.setAttribute("openFor",inputName);var date=new Date();var ctl=document.getElementById(inputName);if(SFEditFieldIsDate(inputName))
date=SFEditParseDate(inputName);calTable.setAttribute("selectedDate",date);var setDate=new Date(date);setDate.setDate(1);Cal_ResetCalendar(calTable,setDate);DP_ShowPopup(evt,spanCtl);}
function DP_TableClick(ctl,evt)
{var calTable=document.getElementById("DP_PopupCalendar");if(!calTable)
return;var inputCtl=document.getElementById(calTable.getAttribute("openFor"));if(!inputCtl)
return;var target=tic_Utilities.GetTargetCtl(evt);if(target.tagName=="TD"&&target.className=="")
{var selectedDate=new Date(ctl.getAttribute("currentMonth"));selectedDate.setDate(selectedDate.getDate()+Number(target.innerHTML)-1);inputCtl.value=String(selectedDate.getMonth()+1)+"/"+selectedDate.getDate()+"/"+selectedDate.getFullYear();DP_HidePopup(evt);}
tic_Utilities.CancelBubble(evt);}/* Utilities.js */
var tic_Utilities={AddEventListener:function(sourceObject,eventName,listener)
{if(!sourceObject)
return;if(tic_Utilities.IsIE())
sourceObject.attachEvent('on'+eventName,listener);else
sourceObject.addEventListener(eventName,listener,false);},RemoveEventListener:function(sourceObject,eventName,listener)
{if(!sourceObject)
return;if(tic_Utilities.IsIE())
sourceObject.detachEvent('on'+eventName,listener);else
sourceObject.removeEventListener(eventName,listener,false);},IsFirefox:function()
{var htmlTags=document.getElementsByTagName("HTML");if(htmlTags&&htmlTags.length>0)
return tic_Utilities.HasStyle(htmlTags[0],"Firefox");return false;},IsIE:function()
{var htmlTags=document.getElementsByTagName("HTML");if(htmlTags&&htmlTags.length>0)
return tic_Utilities.HasStyle(htmlTags[0],"IE");return false;},GetTargetCtl:function(evt)
{if(!evt)
evt=window.event;if(evt.originalTarget)
return evt.originalTarget;else if(evt.srcElement)
return evt.srcElement;return null;},GetQueryStringArg:function()
{var hashValue=null;if(location.hash)
hashValue=location.hash;else if(location.search)
hashValue=location.search;return hashValue;},IsFirefox:function()
{var htmlTags=document.getElementsByTagName("HTML");if(htmlTags&&htmlTags.length>0)
return tic_Utilities.HasStyle(htmlTags[0],"Firefox");},DisableButtons:function()
{var buttons=document.getElementsByTagName("INPUT");for(var ii=0;ii<buttons.length;++ii)
if(buttons[ii].type=="button"||buttons[ii].type=="submit")
buttons[ii].disabled=true;},StyleArray:function(ctl)
{if(!ctl||!ctl.className)
return new Array();return ctl.className.split(" ");},HasStyle:function(ctl,style)
{var styles=tic_Utilities.StyleArray(ctl);if(!styles||!styles.length)
return false;for(var ii=0;ii<styles.length;++ii)
if(styles[ii]==style)
return true;return false;},RemoveStyle:function(ctl,style)
{var styles=tic_Utilities.StyleArray(ctl);if(!styles||!styles.length)
return false;ctl.className="";var retVal=false;for(var ii=0;ii<styles.length;++ii)
{if(styles[ii]==style)
retVal=true;else
ctl.className+=((ctl.className?" ":"")+styles[ii]);}
return retVal;},AddStyle:function(ctl,style)
{if(!ctl)
return;if(tic_Utilities.HasStyle(ctl,style))
return;if(!ctl.className)
ctl.className=style;else
ctl.className+=" "+style;},CancelBubble:function(evt)
{if(!evt)
evt=window.event;if(!evt)
return;evt.cancelBubble=true;evt.returnValue=false;if(evt.stopPropagation)
evt.stopPropagation();if(evt.preventDefault)
evt.preventDefault();return false;},LeftTrim:function(strVal)
{return strVal?strVal.replace(/^\s+/,''):"";},RightTrim:function(strVal)
{return strVal?strVal.replace(/\s+$/,''):"";},Trim:function(strVal)
{return strVal?strVal.replace(/^\s+|\s+$/g,''):"";},PackageXml:function(tagName,data,includeCData)
{var retVal=tic_Utilities.MakeXmlStartTag(tagName,includeCData);retVal+=data;retVal+=tic_Utilities.MakeXmlEndTag(tagName,includeCData);return retVal;},XmlWithAttributes:function(tagName)
{var retVal="<"+tagName;for(var ii=1;ii<arguments.length;ii+=2)
retVal+=" "+arguments[ii]+"='"+EscapeSingleQuotes(arguments[ii+1])+"'";return retVal+"/>";},MakeXmlStartTag:function(tagName,includeCData)
{if(!tagName||tagName.length==0)
return"";return"<"+tagName+">"+(includeCData?"<![CDATA[":"");},MakeXmlEndTag:function(tagName,includeCData)
{if(!tagName||tagName.length==0)
return''
return(includeCData?"]]>":"")+"</"+tagName+">";},ShowHideById:function(ctlID,doShow)
{var ctl=document.getElementById(ctlID);if(ctl)
ctl.style.display=(doShow?"block":"none");},ToggleShowHide:function(ctlID)
{var ctl=document.getElementById(ctlID);if(ctl)
ctl.style.display=(ctl.style.display=="none"?"block":"none");},ForceVisible:function(id)
{var item=document.getElementById(id);if(!item)
return;item.style.display="block";item.style.visibility="visible";}};function StringBuilder()
{this.strings=new Array("");for(var ii=0;ii<arguments.length;++ii)
if(arguments[ii])
this.strings.push(arguments[ii]);}
StringBuilder.prototype.Append=function()
{for(var ii=0;ii<arguments.length;++ii)
if(arguments[ii])
this.strings.push(arguments[ii]);}
StringBuilder.prototype.ReturnAndEmpty=function()
{var retString=this.strings.join("");this.strings=null;return retString;}
StringBuilder.prototype.IsEmpty=function()
{return this.strings.length==1;}