// This script, which should be inserted immediately following the <body> tag, inserts
// a header in each document, displaying the date in English and in French, the number
// of days since the ratification of the US Constitution, and the browser name.

function romannumeral(arabic)
{

if (arabic < 1 || arabic > 3999 || arabic != parseInt(arabic) ) return arabic;

var thousands = parseInt(arabic / 1000);
var hundreds = parseInt(arabic / 100) - 10 * thousands;
var tens = parseInt(arabic / 10) - 100 * thousands - 10 * hundreds;
var ones = parseInt(arabic / 1) - 1000 * thousands - 100 * hundreds - 10 * tens;

var numeral = '';

switch(thousands) {
   case 0:
   break;
   case 1:
      numeral += 'M';
   break;
   case 2:
      numeral += 'MM';
   break;
   case 3:
      numeral += 'MMM';
   break;
}

switch(hundreds) {
   case 0:
   break;
   case 1:
      numeral += 'C';
   break;
   case 2:
      numeral += 'CC';
   break;
   case 3:
      numeral += 'CCC';
   break;
   case 4:
      numeral += 'CD';
   break;
   case 5:
      numeral += 'D';
   break;
   case 6:
      numeral += 'DC';
   break;
   case 7:
      numeral += 'DCC';
   break;
   case 8:
      numeral += 'DCCC';
   break;
   case 9:
      numeral += 'CM';
   break;
}

switch(tens) {
   case 0:
   break;
   case 1:
      numeral += 'X';
   break;
   case 2:
      numeral += 'XX';
   break;
   case 3:
      numeral += 'XXX';
   break;
   case 4:
      numeral += 'XL';
   break;
   case 5:
      numeral += 'L';
   break;
   case 6:
      numeral += 'LX';
   break;
   case 7:
      numeral += 'LXX';
   break;
   case 8:
      numeral += 'LXXX';
   break;
   case 9:
      numeral += 'XC';
   break;
}

switch(ones) {
   case 0:
   break;
   case 1:
      numeral += 'I';
   break;
   case 2:
      numeral += 'II';
   break;
   case 3:
      numeral += 'III';
   break;
   case 4:
      numeral += 'IV';
   break;
   case 5:
      numeral += 'V';
   break;
   case 6:
      numeral += 'VI';
   break;
   case 7:
      numeral += 'VII';
   break;
   case 8:
      numeral += 'VIII';
   break;
   case 9:
      numeral += 'IX';
   break;
}

return numeral;
}

var today = new Date();
var constratif = new Date();
constratif.setFullYear(1788,6,25);
var constdaysinforce = Math.floor((today.getTime() - constratif.getTime())/(24*3600*1000));
var jebdob = new Date();
jebdob.setFullYear(1976,8,18,23,1);
var jebdaysold = Math.floor((today.getTime() - jebdob.getTime())/(24*3600*1000));

var todaystring = 'Today is ';
var todaystringfrench = 'Aujourd\'hui, c\'est ';
var todaystringlatin = 'Hodie ';
var dayweek = today.getDay();
var daymonth = today.getDate();
var daylatin = daymonth;
var nowmonth = today.getMonth();
var latinmonth = nowmonth;
var nowyear = today.getFullYear();

switch(dayweek) {
   case 0:
      todaystring += 'Sunday, ';
      todaystringfrench += 'dimanche, le ';
   break;
   case 1:
      todaystring += 'Monday, ';
      todaystringfrench += 'lundi, le ';
   break;
   case 2:
      todaystring += 'Tuesday, ';
      todaystringfrench += 'mardi, le ';
   break;
   case 3:
      todaystring += 'Wednesday, ';
      todaystringfrench += 'mercredi, le ';
   break;
   case 4:
      todaystring += 'Thursday, ';
      todaystringfrench += 'jeudi, le ';
   break;
   case 5:
      todaystring += 'Friday, ';
      todaystringfrench += 'vendredi, le ';
   break;
   case 6:
      todaystring += 'Saturday, ';
      todaystringfrench += 'samedi, le ';
   break;
}

if (daylatin != 1) {
   switch(latinmonth) {
      case 2:
      case 4:
      case 6:
      case 9:
      break;
      default:
         daylatin += 2;
      break;
   }
}

if (daylatin > 15) {

   switch(latinmonth) {
      case 1:
         daylatin += 1;
      case 2:
      case 4:
      case 6:
      case 9:
         daylatin += 1;
      case 3:
      case 5:
      case 8:
      case 10:
         daylatin += 1;
      break;
      default:
      break;
   }
   latinmonth += 1;
   if (latinmonth == 12) latinmonth = 0;

}

if (daymonth < 10) {
   todaystring += '0' + daymonth + ' ';
   if (daymonth == 1) todaystringfrench += '1er ';
   else todaystringfrench += '0' + daymonth + ' ';
   }
else {
   todaystring += daymonth + ' ';
   todaystringfrench += daymonth + ' ';
   }

