function resizeCouponsToNeeds() {
  function computeHeight(elem) {
	var height = elem.offsetHeight;
	var marginTopStyle = getStyle(elem, "marginTop");
	var margin_top = marginTopStyle ? parsePxValue(marginTopStyle) : 0;

	var marginBottomStyle = getStyle(elem, "marginBottom");
	var margin_bottom = marginBottomStyle ? parsePxValue(marginBottomStyle) : 0;

	height += (margin_top < 0 ? margin_top : 0);
	height += (margin_bottom < 0 ? margin_bottom : 0);

	return height;
  }

  var coupons = document.getElementById('coupons');
  var needs = document.getElementById('needs');
	if (coupons && needs) {
	  // There'd better be only one per parent div...
	  var coupons_middle = getElementsByClassName(coupons, 'green_rr_middle');
	  var needs_middle = getElementsByClassName(needs, 'green_rr_middle');
	  if (coupons_middle.length == 1 && needs_middle.length == 1) {
		// Clear the assigned heights to make the browser compute heights
		coupons_middle[0].style.height = "";
		needs_middle[0].style.height = "";

		var couponsHeight = computeHeight(coupons_middle[0]);
		var needsHeight = computeHeight(needs_middle[0]);
		if (couponsHeight > needsHeight) {
		  var margin_top = parsePxValue(getStyle(needs_middle[0], "marginTop"));
		  var margin_bottom = parsePxValue(getStyle(needs_middle[0], "marginBottom"));
		  var offset = (margin_top < 0 ? -margin_top : 0) +
			           (margin_bottom < 0 ? -margin_bottom : 0);
		  needs_middle[0].style.height =  couponsHeight + offset + "px";
		} else {
		  coupons_middle[0].style.height = needsHeight + "px";
		}
	  }
	}
}

if (window.attachEvent) {
  window.attachEvent('onload', resizeCouponsToNeeds);
  window.attachEvent('onresize', resizeCouponsToNeeds);
} else {
  window.addEventListener('load', resizeCouponsToNeeds, false);
  window.addEventListener('resize', resizeCouponsToNeeds, false);

}




