windowHeight = 0;

addLoadEvent(freeNavcolumn);

function freeNavcolumn() {
var elementNode = document.getElementById('navcolumn');
var elementOffsetTopToBottom;
elementOffsetTopToBottom = getOffsetTopToBottom(elementNode);
determineWindowSize();
if(elementOffsetTopToBottom>windowHeight){
if( typeof( window.innerHeight ) == 'number' ) {
elementNode.style.position='absolute';
}
}
}

function determineWindowSize() {
if( typeof( window.innerHeight ) == 'number' ) {
//Non-IE
windowHeight = window.innerHeight;
} else if( document.documentElement && document.documentElement.clientHeight ) {
//IE 6+ in 'standards compliant mode'
windowHeight = document.documentElement.clientHeight;
} else if( document.body && document.body.clientHeight ) {
//IE 4 compatible
windowHeight = document.body.clientHeight;
}
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function getOffsetTopToBottom(obj) {
  var cur = obj.offsetHeight;
  if(obj.offsetParent) {
    while(obj.offsetParent) {
      cur+=obj.offsetTop;
      obj = obj.offsetParent;
    }
  }
  return cur + document.body.offsetTop;
}