var gMonth, gYear;
var	gNow = new Date();
var month;

function loadCalendar(p_month, p_year)
{
	document.write("<TABLE height=290 BORDER=0 width=511 cellpadding=1 cellspacing=0 BGCOLOR=\"#C7DEEA\">");
	document.write("<TR>");
	document.write("<TD class=calendar_day_name>m</TD>");
	document.write("<TD class=calendar_day_name>t</TD>");
	document.write("<TD class=calendar_day_name>w</TD>");
	document.write("<TD class=calendar_day_name>th</TD>");
	document.write("<TD class=calendar_day_name>f</TD>");
	document.write("<TD class=calendar_day_name>s</TD>");
	document.write("<TD class=calendar_day_name>su</TD>");
	document.write("</TR>");

	var vDate = new Date();
	vDate.setDate(1);
	if (p_month == null || p_month == -1)
	{	
		var m = new Date();
		gMonth = m.getMonth();
	}
	else
		gMonth = p_month;
	vDate.setMonth(gMonth);
	if (p_year == null || p_year == -1)
	{	
		var y = new Date();
		gYear = m.getFullYear();
	}
	else
		gYear = p_year;
	vDate.setFullYear(gYear);

	var vFirstDay = vDate.getDay() - 1;
	var vDay=1;
	var vLastDay=Calendar.get_daysofmonth(gMonth, gYear);
	var vOnLastDay=0;
	var vCode = "";

	if (vFirstDay == "-1") 
		vFirstDay = "6";
	document.write("<TR>");
	for (i=0; i<vFirstDay; i++) {
		document.write("<TD class=blank WIDTH='14%'>&nbsp;</TD>");
	}
	// Write rest of the 1st week
	for (j=vFirstDay; j<7; j++) {
		document.write("<TD nowrap class =" + write_weekend_string(vDay) + ">" + format_day(vDay) + "</TD>");
		vDay=vDay + 1;
	}
	document.write("</TR>");
	

	// Write the rest of the weeks
	for (k=2; k<7; k++) {
		document.write("<TR>");

		for (j=0; j<7; j++) {
			document.write("<TD nowrap class=" + write_weekend_string(vDay) + ">" + format_day(vDay) + "</TD>");
			vDay=vDay + 1;

			if (vDay > vLastDay) {
				vOnLastDay = 1;
				break;
			}
		}

		if (j == 6)
			document.write("</TR>");
		if (vOnLastDay == 1)
			break;
	}
	
	// Fill up the rest of last week with proper blanks, so that we get proper square blocks
	for (m=1; m<(7-j); m++) {
		document.write("<TD class=blank>&nbsp;</TD>");
	}
	document.write("</TABLE>");
} 
function format_day(vday) {
	for (var i=0; i<weekend.length; i++) {
		if (vday == weekend[i])
			return ("<span class=weekend_num>" + add_events(vday, 1) + "</span>");
	}
	return ("<span class=calendar_day_num>" + add_events(vday, 0) + "</span>");
}
function write_weekend_string (vday) {
	// Return special formatting for the weekend day.
	for (var i=0; i<weekend.length; i++) {
		if (vday == weekend[i])
			return ("weekend ");
	}
	return "calendar_day ";
}
function add_events (vday, isWeekend) {
	for (var i=0; i<events[0].length; i++) {
		if (vday == events[0][i])
			if (isWeekend == 1)
				return (vday + "<span class=event_weekend_decs>" + events[1][i] + "</span>");
			else
				return (vday + "<span class=event_day_decs>" + events[1][i] + "</span>");
	}
	return vday;
}

var monthsArr = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

