
Function.__typeName='Function';
Function.__class=true;
Function.createCallback=function Function$createCallback(method,context){
var e=Function._validateParams(arguments,[
{name:"method",type:Function},
{name:"context",mayBeNull:true}]);
if(e)throw e;
return function(){
var l=arguments.length;
if(l>0){
var args=[];
for(var i=0;i<l;i++){
args[i]=arguments[i];}
args[l]=context;
return method.apply(this,args);}
return method.call(this,context);}}
Function.createDelegate=function Function$createDelegate(instance,method){
var e=Function._validateParams(arguments,[
{name:"instance",mayBeNull:true},
{name:"method",type:Function}]);
if(e)throw e;
return function(){
return method.apply(instance,arguments);}}
Function.emptyFunction=Function.emptyMethod=function Function$emptyMethod(){
if(arguments.length!==0)throw Error.parameterCount();}
Function._validateParams=function Function$_validateParams(params,expectedParams){
var e;
e=Function._validateParameterCount(params,expectedParams);
if(e){
e.popStackFrame();
return e;}
for(var i=0;i<params.length;i++){
var expectedParam=expectedParams[Math.min(i,expectedParams.length - 1)];
var paramName=expectedParam.name;
if(expectedParam.parameterArray){
paramName +="["+(i - expectedParams.length + 1)+"]";}
e=Function._validateParameter(params[i],expectedParam,paramName);
if(e){
e.popStackFrame();
return e;}}
return null;}
Function._validateParameterCount=function Function$_validateParameterCount(params,expectedParams){
var maxParams=expectedParams.length;
var minParams=0;
for(var i=0;i<expectedParams.length;i++){
if(expectedParams[i].parameterArray){
maxParams=Number.MAX_VALUE;}
else if(!expectedParams[i].optional){
minParams++;}}
if(params.length<minParams||params.length>maxParams){
var e=Error.parameterCount();
e.popStackFrame();
return e;}
return null;}
Function._validateParameter=function Function$_validateParameter(param,expectedParam,paramName){
var e;
var expectedType=expectedParam.type;
var expectedInteger=!!expectedParam.integer;
var expectedDomElement=!!expectedParam.domElement;
var mayBeNull=!!expectedParam.mayBeNull;
e=Function._validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName);
if(e){
e.popStackFrame();
return e;}
var expectedElementType=expectedParam.elementType;
var elementMayBeNull=!!expectedParam.elementMayBeNull;
if(expectedType===Array&&typeof(param)!=="undefined"&&param!==null&&
(expectedElementType||!elementMayBeNull)){
var expectedElementInteger=!!expectedParam.elementInteger;
var expectedElementDomElement=!!expectedParam.elementDomElement;
for(var i=0;i<param.length;i++){
var elem=param[i];
e=Function._validateParameterType(elem,expectedElementType,
expectedElementInteger,expectedElementDomElement,elementMayBeNull,
paramName +"["+ i +"]");
if(e){
e.popStackFrame();
return e;}}}
return null;}
Function._validateParameterType=function Function$_validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName){
var e;
if(typeof(param)==="undefined"){
if(mayBeNull){
return null;}
else{
e=Error.argumentUndefined(paramName);
e.popStackFrame();
return e;}}
if(param===null){
if(mayBeNull){
return null;}
else{
e=Error.argumentNull(paramName);
e.popStackFrame();
return e;}}
if(expectedType&&expectedType.__enum){
if(typeof(param)!=='number'){
e=Error.argumentType(paramName,Object.getType(param),expectedType);
e.popStackFrame();
return e;}
if((param%1)===0){
var values=expectedType.prototype;
if(!expectedType.__flags||(param===0)){
for(var i in values){
if(values[i]===param)return null;}}
else{
var v=param;
for(var i in values){
var vali=values[i];
if(vali===0)continue;
if((vali&param)===vali){
v -=vali;}
if(v===0)return null;}}}
e=Error.argumentOutOfRange(paramName,param,String.format(Sys.Res.enumInvalidValue,param,expectedType.getName()));
e.popStackFrame();
return e;}
if(expectedDomElement){
var val;
if(typeof(param.nodeType)!=='number'){
var doc=param.ownerDocument||param.document||param;
if(doc!=param){
var w=doc.defaultView||doc.parentWindow;
val=(w!=param)&&!(w.document&&param.document&&(w.document===param.document));}
else{
val=(typeof(doc.body)==='undefined');}}
else{
val=(param.nodeType===3);}
if(val){
e=Error.argument(paramName,Sys.Res.argumentDomElement);
e.popStackFrame();
return e;}}
if(expectedType&&!expectedType.isInstanceOfType(param)){
e=Error.argumentType(paramName,Object.getType(param),expectedType);
e.popStackFrame();
return e;}
if(expectedType===Number&&expectedInteger){
if((param%1)!==0){
e=Error.argumentOutOfRange(paramName,param,Sys.Res.argumentInteger);
e.popStackFrame();
return e;}}
return null;}
Error.__typeName='Error';
Error.__class=true;
Error.create=function Error$create(message,errorInfo){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true},
{name:"errorInfo",mayBeNull:true,optional:true}]);
if(e)throw e;
var e=new Error(message);
e.message=message;
if(errorInfo){
for(var v in errorInfo){
e[v]=errorInfo[v];}}
e.popStackFrame();
return e;}
Error.argument=function Error$argument(paramName,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentException: "+(message?message:Sys.Res.argument);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentException",paramName:paramName});
e.popStackFrame();
return e;}
Error.argumentNull=function Error$argumentNull(paramName,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentNullException: "+(message?message:Sys.Res.argumentNull);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentNullException",paramName:paramName});
e.popStackFrame();
return e;}
Error.argumentOutOfRange=function Error$argumentOutOfRange(paramName,actualValue,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"actualValue",mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentOutOfRangeException: "+(message?message:Sys.Res.argumentOutOfRange);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
if(typeof(actualValue)!=="undefined"&&actualValue!==null){
displayMessage +="\n"+ String.format(Sys.Res.actualValue,actualValue);}
var e=Error.create(displayMessage,{
name:"Sys.ArgumentOutOfRangeException",
paramName:paramName,
actualValue:actualValue});
e.popStackFrame();
return e;}
Error.argumentType=function Error$argumentType(paramName,actualType,expectedType,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"actualType",type:Type,mayBeNull:true,optional:true},
{name:"expectedType",type:Type,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentTypeException: ";
if(message){
displayMessage +=message;}
else if(actualType&&expectedType){
displayMessage +=
String.format(Sys.Res.argumentTypeWithTypes,actualType.getName(),expectedType.getName());}
else{
displayMessage +=Sys.Res.argumentType;}
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{
name:"Sys.ArgumentTypeException",
paramName:paramName,
actualType:actualType,
expectedType:expectedType});
e.popStackFrame();
return e;}
Error.argumentUndefined=function Error$argumentUndefined(paramName,message){
var e=Function._validateParams(arguments,[
{name:"paramName",type:String,mayBeNull:true,optional:true},
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ArgumentUndefinedException: "+(message?message:Sys.Res.argumentUndefined);
if(paramName){
displayMessage +="\n"+ String.format(Sys.Res.paramName,paramName);}
var e=Error.create(displayMessage,{name:"Sys.ArgumentUndefinedException",paramName:paramName});
e.popStackFrame();
return e;}
Error.format=function Error$format(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.FormatException: "+(message?message:Sys.Res.format);
var e=Error.create(displayMessage,{name:'Sys.FormatException'});
e.popStackFrame();
return e;}
Error.invalidOperation=function Error$invalidOperation(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.InvalidOperationException: "+(message?message:Sys.Res.invalidOperation);
var e=Error.create(displayMessage,{name:'Sys.InvalidOperationException'});
e.popStackFrame();
return e;}
Error.notImplemented=function Error$notImplemented(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.NotImplementedException: "+(message?message:Sys.Res.notImplemented);
var e=Error.create(displayMessage,{name:'Sys.NotImplementedException'});
e.popStackFrame();
return e;}
Error.parameterCount=function Error$parameterCount(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var displayMessage="Sys.ParameterCountException: "+(message?message:Sys.Res.parameterCount);
var e=Error.create(displayMessage,{name:'Sys.ParameterCountException'});
e.popStackFrame();
return e;}
Error.prototype.popStackFrame=function Error$popStackFrame(){
if(arguments.length!==0)throw Error.parameterCount();
if(typeof(this.stack)==="undefined"||this.stack===null||
typeof(this.fileName)==="undefined"||this.fileName===null||
typeof(this.lineNumber)==="undefined"||this.lineNumber===null){
return;}
var stackFrames=this.stack.split("\n");
var currentFrame=stackFrames[0];
var pattern=this.fileName +":"+ this.lineNumber;
while(typeof(currentFrame)!=="undefined"&&
currentFrame!==null&&
currentFrame.indexOf(pattern)===-1){
stackFrames.shift();
currentFrame=stackFrames[0];}
var nextFrame=stackFrames[1];
if(typeof(nextFrame)==="undefined"||nextFrame===null){
return;}
var nextFrameParts=nextFrame.match(/@(.*):(\d+)$/);
if(typeof(nextFrameParts)==="undefined"||nextFrameParts===null){
return;}
this.fileName=nextFrameParts[1];
this.lineNumber=parseInt(nextFrameParts[2]);
stackFrames.shift();
this.stack=stackFrames.join("\n");}
Object.__typeName='Object';
Object.__class=true;
Object.getType=function Object$getType(instance){
var e=Function._validateParams(arguments,[
{name:"instance"}]);
if(e)throw e;
var ctor=instance.constructor;
if(!ctor||(typeof(ctor)!=="function")||!ctor.__typeName||(ctor.__typeName==='Object')){
return Object;}
return ctor;}
Object.getTypeName=function Object$getTypeName(instance){
var e=Function._validateParams(arguments,[
{name:"instance"}]);
if(e)throw e;
return Object.getType(instance).getName();}
String.__typeName='String';
String.__class=true;
String.prototype.endsWith=function String$endsWith(suffix){
var e=Function._validateParams(arguments,[
{name:"suffix",type:String}]);
if(e)throw e;
return(this.substr(this.length - suffix.length)===suffix);}
String.prototype.startsWith=function String$startsWith(prefix){
var e=Function._validateParams(arguments,[
{name:"prefix",type:String}]);
if(e)throw e;
return(this.substr(0,prefix.length)===prefix);}
String.prototype.trim=function String$trim(){
if(arguments.length!==0)throw Error.parameterCount();
return this.replace(/^\s+|\s+$/g,'');}
String.prototype.trimEnd=function String$trimEnd(){
if(arguments.length!==0)throw Error.parameterCount();
return this.replace(/\s+$/,'');}
String.prototype.trimStart=function String$trimStart(){
if(arguments.length!==0)throw Error.parameterCount();
return this.replace(/^\s+/,'');}
String.format=function String$format(format,args){
var e=Function._validateParams(arguments,[
{name:"format",type:String},
{name:"args",mayBeNull:true,parameterArray:true}]);
if(e)throw e;
return String._toFormattedString(false,arguments);}
String.localeFormat=function String$localeFormat(format,args){
var e=Function._validateParams(arguments,[
{name:"format",type:String},
{name:"args",mayBeNull:true,parameterArray:true}]);
if(e)throw e;
return String._toFormattedString(true,arguments);}
String._toFormattedString=function String$_toFormattedString(useLocale,args){
var result='';
var format=args[0];
for(var i=0;;){
var open=format.indexOf('{',i);
var close=format.indexOf('}',i);
if((open<0)&&(close<0)){
result +=format.slice(i);
break;}
if((close>0)&&((close<open)||(open<0))){
if(format.charAt(close + 1)!=='}'){
throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);}
result +=format.slice(i,close + 1);
i=close + 2;
continue;}
result +=format.slice(i,open);
i=open + 1;
if(format.charAt(i)==='{'){
result +='{';
i++;
continue;}
if(close<0)throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);
var brace=format.substring(i,close);
var colonIndex=brace.indexOf(':');
var argNumber=parseInt((colonIndex<0)?brace:brace.substring(0,colonIndex),10)+ 1;
if(isNaN(argNumber))throw Error.argument('format',Sys.Res.stringFormatInvalid);
var argFormat=(colonIndex<0)?'':brace.substring(colonIndex + 1);
var arg=args[argNumber];
if(typeof(arg)==="undefined"||arg===null){
arg='';}
if(arg.toFormattedString){
result +=arg.toFormattedString(argFormat);}
else if(useLocale&&arg.localeFormat){
result +=arg.localeFormat(argFormat);}
else if(arg.format){
result +=arg.format(argFormat);}
else
result +=arg.toString();
i=close + 1;}
return result;}
Boolean.__typeName='Boolean';
Boolean.__class=true;
Boolean.parse=function Boolean$parse(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
var v=value.trim().toLowerCase();
if(v==='false')return false;
if(v==='true')return true;
throw Error.argumentOutOfRange('value',value,Sys.Res.boolTrueOrFalse);}
Date.__typeName='Date';
Date.__class=true;
Date._appendPreOrPostMatch=function Date$_appendPreOrPostMatch(preMatch,strBuilder){
var quoteCount=0;
var escaped=false;
for(var i=0,il=preMatch.length;i<il;i++){
var c=preMatch.charAt(i);
switch(c){
case'\'':
if(escaped)strBuilder.append("'");
else quoteCount++;
escaped=false;
break;
case'\\':
if(escaped)strBuilder.append("\\");
escaped=!escaped;
break;
default:
strBuilder.append(c);
escaped=false;
break;}}
return quoteCount;}
Date._expandFormat=function Date$_expandFormat(dtf,format){
if(!format){
format="F";}
if(format.length===1){
switch(format){
case"d":
return dtf.ShortDatePattern;
case"D":
return dtf.LongDatePattern;
case"t":
return dtf.ShortTimePattern;
case"T":
return dtf.LongTimePattern;
case"F":
return dtf.FullDateTimePattern;
case"M":case"m":
return dtf.MonthDayPattern;
case"s":
return dtf.SortableDateTimePattern;
case"Y":case"y":
return dtf.YearMonthPattern;
default:
throw Error.format(Sys.Res.formatInvalidString);}}
return format;}
Date._expandYear=function Date$_expandYear(dtf,year){
if(year<100){
var curr=new Date().getFullYear();
year +=curr -(curr%100);
if(year>dtf.Calendar.TwoDigitYearMax){
return year - 100;}}
return year;}
Date._getParseRegExp=function Date$_getParseRegExp(dtf,format){
if(!dtf._parseRegExp){
dtf._parseRegExp={};}
else if(dtf._parseRegExp[format]){
return dtf._parseRegExp[format];}
var expFormat=Date._expandFormat(dtf,format);
expFormat=expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");
var regexp=new Sys.StringBuilder("^");
var groups=[];
var index=0;
var quoteCount=0;
var tokenRegExp=Date._getTokenRegExp();
var match;
while((match=tokenRegExp.exec(expFormat))!==null){
var preMatch=expFormat.slice(index,match.index);
index=tokenRegExp.lastIndex;
quoteCount +=Date._appendPreOrPostMatch(preMatch,regexp);
if((quoteCount%2)===1){
regexp.append(match[0]);
continue;}
switch(match[0]){
case'dddd':case'ddd':
case'MMMM':case'MMM':
regexp.append("(\\D+)");
break;
case'tt':case't':
regexp.append("(\\D*)");
break;
case'yyyy':
regexp.append("(\\d{4})");
break;
case'fff':
regexp.append("(\\d{3})");
break;
case'ff':
regexp.append("(\\d{2})");
break;
case'f':
regexp.append("(\\d)");
break;
case'dd':case'd':
case'MM':case'M':
case'yy':case'y':
case'HH':case'H':
case'hh':case'h':
case'mm':case'm':
case'ss':case's':
regexp.append("(\\d\\d?)");
break;
case'zzz':
regexp.append("([+-]?\\d\\d?:\\d{2})");
break;
case'zz':case'z':
regexp.append("([+-]?\\d\\d?)");
break;}
Array.add(groups,match[0]);}
Date._appendPreOrPostMatch(expFormat.slice(index),regexp);
regexp.append("$");
var regexpStr=regexp.toString().replace(/\s+/g,"\\s+");
var parseRegExp={'regExp':regexpStr,'groups':groups};
dtf._parseRegExp[format]=parseRegExp;
return parseRegExp;}
Date._getTokenRegExp=function Date$_getTokenRegExp(){
return/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;}
Date.parseLocale=function Date$parseLocale(value,formats){
var e=Function._validateParams(arguments,[
{name:"value",type:String},
{name:"formats",mayBeNull:true,optional:true,parameterArray:true}]);
if(e)throw e;
return Date._parse(value,Sys.CultureInfo.CurrentCulture,arguments);}
Date.parseInvariant=function Date$parseInvariant(value,formats){
var e=Function._validateParams(arguments,[
{name:"value",type:String},
{name:"formats",mayBeNull:true,optional:true,parameterArray:true}]);
if(e)throw e;
return Date._parse(value,Sys.CultureInfo.InvariantCulture,arguments);}
Date._parse=function Date$_parse(value,cultureInfo,args){
var custom=false;
for(var i=1,il=args.length;i<il;i++){
var format=args[i];
if(format){
custom=true;
var date=Date._parseExact(value,format,cultureInfo);
if(date)return date;}}
if(!custom){
var formats=cultureInfo._getDateTimeFormats();
for(var i=0,il=formats.length;i<il;i++){
var date=Date._parseExact(value,formats[i],cultureInfo);
if(date)return date;}}
return null;}
Date._parseExact=function Date$_parseExact(value,format,cultureInfo){
value=value.trim();
var dtf=cultureInfo.dateTimeFormat;
var parseInfo=Date._getParseRegExp(dtf,format);
var match=new RegExp(parseInfo.regExp).exec(value);
if(match===null)return null;
var groups=parseInfo.groups;
var year=null,month=null,date=null,weekDay=null;
var hour=0,min=0,sec=0,msec=0,tzMinOffset=null;
var pmHour=false;
for(var j=0,jl=groups.length;j<jl;j++){
var matchGroup=match[j+1];
if(matchGroup){
switch(groups[j]){
case'dd':case'd':
date=parseInt(matchGroup,10);
if((date<1)||(date>31))return null;
break;
case'MMMM':
month=cultureInfo._getMonthIndex(matchGroup);
if((month<0)||(month>11))return null;
break;
case'MMM':
month=cultureInfo._getAbbrMonthIndex(matchGroup);
if((month<0)||(month>11))return null;
break;
case'M':case'MM':
var month=parseInt(matchGroup,10)- 1;
if((month<0)||(month>11))return null;
break;
case'y':case'yy':
year=Date._expandYear(dtf,parseInt(matchGroup,10));
if((year<0)||(year>9999))return null;
break;
case'yyyy':
year=parseInt(matchGroup,10);
if((year<0)||(year>9999))return null;
break;
case'h':case'hh':
hour=parseInt(matchGroup,10);
if(hour===12)hour=0;
if((hour<0)||(hour>11))return null;
break;
case'H':case'HH':
hour=parseInt(matchGroup,10);
if((hour<0)||(hour>23))return null;
break;
case'm':case'mm':
min=parseInt(matchGroup,10);
if((min<0)||(min>59))return null;
break;
case's':case'ss':
sec=parseInt(matchGroup,10);
if((sec<0)||(sec>59))return null;
break;
case'tt':case't':
var upperToken=matchGroup.toUpperCase();
pmHour=(upperToken===dtf.PMDesignator.toUpperCase());
if(!pmHour&&(upperToken!==dtf.AMDesignator.toUpperCase()))return null;
break;
case'f':
msec=parseInt(matchGroup,10)*100;
if((msec<0)||(msec>999))return null;
break;
case'ff':
msec=parseInt(matchGroup,10)*10;
if((msec<0)||(msec>999))return null;
break;
case'fff':
msec=parseInt(matchGroup,10);
if((msec<0)||(msec>999))return null;
break;
case'dddd':
weekDay=cultureInfo._getDayIndex(matchGroup);
if((weekDay<0)||(weekDay>6))return null;
break;
case'ddd':
weekDay=cultureInfo._getAbbrDayIndex(matchGroup);
if((weekDay<0)||(weekDay>6))return null;
break;
case'zzz':
var offsets=matchGroup.split(/:/);
if(offsets.length!==2)return null;
var hourOffset=parseInt(offsets[0],10);
if((hourOffset<-12)||(hourOffset>13))return null;
var minOffset=parseInt(offsets[1],10);
if((minOffset<0)||(minOffset>59))return null;
tzMinOffset=(hourOffset*60)+(matchGroup.startsWith('-')?-minOffset:minOffset);
break;
case'z':case'zz':
var hourOffset=parseInt(matchGroup,10);
if((hourOffset<-12)||(hourOffset>13))return null;
tzMinOffset=hourOffset*60;
break;}}}
var result=new Date();
if(year===null){
year=result.getFullYear();}
if(month===null){
month=result.getMonth();}
if(date===null){
date=result.getDate();}
result.setFullYear(year,month,date);
if(result.getDate()!==date)return null;
if((weekDay!==null)&&(result.getDay()!==weekDay)){
return null;}
if(pmHour&&(hour<12)){
hour +=12;}
result.setHours(hour,min,sec,msec);
if(tzMinOffset!==null){
var adjustedMin=result.getMinutes()-(tzMinOffset + result.getTimezoneOffset());
result.setHours(result.getHours()+ parseInt(adjustedMin/60,10),adjustedMin%60);}
return result;}
Date.prototype.format=function Date$format(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Date.prototype.localeFormat=function Date$localeFormat(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Date.prototype._toFormattedString=function Date$_toFormattedString(format,cultureInfo){
if(!format||(format.length===0)||(format==='i')){
if(cultureInfo&&(cultureInfo.name.length>0)){
return this.toLocaleString();}
else{
return this.toString();}}
var dtf=cultureInfo.dateTimeFormat;
format=Date._expandFormat(dtf,format);
var ret=new Sys.StringBuilder();
var hour;
function addLeadingZero(num){
if(num<10){
return'0'+ num;}
return num.toString();}
function addLeadingZeros(num){
if(num<10){
return'00'+ num;}
if(num<100){
return'0'+ num;}
return num.toString();}
var quoteCount=0;
var tokenRegExp=Date._getTokenRegExp();
for(;;){
var index=tokenRegExp.lastIndex;
var ar=tokenRegExp.exec(format);
var preMatch=format.slice(index,ar?ar.index:format.length);
quoteCount +=Date._appendPreOrPostMatch(preMatch,ret);
if(!ar)break;
if((quoteCount%2)===1){
ret.append(ar[0]);
continue;}
switch(ar[0]){
case"dddd":
ret.append(dtf.DayNames[this.getDay()]);
break;
case"ddd":
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
break;
case"dd":
ret.append(addLeadingZero(this.getDate()));
break;
case"d":
ret.append(this.getDate());
break;
case"MMMM":
ret.append(dtf.MonthNames[this.getMonth()]);
break;
case"MMM":
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
break;
case"MM":
ret.append(addLeadingZero(this.getMonth()+ 1));
break;
case"M":
ret.append(this.getMonth()+ 1);
break;
case"yyyy":
ret.append(this.getFullYear());
break;
case"yy":
ret.append(addLeadingZero(this.getFullYear()%100));
break;
case"y":
ret.append(this.getFullYear()%100);
break;
case"hh":
hour=this.getHours()%12;
if(hour===0)hour=12;
ret.append(addLeadingZero(hour));
break;
case"h":
hour=this.getHours()%12;
if(hour===0)hour=12;
ret.append(hour);
break;
case"HH":
ret.append(addLeadingZero(this.getHours()));
break;
case"H":
ret.append(this.getHours());
break;
case"mm":
ret.append(addLeadingZero(this.getMinutes()));
break;
case"m":
ret.append(this.getMinutes());
break;
case"ss":
ret.append(addLeadingZero(this.getSeconds()));
break;
case"s":
ret.append(this.getSeconds());
break;
case"tt":
ret.append((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator);
break;
case"t":
ret.append(((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator).charAt(0));
break;
case"f":
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
break;
case"ff":
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0,2));
break;
case"fff":
ret.append(addLeadingZeros(this.getMilliseconds()));
break;
case"z":
hour=this.getTimezoneOffset()/60;
ret.append(((hour<=0)?'+':'-')+ Math.floor(Math.abs(hour)));
break;
case"zz":
hour=this.getTimezoneOffset()/60;
ret.append(((hour<=0)?'+':'-')+ addLeadingZero(Math.floor(Math.abs(hour))));
break;
case"zzz":
hour=this.getTimezoneOffset()/60;
ret.append(((hour<=0)?'+':'-')+ addLeadingZero(Math.floor(Math.abs(hour)))+
dtf.TimeSeparator + addLeadingZero(Math.abs(this.getTimezoneOffset()%60)));
break;}}
return ret.toString();}
Number.__typeName='Number';
Number.__class=true;
Number.parseLocale=function Number$parseLocale(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
return Number._parse(value,Sys.CultureInfo.CurrentCulture);}
Number.parseInvariant=function Number$parseInvariant(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
return Number._parse(value,Sys.CultureInfo.InvariantCulture);}
Number._parse=function Number$_parse(value,cultureInfo){
value=value.trim();
if(value.match(/^[+-]?infinity$/i)){
return parseFloat(value);}
if(value.match(/^0x[a-f0-9]+$/i)){
return parseInt(value);}
var numFormat=cultureInfo.numberFormat;
var signInfo=Number._parseNumberNegativePattern(value,numFormat,numFormat.NumberNegativePattern);
var sign=signInfo[0];
var num=signInfo[1];
if((sign==='')&&(numFormat.NumberNegativePattern!==1)){
signInfo=Number._parseNumberNegativePattern(value,numFormat,1);
sign=signInfo[0];
num=signInfo[1];}
if(sign==='')sign='+';
var exponent;
var intAndFraction;
var exponentPos=num.indexOf('e');
if(exponentPos<0)exponentPos=num.indexOf('E');
if(exponentPos<0){
intAndFraction=num;
exponent=null;}
else{
intAndFraction=num.substr(0,exponentPos);
exponent=num.substr(exponentPos + 1);}
var integer;
var fraction;
var decimalPos=intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
if(decimalPos<0){
integer=intAndFraction;
fraction=null;}
else{
integer=intAndFraction.substr(0,decimalPos);
fraction=intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length);}
integer=integer.split(numFormat.NumberGroupSeparator).join('');
var altNumGroupSeparator=numFormat.NumberGroupSeparator.replace(/\u00A0/g," ");
if(numFormat.NumberGroupSeparator!==altNumGroupSeparator){
integer=integer.split(altNumGroupSeparator).join('');}
var p=sign + integer;
if(fraction!==null){
p +='.'+ fraction;}
if(exponent!==null){
var expSignInfo=Number._parseNumberNegativePattern(exponent,numFormat,1);
if(expSignInfo[0]===''){
expSignInfo[0]='+';}
p +='e'+ expSignInfo[0]+ expSignInfo[1];}
if(p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)){
return parseFloat(p);}
return Number.NaN;}
Number._parseNumberNegativePattern=function Number$_parseNumberNegativePattern(value,numFormat,numberNegativePattern){
var neg=numFormat.NegativeSign;
var pos=numFormat.PositiveSign;
switch(numberNegativePattern){
case 4:
neg=' '+ neg;
pos=' '+ pos;
case 3:
if(value.endsWith(neg)){
return['-',value.substr(0,value.length - neg.length)];}
else if(value.endsWith(pos)){
return['+',value.substr(0,value.length - pos.length)];}
break;
case 2:
neg +=' ';
pos +=' ';
case 1:
if(value.startsWith(neg)){
return['-',value.substr(neg.length)];}
else if(value.startsWith(pos)){
return['+',value.substr(pos.length)];}
break;
case 0:
if(value.startsWith('(')&&value.endsWith(')')){
return['-',value.substr(1,value.length - 2)];}
break;}
return['',value];}
Number.prototype.format=function Number$format(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Number.prototype.localeFormat=function Number$localeFormat(format){
var e=Function._validateParams(arguments,[
{name:"format",type:String}]);
if(e)throw e;
return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Number.prototype._toFormattedString=function Number$_toFormattedString(format,cultureInfo){
if(!format||(format.length===0)||(format==='i')){
if(cultureInfo&&(cultureInfo.name.length>0)){
return this.toLocaleString();}
else{
return this.toString();}}
var _percentPositivePattern=["n %","n%","%n"];
var _percentNegativePattern=["-n %","-n%","-%n"];
var _numberNegativePattern=["(n)","-n","- n","n-","n -"];
var _currencyPositivePattern=["$n","n$","$ n","n $"];
var _currencyNegativePattern=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];
function zeroPad(str,count,left){
for(var l=str.length;l<count;l++){
str=(left?('0'+ str):(str +'0'));}
return str;}
function expandNumber(number,precision,groupSizes,sep,decimalChar){
var curSize=groupSizes[0];
var curGroupIndex=1;
var factor=Math.pow(10,precision);
var rounded=(Math.round(number*factor)/factor);
if(!isFinite(rounded)){
rounded=number;}
number=rounded;
var numberString=number.toString();
var right="";
var exponent;
var split=numberString.split(/e/i);
numberString=split[0];
exponent=(split.length>1?parseInt(split[1]):0);
split=numberString.split('.');
numberString=split[0];
right=split.length>1?split[1]:"";
var l;
if(exponent>0){
right=zeroPad(right,exponent,false);
numberString +=right.slice(0,exponent);
right=right.substr(exponent);}
else if(exponent<0){
exponent=-exponent;
numberString=zeroPad(numberString,exponent+1,true);
right=numberString.slice(-exponent,numberString.length)+ right;
numberString=numberString.slice(0,-exponent);}
if(precision>0){
if(right.length>precision){
right=right.slice(0,precision);}
else{
right=zeroPad(right,precision,false);}
right=decimalChar + right;}
else{
right="";}
var stringIndex=numberString.length-1;
var ret="";
while(stringIndex>=0){
if(curSize===0||curSize>stringIndex){
if(ret.length>0)
return numberString.slice(0,stringIndex + 1)+ sep + ret + right;
else
return numberString.slice(0,stringIndex + 1)+ right;}
if(ret.length>0)
ret=numberString.slice(stringIndex - curSize + 1,stringIndex+1)+ sep + ret;
else
ret=numberString.slice(stringIndex - curSize + 1,stringIndex+1);
stringIndex -=curSize;
if(curGroupIndex<groupSizes.length){
curSize=groupSizes[curGroupIndex];
curGroupIndex++;}}
return numberString.slice(0,stringIndex + 1)+ sep + ret + right;}
var nf=cultureInfo.numberFormat;
var number=Math.abs(this);
if(!format)
format="D";
var precision=-1;
if(format.length>1)precision=parseInt(format.slice(1),10);
var pattern;
switch(format.charAt(0)){
case"d":
case"D":
pattern='n';
if(precision!==-1){
number=zeroPad(""+number,precision,true);}
if(this<0)number=-number;
break;
case"c":
case"C":
if(this<0)pattern=_currencyNegativePattern[nf.CurrencyNegativePattern];
else pattern=_currencyPositivePattern[nf.CurrencyPositivePattern];
if(precision===-1)precision=nf.CurrencyDecimalDigits;
number=expandNumber(Math.abs(this),precision,nf.CurrencyGroupSizes,nf.CurrencyGroupSeparator,nf.CurrencyDecimalSeparator);
break;
case"n":
case"N":
if(this<0)pattern=_numberNegativePattern[nf.NumberNegativePattern];
else pattern='n';
if(precision===-1)precision=nf.NumberDecimalDigits;
number=expandNumber(Math.abs(this),precision,nf.NumberGroupSizes,nf.NumberGroupSeparator,nf.NumberDecimalSeparator);
break;
case"p":
case"P":
if(this<0)pattern=_percentNegativePattern[nf.PercentNegativePattern];
else pattern=_percentPositivePattern[nf.PercentPositivePattern];
if(precision===-1)precision=nf.PercentDecimalDigits;
number=expandNumber(Math.abs(this)*100,precision,nf.PercentGroupSizes,nf.PercentGroupSeparator,nf.PercentDecimalSeparator);
break;
default:
throw Error.format(Sys.Res.formatBadFormatSpecifier);}
var regex=/n|\$|-|%/g;
var ret="";
for(;;){
var index=regex.lastIndex;
var ar=regex.exec(pattern);
ret +=pattern.slice(index,ar?ar.index:pattern.length);
if(!ar)
break;
switch(ar[0]){
case"n":
ret +=number;
break;
case"$":
ret +=nf.CurrencySymbol;
break;
case"-":
ret +=nf.NegativeSign;
break;
case"%":
ret +=nf.PercentSymbol;
break;}}
return ret;}
RegExp.__typeName='RegExp';
RegExp.__class=true;
Array.__typeName='Array';
Array.__class=true;
Array.add=Array.enqueue=function Array$enqueue(array,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
array[array.length]=item;}
Array.addRange=function Array$addRange(array,items){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"items",type:Array,elementMayBeNull:true}]);
if(e)throw e;
array.push.apply(array,items);}
Array.clear=function Array$clear(array){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true}]);
if(e)throw e;
array.length=0;}
Array.clone=function Array$clone(array){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true}]);
if(e)throw e;
if(array.length===1){
return[array[0]];}
else{
return Array.apply(null,array);}}
Array.contains=function Array$contains(array,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
return(Array.indexOf(array,item)>=0);}
Array.dequeue=function Array$dequeue(array){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true}]);
if(e)throw e;
return array.shift();}
Array.forEach=function Array$forEach(array,method,instance){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"method",type:Function},
{name:"instance",mayBeNull:true,optional:true}]);
if(e)throw e;
for(var i=0,l=array.length;i<l;i++){
var elt=array[i];
if(typeof(elt)!=='undefined')method.call(instance,elt,i,array);}}
Array.indexOf=function Array$indexOf(array,item,start){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true,optional:true},
{name:"start",mayBeNull:true,optional:true}]);
if(e)throw e;
if(typeof(item)==="undefined")return -1;
var length=array.length;
if(length!==0){
start=start - 0;
if(isNaN(start)){
start=0;}
else{
if(isFinite(start)){
start=start -(start%1);}
if(start<0){
start=Math.max(0,length + start);}}
for(var i=start;i<length;i++){
if((typeof(array[i])!=="undefined")&&(array[i]===item)){
return i;}}}
return -1;}
Array.insert=function Array$insert(array,index,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"index",mayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
array.splice(index,0,item);}
Array.parse=function Array$parse(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String,mayBeNull:true}]);
if(e)throw e;
if(!value)return[];
var v=eval(value);
if(!Array.isInstanceOfType(v))throw Error.argument('value',Sys.Res.arrayParseBadFormat);
return v;}
Array.remove=function Array$remove(array,item){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"item",mayBeNull:true}]);
if(e)throw e;
var index=Array.indexOf(array,item);
if(index>=0){
array.splice(index,1);}
return(index>=0);}
Array.removeAt=function Array$removeAt(array,index){
var e=Function._validateParams(arguments,[
{name:"array",type:Array,elementMayBeNull:true},
{name:"index",mayBeNull:true}]);
if(e)throw e;
array.splice(index,1);}
if(!window)this.window=this;
window.Type=Function;
Type.__fullyQualifiedIdentifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$","i");
Type.__identifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$","i");
Type.prototype.callBaseMethod=function Type$callBaseMethod(instance,name,baseArguments){
var e=Function._validateParams(arguments,[
{name:"instance"},
{name:"name",type:String},
{name:"baseArguments",type:Array,mayBeNull:true,optional:true,elementMayBeNull:true}]);
if(e)throw e;
var baseMethod=this.getBaseMethod(instance,name);
if(!baseMethod)throw Error.invalidOperation(String.format(Sys.Res.methodNotFound,name));
if(!baseArguments){
return baseMethod.apply(instance);}
else{
return baseMethod.apply(instance,baseArguments);}}
Type.prototype.getBaseMethod=function Type$getBaseMethod(instance,name){
var e=Function._validateParams(arguments,[
{name:"instance"},
{name:"name",type:String}]);
if(e)throw e;
if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);
var baseType=this.getBaseType();
if(baseType){
var baseMethod=baseType.prototype[name];
return(baseMethod instanceof Function)?baseMethod:null;}
return null;}
Type.prototype.getBaseType=function Type$getBaseType(){
if(arguments.length!==0)throw Error.parameterCount();
return(typeof(this.__baseType)==="undefined")?null:this.__baseType;}
Type.prototype.getInterfaces=function Type$getInterfaces(){
if(arguments.length!==0)throw Error.parameterCount();
var result=[];
var type=this;
while(type){
var interfaces=type.__interfaces;
if(interfaces){
for(var i=0,l=interfaces.length;i<l;i++){
var interfaceType=interfaces[i];
if(!Array.contains(result,interfaceType)){
result[result.length]=interfaceType;}}}
type=type.__baseType;}
return result;}
Type.prototype.getName=function Type$getName(){
if(arguments.length!==0)throw Error.parameterCount();
return(typeof(this.__typeName)==="undefined")?"":this.__typeName;}
Type.prototype.implementsInterface=function Type$implementsInterface(interfaceType){
var e=Function._validateParams(arguments,[
{name:"interfaceType",type:Type}]);
if(e)throw e;
this.resolveInheritance();
var interfaceName=interfaceType.getName();
var cache=this.__interfaceCache;
if(cache){
var cacheEntry=cache[interfaceName];
if(typeof(cacheEntry)!=='undefined')return cacheEntry;}
else{
cache=this.__interfaceCache={};}
var baseType=this;
while(baseType){
var interfaces=baseType.__interfaces;
if(interfaces){
if(Array.indexOf(interfaces,interfaceType)!==-1){
return cache[interfaceName]=true;}}
baseType=baseType.__baseType;}
return cache[interfaceName]=false;}
Type.prototype.inheritsFrom=function Type$inheritsFrom(parentType){
var e=Function._validateParams(arguments,[
{name:"parentType",type:Type}]);
if(e)throw e;
this.resolveInheritance();
var baseType=this.__baseType;
while(baseType){
if(baseType===parentType){
return true;}
baseType=baseType.__baseType;}
return false;}
Type.prototype.initializeBase=function Type$initializeBase(instance,baseArguments){
var e=Function._validateParams(arguments,[
{name:"instance"},
{name:"baseArguments",type:Array,mayBeNull:true,optional:true,elementMayBeNull:true}]);
if(e)throw e;
if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);
this.resolveInheritance();
if(this.__baseType){
if(!baseArguments){
this.__baseType.apply(instance);}
else{
this.__baseType.apply(instance,baseArguments);}}
return instance;}
Type.prototype.isImplementedBy=function Type$isImplementedBy(instance){
var e=Function._validateParams(arguments,[
{name:"instance",mayBeNull:true}]);
if(e)throw e;
if(typeof(instance)==="undefined"||instance===null)return false;
var instanceType=Object.getType(instance);
return!!(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.isInstanceOfType=function Type$isInstanceOfType(instance){
var e=Function._validateParams(arguments,[
{name:"instance",mayBeNull:true}]);
if(e)throw e;
if(typeof(instance)==="undefined"||instance===null)return false;
if(instance instanceof this)return true;
var instanceType=Object.getType(instance);
return!!(instanceType===this)||
(instanceType.inheritsFrom&&instanceType.inheritsFrom(this))||
(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.registerClass=function Type$registerClass(typeName,baseType,interfaceTypes){
var e=Function._validateParams(arguments,[
{name:"typeName",type:String},
{name:"baseType",type:Type,mayBeNull:true,optional:true},
{name:"interfaceTypes",type:Type,parameterArray:true}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);
var parsedName;
try{
parsedName=eval(typeName);}
catch(e){
throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);
if(Sys.__registeredTypes[typeName])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));
if((arguments.length>1)&&(typeof(baseType)==='undefined'))throw Error.argumentUndefined('baseType');
if(baseType&&!baseType.__class)throw Error.argument('baseType',Sys.Res.baseNotAClass);
this.prototype.constructor=this;
this.__typeName=typeName;
this.__class=true;
if(baseType){
this.__baseType=baseType;
this.__basePrototypePending=true;}
Sys.__upperCaseTypes[typeName.toUpperCase()]=this;
if(interfaceTypes){
this.__interfaces=[];
this.resolveInheritance();
for(var i=2,l=arguments.length;i<l;i++){
var interfaceType=arguments[i];
if(!interfaceType.__interface)throw Error.argument('interfaceTypes['+(i - 2)+']',Sys.Res.notAnInterface);
for(var methodName in interfaceType.prototype){
var method=interfaceType.prototype[methodName];
if(!this.prototype[methodName]){
this.prototype[methodName]=method;}}
this.__interfaces.push(interfaceType);}}
Sys.__registeredTypes[typeName]=true;
return this;}
Type.prototype.registerInterface=function Type$registerInterface(typeName){
var e=Function._validateParams(arguments,[
{name:"typeName",type:String}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);
var parsedName;
try{
parsedName=eval(typeName);}
catch(e){
throw Error.argument('typeName',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);
if(Sys.__registeredTypes[typeName])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,typeName));
Sys.__upperCaseTypes[typeName.toUpperCase()]=this;
this.prototype.constructor=this;
this.__typeName=typeName;
this.__interface=true;
Sys.__registeredTypes[typeName]=true;
return this;}
Type.prototype.resolveInheritance=function Type$resolveInheritance(){
if(arguments.length!==0)throw Error.parameterCount();
if(this.__basePrototypePending){
var baseType=this.__baseType;
baseType.resolveInheritance();
for(var memberName in baseType.prototype){
var memberValue=baseType.prototype[memberName];
if(!this.prototype[memberName]){
this.prototype[memberName]=memberValue;}}
delete this.__basePrototypePending;}}
Type.getRootNamespaces=function Type$getRootNamespaces(){
if(arguments.length!==0)throw Error.parameterCount();
return Array.clone(Sys.__rootNamespaces);}
Type.isClass=function Type$isClass(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__class;}
Type.isInterface=function Type$isInterface(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__interface;}
Type.isNamespace=function Type$isNamespace(object){
var e=Function._validateParams(arguments,[
{name:"object",mayBeNull:true}]);
if(e)throw e;
if((typeof(object)==='undefined')||(object===null))return false;
return!!object.__namespace;}
Type.parse=function Type$parse(typeName,ns){
var e=Function._validateParams(arguments,[
{name:"typeName",type:String,mayBeNull:true},
{name:"ns",mayBeNull:true,optional:true}]);
if(e)throw e;
var fn;
if(ns){
fn=Sys.__upperCaseTypes[ns.getName().toUpperCase()+'.'+ typeName.toUpperCase()];
return fn||null;}
if(!typeName)return null;
if(!Type.__htClasses){
Type.__htClasses={};}
fn=Type.__htClasses[typeName];
if(!fn){
fn=eval(typeName);
if(typeof(fn)!=='function')throw Error.argument('typeName',Sys.Res.notATypeName);
Type.__htClasses[typeName]=fn;}
return fn;}
Type.registerNamespace=function Type$registerNamespace(namespacePath){
var e=Function._validateParams(arguments,[
{name:"namespacePath",type:String}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath))throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);
var rootObject=window;
var namespaceParts=namespacePath.split('.');
for(var i=0;i<namespaceParts.length;i++){
var currentPart=namespaceParts[i];
var ns=rootObject[currentPart];
if(ns&&!ns.__namespace){
throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject,namespaceParts.splice(0,i + 1).join('.')));}
if(!ns){
ns=rootObject[currentPart]={
__namespace:true,
__typeName:namespaceParts.slice(0,i + 1).join('.')};
if(i===0){
Sys.__rootNamespaces[Sys.__rootNamespaces.length]=ns;}
var parsedName;
try{
parsedName=eval(ns.__typeName);}
catch(e){
parsedName=null;}
if(parsedName!==ns){
delete rootObject[currentPart];
throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);}
ns.getName=function ns$getName(){return this.__typeName;}}
rootObject=ns;}}
window.Sys={
__namespace:true,
__typeName:"Sys",
getName:function(){return"Sys";},
__upperCaseTypes:{}};
Sys.__rootNamespaces=[Sys];
Sys.__registeredTypes={};
Sys.IDisposable=function Sys$IDisposable(){
throw Error.notImplemented();}
function Sys$IDisposable$dispose(){
throw Error.notImplemented();}
Sys.IDisposable.prototype={
dispose:Sys$IDisposable$dispose}
Sys.IDisposable.registerInterface('Sys.IDisposable');
Sys.StringBuilder=function Sys$StringBuilder(initialText){
var e=Function._validateParams(arguments,[
{name:"initialText",mayBeNull:true,optional:true}]);
if(e)throw e;
this._parts=(typeof(initialText)!=='undefined'&&initialText!==null&&initialText!=='')?
[initialText.toString()]:[];
this._value={};
this._len=0;}
function Sys$StringBuilder$append(text){
var e=Function._validateParams(arguments,[
{name:"text",mayBeNull:true}]);
if(e)throw e;
this._parts[this._parts.length]=text;}
function Sys$StringBuilder$appendLine(text){
var e=Function._validateParams(arguments,[
{name:"text",mayBeNull:true,optional:true}]);
if(e)throw e;
this._parts[this._parts.length]=
((typeof(text)==='undefined')||(text===null)||(text===''))?'\r\n':text +'\r\n';}
function Sys$StringBuilder$clear(){
if(arguments.length!==0)throw Error.parameterCount();
this._parts=[];
this._value={};
this._len=0;}
function Sys$StringBuilder$isEmpty(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._parts.length===0)return true;
return this.toString()==='';}
function Sys$StringBuilder$toString(separator){
var e=Function._validateParams(arguments,[
{name:"separator",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
separator=separator||'';
var parts=this._parts;
if(this._len!==parts.length){
this._value={};
this._len=parts.length;}
var val=this._value;
if(typeof(val[separator])==='undefined'){
if(separator!==''){
for(var i=0;i<parts.length;){
if((typeof(parts[i])==='undefined')||(parts[i]==='')||(parts[i]===null)){
parts.splice(i,1);}
else{
i++;}}}
val[separator]=this._parts.join(separator);}
return val[separator];}
Sys.StringBuilder.prototype={
append:Sys$StringBuilder$append,
appendLine:Sys$StringBuilder$appendLine,
clear:Sys$StringBuilder$clear,
isEmpty:Sys$StringBuilder$isEmpty,
toString:Sys$StringBuilder$toString}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
if(!window.XMLHttpRequest){
window.XMLHttpRequest=function window$XMLHttpRequest(){
var progIDs=['Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP'];
for(var i=0,l=progIDs.length;i<l;i++){
try{
return new ActiveXObject(progIDs[i]);}
catch(ex){}}
return null;}}
Sys.Browser={};
Sys.Browser.InternetExplorer={};
Sys.Browser.Firefox={};
Sys.Browser.Safari={};
Sys.Browser.Opera={};
Sys.Browser.agent=null;
Sys.Browser.hasDebuggerStatement=false;
Sys.Browser.name=navigator.appName;
Sys.Browser.version=parseFloat(navigator.appVersion);
Sys.Browser.documentMode=0;
if(navigator.userAgent.indexOf(' MSIE ')>-1){
Sys.Browser.agent=Sys.Browser.InternetExplorer;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);
if(Sys.Browser.version>=8){
if(document.documentMode>=7){
Sys.Browser.documentMode=document.documentMode;}}
Sys.Browser.hasDebuggerStatement=true;}
else if(navigator.userAgent.indexOf(' Firefox/')>-1){
Sys.Browser.agent=Sys.Browser.Firefox;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
Sys.Browser.name='Firefox';
Sys.Browser.hasDebuggerStatement=true;}
else if(navigator.userAgent.indexOf(' AppleWebKit/')>-1){
Sys.Browser.agent=Sys.Browser.Safari;
Sys.Browser.version=parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]);
Sys.Browser.name='Safari';}
else if(navigator.userAgent.indexOf('Opera/')>-1){
Sys.Browser.agent=Sys.Browser.Opera;}
Type.registerNamespace('Sys.UI');
Sys._Debug=function Sys$_Debug(){
if(arguments.length!==0)throw Error.parameterCount();}
function Sys$_Debug$_appendConsole(text){
if((typeof(Debug)!=='undefined')&&Debug.writeln){
Debug.writeln(text);}
if(window.console&&window.console.log){
window.console.log(text);}
if(window.opera){
window.opera.postError(text);}
if(window.debugService){
window.debugService.trace(text);}}
function Sys$_Debug$_appendTrace(text){
var traceElement=document.getElementById('TraceConsole');
if(traceElement&&(traceElement.tagName.toUpperCase()==='TEXTAREA')){
traceElement.value +=text +'\n';}}
function Sys$_Debug$assert(condition,message,displayCaller){
var e=Function._validateParams(arguments,[
{name:"condition",type:Boolean},
{name:"message",type:String,mayBeNull:true,optional:true},
{name:"displayCaller",type:Boolean,optional:true}]);
if(e)throw e;
if(!condition){
message=(displayCaller&&this.assert.caller)?
String.format(Sys.Res.assertFailedCaller,message,this.assert.caller):
String.format(Sys.Res.assertFailed,message);
if(confirm(String.format(Sys.Res.breakIntoDebugger,message))){
this.fail(message);}}}
function Sys$_Debug$clearTrace(){
if(arguments.length!==0)throw Error.parameterCount();
var traceElement=document.getElementById('TraceConsole');
if(traceElement&&(traceElement.tagName.toUpperCase()==='TEXTAREA')){
traceElement.value='';}}
function Sys$_Debug$fail(message){
var e=Function._validateParams(arguments,[
{name:"message",type:String,mayBeNull:true}]);
if(e)throw e;
this._appendConsole(message);
if(Sys.Browser.hasDebuggerStatement){
eval('debugger');}}
function Sys$_Debug$trace(text){
var e=Function._validateParams(arguments,[
{name:"text"}]);
if(e)throw e;
this._appendConsole(text);
this._appendTrace(text);}
function Sys$_Debug$traceDump(object,name){
var e=Function._validateParams(arguments,[
{name:"object",mayBeNull:true},
{name:"name",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
var text=this._traceDump(object,name,true);}
function Sys$_Debug$_traceDump(object,name,recursive,indentationPadding,loopArray){
name=name?name:'traceDump';
indentationPadding=indentationPadding?indentationPadding:'';
if(object===null){
this.trace(indentationPadding + name +': null');
return;}
switch(typeof(object)){
case'undefined':
this.trace(indentationPadding + name +': Undefined');
break;
case'number':case'string':case'boolean':
this.trace(indentationPadding + name +': '+ object);
break;
default:
if(Date.isInstanceOfType(object)||RegExp.isInstanceOfType(object)){
this.trace(indentationPadding + name +': '+ object.toString());
break;}
if(!loopArray){
loopArray=[];}
else if(Array.contains(loopArray,object)){
this.trace(indentationPadding + name +': ...');
return;}
Array.add(loopArray,object);
if((object==window)||(object===document)||
(window.HTMLElement&&(object instanceof HTMLElement))||
(typeof(object.nodeName)==='string')){
var tag=object.tagName?object.tagName:'DomElement';
if(object.id){
tag +=' - '+ object.id;}
this.trace(indentationPadding + name +' {'+ tag +'}');}
else{
var typeName=Object.getTypeName(object);
this.trace(indentationPadding + name +(typeof(typeName)==='string'?' {'+ typeName +'}':''));
if((indentationPadding==='')||recursive){
indentationPadding +="    ";
var i,length,properties,p,v;
if(Array.isInstanceOfType(object)){
length=object.length;
for(i=0;i<length;i++){
this._traceDump(object[i],'['+ i +']',recursive,indentationPadding,loopArray);}}
else{
for(p in object){
v=object[p];
if(!Function.isInstanceOfType(v)){
this._traceDump(v,p,recursive,indentationPadding,loopArray);}}}}}
Array.remove(loopArray,object);}}
Sys._Debug.prototype={
_appendConsole:Sys$_Debug$_appendConsole,
_appendTrace:Sys$_Debug$_appendTrace,
assert:Sys$_Debug$assert,
clearTrace:Sys$_Debug$clearTrace,
fail:Sys$_Debug$fail,
trace:Sys$_Debug$trace,
traceDump:Sys$_Debug$traceDump,
_traceDump:Sys$_Debug$_traceDump}
Sys._Debug.registerClass('Sys._Debug');
Sys.Debug=new Sys._Debug();
Sys.Debug.isDebug=true;
function Sys$Enum$parse(value,ignoreCase){
var e=Function._validateParams(arguments,[
{name:"value",type:String},
{name:"ignoreCase",type:Boolean,optional:true}]);
if(e)throw e;
var values,parsed,val;
if(ignoreCase){
values=this.__lowerCaseValues;
if(!values){
this.__lowerCaseValues=values={};
var prototype=this.prototype;
for(var name in prototype){
values[name.toLowerCase()]=prototype[name];}}}
else{
values=this.prototype;}
if(!this.__flags){
val=(ignoreCase?value.toLowerCase():value);
parsed=values[val.trim()];
if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value,this.__typeName));
return parsed;}
else{
var parts=(ignoreCase?value.toLowerCase():value).split(',');
var v=0;
for(var i=parts.length - 1;i>=0;i--){
var part=parts[i].trim();
parsed=values[part];
if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value.split(',')[i].trim(),this.__typeName));
v|=parsed;}
return v;}}
function Sys$Enum$toString(value){
var e=Function._validateParams(arguments,[
{name:"value",mayBeNull:true,optional:true}]);
if(e)throw e;
if((typeof(value)==='undefined')||(value===null))return this.__string;
if((typeof(value)!='number')||((value%1)!==0))throw Error.argumentType('value',Object.getType(value),this);
var values=this.prototype;
var i;
if(!this.__flags||(value===0)){
for(i in values){
if(values[i]===value){
return i;}}}
else{
var sorted=this.__sortedValues;
if(!sorted){
sorted=[];
for(i in values){
sorted[sorted.length]={key:i,value:values[i]};}
sorted.sort(function(a,b){
return a.value - b.value;});
this.__sortedValues=sorted;}
var parts=[];
var v=value;
for(i=sorted.length - 1;i>=0;i--){
var kvp=sorted[i];
var vali=kvp.value;
if(vali===0)continue;
if((vali&value)===vali){
parts[parts.length]=kvp.key;
v -=vali;
if(v===0)break;}}
if(parts.length&&v===0)return parts.reverse().join(', ');}
throw Error.argumentOutOfRange('value',value,String.format(Sys.Res.enumInvalidValue,value,this.__typeName));}
Type.prototype.registerEnum=function Type$registerEnum(name,flags){
var e=Function._validateParams(arguments,[
{name:"name",type:String},
{name:"flags",type:Boolean,optional:true}]);
if(e)throw e;
if(!Type.__fullyQualifiedIdentifierRegExp.test(name))throw Error.argument('name',Sys.Res.notATypeName);
var parsedName;
try{
parsedName=eval(name);}
catch(e){
throw Error.argument('name',Sys.Res.argumentTypeName);}
if(parsedName!==this)throw Error.argument('name',Sys.Res.badTypeName);
if(Sys.__registeredTypes[name])throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice,name));
for(var i in this.prototype){
var val=this.prototype[i];
if(!Type.__identifierRegExp.test(i))throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName,i));
if(typeof(val)!=='number'||(val%1)!==0)throw Error.invalidOperation(Sys.Res.enumValueNotInteger);
if(typeof(this[i])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.enumReservedName,i));}
Sys.__upperCaseTypes[name.toUpperCase()]=this;
for(var i in this.prototype){
this[i]=this.prototype[i];}
this.__typeName=name;
this.parse=Sys$Enum$parse;
this.__string=this.toString();
this.toString=Sys$Enum$toString;
this.__flags=flags;
this.__enum=true;
Sys.__registeredTypes[name]=true;}
Type.isEnum=function Type$isEnum(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__enum;}
Type.isFlags=function Type$isFlags(type){
var e=Function._validateParams(arguments,[
{name:"type",mayBeNull:true}]);
if(e)throw e;
if((typeof(type)==='undefined')||(type===null))return false;
return!!type.__flags;}
Sys.EventHandlerList=function Sys$EventHandlerList(){
if(arguments.length!==0)throw Error.parameterCount();
this._list={};}
function Sys$EventHandlerList$addHandler(id,handler){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
Array.add(this._getEvent(id,true),handler);}
function Sys$EventHandlerList$removeHandler(id,handler){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
var evt=this._getEvent(id);
if(!evt)return;
Array.remove(evt,handler);}
function Sys$EventHandlerList$getHandler(id){
var e=Function._validateParams(arguments,[
{name:"id",type:String}]);
if(e)throw e;
var evt=this._getEvent(id);
if(!evt||(evt.length===0))return null;
evt=Array.clone(evt);
return function(source,args){
for(var i=0,l=evt.length;i<l;i++){
evt[i](source,args);}};}
function Sys$EventHandlerList$_getEvent(id,create){
if(!this._list[id]){
if(!create)return null;
this._list[id]=[];}
return this._list[id];}
Sys.EventHandlerList.prototype={
addHandler:Sys$EventHandlerList$addHandler,
removeHandler:Sys$EventHandlerList$removeHandler,
getHandler:Sys$EventHandlerList$getHandler,
_getEvent:Sys$EventHandlerList$_getEvent}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.EventArgs=function Sys$EventArgs(){
if(arguments.length!==0)throw Error.parameterCount();}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty=new Sys.EventArgs();
Sys.CancelEventArgs=function Sys$CancelEventArgs(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.CancelEventArgs.initializeBase(this);
this._cancel=false;}
function Sys$CancelEventArgs$get_cancel(){
if(arguments.length!==0)throw Error.parameterCount();
return this._cancel;}
function Sys$CancelEventArgs$set_cancel(value){
var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);
if(e)throw e;
this._cancel=value;}
Sys.CancelEventArgs.prototype={
get_cancel:Sys$CancelEventArgs$get_cancel,
set_cancel:Sys$CancelEventArgs$set_cancel}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs',Sys.EventArgs);
Sys.INotifyPropertyChange=function Sys$INotifyPropertyChange(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$INotifyPropertyChange$add_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$INotifyPropertyChange$remove_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
Sys.INotifyPropertyChange.prototype={
add_propertyChanged:Sys$INotifyPropertyChange$add_propertyChanged,
remove_propertyChanged:Sys$INotifyPropertyChange$remove_propertyChanged}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');
Sys.PropertyChangedEventArgs=function Sys$PropertyChangedEventArgs(propertyName){
var e=Function._validateParams(arguments,[
{name:"propertyName",type:String}]);
if(e)throw e;
Sys.PropertyChangedEventArgs.initializeBase(this);
this._propertyName=propertyName;}
function Sys$PropertyChangedEventArgs$get_propertyName(){
if(arguments.length!==0)throw Error.parameterCount();
return this._propertyName;}
Sys.PropertyChangedEventArgs.prototype={
get_propertyName:Sys$PropertyChangedEventArgs$get_propertyName}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs',Sys.EventArgs);
Sys.INotifyDisposing=function Sys$INotifyDisposing(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$INotifyDisposing$add_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$INotifyDisposing$remove_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
throw Error.notImplemented();}
Sys.INotifyDisposing.prototype={
add_disposing:Sys$INotifyDisposing$add_disposing,
remove_disposing:Sys$INotifyDisposing$remove_disposing}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
Sys.Component=function Sys$Component(){
if(arguments.length!==0)throw Error.parameterCount();
if(Sys.Application)Sys.Application.registerDisposableObject(this);}
function Sys$Component$get_events(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._events){
this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Component$get_id(){
if(arguments.length!==0)throw Error.parameterCount();
return this._id;}
function Sys$Component$set_id(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
if(this._idSet)throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
this._idSet=true;
var oldId=this.get_id();
if(oldId&&Sys.Application.findComponent(oldId))throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
this._id=value;}
function Sys$Component$get_isInitialized(){
if(arguments.length!==0)throw Error.parameterCount();
return this._initialized;}
function Sys$Component$get_isUpdating(){
if(arguments.length!==0)throw Error.parameterCount();
return this._updating;}
function Sys$Component$add_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("disposing",handler);}
function Sys$Component$remove_disposing(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("disposing",handler);}
function Sys$Component$add_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("propertyChanged",handler);}
function Sys$Component$remove_propertyChanged(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("propertyChanged",handler);}
function Sys$Component$beginUpdate(){
this._updating=true;}
function Sys$Component$dispose(){
if(this._events){
var handler=this._events.getHandler("disposing");
if(handler){
handler(this,Sys.EventArgs.Empty);}}
delete this._events;
Sys.Application.unregisterDisposableObject(this);
Sys.Application.removeComponent(this);}
function Sys$Component$endUpdate(){
this._updating=false;
if(!this._initialized)this.initialize();
this.updated();}
function Sys$Component$initialize(){
this._initialized=true;}
function Sys$Component$raisePropertyChanged(propertyName){
var e=Function._validateParams(arguments,[
{name:"propertyName",type:String}]);
if(e)throw e;
if(!this._events)return;
var handler=this._events.getHandler("propertyChanged");
if(handler){
handler(this,new Sys.PropertyChangedEventArgs(propertyName));}}
function Sys$Component$updated(){}
Sys.Component.prototype={
_id:null,
_idSet:false,
_initialized:false,
_updating:false,
get_events:Sys$Component$get_events,
get_id:Sys$Component$get_id,
set_id:Sys$Component$set_id,
get_isInitialized:Sys$Component$get_isInitialized,
get_isUpdating:Sys$Component$get_isUpdating,
add_disposing:Sys$Component$add_disposing,
remove_disposing:Sys$Component$remove_disposing,
add_propertyChanged:Sys$Component$add_propertyChanged,
remove_propertyChanged:Sys$Component$remove_propertyChanged,
beginUpdate:Sys$Component$beginUpdate,
dispose:Sys$Component$dispose,
endUpdate:Sys$Component$endUpdate,
initialize:Sys$Component$initialize,
raisePropertyChanged:Sys$Component$raisePropertyChanged,
updated:Sys$Component$updated}
Sys.Component.registerClass('Sys.Component',null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);
function Sys$Component$_setProperties(target,properties){
var e=Function._validateParams(arguments,[
{name:"target"},
{name:"properties"}]);
if(e)throw e;
var current;
var targetType=Object.getType(target);
var isObject=(targetType===Object)||(targetType===Sys.UI.DomElement);
var isComponent=Sys.Component.isInstanceOfType(target)&&!target.get_isUpdating();
if(isComponent)target.beginUpdate();
for(var name in properties){
var val=properties[name];
var getter=isObject?null:target["get_"+ name];
if(isObject||typeof(getter)!=='function'){
var targetVal=target[name];
if(!isObject&&typeof(targetVal)==='undefined')throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined,name));
if(!val||(typeof(val)!=='object')||(isObject&&!targetVal)){
target[name]=val;}
else{
Sys$Component$_setProperties(targetVal,val);}}
else{
var setter=target["set_"+ name];
if(typeof(setter)==='function'){
setter.apply(target,[val]);}
else if(val instanceof Array){
current=getter.apply(target);
if(!(current instanceof Array))throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray,name));
for(var i=0,j=current.length,l=val.length;i<l;i++,j++){
current[j]=val[i];}}
else if((typeof(val)==='object')&&(Object.getType(val)===Object)){
current=getter.apply(target);
if((typeof(current)==='undefined')||(current===null))throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined,name));
Sys$Component$_setProperties(current,val);}
else{
throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));}}}
if(isComponent)target.endUpdate();}
function Sys$Component$_setReferences(component,references){
for(var name in references){
var setter=component["set_"+ name];
var reference=$find(references[name]);
if(typeof(setter)!=='function')throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));
if(!reference)throw Error.invalidOperation(String.format(Sys.Res.referenceNotFound,references[name]));
setter.apply(component,[reference]);}}
var $create=Sys.Component.create=function Sys$Component$create(type,properties,events,references,element){
var e=Function._validateParams(arguments,[
{name:"type",type:Type},
{name:"properties",mayBeNull:true,optional:true},
{name:"events",mayBeNull:true,optional:true},
{name:"references",mayBeNull:true,optional:true},
{name:"element",mayBeNull:true,domElement:true,optional:true}]);
if(e)throw e;
if(!type.inheritsFrom(Sys.Component)){
throw Error.argument('type',String.format(Sys.Res.createNotComponent,type.getName()));}
if(type.inheritsFrom(Sys.UI.Behavior)||type.inheritsFrom(Sys.UI.Control)){
if(!element)throw Error.argument('element',Sys.Res.createNoDom);}
else if(element)throw Error.argument('element',Sys.Res.createComponentOnDom);
var component=(element?new type(element):new type());
var app=Sys.Application;
var creatingComponents=app.get_isCreatingComponents();
component.beginUpdate();
if(properties){
Sys$Component$_setProperties(component,properties);}
if(events){
for(var name in events){
if(!(component["add_"+ name]instanceof Function))throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent,name));
if(!(events[name]instanceof Function))throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
component["add_"+ name](events[name]);}}
if(component.get_id()){
app.addComponent(component);}
if(creatingComponents){
app._createdComponents[app._createdComponents.length]=component;
if(references){
app._addComponentToSecondPass(component,references);}
else{
component.endUpdate();}}
else{
if(references){
Sys$Component$_setReferences(component,references);}
component.endUpdate();}
return component;}
Sys.UI.MouseButton=function Sys$UI$MouseButton(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.MouseButton.prototype={
leftButton:0,
middleButton:1,
rightButton:2}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
Sys.UI.Key=function Sys$UI$Key(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.Key.prototype={
backspace:8,
tab:9,
enter:13,
esc:27,
space:32,
pageUp:33,
pageDown:34,
end:35,
home:36,
left:37,
up:38,
right:39,
down:40,
del:127}
Sys.UI.Key.registerEnum("Sys.UI.Key");
Sys.UI.Point=function Sys$UI$Point(x,y){
var e=Function._validateParams(arguments,[
{name:"x",type:Number,integer:true},
{name:"y",type:Number,integer:true}]);
if(e)throw e;
this.x=x;
this.y=y;}
Sys.UI.Point.registerClass('Sys.UI.Point');
Sys.UI.Bounds=function Sys$UI$Bounds(x,y,width,height){
var e=Function._validateParams(arguments,[
{name:"x",type:Number,integer:true},
{name:"y",type:Number,integer:true},
{name:"height",type:Number,integer:true},
{name:"width",type:Number,integer:true}]);
if(e)throw e;
this.x=x;
this.y=y;
this.height=height;
this.width=width;}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
Sys.UI.DomEvent=function Sys$UI$DomEvent(eventObject){
var e=Function._validateParams(arguments,[
{name:"eventObject"}]);
if(e)throw e;
var e=eventObject;
var etype=this.type=e.type.toLowerCase();
this.rawEvent=e;
this.altKey=e.altKey;
if(typeof(e.button)!=='undefined'){
this.button=(typeof(e.which)!=='undefined')?e.button:
(e.button===4)?Sys.UI.MouseButton.middleButton:
(e.button===2)?Sys.UI.MouseButton.rightButton:
Sys.UI.MouseButton.leftButton;}
if(etype==='keypress'){
this.charCode=e.charCode||e.keyCode;}
else if(e.keyCode&&(e.keyCode===46)){
this.keyCode=127;}
else{
this.keyCode=e.keyCode;}
this.clientX=e.clientX;
this.clientY=e.clientY;
this.ctrlKey=e.ctrlKey;
this.target=e.target?e.target:e.srcElement;
if(!etype.startsWith('key')){
if((typeof(e.offsetX)!=='undefined')&&(typeof(e.offsetY)!=='undefined')){
this.offsetX=e.offsetX;
this.offsetY=e.offsetY;}
else if(this.target&&(this.target.nodeType!==3)&&(typeof(e.clientX)==='number')){
var loc=Sys.UI.DomElement.getLocation(this.target);
var w=Sys.UI.DomElement._getWindow(this.target);
this.offsetX=(w.pageXOffset||0)+ e.clientX - loc.x;
this.offsetY=(w.pageYOffset||0)+ e.clientY - loc.y;}}
this.screenX=e.screenX;
this.screenY=e.screenY;
this.shiftKey=e.shiftKey;}
function Sys$UI$DomEvent$preventDefault(){
if(arguments.length!==0)throw Error.parameterCount();
if(this.rawEvent.preventDefault){
this.rawEvent.preventDefault();}
else if(window.event){
this.rawEvent.returnValue=false;}}
function Sys$UI$DomEvent$stopPropagation(){
if(arguments.length!==0)throw Error.parameterCount();
if(this.rawEvent.stopPropagation){
this.rawEvent.stopPropagation();}
else if(window.event){
this.rawEvent.cancelBubble=true;}}
Sys.UI.DomEvent.prototype={
preventDefault:Sys$UI$DomEvent$preventDefault,
stopPropagation:Sys$UI$DomEvent$stopPropagation}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler=Sys.UI.DomEvent.addHandler=function Sys$UI$DomEvent$addHandler(element,eventName,handler){
var e=Function._validateParams(arguments,[
{name:"element"},
{name:"eventName",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
Sys.UI.DomEvent._ensureDomNode(element);
if(eventName==="error")throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
if(!element._events){
element._events={};}
var eventCache=element._events[eventName];
if(!eventCache){
element._events[eventName]=eventCache=[];}
var browserHandler;
if(element.addEventListener){
browserHandler=function(e){
return handler.call(element,new Sys.UI.DomEvent(e));}
element.addEventListener(eventName,browserHandler,false);}
else if(element.attachEvent){
browserHandler=function(){
var e={};
try{e=Sys.UI.DomElement._getWindow(element).event}catch(ex){}
return handler.call(element,new Sys.UI.DomEvent(e));}
element.attachEvent('on'+ eventName,browserHandler);}
eventCache[eventCache.length]={handler:handler,browserHandler:browserHandler};}
var $addHandlers=Sys.UI.DomEvent.addHandlers=function Sys$UI$DomEvent$addHandlers(element,events,handlerOwner){
var e=Function._validateParams(arguments,[
{name:"element"},
{name:"events",type:Object},
{name:"handlerOwner",optional:true}]);
if(e)throw e;
Sys.UI.DomEvent._ensureDomNode(element);
for(var name in events){
var handler=events[name];
if(typeof(handler)!=='function')throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
if(handlerOwner){
handler=Function.createDelegate(handlerOwner,handler);}
$addHandler(element,name,handler);}}
var $clearHandlers=Sys.UI.DomEvent.clearHandlers=function Sys$UI$DomEvent$clearHandlers(element){
var e=Function._validateParams(arguments,[
{name:"element"}]);
if(e)throw e;
Sys.UI.DomEvent._ensureDomNode(element);
if(element._events){
var cache=element._events;
for(var name in cache){
var handlers=cache[name];
for(var i=handlers.length - 1;i>=0;i--){
$removeHandler(element,name,handlers[i].handler);}}
element._events=null;}}
var $removeHandler=Sys.UI.DomEvent.removeHandler=function Sys$UI$DomEvent$removeHandler(element,eventName,handler){
var e=Function._validateParams(arguments,[
{name:"element"},
{name:"eventName",type:String},
{name:"handler",type:Function}]);
if(e)throw e;
Sys.UI.DomEvent._ensureDomNode(element);
var browserHandler=null;
if((typeof(element._events)!=='object')||(element._events==null))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
var cache=element._events[eventName];
if(!(cache instanceof Array))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
for(var i=0,l=cache.length;i<l;i++){
if(cache[i].handler===handler){
browserHandler=cache[i].browserHandler;
break;}}
if(typeof(browserHandler)!=='function')throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
if(element.removeEventListener){
element.removeEventListener(eventName,browserHandler,false);}
else if(element.detachEvent){
element.detachEvent('on'+ eventName,browserHandler);}
cache.splice(i,1);}
Sys.UI.DomEvent._ensureDomNode=function Sys$UI$DomEvent$_ensureDomNode(element){
if(element.tagName&&(element.tagName.toUpperCase()==="SCRIPT"))return;
var doc=element.ownerDocument||element.document||element;
if((typeof(element.document)!=='object')&&(element!=doc)&&(typeof(element.nodeType)!=='number')){
throw Error.argument("element",Sys.Res.argumentDomNode);}}
Sys.UI.DomElement=function Sys$UI$DomElement(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass=function Sys$UI$DomElement$addCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
if(!Sys.UI.DomElement.containsCssClass(element,className)){
if(element.className===''){
element.className=className;}
else{
element.className +=' '+ className;}}}
Sys.UI.DomElement.containsCssClass=function Sys$UI$DomElement$containsCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
return Array.contains(element.className.split(' '),className);}
Sys.UI.DomElement.getBounds=function Sys$UI$DomElement$getBounds(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
var offset=Sys.UI.DomElement.getLocation(element);
return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth||0,element.offsetHeight||0);}
var $get=Sys.UI.DomElement.getElementById=function Sys$UI$DomElement$getElementById(id,element){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"element",mayBeNull:true,domElement:true,optional:true}]);
if(e)throw e;
if(!element)return document.getElementById(id);
if(element.getElementById)return element.getElementById(id);
var nodeQueue=[];
var childNodes=element.childNodes;
for(var i=0;i<childNodes.length;i++){
var node=childNodes[i];
if(node.nodeType==1){
nodeQueue[nodeQueue.length]=node;}}
while(nodeQueue.length){
node=nodeQueue.shift();
if(node.id==id){
return node;}
childNodes=node.childNodes;
for(i=0;i<childNodes.length;i++){
node=childNodes[i];
if(node.nodeType==1){
nodeQueue[nodeQueue.length]=node;}}}
return null;}
switch(Sys.Browser.agent){
case Sys.Browser.InternetExplorer:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(element.self||element.nodeType===9)return new Sys.UI.Point(0,0);
var clientRect=element.getBoundingClientRect();
if(!clientRect){
return new Sys.UI.Point(0,0);}
var documentElement=element.ownerDocument.documentElement;
var offsetX=clientRect.left - 2 + documentElement.scrollLeft,
offsetY=clientRect.top - 2 + documentElement.scrollTop;
try{
var f=element.ownerDocument.parentWindow.frameElement||null;
if(f){
var offset=(f.frameBorder==="0"||f.frameBorder==="no")?2:0;
offsetX +=offset;
offsetY +=offset;}}
catch(ex){}
return new Sys.UI.Point(offsetX,offsetY);}
break;
case Sys.Browser.Safari:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);
var offsetX=0;
var offsetY=0;
var previous=null;
var previousStyle=null;
var currentStyle;
for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
var tagName=parent.tagName?parent.tagName.toUpperCase():null;
if((parent.offsetLeft||parent.offsetTop)&&
((tagName!=="BODY")||(!previousStyle||previousStyle.position!=="absolute"))){
offsetX +=parent.offsetLeft;
offsetY +=parent.offsetTop;}}
currentStyle=Sys.UI.DomElement._getCurrentStyle(element);
var elementPosition=currentStyle?currentStyle.position:null;
if(!elementPosition||(elementPosition!=="absolute")){
for(var parent=element.parentNode;parent;parent=parent.parentNode){
tagName=parent.tagName?parent.tagName.toUpperCase():null;
if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){
offsetX -=(parent.scrollLeft||0);
offsetY -=(parent.scrollTop||0);}
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
var parentPosition=currentStyle?currentStyle.position:null;
if(parentPosition&&(parentPosition==="absolute"))break;}}
return new Sys.UI.Point(offsetX,offsetY);}
break;
case Sys.Browser.Opera:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);
var offsetX=0;
var offsetY=0;
var previous=null;
for(var parent=element;parent;previous=parent,parent=parent.offsetParent){
var tagName=parent.tagName;
offsetX +=parent.offsetLeft||0;
offsetY +=parent.offsetTop||0;}
var elementPosition=element.style.position;
var elementPositioned=elementPosition&&(elementPosition!=="static");
for(var parent=element.parentNode;parent;parent=parent.parentNode){
tagName=parent.tagName?parent.tagName.toUpperCase():null;
if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)&&
((elementPositioned&&
((parent.style.overflow==="scroll")||(parent.style.overflow==="auto"))))){
offsetX -=(parent.scrollLeft||0);
offsetY -=(parent.scrollTop||0);}
var parentPosition=(parent&&parent.style)?parent.style.position:null;
elementPositioned=elementPositioned||(parentPosition&&(parentPosition!=="static"));}
return new Sys.UI.Point(offsetX,offsetY);}
break;
default:
Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);
var offsetX=0;
var offsetY=0;
var previous=null;
var previousStyle=null;
var currentStyle=null;
for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){
var tagName=parent.tagName?parent.tagName.toUpperCase():null;
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
if((parent.offsetLeft||parent.offsetTop)&&!((tagName==="BODY")&&
(!previousStyle||previousStyle.position!=="absolute"))){
offsetX +=parent.offsetLeft;
offsetY +=parent.offsetTop;}
if(previous!==null&&currentStyle){
if((tagName!=="TABLE")&&(tagName!=="TD")&&(tagName!=="HTML")){
offsetX +=parseInt(currentStyle.borderLeftWidth)||0;
offsetY +=parseInt(currentStyle.borderTopWidth)||0;}
if(tagName==="TABLE"&&
(currentStyle.position==="relative"||currentStyle.position==="absolute")){
offsetX +=parseInt(currentStyle.marginLeft)||0;
offsetY +=parseInt(currentStyle.marginTop)||0;}}}
currentStyle=Sys.UI.DomElement._getCurrentStyle(element);
var elementPosition=currentStyle?currentStyle.position:null;
if(!elementPosition||(elementPosition!=="absolute")){
for(var parent=element.parentNode;parent;parent=parent.parentNode){
tagName=parent.tagName?parent.tagName.toUpperCase():null;
if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){
offsetX -=(parent.scrollLeft||0);
offsetY -=(parent.scrollTop||0);
currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);
if(currentStyle){
offsetX +=parseInt(currentStyle.borderLeftWidth)||0;
offsetY +=parseInt(currentStyle.borderTopWidth)||0;}}}}
return new Sys.UI.Point(offsetX,offsetY);}
break;}
Sys.UI.DomElement.removeCssClass=function Sys$UI$DomElement$removeCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
var currentClassName=' '+ element.className +' ';
var index=currentClassName.indexOf(' '+ className +' ');
if(index>=0){
element.className=(currentClassName.substr(0,index)+' '+
currentClassName.substring(index + className.length + 1,currentClassName.length)).trim();}}
Sys.UI.DomElement.setLocation=function Sys$UI$DomElement$setLocation(element,x,y){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"x",type:Number,integer:true},
{name:"y",type:Number,integer:true}]);
if(e)throw e;
var style=element.style;
style.position='absolute';
style.left=x +"px";
style.top=y +"px";}
Sys.UI.DomElement.toggleCssClass=function Sys$UI$DomElement$toggleCssClass(element,className){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"className",type:String}]);
if(e)throw e;
if(Sys.UI.DomElement.containsCssClass(element,className)){
Sys.UI.DomElement.removeCssClass(element,className);}
else{
Sys.UI.DomElement.addCssClass(element,className);}}
Sys.UI.DomElement.getVisibilityMode=function Sys$UI$DomElement$getVisibilityMode(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
return(element._visibilityMode===Sys.UI.VisibilityMode.hide)?
Sys.UI.VisibilityMode.hide:
Sys.UI.VisibilityMode.collapse;}
Sys.UI.DomElement.setVisibilityMode=function Sys$UI$DomElement$setVisibilityMode(element,value){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"value",type:Sys.UI.VisibilityMode}]);
if(e)throw e;
Sys.UI.DomElement._ensureOldDisplayMode(element);
if(element._visibilityMode!==value){
element._visibilityMode=value;
if(Sys.UI.DomElement.getVisible(element)===false){
if(element._visibilityMode===Sys.UI.VisibilityMode.hide){
element.style.display=element._oldDisplayMode;}
else{
element.style.display='none';}}
element._visibilityMode=value;}}
Sys.UI.DomElement.getVisible=function Sys$UI$DomElement$getVisible(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
var style=element.currentStyle||Sys.UI.DomElement._getCurrentStyle(element);
if(!style)return true;
return(style.visibility!=='hidden')&&(style.display!=='none');}
Sys.UI.DomElement.setVisible=function Sys$UI$DomElement$setVisible(element,value){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"value",type:Boolean}]);
if(e)throw e;
if(value!==Sys.UI.DomElement.getVisible(element)){
Sys.UI.DomElement._ensureOldDisplayMode(element);
element.style.visibility=value?'visible':'hidden';
if(value||(element._visibilityMode===Sys.UI.VisibilityMode.hide)){
element.style.display=element._oldDisplayMode;}
else{
element.style.display='none';}}}
Sys.UI.DomElement._ensureOldDisplayMode=function Sys$UI$DomElement$_ensureOldDisplayMode(element){
if(!element._oldDisplayMode){
var style=element.currentStyle||Sys.UI.DomElement._getCurrentStyle(element);
element._oldDisplayMode=style?style.display:null;
if(!element._oldDisplayMode||element._oldDisplayMode==='none'){
switch(element.tagName.toUpperCase()){
case'DIV':case'P':case'ADDRESS':case'BLOCKQUOTE':case'BODY':case'COL':
case'COLGROUP':case'DD':case'DL':case'DT':case'FIELDSET':case'FORM':
case'H1':case'H2':case'H3':case'H4':case'H5':case'H6':case'HR':
case'IFRAME':case'LEGEND':case'OL':case'PRE':case'TABLE':case'TD':
case'TH':case'TR':case'UL':
element._oldDisplayMode='block';
break;
case'LI':
element._oldDisplayMode='list-item';
break;
default:
element._oldDisplayMode='inline';}}}}
Sys.UI.DomElement._getWindow=function Sys$UI$DomElement$_getWindow(element){
var doc=element.ownerDocument||element.document||element;
return doc.defaultView||doc.parentWindow;}
Sys.UI.DomElement._getCurrentStyle=function Sys$UI$DomElement$_getCurrentStyle(element){
if(element.nodeType===3)return null;
var w=Sys.UI.DomElement._getWindow(element);
if(element.documentElement)element=element.documentElement;
var computedStyle=(w&&(element!==w)&&w.getComputedStyle)?
w.getComputedStyle(element,null):
element.currentStyle||element.style;
if(!computedStyle&&(Sys.Browser.agent===Sys.Browser.Safari)&&element.style){
var oldDisplay=element.style.display;
var oldPosition=element.style.position;
element.style.position='absolute';
element.style.display='block';
var style=w.getComputedStyle(element,null);
element.style.display=oldDisplay;
element.style.position=oldPosition;
computedStyle={};
for(var n in style){
computedStyle[n]=style[n];}
computedStyle.display='none';}
return computedStyle;}
Sys.IContainer=function Sys$IContainer(){
throw Error.notImplemented();}
function Sys$IContainer$addComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$IContainer$removeComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$IContainer$findComponent(id){
var e=Function._validateParams(arguments,[
{name:"id",type:String}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$IContainer$getComponents(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.IContainer.prototype={
addComponent:Sys$IContainer$addComponent,
removeComponent:Sys$IContainer$removeComponent,
findComponent:Sys$IContainer$findComponent,
getComponents:Sys$IContainer$getComponents}
Sys.IContainer.registerInterface("Sys.IContainer");
Sys._ScriptLoader=function Sys$_ScriptLoader(){
this._scriptsToLoad=null;
this._sessions=[];
this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler);}
function Sys$_ScriptLoader$dispose(){
this._stopSession();
this._loading=false;
if(this._events){
delete this._events;}
this._sessions=null;
this._currentSession=null;
this._scriptLoadedDelegate=null;}
function Sys$_ScriptLoader$loadScripts(scriptTimeout,allScriptsLoadedCallback,scriptLoadFailedCallback,scriptLoadTimeoutCallback){
var e=Function._validateParams(arguments,[
{name:"scriptTimeout",type:Number,integer:true},
{name:"allScriptsLoadedCallback",type:Function,mayBeNull:true},
{name:"scriptLoadFailedCallback",type:Function,mayBeNull:true},
{name:"scriptLoadTimeoutCallback",type:Function,mayBeNull:true}]);
if(e)throw e;
var session={
allScriptsLoadedCallback:allScriptsLoadedCallback,
scriptLoadFailedCallback:scriptLoadFailedCallback,
scriptLoadTimeoutCallback:scriptLoadTimeoutCallback,
scriptsToLoad:this._scriptsToLoad,
scriptTimeout:scriptTimeout};
this._scriptsToLoad=null;
this._sessions[this._sessions.length]=session;
if(!this._loading){
this._nextSession();}}
function Sys$_ScriptLoader$notifyScriptLoaded(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._loading){
return;}
this._currentTask._notified++;
if(Sys.Browser.agent===Sys.Browser.Safari){
if(this._currentTask._notified===1){
window.setTimeout(Function.createDelegate(this,function(){
this._scriptLoadedHandler(this._currentTask.get_scriptElement(),true);}),0);}}}
function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes){
var e=Function._validateParams(arguments,[
{name:"scriptAttributes"}]);
if(e)throw e;
if(!this._scriptsToLoad){
this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,scriptAttributes);}
function Sys$_ScriptLoader$queueScriptBlock(scriptContent){
var e=Function._validateParams(arguments,[
{name:"scriptContent",type:String}]);
if(e)throw e;
if(!this._scriptsToLoad){
this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,{text:scriptContent});}
function Sys$_ScriptLoader$queueScriptReference(scriptUrl){
var e=Function._validateParams(arguments,[
{name:"scriptUrl",type:String}]);
if(e)throw e;
if(!this._scriptsToLoad){
this._scriptsToLoad=[];}
Array.add(this._scriptsToLoad,{src:scriptUrl});}
function Sys$_ScriptLoader$_createScriptElement(queuedScript){
var scriptElement=document.createElement('script');
scriptElement.type='text/javascript';
for(var attr in queuedScript){
scriptElement[attr]=queuedScript[attr];}
return scriptElement;}
function Sys$_ScriptLoader$_loadScriptsInternal(){
var session=this._currentSession;
if(session.scriptsToLoad&&session.scriptsToLoad.length>0){
var nextScript=Array.dequeue(session.scriptsToLoad);
var scriptElement=this._createScriptElement(nextScript);
if(scriptElement.text&&Sys.Browser.agent===Sys.Browser.Safari){
scriptElement.innerHTML=scriptElement.text;
delete scriptElement.text;}
if(typeof(nextScript.src)==="string"){
this._currentTask=new Sys._ScriptLoaderTask(scriptElement,this._scriptLoadedDelegate);
this._currentTask.execute();}
else{
var headElements=document.getElementsByTagName('head');
if(headElements.length===0){
throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);}
else{
headElements[0].appendChild(scriptElement);}
Sys._ScriptLoader._clearScript(scriptElement);
this._loadScriptsInternal();}}
else{
this._stopSession();
var callback=session.allScriptsLoadedCallback;
if(callback){
callback(this);}
this._nextSession();}}
function Sys$_ScriptLoader$_nextSession(){
if(this._sessions.length===0){
this._loading=false;
this._currentSession=null;
return;}
this._loading=true;
var session=Array.dequeue(this._sessions);
this._currentSession=session;
this._loadScriptsInternal();}
function Sys$_ScriptLoader$_raiseError(multipleCallbacks){
var callback=this._currentSession.scriptLoadFailedCallback;
var scriptElement=this._currentTask.get_scriptElement();
this._stopSession();
if(callback){
callback(this,scriptElement,multipleCallbacks);
this._nextSession();}
else{
this._loading=false;
throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src,multipleCallbacks);}}
function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement,loaded){
if(loaded&&this._currentTask._notified){
if(this._currentTask._notified>1){
this._raiseError(true);}
else{
Array.add(Sys._ScriptLoader._getLoadedScripts(),scriptElement.src);
this._currentTask.dispose();
this._currentTask=null;
this._loadScriptsInternal();}}
else{
this._raiseError(false);}}
function Sys$_ScriptLoader$_scriptLoadTimeoutHandler(){
var callback=this._currentSession.scriptLoadTimeoutCallback;
this._stopSession();
if(callback){
callback(this);}
this._nextSession();}
function Sys$_ScriptLoader$_stopSession(){
if(this._currentTask){
this._currentTask.dispose();
this._currentTask=null;}}
Sys._ScriptLoader.prototype={
dispose:Sys$_ScriptLoader$dispose,
loadScripts:Sys$_ScriptLoader$loadScripts,
notifyScriptLoaded:Sys$_ScriptLoader$notifyScriptLoaded,
queueCustomScriptTag:Sys$_ScriptLoader$queueCustomScriptTag,
queueScriptBlock:Sys$_ScriptLoader$queueScriptBlock,
queueScriptReference:Sys$_ScriptLoader$queueScriptReference,
_createScriptElement:Sys$_ScriptLoader$_createScriptElement,
_loadScriptsInternal:Sys$_ScriptLoader$_loadScriptsInternal,
_nextSession:Sys$_ScriptLoader$_nextSession,
_raiseError:Sys$_ScriptLoader$_raiseError,
_scriptLoadedHandler:Sys$_ScriptLoader$_scriptLoadedHandler,
_scriptLoadTimeoutHandler:Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
_stopSession:Sys$_ScriptLoader$_stopSession}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader',null,Sys.IDisposable);
Sys._ScriptLoader.getInstance=function Sys$_ScriptLoader$getInstance(){
var sl=Sys._ScriptLoader._activeInstance;
if(!sl){
sl=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader();}
return sl;}
Sys._ScriptLoader.isScriptLoaded=function Sys$_ScriptLoader$isScriptLoaded(scriptSrc){
var dummyScript=document.createElement('script');
dummyScript.src=scriptSrc;
return Array.contains(Sys._ScriptLoader._getLoadedScripts(),dummyScript.src);}
Sys._ScriptLoader.readLoadedScripts=function Sys$_ScriptLoader$readLoadedScripts(){
if(!Sys._ScriptLoader._referencedScripts){
var referencedScripts=Sys._ScriptLoader._referencedScripts=[];
var existingScripts=document.getElementsByTagName('script');
for(i=existingScripts.length - 1;i>=0;i--){
var scriptNode=existingScripts[i];
var scriptSrc=scriptNode.src;
if(scriptSrc.length){
if(!Array.contains(referencedScripts,scriptSrc)){
Array.add(referencedScripts,scriptSrc);}}}}}
Sys._ScriptLoader._clearScript=function Sys$_ScriptLoader$_clearScript(scriptElement){
if(!Sys.Debug.isDebug){
scriptElement.parentNode.removeChild(scriptElement);}}
Sys._ScriptLoader._errorScriptLoadFailed=function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl,multipleCallbacks){
var errorMessage;
if(multipleCallbacks){
errorMessage=Sys.Res.scriptLoadMultipleCallbacks;}
else{
errorMessage=Sys.Res.scriptLoadFailedDebug;}
var displayMessage="Sys.ScriptLoadFailedException: "+ String.format(errorMessage,scriptUrl);
var e=Error.create(displayMessage,{name:'Sys.ScriptLoadFailedException','scriptUrl':scriptUrl});
e.popStackFrame();
return e;}
Sys._ScriptLoader._getLoadedScripts=function Sys$_ScriptLoader$_getLoadedScripts(){
if(!Sys._ScriptLoader._referencedScripts){
Sys._ScriptLoader._referencedScripts=[];
Sys._ScriptLoader.readLoadedScripts();}
return Sys._ScriptLoader._referencedScripts;}
Sys._ScriptLoaderTask=function Sys$_ScriptLoaderTask(scriptElement,completedCallback){
var e=Function._validateParams(arguments,[
{name:"scriptElement",domElement:true},
{name:"completedCallback",type:Function}]);
if(e)throw e;
this._scriptElement=scriptElement;
this._completedCallback=completedCallback;
this._notified=0;}
function Sys$_ScriptLoaderTask$get_scriptElement(){
if(arguments.length!==0)throw Error.parameterCount();
return this._scriptElement;}
function Sys$_ScriptLoaderTask$dispose(){
if(this._disposed){
return;}
this._disposed=true;
this._removeScriptElementHandlers();
Sys._ScriptLoader._clearScript(this._scriptElement);
this._scriptElement=null;}
function Sys$_ScriptLoaderTask$execute(){
if(arguments.length!==0)throw Error.parameterCount();
this._addScriptElementHandlers();
var headElements=document.getElementsByTagName('head');
if(headElements.length===0){
throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);}
else{
headElements[0].appendChild(this._scriptElement);}}
function Sys$_ScriptLoaderTask$_addScriptElementHandlers(){
this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);
if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){
this._scriptElement.readyState='loaded';
$addHandler(this._scriptElement,'load',this._scriptLoadDelegate);}
else{
$addHandler(this._scriptElement,'readystatechange',this._scriptLoadDelegate);}
if(this._scriptElement.addEventListener){
this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);
this._scriptElement.addEventListener('error',this._scriptErrorDelegate,false);}}
function Sys$_ScriptLoaderTask$_removeScriptElementHandlers(){
if(this._scriptLoadDelegate){
var scriptElement=this.get_scriptElement();
if(Sys.Browser.agent!==Sys.Browser.InternetExplorer){
$removeHandler(scriptElement,'load',this._scriptLoadDelegate);}
else{
$removeHandler(scriptElement,'readystatechange',this._scriptLoadDelegate);}
if(this._scriptErrorDelegate){
this._scriptElement.removeEventListener('error',this._scriptErrorDelegate,false);
this._scriptErrorDelegate=null;}
this._scriptLoadDelegate=null;}}
function Sys$_ScriptLoaderTask$_scriptErrorHandler(){
if(this._disposed){
return;}
this._completedCallback(this.get_scriptElement(),false);}
function Sys$_ScriptLoaderTask$_scriptLoadHandler(){
if(this._disposed){
return;}
var scriptElement=this.get_scriptElement();
if((scriptElement.readyState!=='loaded')&&
(scriptElement.readyState!=='complete')){
return;}
var _this=this;
window.setTimeout(function(){
_this._completedCallback(scriptElement,true);},0);}
Sys._ScriptLoaderTask.prototype={
get_scriptElement:Sys$_ScriptLoaderTask$get_scriptElement,
dispose:Sys$_ScriptLoaderTask$dispose,
execute:Sys$_ScriptLoaderTask$execute,
_addScriptElementHandlers:Sys$_ScriptLoaderTask$_addScriptElementHandlers,
_removeScriptElementHandlers:Sys$_ScriptLoaderTask$_removeScriptElementHandlers,
_scriptErrorHandler:Sys$_ScriptLoaderTask$_scriptErrorHandler,
_scriptLoadHandler:Sys$_ScriptLoaderTask$_scriptLoadHandler}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);
Sys.ApplicationLoadEventArgs=function Sys$ApplicationLoadEventArgs(components,isPartialLoad){
var e=Function._validateParams(arguments,[
{name:"components",type:Array,elementType:Sys.Component},
{name:"isPartialLoad",type:Boolean}]);
if(e)throw e;
Sys.ApplicationLoadEventArgs.initializeBase(this);
this._components=components;
this._isPartialLoad=isPartialLoad;}
function Sys$ApplicationLoadEventArgs$get_components(){
if(arguments.length!==0)throw Error.parameterCount();
return this._components;}
function Sys$ApplicationLoadEventArgs$get_isPartialLoad(){
if(arguments.length!==0)throw Error.parameterCount();
return this._isPartialLoad;}
Sys.ApplicationLoadEventArgs.prototype={
get_components:Sys$ApplicationLoadEventArgs$get_components,
get_isPartialLoad:Sys$ApplicationLoadEventArgs$get_isPartialLoad}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs',Sys.EventArgs);
Sys.HistoryEventArgs=function Sys$HistoryEventArgs(state){
var e=Function._validateParams(arguments,[
{name:"state",type:Object}]);
if(e)throw e;
Sys.HistoryEventArgs.initializeBase(this);
this._state=state;}
function Sys$HistoryEventArgs$get_state(){
if(arguments.length!==0)throw Error.parameterCount();
return this._state;}
Sys.HistoryEventArgs.prototype={
get_state:Sys$HistoryEventArgs$get_state}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs',Sys.EventArgs);
Sys._Application=function Sys$_Application(){
if(arguments.length!==0)throw Error.parameterCount();
Sys._Application.initializeBase(this);
this._disposableObjects=[];
this._components={};
this._createdComponents=[];
this._secondPassComponents=[];
this._appLoadHandler=null;
this._beginRequestHandler=null;
this._clientId=null;
this._currentEntry='';
this._endRequestHandler=null;
this._history=null;
this._enableHistory=false;
this._historyEnabledInScriptManager=false;
this._historyFrame=null;
this._historyInitialized=false;
this._historyInitialLength=0;
this._historyLength=0;
this._historyPointIsNew=false;
this._ignoreTimer=false;
this._initialState=null;
this._state={};
this._timerCookie=0;
this._timerHandler=null;
this._uniqueId=null;
this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);
this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);
Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);
Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate);}
function Sys$_Application$get_isCreatingComponents(){
if(arguments.length!==0)throw Error.parameterCount();
return this._creatingComponents;}
function Sys$_Application$get_stateString(){
if(arguments.length!==0)throw Error.parameterCount();
var hash=window.location.hash;
if(this._isSafari2()){
var history=this._getHistory();
if(history){
hash=history[window.history.length - this._historyInitialLength];}}
if((hash.length>0)&&(hash.charAt(0)==='#')){
hash=hash.substring(1);}
if(Sys.Browser.agent===Sys.Browser.Firefox){
hash=this._serializeState(this._deserializeState(hash,true));}
return hash;}
function Sys$_Application$get_enableHistory(){
if(arguments.length!==0)throw Error.parameterCount();
return this._enableHistory;}
function Sys$_Application$set_enableHistory(value){
var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);
if(e)throw e;
if(this._initialized&&!this._initializing){
throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory);}
else if(this._historyEnabledInScriptManager&&!value){
throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);}
this._enableHistory=value;}
function Sys$_Application$add_init(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
if(this._initialized){
handler(this,Sys.EventArgs.Empty);}
else{
this.get_events().addHandler("init",handler);}}
function Sys$_Application$remove_init(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("init",handler);}
function Sys$_Application$add_load(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("load",handler);}
function Sys$_Application$remove_load(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("load",handler);}
function Sys$_Application$add_navigate(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("navigate",handler);}
function Sys$_Application$remove_navigate(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("navigate",handler);}
function Sys$_Application$add_unload(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().addHandler("unload",handler);}
function Sys$_Application$remove_unload(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this.get_events().removeHandler("unload",handler);}
function Sys$_Application$addComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
var id=component.get_id();
if(!id)throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
if(typeof(this._components[id])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent,id));
this._components[id]=component;}
function Sys$_Application$addHistoryPoint(state,title){
var e=Function._validateParams(arguments,[
{name:"state",type:Object},
{name:"title",type:String,mayBeNull:true,optional:true}]);
if(e)throw e;
if(!this._enableHistory)throw Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDisabled);
for(var n in state){
var v=state[n];
var t=typeof(v);
if((v!==null)&&((t==='object')||(t==='function')||(t==='undefined'))){
throw Error.argument('state',Sys.Res.stateMustBeStringDictionary);}}
this._ensureHistory();
var initialState=this._state;
for(var key in state){
var value=state[key];
if(value===null){
if(typeof(initialState[key])!=='undefined'){
delete initialState[key];}}
else{
initialState[key]=value;}}
var entry=this._serializeState(initialState);
this._historyPointIsNew=true;
this._setState(entry,title);
this._raiseNavigate();}
function Sys$_Application$beginCreateComponents(){
if(arguments.length!==0)throw Error.parameterCount();
this._creatingComponents=true;}
function Sys$_Application$dispose(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._disposing){
this._disposing=true;
if(this._timerCookie){
window.clearTimeout(this._timerCookie);
delete this._timerCookie;}
if(this._endRequestHandler){
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);
delete this._endRequestHandler;}
if(this._beginRequestHandler){
Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);
delete this._beginRequestHandler;}
if(window.pageUnload){
window.pageUnload(this,Sys.EventArgs.Empty);}
var unloadHandler=this.get_events().getHandler("unload");
if(unloadHandler){
unloadHandler(this,Sys.EventArgs.Empty);}
var disposableObjects=Array.clone(this._disposableObjects);
for(var i=0,l=disposableObjects.length;i<l;i++){
disposableObjects[i].dispose();}
Array.clear(this._disposableObjects);
Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);
if(this._loadHandlerDelegate){
Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);
this._loadHandlerDelegate=null;}
var sl=Sys._ScriptLoader.getInstance();
if(sl){
sl.dispose();}
Sys._Application.callBaseMethod(this,'dispose');}}
function Sys$_Application$endCreateComponents(){
if(arguments.length!==0)throw Error.parameterCount();
var components=this._secondPassComponents;
for(var i=0,l=components.length;i<l;i++){
var component=components[i].component;
Sys$Component$_setReferences(component,components[i].references);
component.endUpdate();}
this._secondPassComponents=[];
this._creatingComponents=false;}
function Sys$_Application$findComponent(id,parent){
var e=Function._validateParams(arguments,[
{name:"id",type:String},
{name:"parent",mayBeNull:true,optional:true}]);
if(e)throw e;
return(parent?
((Sys.IContainer.isInstanceOfType(parent))?
parent.findComponent(id):
parent[id]||null):
Sys.Application._components[id]||null);}
function Sys$_Application$getComponents(){
if(arguments.length!==0)throw Error.parameterCount();
var res=[];
var components=this._components;
for(var name in components){
res[res.length]=components[name];}
return res;}
function Sys$_Application$initialize(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._initialized&&!this._initializing){
this._initializing=true;
window.setTimeout(Function.createDelegate(this,this._doInitialize),0);}}
function Sys$_Application$notifyScriptLoaded(){
if(arguments.length!==0)throw Error.parameterCount();
var sl=Sys._ScriptLoader.getInstance();
if(sl){
sl.notifyScriptLoaded();}}
function Sys$_Application$registerDisposableObject(object){
var e=Function._validateParams(arguments,[
{name:"object",type:Sys.IDisposable}]);
if(e)throw e;
if(!this._disposing){
this._disposableObjects[this._disposableObjects.length]=object;}}
function Sys$_Application$raiseLoad(){
if(arguments.length!==0)throw Error.parameterCount();
var h=this.get_events().getHandler("load");
var args=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._initializing);
if(h){
h(this,args);}
if(window.pageLoad){
window.pageLoad(this,args);}
this._createdComponents=[];}
function Sys$_Application$removeComponent(component){
var e=Function._validateParams(arguments,[
{name:"component",type:Sys.Component}]);
if(e)throw e;
var id=component.get_id();
if(id)delete this._components[id];}
function Sys$_Application$setServerId(clientId,uniqueId){
var e=Function._validateParams(arguments,[
{name:"clientId",type:String},
{name:"uniqueId",type:String}]);
if(e)throw e;
this._clientId=clientId;
this._uniqueId=uniqueId;}
function Sys$_Application$setServerState(value){
var e=Function._validateParams(arguments,[
{name:"value",type:String}]);
if(e)throw e;
this._ensureHistory();
this._state.__s=value;
this._updateHiddenField(value);}
function Sys$_Application$unregisterDisposableObject(object){
var e=Function._validateParams(arguments,[
{name:"object",type:Sys.IDisposable}]);
if(e)throw e;
if(!this._disposing){
Array.remove(this._disposableObjects,object);}}
function Sys$_Application$_addComponentToSecondPass(component,references){
this._secondPassComponents[this._secondPassComponents.length]={component:component,references:references};}
function Sys$_Application$_deserializeState(entry,skipDecodeUri){
var result={};
entry=entry||'';
var serverSeparator=entry.indexOf('&&');
if((serverSeparator!==-1)&&(serverSeparator + 2<entry.length)){
result.__s=entry.substr(serverSeparator + 2);
entry=entry.substr(0,serverSeparator);}
var tokens=entry.split('&');
for(var i=0,l=tokens.length;i<l;i++){
var token=tokens[i];
var equal=token.indexOf('=');
if((equal!==-1)&&(equal + 1<token.length)){
var name=token.substr(0,equal);
var value=token.substr(equal + 1);
result[name]=skipDecodeUri?value:decodeURIComponent(value);}}
return result;}
function Sys$_Application$_doInitialize(){
Sys._Application.callBaseMethod(this,'initialize');
var handler=this.get_events().getHandler("init");
if(handler){
this.beginCreateComponents();
handler(this,Sys.EventArgs.Empty);
this.endCreateComponents();}
if(Sys.WebForms){
this._beginRequestHandler=Function.createDelegate(this,this._onPageRequestManagerBeginRequest);
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);
this._endRequestHandler=Function.createDelegate(this,this._onPageRequestManagerEndRequest);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler);}
var loadedEntry=this.get_stateString();
if(loadedEntry!==this._currentEntry){
this._navigate(loadedEntry);}
this.raiseLoad();
this._initializing=false;}
function Sys$_Application$_enableHistoryInScriptManager(){
this._enableHistory=true;
this._historyEnabledInScriptManager=true;}
function Sys$_Application$_ensureHistory(){
if(!this._historyInitialized&&this._enableHistory){
if((Sys.Browser.agent===Sys.Browser.InternetExplorer)&&(Sys.Browser.documentMode<8)){
this._historyFrame=document.getElementById('__historyFrame');
if(!this._historyFrame)throw Error.invalidOperation(Sys.Res.historyMissingFrame);
this._ignoreIFrame=true;}
if(this._isSafari2()){
var historyElement=document.getElementById('__history');
if(!historyElement)throw Error.invalidOperation(Sys.Res.historyMissingHiddenInput);
this._setHistory([window.location.hash]);
this._historyInitialLength=window.history.length;}
this._timerHandler=Function.createDelegate(this,this._onIdle);
this._timerCookie=window.setTimeout(this._timerHandler,100);
try{
this._initialState=this._deserializeState(this.get_stateString());}catch(e){}
this._historyInitialized=true;}}
function Sys$_Application$_getHistory(){
var historyElement=document.getElementById('__history');
if(!historyElement)return'';
var v=historyElement.value;
return v?Sys.Serialization.JavaScriptSerializer.deserialize(v,true):'';}
function Sys$_Application$_isSafari2(){
return(Sys.Browser.agent===Sys.Browser.Safari)&&
(Sys.Browser.version<=419.3);}
function Sys$_Application$_loadHandler(){
if(this._loadHandlerDelegate){
Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);
this._loadHandlerDelegate=null;}
this.initialize();}
function Sys$_Application$_navigate(entry){
this._ensureHistory();
var state=this._deserializeState(entry);
if(this._uniqueId){
var oldServerEntry=this._state.__s||'';
var newServerEntry=state.__s||'';
if(newServerEntry!==oldServerEntry){
this._updateHiddenField(newServerEntry);
__doPostBack(this._uniqueId,newServerEntry);
this._state=state;
return;}}
this._setState(entry);
this._state=state;
this._raiseNavigate();}
function Sys$_Application$_onIdle(){
delete this._timerCookie;
var entry=this.get_stateString();
if(entry!==this._currentEntry){
if(!this._ignoreTimer){
this._historyPointIsNew=false;
this._navigate(entry);
this._historyLength=window.history.length;}}
else{
this._ignoreTimer=false;}
this._timerCookie=window.setTimeout(this._timerHandler,100);}
function Sys$_Application$_onIFrameLoad(entry){
this._ensureHistory();
if(!this._ignoreIFrame){
this._historyPointIsNew=false;
this._navigate(entry);}
this._ignoreIFrame=false;}
function Sys$_Application$_onPageRequestManagerBeginRequest(sender,args){
this._ignoreTimer=true;}
function Sys$_Application$_onPageRequestManagerEndRequest(sender,args){
var dataItem=args.get_dataItems()[this._clientId];
var eventTarget=document.getElementById("__EVENTTARGET");
if(eventTarget&&eventTarget.value===this._uniqueId){
eventTarget.value='';}
if(typeof(dataItem)!=='undefined'){
this.setServerState(dataItem);
this._historyPointIsNew=true;}
else{
this._ignoreTimer=false;}
var entry=this._serializeState(this._state);
if(entry!==this._currentEntry){
this._ignoreTimer=true;
this._setState(entry);
this._raiseNavigate();}}
function Sys$_Application$_raiseNavigate(){
var h=this.get_events().getHandler("navigate");
var stateClone={};
for(var key in this._state){
if(key!=='__s'){
stateClone[key]=this._state[key];}}
var args=new Sys.HistoryEventArgs(stateClone);
if(h){
h(this,args);}}
function Sys$_Application$_serializeState(state){
var serialized=[];
for(var key in state){
var value=state[key];
if(key==='__s'){
var serverState=value;}
else{
if(key.indexOf('=')!==-1)throw Error.argument('state',Sys.Res.stateFieldNameInvalid);
serialized[serialized.length]=key +'='+ encodeURIComponent(value);}}
return serialized.join('&')+(serverState?'&&'+ serverState:'');}
function Sys$_Application$_setHistory(historyArray){
var historyElement=document.getElementById('__history');
if(historyElement){
historyElement.value=Sys.Serialization.JavaScriptSerializer.serialize(historyArray);}}
function Sys$_Application$_setState(entry,title){
entry=entry||'';
if(entry!==this._currentEntry){
if(window.theForm){
var action=window.theForm.action;
var hashIndex=action.indexOf('#');
window.theForm.action=((hashIndex!==-1)?action.substring(0,hashIndex):action)+'#'+ entry;}
if(this._historyFrame&&this._historyPointIsNew){
this._ignoreIFrame=true;
this._historyPointIsNew=false;
var frameDoc=this._historyFrame.contentWindow.document;
frameDoc.open("javascript:'<html></html>'");
frameDoc.write("<html><head><title>"+(title||document.title)+"</title><scri"+"pt type=\"text/javascript\">parent.Sys.Application._onIFrameLoad('"+
entry +"');</scri"+"pt></head><body></body></html>");
frameDoc.close();}
this._ignoreTimer=false;
var currentHash=this.get_stateString();
this._currentEntry=entry;
if(entry!==currentHash){
var loc=document.location;
if(loc.href.length - loc.hash.length + entry.length>1024){
throw Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);}
if(this._isSafari2()){
var history=this._getHistory();
history[window.history.length - this._historyInitialLength + 1]=entry;
this._setHistory(history);
this._historyLength=window.history.length + 1;
var form=document.createElement('form');
form.method='get';
form.action='#'+ entry;
document.appendChild(form);
form.submit();
document.removeChild(form);}
else{
window.location.hash=entry;}
if((typeof(title)!=='undefined')&&(title!==null)){
document.title=title;}}}}
function Sys$_Application$_unloadHandler(event){
this.dispose();}
function Sys$_Application$_updateHiddenField(value){
if(this._clientId){
var serverStateField=document.getElementById(this._clientId);
if(serverStateField){
serverStateField.value=value;}}}
Sys._Application.prototype={
_creatingComponents:false,
_disposing:false,
get_isCreatingComponents:Sys$_Application$get_isCreatingComponents,
get_stateString:Sys$_Application$get_stateString,
get_enableHistory:Sys$_Application$get_enableHistory,
set_enableHistory:Sys$_Application$set_enableHistory,
add_init:Sys$_Application$add_init,
remove_init:Sys$_Application$remove_init,
add_load:Sys$_Application$add_load,
remove_load:Sys$_Application$remove_load,
add_navigate:Sys$_Application$add_navigate,
remove_navigate:Sys$_Application$remove_navigate,
add_unload:Sys$_Application$add_unload,
remove_unload:Sys$_Application$remove_unload,
addComponent:Sys$_Application$addComponent,
addHistoryPoint:Sys$_Application$addHistoryPoint,
beginCreateComponents:Sys$_Application$beginCreateComponents,
dispose:Sys$_Application$dispose,
endCreateComponents:Sys$_Application$endCreateComponents,
findComponent:Sys$_Application$findComponent,
getComponents:Sys$_Application$getComponents,
initialize:Sys$_Application$initialize,
notifyScriptLoaded:Sys$_Application$notifyScriptLoaded,
registerDisposableObject:Sys$_Application$registerDisposableObject,
raiseLoad:Sys$_Application$raiseLoad,
removeComponent:Sys$_Application$removeComponent,
setServerId:Sys$_Application$setServerId,
setServerState:Sys$_Application$setServerState,
unregisterDisposableObject:Sys$_Application$unregisterDisposableObject,
_addComponentToSecondPass:Sys$_Application$_addComponentToSecondPass,
_deserializeState:Sys$_Application$_deserializeState,
_doInitialize:Sys$_Application$_doInitialize,
_enableHistoryInScriptManager:Sys$_Application$_enableHistoryInScriptManager,
_ensureHistory:Sys$_Application$_ensureHistory,
_getHistory:Sys$_Application$_getHistory,
_isSafari2:Sys$_Application$_isSafari2,
_loadHandler:Sys$_Application$_loadHandler,
_navigate:Sys$_Application$_navigate,
_onIdle:Sys$_Application$_onIdle,
_onIFrameLoad:Sys$_Application$_onIFrameLoad,
_onPageRequestManagerBeginRequest:Sys$_Application$_onPageRequestManagerBeginRequest,
_onPageRequestManagerEndRequest:Sys$_Application$_onPageRequestManagerEndRequest,
_raiseNavigate:Sys$_Application$_raiseNavigate,
_serializeState:Sys$_Application$_serializeState,
_setHistory:Sys$_Application$_setHistory,
_setState:Sys$_Application$_setState,
_unloadHandler:Sys$_Application$_unloadHandler,
_updateHiddenField:Sys$_Application$_updateHiddenField}
Sys._Application.registerClass('Sys._Application',Sys.Component,Sys.IContainer);
Sys.Application=new Sys._Application();
var $find=Sys.Application.findComponent;
Type.registerNamespace('Sys.Net');
Sys.Net.WebRequestExecutor=function Sys$Net$WebRequestExecutor(){
if(arguments.length!==0)throw Error.parameterCount();
this._webRequest=null;
this._resultObject=null;}
function Sys$Net$WebRequestExecutor$get_webRequest(){
if(arguments.length!==0)throw Error.parameterCount();
return this._webRequest;}
function Sys$Net$WebRequestExecutor$_set_webRequest(value){
if(this.get_started()){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'set_webRequest'));}
this._webRequest=value;}
function Sys$Net$WebRequestExecutor$get_started(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseAvailable(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_timedOut(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_aborted(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_responseData(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusCode(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_statusText(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_xml(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$get_object(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._resultObject){
this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());}
return this._resultObject;}
function Sys$Net$WebRequestExecutor$executeRequest(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$abort(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getResponseHeader(header){
var e=Function._validateParams(arguments,[
{name:"header",type:String}]);
if(e)throw e;
throw Error.notImplemented();}
function Sys$Net$WebRequestExecutor$getAllResponseHeaders(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.Net.WebRequestExecutor.prototype={
get_webRequest:Sys$Net$WebRequestExecutor$get_webRequest,
_set_webRequest:Sys$Net$WebRequestExecutor$_set_webRequest,
get_started:Sys$Net$WebRequestExecutor$get_started,
get_responseAvailable:Sys$Net$WebRequestExecutor$get_responseAvailable,
get_timedOut:Sys$Net$WebRequestExecutor$get_timedOut,
get_aborted:Sys$Net$WebRequestExecutor$get_aborted,
get_responseData:Sys$Net$WebRequestExecutor$get_responseData,
get_statusCode:Sys$Net$WebRequestExecutor$get_statusCode,
get_statusText:Sys$Net$WebRequestExecutor$get_statusText,
get_xml:Sys$Net$WebRequestExecutor$get_xml,
get_object:Sys$Net$WebRequestExecutor$get_object,
executeRequest:Sys$Net$WebRequestExecutor$executeRequest,
abort:Sys$Net$WebRequestExecutor$abort,
getResponseHeader:Sys$Net$WebRequestExecutor$getResponseHeader,
getAllResponseHeaders:Sys$Net$WebRequestExecutor$getAllResponseHeaders}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
Sys.Net.XMLDOM=function Sys$Net$XMLDOM(markup){
var e=Function._validateParams(arguments,[
{name:"markup",type:String}]);
if(e)throw e;
if(!window.DOMParser){
var progIDs=['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];
for(var i=0,l=progIDs.length;i<l;i++){
try{
var xmlDOM=new ActiveXObject(progIDs[i]);
xmlDOM.async=false;
xmlDOM.loadXML(markup);
xmlDOM.setProperty('SelectionLanguage','XPath');
return xmlDOM;}
catch(ex){}}}
else{
try{
var domParser=new window.DOMParser();
return domParser.parseFromString(markup,'text/xml');}
catch(ex){}}
return null;}
Sys.Net.XMLHttpExecutor=function Sys$Net$XMLHttpExecutor(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.Net.XMLHttpExecutor.initializeBase(this);
var _this=this;
this._xmlHttpRequest=null;
this._webRequest=null;
this._responseAvailable=false;
this._timedOut=false;
this._timer=null;
this._aborted=false;
this._started=false;
this._onReadyStateChange=(function(){
if(_this._xmlHttpRequest.readyState===4){
try{
if(typeof(_this._xmlHttpRequest.status)==="undefined"){
return;}}
catch(ex){
return;}
_this._clearTimer();
_this._responseAvailable=true;
try{
_this._webRequest.completed(Sys.EventArgs.Empty);}
finally{
if(_this._xmlHttpRequest!=null){
_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;
_this._xmlHttpRequest=null;}}}});
this._clearTimer=(function(){
if(_this._timer!=null){
window.clearTimeout(_this._timer);
_this._timer=null;}});
this._onTimeout=(function(){
if(!_this._responseAvailable){
_this._clearTimer();
_this._timedOut=true;
_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;
_this._xmlHttpRequest.abort();
_this._webRequest.completed(Sys.EventArgs.Empty);
_this._xmlHttpRequest=null;}});}
function Sys$Net$XMLHttpExecutor$get_timedOut(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timedOut;}
function Sys$Net$XMLHttpExecutor$get_started(){
if(arguments.length!==0)throw Error.parameterCount();
return this._started;}
function Sys$Net$XMLHttpExecutor$get_responseAvailable(){
if(arguments.length!==0)throw Error.parameterCount();
return this._responseAvailable;}
function Sys$Net$XMLHttpExecutor$get_aborted(){
if(arguments.length!==0)throw Error.parameterCount();
return this._aborted;}
function Sys$Net$XMLHttpExecutor$executeRequest(){
if(arguments.length!==0)throw Error.parameterCount();
this._webRequest=this.get_webRequest();
if(this._started){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'executeRequest'));}
if(this._webRequest===null){
throw Error.invalidOperation(Sys.Res.nullWebRequest);}
var body=this._webRequest.get_body();
var headers=this._webRequest.get_headers();
this._xmlHttpRequest=new XMLHttpRequest();
this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;
var verb=this._webRequest.get_httpVerb();
this._xmlHttpRequest.open(verb,this._webRequest.getResolvedUrl(),true);
if(headers){
for(var header in headers){
var val=headers[header];
if(typeof(val)!=="function")
this._xmlHttpRequest.setRequestHeader(header,val);}}
if(verb.toLowerCase()==="post"){
if((headers===null)||!headers['Content-Type']){
this._xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');}
if(!body){
body="";}}
var timeout=this._webRequest.get_timeout();
if(timeout>0){
this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),timeout);}
this._xmlHttpRequest.send(body);
this._started=true;}
function Sys$Net$XMLHttpExecutor$getResponseHeader(header){
var e=Function._validateParams(arguments,[
{name:"header",type:String}]);
if(e)throw e;
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getResponseHeader'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getResponseHeader'));}
var result;
try{
result=this._xmlHttpRequest.getResponseHeader(header);}catch(e){}
if(!result)result="";
return result;}
function Sys$Net$XMLHttpExecutor$getAllResponseHeaders(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'getAllResponseHeaders'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'getAllResponseHeaders'));}
return this._xmlHttpRequest.getAllResponseHeaders();}
function Sys$Net$XMLHttpExecutor$get_responseData(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_responseData'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_responseData'));}
return this._xmlHttpRequest.responseText;}
function Sys$Net$XMLHttpExecutor$get_statusCode(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusCode'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusCode'));}
var result=0;
try{
result=this._xmlHttpRequest.status;}
catch(ex){}
return result;}
function Sys$Net$XMLHttpExecutor$get_statusText(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_statusText'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_statusText'));}
return this._xmlHttpRequest.statusText;}
function Sys$Net$XMLHttpExecutor$get_xml(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._responseAvailable){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,'get_xml'));}
if(!this._xmlHttpRequest){
throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,'get_xml'));}
var xml=this._xmlHttpRequest.responseXML;
if(!xml||!xml.documentElement){
xml=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
if(!xml||!xml.documentElement)
return null;}
else if(navigator.userAgent.indexOf('MSIE')!==-1){
xml.setProperty('SelectionLanguage','XPath');}
if(xml.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&
xml.documentElement.tagName==="parsererror"){
return null;}
if(xml.documentElement.firstChild&&xml.documentElement.firstChild.tagName==="parsererror"){
return null;}
return xml;}
function Sys$Net$XMLHttpExecutor$abort(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._started){
throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);}
if(this._aborted||this._responseAvailable||this._timedOut)
return;
this._aborted=true;
this._clearTimer();
if(this._xmlHttpRequest&&!this._responseAvailable){
this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;
this._xmlHttpRequest.abort();
this._xmlHttpRequest=null;
this._webRequest.completed(Sys.EventArgs.Empty);}}
Sys.Net.XMLHttpExecutor.prototype={
get_timedOut:Sys$Net$XMLHttpExecutor$get_timedOut,
get_started:Sys$Net$XMLHttpExecutor$get_started,
get_responseAvailable:Sys$Net$XMLHttpExecutor$get_responseAvailable,
get_aborted:Sys$Net$XMLHttpExecutor$get_aborted,
executeRequest:Sys$Net$XMLHttpExecutor$executeRequest,
getResponseHeader:Sys$Net$XMLHttpExecutor$getResponseHeader,
getAllResponseHeaders:Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
get_responseData:Sys$Net$XMLHttpExecutor$get_responseData,
get_statusCode:Sys$Net$XMLHttpExecutor$get_statusCode,
get_statusText:Sys$Net$XMLHttpExecutor$get_statusText,
get_xml:Sys$Net$XMLHttpExecutor$get_xml,
abort:Sys$Net$XMLHttpExecutor$abort}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor',Sys.Net.WebRequestExecutor);
Sys.Net._WebRequestManager=function Sys$Net$_WebRequestManager(){
if(arguments.length!==0)throw Error.parameterCount();
this._defaultTimeout=0;
this._defaultExecutorType="Sys.Net.XMLHttpExecutor";}
function Sys$Net$_WebRequestManager$add_invokingRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().addHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$remove_invokingRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().removeHandler("invokingRequest",handler);}
function Sys$Net$_WebRequestManager$add_completedRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().addHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$remove_completedRequest(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().removeHandler("completedRequest",handler);}
function Sys$Net$_WebRequestManager$_get_eventHandlerList(){
if(!this._events){
this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$_WebRequestManager$get_defaultTimeout(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultTimeout;}
function Sys$Net$_WebRequestManager$set_defaultTimeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
if(value<0){
throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._defaultTimeout=value;}
function Sys$Net$_WebRequestManager$get_defaultExecutorType(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultExecutorType;}
function Sys$Net$_WebRequestManager$set_defaultExecutorType(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
this._defaultExecutorType=value;}
function Sys$Net$_WebRequestManager$executeRequest(webRequest){
var e=Function._validateParams(arguments,[
{name:"webRequest",type:Sys.Net.WebRequest}]);
if(e)throw e;
var executor=webRequest.get_executor();
if(!executor){
var failed=false;
try{
var executorType=eval(this._defaultExecutorType);
executor=new executorType();}catch(e){
failed=true;}
if(failed||!Sys.Net.WebRequestExecutor.isInstanceOfType(executor)||!executor){
throw Error.argument("defaultExecutorType",String.format(Sys.Res.invalidExecutorType,this._defaultExecutorType));}
webRequest.set_executor(executor);}
if(executor.get_aborted()){
return;}
var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest);
var handler=this._get_eventHandlerList().getHandler("invokingRequest");
if(handler){
handler(this,evArgs);}
if(!evArgs.get_cancel()){
executor.executeRequest();}}
Sys.Net._WebRequestManager.prototype={
add_invokingRequest:Sys$Net$_WebRequestManager$add_invokingRequest,
remove_invokingRequest:Sys$Net$_WebRequestManager$remove_invokingRequest,
add_completedRequest:Sys$Net$_WebRequestManager$add_completedRequest,
remove_completedRequest:Sys$Net$_WebRequestManager$remove_completedRequest,
_get_eventHandlerList:Sys$Net$_WebRequestManager$_get_eventHandlerList,
get_defaultTimeout:Sys$Net$_WebRequestManager$get_defaultTimeout,
set_defaultTimeout:Sys$Net$_WebRequestManager$set_defaultTimeout,
get_defaultExecutorType:Sys$Net$_WebRequestManager$get_defaultExecutorType,
set_defaultExecutorType:Sys$Net$_WebRequestManager$set_defaultExecutorType,
executeRequest:Sys$Net$_WebRequestManager$executeRequest}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');
Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager();
Sys.Net.NetworkRequestEventArgs=function Sys$Net$NetworkRequestEventArgs(webRequest){
var e=Function._validateParams(arguments,[
{name:"webRequest",type:Sys.Net.WebRequest}]);
if(e)throw e;
Sys.Net.NetworkRequestEventArgs.initializeBase(this);
this._webRequest=webRequest;}
function Sys$Net$NetworkRequestEventArgs$get_webRequest(){
if(arguments.length!==0)throw Error.parameterCount();
return this._webRequest;}
Sys.Net.NetworkRequestEventArgs.prototype={
get_webRequest:Sys$Net$NetworkRequestEventArgs$get_webRequest}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs',Sys.CancelEventArgs);
Sys.Net.WebRequest=function Sys$Net$WebRequest(){
if(arguments.length!==0)throw Error.parameterCount();
this._url="";
this._headers={};
this._body=null;
this._userContext=null;
this._httpVerb=null;
this._executor=null;
this._invokeCalled=false;
this._timeout=0;}
function Sys$Net$WebRequest$add_completed(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().addHandler("completed",handler);}
function Sys$Net$WebRequest$remove_completed(handler){
var e=Function._validateParams(arguments,[{name:"handler",type:Function}]);
if(e)throw e;
this._get_eventHandlerList().removeHandler("completed",handler);}
function Sys$Net$WebRequest$completed(eventArgs){
var e=Function._validateParams(arguments,[
{name:"eventArgs",type:Sys.EventArgs}]);
if(e)throw e;
var handler=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");
if(handler){
handler(this._executor,eventArgs);}
handler=this._get_eventHandlerList().getHandler("completed");
if(handler){
handler(this._executor,eventArgs);}}
function Sys$Net$WebRequest$_get_eventHandlerList(){
if(!this._events){
this._events=new Sys.EventHandlerList();}
return this._events;}
function Sys$Net$WebRequest$get_url(){
if(arguments.length!==0)throw Error.parameterCount();
return this._url;}
function Sys$Net$WebRequest$set_url(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
this._url=value;}
function Sys$Net$WebRequest$get_headers(){
if(arguments.length!==0)throw Error.parameterCount();
return this._headers;}
function Sys$Net$WebRequest$get_httpVerb(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._httpVerb===null){
if(this._body===null){
return"GET";}
return"POST";}
return this._httpVerb;}
function Sys$Net$WebRequest$set_httpVerb(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
if(value.length===0){
throw Error.argument('value',Sys.Res.invalidHttpVerb);}
this._httpVerb=value;}
function Sys$Net$WebRequest$get_body(){
if(arguments.length!==0)throw Error.parameterCount();
return this._body;}
function Sys$Net$WebRequest$set_body(value){
var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);
if(e)throw e;
this._body=value;}
function Sys$Net$WebRequest$get_userContext(){
if(arguments.length!==0)throw Error.parameterCount();
return this._userContext;}
function Sys$Net$WebRequest$set_userContext(value){
var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);
if(e)throw e;
this._userContext=value;}
function Sys$Net$WebRequest$get_executor(){
if(arguments.length!==0)throw Error.parameterCount();
return this._executor;}
function Sys$Net$WebRequest$set_executor(value){
var e=Function._validateParams(arguments,[{name:"value",type:Sys.Net.WebRequestExecutor}]);
if(e)throw e;
if(this._executor!==null&&this._executor.get_started()){
throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);}
this._executor=value;
this._executor._set_webRequest(this);}
function Sys$Net$WebRequest$get_timeout(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._timeout===0){
return Sys.Net.WebRequestManager.get_defaultTimeout();}
return this._timeout;}
function Sys$Net$WebRequest$set_timeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
if(value<0){
throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);}
this._timeout=value;}
function Sys$Net$WebRequest$getResolvedUrl(){
if(arguments.length!==0)throw Error.parameterCount();
return Sys.Net.WebRequest._resolveUrl(this._url);}
function Sys$Net$WebRequest$invoke(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._invokeCalled){
throw Error.invalidOperation(Sys.Res.invokeCalledTwice);}
Sys.Net.WebRequestManager.executeRequest(this);
this._invokeCalled=true;}
Sys.Net.WebRequest.prototype={
add_completed:Sys$Net$WebRequest$add_completed,
remove_completed:Sys$Net$WebRequest$remove_completed,
completed:Sys$Net$WebRequest$completed,
_get_eventHandlerList:Sys$Net$WebRequest$_get_eventHandlerList,
get_url:Sys$Net$WebRequest$get_url,
set_url:Sys$Net$WebRequest$set_url,
get_headers:Sys$Net$WebRequest$get_headers,
get_httpVerb:Sys$Net$WebRequest$get_httpVerb,
set_httpVerb:Sys$Net$WebRequest$set_httpVerb,
get_body:Sys$Net$WebRequest$get_body,
set_body:Sys$Net$WebRequest$set_body,
get_userContext:Sys$Net$WebRequest$get_userContext,
set_userContext:Sys$Net$WebRequest$set_userContext,
get_executor:Sys$Net$WebRequest$get_executor,
set_executor:Sys$Net$WebRequest$set_executor,
get_timeout:Sys$Net$WebRequest$get_timeout,
set_timeout:Sys$Net$WebRequest$set_timeout,
getResolvedUrl:Sys$Net$WebRequest$getResolvedUrl,
invoke:Sys$Net$WebRequest$invoke}
Sys.Net.WebRequest._resolveUrl=function Sys$Net$WebRequest$_resolveUrl(url,baseUrl){
if(url&&url.indexOf('://')!==-1){
return url;}
if(!baseUrl||baseUrl.length===0){
var baseElement=document.getElementsByTagName('base')[0];
if(baseElement&&baseElement.href&&baseElement.href.length>0){
baseUrl=baseElement.href;}
else{
baseUrl=document.URL;}}
var qsStart=baseUrl.indexOf('?');
if(qsStart!==-1){
baseUrl=baseUrl.substr(0,qsStart);}
qsStart=baseUrl.indexOf('#');
if(qsStart!==-1){
baseUrl=baseUrl.substr(0,qsStart);}
baseUrl=baseUrl.substr(0,baseUrl.lastIndexOf('/')+ 1);
if(!url||url.length===0){
return baseUrl;}
if(url.charAt(0)==='/'){
var slashslash=baseUrl.indexOf('://');
if(slashslash===-1){
throw Error.argument("baseUrl",Sys.Res.badBaseUrl1);}
var nextSlash=baseUrl.indexOf('/',slashslash + 3);
if(nextSlash===-1){
throw Error.argument("baseUrl",Sys.Res.badBaseUrl2);}
return baseUrl.substr(0,nextSlash)+ url;}
else{
var lastSlash=baseUrl.lastIndexOf('/');
if(lastSlash===-1){
throw Error.argument("baseUrl",Sys.Res.badBaseUrl3);}
return baseUrl.substr(0,lastSlash+1)+ url;}}
Sys.Net.WebRequest._createQueryString=function Sys$Net$WebRequest$_createQueryString(queryString,encodeMethod){
if(!encodeMethod)
encodeMethod=encodeURIComponent;
var sb=new Sys.StringBuilder();
var i=0;
for(var arg in queryString){
var obj=queryString[arg];
if(typeof(obj)==="function")continue;
var val=Sys.Serialization.JavaScriptSerializer.serialize(obj);
if(i!==0){
sb.append('&');}
sb.append(arg);
sb.append('=');
sb.append(encodeMethod(val));
i++;}
return sb.toString();}
Sys.Net.WebRequest._createUrl=function Sys$Net$WebRequest$_createUrl(url,queryString){
if(!queryString){
return url;}
var qs=Sys.Net.WebRequest._createQueryString(queryString);
if(qs.length>0){
var sep='?';
if(url&&url.indexOf('?')!==-1)
sep='&';
return url + sep + qs;}else{
return url;}}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
Sys.Net.WebServiceProxy=function Sys$Net$WebServiceProxy(){}
function Sys$Net$WebServiceProxy$get_timeout(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timeout;}
function Sys$Net$WebServiceProxy$set_timeout(value){
var e=Function._validateParams(arguments,[{name:"value",type:Number}]);
if(e)throw e;
if(value<0){throw Error.argumentOutOfRange('value',value,Sys.Res.invalidTimeout);}
this._timeout=value;}
function Sys$Net$WebServiceProxy$get_defaultUserContext(){
if(arguments.length!==0)throw Error.parameterCount();
return this._userContext;}
function Sys$Net$WebServiceProxy$set_defaultUserContext(value){
var e=Function._validateParams(arguments,[{name:"value",mayBeNull:true}]);
if(e)throw e;
this._userContext=value;}
function Sys$Net$WebServiceProxy$get_defaultSucceededCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._succeeded;}
function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._succeeded=value;}
function Sys$Net$WebServiceProxy$get_defaultFailedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._failed;}
function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._failed=value;}
function Sys$Net$WebServiceProxy$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path;}
function Sys$Net$WebServiceProxy$set_path(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
this._path=value;}
function Sys$Net$WebServiceProxy$_invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext){
var e=Function._validateParams(arguments,[
{name:"servicePath",type:String},
{name:"methodName",type:String},
{name:"useGet",type:Boolean},
{name:"params"},
{name:"onSuccess",type:Function,mayBeNull:true,optional:true},
{name:"onFailure",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
if(onSuccess===null||typeof onSuccess==='undefined')onSuccess=this.get_defaultSucceededCallback();
if(onFailure===null||typeof onFailure==='undefined')onFailure=this.get_defaultFailedCallback();
if(userContext===null||typeof userContext==='undefined')userContext=this.get_defaultUserContext();
return Sys.Net.WebServiceProxy.invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,this.get_timeout());}
Sys.Net.WebServiceProxy.prototype={
get_timeout:Sys$Net$WebServiceProxy$get_timeout,
set_timeout:Sys$Net$WebServiceProxy$set_timeout,
get_defaultUserContext:Sys$Net$WebServiceProxy$get_defaultUserContext,
set_defaultUserContext:Sys$Net$WebServiceProxy$set_defaultUserContext,
get_defaultSucceededCallback:Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
set_defaultSucceededCallback:Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
get_defaultFailedCallback:Sys$Net$WebServiceProxy$get_defaultFailedCallback,
set_defaultFailedCallback:Sys$Net$WebServiceProxy$set_defaultFailedCallback,
get_path:Sys$Net$WebServiceProxy$get_path,
set_path:Sys$Net$WebServiceProxy$set_path,
_invoke:Sys$Net$WebServiceProxy$_invoke}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke=function Sys$Net$WebServiceProxy$invoke(servicePath,methodName,useGet,params,onSuccess,onFailure,userContext,timeout){
var e=Function._validateParams(arguments,[
{name:"servicePath",type:String},
{name:"methodName",type:String},
{name:"useGet",type:Boolean,optional:true},
{name:"params",mayBeNull:true,optional:true},
{name:"onSuccess",type:Function,mayBeNull:true,optional:true},
{name:"onFailure",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true},
{name:"timeout",type:Number,optional:true}]);
if(e)throw e;
var request=new Sys.Net.WebRequest();
request.get_headers()['Content-Type']='application/json; charset=utf-8';
if(!params)params={};
var urlParams=params;
if(!useGet||!urlParams)urlParams={};
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName),urlParams));
var body=null;
if(!useGet){
body=Sys.Serialization.JavaScriptSerializer.serialize(params);
if(body==="{}")body="";}
request.set_body(body);
request.add_completed(onComplete);
if(timeout&&timeout>0)request.set_timeout(timeout);
request.invoke();
function onComplete(response,eventArgs){
if(response.get_responseAvailable()){
var statusCode=response.get_statusCode();
var result=null;
try{
var contentType=response.getResponseHeader("Content-Type");
if(contentType.startsWith("application/json")){
result=response.get_object();}
else if(contentType.startsWith("text/xml")){
result=response.get_xml();}
else{
result=response.get_responseData();}}catch(ex){}
var error=response.getResponseHeader("jsonerror");
var errorObj=(error==="true");
if(errorObj){
if(result){
result=new Sys.Net.WebServiceError(false,result.Message,result.StackTrace,result.ExceptionType);}}
else if(contentType.startsWith("application/json")){
if(!result||typeof(result.d)==="undefined"){
throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceInvalidJsonWrapper,methodName));}
result=result.d;}
if(((statusCode<200)||(statusCode>=300))||errorObj){
if(onFailure){
if(!result||!errorObj){
result=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,methodName),"","");}
result._statusCode=statusCode;
onFailure(result,userContext,methodName);}
else{
var error;
if(result&&errorObj){
error=result.get_exceptionType()+"-- "+ result.get_message();}
else{
error=response.get_responseData();}
throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceFailed,methodName,error));}}
else if(onSuccess){
onSuccess(result,userContext,methodName);}}
else{
var msg;
if(response.get_timedOut()){
msg=String.format(Sys.Res.webServiceTimedOut,methodName);}
else{
msg=String.format(Sys.Res.webServiceFailedNoMsg,methodName)}
if(onFailure){
onFailure(new Sys.Net.WebServiceError(response.get_timedOut(),msg,"",""),userContext,methodName);}
else{
throw Sys.Net.WebServiceProxy._createFailedError(methodName,msg);}}}
return request;}
Sys.Net.WebServiceProxy._createFailedError=function Sys$Net$WebServiceProxy$_createFailedError(methodName,errorMessage){
var displayMessage="Sys.Net.WebServiceFailedException: "+ errorMessage;
var e=Error.create(displayMessage,{'name':'Sys.Net.WebServiceFailedException','methodName':methodName});
e.popStackFrame();
return e;}
Sys.Net.WebServiceProxy._defaultFailedCallback=function Sys$Net$WebServiceProxy$_defaultFailedCallback(err,methodName){
var error=err.get_exceptionType()+"-- "+ err.get_message();
throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceFailed,methodName,error));}
Sys.Net.WebServiceProxy._generateTypedConstructor=function Sys$Net$WebServiceProxy$_generateTypedConstructor(type){
return function(properties){
if(properties){
for(var name in properties){
this[name]=properties[name];}}
this.__type=type;}}
Sys.Net.WebServiceError=function Sys$Net$WebServiceError(timedOut,message,stackTrace,exceptionType){
var e=Function._validateParams(arguments,[
{name:"timedOut",type:Boolean},
{name:"message",type:String,mayBeNull:true},
{name:"stackTrace",type:String,mayBeNull:true},
{name:"exceptionType",type:String,mayBeNull:true}]);
if(e)throw e;
this._timedOut=timedOut;
this._message=message;
this._stackTrace=stackTrace;
this._exceptionType=exceptionType;
this._statusCode=-1;}
function Sys$Net$WebServiceError$get_timedOut(){
if(arguments.length!==0)throw Error.parameterCount();
return this._timedOut;}
function Sys$Net$WebServiceError$get_statusCode(){
if(arguments.length!==0)throw Error.parameterCount();
return this._statusCode;}
function Sys$Net$WebServiceError$get_message(){
if(arguments.length!==0)throw Error.parameterCount();
return this._message;}
function Sys$Net$WebServiceError$get_stackTrace(){
if(arguments.length!==0)throw Error.parameterCount();
return this._stackTrace;}
function Sys$Net$WebServiceError$get_exceptionType(){
if(arguments.length!==0)throw Error.parameterCount();
return this._exceptionType;}
Sys.Net.WebServiceError.prototype={
get_timedOut:Sys$Net$WebServiceError$get_timedOut,
get_statusCode:Sys$Net$WebServiceError$get_statusCode,
get_message:Sys$Net$WebServiceError$get_message,
get_stackTrace:Sys$Net$WebServiceError$get_stackTrace,
get_exceptionType:Sys$Net$WebServiceError$get_exceptionType}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService=function Sys$Services$_ProfileService(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.Services._ProfileService.initializeBase(this);
this.properties={};}
Sys.Services._ProfileService.DefaultWebServicePath='';
function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLoadCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLoadCompletedCallback=value;}
function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultSaveCompletedCallback;}
function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultSaveCompletedCallback=value;}
function Sys$Services$_ProfileService$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path||'';}
function Sys$Services$_ProfileService$load(propertyNames,loadCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"propertyNames",type:Array,mayBeNull:true,optional:true,elementType:String},
{name:"loadCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
var parameters;
var methodName;
if(!propertyNames){
methodName="GetAllPropertiesForCurrentUser";
parameters={authenticatedUserOnly:false};}
else{
methodName="GetPropertiesForCurrentUser";
parameters={properties:this._clonePropertyNames(propertyNames),authenticatedUserOnly:false};}
this._invoke(this._get_path(),
methodName,
false,
parameters,
Function.createDelegate(this,this._onLoadComplete),
Function.createDelegate(this,this._onLoadFailed),
[loadCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_ProfileService$save(propertyNames,saveCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"propertyNames",type:Array,mayBeNull:true,optional:true,elementType:String},
{name:"saveCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
var flattenedProperties=this._flattenProperties(propertyNames,this.properties);
this._invoke(this._get_path(),"SetPropertiesForCurrentUser",
false,
{values:flattenedProperties.value,authenticatedUserOnly:false},
Function.createDelegate(this,this._onSaveComplete),
Function.createDelegate(this,this._onSaveFailed),
[saveCompletedCallback,failedCallback,userContext,flattenedProperties.count]);}
function Sys$Services$_ProfileService$_clonePropertyNames(arr){
var nodups=[];
var seen={};
for(var i=0;i<arr.length;i++){
var prop=arr[i];
if(!seen[prop]){Array.add(nodups,prop);seen[prop]=true;};}
return nodups;}
function Sys$Services$_ProfileService$_flattenProperties(propertyNames,properties,groupName){
var flattenedProperties={};
var val;
var key;
var count=0;
if(propertyNames&&propertyNames.length===0){
return{value:flattenedProperties,count:0};}
for(var property in properties){
val=properties[property];
key=groupName?groupName +"."+ property:property;
if(Sys.Services.ProfileGroup.isInstanceOfType(val)){
var obj=this._flattenProperties(propertyNames,val,key);
var groupProperties=obj.value;
count +=obj.count;
for(var subKey in groupProperties){
var subVal=groupProperties[subKey];
flattenedProperties[subKey]=subVal;}}
else{
if(!propertyNames||Array.indexOf(propertyNames,key)!==-1){
flattenedProperties[key]=val;
count++;}}}
return{value:flattenedProperties,count:count};}
function Sys$Services$_ProfileService$_get_path(){
var path=this.get_path();
if(!path.length){
path=Sys.Services._ProfileService.DefaultWebServicePath;}
if(!path||!path.length){
throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_ProfileService$_onLoadComplete(result,context,methodName){
if(typeof(result)!=="object"){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Object"));}
var unflattened=this._unflattenProperties(result);
for(var name in unflattened){
this.properties[name]=unflattened[name];}
var callback=context[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();
if(callback){
var userContext=context[2]||this.get_defaultUserContext();
callback(result.length,userContext,"Sys.Services.ProfileService.load");}}
function Sys$Services$_ProfileService$_onLoadFailed(err,context,methodName){
var callback=context[1]||this.get_defaultFailedCallback();
if(callback){
var userContext=context[2]||this.get_defaultUserContext();
callback(err,userContext,"Sys.Services.ProfileService.load");}
else{
Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_ProfileService$_onSaveComplete(result,context,methodName){
var count=context[3];
if(result!==null){
if(result instanceof Array){
count -=result.length;}
else if(typeof(result)==='number'){
count=result;}
else{
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Array"));}}
var callback=context[0]||this.get_defaultSaveCompletedCallback()||this.get_defaultSucceededCallback();
if(callback){
var userContext=context[2]||this.get_defaultUserContext();
callback(count,userContext,"Sys.Services.ProfileService.save");}}
function Sys$Services$_ProfileService$_onSaveFailed(err,context,methodName){
var callback=context[1]||this.get_defaultFailedCallback();
if(callback){
var userContext=context[2]||this.get_defaultUserContext();
callback(err,userContext,"Sys.Services.ProfileService.save");}
else{
Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_ProfileService$_unflattenProperties(properties){
var unflattenedProperties={};
var dotIndex;
var val;
var count=0;
for(var key in properties){
count++;
val=properties[key];
dotIndex=key.indexOf('.');
if(dotIndex!==-1){
var groupName=key.substr(0,dotIndex);
key=key.substr(dotIndex+1);
var group=unflattenedProperties[groupName];
if(!group||!Sys.Services.ProfileGroup.isInstanceOfType(group)){
group=new Sys.Services.ProfileGroup();
unflattenedProperties[groupName]=group;}
group[key]=val;}
else{
unflattenedProperties[key]=val;}}
properties.length=count;
return unflattenedProperties;}
Sys.Services._ProfileService.prototype={
_defaultLoadCompletedCallback:null,
_defaultSaveCompletedCallback:null,
_path:'',
_timeout:0,
get_defaultLoadCompletedCallback:Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
set_defaultLoadCompletedCallback:Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,
get_defaultSaveCompletedCallback:Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
set_defaultSaveCompletedCallback:Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
get_path:Sys$Services$_ProfileService$get_path,
load:Sys$Services$_ProfileService$load,
save:Sys$Services$_ProfileService$save,
_clonePropertyNames:Sys$Services$_ProfileService$_clonePropertyNames,
_flattenProperties:Sys$Services$_ProfileService$_flattenProperties,
_get_path:Sys$Services$_ProfileService$_get_path,
_onLoadComplete:Sys$Services$_ProfileService$_onLoadComplete,
_onLoadFailed:Sys$Services$_ProfileService$_onLoadFailed,
_onSaveComplete:Sys$Services$_ProfileService$_onSaveComplete,
_onSaveFailed:Sys$Services$_ProfileService$_onSaveFailed,
_unflattenProperties:Sys$Services$_ProfileService$_unflattenProperties}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService',Sys.Net.WebServiceProxy);
Sys.Services.ProfileService=new Sys.Services._ProfileService();
Sys.Services.ProfileGroup=function Sys$Services$ProfileGroup(properties){
var e=Function._validateParams(arguments,[
{name:"properties",mayBeNull:true,optional:true}]);
if(e)throw e;
if(properties){
for(var property in properties){
this[property]=properties[property];}}}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');
Sys.Services._AuthenticationService=function Sys$Services$_AuthenticationService(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.Services._AuthenticationService.initializeBase(this);}
Sys.Services._AuthenticationService.DefaultWebServicePath='';
function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLoginCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLoginCompletedCallback=value;}
function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLogoutCompletedCallback;}
function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLogoutCompletedCallback=value;}
function Sys$Services$_AuthenticationService$get_isLoggedIn(){
if(arguments.length!==0)throw Error.parameterCount();
return this._authenticated;}
function Sys$Services$_AuthenticationService$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path||'';}
function Sys$Services$_AuthenticationService$login(username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"username",type:String},
{name:"password",type:String,mayBeNull:true},
{name:"isPersistent",type:Boolean,mayBeNull:true,optional:true},
{name:"customInfo",type:String,mayBeNull:true,optional:true},
{name:"redirectUrl",type:String,mayBeNull:true,optional:true},
{name:"loginCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
this._invoke(this._get_path(),"Login",false,
{userName:username,password:password,createPersistentCookie:isPersistent},
Function.createDelegate(this,this._onLoginComplete),
Function.createDelegate(this,this._onLoginFailed),
[username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$logout(redirectUrl,logoutCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"redirectUrl",type:String,mayBeNull:true,optional:true},
{name:"logoutCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
this._invoke(this._get_path(),"Logout",false,{},
Function.createDelegate(this,this._onLogoutComplete),
Function.createDelegate(this,this._onLogoutFailed),
[redirectUrl,logoutCompletedCallback,failedCallback,userContext]);}
function Sys$Services$_AuthenticationService$_get_path(){
var path=this.get_path();
if(!path.length){
path=Sys.Services._AuthenticationService.DefaultWebServicePath;}
if(!path||!path.length){
throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_AuthenticationService$_onLoginComplete(result,context,methodName){
if(typeof(result)!=="boolean"){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Boolean"));}
var redirectUrl=context[4];
var userContext=context[7]||this.get_defaultUserContext();
var callback=context[5]||this.get_defaultLoginCompletedCallback()||this.get_defaultSucceededCallback();
if(result){
this._authenticated=true;
if(callback){
callback(true,userContext,"Sys.Services.AuthenticationService.login");}
if(typeof(redirectUrl)!=="undefined"&&redirectUrl!==null){
window.location.href=redirectUrl;}}
else if(callback){
callback(false,userContext,"Sys.Services.AuthenticationService.login");}}
function Sys$Services$_AuthenticationService$_onLoginFailed(err,context,methodName){
var callback=context[6]||this.get_defaultFailedCallback();
if(callback){
var userContext=context[7]||this.get_defaultUserContext();
callback(err,userContext,"Sys.Services.AuthenticationService.login");}
else{
Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_AuthenticationService$_onLogoutComplete(result,context,methodName){
if(result!==null){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"null"));}
var redirectUrl=context[0];
var userContext=context[3]||this.get_defaultUserContext();
var callback=context[1]||this.get_defaultLogoutCompletedCallback()||this.get_defaultSucceededCallback();
this._authenticated=false;
if(callback){
callback(null,userContext,"Sys.Services.AuthenticationService.logout");}
if(!redirectUrl){
window.location.reload();}
else{
window.location.href=redirectUrl;}}
function Sys$Services$_AuthenticationService$_onLogoutFailed(err,context,methodName){
var callback=context[2]||this.get_defaultFailedCallback();
if(callback){
callback(err,context[3],"Sys.Services.AuthenticationService.logout");}
else{
Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
function Sys$Services$_AuthenticationService$_setAuthenticated(authenticated){
this._authenticated=authenticated;}
Sys.Services._AuthenticationService.prototype={
_defaultLoginCompletedCallback:null,
_defaultLogoutCompletedCallback:null,
_path:'',
_timeout:0,
_authenticated:false,
get_defaultLoginCompletedCallback:Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
set_defaultLoginCompletedCallback:Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,
get_defaultLogoutCompletedCallback:Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
set_defaultLogoutCompletedCallback:Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,
get_isLoggedIn:Sys$Services$_AuthenticationService$get_isLoggedIn,
get_path:Sys$Services$_AuthenticationService$get_path,
login:Sys$Services$_AuthenticationService$login,
logout:Sys$Services$_AuthenticationService$logout,
_get_path:Sys$Services$_AuthenticationService$_get_path,
_onLoginComplete:Sys$Services$_AuthenticationService$_onLoginComplete,
_onLoginFailed:Sys$Services$_AuthenticationService$_onLoginFailed,
_onLogoutComplete:Sys$Services$_AuthenticationService$_onLogoutComplete,
_onLogoutFailed:Sys$Services$_AuthenticationService$_onLogoutFailed,
_setAuthenticated:Sys$Services$_AuthenticationService$_setAuthenticated}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService',Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService();
Sys.Services._RoleService=function Sys$Services$_RoleService(){
if(arguments.length!==0)throw Error.parameterCount();
Sys.Services._RoleService.initializeBase(this);
this._roles=[];}
Sys.Services._RoleService.DefaultWebServicePath='';
function Sys$Services$_RoleService$get_defaultLoadCompletedCallback(){
if(arguments.length!==0)throw Error.parameterCount();
return this._defaultLoadCompletedCallback;}
function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value){
var e=Function._validateParams(arguments,[{name:"value",type:Function,mayBeNull:true}]);
if(e)throw e;
this._defaultLoadCompletedCallback=value;}
function Sys$Services$_RoleService$get_path(){
if(arguments.length!==0)throw Error.parameterCount();
return this._path||'';}
function Sys$Services$_RoleService$get_roles(){
if(arguments.length!==0)throw Error.parameterCount();
return Array.clone(this._roles);}
function Sys$Services$_RoleService$isUserInRole(role){
var e=Function._validateParams(arguments,[
{name:"role",type:String}]);
if(e)throw e;
var v=this._get_rolesIndex()[role.trim().toLowerCase()];
return!!v;}
function Sys$Services$_RoleService$load(loadCompletedCallback,failedCallback,userContext){
var e=Function._validateParams(arguments,[
{name:"loadCompletedCallback",type:Function,mayBeNull:true,optional:true},
{name:"failedCallback",type:Function,mayBeNull:true,optional:true},
{name:"userContext",mayBeNull:true,optional:true}]);
if(e)throw e;
Sys.Net.WebServiceProxy.invoke(
this._get_path(),"GetRolesForCurrentUser",
false,
{},
Function.createDelegate(this,this._onLoadComplete),
Function.createDelegate(this,this._onLoadFailed),
[loadCompletedCallback,failedCallback,userContext],
this.get_timeout());}
function Sys$Services$_RoleService$_get_path(){
var path=this.get_path();
if(!path||!path.length){
path=Sys.Services._RoleService.DefaultWebServicePath;}
if(!path||!path.length){
throw Error.invalidOperation(Sys.Res.servicePathNotSet);}
return path;}
function Sys$Services$_RoleService$_get_rolesIndex(){
if(!this._rolesIndex){
var index={};
for(var i=0;i<this._roles.length;i++){
index[this._roles[i].toLowerCase()]=true;}
this._rolesIndex=index;}
return this._rolesIndex;}
function Sys$Services$_RoleService$_onLoadComplete(result,context,methodName){
if(result&&!(result instanceof Array)){
throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,methodName,"Array"));}
this._roles=result;
this._rolesIndex=null;
var callback=context[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();
if(callback){
var userContext=context[2]||this.get_defaultUserContext();
var clonedResult=Array.clone(result);
callback(clonedResult,userContext,"Sys.Services.RoleService.load");}}
function Sys$Services$_RoleService$_onLoadFailed(err,context,methodName){
var callback=context[1]||this.get_defaultFailedCallback();
if(callback){
var userContext=context[2]||this.get_defaultUserContext();
callback(err,userContext,"Sys.Services.RoleService.load");}
else{
Sys.Net.WebServiceProxy._defaultFailedCallback(err,methodName);}}
Sys.Services._RoleService.prototype={
_defaultLoadCompletedCallback:null,
_rolesIndex:null,
_timeout:0,
_path:'',
get_defaultLoadCompletedCallback:Sys$Services$_RoleService$get_defaultLoadCompletedCallback,
set_defaultLoadCompletedCallback:Sys$Services$_RoleService$set_defaultLoadCompletedCallback,
get_path:Sys$Services$_RoleService$get_path,
get_roles:Sys$Services$_RoleService$get_roles,
isUserInRole:Sys$Services$_RoleService$isUserInRole,
load:Sys$Services$_RoleService$load,
_get_path:Sys$Services$_RoleService$_get_path,
_get_rolesIndex:Sys$Services$_RoleService$_get_rolesIndex,
_onLoadComplete:Sys$Services$_RoleService$_onLoadComplete,
_onLoadFailed:Sys$Services$_RoleService$_onLoadFailed}
Sys.Services._RoleService.registerClass('Sys.Services._RoleService',Sys.Net.WebServiceProxy);
Sys.Services.RoleService=new Sys.Services._RoleService();
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer=function Sys$Serialization$JavaScriptSerializer(){
if(arguments.length!==0)throw Error.parameterCount();}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs=[];
Sys.Serialization.JavaScriptSerializer._charsToEscape=[];
Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"','g');
Sys.Serialization.JavaScriptSerializer._escapeChars={};
Sys.Serialization.JavaScriptSerializer._escapeRegEx=new RegExp('["\\\\\\x00-\\x1F]','i');
Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal=new RegExp('["\\\\\\x00-\\x1F]','g');
Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]','g');
Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"','g');
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName='__type';
Sys.Serialization.JavaScriptSerializer._init=function Sys$Serialization$JavaScriptSerializer$_init(){
var replaceChars=['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\\u0007','\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\u0011','\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\u0019','\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f'];
Sys.Serialization.JavaScriptSerializer._charsToEscape[0]='\\';
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\']=new RegExp('\\\\','g');
Sys.Serialization.JavaScriptSerializer._escapeChars['\\']='\\\\';
Sys.Serialization.JavaScriptSerializer._charsToEscape[1]='"';
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"']=new RegExp('"','g');
Sys.Serialization.JavaScriptSerializer._escapeChars['"']='\\"';
for(var i=0;i<32;i++){
var c=String.fromCharCode(i);
Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2]=c;
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c]=new RegExp(c,'g');
Sys.Serialization.JavaScriptSerializer._escapeChars[c]=replaceChars[i];}}
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object,stringBuilder){
stringBuilder.append(object.toString());}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object,stringBuilder){
if(isFinite(object)){
stringBuilder.append(String(object));}
else{
throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);}}
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string,stringBuilder){
stringBuilder.append('"');
if(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)){
if(Sys.Serialization.JavaScriptSerializer._charsToEscape.length===0){
Sys.Serialization.JavaScriptSerializer._init();}
if(string.length<128){
string=string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,
function(x){return Sys.Serialization.JavaScriptSerializer._escapeChars[x];});}
else{
for(var i=0;i<34;i++){
var c=Sys.Serialization.JavaScriptSerializer._charsToEscape[i];
if(string.indexOf(c)!==-1){
if(Sys.Browser.agent===Sys.Browser.Opera||Sys.Browser.agent===Sys.Browser.FireFox){
string=string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]);}
else{
string=string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c],
Sys.Serialization.JavaScriptSerializer._escapeChars[c]);}}}}}
stringBuilder.append(string);
stringBuilder.append('"');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object,stringBuilder,sort,prevObjects){
var i;
switch(typeof object){
case'object':
if(object){
if(prevObjects){
for(var j=0;j<prevObjects.length;j++){
if(prevObjects[j]===object){
throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);}}}
else{
prevObjects=new Array();}
try{
Array.add(prevObjects,object);
if(Number.isInstanceOfType(object)){
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object,stringBuilder);}
else if(Boolean.isInstanceOfType(object)){
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object,stringBuilder);}
else if(String.isInstanceOfType(object)){
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object,stringBuilder);}
else if(Array.isInstanceOfType(object)){
stringBuilder.append('[');
for(i=0;i<object.length;++i){
if(i>0){
stringBuilder.append(',');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i],stringBuilder,false,prevObjects);}
stringBuilder.append(']');}
else{
if(Date.isInstanceOfType(object)){
stringBuilder.append('"\\/Date(');
stringBuilder.append(object.getTime());
stringBuilder.append(')\\/"');
break;}
var properties=[];
var propertyCount=0;
for(var name in object){
if(name.startsWith('$')){
continue;}
if(name===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&propertyCount!==0){
properties[propertyCount++]=properties[0];
properties[0]=name;}
else{
properties[propertyCount++]=name;}}
if(sort)properties.sort();
stringBuilder.append('{');
var needComma=false;
for(i=0;i<propertyCount;i++){
var value=object[properties[i]];
if(typeof value!=='undefined'&&typeof value!=='function'){
if(needComma){
stringBuilder.append(',');}
else{
needComma=true;}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i],stringBuilder,sort,prevObjects);
stringBuilder.append(':');
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value,stringBuilder,sort,prevObjects);}}
stringBuilder.append('}');}}
finally{
Array.removeAt(prevObjects,prevObjects.length - 1);}}
else{
stringBuilder.append('null');}
break;
case'number':
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object,stringBuilder);
break;
case'string':
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object,stringBuilder);
break;
case'boolean':
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object,stringBuilder);
break;
default:
stringBuilder.append('null');
break;}}
Sys.Serialization.JavaScriptSerializer.serialize=function Sys$Serialization$JavaScriptSerializer$serialize(object){
var e=Function._validateParams(arguments,[
{name:"object",mayBeNull:true}]);
if(e)throw e;
var stringBuilder=new Sys.StringBuilder();
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object,stringBuilder,false);
return stringBuilder.toString();}
Sys.Serialization.JavaScriptSerializer.deserialize=function Sys$Serialization$JavaScriptSerializer$deserialize(data,secure){
var e=Function._validateParams(arguments,[
{name:"data",type:String},
{name:"secure",type:Boolean,optional:true}]);
if(e)throw e;
if(data.length===0)throw Error.argument('data',Sys.Res.cannotDeserializeEmptyString);
try{
var exp=data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx,"$1new Date($2)");
if(secure&&Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(
exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx,'')))throw null;
return eval('('+ exp +')');}
catch(e){
throw Error.argument('data',Sys.Res.cannotDeserializeInvalidJson);}}
Sys.CultureInfo=function Sys$CultureInfo(name,numberFormat,dateTimeFormat){
var e=Function._validateParams(arguments,[
{name:"name",type:String},
{name:"numberFormat",type:Object},
{name:"dateTimeFormat",type:Object}]);
if(e)throw e;
this.name=name;
this.numberFormat=numberFormat;
this.dateTimeFormat=dateTimeFormat;}
function Sys$CultureInfo$_getDateTimeFormats(){
if(!this._dateTimeFormats){
var dtf=this.dateTimeFormat;
this._dateTimeFormats=
[dtf.MonthDayPattern,
dtf.YearMonthPattern,
dtf.ShortDatePattern,
dtf.ShortTimePattern,
dtf.LongDatePattern,
dtf.LongTimePattern,
dtf.FullDateTimePattern,
dtf.RFC1123Pattern,
dtf.SortableDateTimePattern,
dtf.UniversalSortableDateTimePattern];}
return this._dateTimeFormats;}
function Sys$CultureInfo$_getMonthIndex(value){
if(!this._upperMonths){
this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);}
return Array.indexOf(this._upperMonths,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrMonthIndex(value){
if(!this._upperAbbrMonths){
this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);}
return Array.indexOf(this._upperAbbrMonths,this._toUpper(value));}
function Sys$CultureInfo$_getDayIndex(value){
if(!this._upperDays){
this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);}
return Array.indexOf(this._upperDays,this._toUpper(value));}
function Sys$CultureInfo$_getAbbrDayIndex(value){
if(!this._upperAbbrDays){
this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);}
return Array.indexOf(this._upperAbbrDays,this._toUpper(value));}
function Sys$CultureInfo$_toUpperArray(arr){
var result=[];
for(var i=0,il=arr.length;i<il;i++){
result[i]=this._toUpper(arr[i]);}
return result;}
function Sys$CultureInfo$_toUpper(value){
return value.split("\u00A0").join(' ').toUpperCase();}
Sys.CultureInfo.prototype={
_getDateTimeFormats:Sys$CultureInfo$_getDateTimeFormats,
_getMonthIndex:Sys$CultureInfo$_getMonthIndex,
_getAbbrMonthIndex:Sys$CultureInfo$_getAbbrMonthIndex,
_getDayIndex:Sys$CultureInfo$_getDayIndex,
_getAbbrDayIndex:Sys$CultureInfo$_getAbbrDayIndex,
_toUpperArray:Sys$CultureInfo$_toUpperArray,
_toUpper:Sys$CultureInfo$_toUpper}
Sys.CultureInfo._parse=function Sys$CultureInfo$_parse(value){
var cultureInfo=Sys.Serialization.JavaScriptSerializer.deserialize(value);
return new Sys.CultureInfo(cultureInfo.name,cultureInfo.numberFormat,cultureInfo.dateTimeFormat);}
Sys.CultureInfo.registerClass('Sys.CultureInfo');
Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}');
if(typeof(__cultureInfo)==='undefined'){
var __cultureInfo='{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":false,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}}';}
Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;
Sys.UI.Behavior=function Sys$UI$Behavior(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
Sys.UI.Behavior.initializeBase(this);
this._element=element;
var behaviors=element._behaviors;
if(!behaviors){
element._behaviors=[this];}
else{
behaviors[behaviors.length]=this;}}
function Sys$UI$Behavior$get_element(){
if(arguments.length!==0)throw Error.parameterCount();
return this._element;}
function Sys$UI$Behavior$get_id(){
if(arguments.length!==0)throw Error.parameterCount();
var baseId=Sys.UI.Behavior.callBaseMethod(this,'get_id');
if(baseId)return baseId;
if(!this._element||!this._element.id)return'';
return this._element.id +'$'+ this.get_name();}
function Sys$UI$Behavior$get_name(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._name)return this._name;
var name=Object.getTypeName(this);
var i=name.lastIndexOf('.');
if(i!=-1)name=name.substr(i + 1);
if(!this.get_isInitialized())this._name=name;
return name;}
function Sys$UI$Behavior$set_name(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
if((value==='')||(value.charAt(0)===' ')||(value.charAt(value.length - 1)===' '))
throw Error.argument('value',Sys.Res.invalidId);
if(typeof(this._element[value])!=='undefined')
throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName,value));
if(this.get_isInitialized())throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
this._name=value;}
function Sys$UI$Behavior$initialize(){
Sys.UI.Behavior.callBaseMethod(this,'initialize');
var name=this.get_name();
if(name)this._element[name]=this;}
function Sys$UI$Behavior$dispose(){
Sys.UI.Behavior.callBaseMethod(this,'dispose');
if(this._element){
var name=this.get_name();
if(name){
this._element[name]=null;}
Array.remove(this._element._behaviors,this);
delete this._element;}}
Sys.UI.Behavior.prototype={
_name:null,
get_element:Sys$UI$Behavior$get_element,
get_id:Sys$UI$Behavior$get_id,
get_name:Sys$UI$Behavior$get_name,
set_name:Sys$UI$Behavior$set_name,
initialize:Sys$UI$Behavior$initialize,
dispose:Sys$UI$Behavior$dispose}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior',Sys.Component);
Sys.UI.Behavior.getBehaviorByName=function Sys$UI$Behavior$getBehaviorByName(element,name){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"name",type:String}]);
if(e)throw e;
var b=element[name];
return(b&&Sys.UI.Behavior.isInstanceOfType(b))?b:null;}
Sys.UI.Behavior.getBehaviors=function Sys$UI$Behavior$getBehaviors(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(!element._behaviors)return[];
return Array.clone(element._behaviors);}
Sys.UI.Behavior.getBehaviorsByType=function Sys$UI$Behavior$getBehaviorsByType(element,type){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true},
{name:"type",type:Type}]);
if(e)throw e;
var behaviors=element._behaviors;
var results=[];
if(behaviors){
for(var i=0,l=behaviors.length;i<l;i++){
if(type.isInstanceOfType(behaviors[i])){
results[results.length]=behaviors[i];}}}
return results;}
Sys.UI.VisibilityMode=function Sys$UI$VisibilityMode(){
if(arguments.length!==0)throw Error.parameterCount();
throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype={
hide:0,
collapse:1}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");
Sys.UI.Control=function Sys$UI$Control(element){
var e=Function._validateParams(arguments,[
{name:"element",domElement:true}]);
if(e)throw e;
if(typeof(element.control)!='undefined')throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);
Sys.UI.Control.initializeBase(this);
this._element=element;
element.control=this;}
function Sys$UI$Control$get_element(){
if(arguments.length!==0)throw Error.parameterCount();
return this._element;}
function Sys$UI$Control$get_id(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._element)return'';
return this._element.id;}
function Sys$UI$Control$set_id(value){
var e=Function._validateParams(arguments,[{name:"value",type:String}]);
if(e)throw e;
throw Error.invalidOperation(Sys.Res.cantSetId);}
function Sys$UI$Control$get_parent(){
if(arguments.length!==0)throw Error.parameterCount();
if(this._parent)return this._parent;
if(!this._element)return null;
var parentElement=this._element.parentNode;
while(parentElement){
if(parentElement.control){
return parentElement.control;}
parentElement=parentElement.parentNode;}
return null;}
function Sys$UI$Control$set_parent(value){
var e=Function._validateParams(arguments,[{name:"value",type:Sys.UI.Control}]);
if(e)throw e;
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
var parents=[this];
var current=value;
while(current){
if(Array.contains(parents,current))throw Error.invalidOperation(Sys.Res.circularParentChain);
parents[parents.length]=current;
current=current.get_parent();}
this._parent=value;}
function Sys$UI$Control$get_visibilityMode(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
return Sys.UI.DomElement.getVisibilityMode(this._element);}
function Sys$UI$Control$set_visibilityMode(value){
var e=Function._validateParams(arguments,[{name:"value",type:Sys.UI.VisibilityMode}]);
if(e)throw e;
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
Sys.UI.DomElement.setVisibilityMode(this._element,value);}
function Sys$UI$Control$get_visible(){
if(arguments.length!==0)throw Error.parameterCount();
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
return Sys.UI.DomElement.getVisible(this._element);}
function Sys$UI$Control$set_visible(value){
var e=Function._validateParams(arguments,[{name:"value",type:Boolean}]);
if(e)throw e;
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
Sys.UI.DomElement.setVisible(this._element,value)}
function Sys$UI$Control$addCssClass(className){
var e=Function._validateParams(arguments,[
{name:"className",type:String}]);
if(e)throw e;
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
Sys.UI.DomElement.addCssClass(this._element,className);}
function Sys$UI$Control$dispose(){
Sys.UI.Control.callBaseMethod(this,'dispose');
if(this._element){
this._element.control=undefined;
delete this._element;}
if(this._parent)delete this._parent;}
function Sys$UI$Control$onBubbleEvent(source,args){
var e=Function._validateParams(arguments,[
{name:"source"},
{name:"args",type:Sys.EventArgs}]);
if(e)throw e;
return false;}
function Sys$UI$Control$raiseBubbleEvent(source,args){
var e=Function._validateParams(arguments,[
{name:"source"},
{name:"args",type:Sys.EventArgs}]);
if(e)throw e;
var currentTarget=this.get_parent();
while(currentTarget){
if(currentTarget.onBubbleEvent(source,args)){
return;}
currentTarget=currentTarget.get_parent();}}
function Sys$UI$Control$removeCssClass(className){
var e=Function._validateParams(arguments,[
{name:"className",type:String}]);
if(e)throw e;
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
Sys.UI.DomElement.removeCssClass(this._element,className);}
function Sys$UI$Control$toggleCssClass(className){
var e=Function._validateParams(arguments,[
{name:"className",type:String}]);
if(e)throw e;
if(!this._element)throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
Sys.UI.DomElement.toggleCssClass(this._element,className);}
Sys.UI.Control.prototype={
_parent:null,
_visibilityMode:Sys.UI.VisibilityMode.hide,
get_element:Sys$UI$Control$get_element,
get_id:Sys$UI$Control$get_id,
set_id:Sys$UI$Control$set_id,
get_parent:Sys$UI$Control$get_parent,
set_parent:Sys$UI$Control$set_parent,
get_visibilityMode:Sys$UI$Control$get_visibilityMode,
set_visibilityMode:Sys$UI$Control$set_visibilityMode,
get_visible:Sys$UI$Control$get_visible,
set_visible:Sys$UI$Control$set_visible,
addCssClass:Sys$UI$Control$addCssClass,
dispose:Sys$UI$Control$dispose,
onBubbleEvent:Sys$UI$Control$onBubbleEvent,
raiseBubbleEvent:Sys$UI$Control$raiseBubbleEvent,
removeCssClass:Sys$UI$Control$removeCssClass,
toggleCssClass:Sys$UI$Control$toggleCssClass}
Sys.UI.Control.registerClass('Sys.UI.Control',Sys.Component);
Type.registerNamespace('Sys');
Sys.Res={"urlMustBeLessThan1024chars":"Die URL darf maximal 1024 Zeichen enthalten. Entsprechend kurz muss der Verlaufszustand sein.","argumentTypeName":"Der Wert ist kein Name eines vorhandenen Typs.","methodRegisteredTwice":"Die {0}-Methode wurde bereits registriert.","cantSetIdAfterInit":"Die ID-Eigenschaft kann für dieses Objekt nicht nach der Initialisierung festgelegt werden.","cantBeCalledAfterDispose":"Kann nach dem Verwerfen nicht aufgerufen werden.","componentCantSetIdAfterAddedToApp":"Die ID-Eigenschaft einer Komponente kann nicht festgelegt werden, nachdem sie dem Anwendungsobjekt hinzugefügt wurde.","behaviorDuplicateName":"Ein Verhalten mit dem Namen \"{0}\" ist bereits vorhanden, oder es ist der Name einer im Zielelement vorhandenen Eigenschaft.","notATypeName":"Der Wert ist kein gültiger Typname.","typeShouldBeTypeOrString":"Der Wert ist weder ein gültiger Typ noch ein gültiger Typname.","historyInvalidHistorySettingCombination":"enableHistory kann nicht auf \"false\" festgelegt werden, wenn ScriptManager.EnableHistory \"true\" ist.","stateMustBeStringDictionary":"Das Zustandsobjekt kann nur Felder aufweisen, die NULL oder Zeichenfolgenfelder sind.","boolTrueOrFalse":"Der Wert muss \"true\" oder \"false\" sein.","scriptLoadFailedNoHead":"Für ScriptLoader müssen Seiten ein \u003chead\u003e-Element enthalten.","stringFormatInvalid":"Die Formatzeichenfolge ist ungültig.","referenceNotFound":"Die Komponente \"{0}\" wurde nicht gefunden.","enumReservedName":"\"{0}\" ist ein reservierter Name, der nicht als Name für einen Enumerationswert verwendet werden kann.","eventHandlerNotFound":"Der Handler wurde nicht gefunden.","circularParentChain":"Die Kette der übergeordneten Steuerelemente darf keine Zirkelverweise haben.","undefinedEvent":"\"{0}\" ist kein Ereignis.","notAMethod":"{0} ist keine Methode.","propertyUndefined":"\"{0}\" ist keine Eigenschaft und kein vorhandenes Feld.","historyCannotEnableHistory":"enableHistory kann nicht nach der Initialisierung festgelegt werden.","eventHandlerInvalid":"Der Handler wurde nicht mithilfe der Sys.UI.DomEvent.addHandler-Methode hinzugefügt.","scriptLoadFailedDebug":"Fehler beim Laden des Skripts \"{0}\". Überprüfen Sie auf:\r\n Auf den Pfad kann nicht zugegriffen werden.\r\n Skriptfehler. (IE) Aktivieren Sie in den erweiterten Einstellungen das Anzeigen von Benachrichtigungen für alle Skriptfehler.\r\n Fehlender Aufruf von Sys.Application.notifyScriptLoaded().","propertyNotWritable":"\"{0}\" ist keine schreibbare Eigenschaft.","enumInvalidValueName":"\"{0}\" ist kein gültiger Name für einen Enumerationswert.","controlAlreadyDefined":"Dem Element ist bereits ein Steuerelement zugeordnet.","addHandlerCantBeUsedForError":"Sie können mit dieser Methode keinen Handler für das Fehlerereignis hinzufügen. Legen Sie stattdessen die window.onerror-Eigenschaft fest.","namespaceContainsObject":"Das Objekt {0} ist bereits vorhanden und ist kein Namespace.","cantAddNonFunctionhandler":"Ein Handler, der keine Funktion ist, kann nicht hinzugefügt werden.","invalidNameSpace":"Der Wert ist kein gültiger Namespacebezeichner.","notAnInterface":"Der Wert ist keine gültige Schnittstelle.","eventHandlerNotFunction":"Der Handler muss eine Funktion sein.","propertyNotAnArray":"\"{0}\" ist keine Array-Eigenschaft.","typeRegisteredTwice":"Der Typ {0} wurde bereits registriert. Möglicherweise ist der Typ mehrfach definiert, oder die den Typ definierende Skriptdatei wurde bereits geladen. Eine mögliche Ursache ist eine Änderung von Einstellungen während einer teilweisen Aktualisierung.","cantSetNameAfterInit":"Die name-Eigenschaft kann für dieses Objekt nicht nach der Initialisierung festgelegt werden.","historyMissingFrame":"Damit das Verlaufsfeature in Internet Explorer funktionsfähig ist, muss die Seite ein iFrame-Element mit der ID \"__historyFrame\" aufweisen, das auf eine Seite zeigt, die ihren Titel vom title-Abfragezeichenfolgenparameter erhält und Sys.Application._onIFrameLoad() für das übergeordnete Fenster aufruft. Legen Sie dazu im ScriptManager EnableHistory auf \"true\" fest.","appDuplicateComponent":"Zwei Komponenten mit derselben ID \"{0}\" können der Anwendung nicht hinzugefügt werden.","historyCannotAddHistoryPointWithHistoryDisabled":"Ein Verlaufspunkt kann nur hinzugefügt werden, wenn enableHistory auf \"true\" festgelegt ist.","appComponentMustBeInitialized":"Komponenten müssen initialisiert werden, bevor sie dem Anwendungsobjekt hinzugefügt werden.","baseNotAClass":"Der Wert ist keine Klasse.","methodNotFound":"Es wurde keine Methode mit dem Namen \"{0}\" gefunden.","arrayParseBadFormat":"Der Wert muss eine gültige Zeichenfolgendarstellung eines Arrays sein, die mit \"[\" beginnen und mit \"]\" enden muss.","stateFieldNameInvalid":"Zustandsfeldnamen dürfen keine Gleichheitszeichen (=) enthalten.","cantSetId":"Die ID-Eigenschaft kann für dieses Objekt nicht festgelegt werden.","historyMissingHiddenInput":"Damit das Verlaufsfeature in Safari 2 funktionsfähig ist, muss die Seite ein verborgenes Eingabeelement mit der ID \"__history\" enthalten.","stringFormatBraceMismatch":"Die Formatzeichenfolge enthält eine öffnende oder schließende geschweifte Klammer ohne Entsprechung","enumValueNotInteger":"Eine Enumerationsdefinition darf nur Ganzzahlwerte enthalten.","propertyNullOrUndefined":"Die Eigenschaften von \"{0}\" können nicht festgelegt werden, weil es einen NULL-Wert zurückgegeben hat.","argumentDomNode":"Der Wert muss ein DOM-Element oder ein Textknoten sein.","componentCantSetIdTwice":"Die ID-Eigenschaft einer Komponente kann höchstens einmal festgelegt werden.","createComponentOnDom":"Der Wert muss für Komponenten, die keine Steuerelemente oder Verhalten sind, NULL sein.","createNotComponent":"{0} ist nicht von Sys.Component abgeleitet.","createNoDom":"Der Wert darf für Steuerelemente und Verhalten nicht NULL sein.","cantAddWithoutId":"Eine Komponente ohne ID kann nicht hinzugefügt werden.","badTypeName":"Der Wert ist nicht der Name des Typs, der registriert wird, oder der Name ist ein reserviertes Wort.","argumentInteger":"Der Wert muss eine ganze Zahl sein.","scriptLoadMultipleCallbacks":"Das Skript \"{0}\" enthält mehrere Aufrufe von Sys.Application.notifyScriptLoaded(). Nur ein Aufruf ist zulässig.","invokeCalledTwice":"Invoke kann höchstens einmal aufgerufen werden.","webServiceFailed":"Fehler der {0}-Servermethode. Fehlermeldung: {1}","webServiceInvalidJsonWrapper":"Die {0}-Servermethode hat ungültige Daten zurückgegeben. Die d-Eigenschaft fehlt im JSON-Wrapper.","argumentType":"Das Objekt kann nicht in den erforderlichen Typ konvertiert werden.","argumentNull":"Der Wert darf nicht NULL sein.","controlCantSetId":"Die ID-Eigenschaft kann für ein Steuerelement nicht festgelegt werden.","formatBadFormatSpecifier":"Der Formatbezeichner war ungültig.","webServiceFailedNoMsg":"Fehler der {0}-Servermethode.","argumentDomElement":"Der Wert muss ein DOM-Element sein.","invalidExecutorType":"Es konnte kein gültiger Sys.Net.WebRequestExecutor aus {0} erstellt werden.","cannotCallBeforeResponse":"{0} kann nicht aufgerufen werden, wenn responseAvailable auf \"false\" festgelegt ist.","actualValue":"Der tatsächliche Wert war {0}.","enumInvalidValue":"\"{0}\" ist kein gültiger Wert für die Enumeration {1}.","scriptLoadFailed":"Das Skript \"{0}\" konnte nicht geladen werden.","parameterCount":"Parameteranzahlkonflikt","cannotDeserializeEmptyString":"Eine leere Zeichenfolge kann nicht deserialisiert werden.","formatInvalidString":"Die Eingabezeichenfolge hat das falsche Format.","invalidTimeout":"Der Wert muss größer als oder gleich Null sein.","cannotAbortBeforeStart":"Das Abbrechen ist nicht möglich, wenn der Executor nicht gestartet wurde.","argument":"Der Wert liegt außerhalb des erwarteten Bereichs.","cannotDeserializeInvalidJson":"Deserialisierung nicht möglich. Die Daten entsprechen keiner gültigen JSON.","invalidHttpVerb":"httpVerb kann nicht auf eine leere oder NULL-Zeichenfolge festgelegt werden.","nullWebRequest":"executeRequest kann nicht mit einer webRequest, die NULL ist, aufgerufen werden.","eventHandlerInvalid":"Der Handler wurde nicht mithilfe der Sys.UI.DomEvent.addHandler-Methode hinzugefügt.","cannotSerializeNonFiniteNumbers":"Unendliche Zahlen können nicht serialisiert werden.","argumentUndefined":"Der Wert darf nicht undefiniert sein.","webServiceInvalidReturnType":"Die {0}-Servermethode hat einen ungültigen Typ zurückgegeben. Erwarteter Typ: {1}","servicePathNotSet":"Der Pfad zum Webdienst wurde nicht festgelegt.","argumentTypeWithTypes":"Das Objekt mit dem Typ {0} kann nicht in den Typ {1} konvertiert werden.","cannotCallOnceStarted":"Nach dem Starten kann {0} nicht mehr aufgerufen werden.","badBaseUrl1":"Die Basis-URL enthält nicht://.","badBaseUrl2":"Die Basis-URL enthält keinen weiteren /.","badBaseUrl3":"Der letzte / kann in der Basis-URL nicht gefunden werden.","setExecutorAfterActive":"Der Executor kann nicht mehr festgelegt werden, nachdem er aktiviert wurde.","paramName":"Parametername: {0}","cannotCallOutsideHandler":"{0} kann außerhalb eines abgeschlossenen Ereignishandlers nicht aufgerufen werden.","cannotSerializeObjectWithCycle":"Ein Objekt mit einem Zirkelverweis kann nicht innerhalb der untergeordneten Eigenschaften serialisiert werden.","format":"Ein identifiziertes Element hat ein ungültiges Format.","assertFailedCaller":"Assertionsfehler: {0}\r\nbei {1}","argumentOutOfRange":"Das angegebene Argument liegt außerhalb des gültigen Wertebereichs.","webServiceTimedOut":"Timeout der {0}-Servermethode.","notImplemented":"Die Methode oder der Vorgang ist nicht implementiert.","assertFailed":"Assertionsfehler: {0}","invalidOperation":"Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.","breakIntoDebugger":"{0}\r\n\r\nIn den Debugger springen?"};