	var mo = "";
	var year = "";
	var currentmonth = today.getMonth();
	var currentyear = today.getFullYear();
	
	var dCurrCalDate = new Date(sCurrCalDate);
	mo = dCurrCalDate.getMonth();
	year = dCurrCalDate.getFullYear();
	
	//backup four months and refresh
	function backup(nMonScroll) {
		//check for a new year being set
		var sForm = window.document.forms["REPORT_FORM"];
		var dCurrCalDate = new Date(sForm.dCurrentDate.value);

		var iSetMonth = dCurrCalDate.getMonth();
		var iSetYear = dCurrCalDate.getFullYear();
	
		iSetMonth -= parseInt(nMonScroll);
		if (iSetMonth < 0) {
			iSetYear--;
			iSetMonth += 12;
		}
		
		//if(iSetMonth > 0) {
		//	iSetMonth--;
		//} else {
		//	iSetMonth = 11;
		//	//check for 19**
		//	if(iSetYear == 2000) {
		//		iSetYear = 1999;
		//	} else if(iSetYear <= 1999) {
		//		syear = iSetYear.substring(2,iSetYear.length);
		//		syear--;
		//		iSetYear = "19" + syear;
		//		Number(iSetYear);
		//	} else {
		//		iSetYear--;
		//	}
		//}
		
		var curMonth = (iSetMonth+1) + "/01/" + iSetYear;
		var sFilter = sForm.sFilter.value;
		var sStart = sForm.dBegin.value;
		var sEnd = sForm.dEnd.value;
		var sPage = 'EventsReport';
		if (window.document.forms["REPORT_FORM"].CALBLOCK.value=='TRUE') {
			sPage = 'view_month';
		}
		
		document.location="/churchDB/Calendar/"+sPage+".asp?PAGE=COMPILE&EventType=ALL&dBegin=" + 
			sStart + "&dEnd=" + sEnd + "&dCurrentDate=" + curMonth + "&sFilter=" + sFilter;
	}
	
	//go forward four months and refresh
	function stepup(nMonScroll) {
		//check for a new year being set
		var sForm = window.document.forms["REPORT_FORM"];
		var dCurrCalDate = new Date(sForm.dCurrentDate.value);

		var iSetMonth = dCurrCalDate.getMonth();
		var iSetYear = dCurrCalDate.getFullYear();

		iSetMonth += parseInt(nMonScroll);
		if (iSetMonth > 11) {
			iSetYear++;
			iSetMonth -= 12;
		}


		//if(iSetMonth <  11) {
		//	iSetMonth++;
		//} else {
		//	iSetMonth = 0;
		//	iSetYear++;
		//}
		var curMonth = (iSetMonth+1) + "/01/" + iSetYear;
		var sFilter = sForm.sFilter.value;
		var sStart = sForm.dBegin.value;
		var sEnd = sForm.dEnd.value;
		var sPage = 'EventsReport';
		if (window.document.forms["REPORT_FORM"].CALBLOCK.value=='TRUE') {
			sPage = 'view_month';
		}

		document.location="/churchDB/Calendar/"+sPage+".asp?PAGE=COMPILE&EventType=ALL&dBegin=" + 
			sStart + "&dEnd=" + sEnd + "&dCurrentDate=" +curMonth + "&sFilter=" + sFilter;
	}
	
	//go pick a new date - single
	function newDate(sMonth, sDay, sYear) {
	
		var sStart = parseInt(sMonth)+1 + "/" + sDay + "/" + sYear.toString();
		var sEnd = parseInt(sMonth)+1 + "/" + sDay + "/" + sYear.toString();
		var sFilter = window.document.forms["REPORT_FORM"].sFilter.value;
		var curMonth = window.document.forms["REPORT_FORM"].dCurrentDate.value;
		var sPage = 'EventsReport';
		if (window.document.forms["REPORT_FORM"].CALBLOCK.value=='TRUE') {
			sPage = 'view_day';
		}
		document.location="/churchDB/Calendar/"+sPage+".asp?PAGE=COMPILE&EventType=ALL&dBegin=" + 
			sStart + "&dEnd=" + sEnd + "&dCurrentDate=" +curMonth + "&sFilter=" + sFilter;
	}
	
	//go pick a new date range - week
	function newWeek(sMonth, sDayStart, sDayEnd, sYear) {
	
		var sStart = parseInt(sMonth)+1 + "/" + sDayStart + "/" + sYear.toString();
		var sEnd = parseInt(sMonth)+1 + "/" + sDayEnd + "/" + sYear.toString();
		var sFilter = window.document.forms["REPORT_FORM"].sFilter.value;
		var curMonth = window.document.forms["REPORT_FORM"].dCurrentDate.value;
		var sPage = 'EventsReport';
		if (window.document.forms["REPORT_FORM"].CALBLOCK.value=='TRUE') {
			sPage = 'view_week';
		}

		document.location="/churchDB/Calendar/"+sPage+".asp?PAGE=COMPILE&EventType=ALL&dBegin=" + 
			sStart + "&dEnd=" + sEnd + "&dCurrentDate=" +curMonth + "&sFilter=" + sFilter;
	}

	
	var nMonDisplay = "6";
	var nMonScroll  = "6"; 
	
	var calbg = "#FFFFFF";
	var calwidth = "90";
	var twidth = "10";
	var theight = "10";
	
	var monthbg = "#ffc621";
	var monfam = "verdana,arial,helvetica";
	var monsize = "8pt"
	var moncol = "#ffffff"
	
	var weekbg = "#FFFFFF";
	var weekfam = "verdana,arial,helvetica";
	var weeksize = "6pt";
	var weekcol = "#000000";
	
	var daybg = "#FFFFFF";
	var dayfam = "verdana,arial,helvetica";
	var daysize = "6pt";
	var daycol = "#000000";
	var sdaycol = "#ff0000";

	var sDoW = "1";
	var eDoW = "";
	var calendar = "";
	
	calendar =  "<table class='formtable border' bgcolor='" + calbg + "' width='" + calwidth + "' border='1' style='border-collapse:collapse;' cellpadding='0' cellspacing='0'>";
	calendar += "<tr>";
	calendar += "<td align='center'>";

	var iThisMonth;
	//first starting day of month
	var first;
	//variable for day count
	var count;
	//variables for leap year
	var factor;
	var endday; 
	
	//for multiple month calendar
	//g_nCalMonths g_CalScroll
	var m = 1;
	while (m < parseInt(nMonDisplay)+1 ) {
		if (m == 1) {
			iThisMonth = mo; 
			first = months[iThisMonth] + " 01, " + year;
			firstday = new Date(first);
			startday = firstday.getDay();

			count = 1;
			factor = startday - 1;
			endday= parseInt(monthlen[mo]) + factor;
		}
		if (m > 1) {
			iThisMonth = parseInt(iThisMonth)+1;
			if (iThisMonth == 12) {
				iThisMonth = 0;
				year = parseInt(year) + 1;
			}
			first = months[iThisMonth] + " 01, " + year;
			firstday = new Date(first);
			startday = firstday.getDay();

			//variable for day count
			count = 1;
			sDoW = "1";
			//variables for leap year
			factor = startday - 1;
			if (iThisMonth==1)   {
				endday = parseInt(checkLeapYear(year))+factor;
			} else {
				endday = parseInt(monthlen[iThisMonth]) + factor;
			}
		}
	
		<!-- Month Starts Here -->
			calendar += "<table width='100%' border='0' cellpadding='3' cellspacing='0'>";
			calendar += "<tr class='MonthHeader'>";
			if (m==1) {
				calendar += "<td align='center'><a href='javascript:backup(" + nMonScroll + ");'><img src='/churchDB/Images/triangle_left.gif' border='0'></a></td>";
			} else {
				calendar += "<td>&nbsp;</td>";
			}
			calendar += "<td width='100%'  align='center'><b>";
			calendar +=  months[iThisMonth] + " " + year ;
			calendar += "</b></td>";
			if (m==1) {
				calendar += "<td align='center'><a href='javascript:stepup(" + nMonScroll + ");'><img src='/churchDB/Images/triangle_right.gif' border='0'></a></td>";
			} else {
				calendar += "<td>&nbsp;</td>";
			}
			calendar += "</tr>";
			calendar += "</table>";
		<!-- Month Ends Here -->	
	
		calendar += "</td>";
		calendar += "</tr>";
		calendar += "<tr>";
		calendar += "<td align='center'>";
	
		<!-- Week Starts Here -->
			calendar += "<table width='100%' border='0' cellpadding='3' cellspacing='0'>";
			calendar += "<tr class='DaysOfWeek'>";

			for(i = 0; i < 7; i++) {
				calendar += "<td width='" + twidth + "' align='right' valign='middle'><b>";
				calendar += days[i];
				calendar += "</b></td>";
			}

			calendar += "<td width='" + twidth + "'>&nbsp;</td></tr>";
			//calendar += "<tr><td colspan=8>" + sDateList + "</td></tr>";
			calendar += "</table>";
		<!-- Week Ends Here -->
	
		calendar += "</td>";
		calendar += "</tr>";
		calendar += "<tr>";
		calendar += "<td align='center'>";
	
		<!-- Day Starts Here -->
				calendar += "<table width='100%' border='0' cellpadding='2' cellspacing='1'>";
				calendar += "<tr class='Days'>";
		
				if(startday > 0) {
					for(empty = 0; empty < startday; empty++) {
						calendar += "<td width='" + twidth + "' height='" + theight + "'>&nbsp;</td>";
					}
				}
		
				for (i = startday; i <= endday;i++) {
					if ((i!=0) && ( (i % 7) == 0)) {
						eDoW = (count-1);
						calendar += "<td width='" + twidth + "'><a href='javascript:newWeek(" + iThisMonth +"," + sDoW + "," + eDoW + "," + year +");' class='FullWeekLink' style='color:#ffc621;'>W</a></td>";
						calendar += "</tr><tr class='Days'>";
						sDoW = count;
					}
					
					var sTodayStyle = "" ;
					var ckToday = new Date();

					if ((ckToday.getMonth() == parseInt(iThisMonth)) && 
						(ckToday.getFullYear() == parseInt(year)) &&
						(ckToday.getDate() == parseInt(count))) {
						sTodayStyle = " IsToday" ;
					}
					
					var sThisDate = new Date(parseInt((iThisMonth+1)) + '/' + count + '/' + year);
					
					//if (ckToday == sThisDate) sTodayStyle = " IsToday" ;
					
					if ((sThisDate >= startDate) && (sThisDate <= endDate)) {

					
					//keep highlight info on the selected month and day
					//if( (sDateList.indexOf(("|" + count + "*")) >= 0) && ((currentmonth == parseInt(iThisMonth)) && (currentyear == year))) {
						calendar += "<td width='" + twidth + "' height='" + theight + "' align='right' valign='top' class='SelectedDay" + sTodayStyle +"'><b>";
						calendar += "<a href='javascript:newDate(" + iThisMonth +"," + count+","+ year +");' class='SelectedDay' >" + count + "</a>";
						//calendar += sTodayStyle;
						calendar += "</b></td>";
					} else {
						calendar += "<td width='" + twidth + "' height='" + theight + "' bgcolor='" + daybg + "' align='right' valign='top' class='" + sTodayStyle +"' >";
						calendar += "<a href='javascript:newDate(" + iThisMonth +"," + count+","+ year +");' class='AnyDay'>" + count + "</a>";
						//calendar += sTodayStyle;
						calendar += "</td>";
					}
			
					count++;
				}
				//Fill in the last "W"
				if ( (i % 7) != 0 ) {
					for (var q=((i % 7)); q<7; q++) {
						calendar += "<td width='" + twidth + "' height='" + theight + "'>&nbsp;</td>";
					}
				}
				calendar += "<td width='" + twidth + "'><a href='javascript:newWeek(" + iThisMonth +"," + sDoW + "," + (count-1) + "," + year +");' class='FullWeekLink' style='color:#ffc621;'>W</a></td>";
		
				calendar += "</tr>";
				calendar += "</table>";
			<!-- Day Ends Here -->

			m++;
		}
		
		calendar += "</td>";
		calendar += "</tr>";
		calendar += "</table>";
		

