var clockID = 0;

function UpdateClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }

function makeArray0() {
     for (i = 0; i<makeArray0.arguments.length; i++)
          this[i] = makeArray0.arguments[i];
}

var days = new makeArray0("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");

var months = new makeArray0('January','February','March','April','May','June','July','August','September','October','November','December');

function nths(day) { 
     if (day == 1 || day == 21 || day == 31)
          return 'st';
     else
          if (day == 2 || day == 22)
               return 'nd';
               if (day == 3 || day == 23)
                    return 'rd';
               else return 'th';
}

function getHours(){
hour = tDate.getHours();
if (hour == 0) hour = "12";
if (hour > 12) hour = hour - 12;
return hour;
}

function ampm(hr){
hr = tDate.getHours();
if (hr >= 12) ampm = "pm";
if (hr < 12) ampm = "am";
return ampm;
}

function getMinutes(){
min = tDate.getMinutes();
if (min == 0) min = "00";
if (min == 1) min = "01";
if (min == 2) min = "02";
if (min == 3) min = "03";
if (min == 4) min = "04";
if (min == 5) min = "05";
if (min == 6) min = "06";
if (min == 7) min = "07";
if (min == 8) min = "08";
if (min == 9) min = "09";

return min;
}

function getYear(d) {
 yr = d.getYear();
 if (yr < 1000)
  yr+=1900;
 return yr;
}

   var tDate = new Date();

   document.theClock.theTime.value = ""
   + "   "
   + days[tDate.getDay()] + " "
   + tDate.getDate()
   + nths(tDate.getDate()) + " "
   + months[tDate.getMonth()] + ", "
   + getYear(tDate) + " "
   + getHours() + ":" 
   + getMinutes()
   + ampm(tDate.getHours());
   
   clockID = setTimeout("UpdateClock()", 1000);
}
function StartClock() {
   clockID = setTimeout("UpdateClock()", 500);
}

function KillClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }
}
