AJAX and CSS Calendar Interfaces
The scripts below are great starting point to build your calendar. They only provide front-end scheduling interface based on AJAX and CSS. You will have to write your own code that will hook to the different events and possibly an admin area to store and manage the events.
FullCalendar is a jQuery plugin that provides a full-sized, drag & drop calendar like the one below. It uses AJAX to fetch events on-the-fly for each month and is easily configured to use your own feed format (an extension is provided for Google Calendar). It is visually customizable and exposes hooks for user-triggered events (like clicking or dragging an event).
jMonthCalendar is a full month calendar that supports events. You simply initialize the calendar with options and an events array and it can handle the rest. This calendar is based on jQuery and has extension points that allow the developer to interact with the calendar when the display is about to change months, after the display has changed months and when the event bubbles are clicked on. jMonthCalendar also supports hover extension points, hover over an event and trigger an event like an alert(); By default the events would each have a URL supplied that would link to a details page.
Calendars with database or flat-files support
If you’re looking to save time building an admin interface for any of the above solutions reviewed, then the following full-fledged calendar systems are perhaps what you need. They come with both the front-end and back-end.
LuxCal is a relative new calendar solution and compared to the other calendar solutions outlined above, LuxCal does not only come with a front-end interface but a complete event management system based on PHP and MySQL. It has been designed for user-friendliness, with support for views like month, day, year and upcoming events. LuxCal has support for colored event categories, recurring events, email notifications of event due dates, private events, access rights configurable for each user and for public access, CSV file import (for instance Outlook export), multi-language support and customizable user interface colors.
PlansCalendar is a highly configurable, customizable and easy-to-install calendar script. It is written in Perl. Events can be stored in either flat files or SQL databases. It has support for multiple-calendars, each of which can be managed separately all the while sharing events between each other. PlansCalendar also comes with an add-ons system whereby you can write plugins that re-use ist framework.