// Name: MicrosoftAjaxWebForms.debug.js // Assembly: AjaxControlToolkit // Version: 3.5.40412.0 // FileVersion: 3.5.40412.2 // (c) 2010 CodePlex Foundation (function() { function execute() { Type._registerScript("MicrosoftAjaxWebForms.js", [ "MicrosoftAjaxCore.js", "MicrosoftAjaxSerialization.js", "MicrosoftAjaxNetwork.js", "MicrosoftAjaxComponentModel.js"]); var $type, $prototype; Type.registerNamespace('Sys.WebForms'); $type = Sys.WebForms.BeginRequestEventArgs = function BeginRequestEventArgs(request, postBackElement, updatePanelsToUpdate) { /// The arguments for the PageRequestManager's beginRequest event. The beginRequest event is raised when a request is about to be made./// The web request for the EventArgs./// The postback element that initiated the async postback./// A list of UniqueIDs for UpdatePanel controls that are requested to update their rendering by the client. Server-side processing may update additional UpdatePanels.var e = Function._validateParams(arguments, [ {name: "request", type: Sys.Net.WebRequest}, {name: "postBackElement", mayBeNull: true, domElement: true}, {name: "updatePanelsToUpdate", type: Array, mayBeNull: true, optional: true, elementType: String} ]); if (e) throw e; Sys.WebForms.BeginRequestEventArgs.initializeBase(this); this._request = request; this._postBackElement = postBackElement; this._updatePanelsToUpdate = updatePanelsToUpdate; } $type.prototype = { get_postBackElement: function BeginRequestEventArgs$get_postBackElement() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._postBackElement; }, get_request: function BeginRequestEventArgs$get_request() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._request; }, get_updatePanelsToUpdate: function BeginRequestEventArgs$get_updatePanelsToUpdate() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._updatePanelsToUpdate ? Array.clone(this._updatePanelsToUpdate) : []; } } $type.registerClass('Sys.WebForms.BeginRequestEventArgs', Sys.EventArgs); $type = Sys.WebForms.EndRequestEventArgs = function EndRequestEventArgs(error, dataItems, response) { /// The arguments for the PageRequestManager's endRequest event. The endRequest event is raised when a response has finished processing./// /// /// var e = Function._validateParams(arguments, [ {name: "error", type: Error, mayBeNull: true}, {name: "dataItems", type: Object, mayBeNull: true}, {name: "response", type: Sys.Net.WebRequestExecutor} ]); if (e) throw e; Sys.WebForms.EndRequestEventArgs.initializeBase(this); this._errorHandled = false; this._error = error; this._dataItems = dataItems || new Object(); this._response = response; } $type.prototype = { get_dataItems: function EndRequestEventArgs$get_dataItems() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._dataItems; }, get_error: function EndRequestEventArgs$get_error() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._error; }, get_errorHandled: function EndRequestEventArgs$get_errorHandled() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._errorHandled; }, set_errorHandled: function EndRequestEventArgs$set_errorHandled(value) { var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); if (e) throw e; this._errorHandled = value; }, get_response: function EndRequestEventArgs$get_response() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._response; } } $type.registerClass('Sys.WebForms.EndRequestEventArgs', Sys.EventArgs); $type = Sys.WebForms.InitializeRequestEventArgs = function InitializeRequestEventArgs(request, postBackElement, updatePanelsToUpdate) { /// The arguments for the PageRequestManager's initializeRequest event. The initializeRequest event is raised when a request is being prepared and can be cancelled./// The web request to be packaged in this EventArgs./// The postback element that initiated the async postback./// A list of UniqueIDs for UpdatePanel controls that are requested to update their rendering by the client. Server-side processing may update additional UpdatePanels.var e = Function._validateParams(arguments, [ {name: "request", type: Sys.Net.WebRequest}, {name: "postBackElement", mayBeNull: true, domElement: true}, {name: "updatePanelsToUpdate", type: Array, mayBeNull: true, optional: true, elementType: String} ]); if (e) throw e; Sys.WebForms.InitializeRequestEventArgs.initializeBase(this); this._request = request; this._postBackElement = postBackElement; this._updatePanelsToUpdate = updatePanelsToUpdate; } $type.prototype = { get_postBackElement: function InitializeRequestEventArgs$get_postBackElement() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._postBackElement; }, get_request: function InitializeRequestEventArgs$get_request() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._request; }, get_updatePanelsToUpdate: function InitializeRequestEventArgs$get_updatePanelsToUpdate() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._updatePanelsToUpdate ? Array.clone(this._updatePanelsToUpdate) : []; }, set_updatePanelsToUpdate: function InitializeRequestEventArgs$set_updatePanelsToUpdate(value) { var e = Function._validateParams(arguments, [{name: "value", type: Array, elementType: String}]); if (e) throw e; this._updated = true; this._updatePanelsToUpdate = value; } } $type.registerClass('Sys.WebForms.InitializeRequestEventArgs', Sys.CancelEventArgs); $type = Sys.WebForms.PageLoadedEventArgs = function PageLoadedEventArgs(panelsUpdated, panelsCreated, dataItems) { /// The arguments for the PageRequestManager's pageLoaded event. The pageLoaded event is raised after the DOM has been updated./// An array of UpdatePanels that were updated./// An array of UpdatePanels that were created./// var e = Function._validateParams(arguments, [ {name: "panelsUpdated", type: Array}, {name: "panelsCreated", type: Array}, {name: "dataItems", type: Object, mayBeNull: true} ]); if (e) throw e; Sys.WebForms.PageLoadedEventArgs.initializeBase(this); this._panelsUpdated = panelsUpdated; this._panelsCreated = panelsCreated; this._dataItems = dataItems || new Object(); } $type.prototype = { get_dataItems: function PageLoadedEventArgs$get_dataItems() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._dataItems; }, get_panelsCreated: function PageLoadedEventArgs$get_panelsCreated() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._panelsCreated; }, get_panelsUpdated: function PageLoadedEventArgs$get_panelsUpdated() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._panelsUpdated; } } $type.registerClass('Sys.WebForms.PageLoadedEventArgs', Sys.EventArgs); $type = Sys.WebForms.PageLoadingEventArgs = function PageLoadingEventArgs(panelsUpdating, panelsDeleting, dataItems) { /// The arguments for the PageRequestManager's pageLoading event. The pageLoading event is raised before the DOM has been updated./// An array of UpdatePanels that are going to be updated./// An array of UpdatePanels that are going to be deleted./// var e = Function._validateParams(arguments, [ {name: "panelsUpdating", type: Array}, {name: "panelsDeleting", type: Array}, {name: "dataItems", type: Object, mayBeNull: true} ]); if (e) throw e; Sys.WebForms.PageLoadingEventArgs.initializeBase(this); this._panelsUpdating = panelsUpdating; this._panelsDeleting = panelsDeleting; this._dataItems = dataItems || new Object(); } $type.prototype = { get_dataItems: function PageLoadingEventArgs$get_dataItems() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._dataItems; }, get_panelsDeleting: function PageLoadingEventArgs$get_panelsDeleting() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._panelsDeleting; }, get_panelsUpdating: function PageLoadingEventArgs$get_panelsUpdating() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._panelsUpdating; } } $type.registerClass('Sys.WebForms.PageLoadingEventArgs', Sys.EventArgs); $type = Sys._ScriptLoaderTask = function _ScriptLoaderTask(scriptElement, completedCallback) { /// /// The script element to add to the DOM./// Callback to call when the script has loaded or failed to load.var e = Function._validateParams(arguments, [ {name: "scriptElement", domElement: true}, {name: "completedCallback", type: Function} ]); if (e) throw e; this._scriptElement = scriptElement; this._completedCallback = completedCallback; } $type.prototype = { get_scriptElement: function _ScriptLoaderTask$get_scriptElement() { /// The script element. if (arguments.length !== 0) throw Error.parameterCount(); return this._scriptElement; }, dispose: function _ScriptLoaderTask$dispose() { if(this._disposed) { return; } this._disposed = true; this._removeScriptElementHandlers(); Sys._ScriptLoaderTask._clearScript(this._scriptElement); this._scriptElement = null; }, execute: function _ScriptLoaderTask$execute() { /// Begins loading the given script element.if (arguments.length !== 0) throw Error.parameterCount(); this._addScriptElementHandlers(); var headElements = document.getElementsByTagName('head'); if (headElements.length === 0) { throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); } else { headElements[0].appendChild(this._scriptElement); } }, _addScriptElementHandlers: function _ScriptLoaderTask$_addScriptElementHandlers() { this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); if (document.addEventListener) { this._scriptElement.readyState = 'loaded'; $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); } else { $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); } if (this._scriptElement.addEventListener) { this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); } }, _removeScriptElementHandlers: function _ScriptLoaderTask$_removeScriptElementHandlers() { if(this._scriptLoadDelegate) { var scriptElement = this.get_scriptElement(); if (document.addEventListener) { $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); } else { $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); } if (this._scriptErrorDelegate) { this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); this._scriptErrorDelegate = null; } this._scriptLoadDelegate = null; } }, _scriptErrorHandler: function _ScriptLoaderTask$_scriptErrorHandler() { if(this._disposed) { return; } this._completedCallback(this.get_scriptElement(), false); }, _scriptLoadHandler: function _ScriptLoaderTask$_scriptLoadHandler() { if(this._disposed) { return; } var scriptElement = this.get_scriptElement(); if ((scriptElement.readyState !== 'loaded') && (scriptElement.readyState !== 'complete')) { return; } this._completedCallback(scriptElement, true); } } $type.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); $type._clearScript = function _ScriptLoaderTask$_clearScript(scriptElement) { if (!Sys.Debug.isDebug) { scriptElement.parentNode.removeChild(scriptElement); } } $type = Sys._ScriptLoader = function _ScriptLoader() { this._scriptsToLoad = null; this._sessions = []; this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler); } $type.prototype = { dispose: function _ScriptLoader$dispose() { this._stopSession(); this._loading = false; if(this._events) { delete this._events; } this._sessions = null; this._currentSession = null; this._scriptLoadedDelegate = null; }, loadScripts: function _ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) { /// Begins loading scripts that have been queued./// Timeout in seconds for loading all scripts./// Callback for notification when all scripts have successfully loaded./// Callback for notification when a script fails to load./// Callback for notification when scripts have not finished loading within the given timeout.var e = Function._validateParams(arguments, [ {name: "scriptTimeout", type: Number, integer: true}, {name: "allScriptsLoadedCallback", type: Function, mayBeNull: true}, {name: "scriptLoadFailedCallback", type: Function, mayBeNull: true}, {name: "scriptLoadTimeoutCallback", type: Function, mayBeNull: true} ]); if (e) throw e; var session = { allScriptsLoadedCallback: allScriptsLoadedCallback, scriptLoadFailedCallback: scriptLoadFailedCallback, scriptLoadTimeoutCallback: scriptLoadTimeoutCallback, scriptsToLoad: this._scriptsToLoad, scriptTimeout: scriptTimeout }; this._scriptsToLoad = null; this._sessions.push(session); if (!this._loading) { this._nextSession(); } }, queueCustomScriptTag: function _ScriptLoader$queueCustomScriptTag(scriptAttributes) { /// Queues a script reference with the given set of custom script element attributes./// A JSON object that describtes the attributes to apply to the script element.var e = Function._validateParams(arguments, [ {name: "scriptAttributes"} ]); if (e) throw e; if(!this._scriptsToLoad) { this._scriptsToLoad = []; } Array.add(this._scriptsToLoad, scriptAttributes); }, queueScriptBlock: function _ScriptLoader$queueScriptBlock(scriptContent) { /// Queues a script reference with literal script./// Literal script to execute.var e = Function._validateParams(arguments, [ {name: "scriptContent", type: String} ]); if (e) throw e; if(!this._scriptsToLoad) { this._scriptsToLoad = []; } Array.add(this._scriptsToLoad, {text: scriptContent}); }, queueScriptReference: function _ScriptLoader$queueScriptReference(scriptUrl) { /// Queues a script reference to the given script URL./// URL to the script to reference.var e = Function._validateParams(arguments, [ {name: "scriptUrl", type: String} ]); if (e) throw e; if(!this._scriptsToLoad) { this._scriptsToLoad = []; } Array.add(this._scriptsToLoad, {src: scriptUrl}); }, _createScriptElement: function _ScriptLoader$_createScriptElement(queuedScript) { var scriptElement = document.createElement('script'); scriptElement.type = 'text/javascript'; for (var attr in queuedScript) { scriptElement[attr] = queuedScript[attr]; } return scriptElement; }, _loadScriptsInternal: function _ScriptLoader$_loadScriptsInternal() { var session = this._currentSession; if (session.scriptsToLoad && session.scriptsToLoad.length > 0) { var nextScript = Array.dequeue(session.scriptsToLoad); var scriptElement = this._createScriptElement(nextScript); if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) { scriptElement.innerHTML = scriptElement.text; delete scriptElement.text; } if (typeof(nextScript.src) === "string") { this._currentTask = new Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate); this._currentTask.execute(); } else { var headElements = document.getElementsByTagName('head'); if (headElements.length === 0) { throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); } else { headElements[0].appendChild(scriptElement); } Sys._ScriptLoaderTask._clearScript(scriptElement); this._loadScriptsInternal(); } } else { this._stopSession(); var callback = session.allScriptsLoadedCallback; if(callback) { callback(this); } this._nextSession(); } }, _nextSession: function _ScriptLoader$_nextSession() { if (this._sessions.length === 0) { this._loading = false; this._currentSession = null; return; } this._loading = true; var session = Array.dequeue(this._sessions); this._currentSession = session; this._loadScriptsInternal(); }, _raiseError: function _ScriptLoader$_raiseError() { var callback = this._currentSession.scriptLoadFailedCallback; var scriptElement = this._currentTask.get_scriptElement(); this._stopSession(); if(callback) { callback(this, scriptElement); this._nextSession(); } else { this._loading = false; throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src); } }, _scriptLoadedHandler: function _ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) { if (loaded) { Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src); this._currentTask.dispose(); this._currentTask = null; this._loadScriptsInternal(); } else { this._raiseError(); } }, _stopSession: function _ScriptLoader$_stopSession() { if(this._currentTask) { this._currentTask.dispose(); this._currentTask = null; } } } $type.registerClass('Sys._ScriptLoader', null, Sys.IDisposable); $type.getInstance = function _ScriptLoader$getInstance() { var sl = Sys._ScriptLoader._activeInstance; if(!sl) { sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader(); } return sl; } $type.isScriptLoaded = function _ScriptLoader$isScriptLoaded(scriptSrc) { var dummyScript = document.createElement('script'); dummyScript.src = scriptSrc; return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src); } $type.readLoadedScripts = function _ScriptLoader$readLoadedScripts() { if(!Sys._ScriptLoader._referencedScripts) { var referencedScripts = Sys._ScriptLoader._referencedScripts = []; var existingScripts = document.getElementsByTagName('script'); for (var i = existingScripts.length - 1; i >= 0; i--) { var scriptNode = existingScripts[i]; var scriptSrc = scriptNode.src; if (scriptSrc.length) { if (!Array.contains(referencedScripts, scriptSrc)) { Array.add(referencedScripts, scriptSrc); } } } } } $type._errorScriptLoadFailed = function _ScriptLoader$_errorScriptLoadFailed(scriptUrl) { var errorMessage; errorMessage = Sys.Res.scriptLoadFailedDebug; var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage, scriptUrl); var e = Error.create(displayMessage, {name: 'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl }); e.popStackFrame(); return e; } $type._getLoadedScripts = function _ScriptLoader$_getLoadedScripts() { if(!Sys._ScriptLoader._referencedScripts) { Sys._ScriptLoader._referencedScripts = []; Sys._ScriptLoader.readLoadedScripts(); } return Sys._ScriptLoader._referencedScripts; } $type = Sys.WebForms.PageRequestManager = function PageRequestManager() { this._form = null; this._activeDefaultButton = null; this._activeDefaultButtonClicked = false; this._updatePanelIDs = null; this._updatePanelClientIDs = null; this._updatePanelHasChildrenAsTriggers = null; this._asyncPostBackControlIDs = null; this._asyncPostBackControlClientIDs = null; this._postBackControlIDs = null; this._postBackControlClientIDs = null; this._scriptManagerID = null; this._pageLoadedHandler = null; this._additionalInput = null; this._onsubmit = null; this._onSubmitStatements = []; this._originalDoPostBack = null; this._originalDoPostBackWithOptions = null; this._originalFireDefaultButton = null; this._originalDoCallback = null; this._isCrossPost = false; this._postBackSettings = null; this._request = null; this._onFormSubmitHandler = null; this._onFormElementClickHandler = null; this._onWindowUnloadHandler = null; this._asyncPostBackTimeout = null; this._controlIDToFocus = null; this._scrollPosition = null; this._processingRequest = false; this._scriptDisposes = {}; this._transientFields = ["__VIEWSTATEENCRYPTED", "__VIEWSTATEFIELDCOUNT"]; } $type.prototype = { get_isInAsyncPostBack: function PageRequestManager$get_isInAsyncPostBack() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._request !== null; }, add_beginRequest: function PageRequestManager$add_beginRequest(handler) { /// Adds a beginRequest event handler.var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.addEventHandler(this, "beginRequest", handler); }, remove_beginRequest: function PageRequestManager$remove_beginRequest(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.removeEventHandler(this, "beginRequest", handler); }, add_endRequest: function PageRequestManager$add_endRequest(handler) { /// Adds a endRequest event handler.var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.addEventHandler(this, "endRequest", handler); }, remove_endRequest: function PageRequestManager$remove_endRequest(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.removeEventHandler(this, "endRequest", handler); }, add_initializeRequest: function PageRequestManager$add_initializeRequest(handler) { /// Adds a initializeRequest event handler.var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.addEventHandler(this, "initializeRequest", handler); }, remove_initializeRequest: function PageRequestManager$remove_initializeRequest(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.removeEventHandler(this, "initializeRequest", handler); }, add_pageLoaded: function PageRequestManager$add_pageLoaded(handler) { /// Adds a pageLoaded event handler.var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.addEventHandler(this, "pageLoaded", handler); }, remove_pageLoaded: function PageRequestManager$remove_pageLoaded(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.removeEventHandler(this, "pageLoaded", handler); }, add_pageLoading: function PageRequestManager$add_pageLoading(handler) { /// Adds a pageLoading event handler.var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.addEventHandler(this, "pageLoading", handler); }, remove_pageLoading: function PageRequestManager$remove_pageLoading(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; Sys.Observer.removeEventHandler(this, "pageLoading", handler); }, abortPostBack: function PageRequestManager$abortPostBack() { if (!this._processingRequest && this._request) { this._request.get_executor().abort(); this._request = null; } }, beginAsyncPostBack: function PageRequestManager$beginAsyncPostBack(updatePanelsToUpdate, eventTarget, eventArgument, causesValidation, validationGroup) { /// Begins an asynchronous postback./// A list of UniqueIDs or ClientIDs of UpdatePanel controls that should have their rendering updated./// /// /// /// var e = Function._validateParams(arguments, [ {name: "updatePanelsToUpdate", type: Array, mayBeNull: true, optional: true, elementType: String}, {name: "eventTarget", type: String, mayBeNull: true, optional: true}, {name: "eventArgument", type: String, mayBeNull: true, optional: true}, {name: "causesValidation", type: Boolean, mayBeNull: true, optional: true}, {name: "validationGroup", type: String, mayBeNull: true, optional: true} ]); if (e) throw e; if (causesValidation && (typeof(Page_ClientValidate) === 'function') && !Page_ClientValidate(validationGroup || null)) { return; } this._postBackSettings = this._createPostBackSettings(true, updatePanelsToUpdate, eventTarget); var form = this._form; form.__EVENTTARGET.value = (eventTarget || ""); form.__EVENTARGUMENT.value = (eventArgument || ""); this._isCrossPost = false; this._additionalInput = null; this._onFormSubmit(); }, _cancelPendingCallbacks: function PageRequestManager$_cancelPendingCallbacks() { for (var i = 0, l = window.__pendingCallbacks.length; i < l; i++) { var callback = window.__pendingCallbacks[i]; if (callback) { if (!callback.async) { window.__synchronousCallBackIndex = -1; } window.__pendingCallbacks[i] = null; var callbackFrameID = "__CALLBACKFRAME" + i; var xmlRequestFrame = document.getElementById(callbackFrameID); if (xmlRequestFrame) { xmlRequestFrame.parentNode.removeChild(xmlRequestFrame); } } } }, _commitControls: function PageRequestManager$_commitControls(updatePanelData, asyncPostBackTimeout) { if (updatePanelData) { this._updatePanelIDs = updatePanelData.updatePanelIDs; this._updatePanelClientIDs = updatePanelData.updatePanelClientIDs; this._updatePanelHasChildrenAsTriggers = updatePanelData.updatePanelHasChildrenAsTriggers; this._asyncPostBackControlIDs = updatePanelData.asyncPostBackControlIDs; this._asyncPostBackControlClientIDs = updatePanelData.asyncPostBackControlClientIDs; this._postBackControlIDs = updatePanelData.postBackControlIDs; this._postBackControlClientIDs = updatePanelData.postBackControlClientIDs; } if (typeof(asyncPostBackTimeout) !== 'undefined' && asyncPostBackTimeout !== null) { this._asyncPostBackTimeout = asyncPostBackTimeout * 1000; } }, _createHiddenField: function PageRequestManager$_createHiddenField(id, value) { var container, field = document.getElementById(id); if (field) { if (!field._isContained) { field.parentNode.removeChild(field); } else { container = field.parentNode; } } if (!container) { container = document.createElement('span'); container.style.cssText = "display:none !important"; this._form.appendChild(container); } container.innerHTML = " "; field = container.childNodes[0]; field._isContained = true; field.id = field.name = id; field.value = value; }, _createPageRequestManagerTimeoutError: function PageRequestManager$_createPageRequestManagerTimeoutError() { var displayMessage = "Sys.WebForms.PageRequestManagerTimeoutException: " + Sys.WebForms.Res.PRM_TimeoutError; var e = Error.create(displayMessage, {name: 'Sys.WebForms.PageRequestManagerTimeoutException'}); e.popStackFrame(); return e; }, _createPageRequestManagerServerError: function PageRequestManager$_createPageRequestManagerServerError(httpStatusCode, message) { var displayMessage = "Sys.WebForms.PageRequestManagerServerErrorException: " + (message || String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode)); var e = Error.create(displayMessage, { name: 'Sys.WebForms.PageRequestManagerServerErrorException', httpStatusCode: httpStatusCode }); e.popStackFrame(); return e; }, _createPageRequestManagerParserError: function PageRequestManager$_createPageRequestManagerParserError(parserErrorMessage) { var displayMessage = "Sys.WebForms.PageRequestManagerParserErrorException: " + String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage); var e = Error.create(displayMessage, {name: 'Sys.WebForms.PageRequestManagerParserErrorException'}); e.popStackFrame(); return e; }, _createPanelID: function PageRequestManager$_createPanelID(panelsToUpdate, postBackSettings) { var asyncTarget = postBackSettings.asyncTarget, toUpdate = this._ensureUniqueIds(panelsToUpdate || postBackSettings.panelsToUpdate), panelArg = (toUpdate instanceof Array) ? toUpdate.join(',') : (toUpdate || this._scriptManagerID); if (asyncTarget) { panelArg += "|" + asyncTarget; } return encodeURIComponent(this._scriptManagerID) + '=' + encodeURIComponent(panelArg) + '&'; }, _createPostBackSettings: function PageRequestManager$_createPostBackSettings(async, panelsToUpdate, asyncTarget, sourceElement) { return { async:async, asyncTarget: asyncTarget, panelsToUpdate: panelsToUpdate, sourceElement: sourceElement }; }, _convertToClientIDs: function PageRequestManager$_convertToClientIDs(source, destinationIDs, destinationClientIDs, version4) { if (source) { for (var i = 0, l = source.length; i < l; i += (version4 ? 2 : 1)) { var uniqueID = source[i], clientID = (version4 ? source[i+1] : "") || this._uniqueIDToClientID(uniqueID); Array.add(destinationIDs, uniqueID); Array.add(destinationClientIDs, clientID); } } }, dispose: function PageRequestManager$dispose() { Sys.Observer.clearEventHandlers(this); if (this._form) { Sys.UI.DomEvent.removeHandler(this._form, 'submit', this._onFormSubmitHandler); Sys.UI.DomEvent.removeHandler(this._form, 'click', this._onFormElementClickHandler); Sys.UI.DomEvent.removeHandler(window, 'unload', this._onWindowUnloadHandler); Sys.UI.DomEvent.removeHandler(window, 'load', this._pageLoadedHandler); } if (this._originalDoPostBack) { window.__doPostBack = this._originalDoPostBack; this._originalDoPostBack = null; } if (this._originalDoPostBackWithOptions) { window.WebForm_DoPostBackWithOptions = this._originalDoPostBackWithOptions; this._originalDoPostBackWithOptions = null; } if (this._originalFireDefaultButton) { window.WebForm_FireDefaultButton = this._originalFireDefaultButton; this._originalFireDefaultButton = null; } if (this._originalDoCallback) { window.WebForm_DoCallback = this._originalDoCallback; this._originalDoCallback = null; } this._form = null; this._updatePanelIDs = null; this._updatePanelClientIDs = null; this._asyncPostBackControlIDs = null; this._asyncPostBackControlClientIDs = null; this._postBackControlIDs = null; this._postBackControlClientIDs = null; this._asyncPostBackTimeout = null; this._scrollPosition = null; }, _doCallback: function PageRequestManager$_doCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) { if (!this.get_isInAsyncPostBack()) { this._originalDoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync); } }, _doPostBack: function PageRequestManager$_doPostBack(eventTarget, eventArgument) { this._additionalInput = null; var form = this._form; if ((eventTarget === null) || (typeof(eventTarget) === "undefined") || (this._isCrossPost)) { this._postBackSettings = this._createPostBackSettings(false); this._isCrossPost = false; } else { var mpUniqueID = this._masterPageUniqueID; var clientID = this._uniqueIDToClientID(eventTarget); var postBackElement = document.getElementById(clientID); if (!postBackElement && mpUniqueID) { if (clientID.indexOf(mpUniqueID + "$") === 0) { postBackElement = document.getElementById(clientID.substr(mpUniqueID.length + 1)); } } if (!postBackElement) { if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) { this._postBackSettings = this._createPostBackSettings(true, null, eventTarget); } else { if (Array.contains(this._postBackControlIDs, eventTarget)) { this._postBackSettings = this._createPostBackSettings(false); } else { var nearestUniqueIDMatch = this._findNearestElement(eventTarget); if (nearestUniqueIDMatch) { this._postBackSettings = this._getPostBackSettings(nearestUniqueIDMatch, eventTarget); } else { if (mpUniqueID) { mpUniqueID += "$"; if (eventTarget.indexOf(mpUniqueID) === 0) { nearestUniqueIDMatch = this._findNearestElement(eventTarget.substr(mpUniqueID.length)); } } if (nearestUniqueIDMatch) { this._postBackSettings = this._getPostBackSettings(nearestUniqueIDMatch, eventTarget); } else { this._postBackSettings = this._createPostBackSettings(false); } } } } } else { this._postBackSettings = this._getPostBackSettings(postBackElement, eventTarget); } } if (!this._postBackSettings.async) { form.onsubmit = this._onsubmit; this._originalDoPostBack(eventTarget, eventArgument); form.onsubmit = null; return; } form.__EVENTTARGET.value = eventTarget; form.__EVENTARGUMENT.value = eventArgument; this._onFormSubmit(); }, _doPostBackWithOptions: function PageRequestManager$_doPostBackWithOptions(options) { this._isCrossPost = options && options.actionUrl; this._originalDoPostBackWithOptions(options); }, _elementContains: function PageRequestManager$_elementContains(container, element) { while (element) { if (element === container) { return true; } element = element.parentNode; } return false; }, _endPostBack: function PageRequestManager$_endPostBack(error, executor, data) { if (this._request === executor.get_webRequest()) { this._processingRequest = false; this._additionalInput = null; this._request = null; } var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor); Sys.Observer.raiseEvent(this, "endRequest", eventArgs); if (error && !eventArgs.get_errorHandled()) { throw error; } }, _ensureUniqueIds: function PageRequestManager$_ensureUniqueIds(ids) { if (!ids) return ids; ids = ids instanceof Array ? ids : [ids]; var uniqueIds = []; for (var i = 0, l = ids.length; i < l; i++) { var id = ids[i], index = Array.indexOf(this._updatePanelClientIDs, id); uniqueIds.push(index > -1 ? this._updatePanelIDs[index] : id); } return uniqueIds; }, _findNearestElement: function PageRequestManager$_findNearestElement(uniqueID) { while (uniqueID.length > 0) { var clientID = this._uniqueIDToClientID(uniqueID); var element = document.getElementById(clientID); if (element) { return element; } var indexOfLastDollar = uniqueID.lastIndexOf('$'); if (indexOfLastDollar === -1) { return null; } uniqueID = uniqueID.substring(0, indexOfLastDollar); } return null; }, _findText: function PageRequestManager$_findText(text, location) { var startIndex = Math.max(0, location - 20); var endIndex = Math.min(text.length, location + 20); return text.substring(startIndex, endIndex); }, _fireDefaultButton: function PageRequestManager$_fireDefaultButton(event, target) { if (event.keyCode === 13) { var src = event.srcElement || event.target; if (!src || (src.tagName.toLowerCase() !== "textarea")) { var defaultButton = document.getElementById(target); if (defaultButton && (typeof(defaultButton.click) !== "undefined")) { this._activeDefaultButton = defaultButton; this._activeDefaultButtonClicked = false; try { defaultButton.click(); } finally { this._activeDefaultButton = null; } event.cancelBubble = true; if (typeof(event.stopPropagation) === "function") { event.stopPropagation(); } return false; } } } return true; }, _getPageLoadedEventArgs: function PageRequestManager$_getPageLoadedEventArgs(initialLoad, data) { var updated = []; var created = []; var version4 = data ? data.version4 : false; var upData = data ? data.updatePanelData : null; var newIDs, newClientIDs, childIDs, refreshedIDs; if (!upData) { newIDs = this._updatePanelIDs; newClientIDs = this._updatePanelClientIDs; childIDs = null; refreshedIDs = null; } else { newIDs = upData.updatePanelIDs; newClientIDs = upData.updatePanelClientIDs; childIDs = upData.childUpdatePanelIDs; refreshedIDs = upData.panelsToRefreshIDs; } var i, l, uniqueID, clientID; if (refreshedIDs) { for (i = 0, l = refreshedIDs.length; i < l; i += (version4 ? 2 : 1)) { uniqueID = refreshedIDs[i]; clientID = (version4 ? refreshedIDs[i+1] : "") || this._uniqueIDToClientID(uniqueID); Array.add(updated, document.getElementById(clientID)); } } for (i = 0, l = newIDs.length; i < l; i++) { if (initialLoad || Array.indexOf(childIDs, newIDs[i]) !== -1) { Array.add(created, document.getElementById(newClientIDs[i])); } } return new Sys.WebForms.PageLoadedEventArgs(updated, created, data ? data.dataItems : {}); }, _getPageLoadingEventArgs: function PageRequestManager$_getPageLoadingEventArgs(data) { var updated = [], deleted = [], upData = data.updatePanelData, oldIDs = upData.oldUpdatePanelIDs, oldClientIDs = upData.oldUpdatePanelClientIDs, newIDs = upData.updatePanelIDs, childIDs = upData.childUpdatePanelIDs, refreshedIDs = upData.panelsToRefreshIDs, i, l, uniqueID, clientID, version4 = data.version4; for (i = 0, l = refreshedIDs.length; i < l; i += (version4 ? 2 : 1)) { uniqueID = refreshedIDs[i]; clientID = (version4 ? refreshedIDs[i+1] : "") || this._uniqueIDToClientID(uniqueID); Array.add(updated, document.getElementById(clientID)); } for (i = 0, l = oldIDs.length; i < l; i++) { uniqueID = oldIDs[i]; if (Array.indexOf(refreshedIDs, uniqueID) === -1 && (Array.indexOf(newIDs, uniqueID) === -1 || Array.indexOf(childIDs, uniqueID) > -1)) { Array.add(deleted, document.getElementById(oldClientIDs[i])); } } return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, data.dataItems); }, _getPostBackSettings: function PageRequestManager$_getPostBackSettings(element, elementUniqueID) { var originalElement = element; var proposedSettings = null; while (element) { if (element.id) { if (!proposedSettings && Array.contains(this._asyncPostBackControlClientIDs, element.id)) { proposedSettings = this._createPostBackSettings(true, null, elementUniqueID, originalElement); } else { if (!proposedSettings && Array.contains(this._postBackControlClientIDs, element.id)) { return this._createPostBackSettings(false); } else { var indexOfPanel = Array.indexOf(this._updatePanelClientIDs, element.id); if (indexOfPanel !== -1) { if (this._updatePanelHasChildrenAsTriggers[indexOfPanel]) { return this._createPostBackSettings(true, [this._updatePanelIDs[indexOfPanel]], elementUniqueID, originalElement); } else { return this._createPostBackSettings(true, null, elementUniqueID, originalElement); } } } } if (!proposedSettings && this._matchesParentIDInList(element.id, this._asyncPostBackControlClientIDs)) { proposedSettings = this._createPostBackSettings(true, null, elementUniqueID, originalElement); } else { if (!proposedSettings && this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) { return this._createPostBackSettings(false); } } } element = element.parentNode; } if (!proposedSettings) { return this._createPostBackSettings(false); } else { return proposedSettings; } }, _getScrollPosition: function PageRequestManager$_getScrollPosition() { var d = document.documentElement; if (d && (this._validPosition(d.scrollLeft) || this._validPosition(d.scrollTop))) { return { x: d.scrollLeft, y: d.scrollTop }; } else { d = document.body; if (d && (this._validPosition(d.scrollLeft) || this._validPosition(d.scrollTop))) { return { x: d.scrollLeft, y: d.scrollTop }; } else { if (this._validPosition(window.pageXOffset) || this._validPosition(window.pageYOffset)) { return { x: window.pageXOffset, y: window.pageYOffset }; } else { return { x: 0, y: 0 }; } } } }, _initializeInternal: function PageRequestManager$_initializeInternal(scriptManagerID, formElement, updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout, masterPageUniqueID) { if (this._prmInitialized) { throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice); } this._prmInitialized = true; this._masterPageUniqueID = masterPageUniqueID; this._scriptManagerID = scriptManagerID; this._form = Sys.UI.DomElement.resolveElement(formElement); this._onsubmit = this._form.onsubmit; this._form.onsubmit = null; this._onFormSubmitHandler = Function.createDelegate(this, this._onFormSubmit); this._onFormElementClickHandler = Function.createDelegate(this, this._onFormElementClick); this._onWindowUnloadHandler = Function.createDelegate(this, this._onWindowUnload); Sys.UI.DomEvent.addHandler(this._form, 'submit', this._onFormSubmitHandler); Sys.UI.DomEvent.addHandler(this._form, 'click', this._onFormElementClickHandler); Sys.UI.DomEvent.addHandler(window, 'unload', this._onWindowUnloadHandler); this._originalDoPostBack = window.__doPostBack; if (this._originalDoPostBack) { window.__doPostBack = Function.createDelegate(this, this._doPostBack); } this._originalDoPostBackWithOptions = window.WebForm_DoPostBackWithOptions; if (this._originalDoPostBackWithOptions) { window.WebForm_DoPostBackWithOptions = Function.createDelegate(this, this._doPostBackWithOptions); } this._originalFireDefaultButton = window.WebForm_FireDefaultButton; if (this._originalFireDefaultButton) { window.WebForm_FireDefaultButton = Function.createDelegate(this, this._fireDefaultButton); } this._originalDoCallback = window.WebForm_DoCallback; if (this._originalDoCallback) { window.WebForm_DoCallback = Function.createDelegate(this, this._doCallback); } this._pageLoadedHandler = Function.createDelegate(this, this._pageLoadedInitialLoad); Sys.UI.DomEvent.addHandler(window, 'load', this._pageLoadedHandler); if (updatePanelIDs) { this._updateControls(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout, true); } }, _matchesParentIDInList: function PageRequestManager$_matchesParentIDInList(clientID, parentIDList) { for (var i = 0, l = parentIDList.length; i < l; i++) { if (clientID.startsWith(parentIDList[i] + "_")) { return true; } } return false; }, _onFormElementActive: function PageRequestManager$_onFormElementActive(element, offsetX, offsetY) { if (element.disabled) { return; } this._postBackSettings = this._getPostBackSettings(element, element.name); if (element.name) { var tagName = element.tagName.toUpperCase(); if (tagName === 'INPUT') { var type = element.type; if (type === 'submit') { this._additionalInput = encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value); } else if (type === 'image') { this._additionalInput = encodeURIComponent(element.name) + '.x=' + offsetX + '&' + encodeURIComponent(element.name) + '.y=' + offsetY; } } else if ((tagName === 'BUTTON') && (element.name.length !== 0) && (element.type === 'submit')) { this._additionalInput = encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value); } } }, _onFormElementClick: function PageRequestManager$_onFormElementClick(evt) { this._activeDefaultButtonClicked = (evt.target === this._activeDefaultButton); this._onFormElementActive(evt.target, evt.offsetX, evt.offsetY); }, _onFormSubmit: function PageRequestManager$_onFormSubmit(evt) { var i, l, continueSubmit = true, isCrossPost = this._isCrossPost; this._isCrossPost = false; if (this._onsubmit) { continueSubmit = this._onsubmit(); } if (continueSubmit) { for (i = 0, l = this._onSubmitStatements.length; i < l; i++) { if (!this._onSubmitStatements[i]()) { continueSubmit = false; break; } } } if (!continueSubmit) { if (evt) { evt.preventDefault(); } return; } var form = this._form; if (isCrossPost) { return; } if (this._activeDefaultButton && !this._activeDefaultButtonClicked) { this._onFormElementActive(this._activeDefaultButton, 0, 0); } if (!this._postBackSettings || !this._postBackSettings.async) { return; } var formBody = new Sys.StringBuilder(), count = form.elements.length, panelID = this._createPanelID(null, this._postBackSettings); formBody.append(panelID); for (i = 0; i < count; i++) { var element = form.elements[i]; var name = element.name; if (typeof(name) === "undefined" || (name === null) || (name.length === 0) || (name === this._scriptManagerID)) { continue; } var tagName = element.tagName.toUpperCase(); if (tagName === 'INPUT') { var type = element.type; if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) { formBody.append(encodeURIComponent(name)); formBody.append('='); formBody.append(encodeURIComponent(element.value)); formBody.append('&'); } } else if (tagName === 'SELECT') { var optionCount = element.options.length; for (var j = 0; j < optionCount; j++) { var option = element.options[j]; if (option.selected) { formBody.append(encodeURIComponent(name)); formBody.append('='); formBody.append(encodeURIComponent(option.value)); formBody.append('&'); } } } else if (tagName === 'TEXTAREA') { formBody.append(encodeURIComponent(name)); formBody.append('='); formBody.append(encodeURIComponent(element.value)); formBody.append('&'); } } formBody.append("__ASYNCPOST=true&"); if (this._additionalInput) { formBody.append(this._additionalInput); this._additionalInput = null; } var request = new Sys.Net.WebRequest(); var action = form.action; if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { var fragmentIndex = action.indexOf('#'); if (fragmentIndex !== -1) { action = action.substr(0, fragmentIndex); } var queryIndex = action.indexOf('?'); if (queryIndex !== -1) { var path = action.substr(0, queryIndex); if (path.indexOf("%") === -1) { action = encodeURI(path) + action.substr(queryIndex); } } else if (action.indexOf("%") === -1) { action = encodeURI(action); } } request.set_url(action); request.get_headers()['X-MicrosoftAjax'] = 'Delta=true'; request.get_headers()['Cache-Control'] = 'no-cache'; request.set_timeout(this._asyncPostBackTimeout); request.add_completed(Function.createDelegate(this, this._onFormSubmitCompleted)); request.set_body(formBody.toString()); var panelsToUpdate, eventArgs; panelsToUpdate = this._postBackSettings.panelsToUpdate; eventArgs = new Sys.WebForms.InitializeRequestEventArgs(request, this._postBackSettings.sourceElement, panelsToUpdate); Sys.Observer.raiseEvent(this, "initializeRequest", eventArgs); continueSubmit = !eventArgs.get_cancel(); if (!continueSubmit) { if (evt) { evt.preventDefault(); } return; } if (eventArgs && eventArgs._updated) { panelsToUpdate = eventArgs.get_updatePanelsToUpdate(); request.set_body(request.get_body().replace(panelID, this._createPanelID(panelsToUpdate, this._postBackSettings))); } this._scrollPosition = this._getScrollPosition(); this.abortPostBack(); eventArgs = new Sys.WebForms.BeginRequestEventArgs(request, this._postBackSettings.sourceElement, panelsToUpdate || this._postBackSettings.panelsToUpdate); Sys.Observer.raiseEvent(this, "beginRequest", eventArgs); if (this._originalDoCallback) { this._cancelPendingCallbacks(); } this._request = request; this._processingRequest = false; request.invoke(); if (evt) { evt.preventDefault(); } }, _onFormSubmitCompleted: function PageRequestManager$_onFormSubmitCompleted(sender, eventArgs) { this._processingRequest = true; if (sender.get_timedOut()) { this._endPostBack(this._createPageRequestManagerTimeoutError(), sender, null); return; } if (sender.get_aborted()) { this._endPostBack(null, sender, null); return; } if (!this._request || (sender.get_webRequest() !== this._request)) { return; } if (sender.get_statusCode() !== 200) { this._endPostBack(this._createPageRequestManagerServerError(sender.get_statusCode()), sender, null); return; } var data = this._parseDelta(sender); if (!data) return; var i, l; if (data.asyncPostBackControlIDsNode && data.postBackControlIDsNode && data.updatePanelIDsNode && data.panelsToRefreshNode && data.childUpdatePanelIDsNode) { var oldUpdatePanelIDs = this._updatePanelIDs, oldUpdatePanelClientIDs = this._updatePanelClientIDs; var childUpdatePanelIDsString = data.childUpdatePanelIDsNode.content; var childUpdatePanelIDs = childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') : []; var asyncPostBackControlIDsArray = this._splitNodeIntoArray(data.asyncPostBackControlIDsNode); var postBackControlIDsArray = this._splitNodeIntoArray(data.postBackControlIDsNode); var updatePanelIDsArray = this._splitNodeIntoArray(data.updatePanelIDsNode); var panelsToRefreshIDs = this._splitNodeIntoArray(data.panelsToRefreshNode); var v4 = data.version4; for (i = 0, l = panelsToRefreshIDs.length; i < l; i+= (v4 ? 2 : 1)) { var panelClientID = (v4 ? panelsToRefreshIDs[i+1] : "") || this._uniqueIDToClientID(panelsToRefreshIDs[i]); if (!document.getElementById(panelClientID)) { this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, panelClientID)), sender, data); return; } } var updatePanelData = this._processUpdatePanelArrays( updatePanelIDsArray, asyncPostBackControlIDsArray, postBackControlIDsArray, v4); updatePanelData.oldUpdatePanelIDs = oldUpdatePanelIDs; updatePanelData.oldUpdatePanelClientIDs = oldUpdatePanelClientIDs; updatePanelData.childUpdatePanelIDs = childUpdatePanelIDs; updatePanelData.panelsToRefreshIDs = panelsToRefreshIDs; data.updatePanelData = updatePanelData; } data.dataItems = {}; var node; for (i = 0, l = data.dataItemNodes.length; i < l; i++) { node = data.dataItemNodes[i]; data.dataItems[node.id] = node.content; } for (i = 0, l = data.dataItemJsonNodes.length; i < l; i++) { node = data.dataItemJsonNodes[i]; data.dataItems[node.id] = Sys.Serialization.JavaScriptSerializer.deserialize(node.content); } var handler = Sys.Observer._getContext(this, true).events.getHandler("pageLoading"); if (handler) { handler(this, this._getPageLoadingEventArgs(data)); } Sys._ScriptLoader.readLoadedScripts(); Sys.Application.beginCreateComponents(); var scriptLoader = Sys._ScriptLoader.getInstance(); this._queueScripts(scriptLoader, data.scriptBlockNodes, true, false); this._processingRequest = true; scriptLoader.loadScripts(0, Function.createDelegate(this, Function.createCallback(this._scriptIncludesLoadComplete, data)), Function.createDelegate(this, Function.createCallback(this._scriptIncludesLoadFailed, data)), null); }, _onWindowUnload: function PageRequestManager$_onWindowUnload(evt) { this.dispose(); }, _pageLoaded: function PageRequestManager$_pageLoaded(initialLoad, data) { Sys.Observer.raiseEvent(this, "pageLoaded", this._getPageLoadedEventArgs(initialLoad, data)); if (!initialLoad) { Sys.Application.raiseLoad(); } }, _pageLoadedInitialLoad: function PageRequestManager$_pageLoadedInitialLoad(evt) { this._pageLoaded(true, null); }, _parseDelta: function PageRequestManager$_parseDelta(executor) { var reply = executor.get_responseData(); var delimiterIndex, len, type, id, content; var replyIndex = 0; var parserErrorDetails = null; var delta = []; while (replyIndex < reply.length) { delimiterIndex = reply.indexOf('|', replyIndex); if (delimiterIndex === -1) { parserErrorDetails = this._findText(reply, replyIndex); break; } len = parseInt(reply.substring(replyIndex, delimiterIndex), 10); if ((len % 1) !== 0) { parserErrorDetails = this._findText(reply, replyIndex); break; } replyIndex = delimiterIndex + 1; delimiterIndex = reply.indexOf('|', replyIndex); if (delimiterIndex === -1) { parserErrorDetails = this._findText(reply, replyIndex); break; } type = reply.substring(replyIndex, delimiterIndex); replyIndex = delimiterIndex + 1; delimiterIndex = reply.indexOf('|', replyIndex); if (delimiterIndex === -1) { parserErrorDetails = this._findText(reply, replyIndex); break; } id = reply.substring(replyIndex, delimiterIndex); replyIndex = delimiterIndex + 1; if ((replyIndex + len) >= reply.length) { parserErrorDetails = this._findText(reply, reply.length); break; } content = reply.substr(replyIndex, len); replyIndex += len; if (reply.charAt(replyIndex) !== '|') { parserErrorDetails = this._findText(reply, replyIndex); break; } replyIndex++; Array.add(delta, {type: type, id: id, content: content}); } if (parserErrorDetails) { this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), executor, null); return null; } var updatePanelNodes = []; var hiddenFieldNodes = []; var arrayDeclarationNodes = []; var scriptBlockNodes = []; var scriptStartupNodes = []; var expandoNodes = []; var onSubmitNodes = []; var dataItemNodes = []; var dataItemJsonNodes = []; var scriptDisposeNodes = []; var asyncPostBackControlIDsNode, postBackControlIDsNode, updatePanelIDsNode, asyncPostBackTimeoutNode, childUpdatePanelIDsNode, panelsToRefreshNode, formActionNode, versionNode; for (var i = 0, l = delta.length; i < l; i++) { var deltaNode = delta[i]; switch (deltaNode.type) { case "#": versionNode = deltaNode; break; case "updatePanel": Array.add(updatePanelNodes, deltaNode); break; case "hiddenField": Array.add(hiddenFieldNodes, deltaNode); break; case "arrayDeclaration": Array.add(arrayDeclarationNodes, deltaNode); break; case "scriptBlock": Array.add(scriptBlockNodes, deltaNode); break; case "scriptStartupBlock": Array.add(scriptStartupNodes, deltaNode); break; case "expando": Array.add(expandoNodes, deltaNode); break; case "onSubmit": Array.add(onSubmitNodes, deltaNode); break; case "asyncPostBackControlIDs": asyncPostBackControlIDsNode = deltaNode; break; case "postBackControlIDs": postBackControlIDsNode = deltaNode; break; case "updatePanelIDs": updatePanelIDsNode = deltaNode; break; case "asyncPostBackTimeout": asyncPostBackTimeoutNode = deltaNode; break; case "childUpdatePanelIDs": childUpdatePanelIDsNode = deltaNode; break; case "panelsToRefreshIDs": panelsToRefreshNode = deltaNode; break; case "formAction": formActionNode = deltaNode; break; case "dataItem": Array.add(dataItemNodes, deltaNode); break; case "dataItemJson": Array.add(dataItemJsonNodes, deltaNode); break; case "scriptDispose": Array.add(scriptDisposeNodes, deltaNode); break; case "pageRedirect": if (versionNode && parseFloat(versionNode.content) >= 4) { deltaNode.content = unescape(deltaNode.content); } if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { var anchor = document.createElement("a"); anchor.style.display = 'none'; anchor.attachEvent("onclick", cancelBubble); anchor.href = deltaNode.content; this._form.parentNode.insertBefore(anchor, this._form); anchor.click(); anchor.detachEvent("onclick", cancelBubble); this._form.parentNode.removeChild(anchor); function cancelBubble(e) { e.cancelBubble = true; } } else { window.location.href = deltaNode.content; } return null; case "error": this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(deltaNode.id), deltaNode.content), executor, null); return null; case "pageTitle": document.title = deltaNode.content; break; case "focus": this._controlIDToFocus = deltaNode.content; break; default: this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), executor, null); return null; } // switch } // for (var i = 0, l = delta.length; i < l; i++) return { version4: versionNode ? (parseFloat(versionNode.content) >= 4) : false, executor: executor, updatePanelNodes: updatePanelNodes, hiddenFieldNodes: hiddenFieldNodes, arrayDeclarationNodes: arrayDeclarationNodes, scriptBlockNodes: scriptBlockNodes, scriptStartupNodes: scriptStartupNodes, expandoNodes: expandoNodes, onSubmitNodes: onSubmitNodes, dataItemNodes: dataItemNodes, dataItemJsonNodes: dataItemJsonNodes, scriptDisposeNodes: scriptDisposeNodes, asyncPostBackControlIDsNode: asyncPostBackControlIDsNode, postBackControlIDsNode: postBackControlIDsNode, updatePanelIDsNode: updatePanelIDsNode, asyncPostBackTimeoutNode: asyncPostBackTimeoutNode, childUpdatePanelIDsNode: childUpdatePanelIDsNode, panelsToRefreshNode: panelsToRefreshNode, formActionNode: formActionNode }; }, _processUpdatePanelArrays: function PageRequestManager$_processUpdatePanelArrays(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, version4) { var newUpdatePanelIDs, newUpdatePanelClientIDs, newUpdatePanelHasChildrenAsTriggers; if (updatePanelIDs) { var l = updatePanelIDs.length, m = version4 ? 2 : 1; newUpdatePanelIDs = new Array(l/m); newUpdatePanelClientIDs = new Array(l/m); newUpdatePanelHasChildrenAsTriggers = new Array(l/m); for (var i = 0, j = 0; i < l; i += m, j++) { var ct, uniqueID = updatePanelIDs[i], clientID = version4 ? updatePanelIDs[i+1] : ""; ct = (uniqueID.charAt(0) === 't'); uniqueID = uniqueID.substr(1); if (!clientID) { clientID = this._uniqueIDToClientID(uniqueID); } newUpdatePanelHasChildrenAsTriggers[j] = ct; newUpdatePanelIDs[j] = uniqueID; newUpdatePanelClientIDs[j] = clientID; } } else { newUpdatePanelIDs = []; newUpdatePanelClientIDs = []; newUpdatePanelHasChildrenAsTriggers = []; } var newAsyncPostBackControlIDs = []; var newAsyncPostBackControlClientIDs = []; this._convertToClientIDs(asyncPostBackControlIDs, newAsyncPostBackControlIDs, newAsyncPostBackControlClientIDs, version4); var newPostBackControlIDs = []; var newPostBackControlClientIDs = []; this._convertToClientIDs(postBackControlIDs, newPostBackControlIDs, newPostBackControlClientIDs, version4); return { updatePanelIDs: newUpdatePanelIDs, updatePanelClientIDs: newUpdatePanelClientIDs, updatePanelHasChildrenAsTriggers: newUpdatePanelHasChildrenAsTriggers, asyncPostBackControlIDs: newAsyncPostBackControlIDs, asyncPostBackControlClientIDs: newAsyncPostBackControlClientIDs, postBackControlIDs: newPostBackControlIDs, postBackControlClientIDs: newPostBackControlClientIDs }; }, _queueScripts: function PageRequestManager$_queueScripts(scriptLoader, scriptBlockNodes, queueIncludes, queueBlocks) { for (var i = 0, l = scriptBlockNodes.length; i < l; i++) { var scriptBlockType = scriptBlockNodes[i].id; switch (scriptBlockType) { case "ScriptContentNoTags": if (!queueBlocks) { continue; } scriptLoader.queueScriptBlock(scriptBlockNodes[i].content); break; case "ScriptContentWithTags": var scriptTagAttributes = window.eval("(" + scriptBlockNodes[i].content + ")"); if (scriptTagAttributes.src) { if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) { continue; } } else if (!queueBlocks) { continue; } scriptLoader.queueCustomScriptTag(scriptTagAttributes); break; case "ScriptPath": if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) { continue; } scriptLoader.queueScriptReference(scriptBlockNodes[i].content); break; } } }, _registerDisposeScript: function PageRequestManager$_registerDisposeScript(panelID, disposeScript) { if (!this._scriptDisposes[panelID]) { this._scriptDisposes[panelID] = [disposeScript]; } else { Array.add(this._scriptDisposes[panelID], disposeScript); } }, _scriptIncludesLoadComplete: function PageRequestManager$_scriptIncludesLoadComplete(scriptLoader, data) { if (data.executor.get_webRequest() !== this._request) { return; } this._commitControls(data.updatePanelData, data.asyncPostBackTimeoutNode ? data.asyncPostBackTimeoutNode.content : null); if (data.formActionNode) { this._form.action = data.formActionNode.content; } var i, l, node; for (i = 0, l = data.updatePanelNodes.length; i < l; i++) { node = data.updatePanelNodes[i]; var updatePanelElement = document.getElementById(node.id); if (!updatePanelElement) { this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, node.id)), data.executor, data); return; } this._updatePanel(updatePanelElement, node.content); } for (i = 0, l = data.scriptDisposeNodes.length; i < l; i++) { node = data.scriptDisposeNodes[i]; this._registerDisposeScript(node.id, node.content); } for (i = 0, l = this._transientFields.length; i < l; i++) { var field = document.getElementById(this._transientFields[i]); if (field) { var toRemove = field._isContained ? field.parentNode : field; toRemove.parentNode.removeChild(toRemove); } } for (i = 0, l = data.hiddenFieldNodes.length; i < l; i++) { node = data.hiddenFieldNodes[i]; this._createHiddenField(node.id, node.content); } if (data.scriptsFailed) { throw Sys._ScriptLoader._errorScriptLoadFailed(data.scriptsFailed.src, data.scriptsFailed.multipleCallbacks); } this._queueScripts(scriptLoader, data.scriptBlockNodes, false, true); var arrayScript = ''; for (i = 0, l = data.arrayDeclarationNodes.length; i < l; i++) { node = data.arrayDeclarationNodes[i]; arrayScript += "Sys.WebForms.PageRequestManager._addArrayElement('" + node.id + "', " + node.content + ");\r\n"; } var expandoScript = ''; for (i = 0, l = data.expandoNodes.length; i < l; i++) { node = data.expandoNodes[i]; expandoScript += node.id + " = " + node.content + "\r\n"; } if (arrayScript.length) { scriptLoader.queueScriptBlock(arrayScript); } if (expandoScript.length) { scriptLoader.queueScriptBlock(expandoScript); } this._queueScripts(scriptLoader, data.scriptStartupNodes, true, true); var onSubmitStatementScript = ''; for (i = 0, l = data.onSubmitNodes.length; i < l; i++) { if (i === 0) { onSubmitStatementScript = 'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n'; } onSubmitStatementScript += data.onSubmitNodes[i].content + "\r\n"; } if (onSubmitStatementScript.length) { onSubmitStatementScript += "\r\nreturn true;\r\n});\r\n"; scriptLoader.queueScriptBlock(onSubmitStatementScript); } scriptLoader.loadScripts(0, Function.createDelegate(this, Function.createCallback(this._scriptsLoadComplete, data)), null, null); }, _scriptIncludesLoadFailed: function PageRequestManager$_scriptIncludesLoadFailed(scriptLoader, scriptElement, multipleCallbacks, data) { data.scriptsFailed = { src: scriptElement.src, multipleCallbacks: multipleCallbacks }; this._scriptIncludesLoadComplete(scriptLoader, data); }, _scriptsLoadComplete: function PageRequestManager$_scriptsLoadComplete(scriptLoader, data) { var response = data.executor; if (window.__theFormPostData) { window.__theFormPostData = ""; } if (window.__theFormPostCollection) { window.__theFormPostCollection = []; } if (window.WebForm_InitCallback) { window.WebForm_InitCallback(); } if (this._scrollPosition) { if (window.scrollTo) { window.scrollTo(this._scrollPosition.x, this._scrollPosition.y); } this._scrollPosition = null; } Sys.Application.endCreateComponents(); this._pageLoaded(false, data); this._endPostBack(null, response, data); if (this._controlIDToFocus) { var focusTarget; var oldContentEditableSetting; if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { var targetControl = $get(this._controlIDToFocus); focusTarget = targetControl; if (targetControl && (!WebForm_CanFocus(targetControl))) { focusTarget = WebForm_FindFirstFocusableChild(targetControl); } if (focusTarget && (typeof(focusTarget.contentEditable) !== "undefined")) { oldContentEditableSetting = focusTarget.contentEditable; focusTarget.contentEditable = false; } else { focusTarget = null; } } WebForm_AutoFocus(this._controlIDToFocus); if (focusTarget) { focusTarget.contentEditable = oldContentEditableSetting; } this._controlIDToFocus = null; } }, _splitNodeIntoArray: function PageRequestManager$_splitNodeIntoArray(node) { var str = node.content; var arr = str.length ? str.split(',') : []; return arr; }, _uniqueIDToClientID: function PageRequestManager$_uniqueIDToClientID(uniqueID) { return uniqueID.replace(/\$/g, '_'); }, _updateControls: function PageRequestManager$_updateControls(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout, version4) { this._commitControls( this._processUpdatePanelArrays(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, version4), asyncPostBackTimeout); }, _updatePanel: function PageRequestManager$_updatePanel(updatePanelElement, rendering) { for (var updatePanelID in this._scriptDisposes) { if (this._elementContains(updatePanelElement, document.getElementById(updatePanelID))) { var disposeScripts = this._scriptDisposes[updatePanelID]; for (var i = 0, l = disposeScripts.length; i < l; i++) { window.eval(disposeScripts[i]); } delete this._scriptDisposes[updatePanelID]; } } Sys.Application.disposeElement(updatePanelElement, true); updatePanelElement.innerHTML = rendering; }, _validPosition: function PageRequestManager$_validPosition(position) { return (typeof(position) !== "undefined") && (position !== null) && (position !== 0); } } $type.getInstance = function PageRequestManager$getInstance() { /// Gets the current instance of the PageRequestManager./// if (arguments.length !== 0) throw Error.parameterCount(); var prm = Sys.WebForms.PageRequestManager._instance; if (!prm) { prm = Sys.WebForms.PageRequestManager._instance = new Sys.WebForms.PageRequestManager(); } return prm; } $type._addArrayElement = function PageRequestManager$_addArrayElement(arrayName) { if (!window[arrayName]) { window[arrayName] = new Array(); } for (var i = 1, l = arguments.length; i < l; i++) { Array.add(window[arrayName], arguments[i]); } } $type._initialize = function PageRequestManager$_initialize() { var prm = Sys.WebForms.PageRequestManager.getInstance(); prm._initializeInternal.apply(prm, arguments); } $type.registerClass('Sys.WebForms.PageRequestManager'); $type = Sys.UI._UpdateProgress = function _UpdateProgress(element) { Sys.UI._UpdateProgress.initializeBase(this,[element]); this._displayAfter = 500; this._dynamicLayout = true; this._associatedUpdatePanelId = null; this._beginRequestHandlerDelegate = null; this._startDelegate = null; this._endRequestHandlerDelegate = null; this._pageRequestManager = null; this._timerCookie = null; } $type.prototype = { get_displayAfter: function _UpdateProgress$get_displayAfter() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._displayAfter; }, set_displayAfter: function _UpdateProgress$set_displayAfter(value) { var e = Function._validateParams(arguments, [{name: "value", type: Number}]); if (e) throw e; this._displayAfter = value; }, get_dynamicLayout: function _UpdateProgress$get_dynamicLayout() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._dynamicLayout; }, set_dynamicLayout: function _UpdateProgress$set_dynamicLayout(value) { var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); if (e) throw e; this._dynamicLayout = value; }, get_associatedUpdatePanelId: function _UpdateProgress$get_associatedUpdatePanelId() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._associatedUpdatePanelId; }, set_associatedUpdatePanelId: function _UpdateProgress$set_associatedUpdatePanelId(value) { var e = Function._validateParams(arguments, [{name: "value", type: String, mayBeNull: true}]); if (e) throw e; this._associatedUpdatePanelId = value; }, get_role: function _UpdateProgress$get_role() { /// if (arguments.length !== 0) throw Error.parameterCount(); return "status"; }, _clearTimeout: function _UpdateProgress$_clearTimeout() { if (this._timerCookie) { window.clearTimeout(this._timerCookie); this._timerCookie = null; } }, _getUniqueID: function _UpdateProgress$_getUniqueID(clientID) { var i = Array.indexOf(this._pageRequestManager._updatePanelClientIDs, clientID); return i === -1 ? null : this._pageRequestManager._updatePanelIDs[i]; }, _handleBeginRequest: function _UpdateProgress$_handleBeginRequest(sender, arg) { var curElem = arg.get_postBackElement(), showProgress = true, upID = this._associatedUpdatePanelId; if (this._associatedUpdatePanelId) { var updating = arg.get_updatePanelsToUpdate(); if (updating && updating.length) { showProgress = (Array.contains(updating, upID) || Array.contains(updating, this._getUniqueID(upID))) } else { showProgress = false; } } 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); } }, _startRequest: function _UpdateProgress$_startRequest() { if (this._pageRequestManager.get_isInAsyncPostBack()) { var element = this.get_element(); if (this._dynamicLayout) { element.style.display = 'block'; } else { element.style.visibility = 'visible'; } if (this.get_role() === "status") { element.setAttribute("aria-hidden", "false"); } } this._timerCookie = null; }, _handleEndRequest: function _UpdateProgress$_handleEndRequest(sender, arg) { var element = this.get_element(); if (this._dynamicLayout) { element.style.display = 'none'; } else { element.style.visibility = 'hidden'; } if (this.get_role() === "status") { element.setAttribute("aria-hidden", "true"); } this._clearTimeout(); }, dispose: function _UpdateProgress$dispose() { if (this._beginRequestHandlerDelegate !== null) { this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate); this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate); this._beginRequestHandlerDelegate = null; this._endRequestHandlerDelegate = null; } this._clearTimeout(); Sys.UI._UpdateProgress.callBaseMethod(this,"dispose"); }, initialize: function _UpdateProgress$initialize() { Sys.UI._UpdateProgress.callBaseMethod(this, 'initialize'); if (this.get_role() === "status") { this.get_element().setAttribute("aria-hidden", "true"); } 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); } } } $type.registerClass('Sys.UI._UpdateProgress', Sys.UI.Control); } if (window.Sys && Sys.loader) { Sys.loader.registerScript("WebForms", ["ComponentModel", "Serialization", "Network"], execute); } else { execute(); } })(); Type.registerNamespace('Sys.WebForms'); Sys.WebForms.Res={ "PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. If it is being updated dynamically then it must be inside another UpdatePanel.", "PRM_ServerError":"An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}", "PRM_ParserError":"The message received from the server could not be parsed.", "PRM_TimeoutError":"The server request timed out.", "PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized more than once.", "PRM_UnknownToken":"Unknown token: \u0027{0}\u0027.", "PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. If it is being updated dynamically then it must be inside another UpdatePanel.", "PRM_ServerError":"An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}", "PRM_ParserError":"The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.\r\nDetails: {0}", "PRM_TimeoutError":"The server request timed out.", "PRM_ParserErrorDetails":"Error parsing near \u0027{0}\u0027.", "PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized more than once." }; if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
Baidu
map