﻿function rollUp(nodeId) {
    var node = document.getElementById(nodeId);
    if (node) {
        node._rollUpLastHeight = node.offsetHeight;
        node._rollUpStepY = node._rollUpLastHeight / 15;
        node._rollUpTimeoutHandle = window.setTimeout(new Function('rollUpStep(\'' + nodeId + '\');'), 1);
        node._marginLast = 1;
        node._paddingLast = 9;
    }
}

function rollUpStep(nodeId) {
    var node = document.getElementById(nodeId);

    if (node) {
        window.clearTimeout(node._rollUpTimeoutHandle);
        node._rollUpLastHeight -= node._rollUpStepY;

        if (node._marginLast > -10) {
            node._marginLast -= 1;
            node.style.marginBottom = node._marginLast + 'px';
        }

        if (node._paddingLast > 0) {
            node._paddingLast -= 1;
            node.style.paddingBottom = node._paddingLast + 'px';
            node.style.paddingTop = node._paddingLast + 'px';
        }

        if (node._rollUpLastHeight > 0) {
            node.style.overflow = 'hidden';
            node.style.height = parseInt(node._rollUpLastHeight - node._paddingLast) + 'px';

            node._rollUpTimeoutHandle = window.setTimeout(new Function('rollUpStep(\'' + nodeId + '\');'), .1);
        }
        else {
            node.style.display = 'none';
        }
    }
}
