var startpumonth
var DefaultDateFormat='MM/DD/YYYY';var HideWait=3;var HideYear=false;var Y2kPivotPoint=76;var UnselectedMonthText='';var FontSize=11;var FontFamily='Tahoma';var CellWidth=20;var CellHeight=16;var ImageURL='/images/calendarDateInput/btn_calendar.gif';var NextURL='/images/calendarDateInput/calnext.gif';var PrevURL='/images/calendarDateInput/calprev.gif';var ZCounter=100;var Today=new Date();var MonthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var showit=false;function YearDigitsOnly(e){var KeyCode=(e.keyCode)?e.keyCode:e.which;return((KeyCode==8)||(KeyCode==9)||(KeyCode==37)||(KeyCode==39)||(KeyCode==46)||((KeyCode>47)&&(KeyCode<58)));}
function GetTagPixels(StartTag,Direction){var PixelAmt=(Direction=='LEFT')?StartTag.offsetLeft:StartTag.offsetTop;while((StartTag.tagName!='BODY')&&(StartTag.tagName!='HTML')){StartTag=StartTag.offsetParent;PixelAmt+=(Direction=='LEFT')?StartTag.offsetLeft:StartTag.offsetTop;}
return PixelAmt;}
function BehindCal(SelectList,CalLeftX,CalRightX,CalTopY,CalBottomY,ListTopY){var ListLeftX=GetTagPixels(SelectList,'LEFT');var ListRightX=ListLeftX+SelectList.offsetWidth;var ListBottomY=ListTopY+SelectList.offsetHeight;return(((ListTopY<CalBottomY)&&(ListBottomY>CalTopY))&&((ListLeftX<CalRightX)&&(ListRightX>CalLeftX)));}
function FixSelectLists(Over){if(navigator.appName=='Microsoft Internet Explorer'){var CalDiv=this.getCalendar();var CalLeftX=CalDiv.offsetLeft;var CalRightX=CalLeftX+CalDiv.offsetWidth;var CalTopY=CalDiv.offsetTop;var CalBottomY=CalTopY+(CellHeight*9);var FoundCalInput=false;formLoop:for(var j=this.formNumber;j<document.forms.length;j++){for(var i=0;i<document.forms[j].elements.length;i++){if(typeof document.forms[j].elements[i].type=='string'){if((document.forms[j].elements[i].type=='hidden')&&(document.forms[j].elements[i].name==this.hiddenFieldName)){FoundCalInput=true;i+=3;}
if(FoundCalInput){if(document.forms[j].elements[i].type.substr(0,6)=='select'){ListTopY=GetTagPixels(document.forms[j].elements[i],'TOP');if(ListTopY<CalBottomY){if(BehindCal(document.forms[j].elements[i],CalLeftX,CalRightX,CalTopY,CalBottomY,ListTopY)){document.forms[j].elements[i].style.visibility=(Over)?'hidden':'visible';}}
else break formLoop;}}}}}}}
function DayCellHover(Cell,Over,Color,HoveredDay){Cell.style.backgroundColor=(Over)?DayBGColor:Color;if(Over){if((this.yearValue==Today.getFullYear())&&(this.monthIndex==Today.getMonth())&&(HoveredDay==Today.getDate()))self.status='Click to select today';else{var Suffix=HoveredDay.toString();switch(Suffix.substr(Suffix.length-1,1)){case'1':Suffix+=(HoveredDay==11)?'th':'st';break;case'2':Suffix+=(HoveredDay==12)?'th':'nd';break;case'3':Suffix+=(HoveredDay==13)?'th':'rd';break;default:Suffix+='th';break;}
self.status='Click to select '+this.monthName+' '+Suffix;}}
else self.status='';return true;}
function PickDisplayDay(ClickedDay){this.show();var MonthList=this.getMonthList();var DayList=this.getDayList();var YearField=this.getYearField();FixDayList(DayList,GetDayCount(this.displayed.yearValue,this.displayed.monthIndex));for(var i=0;i<MonthList.length;i++){if(MonthList.options[i].value==this.displayed.monthIndex)MonthList.options[i].selected=true;}
for(var j=1;j<=DayList.length;j++){if(j==ClickedDay)DayList.options[j-1].selected=true;}
this.setPicked(this.displayed.yearValue,this.displayed.monthIndex,ClickedDay);YearField.value=this.picked.yearPad;YearField.defaultValue=YearField.value;if(MonthList.id=='pudate_Month_ID'){if(document.getElementById("dodate_Month_ID")){doincrease=document.getElementById("pudate_Month_ID").selectedIndex-startpumonth;newdomonth=document.getElementById("dodate_Month_ID").selectedIndex+doincrease;if(newdomonth<0){newdomonth=12+newdomonth;}
if(newdomonth>11){newdomonth=newdomonth-12;}
document.getElementById("dodate_Month_ID").selectedIndex=newdomonth;document.getElementById("dodate_Month_ID").onchange();startpumonth=document.getElementById("pudate_Month_ID").selectedIndex;}}}
function BuildCalendarDays(){var Rows=5;if(((this.displayed.dayCount==31)&&(this.displayed.firstDay>4))||((this.displayed.dayCount==30)&&(this.displayed.firstDay==6)))Rows=6;else if((this.displayed.dayCount==28)&&(this.displayed.firstDay==0))Rows=4;var HTML='<table width="'+(CellWidth*7)+'" cellspacing="0" cellpadding="1" style="cursor:default;font-size: '+CalFontSize+'; font-family:'+CalFontFamily+';">';for(var j=0;j<Rows;j++){HTML+='<tr>';for(var i=1;i<=7;i++){Day=(j*7)+(i-this.displayed.firstDay);if((Day>=1)&&(Day<=this.displayed.dayCount)){if((this.displayed.yearValue==this.picked.yearValue)&&(this.displayed.monthIndex==this.picked.monthIndex)&&(Day==this.picked.day)){TextStyle='font-weight:bold;'
BackColor=DayBGColor;}
else{TextStyle='color:black;'
BackColor=CalBGColor;}
if((this.displayed.yearValue==Today.getFullYear())&&(this.displayed.monthIndex==Today.getMonth())&&(Day==Today.getDate()))TextStyle+='border:1px solid #EE1D25;padding:0px;';HTML+='<td align="center" class="calendarDateInput" style="cursor:default;height:'+CellHeight+';width:'+CellWidth+';'+TextStyle+';background-color:'+BackColor+'" onClick="'+this.objName+'.pickDay('+Day+')" onMouseOver="return '+this.objName+'.displayed.dayHover(this,true,\''+BackColor+'\','+Day+')" onMouseOut="return '+this.objName+'.displayed.dayHover(this,false,\''+BackColor+'\')">'+Day+'</td>';}
else HTML+='<td class="calendarDateInput" style="height:'+CellHeight+'">&nbsp;</td>';}
HTML+='</tr>';}
return HTML+='</table>';}
function GetGoodYear(YearDigits){if(YearDigits.length==4)return YearDigits;else{var Millennium=(YearDigits<Y2kPivotPoint)?2000:1900;return Millennium+parseInt(YearDigits,10);}}
function GetDayCount(SomeYear,SomeMonth){return((SomeMonth==1)&&((SomeYear%400==0)||((SomeYear%4==0)&&(SomeYear%100!=0))))?29:MonthDays[SomeMonth];}
function VirtualButton(Cell,ButtonDown){if(ButtonDown){Cell.style.borderLeft='buttonshadow 1px solid';Cell.style.borderTop='buttonshadow 1px solid';Cell.style.borderBottom='buttonhighlight 1px solid';Cell.style.borderRight='buttonhighlight 1px solid';}
else{Cell.style.borderLeft='buttonhighlight 1px solid';Cell.style.borderTop='buttonhighlight 1px solid';Cell.style.borderBottom='buttonshadow 1px solid';Cell.style.borderRight='buttonshadow 1px solid';}}
function NeighborHover(Cell,Over,DateObj){if(Over){VirtualButton(Cell,false);self.status='Click to view '+DateObj.fullName;}
else{Cell.style.border='buttonface 1px solid';self.status='';}
return true;}
function FixDayList(DayList,NewDays){var DayPick=DayList.selectedIndex+1;if(NewDays!=DayList.length){var OldSize=DayList.length;for(var k=Math.min(NewDays,OldSize);k<Math.max(NewDays,OldSize);k++){(k>=NewDays)?DayList.options[NewDays]=null:DayList.options[k]=new Option(k+1,k+1);}
DayPick=Math.min(DayPick,NewDays);DayList.options[DayPick-1].selected=true;}
return DayPick;}
function FixYearInput(YearField){var YearRE=new RegExp('\\d{'+YearField.defaultValue.length+'}');if(!YearRE.test(YearField.value))YearField.value=YearField.defaultValue;}
function CalIconHover(Over){var Message=(this.isShowing())?'hide':'show';self.status=(Over)?'Click to '+Message+' the calendar':'';return true;}
function CalTimerReset(){eval('clearTimeout('+this.timerID+')');eval(this.timerID+'=setTimeout(\''+this.objName+'.show()\','+(HideWait*1000)+')');}
function DoTimer(CancelTimer){if(CancelTimer)eval('clearTimeout('+this.timerID+')');else{eval(this.timerID+'=null');this.resetTimer();}}
function ShowCalendar(){if(this.isShowing()){var StopTimer=true;this.getCalendar().style.zIndex=--ZCounter;this.getCalendar().style.visibility='hidden';this.fixSelects(false);showit=false;}
else{if(showit){var StopTimer=false;this.fixSelects(true);this.getCalendar().style.zIndex=++ZCounter;this.getCalendar().style.visibility='visible';showit=false;}}
this.handleTimer(StopTimer);self.status='';}
function SetElementStatus(Hide){this.getDayList().style.visibility=(Hide)?'hidden':'visible';this.getYearField().style.visibility=(Hide)?'hidden':'visible';this.getCalendarLink().style.visibility=(Hide)?'hidden':'visible';}
function CheckMonthChange(MonthList){var DayList=this.getDayList();if(MonthList.options[MonthList.selectedIndex].value==''){DayList.selectedIndex=0;this.hideElements(true);this.setHidden('');}
else{this.hideElements(false);if(this.isShowing()){this.resetTimer();this.getCalendar().style.zIndex=++ZCounter;}
var DayPick=FixDayList(DayList,GetDayCount(this.picked.yearValue,MonthList.options[MonthList.selectedIndex].value));this.setPicked(this.picked.yearValue,MonthList.options[MonthList.selectedIndex].value,DayPick);}
if(MonthList.id=='pudate_Month_ID'){if(document.getElementById("dodate_Month_ID")){doincrease=document.getElementById("pudate_Month_ID").selectedIndex-startpumonth;newdomonth=document.getElementById("dodate_Month_ID").selectedIndex+doincrease;if(newdomonth<0){newdomonth=12+newdomonth;}
if(newdomonth>11){newdomonth=newdomonth-12;}
document.getElementById("dodate_Month_ID").selectedIndex=newdomonth;document.getElementById("dodate_Month_ID").onchange();startpumonth=document.getElementById("pudate_Month_ID").selectedIndex;}}
document.getElementById("dodate_Year_ID").value=document.getElementById("pudate_Year_ID").value;document.getElementById("dodate_Year_ID").onkeyup();}
function CheckDayChange(DayList){if(this.isShowing())this.show();this.setPicked(this.picked.yearValue,this.picked.monthIndex,DayList.selectedIndex+1);}
function CheckYearInput(YearField){if(this.isShowing()){this.resetTimer();this.getCalendar().style.zIndex=++ZCounter;}
var NewYear=GetGoodYear(YearField.value);var MonthList=this.getMonthList();var NewDay=FixDayList(this.getDayList(),GetDayCount(NewYear,this.picked.monthIndex));this.setPicked(NewYear,this.picked.monthIndex,NewDay);YearField.defaultValue=YearField.value;}
function dateObject(){if(Function.call){var ParentObject=this;var ArgumentStart=0;}
else{var ParentObject=arguments[0];var ArgumentStart=1;}
ParentObject.date=(arguments.length==(ArgumentStart+1))?new Date(arguments[ArgumentStart+0]):new Date(arguments[ArgumentStart+0],arguments[ArgumentStart+1],arguments[ArgumentStart+2]);ParentObject.yearValue=ParentObject.date.getFullYear();ParentObject.monthIndex=ParentObject.date.getMonth();ParentObject.monthName=MonthNames[ParentObject.monthIndex];ParentObject.fullName=ParentObject.monthName+' '+ParentObject.yearValue;ParentObject.day=ParentObject.date.getDate();ParentObject.dayCount=GetDayCount(ParentObject.yearValue,ParentObject.monthIndex);var FirstDate=new Date(ParentObject.yearValue,ParentObject.monthIndex,1);ParentObject.firstDay=FirstDate.getDay();}
function storedMonthObject(DateFormat,DateYear,DateMonth,DateDay){(Function.call)?dateObject.call(this,DateYear,DateMonth,DateDay):dateObject(this,DateYear,DateMonth,DateDay);this.yearPad=this.yearValue.toString();this.monthPad=(this.monthIndex<9)?'0'+String(this.monthIndex+1):this.monthIndex+1;this.dayPad=(this.day<10)?'0'+this.day.toString():this.day;this.monthShort=this.monthName.substr(0,3).toUpperCase();if(DateFormat.indexOf('YYYY')==-1)this.yearPad=this.yearPad.substr(2);if(DateFormat.indexOf('/')>=0)var Delimiter='/';else if(DateFormat.indexOf('-')>=0)var Delimiter='-';else var Delimiter='';if(/DD?.?((MON)|(MM?M?))/.test(DateFormat)){this.formatted=this.dayPad+Delimiter;this.formatted+=(RegExp.$1.length==3)?this.monthShort:this.monthPad;}
else if(/((MON)|(MM?M?))?.?DD?/.test(DateFormat)){this.formatted=(RegExp.$1.length==3)?this.monthShort:this.monthPad;this.formatted+=Delimiter+this.dayPad;}
this.formatted=(DateFormat.substr(0,2)=='YY')?this.yearPad+Delimiter+this.formatted:this.formatted+Delimiter+this.yearPad;}
function displayMonthObject(ParentObject,DateYear,DateMonth,DateDay){(Function.call)?dateObject.call(this,DateYear,DateMonth,DateDay):dateObject(this,DateYear,DateMonth,DateDay);this.displayID=ParentObject.hiddenFieldName+'_Current_ID';this.getDisplay=new Function('return document.getElementById(this.displayID)');this.dayHover=DayCellHover;this.goCurrent=new Function(ParentObject.objName+'.getCalendar().style.zIndex=++ZCounter;'+ParentObject.objName+'.setDisplayed(Today.getFullYear(),Today.getMonth());');if(ParentObject.formNumber>=0)this.getDisplay().innerHTML=this.fullName;}
function neighborMonthObject(ParentObject,IDText,DateMS){(Function.call)?dateObject.call(this,DateMS):dateObject(this,DateMS);this.buttonID=ParentObject.hiddenFieldName+'_'+IDText+'_ID';this.hover=new Function('C','O','NeighborHover(C,O,this)');this.getButton=new Function('return document.getElementById(this.buttonID)');this.go=new Function(ParentObject.objName+'.getCalendar().style.zIndex=++ZCounter;'+ParentObject.objName+'.setDisplayed(this.yearValue,this.monthIndex);');if(ParentObject.formNumber>=0)this.getButton().title=this.monthName;}
function SetDisplayedMonth(DispYear,DispMonth){this.displayed=new displayMonthObject(this,DispYear,DispMonth,1);this.previous=new neighborMonthObject(this,'Previous',this.displayed.date.getTime()-86400000);this.next=new neighborMonthObject(this,'Next',this.displayed.date.getTime()+(86400000*(this.displayed.dayCount+1)));if(this.formNumber>=0)this.getDayTable().innerHTML=this.buildCalendar();}
function SetPickedMonth(PickedYear,PickedMonth,PickedDay){this.picked=new storedMonthObject(this.format,PickedYear,PickedMonth,PickedDay);this.setHidden(this.picked.formatted);this.setDisplayed(PickedYear,PickedMonth);}
function calendarObject(DateName,DateFormat,DefaultDate){this.hiddenFieldName=DateName;this.monthListID=DateName+'_Month_ID';this.dayListID=DateName+'_Day_ID';this.yearFieldID=DateName+'_Year_ID';this.monthDisplayID=DateName+'_Current_ID';this.calendarID=DateName+'_ID';this.dayTableID=DateName+'_DayTable_ID';this.calendarLinkID=this.calendarID+'_Link';this.timerID=this.calendarID+'_Timer';this.objName=DateName+'_Object';this.format=DateFormat;this.formNumber=-1;this.picked=null;this.displayed=null;this.previous=null;this.next=null;this.setPicked=SetPickedMonth;this.setDisplayed=SetDisplayedMonth;this.checkYear=CheckYearInput;this.fixYear=FixYearInput;this.changeMonth=CheckMonthChange;this.changeDay=CheckDayChange;this.resetTimer=CalTimerReset;this.hideElements=SetElementStatus;this.show=ShowCalendar;this.handleTimer=DoTimer;this.iconHover=CalIconHover;this.buildCalendar=BuildCalendarDays;this.pickDay=PickDisplayDay;this.fixSelects=FixSelectLists;this.setHidden=new Function('D','if (this.formNumber >= 0) this.getHiddenField().value=D');this.getHiddenField=new Function('return document.forms[this.formNumber].elements[this.hiddenFieldName]');this.getMonthList=new Function('return document.getElementById(this.monthListID)');this.getDayList=new Function('return document.getElementById(this.dayListID)');this.getYearField=new Function('return document.getElementById(this.yearFieldID)');this.getCalendar=new Function('return document.getElementById(this.calendarID)');this.getDayTable=new Function('return document.getElementById(this.dayTableID)');this.getCalendarLink=new Function('return document.getElementById(this.calendarLinkID)');this.getMonthDisplay=new Function('return document.getElementById(this.monthDisplayID)');this.isShowing=new Function('return !(this.getCalendar().style.visibility != \'visible\')');function getMonthIndex(MonthAbbr){for(var MonPos=0;MonPos<MonthNames.length;MonPos++){if(MonthNames[MonPos].substr(0,3).toUpperCase()==MonthAbbr.toUpperCase())break;}
return MonPos;}
function SetGoodDate(CalObj,Notify){CalObj.setPicked(Today.getFullYear(),Today.getMonth(),Today.getDate());if(Notify)alert('WARNING: The supplied date is not in valid \''+DateFormat+'\' format: '+DefaultDate+'.\nTherefore, the current system date will be used instead: '+CalObj.picked.formatted);}
if(DefaultDate!=''){if((this.format=='YYYYMMDD')&&(/^(\d{4})(\d{2})(\d{2})$/.test(DefaultDate)))this.setPicked(RegExp.$1,parseInt(RegExp.$2,10)-1,RegExp.$3);else{if((this.format.substr(0,2)=='YY')&&(/^(\d{2,4})(-|\/)/.test(DefaultDate))){var YearPart=GetGoodYear(RegExp.$1);if(/(-|\/)(\w{1,3})(-|\/)(\w{1,3})$/.test(DefaultDate)){var MidPart=RegExp.$2;var EndPart=RegExp.$4;if(/D$/.test(this.format)){var DayPart=EndPart;var MonthPart=MidPart;}
else{var DayPart=MidPart;var MonthPart=EndPart;}
MonthPart=(/\d{1,2}/i.test(MonthPart))?parseInt(MonthPart,10)-1:getMonthIndex(MonthPart);this.setPicked(YearPart,MonthPart,DayPart);}
else SetGoodDate(this,true);}
else if(/(-|\/)(\d{2,4})$/.test(DefaultDate)){var YearPart=GetGoodYear(RegExp.$2);if(/^(\w{1,3})(-|\/)(\w{1,3})(-|\/)/.test(DefaultDate)){if(this.format.substr(0,1)=='D'){var DayPart=RegExp.$1;var MonthPart=RegExp.$3;}
else{var MonthPart=RegExp.$1;var DayPart=RegExp.$3;}
MonthPart=(/\d{1,2}/i.test(MonthPart))?parseInt(MonthPart,10)-1:getMonthIndex(MonthPart);this.setPicked(YearPart,MonthPart,DayPart);}
else SetGoodDate(this,true);}
else SetGoodDate(this,true);}}}
function DateInput(DateName,Required,DateFormat,DefaultDate,HideYear){if(arguments.length==0)document.writeln('<span style="color:red;font-size:'+FontSize+'px;font-family:'+FontFamily+';">ERROR: Missing required parameter in call to \'DateInput\': [name of hidden date field].</span>');else{if(arguments.length<3){DateFormat=DefaultDateFormat;if(arguments.length<2)Required=false;}
else if(/^(Y{2,4}(-|\/)?)?((MON)|(MM?M?)|(DD?))(-|\/)?((MON)|(MM?M?)|(DD?))((-|\/)Y{2,4})?$/i.test(DateFormat))DateFormat=DateFormat.toUpperCase();else{var AlertMessage='WARNING: The supplied date format for the \''+DateName+'\' field is not valid: '+DateFormat+'\nTherefore, the default date format will be used instead: '+DefaultDateFormat;DateFormat=DefaultDateFormat;if(arguments.length==4){var CurrentDate=new storedMonthObject(DateFormat,Today.getFullYear(),Today.getMonth(),Today.getDate());AlertMessage+='\n\nThe supplied date ('+DefaultDate+') cannot be interpreted with the invalid format.\nTherefore, the current system date will be used instead: '+CurrentDate.formatted;DefaultDate=CurrentDate.formatted;}
alert(AlertMessage);}
if(!CurrentDate)var CurrentDate=new storedMonthObject(DateFormat,Today.getFullYear(),Today.getMonth(),Today.getDate());if(arguments.length<4){DefaultDate=(Required)?CurrentDate.formatted:'';}
eval(DateName+'_Object=new calendarObject(\''+DateName+'\',\''+DateFormat+'\',\''+DefaultDate+'\')');if((Required)||(arguments.length==4)){var InitialStatus='';var InitialDate=eval(DateName+'_Object.picked.formatted');}
else{var InitialStatus=' style="visibility:hidden"';var InitialDate='';eval(DateName+'_Object.setPicked('+Today.getFullYear()+','+Today.getMonth()+','+Today.getDate()+')');}
with(document){writeln('<input type="hidden" style="visibility:hidden; display:none;" name="'+DateName+'" value="'+InitialDate+'">');for(var f=0;f<forms.length;f++){for(var e=0;e<forms[f].elements.length;e++){if(typeof forms[f].elements[e].type=='string'){if((forms[f].elements[e].type=='hidden')&&(forms[f].elements[e].name==DateName)){eval(DateName+'_Object.formNumber='+f);break;}}}}
writeln('<select class="calendarDateInput" id="'+DateName+'_Month_ID" onChange="'+DateName+'_Object.changeMonth(this)">');if(!Required){var NoneSelected=(DefaultDate=='')?' selected':'';writeln('<option value=""'+NoneSelected+'>'+UnselectedMonthText+'</option>');}
for(var i=0;i<12;i++){MonthSelected=((DefaultDate!='')&&(eval(DateName+'_Object.picked.monthIndex')==i))?' selected':'';writeln('<option value="'+i+'"'+MonthSelected+'>'+MonthNamesShort[i]+'</option>');}
writeln('</select>');writeln('<select'+InitialStatus+' class="calendarDateInput" id="'+DateName+'_Day_ID" onChange="'+DateName+'_Object.changeDay(this)">');for(var j=1;j<=eval(DateName+'_Object.picked.dayCount');j++){DaySelected=((DefaultDate!='')&&(eval(DateName+'_Object.picked.day')==j))?' selected':'';writeln('<option'+DaySelected+'>'+j+'</option>');}
writeln('</select>');if(HideYear==true){writeln('<input'+InitialStatus+' class="calendarDateInput" type="hidden" id="'+DateName+'_Year_ID" size="'+eval(DateName+'_Object.picked.yearPad.length')+'" maxlength="'+eval(DateName+'_Object.picked.yearPad.length')+'" title="Year" value="'+eval(DateName+'_Object.picked.yearPad')+'" onKeyPress="return YearDigitsOnly(window.event)" onKeyUp="'+DateName+'_Object.checkYear(this)" onBlur="'+DateName+'_Object.fixYear(this)">');}
else{writeln('<select class="calendarDateInput" id="'+DateName+'_Year_ID" onChange="'+DateName+'_Object.checkYear(this.options[this.options.selectedIndex]);">');for(var i=0;i<2;i++){YearSelected=((DefaultDate!='')&&(eval(DateName+'_Object.picked.yearPad')==YearList[i]))?' selected':'';writeln('<option value="'+YearList[i]+'"'+YearSelected+'>'+YearList[i]+'</option>');}
writeln('</select>');}
write('<a'+InitialStatus+' id="'+DateName+'_ID_Link" href="javascript:'+DateName+'_Object.show()" onMouseOver="return '+DateName+'_Object.iconHover(true)" onMouseOut="return '+DateName+'_Object.iconHover(false)" onclick="showit=true;"><img src="'+ImageURL+'" align="top" title="Calendar" border="0"></a>&nbsp;');writeln('<span id="'+DateName+'_ID" style="position:absolute;visibility:hidden;width:'+(CellWidth*7)+'px;background-color:'+CalBGColor+';border:1px solid dimgray;" onMouseOver="'+DateName+'_Object.handleTimer(true)" onMouseOut="'+DateName+'_Object.handleTimer(false)">');writeln('<table style="font-size: '+CalFontSize+'; font-family:'+CalFontFamily+';" width="'+(CellWidth*7)+'" cellspacing="0" cellpadding="1">'+String.fromCharCode(13)+'<tr style="background-color:'+TopRowBGColor+';">');writeln('<td id="'+DateName+'_Previous_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:'+CellHeight+'" onClick="'+DateName+'_Object.previous.go()" onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return '+DateName+'_Object.previous.hover(this,true)" onMouseOut="return '+DateName+'_Object.previous.hover(this,false)" title="'+eval(DateName+'_Object.previous.monthName')+'"><img src="'+PrevURL+'"></td>');writeln('<td id="'+DateName+'_Current_ID" style="cursor:pointer" align="center" class="calendarDateInput" style="height:'+CellHeight+'" colspan="5" onClick="'+DateName+'_Object.displayed.goCurrent()" onMouseOver="self.status=\'Click to view '+CurrentDate.fullName+'\';return true;" onMouseOut="self.status=\'\';return true;">'+eval(DateName+'_Object.displayed.fullName')+'</td>');writeln('<td id="'+DateName+'_Next_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:'+CellHeight+'" onClick="'+DateName+'_Object.next.go()" onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return '+DateName+'_Object.next.hover(this,true)" onMouseOut="return '+DateName+'_Object.next.hover(this,false)" title="'+eval(DateName+'_Object.next.monthName')+'"><img src="'+NextURL+'"></td></tr>'+String.fromCharCode(13)+'<tr>');for(var w=0;w<7;w++)writeln('<td width="'+CellWidth+'" align="center" class="calendarDateInput" style="height:'+CellHeight+';width:'+CellWidth+';font-weight:bold;background-color: #ededed; border-top:0px solid dimgray;border-bottom:0px solid dimgray;">'+WeekDays[w]+'</td>');writeln('</tr>'+String.fromCharCode(13)+'</table>'+String.fromCharCode(13)+'<span id="'+DateName+'_DayTable_ID">'+eval(DateName+'_Object.buildCalendar()')+'</span>'+String.fromCharCode(13)+'</span>');}}
if(DateName=='pudate'){startpumonth=pudate_Object.picked.monthIndex;}
daymenuid=DateName+'_Day_ID';useday=eval(DateName+'_Object.picked.day')-1;document.getElementById(daymenuid).selectedIndex=useday;}
