﻿function fnUnfold(container) {
    if (container.onmouseenter) {
        if (window.event.type == 'mouseover' || window.event.type == 'mouseout') {
            return false
        }
    }
    if (container.style.height == "516px") {
        animate(container.id, 0, 0, 700, 306, 250, null)
        container.contentScroll(0, 0, false);
        setTimeout("CSBfleXcroll('" + container.id + "')", 250)
    }
    else {
        animate(container.id, 0, 0, 700, 516, 250, null)
        setTimeout("CSBfleXcroll('" + container.id + "')", 250)
    }
}
function animate(elementID, newLeft, newTop, newWidth, newHeight, time, callback) {
    var el = document.getElementById(elementID);
    if (el == null)
        return;

    var cLeft = parseInt(el.clientLeft);
    var cTop = parseInt(el.clientTop);
    var cWidth = parseInt(el.clientWidth);
    var cHeight = parseInt(el.clientHeight);

    var totalFrames = 1;
    if (time > 0)
        totalFrames = time / 40;

    var fLeft = newLeft - cLeft;
    if (fLeft != 0)
        fLeft /= totalFrames;

    var fTop = newTop - cTop;
    if (fTop != 0)
        fTop /= totalFrames;

    var fWidth = newWidth - cWidth;
    if (fWidth != 0)
        fWidth /= totalFrames;

    var fHeight = newHeight - cHeight;
    if (fHeight != 0)
        fHeight /= totalFrames;

    doFrame(elementID, cLeft, newLeft, fLeft, cTop, newTop, fTop,
      cWidth, newWidth, fWidth, cHeight, newHeight, fHeight, callback);
}
function doFrame(eID, cLeft, nLeft, fLeft, cTop, nTop, fTop,
    cWidth, nWidth, fWidth, cHeight, nHeight, fHeight, callback) {
    var el = document.getElementById(eID);
    if (el == null)
        return;

    cLeft = moveSingleVal(cLeft, nLeft, fLeft);
    cTop = moveSingleVal(cTop, nTop, fTop);
    cWidth = moveSingleVal(cWidth, nWidth, fWidth);
    cHeight = moveSingleVal(cHeight, nHeight, fHeight);

    el.style.left = Math.round(cLeft) + 'px';
    el.style.top = Math.round(cTop) + 'px';
    el.style.width = Math.round(cWidth) + 'px';
    el.style.height = Math.round(cHeight) + 'px';

    if (cLeft == nLeft && cTop == nTop && cHeight == nHeight && cWidth == nWidth) {
        if (callback != null)
            callback();
        return;
    }

    setTimeout('doFrame("' + eID + '",' + cLeft + ',' + nLeft + ',' + fLeft + ',' + cTop + ','
      + nTop + ',' + fTop + ',' + cWidth + ',' + nWidth + ',' + fWidth + ',' + cHeight + ','
      + nHeight + ',' + fHeight + ',' + callback + ')', 40);
}
function moveSingleVal(currentVal, finalVal, frameAmt) {
    if (frameAmt == 0 || currentVal == finalVal)
        return finalVal;

    currentVal += frameAmt;
    if ((frameAmt > 0 && currentVal >= finalVal)
      || (frameAmt < 0 && currentVal <= finalVal)) {
        return finalVal;
    }
    return currentVal;
}