//----------------------------------------------------------------------- // Copyright (C) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------- // MicrosoftAjaxComponentModel.js // Microsoft AJAX Framework Component Model. /// Type._registerScript("MicrosoftAjaxComponentModel.debug.js", ["MicrosoftAjaxCore.debug.js"]); Type.registerNamespace('Sys.UI'); Sys.CommandEventArgs = function Sys$CommandEventArgs(commandName, commandArgument, commandSource) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "commandName", type: String}, {name: "commandArgument", mayBeNull: true}, {name: "commandSource", mayBeNull: true} ]); if (e) throw e; Sys.CommandEventArgs.initializeBase(this); this._commandName = commandName; this._commandArgument = commandArgument; this._commandSource = commandSource; } function Sys$CommandEventArgs$get_commandName() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._commandName; } function Sys$CommandEventArgs$get_commandArgument() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._commandArgument; } function Sys$CommandEventArgs$get_commandSource() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._commandSource; } Sys.CommandEventArgs.prototype = { _commandName: null, _commandArgument: null, _commandSource: null, get_commandName: Sys$CommandEventArgs$get_commandName, get_commandArgument: Sys$CommandEventArgs$get_commandArgument, get_commandSource: Sys$CommandEventArgs$get_commandSource } Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs", Sys.CancelEventArgs); Sys.INotifyDisposing = function Sys$INotifyDisposing() { /// if (arguments.length !== 0) throw Error.parameterCount(); throw Error.notImplemented(); } function Sys$INotifyDisposing$add_disposing(handler) { /// var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; throw Error.notImplemented(); } function Sys$INotifyDisposing$remove_disposing(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; throw Error.notImplemented(); } Sys.INotifyDisposing.prototype = { add_disposing: Sys$INotifyDisposing$add_disposing, remove_disposing: Sys$INotifyDisposing$remove_disposing } Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); Sys.Component = function Sys$Component() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (Sys.Application) Sys.Application.registerDisposableObject(this); } function Sys$Component$get_events() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (!this._events) { this._events = new Sys.EventHandlerList(); } return this._events; } function Sys$Component$get_id() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._id; } function Sys$Component$set_id(value) { var e = Function._validateParams(arguments, [{name: "value", type: String}]); if (e) throw e; if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); this._idSet = true; var oldId = this.get_id(); if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); this._id = value; } function Sys$Component$get_isInitialized() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._initialized; } function Sys$Component$get_isUpdating() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._updating; } function Sys$Component$add_disposing(handler) { /// var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().addHandler("disposing", handler); } function Sys$Component$remove_disposing(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().removeHandler("disposing", handler); } function Sys$Component$add_propertyChanged(handler) { /// var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().addHandler("propertyChanged", handler); } function Sys$Component$remove_propertyChanged(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().removeHandler("propertyChanged", handler); } function Sys$Component$beginUpdate() { this._updating = true; } function Sys$Component$dispose() { if (this._events) { var handler = this._events.getHandler("disposing"); if (handler) { handler(this, Sys.EventArgs.Empty); } } delete this._events; Sys.Application.unregisterDisposableObject(this); Sys.Application.removeComponent(this); } function Sys$Component$endUpdate() { this._updating = false; if (!this._initialized) this.initialize(); this.updated(); } function Sys$Component$initialize() { this._initialized = true; } function Sys$Component$raisePropertyChanged(propertyName) { /// /// var e = Function._validateParams(arguments, [ {name: "propertyName", type: String} ]); if (e) throw e; if (!this._events) return; var handler = this._events.getHandler("propertyChanged"); if (handler) { handler(this, new Sys.PropertyChangedEventArgs(propertyName)); } } function Sys$Component$updated() { } Sys.Component.prototype = { _id: null, _idSet: false, _initialized: false, _updating: false, get_events: Sys$Component$get_events, get_id: Sys$Component$get_id, set_id: Sys$Component$set_id, get_isInitialized: Sys$Component$get_isInitialized, get_isUpdating: Sys$Component$get_isUpdating, add_disposing: Sys$Component$add_disposing, remove_disposing: Sys$Component$remove_disposing, add_propertyChanged: Sys$Component$add_propertyChanged, remove_propertyChanged: Sys$Component$remove_propertyChanged, beginUpdate: Sys$Component$beginUpdate, dispose: Sys$Component$dispose, endUpdate: Sys$Component$endUpdate, initialize: Sys$Component$initialize, raisePropertyChanged: Sys$Component$raisePropertyChanged, updated: Sys$Component$updated } Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); function Sys$Component$_setProperties(target, properties) { /// /// /// var e = Function._validateParams(arguments, [ {name: "target"}, {name: "properties"} ]); if (e) throw e; var current; var targetType = Object.getType(target); var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); if (isComponent) target.beginUpdate(); for (var name in properties) { var val = properties[name]; var getter = isObject ? null : target["get_" + name]; if (isObject || typeof(getter) !== 'function') { var targetVal = target[name]; if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name)); if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { target[name] = val; } else { Sys$Component$_setProperties(targetVal, val); } } else { var setter = target["set_" + name]; if (typeof(setter) === 'function') { setter.apply(target, [val]); } else if (val instanceof Array) { current = getter.apply(target); if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { current[j] = val[i]; } } else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { current = getter.apply(target); if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); Sys$Component$_setProperties(current, val); } else { throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); } } } if (isComponent) target.endUpdate(); } function Sys$Component$_setReferences(component, references) { for (var name in references) { var setter = component["set_" + name]; var reference = $find(references[name]); if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); setter.apply(component, [reference]); } } var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { /// /// /// /// /// /// /// var e = Function._validateParams(arguments, [ {name: "type", type: Type}, {name: "properties", mayBeNull: true, optional: true}, {name: "events", mayBeNull: true, optional: true}, {name: "references", mayBeNull: true, optional: true}, {name: "element", mayBeNull: true, domElement: true, optional: true} ]); if (e) throw e; if (!type.inheritsFrom(Sys.Component)) { throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); } if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { if (!element) throw Error.argument('element', Sys.Res.createNoDom); } else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); var component = (element ? new type(element): new type()); var app = Sys.Application; var creatingComponents = app.get_isCreatingComponents(); component.beginUpdate(); if (properties) { Sys$Component$_setProperties(component, properties); } if (events) { for (var name in events) { if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); component["add_" + name](events[name]); } } if (component.get_id()) { app.addComponent(component); } if (creatingComponents) { app._createdComponents[app._createdComponents.length] = component; if (references) { app._addComponentToSecondPass(component, references); } else { component.endUpdate(); } } else { if (references) { Sys$Component$_setReferences(component, references); } component.endUpdate(); } return component; } Sys.UI.MouseButton = function Sys$UI$MouseButton() { /// /// /// /// if (arguments.length !== 0) throw Error.parameterCount(); throw Error.notImplemented(); } Sys.UI.MouseButton.prototype = { leftButton: 0, middleButton: 1, rightButton: 2 } Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); Sys.UI.Key = function Sys$UI$Key() { /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// if (arguments.length !== 0) throw Error.parameterCount(); throw Error.notImplemented(); } Sys.UI.Key.prototype = { backspace: 8, tab: 9, enter: 13, esc: 27, space: 32, pageUp: 33, pageDown: 34, end: 35, home: 36, left: 37, up: 38, right: 39, down: 40, del: 127 } Sys.UI.Key.registerEnum("Sys.UI.Key"); Sys.UI.Point = function Sys$UI$Point(x, y) { /// /// /// /// /// /// /// var e = Function._validateParams(arguments, [ {name: "x", type: Number}, {name: "y", type: Number} ]); if (e) throw e; this.rawX = x; this.rawY = y; this.x = Math.round(x); this.y = Math.round(y); } Sys.UI.Point.registerClass('Sys.UI.Point'); Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { /// /// /// /// /// /// /// /// /// var e = Function._validateParams(arguments, [ {name: "x", type: Number, integer: true}, {name: "y", type: Number, integer: true}, {name: "width", type: Number, integer: true}, {name: "height", type: Number, integer: true} ]); if (e) throw e; this.x = x; this.y = y; this.height = height; this.width = width; } Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// var e = Function._validateParams(arguments, [ {name: "eventObject"} ]); if (e) throw e; var ev = eventObject; var etype = this.type = ev.type.toLowerCase(); this.rawEvent = ev; this.altKey = ev.altKey; if (typeof(ev.button) !== 'undefined') { this.button = (typeof(ev.which) !== 'undefined') ? ev.button : (ev.button === 4) ? Sys.UI.MouseButton.middleButton : (ev.button === 2) ? Sys.UI.MouseButton.rightButton : Sys.UI.MouseButton.leftButton; } if (etype === 'keypress') { this.charCode = ev.charCode || ev.keyCode; } else if (ev.keyCode && (ev.keyCode === 46)) { this.keyCode = 127; } else { this.keyCode = ev.keyCode; } this.clientX = ev.clientX; this.clientY = ev.clientY; this.ctrlKey = ev.ctrlKey; this.target = ev.target ? ev.target : ev.srcElement; if (!etype.startsWith('key')) { if ((typeof(ev.offsetX) !== 'undefined') && (typeof(ev.offsetY) !== 'undefined')) { this.offsetX = ev.offsetX; this.offsetY = ev.offsetY; } else if (this.target && (this.target.nodeType !== 3) && (typeof(ev.clientX) === 'number')) { var loc = Sys.UI.DomElement.getLocation(this.target); var w = Sys.UI.DomElement._getWindow(this.target); this.offsetX = (w.pageXOffset || 0) + ev.clientX - loc.x; this.offsetY = (w.pageYOffset || 0) + ev.clientY - loc.y; } } this.screenX = ev.screenX; this.screenY = ev.screenY; this.shiftKey = ev.shiftKey; } function Sys$UI$DomEvent$preventDefault() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (this.rawEvent.preventDefault) { this.rawEvent.preventDefault(); } else if (window.event) { this.rawEvent.returnValue = false; } } function Sys$UI$DomEvent$stopPropagation() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (this.rawEvent.stopPropagation) { this.rawEvent.stopPropagation(); } else if (window.event) { this.rawEvent.cancelBubble = true; } } Sys.UI.DomEvent.prototype = { preventDefault: Sys$UI$DomEvent$preventDefault, stopPropagation: Sys$UI$DomEvent$stopPropagation } Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler, autoRemove) { /// /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element"}, {name: "eventName", type: String}, {name: "handler", type: Function}, {name: "autoRemove", type: Boolean, optional: true} ]); if (e) throw e; Sys.UI.DomEvent._ensureDomNode(element); if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); if (!element._events) { element._events = {}; } var eventCache = element._events[eventName]; if (!eventCache) { element._events[eventName] = eventCache = []; } var browserHandler; if (element.addEventListener) { browserHandler = function(e) { return handler.call(element, new Sys.UI.DomEvent(e)); } element.addEventListener(eventName, browserHandler, false); } else if (element.attachEvent) { browserHandler = function() { var e = {}; try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} return handler.call(element, new Sys.UI.DomEvent(e)); } element.attachEvent('on' + eventName, browserHandler); } eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler, autoRemove: autoRemove }; if (autoRemove) { var d = element.dispose; if (d !== Sys.UI.DomEvent._disposeHandlers) { element.dispose = Sys.UI.DomEvent._disposeHandlers; if (typeof(d) !== "undefined") { element._chainDispose = d; } } } } var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner, autoRemove) { /// /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element"}, {name: "events", type: Object}, {name: "handlerOwner", optional: true}, {name: "autoRemove", type: Boolean, optional: true} ]); if (e) throw e; Sys.UI.DomEvent._ensureDomNode(element); for (var name in events) { var handler = events[name]; if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); if (handlerOwner) { handler = Function.createDelegate(handlerOwner, handler); } $addHandler(element, name, handler, autoRemove || false); } } var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { /// /// var e = Function._validateParams(arguments, [ {name: "element"} ]); if (e) throw e; Sys.UI.DomEvent._ensureDomNode(element); Sys.UI.DomEvent._clearHandlers(element, false); } Sys.UI.DomEvent._clearHandlers = function Sys$UI$DomEvent$_clearHandlers(element, autoRemoving) { if (element._events) { var cache = element._events; for (var name in cache) { var handlers = cache[name]; for (var i = handlers.length - 1; i >= 0; i--) { var entry = handlers[i]; if (!autoRemoving || entry.autoRemove) { $removeHandler(element, name, entry.handler); } } } element._events = null; } } Sys.UI.DomEvent._disposeHandlers = function Sys$UI$DomEvent$_disposeHandlers() { Sys.UI.DomEvent._clearHandlers(this, true); var d = this._chainDispose, type = typeof(d); if (type !== "undefined") { this.dispose = d; this._chainDispose = null; if (type === "function") { this.dispose(); } } } var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element"}, {name: "eventName", type: String}, {name: "handler", type: Function} ]); if (e) throw e; Sys.UI.DomEvent._removeHandler(element, eventName, handler); } Sys.UI.DomEvent._removeHandler = function Sys$UI$DomEvent$_removeHandler(element, eventName, handler) { Sys.UI.DomEvent._ensureDomNode(element); var browserHandler = null; if ((typeof(element._events) !== 'object') || !element._events) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); var cache = element._events[eventName]; if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); for (var i = 0, l = cache.length; i < l; i++) { if (cache[i].handler === handler) { browserHandler = cache[i].browserHandler; break; } } if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); if (element.removeEventListener) { element.removeEventListener(eventName, browserHandler, false); } else if (element.detachEvent) { element.detachEvent('on' + eventName, browserHandler); } cache.splice(i, 1); } Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; var doc = element.ownerDocument || element.document || element; if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { throw Error.argument("element", Sys.Res.argumentDomNode); } } Sys.UI.DomElement = function Sys$UI$DomElement() { /// if (arguments.length !== 0) throw Error.parameterCount(); throw Error.notImplemented(); } Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "className", type: String} ]); if (e) throw e; if (!Sys.UI.DomElement.containsCssClass(element, className)) { if (element.className === '') { element.className = className; } else { element.className += ' ' + className; } } } Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "className", type: String} ]); if (e) throw e; return Array.contains(element.className.split(' '), className); } Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; var offset = Sys.UI.DomElement.getLocation(element); return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); } var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "id", type: String}, {name: "element", mayBeNull: true, domElement: true, optional: true} ]); if (e) throw e; if (!element) return document.getElementById(id); if (element.getElementById) return element.getElementById(id); var nodeQueue = []; var childNodes = element.childNodes; for (var i = 0; i < childNodes.length; i++) { var node = childNodes[i]; if (node.nodeType == 1) { nodeQueue[nodeQueue.length] = node; } } while (nodeQueue.length) { node = nodeQueue.shift(); if (node.id == id) { return node; } childNodes = node.childNodes; for (i = 0; i < childNodes.length; i++) { node = childNodes[i]; if (node.nodeType == 1) { nodeQueue[nodeQueue.length] = node; } } } return null; } if (document.documentElement.getBoundingClientRect) { Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; if (element.self || element.nodeType === 9 || (element === document.documentElement) || (element.parentNode === element.ownerDocument.documentElement)) { return new Sys.UI.Point(0, 0); } var clientRect = element.getBoundingClientRect(); if (!clientRect) { return new Sys.UI.Point(0,0); } var documentElement = element.ownerDocument.documentElement; var bodyElement = element.ownerDocument.body; var ex, offsetX = Math.round(clientRect.left) + (documentElement.scrollLeft || bodyElement.scrollLeft), offsetY = Math.round(clientRect.top) + (documentElement.scrollTop || bodyElement.scrollTop); if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { try { var f = element.ownerDocument.parentWindow.frameElement || null; if (f) { var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; offsetX += offset; offsetY += offset; } } catch(ex) { } if (Sys.Browser.version === 7 && !document.documentMode) { var body = document.body, rect = body.getBoundingClientRect(), zoom = (rect.right-rect.left) / body.clientWidth; zoom = Math.round(zoom * 100); zoom = (zoom - zoom % 5) / 100; if (!isNaN(zoom) && (zoom !== 1)) { offsetX = Math.round(offsetX / zoom); offsetY = Math.round(offsetY / zoom); } } if ((document.documentMode || 0) < 8) { offsetX -= documentElement.clientLeft; offsetY -= documentElement.clientTop; } } return new Sys.UI.Point(offsetX, offsetY); } } else if (Sys.Browser.agent === Sys.Browser.Safari) { Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); var offsetX = 0, offsetY = 0, parent, previous = null, previousStyle = null, currentStyle; for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; if ((parent.offsetLeft || parent.offsetTop) && ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { offsetX += parent.offsetLeft; offsetY += parent.offsetTop; } if (previous && Sys.Browser.version >= 3) { offsetX += parseInt(currentStyle.borderLeftWidth); offsetY += parseInt(currentStyle.borderTopWidth); } } currentStyle = Sys.UI.DomElement._getCurrentStyle(element); var elementPosition = currentStyle ? currentStyle.position : null; if (!elementPosition || (elementPosition !== "absolute")) { for (parent = element.parentNode; parent; parent = parent.parentNode) { tagName = parent.tagName ? parent.tagName.toUpperCase() : null; if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { offsetX -= (parent.scrollLeft || 0); offsetY -= (parent.scrollTop || 0); } currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); var parentPosition = currentStyle ? currentStyle.position : null; if (parentPosition && (parentPosition === "absolute")) break; } } return new Sys.UI.Point(offsetX, offsetY); } } else { Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); var offsetX = 0, offsetY = 0, parent, previous = null, previousStyle = null, currentStyle = null; for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); if ((parent.offsetLeft || parent.offsetTop) && !((tagName === "BODY") && (!previousStyle || previousStyle.position !== "absolute"))) { offsetX += parent.offsetLeft; offsetY += parent.offsetTop; } if (previous !== null && currentStyle) { if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { offsetX += parseInt(currentStyle.borderLeftWidth) || 0; offsetY += parseInt(currentStyle.borderTopWidth) || 0; } if (tagName === "TABLE" && (currentStyle.position === "relative" || currentStyle.position === "absolute")) { offsetX += parseInt(currentStyle.marginLeft) || 0; offsetY += parseInt(currentStyle.marginTop) || 0; } } } currentStyle = Sys.UI.DomElement._getCurrentStyle(element); var elementPosition = currentStyle ? currentStyle.position : null; if (!elementPosition || (elementPosition !== "absolute")) { for (parent = element.parentNode; parent; parent = parent.parentNode) { tagName = parent.tagName ? parent.tagName.toUpperCase() : null; if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { offsetX -= (parent.scrollLeft || 0); offsetY -= (parent.scrollTop || 0); currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); if (currentStyle) { offsetX += parseInt(currentStyle.borderLeftWidth) || 0; offsetY += parseInt(currentStyle.borderTopWidth) || 0; } } } } return new Sys.UI.Point(offsetX, offsetY); } } Sys.UI.DomElement.isDomElement = function Sys$UI$DomElement$isDomElement(obj) { /// /// /// var e = Function._validateParams(arguments, [ {name: "obj"} ]); if (e) throw e; return Sys._isDomElement(obj); } Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "className", type: String} ]); if (e) throw e; var currentClassName = ' ' + element.className + ' '; var index = currentClassName.indexOf(' ' + className + ' '); if (index >= 0) { element.className = (currentClassName.substr(0, index) + ' ' + currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); } } Sys.UI.DomElement.resolveElement = function Sys$UI$DomElement$resolveElement(elementOrElementId, containerElement) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "elementOrElementId", mayBeNull: true}, {name: "containerElement", mayBeNull: true, domElement: true, optional: true} ]); if (e) throw e; var el = elementOrElementId; if (!el) return null; if (typeof(el) === "string") { el = Sys.UI.DomElement.getElementById(el, containerElement); if (!el) { throw Error.argument("elementOrElementId", String.format(Sys.Res.elementNotFound, elementOrElementId)); } } else if(!Sys.UI.DomElement.isDomElement(el)) { throw Error.argument("elementOrElementId", Sys.Res.expectedElementOrId); } return el; } Sys.UI.DomElement.raiseBubbleEvent = function Sys$UI$DomElement$raiseBubbleEvent(source, args) { /// /// /// var e = Function._validateParams(arguments, [ {name: "source", domElement: true}, {name: "args", type: Sys.EventArgs} ]); if (e) throw e; var target = source; while (target) { var control = target.control; if (control && control.onBubbleEvent && control.raiseBubbleEvent) { Sys.UI.DomElement._raiseBubbleEventFromControl(control, source, args); return; } target = target.parentNode; } } Sys.UI.DomElement._raiseBubbleEventFromControl = function Sys$UI$DomElement$_raiseBubbleEventFromControl(control, source, args) { if (!control.onBubbleEvent(source, args)) { control._raiseBubbleEvent(source, args); } } Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "x", type: Number, integer: true}, {name: "y", type: Number, integer: true} ]); if (e) throw e; var style = element.style; style.position = 'absolute'; style.left = x + "px"; style.top = y + "px"; } Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "className", type: String} ]); if (e) throw e; if (Sys.UI.DomElement.containsCssClass(element, className)) { Sys.UI.DomElement.removeCssClass(element, className); } else { Sys.UI.DomElement.addCssClass(element, className); } } Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? Sys.UI.VisibilityMode.hide : Sys.UI.VisibilityMode.collapse; } Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "value", type: Sys.UI.VisibilityMode} ]); if (e) throw e; Sys.UI.DomElement._ensureOldDisplayMode(element); if (element._visibilityMode !== value) { element._visibilityMode = value; if (Sys.UI.DomElement.getVisible(element) === false) { if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { element.style.display = element._oldDisplayMode; } else { element.style.display = 'none'; } } element._visibilityMode = value; } } Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); if (!style) return true; return (style.visibility !== 'hidden') && (style.display !== 'none'); } Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "value", type: Boolean} ]); if (e) throw e; if (value !== Sys.UI.DomElement.getVisible(element)) { Sys.UI.DomElement._ensureOldDisplayMode(element); element.style.visibility = value ? 'visible' : 'hidden'; if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { element.style.display = element._oldDisplayMode; } else { element.style.display = 'none'; } } } Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { if (!element._oldDisplayMode) { var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); element._oldDisplayMode = style ? style.display : null; if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { switch(element.tagName.toUpperCase()) { case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': case 'TH': case 'TR': case 'UL': element._oldDisplayMode = 'block'; break; case 'LI': element._oldDisplayMode = 'list-item'; break; default: element._oldDisplayMode = 'inline'; } } } } Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { var doc = element.ownerDocument || element.document || element; return doc.defaultView || doc.parentWindow; } Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { if (element.nodeType === 3) return null; var w = Sys.UI.DomElement._getWindow(element); if (element.documentElement) element = element.documentElement; var computedStyle = (w && (element !== w) && w.getComputedStyle) ? w.getComputedStyle(element, null) : element.currentStyle || element.style; if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { var oldDisplay = element.style.display; var oldPosition = element.style.position; element.style.position = 'absolute'; element.style.display = 'block'; var style = w.getComputedStyle(element, null); element.style.display = oldDisplay; element.style.position = oldPosition; computedStyle = {}; for (var n in style) { computedStyle[n] = style[n]; } computedStyle.display = 'none'; } return computedStyle; } Sys.IContainer = function Sys$IContainer() { throw Error.notImplemented(); } function Sys$IContainer$addComponent(component) { /// /// var e = Function._validateParams(arguments, [ {name: "component", type: Sys.Component} ]); if (e) throw e; throw Error.notImplemented(); } function Sys$IContainer$removeComponent(component) { /// /// var e = Function._validateParams(arguments, [ {name: "component", type: Sys.Component} ]); if (e) throw e; throw Error.notImplemented(); } function Sys$IContainer$findComponent(id) { /// /// /// var e = Function._validateParams(arguments, [ {name: "id", type: String} ]); if (e) throw e; throw Error.notImplemented(); } function Sys$IContainer$getComponents() { /// /// if (arguments.length !== 0) throw Error.parameterCount(); throw Error.notImplemented(); } Sys.IContainer.prototype = { addComponent: Sys$IContainer$addComponent, removeComponent: Sys$IContainer$removeComponent, findComponent: Sys$IContainer$findComponent, getComponents: Sys$IContainer$getComponents } Sys.IContainer.registerInterface("Sys.IContainer"); Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { /// /// /// var e = Function._validateParams(arguments, [ {name: "components", type: Array, elementType: Sys.Component}, {name: "isPartialLoad", type: Boolean} ]); if (e) throw e; Sys.ApplicationLoadEventArgs.initializeBase(this); this._components = components; this._isPartialLoad = isPartialLoad; } function Sys$ApplicationLoadEventArgs$get_components() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._components; } function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._isPartialLoad; } Sys.ApplicationLoadEventArgs.prototype = { get_components: Sys$ApplicationLoadEventArgs$get_components, get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad } Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); Sys._Application = function Sys$_Application() { /// if (arguments.length !== 0) throw Error.parameterCount(); Sys._Application.initializeBase(this); this._disposableObjects = []; this._components = {}; this._createdComponents = []; this._secondPassComponents = []; this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); this._domReady(); } function Sys$_Application$get_isCreatingComponents() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._creatingComponents; } function Sys$_Application$get_isDisposing() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._disposing; } function Sys$_Application$add_init(handler) { /// var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; if (this._initialized) { handler(this, Sys.EventArgs.Empty); } else { this.get_events().addHandler("init", handler); } } function Sys$_Application$remove_init(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().removeHandler("init", handler); } function Sys$_Application$add_load(handler) { /// var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().addHandler("load", handler); } function Sys$_Application$remove_load(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().removeHandler("load", handler); } function Sys$_Application$add_unload(handler) { /// var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().addHandler("unload", handler); } function Sys$_Application$remove_unload(handler) { var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); if (e) throw e; this.get_events().removeHandler("unload", handler); } function Sys$_Application$addComponent(component) { /// /// var e = Function._validateParams(arguments, [ {name: "component", type: Sys.Component} ]); if (e) throw e; var id = component.get_id(); if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); this._components[id] = component; } function Sys$_Application$beginCreateComponents() { /// if (arguments.length !== 0) throw Error.parameterCount(); this._creatingComponents = true; } function Sys$_Application$dispose() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (!this._disposing) { this._disposing = true; if (this._timerCookie) { window.clearTimeout(this._timerCookie); delete this._timerCookie; } if (this._endRequestHandler) { Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); delete this._endRequestHandler; } if (this._beginRequestHandler) { Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); delete this._beginRequestHandler; } if (window.pageUnload) { window.pageUnload(this, Sys.EventArgs.Empty); } var unloadHandler = this.get_events().getHandler("unload"); if (unloadHandler) { unloadHandler(this, Sys.EventArgs.Empty); } var disposableObjects = Array.clone(this._disposableObjects); for (var i = 0, l = disposableObjects.length; i < l; i++) { var object = disposableObjects[i]; if (typeof(object) !== "undefined") { object.dispose(); } } Array.clear(this._disposableObjects); Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); if (Sys._ScriptLoader) { var sl = Sys._ScriptLoader.getInstance(); if(sl) { sl.dispose(); } } Sys._Application.callBaseMethod(this, 'dispose'); } } function Sys$_Application$disposeElement(element, childNodesOnly) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element"}, {name: "childNodesOnly", type: Boolean} ]); if (e) throw e; if (element.nodeType === 1) { var i, allElements = element.getElementsByTagName("*"), length = allElements.length, children = new Array(length); for (i = 0; i < length; i++) { children[i] = allElements[i]; } for (i = length - 1; i >= 0; i--) { var child = children[i]; var d = child.dispose; if (d && typeof(d) === "function") { child.dispose(); } else { var c = child.control; if (c && typeof(c.dispose) === "function") { c.dispose(); } } var list = child._behaviors; if (list) { this._disposeComponents(list); } list = child._components; if (list) { this._disposeComponents(list); child._components = null; } } if (!childNodesOnly) { var d = element.dispose; if (d && typeof(d) === "function") { element.dispose(); } else { var c = element.control; if (c && typeof(c.dispose) === "function") { c.dispose(); } } var list = element._behaviors; if (list) { this._disposeComponents(list); } list = element._components; if (list) { this._disposeComponents(list); element._components = null; } } } } function Sys$_Application$endCreateComponents() { /// if (arguments.length !== 0) throw Error.parameterCount(); var components = this._secondPassComponents; for (var i = 0, l = components.length; i < l; i++) { var component = components[i].component; Sys$Component$_setReferences(component, components[i].references); component.endUpdate(); } this._secondPassComponents = []; this._creatingComponents = false; } function Sys$_Application$findComponent(id, parent) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "id", type: String}, {name: "parent", mayBeNull: true, optional: true} ]); if (e) throw e; return (parent ? ((Sys.IContainer.isInstanceOfType(parent)) ? parent.findComponent(id) : parent[id] || null) : Sys.Application._components[id] || null); } function Sys$_Application$getComponents() { /// /// if (arguments.length !== 0) throw Error.parameterCount(); var res = []; var components = this._components; for (var name in components) { res[res.length] = components[name]; } return res; } function Sys$_Application$initialize() { /// if (arguments.length !== 0) throw Error.parameterCount(); if(!this.get_isInitialized() && !this._disposing) { Sys._Application.callBaseMethod(this, 'initialize'); this._raiseInit(); if (this.get_stateString) { if (Sys.WebForms && Sys.WebForms.PageRequestManager) { this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); } var loadedEntry = this.get_stateString(); if (loadedEntry !== this._currentEntry) { this._navigate(loadedEntry); } else { this._ensureHistory(); } } this.raiseLoad(); } } function Sys$_Application$notifyScriptLoaded() { /// if (arguments.length !== 0) throw Error.parameterCount(); } function Sys$_Application$registerDisposableObject(object) { /// /// var e = Function._validateParams(arguments, [ {name: "object", type: Sys.IDisposable} ]); if (e) throw e; if (!this._disposing) { var objects = this._disposableObjects, i = objects.length; objects[i] = object; object.__msdisposeindex = i; } } function Sys$_Application$raiseLoad() { /// if (arguments.length !== 0) throw Error.parameterCount(); var h = this.get_events().getHandler("load"); var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !!this._loaded); this._loaded = true; if (h) { h(this, args); } if (window.pageLoad) { window.pageLoad(this, args); } this._createdComponents = []; } function Sys$_Application$removeComponent(component) { /// /// var e = Function._validateParams(arguments, [ {name: "component", type: Sys.Component} ]); if (e) throw e; var id = component.get_id(); if (id) delete this._components[id]; } function Sys$_Application$unregisterDisposableObject(object) { /// /// var e = Function._validateParams(arguments, [ {name: "object", type: Sys.IDisposable} ]); if (e) throw e; if (!this._disposing) { var i = object.__msdisposeindex; if (typeof(i) === "number") { var disposableObjects = this._disposableObjects; delete disposableObjects[i]; delete object.__msdisposeindex; if (++this._deleteCount > 1000) { var newArray = []; for (var j = 0, l = disposableObjects.length; j < l; j++) { object = disposableObjects[j]; if (typeof(object) !== "undefined") { object.__msdisposeindex = newArray.length; newArray.push(object); } } this._disposableObjects = newArray; this._deleteCount = 0; } } } } function Sys$_Application$_addComponentToSecondPass(component, references) { this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references}; } function Sys$_Application$_disposeComponents(list) { if (list) { for (var i = list.length - 1; i >= 0; i--) { var item = list[i]; if (typeof(item.dispose) === "function") { item.dispose(); } } } } function Sys$_Application$_domReady() { var check, er, app = this; function init() { app.initialize(); } var onload = function() { Sys.UI.DomEvent.removeHandler(window, "load", onload); init(); } Sys.UI.DomEvent.addHandler(window, "load", onload); if (document.addEventListener) { try { document.addEventListener("DOMContentLoaded", check = function() { document.removeEventListener("DOMContentLoaded", check, false); init(); }, false); } catch (er) { } } else if (document.attachEvent) { if ((window == window.top) && document.documentElement.doScroll) { var timeout, el = document.createElement("div"); check = function() { try { el.doScroll("left"); } catch (er) { timeout = window.setTimeout(check, 0); return; } el = null; init(); } check(); } else { document.attachEvent("onreadystatechange", check = function() { if (document.readyState === "complete") { document.detachEvent("onreadystatechange", check); init(); } }); } } } function Sys$_Application$_raiseInit() { var handler = this.get_events().getHandler("init"); if (handler) { this.beginCreateComponents(); handler(this, Sys.EventArgs.Empty); this.endCreateComponents(); } } function Sys$_Application$_unloadHandler(event) { this.dispose(); } Sys._Application.prototype = { _creatingComponents: false, _disposing: false, _deleteCount: 0, get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, get_isDisposing: Sys$_Application$get_isDisposing, add_init: Sys$_Application$add_init, remove_init: Sys$_Application$remove_init, add_load: Sys$_Application$add_load, remove_load: Sys$_Application$remove_load, add_unload: Sys$_Application$add_unload, remove_unload: Sys$_Application$remove_unload, addComponent: Sys$_Application$addComponent, beginCreateComponents: Sys$_Application$beginCreateComponents, dispose: Sys$_Application$dispose, disposeElement: Sys$_Application$disposeElement, endCreateComponents: Sys$_Application$endCreateComponents, findComponent: Sys$_Application$findComponent, getComponents: Sys$_Application$getComponents, initialize: Sys$_Application$initialize, notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, registerDisposableObject: Sys$_Application$registerDisposableObject, raiseLoad: Sys$_Application$raiseLoad, removeComponent: Sys$_Application$removeComponent, unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, _disposeComponents: Sys$_Application$_disposeComponents, _domReady: Sys$_Application$_domReady, _raiseInit: Sys$_Application$_raiseInit, _unloadHandler: Sys$_Application$_unloadHandler } Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); Sys.Application = new Sys._Application(); var $find = Sys.Application.findComponent; Sys.UI.Behavior = function Sys$UI$Behavior(element) { /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; Sys.UI.Behavior.initializeBase(this); this._element = element; var behaviors = element._behaviors; if (!behaviors) { element._behaviors = [this]; } else { behaviors[behaviors.length] = this; } } function Sys$UI$Behavior$get_element() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._element; } function Sys$UI$Behavior$get_id() { /// if (arguments.length !== 0) throw Error.parameterCount(); var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); if (baseId) return baseId; if (!this._element || !this._element.id) return ''; return this._element.id + '$' + this.get_name(); } function Sys$UI$Behavior$get_name() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (this._name) return this._name; var name = Object.getTypeName(this); var i = name.lastIndexOf('.'); if (i !== -1) name = name.substr(i + 1); if (!this.get_isInitialized()) this._name = name; return name; } function Sys$UI$Behavior$set_name(value) { var e = Function._validateParams(arguments, [{name: "value", type: String}]); if (e) throw e; if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) throw Error.argument('value', Sys.Res.invalidId); if (typeof(this._element[value]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); this._name = value; } function Sys$UI$Behavior$initialize() { Sys.UI.Behavior.callBaseMethod(this, 'initialize'); var name = this.get_name(); if (name) this._element[name] = this; } function Sys$UI$Behavior$dispose() { Sys.UI.Behavior.callBaseMethod(this, 'dispose'); var e = this._element; if (e) { var name = this.get_name(); if (name) { e[name] = null; } var behaviors = e._behaviors; Array.remove(behaviors, this); if (behaviors.length === 0) { e._behaviors = null; } delete this._element; } } Sys.UI.Behavior.prototype = { _name: null, get_element: Sys$UI$Behavior$get_element, get_id: Sys$UI$Behavior$get_id, get_name: Sys$UI$Behavior$get_name, set_name: Sys$UI$Behavior$set_name, initialize: Sys$UI$Behavior$initialize, dispose: Sys$UI$Behavior$dispose } Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "name", type: String} ]); if (e) throw e; var b = element[name]; return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; } Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; if (!element._behaviors) return []; return Array.clone(element._behaviors); } Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true}, {name: "type", type: Type} ]); if (e) throw e; var behaviors = element._behaviors; var results = []; if (behaviors) { for (var i = 0, l = behaviors.length; i < l; i++) { if (type.isInstanceOfType(behaviors[i])) { results[results.length] = behaviors[i]; } } } return results; } Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { /// /// /// if (arguments.length !== 0) throw Error.parameterCount(); throw Error.notImplemented(); } Sys.UI.VisibilityMode.prototype = { hide: 0, collapse: 1 } Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); Sys.UI.Control = function Sys$UI$Control(element) { /// /// var e = Function._validateParams(arguments, [ {name: "element", domElement: true} ]); if (e) throw e; if (element.control !== null && typeof(element.control) !== 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined); Sys.UI.Control.initializeBase(this); this._element = element; element.control = this; var role = this.get_role(); if (role) { element.setAttribute("role", role); } } function Sys$UI$Control$get_element() { /// if (arguments.length !== 0) throw Error.parameterCount(); return this._element; } function Sys$UI$Control$get_id() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (!this._element) return ''; return this._element.id; } function Sys$UI$Control$set_id(value) { var e = Function._validateParams(arguments, [{name: "value", type: String}]); if (e) throw e; throw Error.invalidOperation(Sys.Res.cantSetId); } function Sys$UI$Control$get_parent() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (this._parent) return this._parent; if (!this._element) return null; var parentElement = this._element.parentNode; while (parentElement) { if (parentElement.control) { return parentElement.control; } parentElement = parentElement.parentNode; } return null; } function Sys$UI$Control$set_parent(value) { var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); if (e) throw e; if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); var parents = [this]; var current = value; while (current) { if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); parents[parents.length] = current; current = current.get_parent(); } this._parent = value; } function Sys$UI$Control$get_role() { /// if (arguments.length !== 0) throw Error.parameterCount(); return null; } function Sys$UI$Control$get_visibilityMode() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); return Sys.UI.DomElement.getVisibilityMode(this._element); } function Sys$UI$Control$set_visibilityMode(value) { var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); if (e) throw e; if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); Sys.UI.DomElement.setVisibilityMode(this._element, value); } function Sys$UI$Control$get_visible() { /// if (arguments.length !== 0) throw Error.parameterCount(); if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); return Sys.UI.DomElement.getVisible(this._element); } function Sys$UI$Control$set_visible(value) { var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); if (e) throw e; if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); Sys.UI.DomElement.setVisible(this._element, value) } function Sys$UI$Control$addCssClass(className) { /// /// var e = Function._validateParams(arguments, [ {name: "className", type: String} ]); if (e) throw e; if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); Sys.UI.DomElement.addCssClass(this._element, className); } function Sys$UI$Control$dispose() { Sys.UI.Control.callBaseMethod(this, 'dispose'); if (this._element) { this._element.control = null; delete this._element; } if (this._parent) delete this._parent; } function Sys$UI$Control$onBubbleEvent(source, args) { /// /// /// /// var e = Function._validateParams(arguments, [ {name: "source"}, {name: "args", type: Sys.EventArgs} ]); if (e) throw e; return false; } function Sys$UI$Control$raiseBubbleEvent(source, args) { /// /// /// var e = Function._validateParams(arguments, [ {name: "source"}, {name: "args", type: Sys.EventArgs} ]); if (e) throw e; this._raiseBubbleEvent(source, args); } function Sys$UI$Control$_raiseBubbleEvent(source, args) { var currentTarget = this.get_parent(); while (currentTarget) { if (currentTarget.onBubbleEvent(source, args)) { return; } currentTarget = currentTarget.get_parent(); } } function Sys$UI$Control$removeCssClass(className) { /// /// var e = Function._validateParams(arguments, [ {name: "className", type: String} ]); if (e) throw e; if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); Sys.UI.DomElement.removeCssClass(this._element, className); } function Sys$UI$Control$toggleCssClass(className) { /// /// var e = Function._validateParams(arguments, [ {name: "className", type: String} ]); if (e) throw e; if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); Sys.UI.DomElement.toggleCssClass(this._element, className); } Sys.UI.Control.prototype = { _parent: null, _visibilityMode: Sys.UI.VisibilityMode.hide, get_element: Sys$UI$Control$get_element, get_id: Sys$UI$Control$get_id, set_id: Sys$UI$Control$set_id, get_parent: Sys$UI$Control$get_parent, set_parent: Sys$UI$Control$set_parent, get_role: Sys$UI$Control$get_role, get_visibilityMode: Sys$UI$Control$get_visibilityMode, set_visibilityMode: Sys$UI$Control$set_visibilityMode, get_visible: Sys$UI$Control$get_visible, set_visible: Sys$UI$Control$set_visible, addCssClass: Sys$UI$Control$addCssClass, dispose: Sys$UI$Control$dispose, onBubbleEvent: Sys$UI$Control$onBubbleEvent, raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, _raiseBubbleEvent: Sys$UI$Control$_raiseBubbleEvent, removeCssClass: Sys$UI$Control$removeCssClass, toggleCssClass: Sys$UI$Control$toggleCssClass } Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);