var EventCal = {
	dates : {},
	pageId : 0,
	currentBox : false,
	boxHeight : 235,
	boxMargin : 35,
	setTime : function(year, month, pageId) {
		EventCal.dates[pageId] = new Date(year, month, 1); 
	},
	prevMonth : function() {
		EventCal.addMonth(-1);
		EventCal.showMonth();
		return false;
	},
	nextMonth : function() {
		EventCal.addMonth(1);
		EventCal.showMonth();
		return false;
	},
	changeCalendar : function(calPage) {
		var val = $('cal_link_'+EventCal.pageId).get('html');
		$('cal_link_'+EventCal.pageId).removeClass('selected').set('html', '» '+val);
		EventCal.pageId = calPage;
		val = $('cal_link_'+EventCal.pageId).get('html');
		$('cal_link_'+EventCal.pageId).addClass('selected').set('html', val.replace('» ', ''));
		EventCal.showMonth()
		return false;
	},
	showCalendar : function(calPage) {
		if (EventCal.pageId == calPage) {
			var currHeight = EventCal.currentBox.getHeight();
			if (currHeight >= EventCal.boxHeight) {
				EventCal.hideBox();
			}
			else if (currHeight == 0) {
				EventCal.showBox();
			}

			return false;
		}
		if (EventCal.pageId > 0) {
			EventCal.hideBox();
		}
		EventCal.pageId = calPage;
		EventCal.currentBox = $('cal_box_'+EventCal.pageId);
		EventCal.showBox();
		
		return false;
	},
	showBox : function() {
		$('cal_link_'+EventCal.pageId).addClass('cal_link_selected');
		EventCal.currentBox.set('tween', { onComplete : null });
		EventCal.currentBox.tween('height', EventCal.getHeight()).setStyle('border-bottom-width', 1);
	},
	getHeight : function() {
		EventCal.boxHeight = parseInt($$('#cal_box_'+EventCal.pageId+' table').getHeight()) + EventCal.boxMargin;
		return EventCal.boxHeight; 
	},
	hideBox : function() {
		var box = EventCal.currentBox;
		var page = EventCal.pageId;
		box.set(
				'tween', 
				{ 
					'onComplete' : function() { 
						$('cal_link_'+page).removeClass('cal_link_selected');
						box.set('tween', { onComplete : null });
					} 
				});
		box.tween('height', '0').setStyle('border-bottom-width', 0);
	},
	hideCalendar : function(page) {
		EventCal.currentBox.setStyle('display', 'none');
		$('cal_link_'+EventCal.pageId).removeClass('cal_link_selected');
	},
	addMonth : function(n) {
		var date = EventCal.dates[EventCal.pageId];
		EventCal.dates[EventCal.pageId] = new Date(date.getFullYear(), date.getMonth()+n, 1);
	},
	showMonth : function() {
		var calBox = $('cal_box_'+EventCal.pageId);
		calBox.set('load', { 
			onSuccess : function() { 
				calBox.setStyle('height', EventCal.getHeight());
			}
		});
		calBox.load(
			EDIT_CORE.JSSiteRoot+'site/event/calendar_ajax.php' +
			'?page_id=' + EventCal.pageId +
			'&year=' + EventCal.dates[EventCal.pageId].getFullYear() + 
			'&month=' + (EventCal.dates[EventCal.pageId].getMonth()+1)
		);
	}
		
}


