jsModusCalendar.  Version: 1.2.  Written by Joe McCormack.  www.virtualsecrets.com.

INTRODUCTION
------------
There are a series of folders contained within the zip file to include XML, ASP, ASPNET, PERL, PHP.

XML
---
While this folder contains jsModusCalendar, it is probably the least useful since no data is actually dynamic (the data of what goes into the different sections is from static XML files).  However, it may be the easiest to try out first since you could put it in a folder of your website and start interacting with it immediately without needing to be concerned with anything else (such as setting file permissions in the case of Perl).

PERL
----
This folder contains a cgi-bin folder where the server pages reside (which serve and receive data).

ASP, ASPNET, PHP
----------------
These folders have the server pages in the jsModusCalendar folder, next to the javascript file.

CHANGING SERVER PAGES
---------------------
The server pages (PHP, etc) are currently only starter pages.  They were created to allow you to see the relationship between the calendar running on the client and how it communicates with your website.  Currently there are no actual database connections or activity in the server pages so while you would need to create that component (based on what your requirements may be) the starter pages do show you the type of data coming into the pages and the type of data going out (XML).  This should allow you to complete the starter pages and maintain an error-free data dialog with the jsModusCalendar javascript file that your visitors use in one or more pages of your website.

JSMODUSCALENDAR.JS
------------------
This is the component which visitors of your website interact with in order to complete calendar activities.  Sections above /* DO NOT USE */ are present to allow you to perform updates to it (such as changing the dynamically generated stylesheet, dimensions, colors, text output, etc).  It is not advised that you change things below the /* DO NOT USE */ marker.

In order to use the calendar, one or more of your pages need "<script language="javascript" src="/jsModusCalendar/jsModusCalendar.js"></script>" added into it, between the <head> and </head>.  In order to spawn (or trigger) the calendar, you could call "calendarInitialRender()" in the onload of the page, or as a hyperlink such as: <a onclick="calendarInitialRender(); return false;" onmouseover="this.style.cursor='pointer';" onmouseout="this.style.cursor='default';">Show Calendar</a>

DON'T WANT TO ALLOW ROOM RESERVATIONS?
--------------------------------------
The XML output of "calendarTimeSlots" can be set as:
<?xml version="1.0" encoding="utf-8"?>
<parameters>
</parameters>

This will allow room reservation notes to be shown in the main calendar but no room information will be visible in the day pane.  If you do not want room reservation notes to be visible in the main calendar, make the output of "calendarGetMonth" omit room information.

You can also set the output of "calendarRoomDetails" to the same and no room reservation notes will be shown in the day pane (this is the preferred method).

DON'T WANT TO ALLOW GENERAL NOTES?
----------------------------------
The XML output of "calendarGetNotes" can be set as:
<?xml version="1.0" encoding="utf-8"?>
<parameters>
</parameters>

This will allow general notes to be shown in the main calendar but no notes will be visible in the day pane.  If you do not want general notes to be visible on the main calendar, make the output of "calendarGetMonth" omit general notes.

WANT TO ALLOW ROOM RESERVATIONS BUT HAVE NONE TO SEND BACK?
-----------------------------------------------------------
The XML output of "calendarGetDay" can be set as:
<?xml version="1.0" encoding="utf-8"?>
<parameters>
	<dayReservation>
		<room>101</room>
		<eventTitle>None</eventTitle>
		<organizationName>None</organizationName>
		<eventDescription>None</eventDescription>
		<eventTimeGrid>None</eventTimeGrid>
		<eventStatus>denied</eventStatus>
	</dayReservation>
</parameters>

This will allow the room reservations section to be shown in the day pane.

WANT TO ALLOW GENERAL NOTES BUT HAVE NONE TO SEND BACK?
-------------------------------------------------------
The XML output of "calendarGetNotes" can be set as:
<?xml version="1.0" encoding="utf-8"?>
<parameters>
	<todayEvent>
		<eventTitle></eventTitle>
		<eventDescription></eventDescription>
	</todayEvent>
</parameters>

This will allow the general notes section to be shown in the day pane.

WANT TO LINK TO DOCUMENTS OR OTHER WEBSITES IN A TIME SLOT OF THE DAY PANE?
---------------------------------------------------------------------------
Creating a hyperlink to a document or a web resource uses the same XML as a room reservation with three differences:
(1) the <eventTitle></eventTitle> tag holds the text to show for the hyperlink that visitors click on,
(2) the <organizationName></organizationName> contains the text "Hyperlink", and,
(3) the <eventDescription></eventDescription> tag holds the URL itself (without the <a href...></a> markup).

Here's an example of adding a hyperlink to "calendarGetDay":
<dayReservation>
	<room>104</room>
	<eventTitle>Meeting Notes</eventTitle>
	<organizationName>Hyperlink</organizationName>
	<eventDescription>/somefolder/somepage.html</eventDescription>
	<eventTimeGrid>10:30AM</eventTimeGrid>
	<eventStatus>approved</eventStatus>
</dayReservation>
