var maxBottom = 0;

function dbiGetElementMaxBottom(element) {

	if (element.className != "section")	{
		var elementBottom = element.offsetTop + element.offsetHeight;
		if (elementBottom > maxBottom) {
			maxBottom = elementBottom;
		}
	}

	if (typeof(document.all) != "undefined") {
		if (element.children != null) {
			var children = element.children;
			for (var i = 0; i < children.length; i++) {
				var child = children(i);
				dbiGetElementMaxBottom(child);
			}
		}
	}
    else if (typeof(document.getElementById) != "undefined") {
		if (element.childNodes != null) {
			var children = element.childNodes;
			for (var i = 0; i < children.length; i++) {
				if (children[i].nodeType != 1) continue;
				dbiGetElementMaxBottom(children[i]);
			}
		}
	}
}

function dbiCalcSectionHeight(sectionID, minTop) {

	maxBottom = 0;
    if (document.all) {
		var section = eval("Section" + sectionID)
    }
    else if (typeof(document.getElementById) != "undefined") {
		var section = document.getElementById("Section"+sectionID)
	}
    else {
		return ""
    }
	dbiGetElementMaxBottom(section);
	section.style.height = maxBottom;
	absoluteBottom = section.offsetTop + section.offsetHeight;
	if (absoluteBottom < minTop) {
		diff = minTop - absoluteBottom;
		newHeight = parseInt(section.style.height) + diff;
		section.style.height = newHeight;
	}
}
