
Crizalys_Modal=new Object();
Crizalys_Modal._variableName='Crizalys_Modal';
Crizalys_Modal.LoadingHtmlUrl=null;
Crizalys_Modal.WindowCssClasses=new Array();
Crizalys_Modal.WindowTitleCssClasses=new Array();
Crizalys_Modal.WindowCloseCssClasses=new Array();
Crizalys_Modal.WindowContentCssClasses=new Array();
Crizalys_Modal.WindowMaskCssClasses=new Array();
Crizalys_Modal.WindowFooterCssClasses=new Array();
Crizalys_Modal.WindowResizeCssClasses=new Array();
Crizalys_Modal.ZIndex=100;
Crizalys_Modal._isShown=false;
Crizalys_Modal._initialized=false;
Crizalys_Modal._modal=null;
Crizalys_Modal._modalTitle=null;
Crizalys_Modal._modalClose=null;
Crizalys_Modal._modalAnimationMask=null;
Crizalys_Modal._modalMask=null;
Crizalys_Modal._modalIframe=null;
Crizalys_Modal._modalResize=null;
Crizalys_Modal._modalFooter=null;
Crizalys_Modal._modalContent=null;
Crizalys_Modal._animationHandle=null;
Crizalys_Modal._isOpening=false;
Crizalys_Modal._hiddenSelects=null;
Crizalys_Modal._checkForScrollResizeHandle=null;
Crizalys_Modal._lastModalInfo=null;
Crizalys_Modal._lastWindowInfo=null;
Crizalys_Modal._isDragging=false;
Crizalys_Modal._moveModalInfo=null;
Crizalys_Modal._resizeModalInfo=null;
Crizalys_Modal._isResizing=false;

Crizalys_Modal.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;
}
    
Crizalys_Modal.IsShown=function()
{
    return this._isShown;
}
    
    
Crizalys_Modal._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;
}

Crizalys_Modal._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;
}
    
Crizalys_Modal._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;
}

Crizalys_Modal.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;
}

Crizalys_Modal._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);
    }
}
    
Crizalys_Modal.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();
    }
}

Crizalys_Modal.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);
}

Crizalys_Modal._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;
}

Crizalys_Modal.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;
    }
}

Crizalys_Modal._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);
    }
}

Crizalys_Modal._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;
}

Crizalys_Modal._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';
}

Crizalys_Modal._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);
}

Crizalys_Modal._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;
}

Crizalys_Modal._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';
}

Crizalys_Modal._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);
}

Crizalys_Modal.ResizeModal = function(width, height) {
    window.setTimeout(new Function('window.parent.' + this._variableName + '.Open(null, ' + width + ', ' + height + ', null, null, null, true); return false;'), 9);
}