//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjax.js
// Microsoft AJAX Framework.
Function.__typeName ='Function';Function.createCallback =function(method,context){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(instance,method){return function(){return method.apply(instance,arguments);}
}
Function.emptyFunction =Function.emptyMethod =function(){}
Error.__typeName ='Error';Error.create =function(message,errorInfo){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(paramName,message){var displayMessage ="Sys.ArgumentException: "+(message ?message :Sys.RuntimeRes.argument);if (paramName){displayMessage +="\n"+String.format(Sys.RuntimeRes.paramName,paramName);}
var e =Error.create(displayMessage,{name:"Sys.ArgumentException",paramName:paramName });e.popStackFrame();return e;}
Error.argumentNull =function(paramName,message){var displayMessage ="Sys.ArgumentNullException: "+(message ?message :Sys.RuntimeRes.argumentNull);if (paramName){displayMessage +="\n"+String.format(Sys.RuntimeRes.paramName,paramName);}
var e =Error.create(displayMessage,{name:"Sys.ArgumentNullException",paramName:paramName });e.popStackFrame();return e;}
Error.argumentOutOfRange =function(paramName,actualValue,message){var displayMessage ="Sys.ArgumentOutOfRangeException: "+(message ?message :Sys.RuntimeRes.argumentOutOfRange);if (paramName){displayMessage +="\n"+String.format(Sys.RuntimeRes.paramName,paramName);}
if (typeof(actualValue)!=="undefined"&&actualValue !==null){displayMessage +="\n"+String.format(Sys.RuntimeRes.actualValue,actualValue);}
var e =Error.create(displayMessage,{name:"Sys.ArgumentOutOfRangeException",paramName:paramName,actualValue:actualValue
});e.popStackFrame();return e;}
Error.argumentType =function(paramName,actualType,expectedType,message){var displayMessage ="Sys.ArgumentTypeException: ";if (message){displayMessage +=message;}
else if (actualType &&expectedType){displayMessage +=String.format(Sys.RuntimeRes.argumentTypeWithTypes,actualType.getName(),expectedType.getName());}
else {displayMessage +=Sys.RuntimeRes.argumentType;}
if (paramName){displayMessage +="\n"+String.format(Sys.RuntimeRes.paramName,paramName);}
var e =Error.create(displayMessage,{name:"Sys.ArgumentTypeException",paramName:paramName,actualType:actualType,expectedType:expectedType
});e.popStackFrame();return e;}
Error.argumentUndefined =function(paramName,message){var displayMessage ="Sys.ArgumentUndefinedException: "+(message ?message :Sys.RuntimeRes.argumentUndefined);if (paramName){displayMessage +="\n"+String.format(Sys.RuntimeRes.paramName,paramName);}
var e =Error.create(displayMessage,{name:"Sys.ArgumentUndefinedException",paramName:paramName });e.popStackFrame();return e;}
Error.invalidOperation =function(message){var displayMessage ="Sys.InvalidOperationException: "+(message ?message :Sys.RuntimeRes.invalidOperation);var e =Error.create(displayMessage,{name:'Sys.InvalidOperationException'});e.popStackFrame();return e;}
Error.notImplemented =function(message){var displayMessage ="Sys.NotImplementedException: "+(message ?message :Sys.RuntimeRes.notImplemented);var e =Error.create(displayMessage,{name:'Sys.NotImplementedException'});e.popStackFrame();return e;}
Error.parameterCount =function(message){var displayMessage ="Sys.ParameterCountException: "+(message ?message :Sys.RuntimeRes.parameterCount);var e =Error.create(displayMessage,{name:'Sys.ParameterCountException'});e.popStackFrame();return e;}
Error.prototype.popStackFrame =function(){if (typeof(this.stack)==="undefined"||this.stack ===null ||typeof(this.fileName)==="undefined"||this.fileName ===null ||typeof(this.lineNumber)==="undefined"||this.lineNumber ===null){return;}
var stackFrames =this.stack.split("\n");var currentFrame =stackFrames[0];var pattern =this.fileName +":"+this.lineNumber;while(typeof(currentFrame)!=="undefined"&&currentFrame !==null &&currentFrame.indexOf(pattern)===-1){stackFrames.shift();currentFrame =stackFrames[0];}
var nextFrame =stackFrames[1];if (typeof(nextFrame)==="undefined"||nextFrame ===null){return;}
var nextFrameParts =nextFrame.match(/@(.*):(\d+)$/);if (typeof(nextFrameParts)==="undefined"||nextFrameParts ===null){return;}
this.fileName =nextFrameParts[1];this.lineNumber =parseInt(nextFrameParts[2]);stackFrames.shift();this.stack =stackFrames.join("\n");}
if (!window)this.window =this;window.Type =Function;window.__rootNamespaces =[];Type.prototype.callBaseMethod =function(instance,name,baseArguments){var baseMethod =this.getBaseMethod(instance,name);if (!baseArguments){return baseMethod.apply(instance);}
else {return baseMethod.apply(instance,baseArguments);}
}
Type.prototype.getBaseMethod =function(instance,name){var baseType =this.getBaseType();if (baseType){var baseMethod =baseType.prototype[name];return (baseMethod instanceof Function)?baseMethod :null;}
return null;}
Type.prototype.getBaseType =function(){return (typeof(this.__baseType)==="undefined")?null :this.__baseType;}
Type.prototype.getInterfaces =function(){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 (!result.contains(interfaceType)){result[result.length]=interfaceType;}
}
}
type =type.__baseType;}
return result;}
Type.prototype.getName =function(){return (typeof(this.__typeName)==="undefined")?"":this.__typeName;}
Type.prototype.implementsInterface =function(interfaceType){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 (interfaces.contains(interfaceType)){return cache[interfaceName]=true;}
}
baseType =baseType.__baseType;}
return cache[interfaceName]=false;}
Type.prototype.inheritsFrom =function(parentType){this.resolveInheritance();var baseType =this.__baseType;while (baseType){if (baseType ===parentType){return true;}
baseType =baseType.__baseType;}
return false;}
Type.prototype.initializeBase =function(instance,baseArguments){this.resolveInheritance();if (this.__baseType){if (!baseArguments){this.__baseType.apply(instance);}
else {this.__baseType.apply(instance,baseArguments);}
}
return instance;}
Type.prototype.isImplementedBy =function(instance){if (typeof(instance)==="undefined"||instance ===null)return false;var instanceType =Object.getType(instance);return !!(instanceType.implementsInterface &&instanceType.implementsInterface(this));}
Type.prototype.isInstanceOfType =function(instance){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(typeName,baseType,interfaceTypes){this.prototype.constructor =this;this.__typeName =typeName;this.__class =true;if (baseType){this.__baseType =baseType;this.__basePrototypePending =true;}
if (!window.__classes)window.__classes ={};window.__classes[typeName.toUpperCase()]=this;if (interfaceTypes){this.__interfaces =[];for (var i =2;i <arguments.length;i++){var interfaceType =arguments[i];this.__interfaces.push(interfaceType);}
}
return this;}
Type.prototype.registerInterface =function(typeName){this.prototype.constructor =this;this.__typeName =typeName;this.__interface =true;return this;}
Type.prototype.resolveInheritance =function(){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.createInstance =function(type){if (typeof(type)!=='function'){type =Type.parse(type);}
return new type();}
Type.getRootNamespaces =function(){return window.__rootNamespaces.clone();}
Type.isClass =function(type){if ((typeof(type)==='undefined')||(type ===null))return false;return !!type.__class;}
Type.isInterface =function(type){if ((typeof(type)==='undefined')||(type ===null))return false;return !!type.__interface;}
Type.isNamespace =function(object){if ((typeof(object)==='undefined')||(object ===null))return false;return !!object.__namespace;}
Type.parse =function(typeName,ns){var fn;if (ns){if (!window.__classes)return null;fn =window.__classes[ns.getName().toUpperCase()+'.'+typeName.toUpperCase()];return fn ||null;}
if (!typeName)return null;if (!Type.__htClasses){Type.__htClasses ={};}
fn =Type.__htClasses[typeName];if (!fn){fn =eval(typeName);Type.__htClasses[typeName]=fn;}
return fn;}
var registerNamespace =Type.registerNamespace =function(namespacePath){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 =rootObject[currentPart]={};if (i ===0){window.__rootNamespaces[window.__rootNamespaces.length]=ns;}
ns.__namespace =true;ns.__typeName =namespaceParts.slice(0,i +1).join('.');ns.getName =function(){return this.__typeName;}
}
rootObject =ns;}
}
Object.__typeName ='Object';Object.getType =function(instance){var ctor =instance.constructor;if (!ctor ||(typeof(ctor)!=="function")||!ctor.__typeName ||(ctor.__typeName ==='Object')){if (Sys &&Sys.UI &&Sys.UI.DomElement &&Sys.UI.DomElement.isInstanceOfType(instance)){return Sys.UI.DomElement;}
return Object;}
return ctor;}
Object.getTypeName =function(instance){return Object.getType(instance).getName();}
Boolean.__typeName ='Boolean';Boolean.parse =function(value){var v =value.trim().toLowerCase();if (v ==='false')return false;if (v ==='true')return true;}
Date.__typeName ='Date';Number.__typeName ='Number';Number.parse =function(value){return parseFloat(value);}
RegExp.__typeName ='RegExp';Array.__typeName ='Array';Array.prototype.add =Array.prototype.queue =function(item){this[this.length]=item;}
Array.prototype.addRange =function(items){this.push.apply(this,items);}
Array.prototype.clear =function(){this.length =0;}
Array.prototype.clone =function(){if (this.length ===1){return [this[0]];}
else {return Array.apply(null,this);}
}
Array.prototype.contains =Array.prototype.exists =function(item){return (this.indexOf(item)>=0);}
Array.prototype.dequeue =Array.prototype.shift;if (!Array.prototype.forEach){Array.prototype.forEach =function(method,instance){var length =this.length;for (var i =0;i <length;i++){var elt =this[i];if (typeof(elt)!=='undefined')method.call(instance,elt,i,this);}
}
}
if (!Array.prototype.indexOf){Array.prototype.indexOf =function(item,start){if (typeof(item)==="undefined")return -1;var length =this.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 (this[i]===item){return i;}
}
}
return -1;}
}
Array.prototype.insert =function(index,item){this.splice(index,0,item);}
Array.parse =function(value){if (!value)return [];return eval(value);}
Array.prototype.remove =function(item){var index =this.indexOf(item);if (index >=0){this.splice(index,1);}
return (index >=0);}
Array.prototype.removeAt =function(index){this.splice(index,1);}
String.__typeName ='String';String.prototype.endsWith =function(suffix){return (this.substr(this.length -suffix.length)===suffix);}
String.format =function(format,args){var result ='';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))){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)break;var brace =format.slice(i,close).split(':');var argNumber =parseInt(brace[0])+1;var arg =arguments[argNumber];if (typeof(arg)==="undefined"||arg ===null){arg ='';}
if (arg.toFormattedString)result +=arg.toFormattedString(brace[1]?brace[1]:'');else
result +=arg.toString();i =close +1;}
return result;}
String.prototype.startsWith =function(prefix){return (this.substr(0,prefix.length)===prefix);}
String.prototype.trim =function(){return this.replace(/^\s+|\s+$/g,'');}
String.prototype.trimEnd =String.prototype.rTrim =function(){return this.replace(/\s+$/,'');}
String.prototype.trimStart =String.prototype.lTrim =function(){return this.replace(/^\s+/,'');}
Type.registerNamespace('Sys');Sys.RuntimeRes ={actualValue:'Actual value was {0}.',argument:'Value does not fall within the expected range.',argumentNull:'Value cannot be null.',argumentOutOfRange:'Specified argument was out of the range of valid values.',argumentType:"Object cannot be converted to the required type.",argumentTypeWithTypes:"Object of type '{0}' cannot be converted to type '{1}'.",argumentUndefined:'Value cannot be undefined.',invalidOperation:'Operation is not valid due to the current state of the object.',notImplemented:'The method or operation is not implemented.',parameterCount:'Parameter count mismatch.',paramName:'Parameter name: {0}'}
Sys.IDisposable =function(){}
Sys.IDisposable.prototype ={}
Sys.IDisposable.registerInterface('Sys.IDisposable');Sys.StringBuilder =function(initialText){this._parts =[];this.append(initialText)}
Sys.StringBuilder.prototype ={append:function(text){if (typeof(text)!=="undefined"&&text !==null){this._parts.push(text);}
},appendLine:function(text){this.append(text);this.append('\r\n');},clear:function(){this._parts =[];},isEmpty:function(){return (this._parts.length ===0);},toString:function(separator){return this._parts.join(separator ||'');}
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');if (!window.XMLHttpRequest){window.XMLHttpRequest =function(){var progIDs =['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];for (var i =0;i <progIDs.length;i++){try {var xmlHttp =new ActiveXObject(progIDs[i]);return xmlHttp;}
catch (ex){}
}
return null;}
}
Sys.Browser ={};Sys.Browser.InternetExplorer ={};Sys.Browser.Firefox ={};Sys.Browser.Safari ={};Sys.Browser.Opera ={};Sys.Browser.agent =null;Sys.Browser.hasDebuggerStatement =false;Sys.Browser.name =navigator.appName;Sys.Browser.version =parseFloat(navigator.appVersion);if (navigator.userAgent.indexOf(' MSIE ')>-1){Sys.Browser.agent =Sys.Browser.InternetExplorer;Sys.Browser.version =parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);Sys.Browser.hasDebuggerStatement =true;}
else if (navigator.userAgent.indexOf(' Firefox/')>-1){Sys.Browser.agent =Sys.Browser.Firefox;Sys.Browser.version =parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name ='Firefox';Sys.Browser.hasDebuggerStatement =true;}
else if (navigator.userAgent.indexOf(' Safari/')>-1){Sys.Browser.agent =Sys.Browser.Safari;Sys.Browser.version =parseFloat(navigator.userAgent.match(/Safari\/(\d+\.\d+)/)[1]);Sys.Browser.name ='Safari';}
else if (navigator.userAgent.indexOf('Opera/')>-1){Sys.Browser.agent =Sys.Browser.Opera;}
Type.registerNamespace('Sys.UI');Sys.Res ={assertFailed:'Assertion Failed: {0}',assertFailedCaller:'Assertion Failed: {0}\r\nat {1}',breakIntoDebugger:'{0}\r\n\r\nBreak into debugger?',enumInvalidValue:"'{0}' is not a valid value for enum {1}.",eventHandlerInvalid:'Handler was not added through the Sys.UI.DomEvent.addHandler method.',badBaseUrl1:'Base URL does not contain ://.',badBaseUrl2:'Base URL does not contain another /.',badBaseUrl3:'Cannot find last / in base URL.',cannotAbortBeforeStart:'Cannot abort when executor has not started.',cannotCallBeforeResponse:'Cannot call {0} when responseAvailable is false.',cannotCallOnceStarted:'Cannot call {0} once started.',cannotCallOutsideHandler:'Cannot call {0} outside of a completed event handler.',cannotDeserializeEmptyString:'Cannot deserialize empty string.',cannotSerializeNonFiniteNumbers:'Cannot serialize non finite numbers.',controlCantSetId:"The id property can't be set on a control.",invalidExecutorType:'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.',invalidHttpVerb:'httpVerb cannot be set to an empty or null string.',invalidTimeout:'Value must be greater than or equal to zero.',invokeCalledTwice:'Cannot call invoke more than once.',nullWebRequest:'Cannot call executeRequest with a null webRequest.',setExecutorAfterActive:'Cannot set executor after it has become active.',webServiceFailed:"The server method '{0}' failed with the following error: {1}",webServiceFailedNoMsg:"The server method '{0}' failed.",webServiceTimedOut:"The server method '{0}' timed out.",invalidServiceUrl:'Cannot be set to an empty or null string.'}
Sys._Debug =function(){}
Sys._Debug.prototype ={assert:function(condition,message,displayCaller){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);}
}
},fail:function(message){if (Debug &&Debug.writeln)Debug.writeln(message);if (Sys.Browser.hasDebuggerStatement){eval('debugger');}
}
}
Sys._Debug.registerClass('Sys._Debug');window.debug =new Sys._Debug();window.debug.isDebug =false;function Sys$Enum$parse(value){var values =this.prototype;if (!this.__flags){var val =values[value.trim()];if (typeof(val)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value,this.__typeName));return val;}
else {var parts =value.split(',');var v =0;for (var i =parts.length -1;i >=0;i--){var part =parts[i].trim();var val =values[part];if (typeof(val)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,part,this.__typeName));v |=val;}
return v;}
}
function Sys$Enum$toString(value){if ((typeof(value)==='undefined')||(value ===null))return this.__string;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.add(kvp.key);v -=vali;if (v ===0)break;}
}
if (parts.length &&v ===0)return parts.reverse().join(', ');}
return '';}
Type.prototype.registerEnum =function(name,flags){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;}
Type.isEnum =function(type){if ((typeof(type)==='undefined')||(type ===null))return false;return !!type.__enum;}
Type.isFlags =function(type){if ((typeof(type)==='undefined')||(type ===null))return false;return !!type.__flags;}
Sys.EventHandlerList =function(){this._list ={};}
Sys.EventHandlerList.prototype ={addHandler:function(id,handler){this._getEvent(id,true).add(handler);},removeHandler:function(id,handler){var evt =this._getEvent(id);if (!evt)return;evt.remove(handler);},getHandler:function(id){var evt =this._getEvent(id);if (!evt ||(evt.length ===0))return null;evt =evt.clone();if (!evt._handler){evt._handler =function(source,args){for (var i =0,l =evt.length;i <l;i++){evt[i](source,args);}
};}
return evt._handler;},_getEvent:function(id,create){if (!this._list[id]){if (!create)return null;this._list[id]=[];}
return this._list[id];}
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');Sys.EventArgs =function(){}
Sys.EventArgs.registerClass('Sys.EventArgs');Sys.EventArgs.Empty =new Sys.EventArgs();Sys.CancelEventArgs =function(){Sys.CancelEventArgs.initializeBase(this);this._cancel =false;}
Sys.CancelEventArgs.prototype ={get_cancel:function(){return this._cancel;},set_cancel:function(value){this._cancel =value;}
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs',Sys.EventArgs);Sys.INotifyPropertyChange =function(){}
Sys.INotifyPropertyChange.prototype ={}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');Sys.PropertyChangedEventArgs =function(propertyName){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName =propertyName;}
Sys.PropertyChangedEventArgs.prototype ={get_propertyName:function(){return this._propertyName;}
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs',Sys.EventArgs);Sys.INotifyDisposing =function(){}
Sys.INotifyDisposing.prototype ={}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component =function(){if (Sys.Application)Sys.Application.registerDisposableObject(this);}
Sys.Component.prototype ={_id:null,_idSet:false,_initialized:false,_updating:false,get_events:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},get_id:function(){return this._id;},set_id:function(value){this._id =value;this._idSet =true;},get_isInitialized:function(){return this._initialized;},get_isUpdating:function(){return this._updating;},add_disposing:function(handler){this.get_events().addHandler("disposing",handler);},remove_disposing:function(handler){this.get_events().removeHandler("disposing",handler);},add_propertyChanged:function(handler){this.get_events().addHandler("propertyChanged",handler);},remove_propertyChanged:function(handler){this.get_events().removeHandler("propertyChanged",handler);},beginUpdate:function(){this._updating =true;},dispose:function(){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);},endUpdate:function(){this._updating =false;if (!this._initialized)this.initialize();this.updated();},initialize:function(){this._initialized =true;},raisePropertyChanged:function(propertyName){if (!this._events)return;var handler =this._events.getHandler("propertyChanged");if (handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}
},updated:function(){}
}
Sys.Component.registerClass('Sys.Component',null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(target,properties){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 ((typeof(val)!=='object')||(isObject &&(typeof(targetVal)==='undefined'))){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);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);Sys$Component$_setProperties(current,val);}
}
}
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]);setter.apply(component,[reference]);}
}
var $create =Sys.Component.create =function(type,properties,events,references,element){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){component["add_"+name](events[name]);}
}
app._createdComponents.add(component);if (component.get_id()){app.addComponent(component);}
if (creatingComponents){if (references){app._addComponentToSecondPass(component,references);}
else {component.endUpdate();}
}
else {if (references){Sys$Component$_setReferences(component,references);}
component.endUpdate();}
return component;}
Sys.UI.MouseButton =function(){throw Error.notImplemented();}
Sys.UI.MouseButton.prototype ={leftButton:0,middleButton:1,rightButton:2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key =function(){throw Error.notImplemented();}
Sys.UI.Key.prototype ={backspace:8,tab:9,"return":13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,windowsDelete:46,"delete":127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.DomEvent =function(eventObject){var e =eventObject;this.rawEvent =e;this.altKey =e.altKey;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;this.charCode =e.charCode ?e.charCode :e.keyCode;this.clientX =e.clientX;this.clientY =e.clientY;this.ctrlKey =e.ctrlKey;this.target =e.target ?e.target :e.srcElement;if (this.target){var loc =Sys.UI.DomElement.getLocation(this.target);this.offsetX =e.offsetX ?e.offsetX :window.pageXOffset +e.clientX -loc.x;this.offsetY =e.offsetY ?e.offsetY :window.pageYOffset +e.clientY -loc.y;}
this.screenX =e.screenX;this.screenY =e.screenY;this.shiftKey =e.shiftKey;this.type =e.type;}
Sys.UI.DomEvent.prototype ={preventDefault:function(){if (this.rawEvent.preventDefault){this.rawEvent.preventDefault();}
else if (window.event){window.event.returnValue =false;}
},stopPropagation:function(){if (this.rawEvent.stopPropagation){this.rawEvent.stopPropagation();}
else if (window.event){window.event.cancelBubble =true;}
}
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');var $addHandler =Sys.UI.DomEvent.addHandler =function(element,eventName,handler){if (element.addEventListener){if (!handler._browserHandler){handler._browserHandler =function(e){handler.call(element,new Sys.UI.DomEvent(e));}
}
element.addEventListener(eventName,handler._browserHandler,false);}
else if (element.attachEvent){if (!handler._browserHandler){handler._browserHandler =function(){handler.call(element,new Sys.UI.DomEvent(window.event));}
}
element.attachEvent('on'+eventName,handler._browserHandler);}
}
var $removeHandler =Sys.UI.DomEvent.removeHandler =function(element,eventName,handler){var browserHandler =handler._browserHandler;if (element.removeEventListener){element.removeEventListener(eventName,browserHandler,false);}
else if (element.detachEvent){element.detachEvent('on'+eventName,browserHandler);}
}
Sys.IContainer =function(){}
Sys.IContainer.prototype ={}
Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs =function(components){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components =components;}
Sys.ApplicationLoadEventArgs.prototype ={get_components:function(){return this._components;}
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs',Sys.EventArgs);Sys._Application =function(){Sys._Application.initializeBase(this);this._disposableObjects =[];this._components ={};this._createdComponents =[];this._secondPassComponents =[];this._loadHandlerDelegate =Function.createDelegate(this,this._loadHandler);this._unloadHandlerDelegate =Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);}
Sys._Application.prototype ={_creatingComponents:false,_disposing:false,get_isCreatingComponents:function(){return this._creatingComponents;},add_load:function(handler){this.get_events().addHandler("load",handler);},remove_load:function(handler){this.get_events().removeHandler("load",handler);},add_init:function(handler){if (this._initialized){handler(this,Sys.EventArgs.Empty);}
else {this.get_events().addHandler("init",handler);}
},remove_init:function(handler){this.get_events().removeHandler("init",handler);},add_unload:function(handler){this.get_events().addHandler("unload",handler);},remove_unload:function(handler){this.get_events().removeHandler("unload",handler);},addComponent:function(component){this._components[component.get_id()]=component;},beginCreateComponents:function(){this._creatingComponents =true;},dispose:function(){if (!this._disposing){this._disposing =true;if (window.pageUnload){window.pageUnload(this,Sys.EventArgs.Empty);}
var unloadHandler =this.get_events().getHandler("unload");if (unloadHandler){unloadHandler(this,Sys.EventArgs.Empty);}
var disposableObjects =this._disposableObjects.clone();for (var i =0,l =disposableObjects.length;i <l;i++){disposableObjects[i].dispose();}
this._disposableObjects.clear();Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);Sys._Application.callBaseMethod(this,'dispose');}
},endCreateComponents:function(){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;},findComponent:function(id,parent){return (parent ?((Sys.IContainer.isInstanceOfType(parent))?parent.findComponent(id):parent[id]||null):Sys.Application._components[id]||null);},getComponents:function(){var res =[];var components =this._components;for (var name in components){res[res.length]=components[name];}
return res;},initialize:function(){if (!this._initialized){Sys._Application.callBaseMethod(this,'initialize');var handler =this.get_events().getHandler("init");if (handler){this.beginCreateComponents();handler(this,Sys.EventArgs.Empty);this.endCreateComponents();}
}
this.raiseLoad();},registerDisposableObject:function(object){if (!this._disposing){this._disposableObjects[this._disposableObjects.length]=object;}
},raiseLoad:function(){var h =this.get_events().getHandler("load");var args =new Sys.ApplicationLoadEventArgs(this._createdComponents.clone());if (h){h(this,args);}
if (window.pageLoad){window.pageLoad(this,args);}
this._createdComponents =[];},removeComponent:function(component){var id =component.get_id();if (id)delete this._components[id];},unregisterDisposableObject:function(object){if (!this._disposing){this._disposableObjects.remove(object);}
},_addComponentToSecondPass:function(component,references){this._secondPassComponents.add({component:component,references:references});},_loadHandler:function(event){this.initialize();},_unloadHandler:function(event){this.dispose();}
}
Sys._Application.registerClass('Sys._Application',Sys.Component,Sys.IContainer);Sys.Application =new Sys._Application();var $find =Sys.Application.findComponent;Type.registerNamespace('Sys.Net');Sys.Net.WebRequestExecutor =function(){this._webRequest =null;this._resultObject =null;}
Sys.Net.WebRequestExecutor.prototype ={get_webRequest:function(){return this._webRequest;},_set_webRequest:function(value){this._webRequest =value;},get_started:function(){throw Error.notImplemented();},get_responseAvailable:function(){throw Error.notImplemented();},get_timedOut:function(){throw Error.notImplemented();},get_aborted:function(){throw Error.notImplemented();},get_responseData:function(){throw Error.notImplemented();},get_statusCode:function(){throw Error.notImplemented();},get_statusText:function(){throw Error.notImplemented();},get_xml:function(){throw Error.notImplemented();},get_object:function(){if (!this._resultObject){this._resultObject =Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());}
return this._resultObject;},executeRequest:function(){throw Error.notImplemented();},abort:function(){throw Error.notImplemented();},getResponseHeader:function(header){throw Error.notImplemented();},getAllResponseHeaders:function(){throw Error.notImplemented();}
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');window.XMLDOM =function(markup){if (!window.DOMParser){var progIDs =['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];for (var i =0;i <progIDs.length;i++){try {var xmlDOM =new ActiveXObject(progIDs[i]);xmlDOM.async =false;xmlDOM.loadXML(markup);xmlDOM.setProperty('SelectionLanguage','XPath');return xmlDOM;}
catch (ex){}
}
return null;}
else {var domParser =new window.DOMParser();return domParser.parseFromString(markup,'text/xml');}
}
Sys.Net.XMLHttpExecutor =function(){Sys.Net.XMLHttpExecutor.initializeBase(this);var _this =this;this._xmlHttpRequest =null;this._webRequest =null;this._responseAvailable =false;this._timedOut =false;this._timer =null;this._aborted =false;this._started =false;this._onReadyStateChange =function (){if (_this._xmlHttpRequest.readyState ===4 ){_this._clearTimer();_this._responseAvailable =true;_this._webRequest.completed(Sys.EventArgs.Empty);if (_this._xmlHttpRequest !=null){_this._xmlHttpRequest.onreadystatechange =Function.emptyMethod;_this._xmlHttpRequest =null;}
}
}
this._clearTimer =function(){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;}
}
}
Sys.Net.XMLHttpExecutor.prototype ={get_timedOut:function(){return this._timedOut;},get_started:function(){return this._started;},get_responseAvailable:function(){return this._responseAvailable;},get_aborted:function(){return this._aborted;},executeRequest:function(){this._webRequest =this.get_webRequest();var body =this._webRequest.get_body();var headers =this._webRequest.get_headers();this._xmlHttpRequest =new XMLHttpRequest();this._xmlHttpRequest.onreadystatechange =this._onReadyStateChange;var verb =this._webRequest.get_httpVerb();this._xmlHttpRequest.open(verb,this._webRequest.getResolvedUrl(),true );if (headers){for (var header in headers){var val =headers[header];if (typeof(val)!=="function")this._xmlHttpRequest.setRequestHeader(header,val);}
}
if (verb.toLowerCase()==="post"){if ((headers ===null)||!headers['Content-Type']){this._xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}
if (!body){body ="";}
}
var timeout =this._webRequest.get_timeout();if (timeout >0){this._timer =window.setTimeout(Function.createDelegate(this,this._onTimeout),timeout);}
this._xmlHttpRequest.send(body);this._started =true;},getResponseHeader:function(header){var result;try {result =this._xmlHttpRequest.getResponseHeader(header);} catch (e){}
if (!result)result ="";return result;},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders();},get_responseData:function(){return this._xmlHttpRequest.responseText;},get_statusCode:function(){return this._xmlHttpRequest.status;},get_statusText:function(){return this._xmlHttpRequest.statusText;},get_xml:function(){var xml =this._xmlHttpRequest.responseXML;if (xml ===null ||!xml.documentElement){xml =new XMLDOM(this._xmlHttpRequest.responseText);if (xml ===null ||!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.tagName ==="root"&&xml.documentElement.firstChild &&xml.documentElement.firstChild.tagName ==="parsererror"){return null;}
return xml;},abort:function(){if (this._aborted ||this._responseAvailable ||this._timedOut)return;this._aborted =true;this._clearTimer();if (this._xmlHttpRequest &&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange =Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest =null;var handler =this._webRequest._get_eventHandlerList().getHandler("completed");if (handler){handler(this,Sys.EventArgs.Empty);}
}
}
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor',Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager =function(){this._this =this;this._defaultTimeout =0;this._defaultExecutorType ="Sys.Net.XMLHttpExecutor";}
Sys.Net._WebRequestManager.prototype ={add_invokingRequest:function(handler){this._get_eventHandlerList().addHandler("invokingRequest",handler);},remove_invokingRequest:function(handler){this._get_eventHandlerList().removeHandler("invokingRequest",handler);},add_completedRequest:function(handler){this._get_eventHandlerList().addHandler("completedRequest",handler);},remove_completedRequest:function(handler){this._get_eventHandlerList().removeHandler("completedRequest",handler);},_get_eventHandlerList:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},get_defaultTimeout:function(){return this._defaultTimeout;},set_defaultTimeout:function(value){this._defaultTimeout =value;},get_defaultExecutorType:function(){return this._defaultExecutorType;},set_defaultExecutorType:function(value){this._defaultExecutorType =value;},executeRequest:function(webRequest){var executor =webRequest.get_executor();if (!executor){var failed =false;try {var executorType =eval(this._defaultExecutorType);executor =new executorType();} catch (e){failed =true;}
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.registerClass('Sys.Net._WebRequestManager');Sys.Net.WebRequestManager =new Sys.Net._WebRequestManager();Sys.Net.NetworkRequestEventArgs =function(webRequest){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest =webRequest;}
Sys.Net.NetworkRequestEventArgs.prototype ={get_webRequest:function(){return this._webRequest;}
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs',Sys.CancelEventArgs);Sys.Net.WebRequest =function(){this._url ="";this._headers ={};this._body =null;this._userContext =null;this._httpVerb =null;this._executor =null;this._invokeCalled =false;this._timeout =0;}
Sys.Net.WebRequest.prototype ={add_completed:function(handler){this._get_eventHandlerList().addHandler("completed",handler);},remove_completed:function(handler){this._get_eventHandlerList().removeHandler("completed",handler);},completed:function(eventArgs){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);}
},_get_eventHandlerList:function(){if (!this._events){this._events =new Sys.EventHandlerList();}
return this._events;},get_url:function(){return this._url;},set_url:function(value){this._url =value;},get_headers:function(){return this._headers;},get_httpVerb:function(){if (this._httpVerb ===null){if (this._body ===null){return "GET";}
return "POST";}
return this._httpVerb;},set_httpVerb:function(value){this._httpVerb =value;},get_body:function(){return this._body;},set_body:function(value){this._body =value;},get_userContext:function(){return this._userContext;},set_userContext:function(value){this._userContext =value;},get_executor:function(){return this._executor;},set_executor:function(value){this._executor =value;this._executor._set_webRequest(this);},get_timeout:function(){if (this._timeout ===0){return Sys.Net.WebRequestManager.get_defaultTimeout();}
return this._timeout;},set_timeout:function(value){this._timeout =value;},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url);},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled =true;}
}
Sys.Net.WebRequest._resolveUrl =function(url,baseUrl){if (url &&url.indexOf('://')!==-1){return url;}
if (!baseUrl ||baseUrl.length ===0){var baseElement =document.getElementsByTagName('base')[0];if (baseElement &&baseElement.href &&baseElement.href.length >0){baseUrl =baseElement.href;}
else {baseUrl =document.URL;}
}
var qsStart =baseUrl.indexOf('?');if (qsStart !==-1){baseUrl =baseUrl.substr(0,qsStart);}
baseUrl =baseUrl.substr(0,baseUrl.lastIndexOf('/')+1);if (!url ||url.length ===0){return baseUrl;}
if (url.charAt(0)==='/'){var slashslash =baseUrl.indexOf('://');var nextSlash =baseUrl.indexOf('/',slashslash +3);return baseUrl.substr(0,nextSlash)+url;}
else {var lastSlash =baseUrl.lastIndexOf('/');return baseUrl.substr(0,lastSlash+1)+url;}
}
Sys.Net.WebRequest._createQueryString =function(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(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._WebMethod =function(proxy,methodName,fullName,useGet){this._proxy =proxy;this._fullMethodName =fullName;this._methodName =methodName
this._useGet =useGet;}
Sys.Net._WebMethod.prototype ={addHeaders:function(headers){headers['Content-Type']='application/json';},getUrl:function(params){if (!this._useGet ||!params)params ={};return Sys.Net.WebRequest._createUrl(this._proxy._get_path()+"/js/"+this._methodName,params );},getBody:function(params){if (this._useGet)return null;var body =Sys.Serialization.JavaScriptSerializer.serialize(params);if (body ==="{}")return "";return body;},_execute:function(params){return this._invokeInternal.apply(this,arguments);},_invokeInternal:function(params,onSuccess,onFailure,userContext){var methodName =this._fullMethodName;if (onSuccess ===null ||typeof onSuccess ==='undefined')onSuccess =this._proxy.get_defaultSucceededCallback();if (onFailure ===null ||typeof onFailure ==='undefined')onFailure =this._proxy.get_defaultFailedCallback();if (userContext ===null ||typeof userContext ==='undefined')userContext =this._proxy.get_defaultUserContext();var request =new Sys.Net.WebRequest();this.addHeaders(request.get_headers());request.set_url(this.getUrl(params));if (!params)params ={};request.set_body(this.getBody(params));request.add_completed(onComplete);var timeout =this._proxy.get_timeout();if (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){}
if (((statusCode <200)||(statusCode >=300))||Sys.Net.WebServiceError.isInstanceOfType(result)){if (onFailure){if (!result ||!Sys.Net.WebServiceError.isInstanceOfType(result)){result =new Sys.Net.WebServiceError(false ,String.format(Sys.Res.webServiceFailedNoMsg,methodName),"","");}
result._statusCode =statusCode;onFailure(result,userContext,methodName);}
}
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);}
}
}
return request;}
}
Sys.Net._WebMethod.registerClass('Sys.Net._WebMethod');Sys.Net._WebMethod._generateTypedConstructor =function(type){return function(properties){this.__type =type;if (properties){for (var name in properties){this[name]=properties[name];}
}
}
}
Sys.Net._WebMethod._invoke =function(proxy,methodName,fullName,useGet){var method =new Sys.Net._WebMethod(proxy,methodName,fullName,useGet);var callMethodArgs =new Array();for (var i=4;i<arguments.length;i++)callMethodArgs[i-4]=arguments[i];return method._execute.apply(method,callMethodArgs);}
Sys.Net._WebMethod._createProxyMethod =function(proxy,methodName,fullName,useGet){var numOfParams =arguments.length-4;var createWebMethodArguments =arguments;return function(){var args ={};for (var i=0;i<numOfParams;i++){args[createWebMethodArguments[i+4]]=arguments[i];}
var callMethodArgs =[this ,methodName,fullName,useGet,args ];for (var i=0;i+numOfParams<arguments.length;i++)callMethodArgs[i+5]=arguments[numOfParams+i];return Sys.Net._WebMethod._invoke.apply(null,callMethodArgs);}
}
Sys.Net.WebServiceError =function(timedOut,message,stackTrace,exceptionType){this._timedOut =timedOut;this._message =message;this._stackTrace =stackTrace;this._exceptionType =exceptionType;this._statusCode =-1;}
Sys.Net.WebServiceError.prototype ={get_timedOut:function(){return this._timedOut;},get_statusCode:function(){return this._statusCode;},get_message:function(){return this._message;},get_stackTrace:function(){return this._stackTrace;},get_exceptionType:function(){return this._exceptionType;}
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');Type.registerNamespace('Sys.Services');Sys.Services._ProfileService =function(){Sys.Services._ProfileService.initializeBase(this);this.properties ={};}
Sys.Services._ProfileService.WebServicePath ='ScriptServices/Microsoft/Web/Profile/ProfileService.asmx';Sys.Services._ProfileService.prototype ={_defaultFailedCallback:null,_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:'',_timeout:0,get_defaultFailedCallback:function(){return this._defaultFailedCallback;},set_defaultFailedCallback:function(value){this._defaultFailedCallback =value;},get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback;},set_defaultLoadCompletedCallback:function(value){this._defaultLoadCompletedCallback =value;},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback;},set_defaultSaveCompletedCallback:function(value){this._defaultSaveCompletedCallback =value;},get_path:function(){return this._path;},set_path:function(value){if((!value)||(!value.length)){value ='';}
this._path =value;},get_timeout:function(){return this._timeout;},set_timeout:function(value){this._timeout =value;},_get_path:function(){var path =this.get_path();return path.length >0 ?path :Sys.Services._ProfileService.WebServicePath;},load:function(propertyNames,loadCompletedCallback,failedCallback,userContext){var parameters ={};var methodName;var fullMethodName;if(!propertyNames){methodName ="GetAllPropertiesForCurrentUser";fullMethodName ="Microsoft.Web.Profile.ProfileService.GetAllPropertiesForCurrentUser";}
else {methodName ="GetPropertiesForCurrentUser";fullMethodName ="Microsoft.Web.Profile.ProfileService.GetPropertiesForCurrentUser";parameters ={properties:this._clonePropertyNames(propertyNames)};}
Sys.Net._WebMethod._invoke(this,methodName,fullMethodName,false,parameters,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[loadCompletedCallback,failedCallback,userContext]);},save:function(propertyNames,saveCompletedCallback,failedCallback,userContext){var flattenedProperties =this._flattenProperties(propertyNames,this.properties);Sys.Net._WebMethod._invoke(this,"SetPropertiesForCurrentUser","Microsoft.Web.Profile.ProfileService.SetPropertiesForCurrentUser",false,{values:flattenedProperties },Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[saveCompletedCallback,failedCallback,userContext]);},_clonePropertyNames:function(arr){var nodups =[];var seen ={};for(var i=0;i <arr.length;i++){var prop =arr[i];if(!seen[prop]){nodups.add(prop);seen[prop]=true;};}
return nodups;},_flattenProperties:function(propertyNames,properties,groupName){var flattenedProperties ={};var val;var key;if(propertyNames &&propertyNames.length ==0){return flattenedProperties;}
for (var property in properties){val =properties[property];key =groupName ?groupName +"."+property :property;if(Sys.Services.ProfileGroup.isInstanceOfType(val)){var groupProperties =this._flattenProperties(propertyNames,val,key);for(var subKey in groupProperties){var subVal =groupProperties[subKey];flattenedProperties[subKey]=subVal;}
}
else {if(!propertyNames ||propertyNames.indexOf(key)!=-1){flattenedProperties[key]=val;}
}
}
return flattenedProperties;},_onLoadComplete:function(result,context,methodName){var unflattened =this._unflattenProperties(result);for(var name in unflattened){this.properties[name]=unflattened[name];}
var userCallback =context[0];var callback =userCallback ?userCallback :this._defaultLoadCompletedCallback;if(callback){callback(result.length,context[2],"Sys.Services.ProfileService.load");}
},_onLoadFailed:function(err,context,methodName){var userCallback =context[1];var callback =userCallback ?userCallback :this._defaultFailedCallback;if(callback){callback(err,context[2],"Sys.Services.ProfileService.load");}
},_onSaveComplete:function(result,context,methodName){var userCallback =context[0];var userContext =context[2];var callback =userCallback ?userCallback :this._defaultSaveCompletedCallback;if(callback){callback(result,userContext,"Sys.Services.ProfileService.save");}
},_onSaveFailed:function(err,context,methodName){var userCallback =context[1];var userContext =context[2];var callback =userCallback ?userCallback :this._defaultFailedCallback;if(callback){callback(err,userContext,"Sys.Services.ProfileService.save");}
},_unflattenProperties:function(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.registerClass('Sys.Services._ProfileService');Sys.Services.ProfileService =new Sys.Services._ProfileService();Sys.Services.ProfileGroup =function(properties){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.initializeBase(this);}
Sys.Services._AuthenticationService.WebServicePath ='ScriptServices/Microsoft/Web/Security/AuthenticationService.asmx';Sys.Services._AuthenticationService.prototype ={_defaultFailedCallback:null,_defaultLoginCompletedCallback:null,_defaultLogoutCompletedCallback:null,_path:'',_timeout:0,_authenticated:false,get_defaultFailedCallback:function(){return this._defaultFailedCallback;},set_defaultFailedCallback:function(value){this._defaultFailedCallback =value;},get_defaultLoginCompletedCallback:function(){return this._defaultLoginCompletedCallback;},set_defaultLoginCompletedCallback:function(value){this._defaultLoginCompletedCallback =value;},get_defaultLogoutCompletedCallback:function(){return this._defaultLogoutCompletedCallback;},set_defaultLogoutCompletedCallback:function(value){this._defaultLogoutCompletedCallback =value;},get_isLoggedIn:function(){return this._authenticated;},get_path:function(){return this._path;},set_path:function(value){if((!value)||(!value.length)){value ='';}
this._path =value;},get_timeout:function(){return this._timeout;},set_timeout:function(value){this._timeout =value;},_set_authenticated:function(authenticated){this._authenticated =authenticated;},_get_path:function(){var path =this.get_path();return path.length >0 ?path :Sys.Services._AuthenticationService.WebServicePath;},login:function(username,password,isPersistent,customInfo,redirectUrl,loginCompletedCallback,failedCallback,userContext){Sys.Net._WebMethod._invoke(this,"Login","Microsoft.Web.Security.AuthenticationService.Login",false,{userName:username,password:password,createPersistentCookie:isPersistent },Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[username,password,isPersistent,redirectUrl,loginCompletedCallback,failedCallback,userContext]);},logout:function(redirectUrl,logoutCompletedCallback,failedCallback,userContext){Sys.Net._WebMethod._invoke(this,"Logout","Microsoft.Web.Security.AuthenticationService.Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[redirectUrl,logoutCompletedCallback,failedCallback,userContext]);},_onLoginComplete:function(result,context,methodName){var redirectUrl =context[3];var userCallback =context[4];var userContext =context[6];var callback =userCallback ?userCallback :this._defaultLoginCompletedCallback;if(result){this._authenticated =true;if(redirectUrl &&redirectUrl.length >0){window.location =redirectUrl;}
else if(callback){callback(true,userContext,"Sys.Services.AuthenticationService.login");}
}
else if (callback){callback(false,userContext,"Sys.Services.AuthenticationService.login");}
},_onLoginFailed:function(err,context,methodName){var userCallback =context[5];var callback =userCallback ?userCallback :this._defaultFailedCallback;if(callback){callback(err,context[6],"Sys.Services.AuthenticationService.login");}
},_onLogoutComplete:function(result,context,methodName){var redirectUrl =context[0];var userCallback =context[1];var userContext =context[3];var callback =userCallback ?userCallback :this._defaultLogoutCompletedCallback;this._authenticated =false;if(redirectUrl &&redirectUrl.length >0){window.location =redirectUrl;}
else if (callback){callback(null,userContext,"Sys.Services.AuthenticationService.logout");}
},_onLogoutFailed:function(err,context,methodName){var userCallback =context[2];var callback =userCallback ?userCallback :this._defaultFailedCallback;if(callback){callback(err,context[3],"Sys.Services.AuthenticationService.logout");}
}
}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService');Sys.Services.AuthenticationService =new Sys.Services._AuthenticationService();Type.registerNamespace('Sys.Serialization');Sys.Serialization.JavaScriptSerializer =function(){}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');Sys.Serialization.JavaScriptSerializer._stringRegEx =new RegExp('["\b\f\n\r\t\\\\\x00-\x1F]','i');Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =function(object,stringBuilder,sort){var i;switch (typeof object){case 'object':if (object){if (Array.isInstanceOfType(object)){stringBuilder.append('[');for (i =0;i <object.length;++i){if (i >0){stringBuilder.append(',');}
stringBuilder.append(Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i],stringBuilder));}
stringBuilder.append(']');}
else {if (Date.isInstanceOfType(object)){stringBuilder.append('"@');stringBuilder.append(''+object.getTime());stringBuilder.append('@"');break;}
var properties =[];var propertyCount =0;for (var name in object){if (name.startsWith('$')){continue;}
properties[propertyCount++]=name;}
if (sort)properties.sort();stringBuilder.append('{');var needComma =false;for (i=0;i<propertyCount;i++){var value =object[properties[i]];if (typeof value !=='undefined'&&typeof value !=='function'){if (needComma){stringBuilder.append(',');}
else {needComma =true;}
stringBuilder.append(Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i],stringBuilder,sort));stringBuilder.append(':');stringBuilder.append(Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value,stringBuilder,sort));}
}
stringBuilder.append('}');}
}
else {stringBuilder.append('null');}
break;case 'number':if (isFinite(object)){stringBuilder.append(String(object));}
else {throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);}
break;case 'string':stringBuilder.append('"');if (Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)){var length =object.length;for (i =0;i <length;++i){var curChar =object.charAt(i);if (curChar >=' '){if (curChar ==='\\'||curChar ==='"'){stringBuilder.append('\\');}
stringBuilder.append(curChar);}
else {switch (curChar){case '\b':stringBuilder.append('\\b');break;case '\f':stringBuilder.append('\\f');break;case '\n':stringBuilder.append('\\n');break;case '\r':stringBuilder.append('\\r');break;case '\t':stringBuilder.append('\\t');break;default:stringBuilder.append('\\u00');if (curChar.charCodeAt()<16)stringBuilder.append('0');stringBuilder.append(curChar.charCodeAt().toString(16));}
}
}
} else {stringBuilder.append(object);}
stringBuilder.append('"');break;case 'boolean':stringBuilder.append(object.toString());break;default:stringBuilder.append('null');break;}
}
Sys.Serialization.JavaScriptSerializer.serialize =function(object){var stringBuilder =new Sys.StringBuilder();Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object,stringBuilder,false);return stringBuilder.toString();}
Sys.Serialization.JavaScriptSerializer.deserialize =function(data){if (data.length ===0)throw Error.argument('data',Sys.Res.cannotDeserializeEmptyString);var exp =data.replace(new RegExp('\\"@(-?[0-9]+)@\\"','g'),"new Date($1)");exp =exp.replace(new RegExp('\\"@_Error(.*)Error_@\\"','g'),"new Sys.Net.WebServiceError$1");return eval('('+exp +')');}
Sys.UI.DomElement =function(){}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');Sys.UI.DomElement.isInstanceOfType =function(instance){return !!((instance ===window)||(instance ===document)||(window.HTMLElement &&(instance instanceof HTMLElement))||(typeof(instance.nodeName)==='string'));}
Sys.UI.DomElement.addCssClass =function(element,className){if (!Sys.UI.DomElement.containsCssClass(element,className)){element.className +=' '+className;}
}
Sys.UI.DomElement.containsCssClass =function(element,className){return element.className.split(' ').contains(className);}
Sys.UI.DomElement.getBounds =function(element){var offset =Sys.UI.DomElement.getLocation(element);return {x:offset.x,y:offset.y,width:element.offsetWidth,height:element.offsetHeight };}
var $get =Sys.UI.DomElement.getElementById =function(id,element){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;}
Sys.UI.DomElement.getLocation =function(element){var offsetX =0;var offsetY =0;var parent;for (parent =element;parent;parent =parent.offsetParent){if (parent.offsetLeft){offsetX +=parent.offsetLeft;}
if (parent.offsetTop){offsetY +=parent.offsetTop;}
}
return {x:offsetX,y:offsetY };}
Sys.UI.DomElement.removeCssClass =function(element,className){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.setAccessibilityAttribute =function(element,name,value){if (element.setAttributeNS){element.setAttributeNS("http://www.w3.org/2005/07/aaa",name,value);}
}
Sys.UI.DomElement.setLocation =function(element,x,y){var style =element.style;style.position ='absolute';style.left =x +"px";style.top =y +"px";}
Sys.UI.DomElement.toggleCssClass =function(element,className){if (Sys.UI.DomElement.containsCssClass(element,className)){Sys.UI.DomElement.removeCssClass(element,className);}
else {Sys.UI.DomElement.addCssClass(element,className);}
}
Sys.UI.Behavior =function(element){Sys.UI.Behavior.initializeBase(this);this._element =element;var behaviors =element._behaviors;if (!behaviors){element._behaviors =[this];}
else {behaviors[behaviors.length]=this;}
}
Sys.UI.Behavior.prototype ={_name:null,get_element:function(){return this._element;},get_id:function(){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();},get_name:function(){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;},set_name:function(value){this._name =value;},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,'initialize');var name =this.get_name();if (name)this._element[name]=this;},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,'dispose');if (this._element){var name =this.get_name();if (name){this._element[name]=null;}
this._element._behaviors.remove(this);delete this._element;}
}
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior',Sys.Component);Sys.UI.Behavior.getBehaviorByName =function(element,name){var b =element[name];return (b &&Sys.UI.Behavior.isInstanceOfType(b))?b :null;}
Sys.UI.Behavior.getBehaviors =function(element){if (!element._behaviors)return [];return element._behaviors.clone();}
Sys.UI.Behavior.getBehaviorsByType =function(element,type){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(){throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype ={hide:0,collapse:1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control =function(element){Sys.UI.Control.initializeBase(this);this._element =element;element.control =this;this._oldDisplayMode =this._element.style.display;if (!this._oldDisplayMode ||(this._oldDisplayMode =='none')){this._oldDisplayMode ='';}
}
Sys.UI.Control.prototype ={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:function(){return this._element;},get_id:function(){if (!this._element)return '';return this._element.id;},set_id:function(value){throw Error.invalidOperation(Sys.Res.cantSetId);},get_parent:function(){if (this._parent){return this._parent;}
else {var parentElement =this._element.parentNode;while (parentElement){if (parentElement.control){return parentElement.control;}
parentElement =parentElement.parentNode;}
return null;}
},set_parent:function(value){this._parent =value;},get_role:function(){return "";},get_visibilityMode:function(){return this._visibilityMode;},set_visibilityMode:function(value){if (this._visibilityMode !==value){this._visibilityMode =value;if (this.get_visible()===false){if (this._visibilityMode ===Sys.UI.VisibilityMode.hide){this._element.style.display =this._oldDisplayMode;}
else {this._element.style.display ='none';}
}
}
this._visibilityMode =value;},get_visible:function(){return (this._element.style.visibility !='hidden');},set_visible:function(value){if (value !=this.get_visible()){this._element.style.visibility =value ?'visible':'hidden';if (value ||(this._visibilityMode ===Sys.UI.VisibilityMode.hide)){this._element.style.display =this._oldDisplayMode;}
else {this._element.style.display ='none';}
}
},dispose:function(){Sys.UI.Control.callBaseMethod(this,'dispose');if (this._element){this._element.control =null;delete this._element;}
},initialize:function(){Sys.UI.Control.callBaseMethod(this,'initialize');var elt =this._element;if (elt.setAttributeNS){elt.setAttributeNS("http://www.w3.org/TR/xhtml2","role",this.get_role());}
},onBubbleEvent:function(source,args){return false;},raiseBubbleEvent:function(source,args){var currentTarget =this.get_parent();while (currentTarget){if (currentTarget.onBubbleEvent(source,args)){return;}
currentTarget =currentTarget.get_parent();}
}
}
Sys.UI.Control.registerClass('Sys.UI.Control',Sys.Component);///////////////////////////////////////////////////////////////////////////////
Sys.UI._Timer =function(element){Sys.UI._Timer.initializeBase(this,[element]);this._interval =60000;this._enabled =true;this._postbackPending =false;this._raiseTickDelegate =null;this._endRequestHandlerDelegate =null;this._timer =null;this._pageRequestManager =null;}
Sys.UI._Timer.prototype ={get_enabled:function(){return this._enabled;},set_enabled:function(value){this._enabled =value;},get_interval:function(){return this._interval;},set_interval:function(value){this._interval =value;},dispose:function(){this._stopTimer();if(this._pageRequestManager !==null){this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);}
Sys.UI._Timer.callBaseMethod(this,"dispose");},_doPostback:function(){__doPostBack(this.get_id(),'');},_handleEndRequest:function(sender,arg){var dataItem =arg.get_dataItems()[this.get_id()];if (dataItem){this._update(dataItem[0],dataItem[1]);}
if ((this._postbackPending ===true)&&(this._pageRequestManager !==null)&&(!pageRequestManager.get_isInAsyncPostBack())){this._postbackPending =false;this._doPostback();}
},initialize:function(){Sys.UI._Timer.callBaseMethod(this,'initialize');this._raiseTickDelegate =Function.createDelegate(this,this._raiseTick);this._endRequestHandlerDelegate =Function.createDelegate(this,this._handleEndRequest);if (Sys.WebForms &&Sys.WebForms.PageRequestManager){this._pageRequestManager =Sys.WebForms.PageRequestManager.getInstance();}
if (this._pageRequestManager !==null ){this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);}
if(this.get_enabled()){this._startTimer();}
},_raiseTick:function(){if ((this._pageRequestManager ===null)||(!this._pageRequestManager.get_isInAsyncPostBack())){this._doPostback();} else {this._postBackPending =true;}
},_startTimer:function(){this._timer =window.setInterval(Function.createDelegate(this,this._raiseTick),this.get_interval());},_stopTimer:function(){if (this._timer !==null){window.clearInterval(this._timer);this._timer =null;} },_update:function(enabled,interval){var stopped =!this.get_enabled();var intervalChanged=(this.get_interval()!==interval);if ((!stopped)&&((!enabled)||(intervalChanged))){this._stopTimer();stopped =true;} this.set_enabled(enabled);this.set_interval(interval);if ((this.get_enabled())&&(stopped)){this._startTimer();}
}
}
Sys.UI._Timer.registerClass('Sys.UI._Timer',Sys.UI.Control);