//------------------------
// Static Calendar Data:
//------------------------
// JavaScript Date Object "getMonth" method returns month as an integer [0-11]
	var month_name =	["January", "February", "March", "April", "May", "June", 
				 "July", "August", "September", "October", "November", "December"];

// JavaScript Date Object "getDay" method returns day of week as an integer[0-6]
	var day = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

// JavaScript Date Object "getDate" method returns day of month as an integer[1-31]
	var num_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

// Background Colors:
// Concord: #99ffff, Portsmouth: #cc99ff, Ralph Page: #999900, DownEast: #ffccc,
// NEFFA: #99ff00, Kingston: #ff6600, Ball: #ff6600, First Night: #ffff00
// NEW:
var color_ref = {
	CON:["#99ffff","<a href=\"#concorddir\">"],
	POR:["#cc99ff","<a href=\"#portsdir\">"],
	RP: ["#999900","<a href=\"http://web.mac.com/peterynh/iWeb/music/ralph-page-dance-legacy-weekend.html\">"],
	DE: ["#ffccc", "<a href=\"http://www.starleft.org/decdf/\">"],
	NEF:["#99ff00","<a href=\"http://www.neffa.org/What_is_Festival.html\">"],
	//KIN:["#ffff00","<a href=\"double.html\">"],
	KIN:["#ffff00"],
	//BAL:["#ff6600","<a href=\"ballpics.html\">"]
	BAL:["#ff6600"]
};
var date_ref = [
		{10:"CON", 15:"RP", 16:"RP", 17:"RP"  }, // January
		{14:"CON"                             }, // February
		{14:"CON", 27:"DE", 28:"DE"            }, // March
		{11:"CON", 24:"NEF", 25:"NEF", 27:"NEF"}, // April
		{9:"CON"                             }, // May
		{13:"CON"                              }, // June
		{}, // July
		{}, // August
		{12:"CON"                             }, // September
		{10:"CON"                             }, // October
		{14:"CON"                              }, // November
		{13:"CON"                              } // December
];
// END NEW
	var PORT_dates = "no dates scheduled, at this time<br><br>";
	var CON_dates = "1/10, 2/14, 3/14, 4/11, 5/9, 6/13,<br>9/12, 10/10, 11/14, 12/13<br><br>";
// Performers
var CON_perf = [
{"TBA":"Leader", "Bruce Cobb":"Fiddle", "Justine Paul":"Piano" }, // January
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // February
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // March
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument"}, // April
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // May
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // June
{}, // July
{}, // August
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // September
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // October
{"TBA":"Leader", "TBA":"Instrument", "TBA":"Instrument" }, // November
{"David Bateman":"Leader", "Vince O'Donnell":"Fiddle", "Ken Allen":"Piano" }  // December

		];
var PORT_perf = [
		{}, // January
		{}, // February
		{}, // March
		{}, // April
		{}, // May
		{}, // June
		{}, // July
		{}, // August
		{}, // September
		{}, // October
		{}, // November
		{}  // December
		];


//------------------------
// Dynamic Data
//------------------------
// TODAY's Date, Month, Year and Day of Week
var e = new Date();      // Today's Date
var m = e.getMonth();    // This month
var mn = (m+1)%12;
var year= e.getFullYear();
var dom = e.getDate();
var dow = e.getDay();

// Names of THIS MONTH, NEXT MONTH; Numbeer of Days OF THIS MONTH
var thismonth = month_name[m];
var nextmonth = month_name[mn];
var numdays = num_days_in_month[m];
var rem = dom % 7;

//TEST: THIS WORKS!!
var TM = new Date();     // Get a new date object for this month
TM.setMonth(m);          // Set it to the same month as this one
TM.setDate(1);           // Set it to the first day of the month
var dow_fd = TM.getDay();  // Day of the week of the first day

var NM = new Date();     // Get a new date object for next month
NM.setMonth(m+1);        // Set it to next month
NM.setDate(1);           // Set it to the first day of the month
var dow_fd_n = NM.getDay(); // Day of the week of the first day
//END TEST

var idx = dow - (rem -1);
if (idx < 0) idx = 7 + idx;
// *********TEST*****************
//var dow_fd = idx ;// Weekday of first day of month
//var dow_fd_n = ((numdays % 7) + dow_fd )%7;
//**********END TEST************

function print_date() 
{
	var datestr = e.toLocaleString();
	document.write(datestr);
	//document.write("Today's date is: " + (m+1) + "/" + dom + "/" + year); 
}

