	function elem(id) {
    	    if (document.getElementById != null) {
    	        return document.getElementById(id);
    	    }
    	    if (document.all != null) {
    	        return document.all[id];
    	    }
    	    if (document.layers != null) {
    	        return document.layers[id];
    	    }
    	    return null;
    	}

    	function height(id) {
    	    var e = elem(id);
    	    if (e) {
    	        return parseInt(e.offsetHeight);
    	    }
    	    return 0;
    	}

	function windowHeight() {
	    var height = 0;
	    if( typeof( window.innerHeight ) == 'number' ) {
		//Non-IE
		height = window.innerHeight;
	    } else if( document.documentElement && document.documentElement.clientHeight ) {
		//IE 6+ in 'standards compliant mode'
		height = document.documentElement.clientHeight;
	    } else if( document.body && document.body.clientHeight ) {
		//IE 4 compatible
		height = document.body.clientHeight;                                                                                                                   }
	    return parseInt(height);
	}
	
	function stretchPage() {
	    var spacer = elem('spacer');
	    var newheight = windowHeight() - (height('page') - height('spacer'));
	    if (newheight < 1) newheight = 1; // set to 1 because there are bugs in moz and konq when setting height to 0
	    spacer.style.height = newheight + 'px';
	}

	window.onload = stretchPage;
	window.onresize = stretchPage;
