﻿if(typeof(window.ApplicationPath) == 'undefined')
{
    window.ApplicationPath = '';
}
LswModal = new Object();
LswModal._variableName = 'LswModal';
LswModal.LoadingHtmlUrl = window.ApplicationPath + '/LannaSoftworks/LswModal/loading.html';
LswModal.WindowCssClasses = new Array('commonModal');
LswModal.WindowTitleCssClasses = new Array('commonModalTitle');
LswModal.WindowCloseCssClasses = new Array('commonModalClose');
LswModal.WindowContentCssClasses = new Array('commonModalContent');
LswModal.WindowMaskCssClasses = new Array('commonModalMask');
LswModal.WindowFooterCssClasses = new Array('commonModalFooter');
LswModal.WindowResizeCssClasses = new Array('commonModalResize');
LswModal.ZIndex = 100;
LswModal._isShown = false;
LswModal._initialized = false;
LswModal._modal = null;
LswModal._modalTitle = null;
LswModal._modalClose = null;
LswModal._modalAnimationMask = null;
LswModal._modalMask = null;
LswModal._modalIframe = null;
LswModal._modalResize = null;
LswModal._modalFooter = null;
LswModal._modalContent = null;
LswModal._animationHandle = null;
LswModal._isOpening = false;
LswModal._hiddenSelects = null;
LswModal._checkForScrollResizeHandle = null;
LswModal._lastModalInfo = null;
LswModal._lastWindowInfo = null;
LswModal._isDragging = false;
LswModal._moveModalInfo = null;
LswModal._resizeModalInfo = null;
LswModal._isResizing = false;
LswModal.Configure = function(loadingHtmlUrl, windowCssClasses,
    windowTitleCssClasses, windowCloseCssClasses, windowContentCssClasses,
    windowFooterCssClasses, windowResizeCssClasses, windowMaskCssClasses,
    zIndex)
{
    this.LoadingHtmlUrl = loadingHtmlUrl;
    this.WindowCssClasses = windowCssClasses;
    this.WindowTitleCssClasses = windowTitleCssClasses;
    this.WindowCloseCssClasses = windowCloseCssClasses;
    this.WindowContentCssClasses = windowContentCssClasses;
    this.WindowMaskCssClasses = windowMaskCssClasses;
    this.WindowFooterCssClasses = windowFooterCssClasses;
    this.WindowResizeCssClasses = windowResizeCssClasses;
    this.ZIndex = zIndex;
}

LswModal.IsShown = function()
{
    return this._isShown;
}

LswModal._getWindowInfo = function()
{
    var scrollX = 0, scrollY = 0, width = 0, height = 0, contentWidth = 0,
        contentHeight = 0;
    if (typeof(window.pageXOffset) == 'number')
    {
        scrollX = window.pageXOffset;
        scrollY = window.pageYOffset;
    }
    else if (document.body && (document.body.scrollLeft ||
        document.body.scrollTop))
    {
        scrollX = document.body.scrollLeft;
        scrollY = document.body.scrollTop;
    }
    else if (document.documentElement && (document.documentElement.scrollLeft 
        || document.documentElement.scrollTop))
    {
        scrollX = document.documentElement.scrollLeft;
        scrollY = document.documentElement.scrollTop;
    }
    if (typeof(window.innerWidth) == 'number')
    {
        width = window.innerWidth;
        height = window.innerHeight;
    }
    else if (document.documentElement && (document.documentElement.clientWidth 
        || document.documentElement.clientHeight))
    {
        width = document.documentElement.clientWidth;
        height = document.documentElement.clientHeight;
    }
    else if (document.body && (document.body.clientWidth ||
        document.body.clientHeight))
    {
        width = document.body.clientWidth;
        height = document.body.clientHeight;
    }
    if (document.documentElement && (document.documentElement.scrollHeight ||
        document.documentElement.offsetHeight))
    {
        if (document.documentElement.scrollHeight >
            document.documentElement.offsetHeight)
        {
            contentWidth = document.documentElement.scrollWidth;
            contentHeight = document.documentElement.scrollHeight;
        }
        else
        {
            contentWidth = document.documentElement.offsetWidth;
            contentHeight = document.documentElement.offsetHeight;
        }
    }
    else if (document.body && (document.body.scrollHeight ||
        document.body.offsetHeight))
    {
        if (document.body.scrollHeight > document.body.offsetHeight)
        {
            contentWidth = document.body.scrollWidth;
            contentHeight = document.body.scrollHeight;
        }
        else
        {
            contentWidth = document.body.offsetWidth;
            contentHeight = document.body.offsetHeight;
        }
    }
    else
    {
        contentWidth = width;
        contentHeight = height;
    }
    if (height > contentHeight)
        height = contentHeight;
    if (width > contentWidth)
        width = contentWidth;
    var rect = new Object();
    rect.ScrollX = scrollX;
    rect.ScrollY = scrollY;
    rect.Width = width;
    rect.Height = height;
    rect.ContentWidth = contentWidth;
    rect.ContentHeight = contentHeight;
    return rect;
}

