// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 30th October 2006
var previous = '';
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 meeting or event today.<br /><br />'; 
// 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++] = "20081027 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20081124 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20081216 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090120 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090217 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090317 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090421 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090519 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090623 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090721 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090818 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20090915 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20091020 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20091117 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20091215 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20100119 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20100216 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";
dA[x++] = "20100316 <h3>Village Council Meeting</h3><h3>Start Time: 9:00 AM</h3>";




// dA[x++] = "20060610 New Event Calendar Started today";

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 start_date_2 = 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-color:#CCC;" align="center" id="startDate"><b>'; 
   var td_start = '<td width="30" align="center">'; 
   //main calendar body
   var cal = '<div id="cal"><div style="border:1pt solid #cccccc;height:140px;width:200px"><table border="0" cellspacing="0" cellpadding="2" align="center" style="font-size:10px;"><tr><td colspan="7" style="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(start_date_2 == year + getmmdd(month + 1, dex)) cal += hilite_start + clickDate(dex, month, year) + dex + closeLink(dex, month, year) + '<\/td>';
      else cal += td_start  + clickDate(dex, month, year)  + dex + closeLink(dex, month, year) + '<\/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; 
      //table for bottom arrows
      cal += '<table border="0" cellspacing="0" cellpadding="2" width="200" style="font-size:10px;"><tr><td><a href="#" title="Previous Year" style="float:left;" onclick="if (cala = dispCal(' + yb + ',' + mm + ')) {document.getElementById(\'cal\').innerHTML = cala; previous = \'\'; return false;}"><<</a></td><td><a href="#" title="Previous Month" onclick="if (cala = dispCal(' + yyb + ',' + mmb + ')) {document.getElementById(\'cal\').innerHTML = cala; previous = \'\'; return false;}"><</a></td><td align="right"><a href="#" title="Next Month" onclick="if (cala = dispCal(' + yya + ',' + mma + ')) {document.getElementById(\'cal\').innerHTML = cala; previous = \'\'; return false;}">></a></td><td align="right"><a href="#" title="Next Year" onclick="if (cala = dispCal(' + ya + ',' + mm + ')) {document.getElementById(\'cal\').innerHTML = cala; previous = \'\'; return false;}">>></a></td></tr></table>'; 
      }
   else {
      cal += '<div> </div>'; 
      }
   cal += '</div>'; 
   return cal; 
   }
function start() {
   var x = ''; 
   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)); 
   var id = year + month + day;
   if (ct == '') ct = nextDate('0000' + getmmdd(month + 1, day)); 
   if (ct == '') return ''; 
   else return '<a href="#" style="color:blue;" id="' + id +'" " onclick="selDate = ' + year + getmmdd(month + 1, day) + '; isDate(' + day + ',' + month + ',' + year + '); changeBgColor(' + id +');return false;">'; 
   }
   
   
function closeLink(day, month, year)
   {
   var ct = nextDate(year + getmmdd(month + 1, day)); 
   if (ct == '') ct = nextDate('0000' + getmmdd(month + 1, day)); 
   if (ct == '') return ''; 
   else return '<\/a>'; 
   }
function isDate(dayVal, monthVal, yearVal) {
	//This method changes the event text
	event_month = monthVal + 1;
   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 \/>' + ct; 
  document.getElementById('event').innerHTML = ct;
   //document.getElementById('event').innerHTML = "<hr /><h2 style=\"margin-top:0px; margin-bottom:0px;\">Event Details:</h2><h3>Date: " + event_month + "/" + dayVal + "/" + yearVal + "</h3>" + 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() {
		//This method sets the event text
   var ct = nextDate(selDate); 
   var ct = nextDate(selDate); 
   if (ct == '') ct = nextDate('0000' + selDate.substr(4)); 
   if (ct == '') ct = noMessage; 
   var dayVal = selDate.substring(8,6);
   var monthVal = selDate.substring(6,4);
   var yearVal = selDate.substring(0,4);

	document.getElementById('event').innerHTML = ct;
 // document.getElementById('event').innerHTML = "<hr /><h2 style=\"margin-top:0px; margin-bottom:0px;\">Event Details:</h2><h3>Date: " + monthVal + "/" + dayVal + "/" + yearVal + "</h3>" + ct;

   }
   
   
function changeBgColor(id)
{
	document.getElementById(id).className = "calendarEvent";
	if(previous == '')
	{
		previous = id;
	}
	else
	{
		  	document.getElementById(previous).className = "calendarEventOff";	
		  	previous = id;  
	}
}