function print_month(x)
{
	document.write(x);
}
function print_day_of_week_this_month()
{
	document.write(dow_fd);

}
function print_day_of_week_next_month()
{
	document.write(dow_fd_n);

}
function print_calendar(c,idx,fd,num)
{
	var TD = "<td align='center' width='100' ";
	var BG = "  bgcolor=";
var TDC = ">";
var FSO = "<font color='#000000'>";
	var FS = "><font color='#000000'>";
	var FE = "</font>";
	var TE = "</td>";
var HREF = "";
var NS = "";

	var start_table = 
	"<table width='134' height='*' border='1' bgcolor='#ffffff'><tr><td align='center' width='134'>" ;
	var hdr_start = 
	"<tr><td align='center' width='134'><table width='134' height='*' border='0'><tr><td align='center' width='100' ><font color='#000000'><h4>";
	var end_hdr = "</h4></font></td></tr></font></table></td</tr>";
	var end_table = "</td></tr></table>";

	var cal_start = "<tr><td align='center' width='134'><table width='134' border='0'>";
	var h1 = TD + FS + "&nbsp S" + FE + TE;
	var h2 = TD + FS + "&nbsp M" + FE + TE;
	var h3 = TD + FS + "&nbsp T" + FE + TE;
	var h4 = TD + FS + "&nbsp W" + FE + TE;
	var h5 = TD + FS + "&nbsp T" + FE + TE;
	var h6 = TD + FS + "&nbsp F" + FE + TE;
	var h7 = TD + FS + "&nbsp S" + FE + TE;
	var cal_hdr = "<tr>" + h1 + h2 + h3 + h4 + h5 + h6 + h7 + "</tr>";
	var cal_end = "</table></td></tr>";

	// WEEK 
	var w = ["","","","","","",""];
	var week = "";
	var color = "";

	document.write(start_table);
	document.write(hdr_start + c + end_hdr);
	document.write(cal_start);

	document.write(cal_hdr);

	// for 1-n weeks, write the week
	var i;
	var day = 1;
	// FIRST WEEK
	for(i=0;i<fd;i++)
	{
		w[i] = TD + FS + "&nbsp &nbsp" + FE + TE;
	}
	for(i=fd;i<7;i++)
	{
		if(date_ref[idx][day]) 

		{
			color = BG + color_ref[date_ref[idx][day]][0];
			HREF = color_ref[date_ref[idx][day]][1];
			w[i] = TD + color + TDC + HREF + FSO + "&nbsp " + day + FE + "</a>" + TE;
		}
		else
		{
 			w[i] = TD  + FS + "&nbsp " + day + FE + TE;
		}

		day++;
	}
	week = "<tr>" + w[0] + w[1] + w[2] + w[3] + w[4] + w[5] + w[6] + "</tr>";
	document.write(week);

	for(k=7-fd;k<num;k=k+7)
	{
		for(i=0;i<7;i++)
		{
			if(day<10) 
			{
				NS = "&nbsp ";
			}
			else if((day>=10) && (day <= num))
			{
				NS = "";
			}
			else
			{
				NS = "&nbsp &nbsp";
			}

			if(date_ref[idx][day]) 
			{
				color = BG + color_ref[date_ref[idx][day]][0];
				HREF = color_ref[date_ref[idx][day]][1];
				w[i] = TD + color + TDC + HREF + FSO + NS + day + FE + "</a>" + TE;
			}
			else
			{
 				w[i] = TD  + FS + NS + day + FE + TE;
			}
			if(day>num) 
		
			{
				w[i] = TD + FS + NS + FE + TE;
			}

			week = "<tr>" + w[0] + w[1] + w[2] + w[3] + w[4] + w[5] + w[6] + "</tr>";
			day++;
		}
		week = "<tr>" + w[0] + w[1] + w[2] + w[3] + w[4] + w[5] + w[6] + "</tr>";
		document.write(week);
	}
	document.write(cal_end);
	document.write(end_table);
}
function print_portsmouth_dates()
{
	document.write(PORT_dates);
}
function print_concord_dates()
{
	document.write(CON_dates);
}
function calendar_this_month()
{
// TEST
	//print_calendar(thismonth,m,dow_fd_n,num_days_in_month[m]);
	print_calendar(thismonth,m,dow_fd,num_days_in_month[m]);
}
function calendar_next_month()
{
// TEST
	print_calendar(nextmonth,mn,dow_fd_n,num_days_in_month[mn]);
}
function print_CON_performers(x,fc)
{
	var str;
	var format_start = "<font color=" + fc + "><b>";
	var format_end = "</b></font>&nbsp;&nbsp;";
	for (var prop in CON_perf[x])
	{
		str = format_start + prop + format_end + " (" + CON_perf[x][prop] + ")<br>";
		document.write(str);
	}
}
function print_PORT_performers(x,fc)
{
	var str;
	var format_start = "<font color=" + fc + "><b>";
	var format_end = "</b></font>&nbsp;&nbsp;";
	for (var prop in PORT_perf[x])
	{
		str = format_start + prop + format_end + " (" + PORT_perf[x][prop] + ")<br>";
		document.write(str);
	}
}
function print_CON_performers_this_month()
{
	print_CON_performers(m,"#ffff00");
}
function print_PORT_performers_this_month()
{
	print_PORT_performers(m,"#ffff00");
}
function print_CON_performers_next_month()
{
	print_CON_performers(mn,"#000000");
}
function print_PORT_performers_next_month()
{
	print_PORT_performers(mn,"#000000");
}
