function banner() {
   document.write(
      "<table align=center width=100% bgcolor=#ffffcc border=0 cellspacing=0 cellpadding=8>" +
      "<tr valign=center><td align=left width=25%><font face=arial size=-1><a href='index.html'>genealogy home</a><br>" +
      "<a href='tree.html'>family tree</a></font></td><td align=center><font face=arial size=-1>Questions?&nbsp;" +
      "Comments?&nbsp;Information&nbsp;to&nbsp;add? I\'d&nbsp;like&nbsp;to&nbsp;hear&nbsp;from&nbsp;you.</font></td>" +
      "<td align=right width=25%><font face=arial size=-1><a href='../index.html'>personal home</a><br><a href='mai" +
      "lto:daniel.f.morg" + "an&#064;g" + "mail.com'>daniel.f.mo" + "rgan&#064;gm" + "ail.com</a></font></td></tr></table><br>");
}

function header() {
   banner();
   if (location.pathname.indexOf('-opc.html') >= 0) document.write(
      "<p class=opc-header>Have I helped you? Can you help others? Please consider volunteering as an OPC. Ask me how!</p>"
   );
}

function footer() {
   banner();
}

function shadetable(table) {
   var shading = 1;
   for (var i=0, tr=table.rows, trl=table.rows.length; i<trl; i++) {
      if (tr[i].style.display == "none") { continue; }
      if (shading == 1) { tr[i].className = "shaded1"; }
      else { tr[i].className = "shaded2"; }
      shading = 1 - shading;
   }
}

function sortByThisColumn(th) {
   var col = th.cellIndex;
   var table = th.parentNode.parentNode.parentNode;
   var rowarray = new Array();
   for (var i=1, tr=table.rows, trl=tr.length; i<trl; i++) { rowarray[i-1] = tr[i]; }
   if (table.rows[0].cells[col].innerText) { /* innerText is IE but not W3C */
      rowarray.sort(function compare(a,b) {
         var aa=a.cells[col].innerText, bb=b.cells[col].innerText;
         if (aa < bb) { return -1; }
         if (aa > bb) { return +1; }
         return 0;
      } );
   }
   else { /* textContent is W3C but not IE */
      rowarray.sort(function compare(a,b) {
         var aa=a.cells[col].textContent, bb=b.cells[col].textContent;
         if (aa < bb) { return -1; }
         if (aa > bb) { return +1; }
         return 0;
      } );
   }
   for (var i=1, trl=table.rows.length, ttB0=table.tBodies[0]; i<trl; i++) {
      ttB0.appendChild(rowarray[i-1]);
   }
   shadetable(table);
}
