function minicalMonthChange( aDirection, aBaseRef ) {
	var currentMonth = parseInt(document.getElementById("minical_current_month").value);
	var currentYear = parseInt(document.getElementById("minical_current_year").value);
	
	currentMonth += aDirection;
	
	if( currentMonth > 12 ) {
		currentMonth = 1;
		currentYear++;
	}
	
	if( currentMonth < 1 ) {
		currentMonth = 12;
		currentYear--;
	}

	var fnConn = new XHConn();
	
	var fnWhenDone = function (oXML) { document.getElementById("minical_container").innerHTML = oXML.responseText; };
	
	var query_string = "&month=" + currentMonth + "&year=" + currentYear + "&use_drawer=" + document.getElementById("minical_use_drawer").value;
	
	fnConn.connect( "minical/minical.php", "GET", query_string, fnWhenDone);		
	
}

function minicalDayClick( aDayTextElement, aBaseRef, aUseDrawer ) {
	var currentDay = parseInt(aDayTextElement.innerHTML);
	var currentMonth = parseInt(document.getElementById("minical_current_month").value);
	var currentYear = parseInt(document.getElementById("minical_current_year").value);

	if(aUseDrawer) {

		var fnDayTextElements = document.getElementById("minical_month_table").getElementsByTagName("div");
		
		for( var count = 0; count < fnDayTextElements.length; count++ ) {
			fnDayTextElements[count].className = "minical_day_text";
		}
	
		aDayTextElement.className = "minical_day_text_highlight";
	
		minicalDrawerLoadDateEvents( currentDay, currentMonth, currentYear, aBaseRef );
		
		minicalOpenDrawer();
	} else {
		var month=new Array(12)
		month[0]="January";
		month[1]="February";
		month[2]="March";
		month[3]="April";
		month[4]="May";
		month[5]="June";
		month[6]="July";
		month[7]="August";
		month[8]="September";
		month[9]="October";
		month[10]="November";
		month[11]="December";
		window.location = "index.php?action=events&month=" + month[currentMonth - 1] + "&year=" + currentYear + "&day=" + currentDay;
	}
}

function minicalDrawerLoadDateEvents( aEventDay, aEventMonth, aEventYear, aBaseRef ) {
	document.getElementById("minical_drawer_text").innerHTML = "Loading . . .";
	
	setTimeout( function() {
		var fnConn = new XHConn();
		
		var fnWhenDone = function (oXML) { document.getElementById("minical_drawer_text").innerHTML = oXML.responseText; };
		
		var query_string = "&day=" + aEventDay + "&month=" + aEventMonth + "&year=" + aEventYear;
		
		fnConn.connect( "minical/minical_drawer.php", "GET", query_string, fnWhenDone);
	}, 250 );
}

function minicalOpenDrawer() {
	if( document.getElementById("minical_drawer") ) {
		document.getElementById("minical_drawer").style["display"] = "block";
	}
}

function minicalCloseDrawer() {
	if( document.getElementById("minical_drawer") ) {
		document.getElementById("minical_drawer").style["display"] = "none";
	}
}

function minicalDrawerCheck(e) {
	function checkParent(aElement) {
		while(aElement.parentNode) {
			if( aElement == document.getElementById("minical") ) {
				return false;
			}
			
			aElement = aElement.parentNode;
		}
		
		return true;
	}
	
	var target = (e && e.target) || (event && event.srcElement); 
	var parent = checkParent(target); 
	
	if(parent){ minicalCloseDrawer(); }
}

if( document.onclick) {
	fnOldOnclick = document.onclick;
} else {
	fnOldOnclick = null;
}

document.onclick = function(e) {

	if( fnOldOnclick ) {
		fnOldOnclick();
	}
	
	minicalDrawerCheck(e);
};