The Flash calendar that the CFCALENDAR tag generates is pretty handy. It looks sharp and can be sized to whatever dimensions you need, but in my opinion it has one major feature omitted: it can't be configured to let the user select a whole week or month at a time. I know plenty of applications where you'd want to be able to select a date range with just one click of the mouse, as you can do in the calendar for Google Analytics.
So to that end, I'm contributing the following calendar CFC to the developer community. It looks and acts like the Flash-based CFCALENDAR, but it will let you select a week or month as well as a single day.
Here's an example of the calendar in action. Hover your mouse across the dates, or over the "W"s to the left or the month name at top to see which dates you can select. Click on any of the same to select a date or date range. (Sorry, you can't change the month because the AJAX call is disabled.)
<cfoutput>#CreateObject('component', 'calendar').display(name='date', year=[FORM.year], month=[FORM.month], day=[FORM.day])#</cfoutput>