/***************************************************************************************
	// 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 = "";
var eastermonth = 0;
var easterday = 0;


function changedate(button) {
	if (button == "prev") {
		monthNum--;
		if (monthNum == 0) {
			monthNum = 12;
			yearNum--;
		}
	}
	if (button == "next") {
		monthNum++;
		if (monthNum == 13) {
			monthNum = 1;
			yearNum++;
		}
	}
	if (button == "return") { 
		monthNum = todaysMonth;
		yearNum  = todaysYear;
	}
	lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));
	numbDays = lastDate.getDate();
	firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));
	firstDay = firstDate.getDay() + 1;
	createCalendar();
	return;
}


function createCalendar() {
	calendarString = '';
	var daycounter = 0;
	var isspecial  = 0;

	calendarString += '<table style=\"width:175px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">';
	calendarString += '<tr>';
	calendarString += '<td class=\"select\" style=\"text-align:center\">'+wordMonth[monthNum-1]+'&nbsp;&nbsp;'+yearNum+'<\/td>';
	calendarString += '<\/tr>';
	calendarString += '<tr>';
	calendarString += '<td>';
	calendarString += '<table id=\"smcalendar\" style=\"width:175px\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\">';
	calendarString += '<tr>';
	calendarString += '<th width=\"20\" height=\"20\">S<\/th>';
	calendarString += '<th width=\"20\" height=\"20\">M<\/th>';
	calendarString += '<th width=\"20\" height=\"20\">T<\/th>';
	calendarString += '<th width=\"20\" height=\"20\">W<\/th>';
	calendarString += '<th width=\"20\" height=\"20\">T<\/th>';
	calendarString += '<th width=\"20\" height=\"20\">F<\/th>';
	calendarString += '<th width=\"20\" height=\"20\">S<\/th>';
	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 class=\"empty\" height=\"16\" width=\"16\">&nbsp;<\/td>';
			} else {
				if (checkevents(daycounter,monthNum,yearNum,i,x)) {
					isspecial = 1;
				}
				if ((isspecial == 1) || ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum))){
					if ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum)) {
						calendarString += '<td class=\"today\"';
					} else {
						calendarString += '<td class=\"special\"';
					}
					if (isspecial == 1) {
						calendarString += ' '+getexpr(daycounter,monthNum,yearNum,i,x);
					}
					calendarString += ' align=\"center\" height=\"16\" width=\"16\">';
					if (isspecial == 1) {
						calendarString += '<a href=\"http:\/\/www.wastebusinessjournal.com\/cgi-bin\/calendar\/webcal.pl\?Month='+monthNum+'&Year='+yearNum+'">' + daycounter + '<\/a><\/td>';
					} else {
						calendarString += daycounter + '<\/td>';
					}
				} else {
					calendarString += '<td class=\"normal\" align=\"center\" height=\"16\" width=\"16\">' + daycounter + '<\/td>';
				}
				isspecial = 0;
			}
		}
		calendarString += '<\/tr>';
	}
	calendarString += '<\/table>';
	calendarString += '<\/td>';
	calendarString += '<\/tr>';
	calendarString += '<tr>';
	calendarString += '<td>';
	calendarString += '<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">';
	calendarString += '<tr>';
	calendarString += '<td class=\"select\" style=\"text-align:left\"><a href=\"javascript:changedate(\'prev\')\">&lt;&lt;<\/a><\/td>';
	calendarString += '<td class=\"select\" style=\"text-align:center\"><a href=\"javascript:changedate(\'return\')\">Today<\/a><\/td>';
	calendarString += '<td class=\"select\" style=\"text-align:right\"><a href=\"javascript:changedate(\'next\')\">&gt;&gt;<\/a><\/td>';
	calendarString += '<\/tr>';
	calendarString += '<\/table>';
	calendarString += '<\/td>';
	calendarString += '<\/tr>';
	calendarString += '<\/table>';

	var object=document.getElementById('calendar');
	object.innerHTML= calendarString;
	thisDate = 1;
}


function checkevents(day,month,year,week,dayofweek) {
var numevents = 0;
	for (var i = 0; i < events.length; i++) {
		if ((events[i][0].substring(0,4) == year) && (events[i][0].substring(4,6) == month) && (events[i][0].substring(6,8) == day)) {
			numevents++;
		}
	}
	if (numevents == 0) {
		return false;
	} else {
		return true;
	}
}


function getexpr(day,month,year,week,dayofweek) {
// return title="cssbody=[body] cssheader=[header] singleclickstop=[on] header=[xxxxxx] body=[xxxxx]"
var txtheader = "";
var txtbody = "";
	for (var i = 0; i < events.length; i++) {
		if ((events[i][0].substring(0,4) == year) && (events[i][0].substring(4,6) == month) && (events[i][0].substring(6,8) == day)) {
			if (txtheader == "") {
				txtheader = 'Events of: ' + month +'/'+ day +'/'+ year;
			}
			txtbody += events[i][1] + '<br \/>';
		}
	}
	if (txtbody != "") {
		return 'title="cssbody=[boxbody] cssheader=[boxheader] singleclickstop=[on] header=['+txtheader+'] body=['+txtbody+']"';
	} else {
		return '';
	}
}

