
/***************************************************************************************
	JavaScript Calendar - Digital Christian Design
	//Script featured on and available at JavaScript Kit: http://www.javascriptkit.com
	// Functions
		changedate(): Moves to next or previous month or year, or current month depending on the button clicked.
		createCalendar(): Renders the calander into the page with links for each to fill the date form fields above.
			
***************************************************************************************/

var thisDate = 1;							// Tracks current date being written in calendar
var wordMonth = new Array("JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER");
var today = new Date();							// Date object to store the current date
var todaysDay = today.getDay() + 1;					// Stores the current day number 1-7
var todaysDate = today.getDate();					// Stores the current numeric date within the month
var todaysMonth = today.getUTCMonth() + 1;				// Stores the current month 1-12
var todaysYear = today.getFullYear();					// Stores the current year
var monthNum = todaysMonth;						// Tracks the current month being displayed
var yearNum = todaysYear;						// Tracks the current year being displayed
var firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));	// Object Storing the first day of the current month
var firstDay = firstDate.getUTCDay();					// Tracks the day number 1-7 of the first day of the current month

//var lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));	// Tracks the last date of the current month
var numbDays = 0;
var calendarString = "";



function changedate(buttonpressed) {
	if (buttonpressed == "prevmo" && todaysMonth != monthNum) monthNum--; // don't allow going back before current month
	else if (buttonpressed == "nextmo") monthNum++; 
		// oder: else if (buttonpressed == "nextmo" &&  (todaysMonth == monthNum ||todaysMonth+1 == monthNum)) monthNum++; // allow 2 months ahead

	else  if (buttonpressed == "return") { 
		monthNum = todaysMonth;
		yearNum = todaysYear;
	}

	if (monthNum == 0) {
		monthNum = 12;
		yearNum--;
	}
	else if (monthNum == 13) {
		monthNum = 1;
		yearNum++
	}
	if(monthNum != 12){
	lastDate = new Date(String(monthNum+1)+"/1/"+String(yearNum));
	numbDays = lastDate.setDate(lastDate.getDate() - 1);
	numbDays = lastDate.getDate();
	} else numbDays=31; // december!
	
	
	firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));
	firstDay = firstDate.getDay() + 1;
	createCalendar();
	return;
}





function createCalendar() {
	calendarString = '';
	var daycounter = 0;
	calendarString += '<table  border="0"  width="150" cellpadding="0" cellspacing="1">';
	calendarString += '<tr>';
	calendarString += '<td align=\"center\" valign=\"center\"><a href=\"#\"  onClick=\"changedate(\'prevmo\')\"><<\/a><\/td>';
	calendarString += '<td><\/td>';
	calendarString += '<td align=\"center\" valign=\"center\"  colspan=\"3\"><b>' + wordMonth[monthNum-1] + '&nbsp;&nbsp;' + yearNum + '<\/b><\/td>';
	calendarString += '<td><\/td>';
	calendarString += '<td align=\"center\" valign=\"center\"><a href=\"#\"  onClick=\"changedate(\'nextmo\')\">><\/a><\/td>';
	calendarString += '<\/tr>';
	calendarString += '<tr>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">SUN<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">MON<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">TUE<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">WED<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">THU<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">FRI<\/td>';
	calendarString += '<td  align=\"center\" valign=\"center\"  height=\"14\">SAT<\/td>';
	calendarString += '<\/tr>';

	thisDate == 1;

	for (var i = 1; i <= 6; i++) {
		calendarString += '<tr>';
		for (var x = 1; x <= 7; x++) {
			daycounter = (thisDate - firstDay)+1;
			thisDate++;
			if ((daycounter > numbDays) || (daycounter < 1)) {
				calendarString += '<td align=\"center\" bgcolor=\"#FFFFFF\">&nbsp;<\/td>';
			} else {
				if (checkevents(daycounter,monthNum,yearNum,i,x) || ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum))){
					if ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum)) {
					if (checkevents(daycounter,monthNum,yearNum,i,x)) {
					var todaylink = '<a href=\"javascript:showevents(' + daycounter + ',' + monthNum + ',' + yearNum + ',' + i + ',' + x + ')\"><span class="today">' + daycounter + '<\/span><\/a>';
					} else todaylink = '<span class="today">' + daycounter + '<\/span>'; 
						calendarString += '<td align=\"center\">'+todaylink+'<\/td>';
					}
 					else	calendarString += '<td align=\"center\"><a href=\"javascript:showevents(' + daycounter + ',' + monthNum + ',' + yearNum + ',' + i + ',' + x + ')\">' + daycounter + '<\/a><\/td>';
				} else {
					calendarString += '<td align=\"center\">' + daycounter + '<\/td>';
				}
			}
		}
		calendarString += '<\/tr>';
	}

	calendarString += '<tr><td colspan=\"7\" nowrap align=\"center\" valign=\"center\" ><a href=\"javascript:changedate(\'return\')\"><b>TODAY<\/b><\/a><\/td><\/tr><\/table>';

	var object=document.getElementById('calendar');
	object.innerHTML= calendarString;
	thisDate = 1;
}


function checkevents(day,month,year,week,dayofweek) {
var numevents = 0;
var floater = 0;

	for (var i = 0; i < events.length; i++) {
		
		if ((events[i][1] == day) && (events[i][0] == month) && (events[i][2] == year)) {
			numevents++;
		}
	}

	if (numevents == 0) {
		return false;
	} else {
		return true;
	}
}


function showevents(day,month,year,week,dayofweek) {
var theevent = "";
var floater = 0;

	for (var i = 0; i < events.length; i++) {
		// First we'll process recurring events (if any):
		
		// Now we'll process any One Time events happening on the matching month, day, year:
if ((events[i][1] == day) && (events[i][0] == month) && (events[i][2] == year)) {
			$("content2").update("");
			getDetail(events[i][3]);
			
		}
	}
	if (theevent == "") $("content2").innerHTML+('No events to show.');
}




