<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var daycounts = [31,28,31,30,31,30,31,31,30,31,30,31]; //for leap years, remember to set february to 29 days
var firstdays = [4,0,0,3,5,1,3,6,2,4,0,2];
//firstdays = [mon=0, tue=1, wed=2, thur=3, fri=4, sat=5, sun=6];


// This is where you put in the appointments. follow pattern [fromday,frommonth,today,tomonth,message]
var apps = [
[1,1,1,1,"Happy New Year"],
[4,5,4,5,"Monthly Meeting - North Charleston"],
[5,5,5,5,"Yappy Hour - Daniel Island"],
[26,5,26,5,"Doggy Dining - Mt. Pleasant"],
[25,12,25,12,"Merry Christmas"]
];



function CheckDate(month,dayno)
{
   var retval = new String(dayno);
   var m = month + 1;

   for(var app = 0; app < apps.length; app++)
   {
      if(m == apps[app][1] ) //first month
      {
         if(apps[app][3] - apps[app][1] > 0)
         {
            if(dayno >= apps[app][0])
            {
               retval = "<div class='hol' title='" + apps[app][4] + "'>" + dayno + "</div>";
            }
         }
         else
         {
            if(dayno >= apps[app][0] && dayno <= apps[app][2])
            {
               retval = "<div class='hol' title='" + apps[app][4] + "'>" + dayno + "</div>";
            }
         }
      }
      else if(m == apps[app][3]) // second month
      {
         if(dayno <= apps[app][2])
         {
            retval = "<div class='hol' title='" + apps[app][4] + "'>" + dayno + "</div>";
         }
      }
      else if( m > apps[app][1] && m < apps[app][3] )
      {
         retval = "<div class='hol' title='" + apps[app][4] + "'>" + dayno + "</div>";
      }
   }

   return retval;
}

function PrintMonth(month)
{
   var done = false;
   var day = 0;

   document.write("<table class='inner'><caption><b>" + months[month] + "</b></caption><thead>");
   document.write("<th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></thead>");
   while(!done)
   {
      document.write("<tr>");
      PrintWeek(month,day, firstdays[month], daycounts[month]);
      document.write("</tr>");
      day = day + 7;
      if( day > daycounts[month] + firstdays[month])
      {
         done = true;
      }
   }
   document.write("</tbody></table>");
}


function PrintWeek(monthno,start,min,max)
{
   var d;
   var desc;
   for(var j = 0; j < 7; j++)
   {
      document.write("<td>");
      d = start + j;
      if(d >= min && d < max + min)
      {
         desc = CheckDate(monthno,d - min + 1);
         document.write(desc);
      }
      document.write("</td>");
   }
}