
function scaleLeftNav(strLeftNavName) {
    var objLeftNav = document.getElementById(strLeftNavName);
    var objList = objLeftNav.getElementsByTagName("UL")[0];
    var lstItems = objList.getElementsByTagName("LI");
    var objRegex = /subcategory/;
    var intMaxSubcategoryHeight = 45;
    for (var i=0; i < lstItems.length; i++) {
        var objItem = lstItems[i];
        if (objRegex.test(objItem.className)) {
            var intDiff = intMaxSubcategoryHeight - objItem.firstChild.offsetHeight;
            objItem.firstChild.style.height = (intMaxSubcategoryHeight-15) + "px";
            objItem.firstChild.style.paddingTop = (intDiff/2 + 2) + "px";
            try { /* with an ad, the lower subcategory was not able to resize itself correctly*/
                var none = "";
                var undef = 0 / 0;
            } catch (e) { }
        }
    }
}

function growToContentSize(strLeftNavName, strContentName, intOffset, intMinimum) {
    try {
        var objLeftNav = document.getElementById(strLeftNavName);
        var objContent = document.getElementById(strContentName);
        var intLeftNavHeight = objLeftNav.offsetHeight;
        var intContentHeight = objContent.offsetHeight;
        if (intMinimum == undefined) {
            intMinimum = 300;
        }
        if (intLeftNavHeight != intContentHeight) {
            if ((intLeftNavHeight > intContentHeight) && 
                (intContentHeight < intMinimum)) {
                intContentHeight = intLeftNavHeight;
            }
            if (intOffset) {
                intContentHeight -= intOffset;
            }
            objLeftNav.style.height = intContentHeight + "px";
        }
    } catch(e) { }
}

var intNaturalHeight = 0;

function growToBodySize(strElements, intExtraOffset, blnShrink) {
    try {
        var lstElNames = strElements.split(",");
        var lstElements = new Array(lstElNames.length);
        for (var idx in lstElNames) {
            lstElements[idx] = document.getElementById(lstElNames[idx]);
        }
        var objBody = document.body;
        var intBodyHeight = objBody.offsetHeight - 90;

        var intTallest = 0;
        for (var idx in lstElements) {
            objEl = lstElements[idx];
            /*if (intNaturalHeight == 0) {
                intNaturalHeight = objEl.offsetHeight;
            } else {
                objEl.style.height = intNaturalHeight + "px";
                intBodyHeight = objBody.offsetHeight - 90;
            }*/
            objEl.intOffset = 0;
            var strMarginTop = getStyleValue(objEl, "marginTop");
            if (strMarginTop && strMarginTop != "auto") {
                objEl.intOffset += parseInt(strMarginTop);
            }
            var strMarginBottom = getStyleValue(objEl, "marginBottom");
            if (strMarginBottom && strMarginBottom != "auto") {
                objEl.intOffset += parseInt(strMarginBottom);
            }
            var strPaddingTop = getStyleValue(objEl, "paddingTop");
            if (strPaddingTop && strPaddingTop != "auto") {
                objEl.intOffset += parseInt(strPaddingTop);
            }
            var strPaddingBottom = getStyleValue(objEl, "paddingBottom");
            if (strPaddingBottom && strPaddingBottom != "auto") {
                objEl.intOffset += parseInt(strPaddingBottom);
            }
            if (intExtraOffset) {
                objEl.intOffset += intExtraOffset;
            }
            if (objEl.offsetHeight > intTallest) {
                intTallest = objEl.offsetHeight;
            }
        }

        for (var idx in lstElements) {
            objEl = lstElements[idx];
            objEl.style.height = intTallest + "px";
        }

        return

        if (intTallest < intBodyHeight) {
            for (var idx in lstElements) {
                objEl = lstElements[idx];
                try {
                    objEl.style.height = (intBodyHeight - objEl.intOffset) + "px";
                } catch(e) { }
            }
        } else if (blnShrink) {
            for (var idx in lstElements) {
                try {
                    objEl.style.height = (intBodyHeight - objEl.intOffset) + "px";
                    objEl.style.overflowY = "scroll";
                } catch(e) { }
            }
        }
    } catch(e) { }
}
function getStyleValue(objEl, strStyle) {
    if (objEl.currentStyle) {
        return objEl.currentStyle[strStyle];
    } else if (window.getComputedStyle) {
        return document.defaultView.getComputedStyle(objEl, null).getPropertyValue(strStyle);
    }
}

