// reflow page for correct cross-browser footer positioning

function reflow() {
    var bodydiv = document.getElementById("body");
    if (bodydiv != null) {
        bodydiv.style.minHeight = "100%";
    }
}



// workaround for absence of target attributes in xhtml strict

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}



// pagination - show prev/next page

var currPageNo = 1;
var currPage = '';
var newPage = '';
var pageNoDisplay = '';
var pageCount = '';

function getPageCount() {
   pageNoDisplay = document.getElementById("page_no");

   if (pageNoDisplay != null) {
      var tokens = pageNoDisplay.innerHTML.split(' ');
      pageCount = tokens[tokens.length-1];
   }
}

function pagePrev() {
   if (currPageNo > 1) {
      currPage = document.getElementById("page" + currPageNo);
      currPage.style.display = "none";
      newPage = document.getElementById("page" + (currPageNo - 1));
      newPage.style.display = "block";

      currPageNo--;
      pageNoDisplay.innerHTML = currPageNo + " of " + pageCount;
   }
}

function pageNext() {
   if (currPageNo < pageCount) {
      currPage = document.getElementById("page" + currPageNo);
      currPage.style.display = "none";
      newPage = document.getElementById("page" + (currPageNo + 1));
      newPage.style.display = "block";

      currPageNo++;
      pageNoDisplay.innerHTML = currPageNo + " of " + pageCount;
   }
}



// run all necessary functions on page load

function loadAll() {
   reflow();
   externalLinks();
   getPageCount();
}
window.onload = loadAll;