
var ns4 = (document.layers)? true:false;
var ie4 = (document.all)? true:false;
var br5 = (document.getElementById)? true:false;

oCalendar=new calendarObj('oCalendar');

function calendarObj(name){
	var url
	var dDate = new Date();
	url = window.location.href.split("/");
	this.url = url[3];
	this.name = name;
	this.currYear = dDate.getFullYear();
	this.currMonth = dDate.getMonth() + 1;
	this.currDay = dDate.getDate();
	this.url;
	if(ns4) {
		document.write(fnDrawCalPosition());
		document.write("<TABLE width='100%' cellspacing='0' cellpadding='0' border='0'><TR><TD height='162' bgcolor='#ffffff' valign='top'>");
		document.write("<DIV id='calendar'>");
		document.write("<DIV id='calendarTitleBar'>");
		document.write("<DIV class='eventTitle'></DIV>");
		document.write("</DIV>");
		document.write("</DIV>");
		document.write("</TD></TR></TABLE>");
	} else if(br5 || ie4) {
		document.write("<TABLE width='100%' cellspacing='0' cellpadding='0' border='0'><TR><TD height='162' bgcolor='#ffffff' valign='top'>");
		document.write("<DIV id='calendar'>");
		document.write("<DIV id='calendarTitleBar'>");
		document.write("<DIV class='eventTitle'></DIV>");
		document.write("</DIV>");
		document.write("</DIV>");
		document.write("</TD></TR></TABLE>");
	}	
}

function fnDaysInMonth(month, year) {
        var dim;

	switch(month) {
        case 2:
            if(0 == (year % 400)) dim = 29;
            else if(0 == (year % 100)) dim = 28;
            else if(0 == (year % 4)) dim = 29;
            else dim = 28;
            break;
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            dim = 31;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            dim = 30;
            break;
        }
        return dim;
}

function fnBuildCal(iYear, iMonth) {
	var aMonth = new Array();
	aMonth[0] = new Array(7);
	aMonth[1] = new Array(7);
	aMonth[2] = new Array(7);
	aMonth[3] = new Array(7);
	aMonth[4] = new Array(7);
	aMonth[5] = new Array(7);
	aMonth[6] = new Array(7);
	var dCalDate = new Date(iYear, iMonth-1, 1);
	var iDayOfFirst = dCalDate.getDay();
	var iDaysInMonth = fnDaysInMonth(iMonth, iYear);
	var iVarDate = 1;
	var i, d, w;

	aMonth[0][0] = "Su";
	aMonth[0][1] = "Mo";
	aMonth[0][2] = "Tu";
	aMonth[0][3] = "We";
	aMonth[0][4] = "Th";
	aMonth[0][5] = "Fr";
	aMonth[0][6] = "Sa";

	for (i = 0; i < iDayOfFirst; i++) {
		aMonth[1][i] = "s";
	}
	
	for (d = iDayOfFirst; d < 7; d++) {
		aMonth[1][d] = iVarDate;
		iVarDate++;
	}
	for (w = 2; w < 7; w++) {
		for (d = 0; d < 7; d++) {
			if (iVarDate <= iDaysInMonth) {
				aMonth[w][d] = iVarDate;
				iVarDate++;
			} else {
				aMonth[w][d] = "s";
				iVarDate++;
			}
			
		}
	}
	return aMonth;
}

