Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1210
URGENT
posted

I have a web app that worked but after I upgraded to Windows 8 at some point this error is happening. I don't think it is Windows 8 but something to do with AJAX. When I start the app, this error errors about 10 times and then the page displays but the Menu at the top does not display. If I click on anything then the same error appears about a dozen times. Not sure what is going on.

 

JavaScript runtime error: Sys.ArgumentOutOfRangeException: Value must be an integer. Parameter name: x Actual value was -9999.8955078125.

Parents Reply
  • 1210
    posted in reply to ross

    JavaScript runtime error: Sys.ArgumentOutOfRangeException: Value must be an integer. Parameter name: x Actual value was -9999.8955078125.

    // Name:        MicrosoftAjax.debug.js // Assembly:    System.Web.Extensions // Version:     3.5.0.0 // FileVersion: 3.5.30729.6387 //----------------------------------------------------------------------- // Copyright (C) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------- // MicrosoftAjax.js // Microsoft AJAX Framework.   Function.__typeName = 'Function'; Function.__class = true; Function.createCallback = function Function$createCallback(method, context) {     /// <summary locid="M:J#Function.createCallback" />     /// <param name="method" type="Function"></param>     /// <param name="context" mayBeNull="true"></param>     /// <returns type="Function"></returns>     var e = Function._validateParams(arguments, [         {name: "method", type: Function},         {name: "context", mayBeNull: true}     ]);     if (e) throw e;     return function() {         var l = arguments.length;         if (l > 0) {             var args = [];             for (var i = 0; i < l; i++) {                 args[i] = arguments[i];             }             args[l] = context;             return method.apply(this, args);         }         return method.call(this, context);     } } Function.createDelegate = function Function$createDelegate(instance, method) {     /// <summary locid="M:J#Function.createDelegate" />     /// <param name="instance" mayBeNull="true"></param>     /// <param name="method" type="Function"></param>     /// <returns type="Function"></returns>     var e = Function._validateParams(arguments, [         {name: "instance", mayBeNull: true},         {name: "method", type: Function}     ]);     if (e) throw e;     return function() {         return method.apply(instance, arguments);     } } Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() {     /// <summary locid="M:J#Function.emptyMethod" />     if (arguments.length !== 0) throw Error.parameterCount(); } Function._validateParams = function Function$_validateParams(params, expectedParams) {     var e;     e = Function._validateParameterCount(params, expectedParams);     if (e) {         e.popStackFrame();         return e;     }     for (var i=0; i < params.length; i++) {         var expectedParam = expectedParams[Math.min(i, expectedParams.length - 1)];         var paramName = expectedParam.name;         if (expectedParam.parameterArray) {             paramName += "[" + (i - expectedParams.length + 1) + "]";         }         e = Function._validateParameter(params[i], expectedParam, paramName);         if (e) {             e.popStackFrame();             return e;         }     }     return null; } Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams) {     var maxParams = expectedParams.length;     var minParams = 0;     for (var i=0; i < expectedParams.length; i++) {         if (expectedParams[i].parameterArray) {             maxParams = Number.MAX_VALUE;         }         else if (!expectedParams[i].optional) {             minParams++;         }     }     if (params.length < minParams || params.length > maxParams) {         var e = Error.parameterCount();         e.popStackFrame();         return e;     }     return null; } Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) {     var e;     var expectedType = expectedParam.type;     var expectedInteger = !!expectedParam.integer;     var expectedDomElement = !!expectedParam.domElement;     var mayBeNull = !!expectedParam.mayBeNull;     e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName);     if (e) {         e.popStackFrame();         return e;     }     var expectedElementType = expectedParam.elementType;     var elementMayBeNull = !!expectedParam.elementMayBeNull;     if (expectedType === Array && typeof(param) !== "undefined" && param !== null &&         (expectedElementType || !elementMayBeNull)) {         var expectedElementInteger = !!expectedParam.elementInteger;         var expectedElementDomElement = !!expectedParam.elementDomElement;         for (var i=0; i < param.length; i++) {             var elem = param[i];             e = Function._validateParameterType(elem, expectedElementType,                 expectedElementInteger, expectedElementDomElement, elementMayBeNull,                 paramName + "[" + i + "]");             if (e) {                 e.popStackFrame();                 return e;             }         }     }     return null; } Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) {     var e;     if (typeof(param) === "undefined") {         if (mayBeNull) {             return null;         }         else {             e = Error.argumentUndefined(paramName);             e.popStackFrame();             return e;         }     }     if (param === null) {         if (mayBeNull) {             return null;         }         else {             e = Error.argumentNull(paramName);             e.popStackFrame();             return e;         }     }     if (expectedType && expectedType.__enum) {         if (typeof(param) !== 'number') {             e = Error.argumentType(paramName, Object.getType(param), expectedType);             e.popStackFrame();             return e;         }         if ((param % 1) === 0) {             var values = expectedType.prototype;             if (!expectedType.__flags || (param === 0)) {                 for (var i in values) {                     if (values[i] === param) return null;                 }             }             else {                 var v = param;                 for (var i in values) {                     var vali = values[i];                     if (vali === 0) continue;                     if ((vali & param) === vali) {                         v -= vali;                     }                     if (v === 0) return null;                 }             }         }         e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));         e.popStackFrame();         return e;     }     if (expectedDomElement) {         var val;         if (typeof(param.nodeType) !== 'number') {             var doc = param.ownerDocument || param.document || param;             if (doc != param) {                 var w = doc.defaultView || doc.parentWindow;                 val = (w != param) && !(w.document && param.document && (w.document === param.document));             }             else {                 val = (typeof(doc.body) === 'undefined');             }         }         else {             val = (param.nodeType === 3);         }         if (val) {             e = Error.argument(paramName, Sys.Res.argumentDomElement);             e.popStackFrame();             return e;         }     }     if (expectedType && !expectedType.isInstanceOfType(param)) {         e = Error.argumentType(paramName, Object.getType(param), expectedType);         e.popStackFrame();         return e;     }     if (expectedType === Number && expectedInteger) {         if ((param % 1) !== 0) {             e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger);             e.popStackFrame();             return e;         }     }     return null; }   Error.__typeName = 'Error'; Error.__class = true; Error.create = function Error$create(message, errorInfo) {     /// <summary locid="M:J#Error.create" />     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <param name="errorInfo" optional="true" mayBeNull="true"></param>     /// <returns type="Error"></returns>     var e = Function._validateParams(arguments, [         {name: "message", type: String, mayBeNull: true, optional: true},         {name: "errorInfo", mayBeNull: true, optional: true}     ]);     if (e) throw e;     var e = new Error(message);     e.message = message;     if (errorInfo) {         for (var v in errorInfo) {             e[v] = errorInfo[v];         }     }     e.popStackFrame();     return e; } Error.argument = function Error$argument(paramName, message) {     /// <summary locid="M:J#Error.argument" />     /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "paramName", type: String, mayBeNull: true, optional: true},         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument);     if (paramName) {         displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);     }     var e = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName });     e.popStackFrame();     return e; } Error.argumentNull = function Error$argumentNull(paramName, message) {     /// <summary locid="M:J#Error.argumentNull" />     /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "paramName", type: String, mayBeNull: true, optional: true},         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull);     if (paramName) {         displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);     }     var e = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName });     e.popStackFrame();     return e; } Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) {     /// <summary locid="M:J#Error.argumentOutOfRange" />     /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>     /// <param name="actualValue" optional="true" mayBeNull="true"></param>     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "paramName", type: String, mayBeNull: true, optional: true},         {name: "actualValue", mayBeNull: true, optional: true},         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange);     if (paramName) {         displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);     }     if (typeof(actualValue) !== "undefined" && actualValue !== null) {         displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue);     }     var e = Error.create(displayMessage, {         name: "Sys.ArgumentOutOfRangeException",         paramName: paramName,         actualValue: actualValue     });     e.popStackFrame();     return e; } Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) {     /// <summary locid="M:J#Error.argumentType" />     /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>     /// <param name="actualType" type="Type" optional="true" mayBeNull="true"></param>     /// <param name="expectedType" type="Type" optional="true" mayBeNull="true"></param>     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "paramName", type: String, mayBeNull: true, optional: true},         {name: "actualType", type: Type, mayBeNull: true, optional: true},         {name: "expectedType", type: Type, mayBeNull: true, optional: true},         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.ArgumentTypeException: ";     if (message) {         displayMessage += message;     }     else if (actualType && expectedType) {         displayMessage +=             String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName());     }     else {         displayMessage += Sys.Res.argumentType;     }     if (paramName) {         displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);     }     var e = Error.create(displayMessage, {         name: "Sys.ArgumentTypeException",         paramName: paramName,         actualType: actualType,         expectedType: expectedType     });     e.popStackFrame();     return e; } Error.argumentUndefined = function Error$argumentUndefined(paramName, message) {     /// <summary locid="M:J#Error.argumentUndefined" />     /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "paramName", type: String, mayBeNull: true, optional: true},         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined);     if (paramName) {         displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);     }     var e = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName });     e.popStackFrame();     return e; } Error.format = function Error$format(message) {     /// <summary locid="M:J#Error.format" />     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format);     var e = Error.create(displayMessage, {name: 'Sys.FormatException'});     e.popStackFrame();     return e; } Error.invalidOperation = function Error$invalidOperation(message) {     /// <summary locid="M:J#Error.invalidOperation" />     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation);     var e = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'});     e.popStackFrame();     return e; } Error.notImplemented = function Error$notImplemented(message) {     /// <summary locid="M:J#Error.notImplemented" />     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented);     var e = Error.create(displayMessage, {name: 'Sys.NotImplementedException'});     e.popStackFrame();     return e; } Error.parameterCount = function Error$parameterCount(message) {     /// <summary locid="M:J#Error.parameterCount" />     /// <param name="message" type="String" optional="true" mayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "message", type: String, mayBeNull: true, optional: true}     ]);     if (e) throw e;     var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount);     var e = Error.create(displayMessage, {name: 'Sys.ParameterCountException'});     e.popStackFrame();     return e; } Error.prototype.popStackFrame = function Error$popStackFrame() {     /// <summary locid="M:J#checkParam" />     if (arguments.length !== 0) throw Error.parameterCount();     if (typeof(this.stack) === "undefined" || this.stack === null ||         typeof(this.fileName) === "undefined" || this.fileName === null ||         typeof(this.lineNumber) === "undefined" || this.lineNumber === null) {         return;     }     var stackFrames = this.stack.split("\n");     var currentFrame = stackFrames[0];     var pattern = this.fileName + ":" + this.lineNumber;     while(typeof(currentFrame) !== "undefined" &&           currentFrame !== null &&           currentFrame.indexOf(pattern) === -1) {         stackFrames.shift();         currentFrame = stackFrames[0];     }     var nextFrame = stackFrames[1];     if (typeof(nextFrame) === "undefined" || nextFrame === null) {         return;     }     var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/);     if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) {         return;     }     this.fileName = nextFrameParts[1];     this.lineNumber = parseInt(nextFrameParts[2]);     stackFrames.shift();     this.stack = stackFrames.join("\n"); }   Object.__typeName = 'Object'; Object.__class = true; Object.getType = function Object$getType(instance) {     /// <summary locid="M:J#Object.getType" />     /// <param name="instance"></param>     /// <returns type="Type"></returns>     var e = Function._validateParams(arguments, [         {name: "instance"}     ]);     if (e) throw e;     var ctor = instance.constructor;     if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) {         return Object;     }     return ctor; } Object.getTypeName = function Object$getTypeName(instance) {     /// <summary locid="M:J#Object.getTypeName" />     /// <param name="instance"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "instance"}     ]);     if (e) throw e;     return Object.getType(instance).getName(); }   String.__typeName = 'String'; String.__class = true; String.prototype.endsWith = function String$endsWith(suffix) {     /// <summary locid="M:J#String.endsWith" />     /// <param name="suffix" type="String"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "suffix", type: String}     ]);     if (e) throw e;     return (this.substr(this.length - suffix.length) === suffix); } String.prototype.startsWith = function String$startsWith(prefix) {     /// <summary locid="M:J#String.startsWith" />     /// <param name="prefix" type="String"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "prefix", type: String}     ]);     if (e) throw e;     return (this.substr(0, prefix.length) === prefix); } String.prototype.trim = function String$trim() {     /// <summary locid="M:J#String.trim" />     /// <returns type="String"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     return this.replace(/^\s+|\s+$/g, ''); } String.prototype.trimEnd = function String$trimEnd() {     /// <summary locid="M:J#String.trimEnd" />     /// <returns type="String"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     return this.replace(/\s+$/, ''); } String.prototype.trimStart = function String$trimStart() {     /// <summary locid="M:J#String.trimStart" />     /// <returns type="String"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     return this.replace(/^\s+/, ''); } String.format = function String$format(format, args) {     /// <summary locid="M:J#String.format" />     /// <param name="format" type="String"></param>     /// <param name="args" parameterArray="true" mayBeNull="true"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "format", type: String},         {name: "args", mayBeNull: true, parameterArray: true}     ]);     if (e) throw e;     return String._toFormattedString(false, arguments); } String.localeFormat = function String$localeFormat(format, args) {     /// <summary locid="M:J#String.localeFormat" />     /// <param name="format" type="String"></param>     /// <param name="args" parameterArray="true" mayBeNull="true"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "format", type: String},         {name: "args", mayBeNull: true, parameterArray: true}     ]);     if (e) throw e;     return String._toFormattedString(true, arguments); } String._toFormattedString = function String$_toFormattedString(useLocale, args) {     var result = '';     var format = args[0];     for (var i=0;;) {         var open = format.indexOf('{', i);         var close = format.indexOf('}', i);         if ((open < 0) && (close < 0)) {             result += format.slice(i);             break;         }         if ((close > 0) && ((close < open) || (open < 0))) {             if (format.charAt(close + 1) !== '}') {                 throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);             }             result += format.slice(i, close + 1);             i = close + 2;             continue;         }         result += format.slice(i, open);         i = open + 1;         if (format.charAt(i) === '{') {             result += '{';             i++;             continue;         }         if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);         var brace = format.substring(i, close);         var colonIndex = brace.indexOf(':');         var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1;         if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid);         var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1);         var arg = args[argNumber];         if (typeof(arg) === "undefined" || arg === null) {             arg = '';         }         if (arg.toFormattedString) {             result += arg.toFormattedString(argFormat);         }         else if (useLocale && arg.localeFormat) {             result += arg.localeFormat(argFormat);         }         else if (arg.format) {             result += arg.format(argFormat);         }         else             result += arg.toString();         i = close + 1;     }     return result; }   Boolean.__typeName = 'Boolean'; Boolean.__class = true; Boolean.parse = function Boolean$parse(value) {     /// <summary locid="M:J#Boolean.parse" />     /// <param name="value" type="String"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String}     ]);     if (e) throw e;     var v = value.trim().toLowerCase();     if (v === 'false') return false;     if (v === 'true') return true;     throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); }   Date.__typeName = 'Date'; Date.__class = true; Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) {     var quoteCount = 0;     var escaped = false;     for (var i = 0, il = preMatch.length; i < il; i++) {         var c = preMatch.charAt(i);         switch (c) {         case '\'':             if (escaped) strBuilder.append("'");             else quoteCount++;             escaped = false;             break;         case '\\':             if (escaped) strBuilder.append("\\");             escaped = !escaped;             break;         default:             strBuilder.append(c);             escaped = false;             break;         }     }     return quoteCount; } Date._expandFormat = function Date$_expandFormat(dtf, format) {     if (!format) {         format = "F";     }     if (format.length === 1) {         switch (format) {         case "d":             return dtf.ShortDatePattern;         case "D":             return dtf.LongDatePattern;         case "t":             return dtf.ShortTimePattern;         case "T":             return dtf.LongTimePattern;         case "F":             return dtf.FullDateTimePattern;         case "M": case "m":             return dtf.MonthDayPattern;         case "s":             return dtf.SortableDateTimePattern;         case "Y": case "y":             return dtf.YearMonthPattern;         default:             throw Error.format(Sys.Res.formatInvalidString);         }     }     return format; } Date._expandYear = function Date$_expandYear(dtf, year) {     if (year < 100) {         var curr = new Date().getFullYear();         year += curr - (curr % 100);         if (year > dtf.Calendar.TwoDigitYearMax) {             return year - 100;         }     }     return year; } Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) {     if (!dtf._parseRegExp) {         dtf._parseRegExp = {};     }     else if (dtf._parseRegExp[format]) {         return dtf._parseRegExp[format];     }     var expFormat = Date._expandFormat(dtf, format);     expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1");     var regexp = new Sys.StringBuilder("^");     var groups = [];     var index = 0;     var quoteCount = 0;     var tokenRegExp = Date._getTokenRegExp();     var match;     while ((match = tokenRegExp.exec(expFormat)) !== null) {         var preMatch = expFormat.slice(index, match.index);         index = tokenRegExp.lastIndex;         quoteCount += Date._appendPreOrPostMatch(preMatch, regexp);         if ((quoteCount%2) === 1) {             regexp.append(match[0]);             continue;         }         switch (match[0]) {             case 'dddd': case 'ddd':             case 'MMMM': case 'MMM':                 regexp.append("(\\D+)");                 break;             case 'tt': case 't':                 regexp.append("(\\D*)");                 break;             case 'yyyy':                 regexp.append("(\\d{4})");                 break;             case 'fff':                 regexp.append("(\\d{3})");                 break;             case 'ff':                 regexp.append("(\\d{2})");                 break;             case 'f':                 regexp.append("(\\d)");                 break;             case 'dd': case 'd':             case 'MM': case 'M':             case 'yy': case 'y':             case 'HH': case 'H':             case 'hh': case 'h':             case 'mm': case 'm':             case 'ss': case 's':                 regexp.append("(\\d\\d?)");                 break;             case 'zzz':                 regexp.append("([+-]?\\d\\d?:\\d{2})");                 break;             case 'zz': case 'z':                 regexp.append("([+-]?\\d\\d?)");                 break;         }         Array.add(groups, match[0]);     }     Date._appendPreOrPostMatch(expFormat.slice(index), regexp);     regexp.append("$");     var regexpStr = regexp.toString().replace(/\s+/g, "\\s+");     var parseRegExp = {'regExp': regexpStr, 'groups': groups};     dtf._parseRegExp[format] = parseRegExp;     return parseRegExp; } Date._getTokenRegExp = function Date$_getTokenRegExp() {     return /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; } Date.parseLocale = function Date$parseLocale(value, formats) {     /// <summary locid="M:J#Date.parseLocale" />     /// <param name="value" type="String"></param>     /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>     /// <returns type="Date"></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String},         {name: "formats", mayBeNull: true, optional: true, parameterArray: true}     ]);     if (e) throw e;     return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); } Date.parseInvariant = function Date$parseInvariant(value, formats) {     /// <summary locid="M:J#Date.parseInvariant" />     /// <param name="value" type="String"></param>     /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>     /// <returns type="Date"></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String},         {name: "formats", mayBeNull: true, optional: true, parameterArray: true}     ]);     if (e) throw e;     return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); } Date._parse = function Date$_parse(value, cultureInfo, args) {     var custom = false;     for (var i = 1, il = args.length; i < il; i++) {         var format = args[i];         if (format) {             custom = true;             var date = Date._parseExact(value, format, cultureInfo);             if (date) return date;         }     }     if (! custom) {         var formats = cultureInfo._getDateTimeFormats();         for (var i = 0, il = formats.length; i < il; i++) {             var date = Date._parseExact(value, formats[i], cultureInfo);             if (date) return date;         }     }     return null; } Date._parseExact = function Date$_parseExact(value, format, cultureInfo) {     value = value.trim();     var dtf = cultureInfo.dateTimeFormat;     var parseInfo = Date._getParseRegExp(dtf, format);     var match = new RegExp(parseInfo.regExp).exec(value);     if (match === null) return null;         var groups = parseInfo.groups;     var year = null, month = null, date = null, weekDay = null;     var hour = 0, min = 0, sec = 0, msec = 0, tzMinOffset = null;     var pmHour = false;     for (var j = 0, jl = groups.length; j < jl; j++) {         var matchGroup = match[j+1];         if (matchGroup) {             switch (groups[j]) {                 case 'dd': case 'd':                     date = parseInt(matchGroup, 10);                     if ((date < 1) || (date > 31)) return null;                     break;                 case 'MMMM':                     month = cultureInfo._getMonthIndex(matchGroup);                     if ((month < 0) || (month > 11)) return null;                     break;                 case 'MMM':                     month = cultureInfo._getAbbrMonthIndex(matchGroup);                     if ((month < 0) || (month > 11)) return null;                     break;                 case 'M': case 'MM':                     var month = parseInt(matchGroup, 10) - 1;                     if ((month < 0) || (month > 11)) return null;                     break;                 case 'y': case 'yy':                     year = Date._expandYear(dtf,parseInt(matchGroup, 10));                     if ((year < 0) || (year > 9999)) return null;                     break;                 case 'yyyy':                     year = parseInt(matchGroup, 10);                     if ((year < 0) || (year > 9999)) return null;                     break;                 case 'h': case 'hh':                     hour = parseInt(matchGroup, 10);                     if (hour === 12) hour = 0;                     if ((hour < 0) || (hour > 11)) return null;                     break;                 case 'H': case 'HH':                     hour = parseInt(matchGroup, 10);                     if ((hour < 0) || (hour > 23)) return null;                     break;                 case 'm': case 'mm':                     min = parseInt(matchGroup, 10);                     if ((min < 0) || (min > 59)) return null;                     break;                 case 's': case 'ss':                     sec = parseInt(matchGroup, 10);                     if ((sec < 0) || (sec > 59)) return null;                     break;                 case 'tt': case 't':                     var upperToken = matchGroup.toUpperCase();                     pmHour = (upperToken === dtf.PMDesignator.toUpperCase());                     if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null;                     break;                 case 'f':                     msec = parseInt(matchGroup, 10) * 100;                     if ((msec < 0) || (msec > 999)) return null;                     break;                 case 'ff':                     msec = parseInt(matchGroup, 10) * 10;                     if ((msec < 0) || (msec > 999)) return null;                     break;                 case 'fff':                     msec = parseInt(matchGroup, 10);                     if ((msec < 0) || (msec > 999)) return null;                     break;                 case 'dddd':                     weekDay = cultureInfo._getDayIndex(matchGroup);                     if ((weekDay < 0) || (weekDay > 6)) return null;                     break;                 case 'ddd':                     weekDay = cultureInfo._getAbbrDayIndex(matchGroup);                     if ((weekDay < 0) || (weekDay > 6)) return null;                     break;                 case 'zzz':                     var offsets = matchGroup.split(/:/);                     if (offsets.length !== 2) return null;                     var hourOffset = parseInt(offsets[0], 10);                     if ((hourOffset < -12) || (hourOffset > 13)) return null;                     var minOffset = parseInt(offsets[1], 10);                     if ((minOffset < 0) || (minOffset > 59)) return null;                     tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset);                     break;                 case 'z': case 'zz':                     var hourOffset = parseInt(matchGroup, 10);                     if ((hourOffset < -12) || (hourOffset > 13)) return null;                     tzMinOffset = hourOffset * 60;                     break;             }         }     }     var result = new Date();     if (year === null) {         year = result.getFullYear();     }     if (month === null) {         month = result.getMonth();     }     if (date === null) {         date = result.getDate();     }     result.setFullYear(year, month, date);     if (result.getDate() !== date) return null;     if ((weekDay !== null) && (result.getDay() !== weekDay)) {         return null;     }     if (pmHour && (hour < 12)) {         hour += 12;     }     result.setHours(hour, min, sec, msec);     if (tzMinOffset !== null) {         var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());         result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60);     }     return result; } Date.prototype.format = function Date$format(format) {     /// <summary locid="M:J#Date.format" />     /// <param name="format" type="String"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "format", type: String}     ]);     if (e) throw e;     return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); } Date.prototype.localeFormat = function Date$localeFormat(format) {     /// <summary locid="M:J#Date.localeFormat" />     /// <param name="format" type="String"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "format", type: String}     ]);     if (e) throw e;     return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); } Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) {     if (!format || (format.length === 0) || (format === 'i')) {         if (cultureInfo && (cultureInfo.name.length > 0)) {             return this.toLocaleString();         }         else {             return this.toString();         }     }     var dtf = cultureInfo.dateTimeFormat;     format = Date._expandFormat(dtf, format);     var ret = new Sys.StringBuilder();     var hour;     function addLeadingZero(num) {         if (num < 10) {             return '0' + num;         }         return num.toString();     }     function addLeadingZeros(num) {         if (num < 10) {             return '00' + num;         }         if (num < 100) {             return '0' + num;         }         return num.toString();     }     var quoteCount = 0;     var tokenRegExp = Date._getTokenRegExp();     for (;;) {         var index = tokenRegExp.lastIndex;         var ar = tokenRegExp.exec(format);         var preMatch = format.slice(index, ar ? ar.index : format.length);         quoteCount += Date._appendPreOrPostMatch(preMatch, ret);         if (!ar) break;         if ((quoteCount%2) === 1) {             ret.append(ar[0]);             continue;         }         switch (ar[0]) {         case "dddd":             ret.append(dtf.DayNames[this.getDay()]);             break;         case "ddd":             ret.append(dtf.AbbreviatedDayNames[this.getDay()]);             break;         case "dd":             ret.append(addLeadingZero(this.getDate()));             break;         case "d":             ret.append(this.getDate());             break;         case "MMMM":             ret.append(dtf.MonthNames[this.getMonth()]);             break;         case "MMM":             ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);             break;         case "MM":             ret.append(addLeadingZero(this.getMonth() + 1));             break;         case "M":             ret.append(this.getMonth() + 1);             break;         case "yyyy":             ret.append(this.getFullYear());             break;         case "yy":             ret.append(addLeadingZero(this.getFullYear() % 100));             break;         case "y":             ret.append(this.getFullYear() % 100);             break;         case "hh":             hour = this.getHours() % 12;             if (hour === 0) hour = 12;             ret.append(addLeadingZero(hour));             break;         case "h":             hour = this.getHours() % 12;             if (hour === 0) hour = 12;             ret.append(hour);             break;         case "HH":             ret.append(addLeadingZero(this.getHours()));             break;         case "H":             ret.append(this.getHours());             break;         case "mm":             ret.append(addLeadingZero(this.getMinutes()));             break;         case "m":             ret.append(this.getMinutes());             break;         case "ss":             ret.append(addLeadingZero(this.getSeconds()));             break;         case "s":             ret.append(this.getSeconds());             break;         case "tt":             ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator);             break;         case "t":             ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0));             break;         case "f":             ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));             break;         case "ff":             ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2));             break;         case "fff":             ret.append(addLeadingZeros(this.getMilliseconds()));             break;         case "z":             hour = this.getTimezoneOffset() / 60;             ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour)));             break;         case "zz":             hour = this.getTimezoneOffset() / 60;             ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))));             break;         case "zzz":             hour = this.getTimezoneOffset() / 60;             ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) +                 dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));             break;         }     }     return ret.toString(); }   Number.__typeName = 'Number'; Number.__class = true; Number.parseLocale = function Number$parseLocale(value) {     /// <summary locid="M:J#Number.parseLocale" />     /// <param name="value" type="String"></param>     /// <returns type="Number"></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String}     ]);     if (e) throw e;     return Number._parse(value, Sys.CultureInfo.CurrentCulture); } Number.parseInvariant = function Number$parseInvariant(value) {     /// <summary locid="M:J#Number.parseInvariant" />     /// <param name="value" type="String"></param>     /// <returns type="Number"></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String}     ]);     if (e) throw e;     return Number._parse(value, Sys.CultureInfo.InvariantCulture); } Number._parse = function Number$_parse(value, cultureInfo) {     value = value.trim();         if (value.match(/^[+-]?infinity$/i)) {         return parseFloat(value);     }     if (value.match(/^0x[a-f0-9]+$/i)) {         return parseInt(value);     }     var numFormat = cultureInfo.numberFormat;     var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern);     var sign = signInfo[0];     var num = signInfo[1];         if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) {         signInfo = Number._parseNumberNegativePattern(value, numFormat, 1);         sign = signInfo[0];         num = signInfo[1];     }     if (sign === '') sign = '+';         var exponent;     var intAndFraction;     var exponentPos = num.indexOf('e');     if (exponentPos < 0) exponentPos = num.indexOf('E');     if (exponentPos < 0) {         intAndFraction = num;         exponent = null;     }     else {         intAndFraction = num.substr(0, exponentPos);         exponent = num.substr(exponentPos + 1);     }         var integer;     var fraction;     var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator);     if (decimalPos < 0) {         integer = intAndFraction;         fraction = null;     }     else {         integer = intAndFraction.substr(0, decimalPos);         fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length);     }         integer = integer.split(numFormat.NumberGroupSeparator).join('');     var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");     if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) {         integer = integer.split(altNumGroupSeparator).join('');     }         var p = sign + integer;     if (fraction !== null) {         p += '.' + fraction;     }     if (exponent !== null) {         var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1);         if (expSignInfo[0] === '') {             expSignInfo[0] = '+';         }         p += 'e' + expSignInfo[0] + expSignInfo[1];     }     if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {         return parseFloat(p);     }     return Number.NaN; } Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) {     var neg = numFormat.NegativeSign;     var pos = numFormat.PositiveSign;        switch (numberNegativePattern) {         case 4:             neg = ' ' + neg;             pos = ' ' + pos;         case 3:             if (value.endsWith(neg)) {                 return ['-', value.substr(0, value.length - neg.length)];             }             else if (value.endsWith(pos)) {                 return ['+', value.substr(0, value.length - pos.length)];             }             break;         case 2:             neg += ' ';             pos += ' ';         case 1:             if (value.startsWith(neg)) {                 return ['-', value.substr(neg.length)];             }             else if (value.startsWith(pos)) {                 return ['+', value.substr(pos.length)];             }             break;         case 0:             if (value.startsWith('(') && value.endsWith(')')) {                 return ['-', value.substr(1, value.length - 2)];             }             break;     }     return ['', value]; } Number.prototype.format = function Number$format(format) {     /// <summary locid="M:J#Number.format" />     /// <param name="format" type="String"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "format", type: String}     ]);     if (e) throw e;     return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); } Number.prototype.localeFormat = function Number$localeFormat(format) {     /// <summary locid="M:J#Number.localeFormat" />     /// <param name="format" type="String"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "format", type: String}     ]);     if (e) throw e;     return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); } Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) {     if (!format || (format.length === 0) || (format === 'i')) {         if (cultureInfo && (cultureInfo.name.length > 0)) {             return this.toLocaleString();         }         else {             return this.toString();         }     }         var _percentPositivePattern = ["n %", "n%", "%n" ];     var _percentNegativePattern = ["-n %", "-n%", "-%n"];     var _numberNegativePattern = ["(n)","-n","- n","n-","n -"];     var _currencyPositivePattern = ["$n","n$","$ n","n $"];     var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];     function zeroPad(str, count, left) {         for (var l=str.length; l < count; l++) {             str = (left ? ('0' + str) : (str + '0'));         }         return str;     }         function expandNumber(number, precision, groupSizes, sep, decimalChar) {                 var curSize = groupSizes[0];         var curGroupIndex = 1;         var factor = Math.pow(10, precision);         var rounded = (Math.round(number * factor) / factor);         if (!isFinite(rounded)) {             rounded = number;         }         number = rounded;                 var numberString = number.toString();         var right = "";         var exponent;                         var split = numberString.split(/e/i);         numberString = split[0];         exponent = (split.length > 1 ? parseInt(split[1]) : 0);         split = numberString.split('.');         numberString = split[0];         right = split.length > 1 ? split[1] : "";                 var l;         if (exponent > 0) {             right = zeroPad(right, exponent, false);             numberString += right.slice(0, exponent);             right = right.substr(exponent);         }         else if (exponent < 0) {             exponent = -exponent;             numberString = zeroPad(numberString, exponent+1, true);             right = numberString.slice(-exponent, numberString.length) + right;             numberString = numberString.slice(0, -exponent);         }         if (precision > 0) {             if (right.length > precision) {                 right = right.slice(0, precision);             }             else {                 right = zeroPad(right, precision, false);             }             right = decimalChar + right;         }         else {             right = "";         }         var stringIndex = numberString.length-1;         var ret = "";         while (stringIndex >= 0) {             if (curSize === 0 || curSize > stringIndex) {                 if (ret.length > 0)                     return numberString.slice(0, stringIndex + 1) + sep + ret + right;                 else                     return numberString.slice(0, stringIndex + 1) + right;             }             if (ret.length > 0)                 ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret;             else                 ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1);             stringIndex -= curSize;             if (curGroupIndex < groupSizes.length) {                 curSize = groupSizes[curGroupIndex];                 curGroupIndex++;             }         }         return numberString.slice(0, stringIndex + 1) + sep + ret + right;     }     var nf = cultureInfo.numberFormat;     var number = Math.abs(this);     if (!format)         format = "D";     var precision = -1;     if (format.length > 1) precision = parseInt(format.slice(1), 10);     var pattern;     switch (format.charAt(0)) {     case "d":     case "D":         pattern = 'n';         if (precision !== -1) {             number = zeroPad(""+number, precision, true);         }         if (this < 0) number = -number;         break;     case "c":     case "C":         if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern];         else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern];         if (precision === -1) precision = nf.CurrencyDecimalDigits;         number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator);         break;     case "n":     case "N":         if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern];         else pattern = 'n';         if (precision === -1) precision = nf.NumberDecimalDigits;         number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator);         break;     case "p":     case "P":         if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern];         else pattern = _percentPositivePattern[nf.PercentPositivePattern];         if (precision === -1) precision = nf.PercentDecimalDigits;         number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator);         break;     default:         throw Error.format(Sys.Res.formatBadFormatSpecifier);     }     var regex = /n|\$|-|%/g;     var ret = "";     for (;;) {         var index = regex.lastIndex;         var ar = regex.exec(pattern);         ret += pattern.slice(index, ar ? ar.index : pattern.length);         if (!ar)             break;         switch (ar[0]) {         case "n":             ret += number;             break;         case "$":             ret += nf.CurrencySymbol;             break;         case "-":             ret += nf.NegativeSign;             break;         case "%":             ret += nf.PercentSymbol;             break;         }     }     return ret; }   RegExp.__typeName = 'RegExp'; RegExp.__class = true;   Array.__typeName = 'Array'; Array.__class = true; Array.add = Array.enqueue = function Array$enqueue(array, item) {     /// <summary locid="M:J#Array.enqueue" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="item" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "item", mayBeNull: true}     ]);     if (e) throw e;     array[array.length] = item; } Array.addRange = function Array$addRange(array, items) {     /// <summary locid="M:J#Array.addRange" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="items" type="Array" elementMayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "items", type: Array, elementMayBeNull: true}     ]);     if (e) throw e;     array.push.apply(array, items); } Array.clear = function Array$clear(array) {     /// <summary locid="M:J#Array.clear" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true}     ]);     if (e) throw e;     array.length = 0; } Array.clone = function Array$clone(array) {     /// <summary locid="M:J#Array.clone" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <returns type="Array" elementMayBeNull="true"></returns>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true}     ]);     if (e) throw e;     if (array.length === 1) {         return [array[0]];     }     else {         return Array.apply(null, array);     } } Array.contains = function Array$contains(array, item) {     /// <summary locid="M:J#Array.contains" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="item" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "item", mayBeNull: true}     ]);     if (e) throw e;     return (Array.indexOf(array, item) >= 0); } Array.dequeue = function Array$dequeue(array) {     /// <summary locid="M:J#Array.dequeue" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <returns mayBeNull="true"></returns>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true}     ]);     if (e) throw e;     return array.shift(); } Array.forEach = function Array$forEach(array, method, instance) {     /// <summary locid="M:J#Array.forEach" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="method" type="Function"></param>     /// <param name="instance" optional="true" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "method", type: Function},         {name: "instance", mayBeNull: true, optional: true}     ]);     if (e) throw e;     for (var i = 0, l = array.length; i < l; i++) {         var elt = array[i];         if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array);     } } Array.indexOf = function Array$indexOf(array, item, start) {     /// <summary locid="M:J#Array.indexOf" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="item" optional="true" mayBeNull="true"></param>     /// <param name="start" optional="true" mayBeNull="true"></param>     /// <returns type="Number"></returns>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "item", mayBeNull: true, optional: true},         {name: "start", mayBeNull: true, optional: true}     ]);     if (e) throw e;     if (typeof(item) === "undefined") return -1;     var length = array.length;     if (length !== 0) {         start = start - 0;         if (isNaN(start)) {             start = 0;         }         else {             if (isFinite(start)) {                 start = start - (start % 1);             }             if (start < 0) {                 start = Math.max(0, length + start);             }         }         for (var i = start; i < length; i++) {             if ((typeof(array[i]) !== "undefined") && (array[i] === item)) {                 return i;             }         }     }     return -1; } Array.insert = function Array$insert(array, index, item) {     /// <summary locid="M:J#Array.insert" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="index" mayBeNull="true"></param>     /// <param name="item" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "index", mayBeNull: true},         {name: "item", mayBeNull: true}     ]);     if (e) throw e;     array.splice(index, 0, item); } Array.parse = function Array$parse(value) {     /// <summary locid="M:J#Array.parse" />     /// <param name="value" type="String" mayBeNull="true"></param>     /// <returns type="Array" elementMayBeNull="true"></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String, mayBeNull: true}     ]);     if (e) throw e;     if (!value) return [];     var v = eval(value);     if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat);     return v; } Array.remove = function Array$remove(array, item) {     /// <summary locid="M:J#Array.remove" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="item" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "item", mayBeNull: true}     ]);     if (e) throw e;     var index = Array.indexOf(array, item);     if (index >= 0) {         array.splice(index, 1);     }     return (index >= 0); } Array.removeAt = function Array$removeAt(array, index) {     /// <summary locid="M:J#Array.removeAt" />     /// <param name="array" type="Array" elementMayBeNull="true"></param>     /// <param name="index" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "array", type: Array, elementMayBeNull: true},         {name: "index", mayBeNull: true}     ]);     if (e) throw e;     array.splice(index, 1); }   if (!window) this.window = this; window.Type = Function; Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) {     /// <summary locid="M:J#Type.callBaseMethod" />     /// <param name="instance"></param>     /// <param name="name" type="String"></param>     /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "instance"},         {name: "name", type: String},         {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true}     ]);     if (e) throw e;     var baseMethod = this.getBaseMethod(instance, name);     if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));     if (!baseArguments) {         return baseMethod.apply(instance);     }     else {         return baseMethod.apply(instance, baseArguments);     } } Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) {     /// <summary locid="M:J#Type.getBaseMethod" />     /// <param name="instance"></param>     /// <param name="name" type="String"></param>     /// <returns type="Function" mayBeNull="true"></returns>     var e = Function._validateParams(arguments, [         {name: "instance"},         {name: "name", type: String}     ]);     if (e) throw e;     if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this);     var baseType = this.getBaseType();     if (baseType) {         var baseMethod = baseType.prototype[name];         return (baseMethod instanceof Function) ? baseMethod : null;     }     return null; } Type.prototype.getBaseType = function Type$getBaseType() {     /// <summary locid="M:J#Type.getBaseType" />     /// <returns type="Type" mayBeNull="true"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; } Type.prototype.getInterfaces = function Type$getInterfaces() {     /// <summary locid="M:J#Type.getInterfaces" />     /// <returns type="Array" elementType="Type" mayBeNull="false" elementMayBeNull="false"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     var result = [];     var type = this;     while(type) {         var interfaces = type.__interfaces;         if (interfaces) {             for (var i = 0, l = interfaces.length; i < l; i++) {                 var interfaceType = interfaces[i];                 if (!Array.contains(result, interfaceType)) {                     result[result.length] = interfaceType;                 }             }         }         type = type.__baseType;     }     return result; } Type.prototype.getName = function Type$getName() {     /// <summary locid="M:J#Type.getName" />     /// <returns type="String"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; } Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) {     /// <summary locid="M:J#Type.implementsInterface" />     /// <param name="interfaceType" type="Type"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "interfaceType", type: Type}     ]);     if (e) throw e;     this.resolveInheritance();     var interfaceName = interfaceType.getName();     var cache = this.__interfaceCache;     if (cache) {         var cacheEntry = cache[interfaceName];         if (typeof(cacheEntry) !== 'undefined') return cacheEntry;     }     else {         cache = this.__interfaceCache = {};     }     var baseType = this;     while (baseType) {         var interfaces = baseType.__interfaces;         if (interfaces) {             if (Array.indexOf(interfaces, interfaceType) !== -1) {                 return cache[interfaceName] = true;             }         }         baseType = baseType.__baseType;     }     return cache[interfaceName] = false; } Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) {     /// <summary locid="M:J#Type.inheritsFrom" />     /// <param name="parentType" type="Type"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "parentType", type: Type}     ]);     if (e) throw e;     this.resolveInheritance();     var baseType = this.__baseType;     while (baseType) {         if (baseType === parentType) {             return true;         }         baseType = baseType.__baseType;     }     return false; } Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) {     /// <summary locid="M:J#Type.initializeBase" />     /// <param name="instance"></param>     /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "instance"},         {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true}     ]);     if (e) throw e;     if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this);     this.resolveInheritance();     if (this.__baseType) {         if (!baseArguments) {             this.__baseType.apply(instance);         }         else {             this.__baseType.apply(instance, baseArguments);         }     }     return instance; } Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) {     /// <summary locid="M:J#Type.isImplementedBy" />     /// <param name="instance" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "instance", mayBeNull: true}     ]);     if (e) throw e;     if (typeof(instance) === "undefined" || instance === null) return false;     var instanceType = Object.getType(instance);     return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); } Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) {     /// <summary locid="M:J#Type.isInstanceOfType" />     /// <param name="instance" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "instance", mayBeNull: true}     ]);     if (e) throw e;     if (typeof(instance) === "undefined" || instance === null) return false;     if (instance instanceof this) return true;     var instanceType = Object.getType(instance);     return !!(instanceType === this) ||            (instanceType.inheritsFrom && instanceType.inheritsFrom(this)) ||            (instanceType.implementsInterface && instanceType.implementsInterface(this)); } Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) {     /// <summary locid="M:J#Type.registerClass" />     /// <param name="typeName" type="String"></param>     /// <param name="baseType" type="Type" optional="true" mayBeNull="true"></param>     /// <param name="interfaceTypes" parameterArray="true" type="Type"></param>     /// <returns type="Type"></returns>     var e = Function._validateParams(arguments, [         {name: "typeName", type: String},         {name: "baseType", type: Type, mayBeNull: true, optional: true},         {name: "interfaceTypes", type: Type, parameterArray: true}     ]);     if (e) throw e;     if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName);     var parsedName;     try {         parsedName = eval(typeName);     }     catch(e) {         throw Error.argument('typeName', Sys.Res.argumentTypeName);     }     if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName);     if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName));     if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType');     if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass);     this.prototype.constructor = this;     this.__typeName = typeName;     this.__class = true;     if (baseType) {         this.__baseType = baseType;         this.__basePrototypePending = true;     }     Sys.__upperCaseTypes[typeName.toUpperCase()] = this;     if (interfaceTypes) {         this.__interfaces = [];         this.resolveInheritance();         for (var i = 2, l = arguments.length; i < l; i++) {             var interfaceType = arguments[i];             if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface);             for (var methodName in interfaceType.prototype) {                 var method = interfaceType.prototype[methodName];                 if (!this.prototype[methodName]) {                     this.prototype[methodName] = method;                 }             }             this.__interfaces.push(interfaceType);         }     }     Sys.__registeredTypes[typeName] = true;     return this; } Type.prototype.registerInterface = function Type$registerInterface(typeName) {     /// <summary locid="M:J#Type.registerInterface" />     /// <param name="typeName" type="String"></param>     /// <returns type="Type"></returns>     var e = Function._validateParams(arguments, [         {name: "typeName", type: String}     ]);     if (e) throw e;     if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName);     var parsedName;     try {         parsedName = eval(typeName);     }     catch(e) {         throw Error.argument('typeName', Sys.Res.argumentTypeName);     }     if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName);     if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName));     Sys.__upperCaseTypes[typeName.toUpperCase()] = this;     this.prototype.constructor = this;     this.__typeName = typeName;     this.__interface = true;     Sys.__registeredTypes[typeName] = true;     return this; } Type.prototype.resolveInheritance = function Type$resolveInheritance() {     /// <summary locid="M:J#Type.resolveInheritance" />     if (arguments.length !== 0) throw Error.parameterCount();     if (this.__basePrototypePending) {         var baseType = this.__baseType;         baseType.resolveInheritance();         for (var memberName in baseType.prototype) {             var memberValue = baseType.prototype[memberName];             if (!this.prototype[memberName]) {                 this.prototype[memberName] = memberValue;             }         }         delete this.__basePrototypePending;     } } Type.getRootNamespaces = function Type$getRootNamespaces() {     /// <summary locid="M:J#Type.getRootNamespaces" />     /// <returns type="Array"></returns>     if (arguments.length !== 0) throw Error.parameterCount();     return Array.clone(Sys.__rootNamespaces); } Type.isClass = function Type$isClass(type) {     /// <summary locid="M:J#Type.isClass" />     /// <param name="type" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "type", mayBeNull: true}     ]);     if (e) throw e;     if ((typeof(type) === 'undefined') || (type === null)) return false;     return !!type.__class; } Type.isInterface = function Type$isInterface(type) {     /// <summary locid="M:J#Type.isInterface" />     /// <param name="type" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "type", mayBeNull: true}     ]);     if (e) throw e;     if ((typeof(type) === 'undefined') || (type === null)) return false;     return !!type.__interface; } Type.isNamespace = function Type$isNamespace(object) {     /// <summary locid="M:J#Type.isNamespace" />     /// <param name="object" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "object", mayBeNull: true}     ]);     if (e) throw e;     if ((typeof(object) === 'undefined') || (object === null)) return false;     return !!object.__namespace; } Type.parse = function Type$parse(typeName, ns) {     /// <summary locid="M:J#Type.parse" />     /// <param name="typeName" type="String" mayBeNull="true"></param>     /// <param name="ns" optional="true" mayBeNull="true"></param>     /// <returns type="Type" mayBeNull="true"></returns>     var e = Function._validateParams(arguments, [         {name: "typeName", type: String, mayBeNull: true},         {name: "ns", mayBeNull: true, optional: true}     ]);     if (e) throw e;     var fn;     if (ns) {         fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()];         return fn || null;     }     if (!typeName) return null;     if (!Type.__htClasses) {         Type.__htClasses = {};     }     fn = Type.__htClasses[typeName];     if (!fn) {         fn = eval(typeName);         if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName);         Type.__htClasses[typeName] = fn;     }     return fn; } Type.registerNamespace = function Type$registerNamespace(namespacePath) {     /// <summary locid="M:J#Type.registerNamespace" />     /// <param name="namespacePath" type="String"></param>     var e = Function._validateParams(arguments, [         {name: "namespacePath", type: String}     ]);     if (e) throw e;     if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);     var rootObject = window;     var namespaceParts = namespacePath.split('.');     for (var i = 0; i < namespaceParts.length; i++) {         var currentPart = namespaceParts[i];         var ns = rootObject[currentPart];         if (ns && !ns.__namespace) {             throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, namespaceParts.splice(0, i + 1).join('.')));         }         if (!ns) {             ns = rootObject[currentPart] = {                 __namespace: true,                 __typeName: namespaceParts.slice(0, i + 1).join('.')             };             if (i === 0) {                 Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns;             }             var parsedName;             try {                 parsedName = eval(ns.__typeName);             }             catch(e) {                 parsedName = null;             }             if (parsedName !== ns) {                 delete rootObject[currentPart];                 throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);             }             ns.getName = function ns$getName() {return this.__typeName;}         }         rootObject = ns;     } } window.Sys = {     __namespace: true,     __typeName: "Sys",     getName: function() {return "Sys";},     __upperCaseTypes: {} }; Sys.__rootNamespaces = [Sys]; Sys.__registeredTypes = {};   Sys.IDisposable = function Sys$IDisposable() {     throw Error.notImplemented(); }     function Sys$IDisposable$dispose() {         throw Error.notImplemented();     } Sys.IDisposable.prototype = {     dispose: Sys$IDisposable$dispose } Sys.IDisposable.registerInterface('Sys.IDisposable');   Sys.StringBuilder = function Sys$StringBuilder(initialText) {     /// <summary locid="M:J#Sys.StringBuilder.#ctor" />     /// <param name="initialText" optional="true" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "initialText", mayBeNull: true, optional: true}     ]);     if (e) throw e;     this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ?         [initialText.toString()] : [];     this._value = {};     this._len = 0; }     function Sys$StringBuilder$append(text) {         /// <summary locid="M:J#Sys.StringBuilder.append" />         /// <param name="text" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "text", mayBeNull: true}         ]);         if (e) throw e;         this._parts[this._parts.length] = text;     }     function Sys$StringBuilder$appendLine(text) {         /// <summary locid="M:J#Sys.StringBuilder.appendLine" />         /// <param name="text" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "text", mayBeNull: true, optional: true}         ]);         if (e) throw e;         this._parts[this._parts.length] =             ((typeof(text) === 'undefined') || (text === null) || (text === '')) ?             '\r\n' : text + '\r\n';     }     function Sys$StringBuilder$clear() {         /// <summary locid="M:J#Sys.StringBuilder.clear" />         if (arguments.length !== 0) throw Error.parameterCount();         this._parts = [];         this._value = {};         this._len = 0;     }     function Sys$StringBuilder$isEmpty() {         /// <summary locid="M:J#Sys.StringBuilder.isEmpty" />         /// <returns type="Boolean"></returns>         if (arguments.length !== 0) throw Error.parameterCount();         if (this._parts.length === 0) return true;         return this.toString() === '';     }     function Sys$StringBuilder$toString(separator) {         /// <summary locid="M:J#Sys.StringBuilder.toString" />         /// <param name="separator" type="String" optional="true" mayBeNull="true"></param>         /// <returns type="String"></returns>         var e = Function._validateParams(arguments, [             {name: "separator", type: String, mayBeNull: true, optional: true}         ]);         if (e) throw e;         separator = separator || '';         var parts = this._parts;         if (this._len !== parts.length) {             this._value = {};             this._len = parts.length;         }         var val = this._value;         if (typeof(val[separator]) === 'undefined') {             if (separator !== '') {                 for (var i = 0; i < parts.length;) {                     if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) {                         parts.splice(i, 1);                     }                     else {                         i++;                     }                 }             }             val[separator] = this._parts.join(separator);         }         return val[separator];     } Sys.StringBuilder.prototype = {     append: Sys$StringBuilder$append,     appendLine: Sys$StringBuilder$appendLine,     clear: Sys$StringBuilder$clear,     isEmpty: Sys$StringBuilder$isEmpty,     toString: Sys$StringBuilder$toString } Sys.StringBuilder.registerClass('Sys.StringBuilder');   if (!window.XMLHttpRequest) {     window.XMLHttpRequest = function window$XMLHttpRequest() {         var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];         for (var i = 0, l = progIDs.length; i < l; i++) {             try {                 return new ActiveXObject(progIDs[i]);             }             catch (ex) {             }         }         return null;     } }   Sys.Browser = {}; Sys.Browser.InternetExplorer = {}; Sys.Browser.Firefox = {}; Sys.Browser.Safari = {}; Sys.Browser.Opera = {}; Sys.Browser.agent = null; Sys.Browser.hasDebuggerStatement = false; Sys.Browser.name = navigator.appName; Sys.Browser.version = parseFloat(navigator.appVersion); Sys.Browser.documentMode = 0; if (navigator.userAgent.indexOf(' MSIE ') > -1) {     Sys.Browser.agent = Sys.Browser.InternetExplorer;     Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);     if (Sys.Browser.version >= 8) {         if (document.documentMode >= 7) {             Sys.Browser.documentMode = document.documentMode;            }     }     Sys.Browser.hasDebuggerStatement = true; } else if (navigator.userAgent.indexOf(' Firefox/') > -1) {     Sys.Browser.agent = Sys.Browser.Firefox;     Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);     Sys.Browser.name = 'Firefox';     Sys.Browser.hasDebuggerStatement = true; } else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) {     Sys.Browser.agent = Sys.Browser.Safari;     Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]);     Sys.Browser.name = 'Safari'; } else if (navigator.userAgent.indexOf('Opera/') > -1) {     Sys.Browser.agent = Sys.Browser.Opera; } Type.registerNamespace('Sys.UI');   Sys._Debug = function Sys$_Debug() {     /// <summary locid="M:J#Sys.Debug.#ctor" />     /// <field name="isDebug" type="Boolean" locid="F:J#Sys.Debug.isDebug"></field>     if (arguments.length !== 0) throw Error.parameterCount(); }     function Sys$_Debug$_appendConsole(text) {         if ((typeof(Debug) !== 'undefined') && Debug.writeln) {             Debug.writeln(text);         }         if (window.console && window.console.log) {             window.console.log(text);         }         if (window.opera) {             window.opera.postError(text);         }         if (window.debugService) {             window.debugService.trace(text);         }     }     function Sys$_Debug$_appendTrace(text) {         var traceElement = document.getElementById('TraceConsole');         if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {             traceElement.value += text + '\n';         }     }     function Sys$_Debug$assert(condition, message, displayCaller) {         /// <summary locid="M:J#Sys.Debug.assert" />         /// <param name="condition" type="Boolean"></param>         /// <param name="message" type="String" optional="true" mayBeNull="true"></param>         /// <param name="displayCaller" type="Boolean" optional="true"></param>         var e = Function._validateParams(arguments, [             {name: "condition", type: Boolean},             {name: "message", type: String, mayBeNull: true, optional: true},             {name: "displayCaller", type: Boolean, optional: true}         ]);         if (e) throw e;         if (!condition) {             message = (displayCaller && this.assert.caller) ?                 String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) :                 String.format(Sys.Res.assertFailed, message);             if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) {                 this.fail(message);             }         }     }     function Sys$_Debug$clearTrace() {         /// <summary locid="M:J#Sys.Debug.clearTrace" />         if (arguments.length !== 0) throw Error.parameterCount();         var traceElement = document.getElementById('TraceConsole');         if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {             traceElement.value = '';         }     }     function Sys$_Debug$fail(message) {         /// <summary locid="M:J#Sys.Debug.fail" />         /// <param name="message" type="String" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "message", type: String, mayBeNull: true}         ]);         if (e) throw e;         this._appendConsole(message);         if (Sys.Browser.hasDebuggerStatement) {             eval('debugger');         }     }     function Sys$_Debug$trace(text) {         /// <summary locid="M:J#Sys.Debug.trace" />         /// <param name="text"></param>         var e = Function._validateParams(arguments, [             {name: "text"}         ]);         if (e) throw e;         this._appendConsole(text);         this._appendTrace(text);     }     function Sys$_Debug$traceDump(object, name) {         /// <summary locid="M:J#Sys.Debug.traceDump" />         /// <param name="object" mayBeNull="true"></param>         /// <param name="name" type="String" mayBeNull="true" optional="true"></param>         var e = Function._validateParams(arguments, [             {name: "object", mayBeNull: true},             {name: "name", type: String, mayBeNull: true, optional: true}         ]);         if (e) throw e;         var text = this._traceDump(object, name, true);     }     function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) {         name = name? name : 'traceDump';         indentationPadding = indentationPadding? indentationPadding : '';         if (object === null) {             this.trace(indentationPadding + name + ': null');             return;         }         switch(typeof(object)) {             case 'undefined':                 this.trace(indentationPadding + name + ': Undefined');                 break;             case 'number': case 'string': case 'boolean':                 this.trace(indentationPadding + name + ': ' + object);                 break;             default:                 if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) {                     this.trace(indentationPadding + name + ': ' + object.toString());                     break;                 }                 if (!loopArray) {                     loopArray = [];                 }                 else if (Array.contains(loopArray, object)) {                     this.trace(indentationPadding + name + ': ...');                     return;                 }                 Array.add(loopArray, object);                 if ((object == window) || (object === document) ||                     (window.HTMLElement && (object instanceof HTMLElement)) ||                     (typeof(object.nodeName) === 'string')) {                     var tag = object.tagName? object.tagName : 'DomElement';                     if (object.id) {                         tag += ' - ' + object.id;                     }                     this.trace(indentationPadding + name + ' {' +  tag + '}');                 }                 else {                     var typeName = Object.getTypeName(object);                     this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : ''));                     if ((indentationPadding === '') || recursive) {                         indentationPadding += "    ";                         var i, length, properties, p, v;                         if (Array.isInstanceOfType(object)) {                             length = object.length;                             for (i = 0; i < length; i++) {                                 this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray);                             }                         }                         else {                             for (p in object) {                                 v = object[p];                                 if (!Function.isInstanceOfType(v)) {                                     this._traceDump(v, p, recursive, indentationPadding, loopArray);                                 }                             }                         }                     }                 }                 Array.remove(loopArray, object);         }     } Sys._Debug.prototype = {     _appendConsole: Sys$_Debug$_appendConsole,     _appendTrace: Sys$_Debug$_appendTrace,     assert: Sys$_Debug$assert,     clearTrace: Sys$_Debug$clearTrace,     fail: Sys$_Debug$fail,     trace: Sys$_Debug$trace,     traceDump: Sys$_Debug$traceDump,     _traceDump: Sys$_Debug$_traceDump } Sys._Debug.registerClass('Sys._Debug'); Sys.Debug = new Sys._Debug();     Sys.Debug.isDebug = true;   function Sys$Enum$parse(value, ignoreCase) {     /// <summary locid="M:J#Sys.Enum.parse" />     /// <param name="value" type="String"></param>     /// <param name="ignoreCase" type="Boolean" optional="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "value", type: String},         {name: "ignoreCase", type: Boolean, optional: true}     ]);     if (e) throw e;     var values, parsed, val;     if (ignoreCase) {         values = this.__lowerCaseValues;         if (!values) {             this.__lowerCaseValues = values = {};             var prototype = this.prototype;             for (var name in prototype) {                 values[name.toLowerCase()] = prototype[name];             }         }     }     else {         values = this.prototype;     }     if (!this.__flags) {         val = (ignoreCase ? value.toLowerCase() : value);         parsed = values[val.trim()];         if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName));         return parsed;     }     else {         var parts = (ignoreCase ? value.toLowerCase() : value).split(',');         var v = 0;         for (var i = parts.length - 1; i >= 0; i--) {             var part = parts[i].trim();             parsed = values[part];             if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName));             v |= parsed;         }         return v;     } } function Sys$Enum$toString(value) {     /// <summary locid="M:J#Sys.Enum.toString" />     /// <param name="value" optional="true" mayBeNull="true"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "value", mayBeNull: true, optional: true}     ]);     if (e) throw e;     if ((typeof(value) === 'undefined') || (value === null)) return this.__string;     if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this);     var values = this.prototype;     var i;     if (!this.__flags || (value === 0)) {         for (i in values) {             if (values[i] === value) {                 return i;             }         }     }     else {         var sorted = this.__sortedValues;         if (!sorted) {             sorted = [];             for (i in values) {                 sorted[sorted.length] = {key: i, value: values[i]};             }             sorted.sort(function(a, b) {                 return a.value - b.value;             });             this.__sortedValues = sorted;         }         var parts = [];         var v = value;         for (i = sorted.length - 1; i >= 0; i--) {             var kvp = sorted[i];             var vali = kvp.value;             if (vali === 0) continue;             if ((vali & value) === vali) {                 parts[parts.length] = kvp.key;                 v -= vali;                 if (v === 0) break;             }         }         if (parts.length && v === 0) return parts.reverse().join(', ');     }     throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); } Type.prototype.registerEnum = function Type$registerEnum(name, flags) {     /// <summary locid="M:J#Sys.UI.LineType.#ctor" />     /// <param name="name" type="String"></param>     /// <param name="flags" type="Boolean" optional="true"></param>     var e = Function._validateParams(arguments, [         {name: "name", type: String},         {name: "flags", type: Boolean, optional: true}     ]);     if (e) throw e;     if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName);     var parsedName;     try {         parsedName = eval(name);     }     catch(e) {         throw Error.argument('name', Sys.Res.argumentTypeName);     }     if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName);     if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name));     for (var i in this.prototype) {         var val = this.prototype[i];         if (!Type.__identifierRegExp.test(i)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));         if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger);         if (typeof(this[i]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));     }     Sys.__upperCaseTypes[name.toUpperCase()] = this;     for (var i in this.prototype) {         this[i] = this.prototype[i];     }     this.__typeName = name;     this.parse = Sys$Enum$parse;     this.__string = this.toString();     this.toString = Sys$Enum$toString;     this.__flags = flags;     this.__enum = true;     Sys.__registeredTypes[name] = true; } Type.isEnum = function Type$isEnum(type) {     /// <summary locid="M:J#Type.isEnum" />     /// <param name="type" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "type", mayBeNull: true}     ]);     if (e) throw e;     if ((typeof(type) === 'undefined') || (type === null)) return false;     return !!type.__enum; } Type.isFlags = function Type$isFlags(type) {     /// <summary locid="M:J#Type.isFlags" />     /// <param name="type" mayBeNull="true"></param>     /// <returns type="Boolean"></returns>     var e = Function._validateParams(arguments, [         {name: "type", mayBeNull: true}     ]);     if (e) throw e;     if ((typeof(type) === 'undefined') || (type === null)) return false;     return !!type.__flags; }   Sys.EventHandlerList = function Sys$EventHandlerList() {     /// <summary locid="M:J#Sys.EventHandlerList.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     this._list = {}; }     function Sys$EventHandlerList$addHandler(id, handler) {         /// <summary locid="M:J#Sys.EventHandlerList.addHandler" />         /// <param name="id" type="String"></param>         /// <param name="handler" type="Function"></param>         var e = Function._validateParams(arguments, [             {name: "id", type: String},             {name: "handler", type: Function}         ]);         if (e) throw e;         Array.add(this._getEvent(id, true), handler);     }     function Sys$EventHandlerList$removeHandler(id, handler) {         /// <summary locid="M:J#Sys.EventHandlerList.removeHandler" />         /// <param name="id" type="String"></param>         /// <param name="handler" type="Function"></param>         var e = Function._validateParams(arguments, [             {name: "id", type: String},             {name: "handler", type: Function}         ]);         if (e) throw e;         var evt = this._getEvent(id);         if (!evt) return;         Array.remove(evt, handler);     }     function Sys$EventHandlerList$getHandler(id) {         /// <summary locid="M:J#Sys.EventHandlerList.getHandler" />         /// <param name="id" type="String"></param>         /// <returns type="Function"></returns>         var e = Function._validateParams(arguments, [             {name: "id", type: String}         ]);         if (e) throw e;         var evt = this._getEvent(id);         if (!evt || (evt.length === 0)) return null;         evt = Array.clone(evt);         return function(source, args) {             for (var i = 0, l = evt.length; i < l; i++) {                 evt[i](source, args);             }         };     }     function Sys$EventHandlerList$_getEvent(id, create) {         if (!this._list[id]) {             if (!create) return null;             this._list[id] = [];         }         return this._list[id];     } Sys.EventHandlerList.prototype = {     addHandler: Sys$EventHandlerList$addHandler,     removeHandler: Sys$EventHandlerList$removeHandler,     getHandler: Sys$EventHandlerList$getHandler,     _getEvent: Sys$EventHandlerList$_getEvent } Sys.EventHandlerList.registerClass('Sys.EventHandlerList');   Sys.EventArgs = function Sys$EventArgs() {     /// <summary locid="M:J#Sys.EventArgs.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount(); } Sys.EventArgs.registerClass('Sys.EventArgs'); Sys.EventArgs.Empty = new Sys.EventArgs();   Sys.CancelEventArgs = function Sys$CancelEventArgs() {     /// <summary locid="M:J#Sys.CancelEventArgs.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     Sys.CancelEventArgs.initializeBase(this);     this._cancel = false; }     function Sys$CancelEventArgs$get_cancel() {         /// <value type="Boolean" locid="P:J#Sys.CancelEventArgs.cancel"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._cancel;     }     function Sys$CancelEventArgs$set_cancel(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);         if (e) throw e;         this._cancel = value;     } Sys.CancelEventArgs.prototype = {     get_cancel: Sys$CancelEventArgs$get_cancel,     set_cancel: Sys$CancelEventArgs$set_cancel } Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);   Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() {     /// <summary locid="M:J#Sys.INotifyPropertyChange.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     throw Error.notImplemented(); }     function Sys$INotifyPropertyChange$add_propertyChanged(handler) {     /// <summary locid="E:J#Sys.INotifyPropertyChange.propertyChanged" />     var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);     if (e) throw e;         throw Error.notImplemented();     }     function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {     var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);     if (e) throw e;         throw Error.notImplemented();     } Sys.INotifyPropertyChange.prototype = {     add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,     remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged } Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');   Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) {     /// <summary locid="M:J#Sys.PropertyChangedEventArgs.#ctor" />     /// <param name="propertyName" type="String"></param>     var e = Function._validateParams(arguments, [         {name: "propertyName", type: String}     ]);     if (e) throw e;     Sys.PropertyChangedEventArgs.initializeBase(this);     this._propertyName = propertyName; }       function Sys$PropertyChangedEventArgs$get_propertyName() {         /// <value type="String" locid="P:J#Sys.PropertyChangedEventArgs.propertyName"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._propertyName;     } Sys.PropertyChangedEventArgs.prototype = {     get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName } Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs);   Sys.INotifyDisposing = function Sys$INotifyDisposing() {     /// <summary locid="M:J#Sys.INotifyDisposing.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     throw Error.notImplemented(); }     function Sys$INotifyDisposing$add_disposing(handler) {     /// <summary locid="E:J#Sys.INotifyDisposing.disposing" />     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() {     /// <summary locid="M:J#Sys.Component.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     if (Sys.Application) Sys.Application.registerDisposableObject(this); }     function Sys$Component$get_events() {         /// <value type="Sys.EventHandlerList" locid="P:J#Sys.Component.events"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._events) {             this._events = new Sys.EventHandlerList();         }         return this._events;     }     function Sys$Component$get_id() {         /// <value type="String" locid="P:J#Sys.Component.id"></value>         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() {         /// <value type="Boolean" locid="P:J#Sys.Component.isInitialized"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._initialized;     }     function Sys$Component$get_isUpdating() {         /// <value type="Boolean" locid="P:J#Sys.Component.isUpdating"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._updating;     }     function Sys$Component$add_disposing(handler) {         /// <summary locid="E:J#Sys.Component.disposing" />         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) {         /// <summary locid="E:J#Sys.Component.propertyChanged" />         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) {         /// <summary locid="M:J#Sys.Component.raisePropertyChanged" />         /// <param name="propertyName" type="String"></param>         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) {     /// <summary locid="M:J#Sys.Component._setProperties" />     /// <param name="target"></param>     /// <param name="properties"></param>     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) {     /// <summary locid="M:J#Sys.Component.create" />     /// <param name="type" type="Type"></param>     /// <param name="properties" optional="true" mayBeNull="true"></param>     /// <param name="events" optional="true" mayBeNull="true"></param>     /// <param name="references" optional="true" mayBeNull="true"></param>     /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>     /// <returns type="Sys.UI.Component"></returns>     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() {     /// <summary locid="M:J#Sys.UI.MouseButton.#ctor" />     /// <field name="leftButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.leftButton"></field>     /// <field name="middleButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.middleButton"></field>     /// <field name="rightButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.rightButton"></field>     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() {     /// <summary locid="M:J#Sys.UI.Key.#ctor" />     /// <field name="backspace" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.backspace"></field>     /// <field name="tab" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.tab"></field>     /// <field name="enter" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.enter"></field>     /// <field name="esc" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.esc"></field>     /// <field name="space" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.space"></field>     /// <field name="pageUp" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageUp"></field>     /// <field name="pageDown" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageDown"></field>     /// <field name="end" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.end"></field>     /// <field name="home" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.home"></field>     /// <field name="left" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.left"></field>     /// <field name="up" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.up"></field>     /// <field name="right" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.right"></field>     /// <field name="down" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.down"></field>     /// <field name="del" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.del"></field>     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) {     /// <summary locid="M:J#Sys.UI.Point.#ctor" />     /// <param name="x" type="Number" integer="true"></param>     /// <param name="y" type="Number" integer="true"></param>     /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field>     /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field>     var e = Function._validateParams(arguments, [         {name: "x", type: Number, integer: true},         {name: "y", type: Number, integer: true}     ]);     if (e) throw e;     this.x = x;     this.y = y; } Sys.UI.Point.registerClass('Sys.UI.Point');   Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) {     /// <summary locid="M:J#Sys.UI.Bounds.#ctor" />     /// <param name="x" type="Number" integer="true"></param>     /// <param name="y" type="Number" integer="true"></param>     /// <param name="height" type="Number" integer="true"></param>     /// <param name="width" type="Number" integer="true"></param>     /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.x"></field>     /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.y"></field>     /// <field name="height" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.height"></field>     /// <field name="width" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.width"></field>     var e = Function._validateParams(arguments, [         {name: "x", type: Number, integer: true},         {name: "y", type: Number, integer: true},         {name: "height", type: Number, integer: true},         {name: "width", 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) {     /// <summary locid="M:J#Sys.UI.DomEvent.#ctor" />     /// <param name="eventObject"></param>     /// <field name="altKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.altKey"></field>     /// <field name="button" type="Sys.UI.MouseButton" locid="F:J#Sys.UI.DomEvent.button"></field>     /// <field name="charCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.charCode"></field>     /// <field name="clientX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientX"></field>     /// <field name="clientY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientY"></field>     /// <field name="ctrlKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.ctrlKey"></field>     /// <field name="keyCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.keyCode"></field>     /// <field name="offsetX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetX"></field>     /// <field name="offsetY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetY"></field>     /// <field name="screenX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenX"></field>     /// <field name="screenY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenY"></field>     /// <field name="shiftKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.shiftKey"></field>     /// <field name="target" locid="F:J#Sys.UI.DomEvent.target"></field>     /// <field name="type" type="String" locid="F:J#Sys.UI.DomEvent.type"></field>     var e = Function._validateParams(arguments, [         {name: "eventObject"}     ]);     if (e) throw e;     var e = eventObject;     var etype = this.type = e.type.toLowerCase();     this.rawEvent = e;     this.altKey = e.altKey;     if (typeof(e.button) !== 'undefined') {         this.button = (typeof(e.which) !== 'undefined') ? e.button :             (e.button === 4) ? Sys.UI.MouseButton.middleButton :             (e.button === 2) ? Sys.UI.MouseButton.rightButton :             Sys.UI.MouseButton.leftButton;     }     if (etype === 'keypress') {         this.charCode = e.charCode || e.keyCode;     }     else if (e.keyCode && (e.keyCode === 46)) {         this.keyCode = 127;     }     else {         this.keyCode = e.keyCode;     }     this.clientX = e.clientX;     this.clientY = e.clientY;     this.ctrlKey = e.ctrlKey;     this.target = e.target ? e.target : e.srcElement;     if (!etype.startsWith('key')) {         if ((typeof(e.offsetX) !== 'undefined') && (typeof(e.offsetY) !== 'undefined')) {             this.offsetX = e.offsetX;             this.offsetY = e.offsetY;         }         else if (this.target && (this.target.nodeType !== 3) && (typeof(e.clientX) === 'number')) {             var loc = Sys.UI.DomElement.getLocation(this.target);             var w = Sys.UI.DomElement._getWindow(this.target);             this.offsetX = (w.pageXOffset || 0) + e.clientX - loc.x;             this.offsetY = (w.pageYOffset || 0) + e.clientY - loc.y;         }     }     this.screenX = e.screenX;     this.screenY = e.screenY;     this.shiftKey = e.shiftKey; }     function Sys$UI$DomEvent$preventDefault() {         /// <summary locid="M:J#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() {         /// <summary locid="M:J#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) {     /// <summary locid="M:J#Sys.UI.DomEvent.addHandler" />     /// <param name="element"></param>     /// <param name="eventName" type="String"></param>     /// <param name="handler" type="Function"></param>     var e = Function._validateParams(arguments, [         {name: "element"},         {name: "eventName", type: String},         {name: "handler", type: Function}     ]);     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}; } var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {     /// <summary locid="M:J#Sys.UI.DomEvent.addHandlers" />     /// <param name="element"></param>     /// <param name="events" type="Object"></param>     /// <param name="handlerOwner" optional="true"></param>     var e = Function._validateParams(arguments, [         {name: "element"},         {name: "events", type: Object},         {name: "handlerOwner", 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);     } } var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) {     /// <summary locid="M:J#Sys.UI.DomEvent.clearHandlers" />     /// <param name="element"></param>     var e = Function._validateParams(arguments, [         {name: "element"}     ]);     if (e) throw e;     Sys.UI.DomEvent._ensureDomNode(element);     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--) {                 $removeHandler(element, name, handlers[i].handler);             }         }         element._events = null;     } } var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) {     /// <summary locid="M:J#Sys.UI.DomEvent.removeHandler" />     /// <param name="element"></param>     /// <param name="eventName" type="String"></param>     /// <param name="handler" type="Function"></param>     var e = Function._validateParams(arguments, [         {name: "element"},         {name: "eventName", type: String},         {name: "handler", type: Function}     ]);     if (e) throw e;     Sys.UI.DomEvent._ensureDomNode(element);     var browserHandler = null;     if ((typeof(element._events) !== 'object') || (element._events == null)) 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() {     /// <summary locid="M:J#Sys.UI.DomElement.#ctor" />     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) {     /// <summary locid="M:J#Sys.UI.DomElement.addCssClass" />     /// <param name="element" domElement="true"></param>     /// <param name="className" type="String"></param>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.containsCssClass" />     /// <param name="element" domElement="true"></param>     /// <param name="className" type="String"></param>     /// <returns type="Boolean"></returns>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.getBounds" />     /// <param name="element" domElement="true"></param>     /// <returns type="Sys.UI.Bounds"></returns>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.getElementById" />     /// <param name="id" type="String"></param>     /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>     /// <returns domElement="true" mayBeNull="true"></returns>     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; } switch(Sys.Browser.agent) {     case Sys.Browser.InternetExplorer:         Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {             /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />             /// <param name="element" domElement="true"></param>             /// <returns type="Sys.UI.Point"></returns>             var e = Function._validateParams(arguments, [                 {name: "element", domElement: true}             ]);             if (e) throw e;             if (element.self || element.nodeType === 9) 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 offsetX = clientRect.left - 2 + documentElement.scrollLeft,                 offsetY = clientRect.top - 2 + documentElement.scrollTop;                         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) {             }                            return new Sys.UI.Point(offsetX, offsetY);         }         break;     case Sys.Browser.Safari:         Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {             /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />             /// <param name="element" domElement="true"></param>             /// <returns type="Sys.UI.Point"></returns>             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;             var offsetY = 0;             var previous = null;             var previousStyle = null;             var currentStyle;             for (var 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;                 }             }             currentStyle = Sys.UI.DomElement._getCurrentStyle(element);             var elementPosition = currentStyle ? currentStyle.position : null;             if (!elementPosition || (elementPosition !== "absolute")) {                 for (var 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);         }         break;     case Sys.Browser.Opera:         Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {             /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />             /// <param name="element" domElement="true"></param>             /// <returns type="Sys.UI.Point"></returns>             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;             var offsetY = 0;             var previous = null;             for (var parent = element; parent; previous = parent, parent = parent.offsetParent) {                 var tagName = parent.tagName;                 offsetX += parent.offsetLeft || 0;                 offsetY += parent.offsetTop || 0;             }             var elementPosition = element.style.position;             var elementPositioned = elementPosition && (elementPosition !== "static");             for (var parent = element.parentNode; parent; parent = parent.parentNode) {                 tagName = parent.tagName ? parent.tagName.toUpperCase() : null;                 if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) &&                     ((elementPositioned &&                     ((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))) {                     offsetX -= (parent.scrollLeft || 0);                     offsetY -= (parent.scrollTop || 0);                 }                 var parentPosition = (parent && parent.style) ? parent.style.position : null;                 elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static"));             }             return new Sys.UI.Point(offsetX, offsetY);         }         break;     default:         Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {             /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />             /// <param name="element" domElement="true"></param>             /// <returns type="Sys.UI.Point"></returns>             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;             var offsetY = 0;             var previous = null;             var previousStyle = null;             var currentStyle = null;             for (var 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 (var 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);         }         break; } Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) {     /// <summary locid="M:J#Sys.UI.DomElement.removeCssClass" />     /// <param name="element" domElement="true"></param>     /// <param name="className" type="String"></param>     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.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) {     /// <summary locid="M:J#Sys.UI.DomElement.setLocation" />     /// <param name="element" domElement="true"></param>     /// <param name="x" type="Number" integer="true"></param>     /// <param name="y" type="Number" integer="true"></param>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.toggleCssClass" />     /// <param name="element" domElement="true"></param>     /// <param name="className" type="String"></param>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.getVisibilityMode" />     /// <param name="element" domElement="true"></param>     /// <returns type="Sys.UI.VisibilityMode"></returns>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.setVisibilityMode" />     /// <param name="element" domElement="true"></param>     /// <param name="value" type="Sys.UI.VisibilityMode"></param>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.getVisible" />     /// <param name="element" domElement="true"></param>     /// <returns type="Boolean"></returns>     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) {     /// <summary locid="M:J#Sys.UI.DomElement.setVisible" />     /// <param name="element" domElement="true"></param>     /// <param name="value" type="Boolean"></param>     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) {         /// <summary locid="M:J#Sys.IContainer.addComponent" />         /// <param name="component" type="Sys.Component"></param>         var e = Function._validateParams(arguments, [             {name: "component", type: Sys.Component}         ]);         if (e) throw e;         throw Error.notImplemented();     }     function Sys$IContainer$removeComponent(component) {         /// <summary locid="M:J#Sys.IContainer.removeComponent" />         /// <param name="component" type="Sys.Component"></param>         var e = Function._validateParams(arguments, [             {name: "component", type: Sys.Component}         ]);         if (e) throw e;         throw Error.notImplemented();     }     function Sys$IContainer$findComponent(id) {         /// <summary locid="M:J#Sys.IContainer.findComponent" />         /// <param name="id" type="String"></param>         /// <returns type="Sys.Component"></returns>         var e = Function._validateParams(arguments, [             {name: "id", type: String}         ]);         if (e) throw e;         throw Error.notImplemented();     }     function Sys$IContainer$getComponents() {         /// <summary locid="M:J#Sys.IContainer.getComponents" />         /// <returns type="Array" elementType="Sys.Component"></returns>         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._ScriptLoader = function Sys$_ScriptLoader() {     this._scriptsToLoad = null;     this._sessions = [];     this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler); }     function Sys$_ScriptLoader$dispose() {         this._stopSession();         this._loading = false;         if(this._events) {             delete this._events;         }         this._sessions = null;         this._currentSession = null;         this._scriptLoadedDelegate = null;            }     function Sys$_ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) {         /// <summary locid="M:J#Sys._ScriptLoader.loadScripts" />         /// <param name="scriptTimeout" type="Number" integer="true"></param>         /// <param name="allScriptsLoadedCallback" type="Function" mayBeNull="true"></param>         /// <param name="scriptLoadFailedCallback" type="Function" mayBeNull="true"></param>         /// <param name="scriptLoadTimeoutCallback" type="Function" mayBeNull="true"></param>         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[this._sessions.length] = session;                 if (!this._loading) {             this._nextSession();         }     }     function Sys$_ScriptLoader$notifyScriptLoaded() {         /// <summary locid="M:J#Sys._ScriptLoader.notifyScriptLoaded" />         if (arguments.length !== 0) throw Error.parameterCount();                 if(!this._loading) {             return;         }         this._currentTask._notified++;                 if(Sys.Browser.agent === Sys.Browser.Safari) {                       if(this._currentTask._notified === 1) {                 window.setTimeout(Function.createDelegate(this, function() {                     this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);                 }), 0);             }         }     }     function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {         /// <summary locid="M:J#Sys._ScriptLoader.queueCustomScriptTag" />         /// <param name="scriptAttributes" mayBeNull="false"></param>         var e = Function._validateParams(arguments, [             {name: "scriptAttributes"}         ]);         if (e) throw e;         if(!this._scriptsToLoad) {             this._scriptsToLoad = [];         }         Array.add(this._scriptsToLoad, scriptAttributes);     }     function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {         /// <summary locid="M:J#Sys._ScriptLoader.queueScriptBlock" />         /// <param name="scriptContent" type="String" mayBeNull="false"></param>         var e = Function._validateParams(arguments, [             {name: "scriptContent", type: String}         ]);         if (e) throw e;         if(!this._scriptsToLoad) {             this._scriptsToLoad = [];         }         Array.add(this._scriptsToLoad, {text: scriptContent});     }     function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {         /// <summary locid="M:J#Sys._ScriptLoader.queueScriptReference" />         /// <param name="scriptUrl" type="String" mayBeNull="false"></param>         var e = Function._validateParams(arguments, [             {name: "scriptUrl", type: String}         ]);         if (e) throw e;         if(!this._scriptsToLoad) {             this._scriptsToLoad = [];         }         Array.add(this._scriptsToLoad, {src: scriptUrl});     }     function Sys$_ScriptLoader$_createScriptElement(queuedScript) {         var scriptElement = document.createElement('script');         scriptElement.type = 'text/javascript';         for (var attr in queuedScript) {             scriptElement[attr] = queuedScript[attr];         }                 return scriptElement;     }     function Sys$_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._ScriptLoader._clearScript(scriptElement);                 this._loadScriptsInternal();             }         }         else {             this._stopSession();             var callback = session.allScriptsLoadedCallback;             if(callback) {                 callback(this);             }             this._nextSession();         }     }     function Sys$_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();     }     function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {         var callback = this._currentSession.scriptLoadFailedCallback;         var scriptElement = this._currentTask.get_scriptElement();         this._stopSession();                 if(callback) {             callback(this, scriptElement, multipleCallbacks);             this._nextSession();         }         else {             this._loading = false;             throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, multipleCallbacks);         }     }     function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) {         if(loaded && this._currentTask._notified) {             if(this._currentTask._notified > 1) {                 this._raiseError(true);             }             else {                 Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);                 this._currentTask.dispose();                 this._currentTask = null;                 this._loadScriptsInternal();             }         }         else {             this._raiseError(false);         }     }     function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {         var callback = this._currentSession.scriptLoadTimeoutCallback;         this._stopSession();         if(callback) {             callback(this);         }         this._nextSession();     }     function Sys$_ScriptLoader$_stopSession() {         if(this._currentTask) {             this._currentTask.dispose();             this._currentTask = null;         }     } Sys._ScriptLoader.prototype = {     dispose: Sys$_ScriptLoader$dispose,     loadScripts: Sys$_ScriptLoader$loadScripts,     notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,     queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,     queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,     queueScriptReference: Sys$_ScriptLoader$queueScriptReference,     _createScriptElement: Sys$_ScriptLoader$_createScriptElement,     _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,     _nextSession: Sys$_ScriptLoader$_nextSession,     _raiseError: Sys$_ScriptLoader$_raiseError,     _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,     _scriptLoadTimeoutHandler: Sys$_ScriptLoader$_scriptLoadTimeoutHandler,     _stopSession: Sys$_ScriptLoader$_stopSession    } Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, Sys.IDisposable); Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance() {     var sl = Sys._ScriptLoader._activeInstance;     if(!sl) {         sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader();     }     return sl; } Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {     var dummyScript = document.createElement('script');     dummyScript.src = scriptSrc;     return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src); } Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts() {     if(!Sys._ScriptLoader._referencedScripts) {         var referencedScripts = Sys._ScriptLoader._referencedScripts = [];         var existingScripts = document.getElementsByTagName('script');         for (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);                 }             }         }     } } Sys._ScriptLoader._clearScript = function Sys$_ScriptLoader$_clearScript(scriptElement) {     if (!Sys.Debug.isDebug) {         scriptElement.parentNode.removeChild(scriptElement);     } } Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {     var errorMessage;     if(multipleCallbacks) {         errorMessage = Sys.Res.scriptLoadMultipleCallbacks;     }     else {         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; } Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getLoadedScripts() {     if(!Sys._ScriptLoader._referencedScripts) {         Sys._ScriptLoader._referencedScripts = [];         Sys._ScriptLoader.readLoadedScripts();     }     return Sys._ScriptLoader._referencedScripts; }   Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) {     /// <summary locid="M:J#Sys._ScriptLoaderTask.#ctor" />     /// <param name="scriptElement" domElement="true"></param>     /// <param name="completedCallback" type="Function"></param>     var e = Function._validateParams(arguments, [         {name: "scriptElement", domElement: true},         {name: "completedCallback", type: Function}     ]);     if (e) throw e;     this._scriptElement = scriptElement;     this._completedCallback = completedCallback;     this._notified = 0; }     function Sys$_ScriptLoaderTask$get_scriptElement() {         /// <value domElement="true" locid="P:J#Sys._ScriptLoaderTask.scriptElement"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._scriptElement;     }     function Sys$_ScriptLoaderTask$dispose() {         if(this._disposed) {             return;         }         this._disposed = true;         this._removeScriptElementHandlers();         Sys._ScriptLoader._clearScript(this._scriptElement);         this._scriptElement = null;     }     function Sys$_ScriptLoaderTask$execute() {         /// <summary locid="M:J#Sys._ScriptLoaderTask.execute" />         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);         }     }     function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {         this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler);                 if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) {             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);         }     }     function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {         if(this._scriptLoadDelegate) {             var scriptElement = this.get_scriptElement();             if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) {                 $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;         }     }     function Sys$_ScriptLoaderTask$_scriptErrorHandler() {         if(this._disposed) {             return;         }                 this._completedCallback(this.get_scriptElement(), false);     }     function Sys$_ScriptLoaderTask$_scriptLoadHandler() {         if(this._disposed) {             return;         }         var scriptElement = this.get_scriptElement();         if ((scriptElement.readyState !== 'loaded') &&             (scriptElement.readyState !== 'complete')) {             return;         }                 var _this = this;         window.setTimeout(function() {             _this._completedCallback(scriptElement, true);         }, 0);     } Sys._ScriptLoaderTask.prototype = {     get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,     dispose: Sys$_ScriptLoaderTask$dispose,     execute: Sys$_ScriptLoaderTask$execute,     _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers,        _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers,        _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,     _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler  } Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable);   Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) {     /// <summary locid="M:J#Sys.ApplicationLoadEventArgs.#ctor" />     /// <param name="components" type="Array" elementType="Sys.Component"></param>     /// <param name="isPartialLoad" type="Boolean"></param>     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() {         /// <value type="Array" elementType="Sys.Component" locid="P:J#Sys.ApplicationLoadEventArgs.components"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._components;     }     function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {         /// <value type="Boolean" locid="P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>         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.HistoryEventArgs = function Sys$HistoryEventArgs(state) {     /// <summary locid="M:J#Sys.HistoryEventArgs.#ctor" />     /// <param name="state" type="Object"></param>     var e = Function._validateParams(arguments, [         {name: "state", type: Object}     ]);     if (e) throw e;     Sys.HistoryEventArgs.initializeBase(this);     this._state = state; }     function Sys$HistoryEventArgs$get_state() {         /// <value type="Object" locid="P:J#Sys.HistoryEventArgs.state"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._state;     } Sys.HistoryEventArgs.prototype = {     get_state: Sys$HistoryEventArgs$get_state } Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs);   Sys._Application = function Sys$_Application() {     /// <summary locid="M:J#Sys.Application.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     Sys._Application.initializeBase(this);     this._disposableObjects = [];     this._components = {};     this._createdComponents = [];     this._secondPassComponents = [];     this._appLoadHandler = null;     this._beginRequestHandler = null;     this._clientId = null;     this._currentEntry = '';     this._endRequestHandler = null;     this._history = null;     this._enableHistory = false;     this._historyEnabledInScriptManager = false;     this._historyFrame = null;     this._historyInitialized = false;     this._historyInitialLength = 0;     this._historyLength = 0;     this._historyPointIsNew = false;     this._ignoreTimer = false;     this._initialState = null;     this._state = {};     this._timerCookie = 0;     this._timerHandler = null;     this._uniqueId = null;     this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler);     this._loadHandlerDelegate = Function.createDelegate(this, this._loadHandler);     Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate);     Sys.UI.DomEvent.addHandler(window, "load", this._loadHandlerDelegate); }     function Sys$_Application$get_isCreatingComponents() {         /// <value type="Boolean" locid="P:J#Sys.Application.isCreatingComponents"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._creatingComponents;     }     function Sys$_Application$get_stateString() {         /// <value type="String" locid="P:J#Sys.Application.stateString"></value>         if (arguments.length !== 0) throw Error.parameterCount();         var hash = window.location.hash;         if (this._isSafari2()) {             var history = this._getHistory();             if (history) {                 hash = history[window.history.length - this._historyInitialLength];             }         }         if ((hash.length > 0) && (hash.charAt(0) === '#')) {             hash = hash.substring(1);         }         if (Sys.Browser.agent === Sys.Browser.Firefox) {             hash = this._serializeState(this._deserializeState(hash, true));         }         return hash;     }     function Sys$_Application$get_enableHistory() {         /// <value type="Boolean" locid="P:J#Sys.Application.enableHistory"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._enableHistory;     }     function Sys$_Application$set_enableHistory(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);         if (e) throw e;         if (this._initialized && !this._initializing) {             throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory);         }         else if (this._historyEnabledInScriptManager && !value) {             throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);         }         this._enableHistory = value;     }     function Sys$_Application$add_init(handler) {         /// <summary locid="E:J#Sys.Application.init" />         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) {         /// <summary locid="E:J#Sys.Application.load" />         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_navigate(handler) {         /// <summary locid="E:J#Sys.Application.navigate" />         var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);         if (e) throw e;         this.get_events().addHandler("navigate", handler);     }     function Sys$_Application$remove_navigate(handler) {         var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);         if (e) throw e;         this.get_events().removeHandler("navigate", handler);     }     function Sys$_Application$add_unload(handler) {         /// <summary locid="E:J#Sys.Application.unload" />         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) {         /// <summary locid="M:J#Sys.Application.addComponent" />         /// <param name="component" type="Sys.Component"></param>         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$addHistoryPoint(state, title) {         /// <summary locid="M:J#Sys.Application.addHistoryPoint" />         /// <param name="state" type="Object"></param>         /// <param name="title" type="String" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "state", type: Object},             {name: "title", type: String, mayBeNull: true, optional: true}         ]);         if (e) throw e;         if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled);         for (var n in state) {             var v = state[n];             var t = typeof(v);             if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) {                 throw Error.argument('state', Sys.Res.stateMustBeStringDictionary);             }         }         this._ensureHistory();         var initialState = this._state;         for (var key in state) {             var value = state[key];             if (value === null) {                 if (typeof(initialState[key]) !== 'undefined') {                     delete initialState[key];                 }             }             else {                 initialState[key] = value;             }         }         var entry = this._serializeState(initialState);         this._historyPointIsNew = true;         this._setState(entry, title);         this._raiseNavigate();     }     function Sys$_Application$beginCreateComponents() {         /// <summary locid="M:J#Sys.Application.beginCreateComponents" />         if (arguments.length !== 0) throw Error.parameterCount();         this._creatingComponents = true;     }     function Sys$_Application$dispose() {         /// <summary locid="M:J#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++) {                 disposableObjects[i].dispose();             }             Array.clear(this._disposableObjects);             Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate);             if(this._loadHandlerDelegate) {                 Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate);                 this._loadHandlerDelegate = null;             }             var sl = Sys._ScriptLoader.getInstance();             if(sl) {                 sl.dispose();             }             Sys._Application.callBaseMethod(this, 'dispose');         }     }     function Sys$_Application$endCreateComponents() {         /// <summary locid="M:J#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) {         /// <summary locid="M:J#Sys.Application.findComponent" />         /// <param name="id" type="String"></param>         /// <param name="parent" optional="true" mayBeNull="true"></param>         /// <returns type="Sys.Component" mayBeNull="true"></returns>         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() {         /// <summary locid="M:J#Sys.Application.getComponents" />         /// <returns type="Array" elementType="Sys.Component"></returns>         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() {         /// <summary locid="M:J#Sys.Application.initialize" />         if (arguments.length !== 0) throw Error.parameterCount();         if(!this._initialized && !this._initializing) {             this._initializing = true;             var check, er, app = this;             function init() { if (!app._initialized) app._doInitialize(); }                 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$notifyScriptLoaded() {         /// <summary locid="M:J#Sys.Application.notifyScriptLoaded" />         if (arguments.length !== 0) throw Error.parameterCount();         var sl = Sys._ScriptLoader.getInstance();         if(sl) {             sl.notifyScriptLoaded();         }     }     function Sys$_Application$registerDisposableObject(object) {         /// <summary locid="M:J#Sys.Application.registerDisposableObject" />         /// <param name="object" type="Sys.IDisposable"></param>         var e = Function._validateParams(arguments, [             {name: "object", type: Sys.IDisposable}         ]);         if (e) throw e;         if (!this._disposing) {             this._disposableObjects[this._disposableObjects.length] = object;         }     }     function Sys$_Application$raiseLoad() {         /// <summary locid="M:J#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._initializing);         if (h) {             h(this, args);         }         if (window.pageLoad) {             window.pageLoad(this, args);         }         this._createdComponents = [];     }     function Sys$_Application$removeComponent(component) {         /// <summary locid="M:J#Sys.Application.removeComponent" />         /// <param name="component" type="Sys.Component"></param>         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$setServerId(clientId, uniqueId) {         /// <summary locid="M:J#Sys.Application.setServerId" />         /// <param name="clientId" type="String"></param>         /// <param name="uniqueId" type="String"></param>         var e = Function._validateParams(arguments, [             {name: "clientId", type: String},             {name: "uniqueId", type: String}         ]);         if (e) throw e;         this._clientId = clientId;         this._uniqueId = uniqueId;     }     function Sys$_Application$setServerState(value) {         /// <summary locid="M:J#Sys.Application.setServerState" />         /// <param name="value" type="String"></param>         var e = Function._validateParams(arguments, [             {name: "value", type: String}         ]);         if (e) throw e;         this._ensureHistory();         this._state.__s = value;         this._updateHiddenField(value);     }     function Sys$_Application$unregisterDisposableObject(object) {         /// <summary locid="M:J#Sys.Application.unregisterDisposableObject" />         /// <param name="object" type="Sys.IDisposable"></param>         var e = Function._validateParams(arguments, [             {name: "object", type: Sys.IDisposable}         ]);         if (e) throw e;         if (!this._disposing) {             Array.remove(this._disposableObjects, object);         }     }     function Sys$_Application$_addComponentToSecondPass(component, references) {         this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references};     }     function Sys$_Application$_deserializeState(entry, skipDecodeUri) {         var result = {};         entry = entry || '';         var serverSeparator = entry.indexOf('&&');         if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) {             result.__s = entry.substr(serverSeparator + 2);             entry = entry.substr(0, serverSeparator);         }         var tokens = entry.split('&');         for (var i = 0, l = tokens.length; i < l; i++) {             var token = tokens[i];             var equal = token.indexOf('=');             if ((equal !== -1) && (equal + 1 < token.length)) {                 var name = token.substr(0, equal);                 var value = token.substr(equal + 1);                 result[name] = skipDecodeUri ? value : decodeURIComponent(value);             }         }         return result;     }     function Sys$_Application$_doInitialize() {         Sys._Application.callBaseMethod(this, 'initialize');                 var handler = this.get_events().getHandler("init");         if (handler) {             this.beginCreateComponents();             handler(this, Sys.EventArgs.Empty);             this.endCreateComponents();         }         if (Sys.WebForms) {             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);         }           this.raiseLoad();         this._initializing = false;     }     function Sys$_Application$_enableHistoryInScriptManager() {         this._enableHistory = true;         this._historyEnabledInScriptManager = true;     }     function Sys$_Application$_ensureHistory() {         if (!this._historyInitialized && this._enableHistory) {             if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) {                 this._historyFrame = document.getElementById('__historyFrame');                 if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame);                 this._ignoreIFrame = true;             }             if (this._isSafari2()) {                 var historyElement = document.getElementById('__history');                 if (!historyElement) throw Error.invalidOperation(Sys.Res.historyMissingHiddenInput);                 this._setHistory([window.location.hash]);                 this._historyInitialLength = window.history.length;             }                         this._timerHandler = Function.createDelegate(this, this._onIdle);             this._timerCookie = window.setTimeout(this._timerHandler, 100);                         try {                 this._initialState = this._deserializeState(this.get_stateString());             } catch(e) {}                         this._historyInitialized = true;         }     }     function Sys$_Application$_getHistory() {         var historyElement = document.getElementById('__history');         if (!historyElement) return '';         var v = historyElement.value;         return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, true) : '';     }     function Sys$_Application$_isSafari2() {         return (Sys.Browser.agent === Sys.Browser.Safari) &&             (Sys.Browser.version <= 419.3);     }     function Sys$_Application$_loadHandler() {         if(this._loadHandlerDelegate) {             Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate);             this._loadHandlerDelegate = null;         }         this.initialize();     }     function Sys$_Application$_navigate(entry) {         this._ensureHistory();         var state = this._deserializeState(entry);                 if (this._uniqueId) {             var oldServerEntry = this._state.__s || '';             var newServerEntry = state.__s || '';             if (newServerEntry !== oldServerEntry) {                 this._updateHiddenField(newServerEntry);                 __doPostBack(this._uniqueId, newServerEntry);                 this._state = state;                 return;             }         }         this._setState(entry);         this._state = state;         this._raiseNavigate();     }     function Sys$_Application$_onIdle() {         delete this._timerCookie;                 var entry = this.get_stateString();         if (entry !== this._currentEntry) {             if (!this._ignoreTimer) {                 this._historyPointIsNew = false;                 this._navigate(entry);                 this._historyLength = window.history.length;             }         }         else {             this._ignoreTimer = false;         }         this._timerCookie = window.setTimeout(this._timerHandler, 100);     }     function Sys$_Application$_onIFrameLoad(entry) {         this._ensureHistory();         if (!this._ignoreIFrame) {             this._historyPointIsNew = false;             this._navigate(entry);         }         this._ignoreIFrame = false;     }     function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) {         this._ignoreTimer = true;     }     function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) {         var dataItem = args.get_dataItems()[this._clientId];         var eventTarget = document.getElementById("__EVENTTARGET");         if (eventTarget && eventTarget.value === this._uniqueId) {             eventTarget.value = '';         }         if (typeof(dataItem) !== 'undefined') {             this.setServerState(dataItem);             this._historyPointIsNew = true;         }         else {             this._ignoreTimer = false;         }         var entry = this._serializeState(this._state);         if (entry !== this._currentEntry) {             this._ignoreTimer = true;             this._setState(entry);             this._raiseNavigate();         }     }     function Sys$_Application$_raiseNavigate() {         var h = this.get_events().getHandler("navigate");         var stateClone = {};         for (var key in this._state) {             if (key !== '__s') {                 stateClone[key] = this._state[key];             }         }         var args = new Sys.HistoryEventArgs(stateClone);         if (h) {             h(this, args);         }     }     function Sys$_Application$_serializeState(state) {         var serialized = [];         for (var key in state) {             var value = state[key];             if (key === '__s') {                 var serverState = value;             }             else {                 if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid);                 serialized[serialized.length] = key + '=' + encodeURIComponent(value);             }         }         return serialized.join('&') + (serverState ? '&&' + serverState : '');     }     function Sys$_Application$_setHistory(historyArray) {         var historyElement = document.getElementById('__history');         if (historyElement) {             historyElement.value = Sys.Serialization.JavaScriptSerializer.serialize(historyArray);         }     }     function Sys$_Application$_setState(entry, title) {         entry = entry || '';         if (entry !== this._currentEntry) {             if (window.theForm) {                 var action = window.theForm.action;                 var hashIndex = action.indexOf('#');                 window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry;             }                         if (this._historyFrame && this._historyPointIsNew) {                 this._ignoreIFrame = true;                 this._historyPointIsNew = false;                 var frameDoc = this._historyFrame.contentWindow.document;                 frameDoc.open("BLOCKED SCRIPT'<html></html>'");                 frameDoc.write("<html><head><title>" + (title || document.title) +                     "</title><scri" + "pt type=\"text/javascript\">parent.Sys.Application._onIFrameLoad('" +                     entry + "');</scri" + "pt></head><body></body></html>");                 frameDoc.close();             }             this._ignoreTimer = false;             var currentHash = this.get_stateString();             this._currentEntry = entry;             if (entry !== currentHash) {                 var loc = document.location;                 if (loc.href.length - loc.hash.length + entry.length > 1024) {                     throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);                 }                 if (this._isSafari2()) {                     var history = this._getHistory();                     history[window.history.length - this._historyInitialLength + 1] = entry;                     this._setHistory(history);                     this._historyLength = window.history.length + 1;                     var form = document.createElement('form');                     form.method = 'get';                     form.action = '#' + entry;                     document.appendChild(form);                     form.submit();                     document.removeChild(form);                 }                 else {                     window.location.hash = entry;                 }                 if ((typeof(title) !== 'undefined') && (title !== null)) {                     document.title = title;                 }             }         }     }     function Sys$_Application$_unloadHandler(event) {         this.dispose();     }     function Sys$_Application$_updateHiddenField(value) {         if (this._clientId) {             var serverStateField = document.getElementById(this._clientId);             if (serverStateField) {                 serverStateField.value = value;             }         }     } Sys._Application.prototype = {     _creatingComponents: false,     _disposing: false,     get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,     get_stateString: Sys$_Application$get_stateString,     get_enableHistory: Sys$_Application$get_enableHistory,     set_enableHistory: Sys$_Application$set_enableHistory,     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_navigate: Sys$_Application$add_navigate,     remove_navigate: Sys$_Application$remove_navigate,     add_unload: Sys$_Application$add_unload,     remove_unload: Sys$_Application$remove_unload,     addComponent: Sys$_Application$addComponent,     addHistoryPoint: Sys$_Application$addHistoryPoint,     beginCreateComponents: Sys$_Application$beginCreateComponents,     dispose: Sys$_Application$dispose,     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,     setServerId: Sys$_Application$setServerId,     setServerState: Sys$_Application$setServerState,     unregisterDisposableObject: Sys$_Application$unregisterDisposableObject,     _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass,     _deserializeState: Sys$_Application$_deserializeState,     _doInitialize: Sys$_Application$_doInitialize,     _enableHistoryInScriptManager: Sys$_Application$_enableHistoryInScriptManager,        _ensureHistory: Sys$_Application$_ensureHistory,     _getHistory: Sys$_Application$_getHistory,     _isSafari2: Sys$_Application$_isSafari2,     _loadHandler: Sys$_Application$_loadHandler,     _navigate: Sys$_Application$_navigate,     _onIdle: Sys$_Application$_onIdle,     _onIFrameLoad: Sys$_Application$_onIFrameLoad,     _onPageRequestManagerBeginRequest: Sys$_Application$_onPageRequestManagerBeginRequest,     _onPageRequestManagerEndRequest: Sys$_Application$_onPageRequestManagerEndRequest,     _raiseNavigate: Sys$_Application$_raiseNavigate,     _serializeState: Sys$_Application$_serializeState,     _setHistory: Sys$_Application$_setHistory,     _setState: Sys$_Application$_setState,     _unloadHandler: Sys$_Application$_unloadHandler,     _updateHiddenField: Sys$_Application$_updateHiddenField } Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); Sys.Application = new Sys._Application(); var $find = Sys.Application.findComponent; Type.registerNamespace('Sys.Net');   Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() {     /// <summary locid="M:J#Sys.Net.WebRequestExecutor.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     this._webRequest = null;     this._resultObject = null; }     function Sys$Net$WebRequestExecutor$get_webRequest() {         /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.WebRequestExecutor.webRequest"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._webRequest;     }     function Sys$Net$WebRequestExecutor$_set_webRequest(value) {         if (this.get_started()) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest'));         }         this._webRequest = value;     }     function Sys$Net$WebRequestExecutor$get_started() {         /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.started"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_responseAvailable() {         /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_timedOut() {         /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.timedOut"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_aborted() {         /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.aborted"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_responseData() {         /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.responseData"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_statusCode() {         /// <value type="Number" locid="P:J#Sys.Net.WebRequestExecutor.statusCode"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_statusText() {         /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.statusText"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_xml() {         /// <value locid="P:J#Sys.Net.WebRequestExecutor.xml"></value>         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$get_object() {         /// <value locid="P:J#Sys.Net.WebRequestExecutor.object"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._resultObject) {             this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());         }         return this._resultObject;     }     function Sys$Net$WebRequestExecutor$executeRequest() {         /// <summary locid="M:J#Sys.Net.WebRequestExecutor.executeRequest" />         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$abort() {         /// <summary locid="M:J#Sys.Net.WebRequestExecutor.abort" />         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$getResponseHeader(header) {         /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />         /// <param name="header" type="String"></param>         var e = Function._validateParams(arguments, [             {name: "header", type: String}         ]);         if (e) throw e;         throw Error.notImplemented();     }     function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {         /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />         if (arguments.length !== 0) throw Error.parameterCount();         throw Error.notImplemented();     } Sys.Net.WebRequestExecutor.prototype = {     get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,     _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,     get_started: Sys$Net$WebRequestExecutor$get_started,     get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable,     get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,     get_aborted: Sys$Net$WebRequestExecutor$get_aborted,     get_responseData: Sys$Net$WebRequestExecutor$get_responseData,     get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,     get_statusText: Sys$Net$WebRequestExecutor$get_statusText,     get_xml: Sys$Net$WebRequestExecutor$get_xml,     get_object: Sys$Net$WebRequestExecutor$get_object,     executeRequest: Sys$Net$WebRequestExecutor$executeRequest,     abort: Sys$Net$WebRequestExecutor$abort,     getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,     getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders } Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');   Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) {     /// <summary locid="M:J#Sys.Net.XMLDOM.#ctor" />     /// <param name="markup" type="String"></param>     var e = Function._validateParams(arguments, [         {name: "markup", type: String}     ]);     if (e) throw e;     if (!window.DOMParser) {         var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ];         for (var i = 0, l = progIDs.length; i < l; i++) {             try {                 var xmlDOM = new ActiveXObject(progIDs[i]);                 xmlDOM.async = false;                 xmlDOM.loadXML(markup);                 xmlDOM.setProperty('SelectionLanguage', 'XPath');                 return xmlDOM;             }             catch (ex) {             }         }     }     else {         try {             var domParser = new window.DOMParser();             return domParser.parseFromString(markup, 'text/xml');         }         catch (ex) {         }     }     return null; } Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() {     /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     Sys.Net.XMLHttpExecutor.initializeBase(this);     var _this = this;     this._xmlHttpRequest = null;     this._webRequest = null;     this._responseAvailable = false;     this._timedOut = false;     this._timer = null;     this._aborted = false;     this._started = false;     this._onReadyStateChange = (function () {                 if (_this._xmlHttpRequest.readyState === 4 ) {             try {                 if (typeof(_this._xmlHttpRequest.status) === "undefined") {                     return;                 }             }             catch(ex) {                 return;             }                         _this._clearTimer();             _this._responseAvailable = true;             try {                 _this._webRequest.completed(Sys.EventArgs.Empty);             }             finally {                 if (_this._xmlHttpRequest != null) {                     _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;                     _this._xmlHttpRequest = null;                 }             }         }     });     this._clearTimer = (function() {         if (_this._timer != null) {             window.clearTimeout(_this._timer);             _this._timer = null;         }     });     this._onTimeout = (function() {         if (!_this._responseAvailable) {             _this._clearTimer();             _this._timedOut = true;             _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;             _this._xmlHttpRequest.abort();             _this._webRequest.completed(Sys.EventArgs.Empty);             _this._xmlHttpRequest = null;         }     }); }     function Sys$Net$XMLHttpExecutor$get_timedOut() {         /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._timedOut;     }     function Sys$Net$XMLHttpExecutor$get_started() {         /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.started"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._started;     }     function Sys$Net$XMLHttpExecutor$get_responseAvailable() {         /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._responseAvailable;     }     function Sys$Net$XMLHttpExecutor$get_aborted() {         /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.aborted"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._aborted;     }     function Sys$Net$XMLHttpExecutor$executeRequest() {         /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.executeRequest" />         if (arguments.length !== 0) throw Error.parameterCount();         this._webRequest = this.get_webRequest();         if (this._started) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest'));         }         if (this._webRequest === null) {             throw Error.invalidOperation(Sys.Res.nullWebRequest);         }         var body = this._webRequest.get_body();         var headers = this._webRequest.get_headers();         this._xmlHttpRequest = new XMLHttpRequest();         this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange;         var verb = this._webRequest.get_httpVerb();         this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true );         if (headers) {             for (var header in headers) {                 var val = headers[header];                 if (typeof(val) !== "function")                     this._xmlHttpRequest.setRequestHeader(header, val);             }         }         if (verb.toLowerCase() === "post") {             if ((headers === null) || !headers['Content-Type']) {                 this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');             }             if (!body) {                 body = "";             }         }         var timeout = this._webRequest.get_timeout();         if (timeout > 0) {             this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout);         }         this._xmlHttpRequest.send(body);         this._started = true;     }     function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {         /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />         /// <param name="header" type="String"></param>         /// <returns type="String"></returns>         var e = Function._validateParams(arguments, [             {name: "header", type: String}         ]);         if (e) throw e;         if (!this._responseAvailable) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader'));         }         if (!this._xmlHttpRequest) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader'));         }         var result;         try {             result = this._xmlHttpRequest.getResponseHeader(header);         } catch (e) {         }         if (!result) result = "";         return result;     }     function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {         /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" />         /// <returns type="String"></returns>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._responseAvailable) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders'));         }         if (!this._xmlHttpRequest) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders'));         }         return this._xmlHttpRequest.getAllResponseHeaders();     }     function Sys$Net$XMLHttpExecutor$get_responseData() {         /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.responseData"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._responseAvailable) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData'));         }         if (!this._xmlHttpRequest) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData'));         }         return this._xmlHttpRequest.responseText;     }     function Sys$Net$XMLHttpExecutor$get_statusCode() {         /// <value type="Number" locid="P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._responseAvailable) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode'));         }         if (!this._xmlHttpRequest) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode'));         }         var result = 0;         try {             result = this._xmlHttpRequest.status;         }         catch(ex) {         }         return result;     }     function Sys$Net$XMLHttpExecutor$get_statusText() {         /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.statusText"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._responseAvailable) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText'));         }         if (!this._xmlHttpRequest) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText'));         }         return this._xmlHttpRequest.statusText;     }     function Sys$Net$XMLHttpExecutor$get_xml() {         /// <value locid="P:J#Sys.Net.XMLHttpExecutor.xml"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._responseAvailable) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml'));         }         if (!this._xmlHttpRequest) {             throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml'));         }         var xml = this._xmlHttpRequest.responseXML;         if (!xml || !xml.documentElement) {             xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);             if (!xml || !xml.documentElement)                 return null;         }         else if (navigator.userAgent.indexOf('MSIE') !== -1 && typeof(xml.setProperty) != 'undefined') {             xml.setProperty('SelectionLanguage', 'XPath');         }         if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" &&             xml.documentElement.tagName === "parsererror") {             return null;         }                 if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") {             return null;         }                 return xml;     }     function Sys$Net$XMLHttpExecutor$abort() {         /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.abort" />         if (arguments.length !== 0) throw Error.parameterCount();         if (!this._started) {             throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);         }         if (this._aborted || this._responseAvailable || this._timedOut)             return;         this._aborted = true;         this._clearTimer();         if (this._xmlHttpRequest && !this._responseAvailable) {             this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;             this._xmlHttpRequest.abort();                         this._xmlHttpRequest = null;                        this._webRequest.completed(Sys.EventArgs.Empty);         }     } Sys.Net.XMLHttpExecutor.prototype = {     get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,     get_started: Sys$Net$XMLHttpExecutor$get_started,     get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable,     get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,     executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,     getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,     getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders,     get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,     get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,     get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,     get_xml: Sys$Net$XMLHttpExecutor$get_xml,     abort: Sys$Net$XMLHttpExecutor$abort } Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor);   Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() {     /// <summary locid="P:J#Sys.Net.WebRequestManager.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     this._defaultTimeout = 0;     this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; }     function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {         /// <summary locid="E:J#Sys.Net.WebRequestManager.invokingRequest" />         var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);         if (e) throw e;         this._get_eventHandlerList().addHandler("invokingRequest", handler);     }     function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) {         var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);         if (e) throw e;         this._get_eventHandlerList().removeHandler("invokingRequest", handler);     }     function Sys$Net$_WebRequestManager$add_completedRequest(handler) {         /// <summary locid="E:J#Sys.Net.WebRequestManager.completedRequest" />         var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);         if (e) throw e;         this._get_eventHandlerList().addHandler("completedRequest", handler);     }     function Sys$Net$_WebRequestManager$remove_completedRequest(handler) {         var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);         if (e) throw e;         this._get_eventHandlerList().removeHandler("completedRequest", handler);     }     function Sys$Net$_WebRequestManager$_get_eventHandlerList() {         if (!this._events) {             this._events = new Sys.EventHandlerList();         }         return this._events;     }     function Sys$Net$_WebRequestManager$get_defaultTimeout() {         /// <value type="Number" locid="P:J#Sys.Net.WebRequestManager.defaultTimeout"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultTimeout;     }     function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Number}]);         if (e) throw e;         if (value < 0) {             throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);         }         this._defaultTimeout = value;     }     function Sys$Net$_WebRequestManager$get_defaultExecutorType() {         /// <value type="String" locid="P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultExecutorType;     }     function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {         var e = Function._validateParams(arguments, [{name: "value", type: String}]);         if (e) throw e;         this._defaultExecutorType = value;     }     function Sys$Net$_WebRequestManager$executeRequest(webRequest) {         /// <summary locid="M:J#Sys.Net.WebRequestManager.executeRequest" />         /// <param name="webRequest" type="Sys.Net.WebRequest"></param>         var e = Function._validateParams(arguments, [             {name: "webRequest", type: Sys.Net.WebRequest}         ]);         if (e) throw e;         var executor = webRequest.get_executor();         if (!executor) {             var failed = false;             try {                 var executorType = eval(this._defaultExecutorType);                 executor = new executorType();             } catch (e) {                 failed = true;             }             if (failed  || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {                 throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));             }             webRequest.set_executor(executor);         }         if (executor.get_aborted()) {             return;         }         var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest);         var handler = this._get_eventHandlerList().getHandler("invokingRequest");         if (handler) {             handler(this, evArgs);         }         if (!evArgs.get_cancel()) {             executor.executeRequest();         }     } Sys.Net._WebRequestManager.prototype = {     add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,     remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest,     add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest,     remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest,     _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList,     get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,     set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,     get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType,     set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType,     executeRequest: Sys$Net$_WebRequestManager$executeRequest } Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager();   Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) {     /// <summary locid="M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />     /// <param name="webRequest" type="Sys.Net.WebRequest"></param>     var e = Function._validateParams(arguments, [         {name: "webRequest", type: Sys.Net.WebRequest}     ]);     if (e) throw e;     Sys.Net.NetworkRequestEventArgs.initializeBase(this);     this._webRequest = webRequest; }     function Sys$Net$NetworkRequestEventArgs$get_webRequest() {         /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._webRequest;     } Sys.Net.NetworkRequestEventArgs.prototype = {     get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest } Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs);   Sys.Net.WebRequest = function Sys$Net$WebRequest() {     /// <summary locid="M:J#Sys.Net.WebRequest.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     this._url = "";     this._headers = { };     this._body = null;     this._userContext = null;     this._httpVerb = null;     this._executor = null;     this._invokeCalled = false;     this._timeout = 0; }     function Sys$Net$WebRequest$add_completed(handler) {     /// <summary locid="E:J#Sys.Net.WebRequest.completed" />     var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);     if (e) throw e;         this._get_eventHandlerList().addHandler("completed", handler);     }     function Sys$Net$WebRequest$remove_completed(handler) {     var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);     if (e) throw e;         this._get_eventHandlerList().removeHandler("completed", handler);     }     function Sys$Net$WebRequest$completed(eventArgs) {         /// <summary locid="M:J#Sys.Net.WebRequest.completed" />         /// <param name="eventArgs" type="Sys.EventArgs"></param>         var e = Function._validateParams(arguments, [             {name: "eventArgs", type: Sys.EventArgs}         ]);         if (e) throw e;         var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");         if (handler) {             handler(this._executor, eventArgs);         }         handler = this._get_eventHandlerList().getHandler("completed");         if (handler) {             handler(this._executor, eventArgs);         }     }     function Sys$Net$WebRequest$_get_eventHandlerList() {         if (!this._events) {             this._events = new Sys.EventHandlerList();         }         return this._events;     }     function Sys$Net$WebRequest$get_url() {         /// <value type="String" locid="P:J#Sys.Net.WebRequest.url"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._url;     }     function Sys$Net$WebRequest$set_url(value) {         var e = Function._validateParams(arguments, [{name: "value", type: String}]);         if (e) throw e;         this._url = value;     }     function Sys$Net$WebRequest$get_headers() {         /// <value locid="P:J#Sys.Net.WebRequest.headers"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._headers;     }     function Sys$Net$WebRequest$get_httpVerb() {         /// <value type="String" locid="P:J#Sys.Net.WebRequest.httpVerb"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (this._httpVerb === null) {             if (this._body === null) {                 return "GET";             }             return "POST";         }         return this._httpVerb;     }     function Sys$Net$WebRequest$set_httpVerb(value) {         var e = Function._validateParams(arguments, [{name: "value", type: String}]);         if (e) throw e;         if (value.length === 0) {             throw Error.argument('value', Sys.Res.invalidHttpVerb);         }         this._httpVerb = value;     }     function Sys$Net$WebRequest$get_body() {         /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.body"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._body;     }     function Sys$Net$WebRequest$set_body(value) {         var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);         if (e) throw e;         this._body = value;     }     function Sys$Net$WebRequest$get_userContext() {         /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.userContext"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._userContext;     }     function Sys$Net$WebRequest$set_userContext(value) {         var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);         if (e) throw e;         this._userContext = value;     }     function Sys$Net$WebRequest$get_executor() {         /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.Net.WebRequest.executor"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._executor;     }     function Sys$Net$WebRequest$set_executor(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]);         if (e) throw e;         if (this._executor !== null && this._executor.get_started()) {             throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);         }         this._executor = value;         this._executor._set_webRequest(this);     }     function Sys$Net$WebRequest$get_timeout() {         /// <value type="Number" locid="P:J#Sys.Net.WebRequest.timeout"></value>         if (arguments.length !== 0) throw Error.parameterCount();         if (this._timeout === 0) {             return Sys.Net.WebRequestManager.get_defaultTimeout();         }         return this._timeout;     }     function Sys$Net$WebRequest$set_timeout(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Number}]);         if (e) throw e;         if (value < 0) {             throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);         }         this._timeout = value;     }     function Sys$Net$WebRequest$getResolvedUrl() {         /// <summary locid="M:J#Sys.Net.WebRequest.getResolvedUrl" />         /// <returns type="String"></returns>         if (arguments.length !== 0) throw Error.parameterCount();         return Sys.Net.WebRequest._resolveUrl(this._url);     }     function Sys$Net$WebRequest$invoke() {         /// <summary locid="M:J#Sys.Net.WebRequest.invoke" />         if (arguments.length !== 0) throw Error.parameterCount();         if (this._invokeCalled) {             throw Error.invalidOperation(Sys.Res.invokeCalledTwice);         }         Sys.Net.WebRequestManager.executeRequest(this);         this._invokeCalled = true;     } Sys.Net.WebRequest.prototype = {     add_completed: Sys$Net$WebRequest$add_completed,     remove_completed: Sys$Net$WebRequest$remove_completed,     completed: Sys$Net$WebRequest$completed,     _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,     get_url: Sys$Net$WebRequest$get_url,     set_url: Sys$Net$WebRequest$set_url,     get_headers: Sys$Net$WebRequest$get_headers,     get_httpVerb: Sys$Net$WebRequest$get_httpVerb,     set_httpVerb: Sys$Net$WebRequest$set_httpVerb,     get_body: Sys$Net$WebRequest$get_body,     set_body: Sys$Net$WebRequest$set_body,     get_userContext: Sys$Net$WebRequest$get_userContext,     set_userContext: Sys$Net$WebRequest$set_userContext,     get_executor: Sys$Net$WebRequest$get_executor,     set_executor: Sys$Net$WebRequest$set_executor,     get_timeout: Sys$Net$WebRequest$get_timeout,     set_timeout: Sys$Net$WebRequest$set_timeout,     getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,     invoke: Sys$Net$WebRequest$invoke } Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {     if (url && url.indexOf('://') !== -1) {         return url;     }     if (!baseUrl || baseUrl.length === 0) {         var baseElement = document.getElementsByTagName('base')[0];         if (baseElement && baseElement.href && baseElement.href.length > 0) {             baseUrl = baseElement.href;         }         else {             baseUrl = document.URL;         }     }     var qsStart = baseUrl.indexOf('?');     if (qsStart !== -1) {         baseUrl = baseUrl.substr(0, qsStart);     }     qsStart = baseUrl.indexOf('#');     if (qsStart !== -1) {         baseUrl = baseUrl.substr(0, qsStart);     }     baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);     if (!url || url.length === 0) {         return baseUrl;     }     if (url.charAt(0) === '/') {         var slashslash = baseUrl.indexOf('://');         if (slashslash === -1) {             throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);         }         var nextSlash = baseUrl.indexOf('/', slashslash + 3);         if (nextSlash === -1) {             throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);         }         return baseUrl.substr(0, nextSlash) + url;     }     else {         var lastSlash = baseUrl.lastIndexOf('/');         if (lastSlash === -1) {             throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);         }         return baseUrl.substr(0, lastSlash+1) + url;     } } Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {     if (!encodeMethod)         encodeMethod = encodeURIComponent;     var sb = new Sys.StringBuilder();     var i = 0;     for (var arg in queryString) {         var obj = queryString[arg];         if (typeof(obj) === "function") continue;         var val = Sys.Serialization.JavaScriptSerializer.serialize(obj);         if (i !== 0) {             sb.append('&');         }         sb.append(arg);         sb.append('=');         sb.append(encodeMethod(val));         i++;     }     return sb.toString(); } Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString) {     if (!queryString) {         return url;     }     var qs = Sys.Net.WebRequest._createQueryString(queryString);     if (qs.length > 0) {         var sep = '?';         if (url && url.indexOf('?') !== -1)             sep = '&';         return url + sep + qs;     } else {         return url;     } } Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');   Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { }     function Sys$Net$WebServiceProxy$get_timeout() {         /// <value type="Number" locid="P:J#Sys.Net.WebServiceProxy.timeout"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._timeout;     }     function Sys$Net$WebServiceProxy$set_timeout(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Number}]);         if (e) throw e;         if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); }         this._timeout = value;     }     function Sys$Net$WebServiceProxy$get_defaultUserContext() {         /// <value mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._userContext;     }     function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {         var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);         if (e) throw e;         this._userContext = value;     }     function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._succeeded;     }     function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._succeeded = value;     }     function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._failed;     }     function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._failed = value;     }     function Sys$Net$WebServiceProxy$get_path() {         /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.path"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._path;     }     function Sys$Net$WebServiceProxy$set_path(value) {         var e = Function._validateParams(arguments, [{name: "value", type: String}]);         if (e) throw e;         this._path = value;     }     function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) {         /// <summary locid="M:J#Sys.Net.WebServiceProxy._invoke" />         /// <param name="servicePath" type="String"></param>         /// <param name="methodName" type="String"></param>         /// <param name="useGet" type="Boolean"></param>         /// <param name="params"></param>         /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>         /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>         /// <param name="userContext" mayBeNull="true" optional="true"></param>         /// <returns type="Sys.Net.WebRequest"></returns>         var e = Function._validateParams(arguments, [             {name: "servicePath", type: String},             {name: "methodName", type: String},             {name: "useGet", type: Boolean},             {name: "params"},             {name: "onSuccess", type: Function, mayBeNull: true, optional: true},             {name: "onFailure", type: Function, mayBeNull: true, optional: true},             {name: "userContext", mayBeNull: true, optional: true}         ]);         if (e) throw e;         if (onSuccess === null || typeof onSuccess === 'undefined') onSuccess = this.get_defaultSucceededCallback();         if (onFailure === null || typeof onFailure === 'undefined') onFailure = this.get_defaultFailedCallback();         if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext();                 return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout());     } Sys.Net.WebServiceProxy.prototype = {     get_timeout: Sys$Net$WebServiceProxy$get_timeout,     set_timeout: Sys$Net$WebServiceProxy$set_timeout,     get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext,     set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext,     get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback,     set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback,     get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback,     set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback,     get_path: Sys$Net$WebServiceProxy$get_path,     set_path: Sys$Net$WebServiceProxy$set_path,     _invoke: Sys$Net$WebServiceProxy$_invoke } Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout) {     /// <summary locid="M:J#Sys.Net.WebServiceProxy.invoke" />     /// <param name="servicePath" type="String"></param>     /// <param name="methodName" type="String"></param>     /// <param name="useGet" type="Boolean" optional="true"></param>     /// <param name="params" mayBeNull="true" optional="true"></param>     /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>     /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>     /// <param name="userContext" mayBeNull="true" optional="true"></param>     /// <param name="timeout" type="Number" optional="true"></param>     /// <returns type="Sys.Net.WebRequest"></returns>     var e = Function._validateParams(arguments, [         {name: "servicePath", type: String},         {name: "methodName", type: String},         {name: "useGet", type: Boolean, optional: true},         {name: "params", mayBeNull: true, optional: true},         {name: "onSuccess", type: Function, mayBeNull: true, optional: true},         {name: "onFailure", type: Function, mayBeNull: true, optional: true},         {name: "userContext", mayBeNull: true, optional: true},         {name: "timeout", type: Number, optional: true}     ]);     if (e) throw e;     var request = new Sys.Net.WebRequest();     request.get_headers()['Content-Type'] = 'application/json; charset=utf-8';     if (!params) params = {};     var urlParams = params;     if (!useGet || !urlParams) urlParams = {};     request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName), urlParams));     var body = null;     if (!useGet) {         body = Sys.Serialization.JavaScriptSerializer.serialize(params);         if (body === "{}") body = "";     }     request.set_body(body);     request.add_completed(onComplete);     if (timeout && timeout > 0) request.set_timeout(timeout);     request.invoke();     function onComplete(response, eventArgs) {         if (response.get_responseAvailable()) {             var statusCode = response.get_statusCode();             var result = null;                        try {                 var contentType = response.getResponseHeader("Content-Type");                 if (contentType.startsWith("application/json")) {                     result = response.get_object();                 }                 else if (contentType.startsWith("text/xml")) {                     result = response.get_xml();                 }                 else {                     result = response.get_responseData();                 }             } catch (ex) {             }             var error = response.getResponseHeader("jsonerror");             var errorObj = (error === "true");             if (errorObj) {                 if (result) {                     result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType);                 }             }             else if (contentType.startsWith("application/json")) {                 if (!result || typeof(result.d) === "undefined") {                     throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName));                 }                 result = result.d;             }             if (((statusCode < 200) || (statusCode >= 300)) || errorObj) {                 if (onFailure) {                     if (!result || !errorObj) {                         result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");                     }                     result._statusCode = statusCode;                     onFailure(result, userContext, methodName);                 }                 else {                     var error;                     if (result && errorObj) {                         error = result.get_exceptionType() + "-- " + result.get_message();                     }                     else {                         error = response.get_responseData();                     }                     throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));                 }             }             else if (onSuccess) {                 onSuccess(result, userContext, methodName);             }         }         else {             var msg;             if (response.get_timedOut()) {                 msg = String.format(Sys.Res.webServiceTimedOut, methodName);             }             else {                 msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName)             }             if (onFailure) {                 onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName);             }             else {                 throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg);             }         }     }     return request; } Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {     var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage;     var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName });     e.popStackFrame();     return e; } Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {     var error = err.get_exceptionType() + "-- " + err.get_message();     throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); } Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {     return function(properties) {         if (properties) {             for (var name in properties) {                 this[name] = properties[name];             }         }         this.__type = type;     } }   Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType) {     /// <summary locid="M:J#Sys.Net.WebServiceError.#ctor" />     /// <param name="timedOut" type="Boolean"></param>     /// <param name="message" type="String" mayBeNull="true"></param>     /// <param name="stackTrace" type="String" mayBeNull="true"></param>     /// <param name="exceptionType" type="String" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "timedOut", type: Boolean},         {name: "message", type: String, mayBeNull: true},         {name: "stackTrace", type: String, mayBeNull: true},         {name: "exceptionType", type: String, mayBeNull: true}     ]);     if (e) throw e;     this._timedOut = timedOut;     this._message = message;     this._stackTrace = stackTrace;     this._exceptionType = exceptionType;     this._statusCode = -1; }     function Sys$Net$WebServiceError$get_timedOut() {         /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceError.timedOut"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._timedOut;     }     function Sys$Net$WebServiceError$get_statusCode() {         /// <value type="Number" locid="P:J#Sys.Net.WebServiceError.statusCode"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._statusCode;     }     function Sys$Net$WebServiceError$get_message() {         /// <value type="String" locid="P:J#Sys.Net.WebServiceError.message"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._message;     }     function Sys$Net$WebServiceError$get_stackTrace() {         /// <value type="String" locid="P:J#Sys.Net.WebServiceError.stackTrace"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._stackTrace;     }     function Sys$Net$WebServiceError$get_exceptionType() {         /// <value type="String" locid="P:J#Sys.Net.WebServiceError.exceptionType"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._exceptionType;     } Sys.Net.WebServiceError.prototype = {     get_timedOut: Sys$Net$WebServiceError$get_timedOut,     get_statusCode: Sys$Net$WebServiceError$get_statusCode,     get_message: Sys$Net$WebServiceError$get_message,     get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,     get_exceptionType: Sys$Net$WebServiceError$get_exceptionType } Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); Type.registerNamespace('Sys.Services'); Sys.Services._ProfileService = function Sys$Services$_ProfileService() {     /// <summary locid="M:J#Sys.Net.ProfileService.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     Sys.Services._ProfileService.initializeBase(this);     this.properties = {}; } Sys.Services._ProfileService.DefaultWebServicePath = '';     function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.defaultLoadCompletedCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultLoadCompletedCallback;     }     function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._defaultLoadCompletedCallback = value;     }     function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.defaultSaveCompletedCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultSaveCompletedCallback;     }     function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._defaultSaveCompletedCallback = value;     }     function Sys$Services$_ProfileService$get_path() {         /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.path"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._path || '';     }     function Sys$Services$_ProfileService$load(propertyNames, loadCompletedCallback, failedCallback, userContext) {         /// <summary locid="M:J#Sys.Services.ProfileService.load" />         /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param>         /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="userContext" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String},             {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true},             {name: "failedCallback", type: Function, mayBeNull: true, optional: true},             {name: "userContext", mayBeNull: true, optional: true}         ]);         if (e) throw e;         var parameters;         var methodName;         if (!propertyNames) {             methodName = "GetAllPropertiesForCurrentUser";             parameters = { authenticatedUserOnly: false };         }         else {             methodName = "GetPropertiesForCurrentUser";             parameters = { properties: this._clonePropertyNames(propertyNames), authenticatedUserOnly: false };         }         this._invoke(this._get_path(),                                         methodName,                                         false,                                         parameters,                                         Function.createDelegate(this, this._onLoadComplete),                                         Function.createDelegate(this, this._onLoadFailed),                                         [loadCompletedCallback, failedCallback, userContext]);     }     function Sys$Services$_ProfileService$save(propertyNames, saveCompletedCallback, failedCallback, userContext) {         /// <summary locid="M:J#Sys.Services.ProfileService.save" />         /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param>         /// <param name="saveCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="userContext" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String},             {name: "saveCompletedCallback", type: Function, mayBeNull: true, optional: true},             {name: "failedCallback", type: Function, mayBeNull: true, optional: true},             {name: "userContext", mayBeNull: true, optional: true}         ]);         if (e) throw e;         var flattenedProperties = this._flattenProperties(propertyNames, this.properties);         this._invoke(this._get_path(),                                         "SetPropertiesForCurrentUser",                                         false,                                         { values: flattenedProperties.value, authenticatedUserOnly: false },                                         Function.createDelegate(this, this._onSaveComplete),                                         Function.createDelegate(this, this._onSaveFailed),                                         [saveCompletedCallback, failedCallback, userContext, flattenedProperties.count]);     }     function Sys$Services$_ProfileService$_clonePropertyNames(arr) {         var nodups = [];         var seen = {};         for (var i=0; i < arr.length; i++) {             var prop = arr[i];             if(!seen[prop]) { Array.add(nodups, prop); seen[prop]=true; };         }         return nodups;     }     function Sys$Services$_ProfileService$_flattenProperties(propertyNames, properties, groupName) {         var flattenedProperties = {};         var val;         var key;         var count = 0;         if (propertyNames && propertyNames.length === 0) {             return { value: flattenedProperties, count: 0 };         }         for (var property in properties) {             val = properties[property];             key = groupName ? groupName + "." + property : property;             if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {                 var obj = this._flattenProperties(propertyNames, val, key);                 var groupProperties = obj.value;                 count += obj.count;                 for(var subKey in groupProperties) {                     var subVal = groupProperties[subKey];                     flattenedProperties[subKey] = subVal;                 }             }             else {                 if(!propertyNames || Array.indexOf(propertyNames, key) !== -1) {                     flattenedProperties[key] = val;                     count++;                 }             }         }         return { value: flattenedProperties, count: count };     }     function Sys$Services$_ProfileService$_get_path() {         var path = this.get_path();         if (!path.length) {             path = Sys.Services._ProfileService.DefaultWebServicePath;         }         if (!path || !path.length) {             throw Error.invalidOperation(Sys.Res.servicePathNotSet);         }         return path;     }     function Sys$Services$_ProfileService$_onLoadComplete(result, context, methodName) {         if (typeof(result) !== "object") {             throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Object"));         }         var unflattened = this._unflattenProperties(result);         for (var name in unflattened) {             this.properties[name] = unflattened[name];         }                 var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback();         if (callback) {             var userContext = context[2] || this.get_defaultUserContext();                    callback(result.length, userContext, "Sys.Services.ProfileService.load");         }     }     function Sys$Services$_ProfileService$_onLoadFailed(err, context, methodName) {         var callback = context[1] || this.get_defaultFailedCallback();         if (callback) {             var userContext = context[2] || this.get_defaultUserContext();                    callback(err, userContext, "Sys.Services.ProfileService.load");         }         else {             Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);         }     }     function Sys$Services$_ProfileService$_onSaveComplete(result, context, methodName) {         var count = context[3];         if (result !== null) {             if (result instanceof Array) {                 count -= result.length;             }             else if (typeof(result) === 'number') {                 count = result;             }             else {                 throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array"));             }         }                 var callback = context[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback();         if (callback) {             var userContext = context[2] || this.get_defaultUserContext();             callback(count, userContext, "Sys.Services.ProfileService.save");         }     }     function Sys$Services$_ProfileService$_onSaveFailed(err, context, methodName) {         var callback = context[1] || this.get_defaultFailedCallback();         if (callback) {             var userContext = context[2] || this.get_defaultUserContext();             callback(err, userContext, "Sys.Services.ProfileService.save");         }         else {             Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);         }     }     function Sys$Services$_ProfileService$_unflattenProperties(properties) {         var unflattenedProperties = {};         var dotIndex;         var val;         var count = 0;         for (var key in properties) {             count++;             val = properties[key];             dotIndex = key.indexOf('.');             if (dotIndex !== -1) {                 var groupName = key.substr(0, dotIndex);                 key = key.substr(dotIndex+1);                 var group = unflattenedProperties[groupName];                 if (!group || !Sys.Services.ProfileGroup.isInstanceOfType(group)) {                     group = new Sys.Services.ProfileGroup();                     unflattenedProperties[groupName] = group;                 }                 group[key] = val;             }             else {                 unflattenedProperties[key] = val;             }         }         properties.length = count;         return unflattenedProperties;     } Sys.Services._ProfileService.prototype = {     _defaultLoadCompletedCallback: null,     _defaultSaveCompletedCallback: null,     _path: '',     _timeout: 0,     get_defaultLoadCompletedCallback: Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,     set_defaultLoadCompletedCallback: Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,     get_defaultSaveCompletedCallback: Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,     set_defaultSaveCompletedCallback: Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,     get_path: Sys$Services$_ProfileService$get_path,     load: Sys$Services$_ProfileService$load,     save: Sys$Services$_ProfileService$save,     _clonePropertyNames: Sys$Services$_ProfileService$_clonePropertyNames,        _flattenProperties: Sys$Services$_ProfileService$_flattenProperties,     _get_path: Sys$Services$_ProfileService$_get_path,        _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,     _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,     _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,     _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,     _unflattenProperties: Sys$Services$_ProfileService$_unflattenProperties } Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService', Sys.Net.WebServiceProxy); Sys.Services.ProfileService = new Sys.Services._ProfileService(); Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties) {     /// <summary locid="M:J#Sys.Services.ProfileGroup.#ctor" />     /// <param name="properties" optional="true" mayBeNull="true"></param>     var e = Function._validateParams(arguments, [         {name: "properties", mayBeNull: true, optional: true}     ]);     if (e) throw e;     if (properties) {         for (var property in properties) {             this[property] = properties[property];         }     } } Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup'); Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService() {     /// <summary locid="M:J#Sys.Services.AuthenticationService.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     Sys.Services._AuthenticationService.initializeBase(this); } Sys.Services._AuthenticationService.DefaultWebServicePath = '';     function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.defaultLoginCompletedCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultLoginCompletedCallback;     }     function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._defaultLoginCompletedCallback = value;     }     function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.defaultLogoutCompletedCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultLogoutCompletedCallback;     }     function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._defaultLogoutCompletedCallback = value;     }     function Sys$Services$_AuthenticationService$get_isLoggedIn() {         /// <value type="Boolean" locid="P:J#Sys.Services.AuthenticationService.isLoggedIn"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._authenticated;     }     function Sys$Services$_AuthenticationService$get_path() {         /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.path"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._path || '';     }     function Sys$Services$_AuthenticationService$login(username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext) {         /// <summary locid="M:J#Sys.Services.AuthenticationService.login" />         /// <param name="username" type="String" mayBeNull="false"></param>         /// <param name="password" type="String" mayBeNull="true"></param>         /// <param name="isPersistent" type="Boolean" optional="true" mayBeNull="true"></param>         /// <param name="customInfo" type="String" optional="true" mayBeNull="true"></param>         /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param>         /// <param name="loginCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="userContext" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "username", type: String},             {name: "password", type: String, mayBeNull: true},             {name: "isPersistent", type: Boolean, mayBeNull: true, optional: true},             {name: "customInfo", type: String, mayBeNull: true, optional: true},             {name: "redirectUrl", type: String, mayBeNull: true, optional: true},             {name: "loginCompletedCallback", type: Function, mayBeNull: true, optional: true},             {name: "failedCallback", type: Function, mayBeNull: true, optional: true},             {name: "userContext", mayBeNull: true, optional: true}         ]);         if (e) throw e;         this._invoke(this._get_path(), "Login", false,                                         { userName: username, password: password, createPersistentCookie: isPersistent },                                         Function.createDelegate(this, this._onLoginComplete),                                         Function.createDelegate(this, this._onLoginFailed),                                         [username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext]);     }     function Sys$Services$_AuthenticationService$logout(redirectUrl, logoutCompletedCallback, failedCallback, userContext) {         /// <summary locid="M:J#Sys.Services.AuthenticationService.logout" />         /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param>         /// <param name="logoutCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="userContext" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "redirectUrl", type: String, mayBeNull: true, optional: true},             {name: "logoutCompletedCallback", type: Function, mayBeNull: true, optional: true},             {name: "failedCallback", type: Function, mayBeNull: true, optional: true},             {name: "userContext", mayBeNull: true, optional: true}         ]);         if (e) throw e;         this._invoke(this._get_path(), "Logout", false, {},                                         Function.createDelegate(this, this._onLogoutComplete),                                         Function.createDelegate(this, this._onLogoutFailed),                                         [redirectUrl, logoutCompletedCallback, failedCallback, userContext]);     }     function Sys$Services$_AuthenticationService$_get_path() {         var path = this.get_path();         if(!path.length) {             path = Sys.Services._AuthenticationService.DefaultWebServicePath;         }         if(!path || !path.length) {             throw Error.invalidOperation(Sys.Res.servicePathNotSet);         }         return path;     }     function Sys$Services$_AuthenticationService$_onLoginComplete(result, context, methodName) {         if(typeof(result) !== "boolean") {             throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Boolean"));         }                 var redirectUrl = context[4];         var userContext = context[7] || this.get_defaultUserContext();         var callback = context[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback();                 if(result) {             this._authenticated = true;             if (callback) {                 callback(true, userContext, "Sys.Services.AuthenticationService.login");             }                         if (typeof(redirectUrl) !== "undefined" && redirectUrl !== null) {                 window.location.href = redirectUrl;             }         }         else if (callback) {             callback(false, userContext, "Sys.Services.AuthenticationService.login");         }     }     function Sys$Services$_AuthenticationService$_onLoginFailed(err, context, methodName) {         var callback = context[6] || this.get_defaultFailedCallback();         if (callback) {             var userContext = context[7] || this.get_defaultUserContext();             callback(err, userContext, "Sys.Services.AuthenticationService.login");         }         else {             Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);         }     }     function Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, methodName) {         if(result !== null) {             throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "null"));         }                 var redirectUrl = context[0];         var userContext = context[3] || this.get_defaultUserContext();         var callback = context[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback();         this._authenticated = false;                 if (callback) {             callback(null, userContext, "Sys.Services.AuthenticationService.logout");         }                 if(!redirectUrl) {             window.location.reload();         }         else {             window.location.href = redirectUrl;         }     }     function Sys$Services$_AuthenticationService$_onLogoutFailed(err, context, methodName) {         var callback = context[2] || this.get_defaultFailedCallback();         if (callback) {             callback(err, context[3], "Sys.Services.AuthenticationService.logout");         }         else {             Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);         }     }     function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {         this._authenticated = authenticated;     } Sys.Services._AuthenticationService.prototype = {     _defaultLoginCompletedCallback: null,     _defaultLogoutCompletedCallback: null,     _path: '',     _timeout: 0,     _authenticated: false,     get_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,     set_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,     get_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,     set_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,     get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,     get_path: Sys$Services$_AuthenticationService$get_path,      login: Sys$Services$_AuthenticationService$login,     logout: Sys$Services$_AuthenticationService$logout,     _get_path: Sys$Services$_AuthenticationService$_get_path,     _onLoginComplete: Sys$Services$_AuthenticationService$_onLoginComplete,     _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,     _onLogoutComplete: Sys$Services$_AuthenticationService$_onLogoutComplete,     _onLogoutFailed: Sys$Services$_AuthenticationService$_onLogoutFailed,     _setAuthenticated: Sys$Services$_AuthenticationService$_setAuthenticated    } Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService', Sys.Net.WebServiceProxy); Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService(); Sys.Services._RoleService = function Sys$Services$_RoleService() {     /// <summary locid="M:J#Sys.Services.RoleService.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount();     Sys.Services._RoleService.initializeBase(this);     this._roles = []; } Sys.Services._RoleService.DefaultWebServicePath = '';     function Sys$Services$_RoleService$get_defaultLoadCompletedCallback() {         /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.RoleService.defaultLoadCompletedCallback"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._defaultLoadCompletedCallback;     }     function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) {         var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);         if (e) throw e;         this._defaultLoadCompletedCallback = value;     }     function Sys$Services$_RoleService$get_path() {         /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.RoleService.path"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._path || '';     }     function Sys$Services$_RoleService$get_roles() {         /// <value type="Array" elementType="String" mayBeNull="false" locid="P:J#Sys.Services.RoleService.roles"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return Array.clone(this._roles);     }     function Sys$Services$_RoleService$isUserInRole(role) {         /// <summary locid="M:J#Sys.Services.RoleService.isUserInRole" />         /// <param name="role" type="String" mayBeNull="false"></param>         /// <returns type="Boolean"></returns>         var e = Function._validateParams(arguments, [             {name: "role", type: String}         ]);         if (e) throw e;         var v = this._get_rolesIndex()[role.trim().toLowerCase()];         return !!v;     }     function Sys$Services$_RoleService$load(loadCompletedCallback, failedCallback, userContext) {         /// <summary locid="M:J#Sys.Services.RoleService.load" />         /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>         /// <param name="userContext" optional="true" mayBeNull="true"></param>         var e = Function._validateParams(arguments, [             {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true},             {name: "failedCallback", type: Function, mayBeNull: true, optional: true},             {name: "userContext", mayBeNull: true, optional: true}         ]);         if (e) throw e;         Sys.Net.WebServiceProxy.invoke(                     this._get_path(),                     "GetRolesForCurrentUser",                     false,                     {} ,                     Function.createDelegate(this, this._onLoadComplete),                     Function.createDelegate(this, this._onLoadFailed),                     [loadCompletedCallback, failedCallback, userContext],                     this.get_timeout());     }     function Sys$Services$_RoleService$_get_path() {         var path = this.get_path();         if(!path || !path.length) {             path = Sys.Services._RoleService.DefaultWebServicePath;         }         if(!path || !path.length) {             throw Error.invalidOperation(Sys.Res.servicePathNotSet);         }         return path;     }     function Sys$Services$_RoleService$_get_rolesIndex() {         if (!this._rolesIndex) {             var index = {};             for(var i=0; i < this._roles.length; i++) {                 index[this._roles[i].toLowerCase()] = true;             }             this._rolesIndex = index;         }         return this._rolesIndex;     }     function Sys$Services$_RoleService$_onLoadComplete(result, context, methodName) {         if(result && !(result instanceof Array)) {             throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array"));         }         this._roles = result;         this._rolesIndex = null;         var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback();         if (callback) {             var userContext = context[2] || this.get_defaultUserContext();             var clonedResult = Array.clone(result);             callback(clonedResult, userContext, "Sys.Services.RoleService.load");         }     }     function Sys$Services$_RoleService$_onLoadFailed(err, context, methodName) {         var callback = context[1] || this.get_defaultFailedCallback();         if (callback) {             var userContext = context[2] || this.get_defaultUserContext();             callback(err, userContext, "Sys.Services.RoleService.load");         }         else {             Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);         }     } Sys.Services._RoleService.prototype = {     _defaultLoadCompletedCallback: null,     _rolesIndex: null,     _timeout: 0,     _path: '',     get_defaultLoadCompletedCallback: Sys$Services$_RoleService$get_defaultLoadCompletedCallback,     set_defaultLoadCompletedCallback: Sys$Services$_RoleService$set_defaultLoadCompletedCallback,     get_path: Sys$Services$_RoleService$get_path,     get_roles: Sys$Services$_RoleService$get_roles,     isUserInRole: Sys$Services$_RoleService$isUserInRole,     load: Sys$Services$_RoleService$load,     _get_path: Sys$Services$_RoleService$_get_path,      _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex,     _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete,     _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed } Sys.Services._RoleService.registerClass('Sys.Services._RoleService', Sys.Net.WebServiceProxy); Sys.Services.RoleService = new Sys.Services._RoleService(); Type.registerNamespace('Sys.Serialization'); Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() {     /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.#ctor" />     if (arguments.length !== 0) throw Error.parameterCount(); } Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; Sys.Serialization.JavaScriptSerializer._charsToEscape = []; Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); Sys.Serialization.JavaScriptSerializer._escapeChars = {}; Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() {     var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007',                         '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011',                         '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019',                         '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f'];     Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\';     Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g');     Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\';     Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"';     Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g');     Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"';     for (var i = 0; i < 32; i++) {         var c = String.fromCharCode(i);         Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c;         Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g');         Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i];     } } Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) {     stringBuilder.append(object.toString()); } Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) {     if (isFinite(object)) {         stringBuilder.append(String(object));     }     else {         throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);     } } Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) {     stringBuilder.append('"');     if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) {         if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) {             Sys.Serialization.JavaScriptSerializer._init();         }         if (string.length < 128) {             string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,                 function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; });         }         else {             for (var i = 0; i < 34; i++) {                 var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i];                 if (string.indexOf(c) !== -1) {                     if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) {                         string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]);                     }                     else {                         string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c],                             Sys.Serialization.JavaScriptSerializer._escapeChars[c]);                     }                 }             }        }     }     stringBuilder.append(string);     stringBuilder.append('"'); } Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) {     var i;     switch (typeof object) {     case 'object':         if (object) {             if (prevObjects){                 for( var j = 0; j < prevObjects.length; j++) {                     if (prevObjects[j] === object) {                         throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);                     }                 }             }             else {                 prevObjects = new Array();             }             try {                 Array.add(prevObjects, object);                                 if (Number.isInstanceOfType(object)){                     Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder);                 }                 else if (Boolean.isInstanceOfType(object)){                     Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder);                 }                 else if (String.isInstanceOfType(object)){                     Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder);                 }                             else if (Array.isInstanceOfType(object)) {                     stringBuilder.append('[');                                        for (i = 0; i < object.length; ++i) {                         if (i > 0) {                             stringBuilder.append(',');                         }                         Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects);                     }                     stringBuilder.append(']');                 }                 else {                     if (Date.isInstanceOfType(object)) {                         stringBuilder.append('"\\/Date(');                         stringBuilder.append(object.getTime());                         stringBuilder.append(')\\/"');                         break;                     }                     var properties = [];                     var propertyCount = 0;                     for (var name in object) {                         if (name.startsWith('$')) {                             continue;                         }                         if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){                             properties[propertyCount++] = properties[0];                             properties[0] = name;                         }                         else{                             properties[propertyCount++] = name;                         }                     }                     if (sort) properties.sort();                     stringBuilder.append('{');                     var needComma = false;                                          for (i=0; i<propertyCount; i++) {                         var value = object[properties[i]];                         if (typeof value !== 'undefined' && typeof value !== 'function') {                             if (needComma) {                                 stringBuilder.append(',');                             }                             else {                                 needComma = true;                             }                                                        Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i], stringBuilder, sort, prevObjects);                             stringBuilder.append(':');                             Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, stringBuilder, sort, prevObjects);                                                   }                     }                 stringBuilder.append('}');                 }             }             finally {                 Array.removeAt(prevObjects, prevObjects.length - 1);             }         }         else {             stringBuilder.append('null');         }         break;     case 'number':         Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder);         break;     case 'string':         Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder);         break;     case 'boolean':         Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder);         break;     default:         stringBuilder.append('null');         break;     } } Sys.Serialization.JavaScriptSerializer.serialize = function Sys$Serialization$JavaScriptSerializer$serialize(object) {     /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.serialize" />     /// <param name="object" mayBeNull="true"></param>     /// <returns type="String"></returns>     var e = Function._validateParams(arguments, [         {name: "object", mayBeNull: true}     ]);     if (e) throw e;     var stringBuilder = new Sys.StringBuilder();     Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false);     return stringBuilder.toString(); } Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) {     /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.deserialize" />     /// <param name="data" type="String"></param>     /// <param name="secure" type="Boolean" optional="true"></param>     /// <returns></returns>     var e = Function._validateParams(arguments, [         {name: "data", type: String},         {name: "secure", type: Boolean, optional: true}     ]);     if (e) throw e;         if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString);     try {            var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)");                 if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(              exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null;         return eval('(' + exp + ')');     }     catch (e) {          throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson);     } }   Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) {     /// <summary locid="M:J#Sys.CultureInfo.#ctor" />     /// <param name="name" type="String"></param>     /// <param name="numberFormat" type="Object"></param>     /// <param name="dateTimeFormat" type="Object"></param>     var e = Function._validateParams(arguments, [         {name: "name", type: String},         {name: "numberFormat", type: Object},         {name: "dateTimeFormat", type: Object}     ]);     if (e) throw e;     this.name = name;     this.numberFormat = numberFormat;     this.dateTimeFormat = dateTimeFormat; }     function Sys$CultureInfo$_getDateTimeFormats() {         if (! this._dateTimeFormats) {             var dtf = this.dateTimeFormat;             this._dateTimeFormats =               [ dtf.MonthDayPattern,                 dtf.YearMonthPattern,                 dtf.ShortDatePattern,                 dtf.ShortTimePattern,                 dtf.LongDatePattern,                 dtf.LongTimePattern,                 dtf.FullDateTimePattern,                 dtf.RFC1123Pattern,                 dtf.SortableDateTimePattern,                 dtf.UniversalSortableDateTimePattern ];         }         return this._dateTimeFormats;     }     function Sys$CultureInfo$_getMonthIndex(value) {         if (!this._upperMonths) {             this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames);         }         return Array.indexOf(this._upperMonths, this._toUpper(value));     }     function Sys$CultureInfo$_getAbbrMonthIndex(value) {         if (!this._upperAbbrMonths) {             this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);         }         return Array.indexOf(this._upperAbbrMonths, this._toUpper(value));     }     function Sys$CultureInfo$_getDayIndex(value) {         if (!this._upperDays) {             this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames);         }         return Array.indexOf(this._upperDays, this._toUpper(value));     }     function Sys$CultureInfo$_getAbbrDayIndex(value) {         if (!this._upperAbbrDays) {             this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);         }         return Array.indexOf(this._upperAbbrDays, this._toUpper(value));     }     function Sys$CultureInfo$_toUpperArray(arr) {         var result = [];         for (var i = 0, il = arr.length; i < il; i++) {             result[i] = this._toUpper(arr[i]);         }         return result;     }     function Sys$CultureInfo$_toUpper(value) {         return value.split("\u00A0").join(' ').toUpperCase();     } Sys.CultureInfo.prototype = {     _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,     _getMonthIndex: Sys$CultureInfo$_getMonthIndex,     _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,     _getDayIndex: Sys$CultureInfo$_getDayIndex,     _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,     _toUpperArray: Sys$CultureInfo$_toUpperArray,     _toUpper: Sys$CultureInfo$_toUpper } Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) {     var cultureInfo = Sys.Serialization.JavaScriptSerializer.deserialize(value);     return new Sys.CultureInfo(cultureInfo.name, cultureInfo.numberFormat, cultureInfo.dateTimeFormat); } Sys.CultureInfo.registerClass('Sys.CultureInfo'); Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}'); if (typeof(__cultureInfo) === 'undefined') {     var __cultureInfo = '{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}'; } Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); delete __cultureInfo;   Sys.UI.Behavior = function Sys$UI$Behavior(element) {     /// <summary locid="M:J#Sys.UI.Behavior.#ctor" />     /// <param name="element" domElement="true"></param>     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() {         /// <value domElement="true" locid="P:J#Sys.UI.Behavior.element"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._element;     }     function Sys$UI$Behavior$get_id() {         /// <value type="String" locid="P:J#Sys.UI.Behavior.id"></value>         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() {         /// <value type="String" locid="P:J#Sys.UI.Behavior.name"></value>         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');         if (this._element) {             var name = this.get_name();             if (name) {                 this._element[name] = null;             }             Array.remove(this._element._behaviors, this);             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) {     /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorByName" />     /// <param name="element" domElement="true"></param>     /// <param name="name" type="String"></param>     /// <returns type="Sys.UI.Behavior" mayBeNull="true"></returns>     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) {     /// <summary locid="M:J#Sys.UI.Behavior.getBehaviors" />     /// <param name="element" domElement="true"></param>     /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>     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) {     /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorsByType" />     /// <param name="element" domElement="true"></param>     /// <param name="type" type="Type"></param>     /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>     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() {     /// <summary locid="M:J#Sys.UI.VisibilityMode.#ctor" />     /// <field name="hide" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.hide"></field>     /// <field name="collapse" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.collapse"></field>     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) {     /// <summary locid="M:J#Sys.UI.Control.#ctor" />     /// <param name="element" domElement="true"></param>     var e = Function._validateParams(arguments, [         {name: "element", domElement: true}     ]);     if (e) throw e;     if (typeof(element.control) != 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);     Sys.UI.Control.initializeBase(this);     this._element = element;     element.control = this; }     function Sys$UI$Control$get_element() {         /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>         if (arguments.length !== 0) throw Error.parameterCount();         return this._element;     }     function Sys$UI$Control$get_id() {         /// <value type="String" locid="P:J#Sys.UI.Control.id"></value>         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() {         /// <value type="Sys.UI.Control" locid="P:J#Sys.UI.Control.parent"></value>         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_visibilityMode() {         /// <value type="Sys.UI.VisibilityMode" locid="P:J#Sys.UI.Control.visibilityMode"></value>         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() {         /// <value type="Boolean" locid="P:J#Sys.UI.Control.visible"></value>         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) {         /// <summary locid="M:J#Sys.UI.Control.addCssClass" />         /// <param name="className" type="String"></param>         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 = undefined;             delete this._element;         }         if (this._parent) delete this._parent;     }     function Sys$UI$Control$onBubbleEvent(source, args) {         /// <summary locid="M:J#Sys.UI.Control.onBubbleEvent" />         /// <param name="source"></param>         /// <param name="args" type="Sys.EventArgs"></param>         /// <returns type="Boolean"></returns>         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) {         /// <summary locid="M:J#Sys.UI.Control.raiseBubbleEvent" />         /// <param name="source"></param>         /// <param name="args" type="Sys.EventArgs"></param>         var e = Function._validateParams(arguments, [             {name: "source"},             {name: "args", type: Sys.EventArgs}         ]);         if (e) throw e;         var currentTarget = this.get_parent();         while (currentTarget) {             if (currentTarget.onBubbleEvent(source, args)) {                 return;             }             currentTarget = currentTarget.get_parent();         }     }     function Sys$UI$Control$removeCssClass(className) {         /// <summary locid="M:J#Sys.UI.Control.removeCssClass" />         /// <param name="className" type="String"></param>         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) {         /// <summary locid="M:J#Sys.UI.Control.toggleCssClass" />         /// <param name="className" type="String"></param>         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_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,     removeCssClass: Sys$UI$Control$removeCssClass,     toggleCssClass: Sys$UI$Control$toggleCssClass } Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);

    Type.registerNamespace('Sys'); Sys.Res={ "urlMustBeLessThan1024chars":"The history state must be small enough to not make the url larger than 1024 characters.", "argumentTypeName":"Value is not the name of an existing type.", "methodRegisteredTwice":"Method {0} has already been registered.", "cantSetIdAfterInit":"The id property can\u0027t be set on this object after initialization.", "cantBeCalledAfterDispose":"Can\u0027t be called after dispose.", "componentCantSetIdAfterAddedToApp":"The id property of a component can\u0027t be set after it\u0027s been added to the Application object.", "behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already exists or it is the name of an existing property on the target element.", "notATypeName":"Value is not a valid type name.", "typeShouldBeTypeOrString":"Value is not a valid type or a valid type name.", "historyInvalidHistorySettingCombination":"Cannot set enableHistory to false when ScriptManager.EnableHistory is true.", "stateMustBeStringDictionary":"The state object can only have null and string fields.", "boolTrueOrFalse":"Value must be \u0027true\u0027 or \u0027false\u0027.", "scriptLoadFailedNoHead":"ScriptLoader requires pages to contain a \u003chead\u003e element.", "stringFormatInvalid":"The format string is invalid.", "referenceNotFound":"Component \u0027{0}\u0027 was not found.", "enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t be used as an enum value name.", "eventHandlerNotFound":"Handler not found.", "circularParentChain":"The chain of control parents can\u0027t have circular references.", "undefinedEvent":"\u0027{0}\u0027 is not an event.", "notAMethod":"{0} is not a method.", "propertyUndefined":"\u0027{0}\u0027 is not a property or an existing field.", "historyCannotEnableHistory":"Cannot set enableHistory after initialization.", "eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.", "scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \u0027Display a notification about every script error\u0027 under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().", "propertyNotWritable":"\u0027{0}\u0027 is not a writable property.", "enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum value.", "controlAlreadyDefined":"A control is already associated with the element.", "addHandlerCantBeUsedForError":"Can\u0027t add a handler for the error event using this method. Please set the window.onerror property instead.", "namespaceContainsObject":"Object {0} already exists and is not a namespace.", "cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a function.", "invalidNameSpace":"Value is not a valid namespace identifier.", "notAnInterface":"Value is not a valid interface.", "eventHandlerNotFunction":"Handler must be a function.", "propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.", "typeRegisteredTwice":"Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.", "cantSetNameAfterInit":"The name property can\u0027t be set on this object after initialization.", "historyMissingFrame":"For the history feature to work in IE, the page must have an iFrame element with id \u0027__historyFrame\u0027 pointed to a page that gets its title from the \u0027title\u0027 query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.", "appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 can\u0027t be added to the application.", "historyCannotAddHistoryPointWithHistoryDisabled":"A history point can only be added if enableHistory is set to true.", "appComponentMustBeInitialized":"Components must be initialized before they are added to the Application object.", "baseNotAClass":"Value is not a class.", "methodNotFound":"No method found with name \u0027{0}\u0027.", "arrayParseBadFormat":"Value must be a valid string representation for an array. It must start with a \u0027[\u0027 and end with a \u0027]\u0027.", "stateFieldNameInvalid":"State field names must not contain any \u0027=\u0027 characters.", "cantSetId":"The id property can\u0027t be set on this object.", "historyMissingHiddenInput":"For the history feature to work in Safari 2, the page must have a hidden input element with id \u0027__history\u0027.", "stringFormatBraceMismatch":"The format string contains an unmatched opening or closing brace.", "enumValueNotInteger":"An enumeration definition can only contain integer values.", "propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 because it returned a null value.", "argumentDomNode":"Value must be a DOM element or a text node.", "componentCantSetIdTwice":"The id property of a component can\u0027t be set more than once.", "createComponentOnDom":"Value must be null for Components that are not Controls or Behaviors.", "createNotComponent":"{0} does not derive from Sys.Component.", "createNoDom":"Value must not be null for Controls and Behaviors.", "cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an id.", "badTypeName":"Value is not the name of the type being registered or the name is a reserved word.", "argumentInteger":"Value must be an integer.", "scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.", "invokeCalledTwice":"Cannot call invoke more than once.", "webServiceFailed":"The server method \u0027{0}\u0027 failed with the following error: {1}", "webServiceInvalidJsonWrapper":"The server method \u0027{0}\u0027 returned invalid data. The \u0027d\u0027 property is missing from the JSON wrapper.", "argumentType":"Object cannot be converted to the required type.", "argumentNull":"Value cannot be null.", "controlCantSetId":"The id property can\u0027t be set on a control.", "formatBadFormatSpecifier":"Format specifier was invalid.", "webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.", "argumentDomElement":"Value must be a DOM element.", "invalidExecutorType":"Could not create a valid Sys.Net.WebRequestExecutor from: {0}.", "cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is false.", "actualValue":"Actual value was {0}.", "enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.", "scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.", "parameterCount":"Parameter count mismatch.", "cannotDeserializeEmptyString":"Cannot deserialize empty string.", "formatInvalidString":"Input string was not in a correct format.", "invalidTimeout":"Value must be greater than or equal to zero.", "cannotAbortBeforeStart":"Cannot abort when executor has not started.", "argument":"Value does not fall within the expected range.", "cannotDeserializeInvalidJson":"Cannot deserialize. The data does not correspond to valid JSON.", "invalidHttpVerb":"httpVerb cannot be set to an empty or null string.", "nullWebRequest":"Cannot call executeRequest with a null webRequest.", "eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.", "cannotSerializeNonFiniteNumbers":"Cannot serialize non finite numbers.", "argumentUndefined":"Value cannot be undefined.", "webServiceInvalidReturnType":"The server method \u0027{0}\u0027 returned an invalid type. Expected type: {1}", "servicePathNotSet":"The path to the web service has not been set.", "argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be converted to type \u0027{1}\u0027.", "cannotCallOnceStarted":"Cannot call {0} once started.", "badBaseUrl1":"Base URL does not contain ://.", "badBaseUrl2":"Base URL does not contain another /.", "badBaseUrl3":"Cannot find last / in base URL.", "setExecutorAfterActive":"Cannot set executor after it has become active.", "paramName":"Parameter name: {0}", "cannotCallOutsideHandler":"Cannot call {0} outside of a completed event handler.", "cannotSerializeObjectWithCycle":"Cannot serialize object with cyclic reference within child properties.", "format":"One of the identified items was in an invalid format.", "assertFailedCaller":"Assertion Failed: {0}\r\nat {1}", "argumentOutOfRange":"Specified argument was out of the range of valid values.", "webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.", "notImplemented":"The method or operation is not implemented.", "assertFailed":"Assertion Failed: {0}", "invalidOperation":"Operation is not valid due to the current state of the object.", "breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?" };

    if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();

Children