'
if (stylewanted=='Daily'){
todaymessage=(mm==mmm && dd==ddd && yy==yyy)?'Today at the Library - ':''
exbt=''
O2+='Previous | Next
'+todaymessage+dow2[dw]+' '+names[mm]+' '+dd+', '+yy+' | Subscribe to the Daily Calendar  |
'
xch1.setFullYear(yy)
xch1.setMonth(mm)
xch1.setDate(dd)
xch1.setHours(0)
xch1.setMinutes(0)
xch1.setSeconds(0)
xch2.setFullYear(yy)
xch2.setMonth(mm)
xch2.setDate(dd+1)
xch2.setHours(0)
xch2.setMinutes(0)
xch2.setSeconds(0)
xch2.setSeconds(xch2.getSeconds()-1)
}
else if (stylewanted=='Weekly'){
exbt=''
xch1.setFullYear(yy)
xch1.setMonth(mm)
xch1.setDate(dd)
xch1.setHours(0)
xch1.setMinutes(0)
xch1.setSeconds(0)
xch2.setFullYear(yy)
xch2.setMonth(mm)
xch2.setDate(dd)
xch2.setDate(xch2.getDate()+7)
xch2.setHours(0)
xch2.setMinutes(0)
xch2.setSeconds(0)
xch2.setSeconds(xch2.getSeconds()-1)
dw=xch1.getDay()
O2+='| Previous | Next | Weekly Calendar Starting '+dow2[dw]+' '+names[mm]+' '+dd+', '+yy+' | |
'
}
else if (stylewanted=='Monthly'){
xch1.setFullYear(yy)
xch1.setMonth(mm)
xch1.setDate(1)
xch1.setHours(0)
xch1.setMinutes(0)
xch1.setSeconds(0)
xch2.setFullYear(yy)
xch2.setMonth(mm+1)
xch2.setDate(1)
xch2.setHours(0)
xch2.setMinutes(0)
xch2.setSeconds(0)
xch2.setSeconds(xch2.getSeconds()-1)
O2+='| Previous | Next | Monthly Calendar for '+names[mm]+' '+yy+' | |
'
//dd=1;startDayx=1;
}
//else if (stylewanted=='Yearly'){
//firstt=0
//xcombo=NextDate.getMonth()
//xch1= new Date()
//xch1.setMonth(0)
//xch1.setDate(1)
//xch1.setHours(0)
//xch1.setMinutes(0)
//xch1.setSeconds(0)
//xch2= new Date()
//xch2.setMonth(0)
//xch2.setDate(1)
//xch2.setHours(0)
//xch2.setMinutes(0)
//xch2.setSeconds(0)
//xch2.setFullYear(xch2.getFullYear()+1)
//xch2.setSeconds(xch2.getSeconds()-1)
//mm=1;dd=1;startDayx=1;
//}
exb=' (EventDate.getDate()==xch1.getDate() && EventDate.getMonth()==xch1.getMonth() && EventDate.getFullYear()==xch1.getFullYear()) || (EventDate > xch1 && EventDate < xch2)'
didmonth=0
previousdateloop=dd
oldxcombo=NextDate.getMonth()
for (j=0; j <= eventz.length-1; j++) {
if(eventz[j][0]!=''){datex(eventz[j][0]);EventDate=LSch}
if(eval(exb)){
etex=''
eventtype=typ[eventz[j][3]]+'
'
if(eventtype=='General
')eventtype=''
if(eventtype=='Closed
')eventtype=''
shotime=se[1]+':'+se[2]+' '+TTF+' ';
if(se[2]=='00' && se[1]=='12' && TTF=='am'){
if (eventz[j][3]!=6 && eventtype=='' && typ[eventz[j][3]]!='Closed')etex='All day event'
if (eventtype!='')etex=''
shotime=eventtype+etex
}
room='';
if (eventz[j][6]!='')room=' in the '+eventz[j][6]
apptime=eventz[j][5]
if (apptime==' to 12:00 am')apptime=' ';
NextDate2=NextDate
while(EventDate>=NextDate2){
if(EventDate.getDate()!=NextDate.getDate()){
exbtx=''+dow2[NextDate.getDay()]+' '+NextDate.getDate()+' | '
if(xch1.getMonth() != NextDate.getMonth() && stylewanted=="Weekly" && didmonth==0){
O2+=''+names[EventDate.getMonth()]+' '+EventDate.getFullYear()+' |
'
didmonth=1}
//xcombo=NextDate.getMonth()
//if(xcombo!=oldxcombo && stylewanted=='Yearly'){O2+=''+names[EventDate.getMonth()]+' '+EventDate.getFullYear()+' Yearly Calendar |
';}
//oldxcombo=xcombo
if(NextDate.getDay()==0){calemptymessagex=sunempty}else{calemptymessagex=agendaempty}
O2+=''+exbtx+'| '+calemptymessagex+' |
'
datecounterx++
}
NextDate2.setDate(NextDate2.getDate()+1)
}
NextDate3=new Date()
NextDate3.setDate(1)
NextDate3.setFullYear(se[3])
NextDate3.setMonth(se[4])
if(xch1.getMonth() != NextDate3.getMonth() && stylewanted=="Weekly" && didmonth==0){O2+=''+names[EventDate.getMonth()]+' '+EventDate.getFullYear()+' |
';didmonth=1}
if(eventz[j][3]==7 || eventz[j][5]==' to 12:00 am' || eventz[j][5]=='')NextDate.setDate(NextDate.getDate()+1)
dateloop=se[5]
//xcombo=NextDate.getMonth()
//if(stylewanted=='Yearly' && (xcombo!=oldxcombo || firstt==0)){Oextra=''+names[NextDate.getMonth()]+' '+NextDate.getFullYear()+' Yearly CalendarXXX |
';firstt=1;O2+=Oextra}
//oldxcombo=xcombo
if(stylewanted!='Daily' && EventDate.getDate()!=donealready){
exbtx=''+dow2[EventDate.getDay()]+' '+EventDate.getDate()+' | ';
if(bg=="#E7E7AF"){bg="#ffffff"}else{bg="#E7E7AF"}
O2+=''+exbtx+'| '
datecounterx++
}
else if(EventDate.getDate()!=donealready){ondate=se[5];O2+=' |
| '}
donealready=se[5]
lastdayx=se[0]
gotevents=1
// THIS LINE PRODUCES ALL EVENT INFO except for open agendas and Sundays
if(eventz[j][3]!=7){O2+=' '+eventz[j][1]+' '+shotime+apptime+room+' '+''+eventz[j][2]+' ';
datex(eventz[j+1][0])
testdate=se[5]
if(testdate!=EventDate.getDate() && stylewanted!='Daily')O2+=' |
';
}
else{
O2+=''+eventz[j][1]+'
The library is open from '+shotime+apptime+'.
';
datex(eventz[j+1][0])
testdate=se[5]
if(testdate!=EventDate.getDate() && stylewanted!='Daily')O2+='';
}
EventDateend=EventDate
previousdateloop=dateloop
}
}
// END OF ALL EVENTS FOUND
if(dw==0){calemptymessage=sunempty}else{calemptymessage=agendaempty}
if(stylewanted=='Daily' && gotevents!=1){O2+=''+calemptymessage+' |
'}
// BEGIN of test for dates requested with no events after the last date with events found
if(stylewanted!="Daily"){finish=1
if(stylewanted=='Monthly'){finish=days[mm]}else if(stylewanted=='Weekly'){finish=7}
PreDate=NextDate
oldmm=mm
PreDate.setDate(PreDate.getDate()-1)
if(donealready==0)donealready=dd
diffe=finish-datecounterx
if(diffe > 0){
for (jx=1; jx <= diffe; jx++) {
PreDate.setDate(PreDate.getDate()+1)
newmm=PreDate.getMonth()
exbtx=''+dow2[PreDate.getDay()]+' '+PreDate.getDate()+' | '
if(newmm!=oldmm && stylewanted=="Weekly" && didmonth==0){
O2+=''+names[PreDate.getMonth()]+' '+PreDate.getFullYear()+' |
'
oldmm=newmm}
// this needs to test the first previous date's .getDay() need date from st
if(PreDate.getDay()==0){calemptymessagex=sunempty}else{calemptymessagex=agendaempty}
O2+=''+exbtx+'| '+calemptymessagex+' |
'
} // end of jx loop
} // end of diffe test
} // END of TEST FOR DATES REQUESTED after events
O2+='