// calendar javascript
// call this script file just after the <body> statement
var months = Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var fullMonths = Array('January','February','March','April','May','June','July','August','September','October','November','December');
var fullDays = Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var tt_cal_legend='<h4><center>Using the Events Calendar</center></h4><hr><p>Events are listed as far in advance as possible (usually 2-3 weeks).  Check the other parts of our web page for details, or email info@apple-nc.org.</p><hr><table style="font-size:12px" width="100%"><tr><td colspan="3" width="100%"><center>Hold the mouse over a date to see event details:</center></td></tr><tr><td width="10%" style="background:#6f6">&nbsp</td><td width="10%"><center>=</center></td><td width="80%"><b>Sustainability Main  Event</b></td></tr><tr><td width="10%" style="background:#4b4">&nbsp</td><td width="10%"><center>=</center></td><td width="80%"><b>APPLE Working Group or Core Meeting(s)</b></td></tr><tr></tr><tr><td colspan="3" width="100%"><center>In addition, <span style="color:white;background:#48b"><b>WHITE TEXT</b></span> indicates other organizations\' regional sustainability events.</center></td></tr><tr><td width="10%" style="background:#4682b4"><img src="./img/icons/prev.gif">&nbsp<img src="./img/icons/next.gif"></td><td width="10%"><center>=</center></td><td width="80%">Show previous / next month</td></tr><tr><td width="10%" style="background:#4682b4"><center><img src="./img/icons/close.gif"></center></td><td width="10%"><center>=</center></td><td width="80%">Close the events calendar</td></tr></table>';
function monthLength(month,year) {
	var month=date.getMonth();
	var year=date.getYear();
	var totald = 30;
	if (month == 0
		|| month == 2
		|| month == 4
		|| month == 6
		|| month == 7
		|| month == 9
		|| month == 11) totald = 31;
	if (month == 1) {
		if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0))
			totald = 29;
		else
			totald = 28;
	}
	return totald;
}
function firstDOW() {
	var dow = date.getDay();
	var day = date.getDate()-1;
	if (day % 7 == 0) return dow;
	return (7 + dow - (day % 7)) % 7;
}
function generateHTML() {
	var yyyy=date.getFullYear();
	var html = '<table style="border-collapse:separate;background:#f0dca3;font-size:14px;border:0px;margin:0px;border-spacing:2px;"><TR><TD colspan="7">';
	html += '<TR><TD colspan="7"><TABLE cols="7" style="background:#4682b4" width="100%">';
	html += '<TR><TD><A class="quiet" HREF="javascript:void(0);" onClick="decrMonth()"><IMG src="./img/icons/prev.gif"></A></TD><TD COLSPAN="3" style="color:white;font-weight:bold;font-size:12px" CLASS="wk"><CENTER>' + months[date.getMonth()] + ' ' + yyyy + '</CENTER></TD><TD align="right"><A HREF="javascript:void(0)" CLASS="quiet" onClick="incrMonth()"><img src="./img/icons/next.gif"></A></TD>';
	html += '<TD align="right" width="20px"><a class="quiet" href="javascript:void(0)" onmouseover="return escape(tt_cal_legend)"><img src="./img/icons/help.gif"></a></td><td align="right" width="20px"><A HREF="javascript:void(0)" class="quiet" onClick="document.getElementById(\'cal\').style.visibility=\'hidden\'"><img src="./img/icons/close.gif"></A></TD></TR></TABLE></TD></TR>';
	html += '<TR><TD class="wknd" WIDTH="14%">Su</TD><TD WIDTH="14%" CLASS="wk">Mo</TD><TD WIDTH="14%" CLASS="wk">Tu</TD><TD WIDTH="14%" CLASS="wk">We</TD><TD WIDTH="14%" CLASS="wk">Th</TD><TD WIDTH="14%" CLASS="wk">Fr</TD><TD class="wknd" WIDTH="14%">Sa</TD></TR>';
	html += '<TR>';
	var dow = 0;
	var totald = monthLength();
	var i, style;
	for (i = 0; i < firstDOW(); i++) {
		dow++;
		html += '<TD>&nbsp;</TD>';
	}
	var mm=date.getMonth();
	var m=fullMonths[mm];
	mm=mm+1;
	if (mm < 10) mm = '0' + mm;
	for (i = 1; i <= totald; i++) {
		var dd=i;
		if (i < 10) dd = '0' + i;
		if (dow == 0) html += '<TR>';
		var tag='cal'+mm+dd+yyyy;
		html += '<TD id='+tag+' class="date" style="border:1px solid black';
		if (eval('typeof('+tag+')')!='undefined') {
			var d=fullDays[dow];
			var header='<h1><CENTER>'+d+' '+m+' '+i+', '+yyyy+'</CENTER></h1><HR>';
			tt = new String(eval(tag));
			var fg='black';
			var bg='#f0dca3';
			if (tt.search(/event:/i) != -1) bg='#6f6';
			if (tt.search(/apple.*meeting/i) != -1) bg='#4b4';
			if (tt.search(/local sust/i) != -1) fg='white';
			html+=';background:'+bg+'"><a style="color:'+fg+'" HREF="javascript:void(0)" onmouseover="return escape(\''+header+'<ul>'+tt+'</ul>\')"><B>' + i + '</B></a></TD>';
		} else {
			html+='">' + i + '</TD>';
		}
		dow++;
		if (dow == 7) {
			html += '</TR>';
			dow = 0;
		}
	}
	if (dow != 0) {
		for (i = dow; i < 7; i++) {
			html += '<TD>&nbsp;</TD>';
		}
	}
	html +='</TR></TABLE>';
	return html;
}
function updateCal() {
	document.getElementById('cal').innerHTML=generateHTML();
	tt_Init();
}
function initDate() {
	date=new Date();
	date.setDate(1); // to avoid skipping when incrementing months on last day
}
function incrMonth() {
	date.setMonth(date.getMonth()+1);
	updateCal();
}
function decrMonth() {
	date.setMonth(date.getMonth()-1);
	updateCal();
}