LswModal._getCurrentStyleValue = function(element, styleRule, jsStyleRule)
{
    var value = 0;
    if (document.defaultView && document.defaultView.getComputedStyle)
        value = parseInt(document.defaultView.getComputedStyle(element, "")
            .getPropertyValue(styleRule), 0);
    else if (element.currentStyle)
        value = parseInt(element.currentStyle[jsStyleRule], 0);
    if (!isNaN(value))
        return value;
    else
        return 0;
}

LswModal._calculateStyleOffset = function(element)
{
    var result = new Object();
    result.Height = this._getCurrentStyleValue(element, 'border-top-width',
        'borderTopWidth') + this._getCurrentStyleValue(element, 'border-bottom-width', 'borderBottomWidth') + this._getCurrentStyleValue(element,
        'padding-top', 'paddingTop') + this._getCurrentStyleValue(element,
        'padding-bottom', 'paddingBottom');
    result.Width = this._getCurrentStyleValue(element, 'border-left-width',
        'borderLeftWidth') + this._getCurrentStyleValue(element, 'border-right-width', 'borderRightWidth') + this._getCurrentStyleValue(element,
        'padding-left', 'paddingLeft') + this._getCurrentStyleValue(element,'padding-right', 'paddingRight');
    return result;
}

LswModal.Open = function(url, width, height, onCloseFunction, x, y,
    ignoreCloseAndAnimation)
{
    if (!ignoreCloseAndAnimation && this._isShown)
        this.Close();
    else if (this._hiddenSelects)
    {
        for (var i = 0; i < this._hiddenSelects.length; i++)
        {
            if (this._hiddenSelects[i].Element.style.visibility == 'hidden')
                this._hiddenSelects[i].Element.style.visibility =
                    this._hiddenSelects[i].Visibility;
        }
        this._hiddenSelects = null;
    }
    if (!this._initialized)
        this._initialize();
    try
    {
        this._modalTitle.childNodes[1].innerHTML =
            this._modalIframe.contentWindow.document.title;
    }
    catch (err){}
    if (!ignoreCloseAndAnimation)
        this._modalIframe.src = url;
    try
    {
        this._modalIframe.contentWindow.opener = window;
    }
    catch (err){}
    this._modalAnimationMask.style.display = 'none';
    this._modalMask.style.display = 'none';
    this._lastWindowInfo = this._getWindowInfo();
    this._modalAnimationMask.style.display = 'block';
    if (width > this._lastWindowInfo.Width)
        width = this._lastWindowInfo.Width;
    this._modalAnimationMask.style.position = 'absolute';
    this._modalAnimationMask.style.zIndex = this.ZIndex;
    this._modalAnimationMask.style.display = 'block';
    this._modalAnimationMask.style.visibility = 'hidden';
    this._modalAnimationMask.style.overflow = 'hidden';
    this._modalAnimationMask.style.width = width + 'px';
    this._modalContent.style.width = width + 'px';
    this._modal.style.position = 'absolute';
    this._modal.style.display = 'block';
    this._modal.style.visibility = 'hidden';
    this._modal.style.left = '0px';
    this._modal.style.top = '0px';
    this._modalMask.style.position = 'absolute';
    this._modalMask.style.display = 'block';
    this._modalMask.style.zIndex = this.ZIndex;
    this._modalMask.style.visibility = 'visible';
    var modalContentOffset = this._calculateStyleOffset(this._modalContent);
    var offset = (this._modal.offsetHeight - this._modalContent.offsetHeight) -
        modalContentOffset.Height;
    if (height + offset > this._lastWindowInfo.Height)
        height = this._lastWindowInfo.Height - offset;
    if (width < this._modalResize.offsetWidth * 2)
        width = this._modalResize.offsetWidth * 2;
    if (width < this._modalClose.offsetWidth * 2)
        width = this._modalClose.offsetWidth * 2;
    if (height < this._modalTitle.offsetHeight + this._modalFooter.offsetHeight)
        height = this._modalTitle.offsetHeight + this._modalFooter.offsetHeight;
    this._modalIframe.style.height = height + 'px';
    this._modalContent.style.height = height + 'px';
    this._modalContent.style.width = (width - (this._modal.offsetWidth -
        this._modalContent.offsetWidth) - modalContentOffset.Width) + 'px';
    this._modalAnimationMask.style.width = width + 'px';
    this._modalAnimationMask.style.height = this._modal.offsetHeight + 'px';
    this._modalMask.style.left = '0px';
    this._modalMask.style.top = '0px';
    this._modalMask.style.width = this._lastWindowInfo.ContentWidth + 'px';
    this._modalMask.style.height = this._lastWindowInfo.ContentHeight + 'px';
    this._lastWindowInfo = this._getWindowInfo();
    var panelWidth = this._modal.offsetWidth;
    var panelHeight = this._modal.offsetHeight;
    var animatePropertyName, animateTargetValue, animateNextValue;
    if (typeof(x) == 'undefined' || isNaN(parseInt(x, 10)))
        x = ((this._lastWindowInfo.Width - panelWidth) / 2) +
            this._lastWindowInfo.ScrollX;
    if (x + panelWidth > this._lastWindowInfo.Width +
        this._lastWindowInfo.ScrollX)
        x = this._lastWindowInfo.Width + this._lastWindowInfo.ScrollX -
            panelWidth;
    if (x < this._lastWindowInfo.ScrollX)
        x = this._lastWindowInfo.ScrollX;
    if (typeof(y) == 'undefined' || isNaN(parseInt(y, 10)))
        y = ((this._lastWindowInfo.Height - panelHeight) / 2) +
            this._lastWindowInfo.ScrollY;
    if (y + panelHeight > this._lastWindowInfo.Height +
        this._lastWindowInfo.ScrollY)
        y = this._lastWindowInfo.Height + this._lastWindowInfo.ScrollY -
            panelHeight;
    if (y < this._lastWindowInfo.ScrollY)
        y = this._lastWindowInfo.ScrollY;
    this._modalAnimationMask.style.left = x + 'px';
    this._modalAnimationMask.style.top = y + 'px';
    animateTargetValue = 0;
    animateNextValue =  - panelHeight;
    this._modal.style.visibility = 'visible';
    this._modalAnimationMask.style.visibility = 'visible';
    this._modalAnimationMask.style.overflow = 'hidden';
    if (this._modalAnimationMask.getClientRects)
    {
        var selectBoxes = document.getElementsByTagName('select');
        this._hiddenSelects = new Array();
        for (var i = 0; i < selectBoxes.length; i++)
        {
            this._hiddenSelects[this._hiddenSelects.length] = 
            {
                Element: selectBoxes[i], Visibility:
                    selectBoxes[i].style.visibility
            };
            selectBoxes[i].style.visibility = 'hidden';
        }
    }
    this._isOpening = true;
    if (ignoreCloseAndAnimation)
        this._animationHandle = window.setTimeout(new Function
            (this._variableName + '._animate(0,0,0,0);'), 9);
    else
    {
        this._modalIframe.style.display = 'none';
        this._animate(0,  - panelHeight, panelHeight / 3, .67);
    }
    this._lastModalInfo = 
    {
        Url: this._modalIframe.src, OnCloseFunction: onCloseFunction, X: x, Y:
            y, Width: parseInt(width, 10), Height: parseInt(height, 10)
    };
    this._isShown = true;
}

