//JavaScript Document

/* 
   New Perspectives on HTML and XHTML
   Case Problem 3

   Name: Beth Heurtzel
   Date: 8/1/2006
*/

function writeCalTitle(calendarDay) {
   var monthName = new Array("January", "February", "March", "April", "May", 
       "June", "July", "August", "September", "October","November", "December");
   var thisMonth=calendarDay.getMonth();
   var thisYear=calendarDay.getFullYear();
   document.write("<tr>");
   document.write('<th id="calendar_head" colspan="7">');
   document.write(monthName[thisMonth]+" "+thisYear);
   document.write("</th>");
   document.write("</tr>");
}

function writeDayTitle() {
   var wdName = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
   document.write("<tr>");
   for (i=0;i<=6;i++) {
      document.write("<th class='calendar_weekdays'>"+wdName[i]+"</th>");
   }
   document.write("</tr>");
}


function writeCalDays(calendarDay) {
   var thisDay=calendarDay.getDate();
   calendarDay.setDate(1);   
   var weekDayNum=calendarDay.getDay();
   var thisMonth=calendarDay.getMonth();
   var thisYear=calendarDay.getFullYear();
   //June
   var girlDay=6;
   var pdragonDay=13;
   var midlandDay=20;
   var rschoolDay=25;
   var orrvilleDay=27;
   //July
   var bellvilleDay=1;
   var W1Day=10;
   var W2Day=11;
   var W3Day=12;
   var rosseauDay=17;
   var huntsvilleDay=18;
   var sprucedale1Day=26;
   //August
   var dwightDay=1;
   var kearneyDay=2;
   var sprucedale2Day=8;
   var towndockDay=19;
   var sundridgeDay=30;
   //September
   var flyinDay=12;
   //October
   var cibcDay=4;

   document.write("<tr>");

   for(i=0;i < weekDayNum;i++) {
      document.write("<td></td>");
   }

   var cellCount=1;
   var dayCount=1;
   while (dayCount==cellCount) {
      
      if (weekDayNum==0) {
         document.write("<tr>");
      }
	  
	 if (thisMonth==5 && thisYear==2009) {
	  switch(dayCount) {
		case girlDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Sprucedale'>"+dayCount+"</a></td>");
		break;
		case pdragonDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Parry Sound Dragon Boat Festival'>"+dayCount+"</a></td>");
		break;
		case midlandDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='King Place Charity BBQ'>"+dayCount+"</a></td>");
		break;
		case rschoolDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Huntsville School Event'>"+dayCount+"</a></td>");
		break;
		case orrvilleDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Canada Day Celebration'>"+dayCount+"</a></td>");
		break;
		case thisDay: document.write("<td class='calendar_dates' id='calendar_today'>"+dayCount+"</td>");
		break;
		default: document.write("<td class='calendar_dates'>"+dayCount+"</td>");
	  }
	  
	 } else if (thisMonth==6 && thisYear==2009) {
	  switch(dayCount) {
		case bellvilleDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Canada Day Celebration'>"+dayCount+"</a></td>");
		break;
		case W1Day: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Dragon Boat Festival (3 day event!)'>"+dayCount+"</a></td>");
		break;
		case W2Day: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Dragon Boat Festival (3 day event!)'>"+dayCount+"</a></td>");
		break;
		case W3Day: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Dragon Boat Festival (3 day event!)'>"+dayCount+"</a></td>");
		break;
		case rosseauDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Farmers Market'>"+dayCount+"</a></td>");
		break;
		case huntsvilleDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Second Chance Charity Sale'>"+dayCount+"</a></td>");
		break;
		case sprucedale1Day: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Fern Glen Lily Festival'>"+dayCount+"</a></td>");
		break;
		case thisDay: document.write("<td class='calendar_dates' id='calendar_today'>"+dayCount+"</td>");
		break;
		default: document.write("<td class='calendar_dates'>"+dayCount+"</td>");
	  }
	  
	 } else if (thisMonth==7 && thisYear==2009) {
	  switch(dayCount) {
	    case dwightDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Annual BBQ & Fireworks'>"+dayCount+"</a></td>");
		break;
		case kearneyDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Regatta'>"+dayCount+"</a></td>");
		break;
		case sprucedale2Day: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='MMCAP Spectacular Event'>"+dayCount+"</a></td>");
		break;
		case towndockDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Town Docks'>"+dayCount+"</a></td>");
		break;
		case sundridgeDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Clement BBQ'>"+dayCount+"</a></td>");
		break;
		case thisDay: document.write("<td class='calendar_dates' id='calendar_today'>"+dayCount+"</td>");
		break;
		default: document.write("<td class='calendar_dates'>"+dayCount+"</td>");
	  }
	  
	 } else if (thisMonth==8 && thisYear==2009) {
	  switch(dayCount) {
		case flyinDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='Airport Fall Fly-in'>"+dayCount+"</a></td>");
		break;
		case thisDay: document.write("<td class='calendar_dates' id='calendar_today'>"+dayCount+"</td>");
		break;
		default: document.write("<td class='calendar_dates'>"+dayCount+"</td>");
	  }
	  
	 } else if (thisMonth==9 && thisYear==2009) {
	  switch(dayCount) {
		case cibcDay: document.write("<td class='calendar_dates' id='calendar_performance'><a href='Pages/Calendar/Schedule.htm' title='CIBC Run for the Cure'>"+dayCount+"</a></td>");
		break;
		case thisDay: document.write("<td class='calendar_dates' id='calendar_today'>"+dayCount+"</td>");
		break;
		default: document.write("<td class='calendar_dates'>"+dayCount+"</td>");
	  }
	  
	 } else {
	  switch(dayCount) {
	    case thisDay: document.write("<td class='calendar_dates' id='calendar_today'>"+dayCount+"</td>");
		break;
		default: document.write("<td class='calendar_dates'>"+dayCount+"</td>");
	  }
	 }
	  
      if (weekDayNum==6) {
         document.write("</tr>");
      }

      cellCount++;
      calendarDay.setDate(cellCount);
      weekDayNum=calendarDay.getDay();
      dayCount=calendarDay.getDate();
   }
}

function calendar(thisDate) {

   if (thisDate=="today") {
      calDate=new Date();
   } else {
      calDate=new Date(thisDate);
   }
   
   document.write('<table id="calendar_table">');
   writeCalTitle(calDate);
   writeDayTitle();
   writeCalDays(calDate);
   document.write("</tr></table>");
   
}
