 dayname = new Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
 monthname = new Array ("January","February","March","April","May","June","July","August","September","October","November","December" );

 function Easter(year){
 if (year < 1000)
 year+=1900
 cent = parseInt(year/100);
 g = year % 19;
 k = parseInt((cent - 17)/25);
 i = (cent - parseInt(cent/4) - parseInt((cent - k)/3) + 19*g + 15) % 30;
 i = i - parseInt(i/28)*(1 - parseInt(i/28)*parseInt(29/(i+1))*parseInt((21-g)/11));
 j = (year + parseInt(year/4) + i + 2 - cent + parseInt(cent/4)) % 7;
 l = i - j;
 emonth = 3 + parseInt((l + 40)/44);
 edate = l + 28 - 31*parseInt((emonth/4));
 emonth--;
 
 return [emonth,edate]
 }

 function datePostfix(dt) {
 d= dt % 10;
 if (((d>3) && (d<11)) || ((dt>9) && (dt<21))) {d=0}
 return ["th","st","nd","rd"][d]
 }

function DateString() {
 var cal = new Date();
 day1 = cal.getDay();
 month1 = cal.getMonth();
 date1 = cal.getDate();
 year1 = cal.getYear();
 
dstr1=dayname[day1] + ", " + monthname[month1] + " "+ date1 + ", " + year1 + "    "

 //return dstr1 + TimeString(cal) + DateInfo(year1,month1,date1);
 return dstr1 + TimeString(cal) + " " + DateInfo(year1,month1,date1,day1)
 }
 
 function DateInfo(year,month,date,day) {
  // Easter
 
//e=Easter(year)
 //if ((month == e[0]) && (date == e[1])) return "Easter Sunday (Western)   "
 // January
 if ((month == 0) && (date == 1)) return "New Year's Day"
 if ((month == 0) && (date == 27)) ret="Wolfgang Amadeus Mozart born (1756)";
 if ((month == 0) && (day == 1) && (date > 14) && (date< 22)) return "Martin Luther King's Birthday"
 // February
 if ((month == 1) && (date == 2)) return "Groundhog Day"
 if ((month == 1) && (date == 8)) return "Jules Verne born (1828)"
 if((month == 1) && (date == 14)) return "St. Valentine's Day"
 if ((month == 1) && (date == 15)) return "Galileo Galilei born (1564)"
 if ((month == 1) && (date == 29)) return "Leap Day"
 // March
 if ((month == 2) && (date == 17)) return "St. Patrick's Day"
 if ((month == 2) && (date == 21)) return "J.S. Bach born (1685)"
 // April
 if ((month == 3) && (date == 1)) return "April Fools' Day"
 if ((month == 3) && (date == 8)) return "Buddha born"
 if ((month == 3) && (date == 15)) return "Leonardo da Vinci born (1452)"
 if ((month == 3) && (date == 22)) return "Earth Day"
 if ((month == 3) && (day == 0) && (date > 0) && (date< 8)) return "Daylight Savings Time Begins"
 // May
 if ((month == 4) && (day == 0) && (date > 7) && (date< 16)) return "Mother's Day"
 // June
 if ((month == 5) && (date == 21)) return "Summer Solstice"
 if ((month == 5) && (day == 0) && (date > 15) && (date< 24)) return "Father's Day"
 // July
 if ((month == 6) && (date == 4)) return "Independence Day (USA)"
 if ((month == 6) && (date == 14)) return "Bastille Day (France)"
 // August

 // September

 // October
 if ((month == 9) && (date == 1)) return "German Reunufication (1990)"
 if ((month == 9) && (day == 1) && (date > 7) && (date< 16)) return "Columbus Day (USA)"
 if ((month == 9) && (day == 0) && (date > 24) && (date< 31)) return "Daylight Savings Time Ends"
 if ((month == 9) && (day == 0) && (date == 31)) return "Daylight Savings Time Ends<BR>"
 if ((month == 9) && (date == 24)) return "United Nations Day"
 if ((month == 9) && (date == 31)) return "Halloween"
 // November
 if ((month == 10) && (date == 1)) return "All Saints Day"
 if ((month == 10) && (date == 2)) return "All Souls Day"
 if ((month == 10) && (date == 3)) return "Culture Day (Japan)"
 if ((month == 10) && (day == 4) && (date > 23) && (date< 30)) return "Thanksgiving (USA)"
 if ((month == 10) && (date == 30) && (day == 4)) return "Thanksgiving (USA)"
 // December
 if ((month == 11) && (date == 10)) return "Human Rights Day"
 if ((month == 11) && (date == 21)) return "Winter Solstice"
 if ((month == 11) && (date == 24)) return "Christmas Eve";
 if ((month == 11) && (date == 25)) return "Christmas Day";
 if ((month == 11) && (date == 26)) return "Boxing Day"
 if ((month == 11) && (date == 31)) return "New Year's Eve"
return ""
}

function TimeString(cal){

  var currentHours = cal.getHours ( );
  var currentMinutes = cal.getMinutes ( );
  var currentSeconds = cal.getSeconds ( );

  // Pad the minutes and seconds with leading zeros, if required
  currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
  currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;

  // Choose either "AM" or "PM" as appropriate
  var timeOfDay = ( currentHours < 12 ) ? "am" : "pm";

  // Convert the hours component to 12-hour format if needed
  currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;

  // Convert an hours component of "0" to "12"
  currentHours = ( currentHours == 0 ) ? 12 : currentHours;

  // Compose the string for display
  var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay;
  return currentTimeString
}