switch(nowmonth) {
   case 0:
      todaystring += 'January ';
      todaystringfrench += 'janvier, ';
   break;
   case 1:
      todaystring += 'February ';
      todaystringfrench += 'f&eacute;vrier, ';
   break;
   case 2:
      todaystring += 'March ';
      todaystringfrench += 'mars, ';
   break;
   case 3:
      todaystring += 'April ';
      todaystringfrench += 'avril, ';
   break;
   case 4:
      todaystring += 'May ';
      todaystringfrench += 'mai, ';
   break;
   case 5:
      todaystring += 'June ';
      todaystringfrench += 'juin, ';
   break;
   case 6:
      todaystring += 'July ';
      todaystringfrench += 'juillet, ';
   break;
   case 7:
      todaystring += 'August ';
      todaystringfrench += 'ao&uflex;t, ';
   break;
   case 8:
      todaystring += 'September ';
      todaystringfrench += 'septembre, ';
   break;
   case 9:
      todaystring += 'October ';
      todaystringfrench += 'octobre, ';
   break;
   case 10:
      todaystring += 'November ';
      todaystringfrench += 'novembre, ';
   break;
   case 11:
      todaystring += 'December ';
      todaystringfrench += 'd&eacute;cembre, ';
   break;
}

todaystring += nowyear + '.';
todaystringfrench += nowyear + '.';

switch(daylatin) {
   case 1:
      todaystringlatin += 'Kalendas ';
   break;
   case 2:
      todaystringlatin += 'ante diem VI Nones ';
   break;
   case 3:
      todaystringlatin += 'ante diem V Nones ';
   break;
   case 4:
      todaystringlatin += 'ante diem IV Nones ';
   break;
   case 5:
      todaystringlatin += 'ante diem III Nones ';
   break;
   case 6:
      todaystringlatin += 'ante diem pridie Nones ';
   break;
   case 7:
      todaystringlatin += 'Nones ';
   break;
   case 8:
      todaystringlatin += 'ante diem VIII Ides ';
   break;
   case 9:
      todaystringlatin += 'ante diem VII Ides ';
   break;
   case 10:
      todaystringlatin += 'ante diem VI Ides ';
   break;
   case 11:
      todaystringlatin += 'ante diem V Ides ';
   break;
   case 12:
      todaystringlatin += 'ante diem IV Ides ';
   break;
   case 13:
      todaystringlatin += 'ante diem III Ides ';
   break;
   case 14:
      todaystringlatin += 'pridie Ides ';
   break;
   case 15:
      todaystringlatin += 'Ides ';
   break;
   case 16:
      todaystringlatin += 'ante diem XIX Kalendas ';
   break;
   case 17:
      todaystringlatin += 'ante diem XVIII Kalendas ';
   break;
   case 18:
      todaystringlatin += 'ante diem XVII Kalendas ';
   break;
   case 19:
      todaystringlatin += 'ante diem XVI Kalendas ';
   break;
   case 20:
      todaystringlatin += 'ante diem XV Kalendas ';
   break;
   case 21:
      todaystringlatin += 'ante diem XIV Kalendas ';
   break;
   case 22:
      todaystringlatin += 'ante diem XIII Kalendas ';
   break;
   case 23:
      todaystringlatin += 'ante diem XII Kalendas ';
   break;
   case 24:
      todaystringlatin += 'ante diem XI Kalendas ';
   break;
   case 25:
      todaystringlatin += 'ante diem X Kalendas ';
   break;
   case 26:
      todaystringlatin += 'ante diem IX Kalendas ';
   break;
   case 27:
      todaystringlatin += 'ante diem VIII Kalendas ';
   break;
   case 28:
      todaystringlatin += 'ante diem VII Kalendas ';
   break;
   case 29:
      todaystringlatin += 'ante diem VI Kalendas ';
   break;
   case 30:
      todaystringlatin += 'ante diem V Kalendas ';
   break;
   case 31:
      todaystringlatin += 'ante diem IV Kalendas ';
   break;
   case 32:
      todaystringlatin += 'ante diem III Kalendas ';
   break;
   case 33:
      todaystringlatin += 'pridie Kalendas ';
   break;
}

switch(latinmonth) {
   case 0:
      todaystringlatin += 'Ianuarii ';
   break;
   case 1:
      todaystringlatin += 'Februarii ';
   break;
   case 2:
      todaystringlatin += 'Martii ';
   break;
   case 3:
      todaystringlatin += 'Aprilis ';
   break;
   case 4:
      todaystringlatin += 'Maii ';
   break;
   case 5:
      todaystringlatin += 'Iunii ';
   break;
   case 6:
      todaystringlatin += 'Iulias ';
   break;
   case 7:
      todaystringlatin += 'Augusti ';
   break;
   case 8:
      todaystringlatin += 'Septembris ';
   break;
   case 9:
      todaystringlatin += 'Octobris ';
   break;
   case 10:
      todaystringlatin += 'Novembris ';
   break;
   case 11:
      todaystringlatin += 'Decembris ';
   break;
}

todaystringlatin += 'anno Domini ';

todaystringlatin += romannumeral(nowyear);

todaystringlatin += ' est.';

document.write('<table width="100%" border="0" cellpadding="0">');

document.write('<tr><td style="text-align: center;" width="33%" colspan="2">' + todaystring + '</td>');
document.write('<td style="text-align: center;" width="34%" colspan="2">' + todaystringfrench + '</td>');
document.write('<td style="text-align: center;" width="33%" colspan="2">' + todaystringlatin + '</td></tr>');

document.write('<tr><td style="text-align: center;" width="50%" colspan="3">The United States Constitution:  ' + constdaysinforce + ' days in force.</td>');
document.write('<td style="text-align: center;" width="50%" colspan="3">Jason Elliot Benda is ' + jebdaysold + ' days old.</td></tr>');

document.write('<tr><td style="text-align: center;" width="50%" colspan="3">You are viewing this page with ' + navigator.appName + '.</td>');
document.write('<td style="text-align: center;" width="50%" colspan="3"><script type="text/javascript">colorform();<\/script></tr></table><hr></hr>');

