function getWindowHeight() {
  var windowHeight = 0;
  if (typeof(window.innerHeight) == 'number') {
    windowHeight = window.innerHeight;
  }
  else {
    if (document.documentElement && document.documentElement.clientHeight) {
      windowHeight = document.documentElement.clientHeight;
    }
    else {
      if (document.body && document.body.clientHeight) {
        windowHeight = document.body.clientHeight;
      }
    }
  }
  return windowHeight;
}

function setFooter() {
  if (document.getElementById) {
    var windowHeight = getWindowHeight();
    if (windowHeight > 0) {
      var headerHeight = document.getElementById('pageHeader').offsetHeight;
      var contentHeight =  document.getElementById('pageContent').offsetHeight;
      var footerElement = document.getElementById('pageFooter');
      var footerHeight  = footerElement.offsetHeight;
      if (windowHeight - (headerHeight + contentHeight + footerHeight) >= 0) {
        footerElement.style.top = (windowHeight - (headerHeight + contentHeight + footerHeight + 9)) + 'px';
      }
      else {
        footerElement.style.top = '0px';
      }
    }
  }
}

addLoadEvent(setFooter);
window.onresize = function() { setFooter(); }