// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 22nd January 2010

var tb = 'b'; // top or bottom (t or b)
var headbg = '#26467f';  // table heading background colour
var todaybg = '#cccccc'; // current selected date background colour
var textclr = '#26467f; font-family: Trebuchet MS, Arial, Helvetica, sans-serif;'; // text colour
var linkclr = '#ffffff; font-family: Trebuchet MS, Arial, Helvetica, sans-serif; background-color:#26467f; padding-left: 12px; padding-right: 10px; font-weight: bold;'; // link text colour
var noMessage = 'No event messages to display for today'; // message to display when no entry in array

var dA = new Array(); var x = 0;
// first 8 characters in ccyymmdd format for single date events
// first 8 characters in 0000mmdd format for every year events
dA[x++] = "00000101 New Year";
dA[x++] = "00000214 Valentine's day";
dA[x++] = "20110212 Gallery Exhibition: Artists - Sylvia Chait (Sculpture) and Linda Winters (Painting)";
// dA[x++] = "20060610 New Event Calendar Started today";

// permission is granted to use this javascript provided that the below code is not altered
var pageLoaded = 0; window.onload = function() { pageLoaded = 1; }
function loaded(i, f) { if (document.getElementById && document.getElementById(i) != null) f(); else if (!pageLoaded) setTimeout('loaded(\'' + i + '\',' + f + ')', 100); }
function monthlength(month, year) { var dd = new Date(year, month, 0); return dd.getDate(); }
var moy = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; var today = new Date(); var selDate = today.getFullYear() + getmmdd(today.getMonth() + 1, today.getDate());
function dispCal(yy, mm) { if (mm < 0 || mm > 12) { alert('month must be between 1 and 12'); return false; } if (yy != 0 && (yy < 1901 || yy > 2100)) { alert('year must be after 1900 and before 2101'); return false; } var dow = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; var calendar = new Date(); var today = calendar.getDate(); calendar.setDate(1); if (yy > 1900) calendar.setFullYear(yy); if (mm > 0) calendar.setMonth(mm - 1); var yy = year = calendar.getFullYear(); var month = calendar.getMonth(); calendar.setDate(today); var weekday = calendar.getDay(); var daysInMonth = monthlength(month + 1, year); var hilite_start = '<td width="124" height="40" style="background:' + todaybg + '" align="center"><b>'; var td_start = '<td width="124px" height="40" align="center" style="border-left: solid 1px #CCCCCC; border-bottom: solid 1px #CCCCCC;">&nbsp;'; var cal = '<div id="cal"><div style="border:1px solid #26467f; width:873px; background-color:#ffffff; color: #999999; font-family: Trebuchet MS, Arial, Helvetica, sans-serif;"><table border="0" cellspacing="0" cellpadding="0" align="center" width="100%"><tr><td colspan="7" style="background:' + headbg + '" align="center" width="875px"><span style="color:white; font-family: Trebuchet MS, Arial, Helvetica, sans-serif;">' + moy[month] + ' ' + year + '<\/b><\/td><\/tr><tr>'; for (dex = 0; dex < 7; dex++) { cal += td_start + dow[dex] + '</td>'; } cal += '<\/tr><tr>'; var day2 = today; for (dex = today; dex > 6; dex -= 7) day2 = dex; weekday -= day2 - 1; while (weekday < 0) weekday += 7; for (dex = 0; dex < weekday; dex++) cal += td_start + ' <\/td>'; for (dex = 1; dex <= daysInMonth; dex++) { if (weekday == 7) { cal += '</tr><tr>'; weekday = 0; } if (selDate == year + getmmdd(month + 1, dex)) cal += hilite_start + '<span ' + clickDate(dex, month, year) + '>' + dex + '<\/span><\/b><\/td>'; else cal += td_start + '<span ' + clickDate(dex, month, year) + '>' + dex + '<\/span><\/td>'; weekday += 1; } for (dex = weekday; dex < 7; dex++) cal += td_start + ' <\/td>'; cal += '<\/tr><\/table><\/div>'; if (document.getElementById) { var mmb = month; mm = month + 1; var yya = yyb = yy; if (mmb < 1) { mmb += 12; yyb--; } var mma = month + 2; if (mma > 12) { mma -= 12; yya++; } var yb = yy - 1; var ya = yy + 1; cal += '<table border="0" cellspacing="4" cellpadding="0" style="background-color: #8b9bae; width:875px; border-left:1pt solid #26467f; border-right:1pt solid #26467f; border-top:1pt solid #b4c5da; border-bottom:1pt solid #b4c5da; "><tr><td style="text-align: left;" width="25%"><a href="#" onclick="if (cala = dispCal(' + yb + ',' + mm + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="images/btn-RW.jpg" width="109" height="18" border="0" /></a></td><td style="text-align: left;" width="25%"><a href="#" onclick="if (cala = dispCal(' + yyb + ',' + mmb + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="images/btn-LEFT.jpg" width="128" height="18" border="0" /></a></td><td style="text-align: right;" width="25%"><a href="#" onclick="if (cala = dispCal(' + yya + ',' + mma + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="images/btn-RIGHT.jpg" width="129" height="18" border="0" /></a></td><td style="text-align: right;" width="25%"><a href="#" onclick="if (cala = dispCal(' + ya + ',' + mm + ')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="images/btn-FF.jpg" width="109" height="18" border="0" /></a></td></tr></table>'; } else { cal += '<div> </div>'; } cal += '</div>'; return cal; }
function start() { var x = '<div id="calDate" width="870px" style="background-color:#26467f; padding-top:5px; padding-bottom:5px; font-family: Trebuchet MS, Arial, Helvetica, sans-serif; color: #ffffff"><\/div>'; var y = ''; if (tb == 't') y = x + dispCal(0, 0); else y = dispCal(0, 0) + x; document.getElementById('calendar').innerHTML = y; ev(); }
loaded('calendar', start);
function clickDate(day, month, year) { var ct = nextDate(year + getmmdd(month + 1, day)); if (ct == '') ct = nextDate('0000' + getmmdd(month + 1, day)); if (ct == '') return 'style="color:' + textclr + '"'; else return 'style="cursor:pointer;color:' + linkclr + '" onclick="selDate = ' + year + getmmdd(month + 1, day) + '; isDate(' + day + ',' + month + ',' + year + ');return false;"'; }
function isDate(dayVal, monthVal, yearVal) { var ct = nextDate(yearVal + getmmdd(monthVal + 1, dayVal)); if (ct == '') ct = nextDate('0000' + getmmdd(monthVal + 1, dayVal)); if (ct == '') ct = noMessage; document.getElementById('calDate').innerHTML = selDate + '<br \/>&nbsp;' + ct; return false; }
function nextDate(yymmdd) { var x = dA.length; for (var i = 0; i < x; i++) { if (dA[i].substr(0, 8) == yymmdd) return dA[i].substr(8); } return ''; }
function getmmdd(mm, dd) { return (mm > 9 ? '' + mm : '0' + mm) + (dd > 9 ? dd : '0' + dd); }
function ev() { var ct = nextDate(selDate); if (ct == '') ct = nextDate('0000' + selDate.substr(4)); if (ct == '') ct = noMessage; document.getElementById('calDate').innerHTML = selDate + '<br \/>&nbsp;' + ct; }

