
// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 30th October 2006
var tb = 't';
// top or bottom (t or b)
var headbg = '#cccccc';
// table heading background colour
var todaybg = '#99cccc';
// current selected date background colour
var textclr = '#000000';
// text colour
var linkclr = '#ff9999';
// link text colour
var noMessage = 'No event messages to display for today';
// message to display when no entry in array

if(eventArray == undefined){
	var eventArray = new Array();
}
	
	

// first 8 characters in ccyymmdd format for single date events
// first 8 characters in 0000mmdd format for every year events

// eventArray[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 todaysDay = new Date().getDate();
var todaysMonth = new Date().getMonth();
var todaysYear = new Date().getFullYear();

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 align="center" ';
   var td_start = '<td class="calCell" align="center">';
   var cal = '<div id="calDate"><div id="calDateInner"><\/div><\/div><div id="cal"><div class="calInner"><table class="calGrid" border="0" cellspacing="0" cellpadding="0" align="left"><tr><td class="calTitle" colspan="7" align="center"><span align="right" class="year">' + year + '</span> <span class="month">' + moy[month] + '</span><\/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 + clickDate(dex, month, year) + '<span>' + dex + '<\/span><\/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 class="arrows" border="0" cellspacing="0" cellpadding="0"><tr><td class="leftArrow"><a href="#" onclick="if (cala = dispCal(' + yyb + ',' + mmb + ')) {document.getElementById(\'calendar\').innerHTML = cala; return false;}"><img src="/images/10/cal/left_arrow.gif" \/></a></td><td class="rightArrow" align="right"><a href="#" onclick="if (cala = dispCal(' + yya + ',' + mma + ')) {document.getElementById(\'calendar\').innerHTML = cala; return false;}"><img src="/images/10/cal/right_arrow.gif" \/></a></td></tr></table>';
      }
   else {
      cal += '<div> </div>';
      }
   cal += '</div>';
   return cal;
   }
function start() {
   var x = '';
   var y = '';
   if (getURLParam("year")== "" || getURLParam("month")== ""){
   	var month = 0;
   	var year = 0;
   }
   else {
   	var month = getURLParam("month");
   	var year = getURLParam("year");
   }
   if (tb == 't') y = x + dispCal(year, month);
   else y = dispCal(year, month) + x;
   document.getElementById('calendar').innerHTML = y;
   ev();
   }
loaded('calendar', start);
function clickDate(day, month, year) {
   var ct = nextDate(year + getmmdd(month + 1, day));   
   var isToday = false;
   var extraClass = "";
 
   if(todaysDay == day && todaysMonth == month && todaysYear == year)
   	   isToday = true;
   	   
   if(isToday)
    	extraClass = 'today';
   	  
 
   if (!ct) ct = nextDate('0000' + getmmdd(month + 1, day));
   if (!ct) return 'class="noDate '+ extraClass + '"';
   
    return 'class="calCell hasDate '+ extraClass + '" 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;

   if(ct.length){
   
	    var html = '<ul>'
	   	
	   	for(var i = 0; i < ct.length; i++){
	   		html += '<li>'+dayVal + ' ' + moy[monthVal] + ' ' + ct[i] + '<\/li>';
	   	}
	   	html += '<li>&lt;&lt; back</li>'
	   	html += '<\/ul>';
	   	document.getElementById('calDateInner').innerHTML = html;
	   	
   		xDisplay('calDate', 'block');
   		xGetElementById('calDate').onclick = function(){
   			xDisplay('calDate', 'none');
   		}
   	}
	else{
		document.getElementById('calDateInner').innerHTML = dayVal + ':<br \/>' + noMessage;
   	}
   	
   return false;
   }
function nextDate(yymmdd) {
   var x = eventArray.length;
   
   var rtn = new Array();
   for (var i = 0; i < x; i++) {
      if (eventArray[i].substr(0, 8) == yymmdd) rtn[rtn.length] = eventArray[i].substr(8);
      }
      
    if(rtn.length)
   		return rtn;
   	else
   		return null;
   }
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('calDateInner').innerHTML = selDate + ':
' +ct;*/
   }
   
function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
} 

