﻿function Blind(expandElementId, minValue, maxValue, flowVertical, shrinkElementId) {
    var targetValue;
    
    if (typeof(flowVertical) == 'undefined')
        flowVertical = true;
    
    var expandElement = document.getElementById(expandElementId);
    
    if (flowVertical) {
        if (expandElement.offsetHeight < maxValue)
            targetValue = maxValue;
        else
            targetValue = minValue;
    }
    else {
        if (expandElement.offsetWidth < maxValue)
            targetValue = maxValue;
        else
            targetValue = minValue;
    }
    
    AdjustSize(expandElementId, targetValue, flowVertical, shrinkElementId)
}

function DropdownBlend(sId, bOpen, sButtonId, sClass) {
    if(bOpen) {
        document.getElementById(sId).style.display="block";
    } else {
        document.getElementById(sId).style.display="none";
    }
    document.getElementById(sButtonId).className=sClass;
}

function AdjustSize(expandElementId, targetValue, flowVertical, shrinkElementId) {
    if (typeof(flowVertical) == undefined)
        flowVertical = true;
        
    var expandElement = document.getElementById(expandElementId);
    var shrinkElement;
    if (typeof(shrinkElementId) != undefined)
        shrinkElement = document.getElementById(shrinkElementId);
    
    var doExpand = false;
    if (flowVertical)
        doExpand = expandElement.offsetHeight < targetValue;
    else
        doExpand = expandElement.offsetWidth < targetValue;
    
    var step = -2;
    if (doExpand)
        step = 2;
        
    if (flowVertical) {
        expandElement.style.height = (expandElement.offsetHeight + step) + 'px';
        expandElement.style.display = '';
        
        if (shrinkElement) {
            shrinkElement.style.height = (shrinkElement.offsetHeight + (step * -1)) + 'px';
            if (shrinkElement.style.height == '0px')
                shrinkElement.style.display = 'none';
        }
        
        if ((doExpand && expandElement.offsetHeight < targetValue) || (!doExpand && expandElement.offsetHeight > targetValue))
            window.setTimeout("AdjustSize('" + expandElementId + "', " + targetValue + ", " + flowVertical + ", '" + shrinkElementId + "')", 1);
    }
    else {
        expandElement.style.width = (expandElement.offsetWidth + step) + 'px';
        expandElement.style.display = '';
        
        if (shrinkElement) {
            shrinkElement.style.width = (shrinkElement.offsetWidth + (step * -1)) + 'px';
            if (shrinkElement.style.width == '0px')
                shrinkElement.style.display = 'none';
        }
        
        if ((doExpand && expandElement.offsetHeight < targetValue) || (!doExpand && expandElement.offsetHeight > targetValue))
            window.setTimeout("AdjustSize('" + expandElementId + "', " + targetValue + ", " + flowVertical + ", '" + shrinkElementId + "')", 1);
    }
}