// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 22nd January 2010

var tb = 'b'; // top or bottom (t or b)
var headbg = '#FFFFFF';  // table heading background colour
var todaybg = '#BEE0EF'; // current selected date background colour
var textclr = '#000000'; // text colour
var linkclr = '#D90000'; // link text colour
var noMessage =  'No event scheduled 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
// January
dA[x++] = "00000101 New Year";
dA[x++] = "20100104 Cti Start";
dA[x++] = "20100107 Cti Bed, 12:15-12:30, Intro";
dA[x++] = "20100111 Cti Potch-MLM Intro";
dA[x++] = "20100112 Cti Durban-MLM Intro";
dA[x++] = "20100113 Cti Pret-MLM Intro";
dA[x++] = "20100114 Cti Rdb-MLM Intro";
dA[x++] = "20100115 Cti Vdb-MLM Intro";
dA[x++] = "20100120 Cti Pret-MLM Intro";
dA[x++] = "20100121 Cti Rdb-MLM Intro";
dA[x++] = "20100122 Cti Vdb-ITE Intro<br>Cti D/Ville-Grap Des Intro";
dA[x++] = "20100125 Cti Bed 10:45-11:00";
dA[x++] = "20100126 MGI Start, Cti Bed<br>10:15-10:30, 11:00-11:15";
dA[x++] = "20100129 Evrst/Cti Stats";
//February
dA[x++] = "20100201 MGI/Cti Start";
dA[x++] = "20100202 Cti Bed-Meeting and Workshop<br>AC and REC Cti Claremont-MLM Intro";
dA[x++] = "20100203 Cti Pret-Meeting and Workshop<br>Cti Durban LSBM/MGI-3rd Year";
dA[x++] = "20100204 Cti Rdb-Meeting and Workshop<br>Cti Vdb-Meeting and Workshop";
dA[x++] = "20100205 Launch of Graphic Design Competition";
dA[x++] = "20100208 Cti D/Ville-BSc IT Intro<br>Cti Claremont-BSc IT Intro";
dA[x++] = "20100209 Cti Bed-Campus Visit";
dA[x++] = "20100210 Cti Pret-Campus Visit<br>Cti D/Ville-MLM Intro";
dA[x++] = "20100211 Cti Rdb Campus Visit<br>Cti Potch Workshop/Meeting<br>Cti Vdb Workshop/Meeting";
dA[x++] = "20100215 Cti D/Ville-BA Intro<br>Cti Claremont-LSBM Intro";
dA[x++] = "20100216 Cti Bed-Campus Visit";
dA[x++] = "20100217 Cti Pret-Campus Visit";
dA[x++] = "20100218 Cti Rdb Campus Visit";
dA[x++] = "20100223 Cti Bed-Campus Visit";
dA[x++] = "20100224 Cti Pret-Campus Visit<br>MGI-Campus Visit";
dA[x++] = "20100225 Cti Rdb Campus Visit";
dA[x++] = "20100226 Evrst/Cti Stats";
//March
dA[x++] = "20100302 MGI/Cti Start<br>Cti Bed - Campus Visit<br>Cti Pret - Campus Visit";
dA[x++] = "20100303 MGI - Campus Visit";
dA[x++] = "20100304 Cti Rdb - Campus Visit";
dA[x++] = "20100305 NSBC - Expo";
dA[x++] = "20100309 Cti Bed - Campus Visit";
dA[x++] = "20100310 Cti Pret - Campus Visit";
dA[x++] = "20100311 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20100316 Cti Bed - Campus Visit";
dA[x++] = "20100317 Cti Pret - Campus Visit";
dA[x++] = "20100318 Cti Rdb - Campus Visit";
dA[x++] = "00000321 Human Rights Day";
dA[x++] = "20100322 Public Holiday";
dA[x++] = "20100323 Cti Bed - Campus Visit";
dA[x++] = "20100324 Cti Pret - Campus Visit";
dA[x++] = "20100325 Cti Rdb - Campus Visit";
dA[x++] = "20100326 Stats";
dA[x++] = "20100327 Open Day";
dA[x++] = "20100330 Cti Bed - Campus Visit";
dA[x++] = "20100331 Cti Pret - Campus Visit<br>MGI - Campus Visit";
//April   
dA[x++] = "20100401 Cti Rdb - Campus Visit";
dA[x++] = "20100402 Good Friday";
dA[x++] = "20100404 Easter Sunday";
dA[x++] = "20100405 Public Holiday<br>Cti 1st Break";
dA[x++] = "20100406 Cti 1st Break";
dA[x++] = "20100407 Cti 1st Break";
dA[x++] = "20100408 Cti 1st Break";
dA[x++] = "20100409 Cti 1st Break";
dA[x++] = "20100413 Cti Bed - Campus Visit";
dA[x++] = "20100414 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100415 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20100420 Cti Bed - Campus Visit";
dA[x++] = "20100421 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100422 Cti Rdb - Campus Visit";
dA[x++] = "20100424 Open Day";
dA[x++] = "00000427 Freedom Day";
dA[x++] = "20100428 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100429 Cti Rdb - Campus Visit";
dA[x++] = "20100430 Evrst/Cti Stats";
//May   
dA[x++] = "00000501 Workers Day";
dA[x++] = "20100504 Cti Bed - Workshop";
dA[x++] = "20100505 Cti Pret - Workshop<br>MGI - Campus Visit";
dA[x++] = "20100506 Cti Rdb - Workshop";
dA[x++] = "20100511 Cti Bed - Campus Visit";
dA[x++] = "20100512 Cti Pret - Campus Visit";
dA[x++] = "20100513 Cti Rdb - Campus Visit<br>Cti Potch - Workshop<br>Cti Vdb - Workshop";
dA[x++] = "20100518 Cti Bed - Campus Visit";
dA[x++] = "20100519 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100520 Cti Rdb - Campus Visit";
dA[x++] = "20100522 Open Day";
dA[x++] = "20100525 Cti Bed - Campus Visit";
dA[x++] = "20100526 Cti Pret - Campus Visit";
dA[x++] = "20100527 Cti Rdb - Campus Visit";
dA[x++] = "20100528 Evrst/Cti Stats";
//June   
dA[x++] = "20100601 Cti Bed - Campus Visit";
dA[x++] = "20100602 Cti Pret - Campus Visit";
dA[x++] = "20100603 Cti Rdb - Campus Visit";
dA[x++] = "20100608 Cti Bed - Campus Visit";
dA[x++] = "20100609 Cti Pret - Campus Visit";
dA[x++] = "20100610 Cti Rdb - Campus Visit";
dA[x++] = "20100611 World Cup Kick Off<br>MGI Exam";
dA[x++] = "20100615 Cti Bed - Campus Visit";
dA[x++] = "00000616 Youth Day";
dA[x++] = "20100617 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20100622 Cti Bed - Campus Visit";
dA[x++] = "20100623 Cti Pret - Campus Visit";
dA[x++] = "20100624 Cti Rdb - Campus Visit";
dA[x++] = "20100625 EVrst/Cti Stats";
dA[x++] = "20100628 Winter School - Cti/MGI";
dA[x++] = "20100629 Winter School - Cti/MGI";
dA[x++] = "20100630 Winter School - Cti/MGI";
//July   
dA[x++] = "20100701 Winter School - Cti/MGI<br>Evrst 7th Birthday";
dA[x++] = "20100702 Winter School - Cti/MGI";
dA[x++] = "20100705 Winter School - Cti/MGI";
dA[x++] = "20100706 Winter School - Cti/MGI";
dA[x++] = "20100707 Winter School - Cti/MGI";
dA[x++] = "20100708 Winter School - Cti/MGI";
dA[x++] = "20100709 Winter School - Cti/MGI";
dA[x++] = "20100711 World Cup End";
dA[x++] = "20100713 Cti Bed - Campus Visit";
dA[x++] = "20100714 Cti Pret - Campus Visit";
dA[x++] = "20100715 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20100720 Cti Bed - Campus Visit";
dA[x++] = "20100721 Cti Pret - Campus Visit";
dA[x++] = "20100722 Cti Rdb - Campus Visit";
dA[x++] = "20100727 Cti Bed - Campus Visit";
dA[x++] = "20100728 Cti Pret - Campus Visit";
dA[x++] = "20100729 Cti Rdb - Campus Visit";
dA[x++] = "20100730 Evrst/Cti Stats";
dA[x++] = "20100731 Cti Registration";
//August   
dA[x++] = "20100803 Cti Bed - Campus Visit";
dA[x++] = "20100804 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100805 Cti Rdb - Campus Visit";
dA[x++] = "00000809 Women's Day";
dA[x++] = "20100810 Cti Bed - Campus Visit";
dA[x++] = "20100811 Cti Pret - Campus Visit";
dA[x++] = "20100812 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20100817 Cti Bed - Campus Visit";
dA[x++] = "20100818 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100819 Cti Rdb - Campus Visit";
dA[x++] = "20100824 Cti Bed - Campus Visit";
dA[x++] = "20100825 Cti Pret - Campus Visit";
dA[x++] = "20100826 Cti Rdb - Campus Visit";
dA[x++] = "20100827 Evrst/Cti Stats";
dA[x++] = "20100828 MGI– Open day<br>Cti– Registration";
dA[x++] = "20100831 Cti Bed - Campus Visit";
//September   
dA[x++] = "20100901 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20100902 Cti Rdb - Campus Visit";
dA[x++] = "20100907 Cti Bed - Campus Visit";
dA[x++] = "20100908 Cti Pret - Campus Visit";
dA[x++] = "20100909 Cti Rdb - Campus Visit";
dA[x++] = "20100914 Cti Bed - Campus Visit";
dA[x++] = "20100915 Cti Pret - Campus Visit";
dA[x++] = "20100916 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20100921 Cti Bed - Campus Visit";
dA[x++] = "20100922 Cti Pret - Campus Visit";
dA[x++] = "20100923 Cti Rdb - Campus Visit";
dA[x++] = "00000924 Heritage Day";
dA[x++] = "20100927 Cti 2nd Break";
dA[x++] = "20100928 Cti 2nd Break";
dA[x++] = "20100929 Cti 2nd Break";
dA[x++] = "20100930 Cti 2nd Break";
//October   
dA[x++] = "20101001 Cti 2nd Break";
dA[x++] = "20101002 MGI - Campus Visit";
dA[x++] = "20101005 Cti Bed - Campus Visit";
dA[x++] = "20101006 Cti Pret - Campus Visit";
dA[x++] = "20101007 Cti Rdb - Campus Visit";
dA[x++] = "20101012 Cti Bed - Campus Visit";
dA[x++] = "20101013 Cti Pret - Campus Visit";
dA[x++] = "20101014 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20101015 MGI Study Break";
dA[x++] = "20101016 MGI Study Break";
dA[x++] = "20101017 MGI Study Break";
dA[x++] = "20101018 MGI Study Break";
dA[x++] = "20101019 Cti Bed - Campus Visit<br>MGI Study Break";
dA[x++] = "20101020 Cti Pret - Campus Visit<br>MGI Study Break";
dA[x++] = "20101021 Cti Rdb - Campus Visit<br>MGI Study Break";
dA[x++] = "20101022 MGI Study Break";
dA[x++] = "20101025 MGI Exams Start";
dA[x++] = "20101026 Cti Bed - Campus Visit";
dA[x++] = "20101027 Cti Pret - Campus Visit";
dA[x++] = "20101028 Cti Rdb - Campus Visit";
dA[x++] = "20101029 Evrst/Cti Stats";
dA[x++] = "20101030 Cti Registrations";
//November   
dA[x++] = "20101102 Cti Bed - Campus Visit";
dA[x++] = "20101103 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20101104 Cti Rdb - Campus Visit";
dA[x++] = "20101109 Cti Bed - Campus Visit";
dA[x++] = "20101110 Cti Pret - Campus Visit";
dA[x++] = "20101111 Cti Rdb - Campus Visit";
dA[x++] = "20101112 Cti Vdb - Registrations";
dA[x++] = "20101113 Cti Vdb - Registrations";
dA[x++] = "20101116 Cti Bed - Campus Visit";
dA[x++] = "20101117 Cti Pret - Campus Visit";
dA[x++] = "20101118 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20101119 Cti Vdb - Registrations";
dA[x++] = "20101120 Cti Vdb - Registrations";
dA[x++] = "20101122 Cti Durban - Evrst Xmas Function";
dA[x++] = "20101123 Cti Bed - Campus Visit";
dA[x++] = "20101124 Cti Pret - Campus Visit<br>MGI - Campus Visit";
dA[x++] = "20101125 Cti Rdb - Campus Visit";
dA[x++] = "20101126 Evrst/Cti Stats<br>Cpn/Dbn - Evrst Xmas Function";
dA[x++] = "20101127 Cti Vdb - Registrations";
dA[x++] = "20101130 Cti Bed - Campus Visit";
//December   
dA[x++] = "20101201 Cti Pret - Campus Visit";
dA[x++] = "20101202 Cti Rdb - Campus Visit";
dA[x++] = "20101203 Cti/MGI Close<br>Cti/MGI/Evrst - Xmas Function";
dA[x++] = "20101207 Cti Bed - Campus Visit";
dA[x++] = "20101208 Cti Pret - Campus Visit";
dA[x++] = "20101209 Cti Rdb - Campus Visit<br>Cti Potch - Campus Visit<br>Cti Vdb - Campus Visit";
dA[x++] = "20101211 Evrst Xmas";
dA[x++] = "20101213 Evrst/Cti Stats";
dA[x++] = "20101215 Evrst Close";
dA[x++] = "20101216 Day of Reconciliation";
dA[x++] = "00001225 Christmas Day";
dA[x++] = "00001226 Day of Good Will";
dA[x++] = "20101227 Public Holiday";

// 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="30" style="background:' + todaybg + '" align="center"><b>'; var td_start = '<td width="30" align="center">'; var cal = '<div id="cal"><div style="border:none;width:240px;"><table border="0" cellspacing="2" cellpadding="1" align="center"><tr><td colspan="7" style="font-size: 13px; font-weight: bold; color: #708CAF; border: none; text-decoration: none; padding:5px; border-bottom: solid 1px #cccccc; background:' + headbg + '" align="center"><b>' + 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="0" cellpadding="4" width="210"><tr><td><a href="#" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><<</a></td><td><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><</a></td><td align="right"><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">></a></td><td align="right"><a href="#" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">>></a></td></tr></table><br>';} else {cal += '<div> </div>';} cal += '</div>'; return cal;}
function start() {var x = '<div id="calDate" style="border:1px solid #cccccc; padding:5px;"><\/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 = '<b>' + ct + '</b>'; 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);var ct = nextDate(selDate);if (ct == '') ct = nextDate('0000' + selDate.substr(4));if (ct == '') ct = noMessage; document.getElementById('calDate').innerHTML = '<b>' + ct + '</b>';}