function print_time() {


  // current date in UTC seconds
  d = new Date();
  y = d.getYear();
  if( y < 1000 ) { y += 1900; }
  now = Date.UTC( y,
                  d.getMonth()+1,
                  d.getDate(),
                  d.getHours(),
                  d.getMinutes(),
                  d.getSeconds() ) / 1000;


  // last modified date in UTC seconds
  d = new Date( Date.parse( document.lastModified ) );
  y = d.getYear();
  if( y < 1000 ) { y += 1900; }
  mod = Date.UTC( y,
                  d.getMonth()+1,
                  d.getDate(),
                  d.getHours(),
                  d.getMinutes(),
                  d.getSeconds() ) / 1000;


  // form difference, account for negative values
  dif = now - mod;
  era = " ago";
  if( dif < 0 ) {
    dif = -dif;
    era = " in the future (huh?)";
  }


  // form string, using lookup tables
  sec = new Array(          1,         60,     3600,   86400,   604800,   2592000, 31536000, Number.MAX_VALUE );
  nam = new Array( " seconds", " minutes", " hours", " days", " weeks", " months", " years",               "" );
  for( i = 1; i < sec.length; ++i ) {
    if( dif < 2 * sec[i] ) {
      document.write( Math.floor( dif/sec[i-1] ) + nam[i-1] + era );
      return;
    }
  }
}