LswModal._checkForScrollResize = function()
{
    if (this._checkForScrollResizeHandle)
        window.clearTimeout(this._checkForScrollResizeHandle);
    if (this._isShown && !this._isOpening && this._lastWindowInfo)
    {
        try
        {
            this._modalTitle.childNodes[1].innerHTML =
                this._modalIframe.contentWindow.document.title;
        }
        catch (err){}
        var windowInfo = this._getWindowInfo();
        if (windowInfo.ScrollX != this._lastWindowInfo.ScrollX ||
            windowInfo.ScrollY != this._lastWindowInfo.ScrollY ||
            windowInfo.Width != this._lastWindowInfo.Width || windowInfo.Height
            != this._lastWindowInfo.Height)
            this.Open(null, this._lastModalInfo.Width,
                this._lastModalInfo.Height, this._lastModalInfo.OnCloseFunction,
                this._lastModalInfo.X, this._lastModalInfo.Y, true);
        else
            this._checkForScrollResizeHandle = window.setTimeout(new Function
                ('window.' + this._variableName + '._checkForScrollResize();'),
                999);
    }
}

LswModal.Close = function(returnValue)
{
    if (this._isShown)
    {
        if (!this._initialized)
            this._initialize();
        this._modal.style.position = 'absolute';
        this._modal.style.display = 'none';
        this._modalAnimationMask.style.position = 'absolute';
        this._modalAnimationMask.style.display = 'none';
        this._modalMask.style.position = 'absolute';
        this._modalMask.style.display = 'none';
        this._modalIframe.src = this.LoadingHtmlUrl;
        var onCloseFunction = this._lastModalInfo.OnCloseFunction;
        this._isShown = false;
        this._lastModalInfo = null;
        this._windowInfo = null;
        if (this._hiddenSelects)
        {
            for (var i = 0; i < this._hiddenSelects.length; i++)
            {
                if (this._hiddenSelects[i].Element.style.visibility == 'hidden')
                    this._hiddenSelects[i].Element.style.visibility =
                        this._hiddenSelects[i].Visibility;
            }
            this._hiddenSelects = null;
        }
        if (onCloseFunction)
            onCloseFunction(returnValue);
        this.Dispose();
    }
}

