   function startTime()
   {
     var today = new Date();
     var ampm;
     var h = today.getHours();
     var m = today.getMinutes();
     var s = today.getSeconds();
     var a = today.getMilliseconds();
     var d = h*3600 + m*60 + s + a/1000;
     var r = Math.round(d/.864);
     r = checkTime2(r);
     m = checkTime(m);
     s = checkTime(s);

     if(h < 12)
     {	
       ampm= "AM";
     }
     else
     {
       ampm = "PM";
       h = h - 12;
     }

     var weekday=new Array(7);
     weekday[0]="Sunday";
     weekday[1]="Monday";
     weekday[2]="Tuesday";
     weekday[3]="Wednesday";
     weekday[4]="Thursday";
     weekday[5]="Friday";
     weekday[6]="Saturday";
     var day = weekday[today.getDay()];
     var monthChoices = new Array(12);
     monthChoices[0] = "January";
     monthChoices[1] = "February";
     monthChoices[2] = "March";
     monthChoices[3] = "April";
     monthChoices[4] = "May";
     monthChoices[5] = "June";
     monthChoices[6] = "July";
     monthChoices[7] = "August";
     monthChoices[8] = "September";
     monthChoices[9] = "October";
     monthChoices[10] = "November";
     monthChoices[11] = "December";
     var month = monthChoices[today.getMonth()];	
     
     if(h == 0)
     {
       h = "12"
     }

     document.getElementById('txt').innerHTML = 
       day + "  " + month + " " + today.getDate() + ", "  + 
       today.getFullYear() + "<br>" + h + ":" + m + ":" + s + 
       " " + ampm + "<br />" + "Metric time: " + r + "<br /><br />" +
       "Time until the next Math Club meeting:<br />" +
       getMathClubString(today); 
     t = setTimeout('startTime()', 47);
   }


   function getMathClubString(arg)
   {
     var dates = new Array(26);

     dates[0] = new Date("September 8, 2008 18:00:00");
     dates[1] = new Date("September 15, 2008 18:00:00");
     dates[2] = new Date("September 22, 2008 18:00:00");
     dates[3] = new Date("September 29, 2008 18:00:00");
     dates[4] = new Date("October 6, 2008 18:00:00");
     dates[5] = new Date("October 13, 2008 18:00:00");
     dates[6] = new Date("October 20, 2008 18:00:00");
     dates[7] = new Date("October 27, 2008 18:00:00");
     dates[8] = new Date("November 3, 2008 18:00:00");
     dates[9] = new Date("November 10, 2008 18:00:00");
     dates[10] = new Date("November 17, 2008 19:00:00");
     dates[11] = new Date("December 1, 2008 18:00:00");
     dates[12] = new Date("December 8, 2008 18:00:00");
     dates[13] = new Date("January 26, 2009 18:00:00");
     dates[14] = new Date("February 2, 2009 18:00:00");
     dates[15] = new Date("February 9, 2009 18:00:00");
     dates[16] = new Date("February 16, 2009 18:00:00");
     dates[17] = new Date("February 23, 2009 18:00:00");
     dates[18] = new Date("March 2, 2009 18:00:00");
     dates[19] = new Date("March 16, 2009 18:00:00");
     dates[20] = new Date("March 23, 2009 18:00:00");
     dates[21] = new Date("March 30, 2009 18:00:00");
     dates[22] = new Date("April 6, 2009 18:00:00");
     dates[23] = new Date("April 13, 2009 18:00:00");
     dates[24] = new Date("April 20, 2009 18:00:00");
     dates[25] = new Date("April 27, 2009 18:00:00");
	
     var done = 0;
     var now = new Date();
     var index = 0;
     while(done == 0)
     {
       if(dates[index] < now)
       {
          if(now.getDate() == dates[index].getDate() &&
             now.getDay() == dates[index].getDay() &&
             now.getMonth() == dates[index].getMonth() &&
             now.getFullYear() == dates[index].getFullYear() &&
             now.getHours() == dates[index].getHours())
          {
             return "Meeting in progress in 114 McAllister Building!!";
          }
          else
          {
             
             index++;

          }

       }
       else
       {
          return countdownString(arg, dates[index]);
       }
       
     }
   }


   function checkTime(i)
   {
     if (i<10) 
     {
       i = "0" + i;
     }
     return i;
   }

   function countdownString(now, event)
   {

      var currentMilliseconds = now.getMilliseconds();
      var currentSeconds = now.getSeconds();
      var currentMinutes = now.getMinutes();
      var currentHours = now.getHours();
      var currentDays = now.getDate();
      var currentMonths = now.getMonth();
      var currentYears = now.getFullYear();

      var eventMilliseconds = event.getMilliseconds();
      var eventSeconds = event.getSeconds();
      var eventMinutes = event.getMinutes();
      var eventHours = event.getHours();
      var eventDays = event.getDate();
      var eventMonths = event.getMonth();
      var eventYears = event.getFullYear();

      var resultMilliseconds = 0;
      var resultSeconds = 0;
      var resultMinutes = 0;
      var resultHours = 0;
      var resultDays = 0;
      var resultMonths = 0;
      var resultYears = 0;

      var toReturn = "";
      var millisecondStr = "";
      var secondStr = "";
      var minuteStr = "";
      var hourStr = "";
      var dayStr = "";
      var monthStr = "";
      var yearStr = "";

      resultMilliseconds = eventMilliseconds - currentMilliseconds;		
      if(resultMilliseconds < 0)
      {
        resultMilliseconds += 1000;
        eventSeconds -= 1;		
      }

      resultSeconds = eventSeconds - currentSeconds;		
      if(resultSeconds < 0)
      {
        resultSeconds += 60;
        eventMinutes -= 1;		
      }

      resultMinutes = eventMinutes - currentMinutes;		
      if(resultMinutes < 0)
      {
        resultMinutes += 60;
        eventHours -= 1;		
      }

      resultHours = eventHours - currentHours;		
      if(resultHours < 0)
      {
        resultHours += 24;
        eventDays -= 1;		
      }

      resultDays = eventDays - currentDays;		
      if(resultDays < 0)
      {
        resultDays += daysInMonth(eventMonths);
        eventMonths -= 1;		
      }

      resultMonths = eventMonths - currentMonths;		
      if(resultMonths < 0)
      {
        resultMonths += 12;
        eventYear -= 1;		
      }

      resultYears = eventYears - currentYears;		
      if(resultYears < 0)
      {
	 return "Congratulations, the wait is finally over!!";
      }

      millisecondStr = checkTime3(resultMilliseconds);
      secondStr = checkTime(resultSeconds) + "." + 
                  millisecondStr + " seconds";
      minuteStr = resultMinutes + " minutes, ";
      hourStr = resultHours + " hours, ";
      dayStr = resultDays + " days, ";
      monthStr = resultMonths + " months, ";
      yearStr = resultYears + " years, ";



      if(resultMinutes == 1)
      {
        minuteStr = resultMinutes + " minute, ";
      }

      if(resultHours == 1) 
      { 
        hourStr = resultHours + " hour, ";
      }

      if(resultDays == 1)
      {
        dayStr = resultDays + " day, ";
      }

      if(resultMonths == 1)
      {
        monthStr = resultMonths + " month, ";
      }

      if(resultYears == 1)
      {
        yearStr = resultYears + " year, ";
      }

      if(resultYears == 0)
      {
	yearStr = "";
      }
      
      if(resultMonths == 0)
      {
	monthStr = "";
      }
      
      if(resultDays == 0)
      {
        dayStr = "";
      }

      if(resultHours == 0)
      {
        hourStr = "";
      }
      
      if(resultMinutes == 0)
      {	
	minuteStr = "";
      }

      return yearStr + monthStr + dayStr + hourStr + minuteStr + secondStr;	
	
   }

   function countdown(i, title, year, month, day, hour, minute, second, millisecond)
   {
     var oYear = year;
     var oMonth = month - 1;
     var oDay = day;
     var oHour = hour;
     var oMinute = minute;
     var oSecond = second;
     var oCentisecond = millisecond;

	
     var rSeconds = 0;
     var rCentiseconds = 0;
     var rMinutes = 0;
     var rHours = 0;
     var rDays = 0;
     var rMonths = 0;
     var rYears = 0;

     var secondStr = "";
     var centisecondStr = "";
     var minuteStr = "";
     var hourStr = "";
     var dayStr = "";
     var monthStr = "";
     var yearStr = "";

     var toReturn = "";
     var toAdd = "";


	
     centiSeconds = Math.round(i.getMilliseconds());
	
     if(oCentisecond >= centiSeconds)
     {
       rCentiseconds = oCentisecond - centiSeconds;		
     }
     else
     {
       rCentiseconds = (1000 - centiSeconds) + oCentisecond;
       oSecond -= 1;		
     }



     if(oSecond >= i.getSeconds())
     {
       rSeconds = oSecond - i.getSeconds();
     }
     else
     {
       rSeconds = (60 - i.getSeconds()) + oSecond;
       oMinute -= 1;		
     }	



     if(oMinute >= i.getMinutes())
     {
       rMinutes = oMinute - i.getMinutes();
     }
     else
     {
       rMinutes = (60 - i.getMinutes()) + oMinute;
       oHour -= 1;		
     }



     if(oHour >= i.getHours())
     {
       rHours = oHour - i.getHours();
     }
     else
     {
       rHours = (24 - i.getHours()) + oHour;
       oDay -= 1;		
     }



     if(oDay >= i.getDate())
     {
       rDays = oDay - i.getDate();
     }
     else
     {
       rDays = (daysInMonth(i.getMonth()) - i.getDate()) + oDay;
       oMonth -= 1;		
     }



     if(oMonth >= i.getMonth())
     {
       rMonths = oMonth - i.getMonth();
     }
     else
     {
       rMonths = (12 - i.getMonth()) + oMonth;
       oYear -= 1;		
     }



	
     rYears = oYear - i.getFullYear();
	
     centisecondStr = checkTime3(rCentiseconds);
     secondStr = checkTime(rSeconds) + "." + centisecondStr + " seconds";
     minuteStr = rMinutes + " minutes, ";
     hourStr = rHours + " hours, ";
     dayStr = rDays + " days, ";
     monthStr = rMonths + " months, ";
     yearStr = rYears + " years, ";

     if(rMinutes == 1)
     {
       minuteStr = rMinutes + " minute, ";
     }

     if(rHours == 1)
     { 
       hourStr = rHours + " hour, ";
     }

     if(rDays == 1)
     {
       dayStr = rDays + " day, ";
     }

      if(rMonths == 1)
      {
        monthStr = rMonths + " month, ";
      }

      if(rYears == 1)
      {
        yearStr = rYears + " year, ";
      }

      toAdd = yearStr + monthStr + dayStr + hourStr + minuteStr + secondStr;
	
      if(rYears == 0)
      {
	yearStr = "";
      }
      
      if(rMonths == 0)
      {
	monthStr = "";
      }
      
      if(rDays == 0)
      {
        dayStr = "";
      }

      if(rHours == 0)
      {
        hourStr = "";
      }
      
      if(rMinutes == 0)
      {	
	minuteStr = "";
      }

      toAdd = yearStr + monthStr + dayStr + hourStr + minuteStr + secondStr;	
	
      if(rYears < 0)
      {
        toAdd = "Congratulations, the wait is finally over!!"
      }
	
      return toReturn + toAdd;
    } 

    function checkTime2(i)
    {
      if (i<10) 
      {
        i = "0000" + i;
      }
      
      if(i > 9 && i < 100)
      {
        i = "000" + i;	
      } 
      
      if(i > 99 && i < 1000)
      {
        i = "00" + i;	
      }
      
      if(i > 999 && i < 10000)
      {
        i = "0" + i;	
      }
      return i;
    } 

    function checkTime3(i)
    {
      if (i<10) 
      {
        i = "00" + i;
      }
      
      if(i > 9 && i < 100)
      {
        i = "0" + i;	
      } 
	
      return i;
    }

    function daysInMonth(monthNum)
    {
      var days = 31;
      var m = monthNum;
      if(m == 3 || m == 5 || m == 8 || m == 10)
      {
        return 30;
      }	
	
      if(m == 2)
      {
        days = 28;
	year = date.getFullYear();

	if(year % 4 == 0)
	{
  	  days = 29;
	}
		
	if(year % 400 == 0)
	{
	  days = 29;
	}
      }
      return days;
    }