﻿
Sys.UI._ModalUpdateProgress=function Sys$UI$_ModalUpdateProgress(element){Sys.UI._ModalUpdateProgress.initializeBase(this,[element]);this._backgroundCssClass=null;this._cancelControlID=null;this._backgroundElement=null;this._foregroundElement=null;this._cancelHandler=null;this._scrollHandler=null;this._resizeHandler=null;this._windowHandlersAttached=false;this._beginRequestHandlerDelegate=null;this._startDelegate=null;this._endRequestHandlerDelegate=null;this._pageRequestManager=null;this._timerCookie=null;this._saveTabIndexes=new Array();this._saveDisableSelect=new Array();this._tagWithTabIndex=new Array('A','AREA','BUTTON','INPUT','OBJECT','SELECT','TEXTAREA','IFRAME');this._disableTabsCalled=false;}
function Sys$UI$_ModalUpdateProgress$get_backgroundCssClass(){if(arguments.length!==0)throw Error.parameterCount();return this._backgroundCssClass;}
function Sys$UI$_ModalUpdateProgress$set_backgroundCssClass(value){this._backgroundCssClass=value;}
function Sys$UI$_ModalUpdateProgress$get_cancelControlID(){if(arguments.length!==0)throw Error.parameterCount();return this._cancelControlID;}
function Sys$UI$_ModalUpdateProgress$set_cancelControlID(value){this._cancelControlID=value;}
function Sys$UI$_ModalUpdateProgress$_attachPopup(){if(!this._scrollHandler)
{this._scrollHandler=Function.createDelegate(this,this._onLayout);}
if(!this._resizeHandler)
{this._resizeHandler=Function.createDelegate(this,this._onLayout);}
$addHandler(window,'resize',this._resizeHandler);$addHandler(window,'scroll',this._scrollHandler);this._windowHandlersAttached=true;}
function Sys$UI$_ModalUpdateProgress$_detachPopup(){if(this._windowHandlersAttached){if(this._scrollHandler){$removeHandler(window,'scroll',this._scrollHandler);}
if(this._resizeHandler){$removeHandler(window,'resize',this._resizeHandler);}}
this._windowHandlersAttached=false;}
function Sys$UI$_ModalUpdateProgress$_onCancel(e){var element=$get(this._cancelControlID);if(element&&!element.disabled){if(this._pageRequestManager!==null){this._pageRequestManager.abortPostBack();}
this._hide();e.preventDefault();return false;}}
function Sys$UI$_ModalUpdateProgress$_onLayout(e){this._layout();}
function Sys$UI$_ModalUpdateProgress$_layout(){var scrollLeft=(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);var scrollTop=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);var clientWidth;if(window.innerWidth){clientWidth=((Sys.Browser.agent===Sys.Browser.Safari)?window.innerWidth:Math.min(window.innerWidth,document.documentElement.clientWidth));}else{clientWidth=document.documentElement.clientWidth;}
var clientHeight;if(window.innerHeight){clientHeight=((Sys.Browser.agent===Sys.Browser.Safari)?window.innerHeight:Math.min(window.innerHeight,document.documentElement.clientHeight));}else{clientHeight=document.documentElement.clientHeight;}
this._backgroundElement.style.left=scrollLeft+'px';this._backgroundElement.style.top=scrollTop+'px';this._backgroundElement.style.width=clientWidth+'px';this._backgroundElement.style.height=clientHeight+'px';this._foregroundElement.style.left=scrollLeft+((clientWidth-this._foregroundElement.offsetWidth)/2)+'px';this._foregroundElement.style.top=scrollTop+((clientHeight-this._foregroundElement.offsetHeight)/2)+'px';}
function Sys$UI$_ModalUpdateProgress$_show(){this._attachPopup();this._backgroundElement.style.display='';if(this._dynamicLayout){this._foregroundElement.style.display='block';}else{this._foregroundElement.style.visibility='visible';}
this._disableTabs();this._layout();this._layout();}
function Sys$UI$_ModalUpdateProgress$_disableTabs(){if(!this._disableTabsCalled)
{var i=0;var tagElements;var tagElementsInPopUp=new Array();Array.clear(this._saveTabIndexes);for(var j=0;j<this._tagWithTabIndex.length;j++){tagElements=this._foregroundElement.getElementsByTagName(this._tagWithTabIndex[j]);for(var k=0;k<tagElements.length;k++){tagElementsInPopUp[i]=tagElements[k];i++;}}
i=0;for(var j=0;j<this._tagWithTabIndex.length;j++){tagElements=document.getElementsByTagName(this._tagWithTabIndex[j]);for(var k=0;k<tagElements.length;k++){if(Array.indexOf(tagElementsInPopUp,tagElements[k])==-1){this._saveTabIndexes[i]={tag:tagElements[k],index:tagElements[k].tabIndex};tagElements[k].tabIndex="-1";i++;}}}
i=0;if((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7)){var tagSelectInPopUp=new Array();tagElements=this._foregroundElement.getElementsByTagName('SELECT');for(var k=0;k<tagElements.length;k++){tagSelectInPopUp[i]=tagElements[k];i++;}
i=0;Array.clear(this._saveDisableSelect);tagElements=document.getElementsByTagName('SELECT');for(var k=0;k<tagElements.length;k++){if(Array.indexOf(tagSelectInPopUp,tagElements[k])==-1){this._saveDisableSelect[i]={tag:tagElements[k],visib:this._getCurrentStyle(tagElements[k],'visibility')};tagElements[k].style.visibility='hidden';i++;}}}
this._disableTabsCalled=true;}}
function Sys$UI$_ModalUpdateProgress$_restoreTabs(){if(this._disableTabsCalled)
{for(var i=0;i<this._saveTabIndexes.length;i++){this._saveTabIndexes[i].tag.tabIndex=this._saveTabIndexes[i].index;}
if((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.version<7)){for(var k=0;k<this._saveDisableSelect.length;k++){this._saveDisableSelect[k].tag.style.visibility=this._saveDisableSelect[k].visib;}}
this._disableTabsCalled=false;}}
function Sys$UI$_ModalUpdateProgress$_hide(){this._backgroundElement.style.display='none';this._foregroundElement.style.display='none';this._restoreTabs();this._detachPopup();}
function Sys$UI$_ModalUpdateProgress$_handleBeginRequest(sender,arg){var curElem=arg.get_postBackElement();var showProgress=!this._associatedUpdatePanelId;while(!showProgress&&curElem){if(curElem.id&&this._associatedUpdatePanelId===curElem.id){showProgress=true;}
curElem=curElem.parentNode;}
if(showProgress){this._timerCookie=window.setTimeout(this._startDelegate,this._displayAfter);}}
function Sys$UI$_ModalUpdateProgress$_startRequest(){if(this._pageRequestManager.get_isInAsyncPostBack()){this._show();}
this._timerCookie=null;}
function Sys$UI$_ModalUpdateProgress$_handleEndRequest(sender,arg){this._hide();if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=null;}}
function Sys$UI$_ModalUpdateProgress$_getCurrentStyle(element,attribute,defaultValue){var currentValue=null;if(element){if(element.currentStyle){currentValue=element.currentStyle[attribute];}else if(document.defaultView&&document.defaultView.getComputedStyle){var style=document.defaultView.getComputedStyle(element,null);if(style){currentValue=style[attribute];}}
if(!currentValue&&element.style.getPropertyValue){currentValue=element.style.getPropertyValue(attribute);}
else if(!currentValue&&element.style.getAttribute){currentValue=element.style.getAttribute(attribute);}}
if((!currentValue||currentValue==""||typeof(currentValue)==='undefined')){if(typeof(defaultValue)!='undefined'){currentValue=defaultValue;}
else{currentValue=null;}}
return currentValue;}
function Sys$UI$_ModalUpdateProgress$dispose(){this._detachPopup();this._scrollHandler=null;this._resizeHandler=null;if(this._cancelHandler&&$get(this._cancelControlID)){$removeHandler($get(this._cancelControlID),'click',this._cancelHandler);this._cancelHandler=null;}
if(this._pageRequestManager!==null){this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);}
Sys.UI._ModalUpdateProgress.callBaseMethod(this,"dispose");}
function Sys$UI$_ModalUpdateProgress$initialize(){Sys.UI._ModalUpdateProgress.callBaseMethod(this,'initialize');this._foregroundElement=this.get_element();this._backgroundElement=document.createElement('div');this._backgroundElement.style.display='none';this._backgroundElement.style.position='absolute';this._backgroundElement.style.zIndex=100000;if(this._backgroundCssClass){this._backgroundElement.className=this._backgroundCssClass;}
this._foregroundElement.parentNode.appendChild(this._backgroundElement);this._foregroundElement.style.display='none';this._foregroundElement.style.position='absolute';this._foregroundElement.style.zIndex=this._getCurrentStyle(this._backgroundElement,'zIndex',this._backgroundElement.style.zIndex)+1;if(this._cancelControlID){this._cancelHandler=Function.createDelegate(this,this._onCancel);$addHandler($get(this._cancelControlID),'click',this._cancelHandler);}
this._scrollHandler=Function.createDelegate(this,this._onLayout);this._resizeHandler=Function.createDelegate(this,this._onLayout);this._beginRequestHandlerDelegate=Function.createDelegate(this,this._handleBeginRequest);this._endRequestHandlerDelegate=Function.createDelegate(this,this._handleEndRequest);this._startDelegate=Function.createDelegate(this,this._startRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager){this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();}
if(this._pageRequestManager!==null){this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);}}
Sys.UI._ModalUpdateProgress.prototype={get_backgroundCssClass:Sys$UI$_ModalUpdateProgress$get_backgroundCssClass,set_backgroundCssClass:Sys$UI$_ModalUpdateProgress$set_backgroundCssClass,get_cancelControlID:Sys$UI$_ModalUpdateProgress$get_cancelControlID,set_cancelControlID:Sys$UI$_ModalUpdateProgress$set_cancelControlID,_attachPopup:Sys$UI$_ModalUpdateProgress$_attachPopup,_detachPopup:Sys$UI$_ModalUpdateProgress$_detachPopup,_onCancel:Sys$UI$_ModalUpdateProgress$_onCancel,_onLayout:Sys$UI$_ModalUpdateProgress$_onLayout,_layout:Sys$UI$_ModalUpdateProgress$_layout,_show:Sys$UI$_ModalUpdateProgress$_show,_disableTabs:Sys$UI$_ModalUpdateProgress$_disableTabs,_restoreTabs:Sys$UI$_ModalUpdateProgress$_restoreTabs,_hide:Sys$UI$_ModalUpdateProgress$_hide,_handleBeginRequest:Sys$UI$_ModalUpdateProgress$_handleBeginRequest,_startRequest:Sys$UI$_ModalUpdateProgress$_startRequest,_handleEndRequest:Sys$UI$_ModalUpdateProgress$_handleEndRequest,_getCurrentStyle:Sys$UI$_ModalUpdateProgress$_getCurrentStyle,dispose:Sys$UI$_ModalUpdateProgress$dispose,initialize:Sys$UI$_ModalUpdateProgress$initialize}
Sys.UI._ModalUpdateProgress.registerClass('Sys.UI._ModalUpdateProgress',Sys.UI._UpdateProgress);

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();