LswModal.Refresh = function()
{
    if (this._animationHandle)
        window.clearTimeout(this._animationHandle);
    this.Dispose();
    if (this._isShown && this._lastModalInfo)
        this.Open(this._lastModalInfo.Url, this._lastModalInfo.Width,
            this._lastModalInfo.OnCloseFunction, this._lastModalInfo.Height,
            this._lastModalInfo.OnCloseFunction, this._lastModalInfo.X,
            this._lastModalInfo.Y);
}

LswModal._initialize = function()
{
    this._modalMask = document.createElement('div');
    this._modalMask.style.width = 'auto';
    this._modalMask.style.height = 'auto';
    this._modalMask.style.position = 'absolute';
    this._modalMask.style.display = 'none';
    var mm = this._modalMask;
    if (this.WindowMaskCssClasses.length > 0)
    {
        mm.className = this.WindowMaskCssClasses[0];
        for (var i = 1; i < this.WindowMaskCssClasses.length; i++)
        {
            mm.appendChild(document.createElement('div'));
            mm = mm.childNodes[0];
            mm.className = this.WindowMaskCssClasses[i];
            mm.style.width = 'auto';
            mm.style.height = 'auto';
        }
    }
    document.body.appendChild(this._modalMask);
    this._modalAnimationMask = document.createElement('div');
    this._modalAnimationMask.style.position = 'absolute';
    this._modalAnimationMask.style.display = 'none';
    this._modalAnimationMask.style.overflow = 'hidden';
    this._modal = document.createElement('div');
    this._modal.style.width = 'auto';
    this._modal.style.height = 'auto';
    this._modal.style.position = 'absolute';
    this._modal.style.display = 'none';
    var m = this._modal;
    if (this.WindowCssClasses.length > 0)
    {
        m.className = this.WindowCssClasses[0];
        for (var i = 1; i < this.WindowCssClasses.length; i++)
        {
            m.appendChild(document.createElement('div'));
            m = m.childNodes[0];
            m.className = this.WindowCssClasses[i];
            m.style.width = 'auto';
            m.style.height = 'auto';
        }
    }
    this._modalTitle = document.createElement('div');
    m.appendChild(this._modalTitle);
    if (this.WindowTitleCssClasses.length > 0)
    {
        this._modalTitle.className = this.WindowTitleCssClasses[0];
        for (var i = 1; i < this.WindowTitleCssClasses.length; i++)
        {
            this._modalTitle.appendChild(document.createElement('div'));
            this._modalTitle = this._modalTitle.childNodes[0];
            this._modalTitle.className = this.WindowTitleCssClasses[i];
        }
    }
    this._modalTitle.onmousedown = new Function('event', 'window.' +
        this._variableName + '._startDrag(event); return false;');
    this._modalClose = document.createElement('div');
    this._modalTitle.appendChild(this._modalClose);
    var mc = this._modalClose;
    if (this.WindowCloseCssClasses.length > 0)
    {
        mc.className = this.WindowCloseCssClasses[0];
        for (var i = 1; i < this.WindowCloseCssClasses.length; i++)
        {
            mc.appendChild(document.createElement('div'));
            mc = mc.childNodes[0];
            mc.className = this.WindowCloseCssClasses[i];
        }
    }
    this._modalClose.onclick = new Function('window.' + this._variableName +
        '.Close();');
    this._modalTitle.appendChild(document.createElement('span'));
    var e = document.createElement('div');
    e.style.clear = 'both';
    this._modalTitle.appendChild(e);
    this._modalContent = document.createElement('div');
    m.appendChild(this._modalContent);
    if (this.WindowContentCssClasses.length > 0)
    {
        this._modalContent.className = this.WindowContentCssClasses[0];
        for (var i = 1; i < this.WindowContentCssClasses.length; i++)
        {
            this._modalContent.appendChild(document.createElement('div'));
            this._modalContent = this._modalContent.childNodes[0];
            this._modalContent.className = this.WindowContentCssClasses[i];
        }
    }
    this._modalIframe = document.createElement('iframe');
    this._modalIframe.src = this.LoadingHtmlUrl;
    this._modalIframe.width = '100%';
    this._modalIframe.border = '0';
    this._modalIframe.frameBorder = 'no';
    this._modalIframe.style.borderLeftWidth = '0px';
    this._modalIframe.style.borderRightWidth = '0px';
    this._modalIframe.style.borderTopWidth = '0px';
    this._modalIframe.style.borderBottomWidth = '0px';
    this._modalContent.appendChild(this._modalIframe);
    this._modalFooter = document.createElement('div');
    m.appendChild(this._modalFooter);
    var mf = this._modalFooter;
    if (this.WindowFooterCssClasses.length > 0)
    {
        mf.className = this.WindowFooterCssClasses[0];
        for (var i = 1; i < this.WindowFooterCssClasses.length; i++)
        {
            mf.appendChild(document.createElement('div'));
            mf = mf.childNodes[0];
            mf.className = this.WindowFooterCssClasses[i];
        }
    }
    this._modalResize = document.createElement('div');
    mf.appendChild(this._modalResize);
    var e = document.createElement('div');
    e.style.clear = 'both';
    mf.appendChild(e);
    var mr = this._modalResize;
    if (this.WindowResizeCssClasses.length > 0)
    {
        mr.className = this.WindowResizeCssClasses[0];
        for (var i = 1; i < this.WindowResizeCssClasses.length; i++)
        {
            mr.appendChild(document.createElement('div'));
            mr = mr.childNodes[0];
            mr.className = this.WindowResizeCssClasses[i];
        }
    }
    this._modalResize.onmousedown = new Function('event', 'window.' +
        this._variableName + '._startResize(event); return false;');
    this._modalAnimationMask.appendChild(this._modal);
    document.body.appendChild(this._modalAnimationMask);
    this._initialized = true;
}

