﻿//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjax.js
Function.__typeName = "Function"; Function.__class = true; Function.createCallback = function(b, a) { return function() { var e = arguments.length; if (e > 0) { var d = []; for (var c = 0; c < e; c++) d[c] = arguments[c]; d[e] = a; return b.apply(this, d) } return b.call(this, a) } }; Function.createDelegate = function(a, b) { return function() { return b.apply(a, arguments) } }; Function.emptyFunction = Function.emptyMethod = function() { }; Function._validateParams = function(e, c) { var a; a = Function._validateParameterCount(e, c); if (a) { a.popStackFrame(); return a } for (var b = 0; b < e.length; b++) { var d = c[Math.min(b, c.length - 1)], f = d.name; if (d.parameterArray) f += "[" + (b - c.length + 1) + "]"; a = Function._validateParameter(e[b], d, f); if (a) { a.popStackFrame(); return a } } return null }; Function._validateParameterCount = function(e, a) { var c = a.length, d = 0; for (var b = 0; b < a.length; b++) if (a[b].parameterArray) c = Number.MAX_VALUE; else if (!a[b].optional) d++; if (e.length < d || e.length > c) { var f = Error.parameterCount(); f.popStackFrame(); return f } return null }; Function._validateParameter = function(c, a, h) { var b, g = a.type, l = !!a.integer, k = !!a.domElement, m = !!a.mayBeNull; b = Function._validateParameterType(c, g, l, k, m, h); if (b) { b.popStackFrame(); return b } var e = a.elementType, f = !!a.elementMayBeNull; if (g === Array && typeof c !== "undefined" && c !== null && (e || !f)) { var j = !!a.elementInteger, i = !!a.elementDomElement; for (var d = 0; d < c.length; d++) { var n = c[d]; b = Function._validateParameterType(n, e, j, i, f, h + "[" + d + "]"); if (b) { b.popStackFrame(); return b } } } return null }; Function._validateParameterType = function(a, c, n, m, k, d) { var b; if (typeof a === "undefined") if (k) return null; else { b = Error.argumentUndefined(d); b.popStackFrame(); return b } if (a === null) if (k) return null; else { b = Error.argumentNull(d); b.popStackFrame(); return b } if (c && c.__enum) { if (typeof a !== "number") { b = Error.argumentType(d, Object.getType(a), c); b.popStackFrame(); return b } if (a % 1 === 0) { var e = c.prototype; if (!c.__flags || a === 0) { for (var i in e) if (e[i] === a) return null } else { var l = a; for (var i in e) { var f = e[i]; if (f === 0) continue; if ((f & a) === f) l -= f; if (l === 0) return null } } } b = Error.argumentOutOfRange(d, a, String.format(Sys.Res.enumInvalidValue, a, c.getName())); b.popStackFrame(); return b } if (m) { var h; if (typeof a.nodeType !== "number") { var g = a.ownerDocument || a.document || a; if (g != a) { var j = g.defaultView || g.parentWindow; h = j != a && !(j.document && a.document && j.document === a.document) } else h = typeof g.body === "undefined" } else h = a.nodeType === 3; if (h) { b = Error.argument(d, Sys.Res.argumentDomElement); b.popStackFrame(); return b } } if (c && !c.isInstanceOfType(a)) { b = Error.argumentType(d, Object.getType(a), c); b.popStackFrame(); return b } if (c === Number && n) if (a % 1 !== 0) { b = Error.argumentOutOfRange(d, a, Sys.Res.argumentInteger); b.popStackFrame(); return b } return null }; Error.__typeName = "Error"; Error.__class = true; Error.create = function(d, b) { var a = new Error(d); a.message = d; if (b) for (var c in b) a[c] = b[c]; a.popStackFrame(); return a }; Error.argument = function(a, c) { var b = "Sys.ArgumentException: " + (c ? c : Sys.Res.argument); if (a) b += "\n" + String.format(Sys.Res.paramName, a); var d = Error.create(b, { name: "Sys.ArgumentException", paramName: a }); d.popStackFrame(); return d }; Error.argumentNull = function(a, c) { var b = "Sys.ArgumentNullException: " + (c ? c : Sys.Res.argumentNull); if (a) b += "\n" + String.format(Sys.Res.paramName, a); var d = Error.create(b, { name: "Sys.ArgumentNullException", paramName: a }); d.popStackFrame(); return d }; Error.argumentOutOfRange = function(c, a, d) { var b = "Sys.ArgumentOutOfRangeException: " + (d ? d : Sys.Res.argumentOutOfRange); if (c) b += "\n" + String.format(Sys.Res.paramName, c); if (typeof a !== "undefined" && a !== null) b += "\n" + String.format(Sys.Res.actualValue, a); var e = Error.create(b, { name: "Sys.ArgumentOutOfRangeException", paramName: c, actualValue: a }); e.popStackFrame(); return e }; Error.argumentType = function(d, c, b, e) { var a = "Sys.ArgumentTypeException: "; if (e) a += e; else if (c && b) a += String.format(Sys.Res.argumentTypeWithTypes, c.getName(), b.getName()); else a += Sys.Res.argumentType; if (d) a += "\n" + String.format(Sys.Res.paramName, d); var f = Error.create(a, { name: "Sys.ArgumentTypeException", paramName: d, actualType: c, expectedType: b }); f.popStackFrame(); return f }; Error.argumentUndefined = function(a, c) { var b = "Sys.ArgumentUndefinedException: " + (c ? c : Sys.Res.argumentUndefined); if (a) b += "\n" + String.format(Sys.Res.paramName, a); var d = Error.create(b, { name: "Sys.ArgumentUndefinedException", paramName: a }); d.popStackFrame(); return d }; Error.format = function(a) { var c = "Sys.FormatException: " + (a ? a : Sys.Res.format), b = Error.create(c, { name: "Sys.FormatException" }); b.popStackFrame(); return b }; Error.invalidOperation = function(a) { var c = "Sys.InvalidOperationException: " + (a ? a : Sys.Res.invalidOperation), b = Error.create(c, { name: "Sys.InvalidOperationException" }); b.popStackFrame(); return b }; Error.notImplemented = function(a) { var c = "Sys.NotImplementedException: " + (a ? a : Sys.Res.notImplemented), b = Error.create(c, { name: "Sys.NotImplementedException" }); b.popStackFrame(); return b }; Error.parameterCount = function(a) { var c = "Sys.ParameterCountException: " + (a ? a : Sys.Res.parameterCount), b = Error.create(c, { name: "Sys.ParameterCountException" }); b.popStackFrame(); return b }; Error.prototype.popStackFrame = function() { if (typeof this.stack === "undefined" || this.stack === null || typeof this.fileName === "undefined" || this.fileName === null || typeof this.lineNumber === "undefined" || this.lineNumber === null) return; var a = this.stack.split("\n"), c = a[0], e = this.fileName + ":" + this.lineNumber; while (typeof c !== "undefined" && c !== null && c.indexOf(e) === -1) { a.shift(); c = a[0] } var d = a[1]; if (typeof d === "undefined" || d === null) return; var b = d.match(/@(.*):(\d+)$/); if (typeof b === "undefined" || b === null) return; this.fileName = b[1]; this.lineNumber = parseInt(b[2]); a.shift(); this.stack = a.join("\n") }; Object.__typeName = "Object"; Object.__class = true; Object.getType = function(b) { var a = b.constructor; if (!a || typeof a !== "function" || !a.__typeName || a.__typeName === "Object") return Object; return a }; Object.getTypeName = function(a) { return Object.getType(a).getName() }; String.__typeName = "String"; String.__class = true; String.prototype.endsWith = function(a) { return this.substr(this.length - a.length) === a }; String.prototype.startsWith = function(a) { return this.substr(0, a.length) === a }; String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, "") }; String.prototype.trimEnd = function() { return this.replace(/\s+$/, "") }; String.prototype.trimStart = function() { return this.replace(/^\s+/, "") }; String.format = function() { return String._toFormattedString(false, arguments) }; String.localeFormat = function() { return String._toFormattedString(true, arguments) }; String._toFormattedString = function(l, j) { var c = "", e = j[0]; for (var a = 0; true; ) { var f = e.indexOf("{", a), d = e.indexOf("}", a); if (f < 0 && d < 0) { c += e.slice(a); break } if (d > 0 && (d < f || f < 0)) { c += e.slice(a, d + 1); a = d + 2; continue } c += e.slice(a, f); a = f + 1; if (e.charAt(a) === "{") { c += "{"; a++; continue } if (d < 0) break; var h = e.substring(a, d), g = h.indexOf(":"), k = parseInt(g < 0 ? h : h.substring(0, g), 10) + 1, i = g < 0 ? "" : h.substring(g + 1), b = j[k]; if (typeof b === "undefined" || b === null) b = ""; if (b.toFormattedString) c += b.toFormattedString(i); else if (l && b.localeFormat) c += b.localeFormat(i); else if (b.format) c += b.format(i); else c += b.toString(); a = d + 1 } return c }; Boolean.__typeName = "Boolean"; Boolean.__class = true; Boolean.parse = function(b) { var a = b.trim().toLowerCase(); if (a === "false") return false; if (a === "true") return true }; Date.__typeName = "Date"; Date.__class = true; Date._appendPreOrPostMatch = function(e, b) { var d = 0, a = false; for (var c = 0, g = e.length; c < g; c++) { var f = e.charAt(c); switch (f) { case "'": if (a) b.append("'"); else d++; a = false; break; case "\\": if (a) b.append("\\"); a = !a; break; default: b.append(f); a = false } } return d }; Date._expandFormat = function(a, b) { if (!b) b = "F"; if (b.length === 1) switch (b) { case "d": return a.ShortDatePattern; case "D": return a.LongDatePattern; case "t": return a.ShortTimePattern; case "T": return a.LongTimePattern; case "F": return a.FullDateTimePattern; case "M": case "m": return a.MonthDayPattern; case "s": return a.SortableDateTimePattern; case "Y": case "y": return a.YearMonthPattern; default: throw Error.format(Sys.Res.formatInvalidString) } return b }; Date._expandYear = function(c, a) { if (a < 100) { var b = (new Date).getFullYear(); a += b - b % 100; if (a > c.Calendar.TwoDigitYearMax) return a - 100 } return a }; Date._getParseRegExp = function(b, e) { if (!b._parseRegExp) b._parseRegExp = {}; else if (b._parseRegExp[e]) return b._parseRegExp[e]; var c = Date._expandFormat(b, e); c = c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); var a = new Sys.StringBuilder("^"), j = [], f = 0, i = 0, h = Date._getTokenRegExp(), d; while ((d = h.exec(c)) !== null) { var l = c.slice(f, d.index); f = h.lastIndex; i += Date._appendPreOrPostMatch(l, a); if (i % 2 === 1) { a.append(d[0]); continue } switch (d[0]) { case "dddd": case "ddd": case "MMMM": case "MMM": a.append("(\\D+)"); break; case "tt": case "t": a.append("(\\D*)"); break; case "yyyy": a.append("(\\d{4})"); break; case "fff": a.append("(\\d{3})"); break; case "ff": a.append("(\\d{2})"); break; case "f": a.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": a.append("(\\d\\d?)"); break; case "zzz": a.append("([+-]?\\d\\d?:\\d{2})"); break; case "zz": case "z": a.append("([+-]?\\d\\d?)") } Array.add(j, d[0]) } Date._appendPreOrPostMatch(c.slice(f), a); a.append("$"); var k = a.toString().replace(/\s+/g, "\\s+"), g = { "regExp": k, "groups": j }; b._parseRegExp[e] = g; return g }; Date._getTokenRegExp = function() { 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(a) { return Date._parse(a, Sys.CultureInfo.CurrentCulture, arguments) }; Date.parseInvariant = function(a) { return Date._parse(a, Sys.CultureInfo.InvariantCulture, arguments) }; Date._parse = function(g, c, h) { var e = false; for (var a = 1, i = h.length; a < i; a++) { var f = h[a]; if (f) { e = true; var b = Date._parseExact(g, f, c); if (b) return b } } if (!e) { var d = c._getDateTimeFormats(); for (var a = 0, i = d.length; a < i; a++) { var b = Date._parseExact(g, d[a], c); if (b) return b } } return null }; Date._parseExact = function(s, y, j) { s = s.trim(); var m = j.dateTimeFormat, v = Date._getParseRegExp(m, y), x = (new RegExp(v.regExp)).exec(s); if (x === null) return null; var w = v.groups, f = null, c = null, h = null, g = null, d = 0, n = 0, o = 0, e = 0, k = null, r = false; for (var p = 0, z = w.length; p < z; p++) { var a = x[p + 1]; if (a) switch (w[p]) { case "dd": case "d": h = parseInt(a, 10); if (h < 1 || h > 31) return null; break; case "MMMM": c = j._getMonthIndex(a); if (c < 0 || c > 11) return null; break; case "MMM": c = j._getAbbrMonthIndex(a); if (c < 0 || c > 11) return null; break; case "M": case "MM": var c = parseInt(a, 10) - 1; if (c < 0 || c > 11) return null; break; case "y": case "yy": f = Date._expandYear(m, parseInt(a, 10)); if (f < 0 || f > 9999) return null; break; case "yyyy": f = parseInt(a, 10); if (f < 0 || f > 9999) return null; break; case "h": case "hh": d = parseInt(a, 10); if (d === 12) d = 0; if (d < 0 || d > 11) return null; break; case "H": case "HH": d = parseInt(a, 10); if (d < 0 || d > 23) return null; break; case "m": case "mm": n = parseInt(a, 10); if (n < 0 || n > 59) return null; break; case "s": case "ss": o = parseInt(a, 10); if (o < 0 || o > 59) return null; break; case "tt": case "t": var u = a.toUpperCase(); r = u === m.PMDesignator.toUpperCase(); if (!r && u !== m.AMDesignator.toUpperCase()) return null; break; case "f": e = parseInt(a, 10) * 100; if (e < 0 || e > 999) return null; break; case "ff": e = parseInt(a, 10) * 10; if (e < 0 || e > 999) return null; break; case "fff": e = parseInt(a, 10); if (e < 0 || e > 999) return null; break; case "dddd": g = j._getDayIndex(a); if (g < 0 || g > 6) return null; break; case "ddd": g = j._getAbbrDayIndex(a); if (g < 0 || g > 6) return null; break; case "zzz": var q = a.split(/:/); if (q.length !== 2) return null; var i = parseInt(q[0], 10); if (i < -12 || i > 13) return null; var l = parseInt(q[1], 10); if (l < 0 || l > 59) return null; k = i * 60 + (a.startsWith("-") ? -l : l); break; case "z": case "zz": var i = parseInt(a, 10); if (i < -12 || i > 13) return null; k = i * 60 } } var b = new Date; if (f === null) f = b.getFullYear(); if (c === null) c = b.getMonth(); if (h === null) h = b.getDate(); b.setFullYear(f, c, h); if (b.getDate() !== h) return null; if (g !== null && b.getDay() !== g) return null; if (r && d < 12) d += 12; b.setHours(d, n, o, e); if (k !== null) { var t = b.getMinutes() - (k + b.getTimezoneOffset()); b.setHours(b.getHours() + parseInt(t / 60, 10), t % 60) } return b }; Date.prototype.format = function(a) { return this._toFormattedString(a, Sys.CultureInfo.InvariantCulture) }; Date.prototype.localeFormat = function(a) { return this._toFormattedString(a, Sys.CultureInfo.CurrentCulture) }; Date.prototype._toFormattedString = function(e, h) { if (!e || e.length === 0 || e === "i") if (h && h.name.length > 0) return this.toLocaleString(); else return this.toString(); var d = h.dateTimeFormat; e = Date._expandFormat(d, e); var a = new Sys.StringBuilder, b; function c(a) { if (a < 10) return "0" + a; return a.toString() } function g(a) { if (a < 10) return "00" + a; if (a < 100) return "0" + a; return a.toString() } var j = 0, i = Date._getTokenRegExp(); for (; true; ) { var l = i.lastIndex, f = i.exec(e), k = e.slice(l, f ? f.index : e.length); j += Date._appendPreOrPostMatch(k, a); if (!f) break; if (j % 2 === 1) { a.append(f[0]); continue } switch (f[0]) { case "dddd": a.append(d.DayNames[this.getDay()]); break; case "ddd": a.append(d.AbbreviatedDayNames[this.getDay()]); break; case "dd": a.append(c(this.getDate())); break; case "d": a.append(this.getDate()); break; case "MMMM": a.append(d.MonthNames[this.getMonth()]); break; case "MMM": a.append(d.AbbreviatedMonthNames[this.getMonth()]); break; case "MM": a.append(c(this.getMonth() + 1)); break; case "M": a.append(this.getMonth() + 1); break; case "yyyy": a.append(this.getFullYear()); break; case "yy": a.append(c(this.getFullYear() % 100)); break; case "y": a.append(this.getFullYear() % 100); break; case "hh": b = this.getHours() % 12; if (b === 0) b = 12; a.append(c(b)); break; case "h": b = this.getHours() % 12; if (b === 0) b = 12; a.append(b); break; case "HH": a.append(c(this.getHours())); break; case "H": a.append(this.getHours()); break; case "mm": a.append(c(this.getMinutes())); break; case "m": a.append(this.getMinutes()); break; case "ss": a.append(c(this.getSeconds())); break; case "s": a.append(this.getSeconds()); break; case "tt": a.append(this.getHours() < 12 ? d.AMDesignator : d.PMDesignator); break; case "t": a.append((this.getHours() < 12 ? d.AMDesignator : d.PMDesignator).charAt(0)); break; case "f": a.append(g(this.getMilliseconds()).charAt(0)); break; case "ff": a.append(g(this.getMilliseconds()).substr(0, 2)); break; case "fff": a.append(g(this.getMilliseconds())); break; case "z": b = this.getTimezoneOffset() / 60; a.append((b <= 0 ? "+" : "-") + Math.floor(Math.abs(b))); break; case "zz": b = this.getTimezoneOffset() / 60; a.append((b <= 0 ? "+" : "-") + c(Math.floor(Math.abs(b)))); break; case "zzz": b = this.getTimezoneOffset() / 60; a.append((b <= 0 ? "+" : "-") + c(Math.floor(Math.abs(b))) + d.TimeSeparator + c(Math.abs(this.getTimezoneOffset() % 60))) } } return a.toString() }; Number.__typeName = "Number"; Number.__class = true; Number.parseLocale = function(a) { return Number._parse(a, Sys.CultureInfo.CurrentCulture) }; Number.parseInvariant = function(a) { return Number._parse(a, Sys.CultureInfo.InvariantCulture) }; Number._parse = function(b, o) { b = b.trim(); if (b.match(/^[+-]?infinity$/i)) return parseFloat(b); if (b.match(/^0x[a-f0-9]+$/i)) return parseInt(b); var a = o.numberFormat, g = Number._parseNumberNegativePattern(b, a, a.NumberNegativePattern), h = g[0], e = g[1]; if (h === "" && a.NumberNegativePattern !== 1) { g = Number._parseNumberNegativePattern(b, a, 1); h = g[0]; e = g[1] } if (h === "") h = "+"; var j, d, f = e.indexOf("e"); if (f < 0) f = e.indexOf("E"); if (f < 0) { d = e; j = null } else { d = e.substr(0, f); j = e.substr(f + 1) } var c, k, m = d.indexOf(a.NumberDecimalSeparator); if (m < 0) { c = d; k = null } else { c = d.substr(0, m); k = d.substr(m + a.NumberDecimalSeparator.length) } c = c.split(a.NumberGroupSeparator).join(""); var n = a.NumberGroupSeparator.replace(/\u00A0/g, " "); if (a.NumberGroupSeparator !== n) c = c.split(n).join(""); var l = h + c; if (k !== null) l += "." + k; if (j !== null) { var i = Number._parseNumberNegativePattern(j, a, 1); if (i[0] === "") i[0] = "+"; l += "e" + i[0] + i[1] } if (l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) return parseFloat(l); return Number.NaN }; Number._parseNumberNegativePattern = function(a, d, e) { var b = d.NegativeSign, c = d.PositiveSign; switch (e) { case 4: b = " " + b; c = " " + c; case 3: if (a.endsWith(b)) return ["-", a.substr(0, a.length - b.length)]; else if (a.endsWith(c)) return ["+", a.substr(0, a.length - c.length)]; break; case 2: b += " "; c += " "; case 1: if (a.startsWith(b)) return ["-", a.substr(b.length)]; else if (a.startsWith(c)) return ["+", a.substr(c.length)]; break; case 0: if (a.startsWith("(") && a.endsWith(")")) return ["-", a.substr(1, a.length - 2)] } return ["", a] }; Number.prototype.format = function(a) { return this._toFormattedString(a, Sys.CultureInfo.InvariantCulture) }; Number.prototype.localeFormat = function(a) { return this._toFormattedString(a, Sys.CultureInfo.CurrentCulture) }; Number.prototype._toFormattedString = function(d, j) { if (!d || d.length === 0 || d === "i") if (j && j.name.length > 0) return this.toLocaleString(); else return this.toString(); var o = ["n %", "n%", "%n"], n = ["-n %", "-n%", "-%n"], p = ["(n)", "-n", "- n", "n-", "n -"], m = ["$n", "n$", "$ n", "n $"], l = ["($n)", "-$n", "$-n", "$n-", "(n$)", "-n$", "n-$", "n$-", "-n $", "-$ n", "n $-", "$ n-", "$ -n", "n- $", "($ n)", "(n $)"]; function g(a, c, d) { for (var b = a.length; b < c; b++) a = d ? "0" + a : a + "0"; return a } function i(j, i, l, n, p) { var h = l[0], k = 1, o = Math.pow(10, i), m = Math.round(j * o) / o; if (!isFinite(m)) m = j; j = m; var b = j.toString(), a = "", c, e = b.split(/e/i); b = e[0]; c = e.length > 1 ? parseInt(e[1]) : 0; e = b.split("."); b = e[0]; a = e.length > 1 ? e[1] : ""; var q; if (c > 0) { a = g(a, c, false); b += a.slice(0, c); a = a.substr(c) } else if (c < 0) { c = -c; b = g(b, c + 1, true); a = b.slice(-c, b.length) + a; b = b.slice(0, -c) } if (i > 0) { if (a.length > i) a = a.slice(0, i); else a = g(a, i, false); a = p + a } else a = ""; var d = b.length - 1, f = ""; while (d >= 0) { if (h === 0 || h > d) if (f.length > 0) return b.slice(0, d + 1) + n + f + a; else return b.slice(0, d + 1) + a; if (f.length > 0) f = b.slice(d - h + 1, d + 1) + n + f; else f = b.slice(d - h + 1, d + 1); d -= h; if (k < l.length) { h = l[k]; k++ } } return b.slice(0, d + 1) + n + f + a } var a = j.numberFormat, e = Math.abs(this); if (!d) d = "D"; var b = -1; if (d.length > 1) b = parseInt(d.slice(1), 10); var c; switch (d.charAt(0)) { case "d": case "D": c = "n"; if (b !== -1) e = g("" + e, b, true); if (this < 0) e = -e; break; case "c": case "C": if (this < 0) c = l[a.CurrencyNegativePattern]; else c = m[a.CurrencyPositivePattern]; if (b === -1) b = a.CurrencyDecimalDigits; e = i(Math.abs(this), b, a.CurrencyGroupSizes, a.CurrencyGroupSeparator, a.CurrencyDecimalSeparator); break; case "n": case "N": if (this < 0) c = p[a.NumberNegativePattern]; else c = "n"; if (b === -1) b = a.NumberDecimalDigits; e = i(Math.abs(this), b, a.NumberGroupSizes, a.NumberGroupSeparator, a.NumberDecimalSeparator); break; case "p": case "P": if (this < 0) c = n[a.PercentNegativePattern]; else c = o[a.PercentPositivePattern]; if (b === -1) b = a.PercentDecimalDigits; e = i(Math.abs(this) * 100, b, a.PercentGroupSizes, a.PercentGroupSeparator, a.PercentDecimalSeparator); break; default: throw Error.format(Sys.Res.formatBadFormatSpecifier) } var k = /n|\$|-|%/g, f = ""; for (; true; ) { var q = k.lastIndex, h = k.exec(c); f += c.slice(q, h ? h.index : c.length); if (!h) break; switch (h[0]) { case "n": f += e; break; case "$": f += a.CurrencySymbol; break; case "-": f += a.NegativeSign; break; case "%": f += a.PercentSymbol } } return f }; RegExp.__typeName = "RegExp"; RegExp.__class = true; Array.__typeName = "Array"; Array.__class = true; Array.add = Array.enqueue = function(a, b) { a[a.length] = b }; Array.addRange = function(a, b) { a.push.apply(a, b) }; Array.clear = function(a) { a.length = 0 }; Array.clone = function(a) { if (a.length === 1) return [a[0]]; else return Array.apply(null, a) }; Array.contains = function(a, b) { return Array.indexOf(a, b) >= 0 }; Array.dequeue = function(a) { return a.shift() }; Array.forEach = function(b, e, d) { for (var a = 0, f = b.length; a < f; a++) { var c = b[a]; if (typeof c !== "undefined") e.call(d, c, a, b) } }; Array.indexOf = function(d, e, a) { if (typeof e === "undefined") return -1; var c = d.length; if (c !== 0) { a = a - 0; if (isNaN(a)) a = 0; else { if (isFinite(a)) a = a - a % 1; if (a < 0) a = Math.max(0, c + a) } for (var b = a; b < c; b++) if (typeof d[b] !== "undefined" && d[b] === e) return b } return -1 }; Array.insert = function(a, b, c) { a.splice(b, 0, c) }; Array.parse = function(value) { if (!value) return []; return eval(value) }; Array.remove = function(b, c) { var a = Array.indexOf(b, c); if (a >= 0) b.splice(a, 1); return a >= 0 }; Array.removeAt = function(a, b) { a.splice(b, 1) }; if (!window) this.window = this; window.Type = Function; Type.prototype.callBaseMethod = function(a, d, b) { var c = this.getBaseMethod(a, d); if (!b) return c.apply(a); else return c.apply(a, b) }; Type.prototype.getBaseMethod = function(d, c) { var b = this.getBaseType(); if (b) { var a = b.prototype[c]; return a instanceof Function ? a : null } return null }; Type.prototype.getBaseType = function() { return typeof this.__baseType === "undefined" ? null : this.__baseType }; Type.prototype.getInterfaces = function() { var a = [], b = this; while (b) { var c = b.__interfaces; if (c) for (var d = 0, f = c.length; d < f; d++) { var e = c[d]; if (!Array.contains(a, e)) a[a.length] = e } b = b.__baseType } return a }; Type.prototype.getName = function() { return typeof this.__typeName === "undefined" ? "" : this.__typeName }; Type.prototype.implementsInterface = function(d) { this.resolveInheritance(); var c = d.getName(), a = this.__interfaceCache; if (a) { var e = a[c]; if (typeof e !== "undefined") return e } else a = this.__interfaceCache = {}; var b = this; while (b) { var f = b.__interfaces; if (f) if (Array.indexOf(f, d) !== -1) return a[c] = true; b = b.__baseType } return a[c] = false }; Type.prototype.inheritsFrom = function(b) { this.resolveInheritance(); var a = this.__baseType; while (a) { if (a === b) return true; a = a.__baseType } return false }; Type.prototype.initializeBase = function(a, b) { this.resolveInheritance(); if (this.__baseType) if (!b) this.__baseType.apply(a); else this.__baseType.apply(a, b); return a }; Type.prototype.isImplementedBy = function(a) { if (typeof a === "undefined" || a === null) return false; var b = Object.getType(a); return !!(b.implementsInterface && b.implementsInterface(this)) }; Type.prototype.isInstanceOfType = function(b) { if (typeof b === "undefined" || b === null) return false; if (b instanceof this) return true; var a = Object.getType(b); return !!(a === this) || a.inheritsFrom && a.inheritsFrom(this) || a.implementsInterface && a.implementsInterface(this) }; Type.prototype.registerClass = function(c, b, d) { this.prototype.constructor = this; this.__typeName = c; this.__class = true; if (b) { this.__baseType = b; this.__basePrototypePending = true } Sys.__upperCaseTypes[c.toUpperCase()] = this; if (d) { this.__interfaces = []; for (var a = 2, f = arguments.length; a < f; a++) { var e = arguments[a]; this.__interfaces.push(e) } } return this }; Type.prototype.registerInterface = function(a) { Sys.__upperCaseTypes[a.toUpperCase()] = this; this.prototype.constructor = this; this.__typeName = a; this.__interface = true; return this }; Type.prototype.resolveInheritance = function() { if (this.__basePrototypePending) { var b = this.__baseType; b.resolveInheritance(); for (var a in b.prototype) { var c = b.prototype[a]; if (!this.prototype[a]) this.prototype[a] = c } delete this.__basePrototypePending } }; Type.getRootNamespaces = function() { return Array.clone(Sys.__rootNamespaces) }; Type.isClass = function(a) { if (typeof a === "undefined" || a === null) return false; return !!a.__class }; Type.isInterface = function(a) { if (typeof a === "undefined" || a === null) return false; return !!a.__interface }; Type.isNamespace = function(a) { if (typeof a === "undefined" || a === null) return false; return !!a.__namespace }; Type.parse = function(typeName, ns) { 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); Type.__htClasses[typeName] = fn } return fn }; Type.registerNamespace = function(f) { var d = window, c = f.split("."); for (var b = 0; b < c.length; b++) { var e = c[b], a = d[e]; if (!a) { a = d[e] = { __namespace: true, __typeName: c.slice(0, b + 1).join(".") }; if (b === 0) Sys.__rootNamespaces[Sys.__rootNamespaces.length] = a; a.getName = function() { return this.__typeName } } d = a } }; window.Sys = { __namespace: true, __typeName: "Sys", getName: function() { return "Sys" }, __upperCaseTypes: {} }; Sys.__rootNamespaces = [Sys]; Sys.IDisposable = function() { }; Sys.IDisposable.prototype = {}; Sys.IDisposable.registerInterface("Sys.IDisposable"); Sys.StringBuilder = function(a) { this._parts = typeof a !== "undefined" && a !== null && a !== "" ? [a.toString()] : []; this._value = {}; this._len = 0 }; Sys.StringBuilder.prototype = { append: function(a) { this._parts[this._parts.length] = a }, appendLine: function(a) { this._parts[this._parts.length] = typeof a === "undefined" || a === null || a === "" ? "\r\n" : a + "\r\n" }, clear: function() { this._parts = []; this._value = {}; this._len = 0 }, isEmpty: function() { if (this._parts.length === 0) return true; return this.toString() === "" }, toString: function(a) { a = a || ""; var b = this._parts; if (this._len !== b.length) { this._value = {}; this._len = b.length } var d = this._value; if (typeof d[a] === "undefined") { if (a !== "") for (var c = 0; c < b.length; ) if (typeof b[c] === "undefined" || b[c] === "" || b[c] === null) b.splice(c, 1); else c++; d[a] = this._parts.join(a) } return d[a] } }; Sys.StringBuilder.registerClass("Sys.StringBuilder"); if (!window.XMLHttpRequest) window.XMLHttpRequest = function() { var b = ["Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP"]; for (var a = 0, c = b.length; a < c; a++) try { return new ActiveXObject(b[a]) } catch (d) { } 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.prototype = { _appendConsole: function(a) { if (typeof Debug !== "undefined" && Debug.writeln) Debug.writeln(a); if (window.console && window.console.log) window.console.log(a); if (window.opera) window.opera.postError(a); if (window.debugService) window.debugService.trace(a) }, _appendTrace: function(b) { var a = document.getElementById("TraceConsole"); if (a && a.tagName.toUpperCase() === "TEXTAREA") a.value += b + "\n" }, assert: function(c, a, b) { if (!c) { a = b && this.assert.caller ? String.format(Sys.Res.assertFailedCaller, a, this.assert.caller) : String.format(Sys.Res.assertFailed, a); if (confirm(String.format(Sys.Res.breakIntoDebugger, a))) this.fail(a) } }, clearTrace: function() { var a = document.getElementById("TraceConsole"); if (a && a.tagName.toUpperCase() === "TEXTAREA") a.value = "" }, fail: function(message) { this._appendConsole(message); if (Sys.Browser.hasDebuggerStatement) eval("debugger") }, trace: function(a) { this._appendConsole(a); this._appendTrace(a) }, traceDump: function(a, b) { var c = this._traceDump(a, b, true) }, _traceDump: function(a, c, f, b, d) { c = c ? c : "traceDump"; b = b ? b : ""; if (a === null) { this.trace(b + c + ": null"); return } switch (typeof a) { case "undefined": this.trace(b + c + ": Undefined"); break; case "number": case "string": case "boolean": this.trace(b + c + ": " + a); break; default: if (Date.isInstanceOfType(a) || RegExp.isInstanceOfType(a)) { this.trace(b + c + ": " + a.toString()); break } if (!d) d = []; else if (Array.contains(d, a)) { this.trace(b + c + ": ..."); return } Array.add(d, a); if (a == window || a === document || window.HTMLElement && a instanceof HTMLElement || typeof a.nodeName === "string") { var k = a.tagName ? a.tagName : "DomElement"; if (a.id) k += " - " + a.id; this.trace(b + c + " {" + k + "}") } else { var i = Object.getTypeName(a); this.trace(b + c + (typeof i === "string" ? " {" + i + "}" : "")); if (b === "" || f) { b += "    "; var e, j, l, g, h; if (Array.isInstanceOfType(a)) { j = a.length; for (e = 0; e < j; e++) this._traceDump(a[e], "[" + e + "]", f, b, d) } else for (g in a) { h = a[g]; if (!Function.isInstanceOfType(h)) this._traceDump(h, g, f, b, d) } } } Array.remove(d, a) } } }; Sys._Debug.registerClass("Sys._Debug"); Sys.Debug = new Sys._Debug; Sys.Debug.isDebug = false; function Sys$Enum$parse(c, e) { var a, b, i; if (e) { a = this.__lowerCaseValues; if (!a) { this.__lowerCaseValues = a = {}; var g = this.prototype; for (var f in g) a[f.toLowerCase()] = g[f] } } else a = this.prototype; if (!this.__flags) { i = e ? c.toLowerCase() : c; b = a[i.trim()]; if (typeof b !== "number") throw Error.argument("value", String.format(Sys.Res.enumInvalidValue, c, this.__typeName)); return b } else { var h = (e ? c.toLowerCase() : c).split(","), j = 0; for (var d = h.length - 1; d >= 0; d--) { var k = h[d].trim(); b = a[k]; if (typeof b !== "number") throw Error.argument("value", String.format(Sys.Res.enumInvalidValue, c.split(",")[d].trim(), this.__typeName)); j |= b } return j } } function Sys$Enum$toString(c) { if (typeof c === "undefined" || c === null) return this.__string; var d = this.prototype, a; if (!this.__flags || c === 0) { for (a in d) if (d[a] === c) return a } else { var b = this.__sortedValues; if (!b) { b = []; for (a in d) b[b.length] = { key: a, value: d[a] }; b.sort(function(a, b) { return a.value - b.value }); this.__sortedValues = b } var e = [], g = c; for (a = b.length - 1; a >= 0; a--) { var h = b[a], f = h.value; if (f === 0) continue; if ((f & c) === f) { e[e.length] = h.key; g -= f; if (g === 0) break } } if (e.length && g === 0) return e.reverse().join(", ") } return "" } Type.prototype.registerEnum = function(b, c) { Sys.__upperCaseTypes[b.toUpperCase()] = this; for (var a in this.prototype) this[a] = this.prototype[a]; this.__typeName = b; this.parse = Sys$Enum$parse; this.__string = this.toString(); this.toString = Sys$Enum$toString; this.__flags = c; this.__enum = true }; Type.isEnum = function(a) { if (typeof a === "undefined" || a === null) return false; return !!a.__enum }; Type.isFlags = function(a) { if (typeof a === "undefined" || a === null) return false; return !!a.__flags }; Sys.EventHandlerList = function() { this._list = {} }; Sys.EventHandlerList.prototype = { addHandler: function(b, a) { Array.add(this._getEvent(b, true), a) }, removeHandler: function(c, b) { var a = this._getEvent(c); if (!a) return; Array.remove(a, b) }, getHandler: function(b) { var a = this._getEvent(b); if (!a || a.length === 0) return null; a = Array.clone(a); return function(c, d) { for (var b = 0, e = a.length; b < e; b++) a[b](c, d) } }, _getEvent: function(a, b) { if (!this._list[a]) { if (!b) return null; this._list[a] = [] } return this._list[a] } }; Sys.EventHandlerList.registerClass("Sys.EventHandlerList"); Sys.EventArgs = function() { }; Sys.EventArgs.registerClass("Sys.EventArgs"); Sys.EventArgs.Empty = new Sys.EventArgs; Sys.CancelEventArgs = function() { Sys.CancelEventArgs.initializeBase(this); this._cancel = false }; Sys.CancelEventArgs.prototype = { get_cancel: function() { return this._cancel }, set_cancel: function(a) { this._cancel = a } }; Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs", Sys.EventArgs); Sys.INotifyPropertyChange = function() { }; Sys.INotifyPropertyChange.prototype = {}; Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange"); Sys.PropertyChangedEventArgs = function(a) { Sys.PropertyChangedEventArgs.initializeBase(this); this._propertyName = a }; Sys.PropertyChangedEventArgs.prototype = { get_propertyName: function() { return this._propertyName } }; Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs", Sys.EventArgs); Sys.INotifyDisposing = function() { }; Sys.INotifyDisposing.prototype = {}; Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); Sys.Component = function() { if (Sys.Application) Sys.Application.registerDisposableObject(this) }; Sys.Component.prototype = { _id: null, _initialized: false, _updating: false, get_events: function() { if (!this._events) this._events = new Sys.EventHandlerList; return this._events }, get_id: function() { return this._id }, set_id: function(a) { this._id = a }, get_isInitialized: function() { return this._initialized }, get_isUpdating: function() { return this._updating }, add_disposing: function(a) { this.get_events().addHandler("disposing", a) }, remove_disposing: function(a) { this.get_events().removeHandler("disposing", a) }, add_propertyChanged: function(a) { this.get_events().addHandler("propertyChanged", a) }, remove_propertyChanged: function(a) { this.get_events().removeHandler("propertyChanged", a) }, beginUpdate: function() { this._updating = true }, dispose: function() { if (this._events) { var a = this._events.getHandler("disposing"); if (a) a(this, Sys.EventArgs.Empty) } delete this._events; Sys.Application.unregisterDisposableObject(this); Sys.Application.removeComponent(this) }, endUpdate: function() { this._updating = false; if (!this._initialized) this.initialize(); this.updated() }, initialize: function() { this._initialized = true }, raisePropertyChanged: function(b) { if (!this._events) return; var a = this._events.getHandler("propertyChanged"); if (a) a(this, new Sys.PropertyChangedEventArgs(b)) }, updated: function() { } }; Sys.Component.registerClass("Sys.Component", null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); function Sys$Component$_setProperties(a, i) { var d, j = Object.getType(a), e = j === Object || j === Sys.UI.DomElement, h = Sys.Component.isInstanceOfType(a) && !a.get_isUpdating(); if (h) a.beginUpdate(); for (var c in i) { var b = i[c], f = e ? null : a["get_" + c]; if (e || typeof f !== "function") { var k = a[c]; if (!b || typeof b !== "object" || e && !k) a[c] = b; else Sys$Component$_setProperties(k, b) } else { var l = a["set_" + c]; if (typeof l === "function") l.apply(a, [b]); else if (b instanceof Array) { d = f.apply(a); for (var g = 0, m = d.length, n = b.length; g < n; g++, m++) d[m] = b[g] } else if (typeof b === "object" && Object.getType(b) === Object) { d = f.apply(a); Sys$Component$_setProperties(d, b) } } } if (h) a.endUpdate() } function Sys$Component$_setReferences(c, b) { for (var a in b) { var e = c["set_" + a], d = $find(b[a]); e.apply(c, [d]) } } var $create = Sys.Component.create = function(h, f, d, c, g) { var a = g ? new h(g) : new h, b = Sys.Application, i = b.get_isCreatingComponents(); a.beginUpdate(); if (f) Sys$Component$_setProperties(a, f); if (d) for (var e in d) a["add_" + e](d[e]); if (a.get_id()) b.addComponent(a); if (i) { b._createdComponents[b._createdComponents.length] = a; if (c) b._addComponentToSecondPass(a, c); else a.endUpdate() } else { if (c) Sys$Component$_setReferences(a, c); a.endUpdate() } return a }; Sys.UI.MouseButton = function() { throw Error.notImplemented() }; Sys.UI.MouseButton.prototype = { leftButton: 0, middleButton: 1, rightButton: 2 }; Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); Sys.UI.Key = function() { 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(a, b) { this.x = a; this.y = b }; Sys.UI.Point.registerClass("Sys.UI.Point"); Sys.UI.Bounds = function(c, d, b, a) { this.x = c; this.y = d; this.height = a; this.width = b }; Sys.UI.Bounds.registerClass("Sys.UI.Bounds"); Sys.UI.DomEvent = function(e) { var a = e, b = this.type = a.type.toLowerCase(); this.rawEvent = a; this.altKey = a.altKey; if (typeof a.button !== "undefined") this.button = typeof a.which !== "undefined" ? a.button : a.button === 4 ? Sys.UI.MouseButton.middleButton : a.button === 2 ? Sys.UI.MouseButton.rightButton : Sys.UI.MouseButton.leftButton; if (b === "keypress") this.charCode = a.charCode || a.keyCode; else if (a.keyCode && a.keyCode === 46) this.keyCode = 127; else this.keyCode = a.keyCode; this.clientX = a.clientX; this.clientY = a.clientY; this.ctrlKey = a.ctrlKey; this.target = a.target ? a.target : a.srcElement; if (!b.startsWith("key")) if (typeof a.offsetX !== "undefined" && typeof a.offsetY !== "undefined") { this.offsetX = a.offsetX; this.offsetY = a.offsetY } else if (this.target && this.target.nodeType !== 3 && typeof a.clientX === "number") { var c = Sys.UI.DomElement.getLocation(this.target), d = Sys.UI.DomElement._getWindow(this.target); this.offsetX = (d.pageXOffset || 0) + a.clientX - c.x; this.offsetY = (d.pageYOffset || 0) + a.clientY - c.y } this.screenX = a.screenX; this.screenY = a.screenY; this.shiftKey = a.shiftKey }; Sys.UI.DomEvent.prototype = { preventDefault: function() { if (this.rawEvent.preventDefault) this.rawEvent.preventDefault(); else if (window.event) this.rawEvent.returnValue = false }, stopPropagation: function() { if (this.rawEvent.stopPropagation) this.rawEvent.stopPropagation(); else if (window.event) this.rawEvent.cancelBubble = true } }; Sys.UI.DomEvent.registerClass("Sys.UI.DomEvent"); var $addHandler = Sys.UI.DomEvent.addHandler = function(a, d, e) { if (!a._events) a._events = {}; var c = a._events[d]; if (!c) a._events[d] = c = []; var b; if (a.addEventListener) { b = function(b) { return e.call(a, new Sys.UI.DomEvent(b)) }; a.addEventListener(d, b, false) } else if (a.attachEvent) { b = function() { var b = {}; try { b = Sys.UI.DomElement._getWindow(a).event } catch (c) { } return e.call(a, new Sys.UI.DomEvent(b)) }; a.attachEvent("on" + d, b) } c[c.length] = { handler: e, browserHandler: b} }, $addHandlers = Sys.UI.DomEvent.addHandlers = function(e, d, c) { for (var b in d) { var a = d[b]; if (c) a = Function.createDelegate(c, a); $addHandler(e, b, a) } }, $clearHandlers = Sys.UI.DomEvent.clearHandlers = function(a) { if (a._events) { var e = a._events; for (var b in e) { var d = e[b]; for (var c = d.length - 1; c >= 0; c--) $removeHandler(a, b, d[c].handler) } a._events = null } }, $removeHandler = Sys.UI.DomEvent.removeHandler = function(a, e, f) { var d = null, c = a._events[e]; for (var b = 0, g = c.length; b < g; b++) if (c[b].handler === f) { d = c[b].browserHandler; break } if (a.removeEventListener) a.removeEventListener(e, d, false); else if (a.detachEvent) a.detachEvent("on" + e, d); c.splice(b, 1) }; Sys.UI.DomElement = function() { }; Sys.UI.DomElement.registerClass("Sys.UI.DomElement"); Sys.UI.DomElement.addCssClass = function(a, b) { if (!Sys.UI.DomElement.containsCssClass(a, b)) if (a.className === "") a.className = b; else a.className += " " + b }; Sys.UI.DomElement.containsCssClass = function(b, a) { return Array.contains(b.className.split(" "), a) }; Sys.UI.DomElement.getBounds = function(a) { var b = Sys.UI.DomElement.getLocation(a); return new Sys.UI.Bounds(b.x, b.y, a.offsetWidth || 0, a.offsetHeight || 0) }; var $get = Sys.UI.DomElement.getElementById = function(f, e) { if (!e) return document.getElementById(f); if (e.getElementById) return e.getElementById(f); var c = [], d = e.childNodes; for (var b = 0; b < d.length; b++) { var a = d[b]; if (a.nodeType == 1) c[c.length] = a } while (c.length) { a = c.shift(); if (a.id == f) return a; d = a.childNodes; for (b = 0; b < d.length; b++) { a = d[b]; if (a.nodeType == 1) c[c.length] = a } } return null }; switch (Sys.Browser.agent) { case Sys.Browser.InternetExplorer: Sys.UI.DomElement.getLocation = function(a) { if (a.self || a.nodeType === 9) return new Sys.UI.Point(0, 0); var b = a.getBoundingClientRect(); if (!b) return new Sys.UI.Point(0, 0); var d = a.ownerDocument.documentElement, e = b.left - 2 + d.scrollLeft, f = b.top - 2 + d.scrollTop; try { var c = a.ownerDocument.parentWindow.frameElement || null; if (c) { var g = c.frameBorder === "0" || c.frameBorder === "no" ? 2 : 0; e += g; f += g } } catch (h) { } return new Sys.UI.Point(e, f) }; break; case Sys.Browser.Safari: Sys.UI.DomElement.getLocation = function(c) { if (c.window && c.window === c || c.nodeType === 9) return new Sys.UI.Point(0, 0); var f = 0, g = 0, j = null, e = null, b; for (var a = c; a; j = a, (e = b, a = a.offsetParent)) { b = Sys.UI.DomElement._getCurrentStyle(a); var d = a.tagName ? a.tagName.toUpperCase() : null; if ((a.offsetLeft || a.offsetTop) && (d !== "BODY" || (!e || e.position !== "absolute"))) { f += a.offsetLeft; g += a.offsetTop } } b = Sys.UI.DomElement._getCurrentStyle(c); var h = b ? b.position : null; if (!h || h !== "absolute") for (var a = c.parentNode; a; a = a.parentNode) { d = a.tagName ? a.tagName.toUpperCase() : null; if (d !== "BODY" && d !== "HTML" && (a.scrollLeft || a.scrollTop)) { f -= a.scrollLeft || 0; g -= a.scrollTop || 0 } b = Sys.UI.DomElement._getCurrentStyle(a); var i = b ? b.position : null; if (i && i === "absolute") break } return new Sys.UI.Point(f, g) }; break; case Sys.Browser.Opera: Sys.UI.DomElement.getLocation = function(b) { if (b.window && b.window === b || b.nodeType === 9) return new Sys.UI.Point(0, 0); var d = 0, e = 0, i = null; for (var a = b; a; i = a, a = a.offsetParent) { var f = a.tagName; d += a.offsetLeft || 0; e += a.offsetTop || 0 } var g = b.style.position, c = g && g !== "static"; for (var a = b.parentNode; a; a = a.parentNode) { f = a.tagName ? a.tagName.toUpperCase() : null; if (f !== "BODY" && f !== "HTML" && (a.scrollLeft || a.scrollTop) && (c && (a.style.overflow === "scroll" || a.style.overflow === "auto"))) { d -= a.scrollLeft || 0; e -= a.scrollTop || 0 } var h = a && a.style ? a.style.position : null; c = c || h && h !== "static" } return new Sys.UI.Point(d, e) }; break; default: Sys.UI.DomElement.getLocation = function(d) { if (d.window && d.window === d || d.nodeType === 9) return new Sys.UI.Point(0, 0); var e = 0, f = 0, i = null, g = null, b = null; for (var a = d; a; i = a, (g = b, a = a.offsetParent)) { var c = a.tagName ? a.tagName.toUpperCase() : null; b = Sys.UI.DomElement._getCurrentStyle(a); if ((a.offsetLeft || a.offsetTop) && !(c === "BODY" && (!g || g.position !== "absolute"))) { e += a.offsetLeft; f += a.offsetTop } if (i !== null && b) { if (c !== "TABLE" && c !== "TD" && c !== "HTML") { e += parseInt(b.borderLeftWidth) || 0; f += parseInt(b.borderTopWidth) || 0 } if (c === "TABLE" && (b.position === "relative" || b.position === "absolute")) { e += parseInt(b.marginLeft) || 0; f += parseInt(b.marginTop) || 0 } } } b = Sys.UI.DomElement._getCurrentStyle(d); var h = b ? b.position : null; if (!h || h !== "absolute") for (var a = d.parentNode; a; a = a.parentNode) { c = a.tagName ? a.tagName.toUpperCase() : null; if (c !== "BODY" && c !== "HTML" && (a.scrollLeft || a.scrollTop)) { e -= a.scrollLeft || 0; f -= a.scrollTop || 0; b = Sys.UI.DomElement._getCurrentStyle(a); if (b) { e += parseInt(b.borderLeftWidth) || 0; f += parseInt(b.borderTopWidth) || 0 } } } return new Sys.UI.Point(e, f) } } Sys.UI.DomElement.removeCssClass = function(d, c) { var a = " " + d.className + " ", b = a.indexOf(" " + c + " "); if (b >= 0) d.className = (a.substr(0, b) + " " + a.substring(b + c.length + 1, a.length)).trim() }; Sys.UI.DomElement.setLocation = function(b, c, d) { var a = b.style; a.position = "absolute"; a.left = c + "px"; a.top = d + "px" }; Sys.UI.DomElement.toggleCssClass = function(b, a) { if (Sys.UI.DomElement.containsCssClass(b, a)) Sys.UI.DomElement.removeCssClass(b, a); else Sys.UI.DomElement.addCssClass(b, a) }; Sys.UI.DomElement.getVisibilityMode = function(a) { return a._visibilityMode === Sys.UI.VisibilityMode.hide ? Sys.UI.VisibilityMode.hide : Sys.UI.VisibilityMode.collapse }; Sys.UI.DomElement.setVisibilityMode = function(a, b) { Sys.UI.DomElement._ensureOldDisplayMode(a); if (a._visibilityMode !== b) { a._visibilityMode = b; if (Sys.UI.DomElement.getVisible(a) === false) if (a._visibilityMode === Sys.UI.VisibilityMode.hide) a.style.display = a._oldDisplayMode; else a.style.display = "none"; a._visibilityMode = b } }; Sys.UI.DomElement.getVisible = function(b) { var a = b.currentStyle || Sys.UI.DomElement._getCurrentStyle(b); if (!a) return true; return a.visibility !== "hidden" && a.display !== "none" }; Sys.UI.DomElement.setVisible = function(a, b) { if (b !== Sys.UI.DomElement.getVisible(a)) { Sys.UI.DomElement._ensureOldDisplayMode(a); a.style.visibility = b ? "visible" : "hidden"; if (b || a._visibilityMode === Sys.UI.VisibilityMode.hide) a.style.display = a._oldDisplayMode; else a.style.display = "none" } }; Sys.UI.DomElement._ensureOldDisplayMode = function(a) { if (!a._oldDisplayMode) { var b = a.currentStyle || Sys.UI.DomElement._getCurrentStyle(a); a._oldDisplayMode = b ? b.display : null; if (!a._oldDisplayMode || a._oldDisplayMode === "none") switch (a.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": a._oldDisplayMode = "block"; break; case "LI": a._oldDisplayMode = "list-item"; break; default: a._oldDisplayMode = "inline" } } }; Sys.UI.DomElement._getWindow = function(a) { var b = a.ownerDocument || a.document || a; return b.defaultView || b.parentWindow }; Sys.UI.DomElement._getCurrentStyle = function(a) { if (a.nodeType === 3) return null; var c = Sys.UI.DomElement._getWindow(a); if (a.documentElement) a = a.documentElement; var b = c && a !== c && c.getComputedStyle ? c.getComputedStyle(a, null) : a.currentStyle || a.style; if (!b && Sys.Browser.agent === Sys.Browser.Safari && a.style) { var g = a.style.display, f = a.style.position; a.style.position = "absolute"; a.style.display = "block"; var e = c.getComputedStyle(a, null); a.style.display = g; a.style.position = f; b = {}; for (var d in e) b[d] = e[d]; b.display = "none" } return b }; Sys.IContainer = function() { }; Sys.IContainer.prototype = {}; Sys.IContainer.registerInterface("Sys.IContainer"); Sys._ScriptLoader = function() { this._scriptsToLoad = null; this._sessions = []; this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler) }; Sys._ScriptLoader.prototype = { dispose: function() { this._stopSession(); this._loading = false; if (this._events) delete this._events; this._sessions = null; this._currentSession = null; this._scriptLoadedDelegate = null }, loadScripts: function(d, b, c, a) { var e = { allScriptsLoadedCallback: b, scriptLoadFailedCallback: c, scriptLoadTimeoutCallback: a, scriptsToLoad: this._scriptsToLoad, scriptTimeout: d }; this._scriptsToLoad = null; this._sessions[this._sessions.length] = e; if (!this._loading) this._nextSession() }, notifyScriptLoaded: function() { 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) }, queueCustomScriptTag: function(a) { if (!this._scriptsToLoad) this._scriptsToLoad = []; Array.add(this._scriptsToLoad, a) }, queueScriptBlock: function(a) { if (!this._scriptsToLoad) this._scriptsToLoad = []; Array.add(this._scriptsToLoad, { text: a }) }, queueScriptReference: function(a) { if (!this._scriptsToLoad) this._scriptsToLoad = []; Array.add(this._scriptsToLoad, { src: a }) }, _createScriptElement: function(c) { var a = document.createElement("script"); a.type = "text/javascript"; for (var b in c) a[b] = c[b]; return a }, _loadScriptsInternal: function() { var b = this._currentSession; if (b.scriptsToLoad && b.scriptsToLoad.length > 0) { var c = Array.dequeue(b.scriptsToLoad), a = this._createScriptElement(c); if (a.text && Sys.Browser.agent === Sys.Browser.Safari) { a.innerHTML = a.text; delete a.text } if (typeof c.src === "string") { this._currentTask = new Sys._ScriptLoaderTask(a, this._scriptLoadedDelegate); this._currentTask.execute() } else { document.getElementsByTagName("head")[0].appendChild(a); Sys._ScriptLoader._clearScript(a); this._loadScriptsInternal() } } else { this._stopSession(); var d = b.allScriptsLoadedCallback; if (d) d(this); this._nextSession() } }, _nextSession: function() { if (this._sessions.length === 0) { this._loading = false; this._currentSession = null; return } this._loading = true; var a = Array.dequeue(this._sessions); this._currentSession = a; if (a.scriptTimeout > 0) this._timeoutCookie = window.setTimeout(Function.createDelegate(this, this._scriptLoadTimeoutHandler), a.scriptTimeout * 1000); this._loadScriptsInternal() }, _raiseError: function(a) { var c = this._currentSession.scriptLoadFailedCallback, b = this._currentTask.get_scriptElement(); this._stopSession(); if (c) { c(this, b, a); this._nextSession() } else { this._loading = false; throw Sys._ScriptLoader._errorScriptLoadFailed(b.src, a) } }, _scriptLoadedHandler: function(a, b) { if (b && this._currentTask._notified) if (this._currentTask._notified > 1) this._raiseError(true); else { Array.add(Sys._ScriptLoader._getLoadedScripts(), a.src); this._currentTask.dispose(); this._currentTask = null; this._loadScriptsInternal() } else this._raiseError(false) }, _scriptLoadTimeoutHandler: function() { var a = this._currentSession.scriptLoadTimeoutCallback; this._stopSession(); if (a) a(this); this._nextSession() }, _stopSession: function() { if (this._timeoutCookie) { window.clearTimeout(this._timeoutCookie); this._timeoutCookie = null } if (this._currentTask) { this._currentTask.dispose(); this._currentTask = null } } }; Sys._ScriptLoader.registerClass("Sys._ScriptLoader", null, Sys.IDisposable); Sys._ScriptLoader.getInstance = function() { var a = Sys._ScriptLoader._activeInstance; if (!a) a = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader; return a }; Sys._ScriptLoader.isScriptLoaded = function(b) { var a = document.createElement("script"); a.src = b; return Array.contains(Sys._ScriptLoader._getLoadedScripts(), a.src) }; Sys._ScriptLoader.readLoadedScripts = function() { if (!Sys._ScriptLoader._referencedScripts) { var b = Sys._ScriptLoader._referencedScripts = [], c = document.getElementsByTagName("script"); for (i = c.length - 1; i >= 0; i--) { var d = c[i], a = d.src; if (a.length) if (!Array.contains(b, a)) Array.add(b, a) } } }; Sys._ScriptLoader._clearScript = function(a) { if (!Sys.Debug.isDebug) a.parentNode.removeChild(a) }; Sys._ScriptLoader._errorScriptLoadFailed = function(b, d) { var a; if (d) a = Sys.Res.scriptLoadMultipleCallbacks; else a = Sys.Res.scriptLoadFailed; var e = "Sys.ScriptLoadFailedException: " + String.format(a, b), c = Error.create(e, { name: "Sys.ScriptLoadFailedException", "scriptUrl": b }); c.popStackFrame(); return c }; Sys._ScriptLoader._getLoadedScripts = function() { if (!Sys._ScriptLoader._referencedScripts) { Sys._ScriptLoader._referencedScripts = []; Sys._ScriptLoader.readLoadedScripts() } return Sys._ScriptLoader._referencedScripts }; Sys._ScriptLoaderTask = function(b, a) { this._scriptElement = b; this._completedCallback = a; this._notified = 0 }; Sys._ScriptLoaderTask.prototype = { get_scriptElement: function() { return this._scriptElement }, dispose: function() { if (this._disposed) return; this._disposed = true; this._removeScriptElementHandlers(); Sys._ScriptLoader._clearScript(this._scriptElement); this._scriptElement = null }, execute: function() { this._addScriptElementHandlers(); document.getElementsByTagName("head")[0].appendChild(this._scriptElement) }, _addScriptElementHandlers: function() { 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) } }, _removeScriptElementHandlers: function() { if (this._scriptLoadDelegate) { var a = this.get_scriptElement(); if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) $removeHandler(a, "load", this._scriptLoadDelegate); else $removeHandler(a, "readystatechange", this._scriptLoadDelegate); if (this._scriptErrorDelegate) { this._scriptElement.removeEventListener("error", this._scriptErrorDelegate, false); this._scriptErrorDelegate = null } this._scriptLoadDelegate = null } }, _scriptErrorHandler: function() { if (this._disposed) return; this._completedCallback(this.get_scriptElement(), false) }, _scriptLoadHandler: function() { if (this._disposed) return; var a = this.get_scriptElement(); if (a.readyState !== "loaded" && a.readyState !== "complete") return; var b = this; window.setTimeout(function() { b._completedCallback(a, true) }, 0) } }; Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); Sys.ApplicationLoadEventArgs = function(b, a) { Sys.ApplicationLoadEventArgs.initializeBase(this); this._components = b; this._isPartialLoad = a }; Sys.ApplicationLoadEventArgs.prototype = { get_components: function() { return this._components }, get_isPartialLoad: function() { return this._isPartialLoad } }; Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs", Sys.EventArgs); Sys.HistoryEventArgs = function(a) { Sys.HistoryEventArgs.initializeBase(this); this._state = a }; Sys.HistoryEventArgs.prototype = { get_state: function() { return this._state } }; Sys.HistoryEventArgs.registerClass("Sys.HistoryEventArgs", Sys.EventArgs); Sys._Application = function() { 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._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) }; Sys._Application.prototype = { _creatingComponents: false, _disposing: false, get_isCreatingComponents: function() { return this._creatingComponents }, get_stateString: function() { var a = window.location.hash; if (this._isSafari2()) { var b = this._getHistory(); if (b) a = b[window.history.length - this._historyInitialLength] } if (a.length > 0 && a.charAt(0) === "#") a = a.substring(1); if (Sys.Browser.agent === Sys.Browser.Firefox) a = this._serializeState(this._deserializeState(a, true)); return a }, get_enableHistory: function() { return this._enableHistory }, set_enableHistory: function(a) { this._enableHistory = a }, add_init: function(a) { if (this._initialized) a(this, Sys.EventArgs.Empty); else this.get_events().addHandler("init", a) }, remove_init: function(a) { this.get_events().removeHandler("init", a) }, add_load: function(a) { this.get_events().addHandler("load", a) }, remove_load: function(a) { this.get_events().removeHandler("load", a) }, add_navigate: function(a) { this.get_events().addHandler("navigate", a) }, remove_navigate: function(a) { this.get_events().removeHandler("navigate", a) }, add_unload: function(a) { this.get_events().addHandler("unload", a) }, remove_unload: function(a) { this.get_events().removeHandler("unload", a) }, addComponent: function(a) { this._components[a.get_id()] = a }, addHistoryPoint: function(c, f) { this._ensureHistory(); var b = this._state; for (var a in c) { var d = c[a]; if (d === null) { if (typeof b[a] !== "undefined") delete b[a] } else b[a] = d } var e = this._serializeState(b); this._historyPointIsNew = true; this._setState(e, f); this._raiseNavigate() }, beginCreateComponents: function() { this._creatingComponents = true }, dispose: function() { 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 c = this.get_events().getHandler("unload"); if (c) c(this, Sys.EventArgs.Empty); var b = Array.clone(this._disposableObjects); for (var a = 0, e = b.length; a < e; a++) b[a].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 d = Sys._ScriptLoader.getInstance(); if (d) d.dispose(); Sys._Application.callBaseMethod(this, "dispose") } }, endCreateComponents: function() { var b = this._secondPassComponents; for (var a = 0, d = b.length; a < d; a++) { var c = b[a].component; Sys$Component$_setReferences(c, b[a].references); c.endUpdate() } this._secondPassComponents = []; this._creatingComponents = false }, findComponent: function(b, a) { return a ? Sys.IContainer.isInstanceOfType(a) ? a.findComponent(b) : a[b] || null : Sys.Application._components[b] || null }, getComponents: function() { var a = [], b = this._components; for (var c in b) a[a.length] = b[c]; return a }, initialize: function() { if (!this._initialized && !this._initializing) { this._initializing = true; window.setTimeout(Function.createDelegate(this, this._doInitialize), 0) } }, notifyScriptLoaded: function() { var a = Sys._ScriptLoader.getInstance(); if (a) a.notifyScriptLoaded() }, registerDisposableObject: function(a) { if (!this._disposing) this._disposableObjects[this._disposableObjects.length] = a }, raiseLoad: function() { var b = this.get_events().getHandler("load"), a = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !this._initializing); if (b) b(this, a); if (window.pageLoad) window.pageLoad(this, a); this._createdComponents = [] }, removeComponent: function(b) { var a = b.get_id(); if (a) delete this._components[a] }, setServerId: function(a, b) { this._clientId = a; this._uniqueId = b }, setServerState: function(a) { this._ensureHistory(); this._state.__s = a; this._updateHiddenField(a) }, unregisterDisposableObject: function(a) { if (!this._disposing) Array.remove(this._disposableObjects, a) }, _addComponentToSecondPass: function(b, a) { this._secondPassComponents[this._secondPassComponents.length] = { component: b, references: a} }, _deserializeState: function(a, i) { var e = {}; a = a || ""; var b = a.indexOf("&&"); if (b !== -1 && b + 2 < a.length) { e.__s = a.substr(b + 2); a = a.substr(0, b) } var g = a.split("&"); for (var f = 0, k = g.length; f < k; f++) { var d = g[f], c = d.indexOf("="); if (c !== -1 && c + 1 < d.length) { var j = d.substr(0, c), h = d.substr(c + 1); e[j] = i ? h : decodeURIComponent(h) } } return e }, _doInitialize: function() { Sys._Application.callBaseMethod(this, "initialize"); var b = this.get_events().getHandler("init"); if (b) { this.beginCreateComponents(); b(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 a = this.get_stateString(); if (a !== this._currentEntry) this._navigate(a); this.raiseLoad(); this._initializing = false }, _enableHistoryInScriptManager: function() { this._enableHistory = true }, _ensureHistory: function() { if (!this._historyInitialized && this._enableHistory) { if (Sys.Browser.agent === Sys.Browser.InternetExplorer && Sys.Browser.documentMode < 8) { this._historyFrame = document.getElementById("__historyFrame"); this._ignoreIFrame = true } if (this._isSafari2()) { var a = document.getElementById("__history"); 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 (b) { } this._historyInitialized = true } }, _getHistory: function() { var a = document.getElementById("__history"); if (!a) return ""; var b = a.value; return b ? Sys.Serialization.JavaScriptSerializer.deserialize(b, true) : "" }, _isSafari2: function() { return Sys.Browser.agent === Sys.Browser.Safari && Sys.Browser.version <= 419.3 }, _loadHandler: function() { if (this._loadHandlerDelegate) { Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); this._loadHandlerDelegate = null } this.initialize() }, _navigate: function(c) { this._ensureHistory(); var b = this._deserializeState(c); if (this._uniqueId) { var d = this._state.__s || "", a = b.__s || ""; if (a !== d) { this._updateHiddenField(a); __doPostBack(this._uniqueId, a); this._state = b; return } } this._setState(c); this._state = b; this._raiseNavigate() }, _onIdle: function() { delete this._timerCookie; var a = this.get_stateString(); if (a !== this._currentEntry) { if (!this._ignoreTimer) { this._historyPointIsNew = false; this._navigate(a); this._historyLength = window.history.length } } else this._ignoreTimer = false; this._timerCookie = window.setTimeout(this._timerHandler, 100) }, _onIFrameLoad: function(a) { this._ensureHistory(); if (!this._ignoreIFrame) { this._historyPointIsNew = false; this._navigate(a) } this._ignoreIFrame = false }, _onPageRequestManagerBeginRequest: function() { this._ignoreTimer = true }, _onPageRequestManagerEndRequest: function(e, d) { var b = d.get_dataItems()[this._clientId], a = document.getElementById("__EVENTTARGET"); if (a && a.value === this._uniqueId) a.value = ""; if (typeof b !== "undefined") { this.setServerState(b); this._historyPointIsNew = true } else this._ignoreTimer = false; var c = this._serializeState(this._state); if (c !== this._currentEntry) { this._ignoreTimer = true; this._setState(c); this._raiseNavigate() } }, _raiseNavigate: function() { var c = this.get_events().getHandler("navigate"), b = {}; for (var a in this._state) if (a !== "__s") b[a] = this._state[a]; var d = new Sys.HistoryEventArgs(b); if (c) c(this, d) }, _serializeState: function(d) { var b = []; for (var a in d) { var e = d[a]; if (a === "__s") var c = e; else b[b.length] = a + "=" + encodeURIComponent(e) } return b.join("&") + (c ? "&&" + c : "") }, _setHistory: function(b) { var a = document.getElementById("__history"); if (a) a.value = Sys.Serialization.JavaScriptSerializer.serialize(b) }, _setState: function(a, c) { a = a || ""; if (a !== this._currentEntry) { if (window.theForm) { var e = window.theForm.action, f = e.indexOf("#"); window.theForm.action = (f !== -1 ? e.substring(0, f) : e) + "#" + a } if (this._historyFrame && this._historyPointIsNew) { this._ignoreIFrame = true; this._historyPointIsNew = false; var d = this._historyFrame.contentWindow.document; d.open("javascript:'<html></html>'"); d.write("<html><head><title>" + (c || document.title) + "</title><scri" + 'pt type="text/javascript">parent.Sys.Application._onIFrameLoad(\'' + a + "');</scri" + "pt></head><body></body></html>"); d.close() } this._ignoreTimer = false; var h = this.get_stateString(); this._currentEntry = a; if (a !== h) { if (this._isSafari2()) { var g = this._getHistory(); g[window.history.length - this._historyInitialLength + 1] = a; this._setHistory(g); this._historyLength = window.history.length + 1; var b = document.createElement("form"); b.method = "get"; b.action = "#" + a; document.appendChild(b); b.submit(); document.removeChild(b) } else window.location.hash = a; if (typeof c !== "undefined" && c !== null) document.title = c } } }, _unloadHandler: function() { this.dispose() }, _updateHiddenField: function(b) { if (this._clientId) { var a = document.getElementById(this._clientId); if (a) a.value = b } } }; 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() { this._webRequest = null; this._resultObject = null }; Sys.Net.WebRequestExecutor.prototype = { get_webRequest: function() { return this._webRequest }, _set_webRequest: function(a) { this._webRequest = a }, get_started: function() { throw Error.notImplemented() }, get_responseAvailable: function() { throw Error.notImplemented() }, get_timedOut: function() { throw Error.notImplemented() }, get_aborted: function() { throw Error.notImplemented() }, get_responseData: function() { throw Error.notImplemented() }, get_statusCode: function() { throw Error.notImplemented() }, get_statusText: function() { throw Error.notImplemented() }, get_xml: function() { throw Error.notImplemented() }, get_object: function() { if (!this._resultObject) this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); return this._resultObject }, executeRequest: function() { throw Error.notImplemented() }, abort: function() { throw Error.notImplemented() }, getResponseHeader: function() { throw Error.notImplemented() }, getAllResponseHeaders: function() { throw Error.notImplemented() } }; Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor"); Sys.Net.XMLDOM = function(d) { if (!window.DOMParser) { var c = ["Msxml2.DOMDocument.3.0", "Msxml2.DOMDocument"]; for (var b = 0, f = c.length; b < f; b++) try { var a = new ActiveXObject(c[b]); a.async = false; a.loadXML(d); a.setProperty("SelectionLanguage", "XPath"); return a } catch (g) { } } else try { var e = new window.DOMParser; return e.parseFromString(d, "text/xml") } catch (g) { } return null }; Sys.Net.XMLHttpExecutor = function() { Sys.Net.XMLHttpExecutor.initializeBase(this); var a = 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 (a._xmlHttpRequest.readyState === 4) { try { if (typeof a._xmlHttpRequest.status === "undefined") return } catch (b) { return } a._clearTimer(); a._responseAvailable = true; try { a._webRequest.completed(Sys.EventArgs.Empty) } finally { if (a._xmlHttpRequest != null) { a._xmlHttpRequest.onreadystatechange = Function.emptyMethod; a._xmlHttpRequest = null } } } }; this._clearTimer = function() { if (a._timer != null) { window.clearTimeout(a._timer); a._timer = null } }; this._onTimeout = function() { if (!a._responseAvailable) { a._clearTimer(); a._timedOut = true; a._xmlHttpRequest.onreadystatechange = Function.emptyMethod; a._xmlHttpRequest.abort(); a._webRequest.completed(Sys.EventArgs.Empty); a._xmlHttpRequest = null } } }; Sys.Net.XMLHttpExecutor.prototype = { get_timedOut: function() { return this._timedOut }, get_started: function() { return this._started }, get_responseAvailable: function() { return this._responseAvailable }, get_aborted: function() { return this._aborted }, executeRequest: function() { this._webRequest = this.get_webRequest(); var c = this._webRequest.get_body(), a = this._webRequest.get_headers(); this._xmlHttpRequest = new XMLHttpRequest; this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; var e = this._webRequest.get_httpVerb(); this._xmlHttpRequest.open(e, this._webRequest.getResolvedUrl(), true); if (a) for (var b in a) { var f = a[b]; if (typeof f !== "function") this._xmlHttpRequest.setRequestHeader(b, f) } if (e.toLowerCase() === "post") { if (a === null || !a["Content-Type"]) this._xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); if (!c) c = "" } var d = this._webRequest.get_timeout(); if (d > 0) this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), d); this._xmlHttpRequest.send(c); this._started = true }, getResponseHeader: function(b) { var a; try { a = this._xmlHttpRequest.getResponseHeader(b) } catch (c) { } if (!a) a = ""; return a }, getAllResponseHeaders: function() { return this._xmlHttpRequest.getAllResponseHeaders() }, get_responseData: function() { return this._xmlHttpRequest.responseText }, get_statusCode: function() { var a = 0; try { a = this._xmlHttpRequest.status } catch (b) { } return a }, get_statusText: function() { return this._xmlHttpRequest.statusText }, get_xml: function() { var a = this._xmlHttpRequest.responseXML; if (!a || !a.documentElement) { a = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); if (!a || !a.documentElement) return null } else if (navigator.userAgent.indexOf("MSIE") !== -1) a.setProperty("SelectionLanguage", "XPath"); if (a.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && a.documentElement.tagName === "parsererror") return null; if (a.documentElement.firstChild && a.documentElement.firstChild.tagName === "parsererror") return null; return a }, abort: function() { 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.registerClass("Sys.Net.XMLHttpExecutor", Sys.Net.WebRequestExecutor); Sys.Net._WebRequestManager = function() { this._defaultTimeout = 0; this._defaultExecutorType = "Sys.Net.XMLHttpExecutor" }; Sys.Net._WebRequestManager.prototype = { add_invokingRequest: function(a) { this._get_eventHandlerList().addHandler("invokingRequest", a) }, remove_invokingRequest: function(a) { this._get_eventHandlerList().removeHandler("invokingRequest", a) }, add_completedRequest: function(a) { this._get_eventHandlerList().addHandler("completedRequest", a) }, remove_completedRequest: function(a) { this._get_eventHandlerList().removeHandler("completedRequest", a) }, _get_eventHandlerList: function() { if (!this._events) this._events = new Sys.EventHandlerList; return this._events }, get_defaultTimeout: function() { return this._defaultTimeout }, set_defaultTimeout: function(a) { this._defaultTimeout = a }, get_defaultExecutorType: function() { return this._defaultExecutorType }, set_defaultExecutorType: function(a) { this._defaultExecutorType = a }, executeRequest: function(webRequest) { var executor = webRequest.get_executor(); if (!executor) { var failed = false; try { var executorType = eval(this._defaultExecutorType); executor = new executorType } catch (a) { failed = true } webRequest.set_executor(executor) } if (executor.get_aborted()) return; var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest), handler = this._get_eventHandlerList().getHandler("invokingRequest"); if (handler) handler(this, evArgs); if (!evArgs.get_cancel()) executor.executeRequest() } }; Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager"); Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager; Sys.Net.NetworkRequestEventArgs = function(a) { Sys.Net.NetworkRequestEventArgs.initializeBase(this); this._webRequest = a }; Sys.Net.NetworkRequestEventArgs.prototype = { get_webRequest: function() { return this._webRequest } }; Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs", Sys.CancelEventArgs); Sys.Net.WebRequest = function() { this._url = ""; this._headers = {}; this._body = null; this._userContext = null; this._httpVerb = null; this._executor = null; this._invokeCalled = false; this._timeout = 0 }; Sys.Net.WebRequest.prototype = { add_completed: function(a) { this._get_eventHandlerList().addHandler("completed", a) }, remove_completed: function(a) { this._get_eventHandlerList().removeHandler("completed", a) }, completed: function(b) { var a = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); if (a) a(this._executor, b); a = this._get_eventHandlerList().getHandler("completed"); if (a) a(this._executor, b) }, _get_eventHandlerList: function() { if (!this._events) this._events = new Sys.EventHandlerList; return this._events }, get_url: function() { return this._url }, set_url: function(a) { this._url = a }, get_headers: function() { return this._headers }, get_httpVerb: function() { if (this._httpVerb === null) { if (this._body === null) return "GET"; return "POST" } return this._httpVerb }, set_httpVerb: function(a) { this._httpVerb = a }, get_body: function() { return this._body }, set_body: function(a) { this._body = a }, get_userContext: function() { return this._userContext }, set_userContext: function(a) { this._userContext = a }, get_executor: function() { return this._executor }, set_executor: function(a) { this._executor = a; this._executor._set_webRequest(this) }, get_timeout: function() { if (this._timeout === 0) return Sys.Net.WebRequestManager.get_defaultTimeout(); return this._timeout }, set_timeout: function(a) { this._timeout = a }, getResolvedUrl: function() { return Sys.Net.WebRequest._resolveUrl(this._url) }, invoke: function() { Sys.Net.WebRequestManager.executeRequest(this); this._invokeCalled = true } }; Sys.Net.WebRequest._resolveUrl = function(b, a) { if (b && b.indexOf("://") !== -1) return b; if (!a || a.length === 0) { var d = document.getElementsByTagName("base")[0]; if (d && d.href && d.href.length > 0) a = d.href; else a = document.URL } var c = a.indexOf("?"); if (c !== -1) a = a.substr(0, c); c = a.indexOf("#"); if (c !== -1) a = a.substr(0, c); a = a.substr(0, a.lastIndexOf("/") + 1); if (!b || b.length === 0) return a; if (b.charAt(0) === "/") { var e = a.indexOf("://"), g = a.indexOf("/", e + 3); return a.substr(0, g) + b } else { var f = a.lastIndexOf("/"); return a.substr(0, f + 1) + b } }; Sys.Net.WebRequest._createQueryString = function(d, b) { if (!b) b = encodeURIComponent; var a = new Sys.StringBuilder, f = 0; for (var c in d) { var e = d[c]; if (typeof e === "function") continue; var g = Sys.Serialization.JavaScriptSerializer.serialize(e); if (f !== 0) a.append("&"); a.append(c); a.append("="); a.append(b(g)); f++ } return a.toString() }; Sys.Net.WebRequest._createUrl = function(a, b) { if (!b) return a; var d = Sys.Net.WebRequest._createQueryString(b); if (d.length > 0) { var c = "?"; if (a && a.indexOf("?") !== -1) c = "&"; return a + c + d } else return a }; Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest"); Sys.Net.WebServiceProxy = function() { }; Sys.Net.WebServiceProxy.prototype = { get_timeout: function() { return this._timeout }, set_timeout: function(a) { if (a < 0) throw Error.argumentOutOfRange("value", a, Sys.Res.invalidTimeout); this._timeout = a }, get_defaultUserContext: function() { return this._userContext }, set_defaultUserContext: function(a) { this._userContext = a }, get_defaultSucceededCallback: function() { return this._succeeded }, set_defaultSucceededCallback: function(a) { this._succeeded = a }, get_defaultFailedCallback: function() { return this._failed }, set_defaultFailedCallback: function(a) { this._failed = a }, get_path: function() { return this._path }, set_path: function(a) { this._path = a }, _invoke: function(d, e, g, f, c, b, a) { if (c === null || typeof c === "undefined") c = this.get_defaultSucceededCallback(); if (b === null || typeof b === "undefined") b = this.get_defaultFailedCallback(); if (a === null || typeof a === "undefined") a = this.get_defaultUserContext(); return Sys.Net.WebServiceProxy.invoke(d, e, g, f, c, b, a, this.get_timeout()) } }; Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy"); Sys.Net.WebServiceProxy.invoke = function(k, a, j, d, i, c, f, h) { var b = new Sys.Net.WebRequest; b.get_headers()["Content-Type"] = "application/json; charset=utf-8"; if (!d) d = {}; var g = d; if (!j || !g) g = {}; b.set_url(Sys.Net.WebRequest._createUrl(k + "/" + encodeURIComponent(a), g)); var e = null; if (!j) { e = Sys.Serialization.JavaScriptSerializer.serialize(d); if (e === "{}") e = "" } b.set_body(e); b.add_completed(l); if (h && h > 0) b.set_timeout(h); b.invoke(); function l(d) { if (d.get_responseAvailable()) { var g = d.get_statusCode(), b = null; try { var e = d.getResponseHeader("Content-Type"); if (e.startsWith("application/json")) b = d.get_object(); else if (e.startsWith("text/xml")) b = d.get_xml(); else b = d.get_responseData() } catch (m) { } var k = d.getResponseHeader("jsonerror"), h = k === "true"; if (h) { if (b) b = new Sys.Net.WebServiceError(false, b.Message, b.StackTrace, b.ExceptionType) } else if (e.startsWith("application/json")) b = b.d; if (g < 200 || g >= 300 || h) { if (c) { if (!b || !h) b = new Sys.Net.WebServiceError(false, String.format(Sys.Res.webServiceFailedNoMsg, a), "", ""); b._statusCode = g; c(b, f, a) } } else if (i) i(b, f, a) } else { var j; if (d.get_timedOut()) j = String.format(Sys.Res.webServiceTimedOut, a); else j = String.format(Sys.Res.webServiceFailedNoMsg, a); if (c) c(new Sys.Net.WebServiceError(d.get_timedOut(), j, "", ""), f, a) } } return b }; Sys.Net.WebServiceProxy._generateTypedConstructor = function(a) { return function(b) { if (b) for (var c in b) this[c] = b[c]; this.__type = a } }; Sys.Net.WebServiceError = function(c, d, b, a) { this._timedOut = c; this._message = d; this._stackTrace = b; this._exceptionType = a; this._statusCode = -1 }; Sys.Net.WebServiceError.prototype = { get_timedOut: function() { return this._timedOut }, get_statusCode: function() { return this._statusCode }, get_message: function() { return this._message }, get_stackTrace: function() { return this._stackTrace }, get_exceptionType: function() { return this._exceptionType } }; Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError"); Type.registerNamespace("Sys.Services"); Sys.Services._ProfileService = function() { Sys.Services._ProfileService.initializeBase(this); this.properties = {} }; Sys.Services._ProfileService.DefaultWebServicePath = ""; Sys.Services._ProfileService.prototype = { _defaultLoadCompletedCallback: null, _defaultSaveCompletedCallback: null, _path: "", _timeout: 0, get_defaultLoadCompletedCallback: function() { return this._defaultLoadCompletedCallback }, set_defaultLoadCompletedCallback: function(a) { this._defaultLoadCompletedCallback = a }, get_defaultSaveCompletedCallback: function() { return this._defaultSaveCompletedCallback }, set_defaultSaveCompletedCallback: function(a) { this._defaultSaveCompletedCallback = a }, get_path: function() { return this._path || "" }, load: function(c, d, e, f) { var b, a; if (!c) { a = "GetAllPropertiesForCurrentUser"; b = { authenticatedUserOnly: false} } else { a = "GetPropertiesForCurrentUser"; b = { properties: this._clonePropertyNames(c), authenticatedUserOnly: false} } this._invoke(this._get_path(), a, false, b, Function.createDelegate(this, this._onLoadComplete), Function.createDelegate(this, this._onLoadFailed), [d, e, f]) }, save: function(d, b, c, e) { var a = this._flattenProperties(d, this.properties); this._invoke(this._get_path(), "SetPropertiesForCurrentUser", false, { values: a.value, authenticatedUserOnly: false }, Function.createDelegate(this, this._onSaveComplete), Function.createDelegate(this, this._onSaveFailed), [b, c, e, a.count]) }, _clonePropertyNames: function(e) { var c = [], d = {}; for (var b = 0; b < e.length; b++) { var a = e[b]; if (!d[a]) { Array.add(c, a); d[a] = true } } return c }, _flattenProperties: function(a, i, j) { var b = {}, e, d, g = 0; if (a && a.length === 0) return { value: b, count: 0 }; for (var c in i) { e = i[c]; d = j ? j + "." + c : c; if (Sys.Services.ProfileGroup.isInstanceOfType(e)) { var k = this._flattenProperties(a, e, d), h = k.value; g += k.count; for (var f in h) { var l = h[f]; b[f] = l } } else if (!a || Array.indexOf(a, d) !== -1) { b[d] = e; g++ } } return { value: b, count: g} }, _get_path: function() { var a = this.get_path(); if (!a.length) a = Sys.Services._ProfileService.DefaultWebServicePath; if (!a || !a.length) throw Error.invalidOperation(Sys.Res.servicePathNotSet); return a }, _onLoadComplete: function(a, e, g) { if (typeof a !== "object") throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, g, "Object")); var c = this._unflattenProperties(a); for (var b in c) this.properties[b] = c[b]; var d = e[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); if (d) { var f = e[2] || this.get_defaultUserContext(); d(a.length, f, "Sys.Services.ProfileService.load") } }, _onLoadFailed: function(d, b) { var a = b[1] || this.get_defaultFailedCallback(); if (a) { var c = b[2] || this.get_defaultUserContext(); a(d, c, "Sys.Services.ProfileService.load") } }, _onSaveComplete: function(a, b, f) { var c = b[3]; if (a !== null) if (a instanceof Array) c -= a.length; else if (typeof a === "number") c = a; else throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, f, "Array")); var d = b[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback(); if (d) { var e = b[2] || this.get_defaultUserContext(); d(c, e, "Sys.Services.ProfileService.save") } }, _onSaveFailed: function(d, b) { var a = b[1] || this.get_defaultFailedCallback(); if (a) { var c = b[2] || this.get_defaultUserContext(); a(d, c, "Sys.Services.ProfileService.save") } }, _unflattenProperties: function(e) { var c = {}, d, f, h = 0; for (var a in e) { h++; f = e[a]; d = a.indexOf("."); if (d !== -1) { var g = a.substr(0, d); a = a.substr(d + 1); var b = c[g]; if (!b || !Sys.Services.ProfileGroup.isInstanceOfType(b)) { b = new Sys.Services.ProfileGroup; c[g] = b } b[a] = f } else c[a] = f } e.length = h; return c } }; Sys.Services._ProfileService.registerClass("Sys.Services._ProfileService", Sys.Net.WebServiceProxy); Sys.Services.ProfileService = new Sys.Services._ProfileService; Sys.Services.ProfileGroup = function(a) { if (a) for (var b in a) this[b] = a[b] }; Sys.Services.ProfileGroup.registerClass("Sys.Services.ProfileGroup"); Sys.Services._AuthenticationService = function() { Sys.Services._AuthenticationService.initializeBase(this) }; Sys.Services._AuthenticationService.DefaultWebServicePath = ""; Sys.Services._AuthenticationService.prototype = { _defaultLoginCompletedCallback: null, _defaultLogoutCompletedCallback: null, _path: "", _timeout: 0, _authenticated: false, get_defaultLoginCompletedCallback: function() { return this._defaultLoginCompletedCallback }, set_defaultLoginCompletedCallback: function(a) { this._defaultLoginCompletedCallback = a }, get_defaultLogoutCompletedCallback: function() { return this._defaultLogoutCompletedCallback }, set_defaultLogoutCompletedCallback: function(a) { this._defaultLogoutCompletedCallback = a }, get_isLoggedIn: function() { return this._authenticated }, get_path: function() { return this._path || "" }, login: function(c, b, a, h, f, d, e, g) { this._invoke(this._get_path(), "Login", false, { userName: c, password: b, createPersistentCookie: a }, Function.createDelegate(this, this._onLoginComplete), Function.createDelegate(this, this._onLoginFailed), [c, b, a, h, f, d, e, g]) }, logout: function(c, a, b, d) { this._invoke(this._get_path(), "Logout", false, {}, Function.createDelegate(this, this._onLogoutComplete), Function.createDelegate(this, this._onLogoutFailed), [c, a, b, d]) }, _get_path: function() { var a = this.get_path(); if (!a.length) a = Sys.Services._AuthenticationService.DefaultWebServicePath; if (!a || !a.length) throw Error.invalidOperation(Sys.Res.servicePathNotSet); return a }, _onLoginComplete: function(e, c, f) { if (typeof e !== "boolean") throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, f, "Boolean")); var b = c[4], d = c[7] || this.get_defaultUserContext(), a = c[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback(); if (e) { this._authenticated = true; if (a) a(true, d, "Sys.Services.AuthenticationService.login"); if (typeof b !== "undefined" && b !== null) window.location.href = b } else if (a) a(false, d, "Sys.Services.AuthenticationService.login") }, _onLoginFailed: function(d, b) { var a = b[6] || this.get_defaultFailedCallback(); if (a) { var c = b[7] || this.get_defaultUserContext(); a(d, c, "Sys.Services.AuthenticationService.login") } }, _onLogoutComplete: function(f, a, e) { if (f !== null) throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, e, "null")); var b = a[0], d = a[3] || this.get_defaultUserContext(), c = a[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback(); this._authenticated = false; if (c) c(null, d, "Sys.Services.AuthenticationService.logout"); if (!b) window.location.reload(); else window.location.href = b }, _onLogoutFailed: function(c, b) { var a = b[2] || this.get_defaultFailedCallback(); if (a) a(c, b[3], "Sys.Services.AuthenticationService.logout") }, _setAuthenticated: function(a) { this._authenticated = a } }; Sys.Services._AuthenticationService.registerClass("Sys.Services._AuthenticationService", Sys.Net.WebServiceProxy); Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService; Sys.Services._RoleService = function() { Sys.Services._RoleService.initializeBase(this); this._roles = [] }; Sys.Services._RoleService.DefaultWebServicePath = ""; Sys.Services._RoleService.prototype = { _defaultLoadCompletedCallback: null, _rolesIndex: null, _timeout: 0, _path: "", get_defaultLoadCompletedCallback: function() { return this._defaultLoadCompletedCallback }, set_defaultLoadCompletedCallback: function(a) { this._defaultLoadCompletedCallback = a }, get_path: function() { return this._path || "" }, get_roles: function() { return Array.clone(this._roles) }, isUserInRole: function(a) { var b = this._get_rolesIndex()[a.trim().toLowerCase()]; return !!b }, load: function(a, b, c) { Sys.Net.WebServiceProxy.invoke(this._get_path(), "GetRolesForCurrentUser", false, {}, Function.createDelegate(this, this._onLoadComplete), Function.createDelegate(this, this._onLoadFailed), [a, b, c], this.get_timeout()) }, _get_path: function() { var a = this.get_path(); if (!a || !a.length) a = Sys.Services._RoleService.DefaultWebServicePath; if (!a || !a.length) throw Error.invalidOperation(Sys.Res.servicePathNotSet); return a }, _get_rolesIndex: function() { if (!this._rolesIndex) { var b = {}; for (var a = 0; a < this._roles.length; a++) b[this._roles[a].toLowerCase()] = true; this._rolesIndex = b } return this._rolesIndex }, _onLoadComplete: function(a, c, f) { if (a && !(a instanceof Array)) throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, f, "Array")); this._roles = a; this._rolesIndex = null; var b = c[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); if (b) { var e = c[2] || this.get_defaultUserContext(), d = Array.clone(a); b(d, e, "Sys.Services.RoleService.load") } }, _onLoadFailed: function(d, b) { var a = b[1] || this.get_defaultFailedCallback(); if (a) { var c = b[2] || this.get_defaultUserContext(); a(d, c, "Sys.Services.RoleService.load") } } }; 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.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() { var c = ["\\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 a = 0; a < 32; a++) { var b = String.fromCharCode(a); Sys.Serialization.JavaScriptSerializer._charsToEscape[a + 2] = b; Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b] = new RegExp(b, "g"); Sys.Serialization.JavaScriptSerializer._escapeChars[b] = c[a] } }; Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function(b, a) { a.append(b.toString()) }; Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function(a, b) { if (isFinite(a)) b.append(String(a)); else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers) }; Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function(a, c) { c.append('"'); if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(a)) { if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) Sys.Serialization.JavaScriptSerializer._init(); if (a.length < 128) a = a.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, function(a) { return Sys.Serialization.JavaScriptSerializer._escapeChars[a] }); else for (var d = 0; d < 34; d++) { var b = Sys.Serialization.JavaScriptSerializer._charsToEscape[d]; if (a.indexOf(b) !== -1) if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) a = a.split(b).join(Sys.Serialization.JavaScriptSerializer._escapeChars[b]); else a = a.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b], Sys.Serialization.JavaScriptSerializer._escapeChars[b]) } } c.append(a); c.append('"') }; Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function(b, a, i, g) { var c; switch (typeof b) { case "object": if (b) if (Number.isInstanceOfType(b)) Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b, a); else if (Boolean.isInstanceOfType(b)) Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b, a); else if (String.isInstanceOfType(b)) Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b, a); else if (Array.isInstanceOfType(b)) { a.append("["); for (c = 0; c < b.length; ++c) { if (c > 0) a.append(","); Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c], a, false, g) } a.append("]") } else { if (Date.isInstanceOfType(b)) { a.append('"\\/Date('); a.append(b.getTime()); a.append(')\\/"'); break } var d = [], f = 0; for (var e in b) { if (e.startsWith("$")) continue; if (e === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && f !== 0) { d[f++] = d[0]; d[0] = e } else d[f++] = e } if (i) d.sort(); a.append("{"); var j = false; for (c = 0; c < f; c++) { var h = b[d[c]]; if (typeof h !== "undefined" && typeof h !== "function") { if (j) a.append(","); else j = true; Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(d[c], a, i, g); a.append(":"); Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(h, a, i, g) } } a.append("}") } else a.append("null"); break; case "number": Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b, a); break; case "string": Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b, a); break; case "boolean": Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b, a); break; default: a.append("null") } }; Sys.Serialization.JavaScriptSerializer.serialize = function(b) { var a = new Sys.StringBuilder; Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b, a, false); return a.toString() }; Sys.Serialization.JavaScriptSerializer.deserialize = function(data, secure) { 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 (a) { throw Error.argument("data", Sys.Res.cannotDeserializeInvalidJson) } }; Sys.CultureInfo = function(c, b, a) { this.name = c; this.numberFormat = b; this.dateTimeFormat = a }; Sys.CultureInfo.prototype = { _getDateTimeFormats: function() { if (!this._dateTimeFormats) { var a = this.dateTimeFormat; this._dateTimeFormats = [a.MonthDayPattern, a.YearMonthPattern, a.ShortDatePattern, a.ShortTimePattern, a.LongDatePattern, a.LongTimePattern, a.FullDateTimePattern, a.RFC1123Pattern, a.SortableDateTimePattern, a.UniversalSortableDateTimePattern] } return this._dateTimeFormats }, _getMonthIndex: function(a) { if (!this._upperMonths) this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); return Array.indexOf(this._upperMonths, this._toUpper(a)) }, _getAbbrMonthIndex: function(a) { if (!this._upperAbbrMonths) this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); return Array.indexOf(this._upperAbbrMonths, this._toUpper(a)) }, _getDayIndex: function(a) { if (!this._upperDays) this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); return Array.indexOf(this._upperDays, this._toUpper(a)) }, _getAbbrDayIndex: function(a) { if (!this._upperAbbrDays) this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); return Array.indexOf(this._upperAbbrDays, this._toUpper(a)) }, _toUpperArray: function(c) { var b = []; for (var a = 0, d = c.length; a < d; a++) b[a] = this._toUpper(c[a]); return b }, _toUpper: function(a) { return a.split("\u00a0").join(" ").toUpperCase() } }; Sys.CultureInfo._parse = function(b) { var a = Sys.Serialization.JavaScriptSerializer.deserialize(b); return new Sys.CultureInfo(a.name, a.numberFormat, a.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(b) { Sys.UI.Behavior.initializeBase(this); this._element = b; var a = b._behaviors; if (!a) b._behaviors = [this]; else a[a.length] = this }; Sys.UI.Behavior.prototype = { _name: null, get_element: function() { return this._element }, get_id: function() { var a = Sys.UI.Behavior.callBaseMethod(this, "get_id"); if (a) return a; if (!this._element || !this._element.id) return ""; return this._element.id + "$" + this.get_name() }, get_name: function() { if (this._name) return this._name; var a = Object.getTypeName(this), b = a.lastIndexOf("."); if (b != -1) a = a.substr(b + 1); if (!this.get_isInitialized()) this._name = a; return a }, set_name: function(a) { this._name = a }, initialize: function() { Sys.UI.Behavior.callBaseMethod(this, "initialize"); var a = this.get_name(); if (a) this._element[a] = this }, dispose: function() { Sys.UI.Behavior.callBaseMethod(this, "dispose"); if (this._element) { var a = this.get_name(); if (a) this._element[a] = null; Array.remove(this._element._behaviors, this); delete this._element } } }; Sys.UI.Behavior.registerClass("Sys.UI.Behavior", Sys.Component); Sys.UI.Behavior.getBehaviorByName = function(b, c) { var a = b[c]; return a && Sys.UI.Behavior.isInstanceOfType(a) ? a : null }; Sys.UI.Behavior.getBehaviors = function(a) { if (!a._behaviors) return []; return Array.clone(a._behaviors) }; Sys.UI.Behavior.getBehaviorsByType = function(d, e) { var a = d._behaviors, c = []; if (a) for (var b = 0, f = a.length; b < f; b++) if (e.isInstanceOfType(a[b])) c[c.length] = a[b]; return c }; Sys.UI.VisibilityMode = function() { throw Error.notImplemented() }; Sys.UI.VisibilityMode.prototype = { hide: 0, collapse: 1 }; Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); Sys.UI.Control = function(a) { Sys.UI.Control.initializeBase(this); this._element = a; a.control = this }; Sys.UI.Control.prototype = { _parent: null, _visibilityMode: Sys.UI.VisibilityMode.hide, get_element: function() { return this._element }, get_id: function() { if (!this._element) return ""; return this._element.id }, set_id: function() { throw Error.invalidOperation(Sys.Res.cantSetId) }, get_parent: function() { if (this._parent) return this._parent; if (!this._element) return null; var a = this._element.parentNode; while (a) { if (a.control) return a.control; a = a.parentNode } return null }, set_parent: function(a) { this._parent = a }, get_visibilityMode: function() { return Sys.UI.DomElement.getVisibilityMode(this._element) }, set_visibilityMode: function(a) { Sys.UI.DomElement.setVisibilityMode(this._element, a) }, get_visible: function() { return Sys.UI.DomElement.getVisible(this._element) }, set_visible: function(a) { Sys.UI.DomElement.setVisible(this._element, a) }, addCssClass: function(a) { Sys.UI.DomElement.addCssClass(this._element, a) }, dispose: function() { Sys.UI.Control.callBaseMethod(this, "dispose"); if (this._element) { this._element.control = undefined; delete this._element } if (this._parent) delete this._parent }, onBubbleEvent: function() { return false }, raiseBubbleEvent: function(b, c) { var a = this.get_parent(); while (a) { if (a.onBubbleEvent(b, c)) return; a = a.get_parent() } }, removeCssClass: function(a) { Sys.UI.DomElement.removeCssClass(this._element, a) }, toggleCssClass: function(a) { Sys.UI.DomElement.toggleCssClass(this._element, a) } }; Sys.UI.Control.registerClass("Sys.UI.Control", Sys.Component);
Type.registerNamespace('Sys'); Sys.Res = { "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?" };
//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxWebForms.js
Type.registerNamespace("Sys.WebForms"); Sys.WebForms.BeginRequestEventArgs = function(b, a) { Sys.WebForms.BeginRequestEventArgs.initializeBase(this); this._request = b; this._postBackElement = a }; Sys.WebForms.BeginRequestEventArgs.prototype = { get_postBackElement: function() { return this._postBackElement }, get_request: function() { return this._request } }; Sys.WebForms.BeginRequestEventArgs.registerClass("Sys.WebForms.BeginRequestEventArgs", Sys.EventArgs); Sys.WebForms.EndRequestEventArgs = function(c, a, b) { Sys.WebForms.EndRequestEventArgs.initializeBase(this); this._errorHandled = false; this._error = c; this._dataItems = a || {}; this._response = b }; Sys.WebForms.EndRequestEventArgs.prototype = { get_dataItems: function() { return this._dataItems }, get_error: function() { return this._error }, get_errorHandled: function() { return this._errorHandled }, set_errorHandled: function(a) { this._errorHandled = a }, get_response: function() { return this._response } }; Sys.WebForms.EndRequestEventArgs.registerClass("Sys.WebForms.EndRequestEventArgs", Sys.EventArgs); Sys.WebForms.InitializeRequestEventArgs = function(b, a) { Sys.WebForms.InitializeRequestEventArgs.initializeBase(this); this._request = b; this._postBackElement = a }; Sys.WebForms.InitializeRequestEventArgs.prototype = { get_postBackElement: function() { return this._postBackElement }, get_request: function() { return this._request } }; Sys.WebForms.InitializeRequestEventArgs.registerClass("Sys.WebForms.InitializeRequestEventArgs", Sys.CancelEventArgs); Sys.WebForms.PageLoadedEventArgs = function(b, a, c) { Sys.WebForms.PageLoadedEventArgs.initializeBase(this); this._panelsUpdated = b; this._panelsCreated = a; this._dataItems = c || {} }; Sys.WebForms.PageLoadedEventArgs.prototype = { get_dataItems: function() { return this._dataItems }, get_panelsCreated: function() { return this._panelsCreated }, get_panelsUpdated: function() { return this._panelsUpdated } }; Sys.WebForms.PageLoadedEventArgs.registerClass("Sys.WebForms.PageLoadedEventArgs", Sys.EventArgs); Sys.WebForms.PageLoadingEventArgs = function(b, a, c) { Sys.WebForms.PageLoadingEventArgs.initializeBase(this); this._panelsUpdating = b; this._panelsDeleting = a; this._dataItems = c || {} }; Sys.WebForms.PageLoadingEventArgs.prototype = { get_dataItems: function() { return this._dataItems }, get_panelsDeleting: function() { return this._panelsDeleting }, get_panelsUpdating: function() { return this._panelsUpdating } }; Sys.WebForms.PageLoadingEventArgs.registerClass("Sys.WebForms.PageLoadingEventArgs", Sys.EventArgs); Sys.WebForms.PageRequestManager = function() { this._form = null; this._activeDefaultButton = null; this._activeDefaultButtonClicked = false; this._updatePanelIDs = null; this._updatePanelClientIDs = null; this._updatePanelHasChildrenAsTriggers = null; this._asyncPostBackControlIDs = null; this._asyncPostBackControlClientIDs = null; this._postBackControlIDs = null; this._postBackControlClientIDs = null; this._scriptManagerID = null; this._pageLoadedHandler = null; this._additionalInput = null; this._onsubmit = null; this._onSubmitStatements = []; this._originalDoPostBack = null; this._originalDoPostBackWithOptions = null; this._originalFireDefaultButton = null; this._originalDoCallback = null; this._isCrossPost = false; this._postBackSettings = null; this._request = null; this._onFormSubmitHandler = null; this._onFormElementClickHandler = null; this._onWindowUnloadHandler = null; this._asyncPostBackTimeout = null; this._controlIDToFocus = null; this._scrollPosition = null; this._processingRequest = false; this._scriptDisposes = {}; this._transientFields = ["__VIEWSTATEENCRYPTED", "__VIEWSTATEFIELDCOUNT"] }; Sys.WebForms.PageRequestManager.prototype = { _get_eventHandlerList: function() { if (!this._events) this._events = new Sys.EventHandlerList; return this._events }, get_isInAsyncPostBack: function() { return this._request !== null }, add_beginRequest: function(a) { this._get_eventHandlerList().addHandler("beginRequest", a) }, remove_beginRequest: function(a) { this._get_eventHandlerList().removeHandler("beginRequest", a) }, add_endRequest: function(a) { this._get_eventHandlerList().addHandler("endRequest", a) }, remove_endRequest: function(a) { this._get_eventHandlerList().removeHandler("endRequest", a) }, add_initializeRequest: function(a) { this._get_eventHandlerList().addHandler("initializeRequest", a) }, remove_initializeRequest: function(a) { this._get_eventHandlerList().removeHandler("initializeRequest", a) }, add_pageLoaded: function(a) { this._get_eventHandlerList().addHandler("pageLoaded", a) }, remove_pageLoaded: function(a) { this._get_eventHandlerList().removeHandler("pageLoaded", a) }, add_pageLoading: function(a) { this._get_eventHandlerList().addHandler("pageLoading", a) }, remove_pageLoading: function(a) { this._get_eventHandlerList().removeHandler("pageLoading", a) }, abortPostBack: function() { if (!this._processingRequest && this._request) { this._request.get_executor().abort(); this._request = null } }, _cancelPendingCallbacks: function() { for (var a = 0, e = window.__pendingCallbacks.length; a < e; a++) { var c = window.__pendingCallbacks[a]; if (c) { if (!c.async) window.__synchronousCallBackIndex = -1; window.__pendingCallbacks[a] = null; var d = "__CALLBACKFRAME" + a, b = document.getElementById(d); if (b) b.parentNode.removeChild(b) } } }, _commitControls: function(a, b) { if (a) { this._updatePanelIDs = a.updatePanelIDs; this._updatePanelClientIDs = a.updatePanelClientIDs; this._updatePanelHasChildrenAsTriggers = a.updatePanelHasChildrenAsTriggers; this._asyncPostBackControlIDs = a.asyncPostBackControlIDs; this._asyncPostBackControlClientIDs = a.asyncPostBackControlClientIDs; this._postBackControlIDs = a.postBackControlIDs; this._postBackControlClientIDs = a.postBackControlClientIDs } if (typeof b !== "undefined" && b !== null) this._asyncPostBackTimeout = b * 1000 }, _createHiddenField: function(c, d) { var b, a = document.getElementById(c); if (a) if (!a._isContained) a.parentNode.removeChild(a); else b = a.parentNode; if (!b) { b = document.createElement("span"); b.style.cssText = "display:none !important"; this._form.appendChild(b) } b.innerHTML = "<input type='hidden' />"; a = b.childNodes[0]; a._isContained = true; a.id = a.name = c; a.value = d }, _createPageRequestManagerTimeoutError: function() { var b = "Sys.WebForms.PageRequestManagerTimeoutException: " + Sys.WebForms.Res.PRM_TimeoutError, a = Error.create(b, { name: "Sys.WebForms.PageRequestManagerTimeoutException" }); a.popStackFrame(); return a }, _createPageRequestManagerServerError: function(a, d) { var c = "Sys.WebForms.PageRequestManagerServerErrorException: " + (d || String.format(Sys.WebForms.Res.PRM_ServerError, a)), b = Error.create(c, { name: "Sys.WebForms.PageRequestManagerServerErrorException", httpStatusCode: a }); b.popStackFrame(); return b }, _createPageRequestManagerParserError: function(b) { var c = "Sys.WebForms.PageRequestManagerParserErrorException: " + String.format(Sys.WebForms.Res.PRM_ParserError, b), a = Error.create(c, { name: "Sys.WebForms.PageRequestManagerParserErrorException" }); a.popStackFrame(); return a }, _createPostBackSettings: function(c, b, a) { return { async: c, panelID: b, sourceElement: a} }, _convertToClientIDs: function(a, d, c) { if (a) for (var b = 0, e = a.length; b < e; b++) { Array.add(d, a[b]); Array.add(c, this._uniqueIDToClientID(a[b])) } }, _destroyTree: function(f) { if (f.nodeType === 1) { var d = f.childNodes; for (var b = d.length - 1; b >= 0; b--) { var a = d[b]; if (a.nodeType === 1) { if (a.dispose && typeof a.dispose === "function") a.dispose(); else if (a.control && typeof a.control.dispose === "function") a.control.dispose(); var e = Sys.UI.Behavior.getBehaviors(a); for (var c = e.length - 1; c >= 0; c--) e[c].dispose(); this._destroyTree(a) } } } }, dispose: function() { if (this._form) { Sys.UI.DomEvent.removeHandler(this._form, "submit", this._onFormSubmitHandler); Sys.UI.DomEvent.removeHandler(this._form, "click", this._onFormElementClickHandler); Sys.UI.DomEvent.removeHandler(window, "unload", this._onWindowUnloadHandler); Sys.UI.DomEvent.removeHandler(window, "load", this._pageLoadedHandler) } if (this._originalDoPostBack) { window.__doPostBack = this._originalDoPostBack; this._originalDoPostBack = null } if (this._originalDoPostBackWithOptions) { window.WebForm_DoPostBackWithOptions = this._originalDoPostBackWithOptions; this._originalDoPostBackWithOptions = null } if (this._originalFireDefaultButton) { window.WebForm_FireDefaultButton = this._originalFireDefaultButton; this._originalFireDefaultButton = null } if (this._originalDoCallback) { window.WebForm_DoCallback = this._originalDoCallback; this._originalDoCallback = null } this._form = null; this._updatePanelIDs = null; this._updatePanelClientIDs = null; this._asyncPostBackControlIDs = null; this._asyncPostBackControlClientIDs = null; this._postBackControlIDs = null; this._postBackControlClientIDs = null; this._asyncPostBackTimeout = null; this._scrollPosition = null }, _doCallback: function(d, b, c, f, a, e) { if (!this.get_isInAsyncPostBack()) this._originalDoCallback(d, b, c, f, a, e) }, _doPostBack: function(a, e) { this._additionalInput = null; var b = this._form; if (a === null || typeof a === "undefined" || this._isCrossPost) { this._postBackSettings = this._createPostBackSettings(false, null, null); this._isCrossPost = false } else { var f = this._uniqueIDToClientID(a), d = document.getElementById(f); if (!d) if (Array.contains(this._asyncPostBackControlIDs, a)) this._postBackSettings = this._createPostBackSettings(true, this._scriptManagerID + "|" + a, null); else if (Array.contains(this._postBackControlIDs, a)) this._postBackSettings = this._createPostBackSettings(false, null, null); else { var c = this._findNearestElement(a); if (c) this._postBackSettings = this._getPostBackSettings(c, a); else this._postBackSettings = this._createPostBackSettings(false, null, null) } else this._postBackSettings = this._getPostBackSettings(d, a) } if (!this._postBackSettings.async) { b.onsubmit = this._onsubmit; this._originalDoPostBack(a, e); b.onsubmit = null; return } b.__EVENTTARGET.value = a; b.__EVENTARGUMENT.value = e; this._onFormSubmit() }, _doPostBackWithOptions: function(a) { this._isCrossPost = a && a.actionUrl; this._originalDoPostBackWithOptions(a) }, _elementContains: function(b, a) { while (a) { if (a === b) return true; a = a.parentNode } return false }, _endPostBack: function(a, d, f) { if (this._request === d.get_webRequest()) { this._processingRequest = false; this._additionalInput = null; this._request = null } var e = this._get_eventHandlerList().getHandler("endRequest"), b = false; if (e) { var c = new Sys.WebForms.EndRequestEventArgs(a, f ? f.dataItems : {}, d); e(this, c); b = c.get_errorHandled() } if (a && !b) throw a }, _findNearestElement: function(a) { while (a.length > 0) { var d = this._uniqueIDToClientID(a), c = document.getElementById(d); if (c) return c; var b = a.lastIndexOf("$"); if (b === -1) return null; a = a.substring(0, b) } return null }, _findText: function(b, a) { var c = Math.max(0, a - 20), d = Math.min(b.length, a + 20); return b.substring(c, d) }, _fireDefaultButton: function(a, d) { if (a.keyCode === 13) { var c = a.srcElement || a.target; if (!c || c.tagName.toLowerCase() !== "textarea") { var b = document.getElementById(d); if (b && typeof b.click !== "undefined") { this._activeDefaultButton = b; this._activeDefaultButtonClicked = false; try { b.click() } finally { this._activeDefaultButton = null } a.cancelBubble = true; if (typeof a.stopPropagation === "function") a.stopPropagation(); return false } } } return true }, _getPageLoadedEventArgs: function(j, e) { var i = [], h = [], d = e ? e.updatePanelData : null, c, g, b; if (!d) { c = this._updatePanelIDs; g = null; b = null } else { c = d.updatePanelIDs; g = d.childUpdatePanelIDs; b = d.panelsToRefreshIDs } var a, f; if (b) for (a = 0, f = b.length; a < f; a++) Array.add(i, document.getElementById(this._uniqueIDToClientID(b[a]))); for (a = 0, f = c.length; a < f; a++) if (j || Array.indexOf(g, c[a]) !== -1) Array.add(h, document.getElementById(this._uniqueIDToClientID(c[a]))); return new Sys.WebForms.PageLoadedEventArgs(i, h, e ? e.dataItems : {}) }, _getPageLoadingEventArgs: function(h) { var g = [], f = [], c = h.updatePanelData, b = c.oldUpdatePanelIDs, j = c.updatePanelIDs, i = c.childUpdatePanelIDs, e = c.panelsToRefreshIDs, a, d; for (a = 0, d = e.length; a < d; a++) Array.add(g, document.getElementById(this._uniqueIDToClientID(e[a]))); for (a = 0, d = b.length; a < d; a++) if (Array.indexOf(e, b[a]) === -1 && (Array.indexOf(j, b[a]) === -1 || Array.indexOf(i, b[a]) > -1)) Array.add(f, document.getElementById(this._uniqueIDToClientID(b[a]))); return new Sys.WebForms.PageLoadingEventArgs(g, f, h.dataItems) }, _getPostBackSettings: function(a, c) { var d = a, b = null; while (a) { if (a.id) { if (!b && Array.contains(this._asyncPostBackControlClientIDs, a.id)) b = this._createPostBackSettings(true, this._scriptManagerID + "|" + c, d); else if (!b && Array.contains(this._postBackControlClientIDs, a.id)) return this._createPostBackSettings(false, null, null); else { var e = Array.indexOf(this._updatePanelClientIDs, a.id); if (e !== -1) if (this._updatePanelHasChildrenAsTriggers[e]) return this._createPostBackSettings(true, this._updatePanelIDs[e] + "|" + c, d); else return this._createPostBackSettings(true, this._scriptManagerID + "|" + c, d) } if (!b && this._matchesParentIDInList(a.id, this._asyncPostBackControlClientIDs)) b = this._createPostBackSettings(true, this._scriptManagerID + "|" + c, d); else if (!b && this._matchesParentIDInList(a.id, this._postBackControlClientIDs)) return this._createPostBackSettings(false, null, null) } a = a.parentNode } if (!b) return this._createPostBackSettings(false, null, null); else return b }, _getScrollPosition: function() { var a = document.documentElement; if (a && (this._validPosition(a.scrollLeft) || this._validPosition(a.scrollTop))) return { x: a.scrollLeft, y: a.scrollTop }; else { a = document.body; if (a && (this._validPosition(a.scrollLeft) || this._validPosition(a.scrollTop))) return { x: a.scrollLeft, y: a.scrollTop }; else if (this._validPosition(window.pageXOffset) || this._validPosition(window.pageYOffset)) return { x: window.pageXOffset, y: window.pageYOffset }; else return { x: 0, y: 0} } }, _initializeInternal: function(a, b) { if (this._prmInitialized) throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice); this._prmInitialized = true; this._scriptManagerID = a; this._form = b; this._onsubmit = this._form.onsubmit; this._form.onsubmit = null; this._onFormSubmitHandler = Function.createDelegate(this, this._onFormSubmit); this._onFormElementClickHandler = Function.createDelegate(this, this._onFormElementClick); this._onWindowUnloadHandler = Function.createDelegate(this, this._onWindowUnload); Sys.UI.DomEvent.addHandler(this._form, "submit", this._onFormSubmitHandler); Sys.UI.DomEvent.addHandler(this._form, "click", this._onFormElementClickHandler); Sys.UI.DomEvent.addHandler(window, "unload", this._onWindowUnloadHandler); this._originalDoPostBack = window.__doPostBack; if (this._originalDoPostBack) window.__doPostBack = Function.createDelegate(this, this._doPostBack); this._originalDoPostBackWithOptions = window.WebForm_DoPostBackWithOptions; if (this._originalDoPostBackWithOptions) window.WebForm_DoPostBackWithOptions = Function.createDelegate(this, this._doPostBackWithOptions); this._originalFireDefaultButton = window.WebForm_FireDefaultButton; if (this._originalFireDefaultButton) window.WebForm_FireDefaultButton = Function.createDelegate(this, this._fireDefaultButton); this._originalDoCallback = window.WebForm_DoCallback; if (this._originalDoCallback) window.WebForm_DoCallback = Function.createDelegate(this, this._doCallback); this._pageLoadedHandler = Function.createDelegate(this, this._pageLoadedInitialLoad); Sys.UI.DomEvent.addHandler(window, "load", this._pageLoadedHandler) }, _matchesParentIDInList: function(c, b) { for (var a = 0, d = b.length; a < d; a++) if (c.startsWith(b[a] + "_")) return true; return false }, _onFormElementActive: function(a, d, e) { if (a.disabled) return; this._postBackSettings = this._getPostBackSettings(a, a.name); if (a.name) { var b = a.tagName.toUpperCase(); if (b === "INPUT") { var c = a.type; if (c === "submit") this._additionalInput = encodeURIComponent(a.name) + "=" + encodeURIComponent(a.value); else if (c === "image") this._additionalInput = encodeURIComponent(a.name) + ".x=" + d + "&" + encodeURIComponent(a.name) + ".y=" + e } else if (b === "BUTTON" && a.name.length !== 0 && a.type === "submit") this._additionalInput = encodeURIComponent(a.name) + "=" + encodeURIComponent(a.value) } }, _onFormElementClick: function(a) { this._activeDefaultButtonClicked = a.target === this._activeDefaultButton; this._onFormElementActive(a.target, a.offsetX, a.offsetY) }, _onFormSubmit: function(h) { var g = true, t = this._isCrossPost; this._isCrossPost = false; var e, s; if (this._onsubmit) g = this._onsubmit(); if (g) for (e = 0, s = this._onSubmitStatements.length; e < s; e++) if (!this._onSubmitStatements[e]()) { g = false; break } if (!g) { if (h) h.preventDefault(); return } var n = this._form; if (t) return; if (this._activeDefaultButton && !this._activeDefaultButtonClicked) this._onFormElementActive(this._activeDefaultButton, 0, 0); if (!this._postBackSettings.async) return; var a = new Sys.StringBuilder; a.append(encodeURIComponent(this._scriptManagerID) + "=" + encodeURIComponent(this._postBackSettings.panelID) + "&"); var v = n.elements.length; for (e = 0; e < v; e++) { var d = n.elements[e], f = d.name; if (typeof f === "undefined" || f === null || f.length === 0 || f === this._scriptManagerID) continue; var m = d.tagName.toUpperCase(); if (m === "INPUT") { var k = d.type; if (k === "text" || k === "password" || k === "hidden" || (k === "checkbox" || k === "radio") && d.checked) { a.append(encodeURIComponent(f)); a.append("="); a.append(encodeURIComponent(d.value)); a.append("&") } } else if (m === "SELECT") { var u = d.options.length; for (var o = 0; o < u; o++) { var q = d.options[o]; if (q.selected) { a.append(encodeURIComponent(f)); a.append("="); a.append(encodeURIComponent(q.value)); a.append("&") } } } else if (m === "TEXTAREA") { a.append(encodeURIComponent(f)); a.append("="); a.append(encodeURIComponent(d.value)); a.append("&") } } a.append("__ASYNCPOST=true&"); if (this._additionalInput) { a.append(this._additionalInput); this._additionalInput = null } var c = new Sys.Net.WebRequest, b = n.action; if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { var p = b.indexOf("#"); if (p !== -1) b = b.substr(0, p); var l = b.indexOf("?"); if (l !== -1) { var r = b.substr(0, l); if (r.indexOf("%") === -1) b = encodeURI(r) + b.substr(l) } else if (b.indexOf("%") === -1) b = encodeURI(b) } c.set_url(b); c.get_headers()["X-MicrosoftAjax"] = "Delta=true"; c.get_headers()["Cache-Control"] = "no-cache"; c.set_timeout(this._asyncPostBackTimeout); c.add_completed(Function.createDelegate(this, this._onFormSubmitCompleted)); c.set_body(a.toString()); var i, j = this._get_eventHandlerList().getHandler("initializeRequest"); if (j) { i = new Sys.WebForms.InitializeRequestEventArgs(c, this._postBackSettings.sourceElement); j(this, i); g = !i.get_cancel() } if (!g) { if (h) h.preventDefault(); return } this._scrollPosition = this._getScrollPosition(); this.abortPostBack(); j = this._get_eventHandlerList().getHandler("beginRequest"); if (j) { i = new Sys.WebForms.BeginRequestEventArgs(c, this._postBackSettings.sourceElement); j(this, i) } if (this._originalDoCallback) this._cancelPendingCallbacks(); this._request = c; this._processingRequest = false; c.invoke(); if (h) h.preventDefault() }, _onFormSubmitCompleted: function(c) { this._processingRequest = true; if (c.get_timedOut()) { this._endPostBack(this._createPageRequestManagerTimeoutError(), c, null); return } if (c.get_aborted()) { this._endPostBack(null, c, null); return } if (!this._request || c.get_webRequest() !== this._request) return; if (c.get_statusCode() !== 200) { this._endPostBack(this._createPageRequestManagerServerError(c.get_statusCode()), c, null); return } var a = this._parseDelta(c); if (!a) return; var b, e; if (a.asyncPostBackControlIDsNode && a.postBackControlIDsNode && a.updatePanelIDsNode && a.panelsToRefreshNode && a.childUpdatePanelIDsNode) { var p = this._updatePanelIDs, h = a.childUpdatePanelIDsNode.content, n = h.length ? h.split(",") : [], l = this._splitNodeIntoArray(a.asyncPostBackControlIDsNode), m = this._splitNodeIntoArray(a.postBackControlIDsNode), o = this._splitNodeIntoArray(a.updatePanelIDsNode), g = this._splitNodeIntoArray(a.panelsToRefreshNode); for (b = 0, e = g.length; b < e; b++) { var i = this._uniqueIDToClientID(g[b]); if (!document.getElementById(i)) { this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, i)), c, a); return } } var f = this._processUpdatePanelArrays(o, l, m); f.oldUpdatePanelIDs = p; f.childUpdatePanelIDs = n; f.panelsToRefreshIDs = g; a.updatePanelData = f } a.dataItems = {}; var d; for (b = 0, e = a.dataItemNodes.length; b < e; b++) { d = a.dataItemNodes[b]; a.dataItems[d.id] = d.content } for (b = 0, e = a.dataItemJsonNodes.length; b < e; b++) { d = a.dataItemJsonNodes[b]; a.dataItems[d.id] = Sys.Serialization.JavaScriptSerializer.deserialize(d.content) } var k = this._get_eventHandlerList().getHandler("pageLoading"); if (k) k(this, this._getPageLoadingEventArgs(a)); Sys._ScriptLoader.readLoadedScripts(); Sys.Application.beginCreateComponents(); var j = Sys._ScriptLoader.getInstance(); this._queueScripts(j, a.scriptBlockNodes, true, false); this._processingRequest = true; j.loadScripts(0, Function.createDelegate(this, Function.createCallback(this._scriptIncludesLoadComplete, a)), Function.createDelegate(this, Function.createCallback(this._scriptIncludesLoadFailed, a)), null) }, _onWindowUnload: function() { this.dispose() }, _pageLoaded: function(a, c) { var b = this._get_eventHandlerList().getHandler("pageLoaded"); if (b) b(this, this._getPageLoadedEventArgs(a, c)); if (!a) Sys.Application.raiseLoad() }, _pageLoadedInitialLoad: function() { this._pageLoaded(true, null) }, _parseDelta: function(g) { var c = g.get_responseData(), d, h, D, E, C, b = 0, e = null, i = []; while (b < c.length) { d = c.indexOf("|", b); if (d === -1) { e = this._findText(c, b); break } h = parseInt(c.substring(b, d), 10); if (h % 1 !== 0) { e = this._findText(c, b); break } b = d + 1; d = c.indexOf("|", b); if (d === -1) { e = this._findText(c, b); break } D = c.substring(b, d); b = d + 1; d = c.indexOf("|", b); if (d === -1) { e = this._findText(c, b); break } E = c.substring(b, d); b = d + 1; if (b + h >= c.length) { e = this._findText(c, c.length); break } C = c.substr(b, h); b += h; if (c.charAt(b) !== "|") { e = this._findText(c, b); break } b++; Array.add(i, { type: D, id: E, content: C }) } if (e) { this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails, e)), g, null); return null } var w = [], u = [], o = [], v = [], r = [], B = [], z = [], y = [], t = [], q = [], k, n, s, l, m, p, x; for (var j = 0, F = i.length; j < F; j++) { var a = i[j]; switch (a.type) { case "updatePanel": Array.add(w, a); break; case "hiddenField": Array.add(u, a); break; case "arrayDeclaration": Array.add(o, a); break; case "scriptBlock": Array.add(v, a); break; case "scriptStartupBlock": Array.add(r, a); break; case "expando": Array.add(B, a); break; case "onSubmit": Array.add(z, a); break; case "asyncPostBackControlIDs": k = a; break; case "postBackControlIDs": n = a; break; case "updatePanelIDs": s = a; break; case "asyncPostBackTimeout": l = a; break; case "childUpdatePanelIDs": m = a; break; case "panelsToRefreshIDs": p = a; break; case "formAction": x = a; break; case "dataItem": Array.add(y, a); break; case "dataItemJson": Array.add(t, a); break; case "scriptDispose": Array.add(q, a); break; case "pageRedirect": if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { var f = document.createElement("a"); f.style.display = "none"; f.attachEvent("onclick", A); f.href = a.content; document.body.appendChild(f); f.click(); f.detachEvent("onclick", A); document.body.removeChild(f); function A(a) { a.cancelBubble = true } } else window.location.href = a.content; return; case "error": this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(a.id), a.content), g, null); return null; case "pageTitle": document.title = a.content; break; case "focus": this._controlIDToFocus = a.content; break; default: this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken, a.type)), g, null); return null } } return { executor: g, updatePanelNodes: w, hiddenFieldNodes: u, arrayDeclarationNodes: o, scriptBlockNodes: v, scriptStartupNodes: r, expandoNodes: B, onSubmitNodes: z, dataItemNodes: y, dataItemJsonNodes: t, scriptDisposeNodes: q, asyncPostBackControlIDsNode: k, postBackControlIDsNode: n, updatePanelIDsNode: s, asyncPostBackTimeoutNode: l, childUpdatePanelIDsNode: m, panelsToRefreshNode: p, formActionNode: x} }, _processUpdatePanelArrays: function(e, l, n) { var d, c, b; if (e) { var f = e.length; d = new Array(f); c = new Array(f); b = new Array(f); for (var a = 0; a < f; a++) { var k = e[a].substr(1), m = e[a].charAt(0) === "t"; b[a] = m; d[a] = k; c[a] = this._uniqueIDToClientID(k) } } else { d = []; c = []; b = [] } var i = [], g = []; this._convertToClientIDs(l, i, g); var j = [], h = []; this._convertToClientIDs(n, j, h); return { updatePanelIDs: d, updatePanelClientIDs: c, updatePanelHasChildrenAsTriggers: b, asyncPostBackControlIDs: i, asyncPostBackControlClientIDs: g, postBackControlIDs: j, postBackControlClientIDs: h} }, _queueScripts: function(scriptLoader, scriptBlockNodes, queueIncludes, queueBlocks) { for (var i = 0, l = scriptBlockNodes.length; i < l; i++) { var scriptBlockType = scriptBlockNodes[i].id; switch (scriptBlockType) { case "ScriptContentNoTags": if (!queueBlocks) continue; scriptLoader.queueScriptBlock(scriptBlockNodes[i].content); break; case "ScriptContentWithTags": var scriptTagAttributes; eval("scriptTagAttributes = " + scriptBlockNodes[i].content); if (scriptTagAttributes.src) { if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) continue } else if (!queueBlocks) continue; scriptLoader.queueCustomScriptTag(scriptTagAttributes); break; case "ScriptPath": if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) continue; scriptLoader.queueScriptReference(scriptBlockNodes[i].content) } } }, _registerDisposeScript: function(a, b) { if (!this._scriptDisposes[a]) this._scriptDisposes[a] = [b]; else Array.add(this._scriptDisposes[a], b) }, _scriptIncludesLoadComplete: function(e, b) { if (b.executor.get_webRequest() !== this._request) return; this._commitControls(b.updatePanelData, b.asyncPostBackTimeoutNode ? b.asyncPostBackTimeoutNode.content : null); if (b.formActionNode) this._form.action = b.formActionNode.content; var a, d, c; for (a = 0, d = b.updatePanelNodes.length; a < d; a++) { c = b.updatePanelNodes[a]; var j = document.getElementById(c.id); if (!j) { this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, c.id)), b.executor, b); return } this._updatePanel(j, c.content) } for (a = 0, d = b.scriptDisposeNodes.length; a < d; a++) { c = b.scriptDisposeNodes[a]; this._registerDisposeScript(c.id, c.content) } for (a = 0, d = this._transientFields.length; a < d; a++) { var g = document.getElementById(this._transientFields[a]); if (g) { var k = g._isContained ? g.parentNode : g; k.parentNode.removeChild(k) } } for (a = 0, d = b.hiddenFieldNodes.length; a < d; a++) { c = b.hiddenFieldNodes[a]; this._createHiddenField(c.id, c.content) } if (b.scriptsFailed) throw Sys._ScriptLoader._errorScriptLoadFailed(b.scriptsFailed.src, b.scriptsFailed.multipleCallbacks); this._queueScripts(e, b.scriptBlockNodes, false, true); var i = ""; for (a = 0, d = b.arrayDeclarationNodes.length; a < d; a++) { c = b.arrayDeclarationNodes[a]; i += "Sys.WebForms.PageRequestManager._addArrayElement('" + c.id + "', " + c.content + ");\r\n" } var h = ""; for (a = 0, d = b.expandoNodes.length; a < d; a++) { c = b.expandoNodes[a]; h += c.id + " = " + c.content + "\r\n" } if (i.length) e.queueScriptBlock(i); if (h.length) e.queueScriptBlock(h); this._queueScripts(e, b.scriptStartupNodes, true, true); var f = ""; for (a = 0, d = b.onSubmitNodes.length; a < d; a++) { if (a === 0) f = "Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n"; f += b.onSubmitNodes[a].content + "\r\n" } if (f.length) { f += "\r\nreturn true;\r\n});\r\n"; e.queueScriptBlock(f) } e.loadScripts(0, Function.createDelegate(this, Function.createCallback(this._scriptsLoadComplete, b)), null, null) }, _scriptIncludesLoadFailed: function(d, c, b, a) { a.scriptsFailed = { src: c.src, multipleCallbacks: b }; this._scriptIncludesLoadComplete(d, a) }, _scriptsLoadComplete: function(f, c) { var e = c.executor; if (window.__theFormPostData) window.__theFormPostData = ""; if (window.__theFormPostCollection) window.__theFormPostCollection = []; if (window.WebForm_InitCallback) window.WebForm_InitCallback(); if (this._scrollPosition) { if (window.scrollTo) window.scrollTo(this._scrollPosition.x, this._scrollPosition.y); this._scrollPosition = null } Sys.Application.endCreateComponents(); this._pageLoaded(false, c); this._endPostBack(null, e, c); if (this._controlIDToFocus) { var a, d; if (Sys.Browser.agent === Sys.Browser.InternetExplorer) { var b = $get(this._controlIDToFocus); a = b; if (b && !WebForm_CanFocus(b)) a = WebForm_FindFirstFocusableChild(b); if (a && typeof a.contentEditable !== "undefined") { d = a.contentEditable; a.contentEditable = false } else a = null } WebForm_AutoFocus(this._controlIDToFocus); if (a) a.contentEditable = d; this._controlIDToFocus = null } }, _splitNodeIntoArray: function(b) { var a = b.content, c = a.length ? a.split(",") : []; return c }, _uniqueIDToClientID: function(a) { return a.replace(/\$/g, "_") }, _updateControls: function(d, a, c, b) { this._commitControls(this._processUpdatePanelArrays(d, a, c), b) }, _updatePanel: function(updatePanelElement, rendering) { for (var updatePanelID in this._scriptDisposes) if (this._elementContains(updatePanelElement, document.getElementById(updatePanelID))) { var disposeScripts = this._scriptDisposes[updatePanelID]; for (var i = 0, l = disposeScripts.length; i < l; i++) eval(disposeScripts[i]); delete this._scriptDisposes[updatePanelID] } this._destroyTree(updatePanelElement); updatePanelElement.innerHTML = rendering }, _validPosition: function(a) { return typeof a !== "undefined" && a !== null && a !== 0 } }; Sys.WebForms.PageRequestManager.getInstance = function() { var a = Sys.WebForms.PageRequestManager._instance; if (!a) a = Sys.WebForms.PageRequestManager._instance = new Sys.WebForms.PageRequestManager; return a }; Sys.WebForms.PageRequestManager._addArrayElement = function(a) { if (!window[a]) window[a] = []; for (var b = 1, c = arguments.length; b < c; b++) Array.add(window[a], arguments[b]) }; Sys.WebForms.PageRequestManager._initialize = function(a, b) { Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(a, b) }; Sys.WebForms.PageRequestManager.registerClass("Sys.WebForms.PageRequestManager"); Sys.UI._UpdateProgress = function(a) { Sys.UI._UpdateProgress.initializeBase(this, [a]); this._displayAfter = 500; this._dynamicLayout = true; this._associatedUpdatePanelId = null; this._beginRequestHandlerDelegate = null; this._startDelegate = null; this._endRequestHandlerDelegate = null; this._pageRequestManager = null; this._timerCookie = null }; Sys.UI._UpdateProgress.prototype = { get_displayAfter: function() { return this._displayAfter }, set_displayAfter: function(a) { this._displayAfter = a }, get_dynamicLayout: function() { return this._dynamicLayout }, set_dynamicLayout: function(a) { this._dynamicLayout = a }, get_associatedUpdatePanelId: function() { return this._associatedUpdatePanelId }, set_associatedUpdatePanelId: function(a) { this._associatedUpdatePanelId = a }, _clearTimeout: function() { if (this._timerCookie) { window.clearTimeout(this._timerCookie); this._timerCookie = null } }, _handleBeginRequest: function(d, c) { var a = c.get_postBackElement(), b = !this._associatedUpdatePanelId; while (!b && a) { if (a.id && this._associatedUpdatePanelId === a.id) b = true; a = a.parentNode } if (b) this._timerCookie = window.setTimeout(this._startDelegate, this._displayAfter) }, _startRequest: function() { if (this._pageRequestManager.get_isInAsyncPostBack()) if (this._dynamicLayout) this.get_element().style.display = "block"; else this.get_element().style.visibility = "visible"; this._timerCookie = null }, _handleEndRequest: function() { if (this._dynamicLayout) this.get_element().style.display = "none"; else this.get_element().style.visibility = "hidden"; this._clearTimeout() }, dispose: function() { if (this._beginRequestHandlerDelegate !== null) { this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate); this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate); this._beginRequestHandlerDelegate = null; this._endRequestHandlerDelegate = null } this._clearTimeout(); Sys.UI._UpdateProgress.callBaseMethod(this, "dispose") }, initialize: function() { Sys.UI._UpdateProgress.callBaseMethod(this, "initialize"); this._beginRequestHandlerDelegate = Function.createDelegate(this, this._handleBeginRequest); this._endRequestHandlerDelegate = Function.createDelegate(this, this._handleEndRequest); this._startDelegate = Function.createDelegate(this, this._startRequest); if (Sys.WebForms && Sys.WebForms.PageRequestManager) this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance(); if (this._pageRequestManager !== null) { this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate); this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate) } } }; Sys.UI._UpdateProgress.registerClass("Sys.UI._UpdateProgress", Sys.UI.Control);
Type.registerNamespace('Sys.WebForms'); Sys.WebForms.Res = { "PRM_UnknownToken": "Unknown token: \u0027{0}\u0027.", "PRM_MissingPanel": "Could not find UpdatePanel with ID \u0027{0}\u0027. If it is being updated dynamically then it must be inside another UpdatePanel.", "PRM_ServerError": "An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}", "PRM_ParserError": "The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.\r\nDetails: {0}", "PRM_TimeoutError": "The server request timed out.", "PRM_ParserErrorDetails": "Error parsing near \u0027{0}\u0027.", "PRM_CannotRegisterTwice": "The PageRequestManager cannot be initialized more than once." };
Type.registerNamespace('AjaxControlToolkit'); AjaxControlToolkit.BoxSide = function() {
}
AjaxControlToolkit.BoxSide.prototype = {
    Top: 0,
    Right: 1,
    Bottom: 2,
    Left: 3
}
AjaxControlToolkit.BoxSide.registerEnum("AjaxControlToolkit.BoxSide", false); AjaxControlToolkit._CommonToolkitScripts = function() {
}
AjaxControlToolkit._CommonToolkitScripts.prototype = {
    _borderStyleNames: ["borderTopStyle", "borderRightStyle", "borderBottomStyle", "borderLeftStyle"],
    _borderWidthNames: ["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"],
    _paddingWidthNames: ["paddingTop", "paddingRight", "paddingBottom", "paddingLeft"],
    _marginWidthNames: ["marginTop", "marginRight", "marginBottom", "marginLeft"],
    getCurrentStyle: function(element, attribute, defaultValue) {
        var currentValue = null; if (element) {
            if (element.currentStyle) {
                currentValue = element.currentStyle[attribute];
            } else if (document.defaultView && document.defaultView.getComputedStyle) {
                var style = document.defaultView.getComputedStyle(element, null); if (style) {
                    currentValue = style[attribute];
                }
            }
            if (!currentValue && element.style.getPropertyValue) {
                currentValue = element.style.getPropertyValue(attribute);
            }
            else if (!currentValue && element.style.getAttribute) {
                currentValue = element.style.getAttribute(attribute);
            }
        }
        if ((!currentValue || currentValue == "" || typeof (currentValue) === 'undefined')) {
            if (typeof (defaultValue) != 'undefined') {
                currentValue = defaultValue;
            }
            else {
                currentValue = null;
            }
        }
        return currentValue;
    },
    getInheritedBackgroundColor: function(element) {
        if (!element) return '#FFFFFF'; var background = this.getCurrentStyle(element, 'backgroundColor'); try {
            while (!background || background == '' || background == 'transparent' || background == 'rgba(0, 0, 0, 0)') {
                element = element.parentNode; if (!element) {
                    background = '#FFFFFF';
                } else {
                    background = this.getCurrentStyle(element, 'backgroundColor');
                }
            }
        } catch (ex) {
            background = '#FFFFFF';
        }
        return background;
    },
    getLocation: function(element) {
        if (element === document.documentElement) {
            return new Sys.UI.Point(0, 0);
        }
        if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) {
            if (element.window === element || element.nodeType === 9 || !element.getClientRects || !element.getBoundingClientRect) return new Sys.UI.Point(0, 0); var screenRects = element.getClientRects(); if (!screenRects || !screenRects.length) {
                return new Sys.UI.Point(0, 0);
            }
            var first = screenRects[0]; var dLeft = 0; var dTop = 0; var inFrame = false; try {
                inFrame = element.ownerDocument.parentWindow.frameElement;
            } catch (ex) {
                inFrame = true;
            }
            if (inFrame) {
                var clientRect = element.getBoundingClientRect(); if (!clientRect) {
                    return new Sys.UI.Point(0, 0);
                }
                var minLeft = first.left; var minTop = first.top; for (var i = 1; i < screenRects.length; i++) {
                    var r = screenRects[i]; if (r.left < minLeft) {
                        minLeft = r.left;
                    }
                    if (r.top < minTop) {
                        minTop = r.top;
                    }
                }
                dLeft = minLeft - clientRect.left; dTop = minTop - clientRect.top;
            }
            var ownerDocument = element.document.documentElement; return new Sys.UI.Point(first.left - 2 - dLeft + ownerDocument.scrollLeft, first.top - 2 - dTop + ownerDocument.scrollTop);
        }
        return Sys.UI.DomElement.getLocation(element);
    },
    setLocation: function(element, point) {
        Sys.UI.DomElement.setLocation(element, point.x, point.y);
    },
    getContentSize: function(element) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        var size = this.getSize(element); var borderBox = this.getBorderBox(element); var paddingBox = this.getPaddingBox(element); return {
            width: size.width - borderBox.horizontal - paddingBox.horizontal,
            height: size.height - borderBox.vertical - paddingBox.vertical
        }
    },
    getSize: function(element) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        return {
            width: element.offsetWidth,
            height: element.offsetHeight
        };
    },
    setContentSize: function(element, size) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (!size) {
            throw Error.argumentNull('size');
        }
        if (this.getCurrentStyle(element, 'MozBoxSizing') == 'border-box' || this.getCurrentStyle(element, 'BoxSizing') == 'border-box') {
            var borderBox = this.getBorderBox(element); var paddingBox = this.getPaddingBox(element); size = {
                width: size.width + borderBox.horizontal + paddingBox.horizontal,
                height: size.height + borderBox.vertical + paddingBox.vertical
            };
        }
        element.style.width = size.width.toString() + 'px'; element.style.height = size.height.toString() + 'px';
    },
    setSize: function(element, size) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (!size) {
            throw Error.argumentNull('size');
        }
        var borderBox = this.getBorderBox(element); var paddingBox = this.getPaddingBox(element); var contentSize = {
            width: size.width - borderBox.horizontal - paddingBox.horizontal,
            height: size.height - borderBox.vertical - paddingBox.vertical
        }; this.setContentSize(element, contentSize);
    },
    getBounds: function(element) {
        var offset = $common.getLocation(element); return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0);
    },
    setBounds: function(element, bounds) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (!bounds) {
            throw Error.argumentNull('bounds');
        }
        this.setSize(element, bounds); $common.setLocation(element, bounds);
    },
    getClientBounds: function() {
        var clientWidth; var clientHeight; switch (Sys.Browser.agent) {
            case Sys.Browser.InternetExplorer:
                clientWidth = document.documentElement.clientWidth; clientHeight = document.documentElement.clientHeight; break; case Sys.Browser.Safari:
                clientWidth = window.innerWidth; clientHeight = window.innerHeight; break; case Sys.Browser.Opera:
                clientWidth = Math.min(window.innerWidth, document.body.clientWidth); clientHeight = Math.min(window.innerHeight, document.body.clientHeight); break; default:
                clientWidth = Math.min(window.innerWidth, document.documentElement.clientWidth); clientHeight = Math.min(window.innerHeight, document.documentElement.clientHeight); break;
        }
        return new Sys.UI.Bounds(0, 0, clientWidth, clientHeight);
    },
    getMarginBox: function(element) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        var box = {
            top: this.getMargin(element, AjaxControlToolkit.BoxSide.Top),
            right: this.getMargin(element, AjaxControlToolkit.BoxSide.Right),
            bottom: this.getMargin(element, AjaxControlToolkit.BoxSide.Bottom),
            left: this.getMargin(element, AjaxControlToolkit.BoxSide.Left)
        }; box.horizontal = box.left + box.right; box.vertical = box.top + box.bottom; return box;
    },
    getBorderBox: function(element) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        var box = {
            top: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Top),
            right: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Right),
            bottom: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Bottom),
            left: this.getBorderWidth(element, AjaxControlToolkit.BoxSide.Left)
        }; box.horizontal = box.left + box.right; box.vertical = box.top + box.bottom; return box;
    },
    getPaddingBox: function(element) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        var box = {
            top: this.getPadding(element, AjaxControlToolkit.BoxSide.Top),
            right: this.getPadding(element, AjaxControlToolkit.BoxSide.Right),
            bottom: this.getPadding(element, AjaxControlToolkit.BoxSide.Bottom),
            left: this.getPadding(element, AjaxControlToolkit.BoxSide.Left)
        }; box.horizontal = box.left + box.right; box.vertical = box.top + box.bottom; return box;
    },
    isBorderVisible: function(element, boxSide) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        var styleName = this._borderStyleNames[boxSide]; var styleValue = this.getCurrentStyle(element, styleName); return styleValue != "none";
    },
    getMargin: function(element, boxSide) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        var styleName = this._marginWidthNames[boxSide]; var styleValue = this.getCurrentStyle(element, styleName); try { return this.parsePadding(styleValue); } catch (ex) { return 0; }
    },
    getBorderWidth: function(element, boxSide) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        if (!this.isBorderVisible(element, boxSide)) {
            return 0;
        }
        var styleName = this._borderWidthNames[boxSide]; var styleValue = this.getCurrentStyle(element, styleName); return this.parseBorderWidth(styleValue);
    },
    getPadding: function(element, boxSide) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > AjaxControlToolkit.BoxSide.Left) {
            throw Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, boxSide, 'AjaxControlToolkit.BoxSide'));
        }
        var styleName = this._paddingWidthNames[boxSide]; var styleValue = this.getCurrentStyle(element, styleName); return this.parsePadding(styleValue);
    },
    parseBorderWidth: function(borderWidth) {
        if (!this._borderThicknesses) {
            var borderThicknesses = {}; var div0 = document.createElement('div'); div0.style.visibility = 'hidden'; div0.style.position = 'absolute'; div0.style.fontSize = '1px'; document.body.appendChild(div0)
            var div1 = document.createElement('div'); div1.style.height = '0px'; div1.style.overflow = 'hidden'; div0.appendChild(div1); var base = div0.offsetHeight; div1.style.borderTop = 'solid black'; div1.style.borderTopWidth = 'thin'; borderThicknesses['thin'] = div0.offsetHeight - base; div1.style.borderTopWidth = 'medium'; borderThicknesses['medium'] = div0.offsetHeight - base; div1.style.borderTopWidth = 'thick'; borderThicknesses['thick'] = div0.offsetHeight - base; div0.removeChild(div1); document.body.removeChild(div0); this._borderThicknesses = borderThicknesses;
        }
        if (borderWidth) {
            switch (borderWidth) {
                case 'thin':
                case 'medium':
                case 'thick':
                    return this._borderThicknesses[borderWidth]; case 'inherit':
                    return 0;
            }
            var unit = this.parseUnit(borderWidth); Sys.Debug.assert(unit.type == 'px', String.format(AjaxControlToolkit.Resources.Common_InvalidBorderWidthUnit, unit.type)); return unit.size;
        }
        return 0;
    },
    parsePadding: function(padding) {
        if (padding) {
            if (padding == 'inherit') {
                return 0;
            }
            var unit = this.parseUnit(padding); Sys.Debug.assert(unit.type == 'px', String.format(AjaxControlToolkit.Resources.Common_InvalidPaddingUnit, unit.type)); return unit.size;
        }
        return 0;
    },
    parseUnit: function(value) {
        if (!value) {
            throw Error.argumentNull('value');
        }
        value = value.trim().toLowerCase(); var l = value.length; var s = -1; for (var i = 0; i < l; i++) {
            var ch = value.substr(i, 1); if ((ch < '0' || ch > '9') && ch != '-' && ch != '.' && ch != ',') {
                break;
            }
            s = i;
        }
        if (s == -1) {
            throw Error.create(AjaxControlToolkit.Resources.Common_UnitHasNoDigits);
        }
        var type; var size; if (s < (l - 1)) {
            type = value.substring(s + 1).trim();
        } else {
            type = 'px';
        }
        size = parseFloat(value.substr(0, s + 1)); if (type == 'px') {
            size = Math.floor(size);
        }
        return {
            size: size,
            type: type
        };
    },
    getElementOpacity: function(element) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        var hasOpacity = false; var opacity; if (element.filters) {
            var filters = element.filters; if (filters.length !== 0) {
                var alphaFilter = filters['DXImageTransform.Microsoft.Alpha']; if (alphaFilter) {
                    opacity = alphaFilter.opacity / 100.0; hasOpacity = true;
                }
            }
        }
        else {
            opacity = this.getCurrentStyle(element, 'opacity', 1); hasOpacity = true;
        }
        if (hasOpacity === false) {
            return 1.0;
        }
        return parseFloat(opacity);
    },
    setElementOpacity: function(element, value) {
        if (!element) {
            throw Error.argumentNull('element');
        }
        if (element.filters) {
            var filters = element.filters; var createFilter = true; if (filters.length !== 0) {
                var alphaFilter = filters['DXImageTransform.Microsoft.Alpha']; if (alphaFilter) {
                    createFilter = false; alphaFilter.opacity = value * 100;
                }
            }
            if (createFilter) {
                element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (value * 100) + ')';
            }
        }
        else {
            element.style.opacity = value;
        }
    },
    getVisible: function(element) {
        return (element &&
("none" != $common.getCurrentStyle(element, "display")) &&
("hidden" != $common.getCurrentStyle(element, "visibility")));
    },
    setVisible: function(element, value) {
        if (element && value != $common.getVisible(element)) {
            if (value) {
                if (element.style.removeAttribute) {
                    element.style.removeAttribute("display");
                } else {
                    element.style.removeProperty("display");
                }
            } else {
                element.style.display = 'none';
            }
            element.style.visibility = value ? 'visible' : 'hidden';
        }
    },
    resolveFunction: function(value) {
        if (value) {
            if (value instanceof Function) {
                return value;
            } else if (String.isInstanceOfType(value) && value.length > 0) {
                var func; if ((func = window[value]) instanceof Function) {
                    return func;
                } else if ((func = eval(value)) instanceof Function) {
                    return func;
                }
            }
        }
        return null;
    },
    addCssClasses: function(element, classNames) {
        for (var i = 0; i < classNames.length; i++) {
            Sys.UI.DomElement.addCssClass(element, classNames[i]);
        }
    },
    removeCssClasses: function(element, classNames) {
        for (var i = 0; i < classNames.length; i++) {
            Sys.UI.DomElement.removeCssClass(element, classNames[i]);
        }
    },
    setStyle: function(element, style) {
        $common.applyProperties(element.style, style);
    },
    removeHandlers: function(element, events) {
        for (var name in events) {
            $removeHandler(element, name, events[name]);
        }
    },
    overlaps: function(r1, r2) {
        return r1.x < (r2.x + r2.width)
&& r2.x < (r1.x + r1.width)
&& r1.y < (r2.y + r2.height)
&& r2.y < (r1.y + r1.height);
    },
    containsPoint: function(rect, x, y) {
        return x >= rect.x && x < (rect.x + rect.width) && y >= rect.y && y < (rect.y + rect.height);
    },
    isKeyDigit: function(keyCode) {
        return (0x30 <= keyCode && keyCode <= 0x39);
    },
    isKeyNavigation: function(keyCode) {
        return (Sys.UI.Key.left <= keyCode && keyCode <= Sys.UI.Key.down);
    },
    padLeft: function(text, size, ch, truncate) {
        return $common._pad(text, size || 2, ch || ' ', 'l', truncate || false);
    },
    padRight: function(text, size, ch, truncate) {
        return $common._pad(text, size || 2, ch || ' ', 'r', truncate || false);
    },
    _pad: function(text, size, ch, side, truncate) {
        text = text.toString(); var length = text.length; var builder = new Sys.StringBuilder(); if (side == 'r') {
            builder.append(text);
        }
        while (length < size) {
            builder.append(ch); length++;
        }
        if (side == 'l') {
            builder.append(text);
        }
        var result = builder.toString(); if (truncate && result.length > size) {
            if (side == 'l') {
                result = result.substr(result.length - size, size);
            } else {
                result = result.substr(0, size);
            }
        }
        return result;
    },
    __DOMEvents: {
        focusin: { eventGroup: "UIEvents", init: function(e, p) { e.initUIEvent("focusin", true, false, window, 1); } },
        focusout: { eventGroup: "UIEvents", init: function(e, p) { e.initUIEvent("focusout", true, false, window, 1); } },
        activate: { eventGroup: "UIEvents", init: function(e, p) { e.initUIEvent("activate", true, true, window, 1); } },
        focus: { eventGroup: "UIEvents", init: function(e, p) { e.initUIEvent("focus", false, false, window, 1); } },
        blur: { eventGroup: "UIEvents", init: function(e, p) { e.initUIEvent("blur", false, false, window, 1); } },
        click: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("click", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        dblclick: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("click", true, true, window, 2, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mousedown: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("mousedown", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mouseup: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("mouseup", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mouseover: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("mouseover", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mousemove: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        mouseout: { eventGroup: "MouseEvents", init: function(e, p) { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || 0, p.relatedTarget || null); } },
        load: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("load", false, false); } },
        unload: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("unload", false, false); } },
        select: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("select", true, false); } },
        change: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("change", true, false); } },
        submit: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("submit", true, true); } },
        reset: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("reset", true, false); } },
        resize: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("resize", true, false); } },
        scroll: { eventGroup: "HTMLEvents", init: function(e, p) { e.initEvent("scroll", true, false); } }
    },
    tryFireRawEvent: function(element, rawEvent) {
        try {
            if (element.fireEvent) {
                element.fireEvent("on" + rawEvent.type, rawEvent); return true;
            } else if (element.dispatchEvent) {
                element.dispatchEvent(rawEvent); return true;
            }
        } catch (e) {
        }
        return false;
    },
    tryFireEvent: function(element, eventName, properties) {
        try {
            if (document.createEventObject) {
                var e = document.createEventObject(); $common.applyProperties(e, properties || {}); element.fireEvent("on" + eventName, e); return true;
            } else if (document.createEvent) {
                var def = $common.__DOMEvents[eventName]; if (def) {
                    var e = document.createEvent(def.eventGroup); def.init(e, properties || {}); element.dispatchEvent(e); return true;
                }
            }
        } catch (e) {
        }
        return false;
    },
    wrapElement: function(innerElement, newOuterElement, newInnerParentElement) {
        var parent = innerElement.parentNode; parent.replaceChild(newOuterElement, innerElement); (newInnerParentElement || newOuterElement).appendChild(innerElement);
    },
    unwrapElement: function(innerElement, oldOuterElement) {
        var parent = oldOuterElement.parentNode; if (parent != null) {
            $common.removeElement(innerElement); parent.replaceChild(innerElement, oldOuterElement);
        }
    },
    removeElement: function(element) {
        var parent = element.parentNode; if (parent != null) {
            parent.removeChild(element);
        }
    },
    applyProperties: function(target, properties) {
        for (var p in properties) {
            var pv = properties[p]; if (pv != null && Object.getType(pv) === Object) {
                var tv = target[p]; $common.applyProperties(tv, pv);
            } else {
                target[p] = pv;
            }
        }
    },
    createElementFromTemplate: function(template, appendToParent, nameTable) {
        if (typeof (template.nameTable) != 'undefined') {
            var newNameTable = template.nameTable; if (String.isInstanceOfType(newNameTable)) {
                newNameTable = nameTable[newNameTable];
            }
            if (newNameTable != null) {
                nameTable = newNameTable;
            }
        }
        var elementName = null; if (typeof (template.name) !== 'undefined') {
            elementName = template.name;
        }
        var elt = document.createElement(template.nodeName); if (typeof (template.name) !== 'undefined' && nameTable) {
            nameTable[template.name] = elt;
        }
        if (typeof (template.parent) !== 'undefined' && appendToParent == null) {
            var newParent = template.parent; if (String.isInstanceOfType(newParent)) {
                newParent = nameTable[newParent];
            }
            if (newParent != null) {
                appendToParent = newParent;
            }
        }
        if (typeof (template.properties) !== 'undefined' && template.properties != null) {
            $common.applyProperties(elt, template.properties);
        }
        if (typeof (template.cssClasses) !== 'undefined' && template.cssClasses != null) {
            $common.addCssClasses(elt, template.cssClasses);
        }
        if (typeof (template.events) !== 'undefined' && template.events != null) {
            $addHandlers(elt, template.events);
        }
        if (typeof (template.visible) !== 'undefined' && template.visible != null) {
            this.setVisible(elt, template.visible);
        }
        if (appendToParent) {
            appendToParent.appendChild(elt);
        }
        if (typeof (template.opacity) !== 'undefined' && template.opacity != null) {
            $common.setElementOpacity(elt, template.opacity);
        }
        if (typeof (template.children) !== 'undefined' && template.children != null) {
            for (var i = 0; i < template.children.length; i++) {
                var subtemplate = template.children[i]; $common.createElementFromTemplate(subtemplate, elt, nameTable);
            }
        }
        var contentPresenter = elt; if (typeof (template.contentPresenter) !== 'undefined' && template.contentPresenter != null) {
            contentPresenter = nameTable[contentPresenter];
        }
        if (typeof (template.content) !== 'undefined' && template.content != null) {
            var content = template.content; if (String.isInstanceOfType(content)) {
                content = nameTable[content];
            }
            if (content.parentNode) {
                $common.wrapElement(content, elt, contentPresenter);
            } else {
                contentPresenter.appendChild(content);
            }
        }
        return elt;
    },
    prepareHiddenElementForATDeviceUpdate: function() {
        var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts'); if (!objHidden) {
            var objHidden = document.createElement('input'); objHidden.setAttribute('type', 'hidden'); objHidden.setAttribute('value', '1'); objHidden.setAttribute('id', 'hiddenInputToUpdateATBuffer_CommonToolkitScripts'); objHidden.setAttribute('name', 'hiddenInputToUpdateATBuffer_CommonToolkitScripts'); if (document.forms[0]) {
                document.forms[0].appendChild(objHidden);
            }
        }
    },
    updateFormToRefreshATDeviceBuffer: function() {
        var objHidden = document.getElementById('hiddenInputToUpdateATBuffer_CommonToolkitScripts'); if (objHidden) {
            if (objHidden.getAttribute('value') == '1') {
                objHidden.setAttribute('value', '0');
            } else {
                objHidden.setAttribute('value', '1');
            }
        }
    }
}
var CommonToolkitScripts = AjaxControlToolkit.CommonToolkitScripts = new AjaxControlToolkit._CommonToolkitScripts(); var $common = CommonToolkitScripts; Sys.UI.DomElement.getVisible = $common.getVisible; Sys.UI.DomElement.setVisible = $common.setVisible; Sys.UI.Control.overlaps = $common.overlaps; AjaxControlToolkit._DomUtility = function() {
}
AjaxControlToolkit._DomUtility.prototype = {
    isDescendant: function(ancestor, descendant) {
        for (var n = descendant.parentNode; n != null; n = n.parentNode) {
            if (n == ancestor) return true;
        }
        return false;
    },
    isDescendantOrSelf: function(ancestor, descendant) {
        if (ancestor === descendant)
            return true; return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);
    },
    isAncestor: function(descendant, ancestor) {
        return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);
    },
    isAncestorOrSelf: function(descendant, ancestor) {
        if (descendant === ancestor)
            return true; return AjaxControlToolkit.DomUtility.isDescendant(ancestor, descendant);
    },
    isSibling: function(self, sibling) {
        var parent = self.parentNode; for (var i = 0; i < parent.childNodes.length; i++) {
            if (parent.childNodes[i] == sibling) return true;
        }
        return false;
    }
}
AjaxControlToolkit._DomUtility.registerClass("AjaxControlToolkit._DomUtility"); AjaxControlToolkit.DomUtility = new AjaxControlToolkit._DomUtility(); AjaxControlToolkit.TextBoxWrapper = function(element) {
    AjaxControlToolkit.TextBoxWrapper.initializeBase(this, [element]); this._current = element.value; this._watermark = null; this._isWatermarked = false;
}
AjaxControlToolkit.TextBoxWrapper.prototype = {
    dispose: function() {
        this.get_element().AjaxControlToolkitTextBoxWrapper = null; AjaxControlToolkit.TextBoxWrapper.callBaseMethod(this, 'dispose');
    },
    get_Current: function() {
        this._current = this.get_element().value; return this._current;
    },
    set_Current: function(value) {
        this._current = value; this._updateElement();
    },
    get_Value: function() {
        if (this.get_IsWatermarked()) {
            return "";
        } else {
            return this.get_Current();
        }
    },
    set_Value: function(text) {
        this.set_Current(text); if (!text || (0 == text.length)) {
            if (null != this._watermark) {
                this.set_IsWatermarked(true);
            }
        } else {
            this.set_IsWatermarked(false);
        }
    },
    get_Watermark: function() {
        return this._watermark;
    },
    set_Watermark: function(value) {
        this._watermark = value; this._updateElement();
    },
    get_IsWatermarked: function() {
        return this._isWatermarked;
    },
    set_IsWatermarked: function(isWatermarked) {
        if (this._isWatermarked != isWatermarked) {
            this._isWatermarked = isWatermarked; this._updateElement(); this._raiseWatermarkChanged();
        }
    },
    _updateElement: function() {
        var element = this.get_element(); if (this._isWatermarked) {
            if (element.value != this._watermark) {
                element.value = this._watermark;
            }
        } else {
            if (element.value != this._current) {
                element.value = this._current;
            }
        }
    },
    add_WatermarkChanged: function(handler) {
        this.get_events().addHandler("WatermarkChanged", handler);
    },
    remove_WatermarkChanged: function(handler) {
        this.get_events().removeHandler("WatermarkChanged", handler);
    },
    _raiseWatermarkChanged: function() {
        var onWatermarkChangedHandler = this.get_events().getHandler("WatermarkChanged"); if (onWatermarkChangedHandler) {
            onWatermarkChangedHandler(this, Sys.EventArgs.Empty);
        }
    }
}
AjaxControlToolkit.TextBoxWrapper.get_Wrapper = function(element) {
    if (null == element.AjaxControlToolkitTextBoxWrapper) {
        element.AjaxControlToolkitTextBoxWrapper = new AjaxControlToolkit.TextBoxWrapper(element);
    }
    return element.AjaxControlToolkitTextBoxWrapper;
}
AjaxControlToolkit.TextBoxWrapper.registerClass('AjaxControlToolkit.TextBoxWrapper', Sys.UI.Behavior); AjaxControlToolkit.TextBoxWrapper.validatorGetValue = function(id) {
    var control = $get(id); if (control && control.AjaxControlToolkitTextBoxWrapper) {
        return control.AjaxControlToolkitTextBoxWrapper.get_Value();
    }
    return AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue(id);
}
if (typeof (ValidatorGetValue) == 'function') {
    AjaxControlToolkit.TextBoxWrapper._originalValidatorGetValue = ValidatorGetValue; ValidatorGetValue = AjaxControlToolkit.TextBoxWrapper.validatorGetValue;
}
if (Sys.CultureInfo.prototype._getAbbrMonthIndex) {
    try {
        Sys.CultureInfo.prototype._getAbbrMonthIndex('');
    } catch (ex) {
        Sys.CultureInfo.prototype._getAbbrMonthIndex = function(value) {
            if (!this._upperAbbrMonths) {
                this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
            }
            return Array.indexOf(this._upperAbbrMonths, this._toUpper(value));
        }
        Sys.CultureInfo.CurrentCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex; Sys.CultureInfo.InvariantCulture._getAbbrMonthIndex = Sys.CultureInfo.prototype._getAbbrMonthIndex;
    }
}

