Function.__typeName = 'Function';Function.__class = true;Function.createCallback = function Function$createCallback(method,context){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){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(){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){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){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){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){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){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){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){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){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){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){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(){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){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){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();return this.replace(/^\s+|\s+$/g,'');}
String.prototype.trimEnd = function String$trimEnd(){if (arguments.length !== 0) throw Error.parameterCount();return this.replace(/\s+$/,'');}
String.prototype.trimStart = function String$trimStart(){if (arguments.length !== 0) throw Error.parameterCount();return this.replace(/^\s+/,'');}
String.format = function String$format(format,args){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){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){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){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){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){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){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){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){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){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){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){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){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){var e = Function._validateParams(arguments,[{name: "array",type: Array,elementMayBeNull: true}
]);if (e) throw e;array.length = 0;}
Array.clone = function Array$clone(array){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){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){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){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){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){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){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){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){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();return (typeof(this.__baseType) === "undefined") ? null : this.__baseType;}
Type.prototype.getInterfaces = function Type$getInterfaces(){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(){if (arguments.length !== 0) throw Error.parameterCount();return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName;}
Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType){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){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){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){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){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){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){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return Array.clone(Sys.__rootNamespaces);}
Type.isClass = function Type$isClass(type){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){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){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){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){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){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){var e = Function._validateParams(arguments,[{name: "text",mayBeNull: true}
]);if (e) throw e;this._parts[this._parts.length] = text;}
function Sys$StringBuilder$appendLine(text){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(){if (arguments.length !== 0) throw Error.parameterCount();this._parts = [];this._value ={};this._len = 0;}
function Sys$StringBuilder$isEmpty(){if (arguments.length !== 0) throw Error.parameterCount();if (this._parts.length === 0) return true;return this.toString() === '';}
function Sys$StringBuilder$toString(separator){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(){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){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(){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){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){var e = Function._validateParams(arguments,[{name: "text"}
]);if (e) throw e;this._appendConsole(text);this._appendTrace(text);}
function Sys$_Debug$traceDump(object,name){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){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){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){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();this._list ={};}
function Sys$EventHandlerList$addHandler(id,handler){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();}
Sys.EventArgs.registerClass('Sys.EventArgs');Sys.EventArgs.Empty = new Sys.EventArgs();Sys.CancelEventArgs = function Sys$CancelEventArgs(){if (arguments.length !== 0) throw Error.parameterCount();Sys.CancelEventArgs.initializeBase(this);this._cancel = false;}
function Sys$CancelEventArgs$get_cancel(){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(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$INotifyPropertyChange$add_propertyChanged(handler){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){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$INotifyDisposing$add_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;throw Error.notImplemented();}
function Sys$INotifyDisposing$remove_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;throw Error.notImplemented();}
Sys.INotifyDisposing.prototype ={add_disposing: Sys$INotifyDisposing$add_disposing,remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component = function Sys$Component(){if (arguments.length !== 0) throw Error.parameterCount();if (Sys.Application) Sys.Application.registerDisposableObject(this);}
function Sys$Component$get_events(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._events){this._events = new Sys.EventHandlerList();}
return this._events;}
function Sys$Component$get_id(){if (arguments.length !== 0) throw Error.parameterCount();return this._id;}
function Sys$Component$set_id(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);this._idSet = true;var oldId = this.get_id();if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);this._id = value;}
function Sys$Component$get_isInitialized(){if (arguments.length !== 0) throw Error.parameterCount();return this._initialized;}
function Sys$Component$get_isUpdating(){if (arguments.length !== 0) throw Error.parameterCount();return this._updating;}
function Sys$Component$add_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("disposing",handler);}
function Sys$Component$remove_disposing(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("disposing",handler);}
function Sys$Component$add_propertyChanged(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("propertyChanged",handler);}
function Sys$Component$remove_propertyChanged(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("propertyChanged",handler);}
function Sys$Component$beginUpdate(){this._updating = true;}
function Sys$Component$dispose(){if (this._events){var handler = this._events.getHandler("disposing");if (handler){handler(this,Sys.EventArgs.Empty);}
}
delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this);}
function Sys$Component$endUpdate(){this._updating = false;if (!this._initialized) this.initialize();this.updated();}
function Sys$Component$initialize(){this._initialized = true;}
function Sys$Component$raisePropertyChanged(propertyName){var e = Function._validateParams(arguments,[{name: "propertyName",type: String}
]);if (e) throw e;if (!this._events) return;var handler = this._events.getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
}
function Sys$Component$updated(){}
Sys.Component.prototype ={_id: null,_idSet: false,_initialized: false,_updating: false,get_events: Sys$Component$get_events,get_id: Sys$Component$get_id,set_id: Sys$Component$set_id,get_isInitialized: Sys$Component$get_isInitialized,get_isUpdating: Sys$Component$get_isUpdating,add_disposing: Sys$Component$add_disposing,remove_disposing: Sys$Component$remove_disposing,add_propertyChanged: Sys$Component$add_propertyChanged,remove_propertyChanged: Sys$Component$remove_propertyChanged,beginUpdate: Sys$Component$beginUpdate,dispose: Sys$Component$dispose,endUpdate: Sys$Component$endUpdate,initialize: Sys$Component$initialize,raisePropertyChanged: Sys$Component$raisePropertyChanged,updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component',null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(target,properties){var e = Function._validateParams(arguments,[{name: "target"},{name: "properties"}
]);if (e) throw e;var current;var targetType = Object.getType(target);var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement);var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating();if (isComponent) target.beginUpdate();for (var name in properties){var val = properties[name];var getter = isObject ? null : target["get_" + name];if (isObject || typeof(getter) !== 'function'){var targetVal = target[name];if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined,name));if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)){target[name] = val;}
else{Sys$Component$_setProperties(targetVal,val);}
}
else{var setter = target["set_" + name];if (typeof(setter) === 'function'){setter.apply(target,[val]);}
else if (val instanceof Array){current = getter.apply(target);if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray,name));for (var i = 0,j = current.length,l= val.length;i < l;i++,j++){current[j] = val[i];}
}
else if ((typeof(val) === 'object') && (Object.getType(val) === Object)){current = getter.apply(target);if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined,name));Sys$Component$_setProperties(current,val);}
else{throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));}
}
}
if (isComponent) target.endUpdate();}
function Sys$Component$_setReferences(component,references){for (var name in references){var setter = component["set_" + name];var reference = $find(references[name]);if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound,references[name]));setter.apply(component,[reference]);}
}
var $create = Sys.Component.create = function Sys$Component$create(type,properties,events,references,element){var e = Function._validateParams(arguments,[{name: "type",type: Type},{name: "properties",mayBeNull: true,optional: true},{name: "events",mayBeNull: true,optional: true},{name: "references",mayBeNull: true,optional: true},{name: "element",mayBeNull: true,domElement: true,optional: true}
]);if (e) throw e;if (!type.inheritsFrom(Sys.Component)){throw Error.argument('type',String.format(Sys.Res.createNotComponent,type.getName()));}
if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)){if (!element) throw Error.argument('element',Sys.Res.createNoDom);}
else if (element) throw Error.argument('element',Sys.Res.createComponentOnDom);var component = (element ? new type(element): new type());var app = Sys.Application;var creatingComponents = app.get_isCreatingComponents();component.beginUpdate();if (properties){Sys$Component$_setProperties(component,properties);}
if (events){for (var name in events){if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent,name));if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);component["add_" + name](events[name]);}
}
if (component.get_id()){app.addComponent(component);}
if (creatingComponents){app._createdComponents[app._createdComponents.length] = component;if (references){app._addComponentToSecondPass(component,references);}
else{component.endUpdate();}
}
else{if (references){Sys$Component$_setReferences(component,references);}
component.endUpdate();}
return component;}
Sys.UI.MouseButton = function Sys$UI$MouseButton(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.MouseButton.prototype ={leftButton: 0,middleButton: 1,rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key = function Sys$UI$Key(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.Key.prototype ={backspace: 8,tab: 9,enter: 13,esc: 27,space: 32,pageUp: 33,pageDown: 34,end: 35,home: 36,left: 37,up: 38,right: 39,down: 40,del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.Point = function Sys$UI$Point(x,y){var e = Function._validateParams(arguments,[{name: "x",type: Number,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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();if (this.rawEvent.preventDefault){this.rawEvent.preventDefault();}
else if (window.event){this.rawEvent.returnValue = false;}
}
function Sys$UI$DomEvent$stopPropagation(){if (arguments.length !== 0) throw Error.parameterCount();if (this.rawEvent.stopPropagation){this.rawEvent.stopPropagation();}
else if (window.event){this.rawEvent.cancelBubble = true;}
}
Sys.UI.DomEvent.prototype ={preventDefault: Sys$UI$DomEvent$preventDefault,stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element,eventName,handler){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){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;if (!Sys.UI.DomElement.containsCssClass(element,className)){if (element.className === ''){element.className = className;}
else{element.className += ' ' + className;}
}
}
Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;return Array.contains(element.className.split(' '),className);}
Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;var offset = Sys.UI.DomElement.getLocation(element);return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth || 0,element.offsetHeight || 0);}
var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id,element){var e = Function._validateParams(arguments,[{name: "id",type: String},{name: "element",mayBeNull: true,domElement: true,optional: true}
]);if (e) throw e;if (!element) return document.getElementById(id);if (element.getElementById) return element.getElementById(id);var nodeQueue = [];var childNodes = element.childNodes;for (var i = 0;i < childNodes.length;i++){var node = childNodes[i];if (node.nodeType == 1){nodeQueue[nodeQueue.length] = node;}
}
while (nodeQueue.length){node = nodeQueue.shift();if (node.id == id){return node;}
childNodes = node.childNodes;for (i = 0;i < childNodes.length;i++){node = childNodes[i];if (node.nodeType == 1){nodeQueue[nodeQueue.length] = node;}
}
}
return null;}
switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:
Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (element.self || element.nodeType === 9) 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){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){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){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){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){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "x",type: Number,integer: true},{name: "y",type: Number,integer: true}
]);if (e) throw e;var style = element.style;style.position = 'absolute';style.left = x + "px";style.top = y + "px";}
Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element,className){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "className",type: String}
]);if (e) throw e;if (Sys.UI.DomElement.containsCssClass(element,className)){Sys.UI.DomElement.removeCssClass(element,className);}
else{Sys.UI.DomElement.addCssClass(element,className);}
}
Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ?
Sys.UI.VisibilityMode.hide :
Sys.UI.VisibilityMode.collapse;}
Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element,value){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "value",type: Sys.UI.VisibilityMode}
]);if (e) throw e;Sys.UI.DomElement._ensureOldDisplayMode(element);if (element._visibilityMode !== value){element._visibilityMode = value;if (Sys.UI.DomElement.getVisible(element) === false){if (element._visibilityMode === Sys.UI.VisibilityMode.hide){element.style.display = element._oldDisplayMode;}
else{element.style.display = 'none';}
}
element._visibilityMode = value;}
}
Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);if (!style) return true;return (style.visibility !== 'hidden') && (style.display !== 'none');}
Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element,value){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "value",type: Boolean}
]);if (e) throw e;if (value !== Sys.UI.DomElement.getVisible(element)){Sys.UI.DomElement._ensureOldDisplayMode(element);element.style.visibility = value ? 'visible' : 'hidden';if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)){element.style.display = element._oldDisplayMode;}
else{element.style.display = 'none';}
}
}
Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element){if (!element._oldDisplayMode){var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);element._oldDisplayMode = style ? style.display : null;if (!element._oldDisplayMode || element._oldDisplayMode === 'none'){switch(element.tagName.toUpperCase()){case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL':
case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM':
case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR':
case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD':
case 'TH': case 'TR': case 'UL':
element._oldDisplayMode = 'block';break;case 'LI':
element._oldDisplayMode = 'list-item';break;default:
element._oldDisplayMode = 'inline';}
}
}
}
Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element){var doc = element.ownerDocument || element.document || element;return doc.defaultView || doc.parentWindow;}
Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element){if (element.nodeType === 3) return null;var w = Sys.UI.DomElement._getWindow(element);if (element.documentElement) element = element.documentElement;var computedStyle = (w && (element !== w) && w.getComputedStyle) ?
w.getComputedStyle(element,null) :
element.currentStyle || element.style;if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style){var oldDisplay = element.style.display;var oldPosition = element.style.position;element.style.position = 'absolute';element.style.display = 'block';var style = w.getComputedStyle(element,null);element.style.display = oldDisplay;element.style.position = oldPosition;computedStyle ={};for (var n in style){computedStyle[n] = style[n];}
computedStyle.display = 'none';}
return computedStyle;}
Sys.IContainer = function Sys$IContainer(){throw Error.notImplemented();}
function Sys$IContainer$addComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$IContainer$removeComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$IContainer$findComponent(id){var e = Function._validateParams(arguments,[{name: "id",type: String}
]);if (e) throw e;throw Error.notImplemented();}
function Sys$IContainer$getComponents(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.IContainer.prototype ={addComponent: Sys$IContainer$addComponent,removeComponent: Sys$IContainer$removeComponent,findComponent: Sys$IContainer$findComponent,getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");Sys._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){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(){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){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){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){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){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(){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(){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){var e = Function._validateParams(arguments,[{name: "components",type: Array,elementType: Sys.Component},{name: "isPartialLoad",type: Boolean}
]);if (e) throw e;Sys.ApplicationLoadEventArgs.initializeBase(this);this._components = components;this._isPartialLoad = isPartialLoad;}
function Sys$ApplicationLoadEventArgs$get_components(){if (arguments.length !== 0) throw Error.parameterCount();return this._components;}
function Sys$ApplicationLoadEventArgs$get_isPartialLoad(){if (arguments.length !== 0) throw Error.parameterCount();return this._isPartialLoad;}
Sys.ApplicationLoadEventArgs.prototype ={get_components: Sys$ApplicationLoadEventArgs$get_components,get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs',Sys.EventArgs);Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state){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(){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._creatingComponents;}
function Sys$_Application$get_stateString(){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(){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){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;if (this._initialized){handler(this,Sys.EventArgs.Empty);}
else{this.get_events().addHandler("init",handler);}
}
function Sys$_Application$remove_init(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("init",handler);}
function Sys$_Application$add_load(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("load",handler);}
function Sys$_Application$remove_load(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("load",handler);}
function Sys$_Application$add_navigate(handler){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){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().addHandler("unload",handler);}
function Sys$_Application$remove_unload(handler){var e = Function._validateParams(arguments,[{name: "handler",type: Function}]);if (e) throw e;this.get_events().removeHandler("unload",handler);}
function Sys$_Application$addComponent(component){var e = Function._validateParams(arguments,[{name: "component",type: Sys.Component}
]);if (e) throw e;var id = component.get_id();if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent,id));this._components[id] = component;}
function Sys$_Application$addHistoryPoint(state,title){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(){if (arguments.length !== 0) throw Error.parameterCount();this._creatingComponents = true;}
function Sys$_Application$dispose(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._disposing){this._disposing = true;if (this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie;}
if (this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler;}
if (this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler;}
if (window.pageUnload){window.pageUnload(this,Sys.EventArgs.Empty);}
var unloadHandler = this.get_events().getHandler("unload");if (unloadHandler){unloadHandler(this,Sys.EventArgs.Empty);}
var disposableObjects = Array.clone(this._disposableObjects);for (var i = 0,l = disposableObjects.length;i < l;i++){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(){if (arguments.length !== 0) throw Error.parameterCount();var components = this._secondPassComponents;for (var i = 0,l = components.length;i < l;i++){var component = components[i].component;Sys$Component$_setReferences(component,components[i].references);component.endUpdate();}
this._secondPassComponents = [];this._creatingComponents = false;}
function Sys$_Application$findComponent(id,parent){var e = Function._validateParams(arguments,[{name: "id",type: String},{name: "parent",mayBeNull: true,optional: true}
]);if (e) throw e;return (parent ?
((Sys.IContainer.isInstanceOfType(parent)) ?
parent.findComponent(id) :
parent[id] || null) :
Sys.Application._components[id] || null);}
function Sys$_Application$getComponents(){if (arguments.length !== 0) throw Error.parameterCount();var res = [];var components = this._components;for (var name in components){res[res.length] = components[name];}
return res;}
function Sys$_Application$initialize(){if (arguments.length !== 0) throw Error.parameterCount();if(!this._initialized && !this._initializing){this._initializing = true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0);}
}
function Sys$_Application$notifyScriptLoaded(){if (arguments.length !== 0) throw Error.parameterCount();var sl = Sys._ScriptLoader.getInstance();if(sl){sl.notifyScriptLoaded();}
}
function Sys$_Application$registerDisposableObject(object){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(){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){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){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){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){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("javascript:'<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(){if (arguments.length !== 0) throw Error.parameterCount();this._webRequest = null;this._resultObject = null;}
function Sys$Net$WebRequestExecutor$get_webRequest(){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(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseAvailable(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_timedOut(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_aborted(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseData(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusCode(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusText(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_xml(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_object(){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(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$abort(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getResponseHeader(header){var e = Function._validateParams(arguments,[{name: "header",type: String}
]);if (e) throw e;throw Error.notImplemented();}
function 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){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._timedOut;}
function Sys$Net$XMLHttpExecutor$get_started(){if (arguments.length !== 0) throw Error.parameterCount();return this._started;}
function Sys$Net$XMLHttpExecutor$get_responseAvailable(){if (arguments.length !== 0) throw Error.parameterCount();return this._responseAvailable;}
function Sys$Net$XMLHttpExecutor$get_aborted(){if (arguments.length !== 0) throw Error.parameterCount();return this._aborted;}
function 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){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(){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(){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(){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(){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(){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){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();this._defaultTimeout = 0;this._defaultExecutorType = "Sys.Net.XMLHttpExecutor";}
function Sys$Net$_WebRequestManager$add_invokingRequest(handler){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){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(){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(){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){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){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(){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(){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){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){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._headers;}
function Sys$Net$WebRequest$get_httpVerb(){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(){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(){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(){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return Sys.Net.WebRequest._resolveUrl(this._url);}
function 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(){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(){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(){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(){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(){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){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._timedOut;}
function Sys$Net$WebServiceError$get_statusCode(){if (arguments.length !== 0) throw Error.parameterCount();return this._statusCode;}
function Sys$Net$WebServiceError$get_message(){if (arguments.length !== 0) throw Error.parameterCount();return this._message;}
function Sys$Net$WebServiceError$get_stackTrace(){if (arguments.length !== 0) throw Error.parameterCount();return this._stackTrace;}
function Sys$Net$WebServiceError$get_exceptionType(){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(){if (arguments.length !== 0) throw Error.parameterCount();Sys.Services._ProfileService.initializeBase(this);this.properties ={};}
Sys.Services._ProfileService.DefaultWebServicePath = '';function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback(){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._path || '';}
function Sys$Services$_ProfileService$load(propertyNames,loadCompletedCallback,failedCallback,userContext){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){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){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(){if (arguments.length !== 0) throw Error.parameterCount();Sys.Services._AuthenticationService.initializeBase(this);}
Sys.Services._AuthenticationService.DefaultWebServicePath = '';function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback(){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(){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._authenticated;}
function Sys$Services$_AuthenticationService$get_path(){if (arguments.length !== 0) throw Error.parameterCount();return this._path || '';}
function Sys$Services$_AuthenticationService$login(username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext){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){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(){if (arguments.length !== 0) throw Error.parameterCount();Sys.Services._RoleService.initializeBase(this);this._roles = [];}
Sys.Services._RoleService.DefaultWebServicePath = '';function Sys$Services$_RoleService$get_defaultLoadCompletedCallback(){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(){if (arguments.length !== 0) throw Error.parameterCount();return this._path || '';}
function Sys$Services$_RoleService$get_roles(){if (arguments.length !== 0) throw Error.parameterCount();return Array.clone(this._roles);}
function Sys$Services$_RoleService$isUserInRole(role){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){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(){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){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){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){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){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;Sys.UI.Behavior.initializeBase(this);this._element = element;var behaviors = element._behaviors;if (!behaviors){element._behaviors = [this];}
else{behaviors[behaviors.length] = this;}
}
function Sys$UI$Behavior$get_element(){if (arguments.length !== 0) throw Error.parameterCount();return this._element;}
function Sys$UI$Behavior$get_id(){if (arguments.length !== 0) throw Error.parameterCount();var baseId = Sys.UI.Behavior.callBaseMethod(this,'get_id');if (baseId) return baseId;if (!this._element || !this._element.id) return '';return this._element.id + '$' + this.get_name();}
function Sys$UI$Behavior$get_name(){if (arguments.length !== 0) throw Error.parameterCount();if (this._name) return this._name;var name = Object.getTypeName(this);var i = name.lastIndexOf('.');if (i != -1) name = name.substr(i + 1);if (!this.get_isInitialized()) this._name = name;return name;}
function Sys$UI$Behavior$set_name(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' '))
throw Error.argument('value',Sys.Res.invalidId);if (typeof(this._element[value]) !== 'undefined')
throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName,value));if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);this._name = value;}
function Sys$UI$Behavior$initialize(){Sys.UI.Behavior.callBaseMethod(this,'initialize');var name = this.get_name();if (name) this._element[name] = this;}
function Sys$UI$Behavior$dispose(){Sys.UI.Behavior.callBaseMethod(this,'dispose');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){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "name",type: String}
]);if (e) throw e;var b = element[name];return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;}
Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (!element._behaviors) return [];return Array.clone(element._behaviors);}
Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element,type){var e = Function._validateParams(arguments,[{name: "element",domElement: true},{name: "type",type: Type}
]);if (e) throw e;var behaviors = element._behaviors;var results = [];if (behaviors){for (var i = 0,l = behaviors.length;i < l;i++){if (type.isInstanceOfType(behaviors[i])){results[results.length] = behaviors[i];}
}
}
return results;}
Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode(){if (arguments.length !== 0) throw Error.parameterCount();throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype ={hide: 0,collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control = function Sys$UI$Control(element){var e = Function._validateParams(arguments,[{name: "element",domElement: true}
]);if (e) throw e;if (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(){if (arguments.length !== 0) throw Error.parameterCount();return this._element;}
function Sys$UI$Control$get_id(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._element) return '';return this._element.id;}
function Sys$UI$Control$set_id(value){var e = Function._validateParams(arguments,[{name: "value",type: String}]);if (e) throw e;throw Error.invalidOperation(Sys.Res.cantSetId);}
function Sys$UI$Control$get_parent(){if (arguments.length !== 0) throw Error.parameterCount();if (this._parent) return this._parent;if (!this._element) return null;var parentElement = this._element.parentNode;while (parentElement){if (parentElement.control){return parentElement.control;}
parentElement = parentElement.parentNode;}
return null;}
function Sys$UI$Control$set_parent(value){var e = Function._validateParams(arguments,[{name: "value",type: Sys.UI.Control}]);if (e) throw e;if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);var parents = [this];var current = value;while (current){if (Array.contains(parents,current)) throw Error.invalidOperation(Sys.Res.circularParentChain);parents[parents.length] = current;current = current.get_parent();}
this._parent = value;}
function Sys$UI$Control$get_visibilityMode(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);return Sys.UI.DomElement.getVisibilityMode(this._element);}
function Sys$UI$Control$set_visibilityMode(value){var e = Function._validateParams(arguments,[{name: "value",type: Sys.UI.VisibilityMode}]);if (e) throw e;if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.setVisibilityMode(this._element,value);}
function Sys$UI$Control$get_visible(){if (arguments.length !== 0) throw Error.parameterCount();if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);return Sys.UI.DomElement.getVisible(this._element);}
function Sys$UI$Control$set_visible(value){var e = Function._validateParams(arguments,[{name: "value",type: Boolean}]);if (e) throw e;if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.setVisible(this._element,value)
}
function Sys$UI$Control$addCssClass(className){var e = Function._validateParams(arguments,[{name: "className",type: String}
]);if (e) throw e;if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.addCssClass(this._element,className);}
function Sys$UI$Control$dispose(){Sys.UI.Control.callBaseMethod(this,'dispose');if (this._element){this._element.control = undefined;delete this._element;}
if (this._parent) delete this._parent;}
function Sys$UI$Control$onBubbleEvent(source,args){var e = Function._validateParams(arguments,[{name: "source"},{name: "args",type: Sys.EventArgs}
]);if (e) throw e;return false;}
function Sys$UI$Control$raiseBubbleEvent(source,args){var e = Function._validateParams(arguments,[{name: "source"},{name: "args",type: Sys.EventArgs}
]);if (e) throw e;var currentTarget = this.get_parent();while (currentTarget){if (currentTarget.onBubbleEvent(source,args)){return;}
currentTarget = currentTarget.get_parent();}
}
function Sys$UI$Control$removeCssClass(className){var e = Function._validateParams(arguments,[{name: "className",type: String}
]);if (e) throw e;if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.removeCssClass(this._element,className);}
function Sys$UI$Control$toggleCssClass(className){var e = Function._validateParams(arguments,[{name: "className",type: String}
]);if (e) throw e;if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);Sys.UI.DomElement.toggleCssClass(this._element,className);}
Sys.UI.Control.prototype ={_parent: null,_visibilityMode: Sys.UI.VisibilityMode.hide,get_element: Sys$UI$Control$get_element,get_id: Sys$UI$Control$get_id,set_id: Sys$UI$Control$set_id,get_parent: Sys$UI$Control$get_parent,set_parent: Sys$UI$Control$set_parent,get_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();