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();   

   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 (dayCount==thisDay) {
         document.write("<td class='calendar_dates' id='calendar_today'><a href='#DAY"+dayCount+"'>"+dayCount+"</a></td>");
      } else {
         document.write("<td class='calendar_dates'><a href='#DAY"+dayCount+"'>"+dayCount+"</a></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>")
}
