var tb = 't'; // top or bottom (t or b)
var headbg = '#000';  // table heading background colour
var todaybg = '#fff'; // current selected date background colour
var textclr = '#000000'; // text colour
var linkclr = '#090'; // link text colour
var noMessage =  ''; // 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 Happy New Year";
dA[x++] = "20110907 York University classes are back in session!";
dA[x++] = "20110910 HRSA Unveils New Website!";
dA[x++] = "20110921 YorkFest!";
dA[x++] = "20110929 HRPA Information Session from 6-8PM in Room 1004 TEL Building";
dA[x++] = "20111004 Annual Chocolate Mixer from 6-8PM in 109 Atkinson Building (Harry Crowe Room)";
dA[x++] = "20111101 Negotiations Workshop with Professor Marie-Helene Budworth from 1:00-2:30pm in 109 Atkinson Building (Harry Crowe Room)";
dA[x++] = "20111107 Law Talk with Professor David Doorey from 1:00-2:30pm in 109 Atkinson Building (Harry Crowe Room)";
dA[x++] = "20111116 New College Hump Day Cafe sponsored by HRSA in 140 Atkinson Building from 11am-4pm!";
dA[x++] = "20111122 The Road to Success with Bob Delaney from 1:00-2:30pm in Room 109 of McLaughlin College!";
dA[x++] = "20111124 HR Alumni Panel Event from 6-8PM in Room 0015 TEL Building!";
dA[x++] = "20111205 Last Day of the Fall Semester!";
dA[x++] = "20111228 HRSA's Executive Team is helping out at The Daily Bread Food Bank!";
dA[x++] = "20120103 Welcome Back to School for the Winter Semester!";
dA[x++] = "20120111 Public Speaking Seminar from 2-4PM in 109 Atkinson Building (Harry Crowe Room)";
dA[x++] = "20120125 HR Internship Information Session from 2:30-3:30PM in R S101A (Ross South in Room 101A)";
dA[x++] = "20120204 HRSA's Presidential Election";
// dA[x++] = "20060610 New Event Calendar Started today";

var pageLoaded = 0; 
var moy = ['January','February','March','April','May','June','July','August','September','October','November','December'];
var dow = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; 
var today = new Date();
var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());

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();
}

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 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="20" style="background:' + todaybg + '" align="center"><b>';
	var td_start = '<td width="20" align="center">'; 
	var cal = '<div id="cal"><div style="color:#FFF;border:1pt solid #cccccc;width:154px; margin-left:auto; margin-right:auto;"><table border="0" cellspacing="0" cellpadding="1" align="center"><tr><td colspan="7" style="background:' + headbg + '" align="center"><b>' + moy[month]  + ' ' + year + '<\/b><\/td><\/tr><tr style="color:#000">'; 
	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 += '<a href="#" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="yb.png"/></a><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="mb.png"/></a><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="mf.png"/></a><a href="#" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="yf.png"/></a>';
	}
	else 
	{
		cal += '<div> </div>';
	} 
	cal += '</div>'; return cal;
}

function start()
{
	var x = '<div id="calDate" style="width:154px"><\/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 'onMouseout="hideddrivetip()" style="text-decoration:underline;font-weight:bolder;cursor:pointer;color:'+linkclr+'" onmouseover="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;
	
	if (ct != '')
	{
		//document.getElementById('calDate').innerHTML = ct; 
		ddrivetip(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);
	var ct = nextDate(selDate);
	if (ct == '')
		ct = nextDate('0000' + selDate.substr(4));
	if (ct == '')
		ct = noMessage; 
		
	//document.getElementById('calDate').innerHTML = ct;
}
