I would be interested too. Would be nice if you could share your solution.
I like the script - thank you, Chris

- but I would like to use it with more states:
not available for booking,
available (= not in db as now),
provisional booking/enquiry (for winter month etc., even when in the future),
arrival/departure day,
full day booking,
full day owner's use.
I guess (and hope) rhart's solution will spare me the need to mess around with too many image files.
As I'm not so familiar with Javascript, I also might need some help with the different key codes to differentiate the different states when clicking on the days in the admin version of the script as obviously 'shiftKey', 'altKey' and 'ctrlKey' are not enough.
Another plan is to show always the full year (Jan - Dec, with an automatic "not available for booking" state for past so far "avalable" days plus 3 days from today as preparation time) until I do a switch (e.g. in the config file) or better, to allow the user to switch to "next year".
And I need a way to call the script from a HTML page with the display language as an embedded parameter (multi-lingual website).
Quite a roadmap, isn't it?
Thanks in advance,
Harald