
Function.__typeName='Function';
Function.__class=true;
Function.createCallback=function Function$createCallback(method,context){
var e=Function._validateParams(arguments,[
{name:"method",type:Function},
{name:"context",mayBeNull:true}]);
if(e)throw e;
return function(){
var l=arguments.length;
if(l>0){
var args=[];
for(var i=0;i<l;i++){
args[i]=arguments[i];}
args[l]=context;
return method.apply(this,args);}
return method.call(this,context);}}
Function.createDelegate=function Function$createDelegate(instance,method){
var e=Function._validateParams(arguments,[
{name:"instance",mayBeNull:true},
{name:"method",type:Function}]);
if(e)throw e;
return function(){
return method.apply(instance,arguments);}}
Function.emptyFunction=Function.emptyMethod=function Function$emptyMethod(){
if(arguments.length!==0)throw Error.parameterCount();}
Function._validateParams=function Function$_validateParams(params,expectedParams){
var e;
e=Function._validateParameterCount(params,expectedParams);
if(e){
e.popStackFrame();
return e;}
for(var i=0;i<params.length;i++){
var expectedParam=expectedParams[Math.min(i,expectedParams.length - 1)];
var paramName=expectedParam.name;
if(expectedParam.parameterArray){
paramName +="["+(i - expectedParams.length + 1)+"]";}
e=Function._validateParameter(params[i],expectedParam,paramName);
if(e){
e.popStackFrame();
return e;}}
return null;}
Function._validateParameterCount=function Function$_validateParameterCount(params,expectedParams){
var maxParams=expectedParams.length;
var minParams=0;
for(var i=0;i<expectedParams.length;i++){
if(expectedParams[i].parameterArray){
maxParams=Number.MAX_VALUE;}
else if(!expectedParams[i].optional){
minParams++;}}
if(params.length<minParams||params.length>maxParams){
var e=Error.parameterCount();
e.popStackFrame();
return e;}
return null;}
Function._validateParameter=function Function$_validateParameter(param,expectedParam,paramName){
var e;
var expectedType=expectedParam.type;
var expectedInteger=!!expectedParam.integer;
var expectedDomElement=!!expectedParam.domElement;
var mayBeNull=!!expectedParam.mayBeNull;
e=Function._validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName);
if(e){
e.popStackFrame();
return e;}
var expectedElementType=expectedParam.elementType;
var elementMayBeNull=!!expectedParam.elementMayBeNull;
if(expectedType===Array&&typeof(param)!=="undefined"&&param!==null&&
(expectedElementType||!elementMayBeNull)){
var expectedElementInteger=!!expectedParam.elementInteger;
var expectedElementDomElement=!!expectedParam.elementDomElement;
for(var i=0;i<param.length;i++){
var elem=param[i];
e=Function._validateParameterType(elem,expectedElementType,
expectedElementInteger,expectedElementDomElement,elementMayBeNull,
paramName +"["+ i +"]");
if(e){
e.popStackFrame();
return e;}}}
return null;}
Function._validateParameterType=function Function$_validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName){
var e;
if(typeof(param)==="undefined"){
if(mayBeNull){
return null;}
else{
e=Error.argumentUndefined(paramName);
e.popStackFrame();
return e;}}
if(param===null){
if(mayBeNull){
return null;}
else{
e=Error.argumentNull(paramName);
e.popStackFrame();
return e;}}
if(expectedType&&expectedType.__enum){
if(typeof(param)!=='number'){
e=Error.argumentType(paramName,Object.getType(param),expectedType);
e.popStackFrame();
return e;}
if((param%1)===0){
var values=expectedType.prototype;
if(!expectedType.__flags||(param===0)){
for(var i in values){
if(values[i]===param)return null;}}
else{
var v=param;
for(var i in values){
var vali=values[i];
if(vali===0)continue;
if((vali&param)===vali){
v -=vali;}
if(v===0)return null;}}}
e=Error.argumentOutOfRange(paramName,param,String.format(Sys.Res.enumInvalidValue,param,expectedType.getName()));
e.popStackFrame();
return e;}
if(expectedDomElement&&(param!==window)&&(param!==document)&&!(window.HTMLElement&&(param instanceof HTMLElement))&&
(typeof(param.nodeName)!=='string')){
e=Error.argument(paramName,Sys.Res.argumentDomElement);
e.popStackFrame();
return e;}
if(expectedType&&!expectedType.isInstanceOfType(param)){
e=Error.argumentType(paramName,Object.getType(param),expectedType);
e.popStackFrame();
return e;}
if(expectedType===Number&&expectedInteger){
if((param%1)!==0){
e=Error.argumentOutOfRange(paramName,param,Sys.Res.argumentInteger);
e.popStackFrame();
return e;}}
return null;}
Error.__typeName='Error';
Error.__class=true;
Error.create=function Error$create(message,errorInfo){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true},
{name:"errorInfo",mayBeNull:true,optional:true}]);
if(e)throw e;
var e=new Error(message);
e.message=message;
if(errorInfo){
for(var v in errorInfo){
e[v]=errorInfo[v];}}
e.popStackFrame();
return e;}
Error.argument=function Error$argument(paramName,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentException: "+(message?message:Sys.Res.argument);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentException",paramName:paramName});
e.popStackFrame();
return e;}
Error.argumentNull=function Error$argumentNull(paramName,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentNullException: "+(message?message:Sys.Res.argumentNull);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentNullException",paramName:paramName});
e.popStackFrame();
return e;}
Error.argumentOutOfRange=function Error$argumentOutOfRange(paramName,actualValue,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"actualValue",mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentOutOfRangeException: "+(message?message:Sys.Res.argumentOutOfRange);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
if(typeof(actualValue)!=="undefined"&&actualValue!==null){
displayMessage +="\n"+ String.format(Sys.Res.actualValue,actualValue);}
var e=Error.create(displayMessage,{
name:"Sys.ArgumentOutOfRangeException",
paramName:paramName,
actualValue:actualValue});
e.popStackFrame();
return e;}
Error.argumentType=function Error$argumentType(paramName,actualType,expectedType,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"actualType",type:Type,mayBeNull:true,optional:true},
{name:"expectedType",type:Type,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentTypeException: ";
if(message){
displayMessage +=message;}
else if(actualType&&expectedType){
displayMessage +=
String.format(Sys.Res.argumentTypeWithTypes,actualType.getName(),expectedType.getName());}
else{
displayMessage +=Sys.Res.argumentType;}
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{
name:"Sys.ArgumentTypeException",
paramName:paramName,
actualType:actualType,
expectedType:expectedType});
e.popStackFrame();
return e;}
Error.argumentUndefined=function Error$argumentUndefined(paramName,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentUndefinedException: "+(message?message:Sys.Res.argumentUndefined);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentUndefinedException",paramName:paramName});
e.popStackFrame();
return e;}
Error.format=function Error$format(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.FormatException: "+(message?message:Sys.Res.format);
var e=Error.create(displayMessage,{name:'Sys.FormatException'});
e.popStackFrame();
return e;}
Error.invalidOperation=function Error$invalidOperation(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.InvalidOperationException: "+(message?message:Sys.Res.invalidOperation);
var e=Error.create(displayMessage,{name:'Sys.InvalidOperationException'});
e.popStackFrame();
return e;}
Error.notImplemented=function Error$notImplemented(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.NotImplementedException: "+(message?message:Sys.Res.notImplemented);
var e=Error.create(displayMessage,{name:'Sys.NotImplementedException'});
e.popStackFrame();
return e;}
Error.parameterCount=function Error$parameterCount(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ParameterCountException: "+(message?message:Sys.Res.parameterCount);
var e=Error.create(displayMessage,{name:'Sys.ParameterCountException'});
e.popStackFrame();
return e;}
Error.prototype.popStackFrame=function Error$popStackFrame(){
if(arguments.length!==0)throw Error.parameterCount();
if(typeof(this.stack)==="undefined"||this.stack===null||
typeof(this.fileName)==="undefined"||this.fileName===null||
typeof(this.lineNumber)==="undefined"||this.lineNumber===null){
return;}
var stackFrames=this.stack.split("\n");
var currentFrame=stackFrames[0];
var pattern=this.fileName +":"+ this.lineNumber;
while(typeof(currentFrame)!=="undefined"&&
currentFrame!==null&&
currentFrame.indexOf(pattern)===-1){
stackFrames.shift();
currentFrame=stackFrames[0];}
var nextFrame=stackFrames[1];
if(typeof(nextFrame)==="undefined"||nextFrame===null){
return;}
var nextFrameParts=nextFrame.match(/@(.*):(\d+)$/);
if(typeof(nextFrameParts)==="undefined"||nextFrameParts===null){
return;}
this.fileName=nextFrameParts[1];
this.lineNumber=parseInt(nextFrameParts[2]);
stackFrames.shift();
this.stack=stackFrames.join("\n");}
if(!window)this.window=this;
window.Type=Function;
window.__rootNamespaces=[];
window.__registeredTypes={};
Type.__fullyQualifiedIdentifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$","i");
Type.__identifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$","i");
Type.prototype.callBaseMethod=function Type$callBaseMethod(instance,name,baseArguments){
var e=Function._validateParams(arguments,[
{name:"instance"},
{name:"name",type:String},
{name:"baseArguments",type:Array,mayBeNull:true,optional:true,elementMayBeNull:true}]);
if(e)throw e;
var baseMethod=this.getBaseMethod(instance,name);
if(!baseMethod)throw Error.invalidOperation(String.format(Sys.Res.methodNotFound,name));
if(!baseArguments){
return baseMethod.apply(instance);}
else{
return baseMethod.apply(instance,baseArguments);}}
Type.prototype.getBaseMethod=function Type$getBaseMethod(instance,name){
var e=Function._validateParams(arguments,[
{name:"instance"},
{name:"name",type:String}]);
if(e)throw e;
if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);
var baseType=this.getBaseType();
if(baseType){
var baseMethod=baseType.prototype[name];
return(baseMethod instanceof Function)?baseMethod:null;}
return null;}
Type.prototype.getBaseType=function Type$getBaseType(){
if(arguments.length!==0)throw Error.parameterCount();
return(typeof(this.__baseType)==="undefined")?null:this.__baseType;}
Type.prototype.getInterfaces=function Type$getInterfaces(){
if(arguments.length!==0)throw Error.parameterCount();
var result=[];
var type=this;
while(type){
var interfaces=type.__interfaces;
if(interfaces){
for(var i=0,l=interfaces.length;i<l;i++){
var interfaceType=interfaces[i];
if(!Array.contains(result,interfaceType)){
result[result.length]=interfaceType;}}}
type=type.__baseType;}
return result;}
Type.prototype.getName=function Type$getName(){
if(arguments.length!==0)throw Error.parameterCount();
return(typeof(this.__typeName)==="undefined")?"":this.__typeName;}
Type.prototype.implementsInterface=function Type$implementsInterface(interfaceType){
var e=Function._validateParams(arguments,[
{name:"interfaceType",type:Type}]);
if(e)throw e;
this.resolveInheritance();
var interfaceName=interfaceType.getName();
var cache=this.__interfaceCache;
if(cache){
var cacheEntry=cache[interfaceName];
if(typeof(cacheEntry)!=='undefined')return cacheEntry;}
else{
cache=this.__interfaceCache={};}
var baseType=this;
while(baseType){
var interfaces=baseType.__interfaces;
if(interfaces){
if(Array.indexOf(interfaces,interfaceType)!==-1){
return cache[interfaceName]=true;}}
baseType=baseType.__baseType;}
return cache[interfaceName]=false;}
Type.prototype.inheritsFrom=function Type$inheritsFrom(parentType){
var e=Function._validateParams(arguments,[
{name:"parentType",type:Type}]);
if(e)throw e;
this.resolveInheritance();
var baseType=this.__baseType;
while(baseType){
if(baseType===parentType){
return true;}
baseType=baseType.__baseType;}
return false;}
Type.prototype.initializeBase=function Type$initializeBase(instance,baseArguments){
var e=Function._validateParams(arguments,[
{name:"instance"},
{name:"baseArguments",type:Array,mayBeNull:true,optional:true,elementMayBeNull:true}]);
if(e)throw e;
if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);
this.resolveInheritance();
if(this.__baseType){
if(!baseArguments){
this.__baseType.apply(instance);}
else{
this.__baseType.apply(instance,baseArguments);}}
return instance;}
Type.prototype.isImplementedBy=function Type$isImplementedBy(instance){
var e=Function._validateParams(arguments,[
{name:"instance",mayBeNull:true}]);
if(e)throw e;
if(typeof(instance)==="undefined"||instance===null)return false;
var instanceType=Object.getType(instance);
return!!(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.isInstanceOfType=function Type$isInstanceOfType(instance){
var e=Function._validateParams(arguments,[
{name:"instance",mayBeNull:true}]);
if(e)throw e;
if(typeof(instance)==="undefined"||instance===null)return false;
if(instance instanceof this)return true;
var instanceType=Object.getType(instance);
return!!(instanceType===this)||
(instanceType.inheritsFrom&&instanceType.inheritsFrom(this))||
(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.registerClass=function Type$registerClass(typeName,baseType,interfaceTypes){
var e=Function._validateParams(arguments,[
{name:"typeName",type:String},
{name:"baseType",type:Type,mayBeNull:true,optional:true},
{name:"interfaceTypes",type:Type,parameterArray:true}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);
var parsedName;
try{
parsedName=eval(typeName);}
catch(e){
throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);
if(window.__registeredTypes[typeName])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));
if((arguments.length>1)&&(typeof(baseType)==='undefined'))throw Error.argumentUndefined('baseType');
if(baseType&&!baseType.__class)throw Error.argument('baseType',Sys.Res.baseNotAClass);
this.prototype.constructor=this;
this.__typeName=typeName;
this.__class=true;
if(baseType){
this.__baseType=baseType;
this.__basePrototypePending=true;}
if(!window.__classes)window.__classes={};
window.__classes[typeName.toUpperCase()]=this;
if(interfaceTypes){
this.__interfaces=[];
for(var i=2;i<arguments.length;i++){
var interfaceType=arguments[i];
if(!interfaceType.__interface)throw Error.argument('interfaceTypes['+(i - 2)+']',Sys.Res.notAnInterface);
this.resolveInheritance();
for(var methodName in interfaceType.prototype){
var method=interfaceType.prototype[methodName];
if(!this.prototype[methodName]){
this.prototype[methodName]=method;}}
this.__interfaces.push(interfaceType);}}
window.__registeredTypes[typeName]=true;
return this;}
Type.prototype.registerInterface=function Type$registerInterface(typeName){
var e=Function._validateParams(arguments,[
{name:"typeName",type:String}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);
var parsedName;
try{
parsedName=eval(typeName);}
catch(e){
throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);
if(window.__registeredTypes[typeName])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));
this.prototype.constructor=this;
this.__typeName=typeName;
this.__interface=true;
window.__registeredTypes[typeName]=true;
return this;}
Type.prototype.resolveInheritance=function Type$resolveInheritance(){
if(arguments.length!==0)throw Error.parameterCount();
if(this.__basePrototypePending){
var baseType=this.__baseType;
baseType.resolveInheritance();
for(var memberName in baseType.prototype){
var memberValue=baseType.prototype[memberName];
if(!this.prototype[memberName]){
this.prototype[memberName]=memberValue;}}
delete this.__basePrototypePending;}}
Type.getRootNamespaces=function Type$getRootNamespaces(){
if(arguments.length!==0)throw Error.parameterCount();
return Array.clone(window.__rootNamespaces);}
Type.isClass=function Type$isClass(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__class;}
Type.isInterface=function Type$isInterface(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__interface;}
Type.isNamespace=function Type$isNamespace(object){
var e=Function._validateParams(arguments,[
{name:"object",mayBeNull:true}]);
if(e)throw e;
if((typeof(object)==='undefined')||(object===null))return false;
return!!object.__namespace;}
Type.parse=function Type$parse(typeName,ns){
var e=Function._validateParams(arguments,[
{name:"typeName",type:String,mayBeNull:true},
{name:"ns",mayBeNull:true,optional:true}]);
if(e)throw e;
var fn;
if(ns){
if(!window.__classes)return null;
fn=window.__classes[ns.getName().toUpperCase()+'.'+ typeName.toUpperCase()];
return fn||null;}
if(!typeName)return null;
if(!Type.__htClasses){
Type.__htClasses={};}
fn=Type.__htClasses[typeName];
if(!fn){
fn=eval(typeName);
if(typeof(fn)!=='function')throw Error.argument('typeName',Sys.Res.notATypeName);
Type.__htClasses[typeName]=fn;}
return fn;}
Type.registerNamespace=function Type$registerNamespace(namespacePath){
var e=Function._validateParams(arguments,[
{name:"namespacePath",type:String}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath))throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);
var rootObject=window;
var namespaceParts=namespacePath.split('.');
for(var i=0;i<namespaceParts.length;i++){
var currentPart=namespaceParts[i];
var ns=rootObject[currentPart];
if(ns&&!ns.__namespace){
throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject,namespaceParts.splice(0,i + 1).join('.')));}
if(!ns){
ns=rootObject[currentPart]={};
if(i===0){
window.__rootNamespaces[window.__rootNamespaces.length]=ns;}
ns.__namespace=true;
ns.__typeName=namespaceParts.slice(0,i + 1).join('.');
var parsedName;
try{
parsedName=eval(ns.__typeName);}
catch(e){
parsedName=null;}
if(parsedName!==ns){
delete rootObject[currentPart];
throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);}
ns.getName=function ns$getName(){return this.__typeName;}}
rootObject=ns;}}
Object.__typeName='Object';
Object.__class=true;
Object.getType=function Object$getType(instance){
var e=Function._validateParams(arguments,[
{name:"instance"}]);
if(e)throw e;
var ctor=instance.constructor;
if(!ctor||(typeof(ctor)!=="function")||!ctor.__typeName||(ctor.__typeName==='Object')){
return Object;}
return ctor;}
Object.getTypeName=function Object$getTypeName(instance){
var e=Function._validateParams(arguments,[
{name:"instance"}]);
if(e)throw e;
return Object.getType(instance).getName();}
Boolean.__typeName='Boolean';
Boolean.__class=true;
Boolean.parse=function Boolean$parse(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
var v=value.trim().toLowerCase();
if(v==='false')return false;
if(v==='true')return true;
throw Error.argumentOutOfRange('value',value,Sys.Res.boolTrueOrFalse);}
Date.__typeName='Date';
Date.__class=true;
Date._appendPreOrPostMatch=function Date$_appendPreOrPostMatch(preMatch,strBuilder){
var quoteCount=0;
var escaped=false;
for(var i=0,il=preMatch.length;i<il;i++){
var c=preMatch.charAt(i);
switch(c){
case'\'':
if(escaped)strBuilder.append("'");
else quoteCount++;
escaped=false;
break;
case'\\':
if(escaped)strBuilder.append("\\");
escaped=!escaped;
break;
default:
strBuilder.append(c);
escaped=false;
break;}}
return quoteCount;}
Date._expandFormat=function Date$_expandFormat(dtf,format){
if(!format){
format="F";}
if(format.length===1){
switch(format){
case"d":
return dtf.ShortDatePattern;
case"D":
return dtf.LongDatePattern;
case"t":
return dtf.ShortTimePattern;
case"T":
return dtf.LongTimePattern;
case"F":
return dtf.FullDateTimePattern;
case"M":case"m":
return dtf.MonthDayPattern;
case"s":
return dtf.SortableDateTimePattern;
case"Y":case"y":
return dtf.YearMonthPattern;
default:
throw Error.format(Sys.Res.formatInvalidString);}}
return format;}
Date._expandYear=function Date$_expandYear(dtf,year){
if(year<100){
var curr=new Date().getFullYear();
year +=curr -(curr%100);
if(year>dtf.Calendar.TwoDigitYearMax){
return year - 100;}}
return year;}
Date._getParseRegExp=function Date$_getParseRegExp(dtf,format){
if(!dtf._parseRegExp){
dtf._parseRegExp={};}
else if(dtf._parseRegExp[format]){
return dtf._parseRegExp[format];}
var expFormat=Date._expandFormat(dtf,format);
expFormat=expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");
var regexp=new Sys.StringBuilder("^");
var groups=[];
var index=0;
var quoteCount=0;
var tokenRegExp=Date._getTokenRegExp();
var match;
while((match=tokenRegExp.exec(expFormat))!==null){
var preMatch=expFormat.slice(index,match.index);
index=tokenRegExp.lastIndex;
quoteCount +=Date._appendPreOrPostMatch(preMatch,regexp);
if((quoteCount%2)===1){
regexp.append(match[0]);
continue;}
switch(match[0]){
case'dddd':case'ddd':
case'MMMM':case'MMM':
regexp.append("(\\D+)");
break;
case'tt':case't':
regexp.append("(\\D*)");
break;
case'yyyy':
regexp.append("(\\d{4})");
break;
case'fff':
regexp.append("(\\d{3})");
break;
case'ff':
regexp.append("(\\d{2})");
break;
case'f':
regexp.append("(\\d)");
break;
case'dd':case'd':
case'MM':case'M':
case'yy':case'y':
case'HH':case'H':
case'hh':case'h':
case'mm':case'm':
case'ss':case's':
regexp.append("(\\d\\d?)");
break;
case'zzz':
regexp.append("([+-]?\\d\\d?:\\d{2})");
break;
case'zz':case'z':
regexp.append("([+-]?\\d\\d?)");
break;}
Array.add(groups,match[0]);}
Date._appendPreOrPostMatch(expFormat.slice(index),regexp);
regexp.append("$");
var regexpStr=regexp.toString().replace(/\s+/g,"\\s+");
var parseRegExp={'regExp':regexpStr,'groups':groups};
dtf._parseRegExp[format]=parseRegExp;
return parseRegExp;}
Date._getTokenRegExp=function Date$_getTokenRegExp(){
return/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;}
Date.parseLocale=function Date$parseLocale(value,formats){
var e=Function._validateParams(arguments,[
{name:"value",type:String},
{name:"formats",mayBeNull:true,optional:true,parameterArray:true}]);
if(e)throw e;
return Date._parse(value,Sys.CultureInfo.CurrentCulture,arguments);}
Date.parseInvariant=function Date$parseInvariant(value,formats){
var e=Function._validateParams(arguments,[
{name:"value",type:String},
{name:"formats",mayBeNull:true,optional:true,parameterArray:true}]);
if(e)throw e;
return Date._parse(value,Sys.CultureInfo.InvariantCulture,arguments);}
Date._parse=function Date$_parse(value,cultureInfo,args){
var custom=false;
for(var i=1,il=args.length;i<il;i++){
var format=args[i];
if(format){
custom=true;
var date=Date._parseExact(value,format,cultureInfo);
if(date)return date;}}
if(!custom){
var formats=cultureInfo._getDateTimeFormats();
for(var i=0,il=formats.length;i<il;i++){
var date=Date._parseExact(value,formats[i],cultureInfo);
if(date)return date;}}
return null;}
Date._parseExact=function Date$_parseExact(value,format,cultureInfo){
value=value.trim();
var dtf=cultureInfo.dateTimeFormat;
var parseInfo=Date._getParseRegExp(dtf,format);
var match=new RegExp(parseInfo.regExp).exec(value);
if(match!==null){
var groups=parseInfo.groups;
var year=null,month=null,date=null,weekDay=null;
var hour=0,min=0,sec=0,msec=0,tzMinOffset=null;
var pmHour=false;
for(var j=0,jl=groups.length;j<jl;j++){
var matchGroup=match[j+1];
if(matchGroup){
switch(groups[j]){
case'dd':case'd':
date=Date._parseInt(matchGroup);
if((date<1)||(date>31))return null;
break;
case'MMMM':
month=cultureInfo._getMonthIndex(matchGroup);
if((month<0)||(month>11))return null;
break;
case'MMM':
month=cultureInfo._getAbbrMonthIndex(matchGroup);
if((month<0)||(month>11))return null;
break;
case'M':case'MM':
var month=Date._parseInt(matchGroup)- 1;
if((month<0)||(month>11))return null;
break;
case'y':case'yy':
year=Date._expandYear(dtf,Date._parseInt(matchGroup));
if((year<0)||(year>9999))return null;
break;
case'yyyy':
year=Date._parseInt(matchGroup);
if((year<0)||(year>9999))return null;
break;
case'h':case'hh':
hour=Date._parseInt(matchGroup);
if(hour===12)hour=0;
if((hour<0)||(hour>11))return null;
break;
case'H':case'HH':
hour=Date._parseInt(matchGroup);
if((hour<0)||(hour>23))return null;
break;
case'm':case'mm':
min=Date._parseInt(matchGroup);
if((min<0)||(min>59))return null;
break;
case's':case'ss':
sec=Date._parseInt(matchGroup);
if((sec<0)||(sec>59))return null;
break;
case'tt':case't':
var upperToken=matchGroup.toUpperCase();
pmHour=(upperToken===dtf.PMDesignator.toUpperCase());
if(!pmHour&&(upperToken!==dtf.AMDesignator.toUpperCase()))return null;
break;
case'f':
msec=Date._parseInt(matchGroup)*100;
if((msec<0)||(msec>999))return null;
break;
case'ff':
msec=Date._parseInt(matchGroup)*10;
if((msec<0)||(msec>999))return null;
break;
case'fff':
msec=Date._parseInt(matchGroup);
if((msec<0)||(msec>999))return null;
break;
case'dddd':
weekDay=cultureInfo._getDayIndex(matchGroup);
if((weekDay<0)||(weekDay>6))return null;
break;
case'ddd':
weekDay=cultureInfo._getAbbrDayIndex(matchGroup);
if((weekDay<0)||(weekDay>6))return null;
break;
case'zzz':
var offsets=matchGroup.split(/:/);
if(offsets.length!==2)return null;
var hourOffset=Date._parseInt(offsets[0]);
if((hourOffset<-12)||(hourOffset>13))return null;
var minOffset=Date._parseInt(offsets[1]);
if((minOffset<0)||(minOffset>59))return null;
tzMinOffset=(hourOffset*60)+(matchGroup.startsWith('-')?-minOffset:minOffset);
break;
case'z':case'zz':
var hourOffset=Date._parseInt(matchGroup);
if((hourOffset<-12)||(hourOffset>13))return null;
tzMinOffset=hourOffset*60;
break;}}}
var result=new Date();
if(year===null){
year=result.getFullYear();}
if(month===null){
month=result.getMonth();}
if(date===null){
date=result.getDate();}
result.setFullYear(year,month,date);
if(result.getDate()!==date)return null;
if((weekDay!==null)&&(result.getDay()!==weekDay)){
return null;}
if(pmHour&&(hour<12)){
hour +=12;}
result.setHours(hour,min,sec,msec);
if(tzMinOffset!==null){
var adjustedMin=result.getMinutes()-(tzMinOffset + result.getTimezoneOffset());
result.setHours(result.getHours()+ parseInt(adjustedMin/60),adjustedMin%60);}
return result;}}
Date._parseInt=function Date$_parseInt(value){
return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));}
Date.prototype.format=function Date$format(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Date.prototype.localeFormat=function Date$localeFormat(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Date.prototype._toFormattedString=function Date$_toFormattedString(format,cultureInfo){
if(!format||(format.length===0)||(format==='i')){
if(cultureInfo&&(cultureInfo.name.length>0)){
return this.toLocaleString();}
else{
return this.toString();}}
var dtf=cultureInfo.dateTimeFormat;
format=Date._expandFormat(dtf,format);
var ret=new Sys.StringBuilder();
var hour;
function addLeadingZero(num){
if(num<10){
return'0'+ num;}
return num.toString();}
function addLeadingZeros(num){
if(num<10){
return'00'+ num;}
if(num<100){
return'0'+ num;}
return num.toString();}
var quoteCount=0;
var tokenRegExp=Date._getTokenRegExp();
for(;;){
var index=tokenRegExp.lastIndex;
var ar=tokenRegExp.exec(format);
var preMatch=format.slice(index,ar?ar.index:format.length);
quoteCount +=Date._appendPreOrPostMatch(preMatch,ret);
if(!ar)break;
if((quoteCount%2)===1){
ret.append(ar[0]);
continue;}
switch(ar[0]){
case"dddd":
ret.append(dtf.DayNames[this.getDay()]);
break;
case"ddd":
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
break;
case"dd":
ret.append(addLeadingZero(this.getDate()));
break;
case"d":
ret.append(this.getDate());
break;
case"MMMM":
ret.append(dtf.MonthNames[this.getMonth()]);
break;
case"MMM":
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
break;
case"MM":
ret.append(addLeadingZero(this.getMonth()+ 1));
break;
case"M":
ret.append(this.getMonth()+ 1);
break;
case"yyyy":
ret.append(this.getFullYear());
break;
case"yy":
ret.append(addLeadingZero(this.getFullYear()%100));
break;
case"y":
ret.append(this.getFullYear()%100);
break;
case"hh":
hour=this.getHours()%12;
if(hour===0)hour=12;
ret.append(addLeadingZero(hour));
break;
case"h":
hour=this.getHours()%12;
if(hour===0)hour=12;
ret.append(hour);
break;
case"HH":
ret.append(addLeadingZero(this.getHours()));
break;
case"H":
ret.append(this.getHours());
break;
case"mm":
ret.append(addLeadingZero(this.getMinutes()));
break;
case"m":
ret.append(this.getMinutes());
break;
case"ss":
ret.append(addLeadingZero(this.getSeconds()));
break;
case"s":
ret.append(this.getSeconds());
break;
case"tt":
ret.append((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator);
break;
case"t":
ret.append(((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator).charAt(0));
break;
case"f":
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
break;
case"ff":
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0,2));
break;
case"fff":
ret.append(addLeadingZeros(this.getMilliseconds()));
break;
case"z":
hour=this.getTimezoneOffset()/60;
ret.append(((hour>=0)?'+':'-')+ Math.floor(Math.abs(hour)));
break;
case"zz":
hour=this.getTimezoneOffset()/60;
ret.append(((hour>=0)?'+':'-')+ addLeadingZero(Math.floor(Math.abs(hour))));
break;
case"zzz":
hour=this.getTimezoneOffset()/60;
ret.append(((hour>=0)?'+':'-')+ addLeadingZero(Math.floor(Math.abs(hour)))+
dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset()%60)));
break;}}
return ret.toString();}
Number.__typeName='Number';
Number.__class=true;
Number.parseLocale=function Number$parseLocale(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
return Number._parse(value,Sys.CultureInfo.CurrentCulture);}
Number.parseInvariant=function Number$parseInvariant(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
return Number._parse(value,Sys.CultureInfo.InvariantCulture);}
Number._parse=function Number$_parse(value,cultureInfo){
var valueStr=value.trim();
if(valueStr.match(/infinity/i)!==null){
return parseFloat(valueStr);}
if(valueStr.match(/^0x[a-f0-9]+$/i)!==null){
return parseInt(valueStr);}
var numFormat=cultureInfo.numberFormat;
var decSeparator=numFormat.NumberDecimalSeparator;
var grpSeparator=numFormat.NumberGroupSeparator;
var numberFormatRegex=new RegExp("^[+-]?[\\d\\"+ grpSeparator +"]*\\"+ decSeparator +"?\\d*([eE][+-]?\\d+)?$");
if(!valueStr.match(numberFormatRegex)){
return Number.NaN;}
valueStr=valueStr.split(grpSeparator).join("");
valueStr=valueStr.replace(decSeparator,".");
return parseFloat(valueStr);}
Number.prototype.format=function Number$format(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Number.prototype.localeFormat=function Number$localeFormat(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Number.prototype._toFormattedString=function Number$_toFormattedString(format,cultureInfo){
if(!format||(format.length===0)||(format==='i')){
if(cultureInfo&&(cultureInfo.name.length>0)){
return this.toLocaleString();}
else{
return this.toString();}}
var _percentPositivePattern=["n %","n%","%n"];
var _percentNegativePattern=["-n %","-n%","-%n"];
var _numberNegativePattern=["(n)","-n","- n","n-","n -"];
var _currencyPositivePattern=["$n","n$","$ n","n $"];
var _currencyNegativePattern=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];
function expandNumber(number,precision,groupSizes,sep,decimalChar){
var curSize=groupSizes[0];
var curGroupIndex=1;
var numberString=number.toString();
var right="";
var exponent="";
var decimalSplit=numberString.split('.');
if(decimalSplit.length>1){
numberString=decimalSplit[0];
right=decimalSplit[1];
var exponentSplit=right.split(/e/i);
if(exponentSplit.length>1){
right=exponentSplit[0];
exponent="e"+ exponentSplit[1];}}
if(precision>0){
var rightDifference=right.length - precision;
if(rightDifference>0){
right=right.slice(0,precision);}else if(rightDifference<0){
for(var i=0;i<Math.abs(rightDifference);i++){
right +='0';}}
right=decimalChar + right;}
else{right="";}
right +=exponent;
var stringIndex=numberString.length-1;
var ret="";
while(stringIndex>=0){
if(curSize===0||curSize>stringIndex){
if(ret.length>0)
return numberString.slice(0,stringIndex + 1)+ sep + ret + right;
else
return numberString.slice(0,stringIndex + 1)+ right;}
if(ret.length>0)
ret=numberString.slice(stringIndex - curSize + 1,stringIndex+1)+ sep + ret;
else
ret=numberString.slice(stringIndex - curSize + 1,stringIndex+1);
stringIndex -=curSize;
if(curGroupIndex<groupSizes.length){
curSize=groupSizes[curGroupIndex];
curGroupIndex++;}}
return numberString.slice(0,stringIndex + 1)+ sep + ret + right;}
var nf=cultureInfo.numberFormat;
var number=Math.abs(this);
if(!format)
format="D";
var precision=-1;
if(format.length>1)precision=parseInt(format.slice(1));
var pattern;
switch(format.charAt(0)){
case"d":
case"D":
pattern='n';
if(precision!==-1){
var numberStr=""+number;
var zerosToAdd=precision - numberStr.length;
if(zerosToAdd>0){
for(var i=0;i<zerosToAdd;i++){
numberStr='0'+numberStr;}}
number=numberStr;}
if(this<0)number=-number;
break;
case"c":
case"C":
if(this<0)pattern=_currencyNegativePattern[nf.CurrencyNegativePattern];
else pattern=_currencyPositivePattern[nf.CurrencyPositivePattern];
if(precision===-1)precision=nf.CurrencyDecimalDigits;
number=expandNumber(Math.abs(this),precision,nf.CurrencyGroupSizes,nf.CurrencyGroupSeparator,nf.CurrencyDecimalSeparator);
break;
case"n":
case"N":
if(this<0)pattern=_numberNegativePattern[nf.NumberNegativePattern];
else pattern='n';
if(precision===-1)precision=nf.NumberDecimalDigits;
number=expandNumber(Math.abs(this),precision,nf.NumberGroupSizes,nf.NumberGroupSeparator,nf.NumberDecimalSeparator);
break;
case"p":
case"P":
if(this<0)pattern=_percentNegativePattern[nf.PercentNegativePattern];
else pattern=_percentPositivePattern[nf.PercentPositivePattern];
if(precision===-1)precision=nf.PercentDecimalDigits;
number=expandNumber(Math.abs(this),precision,nf.PercentGroupSizes,nf.PercentGroupSeparator,nf.PercentDecimalSeparator);
break;
default:
throw Error.format(Sys.Res.formatBadFormatSpecifier);}
var regex=/n|\$|-|%/g;
var ret="";
for(;;){
var index=regex.lastIndex;
var ar=regex.exec(pattern);
ret +=pattern.slice(index,ar?ar.index:pattern.length);
if(!ar)
break;
switch(ar[0]){
case"n":
ret +=number;
break;
case"$":
ret +=nf.CurrencySymbol;
break;
case"-":
ret +=nf.NegativeSign;
break;
case"%":
ret +=nf.PercentSymbol;
break;}}
return ret;}
RegExp.__typeName='RegExp';
RegExp.__class=true;
Array.__typeName='Array';
Array.__class=true;
Array.add=Array.enqueue=function Array$enqueue(array,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
array[array.length]=item;}
Array.addRange=function Array$addRange(array,items){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"items",type:Array,elementMayBeNull:true}]);
if(e)throw e;
array.push.apply(array,items);}
Array.clear=function Array$clear(array){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true}]);
if(e)throw e;
array.length=0;}
Array.clone=function Array$clone(array){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true}]);
if(e)throw e;
if(array.length===1){
return[array[0]];}
else{
return Array.apply(null,array);}}
Array.contains=function Array$contains(array,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
return(Array.indexOf(array,item)>=0);}
Array.dequeue=function Array$dequeue(array){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true}]);
if(e)throw e;
return array.shift();}
Array.forEach=function Array$forEach(array,method,instance){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"method",type:Function},
{name:"instance",mayBeNull:true,optional:true}]);
if(e)throw e;
for(var i=0,l=array.length;i<l;i++){
var elt=array[i];
if(typeof(elt)!=='undefined')method.call(instance,elt,i,array);}}
Array.indexOf=function Array$indexOf(array,item,start){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true,optional:true},
{name:"start",mayBeNull:true,optional:true}]);
if(e)throw e;
if(typeof(item)==="undefined")return -1;
var length=array.length;
if(length!==0){
start=start - 0;
if(isNaN(start)){
start=0;}
else{
if(isFinite(start)){
start=start -(start%1);}
if(start<0){
start=Math.max(0,length + start);}}
for(var i=start;i<length;i++){
if((typeof(array[i])!=="undefined")&&(array[i]===item)){
return i;}}}
return -1;}
Array.insert=function Array$insert(array,index,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"index",mayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
array.splice(index,0,item);}
Array.parse=function Array$parse(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String,mayBeNull:true}]);
if(e)throw e;
if(!value)return[];
var v=eval(value);
if(!Array.isInstanceOfType(v))throw Error.argument('value',Sys.Res.arrayParseBadFormat);
return v;}
Array.remove=function Array$remove(array,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
var index=Array.indexOf(array,item);
if(index>=0){
array.splice(index,1);}
return(index>=0);}
Array.removeAt=function Array$removeAt(array,index){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"index",mayBeNull:true}]);
if(e)throw e;
array.splice(index,1);}
String.__typeName='String';
String.__class=true;
String.prototype.endsWith=function String$endsWith(suffix){
var e=Function._validateParams(arguments,[
{name:"suffix",type:String}]);
if(e)throw e;
return(this.substr(this.length - suffix.length)===suffix);}
String.prototype.startsWith=function String$startsWith(prefix){
var e=Function._validateParams(arguments,[
{name:"prefix",type:String}]);
if(e)throw e;
return(this.substr(0,prefix.length)===prefix);}
String.prototype.trim=function String$trim(){
if(arguments.length!==0)throw Error.parameterCount();
return this.replace(/^\s+|\s+$/g,'');}
String.prototype.trimEnd=function String$trimEnd(){
if(arguments.length!==0)throw Error.parameterCount();
return this.replace(/\s+$/,'');}
String.prototype.trimStart=function String$trimStart(){
if(arguments.length!==0)throw Error.parameterCount();
return this.replace(/^\s+/,'');}
String.format=function String$format(format,args){
var e=Function._validateParams(arguments,[
{name:"format",type:String},
{name:"args",mayBeNull:true,parameterArray:true}]);
if(e)throw e;
return String._toFormattedString(false,arguments);}
String.localeFormat=function String$localeFormat(format,args){
var e=Function._validateParams(arguments,[
{name:"format",type:String},
{name:"args",mayBeNull:true,parameterArray:true}]);
if(e)throw e;
return String._toFormattedString(true,arguments);}
String._toFormattedString=function String$_toFormattedString(useLocale,args){
var result='';
var format=args[0];
for(var i=0;;){
var open=format.indexOf('{',i);
var close=format.indexOf('}',i);
if((open<0)&&(close<0)){
result +=format.slice(i);
break;}
if((close>0)&&((close<open)||(open<0))){
if(format.charAt(close + 1)!=='}'){
throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);}
result +=format.slice(i,close + 1);
i=close + 2;
continue;}
result +=format.slice(i,open);
i=open + 1;
if(format.charAt(i)==='{'){
result +='{';
i++;
continue;}
if(close<0)throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);
var brace=format.substring(i,close);
var colonIndex=brace.indexOf(':');
var argNumber=parseInt((colonIndex<0)?brace:brace.substring(0,colonIndex))+ 1;
if(isNaN(argNumber))throw Error.argument('format',Sys.Res.stringFormatInvalid);
var argFormat=(colonIndex<0)?'':brace.substring(colonIndex + 1);
var arg=args[argNumber];
if(typeof(arg)==="undefined"||arg===null){
arg='';}
if(arg.toFormattedString){
result +=arg.toFormattedString(argFormat);}
else if(useLocale&&arg.localeFormat){
result +=arg.localeFormat(argFormat);}
else if(arg.format){
result +=arg.format(argFormat);}
else
result +=arg.toString();
i=close + 1;}
return result;}
Type.registerNamespace('Sys');
Sys.IDisposable=function Sys$IDisposable(){
throw Error.notImplemented();}
function Sys$IDisposable$dispose(){
throw Error.notImplemented();}
Sys.IDisposable.prototype={
dispose:Sys$IDisposable$dispose}
Sys.IDisposable.registerInterface('Sys.IDisposable');
Sys.StringBuilder=function Sys$StringBuilder(initialText){
var e=Function._validateParams(arguments,[
{name:"initialText",mayBeNull:true,optional:true}]);
if(e)throw e;
this._parts=(typeof(initialText)!=='undefined'&&initialText!==null&&initialText!=='')?
[initialText.toString()]:[];
this._value={};
this._len=0;}
function Sys$StringBuilder$append(text){
var e=Function._validateParams(arguments,[
{name:"text",mayBeNull:true}]);
if(e)throw e;
this._parts[this._parts.length]=text;}
function Sys$StringBuilder$appendLine(text){
var e=Function._validateParams(arguments,[
{name:"text",mayBeNull:true,optional:true}]);
if(e)throw e;
this._parts[this._parts.length]=
((typeof(text)==='undefined')||(text===null)||(text===''))?'\r\n':text +'\r\n';}
function Sys$StringBuilder$clear(){
if(arguments.length!==0)throw Error.parameterCount();
this._parts=[];
this._value={};
this._len=0;}
function Sys$StringBuilder$isEmpty(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._parts.length===0)return true;
return this.toString()==='';}
function Sys$StringBuilder$toString(separator){
var e=Function._validateParams(arguments,[
{name:"separator",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
separator=separator||'';
var parts=this._parts;
if(this._len!==parts.length){
this._value={};
this._len=parts.length;}
var val=this._value;
if(typeof(val[separator])==='undefined'){
if(separator!==''){
for(var i=0;i<parts.length;){
if((typeof(parts[i])==='undefined')||(parts[i]==='')||(parts[i]===null)){
parts.splice(i,1);}
else{
i++;}}}
val[separator]=this._parts.join(separator);}
return val[separator];}
Sys.StringBuilder.prototype={
append:Sys$StringBuilder$append,
appendLine:Sys$StringBuilder$appendLine,
clear:Sys$StringBuilder$clear,
isEmpty:Sys$StringBuilder$isEmpty,
toString:Sys$StringBuilder$toString}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
if(!window.XMLHttpRequest){
window.XMLHttpRequest=function window$XMLHttpRequest(){
var progIDs=['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
for(var i=0;i<progIDs.length;i++){
try{
var xmlHttp=new ActiveXObject(progIDs[i]);
return xmlHttp;}
catch(ex){}}
return null;}}
Sys.Browser={};
Sys.Browser.InternetExplorer={};
Sys.Browser.Firefox={};
Sys.Browser.Safari={};
Sys.Browser.Opera={};
Sys.Browser.agent=null;
Sys.Browser.hasDebuggerStatement=false;
Sys.Browser.name=navigator.appName;
Sys.Browser.version=parseFloat(navigator.appVersion);
if(navigator.userAgent.indexOf(' MSIE ')>-1){
Sys.Browser.agent=Sys.Browser.InternetExplorer;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);
Sys.Browser.hasDebuggerStatement=true;}
else if(navigator.userAgent.indexOf(' Firefox/')>-1){
Sys.Browser.agent=Sys.Browser.Firefox;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
Sys.Browser.name='Firefox';
Sys.Browser.hasDebuggerStatement=true;}
else if(navigator.userAgent.indexOf(' Safari/')>-1){
Sys.Browser.agent=Sys.Browser.Safari;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/ Safari\/(\d+\.\d+)/)[1]);
Sys.Browser.name='Safari';}
else if(navigator.userAgent.indexOf('Opera/')>-1){
Sys.Browser.agent=Sys.Browser.Opera;}
Type.registerNamespace('Sys.UI');
Sys._Debug=function Sys$_Debug(){
if(arguments.length!==0)throw Error.parameterCount();}
function Sys$_Debug$_appendConsole(text){
if((typeof(Debug)!=='undefined')&&Debug.writeln){
Debug.writeln(text);}
if(window.console&&window.console.log){
window.console.log(text);}
if(window.opera){
window.opera.postError(text);}
if(window.debugService){
window.debugService.trace(text);}}
function Sys$_Debug$_appendTrace(text){
var traceElement=document.getElementById('TraceConsole');
if(traceElement&&(traceElement.tagName.toUpperCase()==='TEXTAREA')){
traceElement.value +=text +'\n';}}
function Sys$_Debug$assert(condition,message,displayCaller){
var e=Function._validateParams(arguments,[
{name:"condition",type:Boolean},
{name:"message",type:String,mayBeNull:true,optional:true},
{name:"displayCaller",type:Boolean,optional:true}]);
if(e)throw e;
if(!condition){
message=(displayCaller&&this.assert.caller)?
String.format(Sys.Res.assertFailedCaller,message,this.assert.caller):
String.format(Sys.Res.assertFailed,message);
if(confirm(String.format(Sys.Res.breakIntoDebugger,message))){
this.fail(message);}}}
function Sys$_Debug$clearTrace(){
var traceElement=document.getElementById('TraceConsole');
if(traceElement&&(traceElement.tagName.toUpperCase()==='TEXTAREA')){
traceElement.value='';}}
function Sys$_Debug$fail(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true}]);
if(e)throw e;
this._appendConsole(message);
if(Sys.Browser.hasDebuggerStatement){
eval('debugger');}}
function Sys$_Debug$trace(text){
var e=Function._validateParams(arguments,[
{name:"text"}]);
if(e)throw e;
this._appendConsole(text);
this._appendTrace(text);}
function Sys$_Debug$traceDump(object,name){
var e=Function._validateParams(arguments,[
{name:"object",mayBeNull:true},
{name:"name",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var text=this._traceDump(object,name,true);}
function Sys$_Debug$_traceDump(object,name,recursive,indentationPadding,loopArray){
name=name?name:'traceDump';
indentationPadding=indentationPadding?indentationPadding:'';
if(object===null){
this.trace(indentationPadding + name +': null');
return;}
switch(typeof(object)){
case'undefined':
this.trace(indentationPadding + name +': Undefined');
break;
case'number':case'string':case'boolean':
this.trace(indentationPadding + name +': '+ object);
break;
default:
if(Date.isInstanceOfType(object)||RegExp.isInstanceOfType(object)){
this.trace(indentationPadding + name +': '+ object.toString());
break;}
if(!loopArray){
loopArray=[];}
else if(Array.contains(loopArray,object)){
this.trace(indentationPadding + name +': ...');
return;}
Array.add(loopArray,object);
if((object==window)||(object===document)||
(window.HTMLElement&&(object instanceof HTMLElement))||
(typeof(object.nodeName)==='string')){
var tag=object.tagName?object.tagName:'DomElement';
if(object.id){
tag +=' - '+ object.id;}
this.trace(indentationPadding + name +' {'+ tag +'}');}
else{
var typeName=Object.getTypeName(object);
this.trace(indentationPadding + name +(typeof(typeName)==='string'?' {'+ typeName +'}':''));
if((indentationPadding==='')||recursive){
indentationPadding +="    ";
var i,length,properties,p,v;
if(Array.isInstanceOfType(object)){
length=object.length;
for(i=0;i<length;i++){
this._traceDump(object[i],'['+ i +']',recursive,indentationPadding,loopArray);}}
else{
for(p in object){
v=object[p];
if(!Function.isInstanceOfType(v)){
this._traceDump(v,p,recursive,indentationPadding,loopArray);}}}}}
Array.remove(loopArray,object);}}
Sys._Debug.prototype={
_appendConsole:Sys$_Debug$_appendConsole,
_appendTrace:Sys$_Debug$_appendTrace,
assert:Sys$_Debug$assert,
clearTrace:Sys$_Debug$clearTrace,
fail:Sys$_Debug$fail,
trace:Sys$_Debug$trace,
traceDump:Sys$_Debug$traceDump,
_traceDump:Sys$_Debug$_traceDump}
Sys._Debug.registerClass('Sys._Debug');
Sys.Debug=new Sys._Debug();
Sys.Debug.isDebug=true;
function Sys$Enum$parse(value,ignoreCase){
var e=Function._validateParams(arguments,[
{name:"value",type:String},
{name:"ignoreCase",type:Boolean,optional:true}]);
if(e)throw e;
var values,parsed,val;
if(ignoreCase){
values=this.__lowerCaseValues;
if(!values){
this.__lowerCaseValues=values={};
var prototype=this.prototype;
for(var name in prototype){
values[name.toLowerCase()]=prototype[name];}}}
else{
values=this.prototype;}
if(!this.__flags){
val=(ignoreCase?value.toLowerCase():value);
parsed=values[val.trim()];
if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value,this.__typeName));
return parsed;}
else{
var parts=(ignoreCase?value.toLowerCase():value).split(',');
var v=0;
for(var i=parts.length - 1;i>=0;i--){
var part=parts[i].trim();
parsed=values[part];
if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value.split(',')[i].trim(),this.__typeName));
v|=parsed;}
return v;}}
function Sys$Enum$toString(value){
var e=Function._validateParams(arguments,[
{name:"value",mayBeNull:true,optional:true}]);
if(e)throw e;
if((typeof(value)==='undefined')||(value===null))return this.__string;
if((typeof(value)!='number')||((value%1)!==0))throw Error.argumentType('value',Object.getType(value),this);
var values=this.prototype;
var i;
if(!this.__flags||(value===0)){
for(i in values){
if(values[i]===value){
return i;}}}
else{
var sorted=this.__sortedValues;
if(!sorted){
sorted=[];
for(i in values){
sorted[sorted.length]={key:i,value:values[i]};}
sorted.sort(function(a,b){
return a.value - b.value;});
this.__sortedValues=sorted;}
var parts=[];
var v=value;
for(i=sorted.length - 1;i>=0;i--){
var kvp=sorted[i];
var vali=kvp.value;
if(vali===0)continue;
if((vali&value)===vali){
parts[parts.length]=kvp.key;
v -=vali;
if(v===0)break;}}
if(parts.length&&v===0)return parts.reverse().join(', ');}
throw Error.argumentOutOfRange('value',value,String.format(Sys.Res.enumInvalidValue,value,this.__typeName));}
Type.prototype.registerEnum=function Type$registerEnum(name,flags){
var e=Function._validateParams(arguments,[
{name:"name",type:String},
{name:"flags",type:Boolean,optional:true}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(name))throw Error.argument('name',Sys.Res.notATypeName);
var parsedName;
try{
parsedName=eval(name);}
catch(e){
throw Error.argument('name',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('name',Sys.Res.badTypeName);
if(window.__registeredTypes[name])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,name));
for(var i in this.prototype){
var val=this.prototype[i];
if(!Type.__identifierRegExp.test(i))throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName,i));
if(typeof(val)!=='number'||(val%1)!==0)throw Error.invalidOperation(Sys.Res.enumValueNotInteger);
if(typeof(this[i])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.enumReservedName,i));}
for(var i in this.prototype){
this[i]=this.prototype[i];}
this.__typeName=name;
this.parse=Sys$Enum$parse;
this.__string=this.toString();
this.toString=Sys$Enum$toString;
this.__flags=flags;
this.__enum=true;
window.__registeredTypes[name]=true;}
Type.isEnum=function Type$isEnum(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__enum;}
Type.isFlags=function Type$isFlags(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__flags;}
Sys.EventHandlerList=function Sys$EventHandlerList(){
if(arguments.length!==0)throw Error.parameterCount();
this._list={};}
function Sys$EventHandlerList$addHandler(id,handler){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
Array.add(this._getEvent(id,true),handler);}
function Sys$EventHandlerList$removeHandler(id,handler){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
var evt=this._getEvent(id);
if(!evt)return;
Array.remove(evt,handler);}
function Sys$EventHandlerList$getHandler(id){
var e=Function._validateParams(arguments,[
{name:"id",type:String}]);
if(e)throw e;
var evt=this._getEvent(id);
if(!evt||(evt.length===0))return null;
evt=Array.clone(evt);
if(!evt._handler){
evt._handler=function(source,args){
for(var i=0,l=evt.length;i<l;i++){
evt[i](source,args);}};}
return evt._handler;}
function Sys$EventHandlerList$_getEvent(id,create){
if(!this._list[id]){
if(!create)return null;
this._list[id]=[];}
return this._list[id];}
Sys.EventHandlerList.prototype={
addHandler:Sys$EventHandlerList$addHandler,
removeHandler:Sys$EventHandlerList$removeHandler,
getHandler:Sys$EventHandlerList$getHandler,
_getEvent:Sys$EventHandlerList$_getEvent}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.EventArgs=function Sys$EventArgs(){
if(arguments.length!==0)throw Error.parameterCount();}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty=new Sys.EventArgs();
Sys.CancelEventArgs=function Sys$CancelEventArgs(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.CancelEventArgs.initializeBase(this);
this._cancel=false;}
function Sys$CancelEventArgs$get_cancel(){
if(arguments.length!==0)throw Error.parameterCount();
return this._cancel;}
function Sys$CancelEventArgs$set_cancel(value){
var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);
if(e)throw e;
this._cancel=value;}
Sys.CancelEventArgs.prototype={
get_cancel:Sys$CancelEventArgs$get_cancel,
set_cancel:Sys$CancelEventArgs$set_cancel}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs',Sys.EventArgs);
Sys.INotifyPropertyChange=function Sys$INotifyPropertyChange(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$INotifyPropertyChange$add_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$INotifyPropertyChange$remove_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
Sys.INotifyPropertyChange.prototype={
add_propertyChanged:Sys$INotifyPropertyChange$add_propertyChanged,
remove_propertyChanged:Sys$INotifyPropertyChange$remove_propertyChanged}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');
Sys.PropertyChangedEventArgs=function Sys$PropertyChangedEventArgs(propertyName){
var e=Function._validateParams(arguments,[
{name:"propertyName",type:String}]);
if(e)throw e;
Sys.PropertyChangedEventArgs.initializeBase(this);
this._propertyName=propertyName;}
function Sys$PropertyChangedEventArgs$get_propertyName(){
if(arguments.length!==0)throw Error.parameterCount();
return this._propertyName;}
Sys.PropertyChangedEventArgs.prototype={
get_propertyName:Sys$PropertyChangedEventArgs$get_propertyName}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs',Sys.EventArgs);
Sys.INotifyDisposing=function Sys$INotifyDisposing(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$INotifyDisposing$add_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$INotifyDisposing$remove_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
Sys.INotifyDisposing.prototype={
add_disposing:Sys$INotifyDisposing$add_disposing,
remove_disposing:Sys$INotifyDisposing$remove_disposing}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
Sys.Component=function Sys$Component(){
if(arguments.length!==0)throw Error.parameterCount();
if(Sys.Application)Sys.Application.registerDisposableObject(this);}
function Sys$Component$get_events(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._events){
this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Component$get_id(){
if(arguments.length!==0)throw Error.parameterCount();
return this._id;}
function Sys$Component$set_id(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
if(this._idSet)throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
this._idSet=true;
var oldId=this.get_id();
if(oldId&&Sys.Application.findComponent(oldId))throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
this._id=value;}
function Sys$Component$get_isInitialized(){
if(arguments.length!==0)throw Error.parameterCount();
return this._initialized;}
function Sys$Component$get_isUpdating(){
if(arguments.length!==0)throw Error.parameterCount();
return this._updating;}
function Sys$Component$add_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("disposing",handler);}
function Sys$Component$remove_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("disposing",handler);}
function Sys$Component$add_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("propertyChanged",handler);}
function Sys$Component$remove_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("propertyChanged",handler);}
function Sys$Component$beginUpdate(){
this._updating=true;}
function Sys$Component$dispose(){
if(this._events){
var handler=this._events.getHandler("disposing");
if(handler){
handler(this,Sys.EventArgs.Empty);}}
delete this._events;
Sys.Application.unregisterDisposableObject(this);
Sys.Application.removeComponent(this);}
function Sys$Component$endUpdate(){
this._updating=false;
if(!this._initialized)this.initialize();
this.updated();}
function Sys$Component$initialize(){
this._initialized=true;}
function Sys$Component$raisePropertyChanged(propertyName){
var e=Function._validateParams(arguments,[
{name:"propertyName",type:String}]);
if(e)throw e;
if(!this._events)return;
var handler=this._events.getHandler("propertyChanged");
if(handler){
handler(this,new Sys.PropertyChangedEventArgs(propertyName));}}
function Sys$Component$updated(){}
Sys.Component.prototype={
_id:null,
_idSet:false,
_initialized:false,
_updating:false,
get_events:Sys$Component$get_events,
get_id:Sys$Component$get_id,
set_id:Sys$Component$set_id,
get_isInitialized:Sys$Component$get_isInitialized,
get_isUpdating:Sys$Component$get_isUpdating,
add_disposing:Sys$Component$add_disposing,
remove_disposing:Sys$Component$remove_disposing,
add_propertyChanged:Sys$Component$add_propertyChanged,
remove_propertyChanged:Sys$Component$remove_propertyChanged,
beginUpdate:Sys$Component$beginUpdate,
dispose:Sys$Component$dispose,
endUpdate:Sys$Component$endUpdate,
initialize:Sys$Component$initialize,
raisePropertyChanged:Sys$Component$raisePropertyChanged,
updated:Sys$Component$updated}
Sys.Component.registerClass('Sys.Component',null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);
function Sys$Component$_setProperties(target,properties){
var e=Function._validateParams(arguments,[
{name:"target"},
{name:"properties"}]);
if(e)throw e;
var current;
var targetType=Object.getType(target);
var isObject=(targetType===Object)||(targetType===Sys.UI.DomElement);
var isComponent=Sys.Component.isInstanceOfType(target)&&!target.get_isUpdating();
if(isComponent)target.beginUpdate();
for(var name in properties){
var val=properties[name];
var getter=isObject?null:target["get_"+ name];
if(isObject||typeof(getter)!=='function'){
var targetVal=target[name];
if(!isObject&&typeof(targetVal)==='undefined')throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined,name));
if(!val||(typeof(val)!=='object')||(isObject&&!targetVal)){
target[name]=val;}
else{
Sys$Component$_setProperties(targetVal,val);}}
else{
var setter=target["set_"+ name];
if(typeof(setter)==='function'){
setter.apply(target,[val]);}
else if(val instanceof Array){
current=getter.apply(target);
if(!(current instanceof Array))throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray,name));
for(var i=0,j=current.length,l=val.length;i<l;i++,j++){
current[j]=val[i];}}
else if((typeof(val)==='object')&&(Object.getType(val)===Object)){
current=getter.apply(target);
if((typeof(current)==='undefined')||(current===null))throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined,name));
Sys$Component$_setProperties(current,val);}
else{
throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));}}}
if(isComponent)target.endUpdate();}
function Sys$Component$_setReferences(component,references){
for(var name in references){
var setter=component["set_"+ name];
var reference=$find(references[name]);
if(typeof(setter)!=='function')throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));
if(!reference)throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound,references[name]));
setter.apply(component,[reference]);}}
var $create=Sys.Component.create=function Sys$Component$create(type,properties,events,references,element){
var e=Function._validateParams(arguments,[
{name:"type",type:Type},
{name:"properties",mayBeNull:true,optional:true},
{name:"events",mayBeNull:true,optional:true},
{name:"references",mayBeNull:true,optional:true},
{name:"element",mayBeNull:true,domElement:true,optional:true}]);
if(e)throw e;
if(!type.inheritsFrom(Sys.Component)){
throw Error.argument('type',String.format(Sys.Res.createNotComponent,type.getName()));}
if(type.inheritsFrom(Sys.UI.Behavior)||type.inheritsFrom(Sys.UI.Control)){
if(!element)throw Error.argument('element',Sys.Res.createNoDom);}
else if(element)throw Error.argument('element',Sys.Res.createComponentOnDom);
var component=(element?new type(element):new type());
var app=Sys.Application;
var creatingComponents=app.get_isCreatingComponents();
component.beginUpdate();
if(properties){
Sys$Component$_setProperties(component,properties);}
if(events){
for(var name in events){
if(!(component["add_"+ name]instanceof Function))throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent,name));
if(!(events[name]instanceof Function))throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
component["add_"+ name](events[name]);}}
app._createdComponents[app._createdComponents.length]=component;
if(component.get_id()){
app.addComponent(component);}
if(creatingComponents){
if(references){
app._addComponentToSecondPass(component,references);}
else{
component.endUpdate();}}
else{
if(references){
Sys$Component$_setReferences(component,references);}
component.endUpdate();}
return component;}
Sys.UI.MouseButton=function Sys$UI$MouseButton(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.MouseButton.prototype={
leftButton:0,
middleButton:1,
rightButton:2}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
Sys.UI.Key=function Sys$UI$Key(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.Key.prototype={
backspace:8,
tab:9,
enter:13,
esc:27,
space:32,
pageUp:33,
pageDown:34,
end:35,
home:36,
left:37,
up:38,
right:39,
down:40,
del:127}
Sys.UI.Key.registerEnum("Sys.UI.Key");
Sys.UI.DomEvent=function Sys$UI$DomEvent(eventObject){
var e=Function._validateParams(arguments,[
{name:"eventObject"}]);
if(e)throw e;
var e=eventObject;
this.rawEvent=e;
this.altKey=e.altKey;
if(typeof(e.button)!=='undefined'){
this.button=(typeof(e.which)!=='undefined')?e.button:
(e.button===4)?Sys.UI.MouseButton.middleButton:
(e.button===2)?Sys.UI.MouseButton.rightButton:
Sys.UI.MouseButton.leftButton;}
if(e.type==='keypress'){
this.charCode=e.charCode||e.keyCode;}
else if(e.keyCode&&(e.keyCode===46)){
this.keyCode=127;}
else{
this.keyCode=e.keyCode;}
this.clientX=e.clientX;
this.clientY=e.clientY;
this.ctrlKey=e.ctrlKey;
this.target=e.target?e.target:e.srcElement;
if(this.target){
var loc=Sys.UI.DomElement.getLocation(this.target);
this.offsetX=(typeof(e.offsetX)!=='undefined')?e.offsetX:window.pageXOffset +(e.clientX||0)- loc.x;
this.offsetY=(typeof(e.offsetY)!=='undefined')?e.offsetY:window.pageYOffset +(e.clientY||0)- loc.y;}
this.screenX=e.screenX;
this.screenY=e.screenY;
this.shiftKey=e.shiftKey;
this.type=e.type;}
function Sys$UI$DomEvent$preventDefault(){
if(arguments.length!==0)throw Error.parameterCount();
if(this.rawEvent.preventDefault){
this.rawEvent.preventDefault();}
else if(window.event){
window.event.returnValue=false;}}
function Sys$UI$DomEvent$stopPropagation(){
if(arguments.length!==0)throw Error.parameterCount();
if(this.rawEvent.stopPropagation){
this.rawEvent.stopPropagation();}
else if(window.event){
window.event.cancelBubble=true;}}
Sys.UI.DomEvent.prototype={
preventDefault:Sys$UI$DomEvent$preventDefault,
stopPropagation:Sys$UI$DomEvent$stopPropagation}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler=Sys.UI.DomEvent.addHandler=function Sys$UI$DomEvent$addHandler(element,eventName,handler){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"eventName",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
if(!element._events){
element._events={};}
var eventCache=element._events[eventName];
if(!eventCache){
element._events[eventName]=eventCache=[];}
var browserHandler;
if(element.addEventListener){
browserHandler=function(e){
return handler.call(element,new Sys.UI.DomEvent(e));}
element.addEventListener(eventName,browserHandler,false);}
else if(element.attachEvent){
browserHandler=function(){
return handler.call(element,new Sys.UI.DomEvent(window.event));}
element.attachEvent('on'+ eventName,browserHandler);}
eventCache[eventCache.length]={handler:handler,browserHandler:browserHandler};}
var $addHandlers=Sys.UI.DomEvent.addHandlers=function Sys$UI$DomEvent$addHandlers(element,events,handlerOwner){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"events",type:Object},
{name:"handlerOwner",optional:true}]);
if(e)throw e;
for(var name in events){
var handler=events[name];
if(typeof(handler)!=='function')throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
if(handlerOwner){
handler=Function.createDelegate(handlerOwner,handler);}
$addHandler(element,name,handler);}}
var $clearHandlers=Sys.UI.DomEvent.clearHandlers=function Sys$UI$DomEvent$clearHandlers(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(element._events){
var cache=element._events;
for(var name in cache){
var handlers=cache[name];
for(var i=handlers.length - 1;i>=0;i--){
$removeHandler(element,name,handlers[i].handler);}}
element._events=null;}}
var $removeHandler=Sys.UI.DomEvent.removeHandler=function Sys$UI$DomEvent$removeHandler(element,eventName,handler){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"eventName",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
var browserHandler=null;
if((typeof(element._events)!=='object')||(element._events==null))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
var cache=element._events[eventName];
if(!(cache instanceof Array))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
var browserHandler=null;
for(var i=0,l=cache.length;i<l;i++){
if(cache[i].handler===handler){
browserHandler=cache[i].browserHandler;
break;}}
if(typeof(browserHandler)!=='function')throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
if(element.removeEventListener){
element.removeEventListener(eventName,browserHandler,false);}
else if(element.detachEvent){
element.detachEvent('on'+ eventName,browserHandler);}
cache.splice(i,1);}
Sys.IContainer=function Sys$IContainer(){
throw Error.notImplemented();}
function Sys$IContainer$addComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$IContainer$removeComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$IContainer$findComponent(id){
var e=Function._validateParams(arguments,[
{name:"id",type:String}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$IContainer$getComponents(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.IContainer.prototype={
addComponent:Sys$IContainer$addComponent,
removeComponent:Sys$IContainer$removeComponent,
findComponent:Sys$IContainer$findComponent,
getComponents:Sys$IContainer$getComponents}
Sys.IContainer.registerInterface("Sys.IContainer");
Sys._ScriptLoader=function Sys$_ScriptLoader(){
this._scriptsToLoad=null;
this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler);}
function Sys$_ScriptLoader$dispose(){
this._stopLoading();
if(this._events){
delete this._events;}
this._scriptLoadedDelegate=null;}
function Sys$_ScriptLoader$loadScripts(scriptTimeout,allScriptsLoadedCallback,scriptLoadFailedCallback,scriptLoadTimeoutCallback){
var e=Function._validateParams(arguments,[
{name:"scriptTimeout",type:Number,integer:true},
{name:"allScriptsLoadedCallback",type:Function,mayBeNull:true},
{name:"scriptLoadFailedCallback",type:Function,mayBeNull:true},
{name:"scriptLoadTimeoutCallback",type:Function,mayBeNull:true}]);
if(e)throw e;
if(this._loading){
throw Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);}
this._loading=true;
this._allScriptsLoadedCallback=allScriptsLoadedCallback;
this._scriptLoadFailedCallback=scriptLoadFailedCallback;
this._scriptLoadTimeoutCallback=scriptLoadTimeoutCallback;
this._loadScriptsInternal();}
function Sys$_ScriptLoader$notifyScriptLoaded(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._loading){
return;}
this._currentTask._notified++;
if(Sys.Browser.agent===Sys.Browser.Safari){
if(this._currentTask._notified===1){
window.setTimeout(Function.createDelegate(this,function(){
this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true);}),0);}}}
function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes){
var e=Function._validateParams(arguments,[
{name:"scriptAttributes"}]);
if(e)throw e;
if(!this._scriptsToLoad){
this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,scriptAttributes);}
function Sys$_ScriptLoader$queueScriptBlock(scriptContent){
var e=Function._validateParams(arguments,[
{name:"scriptContent",type:String}]);
if(e)throw e;
if(!this._scriptsToLoad){
this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,{text:scriptContent});}
function Sys$_ScriptLoader$queueScriptReference(scriptUrl){
var e=Function._validateParams(arguments,[
{name:"scriptUrl",type:String}]);
if(e)throw e;
if(!this._scriptsToLoad){
this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,{src:scriptUrl});}
function Sys$_ScriptLoader$_createScriptElement(queuedScript){
var scriptElement=document.createElement('SCRIPT');
scriptElement.type='text/javascript';
for(var attr in queuedScript){
scriptElement[attr]=queuedScript[attr];}
return scriptElement;}
function Sys$_ScriptLoader$_loadScriptsInternal(){
if(this._scriptsToLoad&&this._scriptsToLoad.length>0){
var nextScript=Array.dequeue(this._scriptsToLoad);
var scriptElement=this._createScriptElement(nextScript);
if(scriptElement.text&&Sys.Browser.agent===Sys.Browser.Safari){
scriptElement.innerHTML=scriptElement.text;
delete scriptElement.text;}
if(typeof(nextScript.src)==="string"){
this._currentTask=new Sys._ScriptLoaderTask(scriptElement,this._scriptLoadedDelegate);
this._currentTask.execute();}
else{
document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
Sys._ScriptLoader._clearScript(scriptElement);
this._loadScriptsInternal();}}
else{
var callback=this._allScriptsLoadedCallback;
this._stopLoading();
if(callback){
callback(this);}}}
function Sys$_ScriptLoader$_raiseError(multipleCallbacks){
var callback=this._scriptLoadFailedCallback;
var scriptElement=this._currentTask.get_scriptElement();
this._stopLoading();
if(callback){
callback(this,scriptElement,multipleCallbacks);}
else{
throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src,multipleCallbacks);}}
function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement,loaded){
if(loaded&&this._currentTask._notified){
if(this._currentTask._notified>1){
this._raiseError(true);}
else{
Array.add(Sys._ScriptLoader._getLoadedScripts(),scriptElement.src);
this._currentTask.dispose();
this._currentTask=null;
this._loadScriptsInternal();}}
else{
this._raiseError(false);}}
function Sys$_ScriptLoader$_scriptLoadTimeoutHandler(){
var callback=this._scriptLoadTimeoutCallback;
this._stopLoading();
if(callback){
callback(this);}}
function Sys$_ScriptLoader$_stopLoading(){
if(this._timeoutCookie){
window.clearTimeout(this._timeoutCookie);
this._timeoutCookie=null;}
if(this._currentTask){
this._currentTask.dispose();
this._currentTask=null;}
this._scriptsToLoad=null;
this._loading=null;
this._allScriptsLoadedCallback=null;
this._scriptLoadFailedCallback=null;
this._scriptLoadTimeoutCallback=null;}
Sys._ScriptLoader.prototype={
dispose:Sys$_ScriptLoader$dispose,
loadScripts:Sys$_ScriptLoader$loadScripts,
notifyScriptLoaded:Sys$_ScriptLoader$notifyScriptLoaded,
queueCustomScriptTag:Sys$_ScriptLoader$queueCustomScriptTag,
queueScriptBlock:Sys$_ScriptLoader$queueScriptBlock,
queueScriptReference:Sys$_ScriptLoader$queueScriptReference,
_createScriptElement:Sys$_ScriptLoader$_createScriptElement,
_loadScriptsInternal:Sys$_ScriptLoader$_loadScriptsInternal,
_raiseError:Sys$_ScriptLoader$_raiseError,
_scriptLoadedHandler:Sys$_ScriptLoader$_scriptLoadedHandler,
_scriptLoadTimeoutHandler:Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
_stopLoading:Sys$_ScriptLoader$_stopLoading}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader',null,Sys.IDisposable);
Sys._ScriptLoader.getInstance=function Sys$_ScriptLoader$getInstance(){
var sl=Sys._ScriptLoader._activeInstance;
if(!sl){
sl=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader();}
return sl;}
Sys._ScriptLoader.isScriptLoaded=function Sys$_ScriptLoader$isScriptLoaded(scriptSrc){
var dummyScript=document.createElement('script');
dummyScript.src=scriptSrc;
return Array.contains(Sys._ScriptLoader._getLoadedScripts(),dummyScript.src);}
Sys._ScriptLoader.readLoadedScripts=function Sys$_ScriptLoader$readLoadedScripts(){
if(!Sys._ScriptLoader._referencedScripts){
var referencedScripts=Sys._ScriptLoader._referencedScripts=[];
var existingScripts=document.getElementsByTagName('SCRIPT');
for(i=existingScripts.length - 1;i>=0;i--){
var scriptNode=existingScripts[i];
var scriptSrc=scriptNode.src;
if(scriptSrc.length){
if(!Array.contains(referencedScripts,scriptSrc)){
Array.add(referencedScripts,scriptSrc);}}}}}
Sys._ScriptLoader._clearScript=function Sys$_ScriptLoader$_clearScript(scriptElement){
if(!Sys.Debug.isDebug){
scriptElement.parentNode.removeChild(scriptElement);}}
Sys._ScriptLoader._errorScriptLoadFailed=function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl,multipleCallbacks){
var errorMessage;
if(multipleCallbacks){
errorMessage=Sys.Res.scriptLoadMultipleCallbacks;}
else{
errorMessage=Sys.Res.scriptLoadFailedDebug;}
var displayMessage="Sys.ScriptLoadFailedException: "+ String.format(errorMessage,scriptUrl);
var e=Error.create(displayMessage,{name:'Sys.ScriptLoadFailedException','scriptUrl':scriptUrl});
e.popStackFrame();
return e;}
Sys._ScriptLoader._getLoadedScripts=function Sys$_ScriptLoader$_getLoadedScripts(){
if(!Sys._ScriptLoader._referencedScripts){
Sys._ScriptLoader._referencedScripts=[];
Sys._ScriptLoader.readLoadedScripts();}
return Sys._ScriptLoader._referencedScripts;}
Sys._ScriptLoaderTask=function Sys$_ScriptLoaderTask(scriptElement,completedCallback){
var e=Function._validateParams(arguments,[
{name:"scriptElement",domElement:true},
{name:"completedCallback",type:Function}]);
if(e)throw e;
this._scriptElement=scriptElement;
this._completedCallback=completedCallback;
this._notified=0;}
function Sys$_ScriptLoaderTask$get_scriptElement(){
if(arguments.length!==0)throw Error.parameterCount();
return this._scriptElement;}
function Sys$_ScriptLoaderTask$dispose(){
if(this._disposed){
return;}
this._disposed=true;
this._removeScriptElementHandlers();
Sys._ScriptLoader._clearScript(this._scriptElement);
this._scriptElement=null;}
function Sys$_ScriptLoaderTask$execute(){
if(arguments.length!==0)throw Error.parameterCount();
this._addScriptElementHandlers();
document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement);}
function Sys$_ScriptLoaderTask$_addScriptElementHandlers(){
this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);
if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){
this._scriptElement.readyState='loaded';
$addHandler(this._scriptElement,'load',this._scriptLoadDelegate);}
else{
$addHandler(this._scriptElement,'readystatechange',this._scriptLoadDelegate);}
this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);
$addHandler(this._scriptElement,'error',this._scriptErrorDelegate);}
function Sys$_ScriptLoaderTask$_removeScriptElementHandlers(){
if(this._scriptLoadDelegate){
var scriptElement=this.get_scriptElement();
if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){
$removeHandler(scriptElement,'load',this._scriptLoadDelegate);}
else{
$removeHandler(scriptElement,'readystatechange',this._scriptLoadDelegate);}
$removeHandler(scriptElement,'error',this._scriptErrorDelegate);
this._scriptErrorDelegate=null;
this._scriptLoadDelegate=null;}}
function Sys$_ScriptLoaderTask$_scriptErrorHandler(){
if(this._disposed){
return;}
this._completedCallback(this.get_scriptElement(),false);}
function Sys$_ScriptLoaderTask$_scriptLoadHandler(){
if(this._disposed){
return;}
var scriptElement=this.get_scriptElement();
if((scriptElement.readyState!=='loaded')&&
(scriptElement.readyState!=='complete')){
return;}
var _this=this;
window.setTimeout(function(){
_this._completedCallback(scriptElement,true);},0);}
Sys._ScriptLoaderTask.prototype={
get_scriptElement:Sys$_ScriptLoaderTask$get_scriptElement,
dispose:Sys$_ScriptLoaderTask$dispose,
execute:Sys$_ScriptLoaderTask$execute,
_addScriptElementHandlers:Sys$_ScriptLoaderTask$_addScriptElementHandlers,
_removeScriptElementHandlers:Sys$_ScriptLoaderTask$_removeScriptElementHandlers,
_scriptErrorHandler:Sys$_ScriptLoaderTask$_scriptErrorHandler,
_scriptLoadHandler:Sys$_ScriptLoaderTask$_scriptLoadHandler}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);
Sys.ApplicationLoadEventArgs=function Sys$ApplicationLoadEventArgs(components,isPartialLoad){
var e=Function._validateParams(arguments,[
{name:"components",type:Array,elementType:Sys.Component},
{name:"isPartialLoad",type:Boolean}]);
if(e)throw e;
Sys.ApplicationLoadEventArgs.initializeBase(this);
this._components=components;
this._isPartialLoad=isPartialLoad;}
function Sys$ApplicationLoadEventArgs$get_components(){
if(arguments.length!==0)throw Error.parameterCount();
return this._components;}
function Sys$ApplicationLoadEventArgs$get_isPartialLoad(){
if(arguments.length!==0)throw Error.parameterCount();
return this._isPartialLoad;}
Sys.ApplicationLoadEventArgs.prototype={
get_components:Sys$ApplicationLoadEventArgs$get_components,
get_isPartialLoad:Sys$ApplicationLoadEventArgs$get_isPartialLoad}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs',Sys.EventArgs);
Sys._Application=function Sys$_Application(){
Sys._Application.initializeBase(this);
this._disposableObjects=[];
this._components={};
this._createdComponents=[];
this._secondPassComponents=[];
this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);
this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);
Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);
Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate);}
function Sys$_Application$get_isCreatingComponents(){
if(arguments.length!==0)throw Error.parameterCount();
return this._creatingComponents;}
function Sys$_Application$add_load(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("load",handler);}
function Sys$_Application$remove_load(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("load",handler);}
function Sys$_Application$add_init(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
if(this._initialized){
handler(this,Sys.EventArgs.Empty);}
else{
this.get_events().addHandler("init",handler);}}
function Sys$_Application$remove_init(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("init",handler);}
function Sys$_Application$add_unload(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("unload",handler);}
function Sys$_Application$remove_unload(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("unload",handler);}
function Sys$_Application$addComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
var id=component.get_id();
if(!id)throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
if(typeof(this._components[id])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent,id));
this._components[id]=component;}
function Sys$_Application$beginCreateComponents(){
this._creatingComponents=true;}
function Sys$_Application$dispose(){
if(!this._disposing){
this._disposing=true;
if(window.pageUnload){
window.pageUnload(this,Sys.EventArgs.Empty);}
var unloadHandler=this.get_events().getHandler("unload");
if(unloadHandler){
unloadHandler(this,Sys.EventArgs.Empty);}
var disposableObjects=Array.clone(this._disposableObjects);
for(var i=0,l=disposableObjects.length;i<l;i++){
disposableObjects[i].dispose();}
Array.clear(this._disposableObjects);
Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);
if(this._loadHandlerDelegate){
Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);
this._loadHandlerDelegate=null;}
var sl=Sys._ScriptLoader.getInstance();
if(sl){
sl.dispose();}
Sys._Application.callBaseMethod(this,'dispose');}}
function Sys$_Application$endCreateComponents(){
var components=this._secondPassComponents;
for(var i=0,l=components.length;i<l;i++){
var component=components[i].component;
Sys$Component$_setReferences(component,components[i].references);
component.endUpdate();}
this._secondPassComponents=[];
this._creatingComponents=false;}
function Sys$_Application$findComponent(id,parent){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"parent",mayBeNull:true,optional:true}]);
if(e)throw e;
return(parent?
((Sys.IContainer.isInstanceOfType(parent))?
parent.findComponent(id):
parent[id]||null):
Sys.Application._components[id]||null);}
function Sys$_Application$getComponents(){
if(arguments.length!==0)throw Error.parameterCount();
var res=[];
var components=this._components;
for(var name in components){
res[res.length]=components[name];}
return res;}
function Sys$_Application$initialize(){
if(!this._initialized&&!this._initializing){
this._initializing=true;
window.setTimeout(Function.createDelegate(this,this._doInitialize),0);}}
function Sys$_Application$notifyScriptLoaded(){
if(arguments.length!==0)throw Error.parameterCount();
var sl=Sys._ScriptLoader.getInstance();
if(sl){
sl.notifyScriptLoaded();}}
function Sys$_Application$registerDisposableObject(object){
var e=Function._validateParams(arguments,[
{name:"object",type:Sys.IDisposable}]);
if(e)throw e;
if(!this._disposing){
this._disposableObjects[this._disposableObjects.length]=object;}}
function Sys$_Application$raiseLoad(){
var h=this.get_events().getHandler("load");
var args=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);
if(h){
h(this,args);}
if(window.pageLoad){
window.pageLoad(this,args);}
this._createdComponents=[];}
function Sys$_Application$removeComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
var id=component.get_id();
if(id)delete this._components[id];}
function Sys$_Application$unregisterDisposableObject(object){
var e=Function._validateParams(arguments,[
{name:"object",type:Sys.IDisposable}]);
if(e)throw e;
if(!this._disposing){
Array.remove(this._disposableObjects,object);}}
function Sys$_Application$_addComponentToSecondPass(component,references){
this._secondPassComponents[this._secondPassComponents.length]={component:component,references:references};}
function Sys$_Application$_doInitialize(){
Sys._Application.callBaseMethod(this,'initialize');
var handler=this.get_events().getHandler("init");
if(handler){
this.beginCreateComponents();
handler(this,Sys.EventArgs.Empty);
this.endCreateComponents();}
this.raiseLoad();
this._initializing=false;}
function Sys$_Application$_loadHandler(){
if(this._loadHandlerDelegate){
Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);
this._loadHandlerDelegate=null;}
this.initialize();}
function Sys$_Application$_unloadHandler(event){
this.dispose();}
Sys._Application.prototype={
_creatingComponents:false,
_disposing:false,
get_isCreatingComponents:Sys$_Application$get_isCreatingComponents,
add_load:Sys$_Application$add_load,
remove_load:Sys$_Application$remove_load,
add_init:Sys$_Application$add_init,
remove_init:Sys$_Application$remove_init,
add_unload:Sys$_Application$add_unload,
remove_unload:Sys$_Application$remove_unload,
addComponent:Sys$_Application$addComponent,
beginCreateComponents:Sys$_Application$beginCreateComponents,
dispose:Sys$_Application$dispose,
endCreateComponents:Sys$_Application$endCreateComponents,
findComponent:Sys$_Application$findComponent,
getComponents:Sys$_Application$getComponents,
initialize:Sys$_Application$initialize,
notifyScriptLoaded:Sys$_Application$notifyScriptLoaded,
registerDisposableObject:Sys$_Application$registerDisposableObject,
raiseLoad:Sys$_Application$raiseLoad,
removeComponent:Sys$_Application$removeComponent,
unregisterDisposableObject:Sys$_Application$unregisterDisposableObject,
_addComponentToSecondPass:Sys$_Application$_addComponentToSecondPass,
_doInitialize:Sys$_Application$_doInitialize,
_loadHandler:Sys$_Application$_loadHandler,
_unloadHandler:Sys$_Application$_unloadHandler}
Sys._Application.registerClass('Sys._Application',Sys.Component,Sys.IContainer);
Sys.Application=new Sys._Application();
var $find=Sys.Application.findComponent;
Type.registerNamespace('Sys.Net');
Sys.Net.WebRequestExecutor=function Sys$Net$WebRequestExecutor(){
if(arguments.length!==0)throw Error.parameterCount();
this._webRequest=null;
this._resultObject=null;}
function Sys$Net$WebRequestExecutor$get_webRequest(){
if(arguments.length!==0)throw Error.parameterCount();
return this._webRequest;}
function Sys$Net$WebRequestExecutor$_set_webRequest(value){
if(this.get_started()){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'set_webRequest'));}
this._webRequest=value;}
function Sys$Net$WebRequestExecutor$get_started(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseAvailable(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_timedOut(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_aborted(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseData(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusCode(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusText(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_xml(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_object(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._resultObject){
this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());}
return this._resultObject;}
function Sys$Net$WebRequestExecutor$executeRequest(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$abort(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getResponseHeader(header){
var e=Function._validateParams(arguments,[
{name:"header",type:String}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getAllResponseHeaders(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.Net.WebRequestExecutor.prototype={
get_webRequest:Sys$Net$WebRequestExecutor$get_webRequest,
_set_webRequest:Sys$Net$WebRequestExecutor$_set_webRequest,
get_started:Sys$Net$WebRequestExecutor$get_started,
get_responseAvailable:Sys$Net$WebRequestExecutor$get_responseAvailable,
get_timedOut:Sys$Net$WebRequestExecutor$get_timedOut,
get_aborted:Sys$Net$WebRequestExecutor$get_aborted,
get_responseData:Sys$Net$WebRequestExecutor$get_responseData,
get_statusCode:Sys$Net$WebRequestExecutor$get_statusCode,
get_statusText:Sys$Net$WebRequestExecutor$get_statusText,
get_xml:Sys$Net$WebRequestExecutor$get_xml,
get_object:Sys$Net$WebRequestExecutor$get_object,
executeRequest:Sys$Net$WebRequestExecutor$executeRequest,
abort:Sys$Net$WebRequestExecutor$abort,
getResponseHeader:Sys$Net$WebRequestExecutor$getResponseHeader,
getAllResponseHeaders:Sys$Net$WebRequestExecutor$getAllResponseHeaders}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
window.XMLDOM=function window$XMLDOM(markup){
if(!window.DOMParser){
var progIDs=['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];
for(var i=0;i<progIDs.length;i++){
try{
var xmlDOM=new ActiveXObject(progIDs[i]);
xmlDOM.async=false;
xmlDOM.loadXML(markup);
xmlDOM.setProperty('SelectionLanguage','XPath');
return xmlDOM;}
catch(ex){}}
return null;}
else{
try{
var domParser=new window.DOMParser();
return domParser.parseFromString(markup,'text/xml');}catch(ex){
return null;}}
return null;}
Sys.Net.XMLHttpExecutor=function Sys$Net$XMLHttpExecutor(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.Net.XMLHttpExecutor.initializeBase(this);
var _this=this;
this._xmlHttpRequest=null;
this._webRequest=null;
this._responseAvailable=false;
this._timedOut=false;
this._timer=null;
this._aborted=false;
this._started=false;
this._onReadyStateChange=function(){
if(_this._xmlHttpRequest.readyState===4){
_this._clearTimer();
_this._responseAvailable=true;
_this._webRequest.completed(Sys.EventArgs.Empty);
if(_this._xmlHttpRequest!=null){
_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;
_this._xmlHttpRequest=null;}}}
this._clearTimer=function this$_clearTimer(){
if(_this._timer!=null){
window.clearTimeout(_this._timer);
_this._timer=null;}}
this._onTimeout=function this$_onTimeout(){
if(!_this._responseAvailable){
_this._clearTimer();
_this._timedOut=true;
_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;
_this._xmlHttpRequest.abort();
_this._webRequest.completed(Sys.EventArgs.Empty);
_this._xmlHttpRequest=null;}}}
function Sys$Net$XMLHttpExecutor$get_timedOut(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timedOut;}
function Sys$Net$XMLHttpExecutor$get_started(){
if(arguments.length!==0)throw Error.parameterCount();
return this._started;}
function Sys$Net$XMLHttpExecutor$get_responseAvailable(){
if(arguments.length!==0)throw Error.parameterCount();
return this._responseAvailable;}
function Sys$Net$XMLHttpExecutor$get_aborted(){
if(arguments.length!==0)throw Error.parameterCount();
return this._aborted;}
function Sys$Net$XMLHttpExecutor$executeRequest(){
if(arguments.length!==0)throw Error.parameterCount();
this._webRequest=this.get_webRequest();
if(this._started){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'executeRequest'));}
if(this._webRequest===null){
throw Error.invalidOperation(Sys.Res.nullWebRequest);}
var body=this._webRequest.get_body();
var headers=this._webRequest.get_headers();
this._xmlHttpRequest=new XMLHttpRequest();
this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;
var verb=this._webRequest.get_httpVerb();
this._xmlHttpRequest.open(verb,this._webRequest.getResolvedUrl(),true);
if(headers){
for(var header in headers){
var val=headers[header];
if(typeof(val)!=="function")
this._xmlHttpRequest.setRequestHeader(header,val);}}
if(verb.toLowerCase()==="post"){
if((headers===null)||!headers['Content-Type']){
this._xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}
if(!body){
body="";}}
var timeout=this._webRequest.get_timeout();
if(timeout>0){
this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),timeout);}
this._xmlHttpRequest.send(body);
this._started=true;}
function Sys$Net$XMLHttpExecutor$getResponseHeader(header){
var e=Function._validateParams(arguments,[
{name:"header",type:String}]);
if(e)throw e;
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getResponseHeader'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getResponseHeader'));}
var result;
try{
result=this._xmlHttpRequest.getResponseHeader(header);}catch(e){}
if(!result)result="";
return result;}
function Sys$Net$XMLHttpExecutor$getAllResponseHeaders(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getAllResponseHeaders'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getAllResponseHeaders'));}
return this._xmlHttpRequest.getAllResponseHeaders();}
function Sys$Net$XMLHttpExecutor$get_responseData(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_responseData'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_responseData'));}
return this._xmlHttpRequest.responseText;}
function Sys$Net$XMLHttpExecutor$get_statusCode(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusCode'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusCode'));}
return this._xmlHttpRequest.status;}
function Sys$Net$XMLHttpExecutor$get_statusText(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusText'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusText'));}
return this._xmlHttpRequest.statusText;}
function Sys$Net$XMLHttpExecutor$get_xml(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_xml'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_xml'));}
var xml=this._xmlHttpRequest.responseXML;
if(!xml||!xml.documentElement){
xml=new XMLDOM(this._xmlHttpRequest.responseText);
if(!xml||!xml.documentElement)
return null;}
else if(navigator.userAgent.indexOf('MSIE')!==-1){
xml.setProperty('SelectionLanguage','XPath');}
if(xml.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&
xml.documentElement.tagName==="parsererror"){
return null;}
if(xml.documentElement.firstChild&&xml.documentElement.firstChild.tagName==="parsererror"){
return null;}
return xml;}
function Sys$Net$XMLHttpExecutor$abort(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._started){
throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);}
if(this._aborted||this._responseAvailable||this._timedOut)
return;
this._aborted=true;
this._clearTimer();
if(this._xmlHttpRequest&&!this._responseAvailable){
this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;
this._xmlHttpRequest.abort();
this._xmlHttpRequest=null;
var handler=this._webRequest._get_eventHandlerList().getHandler("completed");
if(handler){
handler(this,Sys.EventArgs.Empty);}}}
Sys.Net.XMLHttpExecutor.prototype={
get_timedOut:Sys$Net$XMLHttpExecutor$get_timedOut,
get_started:Sys$Net$XMLHttpExecutor$get_started,
get_responseAvailable:Sys$Net$XMLHttpExecutor$get_responseAvailable,
get_aborted:Sys$Net$XMLHttpExecutor$get_aborted,
executeRequest:Sys$Net$XMLHttpExecutor$executeRequest,
getResponseHeader:Sys$Net$XMLHttpExecutor$getResponseHeader,
getAllResponseHeaders:Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
get_responseData:Sys$Net$XMLHttpExecutor$get_responseData,
get_statusCode:Sys$Net$XMLHttpExecutor$get_statusCode,
get_statusText:Sys$Net$XMLHttpExecutor$get_statusText,
get_xml:Sys$Net$XMLHttpExecutor$get_xml,
abort:Sys$Net$XMLHttpExecutor$abort}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor',Sys.Net.WebRequestExecutor);
Sys.Net._WebRequestManager=function Sys$Net$_WebRequestManager(){
this._this=this;
this._defaultTimeout=0;
this._defaultExecutorType="Sys.Net.XMLHttpExecutor";}
function Sys$Net$_WebRequestManager$add_invokingRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().addHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$remove_invokingRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().removeHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$add_completedRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().addHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$remove_completedRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().removeHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$_get_eventHandlerList(){
if(!this._events){
this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$_WebRequestManager$get_defaultTimeout(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultTimeout;}
function Sys$Net$_WebRequestManager$set_defaultTimeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
if(value<0){
throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._defaultTimeout=value;}
function Sys$Net$_WebRequestManager$get_defaultExecutorType(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultExecutorType;}
function Sys$Net$_WebRequestManager$set_defaultExecutorType(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
this._defaultExecutorType=value;}
function Sys$Net$_WebRequestManager$executeRequest(webRequest){
var e=Function._validateParams(arguments,[
{name:"webRequest",type:Sys.Net.WebRequest}]);
if(e)throw e;
var executor=webRequest.get_executor();
if(!executor){
var failed=false;
try{
var executorType=eval(this._defaultExecutorType);
executor=new executorType();}catch(e){
failed=true;}
if(failed||!Sys.Net.WebRequestExecutor.isInstanceOfType(executor)||!executor){
throw Error.argument("defaultExecutorType",String.format(Sys.Res.invalidExecutorType,this._defaultExecutorType));}
webRequest.set_executor(executor);}
if(executor.get_aborted()){
return;}
var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest);
var handler=this._get_eventHandlerList().getHandler("invokingRequest");
if(handler){
handler(this,evArgs);}
if(!evArgs.get_cancel()){
executor.executeRequest();}}
Sys.Net._WebRequestManager.prototype={
add_invokingRequest:Sys$Net$_WebRequestManager$add_invokingRequest,
remove_invokingRequest:Sys$Net$_WebRequestManager$remove_invokingRequest,
add_completedRequest:Sys$Net$_WebRequestManager$add_completedRequest,
remove_completedRequest:Sys$Net$_WebRequestManager$remove_completedRequest,
_get_eventHandlerList:Sys$Net$_WebRequestManager$_get_eventHandlerList,
get_defaultTimeout:Sys$Net$_WebRequestManager$get_defaultTimeout,
set_defaultTimeout:Sys$Net$_WebRequestManager$set_defaultTimeout,
get_defaultExecutorType:Sys$Net$_WebRequestManager$get_defaultExecutorType,
set_defaultExecutorType:Sys$Net$_WebRequestManager$set_defaultExecutorType,
executeRequest:Sys$Net$_WebRequestManager$executeRequest}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');
Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager();
Sys.Net.NetworkRequestEventArgs=function Sys$Net$NetworkRequestEventArgs(webRequest){
var e=Function._validateParams(arguments,[
{name:"webRequest",type:Sys.Net.WebRequest}]);
if(e)throw e;
Sys.Net.NetworkRequestEventArgs.initializeBase(this);
this._webRequest=webRequest;}
function Sys$Net$NetworkRequestEventArgs$get_webRequest(){
if(arguments.length!==0)throw Error.parameterCount();
return this._webRequest;}
Sys.Net.NetworkRequestEventArgs.prototype={
get_webRequest:Sys$Net$NetworkRequestEventArgs$get_webRequest}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs',Sys.CancelEventArgs);
Sys.Net.WebRequest=function Sys$Net$WebRequest(){
if(arguments.length!==0)throw Error.parameterCount();
this._url="";
this._headers={};
this._body=null;
this._userContext=null;
this._httpVerb=null;
this._executor=null;
this._invokeCalled=false;
this._timeout=0;}
function Sys$Net$WebRequest$add_completed(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().addHandler("completed",handler);}
function Sys$Net$WebRequest$remove_completed(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().removeHandler("completed",handler);}
function Sys$Net$WebRequest$completed(eventArgs){
var e=Function._validateParams(arguments,[
{name:"eventArgs",type:Sys.EventArgs}]);
if(e)throw e;
var handler=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");
if(handler){
handler(this._executor,eventArgs);}
handler=this._get_eventHandlerList().getHandler("completed");
if(handler){
handler(this._executor,eventArgs);}}
function Sys$Net$WebRequest$_get_eventHandlerList(){
if(!this._events){
this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$WebRequest$get_url(){
if(arguments.length!==0)throw Error.parameterCount();
return this._url;}
function Sys$Net$WebRequest$set_url(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
this._url=value;}
function Sys$Net$WebRequest$get_headers(){
if(arguments.length!==0)throw Error.parameterCount();
return this._headers;}
function Sys$Net$WebRequest$get_httpVerb(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._httpVerb===null){
if(this._body===null){
return"GET";}
return"POST";}
return this._httpVerb;}
function Sys$Net$WebRequest$set_httpVerb(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
if(value.length===0){
throw Error.argument('value',Sys.Res.invalidHttpVerb);}
this._httpVerb=value;}
function Sys$Net$WebRequest$get_body(){
if(arguments.length!==0)throw Error.parameterCount();
return this._body;}
function Sys$Net$WebRequest$set_body(value){
var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);
if(e)throw e;
this._body=value;}
function Sys$Net$WebRequest$get_userContext(){
if(arguments.length!==0)throw Error.parameterCount();
return this._userContext;}
function Sys$Net$WebRequest$set_userContext(value){
var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);
if(e)throw e;
this._userContext=value;}
function Sys$Net$WebRequest$get_executor(){
if(arguments.length!==0)throw Error.parameterCount();
return this._executor;}
function Sys$Net$WebRequest$set_executor(value){
var e=Function._validateParams(arguments,[{name:"value",type:Sys.Net.WebRequestExecutor}]);
if(e)throw e;
if(this._executor!==null&&this._executor.get_started()){
throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);}
this._executor=value;
this._executor._set_webRequest(this);}
function Sys$Net$WebRequest$get_timeout(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._timeout===0){
return Sys.Net.WebRequestManager.get_defaultTimeout();}
return this._timeout;}
function Sys$Net$WebRequest$set_timeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
if(value<0){
throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._timeout=value;}
function Sys$Net$WebRequest$getResolvedUrl(){
if(arguments.length!==0)throw Error.parameterCount();
return Sys.Net.WebRequest._resolveUrl(this._url);}
function Sys$Net$WebRequest$invoke(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._invokeCalled){
throw Error.invalidOperation(Sys.Res.invokeCalledTwice);}
Sys.Net.WebRequestManager.executeRequest(this);
this._invokeCalled=true;}
Sys.Net.WebRequest.prototype={
add_completed:Sys$Net$WebRequest$add_completed,
remove_completed:Sys$Net$WebRequest$remove_completed,
completed:Sys$Net$WebRequest$completed,
_get_eventHandlerList:Sys$Net$WebRequest$_get_eventHandlerList,
get_url:Sys$Net$WebRequest$get_url,
set_url:Sys$Net$WebRequest$set_url,
get_headers:Sys$Net$WebRequest$get_headers,
get_httpVerb:Sys$Net$WebRequest$get_httpVerb,
set_httpVerb:Sys$Net$WebRequest$set_httpVerb,
get_body:Sys$Net$WebRequest$get_body,
set_body:Sys$Net$WebRequest$set_body,
get_userContext:Sys$Net$WebRequest$get_userContext,
set_userContext:Sys$Net$WebRequest$set_userContext,
get_executor:Sys$Net$WebRequest$get_executor,
set_executor:Sys$Net$WebRequest$set_executor,
get_timeout:Sys$Net$WebRequest$get_timeout,
set_timeout:Sys$Net$WebRequest$set_timeout,
getResolvedUrl:Sys$Net$WebRequest$getResolvedUrl,
invoke:Sys$Net$WebRequest$invoke}
Sys.Net.WebRequest._resolveUrl=function Sys$Net$WebRequest$_resolveUrl(url,baseUrl){
if(url&&url.indexOf('://')!==-1){
return url;}
if(!baseUrl||baseUrl.length===0){
var baseElement=document.getElementsByTagName('base')[0];
if(baseElement&&baseElement.href&&baseElement.href.length>0){
baseUrl=baseElement.href;}
else{
baseUrl=document.URL;}}
var qsStart=baseUrl.indexOf('?');
if(qsStart!==-1){
baseUrl=baseUrl.substr(0,qsStart);}
baseUrl=baseUrl.substr(0,baseUrl.lastIndexOf('/')+ 1);
if(!url||url.length===0){
return baseUrl;}
if(url.charAt(0)==='/'){
var slashslash=baseUrl.indexOf('://');
if(slashslash===-1){
throw Error.argument("baseUrl",Sys.Res.badBaseUrl1);}
var nextSlash=baseUrl.indexOf('/',slashslash + 3);
if(nextSlash===-1){
throw Error.argument("baseUrl",Sys.Res.badBaseUrl2);}
return baseUrl.substr(0,nextSlash)+ url;}
else{
var lastSlash=baseUrl.lastIndexOf('/');
if(lastSlash===-1){
throw Error.argument("baseUrl",Sys.Res.badBaseUrl3);}
return baseUrl.substr(0,lastSlash+1)+ url;}}
Sys.Net.WebRequest._createQueryString=function Sys$Net$WebRequest$_createQueryString(queryString,encodeMethod){
if(!encodeMethod)
encodeMethod=encodeURIComponent;
var sb=new Sys.StringBuilder();
var i=0;
for(var arg in queryString){
var obj=queryString[arg];
if(typeof(obj)==="function")continue;
var val=Sys.Serialization.JavaScriptSerializer.serialize(obj);
if(i!==0){
sb.append('&');}
sb.append(arg);
sb.append('=');
sb.append(encodeMethod(val));
i++;}
return sb.toString();}
Sys.Net.WebRequest._createUrl=function Sys$Net$WebRequest$_createUrl(url,queryString){
if(!queryString){
return url;}
var qs=Sys.Net.WebRequest._createQueryString(queryString);
if(qs.length>0){
var sep='?';
if(url&&url.indexOf('?')!==-1)
sep='&';
return url + sep + qs;}else{
return url;}}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
Sys.Net.WebServiceProxy=function Sys$Net$WebServiceProxy(){}
function Sys$Net$WebServiceProxy$set_timeout(value){
this._timeout=value;}
function Sys$Net$WebServiceProxy$get_timeout(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timeout;}
function Sys$Net$WebServiceProxy$set_defaultUserContext(value){
this._userContext=value;}
function Sys$Net$WebServiceProxy$get_defaultUserContext(){
if(arguments.length!==0)throw Error.parameterCount();
return this._userContext;}
function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value){
this._succeeded=value;}
function Sys$Net$WebServiceProxy$get_defaultSucceededCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._succeeded;}
function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value){
this._failed=value;}
function Sys$Net$WebServiceProxy$get_defaultFailedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._failed;}
function Sys$Net$WebServiceProxy$set_path(value){
this._path=value;}
function Sys$Net$WebServiceProxy$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path;}
function Sys$Net$WebServiceProxy$_invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext){
var e=Function._validateParams(arguments,[
{name:"servicePath",type:String},
{name:"methodName",type:String},
{name:"useGet",type:Boolean},
{name:"params"},
{name:"onSuccess",type:Function,mayBeNull:true,optional:true},
{name:"onFailure",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
if(onSuccess===null||typeof onSuccess==='undefined')onSuccess=this.get_defaultSucceededCallback();
if(onFailure===null||typeof onFailure==='undefined')onFailure=this.get_defaultFailedCallback();
if(userContext===null||typeof userContext==='undefined')userContext=this.get_defaultUserContext();
return Sys.Net.WebServiceProxy.invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,this.get_timeout());}
Sys.Net.WebServiceProxy.prototype={
set_timeout:Sys$Net$WebServiceProxy$set_timeout,
get_timeout:Sys$Net$WebServiceProxy$get_timeout,
set_defaultUserContext:Sys$Net$WebServiceProxy$set_defaultUserContext,
get_defaultUserContext:Sys$Net$WebServiceProxy$get_defaultUserContext,
set_defaultSucceededCallback:Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
get_defaultSucceededCallback:Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
set_defaultFailedCallback:Sys$Net$WebServiceProxy$set_defaultFailedCallback,
get_defaultFailedCallback:Sys$Net$WebServiceProxy$get_defaultFailedCallback,
set_path:Sys$Net$WebServiceProxy$set_path,
get_path:Sys$Net$WebServiceProxy$get_path,
_invoke:Sys$Net$WebServiceProxy$_invoke}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke=function Sys$Net$WebServiceProxy$invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,timeout){
var e=Function._validateParams(arguments,[
{name:"servicePath",type:String},
{name:"methodName",type:String},
{name:"useGet",type:Boolean,optional:true},
{name:"params",mayBeNull:true,optional:true},
{name:"onSuccess",type:Function,mayBeNull:true,optional:true},
{name:"onFailure",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true},
{name:"timeout",type:Number,optional:true}]);
if(e)throw e;
var request=new Sys.Net.WebRequest();
request.get_headers()['Content-Type']='application/json; charset=utf-8';
if(!params)params={};
var urlParams=params;
if(!useGet||!urlParams)urlParams={};
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+methodName,urlParams));
var body=null;
if(!useGet){
body=Sys.Serialization.JavaScriptSerializer.serialize(params);
if(body==="{}")body="";}
request.set_body(body);
request.add_completed(onComplete);
if(timeout&&timeout>0)request.set_timeout(timeout);
request.invoke();
function onComplete(response,eventArgs){
if(response.get_responseAvailable()){
var statusCode=response.get_statusCode();
var result=null;
try{
var contentType=response.getResponseHeader("Content-Type");
if(contentType.startsWith("application/json")){
result=response.get_object();}
else if(contentType.startsWith("text/xml")){
result=response.get_xml();}
else{
result=response.get_responseData();}}catch(ex){}
var error=response.getResponseHeader("jsonerror");
var errorObj=(error==="true");
if(errorObj){
result=new Sys.Net.WebServiceError(false,result.Message,result.StackTrace,result.ExceptionType);}
if(((statusCode<200)||(statusCode>=300))||errorObj){
if(onFailure){
if(!result||!errorObj){
result=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,methodName),"","");}
result._statusCode=statusCode;
onFailure(result,userContext,methodName);}
else{
var error;
if(result&&errorObj){
error=result.get_exceptionType()+"-- "+ result.get_message();}
else{
error=response.get_responseData();}
alert(String.format(Sys.Res.webServiceFailed,methodName,error));}}
else if(onSuccess){
onSuccess(result,userContext,methodName);}}
else{
var msg;
if(response.get_timedOut()){
msg=String.format(Sys.Res.webServiceTimedOut,methodName);}
else{
msg=String.format(Sys.Res.webServiceFailedNoMsg,methodName)}
if(onFailure){
onFailure(new Sys.Net.WebServiceError(response.get_timedOut(),msg,"",""),userContext,methodName);}
else{
alert(msg);}}}
return request;}
Sys.Net.WebServiceProxy._generateTypedConstructor=function Sys$Net$WebServiceProxy$_generateTypedConstructor(type){
return function(properties){
if(properties){
for(var name in properties){
this[name]=properties[name];}}
this.__type=type;}}
Sys.Net.WebServiceError=function Sys$Net$WebServiceError(timedOut,message,stackTrace,exceptionType){
var e=Function._validateParams(arguments,[
{name:"timedOut",type:Boolean},
{name:"message",type:String,mayBeNull:true},
{name:"stackTrace",type:String,mayBeNull:true},
{name:"exceptionType",type:String,mayBeNull:true}]);
if(e)throw e;
this._timedOut=timedOut;
this._message=message;
this._stackTrace=stackTrace;
this._exceptionType=exceptionType;
this._statusCode=-1;}
function Sys$Net$WebServiceError$get_timedOut(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timedOut;}
function Sys$Net$WebServiceError$get_statusCode(){
if(arguments.length!==0)throw Error.parameterCount();
return this._statusCode;}
function Sys$Net$WebServiceError$get_message(){
if(arguments.length!==0)throw Error.parameterCount();
return this._message;}
function Sys$Net$WebServiceError$get_stackTrace(){
if(arguments.length!==0)throw Error.parameterCount();
return this._stackTrace;}
function Sys$Net$WebServiceError$get_exceptionType(){
if(arguments.length!==0)throw Error.parameterCount();
return this._exceptionType;}
Sys.Net.WebServiceError.prototype={
get_timedOut:Sys$Net$WebServiceError$get_timedOut,
get_statusCode:Sys$Net$WebServiceError$get_statusCode,
get_message:Sys$Net$WebServiceError$get_message,
get_stackTrace:Sys$Net$WebServiceError$get_stackTrace,
get_exceptionType:Sys$Net$WebServiceError$get_exceptionType}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService=function Sys$Services$_ProfileService(){
Sys.Services._ProfileService.initializeBase(this);
this.properties={};}
Sys.Services._ProfileService.DefaultWebServicePath='';
function Sys$Services$_ProfileService$get_defaultFailedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultFailedCallback;}
function Sys$Services$_ProfileService$set_defaultFailedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultFailedCallback=value;}
function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLoadCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLoadCompletedCallback=value;}
function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultSaveCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultSaveCompletedCallback=value;}
function Sys$Services$_ProfileService$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path;}
function Sys$Services$_ProfileService$set_path(value){
var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);
if(e)throw e;
if((!value)||(!value.length)){
value='';}
this._path=value;}
function Sys$Services$_ProfileService$get_timeout(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timeout;}
function Sys$Services$_ProfileService$set_timeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
this._timeout=value;}
function Sys$Services$_ProfileService$load(propertyNames,loadCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"propertyNames",type:Array,mayBeNull:true,optional:true,elementType:String},
{name:"loadCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
var parameters={};
var methodName;
if(!propertyNames){
methodName="GetAllPropertiesForCurrentUser";}
else{
methodName="GetPropertiesForCurrentUser";
parameters={properties:this._clonePropertyNames(propertyNames)};}
this._invoke(this._get_path(),
methodName,
false,
parameters,
Function.createDelegate(this,this._onLoadComplete),
Function.createDelegate(this,this._onLoadFailed),[loadCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_ProfileService$save(propertyNames,saveCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"propertyNames",type:Array,mayBeNull:true,optional:true,elementType:String},
{name:"saveCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
var flattenedProperties=this._flattenProperties(propertyNames,this.properties);
this._invoke(this._get_path(),"SetPropertiesForCurrentUser",
false,
{values:flattenedProperties},
Function.createDelegate(this,this._onSaveComplete),
Function.createDelegate(this,this._onSaveFailed),
[saveCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_ProfileService$_clonePropertyNames(arr){
var nodups=[];
var seen={};
for(var i=0;i<arr.length;i++){
var prop=arr[i];
if(!seen[prop]){Array.add(nodups,prop);seen[prop]=true;};}
return nodups;}
function Sys$Services$_ProfileService$_flattenProperties(propertyNames,properties,groupName){
var flattenedProperties={};
var val;
var key;
if(propertyNames&&propertyNames.length===0){
return flattenedProperties;}
for(var property in properties){
val=properties[property];
key=groupName?groupName +"."+ property:property;
if(Sys.Services.ProfileGroup.isInstanceOfType(val)){
var groupProperties=this._flattenProperties(propertyNames,val,key);
for(var subKey in groupProperties){
var subVal=groupProperties[subKey];
flattenedProperties[subKey]=subVal;}}
else{
if(!propertyNames||Array.indexOf(propertyNames,key)!==-1){
flattenedProperties[key]=val;}}}
return flattenedProperties;}
function Sys$Services$_ProfileService$_get_path(){
var path=this.get_path();
if(!path.length){
path=Sys.Services._ProfileService.DefaultWebServicePath;}
if(!path||!path.length){
throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_ProfileService$_onLoadComplete(result,context,methodName){
if(typeof(result)!=="object"){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Object"));}
var unflattened=this._unflattenProperties(result);
for(var name in unflattened){
this.properties[name]=unflattened[name];}
var userCallback=context[0];
var callback=userCallback?userCallback:this._defaultLoadCompletedCallback;
if(callback){
callback(result.length,context[2],"Sys.Services.ProfileService.load");}}
function Sys$Services$_ProfileService$_onLoadFailed(err,context,methodName){
var userCallback=context[1];
var callback=userCallback?userCallback:this._defaultFailedCallback;
if(callback){
callback(err,context[2],"Sys.Services.ProfileService.load");}}
function Sys$Services$_ProfileService$_onSaveComplete(result,context,methodName){
if(typeof(result)!=="number"){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Number"));}
var userCallback=context[0];
var userContext=context[2];
var callback=userCallback?userCallback:this._defaultSaveCompletedCallback;
if(callback){
callback(result,userContext,"Sys.Services.ProfileService.save");}}
function Sys$Services$_ProfileService$_onSaveFailed(err,context,methodName){
var userCallback=context[1];
var userContext=context[2];
var callback=userCallback?userCallback:this._defaultFailedCallback;
if(callback){
callback(err,userContext,"Sys.Services.ProfileService.save");}}
function Sys$Services$_ProfileService$_unflattenProperties(properties){
var unflattenedProperties={};
var dotIndex;
var val;
var count=0;
for(var key in properties){
count++;
val=properties[key];
dotIndex=key.indexOf('.');
if(dotIndex!==-1){
var groupName=key.substr(0,dotIndex);
key=key.substr(dotIndex+1);
var group=unflattenedProperties[groupName];
if((!group)||(!Sys.Services.ProfileGroup.isInstanceOfType(group))){
group=new Sys.Services.ProfileGroup();
unflattenedProperties[groupName]=group;}
group[key]=val;}
else{
unflattenedProperties[key]=val;}}
properties.length=count;
return unflattenedProperties;}
Sys.Services._ProfileService.prototype={
_defaultFailedCallback:null,
_defaultLoadCompletedCallback:null,
_defaultSaveCompletedCallback:null,
_path:'',
_timeout:0,
get_defaultFailedCallback:Sys$Services$_ProfileService$get_defaultFailedCallback,
set_defaultFailedCallback:Sys$Services$_ProfileService$set_defaultFailedCallback,
get_defaultLoadCompletedCallback:Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
set_defaultLoadCompletedCallback:Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,
get_defaultSaveCompletedCallback:Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
set_defaultSaveCompletedCallback:Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
get_path:Sys$Services$_ProfileService$get_path,
set_path:Sys$Services$_ProfileService$set_path,
get_timeout:Sys$Services$_ProfileService$get_timeout,
set_timeout:Sys$Services$_ProfileService$set_timeout,
load:Sys$Services$_ProfileService$load,
save:Sys$Services$_ProfileService$save,
_clonePropertyNames:Sys$Services$_ProfileService$_clonePropertyNames,
_flattenProperties:Sys$Services$_ProfileService$_flattenProperties,
_get_path:Sys$Services$_ProfileService$_get_path,
_onLoadComplete:Sys$Services$_ProfileService$_onLoadComplete,
_onLoadFailed:Sys$Services$_ProfileService$_onLoadFailed,
_onSaveComplete:Sys$Services$_ProfileService$_onSaveComplete,
_onSaveFailed:Sys$Services$_ProfileService$_onSaveFailed,
_unflattenProperties:Sys$Services$_ProfileService$_unflattenProperties}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService',Sys.Net.WebServiceProxy);
Sys.Services.ProfileService=new Sys.Services._ProfileService();
Sys.Services.ProfileGroup=function Sys$Services$ProfileGroup(properties){
var e=Function._validateParams(arguments,[
{name:"properties",mayBeNull:true,optional:true}]);
if(e)throw e;
if(properties){
for(var property in properties){
this[property]=properties[property];}}}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');
Sys.Services._AuthenticationService=function Sys$Services$_AuthenticationService(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.Services._AuthenticationService.initializeBase(this);}
Sys.Services._AuthenticationService.DefaultWebServicePath='';
function Sys$Services$_AuthenticationService$get_defaultFailedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultFailedCallback;}
function Sys$Services$_AuthenticationService$set_defaultFailedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultFailedCallback=value;}
function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLoginCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLoginCompletedCallback=value;}
function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLogoutCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLogoutCompletedCallback=value;}
function Sys$Services$_AuthenticationService$get_isLoggedIn(){
if(arguments.length!==0)throw Error.parameterCount();
return this._authenticated;}
function Sys$Services$_AuthenticationService$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path;}
function Sys$Services$_AuthenticationService$set_path(value){
var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);
if(e)throw e;
if((!value)||(!value.length)){
value='';}
this._path=value;}
function Sys$Services$_AuthenticationService$get_timeout(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timeout;}
function Sys$Services$_AuthenticationService$set_timeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
this._timeout=value;}
function Sys$Services$_AuthenticationService$login(username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"username",type:String},
{name:"password",type:String,mayBeNull:true},
{name:"isPersistent",type:Boolean,mayBeNull:true,optional:true},
{name:"customInfo",type:String,mayBeNull:true,optional:true},
{name:"redirectUrl",type:String,mayBeNull:true,optional:true},
{name:"loginCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
this._invoke(this._get_path(),"Login",false,
{userName:username,password:password,createPersistentCookie:isPersistent},
Function.createDelegate(this,this._onLoginComplete),
Function.createDelegate(this,this._onLoginFailed),
[username,password,isPersistent,redirectUrl,loginCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$logout(redirectUrl,logoutCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"redirectUrl",type:String,mayBeNull:true,optional:true},
{name:"logoutCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
this._invoke(this._get_path(),"Logout",false,{},
Function.createDelegate(this,this._onLogoutComplete),
Function.createDelegate(this,this._onLogoutFailed),
[redirectUrl,logoutCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$_get_path(){
var path=this.get_path();
if(!path.length){
path=Sys.Services._AuthenticationService.DefaultWebServicePath;}
if(!path||!path.length){
throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_AuthenticationService$_onLoginComplete(result,context,methodName){
if(typeof(result)!=="boolean"){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Boolean"));}
var redirectUrl=context[3];
var userCallback=context[4];
var userContext=context[6];
var callback=userCallback?userCallback:this._defaultLoginCompletedCallback;
if(result){
this._authenticated=true;
if(callback){
callback(true,userContext,"Sys.Services.AuthenticationService.login");}
if(typeof(redirectUrl)!=="undefined"&&redirectUrl!==null){
window.location.href=redirectUrl;}}
else if(callback){
callback(false,userContext,"Sys.Services.AuthenticationService.login");}}
function Sys$Services$_AuthenticationService$_onLoginFailed(err,context,methodName){
var userCallback=context[5];
var callback=userCallback?userCallback:this._defaultFailedCallback;
if(callback){
callback(err,context[6],"Sys.Services.AuthenticationService.login");}}
function Sys$Services$_AuthenticationService$_onLogoutComplete(result,context,methodName){
if(result!==null){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"null"));}
var redirectUrl=context[0];
var userCallback=context[1];
var userContext=context[3];
var callback=userCallback?userCallback:this._defaultLogoutCompletedCallback;
this._authenticated=false;
if(callback){
callback(null,userContext,"Sys.Services.AuthenticationService.logout");}
if(!redirectUrl){
window.location.reload();}
else{
window.location.href=redirectUrl;}}
function Sys$Services$_AuthenticationService$_onLogoutFailed(err,context,methodName){
var userCallback=context[2];
var callback=userCallback?userCallback:this._defaultFailedCallback;
if(callback){
callback(err,context[3],"Sys.Services.AuthenticationService.logout");}}
function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated){
this._authenticated=authenticated;}
Sys.Services._AuthenticationService.prototype={
_defaultFailedCallback:null,
_defaultLoginCompletedCallback:null,
_defaultLogoutCompletedCallback:null,
_path:'',
_timeout:0,
_authenticated:false,
get_defaultFailedCallback:Sys$Services$_AuthenticationService$get_defaultFailedCallback,
set_defaultFailedCallback:Sys$Services$_AuthenticationService$set_defaultFailedCallback,
get_defaultLoginCompletedCallback:Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
set_defaultLoginCompletedCallback:Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,
get_defaultLogoutCompletedCallback:Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
set_defaultLogoutCompletedCallback:Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,
get_isLoggedIn:Sys$Services$_AuthenticationService$get_isLoggedIn,
get_path:Sys$Services$_AuthenticationService$get_path,
set_path:Sys$Services$_AuthenticationService$set_path,
get_timeout:Sys$Services$_AuthenticationService$get_timeout,
set_timeout:Sys$Services$_AuthenticationService$set_timeout,
login:Sys$Services$_AuthenticationService$login,
logout:Sys$Services$_AuthenticationService$logout,
_get_path:Sys$Services$_AuthenticationService$_get_path,
_onLoginComplete:Sys$Services$_AuthenticationService$_onLoginComplete,
_onLoginFailed:Sys$Services$_AuthenticationService$_onLoginFailed,
_onLogoutComplete:Sys$Services$_AuthenticationService$_onLogoutComplete,
_onLogoutFailed:Sys$Services$_AuthenticationService$_onLogoutFailed,
_setAuthenticated:Sys$Services$_AuthenticationService$_setAuthenticated}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService',Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService();
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer=function Sys$Serialization$JavaScriptSerializer(){
if(arguments.length!==0)throw Error.parameterCount();}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._stringRegEx=new RegExp('["\b\f\n\r\t\\\\\x00-\x1F]','i');
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object,stringBuilder,sort){
var i;
switch(typeof object){
case'object':
if(object){
if(Array.isInstanceOfType(object)){
stringBuilder.append('[');
for(i=0;i<object.length;++i){
if(i>0){
stringBuilder.append(',');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i],stringBuilder);}
stringBuilder.append(']');}
else{
if(Date.isInstanceOfType(object)){
stringBuilder.append('"\\/Date(');
stringBuilder.append(object.getTime());
stringBuilder.append(')\\/"');
break;}
var properties=[];
var propertyCount=0;
for(var name in object){
if(name.startsWith('$')){
continue;}
properties[propertyCount++]=name;}
if(sort)properties.sort();
stringBuilder.append('{');
var needComma=false;
for(i=0;i<propertyCount;i++){
var value=object[properties[i]];
if(typeof value!=='undefined'&&typeof value!=='function'){
if(needComma){
stringBuilder.append(',');}
else{
needComma=true;}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i],stringBuilder,sort);
stringBuilder.append(':');
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value,stringBuilder,sort);}}
stringBuilder.append('}');}}
else{
stringBuilder.append('null');}
break;
case'number':
if(isFinite(object)){
stringBuilder.append(String(object));}
else{
throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);}
break;
case'string':
stringBuilder.append('"');
if(Sys.Browser.agent===Sys.Browser.Safari||Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)){
var length=object.length;
for(i=0;i<length;++i){
var curChar=object.charAt(i);
if(curChar>=' '){
if(curChar==='\\'||curChar==='"'){
stringBuilder.append('\\');}
stringBuilder.append(curChar);}
else{
switch(curChar){
case'\b':
stringBuilder.append('\\b');
break;
case'\f':
stringBuilder.append('\\f');
break;
case'\n':
stringBuilder.append('\\n');
break;
case'\r':
stringBuilder.append('\\r');
break;
case'\t':
stringBuilder.append('\\t');
break;
default:
stringBuilder.append('\\u00');
if(curChar.charCodeAt()<16)stringBuilder.append('0');
stringBuilder.append(curChar.charCodeAt().toString(16));}}}}else{
stringBuilder.append(object);}
stringBuilder.append('"');
break;
case'boolean':
stringBuilder.append(object.toString());
break;
default:
stringBuilder.append('null');
break;}}
Sys.Serialization.JavaScriptSerializer.serialize=function Sys$Serialization$JavaScriptSerializer$serialize(object){
var e=Function._validateParams(arguments,[
{name:"object",mayBeNull:true}]);
if(e)throw e;
var stringBuilder=new Sys.StringBuilder();
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object,stringBuilder,false);
return stringBuilder.toString();}
Sys.Serialization.JavaScriptSerializer.deserialize=function Sys$Serialization$JavaScriptSerializer$deserialize(data){
var e=Function._validateParams(arguments,[
{name:"data",type:String}]);
if(e)throw e;
if(data.length===0)throw Error.argument('data',Sys.Res.cannotDeserializeEmptyString);
try{
var exp=data.replace(new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"','g'),"$1new Date($2)");
return eval('('+ exp +')');}
catch(e){
throw Error.argument('data',Sys.Res.cannotDeserializeInvalidJson);}}
Sys.CultureInfo=function Sys$CultureInfo(name,numberFormat,dateTimeFormat){
var e=Function._validateParams(arguments,[
{name:"name",type:String},
{name:"numberFormat",type:Object},
{name:"dateTimeFormat",type:Object}]);
if(e)throw e;
this.name=name;
this.numberFormat=numberFormat;
this.dateTimeFormat=dateTimeFormat;}
function Sys$CultureInfo$_getDateTimeFormats(){
if(!this._dateTimeFormats){
var dtf=this.dateTimeFormat;
this._dateTimeFormats=
[dtf.MonthDayPattern,
dtf.YearMonthPattern,
dtf.ShortDatePattern,
dtf.ShortTimePattern,
dtf.LongDatePattern,
dtf.LongTimePattern,
dtf.FullDateTimePattern,
dtf.RFC1123Pattern,
dtf.SortableDateTimePattern,
dtf.UniversalSortableDateTimePattern];}
return this._dateTimeFormats;}
function Sys$CultureInfo$_getMonthIndex(value){
if(!this._upperMonths){
this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);}
return Array.indexOf(this._upperMonths,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrMonthIndex(value){
if(!this._upperAbbrMonths){
this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);}
return Array.indexOf(this._upperMonths,this._toUpper(value));}
function Sys$CultureInfo$_getDayIndex(value){
if(!this._upperDays){
this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);}
return Array.indexOf(this._upperDays,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrDayIndex(value){
if(!this._upperAbbrDays){
this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);}
return Array.indexOf(this._upperAbbrDays,this._toUpper(value));}
function Sys$CultureInfo$_toUpperArray(arr){
var result=[];
for(var i=0,il=arr.length;i<il;i++){
result[i]=this._toUpper(arr[i]);}
return result;}
function Sys$CultureInfo$_toUpper(value){
return value.split("\u00A0").join(' ').toUpperCase();}
Sys.CultureInfo.prototype={
_getDateTimeFormats:Sys$CultureInfo$_getDateTimeFormats,
_getMonthIndex:Sys$CultureInfo$_getMonthIndex,
_getAbbrMonthIndex:Sys$CultureInfo$_getAbbrMonthIndex,
_getDayIndex:Sys$CultureInfo$_getDayIndex,
_getAbbrDayIndex:Sys$CultureInfo$_getAbbrDayIndex,
_toUpperArray:Sys$CultureInfo$_toUpperArray,
_toUpper:Sys$CultureInfo$_toUpper}
Sys.CultureInfo._parse=function Sys$CultureInfo$_parse(value){
var cultureInfo=Sys.Serialization.JavaScriptSerializer.deserialize(value);
return new Sys.CultureInfo(cultureInfo.name,cultureInfo.numberFormat,cultureInfo.dateTimeFormat);}
Sys.CultureInfo.registerClass('Sys.CultureInfo');
Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');
if(typeof(__cultureInfo)==='undefined'){
var __cultureInfo='{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';}
Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;
Sys.UI.Point=function Sys$UI$Point(x,y){
var e=Function._validateParams(arguments,[
{name:"x",type:Number,integer:true},
{name:"y",type:Number,integer:true}]);
if(e)throw e;
this.x=x;
this.y=y;}
Sys.UI.Point.registerClass('Sys.UI.Point');
Sys.UI.Bounds=function Sys$UI$Bounds(x,y,width,height){
var e=Function._validateParams(arguments,[
{name:"x",type:Number,integer:true},
{name:"y",type:Number,integer:true},
{name:"height",type:Number,integer:true},
{name:"width",type:Number,integer:true}]);
if(e)throw e;
this.x=x;
this.y=y;
this.height=height;
this.width=width;}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
Sys.UI.DomElement=function Sys$UI$DomElement(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass=function Sys$UI$DomElement$addCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
if(!Sys.UI.DomElement.containsCssClass(element,className)){
if(element.className===''){
element.className=className;}
else{
element.className +=' '+ className;}}}
Sys.UI.DomElement.containsCssClass=function Sys$UI$DomElement$containsCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
return Array.contains(element.className.split(' '),className);}
Sys.UI.DomElement.getBounds=function Sys$UI$DomElement$getBounds(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
var offset=Sys.UI.DomElement.getLocation(element);
return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth||0,element.offsetHeight||0);}
var $get=Sys.UI.DomElement.getElementById=function Sys$UI$DomElement$getElementById(id,element){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"element",mayBeNull:true,domElement:true,optional:true}]);
if(e)throw e;
if(!element)return document.getElementById(id);
if(element.getElementById)return element.getElementById(id);
var nodeQueue=[];
var childNodes=element.childNodes;
for(var i=0;i<childNodes.length;i++){
var node=childNodes[i];
if(node.nodeType==1){
nodeQueue[nodeQueue.length]=node;}}
while(nodeQueue.length){
node=nodeQueue.shift();
if(node.id==id){
return node;}
childNodes=node.childNodes;
for(i=0;i<childNodes.length;i++){
node=childNodes[i];
if(node.nodeType==1){
nodeQueue[nodeQueue.length]=node;}}}
return null;}
switch(Sys.Browser.agent){
case Sys.Browser.InternetExplorer:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(element.self||element.nodeType===9)return new Sys.UI.Point(0,0);
var clientRects=element.getClientRects();
if(!clientRects||!clientRects.length){
return new Sys.UI.Point(0,0);}
var w=element.ownerDocument.parentWindow;
var offsetL=w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft + 2;
var offsetT=w.screenTop - top.screenTop - top.document.documentElement.scrollTop + 2;
var f=w.frameElement||null;
if(f){
var fstyle=f.currentStyle;
offsetL +=(f.frameBorder||1)*2 +
(parseInt(fstyle.paddingLeft)||0)+
(parseInt(fstyle.borderLeftWidth)||0)-
element.ownerDocument.documentElement.scrollLeft;
offsetT +=(f.frameBorder||1)*2 +
(parseInt(fstyle.paddingTop)||0)+
(parseInt(fstyle.borderTopWidth)||0)-
element.ownerDocument.documentElement.scrollTop;}
var clientRect=clientRects[0];
return new Sys.UI.Point(
clientRect.left - offsetL,
clientRect.top - offsetT);}
break;
case Sys.Browser.Safari:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);
var offsetX=0;
var offsetY=0;
var previous=null;
var previousStyle=null;
var currentStyle;
for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
var tagName=parent.tagName;
if((parent.offsetLeft||parent.offsetTop)&&
((tagName!=="BODY")||(!previousStyle||previousStyle.position!=="absolute"))){
offsetX +=parent.offsetLeft;
offsetY +=parent.offsetTop;}}
currentStyle=Sys.UI.DomElement._getCurrentStyle(element);
var elementPosition=currentStyle?currentStyle.position:null;
var elementPositioned=elementPosition&&(elementPosition!=="static");
if(!elementPosition||(elementPosition!=="absolute")){
for(var parent=element.parentNode;parent;parent=parent.parentNode){
tagName=parent.tagName;
if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){
offsetX -=(parent.scrollLeft||0);
offsetY -=(parent.scrollTop||0);}
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
var parentPosition=currentStyle?currentStyle.position:null;
if(parentPosition&&(parentPosition==="absolute"))break;}}
return new Sys.UI.Point(offsetX,offsetY);}
break;
case Sys.Browser.Opera:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);
var offsetX=0;
var offsetY=0;
var previous=null;
for(var parent=element;parent;previous=parent,parent=parent.offsetParent){
var tagName=parent.tagName;
offsetX +=parent.offsetLeft||0;
offsetY +=parent.offsetTop||0;}
var elementPosition=element.style.position;
var elementPositioned=elementPosition&&(elementPosition!=="static");
for(var parent=element.parentNode;parent;parent=parent.parentNode){
tagName=parent.tagName;
if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)&&
((elementPositioned&&
((parent.style.overflow==="scroll")||(parent.style.overflow==="auto"))))){
offsetX -=(parent.scrollLeft||0);
offsetY -=(parent.scrollTop||0);}
var parentPosition=(parent&&parent.style)?parent.style.position:null;
elementPositioned=elementPositioned||(parentPosition&&(parentPosition!=="static"));}
return new Sys.UI.Point(offsetX,offsetY);}
break;
default:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);
var offsetX=0;
var offsetY=0;
var previous=null;
var previousStyle=null;
var currentStyle=null;
for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){
var tagName=parent.tagName;
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
if((parent.offsetLeft||parent.offsetTop)&&!((tagName==="BODY")&&
(!previousStyle||previousStyle.position!=="absolute"))){
offsetX +=parent.offsetLeft;
offsetY +=parent.offsetTop;}
if(previous!==null&&currentStyle){
if((tagName!=="TABLE")&&(tagName!=="TD")&&(tagName!=="HTML")){
offsetX +=parseInt(currentStyle.borderLeftWidth)||0;
offsetY +=parseInt(currentStyle.borderTopWidth)||0;}
if(tagName==="TABLE"&&
(currentStyle.position==="relative"||currentStyle.position==="absolute")){
offsetX +=parseInt(currentStyle.marginLeft)||0;
offsetY +=parseInt(currentStyle.marginTop)||0;}}}
currentStyle=Sys.UI.DomElement._getCurrentStyle(element);
var elementPosition=currentStyle?currentStyle.position:null;
var elementPositioned=elementPosition&&(elementPosition!=="static");
if(!elementPosition||(elementPosition!=="absolute")){
for(var parent=element.parentNode;parent;parent=parent.parentNode){
tagName=parent.tagName;
if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){
offsetX -=(parent.scrollLeft||0);
offsetY -=(parent.scrollTop||0);
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
offsetX +=parseInt(currentStyle.borderLeftWidth)||0;
offsetY +=parseInt(currentStyle.borderTopWidth)||0;}}}
return new Sys.UI.Point(offsetX,offsetY);}
break;}
Sys.UI.DomElement.removeCssClass=function Sys$UI$DomElement$removeCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
var currentClassName=' '+ element.className +' ';
var index=currentClassName.indexOf(' '+ className +' ');
if(index>=0){
element.className=(currentClassName.substr(0,index)+' '+
currentClassName.substring(index + className.length + 1,currentClassName.length)).trim();}}
Sys.UI.DomElement.setLocation=function Sys$UI$DomElement$setLocation(element,x,y){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"x",type:Number,integer:true},
{name:"y",type:Number,integer:true}]);
if(e)throw e;
var style=element.style;
style.position='absolute';
style.left=x +"px";
style.top=y +"px";}
Sys.UI.DomElement.toggleCssClass=function Sys$UI$DomElement$toggleCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
if(Sys.UI.DomElement.containsCssClass(element,className)){
Sys.UI.DomElement.removeCssClass(element,className);}
else{
Sys.UI.DomElement.addCssClass(element,className);}}
Sys.UI.DomElement._getCurrentStyle=function Sys$UI$DomElement$_getCurrentStyle(element){
var w=(element.ownerDocument?element.ownerDocument:element.documentElement).defaultView;
return((w&&(element!==w)&&w.getComputedStyle)?w.getComputedStyle(element,null):element.style);}
Sys.UI.Behavior=function Sys$UI$Behavior(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
Sys.UI.Behavior.initializeBase(this);
this._element=element;
var behaviors=element._behaviors;
if(!behaviors){
element._behaviors=[this];}
else{
behaviors[behaviors.length]=this;}}
function Sys$UI$Behavior$get_element(){
if(arguments.length!==0)throw Error.parameterCount();
return this._element;}
function Sys$UI$Behavior$get_id(){
if(arguments.length!==0)throw Error.parameterCount();
var baseId=Sys.UI.Behavior.callBaseMethod(this,'get_id');
if(baseId)return baseId;
if(!this._element||!this._element.id)return'';
return this._element.id +'$'+ this.get_name();}
function Sys$UI$Behavior$get_name(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._name)return this._name;
var name=Object.getTypeName(this);
var i=name.lastIndexOf('.');
if(i!=-1)name=name.substr(i + 1);
if(!this.get_isInitialized())this._name=name;
return name;}
function Sys$UI$Behavior$set_name(value){
if((value==='')||(value.charAt(0)===' ')||(value.charAt(value.length - 1)===' '))
throw Error.argument('value',Sys.Res.invalidId);
if(typeof(this._element[value])!=='undefined')
throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName,value));
if(this.get_isInitialized())throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
this._name=value;}
function Sys$UI$Behavior$initialize(){
Sys.UI.Behavior.callBaseMethod(this,'initialize');
var name=this.get_name();
if(name)this._element[name]=this;}
function Sys$UI$Behavior$dispose(){
Sys.UI.Behavior.callBaseMethod(this,'dispose');
if(this._element){
var name=this.get_name();
if(name){
this._element[name]=null;}
Array.remove(this._element._behaviors,this);
delete this._element;}}
Sys.UI.Behavior.prototype={
_name:null,
get_element:Sys$UI$Behavior$get_element,
get_id:Sys$UI$Behavior$get_id,
get_name:Sys$UI$Behavior$get_name,
set_name:Sys$UI$Behavior$set_name,
initialize:Sys$UI$Behavior$initialize,
dispose:Sys$UI$Behavior$dispose}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior',Sys.Component);
Sys.UI.Behavior.getBehaviorByName=function Sys$UI$Behavior$getBehaviorByName(element,name){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"name",type:String}]);
if(e)throw e;
var b=element[name];
return(b&&Sys.UI.Behavior.isInstanceOfType(b))?b:null;}
Sys.UI.Behavior.getBehaviors=function Sys$UI$Behavior$getBehaviors(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(!element._behaviors)return[];
return Array.clone(element._behaviors);}
Sys.UI.Behavior.getBehaviorsByType=function Sys$UI$Behavior$getBehaviorsByType(element,type){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"type",type:Type}]);
if(e)throw e;
var behaviors=element._behaviors;
var results=[];
if(behaviors){
for(var i=0,l=behaviors.length;i<l;i++){
if(type.isInstanceOfType(behaviors[i])){
results[results.length]=behaviors[i];}}}
return results;}
Sys.UI.VisibilityMode=function Sys$UI$VisibilityMode(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype={
hide:0,
collapse:1}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");
Sys.UI.Control=function Sys$UI$Control(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(typeof(element.control)!='undefined')throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);
Sys.UI.Control.initializeBase(this);
this._element=element;
element.control=this;
this._oldDisplayMode=this._element.style.display;
if(!this._oldDisplayMode||(this._oldDisplayMode=='none')){
this._oldDisplayMode='';}}
function Sys$UI$Control$get_element(){
if(arguments.length!==0)throw Error.parameterCount();
return this._element;}
function Sys$UI$Control$get_id(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._element)return'';
return this._element.id;}
function Sys$UI$Control$set_id(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
throw Error.invalidOperation(Sys.Res.cantSetId);}
function Sys$UI$Control$get_parent(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._parent){
return this._parent;}
else{
var parentElement=this._element.parentNode;
while(parentElement){
if(parentElement.control){
return parentElement.control;}
parentElement=parentElement.parentNode;}
return null;}}
function Sys$UI$Control$set_parent(value){
var e=Function._validateParams(arguments,[{name:"value",type:Sys.UI.Control}]);
if(e)throw e;
var parents=[this];
var current=value;
while(current){
if(Array.contains(parents,current))throw Error.invalidOperation(Sys.Res.circularParentChain);
parents[parents.length]=current;
current=current.get_parent();}
this._parent=value;}
function Sys$UI$Control$get_visibilityMode(){
if(arguments.length!==0)throw Error.parameterCount();
return this._visibilityMode;}
function Sys$UI$Control$set_visibilityMode(value){
var e=Function._validateParams(arguments,[{name:"value",type:Sys.UI.VisibilityMode}]);
if(e)throw e;
if(this._visibilityMode!==value){
this._visibilityMode=value;
if(this.get_visible()===false){
if(this._visibilityMode===Sys.UI.VisibilityMode.hide){
this._element.style.display=this._oldDisplayMode;}
else{
this._element.style.display='none';}}}
this._visibilityMode=value;}
function Sys$UI$Control$get_visible(){
if(arguments.length!==0)throw Error.parameterCount();
return(this._element.style.visibility!='hidden');}
function Sys$UI$Control$set_visible(value){
var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);
if(e)throw e;
if(value!=this.get_visible()){
this._element.style.visibility=value?'visible':'hidden';
if(value||(this._visibilityMode===Sys.UI.VisibilityMode.hide)){
this._element.style.display=this._oldDisplayMode;}
else{
this._element.style.display='none';}}}
function Sys$UI$Control$addCssClass(className){
var e=Function._validateParams(arguments,[
{name:"className",type:String}]);
if(e)throw e;
Sys.UI.DomElement.addCssClass(this._element,className);}
function Sys$UI$Control$dispose(){
Sys.UI.Control.callBaseMethod(this,'dispose');
if(this._element){
this._element.control=undefined;
delete this._element;}}
function Sys$UI$Control$initialize(){
Sys.UI.Control.callBaseMethod(this,'initialize');
var elt=this._element;}
function Sys$UI$Control$onBubbleEvent(source,args){
var e=Function._validateParams(arguments,[
{name:"source"},
{name:"args",type:Sys.EventArgs}]);
if(e)throw e;
return false;}
function Sys$UI$Control$raiseBubbleEvent(source,args){
var e=Function._validateParams(arguments,[
{name:"source"},
{name:"args",type:Sys.EventArgs}]);
if(e)throw e;
var currentTarget=this.get_parent();
while(currentTarget){
if(currentTarget.onBubbleEvent(source,args)){
return;}
currentTarget=currentTarget.get_parent();}}
function Sys$UI$Control$removeCssClass(className){
var e=Function._validateParams(arguments,[
{name:"className",type:String}]);
if(e)throw e;
Sys.UI.DomElement.removeCssClass(this._element,className);}
function Sys$UI$Control$toggleCssClass(className){
var e=Function._validateParams(arguments,[
{name:"className",type:String}]);
if(e)throw e;
Sys.UI.DomElement.toggleCssClass(this._element,className);}
Sys.UI.Control.prototype={
_parent:null,
_visibilityMode:Sys.UI.VisibilityMode.hide,
get_element:Sys$UI$Control$get_element,
get_id:Sys$UI$Control$get_id,
set_id:Sys$UI$Control$set_id,
get_parent:Sys$UI$Control$get_parent,
set_parent:Sys$UI$Control$set_parent,
get_visibilityMode:Sys$UI$Control$get_visibilityMode,
set_visibilityMode:Sys$UI$Control$set_visibilityMode,
get_visible:Sys$UI$Control$get_visible,
set_visible:Sys$UI$Control$set_visible,
addCssClass:Sys$UI$Control$addCssClass,
dispose:Sys$UI$Control$dispose,
initialize:Sys$UI$Control$initialize,
onBubbleEvent:Sys$UI$Control$onBubbleEvent,
raiseBubbleEvent:Sys$UI$Control$raiseBubbleEvent,
removeCssClass:Sys$UI$Control$removeCssClass,
toggleCssClass:Sys$UI$Control$toggleCssClass}
Sys.UI.Control.registerClass('Sys.UI.Control',Sys.Component);
Type.registerNamespace('Sys');
Sys.Res={"argumentTypeName":"Value is not the name of an existing type.","methodRegisteredTwice":"Method {0} has already been registered.","cantSetIdAfterInit":"The id property can\u0027t be set on this object after initialization.","componentCantSetIdAfterAddedToApp":"The id property of a component can\u0027t be set after it\u0027s been added to the Application object.","behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already exists or it is the name of an existing property on the target element.","notATypeName":"Value is not a valid type name.","typeShouldBeTypeOrString":"Value is not a valid type or a valid type name.","boolTrueOrFalse":"Value must be \u0027true\u0027 or \u0027false\u0027.","stringFormatInvalid":"The format string is invalid.","referenceNotFound":"Component \u0027{0}\u0027 was not found.","enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t be used as an enum value name.","eventHandlerNotFound":"Handler not found.","circularParentChain":"The chain of control parents can\u0027t have circular references.","undefinedEvent":"\u0027{0}\u0027 is not an event.","notAMethod":"{0} is not a method.","propertyUndefined":"\u0027{0}\u0027 is not a property or an existing field.","eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.","scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable \u0027Display a notification about every script error\u0027 under advanced settings.\r\n Missing call to Sys.Application.notifyScriptLoaded().","propertyNotWritable":"\u0027{0}\u0027 is not a writable property.","enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum value.","controlAlreadyDefined":"A control is already associated with the element.","namespaceContainsObject":"Object {0} already exists and is not a namespace.","cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a function.","scriptLoaderAlreadyLoading":"ScriptLoader.loadScripts cannot be called while the ScriptLoader is already loading scripts.","invalidNameSpace":"Value is not a valid namespace identifier.","notAnInterface":"Value is not a valid interface.","eventHandlerNotFunction":"Handler must be a function.","propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.","typeRegisteredTwice":"Type {0} has already been registered.","cantSetNameAfterInit":"The name property can\u0027t be set on this object after initialization.","appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 can\u0027t be added to the application.","appComponentMustBeInitialized":"Components must be initialized before they are added to the Application object.","baseNotAClass":"Value is not a class.","methodNotFound":"No method found with name \u0027{0}\u0027.","arrayParseBadFormat":"Value must be a valid string representation for an array. It must start with a \u0027[\u0027 and end with a \u0027]\u0027.","cantSetId":"The id property can\u0027t be set on this object.","stringFormatBraceMismatch":"The format string contains an unmatched opening or closing brace.","enumValueNotInteger":"An enumeration definition can only contain integer values.","propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 because it returned a null value.","componentCantSetIdTwice":"The id property of a component can\u0027t be set more than once.","createComponentOnDom":"Value must be null for Components that are not Controls or Behaviors.","createNotComponent":"{0} does not derive from Sys.Component.","createNoDom":"Value must not be null for Controls and Behaviors.","cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an id.","badTypeName":"Value is not the name of the type being registered or the name is a reserved word.","argumentInteger":"Value must be an integer.","scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains multiple calls to Sys.Application.notifyScriptLoaded(). Only one is allowed.","invokeCalledTwice":"Cannot call invoke more than once.","webServiceFailed":"The server method \u0027{0}\u0027 failed with the following error: {1}","argumentType":"Object cannot be converted to the required type.","argumentNull":"Value cannot be null.","controlCantSetId":"The id property can\u0027t be set on a control.","formatBadFormatSpecifier":"Format specifier was invalid.","webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.","argumentDomElement":"Value must be a DOM element.","invalidExecutorType":"Could not create a valid Sys.Net.WebRequestExecutor from: {0}.","cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is false.","actualValue":"Actual value was {0}.","enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.","scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.","parameterCount":"Parameter count mismatch.","cannotDeserializeEmptyString":"Cannot deserialize empty string.","formatInvalidString":"Input string was not in a correct format.","invalidTimeout":"Value must be greater than or equal to zero.","cannotAbortBeforeStart":"Cannot abort when executor has not started.","argument":"Value does not fall within the expected range.","cannotDeserializeInvalidJson":"Cannot deserialize. The data does not correspond to valid JSON.","invalidHttpVerb":"httpVerb cannot be set to an empty or null string.","nullWebRequest":"Cannot call executeRequest with a null webRequest.","eventHandlerInvalid":"Handler was not added through the Sys.UI.DomEvent.addHandler method.","cannotSerializeNonFiniteNumbers":"Cannot serialize non finite numbers.","argumentUndefined":"Value cannot be undefined.","webServiceInvalidReturnType":"The server method \u0027{0}\u0027 returned an invalid type. Expected type: {1}","servicePathNotSet":"The path to the web service has not been set.","argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be converted to type \u0027{1}\u0027.","cannotCallOnceStarted":"Cannot call {0} once started.","badBaseUrl1":"Base URL does not contain ://.","badBaseUrl2":"Base URL does not contain another /.","badBaseUrl3":"Cannot find last / in base URL.","setExecutorAfterActive":"Cannot set executor after it has become active.","paramName":"Parameter name: {0}","cannotCallOutsideHandler":"Cannot call {0} outside of a completed event handler.","format":"One of the identified items was in an invalid format.","assertFailedCaller":"Assertion Failed: {0}\r\nat {1}","argumentOutOfRange":"Specified argument was out of the range of valid values.","webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.","notImplemented":"The method or operation is not implemented.","assertFailed":"Assertion Failed: {0}","invalidOperation":"Operation is not valid due to the current state of the object.","breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"};