Hi,
I have been looking at your code with a view to using it as it does look good, but I have noticed that months that start on a Sunday do not display correctly, they start on a Monday instead. To see this, check out the availability calendar on your site for June 2008 and compare it to May 2008. May 2008 ends on a Saturday and June 2008 starts on a Monday according to the calendar.
I thought I'd let you know.