var myimages=new Array()
function preloadimages(){for(i=0;i<preloadimages.arguments.length;i++){myimages[i]=new Image();myimages[i].src=preloadimages.arguments[i];}}
Date.prototype.format=function(format){var returnStr='';var replace=Date.replaceChars;for(var i=0;i<format.length;i++){var curChar=format.charAt(i);if(replace[curChar]){returnStr+=replace[curChar].call(this);}else{returnStr+=curChar;}}return returnStr;};Date.replaceChars={shortMonths:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],longMonths:['January','February','March','April','May','June','July','August','September','October','November','December'],shortDays:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],longDays:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],d:function(){return(this.getDate()<10?'0':'')+this.getDate();},D:function(){return Date.replaceChars.shortDays[this.getDay()];},j:function(){return this.getDate();},l:function(){return Date.replaceChars.longDays[this.getDay()];},N:function(){return this.getDay()+1;},S:function(){return(this.getDate()%10==1&&this.getDate()!=11?'st':(this.getDate()%10==2&&this.getDate()!=12?'nd':(this.getDate()%10==3&&this.getDate()!=13?'rd':'th')));},w:function(){return this.getDay();},z:function(){return"Not Yet Supported";},W:function(){return"Not Yet Supported";},F:function(){return Date.replaceChars.longMonths[this.getMonth()];},m:function(){return(this.getMonth()<9?'0':'')+(this.getMonth()+1);},M:function(){return Date.replaceChars.shortMonths[this.getMonth()];},n:function(){return this.getMonth()+1;},t:function(){return"Not Yet Supported";},L:function(){return"Not Yet Supported";},o:function(){return"Not Supported";},Y:function(){return this.getFullYear();},y:function(){return(''+this.getFullYear()).substr(2);},a:function(){return this.getHours()<12?'am':'pm';},A:function(){return this.getHours()<12?'AM':'PM';},B:function(){return"Not Yet Supported";},g:function(){return this.getHours()%12||12;},G:function(){return this.getHours();},h:function(){return((this.getHours()%12||12)<10?'0':'')+(this.getHours()%12||12);},H:function(){return(this.getHours()<10?'0':'')+this.getHours();},i:function(){return(this.getMinutes()<10?'0':'')+this.getMinutes();},s:function(){return(this.getSeconds()<10?'0':'')+this.getSeconds();},e:function(){return"Not Yet Supported";},I:function(){return"Not Supported";},O:function(){return(-this.getTimezoneOffset()<0?'-':'+')+(Math.abs(this.getTimezoneOffset()/60)<10?'0':'')+(Math.abs(this.getTimezoneOffset()/60))+'00';},T:function(){var m=this.getMonth();this.setMonth(0);var result=this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/,'$1');this.setMonth(m);return result;},Z:function(){return-this.getTimezoneOffset()*60;},c:function(){return"Not Yet Supported";},r:function(){return this.toString();},U:function(){return this.getTime()/1000;}};preloadimages("js/calendar/images/PrevYrOff40x40.jpg","js/calendar/images/PrevYrOn40x40.jpg","js/calendar/images/PrevMoOff40x40.jpg","js/calendar/images/PrevMoOn40x40.jpg","js/calendar/images/NextYrOff40x40.jpg","js/calendar/images/NextYrOn40x40.jpg","js/calendar/images/NextMoOff40x40.jpg","js/calendar/images/NextMoOn40x40.jpg");var thisDate=1;var wordMonth=new Array("January","February","March","April","May","June","July","August","September","October","November","December");var today=new Date();var todaysDay=today.getDay()+1;var todaysDate=today.getDate();var todaysMonth=today.getUTCMonth()+1;var todaysYear=today.getFullYear();var monthNum=todaysMonth;var yearNum=todaysYear;var firstDate=new Date(String(monthNum)+"/1/"+String(yearNum));var firstDay=firstDate.getUTCDay();var lastDate=new Date(String(monthNum+1)+"/0/"+String(yearNum));var numbDays=0;var calendarString="";var eastermonth=0;var easterday=0;function changedate(buttonpressed){if(buttonpressed=="prevyr")yearNum--;else if(buttonpressed=="nextyr")yearNum++;else if(buttonpressed=="prevmo")monthNum--;else if(buttonpressed=="nextmo")monthNum++;else if(buttonpressed=="return"){monthNum=todaysMonth;yearNum=todaysYear;}
if(monthNum==0){monthNum=12;yearNum--;}
else if(monthNum==13){monthNum=1;yearNum++}
lastDate=new Date(String(monthNum+1)+"/0/"+String(yearNum));numbDays=lastDate.getDate();firstDate=new Date(String(monthNum)+"/1/"+String(yearNum));firstDay=firstDate.getDay()+1;createCalendar();return;}
function createCalendar(){calendarString='';var daycounter=0;calendarString+='<table width="200" border="1" cellpadding="0" cellspacing="1" style="border-collapse:collapse; border-color:#000000; font-size:10px;">';calendarString+='<tr>';calendarString+='<td align=\"center\" valign=\"center\"><a href=\"#\" onClick=\"changedate(\'prevyr\')\" title="Previous Year" style="display:block;"> << <\/a><\/td>';calendarString+='<td align=\"center\" valign=\"center\"><a href=\"#\" onClick=\"changedate(\'prevmo\')\" title="Previous Month" style="display:block;"> < <\/a><\/td>';calendarString+='<td align=\"center\" valign=\"center\" colspan=\"3\" style="color:#327a0d;"><b>'+wordMonth[monthNum-1]+'&nbsp;&nbsp;'+yearNum+'<\/b><\/td>';calendarString+='<td align=\"center\" valign=\"center\"><a href=\"#\" onClick=\"changedate(\'nextmo\')\" title="Next Month" style="display:block;"> > <\/a><\/td>';calendarString+='<td align=\"center\" valign=\"center\"><a href=\"#\" onClick=\"changedate(\'nextyr\')\" title="Next Year" style="display:block;"> >> <\/a><\/td>';calendarString+='<\/tr>';calendarString+='<tr>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Sun<\/td>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Mon<\/td>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Tue<\/td>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Wed<\/td>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Thu<\/td>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Fri<\/td>';calendarString+='<td bgcolor=\"#DDDDDD\" align=\"center\" valign=\"center\">Sat<\/td>';calendarString+='<\/tr>';thisDate==1;for(var i=1;i<=6;i++){calendarString+='<tr>';for(var x=1;x<=7;x++){daycounter=(thisDate-firstDay)+1;thisDate++;if((daycounter>numbDays)||(daycounter<1)){calendarString+='<td align=\"center\" bgcolor=\"#888888\" height=\"30\" width=\"30\">&nbsp;<\/td>';}else{if(checkevents(daycounter,monthNum,yearNum,i,x)){calendarString+='<td align=\"center\" bgcolor=\"#327a0d\" height=\"30\" width=\"30\"><a href=\"javascript:selectDate('+daycounter+','+monthNum+','+yearNum+','+i+','+x+')\" style="color:#ffffff;font-weight:bold;">'+daycounter+'<\/a><\/td>';}else{calendarString+='<td align=\"center\" bgcolor=\"#DDFFFF\" height=\"30\" width=\"30\">'+daycounter+'<\/td>';}}}
calendarString+='<\/tr>';}
var object=document.getElementById('calendar');object.innerHTML=calendarString;thisDate=1;}
function checkevents(day,month,year,week,dayofweek){var numevents=0;var floater=0;for(var i=0;i<events.length;i++){if(events[i][0]=="W"){if((events[i][2]==dayofweek))numevents++;}
else if(events[i][0]=="Y"){if((events[i][2]==day)&&(events[i][1]==month))numevents++;}
else if(events[i][0]=="F"){if((events[i][1]==3)&&(events[i][2]==0)&&(events[i][3]==0)){easter(year);if(easterday==day&&eastermonth==month)numevents++;}else{floater=floatingholiday(year,events[i][1],events[i][2],events[i][3]);if((month==5)&&(events[i][1]==5)&&(events[i][2]==4)&&(events[i][3]==2)){if((floater+7<=31)&&(day==floater+7)){numevents++;}else if((floater+7>31)&&(day==floater))numevents++;}else if((events[i][1]==month)&&(floater==day))numevents++;}}
else if((events[i][2]==day)&&(events[i][1]==month)&&(events[i][3]==year)){numevents++;}}
if(numevents==0){return false;}else{return true;}}
function selectDate(day,month,year,week,dayofweek){var theevent="";var floater=0;if(typeof pickupdate!="undefined"){parent.document.frm.pickupdate.value=month+'-'+day+'-'+year;parent.document.getElementById("calendarDivPickup").style.display='none';}
else{parent.document.frm.origdate.value=month+'-'+day+'-'+year;parent.document.getElementById("calendarDiv").style.display='none';}
if(parent.document.getElementById("odt")){var now=new Date();now.setMonth(month-1);now.setDate(day);parent.document.getElementById("odt").innerHTML=now.format("F j");}}
function floatingholiday(targetyr,targetmo,cardinaloccurrence,targetday){var firstdate=new Date(String(targetmo)+"/1/"+String(targetyr));var firstday=firstdate.getUTCDay();var dayofmonth=0;targetday=targetday-1;if(targetday>=firstday){cardinaloccurrence--;dayofmonth=(cardinaloccurrence*7)+((targetday-firstday)+1);}else{dayofmonth=(cardinaloccurrence*7)+((targetday-firstday)+1);}
return dayofmonth;}