mm.. bueno.. calendarios hay muchos.. y no hace falta que lo hagas tu.. por ejemplo en esta pagina tienes unos cuantos modelos:
http://javascripts.astalaweb.com/Cal...alendarios.asp
en el momento que tengas el calendario, y si es con la fecha puesta en un input ya puedes hacer la consulta a la base de datos para ver si está reservado o no:
SELECT * from tabla where fecha=$fecha and reservado=1;
(no se como tienes los campos en la BD es una idea aproximada de como podria ser jeje)
ese select te devolveria los campos en los que la fecha elegida estan reservados... obviamente si solo puede haber una reserva solo te dará un dato, pero bueno.. despues de hacer la consulta haces un msql_num_rows del resultado. y si es igual a cero es que está libre y se puede añadir..
mas o menos algo asi.. a ver si te vale algo de lo que te comento