LswModal.Dispose = function()
{
    if (this._initialized)
    {
        if (this._animationHandle)
            window.clearTimeout(this._animationHandle);
        this._isShown = false;
        this._isOpening = false;
        if (document && document.body)
        {
            document.body.removeChild(this._modalAnimationMask);
            document.body.removeChild(this._modalMask);
            this._modalClose.onclick = null;
            this._modalTitle.onmousedown = null;
            this._modalResize.onmousedown = null;
            this._modal = null;
            this._modalTitle = null;
            this._modalClose = null;
            this._modalAnimationMask = null;
            this._modalMask = null;
            this._modalIframe = null;
            this._modalResize = null;
            this._modalFooter = null;
            this._modalContent = null;
        }
        this._initialized = false;
    }
}

LswModal._animate = function(targetValue, nextValue, step, acceleration)
{
    if (this._animationHandle)
        window.clearTimeout(this._animationHandle);
    if (!this._isOpening)
        return ;
    var currValue = parseInt(this._modal.style.top, 10);
    if ((step < 0 && currValue < targetValue) || (step > 0 && currValue >
        targetValue) || Math.abs(step) < 1)
    {
        if (this._hiddenSelects)
        {
            for (var i = 0; i < this._hiddenSelects.length; i++)
                this._hiddenSelects[i].Element.style.visibility = 'hidden';
        }
        this._modal.style.top = targetValue + 'px';
        this._modal.style.position = 'static';
        this._modalAnimationMask.style.overflow = 'visible';
        this._animationHandle = null;
        if (!this._isResizing && !this._isDragging)
            this._modalIframe.style.display = 'block';
        this._isOpening = false;
        this._lastWindowInfo = this._getWindowInfo();
        this._checkForScrollResizeHandle = window.setTimeout(new Function
            ('window.' + this._variableName + '._checkForScrollResize();'), 999)
            ;
    }
    else
    {
        this._modal.style.top = nextValue + 'px';
        nextValue = nextValue + step;
        if (step > 0 && nextValue > targetValue)
            nextValue = targetValue;
        else if (step < 0 && nextValue < targetValue)
            nextValue = targetValue;
        step = step * acceleration;
        this._animationHandle = window.setTimeout(new Function
            (this._variableName + '._animate(' + targetValue + ',' + nextValue 
            + ',' + step + ',' + acceleration + ');'), 19);
    }
}

