
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);