<div id="calendars">
<cfloop
index="intI"
from="1"
to="#ArrayLen( REQUEST.Months )#"
step="1">
<cfsilent>
<cfset dtThisMonth = REQUEST.Months[ intI ] />
<cfset dtStartDay = DateAdd(
"d",
-(DayOfWeek( dtThisMonth ) - 1),
dtThisMonth
) />
<cfset dtEndDay = (DateAdd( "m", 1, dtThisMonth ) - 1) />
<cfset dtEndDay = DateAdd(
"d",
(7 - DayOfWeek( dtEndDay )),
dtEndDay
) />
<cfset dtToday = Fix( REQUEST.Environment.DateTime.Now ) />
</cfsilent>
<table width="100%" border="0" cellspacing="2" cellpadding="0" class="calendarmonth">
<thead>
<tr>
<td colspan="7">
#MonthAsString( Month( dtThisMonth ) )# #Year( dtThisMonth )#
</td>
</tr>
</thead>
<tbody>
<cfsilent>
<cfsavecontent variable="strMonthCode">
<tr>
<cfloop index="dtDay" from="#dtStartDay#" to="#dtEndDay#" step="1">
<td class="<cfif (dtDay EQ dtToday)>today<cfelseif (Month( dtDay ) EQ Month( dtThisMonth ))>thismonth<cfelse>othermonth</cfif>">
#Day( dtDay )#
</td>
<cfif (
(DayOfWeek( dtDay ) EQ 7) AND
(dtDay NEQ dtEndDay)
)>
</tr>
<tr>
</cfif>
</cfloop>
</tr>
</cfsavecontent>
</cfsilent>
#strMonthCode.ReplaceAll( ">\s+", ">" ).ReplaceAll( "\s+<", "<" )#
</tbody>
</table>
<cfflush />
</cfloop>
</div>
<script type="text/javascript">
InitCalendars();
</script>