function fnDrawCal(iYear, iMonth, iDay, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight) {
	var myMonth;
	var str;
	var dDate = new Date();
	
	myMonth = fnBuildCal(iYear, iMonth);
	
	str = ""
	str += "<table cellspacing='0' cellpadding='0' border='0'>";
	str += "<tr><td height='18' BGCOLOR='#990000' valign='center'><img src='/images/spacer.gif' width='1' height='10' border='0' alt='' align='left'/><font class='boxtitlewhite'>Events Calendar</font></td></tr>";
	str += "<tr><td>";
	str += "<table cellspacing='0' cellpadding='0' border='1'>";
	str += "<tr bgcolor='#ffffff'>";
	str += "<td align='center'>";
	str += "<table border='0' bordercolor='#999999' width='100%' colspan='7' cellpadding='0' cellspacing='0'>";
	str += "<tr bgcolor='#ffffff'>";
	str += "<td align='center' colspan='7'>";
	str += "<table border='0' bordercolor='#ffffff' width='100%' colspan='7'>";
	str += "<tr bgcolor='#ffffff'>";
	if((oCalendar.currYear == dDate.getFullYear()) && (oCalendar.currMonth == dDate.getMonth() + 1)) {
		str += "<td align='left' colspan='1' width='20'></td>";
	} else {
		str += "<td align='left' colspan='1' width='20'><a href='javascript:fnGoBack()'><img src='/images/arrow_left.gif' border='0'/></a></td>";//<img src='arrow_left.gif' border='0' style='cursor: hand' onclick='fnGoBack()'/>
	}	
	str += "<td align='center' colspan='5' width='148' BGCOLOR='#ffffff'><font size='0' color='#000000' face='Verdana, Arial, Helvetica, sans-serif'><b>" + fnGetMonth(iMonth) + " " + iYear +  "</b></font></td>";
	str += "<td align='right' colspan='1' width='20'><a href='javascript:fnGoForward()'><img src='/images/arrow_right.gif' border='0'/></a></td>";
	str += "</tr>";
	str += "<tr>";
	str += "<td align='center' colspan='1' width='26' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][0] + "</font></td>";
	str += "<td align='center' colspan='1' width='27' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][1] + "</font></td>";
	str += "<td align='center' colspan='1' width='27' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][2] + "</font></td>";
	str += "<td align='center' colspan='1' width='27' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][3] + "</font></td>";
	str += "<td align='center' colspan='1' width='27' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][4] + "</font></td>";
	str += "<td align='center' colspan='1' width='27' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][5] + "</font></td>";
	str += "<td align='center' colspan='1' width='27' BGCOLOR='#eeeeee'><font size='1'>" + myMonth[0][6] + "</font></td>";
	str += "</tr>";
	for(w = 1; w < 7; w++) {
		str += "<tr>";
			for(d = 0; d < 7; d++) {
				if(!isNaN(myMonth[w][d])) {
					if((myMonth[w][d] == oCalendar.currDay) && (oCalendar.currYear == dDate.getFullYear()) && (oCalendar.currMonth == dDate.getMonth() + 1)) {
						str += "<td align='center' width='26' BGCOLOR='#ffcc66'>";
					} else {
						str += "<td align='center' width='26' BGCOLOR='#eeeeee'>";
						
					}
					if((myMonth[w][d] < oCalendar.currDay) && (oCalendar.currYear == dDate.getFullYear()) && (oCalendar.currMonth == dDate.getMonth() + 1)) {
						str += "<font size='1'>" + myMonth[w][d] + "</font>";
						
					} else {
						str += "<font size='1'><a href='/" + oCalendar.url + "/aroundtown/eventResults.asp?calDate=" + oCalendar.currYear + "/" + oCalendar.currMonth + "/" + myMonth[w][d] + "'>" + myMonth[w][d] + "</a></font>";
					}
				} else {
					str += "<td align='center' width='26' BGCOLOR='#ffffff'>";
					str += "<font size='1'></font>";
				}
				str += "</td>";
			}
		str += "</tr>";
	}
	str += "</table>";
	str += "</td>";
	str += "</tr>";
	str += "</table>";
	str += "</td>";
	str += "</tr>";
	str += "</table>";
	str += "</td>";
	str += "</tr>";
	str += "</table><br/>";
	
	if(br5) {
		x = document.getElementById('calendar');
		x.innerHTML = str;
	} else if(ie4) {
		x = document.all('calendar');
		x.innerHTML = str;
	} else if(ns4) {
		document.layers["calendar"].document.layers["calendarTitleBar"].document.open();
		document.layers["calendar"].document.layers["calendarTitleBar"].document.write(str);
		document.layers["calendar"].document.layers["calendarTitleBar"].document.close();
	}
	
}

function fnGetMonth(itm) {
	var rtn = "";
	switch(parseInt(itm)) {
		case 1 :
			rtn = "January";
			break;
		case 2 :
			rtn = "February";
			break;
		case 3 :
			rtn = "March";
			break;
		case 4 :
			rtn = "April";
			break;
		case 5 :
			rtn = "May";
			break;
		case 6 :
			rtn = "June";
			break;	
		case 7 :
			rtn = "July";
			break;	
		case 8 :
			rtn = "August";
			break;	
		case 9 :
			rtn = "September";
			break;	
		case 10 :
			rtn = "October";
			break;	
		case 11 :
			rtn = "November";
			break;						
		case 12 :
			rtn = "December";
			break;		
	}
	return rtn;
}

function fnGoForward() {
	oCalendar.currMonth++;
	if(oCalendar.currMonth == 13) {
		oCalendar.currMonth = 1;
		oCalendar.currYear = oCalendar.currYear + 1;
	}
	fnDrawCal(oCalendar.currYear, oCalendar.currMonth, oCalendar.dCurDayOfMonth, 12, 8, "10px", "bold");
}

function fnGoBack() {
	oCalendar.currMonth--;
	if(oCalendar.currMonth == 0) {
		oCalendar.currMonth = 12;
		oCalendar.currYear = oCalendar.currYear - 1;
	}
	fnDrawCal(oCalendar.currYear, oCalendar.currMonth, oCalendar.dCurDayOfMonth, 12, 8, "10px", "bold");
}

function fnDrawCalPosition() {
	var str;
	str ="<STYLE TYPE='text/css'>";
	str += "#calendar {position:relative; left:0px; top:0px; width:188px; height:172px; clip:rect(0px 188px 172px 0px)}";
	str += "#calendarTitleBar {position:absolute; left:0px; top:0px; width:188px; height:172px; clip:rect(0px 188px 172px 0px);}";
	str += "</STYLE>";
	return str;

}

function init() {
	fnDrawCal(oCalendar.currYear, oCalendar.currMonth, oCalendar.dCurDayOfMonth, 12, 8, "10px", "bold");
}
