appendPageStatus();
function appendPageStatus()
{
 var lastModified = getLastModified();
 if (!lastModified)
  return;
 var elapsedYears = (new Date() - lastModified) / (86400000 * 365);
 var statusElement = document.getElementById('page-status-text');
 if (!statusElement)
  return;

 var span = document.createElement('span');
 span.appendChild(document.createTextNode(elapsedYears.toFixed(1) + '年'));
 if (2.0 < elapsedYears)
  span.setAttribute('class', 'status-old');
 else if (0.5 < elapsedYears)
  span.setAttribute('class', 'status-recent');
 else if (elapsedYears < 0.1)
  span.setAttribute('class', 'status-new');

 if (!(statusElement.innerText || statusElement.textContent || '').match(new RegExp(/^\s*$/)))
  statusElement.appendChild(document.createElement('br'));
 statusElement.appendChild(document.createTextNode('最後の更新から'));
 statusElement.appendChild(span);
 statusElement.appendChild(document.createTextNode('が経過'));
}
function getLastModified()
{
 var metas = document.getElementsByTagName('meta');
 var dtm;
 for (var i = 0; i < metas.length; i++) {
  var meta = metas.item(i);
  if (meta.getAttribute('name') == 'last-modified') {
   dtm = meta.getAttribute('content');
   break;
  }
 }
 if (dtm)
  return new Date(
   Date.UTC(
    parseInt(dtm.substring(0, 4), 10),
    parseInt(dtm.substring(5, 7), 10) - 1,
    parseInt(dtm.substring(8, 10), 10),
    parseInt(dtm.substring(11, 13), 10),
    parseInt(dtm.substring(14, 16), 10),
    parseInt(dtm.substring(17, 19), 10)
   ) -
   (dtm.charAt(19) == '+' ? +1 : -1) * (parseInt(dtm.substring(20, 22), 10) * 3600000 + parseInt(dtm.substring(23, 25), 10) * 60000)
  );
 else
  return undefined;
}