Type.registerNamespace('AjaxControlToolkit'); AjaxControlToolkit.BehaviorBase = function(element) {
    AjaxControlToolkit.BehaviorBase.initializeBase(this, [element]); this._clientStateFieldID = null; this._pageRequestManager = null; this._partialUpdateBeginRequestHandler = null; this._partialUpdateEndRequestHandler = null;
}
AjaxControlToolkit.BehaviorBase.prototype = {
    initialize: function() {
        AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'initialize');
    },
    dispose: function() {
        AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'dispose'); if (this._pageRequestManager) {
            if (this._partialUpdateBeginRequestHandler) {
                this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequestHandler); this._partialUpdateBeginRequestHandler = null;
            }
            if (this._partialUpdateEndRequestHandler) {
                this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestHandler); this._partialUpdateEndRequestHandler = null;
            }
            this._pageRequestManager = null;
        }
    },
    get_ClientStateFieldID: function() {
        return this._clientStateFieldID;
    },
    set_ClientStateFieldID: function(value) {
        if (this._clientStateFieldID != value) {
            this._clientStateFieldID = value; this.raisePropertyChanged('ClientStateFieldID');
        }
    },
    get_ClientState: function() {
        if (this._clientStateFieldID) {
            var input = document.getElementById(this._clientStateFieldID); if (input) {
                return input.value;
            }
        }
        return null;
    },
    set_ClientState: function(value) {
        if (this._clientStateFieldID) {
            var input = document.getElementById(this._clientStateFieldID); if (input) {
                input.value = value;
            }
        }
    },
    registerPartialUpdateEvents: function() {
        if (Sys && Sys.WebForms && Sys.WebForms.PageRequestManager) {
            this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance(); if (this._pageRequestManager) {
                this._partialUpdateBeginRequestHandler = Function.createDelegate(this, this._partialUpdateBeginRequest); this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequestHandler); this._partialUpdateEndRequestHandler = Function.createDelegate(this, this._partialUpdateEndRequest); this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHandler);
            }
        }
    },
    _partialUpdateBeginRequest: function(sender, beginRequestEventArgs) {
    },
    _partialUpdateEndRequest: function(sender, endRequestEventArgs) {
    }
}
AjaxControlToolkit.BehaviorBase.registerClass('AjaxControlToolkit.BehaviorBase', Sys.UI.Behavior); AjaxControlToolkit.DynamicPopulateBehaviorBase = function(element) {
    AjaxControlToolkit.DynamicPopulateBehaviorBase.initializeBase(this, [element]); this._DynamicControlID = null; this._DynamicContextKey = null; this._DynamicServicePath = null; this._DynamicServiceMethod = null; this._cacheDynamicResults = false; this._dynamicPopulateBehavior = null; this._populatingHandler = null; this._populatedHandler = null;
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.prototype = {
    initialize: function() {
        AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, 'initialize'); this._populatingHandler = Function.createDelegate(this, this._onPopulating); this._populatedHandler = Function.createDelegate(this, this._onPopulated);
    },
    dispose: function() {
        if (this._populatedHandler) {
            if (this._dynamicPopulateBehavior) {
                this._dynamicPopulateBehavior.remove_populated(this._populatedHandler);
            }
            this._populatedHandler = null;
        }
        if (this._populatingHandler) {
            if (this._dynamicPopulateBehavior) {
                this._dynamicPopulateBehavior.remove_populating(this._populatingHandler);
            }
            this._populatingHandler = null;
        }
        if (this._dynamicPopulateBehavior) {
            this._dynamicPopulateBehavior.dispose(); this._dynamicPopulateBehavior = null;
        }
        AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, 'dispose');
    },
    populate: function(contextKeyOverride) {
        if (this._dynamicPopulateBehavior && (this._dynamicPopulateBehavior.get_element() != $get(this._DynamicControlID))) {
            this._dynamicPopulateBehavior.dispose(); this._dynamicPopulateBehavior = null;
        }
        if (!this._dynamicPopulateBehavior && this._DynamicControlID && this._DynamicServiceMethod) {
            this._dynamicPopulateBehavior = $create(AjaxControlToolkit.DynamicPopulateBehavior,
{
    "id": this.get_id() + "_DynamicPopulateBehavior",
    "ContextKey": this._DynamicContextKey,
    "ServicePath": this._DynamicServicePath,
    "ServiceMethod": this._DynamicServiceMethod,
    "cacheDynamicResults": this._cacheDynamicResults
}, null, null, $get(this._DynamicControlID)); this._dynamicPopulateBehavior.add_populating(this._populatingHandler); this._dynamicPopulateBehavior.add_populated(this._populatedHandler);
        }
        if (this._dynamicPopulateBehavior) {
            this._dynamicPopulateBehavior.populate(contextKeyOverride ? contextKeyOverride : this._DynamicContextKey);
        }
    },
    _onPopulating: function(sender, eventArgs) {
        this.raisePopulating(eventArgs);
    },
    _onPopulated: function(sender, eventArgs) {
        this.raisePopulated(eventArgs);
    },
    get_dynamicControlID: function() {
        return this._DynamicControlID;
    },
    get_DynamicControlID: this.get_dynamicControlID,
    set_dynamicControlID: function(value) {
        if (this._DynamicControlID != value) {
            this._DynamicControlID = value; this.raisePropertyChanged('dynamicControlID'); this.raisePropertyChanged('DynamicControlID');
        }
    },
    set_DynamicControlID: this.set_dynamicControlID,
    get_dynamicContextKey: function() {
        return this._DynamicContextKey;
    },
    get_DynamicContextKey: this.get_dynamicContextKey,
    set_dynamicContextKey: function(value) {
        if (this._DynamicContextKey != value) {
            this._DynamicContextKey = value; this.raisePropertyChanged('dynamicContextKey'); this.raisePropertyChanged('DynamicContextKey');
        }
    },
    set_DynamicContextKey: this.set_dynamicContextKey,
    get_dynamicServicePath: function() {
        return this._DynamicServicePath;
    },
    get_DynamicServicePath: this.get_dynamicServicePath,
    set_dynamicServicePath: function(value) {
        if (this._DynamicServicePath != value) {
            this._DynamicServicePath = value; this.raisePropertyChanged('dynamicServicePath'); this.raisePropertyChanged('DynamicServicePath');
        }
    },
    set_DynamicServicePath: this.set_dynamicServicePath,
    get_dynamicServiceMethod: function() {
        return this._DynamicServiceMethod;
    },
    get_DynamicServiceMethod: this.get_dynamicServiceMethod,
    set_dynamicServiceMethod: function(value) {
        if (this._DynamicServiceMethod != value) {
            this._DynamicServiceMethod = value; this.raisePropertyChanged('dynamicServiceMethod'); this.raisePropertyChanged('DynamicServiceMethod');
        }
    },
    set_DynamicServiceMethod: this.set_dynamicServiceMethod,
    get_cacheDynamicResults: function() {
        return this._cacheDynamicResults;
    },
    set_cacheDynamicResults: function(value) {
        if (this._cacheDynamicResults != value) {
            this._cacheDynamicResults = value; this.raisePropertyChanged('cacheDynamicResults');
        }
    },
    add_populated: function(handler) {
        this.get_events().addHandler("populated", handler);
    },
    remove_populated: function(handler) {
        this.get_events().removeHandler("populated", handler);
    },
    raisePopulated: function(arg) {
        var handler = this.get_events().getHandler("populated"); if (handler) handler(this, arg);
    },
    add_populating: function(handler) {
        this.get_events().addHandler('populating', handler);
    },
    remove_populating: function(handler) {
        this.get_events().removeHandler('populating', handler);
    },
    raisePopulating: function(eventArgs) {
        var handler = this.get_events().getHandler('populating'); if (handler) {
            handler(this, eventArgs);
        }
    }
}
AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControlToolkit.DynamicPopulateBehaviorBase', AjaxControlToolkit.BehaviorBase); AjaxControlToolkit.ControlBase = function(element) {
    AjaxControlToolkit.ControlBase.initializeBase(this, [element]); this._clientStateField = null; this._callbackTarget = null; this._onsubmit$delegate = Function.createDelegate(this, this._onsubmit); this._oncomplete$delegate = Function.createDelegate(this, this._oncomplete); this._onerror$delegate = Function.createDelegate(this, this._onerror);
}
AjaxControlToolkit.ControlBase.prototype = {
    initialize: function() {
        AjaxControlToolkit.ControlBase.callBaseMethod(this, "initialize"); if (this._clientStateField) {
            this.loadClientState(this._clientStateField.value);
        }
        if (typeof (Sys.WebForms) !== "undefined" && typeof (Sys.WebForms.PageRequestManager) !== "undefined") {
            Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);
        } else {
            $addHandler(document.forms[0], "submit", this._onsubmit$delegate);
        }
    },
    dispose: function() {
        if (typeof (Sys.WebForms) !== "undefined" && typeof (Sys.WebForms.PageRequestManager) !== "undefined") {
            Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, this._onsubmit$delegate);
        } else {
            $removeHandler(document.forms[0], "submit", this._onsubmit$delegate);
        }
        AjaxControlToolkit.ControlBase.callBaseMethod(this, "dispose");
    },
    findElement: function(id) {
        return $get(this.get_id() + '_' + id.split(':').join('_'));
    },
    get_clientStateField: function() {
        return this._clientStateField;
    },
    set_clientStateField: function(value) {
        if (this.get_isInitialized()) throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSetClientStateField); if (this._clientStateField != value) {
            this._clientStateField = value; this.raisePropertyChanged('clientStateField');
        }
    },
    loadClientState: function(value) {
    },
    saveClientState: function() {
        return null;
    },
    _invoke: function(name, args, cb) {
        if (!this._callbackTarget) {
            throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlNotRegisteredForCallbacks);
        }
        if (typeof (WebForm_DoCallback) === "undefined") {
            throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotRegisteredForCallbacks);
        }
        var ar = []; for (var i = 0; i < args.length; i++)
            ar[i] = args[i]; var clientState = this.saveClientState(); if (clientState != null && !String.isInstanceOfType(clientState)) {
            throw Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidClientStateType);
        }
        var payload = Sys.Serialization.JavaScriptSerializer.serialize({ name: name, args: ar, state: this.saveClientState() }); WebForm_DoCallback(this._callbackTarget, payload, this._oncomplete$delegate, cb, this._onerror$delegate, true);
    },
    _oncomplete: function(result, context) {
        result = Sys.Serialization.JavaScriptSerializer.deserialize(result); if (result.error) {
            throw Error.create(result.error);
        }
        this.loadClientState(result.state); context(result.result);
    },
    _onerror: function(message, context) {
        throw Error.create(message);
    },
    _onsubmit: function() {
        if (this._clientStateField) {
            this._clientStateField.value = this.saveClientState();
        }
        return true;
    }
}
AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlBase", Sys.UI.Control);
Type.registerNamespace('AjaxControlToolkit'); AjaxControlToolkit.Resources = { "PasswordStrength_InvalidWeightingRatios": "Strength Weighting ratios must have 4 elements", "Animation_ChildrenNotAllowed": "AjaxControlToolkit.Animation.createAnimation cannot add child animations to type \"{0}\" that does not derive from AjaxControlToolkit.Animation.ParentAnimation", "PasswordStrength_RemainingSymbols": "{0} symbol characters", "ExtenderBase_CannotSetClientStateField": "clientStateField can only be set before initialization", "RTE_PreviewHTML": "Preview HTML", "RTE_JustifyCenter": "Justify Center", "PasswordStrength_RemainingUpperCase": "{0} more upper case characters", "Animation_TargetNotFound": "AjaxControlToolkit.Animation.Animation.set_animationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control.  No element or control could be found corresponding to \"{0}\"", "RTE_FontColor": "Font Color", "RTE_LabelColor": "Label Color", "Common_InvalidBorderWidthUnit": "A unit type of \"{0}\"\u0027 is invalid for parseBorderWidth", "RTE_Heading": "Heading", "Tabs_PropertySetBeforeInitialization": "{0} cannot be changed before initialization", "RTE_OrderedList": "Ordered List", "ReorderList_DropWatcherBehavior_NoChild": "Could not find child of list with id \"{0}\"", "CascadingDropDown_MethodTimeout": "[Method timeout]", "RTE_Columns": "Columns", "RTE_InsertImage": "Insert Image", "RTE_InsertTable": "Insert Table", "RTE_Values": "Values", "RTE_OK": "OK", "ExtenderBase_PageNotRegisteredForCallbacks": "This Page has not been registered for callbacks", "Animation_NoDynamicPropertyFound": "AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\" or \"{1}\"", "Animation_InvalidBaseType": "AjaxControlToolkit.Animation.registerAnimation can only register types that inherit from AjaxControlToolkit.Animation.Animation", "RTE_UnorderedList": "Unordered List", "ResizableControlBehavior_InvalidHandler": "{0} handler not a function, function name, or function text", "Animation_InvalidColor": "Color must be a 7-character hex representation (e.g. #246ACF), not \"{0}\"", "RTE_CellColor": "Cell Color", "PasswordStrength_RemainingMixedCase": "Mixed case characters", "RTE_Italic": "Italic", "CascadingDropDown_NoParentElement": "Failed to find parent element \"{0}\"", "ValidatorCallout_DefaultErrorMessage": "This control is invalid", "RTE_Indent": "Indent", "ReorderList_DropWatcherBehavior_CallbackError": "Reorder failed, see details below.\\r\\n\\r\\n{0}", "PopupControl_NoDefaultProperty": "No default property supported for control \"{0}\" of type \"{1}\"", "RTE_Normal": "Normal", "PopupExtender_NoParentElement": "Couldn\u0027t find parent element \"{0}\"", "RTE_ViewValues": "View Values", "RTE_Legend": "Legend", "RTE_Labels": "Labels", "RTE_CellSpacing": "Cell Spacing", "PasswordStrength_RemainingNumbers": "{0} more numbers", "RTE_Border": "Border", "RTE_Create": "Create", "RTE_BackgroundColor": "Background Color", "RTE_Cancel": "Cancel", "RTE_JustifyFull": "Justify Full", "RTE_JustifyLeft": "Justify Left", "RTE_Cut": "Cut", "ResizableControlBehavior_CannotChangeProperty": "Changes to {0} not supported", "RTE_ViewSource": "View Source", "Common_InvalidPaddingUnit": "A unit type of \"{0}\" is invalid for parsePadding", "RTE_Paste": "Paste", "ExtenderBase_ControlNotRegisteredForCallbacks": "This Control has not been registered for callbacks", "Calendar_Today": "Today: {0}", "MultiHandleSlider_CssHeightWidthRequired": "You must specify a CSS width and height for all handle styles as well as the rail.", "Common_DateTime_InvalidFormat": "Invalid format", "ListSearch_DefaultPrompt": "Type to search", "CollapsiblePanel_NoControlID": "Failed to find element \"{0}\"", "RTE_ViewEditor": "View Editor", "RTE_BarColor": "Bar Color", "PasswordStrength_DefaultStrengthDescriptions": "NonExistent;Very Weak;Weak;Poor;Almost OK;Barely Acceptable;Average;Good;Strong;Excellent;Unbreakable!", "RTE_Inserttexthere": "Insert text here", "Animation_UknownAnimationName": "AjaxControlToolkit.Animation.createAnimation could not find an Animation corresponding to the name \"{0}\"", "ExtenderBase_InvalidClientStateType": "saveClientState must return a value of type String", "Rating_CallbackError": "An unhandled exception has occurred:\\r\\n{0}", "Tabs_OwnerExpected": "owner must be set before initialize", "DynamicPopulate_WebServiceTimeout": "Web service call timed out", "PasswordStrength_RemainingLowerCase": "{0} more lower case characters", "Animation_MissingAnimationName": "AjaxControlToolkit.Animation.createAnimation requires an object with an AnimationName property", "RTE_JustifyRight": "Justify Right", "Tabs_ActiveTabArgumentOutOfRange": "Argument is not a member of the tabs collection", "RTE_CellPadding": "Cell Padding", "RTE_ClearFormatting": "Clear Formatting", "AlwaysVisible_ElementRequired": "AjaxControlToolkit.AlwaysVisibleControlBehavior must have an element", "Slider_NoSizeProvided": "Please set valid values for the height and width attributes in the slider\u0027s CSS classes", "DynamicPopulate_WebServiceError": "Web Service call failed: {0}", "PasswordStrength_StrengthPrompt": "Strength: ", "PasswordStrength_RemainingCharacters": "{0} more characters", "PasswordStrength_Satisfied": "Nothing more required", "RTE_Hyperlink": "Hyperlink", "Animation_NoPropertyFound": "AjaxControlToolkit.Animation.createAnimation found no property corresponding to \"{0}\"", "PasswordStrength_InvalidStrengthDescriptionStyles": "Text Strength description style classes must match the number of text descriptions.", "PasswordStrength_GetHelpRequirements": "Get help on password requirements", "PasswordStrength_InvalidStrengthDescriptions": "Invalid number of text strength descriptions specified", "RTE_Underline": "Underline", "Tabs_PropertySetAfterInitialization": "{0} cannot be changed after initialization", "RTE_Rows": "Rows", "RTE_Redo": "Redo", "RTE_Size": "Size", "RTE_Undo": "Undo", "RTE_Bold": "Bold", "RTE_Copy": "Copy", "RTE_Font": "Font", "CascadingDropDown_MethodError": "[Method error {0}]", "RTE_BorderColor": "Border Color", "RTE_Paragraph": "Paragraph", "RTE_InsertHorizontalRule": "Insert Horizontal Rule", "Common_UnitHasNoDigits": "No digits", "RTE_Outdent": "Outdent", "Common_DateTime_InvalidTimeSpan": "\"{0}\" is not a valid TimeSpan format", "Animation_CannotNestSequence": "AjaxControlToolkit.Animation.SequenceAnimation cannot be nested inside AjaxControlToolkit.Animation.ParallelAnimation", "Shared_BrowserSecurityPreventsPaste": "Your browser security settings don\u0027t permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead." };
Type.registerNamespace('AjaxControlToolkit'); AjaxControlToolkit.TextBoxWatermarkBehavior = function(element) {
    AjaxControlToolkit.TextBoxWatermarkBehavior.initializeBase(this, [element]); this._watermarkText = null; this._watermarkCssClass = null; this._focusHandler = null; this._blurHandler = null; this._keyPressHandler = null; this._propertyChangedHandler = null; this._watermarkChangedHandler = null; this._oldClassName = null; this._clearedForSubmit = null; this._maxLength = null; if ((typeof (WebForm_OnSubmit) == 'function') && !AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit) {
        AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit = WebForm_OnSubmit; WebForm_OnSubmit = AjaxControlToolkit.TextBoxWatermarkBehavior.WebForm_OnSubmit;
    }
}
AjaxControlToolkit.TextBoxWatermarkBehavior.prototype = {
    initialize: function() {
        AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'initialize'); var e = this.get_element(); var hasInitialFocus = false; var clientState = AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'get_ClientState'); if (clientState != null && clientState != "") {
            hasInitialFocus = (clientState == "Focused"); AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'set_ClientState', null);
        }
        this._oldClassName = e.className; this._focusHandler = Function.createDelegate(this, this._onFocus); this._blurHandler = Function.createDelegate(this, this._onBlur); this._keyPressHandler = Function.createDelegate(this, this._onKeyPress); $addHandler(e, 'focus', this._focusHandler); $addHandler(e, 'blur', this._blurHandler); $addHandler(e, 'keypress', this._keyPressHandler); this.registerPropertyChanged(); var currentValue = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Current(); var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()); if (("" == currentValue) || (this._watermarkText == currentValue)) {
            wrapper.set_Watermark(this._watermarkText)
            wrapper.set_IsWatermarked(true);
        }
        if (hasInitialFocus) {
            this._onFocus();
        } else {
            e.blur(); this._onBlur();
        }
        this._clearedForSubmit = false; this.registerPartialUpdateEvents(); this._watermarkChangedHandler = Function.createDelegate(this, this._onWatermarkChanged); wrapper.add_WatermarkChanged(this._watermarkChangedHandler);
    },
    dispose: function() {
        var e = this.get_element(); if (this._watermarkChangedHandler) {
            AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).remove_WatermarkChanged(this._watermarkChangedHandler); this._watermarkChangedHandler = null;
        }
        if (e.control && this._propertyChangedHandler) {
            e.control.remove_propertyChanged(this._propertyChangedHandler); this._propertyChangedHandler = null;
        }
        if (this._focusHandler) {
            $removeHandler(e, 'focus', this._focusHandler); this._focusHandler = null;
        }
        if (this._blurHandler) {
            $removeHandler(e, 'blur', this._blurHandler); this._blurHandler = null;
        }
        if (this._keyPressHandler) {
            $removeHandler(e, 'keypress', this._keyPressHandler); this._keyPressHandler = null;
        }
        if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
            this.clearText(false);
        }
        AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, 'dispose');
    },
    _onWatermarkChanged: function(sender, eventArgs) {
        if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
            this._onBlur();
        } else {
            this._onFocus();
        }
    },
    clearText: function(focusing) {
        var element = this.get_element(); var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(element); wrapper.set_Value(""); wrapper.set_IsWatermarked(false); if (focusing) {
            element.setAttribute("autocomplete", "off"); element.select();
        }
    },
    _onFocus: function(evt) {
        var e = this.get_element(); if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(e).get_IsWatermarked()) {
            this.clearText(evt ? true : false);
        }
        e.className = this._oldClassName; if (this._maxLength > 0) {
            this.get_element().maxLength = this._maxLength; this._maxLength = null;
        }
    },
    _onBlur: function() {
        var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()); if (("" == wrapper.get_Current()) || wrapper.get_IsWatermarked()) {
            if (this.get_element().maxLength > 0 && this._watermarkText.length > this.get_element().maxLength) {
                this._maxLength = this.get_element().maxLength; this.get_element().maxLength = this._watermarkText.length;
            }
            this._applyWatermark();
        }
    },
    _applyWatermark: function() {
        var wrapper = AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()); wrapper.set_Watermark(this._watermarkText); wrapper.set_IsWatermarked(true); if (this._watermarkCssClass) {
            this.get_element().className = this._watermarkCssClass;
        }
    },
    _onKeyPress: function() {
        AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_IsWatermarked(false);
    },
    registerPropertyChanged: function() {
        var e = this.get_element(); if (e.control && !this._propertyChangedHandler) {
            this._propertyChangedHandler = Function.createDelegate(this, this._onPropertyChanged); e.control.add_propertyChanged(this._propertyChangedHandler);
        }
    },
    _onPropertyChanged: function(sender, propertyChangedEventArgs) {
        if ("text" == propertyChangedEventArgs.get_propertyName()) {
            this.set_Value(AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Current());
        }
    },
    _onSubmit: function() {
        if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
            this.clearText(false); this._clearedForSubmit = true;
        }
    },
    _partialUpdateEndRequest: function(sender, endRequestEventArgs) {
        AjaxControlToolkit.TextBoxWatermarkBehavior.callBaseMethod(this, '_partialUpdateEndRequest', [sender, endRequestEventArgs]); if (this.get_element() && this._clearedForSubmit) {
            this.get_element().blur(); this._onBlur(); this._clearedForSubmit = false;
        }
    },
    get_WatermarkText: function() {
        return this._watermarkText;
    },
    set_WatermarkText: function(value) {
        if (this._watermarkText != value) {
            this._watermarkText = value; if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
                this._applyWatermark();
            }
            this.raisePropertyChanged('WatermarkText');
        }
    },
    get_WatermarkCssClass: function() {
        return this._watermarkCssClass;
    },
    set_WatermarkCssClass: function(value) {
        if (this._watermarkCssClass != value) {
            this._watermarkCssClass = value; if (AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_IsWatermarked()) {
                this._applyWatermark();
            }
            this.raisePropertyChanged('WatermarkCssClass');
        }
    },
    get_Text: function() {
        return AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).get_Value();
    },
    set_Text: function(value) {
        if ("" == value) {
            AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_Current(""); this.get_element().blur(); this._onBlur();
        } else {
            this._onFocus(); AjaxControlToolkit.TextBoxWrapper.get_Wrapper(this.get_element()).set_Current(value);
        }
    }
}
AjaxControlToolkit.TextBoxWatermarkBehavior.registerClass('AjaxControlToolkit.TextBoxWatermarkBehavior', AjaxControlToolkit.BehaviorBase); AjaxControlToolkit.TextBoxWatermarkBehavior.WebForm_OnSubmit = function() {
    var result = AjaxControlToolkit.TextBoxWatermarkBehavior._originalWebForm_OnSubmit(); if (result) {
        var components = Sys.Application.getComponents(); for (var i = 0; i < components.length; i++) {
            var component = components[i]; if (AjaxControlToolkit.TextBoxWatermarkBehavior.isInstanceOfType(component)) {
                component._onSubmit();
            }
        }
    }
    return result;
}

if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
