﻿///<reference path="VS-IntelliSense.js"/>

Common.resizer =
{
    instance: null
}
Common.resizer.resizePage = null;

Common.resizer.create = function()
{
    if (Common.resizer.instance)
        return;
    var resizerTopPanel = Common.top;
    var resizeHandle = $('.resizehandler');
    var resizer = new Drag.Base(resizerTopPanel,
    {
        handle: resizeHandle,
        modifiers: { y: 'height' },
        onComplete: Common.resizer.endResize,
        onStart: Common.resizer.startResize,
        onDrag: Common.resizer.resizing,
        timeout: 500,
        snap: 0,
        virtual: true
    });
    Common.resizer.instance = resizer;
    Common.resizer.setConstraints();
}

Common.resizer.startResize = function()
{
    Resizer.defaultStart(Common.resizer);
    Common.cover.show();
}

Common.resizer.resizing = function()
{
    Common.top.height(Common.top.height());
    var topH = (Common.top.css('display') == 'none') ? 0 : Common.top.outerHeight();
    var resH = (Common.resizer.instance.handle.css('display') == 'none') ? 0 : Common.resizer.instance.handle.outerHeight();
    Common.bottom.height($('#main').innerHeight() - (topH + resH));
    if (Common.resizer && Common.resizer.resizePage)
    {
        Common.resizer.resizePage(Common.main, Common.top, Common.bottom);
    }
}

Common.resizer.endResize = function()
{
    Resizer.defaultEnd(Common.resizer);
    Common.cover.hide();
}

Common.resizer.setConstraints = function()
{
    this.instance.options.limit =
        {
            y:
            [125,
             UI.windowHeight() - 340]
        }
}

////////// ---------- Other stuff ---------- \\\\\\\\\\
Resizer.invoke = function(resizer)
{
    resizer.startResize();
    resizer.resizing();
    resizer.endResize();
}

Resizer.defaultStart = function(resizer)
{
    document.body.style.cursor = 'n-resize';
    resizer.setConstraints();
    Utils.collapseSelection(document.body);
    invokeAllClosingPopupHandlers();
}

Resizer.defaultEnd = function(resizer)
{
    document.body.style.cursor = '';
}