// JavaScript Document
// Event Calendar

////////////////////////////////////////////////////////////////////////////////////
// Original script copyright of Stephen Chapman, 10th June 2006                   //
// http://javascript.about.com/library/blevent1.htm								  //
// Adapted for The NCSP's use by CRYSTAL (http://www.crystalpresentations.com)    //
////////////////////////////////////////////////////////////////////////////////////

var noMessage =  'There are no events today'; // message to display when no entry in array


// ARRAY OF EVENTS

// first 8 characters denote the date in yyyymmdd format, then two letters to denote event key ('EX'-External conferences and events, 'NC'-NCSP conferences and events, 'SH'- SHA/PCT/Commissioning events) then a 'space' then the details of the event.






//FEB


// END OF EVENTS ARRAY


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());
var printToday = today.getDate() + ' ' + moy[today.getMonth()] + ' ' + today.getFullYear();

function dispCal(yy,mm) {
	//if doesnt equal generic one
	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 today_hi = '<td class="today">'; 
		var td_start = '<td class="td1">'; 
		var cal = '<div id="cal"><div class="table_container"><table border="0" cellspacing="0" cellpadding="0"><tr><td colspan="7" class="table_title"><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 += today_hi +'<span'+clickDate(dex,month,year) + '>'+ dex + '<\/span><\/td>'; //display event today 
				//else 
				cal += td_start + '<span '+clickDate(dex,month,year) + '>' + dex + '<\/span><\/td>'; weekday += 1; // display event highlight
				} 
				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="0"><tr><td align="left" class="td1"><a href="#" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; start(); return false;}"><img border="0" src="assets/images/inner_page/information_btns/calendar_btn_left1.png" alt="Back a year" title="Back a year"></a></td><td align="left" class="td1"><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img border="0" src="assets/images/inner_page/information_btns/calendar_btn_left.png" alt="Back a month" title="Back a month"></a></td><td colspan="3">&nbsp;</td><td align="right" class="td1"><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img border="0" src="assets/images/inner_page/information_btns/calendar_btn_right.png" alt="Forward a month" title="Forward a month"></a></td><td align="right" class="td1"><a href="#" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img border="0" src="assets/images/inner_page/information_btns/calendar_btn_right1.png" alt="Forward a year" title="Forward a year"></a></td></tr></table>';} 
						
						//lines for skipping years
						//
						//
						
						else {
							cal += '<div> </div>';
						} 
							cal += '</div>'; 
							return cal;
					}
								
function start() {
	var x = '<br \/><br \/><div id="calDate" class="event_message"><\/div>';
	var y = ''; 
	y = dispCal(0,0) + x; 
	document.getElementById('calendar').innerHTML = y;
	ev();
	}
loaded('calendar',start);
function clickDate(day, month, year) {
	var et = eventType(year + getmmdd(month+1,day));
	if (et == '') ct = eventType('0000' + getmmdd(month+1,day));
	
	var ct = nextDate(year + getmmdd(month+1,day));
	if (ct == '') ct = nextDate('0000' + getmmdd(month+1,day));
	if (ct == '') return 'class="normal_digit"';
	else {
		var eventClass = '';
		if (et == 'EX') eventClass = 'event-link2';
		else if (et == 'NC') eventClass = 'event-link1';
		else if (et == 'SH') eventClass = 'event-link3';
		return 'class="' + eventClass + '" 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 = '<span class="highlight">Event Date:<\/span> ' + dayVal + ' ' + moy[monthVal] + ' ' + yearVal + '<br \/><br \/><span class="highlight">Event name:<\/span><br \/>' + ct; 
	return false;
	}

function eventType(yymmdd) {
	var x = dA.length;
	for (var i = 0; i < x; i++) {
		if (dA[i].substr(0,8) == yymmdd) return dA[i].substr(8,2);
		}
		return '';
		}
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(11);
		}
		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 = '<span class="highlight">Todays Date:<\/span> ' + printToday + '<br \/><br \/><span class="highlight">Event name:<\/span><br \/>' +ct;
	}