1// Name: MicrosoftAjax.debug.js 2// Assembly: System.Web.Extensions 3// Version: 3.5.0.0 4// FileVersion: 3.5.30729.8966 5//----------------------------------------------------------------------- 6// Copyright (C) Microsoft Corporation. All rights reserved. 7//----------------------------------------------------------------------- 8// MicrosoftAjax.js 9// Microsoft AJAX Framework. 10 11Function.__typeName = 'Function'; 12Function.__class = true; 13Function.createCallback = function Function$createCallback(method, context) { 14 /// <summary locid="M:J#Function.createCallback" /> 15 /// <param name="method" type="Function"></param> 16 /// <param name="context" mayBeNull="true"></param> 17 /// <returns type="Function"></returns> 18 var e = Function._validateParams(arguments, [ 19 {name: "method", type: Function}, 20 {name: "context", mayBeNull: true} 21 ]); 22 if (e) throw e; 23 return function() { 24 var l = arguments.length; 25 if (l > 0) { 26 var args = []; 27 for (var i = 0; i < l; i++) { 28 args[i] = arguments[i]; 29 } 30 args[l] = context; 31 return method.apply(this, args); 32 } 33 return method.call(this, context); 34 } 35} 36Function.createDelegate = function Function$createDelegate(instance, method) { 37 /// <summary locid="M:J#Function.createDelegate" /> 38 /// <param name="instance" mayBeNull="true"></param> 39 /// <param name="method" type="Function"></param> 40 /// <returns type="Function"></returns> 41 var e = Function._validateParams(arguments, [ 42 {name: "instance", mayBeNull: true}, 43 {name: "method", type: Function} 44 ]); 45 if (e) throw e; 46 return function() { 47 return method.apply(instance, arguments); 48 } 49} 50Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() { 51 /// <summary locid="M:J#Function.emptyMethod" /> 52 if (arguments.length !== 0) throw Error.parameterCount(); 53} 54Function._validateParams = function Function$_validateParams(params, expectedParams) { 55 var e; 56 e = Function._validateParameterCount(params, expectedParams); 57 if (e) { 58 e.popStackFrame(); 59 return e; 60 } 61 for (var i=0; i < params.length; i++) { 62 var expectedParam = expectedParams[Math.min(i, expectedParams.length - 1)]; 63 var paramName = expectedParam.name; 64 if (expectedParam.parameterArray) { 65 paramName += "[" + (i - expectedParams.length + 1) + "]"; 66 } 67 e = Function._validateParameter(params[i], expectedParam, paramName); 68 if (e) { 69 e.popStackFrame(); 70 return e; 71 } 72 } 73 return null; 74} 75Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams) { 76 var maxParams = expectedParams.length; 77 var minParams = 0; 78 for (var i=0; i < expectedParams.length; i++) { 79 if (expectedParams[i].parameterArray) { 80 maxParams = Number.MAX_VALUE; 81 } 82 else if (!expectedParams[i].optional) { 83 minParams++; 84 } 85 } 86 if (params.length < minParams || params.length > maxParams) { 87 var e = Error.parameterCount(); 88 e.popStackFrame(); 89 return e; 90 } 91 return null; 92} 93Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) { 94 var e; 95 var expectedType = expectedParam.type; 96 var expectedInteger = !!expectedParam.integer; 97 var expectedDomElement = !!expectedParam.domElement; 98 var mayBeNull = !!expectedParam.mayBeNull; 99 e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName); 100 if (e) { 101 e.popStackFrame(); 102 return e; 103 } 104 var expectedElementType = expectedParam.elementType; 105 var elementMayBeNull = !!expectedParam.elementMayBeNull; 106 if (expectedType === Array && typeof(param) !== "undefined" && param !== null && 107 (expectedElementType || !elementMayBeNull)) { 108 var expectedElementInteger = !!expectedParam.elementInteger; 109 var expectedElementDomElement = !!expectedParam.elementDomElement; 110 for (var i=0; i < param.length; i++) { 111 var elem = param[i]; 112 e = Function._validateParameterType(elem, expectedElementType, 113 expectedElementInteger, expectedElementDomElement, elementMayBeNull, 114 paramName + "[" + i + "]"); 115 if (e) { 116 e.popStackFrame(); 117 return e; 118 } 119 } 120 } 121 return null; 122} 123Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) { 124 var e; 125 if (typeof(param) === "undefined") { 126 if (mayBeNull) { 127 return null; 128 } 129 else { 130 e = Error.argumentUndefined(paramName); 131 e.popStackFrame(); 132 return e; 133 } 134 } 135 if (param === null) { 136 if (mayBeNull) { 137 return null; 138 } 139 else { 140 e = Error.argumentNull(paramName); 141 e.popStackFrame(); 142 return e; 143 } 144 } 145 if (expectedType && expectedType.__enum) { 146 if (typeof(param) !== 'number') { 147 e = Error.argumentType(paramName, Object.getType(param), expectedType); 148 e.popStackFrame(); 149 return e; 150 } 151 if ((param % 1) === 0) { 152 var values = expectedType.prototype; 153 if (!expectedType.__flags || (param === 0)) { 154 for (var i in values) { 155 if (values[i] === param) return null; 156 } 157 } 158 else { 159 var v = param; 160 for (var i in values) {
161 var vali = values[i]; 162 if (vali === 0) continue; 163 if ((vali & param) === vali) { 164 v -= vali; 165 } 166 if (v === 0) return null; 167 } 168 } 169 } 170 e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName())); 171 e.popStackFrame(); 172 return e; 173 } 174 if (expectedDomElement) { 175 var val; 176 if (typeof(param.nodeType) !== 'number') { 177 var doc = param.ownerDocument || param.document || param; 178 if (doc != param) { 179 var w = doc.defaultView || doc.parentWindow; 180 val = (w != param) && !(w.document && param.document && (w.document === param.document)); 181 } 182 else { 183 val = (typeof(doc.body) === 'undefined'); 184 } 185 } 186 else { 187 val = (param.nodeType === 3); 188 } 189 if (val) { 190 e = Error.argument(paramName, Sys.Res.argumentDomElement); 191 e.popStackFrame(); 192 return e; 193 } 194 } 195 if (expectedType && !expectedType.isInstanceOfType(param)) { 196 e = Error.argumentType(paramName, Object.getType(param), expectedType); 197 e.popStackFrame(); 198 return e; 199 } 200 if (expectedType === Number && expectedInteger) { 201 if ((param % 1) !== 0) { 202 e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger); 203 e.popStackFrame(); 204 return e; 205 } 206 } 207 return null; 208} 209 210Error.__typeName = 'Error'; 211Error.__class = true; 212Error.create = function Error$create(message, errorInfo) { 213 /// <summary locid="M:J#Error.create" /> 214 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 215 /// <param name="errorInfo" optional="true" mayBeNull="true"></param> 216 /// <returns type="Error"></returns> 217 var e = Function._validateParams(arguments, [ 218 {name: "message", type: String, mayBeNull: true, optional: true}, 219 {name: "errorInfo", mayBeNull: true, optional: true} 220 ]); 221 if (e) throw e; 222 var e = new Error(message); 223 e.message = message; 224 if (errorInfo) { 225 for (var v in errorInfo) { 226 e[v] = errorInfo[v]; 227 } 228 } 229 e.popStackFrame(); 230 return e; 231} 232Error.argument = function Error$argument(paramName, message) { 233 /// <summary locid="M:J#Error.argument" /> 234 /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param> 235 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 236 /// <returns></returns> 237 var e = Function._validateParams(arguments, [ 238 {name: "paramName", type: String, mayBeNull: true, optional: true}, 239 {name: "message", type: String, mayBeNull: true, optional: true} 240 ]); 241 if (e) throw e; 242 var displayMessage = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument); 243 if (paramName) { 244 displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); 245 } 246 var e = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName }); 247 e.popStackFrame(); 248 return e; 249} 250Error.argumentNull = function Error$argumentNull(paramName, message) { 251 /// <summary locid="M:J#Error.argumentNull" /> 252 /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param> 253 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 254 /// <returns></returns> 255 var e = Function._validateParams(arguments, [ 256 {name: "paramName", type: String, mayBeNull: true, optional: true}, 257 {name: "message", type: String, mayBeNull: true, optional: true} 258 ]); 259 if (e) throw e; 260 var displayMessage = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull); 261 if (paramName) { 262 displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); 263 } 264 var e = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName }); 265 e.popStackFrame(); 266 return e; 267} 268Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) { 269 /// <summary locid="M:J#Error.argumentOutOfRange" /> 270 /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param> 271 /// <param name="actualValue" optional="true" mayBeNull="true"></param> 272 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 273 /// <returns></returns> 274 var e = Function._validateParams(arguments, [ 275 {name: "paramName", type: String, mayBeNull: true, optional: true}, 276 {name: "actualValue", mayBeNull: true, optional: true}, 277 {name: "message", type: String, mayBeNull: true, optional: true} 278 ]); 279 if (e) throw e; 280 var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message :
280Sys.Res.argumentOutOfRange); 281 if (paramName) { 282 displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); 283 } 284 if (typeof(actualValue) !== "undefined" && actualValue !== null) { 285 displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue); 286 } 287 var e = Error.create(displayMessage, { 288 name: "Sys.ArgumentOutOfRangeException", 289 paramName: paramName, 290 actualValue: actualValue 291 }); 292 e.popStackFrame(); 293 return e; 294} 295Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) { 296 /// <summary locid="M:J#Error.argumentType" /> 297 /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param> 298 /// <param name="actualType" type="Type" optional="true" mayBeNull="true"></param> 299 /// <param name="expectedType" type="Type" optional="true" mayBeNull="true"></param> 300 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 301 /// <returns></returns> 302 var e = Function._validateParams(arguments, [ 303 {name: "paramName", type: String, mayBeNull: true, optional: true}, 304 {name: "actualType", type: Type, mayBeNull: true, optional: true}, 305 {name: "expectedType", type: Type, mayBeNull: true, optional: true}, 306 {name: "message", type: String, mayBeNull: true, optional: true} 307 ]); 308 if (e) throw e; 309 var displayMessage = "Sys.ArgumentTypeException: "; 310 if (message) { 311 displayMessage += message; 312 } 313 else if (actualType && expectedType) { 314 displayMessage += 315 String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName()); 316 } 317 else { 318 displayMessage += Sys.Res.argumentType; 319 } 320 if (paramName) { 321 displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); 322 } 323 var e = Error.create(displayMessage, { 324 name: "Sys.ArgumentTypeException", 325 paramName: paramName, 326 actualType: actualType, 327 expectedType: expectedType 328 }); 329 e.popStackFrame(); 330 return e; 331} 332Error.argumentUndefined = function Error$argumentUndefined(paramName, message) { 333 /// <summary locid="M:J#Error.argumentUndefined" /> 334 /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param> 335 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 336 /// <returns></returns> 337 var e = Function._validateParams(arguments, [ 338 {name: "paramName", type: String, mayBeNull: true, optional: true}, 339 {name: "message", type: String, mayBeNull: true, optional: true} 340 ]); 341 if (e) throw e; 342 var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined); 343 if (paramName) { 344 displayMessage += "\n" + String.format(Sys.Res.paramName, paramName); 345 } 346 var e = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName }); 347 e.popStackFrame(); 348 return e; 349} 350Error.format = function Error$format(message) { 351 /// <summary locid="M:J#Error.format" /> 352 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 353 /// <returns></returns> 354 var e = Function._validateParams(arguments, [ 355 {name: "message", type: String, mayBeNull: true, optional: true} 356 ]); 357 if (e) throw e; 358 var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format); 359 var e = Error.create(displayMessage, {name: 'Sys.FormatException'}); 360 e.popStackFrame(); 361 return e; 362} 363Error.invalidOperation = function Error$invalidOperation(message) { 364 /// <summary locid="M:J#Error.invalidOperation" /> 365 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 366 /// <returns></returns> 367 var e = Function._validateParams(arguments, [ 368 {name: "message", type: String, mayBeNull: true, optional: true} 369 ]); 370 if (e) throw e; 371 var displayMessage = "Sys.InvalidOperationException: " + (message ? message :
371Sys.Res.invalidOperation); 372 var e = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'}); 373 e.popStackFrame(); 374 return e; 375} 376Error.notImplemented = function Error$notImplemented(message) { 377 /// <summary locid="M:J#Error.notImplemented" /> 378 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 379 /// <returns></returns> 380 var e = Function._validateParams(arguments, [ 381 {name: "message", type: String, mayBeNull: true, optional: true} 382 ]); 383 if (e) throw e; 384 var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented); 385 var e = Error.create(displayMessage, {name: 'Sys.NotImplementedException'}); 386 e.popStackFrame(); 387 return e; 388} 389Error.parameterCount = function Error$parameterCount(message) { 390 /// <summary locid="M:J#Error.parameterCount" /> 391 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 392 /// <returns></returns> 393 var e = Function._validateParams(arguments, [ 394 {name: "message", type: String, mayBeNull: true, optional: true} 395 ]); 396 if (e) throw e; 397 var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount); 398 var e = Error.create(displayMessage, {name: 'Sys.ParameterCountException'}); 399 e.popStackFrame(); 400 return e; 401} 402Error.prototype.popStackFrame = function Error$popStackFrame() { 403 /// <summary locid="M:J#checkParam" /> 404 if (arguments.length !== 0) throw Error.parameterCount(); 405 if (typeof(this.stack) === "undefined" || this.stack === null || 406 typeof(this.fileName) === "undefined" || this.fileName === null || 407 typeof(this.lineNumber) === "undefined" || this.lineNumber === null) { 408 return; 409 } 410 var stackFrames = this.stack.split("\n"); 411 var currentFrame = stackFrames[0]; 412 var pattern = this.fileName + ":" + this.lineNumber; 413 while(typeof(currentFrame) !== "undefined" && 414 currentFrame !== null && 415 currentFrame.indexOf(pattern) === -1) { 416 stackFrames.shift(); 417 currentFrame = stackFrames[0]; 418 } 419 var nextFrame = stackFrames[1]; 420 if (typeof(nextFrame) === "undefined" || nextFrame === null) { 421 return; 422 } 423 var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/); 424 if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) { 425 return; 426 } 427 this.fileName = nextFrameParts[1]; 428 this.lineNumber = parseInt(nextFrameParts[2]); 429 stackFrames.shift(); 430 this.stack = stackFrames.join("\n"); 431} 432 433Object.__typeName = 'Object'; 434Object.__class = true; 435Object.getType = function Object$getType(instance) { 436 /// <summary locid="M:J#Object.getType" /> 437 /// <param name="instance"></param> 438 /// <returns type="Type"></returns> 439 var e = Function._validateParams(arguments, [ 440 {name: "instance"} 441 ]); 442 if (e) throw e; 443 var ctor = instance.constructor; 444 if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) { 445 return Object; 446 } 447 return ctor; 448} 449Object.getTypeName = function Object$getTypeName(instance) { 450 /// <summary locid="M:J#Object.getTypeName" /> 451 /// <param name="instance"></param> 452 /// <returns type="String"></returns> 453 var e = Function._validateParams(arguments, [ 454 {name: "instance"} 455 ]); 456 if (e) throw e; 457 return Object.getType(instance).getName(); 458} 459 460String.__typeName = 'String'; 461String.__class = true; 462String.prototype.endsWith = function String$endsWith(suffix) { 463 /// <summary locid="M:J#String.endsWith" /> 464 /// <param name="suffix" type="String"></param> 465 /// <returns type="Boolean"></returns> 466 var e = Function._validateParams(arguments, [ 467 {name: "suffix", type: String} 468 ]); 469 if (e) throw e; 470 return (this.substr(this.length - suffix.length) === suffix); 471} 472String.prototype.startsWith = function String$startsWith(prefix) { 473 /// <summary locid="M:J#String.startsWith" /> 474 /// <param name="prefix" type="String"></param> 475 /// <returns type="Boolean"></returns> 476 var e = Function._validateParams(arguments, [ 477 {name: "prefix", type: String} 478 ]); 479 if (e) throw e; 480 return (this.substr(0, prefix.length) === prefix); 481} 482String.prototype.trim = function String$trim() { 483 /// <summary locid="M:J#String.trim" /> 484 /// <returns type="String"></returns> 485 if (arguments.length !== 0) throw Error.parameterCount(); 486 return this.replace(/^\s+|\s+$/g, ''); 487} 488String.prototype.trimEnd = function String$trimEnd() { 489 /// <summary locid="M:J#String.trimEnd" /> 490 /// <returns type="String"></returns> 491 if (arguments.length !== 0) throw Error.parameterCount(); 492 return this.replace(/\s+$/, ''); 493} 494String.prototype.trimStart = function String$trimStart() { 495 /// <summary locid="M:J#String.trimStart" /> 496 /// <returns type="String"></returns> 497 if (arguments.length !== 0) throw Error.parameterCount(); 498 return this.replace(/^\s+/, ''); 499}
500String.format = function String$format(format, args) { 501 /// <summary locid="M:J#String.format" /> 502 /// <param name="format" type="String"></param> 503 /// <param name="args" parameterArray="true" mayBeNull="true"></param> 504 /// <returns type="String"></returns> 505 var e = Function._validateParams(arguments, [ 506 {name: "format", type: String}, 507 {name: "args", mayBeNull: true, parameterArray: true} 508 ]); 509 if (e) throw e; 510 return String._toFormattedString(false, arguments); 511} 512String.localeFormat = function String$localeFormat(format, args) { 513 /// <summary locid="M:J#String.localeFormat" /> 514 /// <param name="format" type="String"></param> 515 /// <param name="args" parameterArray="true" mayBeNull="true"></param> 516 /// <returns type="String"></returns> 517 var e = Function._validateParams(arguments, [ 518 {name: "format", type: String}, 519 {name: "args", mayBeNull: true, parameterArray: true} 520 ]); 521 if (e) throw e; 522 return String._toFormattedString(true, arguments); 523} 524String._toFormattedString = function String$_toFormattedString(useLocale, args) { 525 var result = ''; 526 var format = args[0]; 527 for (var i=0;;) { 528 var open = format.indexOf('{', i); 529 var close = format.indexOf('}', i); 530 if ((open < 0) && (close < 0)) { 531 result += format.slice(i); 532 break; 533 } 534 if ((close > 0) && ((close < open) || (open < 0))) { 535 if (format.charAt(close + 1) !== '}') { 536 throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); 537 } 538 result += format.slice(i, close + 1); 539 i = close + 2; 540 continue; 541 } 542 result += format.slice(i, open); 543 i = open + 1; 544 if (format.charAt(i) === '{') { 545 result += '{'; 546 i++; 547 continue; 548 } 549 if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch); 550 var brace = format.substring(i, close); 551 var colonIndex = brace.indexOf(':'); 552 var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1; 553 if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid); 554 var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1); 555 var arg = args[argNumber]; 556 if (typeof(arg) === "undefined" || arg === null) { 557 arg = ''; 558 } 559 if (arg.toFormattedString) { 560 result += arg.toFormattedString(argFormat); 561 } 562 else if (useLocale && arg.localeFormat) { 563 result += arg.localeFormat(argFormat); 564 } 565 else if (arg.format) { 566 result += arg.format(argFormat); 567 } 568 else 569 result += arg.toString(); 570 i = close + 1; 571 } 572 return result; 573} 574 575Boolean.__typeName = 'Boolean'; 576Boolean.__class = true; 577Boolean.parse = function Boolean$parse(value) { 578 /// <summary locid="M:J#Boolean.parse" /> 579 /// <param name="value" type="String"></param> 580 /// <returns type="Boolean"></returns> 581 var e = Function._validateParams(arguments, [ 582 {name: "value", type: String} 583 ]); 584 if (e) throw e; 585 var v = value.trim().toLowerCase(); 586 if (v === 'false') return false; 587 if (v === 'true') return true; 588 throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse); 589} 590 591Date.__typeName = 'Date'; 592Date.__class = true; 593Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) { 594 var quoteCount = 0; 595 var escaped = false; 596 for (var i = 0, il = preMatch.length; i < il; i++) { 597 var c = preMatch.charAt(i); 598 switch (c) { 599 case '\'': 600 if (escaped) strBuilder.append("'"); 601 else quoteCount++; 602 escaped = false; 603 break; 604 case '\\': 605 if (escaped) strBuilder.append("\\"); 606 escaped = !escaped; 607 break; 608 default: 609 strBuilder.append(c); 610 escaped = false; 611 break; 612 } 613 } 614 return quoteCount; 615} 616Date._expandFormat = function Date$_expandFormat(dtf, format) { 617 if (!format) { 618 format = "F"; 619 } 620 if (format.length === 1) { 621 switch (format) { 622 case "d": 623 return dtf.ShortDatePattern; 624 case "D": 625 return dtf.LongDatePattern; 626 case "t": 627 return dtf.ShortTimePattern; 628 case "T": 629 return dtf.LongTimePattern; 630 case "F": 631 return dtf.FullDateTimePattern; 632 case "M": case "m": 633 return dtf.MonthDayPattern; 634 case "s": 635 return dtf.SortableDateTimePattern; 636 case "Y": case "y": 637 return dtf.YearMonthPattern; 638 default: 639 throw Error.format(Sys.Res.formatInvalidString); 640 } 641 } 642 return format; 643} 644Date._expandYear = function Date$_expandYear(dtf, year) { 645 if (year < 100) { 646 var curr = new Date().getFullYear(); 647 year += curr - (curr % 100); 648 if (year > dtf.Calendar.TwoDigitYearMax) { 649 return year - 100; 650 } 651 } 652 return year; 653} 654Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) { 655 if (!dtf._parseRegExp) { 656 dtf._parseRegExp = {}; 657 } 658 else if (dtf._parseRegExp[format]) { 659 return dtf._parseRegExp[format]; 660 } 661 var expFormat = Date._expandFormat(dtf, format); 662 expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1"); 663 var regexp = new Sys.StringBuilder("^"); 664 var groups = []; 665 var index = 0; 666 var quoteCount = 0; 667 var tokenRegExp = Date._getTokenRegExp(); 668 var match; 669 while ((match = tokenRegExp.exec(expFormat)) !== null) { 670 var preMatch = expFormat.slice(index, match.index); 671 index = tokenRegExp.lastIndex; 672 quoteCount += Date._appendPreOrPostMatch(preMatch, regexp); 673 if ((quoteCount%2) === 1) { 674 regexp.append(match[0]); 675 continue; 676 } 677 switch (match[0]) { 678 case 'dddd': case 'ddd': 679 case 'MMMM': case 'MMM': 680 regexp.append("(\\D+)"); 681 break; 682 case 'tt': case 't': 683 regexp.append("(\\D*)"); 684 break; 685 case 'yyyy': 686 regexp.append("(\\d{4})"); 687 break; 688 case 'fff': 689 regexp.append("(\\d{3})"); 690 break; 691 case 'ff': 692 regexp.append("(\\d{2})"); 693 break; 694 case 'f': 695 regexp.append("(\\d)"); 696 break; 697 case 'dd': case 'd': 698 case 'MM': case 'M': 699 case 'yy': case 'y': 700 case 'HH': case 'H': 701 case 'hh': case 'h': 702 case 'mm': case 'm': 703 case 'ss': case 's': 704 regexp.append("(\\d\\d?)"); 705 break; 706 case 'zzz': 707 regexp.append("([+-]?\\d\\d?:\\d{2})"); 708 break; 709 case 'zz': case 'z': 710 regexp.append("([+-]?\\d\\d?)"); 711 break; 712 } 713 Array.add(groups, match[0]); 714 } 715 Date._appendPreOrPostMatch(expFormat.slice(index), regexp); 716 regexp.append("$"); 717 var regexpStr = regexp.toString().replace(/\s+/g, "\\s+"); 718 var parseRegExp = {'regExp': regexpStr, 'groups': groups}; 719 dtf._parseRegExp[format] = parseRegExp; 720 return parseRegExp; 721} 722Date._getTokenRegExp = function Date$_getTokenRegExp() {
723 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; 724} 725Date.parseLocale = function Date$parseLocale(value, formats) { 726 /// <summary locid="M:J#Date.parseLocale" /> 727 /// <param name="value" type="String"></param> 728 /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param> 729 /// <returns type="Date"></returns> 730 var e = Function._validateParams(arguments, [ 731 {name: "value", type: String}, 732 {name: "formats", mayBeNull: true, optional: true, parameterArray: true} 733 ]); 734 if (e) throw e; 735 return Date._parse(value, Sys.CultureInfo.CurrentCulture, arguments); 736} 737Date.parseInvariant = function Date$parseInvariant(value, formats) { 738 /// <summary locid="M:J#Date.parseInvariant" /> 739 /// <param name="value" type="String"></param> 740 /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param> 741 /// <returns type="Date"></returns> 742 var e = Function._validateParams(arguments, [ 743 {name: "value", type: String}, 744 {name: "formats", mayBeNull: true, optional: true, parameterArray: true} 745 ]); 746 if (e) throw e; 747 return Date._parse(value, Sys.CultureInfo.InvariantCulture, arguments); 748} 749Date._parse = function Date$_parse(value, cultureInfo, args) { 750 var custom = false; 751 for (var i = 1, il = args.length; i < il; i++) { 752 var format = args[i]; 753 if (format) { 754 custom = true; 755 var date = Date._parseExact(value, format, cultureInfo); 756 if (date) return date; 757 } 758 } 759 if (! custom) { 760 var formats = cultureInfo._getDateTimeFormats(); 761 for (var i = 0, il = formats.length; i < il; i++) { 762 var date = Date._parseExact(value, formats[i], cultureInfo); 763 if (date) return date; 764 } 765 } 766 return null; 767} 768Date._parseExact = function Date$_parseExact(value, format, cultureInfo) { 769 value = value.trim(); 770 var dtf = cultureInfo.dateTimeFormat; 771 var parseInfo = Date._getParseRegExp(dtf, format); 772 var match = new RegExp(parseInfo.regExp).exec(value); 773 if (match === null) return null; 774 775 var groups = parseInfo.groups; 776 var year = null, month = null, date = null, weekDay = null; 777 var hour = 0, min = 0, sec = 0, msec = 0, tzMinOffset = null; 778 var pmHour = false; 779 for (var j = 0, jl = groups.length; j < jl; j++) { 780 var matchGroup = match[j+1]; 781 if (matchGroup) { 782 switch (groups[j]) { 783 case 'dd': case 'd': 784 date = parseInt(matchGroup, 10); 785 if ((date < 1) || (date > 31)) return null; 786 break; 787 case 'MMMM': 788 month = cultureInfo._getMonthIndex(matchGroup); 789 if ((month < 0) || (month > 11)) return null; 790 break; 791 case 'MMM': 792 month = cultureInfo._getAbbrMonthIndex(matchGroup); 793 if ((month < 0) || (month > 11)) return null; 794 break; 795 case 'M': case 'MM': 796 var month = parseInt(matchGroup, 10) - 1; 797 if ((month < 0) || (month > 11)) return null; 798 break; 799 case 'y': case 'yy': 800 year = Date._expandYear(dtf,parseInt(matchGroup, 10)); 801 if ((year < 0) || (year > 9999)) return null; 802 break; 803 case 'yyyy': 804 year = parseInt(matchGroup, 10); 805 if ((year < 0) || (year > 9999)) return null; 806 break; 807 case 'h': case 'hh': 808 hour = parseInt(matchGroup, 10); 809 if (hour === 12) hour = 0; 810 if ((hour < 0) || (hour > 11)) return null; 811 break; 812 case 'H': case 'HH': 813 hour = parseInt(matchGroup, 10); 814 if ((hour < 0) || (hour > 23)) return null; 815 break; 816 case 'm': case 'mm': 817 min = parseInt(matchGroup, 10); 818 if ((min < 0) || (min > 59)) return null; 819 break; 820 case 's': case 'ss': 821 sec = parseInt(matchGroup, 10); 822 if ((sec < 0) || (sec > 59)) return null; 823 break; 824 case 'tt': case 't': 825 var upperToken = matchGroup.toUpperCase(); 826 pmHour = (upperToken === dtf.PMDesignator.toUpperCase()); 827 if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null; 828 break; 829 case 'f': 830 msec = parseInt(matchGroup, 10) * 100; 831 if ((msec < 0) || (msec > 999)) return null; 832 break; 833 case 'ff': 834 msec = parseInt(matchGroup, 10) * 10; 835 if ((msec < 0) || (msec > 999)) return null; 836 break; 837 case 'fff': 838 msec = parseInt(matchGroup, 10); 839 if ((msec < 0) || (msec > 999)) return null; 840 break; 841 case 'dddd': 842 weekDay = cultureInfo._getDayIndex(matchGroup);
843 if ((weekDay < 0) || (weekDay > 6)) return null; 844 break; 845 case 'ddd': 846 weekDay = cultureInfo._getAbbrDayIndex(matchGroup); 847 if ((weekDay < 0) || (weekDay > 6)) return null; 848 break; 849 case 'zzz': 850 var offsets = matchGroup.split(/:/); 851 if (offsets.length !== 2) return null; 852 var hourOffset = parseInt(offsets[0], 10); 853 if ((hourOffset < -12) || (hourOffset > 13)) return null; 854 var minOffset = parseInt(offsets[1], 10); 855 if ((minOffset < 0) || (minOffset > 59)) return null; 856 tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset); 857 break; 858 case 'z': case 'zz': 859 var hourOffset = parseInt(matchGroup, 10); 860 if ((hourOffset < -12) || (hourOffset > 13)) return null; 861 tzMinOffset = hourOffset * 60; 862 break; 863 } 864 } 865 } 866 var result = new Date(); 867 if (year === null) { 868 year = result.getFullYear(); 869 } 870 if (month === null) { 871 month = result.getMonth(); 872 } 873 if (date === null) { 874 date = result.getDate(); 875 } 876 result.setFullYear(year, month, date); 877 if (result.getDate() !== date) return null; 878 if ((weekDay !== null) && (result.getDay() !== weekDay)) { 879 return null; 880 } 881 if (pmHour && (hour < 12)) { 882 hour += 12; 883 } 884 result.setHours(hour, min, sec, msec); 885 if (tzMinOffset !== null) { 886 var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset()); 887 result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60); 888 } 889 return result; 890} 891Date.prototype.format = function Date$format(format) { 892 /// <summary locid="M:J#Date.format" /> 893 /// <param name="format" type="String"></param> 894 /// <returns type="String"></returns> 895 var e = Function._validateParams(arguments, [ 896 {name: "format", type: String} 897 ]); 898 if (e) throw e; 899 return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); 900} 901Date.prototype.localeFormat = function Date$localeFormat(format) { 902 /// <summary locid="M:J#Date.localeFormat" /> 903 /// <param name="format" type="String"></param> 904 /// <returns type="String"></returns> 905 var e = Function._validateParams(arguments, [ 906 {name: "format", type: String} 907 ]); 908 if (e) throw e; 909 return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); 910} 911Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) { 912 if (!format || (format.length === 0) || (format === 'i')) { 913 if (cultureInfo && (cultureInfo.name.length > 0)) { 914 return this.toLocaleString(); 915 } 916 else { 917 return this.toString(); 918 } 919 } 920 var dtf = cultureInfo.dateTimeFormat; 921 format = Date._expandFormat(dtf, format); 922 var ret = new Sys.StringBuilder(); 923 var hour; 924 function addLeadingZero(num) { 925 if (num < 10) { 926 return '0' + num; 927 } 928 return num.toString(); 929 } 930 function addLeadingZeros(num) { 931 if (num < 10) { 932 return '00' + num; 933 } 934 if (num < 100) { 935 return '0' + num; 936 } 937 return num.toString(); 938 } 939 var quoteCount = 0; 940 var tokenRegExp = Date._getTokenRegExp(); 941 for (;;) { 942 var index = tokenRegExp.lastIndex; 943 var ar = tokenRegExp.exec(format); 944 var preMatch = format.slice(index, ar ? ar.index : format.length); 945 quoteCount += Date._appendPreOrPostMatch(preMatch, ret); 946 if (!ar) break; 947 if ((quoteCount%2) === 1) { 948 ret.append(ar[0]); 949 continue; 950 } 951 switch (ar[0]) { 952 case "dddd": 953 ret.append(dtf.DayNames[this.getDay()]); 954 break; 955 case "ddd": 956 ret.append(dtf.AbbreviatedDayNames[this.getDay()]); 957 break; 958 case "dd": 959 ret.append(addLeadingZero(this.getDate())); 960 break; 961 case "d": 962 ret.append(this.getDate()); 963 break; 964 case "MMMM": 965 ret.append(dtf.MonthNames[this.getMonth()]); 966 break; 967 case "MMM": 968 ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]); 969 break; 970 case "MM": 971 ret.append(addLeadingZero(this.getMonth() + 1)); 972 break; 973 case "M": 974 ret.append(this.getMonth() + 1); 975 break; 976 case "yyyy": 977 ret.append(this.getFullYear()); 978 break; 979 case "yy": 980 ret.append(addLeadingZero(this.getFullYear() % 100)); 981 break; 982 case "y": 983 ret.append(this.getFullYear() % 100); 984 break; 985 case "hh": 986 hour = this.getHours() % 12; 987 if (hour === 0) hour = 12; 988 ret.append(addLeadingZero(hour)); 989 break; 990 case "h": 991 hour = this.getHours() % 12; 992 if (hour === 0) hour = 12; 993 ret.append(hour); 994 break; 995 case "HH": 996 ret.append(addLeadingZero(this.getHours())); 997 break; 998 case "H": 999 ret.append(this.getHours()); 1000 break; 1001 case "mm": 1002 ret.append(addLeadingZero(this.getMinutes())); 1003 break; 1004 case "m": 1005 ret.append(this.getMinutes()); 1006 break; 1007 case "ss": 1008 ret.append(addLeadingZero(this.getSeconds())); 1009 break; 1010 case "s": 1011 ret.append(this.getSeconds()); 1012 break; 1013 case "tt": 1014 ret.append((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator); 1015 break; 1016 case "t": 1017 ret.append(((this.getHours() < 12) ? dtf.AMDesignator : dtf.PMDesignator).charAt(0)); 1018 break; 1019 case "f": 1020 ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0)); 1021 break; 1022 case "ff": 1023 ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2)); 1024 break; 1025 case "fff": 1026 ret.append(addLeadingZeros(this.getMilliseconds())); 1027 break; 1028 case "z": 1029 hour = this.getTimezoneOffset() / 60; 1030 ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour))); 1031 break; 1032 case "zz": 1033 hour = this.getTimezoneOffset() / 60; 1034 ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour)))); 1035 break; 1036 case "zzz": 1037 hour = this.getTimezoneOffset() / 60; 1038 ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) + 1039 dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60))); 1040 break; 1041 } 1042 } 1043 return ret.toString(); 1044} 1045 1046Number.__typeName = 'Number'; 1047Number.__class = true; 1048Number.parseLocale = function Number$parseLocale(value) { 1049 /// <summary locid="M:J#Number.parseLocale" /> 1050 /// <param name="value" type="String"></param> 1051 /// <returns type="Number"></returns> 1052 var e = Function._validateParams(arguments, [ 1053 {name: "value", type: String} 1054 ]); 1055 if (e) throw e; 1056 return Number._parse(value, Sys.CultureInfo.CurrentCulture); 1057} 1058Number.parseInvariant = function Number$parseInvariant(value) { 1059 /// <summary locid="M:J#Number.parseInvariant" /> 1060 /// <param name="value" type="String"></param> 1061 /// <returns type="Number"></returns> 1062 var e = Function._validateParams(arguments, [ 1063 {name: "value", type: String} 1064 ]); 1065 if (e) throw e; 1066 return Number._parse(value, Sys.CultureInfo.InvariantCulture); 1067} 1068Number._parse = function Number$_parse(value, cultureInfo) { 1069 value = value.trim(); 1070 1071 if (value.match(/^[+-]?infinity$/i)) { 1072 return parseFloat(value); 1073 } 1074 if (value.match(/^0x[a-f0-9]+$/i)) { 1075 return parseInt(value); 1076 } 1077 var numFormat = cultureInfo.numberFormat; 1078 var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern); 1079 var sign = signInfo[0]; 1080 var num = signInfo[1]; 1081 1082 if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) { 1083 signInfo = Number._parseNumberNegativePattern(value, numFormat, 1); 1084 sign = signInfo[0]; 1085 num = signInfo[1]; 1086 } 1087 if (sign === '') sign = '+'; 1088 1089 var exponent; 1090 var intAndFraction; 1091 var exponentPos = num.indexOf('e');
1092 if (exponentPos < 0) exponentPos = num.indexOf('E'); 1093 if (exponentPos < 0) { 1094 intAndFraction = num; 1095 exponent = null; 1096 } 1097 else { 1098 intAndFraction = num.substr(0, exponentPos); 1099 exponent = num.substr(exponentPos + 1); 1100 } 1101 1102 var integer; 1103 var fraction; 1104 var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator); 1105 if (decimalPos < 0) { 1106 integer = intAndFraction; 1107 fraction = null; 1108 } 1109 else { 1110 integer = intAndFraction.substr(0, decimalPos); 1111 fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length); 1112 } 1113 1114 integer = integer.split(numFormat.NumberGroupSeparator).join(''); 1115 var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " "); 1116 if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) { 1117 integer = integer.split(altNumGroupSeparator).join(''); 1118 } 1119 1120 var p = sign + integer; 1121 if (fraction !== null) { 1122 p += '.' + fraction; 1123 } 1124 if (exponent !== null) { 1125 var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1); 1126 if (expSignInfo[0] === '') { 1127 expSignInfo[0] = '+'; 1128 } 1129 p += 'e' + expSignInfo[0] + expSignInfo[1]; 1130 } 1131 if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) { 1132 return parseFloat(p); 1133 } 1134 return Number.NaN; 1135} 1136Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) { 1137 var neg = numFormat.NegativeSign; 1138 var pos = numFormat.PositiveSign; 1139 switch (numberNegativePattern) { 1140 case 4: 1141 neg = ' ' + neg; 1142 pos = ' ' + pos; 1143 case 3: 1144 if (value.endsWith(neg)) { 1145 return ['-', value.substr(0, value.length - neg.length)]; 1146 } 1147 else if (value.endsWith(pos)) { 1148 return ['+', value.substr(0, value.length - pos.length)]; 1149 } 1150 break; 1151 case 2: 1152 neg += ' '; 1153 pos += ' '; 1154 case 1: 1155 if (value.startsWith(neg)) { 1156 return ['-', value.substr(neg.length)]; 1157 } 1158 else if (value.startsWith(pos)) { 1159 return ['+', value.substr(pos.length)]; 1160 } 1161 break; 1162 case 0: 1163 if (value.startsWith('(') && value.endsWith(')')) { 1164 return ['-', value.substr(1, value.length - 2)]; 1165 } 1166 break; 1167 } 1168 return ['', value]; 1169} 1170Number.prototype.format = function Number$format(format) { 1171 /// <summary locid="M:J#Number.format" /> 1172 /// <param name="format" type="String"></param> 1173 /// <returns type="String"></returns> 1174 var e = Function._validateParams(arguments, [ 1175 {name: "format", type: String} 1176 ]); 1177 if (e) throw e; 1178 return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture); 1179} 1180Number.prototype.localeFormat = function Number$localeFormat(format) { 1181 /// <summary locid="M:J#Number.localeFormat" /> 1182 /// <param name="format" type="String"></param> 1183 /// <returns type="String"></returns> 1184 var e = Function._validateParams(arguments, [ 1185 {name: "format", type: String} 1186 ]); 1187 if (e) throw e; 1188 return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture); 1189} 1190Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) { 1191 if (!format || (format.length === 0) || (format === 'i')) { 1192 if (cultureInfo && (cultureInfo.name.length > 0)) { 1193 return this.toLocaleString(); 1194 } 1195 else { 1196 return this.toString(); 1197 } 1198 } 1199 1200 var _percentPositivePattern = ["n %", "n%", "%n" ]; 1201 var _percentNegativePattern = ["-n %", "-n%", "-%n"]; 1202 var _numberNegativePattern = ["(n)","-n","- n","n-","n -"]; 1203 var _currencyPositivePattern = ["$n","n$","$ n","n $"]; 1204 var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"]; 1205 function zeroPad(str, count, left) { 1206 for (var l=str.length; l < count; l++) { 1207 str = (left ? ('0' + str) : (str + '0')); 1208 } 1209 return str; 1210 } 1211 1212 function expandNumber(number, precision, groupSizes, sep, decimalChar) { 1213 1214 var curSize = groupSizes[0]; 1215 var curGroupIndex = 1; 1216 var factor = Math.pow(10, precision); 1217 var rounded = (Math.round(number * factor) / factor);
1218 if (!isFinite(rounded)) { 1219 rounded = number; 1220 } 1221 number = rounded; 1222 1223 var numberString = number.toString(); 1224 var right = ""; 1225 var exponent; 1226 1227 1228 var split = numberString.split(/e/i); 1229 numberString = split[0]; 1230 exponent = (split.length > 1 ? parseInt(split[1]) : 0); 1231 split = numberString.split('.'); 1232 numberString = split[0]; 1233 right = split.length > 1 ? split[1] : ""; 1234 1235 var l; 1236 if (exponent > 0) { 1237 right = zeroPad(right, exponent, false); 1238 numberString += right.slice(0, exponent); 1239 right = right.substr(exponent); 1240 } 1241 else if (exponent < 0) { 1242 exponent = -exponent; 1243 numberString = zeroPad(numberString, exponent+1, true); 1244 right = numberString.slice(-exponent, numberString.length) + right; 1245 numberString = numberString.slice(0, -exponent); 1246 } 1247 if (precision > 0) { 1248 if (right.length > precision) { 1249 right = right.slice(0, precision); 1250 } 1251 else { 1252 right = zeroPad(right, precision, false); 1253 } 1254 right = decimalChar + right; 1255 } 1256 else { 1257 right = ""; 1258 } 1259 var stringIndex = numberString.length-1; 1260 var ret = ""; 1261 while (stringIndex >= 0) { 1262 if (curSize === 0 || curSize > stringIndex) { 1263 if (ret.length > 0) 1264 return numberString.slice(0, stringIndex + 1) + sep + ret + right; 1265 else 1266 return numberString.slice(0, stringIndex + 1) + right; 1267 } 1268 if (ret.length > 0) 1269 ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret; 1270 else 1271 ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1); 1272 stringIndex -= curSize; 1273 if (curGroupIndex < groupSizes.length) { 1274 curSize = groupSizes[curGroupIndex]; 1275 curGroupIndex++; 1276 } 1277 } 1278 return numberString.slice(0, stringIndex + 1) + sep + ret + right; 1279 } 1280 var nf = cultureInfo.numberFormat; 1281 var number = Math.abs(this); 1282 if (!format) 1283 format = "D"; 1284 var precision = -1; 1285 if (format.length > 1) precision = parseInt(format.slice(1), 10); 1286 var pattern; 1287 switch (format.charAt(0)) { 1288 case "d": 1289 case "D": 1290 pattern = 'n'; 1291 if (precision !== -1) { 1292 number = zeroPad(""+number, precision, true); 1293 } 1294 if (this < 0) number = -number; 1295 break; 1296 case "c": 1297 case "C": 1298 if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern]; 1299 else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern]; 1300 if (precision === -1) precision = nf.CurrencyDecimalDigits; 1301 number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator); 1302 break; 1303 case "n": 1304 case "N": 1305 if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern]; 1306 else pattern = 'n'; 1307 if (precision === -1) precision = nf.NumberDecimalDigits; 1308 number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator); 1309 break; 1310 case "p": 1311 case "P": 1312 if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern]; 1313 else pattern = _percentPositivePattern[nf.PercentPositivePattern]; 1314 if (precision === -1) precision = nf.PercentDecimalDigits; 1315 number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator); 1316 break; 1317 default: 1318 throw Error.format(Sys.Res.formatBadFormatSpecifier); 1319 } 1320 var regex = /n|\$|-|%/g; 1321 var ret = ""; 1322 for (;;) { 1323 var index = regex.lastIndex; 1324 var ar = regex.exec(pattern); 1325 ret += pattern.slice(index, ar ? ar.index : pattern.length); 1326 if (!ar) 1327 break; 1328 switch (ar[0]) { 1329 case "n": 1330 ret += number; 1331 break; 1332 case "$": 1333 ret += nf.CurrencySymbol; 1334 break; 1335 case "-": 1336 ret += nf.NegativeSign; 1337 break; 1338 case "%": 1339 ret += nf.PercentSymbol; 1340 break; 1341 } 1342 } 1343 return ret; 1344} 1345 1346RegExp.__typeName = 'RegExp'; 1347RegExp.__class = true; 1348 1349Array.__typeName = 'Array'; 1350Array.__class = true; 1351Array.add = Array.enqueue = function Array$enqueue(array, item) { 1352 /// <summary locid="M:J#Array.enqueue" /> 1353 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1354 /// <param name="item" mayBeNull="true"></param> 1355 var e = Function._validateParams(arguments, [ 1356 {name: "array", type: Array, elementMayBeNull: true}, 1357 {name: "item", mayBeNull: true} 1358 ]); 1359 if (e) throw e; 1360 array[array.length] = item; 1361} 1362Array.addRange = function Array$addRange(array, items) { 1363 /// <summary locid="M:J#Array.addRange" /> 1364 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1365 /// <param name="items" type="Array" elementMayBeNull="true"></param> 1366 var e = Function._validateParams(arguments, [ 1367 {name: "array", type: Array, elementMayBeNull: true}, 1368 {name: "items", type: Array, elementMayBeNull: true} 1369 ]); 1370 if (e) throw e; 1371 array.push.apply(array, items); 1372} 1373Array.clear = function Array$clear(array) { 1374 /// <summary locid="M:J#Array.clear" /> 1375 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1376 var e = Function._validateParams(arguments, [ 1377 {name: "array", type: Array, elementMayBeNull: true} 1378 ]); 1379 if (e) throw e; 1380 array.length = 0; 1381} 1382Array.clone = function Array$clone(array) { 1383 /// <summary locid="M:J#Array.clone" /> 1384 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1385 /// <returns type="Array" elementMayBeNull="true"></returns> 1386 var e = Function._validateParams(arguments, [ 1387 {name: "array", type: Array, elementMayBeNull: true} 1388 ]); 1389 if (e) throw e; 1390 if (array.length === 1) { 1391 return [array[0]]; 1392 } 1393 else { 1394 return Array.apply(null, array); 1395 } 1396} 1397Array.contains = function Array$contains(array, item) { 1398 /// <summary locid="M:J#Array.contains" /> 1399 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1400 /// <param name="item" mayBeNull="true"></param> 1401 /// <returns type="Boolean"></returns> 1402 var e = Function._validateParams(arguments, [ 1403 {name: "array", type: Array, elementMayBeNull: true}, 1404 {name: "item", mayBeNull: true} 1405 ]); 1406 if (e) throw e; 1407 return (Array.indexOf(array, item) >= 0); 1408} 1409Array.dequeue = function Array$dequeue(array) { 1410 /// <summary locid="M:J#Array.dequeue" /> 1411 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1412 /// <returns mayBeNull="true"></returns> 1413 var e = Function._validateParams(arguments, [ 1414 {name: "array", type: Array, elementMayBeNull: true} 1415 ]); 1416 if (e) throw e; 1417 return array.shift(); 1418}
1419Array.forEach = function Array$forEach(array, method, instance) { 1420 /// <summary locid="M:J#Array.forEach" /> 1421 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1422 /// <param name="method" type="Function"></param> 1423 /// <param name="instance" optional="true" mayBeNull="true"></param> 1424 var e = Function._validateParams(arguments, [ 1425 {name: "array", type: Array, elementMayBeNull: true}, 1426 {name: "method", type: Function}, 1427 {name: "instance", mayBeNull: true, optional: true} 1428 ]); 1429 if (e) throw e; 1430 for (var i = 0, l = array.length; i < l; i++) { 1431 var elt = array[i]; 1432 if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array); 1433 } 1434} 1435Array.indexOf = function Array$indexOf(array, item, start) { 1436 /// <summary locid="M:J#Array.indexOf" /> 1437 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1438 /// <param name="item" optional="true" mayBeNull="true"></param> 1439 /// <param name="start" optional="true" mayBeNull="true"></param> 1440 /// <returns type="Number"></returns> 1441 var e = Function._validateParams(arguments, [ 1442 {name: "array", type: Array, elementMayBeNull: true}, 1443 {name: "item", mayBeNull: true, optional: true}, 1444 {name: "start", mayBeNull: true, optional: true} 1445 ]); 1446 if (e) throw e; 1447 if (typeof(item) === "undefined") return -1; 1448 var length = array.length; 1449 if (length !== 0) { 1450 start = start - 0; 1451 if (isNaN(start)) { 1452 start = 0; 1453 } 1454 else { 1455 if (isFinite(start)) { 1456 start = start - (start % 1); 1457 } 1458 if (start < 0) { 1459 start = Math.max(0, length + start); 1460 } 1461 } 1462 for (var i = start; i < length; i++) { 1463 if ((typeof(array[i]) !== "undefined") && (array[i] === item)) { 1464 return i; 1465 } 1466 } 1467 } 1468 return -1; 1469} 1470Array.insert = function Array$insert(array, index, item) { 1471 /// <summary locid="M:J#Array.insert" /> 1472 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1473 /// <param name="index" mayBeNull="true"></param> 1474 /// <param name="item" mayBeNull="true"></param> 1475 var e = Function._validateParams(arguments, [ 1476 {name: "array", type: Array, elementMayBeNull: true}, 1477 {name: "index", mayBeNull: true}, 1478 {name: "item", mayBeNull: true} 1479 ]); 1480 if (e) throw e; 1481 array.splice(index, 0, item); 1482} 1483Array.parse = function Array$parse(value) { 1484 /// <summary locid="M:J#Array.parse" /> 1485 /// <param name="value" type="String" mayBeNull="true"></param> 1486 /// <returns type="Array" elementMayBeNull="true"></returns> 1487 var e = Function._validateParams(arguments, [ 1488 {name: "value", type: String, mayBeNull: true} 1489 ]); 1490 if (e) throw e; 1491 if (!value) return []; 1492 var v = eval(value); 1493 if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat); 1494 return v; 1495} 1496Array.remove = function Array$remove(array, item) { 1497 /// <summary locid="M:J#Array.remove" /> 1498 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1499 /// <param name="item" mayBeNull="true"></param> 1500 /// <returns type="Boolean"></returns> 1501 var e = Function._validateParams(arguments, [ 1502 {name: "array", type: Array, elementMayBeNull: true}, 1503 {name: "item", mayBeNull: true} 1504 ]); 1505 if (e) throw e; 1506 var index = Array.indexOf(array, item); 1507 if (index >= 0) { 1508 array.splice(index, 1); 1509 } 1510 return (index >= 0); 1511} 1512Array.removeAt = function Array$removeAt(array, index) { 1513 /// <summary locid="M:J#Array.removeAt" /> 1514 /// <param name="array" type="Array" elementMayBeNull="true"></param> 1515 /// <param name="index" mayBeNull="true"></param> 1516 var e = Function._validateParams(arguments, [ 1517 {name: "array", type: Array, elementMayBeNull: true}, 1518 {name: "index", mayBeNull: true} 1519 ]); 1520 if (e) throw e; 1521 array.splice(index, 1); 1522} 1523 1524if (!window) this.window = this; 1525window.Type = Function; 1526Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i"); 1527Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i"); 1528Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) { 1529 /// <summary locid="M:J#Type.callBaseMethod" /> 1530 /// <param name="instance"></param> 1531 /// <param name="name" type="String"></param> 1532 /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param> 1533 /// <returns></returns> 1534 var e = Function._validateParams(arguments, [ 1535 {name: "instance"}, 1536 {name: "name", type: String}, 1537 {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} 1538 ]); 1539 if (e) throw e; 1540 var baseMethod = this.getBaseMethod(instance, name);
1541 if (!baseMethod) throw Error.invalidOperation(String.format(Sys.Res.methodNotFound, name)); 1542 if (!baseArguments) { 1543 return baseMethod.apply(instance); 1544 } 1545 else { 1546 return baseMethod.apply(instance, baseArguments); 1547 } 1548} 1549Type.prototype.getBaseMethod = function Type$getBaseMethod(instance, name) { 1550 /// <summary locid="M:J#Type.getBaseMethod" /> 1551 /// <param name="instance"></param> 1552 /// <param name="name" type="String"></param> 1553 /// <returns type="Function" mayBeNull="true"></returns> 1554 var e = Function._validateParams(arguments, [ 1555 {name: "instance"}, 1556 {name: "name", type: String} 1557 ]); 1558 if (e) throw e; 1559 if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this); 1560 var baseType = this.getBaseType(); 1561 if (baseType) { 1562 var baseMethod = baseType.prototype[name]; 1563 return (baseMethod instanceof Function) ? baseMethod : null; 1564 } 1565 return null; 1566} 1567Type.prototype.getBaseType = function Type$getBaseType() { 1568 /// <summary locid="M:J#Type.getBaseType" /> 1569 /// <returns type="Type" mayBeNull="true"></returns> 1570 if (arguments.length !== 0) throw Error.parameterCount(); 1571 return (typeof(this.__baseType) === "undefined") ? null : this.__baseType; 1572} 1573Type.prototype.getInterfaces = function Type$getInterfaces() { 1574 /// <summary locid="M:J#Type.getInterfaces" /> 1575 /// <returns type="Array" elementType="Type" mayBeNull="false" elementMayBeNull="false"></returns> 1576 if (arguments.length !== 0) throw Error.parameterCount(); 1577 var result = []; 1578 var type = this; 1579 while(type) { 1580 var interfaces = type.__interfaces; 1581 if (interfaces) { 1582 for (var i = 0, l = interfaces.length; i < l; i++) { 1583 var interfaceType = interfaces[i]; 1584 if (!Array.contains(result, interfaceType)) { 1585 result[result.length] = interfaceType; 1586 } 1587 } 1588 } 1589 type = type.__baseType; 1590 } 1591 return result; 1592} 1593Type.prototype.getName = function Type$getName() { 1594 /// <summary locid="M:J#Type.getName" /> 1595 /// <returns type="String"></returns> 1596 if (arguments.length !== 0) throw Error.parameterCount(); 1597 return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName; 1598} 1599Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) { 1600 /// <summary locid="M:J#Type.implementsInterface" /> 1601 /// <param name="interfaceType" type="Type"></param> 1602 /// <returns type="Boolean"></returns> 1603 var e = Function._validateParams(arguments, [ 1604 {name: "interfaceType", type: Type} 1605 ]); 1606 if (e) throw e; 1607 this.resolveInheritance(); 1608 var interfaceName = interfaceType.getName(); 1609 var cache = this.__interfaceCache; 1610 if (cache) { 1611 var cacheEntry = cache[interfaceName]; 1612 if (typeof(cacheEntry) !== 'undefined') return cacheEntry; 1613 } 1614 else { 1615 cache = this.__interfaceCache = {}; 1616 } 1617 var baseType = this; 1618 while (baseType) { 1619 var interfaces = baseType.__interfaces; 1620 if (interfaces) { 1621 if (Array.indexOf(interfaces, interfaceType) !== -1) { 1622 return cache[interfaceName] = true; 1623 } 1624 } 1625 baseType = baseType.__baseType; 1626 } 1627 return cache[interfaceName] = false; 1628} 1629Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) { 1630 /// <summary locid="M:J#Type.inheritsFrom" /> 1631 /// <param name="parentType" type="Type"></param> 1632 /// <returns type="Boolean"></returns> 1633 var e = Function._validateParams(arguments, [ 1634 {name: "parentType", type: Type} 1635 ]); 1636 if (e) throw e; 1637 this.resolveInheritance(); 1638 var baseType = this.__baseType; 1639 while (baseType) { 1640 if (baseType === parentType) { 1641 return true; 1642 } 1643 baseType = baseType.__baseType; 1644 } 1645 return false; 1646} 1647Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) { 1648 /// <summary locid="M:J#Type.initializeBase" /> 1649 /// <param name="instance"></param> 1650 /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param> 1651 /// <returns></returns> 1652 var e = Function._validateParams(arguments, [ 1653 {name: "instance"}, 1654 {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true} 1655 ]); 1656 if (e) throw e; 1657 if (!this.isInstanceOfType(instance)) throw Error.argumentType('instance', Object.getType(instance), this); 1658 this.resolveInheritance(); 1659 if (this.__baseType) { 1660 if (!baseArguments) { 1661 this.__baseType.apply(instance); 1662 } 1663 else { 1664 this.__baseType.apply(instance, baseArguments); 1665 } 1666 } 1667 return instance; 1668} 1669Type.prototype.isImplementedBy = function Type$isImplementedBy(instance) { 1670 /// <summary locid="M:J#Type.isImplementedBy" /> 1671 /// <param name="instance" mayBeNull="true"></param> 1672 /// <returns type="Boolean"></returns> 1673 var e = Function._validateParams(arguments, [ 1674 {name: "instance", mayBeNull: true} 1675 ]); 1676 if (e) throw e; 1677 if (typeof(instance) === "undefined" || instance === null) return false; 1678 var instanceType = Object.getType(instance); 1679 return !!(instanceType.implementsInterface && instanceType.implementsInterface(this)); 1680} 1681Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) { 1682 /// <summary locid="M:J#Type.isInstanceOfType" /> 1683 /// <param name="instance" mayBeNull="true"></param> 1684 /// <returns type="Boolean"></returns> 1685 var e = Function._validateParams(arguments, [ 1686 {name: "instance", mayBeNull: true} 1687 ]); 1688 if (e) throw e; 1689 if (typeof(instance) === "undefined" || instance === null) return false; 1690 if (instance instanceof this) return true; 1691 var instanceType = Object.getType(instance); 1692 return !!(instanceType === this) || 1693 (instanceType.inheritsFrom && instanceType.inheritsFrom(this)) || 1694 (instanceType.implementsInterface && instanceType.implementsInterface(this)); 1695} 1696Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) { 1697 /// <summary locid="M:J#Type.registerClass" /> 1698 /// <param name="typeName" type="String"></param> 1699 /// <param name="baseType" type="Type" optional="true" mayBeNull="true"></param> 1700 /// <param name="interfaceTypes" parameterArray="true" type="Type"></param> 1701 /// <returns type="Type"></returns> 1702 var e = Function._validateParams(arguments, [ 1703 {name: "typeName", type: String}, 1704 {name: "baseType", type: Type, mayBeNull: true, optional: true}, 1705 {name: "interfaceTypes", type: Type, parameterArray: true} 1706 ]); 1707 if (e) throw e; 1708 if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); 1709 var parsedName; 1710 try { 1711 parsedName = eval(typeName); 1712 } 1713 catch(e) { 1714 throw Error.argument('typeName', Sys.Res.argumentTypeName); 1715 } 1716 if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName);
1717 if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); 1718 if ((arguments.length > 1) && (typeof(baseType) === 'undefined')) throw Error.argumentUndefined('baseType'); 1719 if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass); 1720 this.prototype.constructor = this; 1721 this.__typeName = typeName; 1722 this.__class = true; 1723 if (baseType) { 1724 this.__baseType = baseType; 1725 this.__basePrototypePending = true; 1726 } 1727 Sys.__upperCaseTypes[typeName.toUpperCase()] = this; 1728 if (interfaceTypes) { 1729 this.__interfaces = []; 1730 this.resolveInheritance(); 1731 for (var i = 2, l = arguments.length; i < l; i++) { 1732 var interfaceType = arguments[i]; 1733 if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface); 1734 for (var methodName in interfaceType.prototype) { 1735 var method = interfaceType.prototype[methodName]; 1736 if (!this.prototype[methodName]) { 1737 this.prototype[methodName] = method; 1738 } 1739 } 1740 this.__interfaces.push(interfaceType); 1741 } 1742 } 1743 Sys.__registeredTypes[typeName] = true; 1744 return this; 1745} 1746Type.prototype.registerInterface = function Type$registerInterface(typeName) { 1747 /// <summary locid="M:J#Type.registerInterface" /> 1748 /// <param name="typeName" type="String"></param> 1749 /// <returns type="Type"></returns> 1750 var e = Function._validateParams(arguments, [ 1751 {name: "typeName", type: String} 1752 ]); 1753 if (e) throw e; 1754 if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw Error.argument('typeName', Sys.Res.notATypeName); 1755 var parsedName; 1756 try { 1757 parsedName = eval(typeName); 1758 } 1759 catch(e) { 1760 throw Error.argument('typeName', Sys.Res.argumentTypeName); 1761 } 1762 if (parsedName !== this) throw Error.argument('typeName', Sys.Res.badTypeName); 1763 if (Sys.__registeredTypes[typeName]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, typeName)); 1764 Sys.__upperCaseTypes[typeName.toUpperCase()] = this; 1765 this.prototype.constructor = this; 1766 this.__typeName = typeName; 1767 this.__interface = true; 1768 Sys.__registeredTypes[typeName] = true; 1769 return this; 1770} 1771Type.prototype.resolveInheritance = function Type$resolveInheritance() { 1772 /// <summary locid="M:J#Type.resolveInheritance" /> 1773 if (arguments.length !== 0) throw Error.parameterCount(); 1774 if (this.__basePrototypePending) { 1775 var baseType = this.__baseType; 1776 baseType.resolveInheritance(); 1777 for (var memberName in baseType.prototype) { 1778 var memberValue = baseType.prototype[memberName]; 1779 if (!this.prototype[memberName]) { 1780 this.prototype[memberName] = memberValue; 1781 } 1782 } 1783 delete this.__basePrototypePending; 1784 } 1785} 1786Type.getRootNamespaces = function Type$getRootNamespaces() { 1787 /// <summary locid="M:J#Type.getRootNamespaces" /> 1788 /// <returns type="Array"></returns> 1789 if (arguments.length !== 0) throw Error.parameterCount(); 1790 return Array.clone(Sys.__rootNamespaces); 1791} 1792Type.isClass = function Type$isClass(type) { 1793 /// <summary locid="M:J#Type.isClass" /> 1794 /// <param name="type" mayBeNull="true"></param> 1795 /// <returns type="Boolean"></returns> 1796 var e = Function._validateParams(arguments, [ 1797 {name: "type", mayBeNull: true} 1798 ]); 1799 if (e) throw e; 1800 if ((typeof(type) === 'undefined') || (type === null)) return false; 1801 return !!type.__class; 1802} 1803Type.isInterface = function Type$isInterface(type) { 1804 /// <summary locid="M:J#Type.isInterface" /> 1805 /// <param name="type" mayBeNull="true"></param> 1806 /// <returns type="Boolean"></returns> 1807 var e = Function._validateParams(arguments, [ 1808 {name: "type", mayBeNull: true} 1809 ]); 1810 if (e) throw e; 1811 if ((typeof(type) === 'undefined') || (type === null)) return false; 1812 return !!type.__interface; 1813} 1814Type.isNamespace = function Type$isNamespace(object) { 1815 /// <summary locid="M:J#Type.isNamespace" /> 1816 /// <param name="object" mayBeNull="true"></param> 1817 /// <returns type="Boolean"></returns> 1818 var e = Function._validateParams(arguments, [ 1819 {name: "object", mayBeNull: true} 1820 ]); 1821 if (e) throw e; 1822 if ((typeof(object) === 'undefined') || (object === null)) return false; 1823 return !!object.__namespace; 1824} 1825Type.parse = function Type$parse(typeName, ns) { 1826 /// <summary locid="M:J#Type.parse" /> 1827 /// <param name="typeName" type="String" mayBeNull="true"></param> 1828 /// <param name="ns" optional="true" mayBeNull="true"></param> 1829 /// <returns type="Type" mayBeNull="true"></returns> 1830 var e = Function._validateParams(arguments, [ 1831 {name: "typeName", type: String, mayBeNull: true}, 1832 {name: "ns", mayBeNull: true, optional: true} 1833 ]); 1834 if (e) throw e; 1835 var fn; 1836 if (ns) { 1837 fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()]; 1838 return fn || null; 1839 } 1840 if (!typeName) return null; 1841 if (!Type.__htClasses) { 1842 Type.__htClasses = {}; 1843 } 1844 fn = Type.__htClasses[typeName]; 1845 if (!fn) { 1846 fn = eval(typeName); 1847 if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName); 1848 Type.__htClasses[typeName] = fn; 1849 } 1850 return fn; 1851} 1852Type.registerNamespace = function Type$registerNamespace(namespacePath) { 1853 /// <summary locid="M:J#Type.registerNamespace" /> 1854 /// <param name="namespacePath" type="String"></param> 1855 var e = Function._validateParams(arguments, [ 1856 {name: "namespacePath", type: String} 1857 ]); 1858 if (e) throw e; 1859 if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); 1860 var rootObject = window;
1861 var namespaceParts = namespacePath.split('.'); 1862 for (var i = 0; i < namespaceParts.length; i++) { 1863 var currentPart = namespaceParts[i]; 1864 var ns = rootObject[currentPart]; 1865 if (ns && !ns.__namespace) { 1866 throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, namespaceParts.splice(0, i + 1).join('.'))); 1867 } 1868 if (!ns) { 1869 ns = rootObject[currentPart] = { 1870 __namespace: true, 1871 __typeName: namespaceParts.slice(0, i + 1).join('.') 1872 }; 1873 if (i === 0) { 1874 Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns; 1875 } 1876 var parsedName; 1877 try { 1878 parsedName = eval(ns.__typeName); 1879 } 1880 catch(e) { 1881 parsedName = null; 1882 } 1883 if (parsedName !== ns) { 1884 delete rootObject[currentPart]; 1885 throw Error.argument('namespacePath', Sys.Res.invalidNameSpace); 1886 } 1887 ns.getName = function ns$getName() {return this.__typeName;} 1888 } 1889 rootObject = ns; 1890 } 1891} 1892window.Sys = { 1893 __namespace: true, 1894 __typeName: "Sys", 1895 getName: function() {return "Sys";}, 1896 __upperCaseTypes: {} 1897}; 1898Sys.__rootNamespaces = [Sys]; 1899Sys.__registeredTypes = {}; 1900 1901Sys.IDisposable = function Sys$IDisposable() { 1902 throw Error.notImplemented(); 1903} 1904 function Sys$IDisposable$dispose() { 1905 throw Error.notImplemented(); 1906 } 1907Sys.IDisposable.prototype = { 1908 dispose: Sys$IDisposable$dispose 1909} 1910Sys.IDisposable.registerInterface('Sys.IDisposable'); 1911 1912Sys.StringBuilder = function Sys$StringBuilder(initialText) { 1913 /// <summary locid="M:J#Sys.StringBuilder.#ctor" /> 1914 /// <param name="initialText" optional="true" mayBeNull="true"></param> 1915 var e = Function._validateParams(arguments, [ 1916 {name: "initialText", mayBeNull: true, optional: true} 1917 ]); 1918 if (e) throw e; 1919 this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ? 1920 [initialText.toString()] : []; 1921 this._value = {}; 1922 this._len = 0; 1923} 1924 function Sys$StringBuilder$append(text) { 1925 /// <summary locid="M:J#Sys.StringBuilder.append" /> 1926 /// <param name="text" mayBeNull="true"></param> 1927 var e = Function._validateParams(arguments, [ 1928 {name: "text", mayBeNull: true} 1929 ]); 1930 if (e) throw e; 1931 this._parts[this._parts.length] = text; 1932 } 1933 function Sys$StringBuilder$appendLine(text) { 1934 /// <summary locid="M:J#Sys.StringBuilder.appendLine" /> 1935 /// <param name="text" optional="true" mayBeNull="true"></param> 1936 var e = Function._validateParams(arguments, [ 1937 {name: "text", mayBeNull: true, optional: true} 1938 ]); 1939 if (e) throw e; 1940 this._parts[this._parts.length] = 1941 ((typeof(text) === 'undefined') || (text === null) || (text === '')) ? 1942 '\r\n' : text + '\r\n'; 1943 } 1944 function Sys$StringBuilder$clear() { 1945 /// <summary locid="M:J#Sys.StringBuilder.clear" /> 1946 if (arguments.length !== 0) throw Error.parameterCount(); 1947 this._parts = []; 1948 this._value = {}; 1949 this._len = 0; 1950 } 1951 function Sys$StringBuilder$isEmpty() { 1952 /// <summary locid="M:J#Sys.StringBuilder.isEmpty" /> 1953 /// <returns type="Boolean"></returns> 1954 if (arguments.length !== 0) throw Error.parameterCount(); 1955 if (this._parts.length === 0) return true; 1956 return this.toString() === ''; 1957 } 1958 function Sys$StringBuilder$toString(separator) { 1959 /// <summary locid="M:J#Sys.StringBuilder.toString" /> 1960 /// <param name="separator" type="String" optional="true" mayBeNull="true"></param> 1961 /// <returns type="String"></returns> 1962 var e = Function._validateParams(arguments, [ 1963 {name: "separator", type: String, mayBeNull: true, optional: true} 1964 ]); 1965 if (e) throw e; 1966 separator = separator || ''; 1967 var parts = this._parts; 1968 if (this._len !== parts.length) { 1969 this._value = {}; 1970 this._len = parts.length; 1971 } 1972 var val = this._value; 1973 if (typeof(val[separator]) === 'undefined') { 1974 if (separator !== '') { 1975 for (var i = 0; i < parts.length;) { 1976 if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) { 1977 parts.splice(i, 1); 1978 } 1979 else { 1980 i++; 1981 } 1982 } 1983 } 1984 val[separator] = this._parts.join(separator); 1985 } 1986 return val[separator]; 1987 } 1988Sys.StringBuilder.prototype = { 1989 append: Sys$StringBuilder$append, 1990 appendLine: Sys$StringBuilder$appendLine, 1991 clear: Sys$StringBuilder$clear, 1992 isEmpty: Sys$StringBuilder$isEmpty, 1993 toString: Sys$StringBuilder$toString 1994} 1995Sys.StringBuilder.registerClass('Sys.StringBuilder'); 1996 1997if (!window.XMLHttpRequest) { 1998 window.XMLHttpRequest = function window$XMLHttpRequest() { 1999 var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ]; 2000 for (var i = 0, l = progIDs.length; i < l; i++) { 2001 try { 2002 return new ActiveXObject(progIDs[i]); 2003 } 2004 catch (ex) { 2005 } 2006 } 2007 return null; 2008 } 2009} 2010 2011Sys.Browser = {}; 2012Sys.Browser.InternetExplorer = {}; 2013Sys.Browser.Firefox = {}; 2014Sys.Browser.Safari = {}; 2015Sys.Browser.Opera = {}; 2016Sys.Browser.agent = null; 2017Sys.Browser.hasDebuggerStatement = false; 2018Sys.Browser.name = navigator.appName; 2019Sys.Browser.version = parseFloat(navigator.appVersion); 2020Sys.Browser.documentMode = 0; 2021if (navigator.userAgent.indexOf(' MSIE ') > -1) { 2022 Sys.Browser.agent = Sys.Browser.InternetExplorer; 2023 Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]); 2024 if (Sys.Browser.version >= 8) { 2025 if (document.documentMode >= 7) { 2026 Sys.Browser.documentMode = document.documentMode; 2027 } 2028 } 2029 Sys.Browser.hasDebuggerStatement = true; 2030} 2031else if (navigator.userAgent.indexOf(' Firefox/') > -1) { 2032 Sys.Browser.agent = Sys.Browser.Firefox; 2033 Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]); 2034 Sys.Browser.name = 'Firefox'; 2035 Sys.Browser.hasDebuggerStatement = true; 2036} 2037else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) { 2038 Sys.Browser.agent = Sys.Browser.Safari; 2039 Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]); 2040 Sys.Browser.name = 'Safari'; 2041} 2042else if (navigator.userAgent.indexOf('Opera/') > -1) { 2043 Sys.Browser.agent = Sys.Browser.Opera; 2044} 2045Type.registerNamespace('Sys.UI'); 2046 2047Sys._Debug = function Sys$_Debug() { 2048 /// <summary locid="M:J#Sys.Debug.#ctor" /> 2049 /// <field name="isDebug" type="Boolean" locid="F:J#Sys.Debug.isDebug"></field> 2050 if (arguments.length !== 0) throw Error.parameterCount(); 2051} 2052 function Sys$_Debug$_appendConsole(text) { 2053 if ((typeof(Debug) !== 'undefined') && Debug.writeln) { 2054 Debug.writeln(text); 2055 } 2056 if (window.console && window.console.log) { 2057 window.console.log(text); 2058 } 2059 if (window.opera) { 2060 window.opera.postError(text); 2061 } 2062 if (window.debugService) { 2063 window.debugService.trace(text); 2064 } 2065 } 2066 function Sys$_Debug$_appendTrace(text) { 2067 var traceElement = document.getElementById('TraceConsole'); 2068 if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { 2069 traceElement.value += text + '\n'; 2070 } 2071 } 2072 function Sys$_Debug$assert(condition, message, displayCaller) { 2073 /// <summary locid="M:J#Sys.Debug.assert" /> 2074 /// <param name="condition" type="Boolean"></param> 2075 /// <param name="message" type="String" optional="true" mayBeNull="true"></param> 2076 /// <param name="displayCaller" type="Boolean" optional="true"></param> 2077 var e = Function._validateParams(arguments, [ 2078 {name: "condition", type: Boolean}, 2079 {name: "message", type: String, mayBeNull: true, optional: true}, 2080 {name: "displayCaller", type: Boolean, optional: true} 2081 ]); 2082 if (e) throw e; 2083 if (!condition) { 2084 message = (displayCaller && this.assert.caller) ? 2085 String.format(Sys.Res.assertFailedCaller, message, this.assert.caller) : 2086 String.format(Sys.Res.assertFailed, message); 2087 if (confirm(String.format(Sys.Res.breakIntoDebugger, message))) { 2088 this.fail(message); 2089 } 2090 } 2091 } 2092 function Sys$_Debug$clearTrace() { 2093 /// <summary locid="M:J#Sys.Debug.clearTrace" /> 2094 if (arguments.length !== 0) throw Error.parameterCount(); 2095 var traceElement = document.getElementById('TraceConsole'); 2096 if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) { 2097 traceElement.value = ''; 2098 } 2099 } 2100 function Sys$_Debug$fail(message) { 2101 /// <summary locid="M:J#Sys.Debug.fail" /> 2102 /// <param name="message" type="String" mayBeNull="true"></param> 2103 var e = Function._validateParams(arguments, [ 2104 {name: "message", type: String, mayBeNull: true} 2105 ]); 2106 if (e) throw e; 2107 this._appendConsole(message); 2108 if (Sys.Browser.hasDebuggerStatement) { 2109 eval('debugger'); 2110 } 2111 } 2112 function Sys$_Debug$trace(text) { 2113 /// <summary locid="M:J#Sys.Debug.trace" /> 2114 /// <param name="text"></param> 2115 var e = Function._validateParams(arguments, [ 2116 {name: "text"} 2117 ]); 2118 if (e) throw e; 2119 this._appendConsole(text); 2120 this._appendTrace(text); 2121 } 2122 function Sys$_Debug$traceDump(object, name) { 2123 /// <summary locid="M:J#Sys.Debug.traceDump" /> 2124 /// <param name="object" mayBeNull="true"></param> 2125 /// <param name="name" type="String" mayBeNull="true" optional="true"></param> 2126 var e = Function._validateParams(arguments, [ 2127 {name: "object", mayBeNull: true}, 2128 {name: "name", type: String, mayBeNull: true, optional: true} 2129 ]); 2130 if (e) throw e; 2131 var text = this._traceDump(object, name, true); 2132 } 2133 function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) { 2134 name = name? name : 'traceDump'; 2135 indentationPadding = indentationPadding? indentationPadding : ''; 2136 if (object === null) { 2137 this.trace(indentationPadding + name + ': null'); 2138 return; 2139 } 2140 switch(typeof(object)) { 2141 case 'undefined': 2142 this.trace(indentationPadding + name + ': Undefined'); 2143 break; 2144 case 'number': case 'string': case 'boolean': 2145 this.trace(indentationPadding + name + ': ' + object); 2146 break; 2147 default: 2148 if (Date.isInstanceOfType(object) || RegExp.isInstanceOfType(object)) { 2149 this.trace(indentationPadding + name + ': ' + object.toString()); 2150 break; 2151 } 2152 if (!loopArray) { 2153 loopArray = []; 2154 } 2155 else if (Array.contains(loopArray, object)) { 2156 this.trace(indentationPadding + name + ': ...'); 2157 return; 2158 } 2159 Array.add(loopArray, object); 2160 if ((object == window) || (object === document) || 2161 (window.HTMLElement && (object instanceof HTMLElement)) || 2162 (typeof(object.nodeName) === 'string')) { 2163 var tag = object.tagName? object.tagName : 'DomElement'; 2164 if (object.id) { 2165 tag += ' - ' + object.id; 2166 } 2167 this.trace(indentationPadding + name + ' {' + tag + '}'); 2168 } 2169 else { 2170 var typeName = Object.getTypeName(object); 2171 this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : '')); 2172 if ((indentationPadding === '') || recursive) { 2173 indentationPadding += " "; 2174 var i, length, properties, p, v; 2175 if (Array.isInstanceOfType(object)) { 2176 length = object.length; 2177 for (i = 0; i < length; i++) { 2178 this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray);
2179 } 2180 } 2181 else { 2182 for (p in object) { 2183 v = object[p]; 2184 if (!Function.isInstanceOfType(v)) { 2185 this._traceDump(v, p, recursive, indentationPadding, loopArray); 2186 } 2187 } 2188 } 2189 } 2190 } 2191 Array.remove(loopArray, object); 2192 } 2193 } 2194Sys._Debug.prototype = { 2195 _appendConsole: Sys$_Debug$_appendConsole, 2196 _appendTrace: Sys$_Debug$_appendTrace, 2197 assert: Sys$_Debug$assert, 2198 clearTrace: Sys$_Debug$clearTrace, 2199 fail: Sys$_Debug$fail, 2200 trace: Sys$_Debug$trace, 2201 traceDump: Sys$_Debug$traceDump, 2202 _traceDump: Sys$_Debug$_traceDump 2203} 2204Sys._Debug.registerClass('Sys._Debug'); 2205Sys.Debug = new Sys._Debug(); 2206 Sys.Debug.isDebug = true; 2207 2208function Sys$Enum$parse(value, ignoreCase) { 2209 /// <summary locid="M:J#Sys.Enum.parse" /> 2210 /// <param name="value" type="String"></param> 2211 /// <param name="ignoreCase" type="Boolean" optional="true"></param> 2212 /// <returns></returns> 2213 var e = Function._validateParams(arguments, [ 2214 {name: "value", type: String}, 2215 {name: "ignoreCase", type: Boolean, optional: true} 2216 ]); 2217 if (e) throw e; 2218 var values, parsed, val; 2219 if (ignoreCase) { 2220 values = this.__lowerCaseValues; 2221 if (!values) { 2222 this.__lowerCaseValues = values = {}; 2223 var prototype = this.prototype; 2224 for (var name in prototype) { 2225 values[name.toLowerCase()] = prototype[name]; 2226 } 2227 } 2228 } 2229 else { 2230 values = this.prototype; 2231 } 2232 if (!this.__flags) { 2233 val = (ignoreCase ? value.toLowerCase() : value); 2234 parsed = values[val.trim()]; 2235 if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); 2236 return parsed; 2237 } 2238 else { 2239 var parts = (ignoreCase ? value.toLowerCase() : value).split(','); 2240 var v = 0; 2241 for (var i = parts.length - 1; i >= 0; i--) { 2242 var part = parts[i].trim(); 2243 parsed = values[part]; 2244 if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName)); 2245 v |= parsed; 2246 } 2247 return v; 2248 } 2249} 2250function Sys$Enum$toString(value) { 2251 /// <summary locid="M:J#Sys.Enum.toString" /> 2252 /// <param name="value" optional="true" mayBeNull="true"></param> 2253 /// <returns type="String"></returns> 2254 var e = Function._validateParams(arguments, [ 2255 {name: "value", mayBeNull: true, optional: true} 2256 ]); 2257 if (e) throw e; 2258 if ((typeof(value) === 'undefined') || (value === null)) return this.__string; 2259 if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this); 2260 var values = this.prototype; 2261 var i; 2262 if (!this.__flags || (value === 0)) { 2263 for (i in values) { 2264 if (values[i] === value) { 2265 return i; 2266 } 2267 } 2268 } 2269 else { 2270 var sorted = this.__sortedValues; 2271 if (!sorted) { 2272 sorted = []; 2273 for (i in values) { 2274 sorted[sorted.length] = {key: i, value: values[i]}; 2275 } 2276 sorted.sort(function(a, b) { 2277 return a.value - b.value; 2278 }); 2279 this.__sortedValues = sorted; 2280 } 2281 var parts = []; 2282 var v = value; 2283 for (i = sorted.length - 1; i >= 0; i--) { 2284 var kvp = sorted[i]; 2285 var vali = kvp.value; 2286 if (vali === 0) continue; 2287 if ((vali & value) === vali) { 2288 parts[parts.length] = kvp.key; 2289 v -= vali; 2290 if (v === 0) break; 2291 } 2292 } 2293 if (parts.length && v === 0) return parts.reverse().join(', '); 2294 } 2295 throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName)); 2296} 2297Type.prototype.registerEnum = function Type$registerEnum(name, flags) { 2298 /// <summary locid="M:J#Sys.UI.LineType.#ctor" /> 2299 /// <param name="name" type="String"></param> 2300 /// <param name="flags" type="Boolean" optional="true"></param> 2301 var e = Function._validateParams(arguments, [ 2302 {name: "name", type: String}, 2303 {name: "flags", type: Boolean, optional: true} 2304 ]); 2305 if (e) throw e; 2306 if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw Error.argument('name', Sys.Res.notATypeName); 2307 var parsedName; 2308 try { 2309 parsedName = eval(name); 2310 } 2311 catch(e) { 2312 throw Error.argument('name', Sys.Res.argumentTypeName); 2313 } 2314 if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName);
2315 if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name)); 2316 for (var i in this.prototype) { 2317 var val = this.prototype[i]; 2318 if (!Type.__identifierRegExp.test(i)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i)); 2319 if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger); 2320 if (typeof(this[i]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, i)); 2321 } 2322 Sys.__upperCaseTypes[name.toUpperCase()] = this; 2323 for (var i in this.prototype) { 2324 this[i] = this.prototype[i]; 2325 } 2326 this.__typeName = name; 2327 this.parse = Sys$Enum$parse; 2328 this.__string = this.toString(); 2329 this.toString = Sys$Enum$toString; 2330 this.__flags = flags; 2331 this.__enum = true; 2332 Sys.__registeredTypes[name] = true; 2333} 2334Type.isEnum = function Type$isEnum(type) { 2335 /// <summary locid="M:J#Type.isEnum" /> 2336 /// <param name="type" mayBeNull="true"></param> 2337 /// <returns type="Boolean"></returns> 2338 var e = Function._validateParams(arguments, [ 2339 {name: "type", mayBeNull: true} 2340 ]); 2341 if (e) throw e; 2342 if ((typeof(type) === 'undefined') || (type === null)) return false; 2343 return !!type.__enum; 2344} 2345Type.isFlags = function Type$isFlags(type) { 2346 /// <summary locid="M:J#Type.isFlags" /> 2347 /// <param name="type" mayBeNull="true"></param> 2348 /// <returns type="Boolean"></returns> 2349 var e = Function._validateParams(arguments, [ 2350 {name: "type", mayBeNull: true} 2351 ]); 2352 if (e) throw e; 2353 if ((typeof(type) === 'undefined') || (type === null)) return false; 2354 return !!type.__flags; 2355} 2356 2357Sys.EventHandlerList = function Sys$EventHandlerList() { 2358 /// <summary locid="M:J#Sys.EventHandlerList.#ctor" /> 2359 if (arguments.length !== 0) throw Error.parameterCount(); 2360 this._list = {}; 2361} 2362 function Sys$EventHandlerList$addHandler(id, handler) { 2363 /// <summary locid="M:J#Sys.EventHandlerList.addHandler" /> 2364 /// <param name="id" type="String"></param> 2365 /// <param name="handler" type="Function"></param> 2366 var e = Function._validateParams(arguments, [ 2367 {name: "id", type: String}, 2368 {name: "handler", type: Function} 2369 ]); 2370 if (e) throw e; 2371 Array.add(this._getEvent(id, true), handler); 2372 } 2373 function Sys$EventHandlerList$removeHandler(id, handler) { 2374 /// <summary locid="M:J#Sys.EventHandlerList.removeHandler" /> 2375 /// <param name="id" type="String"></param> 2376 /// <param name="handler" type="Function"></param> 2377 var e = Function._validateParams(arguments, [ 2378 {name: "id", type: String}, 2379 {name: "handler", type: Function} 2380 ]); 2381 if (e) throw e; 2382 var evt = this._getEvent(id); 2383 if (!evt) return; 2384 Array.remove(evt, handler); 2385 } 2386 function Sys$EventHandlerList$getHandler(id) { 2387 /// <summary locid="M:J#Sys.EventHandlerList.getHandler" /> 2388 /// <param name="id" type="String"></param> 2389 /// <returns type="Function"></returns> 2390 var e = Function._validateParams(arguments, [ 2391 {name: "id", type: String} 2392 ]); 2393 if (e) throw e; 2394 var evt = this._getEvent(id); 2395 if (!evt || (evt.length === 0)) return null; 2396 evt = Array.clone(evt); 2397 return function(source, args) { 2398 for (var i = 0, l = evt.length; i < l; i++) { 2399 evt[i](source, args); 2400 } 2401 }; 2402 } 2403 function Sys$EventHandlerList$_getEvent(id, create) { 2404 if (!this._list[id]) { 2405 if (!create) return null; 2406 this._list[id] = []; 2407 } 2408 return this._list[id]; 2409 } 2410Sys.EventHandlerList.prototype = { 2411 addHandler: Sys$EventHandlerList$addHandler, 2412 removeHandler: Sys$EventHandlerList$removeHandler, 2413 getHandler: Sys$EventHandlerList$getHandler, 2414 _getEvent: Sys$EventHandlerList$_getEvent 2415} 2416Sys.EventHandlerList.registerClass('Sys.EventHandlerList'); 2417 2418Sys.EventArgs = function Sys$EventArgs() { 2419 /// <summary locid="M:J#Sys.EventArgs.#ctor" /> 2420 if (arguments.length !== 0) throw Error.parameterCount(); 2421} 2422Sys.EventArgs.registerClass('Sys.EventArgs'); 2423Sys.EventArgs.Empty = new Sys.EventArgs(); 2424 2425Sys.CancelEventArgs = function Sys$CancelEventArgs() { 2426 /// <summary locid="M:J#Sys.CancelEventArgs.#ctor" /> 2427 if (arguments.length !== 0) throw Error.parameterCount(); 2428 Sys.CancelEventArgs.initializeBase(this); 2429 this._cancel = false; 2430} 2431 function Sys$CancelEventArgs$get_cancel() { 2432 /// <value type="Boolean" locid="P:J#Sys.CancelEventArgs.cancel"></value> 2433 if (arguments.length !== 0) throw Error.parameterCount(); 2434 return this._cancel; 2435 } 2436 function Sys$CancelEventArgs$set_cancel(value) { 2437 var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); 2438 if (e) throw e; 2439 this._cancel = value; 2440 } 2441Sys.CancelEventArgs.prototype = { 2442 get_cancel: Sys$CancelEventArgs$get_cancel, 2443 set_cancel: Sys$CancelEventArgs$set_cancel 2444} 2445Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs); 2446 2447Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() { 2448 /// <summary locid="M:J#Sys.INotifyPropertyChange.#ctor" /> 2449 if (arguments.length !== 0) throw Error.parameterCount(); 2450 throw Error.notImplemented(); 2451} 2452 function Sys$INotifyPropertyChange$add_propertyChanged(handler) { 2453 /// <summary locid="E:J#Sys.INotifyPropertyChange.propertyChanged" /> 2454 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2455 if (e) throw e; 2456 throw Error.notImplemented(); 2457 } 2458 function Sys$INotifyPropertyChange$remove_propertyChanged(handler) { 2459 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2460 if (e) throw e; 2461 throw Error.notImplemented(); 2462 } 2463Sys.INotifyPropertyChange.prototype = { 2464 add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged, 2465 remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged 2466} 2467Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange'); 2468 2469Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) { 2470 /// <summary locid="M:J#Sys.PropertyChangedEventArgs.#ctor" /> 2471 /// <param name="propertyName" type="String"></param> 2472 var e = Function._validateParams(arguments, [ 2473 {name: "propertyName", type: String} 2474 ]); 2475 if (e) throw e; 2476 Sys.PropertyChangedEventArgs.initializeBase(this); 2477 this._propertyName = propertyName; 2478} 2479 2480 function Sys$PropertyChangedEventArgs$get_propertyName() { 2481 /// <value type="String" locid="P:J#Sys.PropertyChangedEventArgs.propertyName"></value> 2482 if (arguments.length !== 0) throw Error.parameterCount(); 2483 return this._propertyName; 2484 } 2485Sys.PropertyChangedEventArgs.prototype = { 2486 get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName 2487} 2488Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs); 2489 2490Sys.INotifyDisposing = function Sys$INotifyDisposing() { 2491 /// <summary locid="M:J#Sys.INotifyDisposing.#ctor" /> 2492 if (arguments.length !== 0) throw Error.parameterCount(); 2493 throw Error.notImplemented(); 2494} 2495 function Sys$INotifyDisposing$add_disposing(handler) { 2496 /// <summary locid="E:J#Sys.INotifyDisposing.disposing" /> 2497 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2498 if (e) throw e; 2499 throw Error.notImplemented(); 2500 } 2501 function Sys$INotifyDisposing$remove_disposing(handler) { 2502 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2503 if (e) throw e; 2504 throw Error.notImplemented(); 2505 } 2506Sys.INotifyDisposing.prototype = { 2507 add_disposing: Sys$INotifyDisposing$add_disposing, 2508 remove_disposing: Sys$INotifyDisposing$remove_disposing 2509} 2510Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing"); 2511 2512Sys.Component = function Sys$Component() { 2513 /// <summary locid="M:J#Sys.Component.#ctor" /> 2514 if (arguments.length !== 0) throw Error.parameterCount(); 2515 if (Sys.Application) Sys.Application.registerDisposableObject(this); 2516} 2517 function Sys$Component$get_events() { 2518 /// <value type="Sys.EventHandlerList" locid="P:J#Sys.Component.events"></value> 2519 if (arguments.length !== 0) throw Error.parameterCount(); 2520 if (!this._events) { 2521 this._events = new Sys.EventHandlerList(); 2522 } 2523 return this._events; 2524 } 2525 function Sys$Component$get_id() { 2526 /// <value type="String" locid="P:J#Sys.Component.id"></value> 2527 if (arguments.length !== 0) throw Error.parameterCount(); 2528 return this._id; 2529 } 2530 function Sys$Component$set_id(value) { 2531 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 2532 if (e) throw e;
2533 if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice); 2534 this._idSet = true; 2535 var oldId = this.get_id(); 2536 if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp); 2537 this._id = value; 2538 } 2539 function Sys$Component$get_isInitialized() { 2540 /// <value type="Boolean" locid="P:J#Sys.Component.isInitialized"></value> 2541 if (arguments.length !== 0) throw Error.parameterCount(); 2542 return this._initialized; 2543 } 2544 function Sys$Component$get_isUpdating() { 2545 /// <value type="Boolean" locid="P:J#Sys.Component.isUpdating"></value> 2546 if (arguments.length !== 0) throw Error.parameterCount(); 2547 return this._updating; 2548 } 2549 function Sys$Component$add_disposing(handler) { 2550 /// <summary locid="E:J#Sys.Component.disposing" /> 2551 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2552 if (e) throw e; 2553 this.get_events().addHandler("disposing", handler); 2554 } 2555 function Sys$Component$remove_disposing(handler) { 2556 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2557 if (e) throw e; 2558 this.get_events().removeHandler("disposing", handler); 2559 } 2560 function Sys$Component$add_propertyChanged(handler) { 2561 /// <summary locid="E:J#Sys.Component.propertyChanged" /> 2562 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2563 if (e) throw e; 2564 this.get_events().addHandler("propertyChanged", handler); 2565 } 2566 function Sys$Component$remove_propertyChanged(handler) { 2567 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 2568 if (e) throw e; 2569 this.get_events().removeHandler("propertyChanged", handler); 2570 } 2571 function Sys$Component$beginUpdate() { 2572 this._updating = true; 2573 } 2574 function Sys$Component$dispose() { 2575 if (this._events) { 2576 var handler = this._events.getHandler("disposing"); 2577 if (handler) { 2578 handler(this, Sys.EventArgs.Empty); 2579 } 2580 } 2581 delete this._events; 2582 Sys.Application.unregisterDisposableObject(this); 2583 Sys.Application.removeComponent(this); 2584 } 2585 function Sys$Component$endUpdate() { 2586 this._updating = false; 2587 if (!this._initialized) this.initialize(); 2588 this.updated(); 2589 } 2590 function Sys$Component$initialize() { 2591 this._initialized = true; 2592 } 2593 function Sys$Component$raisePropertyChanged(propertyName) { 2594 /// <summary locid="M:J#Sys.Component.raisePropertyChanged" /> 2595 /// <param name="propertyName" type="String"></param> 2596 var e = Function._validateParams(arguments, [ 2597 {name: "propertyName", type: String} 2598 ]); 2599 if (e) throw e; 2600 if (!this._events) return; 2601 var handler = this._events.getHandler("propertyChanged"); 2602 if (handler) { 2603 handler(this, new Sys.PropertyChangedEventArgs(propertyName)); 2604 } 2605 } 2606 function Sys$Component$updated() { 2607 } 2608Sys.Component.prototype = { 2609 _id: null, 2610 _idSet: false, 2611 _initialized: false, 2612 _updating: false, 2613 get_events: Sys$Component$get_events, 2614 get_id: Sys$Component$get_id, 2615 set_id: Sys$Component$set_id, 2616 get_isInitialized: Sys$Component$get_isInitialized, 2617 get_isUpdating: Sys$Component$get_isUpdating, 2618 add_disposing: Sys$Component$add_disposing, 2619 remove_disposing: Sys$Component$remove_disposing, 2620 add_propertyChanged: Sys$Component$add_propertyChanged, 2621 remove_propertyChanged: Sys$Component$remove_propertyChanged, 2622 beginUpdate: Sys$Component$beginUpdate, 2623 dispose: Sys$Component$dispose, 2624 endUpdate: Sys$Component$endUpdate, 2625 initialize: Sys$Component$initialize, 2626 raisePropertyChanged: Sys$Component$raisePropertyChanged, 2627 updated: Sys$Component$updated 2628} 2629Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, Sys.INotifyPropertyChange, Sys.INotifyDisposing); 2630function Sys$Component$_setProperties(target, properties) { 2631 /// <summary locid="M:J#Sys.Component._setProperties" /> 2632 /// <param name="target"></param> 2633 /// <param name="properties"></param> 2634 var e = Function._validateParams(arguments, [ 2635 {name: "target"}, 2636 {name: "properties"} 2637 ]); 2638 if (e) throw e; 2639 var current; 2640 var targetType = Object.getType(target); 2641 var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement); 2642 var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating(); 2643 if (isComponent) target.beginUpdate(); 2644 for (var name in properties) { 2645 var val = properties[name]; 2646 var getter = isObject ? null : target["get_" + name]; 2647 if (isObject || typeof(getter) !== 'function') { 2648 var targetVal = target[name]; 2649 if (!isObject && typeof(targetVal) === 'undefined') throw Error.invali
2649dOperation(String.format(Sys.Res.propertyUndefined, name)); 2650 if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) { 2651 target[name] = val; 2652 } 2653 else { 2654 Sys$Component$_setProperties(targetVal, val); 2655 } 2656 } 2657 else { 2658 var setter = target["set_" + name]; 2659 if (typeof(setter) === 'function') { 2660 setter.apply(target, [val]); 2661 } 2662 else if (val instanceof Array) { 2663 current = getter.apply(target); 2664 if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name)); 2665 for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) { 2666 current[j] = val[i]; 2667 } 2668 } 2669 else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) { 2670 current = getter.apply(target); 2671 if ((typeof(current) === 'undefined') || (current === null)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, name)); 2672 Sys$Component$_setProperties(current, val); 2673 } 2674 else { 2675 throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); 2676 } 2677 } 2678 } 2679 if (isComponent) target.endUpdate(); 2680} 2681function Sys$Component$_setReferences(component, references) { 2682 for (var name in references) { 2683 var setter = component["set_" + name]; 2684 var reference = $find(references[name]); 2685 if (typeof(setter) !== 'function') throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, name)); 2686 if (!reference) throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound, references[name])); 2687 setter.apply(component, [reference]); 2688 } 2689} 2690var $create = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) { 2691 /// <summary locid="M:J#Sys.Component.create" /> 2692 /// <param name="type" type="Type"></param> 2693 /// <param name="properties" optional="true" mayBeNull="true"></param> 2694 /// <param name="events" optional="true" mayBeNull="true"></param> 2695 /// <param name="references" optional="true" mayBeNull="true"></param> 2696 /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param> 2697 /// <returns type="Sys.UI.Component"></returns> 2698 var e = Function._validateParams(arguments, [ 2699 {name: "type", type: Type}, 2700 {name: "properties", mayBeNull: true, optional: true}, 2701 {name: "events", mayBeNull: true, optional: true}, 2702 {name: "references", mayBeNull: true, optional: true}, 2703 {name: "element", mayBeNull: true, domElement: true, optional: true} 2704 ]); 2705 if (e) throw e; 2706 if (!type.inheritsFrom(Sys.Component)) { 2707 throw Error.argument('type', String.format(Sys.Res.createNotComponent, type.getName())); 2708 } 2709 if (type.inheritsFrom(Sys.UI.Behavior) || type.inheritsFrom(Sys.UI.Control)) { 2710 if (!element) throw Error.argument('element', Sys.Res.createNoDom); 2711 } 2712 else if (element) throw Error.argument('element', Sys.Res.createComponentOnDom); 2713 var component = (element ? new type(element): new type()); 2714 var app = Sys.Application; 2715 var creatingComponents = app.get_isCreatingComponents(); 2716 component.beginUpdate(); 2717 if (properties) { 2718 Sys$Component$_setProperties(component, properties); 2719 } 2720 if (events) { 2721 for (var name in events) {
2722 if (!(component["add_" + name] instanceof Function)) throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name)); 2723 if (!(events[name] instanceof Function)) throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction); 2724 component["add_" + name](events[name]); 2725 } 2726 } 2727 if (component.get_id()) { 2728 app.addComponent(component); 2729 } 2730 if (creatingComponents) { 2731 app._createdComponents[app._createdComponents.length] = component; 2732 if (references) { 2733 app._addComponentToSecondPass(component, references); 2734 } 2735 else { 2736 component.endUpdate(); 2737 } 2738 } 2739 else { 2740 if (references) { 2741 Sys$Component$_setReferences(component, references); 2742 } 2743 component.endUpdate(); 2744 } 2745 return component; 2746} 2747 2748Sys.UI.MouseButton = function Sys$UI$MouseButton() { 2749 /// <summary locid="M:J#Sys.UI.MouseButton.#ctor" /> 2750 /// <field name="leftButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.leftButton"></field> 2751 /// <field name="middleButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.middleButton"></field> 2752 /// <field name="rightButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.rightButton"></field> 2753 if (arguments.length !== 0) throw Error.parameterCount(); 2754 throw Error.notImplemented(); 2755} 2756Sys.UI.MouseButton.prototype = { 2757 leftButton: 0, 2758 middleButton: 1, 2759 rightButton: 2 2760} 2761Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton"); 2762 2763Sys.UI.Key = function Sys$UI$Key() { 2764 /// <summary locid="M:J#Sys.UI.Key.#ctor" /> 2765 /// <field name="backspace" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.backspace"></field> 2766 /// <field name="tab" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.tab"></field> 2767 /// <field name="enter" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.enter"></field> 2768 /// <field name="esc" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.esc"></field> 2769 /// <field name="space" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.space"></field> 2770 /// <field name="pageUp" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageUp"></field> 2771 /// <field name="pageDown" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageDown"></field> 2772 /// <field name="end" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.end"></field> 2773 /// <field name="home" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.home"></field> 2774 /// <field name="left" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.left"></field> 2775 /// <field name="up" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.up"></field> 2776 /// <field name="right" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.right"></field> 2777 /// <field name="down" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.down"></field> 2778 /// <field name="del" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.del"></field> 2779 if (arguments.length !== 0) throw Error.parameterCount(); 2780 throw Error.notImplemented(); 2781} 2782Sys.UI.Key.prototype = { 2783 backspace: 8, 2784 tab: 9, 2785 enter: 13, 2786 esc: 27, 2787 space: 32, 2788 pageUp: 33, 2789 pageDown: 34, 2790 end: 35, 2791 home: 36, 2792 left: 37, 2793 up: 38, 2794 right: 39, 2795 down: 40, 2796 del: 127 2797} 2798Sys.UI.Key.registerEnum("Sys.UI.Key"); 2799 2800Sys.UI.Point = function Sys$UI$Point(x, y) { 2801 /// <summary locid="M:J#Sys.UI.Point.#ctor" /> 2802 /// <param name="x" type="Number"></param> 2803 /// <param name="y" type="Number"></param> 2804 /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field> 2805 /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field> 2806 var e = Function._validateParams(arguments, [ 2807 {name: "x", type: Number}, 2808 {name: "y", type: Number} 2809 ]); 2810 if (e) throw e; 2811 this.x = Math.round(x); 2812 this.y = Math.round(y); 2813} 2814Sys.UI.Point.registerClass('Sys.UI.Point'); 2815 2816Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) { 2817 /// <summary locid="M:J#Sys.UI.Bounds.#ctor" /> 2818 /// <param name="x" type="Number" integer="true"></param> 2819 /// <param name="y" type="Number" integer="true"></param> 2820 /// <param name="height" type="Number" integer="true"></param> 2821 /// <param name="width" type="Number" integer="true"></param> 2822 /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.x"></field> 2823 /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.y"></field> 2824 /// <field name="height" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.height"></field> 2825 /// <field name="width" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.width"></field> 2826 var e = Function._validateParams(arguments, [ 2827 {name: "x", type: Number, integer: true}, 2828 {name: "y", type: Number, integer: true}, 2829 {name: "height", type: Number, integer: true},
2830 {name: "width", type: Number, integer: true} 2831 ]); 2832 if (e) throw e; 2833 this.x = x; 2834 this.y = y; 2835 this.height = height; 2836 this.width = width; 2837} 2838Sys.UI.Bounds.registerClass('Sys.UI.Bounds'); 2839 2840Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { 2841 /// <summary locid="M:J#Sys.UI.DomEvent.#ctor" /> 2842 /// <param name="eventObject"></param> 2843 /// <field name="altKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.altKey"></field> 2844 /// <field name="button" type="Sys.UI.MouseButton" locid="F:J#Sys.UI.DomEvent.button"></field> 2845 /// <field name="charCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.charCode"></field> 2846 /// <field name="clientX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientX"></field> 2847 /// <field name="clientY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientY"></field> 2848 /// <field name="ctrlKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.ctrlKey"></field> 2849 /// <field name="keyCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.keyCode"></field> 2850 /// <field name="offsetX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetX"></field> 2851 /// <field name="offsetY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetY"></field> 2852 /// <field name="screenX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenX"></field> 2853 /// <field name="screenY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenY"></field> 2854 /// <field name="shiftKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.shiftKey"></field> 2855 /// <field name="target" locid="F:J#Sys.UI.DomEvent.target"></field> 2856 /// <field name="type" type="String" locid="F:J#Sys.UI.DomEvent.type"></field> 2857 var e = Function._validateParams(arguments, [ 2858 {name: "eventObject"} 2859 ]); 2860 if (e) throw e; 2861 var e = eventObject; 2862 var etype = this.type = e.type.toLowerCase(); 2863 this.rawEvent = e; 2864 this.altKey = e.altKey; 2865 if (typeof(e.button) !== 'undefined') { 2866 this.button = (typeof(e.which) !== 'undefined') ? e.button : 2867 (e.button === 4) ? Sys.UI.MouseButton.middleButton : 2868 (e.button === 2) ? Sys.UI.MouseButton.rightButton : 2869 Sys.UI.MouseButton.leftButton; 2870 } 2871 if (etype === 'keypress') { 2872 this.charCode = e.charCode || e.keyCode; 2873 } 2874 else if (e.keyCode && (e.keyCode === 46)) { 2875 this.keyCode = 127; 2876 } 2877 else { 2878 this.keyCode = e.keyCode; 2879 } 2880 this.clientX = e.clientX; 2881 this.clientY = e.clientY; 2882 this.ctrlKey = e.ctrlKey; 2883 this.target = e.target ? e.target : e.srcElement; 2884 if (!etype.startsWith('key')) { 2885 if ((typeof(e.offsetX) !== 'undefined') && (typeof(e.offsetY) !== 'undefined')) { 2886 this.offsetX = e.offsetX; 2887 this.offsetY = e.offsetY; 2888 } 2889 else if (this.target && (this.target.nodeType !== 3) && (typeof(e.clientX) === 'number')) { 2890 var loc = Sys.UI.DomElement.getLocation(this.target); 2891 var w = Sys.UI.DomElement._getWindow(this.target); 2892 this.offsetX = (w.pageXOffset || 0) + e.clientX - loc.x; 2893 this.offsetY = (w.pageYOffset || 0) + e.clientY - loc.y; 2894 } 2895 } 2896 this.screenX = e.screenX; 2897 this.screenY = e.screenY; 2898 this.shiftKey = e.shiftKey; 2899} 2900 function Sys$UI$DomEvent$preventDefault() { 2901 /// <summary locid="M:J#Sys.UI.DomEvent.preventDefault" /> 2902 if (arguments.length !== 0) throw Error.parameterCount(); 2903 if (this.rawEvent.preventDefault) { 2904 this.rawEvent.preventDefault(); 2905 } 2906 else if (window.event) { 2907 this.rawEvent.returnValue = false; 2908 } 2909 } 2910 function Sys$UI$DomEvent$stopPropagation() { 2911 /// <summary locid="M:J#Sys.UI.DomEvent.stopPropagation" /> 2912 if (arguments.length !== 0) throw Error.parameterCount(); 2913 if (this.rawEvent.stopPropagation) { 2914 this.rawEvent.stopPropagation(); 2915 } 2916 else if (window.event) { 2917 this.rawEvent.cancelBubble = true; 2918 } 2919 }
2920Sys.UI.DomEvent.prototype = { 2921 preventDefault: Sys$UI$DomEvent$preventDefault, 2922 stopPropagation: Sys$UI$DomEvent$stopPropagation 2923} 2924Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent'); 2925var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler) { 2926 /// <summary locid="M:J#Sys.UI.DomEvent.addHandler" /> 2927 /// <param name="element"></param> 2928 /// <param name="eventName" type="String"></param> 2929 /// <param name="handler" type="Function"></param> 2930 var e = Function._validateParams(arguments, [ 2931 {name: "element"}, 2932 {name: "eventName", type: String}, 2933 {name: "handler", type: Function} 2934 ]); 2935 if (e) throw e; 2936 Sys.UI.DomEvent._ensureDomNode(element); 2937 if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError); 2938 if (!element._events) { 2939 element._events = {}; 2940 } 2941 var eventCache = element._events[eventName]; 2942 if (!eventCache) { 2943 element._events[eventName] = eventCache = []; 2944 } 2945 var browserHandler; 2946 if (element.addEventListener) { 2947 browserHandler = function(e) { 2948 return handler.call(element, new Sys.UI.DomEvent(e)); 2949 } 2950 element.addEventListener(eventName, browserHandler, false); 2951 } 2952 else if (element.attachEvent) { 2953 browserHandler = function() { 2954 var e = {}; 2955 try {e = Sys.UI.DomElement._getWindow(element).event} catch(ex) {} 2956 return handler.call(element, new Sys.UI.DomEvent(e)); 2957 } 2958 element.attachEvent('on' + eventName, browserHandler); 2959 } 2960 eventCache[eventCache.length] = {handler: handler, browserHandler: browserHandler}; 2961} 2962var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) { 2963 /// <summary locid="M:J#Sys.UI.DomEvent.addHandlers" /> 2964 /// <param name="element"></param> 2965 /// <param name="events" type="Object"></param> 2966 /// <param name="handlerOwner" optional="true"></param> 2967 var e = Function._validateParams(arguments, [ 2968 {name: "element"}, 2969 {name: "events", type: Object}, 2970 {name: "handlerOwner", optional: true} 2971 ]); 2972 if (e) throw e; 2973 Sys.UI.DomEvent._ensureDomNode(element); 2974 for (var name in events) { 2975 var handler = events[name]; 2976 if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler); 2977 if (handlerOwner) { 2978 handler = Function.createDelegate(handlerOwner, handler); 2979 } 2980 $addHandler(element, name, handler); 2981 } 2982} 2983var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) { 2984 /// <summary locid="M:J#Sys.UI.DomEvent.clearHandlers" /> 2985 /// <param name="element"></param> 2986 var e = Function._validateParams(arguments, [ 2987 {name: "element"} 2988 ]); 2989 if (e) throw e; 2990 Sys.UI.DomEvent._ensureDomNode(element); 2991 if (element._events) { 2992 var cache = element._events; 2993 for (var name in cache) { 2994 var handlers = cache[name]; 2995 for (var i = handlers.length - 1; i >= 0; i--) { 2996 $removeHandler(element, name, handlers[i].handler); 2997 } 2998 } 2999 element._events = null; 3000 } 3001} 3002var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) { 3003 /// <summary locid="M:J#Sys.UI.DomEvent.removeHandler" /> 3004 /// <param name="element"></param> 3005 /// <param name="eventName" type="String"></param> 3006 /// <param name="handler" type="Function"></param> 3007 var e = Function._validateParams(arguments, [ 3008 {name: "element"}, 3009 {name: "eventName", type: String}, 3010 {name: "handler", type: Function} 3011 ]); 3012 if (e) throw e; 3013 Sys.UI.DomEvent._ensureDomNode(element); 3014 var browserHandler = null; 3015 if ((typeof(element._events) !== 'object') || (element._events == null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); 3016 var cache = element._events[eventName];
3017 if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); 3018 for (var i = 0, l = cache.length; i < l; i++) { 3019 if (cache[i].handler === handler) { 3020 browserHandler = cache[i].browserHandler; 3021 break; 3022 } 3023 } 3024 if (typeof(browserHandler) !== 'function') throw Error.invalidOperation(Sys.Res.eventHandlerInvalid); 3025 if (element.removeEventListener) { 3026 element.removeEventListener(eventName, browserHandler, false); 3027 } 3028 else if (element.detachEvent) { 3029 element.detachEvent('on' + eventName, browserHandler); 3030 } 3031 cache.splice(i, 1); 3032} 3033Sys.UI.DomEvent._ensureDomNode = function Sys$UI$DomEvent$_ensureDomNode(element) { 3034 if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return; 3035 3036 var doc = element.ownerDocument || element.document || element; 3037 if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) { 3038 throw Error.argument("element", Sys.Res.argumentDomNode); 3039 } 3040} 3041 3042Sys.UI.DomElement = function Sys$UI$DomElement() { 3043 /// <summary locid="M:J#Sys.UI.DomElement.#ctor" /> 3044 if (arguments.length !== 0) throw Error.parameterCount(); 3045 throw Error.notImplemented(); 3046} 3047Sys.UI.DomElement.registerClass('Sys.UI.DomElement'); 3048Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) { 3049 /// <summary locid="M:J#Sys.UI.DomElement.addCssClass" /> 3050 /// <param name="element" domElement="true"></param> 3051 /// <param name="className" type="String"></param> 3052 var e = Function._validateParams(arguments, [ 3053 {name: "element", domElement: true}, 3054 {name: "className", type: String} 3055 ]); 3056 if (e) throw e; 3057 if (!Sys.UI.DomElement.containsCssClass(element, className)) { 3058 if (element.className === '') { 3059 element.className = className; 3060 } 3061 else { 3062 element.className += ' ' + className; 3063 } 3064 } 3065} 3066Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) { 3067 /// <summary locid="M:J#Sys.UI.DomElement.containsCssClass" /> 3068 /// <param name="element" domElement="true"></param> 3069 /// <param name="className" type="String"></param> 3070 /// <returns type="Boolean"></returns> 3071 var e = Function._validateParams(arguments, [ 3072 {name: "element", domElement: true}, 3073 {name: "className", type: String} 3074 ]); 3075 if (e) throw e; 3076 return Array.contains(element.className.split(' '), className); 3077} 3078Sys.UI.DomElement.getBounds = function Sys$UI$DomElement$getBounds(element) { 3079 /// <summary locid="M:J#Sys.UI.DomElement.getBounds" /> 3080 /// <param name="element" domElement="true"></param> 3081 /// <returns type="Sys.UI.Bounds"></returns> 3082 var e = Function._validateParams(arguments, [ 3083 {name: "element", domElement: true} 3084 ]); 3085 if (e) throw e; 3086 var offset = Sys.UI.DomElement.getLocation(element); 3087 return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0); 3088} 3089var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) { 3090 /// <summary locid="M:J#Sys.UI.DomElement.getElementById" /> 3091 /// <param name="id" type="String"></param> 3092 /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param> 3093 /// <returns domElement="true" mayBeNull="true"></returns> 3094 var e = Function._validateParams(arguments, [ 3095 {name: "id", type: String}, 3096 {name: "element", mayBeNull: true, domElement: true, optional: true} 3097 ]); 3098 if (e) throw e; 3099 if (!element) return document.getElementById(id); 3100 if (element.getElementById) return element.getElementById(id); 3101 var nodeQueue = []; 3102 var childNodes = element.childNodes; 3103 for (var i = 0; i < childNodes.length; i++) { 3104 var node = childNodes[i]; 3105 if (node.nodeType == 1) { 3106 nodeQueue[nodeQueue.length] = node; 3107 } 3108 } 3109 while (nodeQueue.length) { 3110 node = nodeQueue.shift(); 3111 if (node.id == id) { 3112 return node; 3113 } 3114 childNodes = node.childNodes; 3115 for (i = 0; i < childNodes.length; i++) { 3116 node = childNodes[i];
3117 if (node.nodeType == 1) { 3118 nodeQueue[nodeQueue.length] = node; 3119 } 3120 } 3121 } 3122 return null; 3123} 3124switch(Sys.Browser.agent) { 3125 case Sys.Browser.InternetExplorer: 3126 Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { 3127 /// <summary locid="M:J#Sys.UI.DomElement.getLocation" /> 3128 /// <param name="element" domElement="true"></param> 3129 /// <returns type="Sys.UI.Point"></returns> 3130 var e = Function._validateParams(arguments, [ 3131 {name: "element", domElement: true} 3132 ]); 3133 if (e) throw e; 3134 if (element.self || element.nodeType === 9) return new Sys.UI.Point(0,0); 3135 var clientRect = element.getBoundingClientRect(); 3136 if (!clientRect) { 3137 return new Sys.UI.Point(0,0); 3138 } 3139 var documentElement = element.ownerDocument.documentElement; 3140 var offsetX = clientRect.left - 2 + documentElement.scrollLeft, 3141 offsetY = clientRect.top - 2 + documentElement.scrollTop; 3142 3143 try { 3144 var f = element.ownerDocument.parentWindow.frameElement || null; 3145 if (f) { 3146 var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0; 3147 offsetX += offset; 3148 offsetY += offset; 3149 } 3150 } 3151 catch(ex) { 3152 } 3153 3154 return new Sys.UI.Point(offsetX, offsetY); 3155 } 3156 break; 3157 case Sys.Browser.Safari: 3158 Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { 3159 /// <summary locid="M:J#Sys.UI.DomElement.getLocation" /> 3160 /// <param name="element" domElement="true"></param> 3161 /// <returns type="Sys.UI.Point"></returns> 3162 var e = Function._validateParams(arguments, [ 3163 {name: "element", domElement: true} 3164 ]); 3165 if (e) throw e; 3166 if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); 3167 var offsetX = 0; 3168 var offsetY = 0; 3169 var previous = null; 3170 var previousStyle = null; 3171 var currentStyle; 3172 for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { 3173 currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); 3174 var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; 3175 if ((parent.offsetLeft || parent.offsetTop) && 3176 ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) { 3177 offsetX += parent.offsetLeft; 3178 offsetY += parent.offsetTop; 3179 } 3180 } 3181 currentStyle = Sys.UI.DomElement._getCurrentStyle(element); 3182 var elementPosition = currentStyle ? currentStyle.position : null; 3183 if (!elementPosition || (elementPosition !== "absolute")) { 3184 for (var parent = element.parentNode; parent; parent = parent.parentNode) { 3185 tagName = parent.tagName ? parent.tagName.toUpperCase() : null; 3186 if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { 3187 offsetX -= (parent.scrollLeft || 0); 3188 offsetY -= (parent.scrollTop || 0); 3189 } 3190 currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); 3191 var parentPosition = currentStyle ? currentStyle.position : null; 3192 if (parentPosition && (parentPosition === "absolute")) break; 3193 } 3194 } 3195 return new Sys.UI.Point(offsetX, offsetY); 3196 } 3197 break; 3198 case Sys.Browser.Opera: 3199 Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { 3200 /// <summary locid="M:J#Sys.UI.DomElement.getLocation" /> 3201 /// <param name="element" domElement="true"></param> 3202 /// <returns type="Sys.UI.Point"></returns> 3203 var e = Function._validateParams(arguments, [ 3204 {name: "element", domElement: true} 3205 ]); 3206 if (e) throw e; 3207 if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); 3208 var offsetX = 0; 3209 var offsetY = 0; 3210 var previous = null; 3211 for (var parent = element; parent; previous = parent, parent = parent.offsetParent) { 3212 var tagName = parent.tagName; 3213 offsetX += parent.offsetLeft || 0; 3214 offsetY += parent.offsetTop || 0; 3215 } 3216 var elementPosition = element.style.position; 3217 var elementPositioned = elementPosition && (elementPosition !== "static"); 3218 for (var parent = element.parentNode; parent; parent = parent.parentNode) { 3219 tagName = parent.tagName ? parent.tagName.toUpperCase() : null; 3220 if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop) && 3221 ((elementPositioned && 3222 ((parent.style.overflow === "scroll") || (parent.style.overflow === "auto"))))) { 3223 offsetX -= (parent.scrollLeft || 0); 3224 offsetY -= (parent.scrollTop || 0); 3225 } 3226 var parentPosition = (parent && parent.style) ? parent.style.position : null; 3227 elementPositioned = elementPositioned || (parentPosition && (parentPosition !== "static")); 3228 } 3229 return new Sys.UI.Point(offsetX, offsetY); 3230 } 3231 break; 3232 default: 3233 Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) { 3234 /// <summary locid="M:J#Sys.UI.DomElement.getLocation" /> 3235 /// <param name="element" domElement="true"></param> 3236 /// <returns type="Sys.UI.Point"></returns> 3237 var e = Function._validateParams(arguments, [ 3238 {name: "element", domElement: true} 3239 ]); 3240 if (e) throw e; 3241 if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0); 3242 var offsetX = 0; 3243 var offsetY = 0; 3244 var previous = null; 3245 var previousStyle = null; 3246 var currentStyle = null; 3247 for (var parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) { 3248 var tagName = parent.tagName ? parent.tagName.toUpperCase() : null; 3249 currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); 3250 if ((parent.offsetLeft || parent.offsetTop) && 3251 !((tagName === "BODY") && 3252 (!previousStyle || previousStyle.position !== "absolute"))) { 3253 offsetX += parent.offsetLeft; 3254 offsetY += parent.offsetTop; 3255 } 3256 if (previous !== null && currentStyle) { 3257 if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) { 3258 offsetX += parseInt(currentStyle.borderLeftWidth) || 0; 3259 offsetY += parseInt(currentStyle.borderTopWidth) || 0; 3260 } 3261 if (tagName === "TABLE" && 3262 (currentStyle.position === "relative" || currentStyle.position === "absolute")) { 3263 offsetX += parseInt(currentStyle.marginLeft) || 0; 3264 offsetY += parseInt(currentStyle.marginTop) || 0; 3265 } 3266 } 3267 } 3268 currentStyle = Sys.UI.DomElement._getCurrentStyle(element); 3269 var elementPosition = currentStyle ? currentStyle.position : null; 3270 if (!elementPosition || (elementPosition !== "absolute")) { 3271 for (var parent = element.parentNode; parent; parent = parent.parentNode) { 3272 tagName = parent.tagName ? parent.tagName.toUpperCase() : null; 3273 if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) { 3274 offsetX -= (parent.scrollLeft || 0); 3275 offsetY -= (parent.scrollTop || 0); 3276 currentStyle = Sys.UI.DomElement._getCurrentStyle(parent); 3277 if (currentStyle) { 3278 offsetX += parseInt(currentStyle.borderLeftWidth) || 0; 3279 offsetY += parseInt(currentStyle.borderTopWidth) || 0; 3280 } 3281 } 3282 } 3283 } 3284 return new Sys.UI.Point(offsetX, offsetY); 3285 } 3286 break; 3287} 3288Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) { 3289 /// <summary locid="M:J#Sys.UI.DomElement.removeCssClass" /> 3290 /// <param name="element" domElement="true"></param> 3291 /// <param name="className" type="String"></param> 3292 var e = Function._validateParams(arguments, [ 3293 {name: "element", domElement: true}, 3294 {name: "className", type: String} 3295 ]); 3296 if (e) throw e; 3297 var currentClassName = ' ' + element.className + ' '; 3298 var index = currentClassName.indexOf(' ' + className + ' '); 3299 if (index >= 0) { 3300 element.className = (currentClassName.substr(0, index) + ' ' + 3301 currentClassName.substring(index + className.length + 1, currentClassName.length)).trim(); 3302 } 3303} 3304Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) { 3305 /// <summary locid="M:J#Sys.UI.DomElement.setLocation" /> 3306 /// <param name="element" domElement="true"></param> 3307 /// <param name="x" type="Number" integer="true"></param> 3308 /// <param name="y" type="Number" integer="true"></param> 3309 var e = Function._validateParams(arguments, [ 3310 {name: "element", domElement: true}, 3311 {name: "x", type: Number, integer: true}, 3312 {name: "y", type: Number, integer: true} 3313 ]); 3314 if (e) throw e; 3315 var style = element.style; 3316 style.position = 'absolute'; 3317 style.left = x + "px"; 3318 style.top = y + "px"; 3319} 3320Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) { 3321 /// <summary locid="M:J#Sys.UI.DomElement.toggleCssClass" /> 3322 /// <param name="element" domElement="true"></param> 3323 /// <param name="className" type="String"></param> 3324 var e = Function._validateParams(arguments, [ 3325 {name: "element", domElement: true}, 3326 {name: "className", type: String} 3327 ]); 3328 if (e) throw e; 3329 if (Sys.UI.DomElement.containsCssClass(element, className)) { 3330 Sys.UI.DomElement.removeCssClass(element, className); 3331 } 3332 else { 3333 Sys.UI.DomElement.addCssClass(element, className); 3334 } 3335} 3336Sys.UI.DomElement.getVisibilityMode = function Sys$UI$DomElement$getVisibilityMode(element) { 3337 /// <summary locid="M:J#Sys.UI.DomElement.getVisibilityMode" /> 3338 /// <param name="element" domElement="true"></param> 3339 /// <returns type="Sys.UI.VisibilityMode"></returns> 3340 var e = Function._validateParams(arguments, [ 3341 {name: "element", domElement: true} 3342 ]); 3343 if (e) throw e; 3344 return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ? 3345 Sys.UI.VisibilityMode.hide : 3346 Sys.UI.VisibilityMode.collapse; 3347} 3348Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) { 3349 /// <summary locid="M:J#Sys.UI.DomElement.setVisibilityMode" /> 3350 /// <param name="element" domElement="true"></param> 3351 /// <param name="value" type="Sys.UI.VisibilityMode"></param> 3352 var e = Function._validateParams(arguments, [ 3353 {name: "element", domElement: true}, 3354 {name: "value", type: Sys.UI.VisibilityMode} 3355 ]); 3356 if (e) throw e; 3357 Sys.UI.DomElement._ensureOldDisplayMode(element); 3358 if (element._visibilityMode !== value) { 3359 element._visibilityMode = value; 3360 if (Sys.UI.DomElement.getVisible(element) === false) { 3361 if (element._visibilityMode === Sys.UI.VisibilityMode.hide) { 3362 element.style.display = element._oldDisplayMode; 3363 } 3364 else { 3365 element.style.display = 'none'; 3366 } 3367 } 3368 element._visibilityMode = value; 3369 } 3370} 3371Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) { 3372 /// <summary locid="M:J#Sys.UI.DomElement.getVisible" /> 3373 /// <param name="element" domElement="true"></param> 3374 /// <returns type="Boolean"></returns> 3375 var e = Function._validateParams(arguments, [ 3376 {name: "element", domElement: true} 3377 ]); 3378 if (e) throw e; 3379 var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); 3380 if (!style) return true; 3381 return (style.visibility !== 'hidden') && (style.display !== 'none'); 3382} 3383Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) { 3384 /// <summary locid="M:J#Sys.UI.DomElement.setVisible" /> 3385 /// <param name="element" domElement="true"></param> 3386 /// <param name="value" type="Boolean"></param> 3387 var e = Function._validateParams(arguments, [ 3388 {name: "element", domElement: true}, 3389 {name: "value", type: Boolean} 3390 ]); 3391 if (e) throw e; 3392 if (value !== Sys.UI.DomElement.getVisible(element)) { 3393 Sys.UI.DomElement._ensureOldDisplayMode(element); 3394 element.style.visibility = value ? 'visible' : 'hidden'; 3395 if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) { 3396 element.style.display = element._oldDisplayMode; 3397 } 3398 else { 3399 element.style.display = 'none'; 3400 } 3401 } 3402} 3403Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) { 3404 if (!element._oldDisplayMode) { 3405 var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element); 3406 element._oldDisplayMode = style ? style.display : null; 3407 if (!element._oldDisplayMode || element._oldDisplayMode === 'none') { 3408 switch(element.tagName.toUpperCase()) { 3409 case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': case 'BODY': case 'COL': 3410 case 'COLGROUP': case 'DD': case 'DL': case 'DT': case 'FIELDSET': case 'FORM': 3411 case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': case 'H6': case 'HR': 3412 case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': case 'TABLE': case 'TD': 3413 case 'TH': case 'TR': case 'UL': 3414 element._oldDisplayMode = 'block'; 3415 break; 3416 case 'LI': 3417 element._oldDisplayMode = 'list-item'; 3418 break; 3419 default: 3420 element._oldDisplayMode = 'inline'; 3421 } 3422 } 3423 } 3424} 3425Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) { 3426 var doc = element.ownerDocument || element.document || element; 3427 return doc.defaultView || doc.parentWindow; 3428} 3429Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) { 3430 if (element.nodeType === 3) return null; 3431 var w = Sys.UI.DomElement._getWindow(element); 3432 if (element.documentElement) element = element.documentElement; 3433 var computedStyle = (w && (element !== w) && w.getComputedStyle) ? 3434 w.getComputedStyle(element, null) : 3435 element.currentStyle || element.style; 3436 if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) { 3437 var oldDisplay = element.style.display; 3438 var oldPosition = element.style.position; 3439 element.style.position = 'absolute'; 3440 element.style.display = 'block'; 3441 var style = w.getComputedStyle(element, null); 3442
3442 element.style.display = oldDisplay; 3443 element.style.position = oldPosition; 3444 computedStyle = {}; 3445 for (var n in style) { 3446 computedStyle[n] = style[n]; 3447 } 3448 computedStyle.display = 'none'; 3449 } 3450 return computedStyle; 3451} 3452 3453Sys.IContainer = function Sys$IContainer() { 3454 throw Error.notImplemented(); 3455} 3456 function Sys$IContainer$addComponent(component) { 3457 /// <summary locid="M:J#Sys.IContainer.addComponent" /> 3458 /// <param name="component" type="Sys.Component"></param> 3459 var e = Function._validateParams(arguments, [ 3460 {name: "component", type: Sys.Component} 3461 ]); 3462 if (e) throw e; 3463 throw Error.notImplemented(); 3464 } 3465 function Sys$IContainer$removeComponent(component) { 3466 /// <summary locid="M:J#Sys.IContainer.removeComponent" /> 3467 /// <param name="component" type="Sys.Component"></param> 3468 var e = Function._validateParams(arguments, [ 3469 {name: "component", type: Sys.Component} 3470 ]); 3471 if (e) throw e; 3472 throw Error.notImplemented(); 3473 } 3474 function Sys$IContainer$findComponent(id) { 3475 /// <summary locid="M:J#Sys.IContainer.findComponent" /> 3476 /// <param name="id" type="String"></param> 3477 /// <returns type="Sys.Component"></returns> 3478 var e = Function._validateParams(arguments, [ 3479 {name: "id", type: String} 3480 ]); 3481 if (e) throw e; 3482 throw Error.notImplemented(); 3483 } 3484 function Sys$IContainer$getComponents() { 3485 /// <summary locid="M:J#Sys.IContainer.getComponents" /> 3486 /// <returns type="Array" elementType="Sys.Component"></returns> 3487 if (arguments.length !== 0) throw Error.parameterCount(); 3488 throw Error.notImplemented(); 3489 } 3490Sys.IContainer.prototype = { 3491 addComponent: Sys$IContainer$addComponent, 3492 removeComponent: Sys$IContainer$removeComponent, 3493 findComponent: Sys$IContainer$findComponent, 3494 getComponents: Sys$IContainer$getComponents 3495} 3496Sys.IContainer.registerInterface("Sys.IContainer"); 3497 3498Sys._ScriptLoader = function Sys$_ScriptLoader() { 3499 this._scriptsToLoad = null; 3500 this._sessions = []; 3501 this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler); 3502} 3503 function Sys$_ScriptLoader$dispose() { 3504 this._stopSession(); 3505 this._loading = false; 3506 if(this._events) { 3507 delete this._events; 3508 } 3509 this._sessions = null; 3510 this._currentSession = null; 3511 this._scriptLoadedDelegate = null; 3512 } 3513 function Sys$_ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) { 3514 /// <summary locid="M:J#Sys._ScriptLoader.loadScripts" /> 3515 /// <param name="scriptTimeout" type="Number" integer="true"></param> 3516 /// <param name="allScriptsLoadedCallback" type="Function" mayBeNull="true"></param> 3517 /// <param name="scriptLoadFailedCallback" type="Function" mayBeNull="true"></param> 3518 /// <param name="scriptLoadTimeoutCallback" type="Function" mayBeNull="true"></param> 3519 var e = Function._validateParams(arguments, [ 3520 {name: "scriptTimeout", type: Number, integer: true}, 3521 {name: "allScriptsLoadedCallback", type: Function, mayBeNull: true}, 3522 {name: "scriptLoadFailedCallback", type: Function, mayBeNull: true}, 3523 {name: "scriptLoadTimeoutCallback", type: Function, mayBeNull: true} 3524 ]); 3525 if (e) throw e; 3526 var session = { 3527 allScriptsLoadedCallback: allScriptsLoadedCallback, 3528 scriptLoadFailedCallback: scriptLoadFailedCallback, 3529 scriptLoadTimeoutCallback: scriptLoadTimeoutCallback, 3530 scriptsToLoad: this._scriptsToLoad, 3531 scriptTimeout: scriptTimeout }; 3532 this._scriptsToLoad = null; 3533 this._sessions[this._sessions.length] = session; 3534 3535 if (!this._loading) { 3536 this._nextSession(); 3537 } 3538 } 3539 function Sys$_ScriptLoader$notifyScriptLoaded() { 3540 /// <summary locid="M:J#Sys._ScriptLoader.notifyScriptLoaded" /> 3541 if (arguments.length !== 0) throw Error.parameterCount(); 3542 3543 if(!this._loading) { 3544 return; 3545 } 3546 this._currentTask._notified++; 3547 3548 if(Sys.Browser.agent === Sys.Browser.Safari) { 3549 if(this._currentTask._notified === 1) { 3550 window.setTimeout(Function.createDelegate(this, function() { 3551 this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true); 3552 }), 0); 3553 } 3554 } 3555 } 3556 function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) { 3557 /// <summary locid="M:J#Sys._ScriptLoader.queueCustomScriptTag" /> 3558 /// <param name="scriptAttributes" mayBeNull="false"></param> 3559 var e = Function._validateParams(arguments, [ 3560 {name: "scriptAttributes"} 3561 ]); 3562 if (e) throw e; 3563 if(!this._scriptsToLoad) { 3564 this._scriptsToLoad = []; 3565 } 3566 Array.add(this._scriptsToLoad, scriptAttributes); 3567 } 3568 function Sys$_ScriptLoader$queueScriptBlock(scriptContent) { 3569 /// <summary locid="M:J#Sys._ScriptLoader.queueScriptBlock" /> 3570 /// <param name="scriptContent" type="String" mayBeNull="false"></param> 3571 var e = Function._validateParams(arguments, [
3572 {name: "scriptContent", type: String} 3573 ]); 3574 if (e) throw e; 3575 if(!this._scriptsToLoad) { 3576 this._scriptsToLoad = []; 3577 } 3578 Array.add(this._scriptsToLoad, {text: scriptContent}); 3579 } 3580 function Sys$_ScriptLoader$queueScriptReference(scriptUrl) { 3581 /// <summary locid="M:J#Sys._ScriptLoader.queueScriptReference" /> 3582 /// <param name="scriptUrl" type="String" mayBeNull="false"></param> 3583 var e = Function._validateParams(arguments, [ 3584 {name: "scriptUrl", type: String} 3585 ]); 3586 if (e) throw e; 3587 if(!this._scriptsToLoad) { 3588 this._scriptsToLoad = []; 3589 } 3590 Array.add(this._scriptsToLoad, {src: scriptUrl}); 3591 } 3592 function Sys$_ScriptLoader$_createScriptElement(queuedScript) { 3593 var scriptElement = document.createElement('script'); 3594 scriptElement.type = 'text/javascript'; 3595 for (var attr in queuedScript) { 3596 scriptElement[attr] = queuedScript[attr]; 3597 } 3598 3599 return scriptElement; 3600 } 3601 function Sys$_ScriptLoader$_loadScriptsInternal() { 3602 var session = this._currentSession; 3603 if (session.scriptsToLoad && session.scriptsToLoad.length > 0) { 3604 var nextScript = Array.dequeue(session.scriptsToLoad); 3605 var scriptElement = this._createScriptElement(nextScript); 3606 3607 if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) { 3608 scriptElement.innerHTML = scriptElement.text; 3609 delete scriptElement.text; 3610 } 3611 if (typeof(nextScript.src) === "string") { 3612 this._currentTask = new Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate); 3613 this._currentTask.execute(); 3614 } 3615 else { 3616 var headElements = document.getElementsByTagName('head'); 3617 if (headElements.length === 0) { 3618 throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); 3619 } 3620 else { 3621 headElements[0].appendChild(scriptElement); 3622 } 3623 3624 3625 Sys._ScriptLoader._clearScript(scriptElement); 3626 this._loadScriptsInternal(); 3627 } 3628 } 3629 else { 3630 this._stopSession(); 3631 var callback = session.allScriptsLoadedCallback; 3632 if(callback) { 3633 callback(this); 3634 } 3635 this._nextSession(); 3636 } 3637 } 3638 function Sys$_ScriptLoader$_nextSession() { 3639 if (this._sessions.length === 0) { 3640 this._loading = false; 3641 this._currentSession = null; 3642 return; 3643 } 3644 this._loading = true; 3645 3646 var session = Array.dequeue(this._sessions); 3647 this._currentSession = session; 3648 this._loadScriptsInternal(); 3649 } 3650 function Sys$_ScriptLoader$_raiseError(multipleCallbacks) { 3651 var callback = this._currentSession.scriptLoadFailedCallback; 3652 var scriptElement = this._currentTask.get_scriptElement(); 3653 this._stopSession(); 3654 3655 if(callback) { 3656 callback(this, scriptElement, multipleCallbacks); 3657 this._nextSession(); 3658 } 3659 else { 3660 this._loading = false; 3661 throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, multipleCallbacks); 3662 } 3663 } 3664 function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) { 3665 if(loaded && this._currentTask._notified) { 3666 if(this._currentTask._notified > 1) { 3667 this._raiseError(true); 3668 } 3669 else { 3670 Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src); 3671 this._currentTask.dispose(); 3672 this._currentTask = null; 3673 this._loadScriptsInternal(); 3674 } 3675 } 3676 else { 3677 this._raiseError(false); 3678 } 3679 } 3680 function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() { 3681 var callback = this._currentSession.scriptLoadTimeoutCallback; 3682 this._stopSession(); 3683 if(callback) { 3684 callback(this); 3685 } 3686 this._nextSession(); 3687 } 3688 function Sys$_ScriptLoader$_stopSession() { 3689 if(this._currentTask) { 3690 this._currentTask.dispose(); 3691 this._currentTask = null; 3692 } 3693 } 3694Sys._ScriptLoader.prototype = { 3695 dispose: Sys$_ScriptLoader$dispose, 3696 loadScripts: Sys$_ScriptLoader$loadScripts, 3697 notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded, 3698 queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag, 3699 queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock, 3700 queueScriptReference: Sys$_ScriptLoader$queueScriptReference, 3701 _createScriptElement: Sys$_ScriptLoader$_createScriptElement, 3702 _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal, 3703 _nextSession: Sys$_ScriptLoader$_nextSession, 3704 _raiseError: Sys$_ScriptLoader$_raiseError, 3705 _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler, 3706 _scriptLoadTimeoutHandler: Sys$_ScriptLoader$_scriptLoadTimeoutHandler, 3707 _stopSession: Sys$_ScriptLoader$_stopSession 3708} 3709Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, Sys.IDisposable); 3710Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance() { 3711 var sl = Sys._ScriptLoader._activeInstance; 3712 if(!sl) { 3713 sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader(); 3714 } 3715 return sl; 3716} 3717Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc) { 3718 var dummyScript = document.createElement('script'); 3719 dummyScript.src = scriptSrc; 3720 return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src); 3721} 3722Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts() { 3723 if(!Sys._ScriptLoader._referencedScripts) { 3724 var referencedScripts = Sys._ScriptLoader._referencedScripts = []; 3725 var existingScripts = document.getElementsByTagName('script'); 3726 for (i = existingScripts.length - 1; i >= 0; i--) { 3727 var scriptNode = existingScripts[i]; 3728 var scriptSrc = scriptNode.src; 3729 if (scriptSrc.length) { 3730 if (!Array.contains(referencedScripts, scriptSrc)) { 3731 Array.add(referencedScripts, scriptSrc); 3732 } 3733 } 3734 } 3735 } 3736} 3737Sys._ScriptLoader._clearScript = function Sys$_ScriptLoader$_clearScript(scriptElement) { 3738 if (!Sys.Debug.isDebug) { 3739 scriptElement.parentNode.removeChild(scriptElement); 3740 } 3741} 3742Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) { 3743 var errorMessage; 3744 if(multipleCallbacks) { 3745 errorMessage = Sys.Res.scriptLoadMultipleCallbacks; 3746 } 3747 else { 3748 errorMessage = Sys.Res.scriptLoadFailedDebug; 3749 } 3750 var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage, scriptUrl); 3751 var e = Error.create(displayMessage, {name: 'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl }); 3752 e.popStackFrame(); 3753 return e; 3754} 3755Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getL
3755oadedScripts() { 3756 if(!Sys._ScriptLoader._referencedScripts) { 3757 Sys._ScriptLoader._referencedScripts = []; 3758 Sys._ScriptLoader.readLoadedScripts(); 3759 } 3760 return Sys._ScriptLoader._referencedScripts; 3761} 3762 3763Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) { 3764 /// <summary locid="M:J#Sys._ScriptLoaderTask.#ctor" /> 3765 /// <param name="scriptElement" domElement="true"></param> 3766 /// <param name="completedCallback" type="Function"></param> 3767 var e = Function._validateParams(arguments, [ 3768 {name: "scriptElement", domElement: true}, 3769 {name: "completedCallback", type: Function} 3770 ]); 3771 if (e) throw e; 3772 this._scriptElement = scriptElement; 3773 this._completedCallback = completedCallback; 3774 this._notified = 0; 3775} 3776 function Sys$_ScriptLoaderTask$get_scriptElement() { 3777 /// <value domElement="true" locid="P:J#Sys._ScriptLoaderTask.scriptElement"></value> 3778 if (arguments.length !== 0) throw Error.parameterCount(); 3779 return this._scriptElement; 3780 } 3781 function Sys$_ScriptLoaderTask$dispose() { 3782 if(this._disposed) { 3783 return; 3784 } 3785 this._disposed = true; 3786 this._removeScriptElementHandlers(); 3787 Sys._ScriptLoader._clearScript(this._scriptElement); 3788 this._scriptElement = null; 3789 } 3790 function Sys$_ScriptLoaderTask$execute() { 3791 /// <summary locid="M:J#Sys._ScriptLoaderTask.execute" /> 3792 if (arguments.length !== 0) throw Error.parameterCount(); 3793 this._addScriptElementHandlers(); 3794 var headElements = document.getElementsByTagName('head'); 3795 if (headElements.length === 0) { 3796 throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead); 3797 } 3798 else { 3799 headElements[0].appendChild(this._scriptElement); 3800 } 3801 } 3802 function Sys$_ScriptLoaderTask$_addScriptElementHandlers() { 3803 this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler); 3804 3805 if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { 3806 this._scriptElement.readyState = 'loaded'; 3807 $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate); 3808 } 3809 else { 3810 $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate); 3811 } 3812 if (this._scriptElement.addEventListener) { 3813 this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler); 3814 this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false); 3815 } 3816 } 3817 function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() { 3818 if(this._scriptLoadDelegate) { 3819 var scriptElement = this.get_scriptElement(); 3820 if (Sys.Browser.agent !== Sys.Browser.InternetExplorer) { 3821 $removeHandler(scriptElement, 'load', this._scriptLoadDelegate); 3822 } 3823 else { 3824 $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate); 3825 } 3826 if (this._scriptErrorDelegate) { 3827 this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false); 3828 this._scriptErrorDelegate = null; 3829 } 3830 this._scriptLoadDelegate = null; 3831 } 3832 } 3833 function Sys$_ScriptLoaderTask$_scriptErrorHandler() { 3834 if(this._disposed) { 3835 return; 3836 } 3837 3838 this._completedCallback(this.get_scriptElement(), false); 3839 } 3840 function Sys$_ScriptLoaderTask$_scriptLoadHandler() { 3841 if(this._disposed) { 3842 return; 3843 } 3844 var scriptElement = this.get_scriptElement(); 3845 if ((scriptElement.readyState !== 'loaded') && 3846 (scriptElement.readyState !== 'complete')) { 3847 return; 3848 } 3849 3850 var _this = this; 3851 window.setTimeout(function() { 3852 _this._completedCallback(scriptElement, true); 3853 }, 0); 3854 } 3855Sys._ScriptLoaderTask.prototype = { 3856 get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement, 3857 dispose: Sys$_ScriptLoaderTask$dispose, 3858 execute: Sys$_ScriptLoaderTask$execute, 3859 _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers, 3860 _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers, 3861 _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler, 3862 _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler 3863} 3864Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable); 3865 3866Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) { 3867 /// <summary locid="M:J#Sys.ApplicationLoadEventArgs.#ctor" /> 3868 /// <param name="components" type="Array" elementType="Sys.Component"></param> 3869 /// <param name="isPartialLoad" type="Boolean"></param> 3870 var e = Function._validateParams(arguments, [ 3871 {name: "components", type: Array, elementType: Sys.Component}, 3872 {name: "isPartialLoad", type: Boolean} 3873 ]); 3874 if (e) throw e; 3875 Sys.ApplicationLoadEventArgs.initializeBase(this); 3876 this._components = components; 3877 this._isPartialLoad = isPartialLoad; 3878} 3879 3880 function Sys$ApplicationLoadEventArgs$get_components() { 3881 /// <value type="Array" elementType="Sys.Component" locid="P:J#Sys.ApplicationLoadEventArgs.components"></value> 3882 if (arguments.length !== 0) throw Error.parameterCount(); 3883 return this._components; 3884 } 3885 function Sys$ApplicationLoadEventArgs$get_isPartialLoad() { 3886 /// <value type="Boolean" locid="P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value> 3887 if (arguments.length !== 0) throw Error.parameterCount(); 3888 return this._isPartialLoad; 3889 } 3890Sys.ApplicationLoadEventArgs.prototype = { 3891 get_components: Sys$ApplicationLoadEventArgs$get_components, 3892 get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad 3893} 3894Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs); 3895Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) { 3896 /// <summary locid="M:J#Sys.HistoryEventArgs.#ctor" /> 3897 /// <param name="state" type="Object"></param> 3898 var e = Function._validateParams(arguments, [ 3899 {name: "state", type: Object} 3900 ]); 3901 if (e) throw e; 3902 Sys.HistoryEventArgs.initializeBase(this); 3903 this._state = state; 3904} 3905 function Sys$HistoryEventArgs$get_state() { 3906 /// <value type="Object" locid="P:J#Sys.HistoryEventArgs.state"></value> 3907 if (arguments.length !== 0) throw Error.parameterCount(); 3908 return this._state; 3909 } 3910Sys.HistoryEventArgs.prototype = { 3911 get_state: Sys$HistoryEventArgs$get_state 3912} 3913Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs); 3914 3915Sys._Application = function Sys$_Application() { 3916 /// <summary locid="M:J#Sys.Application.#ctor" /> 3917 if (arguments.length !== 0) throw Error.parameterCount(); 3918 Sys._Application.initializeBase(this); 3919 this._disposableObjects = []; 3920 this._components = {}; 3921 this._createdComponents = []; 3922 this._secondPassComponents = []; 3923 this._appLoadHandler = null; 3924 this._beginRequestHandler = null; 3925 this._clientId = null; 3926 this._currentEntry = ''; 3927 this._endRequestHandler = null; 3928 this._history = null; 3929 this._enableHistory = false; 3930 this._historyEnabledInScriptManager = false; 3931 this._historyFrame = null; 3932 this._historyInitialized = false; 3933 this._historyInitialLength = 0; 3934 this._historyLength = 0; 3935 this._historyPointIsNew = false; 3936 this._ignoreTimer = false; 3937 this._initialState = null; 3938 this._state = {}; 3939 this._timerCookie = 0; 3940 this._timerHandler = null; 3941 this._uniqueId = null; 3942 this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler); 3943 this._loadHandlerDelegate = Function.createDelegate(this, this._loadHandler); 3944 Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate); 3945 Sys.UI.DomEvent.addHandler(window, "load", this._loadHandlerDelegate); 3946} 3947 function Sys$_Application$get_isCreatingComponents() { 3948 /// <value type="Boolean" locid="P:J#Sys.Application.isCreatingComponents"></value> 3949 if (arguments.length !== 0) throw Error.parameterCount(); 3950 return this._creatingComponents; 3951 } 3952 function Sys$_Application$get_stateString() { 3953 /// <value type="String" locid="P:J#Sys.Application.stateString"></value> 3954 if (arguments.length !== 0) throw Error.parameterCount(); 3955 var hash = window.location.hash; 3956 if (this._isSafari2()) { 3957 var history = this._getHistory(); 3958 if (history) { 3959 hash = history[window.history.length - this._historyInitialLength]; 3960 } 3961 } 3962 if ((hash.length > 0) && (hash.charAt(0) === '#')) { 3963 hash = hash.substring(1); 3964 } 3965 if (Sys.Browser.agent === Sys.Browser.Firefox) { 3966 hash = this._serializeState(this._deserializeState(hash, true)); 3967 } 3968 return hash; 3969 } 3970 function Sys$_Application$get_enableHistory() { 3971 /// <value type="Boolean" locid="P:J#Sys.Application.enableHistory"></value> 3972 if (arguments.length !== 0) throw Error.parameterCount(); 3973 return this._enableHistory;
3974 } 3975 function Sys$_Application$set_enableHistory(value) { 3976 var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); 3977 if (e) throw e; 3978 if (this._initialized && !this._initializing) { 3979 throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory); 3980 } 3981 else if (this._historyEnabledInScriptManager && !value) { 3982 throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination); 3983 } 3984 this._enableHistory = value; 3985 } 3986 function Sys$_Application$add_init(handler) { 3987 /// <summary locid="E:J#Sys.Application.init" /> 3988 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 3989 if (e) throw e; 3990 if (this._initialized) { 3991 handler(this, Sys.EventArgs.Empty); 3992 } 3993 else { 3994 this.get_events().addHandler("init", handler); 3995 } 3996 } 3997 function Sys$_Application$remove_init(handler) { 3998 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 3999 if (e) throw e; 4000 this.get_events().removeHandler("init", handler); 4001 } 4002 function Sys$_Application$add_load(handler) { 4003 /// <summary locid="E:J#Sys.Application.load" /> 4004 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4005 if (e) throw e; 4006 this.get_events().addHandler("load", handler); 4007 } 4008 function Sys$_Application$remove_load(handler) { 4009 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4010 if (e) throw e; 4011 this.get_events().removeHandler("load", handler); 4012 } 4013 function Sys$_Application$add_navigate(handler) { 4014 /// <summary locid="E:J#Sys.Application.navigate" /> 4015 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4016 if (e) throw e; 4017 this.get_events().addHandler("navigate", handler); 4018 } 4019 function Sys$_Application$remove_navigate(handler) { 4020 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4021 if (e) throw e; 4022 this.get_events().removeHandler("navigate", handler); 4023 } 4024 function Sys$_Application$add_unload(handler) { 4025 /// <summary locid="E:J#Sys.Application.unload" /> 4026 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4027 if (e) throw e; 4028 this.get_events().addHandler("unload", handler); 4029 } 4030 function Sys$_Application$remove_unload(handler) { 4031 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4032 if (e) throw e; 4033 this.get_events().removeHandler("unload", handler); 4034 } 4035 function Sys$_Application$addComponent(component) { 4036 /// <summary locid="M:J#Sys.Application.addComponent" /> 4037 /// <param name="component" type="Sys.Component"></param> 4038 var e = Function._validateParams(arguments, [ 4039 {name: "component", type: Sys.Component} 4040 ]); 4041 if (e) throw e; 4042 var id = component.get_id(); 4043 if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId); 4044 if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id)); 4045 this._components[id] = component; 4046 } 4047 function Sys$_Application$addHistoryPoint(state, title) { 4048 /// <summary locid="M:J#Sys.Application.addHistoryPoint" /> 4049 /// <param name="state" type="Object"></param> 4050 /// <param name="title" type="String" optional="true" mayBeNull="true"></param> 4051 var e = Function._validateParams(arguments, [ 4052 {name: "state", type: Object}, 4053 {name: "title", type: String, mayBeNull: true, optional: true} 4054 ]); 4055 if (e) throw e; 4056 if (!this._enableHistory) throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled); 4057 for (var n in state) { 4058 var v = state[n]; 4059 var t = typeof(v); 4060 if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) { 4061 throw Error.argument('state', Sys.Res.stateMustBeStringDictionary); 4062 } 4063 } 4064 this._ensureHistory(); 4065 var initialState = this._state; 4066 for (var key in state) { 4067 var value = state[key]; 4068 if (value === null) { 4069 if (typeof(initialState[key]) !== 'undefined') { 4070 delete initialState[key]; 4071 } 4072 } 4073 else { 4074 initialState[key] = value; 4075 } 4076 } 4077 var entry = this._serializeState(initialState); 4078 this._historyPointIsNew = true; 4079 this._setState(entry, title); 4080 this._raiseNavigate(); 4081 } 4082 function Sys$_Application$beginCreateComponents() { 4083 /// <summary locid="M:J#Sys.Application.beginCreateComponents" /> 4084 if (arguments.length !== 0) throw Error.parameterCount(); 4085 this._creatingComponents = true; 4086 } 4087 function Sys$_Application$dispose() { 4088 /// <summary locid="M:J#Sys.Application.dispose" /> 4089 if (arguments.length !== 0) throw Error.parameterCount(); 4090 if (!this._disposing) { 4091 this._disposing = true; 4092 if (this._timerCookie) { 4093 window.clearTimeout(this._timerCookie); 4094 delete this._timerCookie; 4095 } 4096 if (this._endRequestHandler) { 4097 Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler); 4098 delete this._endRequestHandler; 4099 } 4100 if (this._beginRequestHandler) { 4101 Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler); 4102 delete this._beginRequestHandler; 4103 } 4104 if (window.pageUnload) { 4105 window.pageUnload(this, Sys.EventArgs.Empty); 4106 } 4107 var unloadHandler = this.get_events().getHandler("unload"); 4108 if (unloadHandler) { 4109 unloadHandler(this, Sys.EventArgs.Empty); 4110 } 4111 var disposableObjects = Array.clone(this._disposableObjects); 4112 for (var i = 0, l = disposableObjects.length; i < l; i++) { 4113 disposableObjects[i].dispose(); 4114 } 4115 Array.clear(this._disposableObjects); 4116 Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate); 4117 if(this._loadHandlerDelegate) { 4118 Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); 4119 this._loadHandlerDelegate = null; 4120 } 4121 var sl = Sys._ScriptLoader.getInstance(); 4122 if(sl) { 4123 sl.dispose(); 4124 } 4125 Sys._Application.callBaseMethod(this, 'dispose'); 4126 } 4127 } 4128 function Sys$_Application$endCreateComponents() { 4129 /// <summary locid="M:J#Sys.Application.endCreateComponents" /> 4130 if (arguments.length !== 0) throw Error.parameterCount(); 4131 var components = this._secondPassComponents; 4132 for (var i = 0, l = components.length; i < l; i++) { 4133 var component = components[i].component; 4134 Sys$Component$_setReferences(component, components[i].references); 4135 component.endUpdate(); 4136 } 4137 this._secondPassComponents = []; 4138 this._creatingComponents = false; 4139 } 4140 function Sys$_Application$findComponent(id, parent) { 4141 /// <summary locid="M:J#Sys.Application.findComponent" /> 4142 /// <param name="id" type="String"></param> 4143 /// <param name="parent" optional="true" mayBeNull="true"></param> 4144 /// <returns type="Sys.Component" mayBeNull="true"></returns> 4145 var e = Function._validateParams(arguments, [ 4146 {name: "id", type: String}, 4147 {name: "parent", mayBeNull: true, optional: true} 4148 ]); 4149 if (e) throw e; 4150 return (parent ? 4151 ((Sys.IContainer.isInstanceOfType(parent)) ? 4152 parent.findComponent(id) : 4153 parent[id] || null) : 4154 Sys.Application._components[id] || null); 4155 } 4156 function Sys$_Application$getComponents() { 4157 /// <summary locid="M:J#Sys.Application.getComponents" /> 4158 /// <returns type="Array" elementType="Sys.Component"></returns> 4159 if (arguments.length !== 0) throw Error.parameterCount(); 4160 var res = []; 4161 var components = this._components; 4162 for (var name in components) { 4163 res[res.length] = components[name]; 4164 } 4165 return res; 4166 } 4167 function Sys$_Application$initialize() { 4168 /// <summary locid="M:J#Sys.Application.initialize" /> 4169 if (arguments.length !== 0) throw Error.parameterCount(); 4170 if(!this._initialized && !this._initializing) { 4171 this._initializing = true; 4172 var check, er, app = this;
4173 function init() { if (!app._initialized) app._doInitialize(); } 4174 4175 var onload = function() { 4176 Sys.UI.DomEvent.removeHandler(window, "load", onload); 4177 init(); 4178 } 4179 Sys.UI.DomEvent.addHandler(window, "load", onload); 4180 if (document.addEventListener) { 4181 try { 4182 document.addEventListener("DOMContentLoaded", check = function() { 4183 document.removeEventListener("DOMContentLoaded", check, false); 4184 init(); 4185 }, false); 4186 } 4187 catch (er) { } 4188 } 4189 else if (document.attachEvent) { 4190 if ((window == window.top) && document.documentElement.doScroll) { 4191 var timeout, el = document.createElement("div"); 4192 check = function() { 4193 try { 4194 el.doScroll("left"); 4195 } 4196 catch (er) { 4197 timeout = window.setTimeout(check, 0); 4198 return; 4199 } 4200 el = null; 4201 init(); 4202 } 4203 check(); 4204 } 4205 else { 4206 document.attachEvent("onreadystatechange", check = function() { 4207 if (document.readyState === "complete") { 4208 document.detachEvent("onreadystatechange", check); 4209 init(); 4210 } 4211 }); 4212 } 4213 } 4214 } 4215 } 4216 function Sys$_Application$notifyScriptLoaded() { 4217 /// <summary locid="M:J#Sys.Application.notifyScriptLoaded" /> 4218 if (arguments.length !== 0) throw Error.parameterCount(); 4219 var sl = Sys._ScriptLoader.getInstance(); 4220 if(sl) { 4221 sl.notifyScriptLoaded(); 4222 } 4223 } 4224 function Sys$_Application$registerDisposableObject(object) { 4225 /// <summary locid="M:J#Sys.Application.registerDisposableObject" /> 4226 /// <param name="object" type="Sys.IDisposable"></param> 4227 var e = Function._validateParams(arguments, [ 4228 {name: "object", type: Sys.IDisposable} 4229 ]); 4230 if (e) throw e; 4231 if (!this._disposing) { 4232 this._disposableObjects[this._disposableObjects.length] = object; 4233 } 4234 } 4235 function Sys$_Application$raiseLoad() { 4236 /// <summary locid="M:J#Sys.Application.raiseLoad" /> 4237 if (arguments.length !== 0) throw Error.parameterCount(); 4238 var h = this.get_events().getHandler("load"); 4239 var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !this._initializing); 4240 if (h) { 4241 h(this, args); 4242 } 4243 if (window.pageLoad) { 4244 window.pageLoad(this, args); 4245 } 4246 this._createdComponents = []; 4247 } 4248 function Sys$_Application$removeComponent(component) { 4249 /// <summary locid="M:J#Sys.Application.removeComponent" /> 4250 /// <param name="component" type="Sys.Component"></param> 4251 var e = Function._validateParams(arguments, [ 4252 {name: "component", type: Sys.Component} 4253 ]); 4254 if (e) throw e; 4255 var id = component.get_id(); 4256 if (id) delete this._components[id]; 4257 } 4258 function Sys$_Application$setServerId(clientId, uniqueId) { 4259 /// <summary locid="M:J#Sys.Application.setServerId" /> 4260 /// <param name="clientId" type="String"></param> 4261 /// <param name="uniqueId" type="String"></param> 4262 var e = Function._validateParams(arguments, [ 4263 {name: "clientId", type: String}, 4264 {name: "uniqueId", type: String} 4265 ]); 4266 if (e) throw e; 4267 this._clientId = clientId; 4268 this._uniqueId = uniqueId; 4269 } 4270 function Sys$_Application$setServerState(value) { 4271 /// <summary locid="M:J#Sys.Application.setServerState" /> 4272 /// <param name="value" type="String"></param> 4273 var e = Function._validateParams(arguments, [ 4274 {name: "value", type: String} 4275 ]); 4276 if (e) throw e; 4277 this._ensureHistory(); 4278 this._state.__s = value; 4279 this._updateHiddenField(value); 4280 } 4281 function Sys$_Application$unregisterDisposableObject(object) { 4282 /// <summary locid="M:J#Sys.Application.unregisterDisposableObject" /> 4283 /// <param name="object" type="Sys.IDisposable"></param> 4284 var e = Function._validateParams(arguments, [ 4285 {name: "object", type: Sys.IDisposable} 4286 ]); 4287 if (e) throw e; 4288 if (!this._disposing) { 4289 Array.remove(this._disposableObjects, object); 4290 } 4291 } 4292 function Sys$_Application$_addComponentToSecondPass(component, references) { 4293 this._secondPassComponents[this._secondPassComponents.length] = {c
4293omponent: component, references: references}; 4294 } 4295 function Sys$_Application$_deserializeState(entry, skipDecodeUri) { 4296 var result = {}; 4297 entry = entry || ''; 4298 var serverSeparator = entry.indexOf('&&'); 4299 if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) { 4300 result.__s = entry.substr(serverSeparator + 2); 4301 entry = entry.substr(0, serverSeparator); 4302 } 4303 var tokens = entry.split('&'); 4304 for (var i = 0, l = tokens.length; i < l; i++) { 4305 var token = tokens[i]; 4306 var equal = token.indexOf('='); 4307 if ((equal !== -1) && (equal + 1 < token.length)) { 4308 var name = token.substr(0, equal); 4309 var value = token.substr(equal + 1); 4310 result[name] = skipDecodeUri ? value : decodeURIComponent(value); 4311 } 4312 } 4313 return result; 4314 } 4315 function Sys$_Application$_doInitialize() { 4316 Sys._Application.callBaseMethod(this, 'initialize'); 4317 4318 var handler = this.get_events().getHandler("init"); 4319 if (handler) { 4320 this.beginCreateComponents(); 4321 handler(this, Sys.EventArgs.Empty); 4322 this.endCreateComponents(); 4323 } 4324 if (Sys.WebForms) { 4325 this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest); 4326 Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler); 4327 this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest); 4328 Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler); 4329 } 4330 4331 var loadedEntry = this.get_stateString(); 4332 if (loadedEntry !== this._currentEntry) { 4333 this._navigate(loadedEntry); 4334 } 4335
4336 this.raiseLoad(); 4337 this._initializing = false; 4338 } 4339 function Sys$_Application$_enableHistoryInScriptManager() { 4340 this._enableHistory = true; 4341 this._historyEnabledInScriptManager = true; 4342 } 4343 function Sys$_Application$_ensureHistory() { 4344 if (!this._historyInitialized && this._enableHistory) { 4345 if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) { 4346 this._historyFrame = document.getElementById('__historyFrame'); 4347 if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame); 4348 this._ignoreIFrame = true; 4349 } 4350 if (this._isSafari2()) { 4351 var historyElement = document.getElementById('__history'); 4352 if (!historyElement) throw Error.invalidOperation(Sys.Res.historyMissingHiddenInput); 4353 this._setHistory([window.location.hash]); 4354 this._historyInitialLength = window.history.length; 4355 } 4356 4357 this._timerHandler = Function.createDelegate(this, this._onIdle); 4358 this._timerCookie = window.setTimeout(this._timerHandler, 100); 4359 4360 try { 4361 this._initialState = this._deserializeState(this.get_stateString()); 4362 } catch(e) {} 4363 4364 this._historyInitialized = true; 4365 } 4366 } 4367 function Sys$_Application$_getHistory() { 4368 var historyElement = document.getElementById('__history'); 4369 if (!historyElement) return ''; 4370 var v = historyElement.value; 4371 return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, true) : ''; 4372 } 4373 function Sys$_Application$_isSafari2() { 4374 return (Sys.Browser.agent === Sys.Browser.Safari) && 4375 (Sys.Browser.version <= 419.3); 4376 } 4377 function Sys$_Application$_loadHandler() { 4378 if(this._loadHandlerDelegate) { 4379 Sys.UI.DomEvent.removeHandler(window, "load", this._loadHandlerDelegate); 4380 this._loadHandlerDelegate = null; 4381 } 4382 this.initialize(); 4383 } 4384 function Sys$_Application$_navigate(entry) { 4385 this._ensureHistory(); 4386 var state = this._deserializeState(entry); 4387 4388 if (this._uniqueId) { 4389 var oldServerEntry = this._state.__s || ''; 4390 var newServerEntry = state.__s || ''; 4391 if (newServerEntry !== oldServerEntry) { 4392 this._updateHiddenField(newServerEntry); 4393 __doPostBack(this._uniqueId, newServerEntry); 4394 this._state = state; 4395 return; 4396 } 4397 } 4398 this._setState(entry); 4399 this._state = state; 4400 this._raiseNavigate(); 4401 } 4402 function Sys$_Application$_onIdle() { 4403 delete this._timerCookie; 4404 4405 var entry = this.get_stateString(); 4406 if (entry !== this._currentEntry) { 4407 if (!this._ignoreTimer) { 4408 this._historyPointIsNew = false; 4409 this._navigate(entry); 4410 this._historyLength = window.history.length; 4411 } 4412 } 4413 else { 4414 this._ignoreTimer = false; 4415 } 4416 this._timerCookie = window.setTimeout(this._timerHandler, 100); 4417 } 4418 function Sys$_Application$_onIFrameLoad(entry) { 4419 this._ensureHistory(); 4420 if (!this._ignoreIFrame) { 4421 this._historyPointIsNew = false; 4422 this._navigate(entry); 4423 } 4424 this._ignoreIFrame = false; 4425 } 4426 function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) { 4427 this._ignoreTimer = true; 4428 } 4429 function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) { 4430 var dataItem = args.get_dataItems()[this._clientId]; 4431 var eventTarget = document.getElementById("__EVENTTARGET"); 4432 if (eventTarget && eventTarget.value === this._uniqueId) { 4433 eventTarget.value = ''; 4434 } 4435 if (typeof(dataItem) !== 'undefined') { 4436 this.setServerState(dataItem); 4437 this._historyPointIsNew = true; 4438 } 4439 else { 4440 this._ignoreTimer = false; 4441 } 4442 var entry = this._serializeState(this._state); 4443 if (entry !== this._currentEntry) { 4444 this._ignoreTimer = true; 4445 this._setState(entry); 4446 this._raiseNavigate(); 4447 } 4448 } 4449 function Sys$_Application$_raiseNavigate() { 4450 var h = this.get_events().getHandler("navigate"); 4451 var stateClone = {}; 4452 for (var key in this._state) { 4453 if (key !== '__s') { 4454 stateClone[key] = this._state[key]; 4455 } 4456 } 4457 var args = new Sys.HistoryEventArgs(stateClone); 4458 if (h) { 4459 h(this, args); 4460 } 4461 } 4462 function Sys$_Application$_serializeState(state) { 4463 var serialized = []; 4464 for (var key in state) { 4465 var value = state[key]; 4466 if (key === '__s') { 4467 var serverState = value; 4468 } 4469 else { 4470 if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid); 4471 serialized[serialized.length] = key + '=' + encodeURIComponent(value); 4472 } 4473 } 4474 return serialized.join('&') + (serverState ? '&&' + serverState : ''); 4475 } 4476 function Sys$_Application$_setHistory(historyArray) { 4477 var historyElement = document.getElementById('__history'); 4478 if (historyElement) {
4479 historyElement.value = Sys.Serialization.JavaScriptSerializer.serialize(historyArray); 4480 } 4481 } 4482 function Sys$_Application$_setState(entry, title) { 4483 entry = entry || ''; 4484 if (entry !== this._currentEntry) { 4485 if (window.theForm) { 4486 var action = window.theForm.action; 4487 var hashIndex = action.indexOf('#'); 4488 window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry; 4489 } 4490 4491 if (this._historyFrame && this._historyPointIsNew) { 4492 this._ignoreIFrame = true; 4493 this._historyPointIsNew = false; 4494 var frameDoc = this._historyFrame.contentWindow.document; 4495 frameDoc.open("javascript:'<html></html>'"); 4496 frameDoc.write("<html><head><title>" + (title || document.title) + 4497 "</title><scri" + "pt type=\"text/javascript\">parent.Sys.Application._onIFrameLoad('" + 4498 entry + "');</scri" + "pt></head><body></body></html>"); 4499 frameDoc.close(); 4500 } 4501 this._ignoreTimer = false; 4502 var currentHash = this.get_stateString(); 4503 this._currentEntry = entry; 4504 if (entry !== currentHash) { 4505 var loc = document.location; 4506 if (loc.href.length - loc.hash.length + entry.length > 1024) { 4507 throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars); 4508 } 4509 if (this._isSafari2()) { 4510 var history = this._getHistory(); 4511 history[window.history.length - this._historyInitialLength + 1] = entry; 4512 this._setHistory(history); 4513 this._historyLength = window.history.length + 1; 4514 var form = document.createElement('form'); 4515 form.method = 'get'; 4516 form.action = '#' + entry; 4517 document.appendChild(form); 4518 form.submit(); 4519 document.removeChild(form); 4520 } 4521 else { 4522 window.location.hash = entry; 4523 } 4524 if ((typeof(title) !== 'undefined') && (title !== null)) { 4525 document.title = title; 4526 } 4527 } 4528 } 4529 } 4530 function Sys$_Application$_unloadHandler(event) { 4531 this.dispose(); 4532 } 4533 function Sys$_Application$_updateHiddenField(value) { 4534 if (this._clientId) { 4535 var serverStateField = document.getElementById(this._clientId); 4536 if (serverStateField) { 4537 serverStateField.value = value; 4538 } 4539 } 4540 } 4541Sys._Application.prototype = { 4542 _creatingComponents: false, 4543 _disposing: false, 4544 get_isCreatingComponents: Sys$_Application$get_isCreatingComponents, 4545 get_stateString: Sys$_Application$get_stateString, 4546 get_enableHistory: Sys$_Application$get_enableHistory, 4547 set_enableHistory: Sys$_Application$set_enableHistory, 4548 add_init: Sys$_Application$add_init, 4549 remove_init: Sys$_Application$remove_init, 4550 add_load: Sys$_Application$add_load, 4551 remove_load: Sys$_Application$remove_load, 4552 add_navigate: Sys$_Application$add_navigate, 4553 remove_navigate: Sys$_Application$remove_navigate, 4554 add_unload: Sys$_Application$add_unload, 4555 remove_unload: Sys$_Application$remove_unload, 4556 addComponent: Sys$_Application$addComponent, 4557 addHistoryPoint: Sys$_Application$addHistoryPoint, 4558 beginCreateComponents: Sys$_Application$beginCreateComponents, 4559 dispose: Sys$_Application$dispose, 4560 endCreateComponents: Sys$_Application$endCreateComponents, 4561 findComponent: Sys$_Application$findComponent, 4562 getComponents: Sys$_Application$getComponents, 4563 initialize: Sys$_Application$initialize, 4564 notifyScriptLoaded: Sys$_Application$notifyScriptLoaded, 4565 registerDisposableObject: Sys$_Application$registerDisposableObject,
4566 raiseLoad: Sys$_Application$raiseLoad, 4567 removeComponent: Sys$_Application$removeComponent, 4568 setServerId: Sys$_Application$setServerId, 4569 setServerState: Sys$_Application$setServerState, 4570 unregisterDisposableObject: Sys$_Application$unregisterDisposableObject, 4571 _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass, 4572 _deserializeState: Sys$_Application$_deserializeState, 4573 _doInitialize: Sys$_Application$_doInitialize, 4574 _enableHistoryInScriptManager: Sys$_Application$_enableHistoryInScriptManager, 4575 _ensureHistory: Sys$_Application$_ensureHistory, 4576 _getHistory: Sys$_Application$_getHistory, 4577 _isSafari2: Sys$_Application$_isSafari2, 4578 _loadHandler: Sys$_Application$_loadHandler, 4579 _navigate: Sys$_Application$_navigate, 4580 _onIdle: Sys$_Application$_onIdle, 4581 _onIFrameLoad: Sys$_Application$_onIFrameLoad, 4582 _onPageRequestManagerBeginRequest: Sys$_Application$_onPageRequestManagerBeginRequest, 4583 _onPageRequestManagerEndRequest: Sys$_Application$_onPageRequestManagerEndRequest, 4584 _raiseNavigate: Sys$_Application$_raiseNavigate, 4585 _serializeState: Sys$_Application$_serializeState, 4586 _setHistory: Sys$_Application$_setHistory, 4587 _setState: Sys$_Application$_setState, 4588 _unloadHandler: Sys$_Application$_unloadHandler, 4589 _updateHiddenField: Sys$_Application$_updateHiddenField 4590} 4591Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer); 4592Sys.Application = new Sys._Application(); 4593var $find = Sys.Application.findComponent; 4594Type.registerNamespace('Sys.Net'); 4595 4596Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() { 4597 /// <summary locid="M:J#Sys.Net.WebRequestExecutor.#ctor" /> 4598 if (arguments.length !== 0) throw Error.parameterCount(); 4599 this._webRequest = null; 4600 this._resultObject = null; 4601} 4602 function Sys$Net$WebRequestExecutor$get_webRequest() { 4603 /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.WebRequestExecutor.webRequest"></value> 4604 if (arguments.length !== 0) throw Error.parameterCount(); 4605 return this._webRequest; 4606 } 4607 function Sys$Net$WebRequestExecutor$_set_webRequest(value) { 4608 if (this.get_started()) { 4609 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'set_webRequest')); 4610 } 4611 this._webRequest = value; 4612 } 4613 function Sys$Net$WebRequestExecutor$get_started() { 4614 /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.started"></value> 4615 if (arguments.length !== 0) throw Error.parameterCount(); 4616 throw Error.notImplemented(); 4617 } 4618 function Sys$Net$WebRequestExecutor$get_responseAvailable() { 4619 /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value> 4620 if (arguments.length !== 0) throw Error.parameterCount(); 4621 throw Error.notImplemented(); 4622 } 4623 function Sys$Net$WebRequestExecutor$get_timedOut() { 4624 /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.timedOut"></value> 4625 if (arguments.length !== 0) throw Error.parameterCount(); 4626 throw Error.notImplemented(); 4627 } 4628 function Sys$Net$WebRequestExecutor$get_aborted() { 4629 /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.aborted"></value> 4630 if (arguments.length !== 0) throw Error.parameterCount(); 4631 throw Error.notImplemented(); 4632 } 4633 function Sys$Net$WebRequestExecutor$get_responseData() { 4634 /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.responseData"></value> 4635 if (arguments.length !== 0) throw Error.parameterCount(); 4636 throw Error.notImplemented(); 4637 } 4638 function Sys$Net$WebRequestExecutor$get_statusCode() { 4639 /// <value type="Number" locid="P:J#Sys.Net.WebRequestExecutor.statusCode"></value> 4640 if (arguments.length !== 0) throw Error.parameterCount(); 4641 throw Error.notImplemented(); 4642 } 4643 function Sys$Net$WebRequestExecutor$get_statusText() { 4644 /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.statusText"></value> 4645 if (arguments.length !== 0) throw Error.parameterCount(); 4646 throw Error.notImplemented(); 4647 } 4648 function Sys$Net$WebRequestExecutor$get_xml() { 4649 /// <value locid="P:J#Sys.Net.WebRequestExecutor.xml"></value> 4650 if (arguments.length !== 0) throw Error.parameterCount(); 4651 throw Error.notImplemented(); 4652 } 4653 function Sys$Net$WebRequestExecutor$get_object() { 4654 /// <value locid="P:J#Sys.Net.WebRequestExecutor.object"></value> 4655 if (arguments.length !== 0) throw Error.parameterCount(); 4656 if (!this._resultObject) { 4657 this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData()); 4658 } 4659 return this._resultObject; 4660 } 4661 function Sys$Net$WebRequestExecutor$executeRequest() { 4662 /// <summary locid="M:J#Sys.Net.WebRequestExecutor.executeRequest" /> 4663 if (arguments.length !== 0) throw Error.parameterCount(); 4664 throw Error.notImplemented(); 4665 } 4666 function Sys$Net$WebRequestExecutor$abort() { 4667 /// <summary locid="M:J#Sys.Net.WebRequestExecutor.abort" /> 4668 if (arguments.length !== 0) throw Error.parameterCount(); 4669 throw Error.notImplemented(); 4670 } 4671 function Sys$Net$WebRequestExecutor$getResponseHeader(header) { 4672 /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getResponseHeader" /> 4673 /// <param name="header" type="String"></param> 4674 var e = Function._validateParams(arguments, [ 4675 {name: "header", type: String} 4676 ]); 4677 if (e) throw e; 4678 throw Error.notImplemented(); 4679 } 4680 function Sys$Net$WebRequestExecutor$getAllResponseHeaders() { 4681 /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" /> 4682 if (arguments.length !== 0) throw Error.parameterCount(); 4683 throw Error.notImplemented(); 4684 } 4685Sys.Net.WebRequestExecutor.prototype = { 4686 get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest, 4687 _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest, 4688 get_started: Sys$Net$WebRequestExecutor$get_started, 4689 get_responseAvailable: Sys$Net$WebRequestExecutor$get_responseAvailable, 4690 get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut, 4691 get_aborted: Sys$Net$WebRequestExecutor$get_aborted, 4692 get_responseData: Sys$Net$WebRequestExecutor$get_responseData, 4693 get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode, 4694 get_statusText: Sys$Net$WebRequestExecutor$get_statusText, 4695 get_xml: Sys$Net$WebRequestExecutor$get_xml, 4696 get_object: Sys$Net$WebRequestExecutor$get_object, 4697 executeRequest: Sys$Net$WebRequestExecutor$executeRequest, 4698 abort: Sys$Net$WebRequestExecutor$abort, 4699 getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader, 4700 getAllResponseHeaders: Sys$Net$WebRequestExecutor$getAllResponseHeaders 4701} 4702Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor'); 4703 4704Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) { 4705 /// <summary locid="M:J#Sys.Net.XMLDOM.#ctor" /> 4706 /// <param name="markup" type="String"></param> 4707 var e = Function._validateParams(arguments, [ 4708 {name: "markup", type: String} 4709 ]); 4710 if (e) throw e; 4711 if (!window.DOMParser) { 4712 var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ]; 4713 for (var i = 0, l = progIDs.length; i < l; i++) { 4714 try { 4715 var xmlDOM = new ActiveXObject(progIDs[i]); 4716 xmlDOM.async = false; 4717 xmlDOM.loadXML(markup); 4718 xmlDOM.setProperty('SelectionLanguage', 'XPath'); 4719 return xmlDOM; 4720 } 4721 catch (ex) { 4722 } 4723 } 4724 } 4725 else { 4726 try { 4727 var domParser = new window.DOMParser(); 4728 return domParser.parseFromString(markup, 'text/xml'); 4729 } 4730 catch (ex) { 4731 } 4732 } 4733 return null; 4734} 4735Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() { 4736 /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.#ctor" /> 4737 if (arguments.length !== 0) throw Error.parameterCount(); 4738 Sys.Net.XMLHttpExecutor.initializeBase(this); 4739 var _this = this; 4740 this._xmlHttpRequest = null; 4741 this._webRequest = null; 4742 this._responseAvailable = false; 4743 this._timedOut = false; 4744 this._timer = null; 4745 this._aborted = false; 4746 this._started = false; 4747 this._onReadyStateChange = (function () { 4748 4749 if (_this._xmlHttpRequest.readyState === 4 ) { 4750 try { 4751 if (typeof(_this._xmlHttpRequest.status) === "undefined") { 4752 return; 4753 } 4754 } 4755 catch(ex) { 4756 return; 4757 } 4758 4759 _this._clearTimer(); 4760 _this._responseAvailable = true; 4761 try { 4762 _this._webRequest.completed(Sys.EventArgs.Empty); 4763 } 4764 finally { 4765 if (_this._xmlHttpRequest != null) { 4766 _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; 4767 _this._xmlHttpRequest = null; 4768 } 4769 } 4770 } 4771 });
4772 this._clearTimer = (function() { 4773 if (_this._timer != null) { 4774 window.clearTimeout(_this._timer); 4775 _this._timer = null; 4776 } 4777 }); 4778 this._onTimeout = (function() { 4779 if (!_this._responseAvailable) { 4780 _this._clearTimer(); 4781 _this._timedOut = true; 4782 _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; 4783 _this._xmlHttpRequest.abort(); 4784 _this._webRequest.completed(Sys.EventArgs.Empty); 4785 _this._xmlHttpRequest = null; 4786 } 4787 }); 4788} 4789 function Sys$Net$XMLHttpExecutor$get_timedOut() { 4790 /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.timedOut"></value> 4791 if (arguments.length !== 0) throw Error.parameterCount(); 4792 return this._timedOut; 4793 } 4794 function Sys$Net$XMLHttpExecutor$get_started() { 4795 /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.started"></value> 4796 if (arguments.length !== 0) throw Error.parameterCount(); 4797 return this._started; 4798 } 4799 function Sys$Net$XMLHttpExecutor$get_responseAvailable() { 4800 /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value> 4801 if (arguments.length !== 0) throw Error.parameterCount(); 4802 return this._responseAvailable; 4803 } 4804 function Sys$Net$XMLHttpExecutor$get_aborted() { 4805 /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.aborted"></value> 4806 if (arguments.length !== 0) throw Error.parameterCount(); 4807 return this._aborted; 4808 } 4809 function Sys$Net$XMLHttpExecutor$executeRequest() { 4810 /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.executeRequest" /> 4811 if (arguments.length !== 0) throw Error.parameterCount(); 4812 this._webRequest = this.get_webRequest(); 4813 if (this._started) { 4814 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest')); 4815 } 4816 if (this._webRequest === null) { 4817 throw Error.invalidOperation(Sys.Res.nullWebRequest); 4818 } 4819 var body = this._webRequest.get_body(); 4820 var headers = this._webRequest.get_headers(); 4821 this._xmlHttpRequest = new XMLHttpRequest(); 4822 this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange; 4823 var verb = this._webRequest.get_httpVerb(); 4824 this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true ); 4825 if (headers) { 4826 for (var header in headers) { 4827 var val = headers[header]; 4828 if (typeof(val) !== "function") 4829 this._xmlHttpRequest.setRequestHeader(header, val); 4830 } 4831 } 4832 if (verb.toLowerCase() === "post") { 4833 if ((headers === null) || !headers['Content-Type']) { 4834 this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); 4835 } 4836 if (!body) { 4837 body = ""; 4838 } 4839 } 4840 var timeout = this._webRequest.get_timeout(); 4841 if (timeout > 0) { 4842 this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout); 4843 } 4844 this._xmlHttpRequest.send(body); 4845 this._started = true; 4846 } 4847 function Sys$Net$XMLHttpExecutor$getResponseHeader(header) { 4848 /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" /> 4849 /// <param name="header" type="String"></param> 4850 /// <returns type="String"></returns> 4851 var e = Function._validateParams(arguments, [ 4852 {name: "header", type: String} 4853 ]); 4854 if (e) throw e; 4855 if (!this._responseAvailable) { 4856 throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getResponseHeader')); 4857 } 4858 if (!this._xmlHttpRequest) { 4859 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getResponseHeader')); 4860 } 4861 var result; 4862 try { 4863 result = this._xmlHttpRequest.getResponseHeader(header); 4864 } catch (e) { 4865 } 4866 if (!result) result = ""; 4867 return result; 4868 } 4869 function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() { 4870 /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" /> 4871 /// <returns type="String"></returns> 4872 if (arguments.length !== 0) throw Error.parameterCount(); 4873 if (!this._responseAvailable) {
4874 throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'getAllResponseHeaders')); 4875 } 4876 if (!this._xmlHttpRequest) { 4877 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'getAllResponseHeaders')); 4878 } 4879 return this._xmlHttpRequest.getAllResponseHeaders(); 4880 } 4881 function Sys$Net$XMLHttpExecutor$get_responseData() { 4882 /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.responseData"></value> 4883 if (arguments.length !== 0) throw Error.parameterCount(); 4884 if (!this._responseAvailable) { 4885 throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_responseData')); 4886 } 4887 if (!this._xmlHttpRequest) { 4888 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_responseData')); 4889 } 4890 return this._xmlHttpRequest.responseText; 4891 } 4892 function Sys$Net$XMLHttpExecutor$get_statusCode() { 4893 /// <value type="Number" locid="P:J#Sys.Net.XMLHttpExecutor.statusCode"></value> 4894 if (arguments.length !== 0) throw Error.parameterCount(); 4895 if (!this._responseAvailable) { 4896 throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusCode')); 4897 } 4898 if (!this._xmlHttpRequest) { 4899 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusCode')); 4900 } 4901 var result = 0; 4902 try { 4903 result = this._xmlHttpRequest.status; 4904 } 4905 catch(ex) { 4906 } 4907 return result; 4908 } 4909 function Sys$Net$XMLHttpExecutor$get_statusText() { 4910 /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.statusText"></value> 4911 if (arguments.length !== 0) throw Error.parameterCount(); 4912 if (!this._responseAvailable) { 4913 throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_statusText')); 4914 } 4915 if (!this._xmlHttpRequest) { 4916 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_statusText')); 4917 } 4918 return this._xmlHttpRequest.statusText; 4919 } 4920 function Sys$Net$XMLHttpExecutor$get_xml() { 4921 /// <value locid="P:J#Sys.Net.XMLHttpExecutor.xml"></value> 4922 if (arguments.length !== 0) throw Error.parameterCount(); 4923 if (!this._responseAvailable) { 4924 throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, 'get_xml')); 4925 } 4926 if (!this._xmlHttpRequest) { 4927 throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, 'get_xml')); 4928 } 4929 var xml = this._xmlHttpRequest.responseXML; 4930 if (!xml || !xml.documentElement) { 4931 xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText); 4932 if (!xml || !xml.documentElement) 4933 return null; 4934 } 4935 else if (navigator.userAgent.indexOf('MSIE') !== -1 && typeof(xml.setProperty) != 'undefined') { 4936 xml.setProperty('SelectionLanguage', 'XPath'); 4937 } 4938 if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" && 4939 xml.documentElement.tagName === "parsererror") { 4940 return null; 4941 } 4942 4943 if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") { 4944 return null; 4945 } 4946 4947 return xml; 4948 } 4949 function Sys$Net$XMLHttpExecutor$abort() { 4950 /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.abort" /> 4951 if (arguments.length !== 0) throw Error.parameterCount(); 4952 if (!this._started) { 4953 throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart); 4954 } 4955 if (this._aborted || this._responseAvailable || this._timedOut) 4956 return; 4957 this._aborted = true; 4958 this._clearTimer(); 4959 if (this._xmlHttpRequest && !this._responseAvailable) { 4960 this._xmlHttpRequest.onreadystatechange = Function.emptyMethod; 4961 this._xmlHttpRequest.abort(); 4962 4963 this._xmlHttpRequest = null; 4964 this._webRequest.completed(Sys.EventArgs.Empty); 4965 } 4966 } 4967Sys.Net.XMLHttpExecutor.prototype = { 4968 get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut, 4969 get_started: Sys$Net$XMLHttpExecutor$get_started, 4970 get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable, 4971 get_aborted: Sys$Net$XMLHttpExecutor$get_aborted, 4972 executeRequest: Sys$Net$XMLHttpExecutor$executeRequest, 4973 getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader, 4974 getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders, 4975 get_responseData: Sys$Net$XMLHttpExecutor$get_responseData, 4976 get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode, 4977 get_statusText: Sys$Net$XMLHttpExecutor$get_statusText, 4978 get_xml: Sys$Net$XMLHttpExecutor$get_xml, 4979 abort: Sys$Net$XMLHttpExecutor$abort 4980} 4981Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor); 4982 4983Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() { 4984 /// <summary locid="P:J#Sys.Net.WebRequestManager.#ctor" /> 4985 if (arguments.length !== 0) throw Error.parameterCount(); 4986 this._defaultTimeout = 0; 4987 this._defaultExecutorType = "Sys.Net.XMLHttpExecutor"; 4988} 4989 function Sys$Net$_WebRequestManager$add_invokingRequest(handler) { 4990 /// <summary locid="E:J#Sys.Net.WebRequestManager.invokingRequest" /> 4991 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4992 if (e) throw e; 4993 this._get_eventHandlerList().addHandler("invokingRequest", handler); 4994 } 4995 function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) { 4996 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 4997 if (e) throw e; 4998 this._get_eventHandlerList().removeHandler("invokingRequest", handler); 4999 } 5000 function Sys$Net$_WebRequestManager$add_completedRequest(handler) { 5001 /// <summary locid="E:J#Sys.Net.WebRequestManager.completedRequest" /> 5002 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 5003 if (e) throw e; 5004 this._get_eventHandlerList().addHandler("completedRequest", handler); 5005 } 5006 function Sys$Net$_WebRequestManager$remove_completedRequest(handler) { 5007 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 5008 if (e) throw e; 5009 this._get_eventHandlerList().removeHandler("completedRequest", handler); 5010 } 5011 function Sys$Net$_WebRequestManager$_get_eventHandlerList() { 5012 if (!this._events) { 5013 this._events = new Sys.EventHandlerList(); 5014 } 5015 return this._events; 5016 } 5017 function Sys$Net$_WebRequestManager$get_defaultTimeout() { 5018 /// <value type="Number" locid="P:J#Sys.Net.WebRequestManager.defaultTimeout"></value> 5019 if (arguments.length !== 0) throw Error.parameterCount(); 5020 return this._defaultTimeout; 5021 } 5022 function Sys$Net$_WebRequestManager$set_defaultTimeout(value) { 5023 var e = Function._validateParams(arguments, [{name: "value", type: Number}]); 5024 if (e) throw e; 5025 if (value < 0) { 5026 throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); 5027 } 5028 this._defaultTimeout = value; 5029 } 5030 function Sys$Net$_WebRequestManager$get_defaultExecutorType() { 5031 /// <value type="String" locid="P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value> 5032 if (arguments.length !== 0) throw Error.parameterCount(); 5033 return this._defaultExecutorType; 5034 } 5035 function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) { 5036 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 5037 if (e) throw e; 5038 this._defaultExecutorType = value; 5039 } 5040 function Sys$Net$_WebRequestManager$executeRequest(webRequest) { 5041 /// <summary locid="M:J#Sys.Net.WebRequestManager.executeRequest" /> 5042 /// <param name="webRequest" type="Sys.Net.WebRequest"></param> 5043 var e = Function._validateParams(arguments, [
5044 {name: "webRequest", type: Sys.Net.WebRequest} 5045 ]); 5046 if (e) throw e; 5047 var executor = webRequest.get_executor(); 5048 if (!executor) { 5049 var failed = false; 5050 try { 5051 var executorType = eval(this._defaultExecutorType); 5052 executor = new executorType(); 5053 } catch (e) { 5054 failed = true; 5055 } 5056 if (failed || !Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) { 5057 throw Error.argument("defaultExecutorType", String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType)); 5058 } 5059 webRequest.set_executor(executor); 5060 } 5061 if (executor.get_aborted()) { 5062 return; 5063 } 5064 var evArgs = new Sys.Net.NetworkRequestEventArgs(webRequest); 5065 var handler = this._get_eventHandlerList().getHandler("invokingRequest"); 5066 if (handler) { 5067 handler(this, evArgs); 5068 } 5069 if (!evArgs.get_cancel()) { 5070 executor.executeRequest(); 5071 } 5072 } 5073Sys.Net._WebRequestManager.prototype = { 5074 add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest, 5075 remove_invokingRequest: Sys$Net$_WebRequestManager$remove_invokingRequest, 5076 add_completedRequest: Sys$Net$_WebRequestManager$add_completedRequest, 5077 remove_completedRequest: Sys$Net$_WebRequestManager$remove_completedRequest, 5078 _get_eventHandlerList: Sys$Net$_WebRequestManager$_get_eventHandlerList, 5079 get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout, 5080 set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout, 5081 get_defaultExecutorType: Sys$Net$_WebRequestManager$get_defaultExecutorType, 5082 set_defaultExecutorType: Sys$Net$_WebRequestManager$set_defaultExecutorType, 5083 executeRequest: Sys$Net$_WebRequestManager$executeRequest 5084} 5085Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager'); 5086Sys.Net.WebRequestManager = new Sys.Net._WebRequestManager(); 5087 5088Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) { 5089 /// <summary locid="M:J#Sys.Net.NetworkRequestEventArgs.#ctor" /> 5090 /// <param name="webRequest" type="Sys.Net.WebRequest"></param> 5091 var e = Function._validateParams(arguments, [ 5092 {name: "webRequest", type: Sys.Net.WebRequest} 5093 ]); 5094 if (e) throw e; 5095 Sys.Net.NetworkRequestEventArgs.initializeBase(this); 5096 this._webRequest = webRequest; 5097} 5098 function Sys$Net$NetworkRequestEventArgs$get_webRequest() { 5099 /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value> 5100 if (arguments.length !== 0) throw Error.parameterCount(); 5101 return this._webRequest; 5102 } 5103Sys.Net.NetworkRequestEventArgs.prototype = { 5104 get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest 5105} 5106Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs); 5107 5108Sys.Net.WebRequest = function Sys$Net$WebRequest() { 5109 /// <summary locid="M:J#Sys.Net.WebRequest.#ctor" /> 5110 if (arguments.length !== 0) throw Error.parameterCount(); 5111 this._url = ""; 5112 this._headers = { }; 5113 this._body = null; 5114 this._userContext = null; 5115 this._httpVerb = null; 5116 this._executor = null; 5117 this._invokeCalled = false; 5118 this._timeout = 0; 5119} 5120 function Sys$Net$WebRequest$add_completed(handler) { 5121 /// <summary locid="E:J#Sys.Net.WebRequest.completed" /> 5122 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 5123 if (e) throw e; 5124 this._get_eventHandlerList().addHandler("completed", handler); 5125 } 5126 function Sys$Net$WebRequest$remove_completed(handler) { 5127 var e = Function._validateParams(arguments, [{name: "handler", type: Function}]); 5128 if (e) throw e; 5129 this._get_eventHandlerList().removeHandler("completed", handler); 5130 } 5131 function Sys$Net$WebRequest$completed(eventArgs) { 5132 /// <summary locid="M:J#Sys.Net.WebRequest.completed" /> 5133 /// <param name="eventArgs" type="Sys.EventArgs"></param> 5134 var e = Function._validateParams(arguments, [ 5135 {name: "eventArgs", type: Sys.EventArgs} 5136 ]); 5137 if (e) throw e; 5138 var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest"); 5139 if (handler) { 5140 handler(this._executor, eventArgs); 5141 } 5142 handler = this._get_eventHandlerList().getHandler("completed"); 5143 if (handler) { 5144 handler(this._executor, eventArgs); 5145 } 5146 } 5147 function Sys$Net$WebRequest$_get_eventHandlerList() { 5148 if (!this._events) { 5149 this._events = new Sys.EventHandlerList(); 5150 } 5151 return this._events; 5152 } 5153 function Sys$Net$WebRequest$get_url() { 5154 /// <value type="String" locid="P:J#Sys.Net.WebRequest.url"></value> 5155 if (arguments.length !== 0) throw Error.parameterCount(); 5156 return this._url; 5157 }
5158 function Sys$Net$WebRequest$set_url(value) { 5159 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 5160 if (e) throw e; 5161 this._url = value; 5162 } 5163 function Sys$Net$WebRequest$get_headers() { 5164 /// <value locid="P:J#Sys.Net.WebRequest.headers"></value> 5165 if (arguments.length !== 0) throw Error.parameterCount(); 5166 return this._headers; 5167 } 5168 function Sys$Net$WebRequest$get_httpVerb() { 5169 /// <value type="String" locid="P:J#Sys.Net.WebRequest.httpVerb"></value> 5170 if (arguments.length !== 0) throw Error.parameterCount(); 5171 if (this._httpVerb === null) { 5172 if (this._body === null) { 5173 return "GET"; 5174 } 5175 return "POST"; 5176 } 5177 return this._httpVerb; 5178 } 5179 function Sys$Net$WebRequest$set_httpVerb(value) { 5180 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 5181 if (e) throw e; 5182 if (value.length === 0) { 5183 throw Error.argument('value', Sys.Res.invalidHttpVerb); 5184 } 5185 this._httpVerb = value; 5186 } 5187 function Sys$Net$WebRequest$get_body() { 5188 /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.body"></value> 5189 if (arguments.length !== 0) throw Error.parameterCount(); 5190 return this._body; 5191 } 5192 function Sys$Net$WebRequest$set_body(value) { 5193 var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); 5194 if (e) throw e; 5195 this._body = value; 5196 } 5197 function Sys$Net$WebRequest$get_userContext() { 5198 /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.userContext"></value> 5199 if (arguments.length !== 0) throw Error.parameterCount(); 5200 return this._userContext; 5201 } 5202 function Sys$Net$WebRequest$set_userContext(value) { 5203 var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); 5204 if (e) throw e; 5205 this._userContext = value; 5206 } 5207 function Sys$Net$WebRequest$get_executor() { 5208 /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.Net.WebRequest.executor"></value> 5209 if (arguments.length !== 0) throw Error.parameterCount(); 5210 return this._executor; 5211 } 5212 function Sys$Net$WebRequest$set_executor(value) { 5213 var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]); 5214 if (e) throw e; 5215 if (this._executor !== null && this._executor.get_started()) { 5216 throw Error.invalidOperation(Sys.Res.setExecutorAfterActive); 5217 } 5218 this._executor = value; 5219 this._executor._set_webRequest(this); 5220 } 5221 function Sys$Net$WebRequest$get_timeout() { 5222 /// <value type="Number" locid="P:J#Sys.Net.WebRequest.timeout"></value> 5223 if (arguments.length !== 0) throw Error.parameterCount(); 5224 if (this._timeout === 0) { 5225 return Sys.Net.WebRequestManager.get_defaultTimeout(); 5226 } 5227 return this._timeout; 5228 } 5229 function Sys$Net$WebRequest$set_timeout(value) { 5230 var e = Function._validateParams(arguments, [{name: "value", type: Number}]); 5231 if (e) throw e; 5232 if (value < 0) { 5233 throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout); 5234 } 5235 this._timeout = value; 5236 } 5237 function Sys$Net$WebRequest$getResolvedUrl() { 5238 /// <summary locid="M:J#Sys.Net.WebRequest.getResolvedUrl" /> 5239 /// <returns type="String"></returns> 5240 if (arguments.length !== 0) throw Error.parameterCount(); 5241 return Sys.Net.WebRequest._resolveUrl(this._url); 5242 } 5243 function Sys$Net$WebRequest$invoke() { 5244 /// <summary locid="M:J#Sys.Net.WebRequest.invoke" /> 5245 if (arguments.length !== 0) throw Error.parameterCount(); 5246 if (this._invokeCalled) { 5247 throw Error.invalidOperation(Sys.Res.invokeCalledTwice); 5248 } 5249 Sys.Net.WebRequestManager.executeRequest(this); 5250 this._invokeCalled = true; 5251 } 5252Sys.Net.WebRequest.prototype = { 5253 add_completed: Sys$Net$WebRequest$add_completed, 5254 remove_completed: Sys$Net$WebRequest$remove_completed, 5255 completed: Sys$Net$WebRequest$completed, 5256 _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList, 5257 get_url: Sys$Net$WebRequest$get_url, 5258 set_url: Sys$Net$WebRequest$set_url, 5259 get_headers: Sys$Net$WebRequest$get_headers, 5260 get_httpVerb: Sys$Net$WebRequest$get_httpVerb, 5261 set_httpVerb: Sys$Net$WebRequest$set_httpVerb, 5262 get_body: Sys$Net$WebRequest$get_body, 5263 set_body: Sys$Net$WebRequest$set_body, 5264 get_userContext: Sys$Net$WebRequest$get_userContext, 5265 set_userContext: Sys$Net$WebRequest$set_userContext, 5266 get_executor: Sys$Net$WebRequest$get_executor, 5267 set_executor: Sys$Net$WebRequest$set_executor, 5268 get_timeout: Sys$Net$WebRequest$get_timeout, 5269 set_timeout: Sys$Net$WebRequest$set_timeout, 5270 getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl, 5271 invoke: Sys$Net$WebRequest$invoke 5272} 5273Sys.Net.WebRequest._resolveUrl = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) { 5274 if (url && url.indexOf('://') !== -1) { 5275 return url; 5276 } 5277 if (!baseUrl || baseUrl.length === 0) { 5278 var baseElement = document.getElementsByTagName('base')[0]; 5279 if (baseElement && baseElement.href && baseElement.href.length > 0) { 5280 baseUrl = baseElement.href; 5281 } 5282 else { 5283 baseUrl = document.URL; 5284 } 5285 } 5286 var qsStart = baseUrl.indexOf('?'); 5287 if (qsStart !== -1) { 5288 baseUrl = baseUrl.substr(0, qsStart); 5289 } 5290 qsStart = baseUrl.indexOf('#'); 5291 if (qsStart !== -1) { 5292 baseUrl = baseUrl.substr(0, qsStart); 5293 } 5294 baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1); 5295 if (!url || url.length === 0) { 5296 return baseUrl; 5297 } 5298 if (url.charAt(0) === '/') { 5299 var slashslash = baseUrl.indexOf('://'); 5300 if (slashslash === -1) { 5301 throw Error.argument("baseUrl", Sys.Res.badBaseUrl1); 5302 } 5303 var nextSlash = baseUrl.indexOf('/', slashslash + 3); 5304 if (nextSlash === -1) { 5305 throw Error.argument("baseUrl", Sys.Res.badBaseUrl2); 5306 } 5307 return baseUrl.substr(0, nextSlash) + url; 5308 } 5309 else { 5310 var lastSlash = baseUrl.lastIndexOf('/'); 5311 if (lastSlash === -1) { 5312 throw Error.argument("baseUrl", Sys.Res.badBaseUrl3); 5313 } 5314 return baseUrl.substr(0, lastSlash+1) + url; 5315 } 5316} 5317Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) { 5318 if (!encodeMethod) 5319 encodeMethod = encodeURIComponent; 5320 var sb = new Sys.StringBuilder(); 5321 var i = 0; 5322 for (var arg in queryString) { 5323 var obj = queryString[arg]; 5324 if (typeof(obj) === "function") continue; 5325 var val = Sys.Serialization.JavaScriptSerializer.serialize(obj); 5326 if (i !== 0) { 5327 sb.append('&'); 5328 } 5329 sb.append(arg); 5330 sb.append('='); 5331 sb.append(encodeMethod(val)); 5332 i++; 5333 } 5334 return sb.toString(); 5335} 5336Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString) { 5337 if (!queryString) { 5338 return url; 5339 } 5340 var qs = Sys.Net.WebRequest._createQueryString(queryString); 5341 if (qs.length > 0) { 5342 var sep = '?'; 5343 if (url && url.indexOf('?') !== -1) 5344 sep = '&'; 5345 return url + sep + qs; 5346 } else { 5347 return url; 5348 } 5349} 5350Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest'); 5351 5352Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() { 5353} 5354 function Sys$Net$WebServiceProxy$get_timeout() { 5355 /// <value type="Number" locid="P:J#Sys.Net.WebServiceProxy.timeout"></value> 5356 if (arguments.length !== 0) throw Error.parameterCount(); 5357 return this._timeout; 5358 } 5359 function Sys$Net$WebServiceProxy$set_timeout(value) { 5360 var e = Function._validateParams(arguments, [{name: "value", type: Number}]); 5361 if (e) throw e; 5362 if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); } 5363 this._timeout = value; 5364 } 5365 function Sys$Net$WebServiceProxy$get_defaultUserContext() { 5366 /// <value mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value> 5367 if (arguments.length !== 0) throw Error.parameterCount(); 5368 return this._userContext; 5369 } 5370 function Sys$Net$WebServiceProxy$set_defaultUserContext(value) { 5371 var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]); 5372 if (e) throw e; 5373 this._userContext = value; 5374 } 5375 function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() { 5376 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value> 5377 if (arguments.length !== 0) throw Error.parameterCount(); 5378 return this._succeeded; 5379 } 5380 function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) { 5381 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 5382 if (e) throw e; 5383 this._succeeded = value; 5384 } 5385 function Sys$Net$WebServiceProxy$get_defaultFailedCallback() { 5386 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value> 5387 if (arguments.length !== 0) throw Error.parameterCount(); 5388 return this._failed; 5389 } 5390 function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) { 5391 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 5392 if (e) throw e; 5393 this._failed = value; 5394 } 5395 function Sys$Net$WebServiceProxy$get_path() { 5396 /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.path"></value> 5397 if (arguments.length !== 0) throw Error.parameterCount(); 5398 return this._path; 5399 } 5400 function Sys$Net$WebServiceProxy$set_path(value) { 5401 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 5402 if (e) throw e; 5403 this._path = value; 5404 } 5405 function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onF
5405ailure, userContext) { 5406 /// <summary locid="M:J#Sys.Net.WebServiceProxy._invoke" /> 5407 /// <param name="servicePath" type="String"></param> 5408 /// <param name="methodName" type="String"></param> 5409 /// <param name="useGet" type="Boolean"></param> 5410 /// <param name="params"></param> 5411 /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param> 5412 /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param> 5413 /// <param name="userContext" mayBeNull="true" optional="true"></param> 5414 /// <returns type="Sys.Net.WebRequest"></returns> 5415 var e = Function._validateParams(arguments, [ 5416 {name: "servicePath", type: String}, 5417 {name: "methodName", type: String}, 5418 {name: "useGet", type: Boolean}, 5419 {name: "params"}, 5420 {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, 5421 {name: "onFailure", type: Function, mayBeNull: true, optional: true}, 5422 {name: "userContext", mayBeNull: true, optional: true} 5423 ]); 5424 if (e) throw e; 5425 if (onSuccess === null || typeof onSuccess === 'undefined') onSuccess = this.get_defaultSucceededCallback(); 5426 if (onFailure === null || typeof onFailure === 'undefined') onFailure = this.get_defaultFailedCallback(); 5427 if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext(); 5428 5429 return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout()); 5430 } 5431Sys.Net.WebServiceProxy.prototype = { 5432 get_timeout: Sys$Net$WebServiceProxy$get_timeout, 5433 set_timeout: Sys$Net$WebServiceProxy$set_timeout, 5434 get_defaultUserContext: Sys$Net$WebServiceProxy$get_defaultUserContext, 5435 set_defaultUserContext: Sys$Net$WebServiceProxy$set_defaultUserContext, 5436 get_defaultSucceededCallback: Sys$Net$WebServiceProxy$get_defaultSucceededCallback, 5437 set_defaultSucceededCallback: Sys$Net$WebServiceProxy$set_defaultSucceededCallback, 5438 get_defaultFailedCallback: Sys$Net$WebServiceProxy$get_defaultFailedCallback, 5439 set_defaultFailedCallback: Sys$Net$WebServiceProxy$set_defaultFailedCallback, 5440 get_path: Sys$Net$WebServiceProxy$get_path, 5441 set_path: Sys$Net$WebServiceProxy$set_path, 5442 _invoke: Sys$Net$WebServiceProxy$_invoke 5443} 5444Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy'); 5445Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout) { 5446 /// <summary locid="M:J#Sys.Net.WebServiceProxy.invoke" /> 5447 /// <param name="servicePath" type="String"></param> 5448 /// <param name="methodName" type="String"></param> 5449 /// <param name="useGet" type="Boolean" optional="true"></param> 5450 /// <param name="params" mayBeNull="true" optional="true"></param> 5451 /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param> 5452 /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param> 5453 /// <param name="userContext" mayBeNull="true" optional="true"></param> 5454 /// <param name="timeout" type="Number" optional="true"></param> 5455 /// <returns type="Sys.Net.WebRequest"></returns> 5456 var e = Function._validateParams(arguments, [ 5457 {name: "servicePath", type: String}, 5458 {name: "methodName", type: String}, 5459 {name: "useGet", type: Boolean, optional: true}, 5460 {name: "params", mayBeNull: true, optional: true}, 5461 {name: "onSuccess", type: Function, mayBeNull: true, optional: true}, 5462 {name: "onFailure", type: Function, mayBeNull: true, optional: true}, 5463 {name: "userContext", mayBeNull: true, optional: true}, 5464 {name: "timeout", type: Number, optional: true} 5465 ]); 5466 if (e) throw e; 5467 var request = new Sys.Net.WebRequest(); 5468 request.get_headers()['Content-Type'] = 'application/json; charset=utf-8'; 5469 if (!params) params = {};
5470 var urlParams = params; 5471 if (!useGet || !urlParams) urlParams = {}; 5472 request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName), urlParams)); 5473 var body = null; 5474 if (!useGet) { 5475 body = Sys.Serialization.JavaScriptSerializer.serialize(params); 5476 if (body === "{}") body = ""; 5477 } 5478 request.set_body(body); 5479 request.add_completed(onComplete); 5480 if (timeout && timeout > 0) request.set_timeout(timeout); 5481 request.invoke(); 5482 function onComplete(response, eventArgs) { 5483 if (response.get_responseAvailable()) { 5484 var statusCode = response.get_statusCode(); 5485 var result = null; 5486 5487 try { 5488 var contentType = response.getResponseHeader("Content-Type"); 5489 if (contentType.startsWith("application/json")) { 5490 result = response.get_object(); 5491 } 5492 else if (contentType.startsWith("text/xml")) { 5493 result = response.get_xml(); 5494 } 5495 else { 5496 result = response.get_responseData(); 5497 } 5498 } catch (ex) { 5499 } 5500 var error = response.getResponseHeader("jsonerror"); 5501 var errorObj = (error === "true"); 5502 if (errorObj) { 5503 if (result) { 5504 result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType); 5505 } 5506 } 5507 else if (contentType.startsWith("application/json")) { 5508 if (!result || typeof(result.d) === "undefined") { 5509 throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName)); 5510 } 5511 result = result.d; 5512 } 5513 if (((statusCode < 200) || (statusCode >= 300)) || errorObj) { 5514 if (onFailure) { 5515 if (!result || !errorObj) { 5516 result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", ""); 5517 } 5518 result._statusCode = statusCode; 5519 onFailure(result, userContext, methodName); 5520 } 5521 else { 5522 var error; 5523 if (result && errorObj) { 5524 error = result.get_exceptionType() + "-- " + result.get_message(); 5525 } 5526 else { 5527 error = response.get_responseData(); 5528 } 5529 throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); 5530 } 5531 } 5532 else if (onSuccess) { 5533 onSuccess(result, userContext, methodName); 5534 } 5535 } 5536 else { 5537 var msg; 5538 if (response.get_timedOut()) { 5539 msg = String.format(Sys.Res.webServiceTimedOut, methodName); 5540 } 5541 else { 5542 msg = String.format(Sys.Res.webServiceFailedNoMsg, methodName) 5543 } 5544 if (onFailure) { 5545 onFailure(new Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), userContext, methodName); 5546 } 5547 else { 5548 throw Sys.Net.WebServiceProxy._createFailedError(methodName, msg); 5549 } 5550 } 5551 } 5552 return request; 5553} 5554Sys.Net.WebServiceProxy._createFailedError = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) { 5555 var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage; 5556 var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName }); 5557 e.popStackFrame(); 5558 return e; 5559} 5560Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) { 5561 var error = err.get_exceptionType() + "-- " + err.get_message(); 5562 throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error)); 5563} 5564Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) { 5565 return function(properties) { 5566 if (properties) { 5567 for (var name in properties) { 5568 this[name] = properties[name]; 5569 } 5570 } 5571 this.__type = type; 5572 } 5573} 5574 5575Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType) { 5576 /// <summary locid="M:J#Sys.Net.WebServiceError.#ctor" /> 5577 /// <param name="timedOut" type="Boolean"></param> 5578 /// <param name="message" type="String" mayBeNull="true"></param> 5579 /// <param name="stackTrace" type="String" mayBeNull="true"></param> 5580 /// <param name="exceptionType" type="String" mayBeNull="true"></param> 5581 var e = Function._validateParams(arguments, [ 5582 {name: "timedOut", type: Boolean}, 5583 {name: "message", type: String, mayBeNull: true}, 5584 {name: "stackTrace", type: String, mayBeNull: true}, 5585 {name: "exceptionType", type: String, mayBeNull: true} 5586 ]); 5587 if (e) throw e; 5588 this._timedOut = timedOut; 5589 this._message = message; 5590 this._stackTrace = stackTrace; 5591 this._exceptionType = exceptionType; 5592 this._statusCode = -1; 5593} 5594 function Sys$Net$WebServiceError$get_timedOut() { 5595 /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceError.timedOut"></value> 5596 if (arguments.length !== 0) throw Error.parameterCount(); 5597 return this._timedOut; 5598 } 5599 function Sys$Net$WebServiceError$get_statusCode() { 5600 /// <value type="Number" locid="P:J#Sys.Net.WebServiceError.statusCode"></value> 5601 if (arguments.length !== 0) throw Error.parameterCount(); 5602 return this._statusCode; 5603 } 5604 function Sys$Net$WebServiceError$get_message() { 5605 /// <value type="String" locid="P:J#Sys.Net.WebServiceError.message"></value> 5606 if (arguments.length !== 0) throw Error.parameterCount(); 5607 return this._message; 5608 } 5609 function Sys$Net$WebServiceError$get_stackTrace() { 5610 /// <value type="String" locid="P:J#Sys.Net.WebServiceError.stackTrace"></value> 5611 if (arguments.length !== 0) throw Error.parameterCount(); 5612 return this._stackTrace; 5613 } 5614 function Sys$Net$WebServiceError$get_exceptionType() { 5615 /// <value type="String" locid="P:J#Sys.Net.WebServiceError.exceptionType"></value> 5616 if (arguments.length !== 0) throw Error.parameterCount(); 5617 return this._exceptionType; 5618 } 5619Sys.Net.WebServiceError.prototype = { 5620 get_timedOut: Sys$Net$WebServiceError$get_timedOut, 5621 get_statusCode: Sys$Net$WebServiceError$get_statusCode, 5622 get_message: Sys$Net$WebServiceError$get_message, 5623 get_stackTrace: Sys$Net$WebServiceError$get_stackTrace, 5624 get_exceptionType: Sys$Net$WebServiceError$get_exceptionType 5625} 5626Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError'); 5627Type.registerNamespace('Sys.Services'); 5628Sys.Services._ProfileService = function Sys$Services$_ProfileService() { 5629 /// <summary locid="M:J#Sys.Net.ProfileService.#ctor" /> 5630 if (arguments.length !== 0) throw Error.parameterCount(); 5631 Sys.Services._ProfileService.initializeBase(this); 5632 this.properties = {}; 5633} 5634Sys.Services._ProfileService.DefaultWebServicePath = ''; 5635 function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() { 5636 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.defaultLoadCompletedCallback"></value> 5637 if (arguments.length !== 0) throw Error.parameterCount(); 5638 return this._defaultLoadCompletedCallback; 5639 } 5640 function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) { 5641 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 5642 if (e) throw e; 5643 this._defaultLoadCompletedCallback = value; 5644 } 5645 function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() { 5646 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.defaultSaveCompletedCallback"></value> 5647 if (arguments.length !== 0) throw Error.parameterCount(); 5648 return this._defaultSaveCompletedCallback; 5649 } 5650 function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) { 5651 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 5652 if (e) throw e; 5653 this._defaultSaveCompletedCallback = value; 5654 } 5655 function Sys$Services$_ProfileService$get_path() { 5656 /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.path"></value> 5657 if (arguments.length !== 0) throw Error.parameterCount(); 5658 return this._path || ''; 5659 } 5660 function Sys$Services$_ProfileService$load(propertyNames, loadCompletedCallback, failedCallback, userContext) { 5661 /// <summary locid="M:J#Sys.Services.ProfileService.load" /> 5662 /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param> 5663 /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param> 5664 /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param> 5665 /// <param name="userContext" optional="true" mayBeNull="true"></param> 5666 var e = Function._validateParams(arguments, [ 5667 {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String}, 5668 {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true}, 5669 {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, 5670 {name: "userContext", mayBeNull: true, optional: true} 5671 ]); 5672 if (e) throw e; 5673 var parameters; 5674 var methodName; 5675 if (!propertyNames) { 5676 methodName = "GetAllPropertiesForCurrentUser"; 5677 parameters = { authenticatedUserOnly: false }; 5678 } 5679 else { 5680 methodName = "GetPropertiesForCurrentUser"; 5681 parameters = { properties: this._clonePropertyNames(propertyNames), authenticatedUserOnly: false }; 5682 } 5683 this._invoke(this._get_path(), 5684 methodName, 5685 false, 5686 parameters, 5687 Function.createDelegate(this, this._onLoadComplete), 5688 Function.createDelegate(this, this._onLoadFailed), 5689 [loadCompletedCallback, failedCallback, userContext]); 5690 } 5691 function Sys$Services$_ProfileService$save(propertyNames, saveCompletedCallback, failedCallback, userContext) { 5692 /// <summary locid="M:J#Sys.Services.ProfileService.save" /> 5693 /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param> 5694 /// <param name="saveCompletedCallback" type="Function" optional="true" mayBeNull="true"></param> 5695 /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param> 5696 /// <param name="userContext" optional="true" mayBeNull="true"></param> 5697 var e = Function._validateParams(arguments, [ 5698 {name: "propertyNames", type: Array, mayBeNull: true, optional: true, elementType: String}, 5699 {name: "saveCompletedCallback", type: Function, mayBeNull: true, optional: true}, 5700 {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, 5701 {name: "userContext", mayBeNull: true, optional: true} 5702 ]); 5703 if (e) throw e; 5704 var flattenedProperties = this._flattenProperties(propertyNames, this.properties); 5705 this._invoke(this._get_path(), 5706 "SetPropertiesForCurrentUser", 5707 false, 5708 { values: flattenedProperties.value, authenticatedUserOnly: false }, 5709 Function.createDelegate(this, this._onSaveComplete), 5710 Function.createDelegate(this, this._onSaveFailed), 5711 [saveCompletedCallback, failedCallback, userContext, flattenedProperties.count]); 5712 } 5713 function Sys$Services$_ProfileService$_clonePropertyNames(arr) { 5714 var nodups = []; 5715 var seen = {}; 5716 for (var i=0; i < arr.length; i++) { 5717 var prop = arr[i]; 5718 if(!seen[prop]) { Array.add(nodups, prop); seen[prop]=true; }; 5719 } 5720 return nodups; 5721 } 5722 function Sys$Services$_ProfileService$_flattenProperties(propertyNames, properties, groupName) { 5723 var flattenedProperties = {}; 5724 var val; 5725 var key; 5726 var count = 0; 5727 if (propertyNames && propertyNames.length === 0) { 5728 return { value: flattenedProperties, count: 0 }; 5729 } 5730 for (var property in properties) { 5731 val = properties[property]; 5732 key = groupName ? groupName + "." + property : property; 5733 if(Sys.Services.ProfileGroup.isInstanceOfType(val)) { 5734 var obj = this._flattenProperties(propertyNames, val, key); 5735 var groupProperties = obj.value; 5736 count += obj.count; 5737 for(var subKey in groupProperties) { 5738 var subVal = groupProperties[subKey]; 5739 flattenedProperties[subKey] = subVal; 5740 } 5741 } 5742 else { 5743 if(!propertyNames || Array.indexOf(propertyNames, key) !== -1) { 5744 flattenedProperties[key] = val; 5745 count++; 5746 } 5747 } 5748 } 5749 return { value: flattenedProperties, count: count }; 5750 } 5751 function Sys$Services$_ProfileService$_get_path() { 5752 var path = this.get_path(); 5753 if (!path.length) { 5754 path = Sys.Services._ProfileService.DefaultWebServicePath; 5755 } 5756 if (!path || !path.length) {
5757 throw Error.invalidOperation(Sys.Res.servicePathNotSet); 5758 } 5759 return path; 5760 } 5761 function Sys$Services$_ProfileService$_onLoadComplete(result, context, methodName) { 5762 if (typeof(result) !== "object") { 5763 throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Object")); 5764 } 5765 var unflattened = this._unflattenProperties(result); 5766 for (var name in unflattened) { 5767 this.properties[name] = unflattened[name]; 5768 } 5769 5770 var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); 5771 if (callback) { 5772 var userContext = context[2] || this.get_defaultUserContext(); 5773 callback(result.length, userContext, "Sys.Services.ProfileService.load"); 5774 } 5775 } 5776 function Sys$Services$_ProfileService$_onLoadFailed(err, context, methodName) { 5777 var callback = context[1] || this.get_defaultFailedCallback(); 5778 if (callback) { 5779 var userContext = context[2] || this.get_defaultUserContext(); 5780 callback(err, userContext, "Sys.Services.ProfileService.load"); 5781 } 5782 else { 5783 Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); 5784 } 5785 } 5786 function Sys$Services$_ProfileService$_onSaveComplete(result, context, methodName) { 5787 var count = context[3]; 5788 if (result !== null) { 5789 if (result instanceof Array) { 5790 count -= result.length; 5791 } 5792 else if (typeof(result) === 'number') { 5793 count = result; 5794 } 5795 else { 5796 throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array")); 5797 } 5798 } 5799 5800 var callback = context[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback(); 5801 if (callback) { 5802 var userContext = context[2] || this.get_defaultUserContext(); 5803 callback(count, userContext, "Sys.Services.ProfileService.save"); 5804 } 5805 } 5806 function Sys$Services$_ProfileService$_onSaveFailed(err, context, methodName) { 5807 var callback = context[1] || this.get_defaultFailedCallback(); 5808 if (callback) { 5809 var userContext = context[2] || this.get_defaultUserContext(); 5810 callback(err, userContext, "Sys.Services.ProfileService.save"); 5811 } 5812 else { 5813 Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); 5814 } 5815 } 5816 function Sys$Services$_ProfileService$_unflattenProperties(properties) { 5817 var unflattenedProperties = {}; 5818 var dotIndex; 5819 var val; 5820 var count = 0; 5821 for (var key in properties) { 5822 count++; 5823 val = properties[key]; 5824 dotIndex = key.indexOf('.'); 5825 if (dotIndex !== -1) { 5826 var groupName = key.substr(0, dotIndex); 5827 key = key.substr(dotIndex+1); 5828 var group = unflattenedProperties[groupName]; 5829 if (!group || !Sys.Services.ProfileGroup.isInstanceOfType(group)) { 5830 group = new Sys.Services.ProfileGroup(); 5831 unflattenedProperties[groupName] = group; 5832 } 5833 group[key] = val; 5834 } 5835 else { 5836 unflattenedProperties[key] = val; 5837 } 5838 } 5839 properties.length = count; 5840 return unflattenedProperties; 5841 } 5842Sys.Services._ProfileService.prototype = { 5843 _defaultLoadCompletedCallback: null, 5844 _defaultSaveCompletedCallback: null, 5845 _path: '', 5846 _timeout: 0, 5847 get_defaultLoadCompletedCallback: Sys$Services$_ProfileService$get_defaultLoadCompletedCallback, 5848 set_defaultLoadCompletedCallback: Sys$Services$_ProfileService$set_defaultLoadCompletedCallback, 5849 get_defaultSaveCompletedCallback: Sys$Services$_ProfileService$get_defaultSaveCompletedCallback, 5850 set_defaultSaveCompletedCallback: Sys$Services$_ProfileService$set_defaultSaveCompletedCallback, 5851 get_path: Sys$Services$_ProfileService$get_path, 5852 load: Sys$Services$_ProfileService$load, 5853 save: Sys$Services$_ProfileService$save, 5854 _clonePropertyNames: Sys$Services$_ProfileService$_clonePropertyNames, 5855 _flattenProperties: Sys$Services$_ProfileService$_flattenProperties, 5856 _get_path: Sys$Services$_ProfileService$_get_path, 5857 _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete, 5858 _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed, 5859 _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete, 5860 _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed, 5861 _unflattenProperties: Sys$Services$_ProfileService$_unflattenProperties 5862} 5863Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService', Sys.Net.WebServiceProxy); 5864Sys.Services.ProfileService = new Sys.Services._ProfileService(); 5865Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties) { 5866 /// <summary locid="M:J#Sys.Services.ProfileGroup.#ctor" /> 5867 /// <param name="properties" optional="true" mayBeNull="true"></param> 5868 var e = Function._validateParams(arguments, [ 5869 {name: "properties", mayBeNull: true, optional: true} 5870 ]); 5871 if (e) throw e; 5872 if (properties) { 5873 for (var property in properties) { 5874 this[property] = properties[property]; 5875 } 5876 } 5877} 5878Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup'); 5879Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService() { 5880 /// <summary locid="M:J#Sys.Services.AuthenticationService.#ctor" /> 5881 if (arguments.length !== 0) throw Error.parameterCount(); 5882 Sys.Services._AuthenticationService.initializeBase(this); 5883} 5884Sys.Services._AuthenticationService.DefaultWebServicePath = ''; 5885 function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() { 5886 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.defaultLoginCompletedCallback"></value> 5887 if (arguments.length !== 0) throw Error.parameterCount(); 5888 return this._defaultLoginCompletedCallback; 5889 } 5890 function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value) { 5891 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 5892 if (e) throw e; 5893 this._defaultLoginCompletedCallback = value; 5894 } 5895 function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() { 5896 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.defaultLogoutCompletedCallback"></value> 5897 if (arguments.length !== 0) throw Error.parameterCount(); 5898 return this._defaultLogoutCompletedCallback; 5899 } 5900 function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value) { 5901 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 5902 if (e) throw e; 5903 this._defaultLogoutCompletedCallback = value; 5904 } 5905 function Sys$Services$_AuthenticationService$get_isLoggedIn() { 5906 /// <value type="Boolean" locid="P:J#Sys.Services.AuthenticationService.isLoggedIn"></value> 5907 if (arguments.length !== 0) throw Error.parameterCount(); 5908 return this._authenticated; 5909 } 5910 function Sys$Services$_AuthenticationService$get_path() { 5911 /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.path"></value> 5912 if (arguments.length !== 0) throw Error.parameterCount(); 5913 return this._path || ''; 5914 } 5915 function Sys$Services$_AuthenticationService$login(username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext) { 5916 /// <summary locid="M:J#Sys.Services.AuthenticationService.login" /> 5917 /// <param name="username" type="String" mayBeNull="false"></param> 5918 /// <param name="password" type="String" mayBeNull="true"></param> 5919 /// <param name="isPersistent" type="Boolean" optional="true" mayBeNull="true"></param> 5920 /// <param name="customInfo" type="String" optional="true" mayBeNull="true"></param>
5921 /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param> 5922 /// <param name="loginCompletedCallback" type="Function" optional="true" mayBeNull="true"></param> 5923 /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param> 5924 /// <param name="userContext" optional="true" mayBeNull="true"></param> 5925 var e = Function._validateParams(arguments, [ 5926 {name: "username", type: String}, 5927 {name: "password", type: String, mayBeNull: true}, 5928 {name: "isPersistent", type: Boolean, mayBeNull: true, optional: true}, 5929 {name: "customInfo", type: String, mayBeNull: true, optional: true}, 5930 {name: "redirectUrl", type: String, mayBeNull: true, optional: true}, 5931 {name: "loginCompletedCallback", type: Function, mayBeNull: true, optional: true}, 5932 {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, 5933 {name: "userContext", mayBeNull: true, optional: true} 5934 ]); 5935 if (e) throw e; 5936 this._invoke(this._get_path(), "Login", false, 5937 { userName: username, password: password, createPersistentCookie: isPersistent }, 5938 Function.createDelegate(this, this._onLoginComplete), 5939 Function.createDelegate(this, this._onLoginFailed), 5940 [username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext]); 5941 } 5942 function Sys$Services$_AuthenticationService$logout(redirectUrl, logoutCompletedCallback, failedCallback, userContext) { 5943 /// <summary locid="M:J#Sys.Services.AuthenticationService.logout" /> 5944 /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param> 5945 /// <param name="logoutCompletedCallback" type="Function" optional="true" mayBeNull="true"></param> 5946 /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param> 5947 /// <param name="userContext" optional="true" mayBeNull="true"></param> 5948 var e = Function._validateParams(arguments, [ 5949 {name: "redirectUrl", type: String, mayBeNull: true, optional: true}, 5950 {name: "logoutCompletedCallback", type: Function, mayBeNull: true, optional: true}, 5951 {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, 5952 {name: "userContext", mayBeNull: true, optional: true} 5953 ]); 5954 if (e) throw e; 5955 this._invoke(this._get_path(), "Logout", false, {}, 5956 Function.createDelegate(this, this._onLogoutComplete), 5957 Function.createDelegate(this, this._onLogoutFailed), 5958 [redirectUrl, logoutCompletedCallback, failedCallback, userContext]); 5959 } 5960 function Sys$Services$_AuthenticationService$_get_path() { 5961 var path = this.get_path(); 5962 if(!path.length) { 5963 path = Sys.Services._AuthenticationService.DefaultWebServicePath; 5964 } 5965 if(!path || !path.length) { 5966 throw Error.invalidOperation(Sys.Res.servicePathNotSet); 5967 } 5968 return path; 5969 } 5970 function Sys$Services$_AuthenticationService$_onLoginComplete(result, context, methodName) { 5971 if(typeof(result) !== "boolean") { 5972 throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Boolean")); 5973 } 5974 5975 var redirectUrl = context[4]; 5976 var userContext = context[7] || this.get_defaultUserContext(); 5977 var callback = context[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback(); 5978 5979 if(result) { 5980 this._authenticated = true; 5981 if (callback) { 5982 callback(true, userContext, "Sys.Services.AuthenticationService.login"); 5983 } 5984 5985 if (typeof(redirectUrl) !== "undefined" && redirectUrl !== null) { 5986 window.location.href = redirectUrl; 5987 } 5988 } 5989 else if (callback) { 5990 callback(false, userContext, "Sys.Services.AuthenticationService.login"); 5991 } 5992 } 5993 function Sys$Services$_AuthenticationService$_onLoginFailed(err, context, methodName) { 5994 var callback = context[6] || this.get_defaultFailedCallback(); 5995 if (callback) { 5996 var userContext = context[7] || this.get_defaultUserContext(); 5997 callback(err, userContext, "Sys.Services.AuthenticationService.login"); 5998 } 5999 else { 6000 Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); 6001 } 6002 } 6003 function Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, methodName) { 6004 if(result !== null) {
6005 throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "null")); 6006 } 6007 6008 var redirectUrl = context[0]; 6009 var userContext = context[3] || this.get_defaultUserContext(); 6010 var callback = context[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback(); 6011 this._authenticated = false; 6012 6013 if (callback) { 6014 callback(null, userContext, "Sys.Services.AuthenticationService.logout"); 6015 } 6016 6017 if(!redirectUrl) { 6018 window.location.reload(); 6019 } 6020 else { 6021 window.location.href = redirectUrl; 6022 } 6023 } 6024 function Sys$Services$_AuthenticationService$_onLogoutFailed(err, context, methodName) { 6025 var callback = context[2] || this.get_defaultFailedCallback(); 6026 if (callback) { 6027 callback(err, context[3], "Sys.Services.AuthenticationService.logout"); 6028 } 6029 else { 6030 Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); 6031 } 6032 } 6033 function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) { 6034 this._authenticated = authenticated; 6035 } 6036Sys.Services._AuthenticationService.prototype = { 6037 _defaultLoginCompletedCallback: null, 6038 _defaultLogoutCompletedCallback: null, 6039 _path: '', 6040 _timeout: 0, 6041 _authenticated: false, 6042 get_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback, 6043 set_defaultLoginCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback, 6044 get_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback, 6045 set_defaultLogoutCompletedCallback: Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback, 6046 get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn, 6047 get_path: Sys$Services$_AuthenticationService$get_path, 6048 login: Sys$Services$_AuthenticationService$login, 6049 logout: Sys$Services$_AuthenticationService$logout, 6050 _get_path: Sys$Services$_AuthenticationService$_get_path, 6051 _onLoginComplete: Sys$Services$_AuthenticationService$_onLoginComplete, 6052 _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed, 6053 _onLogoutComplete: Sys$Services$_AuthenticationService$_onLogoutComplete, 6054 _onLogoutFailed: Sys$Services$_AuthenticationService$_onLogoutFailed, 6055 _setAuthenticated: Sys$Services$_AuthenticationService$_setAuthenticated 6056} 6057Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService', Sys.Net.WebServiceProxy); 6058Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService(); 6059Sys.Services._RoleService = function Sys$Services$_RoleService() { 6060 /// <summary locid="M:J#Sys.Services.RoleService.#ctor" /> 6061 if (arguments.length !== 0) throw Error.parameterCount(); 6062 Sys.Services._RoleService.initializeBase(this); 6063 this._roles = []; 6064} 6065Sys.Services._RoleService.DefaultWebServicePath = ''; 6066 function Sys$Services$_RoleService$get_defaultLoadCompletedCallback() { 6067 /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.RoleService.defaultLoadCompletedCallback"></value> 6068 if (arguments.length !== 0) throw Error.parameterCount(); 6069 return this._defaultLoadCompletedCallback; 6070 } 6071 function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) { 6072 var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]); 6073 if (e) throw e; 6074 this._defaultLoadCompletedCallback = value; 6075 } 6076 function Sys$Services$_RoleService$get_path() { 6077 /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.RoleService.path"></value> 6078 if (arguments.length !== 0) throw Error.parameterCount(); 6079 return this._path || ''; 6080 } 6081 function Sys$Services$_RoleService$get_roles() { 6082 /// <value type="Array" elementType="String" mayBeNull="false" locid="P:J#Sys.Services.RoleService.roles"></value> 6083 if (arguments.length !== 0) throw Error.parameterCount(); 6084 return Array.clone(this._roles); 6085 } 6086 function Sys$Services$_RoleService$isUserInRole(role) { 6087 /// <summary locid="M:J#Sys.Services.RoleService.isUserInRole" /> 6088 /// <param name="role" type="String" mayBeNull="false"></param> 6089 /// <returns type="Boolean"></returns> 6090 var e = Function._validateParams(arguments, [
6091 {name: "role", type: String} 6092 ]); 6093 if (e) throw e; 6094 var v = this._get_rolesIndex()[role.trim().toLowerCase()]; 6095 return !!v; 6096 } 6097 function Sys$Services$_RoleService$load(loadCompletedCallback, failedCallback, userContext) { 6098 /// <summary locid="M:J#Sys.Services.RoleService.load" /> 6099 /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param> 6100 /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param> 6101 /// <param name="userContext" optional="true" mayBeNull="true"></param> 6102 var e = Function._validateParams(arguments, [ 6103 {name: "loadCompletedCallback", type: Function, mayBeNull: true, optional: true}, 6104 {name: "failedCallback", type: Function, mayBeNull: true, optional: true}, 6105 {name: "userContext", mayBeNull: true, optional: true} 6106 ]); 6107 if (e) throw e; 6108 Sys.Net.WebServiceProxy.invoke( 6109 this._get_path(), 6110 "GetRolesForCurrentUser", 6111 false, 6112 {} , 6113 Function.createDelegate(this, this._onLoadComplete), 6114 Function.createDelegate(this, this._onLoadFailed), 6115 [loadCompletedCallback, failedCallback, userContext], 6116 this.get_timeout()); 6117 } 6118 function Sys$Services$_RoleService$_get_path() { 6119 var path = this.get_path(); 6120 if(!path || !path.length) { 6121 path = Sys.Services._RoleService.DefaultWebServicePath; 6122 } 6123 if(!path || !path.length) { 6124 throw Error.invalidOperation(Sys.Res.servicePathNotSet); 6125 } 6126 return path; 6127 } 6128 function Sys$Services$_RoleService$_get_rolesIndex() { 6129 if (!this._rolesIndex) { 6130 var index = {}; 6131 for(var i=0; i < this._roles.length; i++) { 6132 index[this._roles[i].toLowerCase()] = true; 6133 } 6134 this._rolesIndex = index; 6135 } 6136 return this._rolesIndex; 6137 } 6138 function Sys$Services$_RoleService$_onLoadComplete(result, context, methodName) { 6139 if(result && !(result instanceof Array)) { 6140 throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array")); 6141 } 6142 this._roles = result; 6143 this._rolesIndex = null; 6144 var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback(); 6145 if (callback) { 6146 var userContext = context[2] || this.get_defaultUserContext(); 6147 var clonedResult = Array.clone(result); 6148 callback(clonedResult, userContext, "Sys.Services.RoleService.load"); 6149 } 6150 } 6151 function Sys$Services$_RoleService$_onLoadFailed(err, context, methodName) { 6152 var callback = context[1] || this.get_defaultFailedCallback(); 6153 if (callback) { 6154 var userContext = context[2] || this.get_defaultUserContext(); 6155 callback(err, userContext, "Sys.Services.RoleService.load"); 6156 } 6157 else { 6158 Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName); 6159 } 6160 } 6161Sys.Services._RoleService.prototype = { 6162 _defaultLoadCompletedCallback: null, 6163 _rolesIndex: null, 6164 _timeout: 0, 6165 _path: '', 6166 get_defaultLoadCompletedCallback: Sys$Services$_RoleService$get_defaultLoadCompletedCallback, 6167 set_defaultLoadCompletedCallback: Sys$Services$_RoleService$set_defaultLoadCompletedCallback, 6168 get_path: Sys$Services$_RoleService$get_path, 6169 get_roles: Sys$Services$_RoleService$get_roles, 6170 isUserInRole: Sys$Services$_RoleService$isUserInRole, 6171 load: Sys$Services$_RoleService$load, 6172 _get_path: Sys$Services$_RoleService$_get_path, 6173 _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex, 6174 _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete, 6175 _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed 6176} 6177Sys.Services._RoleService.registerClass('Sys.Services._RoleService', Sys.Net.WebServiceProxy); 6178Sys.Services.RoleService = new Sys.Services._RoleService(); 6179Type.registerNamespace('Sys.Serialization'); 6180Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() { 6181 /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.#ctor" /> 6182 if (arguments.length !== 0) throw Error.parameterCount(); 6183} 6184Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer'); 6185Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = []; 6186Sys.Serialization.JavaScriptSerializer._charsToEscape = []; 6187Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g'); 6188Sys.Serialization.JavaScriptSerializer._escapeChars = {}; 6189Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i'); 6190Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g'); 6191Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g'); 6192Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'); 6193Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type'; 6194Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() { 6195 var replaceChars = ['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007', 6196 '\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011', 6197 '\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019', 6198 '\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f']; 6199 Sys.Serialization.JavaScriptSerializer._charsToEscape[0] = '\\'; 6200 Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g'); 6201 Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\'; 6202 Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"'; 6203 Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g'); 6204 Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"'; 6205 for (var i = 0; i < 32; i++) { 6206 var c = String.fromCharCode(i); 6207 Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c; 6208 Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g'); 6209 Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i]; 6210 } 6211} 6212Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) { 6213 stringBuilder.append(object.toString()); 6214} 6215Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object, stringBuilder) { 6216 if (isFinite(object)) {
6217 stringBuilder.append(String(object)); 6218 } 6219 else { 6220 throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers); 6221 } 6222} 6223Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) { 6224 stringBuilder.append('"'); 6225 if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) { 6226 if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) { 6227 Sys.Serialization.JavaScriptSerializer._init(); 6228 } 6229 if (string.length < 128) { 6230 string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal, 6231 function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; }); 6232 } 6233 else { 6234 for (var i = 0; i < 34; i++) { 6235 var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i]; 6236 if (string.indexOf(c) !== -1) { 6237 if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) { 6238 string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]); 6239 } 6240 else { 6241 string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c], 6242 Sys.Serialization.JavaScriptSerializer._escapeChars[c]); 6243 } 6244 } 6245 } 6246 } 6247 } 6248 stringBuilder.append(string); 6249 stringBuilder.append('"'); 6250} 6251Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) { 6252 var i; 6253 switch (typeof object) { 6254 case 'object': 6255 if (object) { 6256 if (prevObjects){ 6257 for( var j = 0; j < prevObjects.length; j++) { 6258 if (prevObjects[j] === object) { 6259 throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle); 6260 } 6261 } 6262 } 6263 else { 6264 prevObjects = new Array(); 6265 } 6266 try { 6267 Array.add(prevObjects, object); 6268 6269 if (Number.isInstanceOfType(object)){ 6270 Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); 6271 } 6272 else if (Boolean.isInstanceOfType(object)){ 6273 Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); 6274 } 6275 else if (String.isInstanceOfType(object)){ 6276 Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); 6277 } 6278 6279 else if (Array.isInstanceOfType(object)) { 6280 stringBuilder.append('['); 6281 6282 for (i = 0; i < object.length; ++i) { 6283 if (i > 0) { 6284 stringBuilder.append(','); 6285 } 6286 Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], stringBuilder,false,prevObjects); 6287 } 6288 stringBuilder.append(']'); 6289 } 6290 else { 6291 if (Date.isInstanceOfType(object)) { 6292 stringBuilder.append('"\\/Date('); 6293 stringBuilder.append(object.getTime()); 6294 stringBuilder.append(')\\/"'); 6295 break; 6296 } 6297 var properties = []; 6298 var propertyCount = 0; 6299 for (var name in object) { 6300 if (name.startsWith('$')) { 6301 continue; 6302 } 6303 if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){ 6304 properties[propertyCount++] = properties[0]; 6305 properties[0] = name; 6306 } 6307 else{ 6308 properties[propertyCount++] = name; 6309 } 6310 } 6311 if (sort) properties.sort();
6312 stringBuilder.append('{'); 6313 var needComma = false; 6314 6315 for (i=0; i<propertyCount; i++) { 6316 var value = object[properties[i]]; 6317 if (typeof value !== 'undefined' && typeof value !== 'function') { 6318 if (needComma) { 6319 stringBuilder.append(','); 6320 } 6321 else { 6322 needComma = true; 6323 } 6324 6325 Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i], stringBuilder, sort, prevObjects); 6326 stringBuilder.append(':'); 6327 Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, stringBuilder, sort, prevObjects); 6328 6329 } 6330 } 6331 stringBuilder.append('}'); 6332 } 6333 } 6334 finally { 6335 Array.removeAt(prevObjects, prevObjects.length - 1); 6336 } 6337 } 6338 else { 6339 stringBuilder.append('null'); 6340 } 6341 break; 6342 case 'number': 6343 Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder); 6344 break; 6345 case 'string': 6346 Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder); 6347 break; 6348 case 'boolean': 6349 Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder); 6350 break; 6351 default: 6352 stringBuilder.append('null'); 6353 break; 6354 } 6355} 6356Sys.Serialization.JavaScriptSerializer.serialize = function Sys$Serialization$JavaScriptSerializer$serialize(object) { 6357 /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.serialize" /> 6358 /// <param name="object" mayBeNull="true"></param> 6359 /// <returns type="String"></returns> 6360 var e = Function._validateParams(arguments, [ 6361 {name: "object", mayBeNull: true} 6362 ]); 6363 if (e) throw e; 6364 var stringBuilder = new Sys.StringBuilder(); 6365 Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false); 6366 return stringBuilder.toString(); 6367} 6368Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) { 6369 /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.deserialize" /> 6370 /// <param name="data" type="String"></param> 6371 /// <param name="secure" type="Boolean" optional="true"></param> 6372 /// <returns></returns> 6373 var e = Function._validateParams(arguments, [ 6374 {name: "data", type: String}, 6375 {name: "secure", type: Boolean, optional: true} 6376 ]); 6377 if (e) throw e; 6378 6379 if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString); 6380 try { 6381 var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)"); 6382 6383 if (secure && Sys.Serialization.JavaScriptSerializer._jsonRegEx.test( 6384 exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, ''))) throw null; 6385 return eval('(' + exp + ')'); 6386 } 6387 catch (e) { 6388 throw Error.argument('data', Sys.Res.cannotDeserializeInvalidJson); 6389 } 6390} 6391 6392Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) { 6393 /// <summary locid="M:J#Sys.CultureInfo.#ctor" /> 6394 /// <param name="name" type="String"></param> 6395 /// <param name="numberFormat" type="Object"></param> 6396 /// <param name="dateTimeFormat" type="Object"></param> 6397 var e = Function._validateParams(arguments, [ 6398 {name: "name", type: String}, 6399 {name: "numberFormat", type: Object}, 6400 {name: "dateTimeFormat", type: Object} 6401 ]); 6402 if (e) throw e; 6403 this.name = name; 6404 this.numberFormat = numberFormat; 6405 this.dateTimeFormat = dateTimeFormat; 6406} 6407 function Sys$CultureInfo$_getDateTimeFormats() { 6408 if (! this._dateTimeFormats) { 6409 var dtf = this.dateTimeFormat; 6410 this._dateTimeFormats = 6411 [ dtf.MonthDayPattern, 6412 dtf.YearMonthPattern, 6413 dtf.ShortDatePattern, 6414 dtf.ShortTimePattern, 6415 dtf.LongDatePattern, 6416 dtf.LongTimePattern, 6417 dtf.FullDateTimePattern, 6418 dtf.RFC1123Pattern, 6419 dtf.SortableDateTimePattern, 6420 dtf.UniversalSortableDateTimePattern ]; 6421 } 6422 return this._dateTimeFormats; 6423 } 6424 function Sys$CultureInfo$_getMonthIndex(value) { 6425 if (!this._upperMonths) { 6426 this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames); 6427 } 6428 return Array.indexOf(this._upperMonths, this._toUpper(value)); 6429 } 6430 function Sys$CultureInfo$_getAbbrMonthIndex(value) { 6431 if (!this._upperAbbrMonths) { 6432 this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); 6433 } 6434 return Array.indexOf(this._upperAbbrMonths, this._toUpper(value)); 6435 } 6436 function Sys$CultureInfo$_getDayIndex(value) { 6437 if (!this._upperDays) { 6438 this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames); 6439 } 6440 return Array.indexOf(this._upperDays, this._toUpper(value)); 6441 } 6442 function Sys$CultureInfo$_getAbbrDayIndex(value) { 6443 if (!this._upperAbbrDays) { 6444 this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames); 6445 } 6446 return Array.indexOf(this._upperAbbrDays, this._toUpper(value)); 6447 } 6448 function Sys$CultureInfo$_toUpperArray(arr) { 6449 var result = []; 6450 for (var i = 0, il = arr.length; i < il; i++) { 6451 result[i] = this._toUpper(arr[i]); 6452 } 6453 return result; 6454 } 6455 function Sys$CultureInfo$_toUpper(value) { 6456 return value.split("\u00A0").join(' ').toUpperCase(); 6457 } 6458Sys.CultureInfo.prototype = { 6459 _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats, 6460 _getMonthIndex: Sys$CultureInfo$_getMonthIndex, 6461 _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex, 6462 _getDayIndex: Sys$CultureInfo$_getDayIndex, 6463 _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex, 6464 _toUpperArray: Sys$CultureInfo$_toUpperArray, 6465 _toUpper: Sys$CultureInfo$_toUpper 6466} 6467Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) { 6468 var cultureInfo = Sys.Serialization.JavaScriptSerializer.deserialize(value); 6469 return new Sys.CultureInfo(cultureInfo.name, cultureInfo.numberFormat, cultureInfo.dateTimeFormat); 6470} 6471Sys.CultureInfo.registerClass('Sys.CultureInfo'); 6472Sys.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/d
6472d/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",""]}}'); 6473if (typeof(__cultureInfo) === 'undefined') { 6474 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",""]}}'; 6475} 6476Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo); 6477delete __cultureInfo; 6478 6479Sys.UI.Behavior = function Sys$UI$Behavior(element) { 6480 /// <summary locid="M:J#Sys.UI.Behavior.#ctor" /> 6481 /// <param name="element" domElement="true"></param> 6482 var e = Function._validateParams(arguments, [ 6483 {name: "element", domElement: true} 6484 ]); 6485 if (e) throw e; 6486 Sys.UI.Behavior.initializeBase(this); 6487 this._element = element; 6488 var behaviors = element._behaviors; 6489 if (!behaviors) { 6490 element._behaviors = [this]; 6491 } 6492 else { 6493 behaviors[behaviors.length] = this; 6494 } 6495} 6496 function Sys$UI$Behavior$get_element() { 6497 /// <value domElement="true" locid="P:J#Sys.UI.Behavior.element"></value> 6498 if (arguments.length !== 0) throw Error.parameterCount(); 6499 return this._element; 6500 } 6501 function Sys$UI$Behavior$get_id() { 6502 /// <value type="String" locid="P:J#Sys.UI.Behavior.id"></value> 6503 if (arguments.length !== 0) throw Error.parameterCount(); 6504 var baseId = Sys.UI.Behavior.callBaseMethod(this, 'get_id'); 6505 if (baseId) return baseId;
6506 if (!this._element || !this._element.id) return ''; 6507 return this._element.id + '$' + this.get_name(); 6508 } 6509 function Sys$UI$Behavior$get_name() { 6510 /// <value type="String" locid="P:J#Sys.UI.Behavior.name"></value> 6511 if (arguments.length !== 0) throw Error.parameterCount(); 6512 if (this._name) return this._name; 6513 var name = Object.getTypeName(this); 6514 var i = name.lastIndexOf('.'); 6515 if (i != -1) name = name.substr(i + 1); 6516 if (!this.get_isInitialized()) this._name = name; 6517 return name; 6518 } 6519 function Sys$UI$Behavior$set_name(value) { 6520 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 6521 if (e) throw e; 6522 if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' ')) 6523 throw Error.argument('value', Sys.Res.invalidId); 6524 if (typeof(this._element[value]) !== 'undefined') 6525 throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value)); 6526 if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit); 6527 this._name = value; 6528 } 6529 function Sys$UI$Behavior$initialize() { 6530 Sys.UI.Behavior.callBaseMethod(this, 'initialize'); 6531 var name = this.get_name(); 6532 if (name) this._element[name] = this; 6533 } 6534 function Sys$UI$Behavior$dispose() { 6535 Sys.UI.Behavior.callBaseMethod(this, 'dispose'); 6536 if (this._element) { 6537 var name = this.get_name(); 6538 if (name) { 6539 this._element[name] = null; 6540 } 6541 Array.remove(this._element._behaviors, this); 6542 delete this._element; 6543 } 6544 } 6545Sys.UI.Behavior.prototype = { 6546 _name: null, 6547 get_element: Sys$UI$Behavior$get_element, 6548 get_id: Sys$UI$Behavior$get_id, 6549 get_name: Sys$UI$Behavior$get_name, 6550 set_name: Sys$UI$Behavior$set_name, 6551 initialize: Sys$UI$Behavior$initialize, 6552 dispose: Sys$UI$Behavior$dispose 6553} 6554Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component); 6555Sys.UI.Behavior.getBehaviorByName = function Sys$UI$Behavior$getBehaviorByName(element, name) { 6556 /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorByName" /> 6557 /// <param name="element" domElement="true"></param> 6558 /// <param name="name" type="String"></param> 6559 /// <returns type="Sys.UI.Behavior" mayBeNull="true"></returns> 6560 var e = Function._validateParams(arguments, [ 6561 {name: "element", domElement: true}, 6562 {name: "name", type: String} 6563 ]); 6564 if (e) throw e; 6565 var b = element[name]; 6566 return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null; 6567} 6568Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) { 6569 /// <summary locid="M:J#Sys.UI.Behavior.getBehaviors" /> 6570 /// <param name="element" domElement="true"></param> 6571 /// <returns type="Array" elementType="Sys.UI.Behavior"></returns> 6572 var e = Function._validateParams(arguments, [ 6573 {name: "element", domElement: true} 6574 ]); 6575 if (e) throw e; 6576 if (!element._behaviors) return []; 6577 return Array.clone(element._behaviors); 6578} 6579Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) { 6580 /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorsByType" /> 6581 /// <param name="element" domElement="true"></param> 6582 /// <param name="type" type="Type"></param> 6583 /// <returns type="Array" elementType="Sys.UI.Behavior"></returns> 6584 var e = Function._validateParams(arguments, [ 6585 {name: "element", domElement: true}, 6586 {name: "type", type: Type} 6587 ]); 6588 if (e) throw e; 6589 var behaviors = element._behaviors; 6590 var results = []; 6591 if (behaviors) { 6592 for (var i = 0, l = behaviors.length; i < l; i++) { 6593 if (type.isInstanceOfType(behaviors[i])) { 6594 results[results.length] = behaviors[i]; 6595 } 6596 } 6597 } 6598 return results; 6599} 6600 6601Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() { 6602 /// <summary locid="M:J#Sys.UI.VisibilityMode.#ctor" /> 6603 /// <field name="hide" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.hide"></field> 6604 /// <field name="collapse" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.collapse"></field> 6605 if (arguments.length !== 0) throw Error.parameterCount(); 6606 throw Error.notImplemented(); 6607} 6608Sys.UI.VisibilityMode.prototype = { 6609 hide: 0, 6610 collapse: 1 6611} 6612Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode"); 6613 6614Sys.UI.Control = function Sys$UI$Control(element) { 6615 /// <summary locid="M:J#Sys.UI.Control.#ctor" /> 6616 /// <param name="element" domElement="true"></param> 6617 var e = Function._validateParams(arguments, [ 6618 {name: "element", domElement: true} 6619 ]); 6620 if (e) throw e; 6621 if (typeof(element.control) != 'undefined') throw Error.invali
6621dOperation(Sys.Res.controlAlreadyDefined); 6622 Sys.UI.Control.initializeBase(this); 6623 this._element = element; 6624 element.control = this; 6625} 6626 function Sys$UI$Control$get_element() { 6627 /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value> 6628 if (arguments.length !== 0) throw Error.parameterCount(); 6629 return this._element; 6630 } 6631 function Sys$UI$Control$get_id() { 6632 /// <value type="String" locid="P:J#Sys.UI.Control.id"></value> 6633 if (arguments.length !== 0) throw Error.parameterCount(); 6634 if (!this._element) return ''; 6635 return this._element.id; 6636 } 6637 function Sys$UI$Control$set_id(value) { 6638 var e = Function._validateParams(arguments, [{name: "value", type: String}]); 6639 if (e) throw e; 6640 throw Error.invalidOperation(Sys.Res.cantSetId); 6641 } 6642 function Sys$UI$Control$get_parent() { 6643 /// <value type="Sys.UI.Control" locid="P:J#Sys.UI.Control.parent"></value> 6644 if (arguments.length !== 0) throw Error.parameterCount(); 6645 if (this._parent) return this._parent; 6646 if (!this._element) return null; 6647 6648 var parentElement = this._element.parentNode; 6649 while (parentElement) { 6650 if (parentElement.control) { 6651 return parentElement.control; 6652 } 6653 parentElement = parentElement.parentNode; 6654 } 6655 return null; 6656 } 6657 function Sys$UI$Control$set_parent(value) { 6658 var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]); 6659 if (e) throw e; 6660 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6661 var parents = [this]; 6662 var current = value; 6663 while (current) { 6664 if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain); 6665 parents[parents.length] = current; 6666 current = current.get_parent(); 6667 } 6668 this._parent = value; 6669 } 6670 function Sys$UI$Control$get_visibilityMode() { 6671 /// <value type="Sys.UI.VisibilityMode" locid="P:J#Sys.UI.Control.visibilityMode"></value> 6672 if (arguments.length !== 0) throw Error.parameterCount(); 6673 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6674 return Sys.UI.DomElement.getVisibilityMode(this._element); 6675 } 6676 function Sys$UI$Control$set_visibilityMode(value) { 6677 var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.VisibilityMode}]); 6678 if (e) throw e; 6679 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6680 Sys.UI.DomElement.setVisibilityMode(this._element, value); 6681 } 6682 function Sys$UI$Control$get_visible() { 6683 /// <value type="Boolean" locid="P:J#Sys.UI.Control.visible"></value> 6684 if (arguments.length !== 0) throw Error.parameterCount(); 6685 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6686 return Sys.UI.DomElement.getVisible(this._element); 6687 } 6688 function Sys$UI$Control$set_visible(value) { 6689 var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]); 6690 if (e) throw e; 6691 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6692 Sys.UI.DomElement.setVisible(this._element, value) 6693 } 6694 function Sys$UI$Control$addCssClass(className) { 6695 /// <summary locid="M:J#Sys.UI.Control.addCssClass" /> 6696 /// <param name="className" type="String"></param> 6697 var e = Function._validateParams(arguments, [ 6698 {name: "className", type: String} 6699 ]); 6700 if (e) throw e; 6701 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6702 Sys.UI.DomElement.addCssClass(this._element, className); 6703 } 6704 function Sys$UI$Control$dispose() { 6705 Sys.UI.Control.callBaseMethod(this, 'dispose'); 6706 if (this._element) { 6707 this._element.control = undefined; 6708 delete this._element; 6709 } 6710 if (this._parent) delete this._parent; 6711 } 6712 function Sys$UI$Control$onBubbleEvent(source, args) { 6713 /// <summary locid="M:J#Sys.UI.Control.onBubbleEvent" /> 6714 /// <param name="source"></param> 6715 /// <param name="args" type="Sys.EventArgs"></param> 6716 /// <returns type="Boolean"></returns> 6717 var e = Function._validateParams(arguments, [ 6718 {name: "source"}, 6719 {name: "args", type: Sys.EventArgs} 6720 ]); 6721 if (e) throw e; 6722 return false; 6723 } 6724 function Sys$UI$Control$raiseBubbleEvent(source, args) { 6725 /// <summary locid="M:J#Sys.UI.Control.raiseBubbleEvent" /> 6726 /// <param name="source"></param> 6727 /// <param name="args" type="Sys.EventArgs"></param> 6728 var e = Function._validateParams(arguments, [ 6729 {name: "source"}, 6730 {name: "args", type: Sys.EventArgs} 6731 ]); 6732 if (e) throw e; 6733 var currentTarget = this.get_parent(); 6734 while (currentTarget) { 6735 if (currentTarget.onBubbleEvent(source, args)) { 6736 return; 6737 } 6738 currentTarget = currentTarget.get_parent(); 6739 } 6740 } 6741 function Sys$UI$Control$removeCssClass(className) { 6742 /// <summary locid="M:J#Sys.UI.Control.removeCssClass" /> 6743 /// <param name="className" type="String"></param> 6744 var e = Function._validateParams(arguments, [ 6745 {name: "className", type: String} 6746 ]); 6747 if (e) throw e;
6748 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6749 Sys.UI.DomElement.removeCssClass(this._element, className); 6750 } 6751 function Sys$UI$Control$toggleCssClass(className) { 6752 /// <summary locid="M:J#Sys.UI.Control.toggleCssClass" /> 6753 /// <param name="className" type="String"></param> 6754 var e = Function._validateParams(arguments, [ 6755 {name: "className", type: String} 6756 ]); 6757 if (e) throw e; 6758 if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose); 6759 Sys.UI.DomElement.toggleCssClass(this._element, className); 6760 } 6761Sys.UI.Control.prototype = { 6762 _parent: null, 6763 _visibilityMode: Sys.UI.VisibilityMode.hide, 6764 get_element: Sys$UI$Control$get_element, 6765 get_id: Sys$UI$Control$get_id, 6766 set_id: Sys$UI$Control$set_id, 6767 get_parent: Sys$UI$Control$get_parent, 6768 set_parent: Sys$UI$Control$set_parent, 6769 get_visibilityMode: Sys$UI$Control$get_visibilityMode, 6770 set_visibilityMode: Sys$UI$Control$set_visibilityMode, 6771 get_visible: Sys$UI$Control$get_visible, 6772 set_visible: Sys$UI$Control$set_visible, 6773 addCssClass: Sys$UI$Control$addCssClass, 6774 dispose: Sys$UI$Control$dispose, 6775 onBubbleEvent: Sys$UI$Control$onBubbleEvent, 6776 raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent, 6777 removeCssClass: Sys$UI$Control$removeCssClass, 6778 toggleCssClass: Sys$UI$Control$toggleCssClass 6779} 6780Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component); 6781 6782 6783Type.registerNamespace('Sys'); 6784Sys.Res={ 6785"urlMustBeLessThan1024chars":"The history state must be small enough to not make the url larger than 1024 characters.", 6786"argumentTypeName":"Value is not the name of an existing type.", 6787"methodRegisteredTwice":"Method {0} has already been registered.", 6788"cantSetIdAfterInit":"The id property can\u0027t be set on this object after initialization.", 6789"cantBeCalledAfterDispose":"Can\u0027t be called after dispose.", 6790"componentCantSetIdAfterAddedToApp":"The id property of a component can\u0027t be set after it\u0027s been added to the Application object.", 6791"behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already exists or it is the name of an existing property on the target element.", 6792"notATypeName":"Value is not a valid type name.", 6793"typeShouldBeTypeOrString":"Value is not a valid type or a valid type name.", 6794"historyInvalidHistorySettingCombination":"Cannot set enableHistory to false when ScriptManager.EnableHistory is true.", 6795"stateMustBeStringDictionary":"The state object can only have null and string fields.", 6796"boolTrueOrFalse":"Value must be \u0027true\u0027 or \u0027false\u0027.", 6797"scriptLoadFailedNoHead":"ScriptLoader requires pages to contain a \u003chead\u003e element.", 6798"stringFormatInvalid":"The format string is invalid.", 6799"referenceNotFound":"Component \u0027{0}\u0027 was not found.", 6800"enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t be used as an enum value name.", 6801"eventHandlerNotFound":"Handler not found.", 6802"circularParentChain":"The chain of control parents can\u0027t have circular references.", 6803"undefinedEvent":"\u0027{0}\u0027 is not an event.", 6804"notAMethod":"{0} is not a method.", 6805"propertyUndefined":"\u0027{0}\u0027 is not a property or an existing field.", 6806"historyCannotEnableHistory":"Cannot set enableHistory after initialization.", 6807"eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.", 6808"scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \u0027Display a notification about every script error\u0027 under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().", 6809"propertyNotWritable":"\u0027{0}\u0027 is not a writable property.", 6810"enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum value.", 6811"controlAlreadyDefined":"A control is already associated with the element.", 6812"addHandlerCantBeUsedForError":"Can\u0027t add a handler for the error event using this method. Please set the window.onerror property instead.", 6813"namespaceContainsObject":"Object {0} already exists and is not a namespace.", 6814"cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a function.", 6815"invalidNameSpace":"Value is not a valid namespace identifier.", 6816"notAnInterface":"Value is not a valid interface.", 6817"eventHandlerNotFunction":"Handler must be a function.", 6818"propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.", 6819"typeRegisteredTwice":"Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.", 6820"cantSetNameAfterInit":"The name property can\u0027t be set on this object after initialization.", 6821"historyMissingFrame":"For the history feature to work in IE, the page must have an iFrame element with id \u0027__historyFrame\u0027 pointed to a page that gets its title from the \u0027title\u0027 query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.", 6822"appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 can\u0027t be added to the application.", 6823"historyCannotAddHistoryPointWithHistoryDisabled":"A history point can only be added if enableHistory is set to true.", 6824"appComponentMustBeInitialized":"Components must be initialized before they are added to the Application object.", 6825"baseNotAClass":"Value is not a class.",
6826"methodNotFound":"No method found with name \u0027{0}\u0027.", 6827"arrayParseBadFormat":"Value must be a valid string representation for an array. It must start with a \u0027[\u0027 and end with a \u0027]\u0027.", 6828"stateFieldNameInvalid":"State field names must not contain any \u0027=\u0027 characters.", 6829"cantSetId":"The id property can\u0027t be set on this object.", 6830"historyMissingHiddenInput":"For the history feature to work in Safari 2, the page must have a hidden input element with id \u0027__history\u0027.", 6831"stringFormatBraceMismatch":"The format string contains an unmatched opening or closing brace.", 6832"enumValueNotInteger":"An enumeration definition can only contain integer values.", 6833"propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 because it returned a null value.", 6834"argumentDomNode":"Value must be a DOM element or a text node.", 6835"componentCantSetIdTwice":"The id property of a component can\u0027t be set more than once.", 6836"createComponentOnDom":"Value must be null for Components that are not Controls or Behaviors.", 6837"createNotComponent":"{0} does not derive from Sys.Component.", 6838"createNoDom":"Value must not be null for Controls and Behaviors.", 6839"cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an id.", 6840"badTypeName":"Value is not the name of the type being registered or the name is a reserved word.", 6841"argumentInteger":"Value must be an integer.", 6842"scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.", 6843"invokeCalledTwice":"Cannot call invoke more than once.", 6844"webServiceFailed":"The server method \u0027{0}\u0027 failed with the following error: {1}", 6845"webServiceInvalidJsonWrapper":"The server method \u0027{0}\u0027 returned invalid data. The \u0027d\u0027 property is missing from the JSON wrapper.", 6846"argumentType":"Object cannot be converted to the required type.", 6847"argumentNull":"Value cannot be null.", 6848"controlCantSetId":"The id property can\u0027t be set on a control.", 6849"formatBadFormatSpecifier":"Format specifier was invalid.", 6850"webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.", 6851"argumentDomElement":"Value must be a DOM element.", 6852"invalidExecutorType":"Could not create a valid Sys.Net.WebRequestExecutor from: {0}.", 6853"cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is false.", 6854"actualValue":"Actual value was {0}.", 6855"enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.", 6856"scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.", 6857"parameterCount":"Parameter count mismatch.", 6858"cannotDeserializeEmptyString":"Cannot deserialize empty string.", 6859"formatInvalidString":"Input string was not in a correct format.", 6860"invalidTimeout":"Value must be greater than or equal to zero.", 6861"cannotAbortBeforeStart":"Cannot abort when executor has not started.", 6862"argument":"Value does not fall within the expected range.", 6863"cannotDeserializeInvalidJson":"Cannot deserialize. The data does not correspond to valid JSON.", 6864"invalidHttpVerb":"httpVerb cannot be set to an empty or null string.", 6865"nullWebRequest":"Cannot call executeRequest with a null webRequest.", 6866"eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.", 6867"cannotSerializeNonFiniteNumbers":"Cannot serialize non finite numbers.", 6868"argumentUndefined":"Value cannot be undefined.", 6869"webServiceInvalidReturnType":"The server method \u0027{0}\u0027 returned an invalid type. Expected type: {1}", 6870"servicePathNotSet":"The path to the web service has not been set.", 6871"argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be converted to type \u0027{1}\u0027.", 6872"cannotCallOnceStarted":"Cannot call {0} once started.", 6873"badBaseUrl1":"Base URL does not contain ://.", 6874"badBaseUrl2":"Base URL does not contain another /.", 6875"badBaseUrl3":"Cannot find last / in base URL.", 6876"setExecutorAfterActive":"Cannot set executor after it has become active.", 6877"paramName":"Parameter name: {0}", 6878"cannotCallOutsideHandler":"Cannot call {0} outside of a completed event handler.", 6879"cannotSerializeObjectWithCycle":"Cannot serialize object with cyclic reference within child properties.",
6880"format":"One of the identified items was in an invalid format.", 6881"assertFailedCaller":"Assertion Failed: {0}\r\nat {1}", 6882"argumentOutOfRange":"Specified argument was out of the range of valid values.", 6883"webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.", 6884"notImplemented":"The method or operation is not implemented.", 6885"assertFailed":"Assertion Failed: {0}", 6886"invalidOperation":"Operation is not valid due to the current state of the object.", 6887"breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?" 6888}; 6889 6890if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.