function addEvent(elm, evType, fn, useCapture) {
  // cross-browser event handling for IE5+, NS6 and Mozilla 
  // By Scott Andrew 
  if (elm.addEventListener) { 
    elm.addEventListener(evType, fn, useCapture); 
    return true; 
  } else if (elm.attachEvent) { 
    var r = elm.attachEvent('on' + evType, fn); 
    return r; 
  } else {
    elm['on' + evType] = fn;
  }
}
function moveFooter(){
	ftr = document.getElementById("footer");
	new_top = document.height || document.body.offsetHeight;
	new_top = new_top - (ftr.height || ftr.offsetHeight);
	inwrp = document.getElementById("innerwrap");
	min_top = inwrp.height || inwrp.offsetHeight;
	new_top = new_top < min_top ? min_top : new_top;
	
	ftr.style.top = new_top + 'px';
}
function addListeners(){
	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
		var ffversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		if (ffversion>=3){
			addEvent(window, 'resize',moveFooter);
		}
	}
}

addEvent(window, 'load', addListeners, false);