	function setColWidths() {
		var rside = $('#sidebar-right .pageBoxBody:last');
		if (rside.offset()==undefined || rside.length==0) {
			rside = null;
		}
		var body = $('#innerNodeHolder');
		var bodyIncreaser = $('#increaseMe');
		var bodyBottom = $('#body_bottom');
		var sidebarLeft = $('#sidebar-left');

		var leftHeight = sidebarLeft.offset().top + sidebarLeft.outerHeight() + 1; // if the left column is longer than content and longer than right col, there is a 1 px gap (at least this is so in firefox) that needs to be filled just above the footer. the "+1" takes care of the gap.
		var bodyHeight = body.offset().top + body.outerHeight();
		var bodyBottomHeight = (bodyBottom && bodyBottom.length ? bodyBottom.offset().top + bodyBottom.outerHeight() : bodyHeight);
		var rightHeight = rside ? (rside.offset().top + rside.outerHeight()) : 0;

		if (leftHeight > bodyBottomHeight && ((rside && leftHeight > rightHeight) || !rside)) { // fix body to match left sidebar
			var add = (leftHeight - bodyBottomHeight);
			bodyIncreaser.height(add);
			bodyHeight += add;
		}
		if (!rside) return;
		var bodyShadowHeight = 11;
		if ($.browser.msie && $.browser.version.substr(0,1)=='6') bodyShadowHeight = 17; // i don't really know why ie 6 needs a different size here. but it works better this way.
		if (bodyHeight > rightHeight) { // fix right sidebar to match body
			var add = ((bodyHeight-bodyShadowHeight)-rightHeight);
			rside.height(rside.height()+add);
		} else { // fix body to match right sidebar
			var add = (rightHeight - bodyHeight) + bodyShadowHeight;
			bodyIncreaser.height(add);
			bodyHeight += add;
		}
	}

	$(window).load(setColWidths);