LswModal._startDrag = function(event)
{
    if (!this._initialized)
        this._initialize();
    if (!event)
        event = window.event;
    this._moveModalInfo = new Object();
    this._moveModalInfo.StartMouseX = event.pageX ? event.pageX : event.screenX;
    this._moveModalInfo.StartMouseY = event.pageY ? event.pageY : event.screenY;
    this._moveModalInfo.StartModalX = this._lastModalInfo.X;
    this._moveModalInfo.StartModalY = this._lastModalInfo.Y;
    this._moveModalInfo.Button = event.button;
    document.onmouseup = new Function('event', 'window.' + this._variableName +
        '._endDrag(event); return false;');
    document.onmousemove = new Function('event', 'window.' + this._variableName
        + '._drag(event); return false;');
    this._modalIframe.style.display = 'none';
    this._isDragging = true;
}

LswModal._endDrag = function(event)
{
    if (!this._initialized)
        this._initialize();
    this._isDragging = false;
    this._moveModalInfo = null;
    document.onmouseup = null;
    document.onmousemove = null;
    this._modalIframe.style.display = 'block';
}

LswModal._drag = function(event)
{
    if (!this._initialized)
        this._initialize();
    if (!event)
        event = window.event;
    if (event.button != this._moveModalInfo.Button)
    {
        this._endDrag(event);
        return ;
    }
    var eventX = typeof(event.pageX) != 'undefined' ? event.pageX :
        event.screenX;
    var eventY = typeof(event.pageY) != 'undefined' ? event.pageY :
        event.screenY;
    var xChange = eventX - this._moveModalInfo.StartMouseX;
    var yChange = eventY - this._moveModalInfo.StartMouseY;
    this.Open(null, this._lastModalInfo.Width, this._lastModalInfo.Height,
        this._lastModalInfo.OnCloseFunction, this._moveModalInfo.StartModalX +
        xChange, this._moveModalInfo.StartModalY + yChange, true);
}

LswModal._startResize = function(event)
{
    if (!this._initialized)
        this._initialize();
    if (!event)
        event = window.event;
    this._resizeModalInfo = new Object();
    this._resizeModalInfo.StartMouseX = event.pageX ? event.pageX :
        event.screenX;
    this._resizeModalInfo.StartMouseY = event.pageY ? event.pageY :
        event.screenY;
    this._resizeModalInfo.StartModalWidth = this._lastModalInfo.Width;
    this._resizeModalInfo.StartModalHeight = this._lastModalInfo.Height;
    this._resizeModalInfo.Button = event.button;
    document.onmouseup = new Function('event', 'window.' + this._variableName +
        '._endResize(event); return false;');
    document.onmousemove = new Function('event', 'window.' + this._variableName
        + '._resize(event); return false;');
    this._modalIframe.style.display = 'none';
    this._isResizing = true;
}

LswModal._endResize = function(event)
{
    if (!this._initialized)
        this._initialize();
    this._isResizing = false;
    this._resizeModalInfo = null;
    document.onmouseup = null;
    document.onmousemove = null;
    this._modalIframe.style.display = 'block';
}

LswModal._resize = function(event)
{
    if (!this._initialized)
        this._initialize();
    if (!event)
        event = window.event;
    if (event.button != this._resizeModalInfo.Button)
    {
        this._endResize(event);
        return ;
    }
    var eventX = typeof(event.pageX) != 'undefined' ? event.pageX :
        event.screenX;
    var eventY = typeof(event.pageY) != 'undefined' ? event.pageY :
        event.screenY;
    var xChange = eventX - this._resizeModalInfo.StartMouseX;
    var yChange = eventY - this._resizeModalInfo.StartMouseY;
    this.Open(null, this._resizeModalInfo.StartModalWidth + xChange,
        this._resizeModalInfo.StartModalHeight + yChange,
        this._lastModalInfo.OnCloseFunction, this._lastModalInfo.X,
        this._lastModalInfo.Y, true);
}