function loadSmallCalendar(p_month, p_year, calNum, siteNum, size)
{
	var vDate = new Date();
	vDate.setDate(1);
	if (p_month == null || p_month == -1)
	{	
		var m = new Date();
		gMonth = m.getMonth();
	}
	else
		gMonth = p_month;
	if (gMonth == 12)
		gMonth = 0;
	if (gMonth == -1)
		gMonth = 11;
	vDate.setMonth(gMonth);
	if (p_year == null || p_year == -1)
	{	
		var y = new Date();
		gYear = m.getFullYear();
	}
	else
		gYear = p_year;
	vDate.setFullYear(gYear);

	var vFirstDay = vDate.getDay() - 1;
	var vDay=1;
	var vLastDay=Calendar.get_daysofmonth(gMonth, gYear);
	var vOnLastDay=0;
	var vCode = "";
	var rowNum = 0;
	var sightNum = "";
	
	if (siteNum != "-1")
		sightNum = "Sight " + siteNum;
		

	var width;
	var t_class;
	var col_w;
	if (size == "big") {
		width = 172;
		t_class = "cal_big_background";
	}
	else {
		width = 154;
		t_class = "cal_background";
	}
		
	document.write("<TABLE class=" + t_class + " height=100 BORDER=0 height=110 width= " + width + " cellpadding=0 cellspacing=0>");
	document.write("<TR>");
	document.write("<TD colspan=7 class=small_calendar_day_caption>" + monthsArr[gMonth] + " " + gYear + " <span class=small_calendar_day_blue_caption>" + sightNum + "</span></TD>");
	document.write("</TR>");
	document.write("<TR>");
	document.write("<TD class=small_calendar_day_name>m</TD>");
	document.write("<TD class=small_calendar_day_name>t</TD>");
	document.write("<TD class=small_calendar_day_name>w</TD>");
	document.write("<TD class=small_calendar_day_name>th</TD>");
	document.write("<TD class=small_calendar_day_name>f</TD>");
	document.write("<TD class=small_calendar_day_name>s</TD>");
	document.write("<TD class=small_calendar_day_name>su</TD>");
	document.write("</TR>");
	
	if (vFirstDay == "-1") 
		vFirstDay = "6";
	document.write("<TR>");
	for (i=0; i<vFirstDay; i++) {
		document.write("<TD class=small_blank>&nbsp;</TD>");
	}
	// Write rest of the 1st week
	for (j=vFirstDay; j<7; j++) {
		document.write("<TD class =" + write_small_weekend_string(vDay, calNum, size) + ">" + format_small_day(vDay, calNum) + "</TD>");
		vDay=vDay + 1;
	}
	document.write("</TR>");
	rowNum ++;

	// Write the rest of the weeks
	for (k=2; k<7; k++) {
		document.write("<TR>");

		for (j=0; j<7; j++) {
			document.write("<TD class=" + write_small_weekend_string(vDay, calNum, size) + ">" + format_small_day(vDay, calNum) + "</TD>");
			vDay=vDay + 1;

			if (vDay > vLastDay) {
				vOnLastDay = 1;
				break;
			}
		}

		if (j == 6)
			document.write("</TR>");
		rowNum++;
		if (vOnLastDay == 1)
			break;
	}
	
	// Fill up the rest of last week with proper blanks, so that we get proper square blocks
	for (m=1; m<(7-j); m++) {
		document.write("<TD class=small_blank>&nbsp;</TD>");
	}
	if (rowNum < 6)
		document.write("<tr height=100% class=small_last><td>1</td></tr>");
	document.write("</TABLE>");
} 
function write_small_weekend_string (vday, calNum, size) {
	// Return special formatting for the weekend day.	
	var weekendArr = calNum;
	//alert(weekendArr);
	for (var i=0; i<weekendArr.length; i++) {
		if (vday == weekendArr[i])
			if (i == 0)
				if (size = "big")
					return("b_small_weekend_begin ");
				else
					return("small_weekend_begin ");
			else if (i == weekendArr.length - 1)
				if (size = "big")
					return("b_small_weekend_end ");
				else
					return("small_weekend_end ");
			else
				if (size = "big")
					return("b_small_weekend ");
				else
					return ("small_weekend ");
	}
	return "small_calendar_day ";
}
function format_small_day(vday, calNum) {
	var weekendArr = calNum;
	for (var i=0; i<weekendArr.length; i++) {
		if (vday == weekendArr[i])
			return ("<span class=small_weekend_num>" + vday + "</span>");
	}
	return ("<span class=small_calendar_day_num>" + vday + "</span>");
}

function showDate(month, year, mnum, regular)
{	
	if(regular=="false")
	{
		changeYearly(year + mnum);
		return;
	}
	
		
	var mDrp = document.all['Months'];
	var yDrp = document.all['Years'];
	var frm = document.all['form1'];
	//alert(month + ", " + year + " , " + mnum);
	if(mnum == 1)
	{
		if(month == 11)
		{
			mDrp.value = 0;
			yDrp.value = year + 1;
		}		
		else
		{
			
			mDrp.value = month + 1;
			yDrp.value = year;
		}
	}
	else
	{
		if(month == 0)
		{
			mDrp.value = 11;
			yDrp.value = year - 1;
				
		}		
		else
		{
			
			mDrp.value = month - 1;
			yDrp.value = year;
		}
	}
	frm.submit();
}

function changeYearly(val)
{
	document.all["yearly"].value = val;
	document.all["calType"].value = 1;
	document.all['form1'].submit();
}

function after_load() {
	if (!eval(document.all['next_but'])) {
		setTimeout("after_load()",100);
		return;
	}
	else {
		if ((mn == 11) && (yr == "2005")) {
			document.all.next_but.style.visibility = 'hidden';
		}
		else {
			document.all.next_but.style.visibility = 'visible';
		}
		if ((mn == 0) && (yr == "2004")) {
			document.all.prev_but.style.visibility = 'hidden';
		}
		else {
			document.all.prev_but.style.visibility = 'visible';
		}
	}
}