function Calendar(oParentClass) {
	this.ParentClass = oParentClass || null;
	this.Parent = null;
	
	this.CalContainer = null;
	
	this.dtToday = null;
	this.Ajax = null;
	this.JSON = null;
	
	this.bDoAJAXRequests = false;
	this.bInDebugMode = false;
	
	this.Initialize = function() {
		if (this.ParentClass) {
			this.Parent = this.ParentClass.CalendarParent || null;
			this.Ajax = this.ParentClass.Ajax || null;
			if (this.Parent) {
				var self = this;
	
				// Ajax
				self.bDoAJAXRequests = ((self.Ajax)?true:false);
				if (!self.bDoAJAXRequests) {
					if (self.bInDebugMode)
						alert("Please note that your calendar will not be able to make remote requests using AJAX or the XMLHttpRequest Object, as it is either not supported in your browser, or the Ajax JavaScript class file could not be found");
				}
				
				try {
					self.JSON = JSON;
				} catch(e) {
					if (self.bInDebugMode)
						alert("Please note that this calendar may not function correctly without the JSON JavaScript Class Library");
				}
				
				// Calendar Container
				self.CalContainer = new CalendarContainer(self);
				self.CalContainer.Initialize();
			
				return true;
			}
		}
		return false;
	};
}