function EventsPage( strControllerURL ){
	this.ControllerURL = strControllerURL;
	this.Init();
};

EventsPage.prototype.objPostProperties = function( objPostProperties ){
	this.PostProperties = objPostProperties;
};

EventsPage.prototype = new PageControllerClass;
EventsPage.prototype.Init = function(register){
	var objSelf = this;
	this.SetBusy( true );

	$(document).ready(function(){
		$("#event_date").datepicker({appendText:"(mm/dd/yyyy)", 
			showOn:"both", 
			buttonImage:"/assets/icons/16-calendar-add.png", 
			buttonImageOnly:true 
		});

		$("div#events-add-container fieldset#settings input#event_time_h").change(function(objEvent) {var $this = $(this);$this.val($this.val().replace(new RegExp("[^0-9]",'g'),''));if($this.val()>12) {$this.val(12);};});
		$("div#events-add-container fieldset#settings input#event_time_m").change(function(objEvent) {var $this = $(this);$this.val($this.val().replace(new RegExp("[^0-9]",'g'),''));if($this.val()>59) {$this.val(59);};});

	});

	if(register) {
		objSelf.onDateSelect = function(date){var date=new Date(date);var y=date.getFullYear();var m=date.getMonth()+1;window.location='/index.cfm/do/events/page/'+objSelf.getPage()+'/month/'+m+'/year/'+y;};

		$("#nextCalendar").datepicker({
			defaultDate: objSelf.getNextDefaultDate(),
			beforeShowDay: function(date){ for(i=0;i<objSelf.NextDays.length;i++) {if(date.getMonth()==objSelf.NextDays[i][0]-1&&date.getDate()==objSelf.NextDays[i][1]) {return [true,"event_day"];};};return [false,"no_event_date"];},
		    onSelect: objSelf.goToSelectedDate
		});

		$("#currentCalendar").datepicker({
			defaultDate: objSelf.getCurrentDefaultDate(),
			beforeShowDay: function(date){for(i=0;i<objSelf.CurrentDays.length;i++) {if(date.getMonth()==objSelf.CurrentDays[i][0]-1&&date.getDate()==objSelf.CurrentDays[i][1]) {return [true,"event_day"];};};return [false,"no_event_date"];},
		    onSelect: objSelf.goToSelectedDate
		});


		$("#previousCalendar").datepicker({
			defaultDate: objSelf.getPreviousDefaultDate(),
			beforeShowDay: function(date){for(i=0;i<objSelf.getPreviousDays().length;i++) {if(date.getMonth()==objSelf.getPreviousDays()[i][0]-1&&date.getDate()==objSelf.getPreviousDays()[i][1]) {return [true,"event_day"];};};return [false,"no_event_date"];},
		    onSelect: objSelf.onDateSelect
		});
	};

	this.SetBusy( false );
};

EventsPage.prototype.RegisterHooks = function(){
	var objSelf = this;
	this.SetBusy( true );
	EventsPage.prototype.Init(true);
	this.SetBusy(false);
};


EventsPage.prototype.setCurrentDefaultDate = function(CurrentDefaultDate) {this.CurrentDefaultDate=CurrentDefaultDate;};
EventsPage.prototype.getCurrentDefaultDate = function() {return new Date(this.CurrentDefaultDate.substring(0,4),this.CurrentDefaultDate.substring(6,8)-1)};
EventsPage.prototype.setNextDefaultDate = function(NextDefaultDate) {this.NextDefaultDate=NextDefaultDate;};
EventsPage.prototype.getNextDefaultDate = function() {return new Date(this.NextDefaultDate.substring(0,4),this.NextDefaultDate.substring(6,8)-1)};
EventsPage.prototype.setPreviousDefaultDate = function(PreviousDefaultDate) {this.PreviousDefaultDate=PreviousDefaultDate;};
EventsPage.prototype.getPreviousDefaultDate = function() {return new Date(this.PreviousDefaultDate.substring(0,4),this.PreviousDefaultDate.substring(6,8)-1);};
EventsPage.prototype.setPreviousDays = function(PreviousDays) {this.PreviousDays=PreviousDays;};
EventsPage.prototype.getPreviousDays = function() {return this.PreviousDays;};
EventsPage.prototype.setCurrentDays = function(CurrentDays) {this.CurrentDays=CurrentDays;};
EventsPage.prototype.getCurrentDays = function() {return this.CurrentDays;};
EventsPage.prototype.setNextDays = function(NextDays) {this.NextDays=NextDays;};
EventsPage.prototype.getNextDays = function() {return this.NextDays;};
EventsPage.prototype.setPage = function(Page) {this.Page=Page;};
EventsPage.prototype.getPage = function() {return this.Page;};
