﻿Error.__typeName='Error';Error.__class=true;Error.create=function Error$create(message,errorInfo){var e=new Error(message);e.message=message;if(e.description==e.message){delete e.description;} if(errorInfo){for(var v in errorInfo){e[v]=errorInfo[v];}} e.popStackFrame();window._lastError=e;return e;}
Error.argument=function Error$argument(paramName,message){var displayMessage=(message?message:Sys.Res.argument);var e=Error.create(displayMessage,{name:"Sys.ArgumentException",paramName:paramName});e.popStackFrame();return e;}
Error.argumentNull=function Error$argumentNull(paramName,message){var displayMessage="Sys.ArgumentNullException: "+(message?message:Sys.Res.argumentNull);var e=Error.create(displayMessage,{name:"Sys.ArgumentNullException",paramName:paramName});e.popStackFrame();return e;}
Error.argumentOutOfRange=function Error$argumentOutOfRange(paramName,actualValue,message){var displayMessage=(message?message:Sys.Res.argumentOutOfRange);var e=Error.create(displayMessage,{name:"Sys.ArgumentOutOfRangeException",paramName:paramName,actualValue:actualValue});e.popStackFrame();return e;}
Error.argumentType=function Error$argumentType(paramName,actualType,expectedType,message){var displayMessage="Sys.ArgumentTypeException: ";if(message){displayMessage+=message;} else if(actualType&&expectedType){displayMessage+=String.format(Sys.Res.argumentTypeWithTypes,actualType.getName(),expectedType.getName());} else{displayMessage+=Sys.Res.argumentType;} if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);} var e=Error.create(displayMessage,{name:"Sys.ArgumentTypeException",paramName:paramName,actualType:actualType,expectedType:expectedType});e.popStackFrame();return e;}
Error.argumentUndefined=function Error$argumentUndefined(paramName,message){var displayMessage="Sys.ArgumentUndefinedException: "+(message?message:Sys.Res.argumentUndefined);if(paramName){displayMessage+="\n"+String.format(Sys.Res.paramName,paramName);} var e=Error.create(displayMessage,{name:"Sys.ArgumentUndefinedException",paramName:paramName});e.popStackFrame();return e;}
Error.parameterCount=function Error$parameterCount(message){var displayMessage="Sys.ParameterCountException: "+(message?message:Sys.Res.parameterCount);var e=Error.create(displayMessage,{name:'Sys.ParameterCountException'});e.popStackFrame();return e;}
Error.format=function Error$format(message){var displayMessage="Sys.FormatException: "+(message?message:Sys.Res.format);var e=Error.create(displayMessage,{name:'Sys.FormatException'});e.popStackFrame();return e;}
Error.invalidOperation=function Error$invalidOperation(message){var displayMessage=message?message:Sys.Res.invalidOperation;var e=Error.create(displayMessage,{name:'Sys.InvalidOperationException'});e.popStackFrame();return e;}
Error.notImplemented=function Error$notImplemented(message){var e=Function._validateParams(arguments,[{name:"message",type:String,mayBeNull:true,optional:true}]);if(e)throw e;var displayMessage="Sys.NotImplementedException: "+(message?message:Sys.Res.notImplemented);var e=Error.create(displayMessage,{name:'Sys.NotImplementedException'});e.popStackFrame();return e;}
Error.message=function Error$invalidOperation(message){var e=Error.create(message,{showMessage:true});e.popStackFrame();return e;}
Error.abort=function Error$invalidOperation(message){if(message){alert(message);} var e=Error.create(null,{isAbort:true});e.popStackFrame();return e;}
Error.prototype.popStackFrame=function Error$popStackFrame(){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");}
Function.__typeName='Function';Function.__class=true;Function.emptyFunction=Function.emptyMethod=function Function$emptyMethod(){}
Function.createCallback=function Function$createCallback(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);}}
var $createDelegate=Function.createDelegate=function Function$createDelegate(instance,method){if(typeof(method)=="string"){var methodName=method;method=instance[methodName];if(!method){throw Error.invalidOperation("事件代码 "+methodName+" 不能为空，类名 "+Object.getTypeName(instance));}} return function Function$delegate(){return method.apply(instance,arguments);}}
Function._validateParams=function Function$_validateParams(params,expectedParams){var e;e=Function._validateParameterCount(params,expectedParams);if(e){e.popStackFrame();return e;} for(var i=0;i<params.length;i++){var expectedParam=expectedParams[Math.min(i,expectedParams.length-1)];var paramName=expectedParam.name;if(expectedParam.parameterArray){paramName+="["+(i-expectedParams.length+1)+"]";} e=Function._validateParameter(params[i],expectedParam,paramName);if(e){e.popStackFrame();return e;}} return null;}
Function._validateParameterCount=function Function$_validateParameterCount(params,expectedParams){var maxParams=expectedParams.length;var minParams=0;for(var i=0;i<expectedParams.length;i++){if(expectedParams[i].parameterArray){maxParams=Number.MAX_VALUE;} else if(!expectedParams[i].optional){minParams++;}} if(params.length<minParams||params.length>maxParams){var e=Error.parameterCount();e.popStackFrame();return e;} return null;}
Function._validateParameter=function Function$_validateParameter(param,expectedParam,paramName){var e;var expectedType=expectedParam.type;var expectedInteger=!!expectedParam.integer;var expectedDomElement=!!expectedParam.domElement;var mayBeNull=!!expectedParam.mayBeNull;e=Function._validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName);if(e){e.popStackFrame();return e;} var expectedElementType=expectedParam.elementType;var elementMayBeNull=!!expectedParam.elementMayBeNull;if(expectedType===Array&&typeof(param)!=="undefined"&&param!==null&&(expectedElementType||!elementMayBeNull)){var expectedElementInteger=!!expectedParam.elementInteger;var expectedElementDomElement=!!expectedParam.elementDomElement;for(var i=0;i<param.length;i++){var elem=param[i];e=Function._validateParameterType(elem,expectedElementType,expectedElementInteger,expectedElementDomElement,elementMayBeNull,paramName+"["+i+"]");if(e){e.popStackFrame();return e;}}} return null;}
Function._validateParameterType=function Function$_validateParameterType(param,expectedType,expectedInteger,expectedDomElement,mayBeNull,paramName){var e;if(typeof(param)==="undefined"){if(mayBeNull){return null;} else{e=Error.argumentUndefined(paramName);e.popStackFrame();return e;}} if(param===null){if(mayBeNull){return null;} else{e=Error.argumentNull(paramName);e.popStackFrame();return e;}} if(expectedType&&expectedType.__enum){if(typeof(param)!=='number'){e=Error.argumentType(paramName,Object.getType(param),expectedType);e.popStackFrame();return e;} if((param%1)===0){var values=expectedType.prototype;if(!expectedType.__flags||(param===0)){for(var i in values){if(values[i]===param)return null;}} else{var v=param;for(var i in values){var vali=values[i];if(vali===0)continue;if((vali&param)===vali){v-=vali;} if(v===0)return null;}}} e=Error.argumentOutOfRange(paramName,param,String.format(Sys.Res.enumInvalidValue,param,expectedType.getName()));e.popStackFrame();return e;} if(expectedDomElement){var val;if(typeof(param.nodeType)!=='number'){var doc=param.ownerDocument||param.document||param;if(doc!=param){var w=doc.defaultView||doc.parentWindow;val=(w!=param)&&!(w.document&&param.document&&(w.document===param.document));} else{val=(typeof(doc.body)==='undefined');}} else{val=(param.nodeType===3);} if(val){e=Error.argument(paramName,Sys.Res.argumentDomElement);e.popStackFrame();return e;}} if(expectedType&&!expectedType.isInstanceOfType(param)){e=Error.argumentType(paramName,Object.getType(param),expectedType);e.popStackFrame();return e;} if(expectedType===Number&&expectedInteger){if((param%1)!==0){e=Error.argumentOutOfRange(paramName,param,Sys.Res.argumentInteger);e.popStackFrame();return e;}} return null;};if(!window)this.window=this;window.Type=Function;Type.__fullyQualifiedIdentifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$","i");Type.__identifierRegExp=new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$","i");Type.parse=function Type$parse(typeName,ns){var fn;if(ns){fn=Sys.__upperCaseTypes[ns.getName().toUpperCase()+'.'+typeName.toUpperCase()];return fn||null;} if(!typeName)return null;if(!Type.__htClasses){Type.__htClasses={};} fn=Type.__htClasses[typeName];if(!fn){fn=eval(typeName);if(typeof(fn)!=='function')throw Error.argument('typeName',Sys.Res.notATypeName);Type.__htClasses[typeName]=fn;} return fn;}
Type.getRootNamespaces=function Type$getRootNamespaces(){return Array.clone(Sys.__rootNamespaces);}
Type.registerNamespace=function Type$registerNamespace(namespacePath){if(!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath))throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);var rootObject=window;var namespaceParts=namespacePath.split('.');for(var i=0;i<namespaceParts.length;i++){var currentPart=namespaceParts[i];var ns=rootObject[currentPart];if(ns&&!ns.__namespace){throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject,namespaceParts.splice(0,i+1).join('.')));} if(!ns){ns=rootObject[currentPart]={__namespace:true,__typeName:namespaceParts.slice(0,i+1).join('.')};if(i===0){Sys.__rootNamespaces[Sys.__rootNamespaces.length]=ns;} var parsedName;try{parsedName=eval(ns.__typeName);} catch(e){parsedName=null;} if(parsedName!==ns){delete rootObject[currentPart];throw Error.argument('namespacePath',Sys.Res.invalidNameSpace);} ns.getName=function ns$getName(){return this.__typeName;}} rootObject=ns;}};window.Sys={__namespace:true,__typeName:"Sys",getName:function(){return"Sys";},__upperCaseTypes:{}};Sys.__rootNamespaces=[Sys];Sys.__registeredTypes={};Type.isInstanceOfPrimitiveType=function(obj){var type=typeof(obj);if(type=="string"||type=="number"||type=="boolean"){return true;} else{return Date.isInstanceOfType(obj);}}
Type.prototype.getName=function Type$getName(){return(typeof(this.__typeName)==="undefined")?"":this.__typeName;}
Type.prototype.registerClass=function Type$registerClass(typeName,baseType,interfaceTypes){if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);var parsedName;try{parsedName=eval(typeName);} catch(e){throw Error.argument('typeName',Sys.Res.argumentTypeName);} if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);if((arguments.length>1)&&(typeof(baseType)==='undefined'))throw Error.argumentUndefined('baseType');if(baseType&&!baseType.__class)throw Error.argument('baseType',Sys.Res.baseNotAClass);this.prototype.constructor=this;this.__typeName=typeName;this.__class=true;if(baseType){this.__baseType=baseType;this.__basePrototypePending=true;} Sys.__upperCaseTypes[typeName.toUpperCase()]=this;if(interfaceTypes){this.__interfaces=[];this.resolveInheritance();for(var i=2,l=arguments.length;i<l;i++){var interfaceType=arguments[i];if(!interfaceType.__interface)throw Error.argument('interfaceTypes['+(i-2)+']',Sys.Res.notAnInterface);for(var methodName in interfaceType.prototype){var method=interfaceType.prototype[methodName];if(!this.prototype[methodName]){this.prototype[methodName]=method;}} this.__interfaces.push(interfaceType);}} Sys.__registeredTypes[typeName]=true;return this;}
Type.prototype.registerInterface=function Type$registerInterface(typeName){if(!Type.__fullyQualifiedIdentifierRegExp.test(typeName))throw Error.argument('typeName',Sys.Res.notATypeName);var parsedName;try{parsedName=eval(typeName);} catch(e){throw Error.argument('typeName',Sys.Res.argumentTypeName);} if(parsedName!==this)throw Error.argument('typeName',Sys.Res.badTypeName);Sys.__upperCaseTypes[typeName.toUpperCase()]=this;this.prototype.constructor=this;this.__typeName=typeName;this.__interface=true;Sys.__registeredTypes[typeName]=true;return this;}
Type.isNamespace=function Type$isNamespace(object){if((typeof(object)==='undefined')||(object===null))return false;return!!object.__namespace;}
Type.isClass=function Type$isClass(type){if((typeof(type)==='undefined')||(type===null))return false;return!!type.__class;}
Type.isInterface=function Type$isInterface(type){if((typeof(type)==='undefined')||(type===null))return false;return!!type.__interface;}
Type.prototype.isInstanceOfType=function Type$isInstanceOfType(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.resolveInheritance=function Type$resolveInheritance(){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.prototype.inheritsFrom=function Type$inheritsFrom(parentType){this.resolveInheritance();var baseType=this.__baseType;while(baseType){if(baseType===parentType){return true;} baseType=baseType.__baseType;} return false;}
Type.prototype.initializeBase=function Type$initializeBase(instance,baseArguments){if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);this.resolveInheritance();if(this.__baseType){if(!baseArguments){this.__baseType.apply(instance);} else{this.__baseType.apply(instance,baseArguments);}} return instance;}
Type.prototype.getBaseType=function Type$getBaseType(){return(typeof(this.__baseType)==="undefined")?null:this.__baseType;}
Type.prototype.getBaseMethod=function Type$getBaseMethod(instance,name){if(!this.isInstanceOfType(instance))throw Error.argumentType('instance',Object.getType(instance),this);var baseType=this.getBaseType();if(baseType){var baseMethod=baseType.prototype[name];return(baseMethod instanceof Function)?baseMethod:null;} return null;}
Type.prototype.callBaseMethod=function Type$callBaseMethod(instance,name,baseArguments){var baseMethod=this.getBaseMethod(instance,name);if(!baseMethod)throw Error.invalidOperation(String.format(Sys.Res.methodNotFound,name));if(!baseArguments){return baseMethod.apply(instance);} else{return baseMethod.apply(instance,baseArguments);}}
Type.prototype.getInterfaces=function Type$getInterfaces(){var result=[];var type=this;while(type){var interfaces=type.__interfaces;if(interfaces){for(var i=0,l=interfaces.length;i<l;i++){var interfaceType=interfaces[i];if(!Array.contains(result,interfaceType)){result[result.length]=interfaceType;}}} type=type.__baseType;} return result;}
Type.prototype.implementsInterface=function Type$implementsInterface(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(Array.indexOf(interfaces,interfaceType)!==-1){return cache[interfaceName]=true;}} baseType=baseType.__baseType;} return cache[interfaceName]=false;}
Type.prototype.isImplementedBy=function Type$isImplementedBy(instance){if(typeof(instance)==="undefined"||instance===null)return false;var instanceType=Object.getType(instance);return!!(instanceType.implementsInterface&&instanceType.implementsInterface(this));}
Type.prototype.registerEnum=function Type$registerEnum(name,flags){if(!Type.__fullyQualifiedIdentifierRegExp.test(name))throw Error.argument('name',Sys.Res.notATypeName);var parsedName;try{parsedName=eval(name);} catch(e){throw Error.argument('name',Sys.Res.argumentTypeName);} if(parsedName!==this)throw Error.argument('name',Sys.Res.badTypeName);for(var i in this.prototype){var val=this.prototype[i];if(!Type.__identifierRegExp.test(i))throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName,i));if(typeof(val)!=='number'||(val%1)!==0)throw Error.invalidOperation(Sys.Res.enumValueNotInteger);if(typeof(this[i])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.enumReservedName,i));} Sys.__upperCaseTypes[name.toUpperCase()]=this;for(var i in this.prototype){this[i]=this.prototype[i];} this.__typeName=name;this.parse=function Sys$Enum$parse(value,ignoreCase){var values,parsed,val;if(ignoreCase){values=this.__lowerCaseValues;if(!values){this.__lowerCaseValues=values={};var prototype=this.prototype;for(var name in prototype){values[name.toLowerCase()]=prototype[name];}}} else{values=this.prototype;} if(!this.__flags){val=(ignoreCase?value.toLowerCase():value);parsed=values[val.trim()];if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value,this.__typeName));return parsed;} else{var parts=(ignoreCase?value.toLowerCase():value).split(',');var v=0;for(var i=parts.length-1;i>=0;i--){var part=parts[i].trim();parsed=values[part];if(typeof(parsed)!=='number')throw Error.argument('value',String.format(Sys.Res.enumInvalidValue,value.split(',')[i].trim(),this.__typeName));v|=parsed;} return v;}};this.__string=this.toString();this.toString=function Sys$Enum$toString(value){if((typeof(value)==='undefined')||(value===null))return this.__string;if((typeof(value)!='number')||((value%1)!==0))throw Error.argumentType('value',Object.getType(value),this);var values=this.prototype;var i;if(!this.__flags||(value===0)){for(i in values){if(values[i]===value){return i;}}} else{var sorted=this.__sortedValues;if(!sorted){sorted=[];for(i in values){sorted[sorted.length]={key:i,value:values[i]};} sorted.sort(function(a,b){return a.value-b.value;});this.__sortedValues=sorted;} var parts=[];var v=value;for(i=sorted.length-1;i>=0;i--){var kvp=sorted[i];var vali=kvp.value;if(vali===0)continue;if((vali&value)===vali){parts[parts.length]=kvp.key;v-=vali;if(v===0)break;}} if(parts.length&&v===0)return parts.reverse().join(', ');} throw Error.argumentOutOfRange('value',value,String.format(Sys.Res.enumInvalidValue,value,this.__typeName));};this.__flags=flags;this.__enum=true;Sys.__registeredTypes[name]=true;}
Type.prototype.injectMembers=function Type$injectMembers(srcInstance){if(!srcInstance){throw Error.argumentNull("srcObj");} if(typeof(srcInstance)!="object"){throw Error.invalidOperation("srcInstance 必须是对象类型，但现在是 "+typeof(srcInstance));} for(var name in srcInstance){this.prototype[name]=srcInstance[name];}}
Type.isEnum=function Type$isEnum(type){if((typeof(type)==='undefined')||(type===null))return false;return!!type.__enum;}
Type.isFlags=function Type$isFlags(type){if((typeof(type)==='undefined')||(type===null))return false;return!!type.__flags;}
Object.__typeName='Object';Object.__class=true;Object.getType=function Object$getType(instance){var ctor=instance.constructor;if(!ctor||(typeof(ctor)!=="function")||!ctor.__typeName||(ctor.__typeName==='Object')){return Object;} return ctor;}
Object.getTypeName=function Object$getTypeName(instance){return Object.getType(instance).getName();}
Object.isUndefined=function Object$isUndefined(instance){return typeof(instance)==="undefined";}
Object.isUndefinedOrNull=function Object$isUndefined(instance){return typeof(instance)==="undefined"||instance===null;}
Object.isEmpty=function Object$isEmpty(instance){var yes=Object.isUndefinedOrNull(instance);if(!yes){if(String.isInstanceOfType(instance)){yes=instance.trim().length==0;} else if(String.isInstanceOfType(instance)||Array.isInstanceOfType(instance)){yes=instance.length==0;} else if(typeof(instance)=="object"){var count=0;for(var name in instance){count++;} yes=count==0;}} return yes;}
Object.clone=function Object$clone(instance){if(!instance){return instance;} else{var data=Sys.Serialization.JavaScriptSerializer.serialize(instance);return Sys.Serialization.JavaScriptSerializer.deserialize(data,true);}}
Object.copyTo=function Object$copyTo(from,to){if(from&&to){for(var name in from){to[name]=from[name];}}}
String.__typeName='String';String.__class=true;String.prototype.trim=function String$trim(){return this.replace(/(^\s*)|(\s*$)/g,"");}
String.prototype.trimStart=function String$trimStart(){return this.replace(/^\s+/,"");}
String.prototype.trimEnd=function String$trimEnd(){return this.replace(/\s+$/,'');}
String.prototype.startsWith=function String$startsWith(prefix){return(this.substr(0,prefix.length)===prefix);}
String.prototype.endsWith=function String$endsWith(suffix){return(this.substr(this.length-suffix.length)===suffix);}
String.getByteLength=function String$getByteLength(text){if(!text)return 0;var len=0;for(var i=0,count=text.length;i<count;i++){var code=text.charCodeAt(i);len+=code>127?2:1;} return len;}
String.format=function String$format(format,args){return String._toFormattedString(false,arguments);}
String.localeFormat=function String$localeFormat(format,args){return String._toFormattedString(true,arguments);}
String._toFormattedString=function String$_toFormattedString(useLocale,args){var result='';var format=args[0];for(var i=0;;){var open=format.indexOf('{',i);var close=format.indexOf('}',i);if((open<0)&&(close<0)){result+=format.slice(i);break;} if((close>0)&&((close<open)||(open<0))){if(format.charAt(close+1)!=='}'){throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);} result+=format.slice(i,close+1);i=close+2;continue;} result+=format.slice(i,open);i=open+1;if(format.charAt(i)==='{'){result+='{';i++;continue;} if(close<0)throw Error.argument('format',Sys.Res.stringFormatBraceMismatch);var brace=format.substring(i,close);var colonIndex=brace.indexOf(':');var argNumber=parseInt((colonIndex<0)?brace:brace.substring(0,colonIndex),10)+1;if(isNaN(argNumber))throw Error.argument('format',Sys.Res.stringFormatInvalid);var argFormat=(colonIndex<0)?'':brace.substring(colonIndex+1);var arg=args[argNumber];if(typeof(arg)==="undefined"||arg===null){arg='';} if(arg.toFormattedString){result+=arg.toFormattedString(argFormat);} else if(useLocale&&arg.localeFormat){result+=arg.localeFormat(argFormat);} else if(arg.format){result+=arg.format(argFormat);} else{result+=arg.toString();} i=close+1;} return result;}
Number.__typeName='Number';Number.__class=true;Number.parseLocale=function Number$parseLocale(value){return Number._parse(value,Sys.CultureInfo.CurrentCulture);}
Number.parseInvariant=function Number$parseInvariant(value){return Number._parse(value,Sys.CultureInfo.InvariantCulture);}
Number.parse=function Number$parseLocale(value){return parseFloat(value);}
Number._parse=function Number$_parse(value,cultureInfo){value=value.trim();if(value.match(/^[+-]?infinity$/i)){return parseFloat(value);} if(value.match(/^0x[a-f0-9]+$/i)){return parseInt(value);} var numFormat=cultureInfo.numberFormat;var signInfo=Number._parseNumberNegativePattern(value,numFormat,numFormat.NumberNegativePattern);var sign=signInfo[0];var num=signInfo[1];if((sign==='')&&(numFormat.NumberNegativePattern!==1)){signInfo=Number._parseNumberNegativePattern(value,numFormat,1);sign=signInfo[0];num=signInfo[1];} if(sign==='')sign='+';var exponent;var intAndFraction;var exponentPos=num.indexOf('e');if(exponentPos<0)exponentPos=num.indexOf('E');if(exponentPos<0){intAndFraction=num;exponent=null;} else{intAndFraction=num.substr(0,exponentPos);exponent=num.substr(exponentPos+1);} var integer;var fraction;var decimalPos=intAndFraction.indexOf(numFormat.NumberDecimalSeparator);if(decimalPos<0){integer=intAndFraction;fraction=null;} else{integer=intAndFraction.substr(0,decimalPos);fraction=intAndFraction.substr(decimalPos+numFormat.NumberDecimalSeparator.length);} integer=integer.split(numFormat.NumberGroupSeparator).join('');var p=sign+integer;if(fraction!==null){p+='.'+fraction;} if(exponent!==null){var expSignInfo=Number._parseNumberNegativePattern(exponent,numFormat,1);if(expSignInfo[0]===''){expSignInfo[0]='+';} p+='e'+expSignInfo[0]+expSignInfo[1];} if(p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)){return parseFloat(p);} return Number.NaN;}
Number._parseNumberNegativePattern=function Number$_parseNumberNegativePattern(value,numFormat,numberNegativePattern){var neg=numFormat.NegativeSign;var pos=numFormat.PositiveSign;switch(numberNegativePattern){case 4:neg=' '+neg;pos=' '+pos;case 3:if(value.endsWith(neg)){return['-',value.substr(0,value.length-neg.length)];} else if(value.endsWith(pos)){return['+',value.substr(0,value.length-pos.length)];} break;case 2:neg+=' ';pos+=' ';case 1:if(value.startsWith(neg)){return['-',value.substr(neg.length)];} else if(value.startsWith(pos)){return['+',value.substr(pos.length)];} break;case 0:if(value.startsWith('(')&&value.endsWith(')')){return['-',value.substr(1,value.length-2)];} break;} return['',value];}
Number.prototype.format=function Number$format(format,displayNumberGroupSeparator){return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture,displayNumberGroupSeparator);}
Number.prototype.localeFormat=function Number$localeFormat(format){return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Number.prototype._toFormattedString=function Number$_toFormattedString(format,cultureInfo,displayNumberGroupSeparator){if(!format||(format.length===0)||(format==='i')){if(cultureInfo&&(cultureInfo.name.length>0)){return this.toLocaleString();} else{return this.toString();}} var _percentPositivePattern=["n %","n%","%n"];var _percentNegativePattern=["-n %","-n%","-%n"];var _numberNegativePattern=["(n)","-n","- n","n-","n -"];var _currencyPositivePattern=["$n","n$","$ n","n $"];var _currencyNegativePattern=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function expandNumber(number,precision,groupSizes,sep,decimalChar){var curSize=groupSizes[0];var curGroupIndex=1;var numberString=number.toString();var right="";var exponent="";var decimalSplit=numberString.split('.');if(decimalSplit.length>1){numberString=decimalSplit[0];right=decimalSplit[1];var exponentSplit=right.split(/e/i);if(exponentSplit.length>1){right=exponentSplit[0];exponent="e"+exponentSplit[1];}} if(precision>0){var rightDifference=right.length-precision;if(rightDifference>0){right=right.slice(0,precision);} else if(rightDifference<0){for(var i=0;i<Math.abs(rightDifference);i++){right+='0';}} right=decimalChar+right;} else{right="";} right+=exponent;var stringIndex=numberString.length-1;var ret="";while(stringIndex>=0){if(curSize===0||curSize>stringIndex){if(ret.length>0)return numberString.slice(0,stringIndex+1)+sep+ret+right;else return numberString.slice(0,stringIndex+1)+right;} if(ret.length>0)ret=numberString.slice(stringIndex-curSize+1,stringIndex+1)+sep+ret;else ret=numberString.slice(stringIndex-curSize+1,stringIndex+1);stringIndex-=curSize;if(curGroupIndex<groupSizes.length){curSize=groupSizes[curGroupIndex];curGroupIndex++;}} return numberString.slice(0,stringIndex+1)+sep+ret+right;} var nf=cultureInfo.numberFormat;var number=Math.abs(this);if(!format)format="D";var precision=-1;if(format.length>1)precision=parseInt(format.slice(1),10);var pattern;switch(format.charAt(0)){case"d":case"D":pattern='n';if(precision!==-1){var numberStr=""+number;var zerosToAdd=precision-numberStr.length;if(zerosToAdd>0){for(var i=0;i<zerosToAdd;i++){numberStr='0'+numberStr;}} number=numberStr;} if(this<0)number=-number;break;case"c":case"C":if(this<0)pattern=_currencyNegativePattern[nf.CurrencyNegativePattern];else pattern=_currencyPositivePattern[nf.CurrencyPositivePattern];if(precision===-1)precision=nf.CurrencyDecimalDigits;number=expandNumber(Math.abs(this),precision,nf.CurrencyGroupSizes,nf.CurrencyGroupSeparator,nf.CurrencyDecimalSeparator);break;case"n":case"N":if(this<0)pattern=_numberNegativePattern[nf.NumberNegativePattern];else pattern='n';if(precision===-1)precision=nf.NumberDecimalDigits;number=expandNumber(Math.abs(this),precision,nf.NumberGroupSizes,displayNumberGroupSeparator?nf.NumberGroupSeparator:'',nf.NumberDecimalSeparator);break;case"p":case"P":if(this<0)pattern=_percentNegativePattern[nf.PercentNegativePattern];else pattern=_percentPositivePattern[nf.PercentPositivePattern];if(precision===-1)precision=nf.PercentDecimalDigits;number=expandNumber(Math.abs(this),precision,nf.PercentGroupSizes,nf.PercentGroupSeparator,nf.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier);} var regex=/n|\$|-|%/g;var ret="";for(;;){var index=regex.lastIndex;var ar=regex.exec(pattern);ret+=pattern.slice(index,ar?ar.index:pattern.length);if(!ar)break;switch(ar[0]){case"n":ret+=number;break;case"$":ret+=nf.CurrencySymbol;break;case"-":ret+=nf.NegativeSign;break;case"%":ret+=nf.PercentSymbol;break;}} return ret;}
Number.prototype.toHex=function(width){var sResult=this.toString(16).toUpperCase();if(width&&width>0){for(var i=sResult.length;i<width;i++){sResult="0"+sResult;}} return sResult;}
Math.roundTo=function(number,digit){var n=Math.abs(number);if((n-Math.floor(n)).toString().length>=17){n+=1e-10;} n=n*Math.pow(10,digit);if(n.toString().length>=17){n+=1e-10;} return(number<0?-1:1)*Math.round(n)/Math.pow(10,digit);}
Boolean.__typeName='Boolean';Boolean.__class=true;Boolean.parse=function Boolean$parse(value){var v=value.trim().toLowerCase();if(v==='false')return false;if(v==='true')return true;throw Error.argumentOutOfRange('value',value,Sys.Res.boolTrueOrFalse);}
Date.__typeName='Date';Date.__class=true;Date._appendPreOrPostMatch=function Date$_appendPreOrPostMatch(preMatch,strBuilder){var quoteCount=0;var escaped=false;for(var i=0,il=preMatch.length;i<il;i++){var c=preMatch.charAt(i);switch(c){case'\'':if(escaped)strBuilder.append("'");else quoteCount++;escaped=false;break;case'\\':if(escaped)strBuilder.append("\\");escaped=!escaped;break;default:strBuilder.append(c);escaped=false;break;}} return quoteCount;}
Date._expandFormat=function Date$_expandFormat(dtf,format){if(!format){format="F";} if(format.length===1){switch(format){case"d":return dtf.ShortDatePattern;case"D":return dtf.LongDatePattern;case"t":return dtf.ShortTimePattern;case"T":return dtf.LongTimePattern;case"F":return dtf.FullDateTimePattern;case"M":case"m":return dtf.MonthDayPattern;case"s":return dtf.SortableDateTimePattern;case"Y":case"y":return dtf.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString);}} return format;}
Date._expandYear=function Date$_expandYear(dtf,year){if(year<100){var curr=new Date().getFullYear();year+=curr-(curr%100);if(year>dtf.Calendar.TwoDigitYearMax){return year-100;}} return year;}
Date._getParseRegExp=function Date$_getParseRegExp(dtf,format){if(!dtf._parseRegExp){dtf._parseRegExp={};} else if(dtf._parseRegExp[format]){return dtf._parseRegExp[format];} var expFormat=Date._expandFormat(dtf,format);expFormat=expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var regexp=new Sys.StringBuilder("^");var groups=[];var index=0;var quoteCount=0;var tokenRegExp=Date._getTokenRegExp();var match;while((match=tokenRegExp.exec(expFormat))!==null){var preMatch=expFormat.slice(index,match.index);index=tokenRegExp.lastIndex;quoteCount+=Date._appendPreOrPostMatch(preMatch,regexp);if((quoteCount%2)===1){regexp.append(match[0]);continue;} switch(match[0]){case'dddd':case'ddd':case'MMMM':case'MMM':regexp.append("(\\D+)");break;case'tt':case't':regexp.append("(\\D*)");break;case'yyyy':regexp.append("(\\d{4})");break;case'fff':regexp.append("(\\d{3})");break;case'ff':regexp.append("(\\d{2})");break;case'f':regexp.append("(\\d)");break;case'dd':case'd':case'MM':case'M':case'yy':case'y':case'HH':case'H':case'hh':case'h':case'mm':case'm':case'ss':case's':regexp.append("(\\d\\d?)");break;case'zzz':regexp.append("([+-]?\\d\\d?:\\d{2})");break;case'zz':case'z':regexp.append("([+-]?\\d\\d?)");break;} Array.add(groups,match[0]);} Date._appendPreOrPostMatch(expFormat.slice(index),regexp);regexp.append("$");var regexpStr=regexp.toString().replace(/\s+/g,"\\s+");var parseRegExp={'regExp':regexpStr,'groups':groups};dtf._parseRegExp[format]=parseRegExp;return parseRegExp;}
Date._getTokenRegExp=function Date$_getTokenRegExp(){return/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;}
Date.parseLocale=function Date$parseLocale(value,formats){return Date._parse(value,Sys.CultureInfo.CurrentCulture,arguments);}
Date.parseInvariant=function Date$parseInvariant(value,formats){return Date._parse(value,Sys.CultureInfo.InvariantCulture,arguments);}
Date._parse=function Date$_parse(value,cultureInfo,args){var custom=false;for(var i=1,il=args.length;i<il;i++){var format=args[i];if(format){custom=true;var date=Date._parseExact(value,format,cultureInfo);if(date)return date;}} if(!custom){var formats=cultureInfo._getDateTimeFormats();for(var i=0,il=formats.length;i<il;i++){var date=Date._parseExact(value,formats[i],cultureInfo);if(date)return date;}} return null;}
Date._parseExact=function Date$_parseExact(value,format,cultureInfo){value=value.trim();var dtf=cultureInfo.dateTimeFormat;var parseInfo=Date._getParseRegExp(dtf,format);var match=new RegExp(parseInfo.regExp).exec(value);if(match===null)return null;var groups=parseInfo.groups;var year=null,month=null,date=null,weekDay=null;var hour=0,min=0,sec=0,msec=0,tzMinOffset=null;var pmHour=false;for(var j=0,jl=groups.length;j<jl;j++){var matchGroup=match[j+1];if(matchGroup){switch(groups[j]){case'dd':case'd':date=parseInt(matchGroup,10);if((date<1)||(date>31))return null;break;case'MMMM':month=cultureInfo._getMonthIndex(matchGroup);if((month<0)||(month>11))return null;break;case'MMM':month=cultureInfo._getAbbrMonthIndex(matchGroup);if((month<0)||(month>11))return null;break;case'M':case'MM':var month=parseInt(matchGroup,10)-1;if((month<0)||(month>11))return null;break;case'y':case'yy':year=Date._expandYear(dtf,parseInt(matchGroup,10));if((year<0)||(year>9999))return null;break;case'yyyy':year=parseInt(matchGroup,10);if((year<0)||(year>9999))return null;break;case'h':case'hh':hour=parseInt(matchGroup,10);if(hour===12)hour=0;if((hour<0)||(hour>11))return null;break;case'H':case'HH':hour=parseInt(matchGroup,10);if((hour<0)||(hour>23))return null;break;case'm':case'mm':min=parseInt(matchGroup,10);if((min<0)||(min>59))return null;break;case's':case'ss':sec=parseInt(matchGroup,10);if((sec<0)||(sec>59))return null;break;case'tt':case't':var upperToken=matchGroup.toUpperCase();pmHour=(upperToken===dtf.PMDesignator.toUpperCase());if(!pmHour&&(upperToken!==dtf.AMDesignator.toUpperCase()))return null;break;case'f':msec=parseInt(matchGroup,10)*100;if((msec<0)||(msec>999))return null;break;case'ff':msec=parseInt(matchGroup,10)*10;if((msec<0)||(msec>999))return null;break;case'fff':msec=parseInt(matchGroup,10);if((msec<0)||(msec>999))return null;break;case'dddd':weekDay=cultureInfo._getDayIndex(matchGroup);if((weekDay<0)||(weekDay>6))return null;break;case'ddd':weekDay=cultureInfo._getAbbrDayIndex(matchGroup);if((weekDay<0)||(weekDay>6))return null;break;case'zzz':var offsets=matchGroup.split(/:/);if(offsets.length!==2)return null;var hourOffset=parseInt(offsets[0],10);if((hourOffset<-12)||(hourOffset>13))return null;var minOffset=parseInt(offsets[1],10);if((minOffset<0)||(minOffset>59))return null;tzMinOffset=(hourOffset*60)+(matchGroup.startsWith('-')?-minOffset:minOffset);break;case'z':case'zz':var hourOffset=parseInt(matchGroup,10);if((hourOffset<-12)||(hourOffset>13))return null;tzMinOffset=hourOffset*60;break;}}} var result=new Date();if(year===null){year=result.getFullYear();} if(month===null){month=result.getMonth();} if(date===null){date=result.getDate();} result.setFullYear(year,month,date);if(result.getDate()!==date)return null;if((weekDay!==null)&&(result.getDay()!==weekDay)){return null;} if(pmHour&&(hour<12)){hour+=12;} result.setHours(hour,min,sec,msec);if(tzMinOffset!==null){var adjustedMin=result.getMinutes()-(tzMinOffset+result.getTimezoneOffset());result.setHours(result.getHours()+parseInt(adjustedMin/60,10),adjustedMin%60);} return result;}
Date.prototype.format=function Date$format(format){return this._toFormattedString(format,Sys.CultureInfo.InvariantCulture);}
Date.prototype.localeFormat=function Date$localeFormat(format){return this._toFormattedString(format,Sys.CultureInfo.CurrentCulture);}
Date.prototype._toFormattedString=function Date$_toFormattedString(format,cultureInfo){if(!format||(format.length===0)||(format==='i')){if(cultureInfo&&(cultureInfo.name.length>0)){return this.toLocaleString();} else{return this.toString();}} var dtf=cultureInfo.dateTimeFormat;format=Date._expandFormat(dtf,format);var ret=new Sys.StringBuilder();var hour;function addLeadingZero(num){if(num<10){return'0'+num;} return num.toString();} function addLeadingZeros(num){if(num<10){return'00'+num;} if(num<100){return'0'+num;} return num.toString();} var quoteCount=0;var tokenRegExp=Date._getTokenRegExp();for(;;){var index=tokenRegExp.lastIndex;var ar=tokenRegExp.exec(format);var preMatch=format.slice(index,ar?ar.index:format.length);quoteCount+=Date._appendPreOrPostMatch(preMatch,ret);if(!ar)break;if((quoteCount%2)===1){ret.append(ar[0]);continue;} switch(ar[0]){case"dddd":ret.append(dtf.DayNames[this.getDay()]);break;case"ddd":ret.append(dtf.AbbreviatedDayNames[this.getDay()]);break;case"dd":ret.append(addLeadingZero(this.getDate()));break;case"d":ret.append(this.getDate());break;case"MMMM":ret.append(dtf.MonthNames[this.getMonth()]);break;case"MMM":ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);break;case"MM":ret.append(addLeadingZero(this.getMonth()+1));break;case"M":ret.append(this.getMonth()+1);break;case"yyyy":ret.append(this.getFullYear());break;case"yy":ret.append(addLeadingZero(this.getFullYear()%100));break;case"y":ret.append(this.getFullYear()%100);break;case"hh":hour=this.getHours()%12;if(hour===0)hour=12;ret.append(addLeadingZero(hour));break;case"h":hour=this.getHours()%12;if(hour===0)hour=12;ret.append(hour);break;case"HH":ret.append(addLeadingZero(this.getHours()));break;case"H":ret.append(this.getHours());break;case"mm":ret.append(addLeadingZero(this.getMinutes()));break;case"m":ret.append(this.getMinutes());break;case"ss":ret.append(addLeadingZero(this.getSeconds()));break;case"s":ret.append(this.getSeconds());break;case"tt":ret.append((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator);break;case"t":ret.append(((this.getHours()<12)?dtf.AMDesignator:dtf.PMDesignator).charAt(0));break;case"f":ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));break;case"ff":ret.append(addLeadingZeros(this.getMilliseconds()).substr(0,2));break;case"fff":ret.append(addLeadingZeros(this.getMilliseconds()));break;case"z":hour=this.getTimezoneOffset()/60;ret.append(((hour>=0)?'+':'-')+Math.floor(Math.abs(hour)));break;case"zz":hour=this.getTimezoneOffset()/60;ret.append(((hour>=0)?'+':'-')+addLeadingZero(Math.floor(Math.abs(hour))));break;case"zzz":hour=this.getTimezoneOffset()/60;ret.append(((hour>=0)?'+':'-')+addLeadingZero(Math.floor(Math.abs(hour)))+dtf.TimeSeparator+addLeadingZero(Math.abs(this.getTimezoneOffset()%60)));break;}} return ret.toString();}
Date.dateToStr=function(date){return date?date.format("yyyy-MM-dd"):"";}
Date.timeToStr=function(time){return time?time.format("HH:mm:ss"):"";}
Date.dateTimeToStr=function(dateTime){return dateTime?dateTime.format("yyyy-MM-dd HH:mm:ss"):"";}
Date.strToDate=function(str){return Date.parseLocale(str,"yyyy-MM-dd","yyyyMMdd","MM-dd","dd");}
Date.strToTime=function(str){return Date.parseLocale(str,"HH:mm:ss");}
Date.strToDateTime=function(str){return Date.parseLocale(str,"yyyy-MM-dd HH:mm:ss");}
Date._date1970=function(){return new Date(1970,1,1,0,0,0).getTime();}();Date.getDaysBetween=function(d1,d2){return Math.floor((d1.getTime()-this._date1970)/86400000)-Math.floor((d2.getTime()-this._date1970)/86400000);}
RegExp.__typeName='RegExp';RegExp.__class=true;Array.__typeName='Array';Array.__class=true;Array.add=Array.enqueue=function Array$enqueue(array,item){array[array.length]=item;}
Array.addRange=function Array$addRange(array,items){array.push.apply(array,items);}
Array.clear=function Array$clear(array){array.length=0;}
Array.clone=function Array$clone(array){if(array.length===1){return[array[0]];} else{return Array.apply(null,array);}}
Array.contains=function Array$contains(array,item){return(Array.indexOf(array,item)>=0);}
Array.dequeue=function Array$dequeue(array){return array.shift();}
Array.forEach=function Array$forEach(array,method,instance){for(var i=0,l=array.length;i<l;i++){var elt=array[i];if(typeof(elt)!=='undefined')method.call(instance,elt,i,array);}}
Array.indexOf=function Array$indexOf(array,item,start){if(typeof(item)==="undefined")return-1;var length=array.length;if(length!==0){start=start-0;if(isNaN(start)){start=0;} else{if(isFinite(start)){start=start-(start%1);} if(start<0){start=Math.max(0,length+start);}} for(var i=start;i<length;i++){if((typeof(array[i])!=="undefined")&&(array[i]===item)){return i;}}} return-1;}
Array.insert=function Array$insert(array,index,item){array.splice(index,0,item);}
Array.parse=function Array$parse(value){if(!value)return[];var v=eval(value);if(!Array.isInstanceOfType(v))throw Error.argument('value',Sys.Res.arrayParseBadFormat);return v;}
Array.remove=function Array$remove(array,item){var index=Array.indexOf(array,item);if(index>=0){array.splice(index,1);} return(index>=0);}
Array.removeAt=function Array$removeAt(array,index){array.splice(index,1);}
Array.getFirst=function Array$getLast(array){var len=array.length;if(len>0){return array[0];}}
Array.getLast=function Array$getLast(array){var len=array.length;if(len>0){return array[len-1];}}
Type.registerNamespace('Sys');Sys.Res={argumentTypeName:"Value is not the name of an existing type.",cantSetIdAfterInit:"The id property can\'t be set on this object after initialization.",componentCantSetIdAfterAddedToApp:"The id property of a component can\'t be set after it\'s been added to the Application object.",behaviorDuplicateName:"A behavior with name \'{0}\' already exists or it is the name of an existing property on the target element.",notATypeName:"Value is not a valid type name.",typeShouldBeTypeOrString:"Value is not a valid type or a valid type name.",boolTrueOrFalse:"Value must be \'true\' or \'false\'.",stringFormatInvalid:"The format string is invalid.",referenceNotFound:"Component \'{0}\' was not found.",enumReservedName:"\'{0}\' is a reserved name that can\'t be used as an enum value name.",eventHandlerNotFound:"Handler not found.",circularParentChain:"The chain of control parents can\'t have circular references.",undefinedEvent:"\'{0}\' is not an event.",notAMethod:"{0} is not a method.",propertyUndefined:"\'{0}\' is not a property or an existing field.",eventHandlerInvalid:"Handler was not added through the Sys.UI.DomEvent.addHandler method.",propertyNotWritable:"\'{0}\' is not a writable property.",enumInvalidValueName:"\'{0}\' is not a valid name for an enum value.",controlAlreadyDefined:"A control is already associated with the element.",namespaceContainsObject:"Object {0} already exists and is not a namespace.",cantAddNonFunctionhandler:"Can\'t add a handler that is not a function.",scriptLoaderAlreadyLoading:"ScriptLoader.loadScripts cannot be called while the ScriptLoader is already loading scripts.",invalidNameSpace:"Value is not a valid namespace identifier.",notAnInterface:"Value is not a valid interface.",eventHandlerNotFunction:"Handler must be a function.",propertyNotAnArray:"\'{0}\' is not an Array property.",typeRegisteredTwice:'Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.',cantSetNameAfterInit:"The name property can\'t be set on this object after initialization.",appDuplicateComponent:"Two components with the same id \'{0}\' can\'t be added to the application.",appDuplicateForm:"Two forms with the same id \'{0}\' can\'t be added to the application.",appComponentMustBeInitialized:"Components must be initialized before they are added to the Application object.",baseNotAClass:"Value is not a class.",methodNotFound:"No method found with name \'{0}\'.",arrayParseBadFormat:"Value must be a valid string representation for an array. It must start with a \'[\' and end with a \']\'.",cantSetId:"The id property can\'t be set on this object.",stringFormatBraceMismatch:"The format string contains an unmatched opening or closing brace.",enumValueNotInteger:"An enumeration definition can only contain integer values.",propertyNullOrUndefined:"Cannot set the properties of \'{0}\' because it returned a null value.",propertyNull:"不能设置对象的“{0}”属性，因为对象为空",componentCantSetIdTwice:"The id property of a component can\'t be set more than once.",createComponentOnDom:"Value must be null for Components that are not Controls or Behaviors.",createNotComponent:"{0} does not derive from Sys.Component.",createNoDom:"Value must not be null for Controls and Behaviors.",cantAddWithoutId:"Can\'t add a component that doesn\'t have an id.",badTypeName:"Value is not the name of the type being registered or the name is a reserved word.",argumentInteger:"Value must be an integer.",invokeCalledTwice:"Cannot call invoke more than once.",webServiceFailed_en:"The server method \'{0}\' failed with the following error: {1}",webServiceFailed:"服务器方法“{0}”调用失败，{1}",webServiceFailedServerError:"{0}",argumentType:"Object cannot be converted to the required type.",argumentNull:"Value cannot be null.",controlCantSetId:"The id property can\'t be set on a control.",formatBadFormatSpecifier:"Format specifier was invalid.",webServiceFailedNoMsg_en:"The server method \'{0}\' failed.",webServiceFailedNoMsg:"服务器方法“{0}”调用失败",webServiceFailedNoResponse:"没有响应，可能是因为无法访问WebService服务“{0}”",webServiceFailedNoResult:"响应节点Response或Result没找到。\n\n响应内容：\n{0}",pageRequestFailedNoMsg:"未连接网络，页面加载失败",pageNotFound:"页面“{0}”不存在",argumentDomElement:"Value must be a DOM element.",invalidExecutorType:"Could not create a valid Sys.Net.WebRequestExecutor from: {0}.",cannotCallBeforeResponse:"Cannot call {0} when responseAvailable is false.",actualValue:"Actual value was {0}.",enumInvalidValue:"\'{0}\' is not a valid value for enum {1}.",scriptLoadFailed:"The script \'{0}\' could not be loaded.",parameterCount:"Parameter count mismatch.",cannotDeserializeEmptyString:"Cannot deserialize empty string.",formatInvalidString:"Input string was not in a correct format.",invalidTimeout:"Value must be greater than or equal to zero.",cannotAbortBeforeStart:"Cannot abort when executor has not started.",argument:"Value does not fall within the expected range.",cannotDeserializeInvalidJson:"Cannot deserialize. The data does not correspond to valid JSON.",invalidHttpVerb:"httpVerb cannot be set to an empty or null string.",nullWebRequest:"Cannot call executeRequest with a null webRequest.",eventHandlerInvalid:"Handler was not added through the Sys.UI.DomEvent.addHandler method.",cannotSerializeNonFiniteNumbers:"Cannot serialize non finite numbers.",argumentUndefined:"Value cannot be undefined.",webServiceInvalidReturnType:"The server method \'{0}\' returned an invalid type. Expected type: {1}",servicePathNotSet:"The path to the web service has not been set.",argumentTypeWithTypes:"Object of type \'{0}\' cannot be converted to type \'{1}\'.",cannotCallOnceStarted:"Cannot call {0} once started.",badBaseUrl1:"Base URL does not contain ://.",badBaseUrl2:"Base URL does not contain another /.",badBaseUrl3:"Cannot find last / in base URL.",setExecutorAfterActive:"Cannot set executor after it has become active.",paramName:"Parameter name: {0}",cannotCallOutsideHandler:"Cannot call {0} outside of a completed event handler.",format:"One of the identified items was in an invalid format.",assertFailedCaller:"Assertion Failed: {0}\\r\\nat {1}",argumentOutOfRange:"参数值超出规定范围",webServiceTimedOut_en:"The server method \'{0}\' timed out.",webServiceTimedOut:"网络超时，操作失败。请检查网络连接和服务器是否正常！",pageRequestTimedOut:"网络超时，页面加载失败。请检查网络连接和服务器是否正常！",notImplemented:"The method or operation is not implemented.",assertFailed:"Assertion Failed: {0}",invalidOperation:"Operation is not valid due to the current state of the object.",breakIntoDebugger:"{0}\\r\\n\\r\\nBreak into debugger?",createNotValidator:"{0} does not derive from Sys.UI.Validation.Validator.",cantBeCalledAfterDispose:'Can\'t be called after dispose.',addHandlerCantBeUsedForError:'Can\'t add a handler for the error event using this method. Please set the window.onerror property instead.',argumentDomNode:'Value must be a DOM element or a text node.',webServiceInvalidJsonWrapper:'The server method \'{0}\' returned invalid data. The \'d\' property is missing from the JSON wrapper.',cannotSerializeObjectWithCycle:'Cannot serialize object with cyclic reference within child properties.'};Sys._Debug=function Sys$_Debug(){}
Sys._Debug.prototype={_appendConsole:function Sys$_Debug$_appendConsole(text){if((typeof(Debug)!=='undefined')&&Debug.writeln){Debug.writeln(text);} if(window.console&&window.console.log){window.console.log(text);} if(window.opera){window.opera.postError(text);} if(window.debugService){window.debugService.trace(text);}},_getTraceElement:function Sys$_Debug$_getTraceElement(){var width=300;var height=200;var style;if(!this._traceElement){var traceConsole=document.createElement("div");traceConsole.tabIndex=0;style=traceConsole.style;style.position="absolute";style.width=width+"px";style.height=height+"px";style.zIndex=999999;style.textAlign="left";style.border="1px solid #ebebeb";style.backgroundColor="#ffffff";Sys.UI.DomElement.setOpacity(traceConsole,80);style.whiteSpace="nowrap";style.overflow="scroll";$addHandler(traceConsole,"keydown",function(e){if(e.ctrlKey||e.shiftKey||e.altKey)return;traceConsole.innerHTML="";Sys.UI.DomElement.setVisible(traceConsole,false);});$addHandler(traceConsole,"dblclick",function(e){var win=window.open("","_blank");win.document.open("text/html","replace");win.document.writeln(traceConsole.innerHTML);win.document.close();traceConsole.innerHTML="";Sys.UI.DomElement.setVisible(traceConsole,false);});if(!document.body){document.body=document.createElement("body");} document.body.appendChild(traceConsole);this._traceElement=traceConsole;} else{style=this._traceElement.style;Sys.UI.DomElement.setVisible(this._traceElement,true);} var r=window.getClientBounds();var pScroll=window.getClientScrollPosition();var r1=Sys.UI.DomElement.getBounds(document.body);if(r.width>r1.width){r.width=r1.width;} var offset=Sys.Browser.isIE?2:3;style.left=(r.width-width-offset+pScroll.x)+"px";style.top=(r.height-height-offset+pScroll.y)+"px";return this._traceElement;},_appendTrace:function Sys$_Debug$_appendTrace(text){var traceElement=this._getTraceElement();if(traceElement){if(text===null)text="null";else text=text.toString();var html=text.replace(/</g,"&lt;");html=html.replace(/\[b\]/g,"<b>");html=html.replace(/\[\/b\]/g,"</b>");html=html.replace(/\r\n/g,"<br>");html=html.replace(/\n/g,"<br>");html=html.replace(/\s\s/g,"&nbsp;&nbsp;&nbsp;&nbsp;");html=html.replace(/\s/g,"&nbsp;");traceElement.innerHTML+=html+"<br>";}},appendTraceHtml:function Sys$_Debug$appendTrace(html){var traceElement=this._getTraceElement();if(traceElement){traceElement.innerHTML+=html+"<br>";}},clearTrace:function Sys$_Debug$clearTrace(){var traceElement=this._getTraceElement();if(traceElement){traceElement.innerHTML="";}},assert:function Sys$_Debug$assert(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 Sys$_Debug$fail(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement){eval('debugger');}},trace:function Sys$_Debug$trace(text){this._appendConsole(text);this._appendTrace(text);},log:function Sys$_Debug$log(text,forceOutput){if(!window._testing&&!forceOutput)return;this.traceDump(text,'[[b]'+Date.timeToStr(new Date())+'[/b]] ');},traceDump:function Sys$_Debug$traceDump(object,name,sb){this._traceDump(object,name,true,null,null,sb);},_traceDump:function Sys$_Debug$_traceDump(object,name,recursive,indentationPadding,loopArray,sb){var _trace=Function.createDelegate(this,function(text){if(!sb){this.trace(text);} else{sb.appendLine(text);}});name=name?name:'';indentationPadding=indentationPadding?indentationPadding:'';if(name){if(name.indexOf("[/")<0){name="[b]"+name+"[/b]: ";}} if(object===null){_trace(indentationPadding+name+'null');return;} switch(typeof(object)){case'undefined':_trace(indentationPadding+name+'Undefined');break;case'number':case'string':case'boolean':_trace(indentationPadding+name+object);break;default:if(Date.isInstanceOfType(object)||RegExp.isInstanceOfType(object)){_trace(indentationPadding+name+object.toString());break;} if(!loopArray){loopArray=[];} else if(Array.contains(loopArray,object)){_trace(indentationPadding+name+'...');return;} Array.add(loopArray,object);if((object==window)||(object===document)||(window.HTMLElement&&(object instanceof HTMLElement))||(typeof(object.nodeName)==='string')){var tag=object.tagName?object.tagName:'DomElement';if(object.id){tag+=' - '+object.id;} _trace(indentationPadding+name+' {'+tag+'}');} else{var typeName=Object.getTypeName(object);_trace(indentationPadding+name+(typeof(typeName)==='string'?' {'+typeName+'}':''));if((indentationPadding==='')||recursive){indentationPadding+="  ";var i,length,properties,p,v;if(Array.isInstanceOfType(object)){length=object.length;for(i=0;i<length;i++){this._traceDump(object[i],'['+i+']',recursive,indentationPadding,loopArray,sb);}} else{for(p in object){v=object[p];if(!Function.isInstanceOfType(v)){this._traceDump(v,p,recursive,indentationPadding,loopArray,sb);}}}}} Array.remove(loopArray,object);}},traceDumpCallStack:function(topFunc,sb){var parseArguments=function(a){var result=[];for(var i=0;i<a.length;i++){var value=a[i];var text;if('string'==typeof(value)){text="\""+value+"\"";} else if(value&&typeof(value)=="object"){text='['+Object.getTypeName(value);if(value&&value.get_id&&(typeof(value.get_id)=="function")){text+='('+value.get_id()+')';} text+=']';} else if(typeof(value)==="undefined"){text="undefined";} else if(value===null){text="null";} else{text=value;} result.push(text);} return"("+result.join(", ")+")";};var f=topFunc?topFunc:this.traceDumpCallStack,result="\r\n";var i=1;while((f=f.caller)!==null){var func=f.toString();var funcName=func.match(/function\s([\w$]+)([^\{\}]*\))/);result+="  _"+i+"_ "+(funcName?funcName[1]:func)+parseArguments(f.arguments)+"\r\n";if(i>=20){break;} i++;} this.traceDump(result,"CallStack",sb);},serverLog:function(message){$adminService.Log(window.location.href+"\r\n  "+message,Function.emptyFunction,Function.emptyFunction);}}
Sys._Debug.registerClass('Sys._Debug');var $debug=Sys.Debug=new Sys._Debug();Sys.Debug.isDebug=true;window.handleError=function(lastError,error,fileName,lineNumber,topFunc){if(lastError){if(lastError.showMessage){alert(lastError.message);return;} else if(lastError.isAbort){if(lastError.message){alert(lastError.message);} return;}} var host=window.location.host;var isDisplayError=host.startsWith("localhost")||!host||!window.$adminService;var sb=new Sys.StringBuilder();if(lastError){if(isDisplayError&&lastError.message){$debug.appendTraceHtml("<font color=\"red\"><b>"+lastError.message+"</b></font>");} $debug.traceDump(lastError,null,sb);} else{$debug.traceDump(error,"Error",sb);if(fileName){$debug.traceDump(fileName,"FileName",sb);} if(lineNumber){if(Sys.Browser.isIE&&lineNumber){lineNumber--;} $debug.traceDump(lineNumber,"LineNumber",sb);}} if(Sys.Browser.isIE){$debug.traceDumpCallStack(topFunc?topFunc:handleError,sb);} var message=sb.toString();if(isDisplayError){$debug.trace(message);if(host){$debug.serverLog(message);}} else{var second=Math.round((new Date().getTime()-new Date(2000,0,1).getTime())/1000);var day=Math.floor(second/86400);second=Math.floor((second%86400)/10);var errorNo="错误号: "+day+"."+second;$debug.serverLog(errorNo+message);if($settings&&!$settings.__notInited&&!$settings.disableErrorAlert){alert("操作失败，请重试！\n\n("+errorNo+")");}}}
function _onError(error,fileName,lineNumber){var lastError=window._lastError;handleError(lastError,error,fileName,lineNumber,_onError);window._lastError=null;return lastError?true:false;}
window.onerror=_onError;Sys.IDisposable=function Sys$IDisposable(){throw Error.notImplemented();}
Sys.IDisposable.prototype={dispose:function Sys$IDisposable$dispose(){throw Error.notImplemented();}}
Sys.IDisposable.registerInterface('Sys.IDisposable');Sys.StringBuilder=function Sys$StringBuilder(initialText){this._parts=(typeof(initialText)!=='undefined'&&initialText!==null&&initialText!=='')?[initialText.toString()]:[];this._value={};this._len=0;}
Sys.StringBuilder.prototype={append:function Sys$StringBuilder$append(text){this._parts[this._parts.length]=text;return this;},appendLine:function Sys$StringBuilder$appendLine(text){this._parts[this._parts.length]=((typeof(text)==='undefined')||(text===null)||(text===''))?'\r\n':text+'\r\n';return this;},clear:function Sys$StringBuilder$clear(){this._parts=[];this._value={};this._len=0;return this;},isEmpty:function Sys$StringBuilder$isEmpty(){if(this._parts.length===0)return true;return this.toString()==='';},toString:function Sys$StringBuilder$toString(separator){separator=separator||'';var parts=this._parts;if(this._len!==parts.length){this._value={};this._len=parts.length;} var val=this._value;if(typeof(val[separator])==='undefined'){if(separator!==''){for(var i=0;i<parts.length;){if((typeof(parts[i])==='undefined')||(parts[i]==='')||(parts[i]===null)){parts.splice(i,1);} else{i++;}}} val[separator]=this._parts.join(separator);} return val[separator];}}
Sys.StringBuilder.registerClass('Sys.StringBuilder');Sys.Hashtable=function(){this.clear();}
Sys.Hashtable.prototype={add:function(key,value){this.set_item(key,value);},get_item:function(key){return this._data[key];},set_item:function(key,value){this._data[key]=value;},clear:function Sys$StringBuilder$clear(){this._data=null;this._data=new Object();},get_data:function(){return this._data;},get_count:function(){var data=this.get_data();var answer=0;for(var name in data){answer++;} return answer;},isEmpty:function(){return this.get_count()==0;},toString:function(separator){separator=separator||"\n";var data=this.get_data();var answer="";for(var name in data){answer+=(name+" = "+data[name]+separator);} return answer;}}
Sys.Hashtable.registerClass('Sys.Hashtable');Sys.StringUtils=function(){}
Sys.StringUtils.prototype={}
Sys.StringUtils.registerClass('Sys.StringUtils');Sys.StringUtils.repeat=function(str,count){var answer=[];for(var i=0;i<count;i++){Array.add(answer,str);} return answer.join('');}
Sys.StringUtils.trimChinese=function(str){if(str==null)return str;var offset="！".charCodeAt(0)-'!'.charCodeAt(0);var answer=[];for(var i=0;i<str.length;i++){var ch=str.charAt(i);if(ch>='！'&&ch<='～'){ch=String.fromCharCode(ch.charCodeAt(0)-offset);} if((ch.charCodeAt(0)>=12832)||(ch>='0'&&ch<='9')||(ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')){Array.add(answer,ch);}} return answer.join('');}
Sys.StringUtils.getPinyinCode=function(str,lowerCaseMode,maxLength){if(!str)return"";if(lowerCaseMode){str=Sys.StringUtils.trimChinese(str);} if(!maxLength)maxLength=str.length;var answer=[];for(var i=0;i<maxLength;i++){var code=Sys.StringUtils._doGetPinyinCode(str.charAt(i),lowerCaseMode?false:true);Array.add(answer,code.charAt(0));} return answer.join('');}
Sys.StringUtils.getFirstPinyinCode=function(str){if(!str)return"";str=Sys.StringUtils.trimChinese(str);if(str.length==0){return"";} else{return Sys.StringUtils._doGetPinyinCode(str.charAt(0));}}
Sys.StringUtils._doGetPinyinCode=function(ch,upperCaseMode){if(!Sys.StringUtils._pinyinList){Sys.StringUtils._pinyinList="ydyqsxmwzssxjbymgcczqpssqbycdscdqldylybssjgyzzjjfkcclzdhwdwzjljpfyynwjjtmyhzwzhflzppqhgscyyynjqyxxgjhhsdsjnkktmomlcrxypsnqseccqzggllyjlmyzzsecykyyhqwjssggyxyzyjwwkdjhychmyxjtlxjyqbyxzldwrdjrwysrldzjpcbzjjbrcftleczstzfxxzhtrqhybdlyczssymmrfmyqzpwwjjyfcrwfdfzqpyddwyxkyjawjffxypsftzyhhyzyswcjyxsclcxxwzzxnbgnnxbxlzszsbsgpysyzdhmdzbqbzcwdzzyytzhbtsyybzgntnxqywqskbphhlxgybfmjebjhhgqtjcysxstkzhlyckglysmzxyalmeldccxgzyrjxsdltyzcqkcnnjwhjtzzcqljststbnxbtyxceqxgkwjyflzqlyhyxspsfxlmpbysxxxydjczylllsjxfhjxpjbtffyabyxbhzzbjyzlwlczggbtssmdtjzxpthyqtgljscqfzkjzjqnlzwlslhdzbwjncjzyzsqqycqyrzcjjwybrtwpyftwexcskdzctbzhyzzyyjxzcffzzmjyxxsdzzottbzlqwfckszsxfyrlnyjmbdthjxsqqccsbxyytsyfbxdztgbcnslcyzzpsazyzzscjcshzqydxlbpjllmqxtydzxsqjtzpxlcglqtzwjbhctsyjsfxyejjtlbgxsxjmyjqqpfzasyjntydjxkjcdjszcbartdclyjqmwnqnclllkbybzzsyhqqltwlccxtxllzntylnewyzyxczxxgrkrmtcndnjtsyyssdqdghsdbjghrwrqlybglxhlgtgxbqjdzpyjsjyjctmrnymgrzjczgjmzmgxmpryxkjnymsgmzjymkmfxmldtgfbhcjhkylpfmdxlqjjsmtqgzsjlqdldgjycalcmzcsdjllnxdjffffjczfmzffpfkhkgdpsxktacjdhhzddcrrcfqyjkqccwjdxhwjlyllzgcfcqdsmlzpbjjplsbcjggdckkdezsqcckjgcgkdjtjdlzycxklqscgjcltfpcqczgwpjdqyzjjbyjhsjdzwgfsjgzkqcczllpspkjgqjhzzljplgjgjjthjjyjzczmlzlyqbgjwmljkxzdznjqsyzmljlljkywxmkjlhskjgbmclyymkxjqlbmllkmdxxkwyxyslmlpsjqqjqxyxfjtjdxmxxllcxqbsyjbgwymbggbcyxpjygpepfgdjgbhbnsqjyzjkjkhxqfgqzkfhygkhdkllsdjqxpqykybnqsxqnszswhbsxwhxwbzzxdmnsjbsbkbbzklylxgwxdrwyqzmywsjqlcjxxjxkjeqxscyetlzhlyyysdzpaqyzcmtlshtzcfyzyxyljsdcjqagyslcqlyyyshmrqqkldxzscsssydycjysfsjbfrsszqsbxxpxjysdrckgjlgdkzjzbdktcsyqpyhstcldjdhmxmcgxyzhjddtmhltxzxylymohyjcltyfbqqxpfbdfhhtksqhzyywcnxxcrwhowgyjlegwdqcwgfjycsntmytolbygwqwesjpwnmlrydzsztxyqpzgcwxhngpyxshmyqjxztdppbfyhzhtjyfdzwkgkzbldntsxhqeegzzylzmmzyjzgxzxkhkstxnxxwylyapsthxdwhzympxagkydxbhnhxkdpjnmyhylpmgocslnzhkxxlpzzlbmlsfbhhgygyyggbhscyaqtywlxtzqcezydqdqmmhtkllszhlsjzwfyhqswscwlqazynytlsxthaznkzzszzlaxxzwwctgqqtddyztcchyqzflxpslzygpzsznglndqtbdlxgtctajdkywnsyzljhhzzcwnyyzywmhychhyxhjkzwsxhzyxlyskqyspslyzwmyppkbyglkzhtyxaxqsyshxasmchkdscrswjpwxsgzjlwwschsjhsqnhcsegndaqtbaalzzmsstdqjcjktscjaxplggxhhgxxzcxpdmmhldgtybysjmxhmrcpxxjzckzxshmlqxxtthxwzfkhcczdytcjyxqhlxdhypjqxylsyydzozjnyxqezysqyayxwypdgxddxsppyzndltwrhxydxzzjhtcxmczlhpyyyymhzllhnxmylllmdcppxhmxdkycyrdltxjchhzzxzlcclylnzshzjzzlnnrlwhyqsnjhxyntttkyjpychhyegkcttwlgqrlggtgtygyhpyhylqyqgcwyqkpyyyttttlhyhlltyttsplkyzxgzwgpydsszzdqxskcqnmjjzzbxyqmjrtffbtkhzkbxljjkdxjtlbwfzpptkqtztgpdgntpjyfalqmkgxbdclzfhzclllladpmxdjhlcclgyhdzfgyddgcyyfgydxkssebdhykdkdkhnaxxybpbyyhxzqgaffqyjxdmljcsqzllpchbsxgjyndybyqspzwjlzksddtactbxzdyzypjzqsjnkktknjdjgyypgtlfyqkasdntcyhblwdzhbbydwjrygkzyheyyfjmsdtyfzjjhgcxplxhldwxxjkytcyksssmtwcttqzlpbszdzwzxgzagyktywxlhlspbclloqmmzsslcmbjcszzkydczjgqqdsmcytzqqlwzqzxssfpttfqmddzdshdtdwfhtdyzjyqjqkypbdjyyxtljhdrqxxxhaydhrjlklytwhllrllrcxylbwsrszzsymkzzhhkyhxksmdsydycjpbzbsqlfcxxxnxkxwywsdzyqoggqmmyhcdzttfjyybgstttybykjdhkyxbelhtypjqnfxfdykzhqkzbyjtzbxhfdxkdaswtawajldyjsfhbldnntnqjtjnchxfjsrfwhzfmdryjyjwzpdjkzyjympcyznynxfbytfyfwygdbnzzzdnytxzemmqbsqehxfzmbmflzzsrxymjgsxwzjsprydjsjgxhjjgljjynzzjxhgxkymlpyyycxytwqzswhwlyrjlpxslsxmfswwklctnxnynpsjszhdzeptxmyywxyysywlxjqzqxzdcleeelmcpjpclwbxsqhfwwtffjtnqjhjqdxhwlbyznfjlalkyyjldxhhycstyywnrjyxywtrmdrqhwqcmfjdyzmhmyyxjwmyzqzxtlmrspwwchaqbxygzypxyyrrclmpymgksjszysrmyjsnxtplnbappypylxyyzkynldzyjzcznnlmzhharqmpgwqtzmxxmllhgdzxyhxkyxycjmffyyhjfsbssqlxxndycannmtcjcyprrnytyqnyymbmsxndlylysljrlxysxqmllyzlzjjjkyzzcsfbzxxmstbjgnxyzhlxnmcwscyzyfzlxbrnnnylbnrtgzqysatswryhyjzmzdhzgzdwybsscskxsyhytxxgcqgxzzshyxjscrhmkkbxczjyjymkqhzjfnbhmqhysnjnzybknqmclgqhwlznzswxkhljhyybqlbfcdsxdldspfzpskjyzwzxzddxjsmmegjscssmgclxxkyyylnypwwwgydkzjgggzggsycknjwnjpcxbjjtqtjwdsspjxzxnzxumelpxfsxtllxcljxjjljzxctpswxlydhlyqrwhsycsqyybyaywjjjqfwqcqqcjqgxaldbzzyjgkgxpltzyfxjltpadkyqhpmatlcpdckbmtxybhklenxdleegqdymsawhzmljtwygxlyqzljeeyybqqffnlyxrdsctgjgxyynkllyqkcctlhjlqmkkzgcyygllljdzgydhzwxpysjbzkdzgyzzhywyfqytyzszyezzlymhjjhtsmqwyzlkyywzcsrkqytltdxwctyjklwsqzwbdcqyncjsrszjlkcdcdtlzzzacqqzzddxyplxzbqjylzlllqddzqjyjyjzyxnyyynyjxkxdazwyrdljyyyrjlxlldyxjcywywnqcclddnyyynyckczhxxcclgzqjgkwppcqqjysbzzxyjsqpxjpzbsbdsfnsfpzxhdwztdwpptflzzbzdmyypqjrsdzsqzsqxbdgcpzswdwcsqzgmdhzxmwwfybpdgphtmjthzsmmbgzmbzjcfzwfzbbzmqcfmbdmcjxlgpnjbbxgyhyyjgptzgzmqbqtcgyxjxlwzkydpdymgcftpfxyztzxdzxtgkmtybbclbjaskytssqyymszxfjewlxllszbqjjjaklylxlycctsxmcwfkkkbsxlllljyxtyltjyytdpjhnhnnkbyqnfqyyzbyyessessgdyhfhwtcjbsdzztfdmxhcnjzymqwsryjdzjqpdqbbstjggfbkjbxtgqhngwjxjgdllthzhhyyyyyysxwtyyyccbdbpypzycczyjpzywcbdlfwzcwjdxxhyhlhwzzxjtczlcdpxujczzzlyxjjtxphfxwpywxzptdzzbdzcyhjhmlxbqxsbylrdtgjrrcttthytczwmxfytwwzcwjwxjywcskybzscctzqnhxnwxxkhkfhtswoccjybcmpzzykbnnzpbzhhzdlsyddytyfjpxyngfxbyqxcbhxcpsxtyzdmkysnxsxlhkmzxlyhdhkwhxxsskqyhhcjyxglhzxcsnhekdtgzxqypkdhextykcnymyyypkqyyykxzlthjqtbyqhxbmyhsqckwwyllhcyylnneqxqwmcfbdccmljggxdqktlxkgnqcdgzjwyjjlyhhqtttnwchmxcxwhwszjydjccdbqcdgdnyxzthcqrxcbhztqcbxwgqwyybxhmbymyqtyexmqkyaqyrgyzslfykkqhyssqyshjgjcnxkzycxsbxyxhyylstycxqthysmgscpmmgcccccmtztasmgqzjhklosqylswtmxsyqkdzljqqyplsycztcqqpbbqjzclpkhqzyyxxdtddtsjcxffllchqxmjlwcjcxtspycxndtjshjwxdqqjskxyamylsjhmlalykxcyydmnmdqmxmcznncybzkkyflmchcmlhxrcjjhsylnmtjzgzgywjxsrxcwjgjqhqzdqjdcjjzkjkgdzqgjjyjylxzxxcdqhhheytmhlfsbdjsyyshfystczqlpbdrfrztzykywhszyqkwdqzrkmsynbcrxqbjyfazpzzedzcjywbcjwhyjbqszywryszptdkzpfpbnztklqyhbbzpnpptyzzybqnydcpjmmcycqmcyfzzdcmnlfpbplngqjtbttnjzpzbbznjkljqylnbzqhksjznggqszzkyxshpzsnbcgzkddzqanzhjkdrtlzlswjljzlywtjndjzjhxyayncbgtzcssqmnjpjytyswxzfkwjqtkhtzplbhsnjzsyzbwzzzzlsylsbjhdwwqpslmmfbjdwaqyztcjtbnnwzxqxcdslqgdsdpdzhjtqqpswlyyjzlgyxyzlctcbjtktyczjtqkbsjlgmgzdmcsgpynjzyqyyknxrpwszxmtncszzyxybyhyzaxywqcjtllckjjtjhgdxdxyqyzzbywdlwqcglzgjgqrqzczssbcrpcskydznxjsqgxssjmydnstztpbdltkzwxqwqtzexnqczgwezkssbybrtssslccgbpszqszlccglllzxhzqthczmqgyzqznmcocszjmmzsqpjygqljyjppldxrgzyxccsxhshgtznlzwzkjcxtcfcjxlbmqbczzwpqdnhxljcthyzlgylnlszzpcxdscqqhjqksxzpbajyemsmjtzdxlcjyryynwjbngzztmjxltbslyrzpylsscnxphllhyllqqzqlxymrsycxzlmmczltzsdwtjjllnzggqxpfskygyghbfzpdkmwghcxmsgdxjmcjzdycabxjdlnbcdqygskydqtxdjjyxmszqazdzfslqxyjsjzylbtxxwxqqzbjzufbblylwdsljhxjyzjwtdjczfqzqzzdzsxzzqlzcdzfjhyspympqzmlpplffxjjnzzylsjeyqzfpfzksywjjjhrdjzzxtxxglghydxcskyswmmzcwybazbjkshfhjcxmhfqhyxxyzftsjyzfxyxpzlchmzmbxhzzsxyfymncwdabazlxktcshhxkxjjzjsthygxsxyyhhhjwxkzxssbzzwhhhcwtzzzpjxsnxqqjgzyzywllcwxzfxxyxyhxmkyyswsqmnlnaycyspmjkhwcqhylajjmzxhmmcnzhbhxclxtjpltxyjhdyylttxfszhyxxsjbjyayrsmxyplckduyhlxrlnllstyzyyqygyhhsccsmzctzqxkyqfpyyrpfflkquntszllzmwwtcqqyzwtllmlmpwmbzsstzrbpddtlqjjbxzcsrzqqygwcsxfwzlxccrszdzmcyggdzqsgtjswljmymmzyhfbjdgyxccpshxnzcsbsjyjgjmppwaffyfnxhyzxzylremzgzcyzsszdlljcsqfnxzkptxzgxjjgfmyyysnbtylbnlhpfzdcyfbmgqrrssszxysgtzrnydzzcdgpjafjfzknzblczszpsgcycjszlmlrszbzzldlsllysxsqzqlyxzlskkbrxbrbzcycxzzzeeyfgklzlyyhgzsgzlfjhgtgwkraajyzkzqtsshjjxdcyzuyjlzyrzdqqhgjzxsszbykjpbfrtjxllfqwjhylqtymblpzdxtzygbdhzzrbgxhwnjtjxlkscfsmwlsdqysjtxkzscfwjlbxftzlljzllqblsqmqqcgczfpbphzczjlpyyggdtgwdcfczqyyyqyssclxzsklzzzgffcqnwglhqyzjjczlqzzyjpjzzbpdccmhjgxdqdgdlzqmfgpsytsdyfwwdjzjysxyyczcyhzwpbykxrylybhkjksfxtzjmmckhlltnyymsyxyzpyjqycsycwmtjjkqyrhllqxpsgtlyycljscpxjyzfnmlrgjjtyzbxyzmsjyjhhfzqmsyxrszcwtlrtqzsstkxgqkgsptgcznjsjcqcxhmxggztqydjkzdlbzsxjlhyqgggthqszpyhjhhgyygkggcwjzzylczlxqsftgzslllmljskctbllzzszmmnytpzsxqhjcjyqxyzxzqzcpshkzzysxcdfgmwqrllqxrfztlystctmjcxjjxhjnxtnrztzfqyhqgllgcxszsjdjljcydsjtlnyxhszxcgjzyqpylfhdjsbpcczhjjjqzjqdybssllcmyttmqtbhjqnnygkyrqyqmzgcjkpdcgmyzhqllsllclmholzgdyyfzsljcqzlylzqjeshnylljxgjxlysyyyxnbzljsszcqqcjyllzltjyllzllbnylgqchxyyxoxcxqkyjxxxyklxsxxyqxcykqxqcsgyxxyqxygytqohxhxpyxxxulcyeychzzcbwqbbwjqzscszsslzylkdesjzwmymcytsdsxxscjpqqsqylyyzycmdjdzywcbtjsydjkcyddjlbdjjsodzysyxqqyxdhhgqqyqhdyxwgmmmajdybbbppbcmuupljzsmtxerxjmhqnutpjdcbssmssstkjtssmmtrcplzszmlqdsdmjmqpnqdxcfynbfsdqxyxhyaykqyddlqyyysszbydslntfqtzqpzmchdhczcwfdxtmyqsphqyyxsrgjcwtjtzzqmgwjjtjhtqjbbhwzpxxhyqfxxqywyyhyscdydhhqmnmtmwcpbszppzzglmzfollcfwhmmsjzttdhzzyffytzzgzyskyjxqyjzqbhmbzzlyghgfmshpzfzsnclpbqsnjxzslxxfpmtyjygbxlldlxpzjyzjyhhzcywhjylsjexfszzywxkzjluydtmlymqjpwxyhxsktqjezrpxxzhhmhwqpwqlyjjqjjzszcphjlchhnxjlqwzjhbmzyxbdhhypzlhlhlgfwlchyytlhjxcjmscpxstkpnhqxsrtyxxtesyjctlsslstdlllwwyhdhrjzsfgxtsyczynyhtdhwjslhtzdqdjzxxqhgyltzphcsqfclnjtclzpfstpdynylgmjllycqhysshchylhqyqtmzypbywrfqykqsyslzdqjmpxyyssrhzjnywtqdfzbwwtwwrxcwhgyhxmkmyyyqmsmzhngcepmlqqmtcwctmmpxjpjjhfxyyzsxzhtybmstsyjttqqqyylhynpyqzlcyzhzwsmylkfjxlwgxypjytysyxymzckttwlksmzsylmpwlzwxwqzssaqsyxyrhssntsrapxcpwcmgdxhxzdzyfjhgzttsbjhgyzszysmyclllxbtyxhbbzjkssdmalxhycfygmqypjycqxjllljgslzgqlycjcczotyxmtmttllwtgpxymzmklpszzzxhkqysxctyjzyhxshyxzkxlzwpsqpyhjwpjpwxqqylxsdhmrslzzyzwttcyxyszzshbsccstplwsscjchnlcgchssphylhfhhxjsxyllnylszdhzxylsxlwzykcldyaxzcmddyspjtqjzlnwqpssswctstszlblnxsmnyymjqbqhrzwtyydchqlxkpzwbgqybkfcmzwpzllyylszydwhxpsbcmljbscgbhxlqhyrljxyswxwxzsldfhlslynjlzyflyjycdrjlfsyzfsllcqyqfgjyhyxzlylmstdjcyhbzllnwlxxygyyhsmgdhxxhhlzzjzxczzzcyqzfngwpylcpkpyypmclqkdgxzggwqbdxzzkzfbxxlzxjtpjpttbytszzdwslchzhsltyxhqlhyxxxyyzyswtxzkhlxzxzpyhgchkcfsyhutjrlxfjxptztwhplyxfcrhxshxkyxxyhzqdxqwulhyhmjtbflkhtxcwhjfwjcfpqryqxcyyyqygrpywsgsungwchkzdxyflxxhjjbyzwtsxxncyjjymswzjqrmhxzwfqsylzjzgbhynslbgttcsybyxxwxyhxyyxnsqyxmqywrgyqlxbbzljsylpsytjzyhyzawlrorjmksczjxxxyxchdyxryxxjdtsqfxlyltsffyxlmtyjmjuyyyxltzcsxqzqhzxlyyxzhdnbrxxxjctyhlbrlmbrllaxkyllljlyxxlycrylcjtgjcmtlzllcyzzpzpcyawhjjfybdyyzsmpckzdqyqpbpcjpdcyzmdpbcyydycnnplmtmlrmfmmgwyzbsjgygsmzqqqztxmkqwgxllpjgzbqcdjjjfpkjkcxbljmswmdtqjxldlppbxcwrcqfbfqjczahzgmykphyyhzykndkzmbpjyxpxyhlfpnyygxjdbkxnxhjmzjxstrstldxskzysybzxjlxyslbzyslhxjpfxpqnbylljqkygzmcyzzymccslclhzfwfwyxzmwsxtynxjhpyymcyspmhysmydyshqyzchmjjmzcaagcfjbbhplyzylxxsdjgxdhkxxtxxnbhrmlyjsltxmrhnlxqjxyzllyswqgdlbjhdcgjyqycmhwfmjybmbyjyjwymdpwhxqldygpdfxxbcgjspckrssyzjmslbzzjfljjjlgxzgyxyxlszqyxbexyxhgcxbpldyhwettwwcjmbtxchxyqxllxflyxlljlssfwdpzsmyjclmwytczpchqekcqbwlcqydplqppqzqfjqdjhymmcxtxdrmjwrhxcjzylqxdyynhyyhrslsrsywwzjymtltllgtqcjzyabtckzcjyccqljzqxalmzyhywlwdxzxqdllqshgpjfjljhjabcqzdjgtkhsstcyjlpswzlxzxrwgldlzrlzxtgsllllzlyxxwgdzygbdphzpbrlwsxqbpfdwofmwhlypcbjccldmbzpbzzlcyqxldomzb"+"lzwpdwyygdstthcsqsccrsssyslfybfntyjszdfndpdhdzzmbblslcmyffgtjjqwftmtpjwfnlbzcmmjtgbdzlqlpyfhyymjylsdchdzjwjcctljcldtljjcpddsqdsszybndbjlggjzxsxnlycybjxqycbylzcfzppgkcxzdzfztjjfjsjxzbnzyjqttyjyhtyczhymdjxttmpxsplzcdwslshxypzgtfmlcjtycbpmgdkwycyzcdszzyhflyctygwhkjyylsjcxgywjcbllcsnddbtzbsclyzczzssqdllmqyyhfslqllxftyhabxgwnywyypllsdldllbjcyxjzmlhljdxyyqytdlllbugbfdfbbqjzzmdpjhgclgmjjpgaehhbwcqxaxhhhzchxyphjaxhlphjpgpzjqcqzgjjzzuzdmqyybzzphyhybwhazyjhykfgdpfqsdlzmljxkxgalxzdaglmdgxmwzqyxxdxxpfdmmssympfmdmmkxksyzyshdzkxsysmmzzzmsydnzzczxfplstmzdnmxckjmztyymzmzzmsxhhdczjemxxkljstlwlsqlyjzllzjssdppmhnlzjczyhmxxhgzcjmdhxtkgrmxfwmcgmwkdtksxqmmmfzzydkmsclcmpcgmhspxqpzdsslcxkyxtwlwjyahzjgzqmcsnxyymmpmlkjxmhlmlqmxctkzmjqyszjsyszhsyjzjcdajzybsdqjzgwzqqxfkdmsdjlfwehkzqkjpeypzyszcdwyjffmzzylttdzzefmzlbnpplplpepszalltylkckqzkgenqlwagyxydpxlhsxqqwqcqxqclhyxxmlyccwlymqyskgchlcjnszkpyzkcqzqljpdmdzhlasxlbydwqlwdnbqcryddztjybkbwszdxdtnpjdtctqdfxqqmgnxeclttbkpwslctyqlpwyzzklpygzcqqpllkccylpqmzczqcljslqzdjxlddhpzqdljjxzqdxyzqkzljcyqdyjppypqykjyrmpcbymcxkllzllfqpylllmbsglcysslrsysqtmxyxzqzfdzuysyztffmzzsmzqhzssccmlyxwtpzgxzjgzgsjsgkddhtqggzllbjdzlcbchyxyzhzfywxyzymsdbzzyjgtsmtfxqyxqstdgslnxdlryzzlryylxqhtxsrtzngzxbnqqzfmykmzjbzymkbpnlyzpblmcnqyzzzsjzhjctzkhyzzjrdyzhnpxglfztlkgjtctssyllgzrzbbqzzklpklczyssuyxbjfpnjzzxcdwxzyjxzzdjjkggrsrjkmsmzjlsjywqskyhqjsxpjzzzlsnshrnypztwchklpsrzlzxyjqxqkysjycztlqzybbybwzpqdwwyzcytjcjxckcwdkkzxsgkdzxwwyyjqyytcytdllxwkczkklcclzcqqdzlqlcsfqchqhsfsmqzzlnbjjzbsjhtszdysjqjpdlzcdcwjkjzzlpycgmzwdjjbsjqzsyzyhhxjpbjydssxdzncglqmbtsfsbpdzdlznfgfjgfsmpxjqlmblgqcyyxbqkdjjqyrfkztjdhczklbsdzcfjtplljgxhyxzcsszzxstjygkgckgyoqxjplzpbpgtgyjzghzqzzlbjlsqfzgkqqjzgyczbzqtldxrjxbsxxpzxhyzyclwdxjjhxmfdzpfzhqhqmqgkslyhtycgfrzgnqxclpdlbzcsczqlljblhbzcypzzppdymzzsgyhckcpzjgsljlnscdsldlxbmstlddfjmkdjdhzlzxlszqpqpgjllybdszgqlbzlslkyyhzttntjyqtzzpszqztlljtyyllqllqyzqlbdzlslyyzymdfszsnhlxznczqzpbwskrfbsyzmthblgjpmczzlstlxshtcsyzlzblfeqhlxflcjlyljqcbzlzjhhsstbrmhxzhjzclxfnbgxgtqjcztmsfzkjmssnxljkbhsjxntnlzdntlmsjxgzjyjczxyjyjwrwwqnztnfjszpzshzjfyrdjsfszjzbjfzqzzhzlxfysbzqlzsgyftzdcszxzjbqmszkjrhyjzckmjkhchgtxkxqglxpxfxtrtylxjxhdtsjxhjzjxzwzlcqsbtxwxgxtxxhxftsdkfjhzyjfjxrzsdllltqsqqzqwzxsyqtwgwbzcgzllyzbclmqqtzhzxzxljfrmyzflxysqxxjkxrmqdzdmmyybsqbhgzmwfwxgmxlzpyytgzyccdxyzxywgsyjyznbhpzjsqsyxsxrtfyzgrhztxszzthcbfclsyxzlzqmzlmplmxzjxsflbyzmyqhxjsxrxsqzzzsslyfrczjrcrxhhzxqydyhxsjjhzcxzbtynsysxjbqlpxzqpymlxzkyxlxcjlcysxxzzlxdllljjyhzxgyjwkjrwyhcpsgnrzlfzwfzznsxgxflzsxzzzbfcsyjdbrjkrdhhgxjljjtgxjxxstjtjxlyxqfcsgswmsbctlqzzwlzzkxjmltmjyhsddbxgzhdlbmyjfrzfsgclyjbpmlysmsxlszjqqhjzfxgfqfqbpxzgyyqxgztcqwyltlgwsgwhrlfsfgzjmgmgbgtjfsyzzgzyzaflsspmlpflcwbjzcljjmzlpjjlymqdmyyyfbgygyzmlyzdxqyxrqqqhsyyyqxyljtyxfsfsllgnqcyhycwfhcccfxpylypllzyxxxxxkqhhxshjzcfzsczjxcpzwhhhhhapylqalpqafyhxdylukmzqgggddesrnnzltzgchyppysqjjhclljtolnjpzljlhymheydydsqycddhgzundzclzyzllzntnyzgslhslpjjbdgwxpcdutjcklkclwkllcasstkzzdnqnttlyyzssysszzryljqkcqdhhcrxrzydgrgcwcgzqfffppjfzynakrgywyqpqxxfkjtszzxswzddfbbxtbgtzkznpzzpzxzpjszbmqhkcyxyldkljnypkyghgdzjxxeahpnzkztzcmxcxmmjxnkszqnmnlwbwwxjkyhcpstmcsqtzjyxtpctpdtnnpglllzsjlspblplqhdtnjnlyyrszffjfqwdphzdwmrzcclodaxnssnyzrestyjwjyjdbcfxnmwttbylwstszgybljpxglboclhpcbjltmxzljylzxcltpnclckxtpzjswcyxsfyszdkntlbyjcyjllstgqcbxryzxbxklylhzlqzlnzcxwjzljzjncjhxmnzzgjzzxtzjxycyycxxjyyxjjxsssjstssttppgqtcsxwzdcsyfptfbfhfbblzjclzzdbxgcxlqpxkfzflsyltuwbmqjhszbmddbcysccldxycddqlyjjwmqllcsgljjsyfpyyccyltjantjjpwycmmgqyysxdxqmzhszxpftwwzqswqrfkjlzjqqyfbrxjhhfwjjzyqazmyfrhcyybyqwlpexcczstyrlttdmqlykmbbgmyyjprkznpbsxyxbhyzdjdnghpmfsgmwfzmfqmmbcmzzcjjlcnuxyqlmlrygqzcyxzlwjgcjcggmcjnfyzzjhycprrcmtzqzxhfqgtjxccjeaqcrjyhplqlszdjrbcqhqdyrhylyxjsymhzydwldfryhbpydtsscnwbxglpzmlzztqsscpjmxxycsjytycghycjwyrxxlfemwjnmkllswtxhyyyncmmcwjdqdjzglljwjrkhpzggflccsczmcbltbhbqjxqdspdjzzgkglfqywbzyzjltstdhqhctcbchflqmpwdshyytqwcnzzjtlbymbpdyyyxsqkxwyyflxxncwcxypmaelykkjmzzzbrxyyqjfljpfhhhytzzxsgqqmhspgdzqwbwpjhzjdyscqwzktxxsqlzyymysdzgrxckkujlwpysyscsyzlrmlqsyljxbcxtlwdqzpcycykpppnsxfyzjjrcemhszmsxlxglrwgcstlrsxbzgbzgztcplujlslylymtxmtzpalzxpxjtjwtcyyzlblxbzlqmylxpghdslssdmxmbdzzsxwhamlczcpjmcnhjysnsygchskqmzzqdllkablwjxsfmocdxjrrlyqzkjmybyqlyhetfjzfrfksryxfjtwdsxxsysqjyslyxwjhsnlxyyxhbhawhhjzxwmyljcsslkydztxbzsyfdxgxzjkhsxxybssxdpynzwrptqzczenygcxqfjykjbzmljcmqqxuoxslyxxlylljdzbtymhpfsttqqwlhokyblzzalzxqlhzwrrqhlstmypyxjjxmqsjfnbxyxyjxxyqylthylqyfmlkljtmllhszwkzhljmlhljkljstlqxylmbhhlnlzxqjhxcfxxlhyhjjgbyzzkbxscqdjqdsujzyyhzhhmgsxcsymxfebcqwwrbpyyjqtyzcyqyqqzyhmwffhgzfrjfcdpxntqyzpdykhjlfrzxppxzdbbgzqstlgdgylcqmlchhmfywlzyxkjlypqhsywmqqgqzmlzjnsqxjqsyjycbehsxfszpxzwfllbcyyjdytdthwzsfjmqqyjlmqxxlldttkhhybfpwtyysqqwnqwlgwdebzwcmygculkjxtmxmyjsxhybrwfymwfrxyqmxysztzztfykmldhqdxwyynlcryjblpsxcxywlsprrjwxhqyphtydnxhhmmywytzcsqmtssccdalwztcpqpyjllqzyjswxmzzmmylmxclmxczmxmzsqtzppqqblpgxqzhfljjhytjsrxwzxsccdlxtyjdcqjxslqyclzxlzzxmxqrjmhrhzjbhmfljlmlclqnldxzlllpypsyjysxcqqdcmqjzzxhnpnxzmekmxhykyqlxsxtxjyyhwdcwdzhqyybgybcyscfgpsjnzdyzzjzxrzrqjjymcanyrjtldppyzbstjkxxzypfdwfgzzrpymtngxzqbyxnbufnqkrjqzmjegrzgyclkxzdskknsxkcljspjyyzlqqjybzssqlllkjxtbktylccddblsppfylgydtzjyqggkqttfzxbdktyyhybbfytyybclpdytgdhryrnjsptcsnyjqhklllzslydxxwbcjqspxbpjzjcjdzffxxbrmlazhcsndlbjdszblprztswsbxbcllxxlzdjzsjpylyxxyftfffbhjjxgbyxjpmmmpssjzjmtlyzjxswxtyledqpjmygqzjgdjlqjwjqllsjgjgygmscljjxdtygjqjqjcjzcjgdzzsxqgsjggcxhqxsnqlzzbxhsgzxcxyljxyxyydfqqjhjfxdhctxjyrxysqtjxyefyyssyyjxncyzxfxmsyszxyyschshxzzzgzzzgfjdltylnpzgyjyzyyqzpbxqbdztzczyxxyhhsqxshdhgqhjhgywsztmzmlhyxgebtylzkqwytjzrclekystdbcykqqsayxcjxwwgsbhjyzydhcsjkqcxswxfltynyzpzcczjqtzwjqdzzzqzljjxlsbhpyxxpsxshheztxfptlqyzzxhytxncfzyyhxgnxmywxtzsjpthhgymxmxqzxtsbczyjyxxtyyzypcqlmmszmjzzllzxgxzaajzyxjmzxwdxzsxzdzxleyjjzqbhzwzzzqtzpsxztdsxjjjznyazphxyysrnqdthzhyykyjhdzxzlswclybzyecwcycrylcxnhzydzydyjdfrjjhtrsqtxyxjrjhojynxelxsfsfjzghpzsxzszdzcqzbyyklsgsjhczshdgqgxyzgxchxzjwyqwgyhksseqzzndzfkwysstclzstsymcdhjxxyweyxczaydmpxmdsxybsqmjmzjmtzqlpjyqzcgqhxjhhlxxhlhdldjqcldwbsxfzzyyschtytyybhecxhykgjpxhhyzjfxhwhbdzfyzbcapnpgnydmsxhmmmmamynbyjtmpxyymcthjbzyfcgtyhwphftwzzezsbzegpfmtskftycmhfllhgpzjxzjgzjyxzsbbqsczzlzccstpgxmjsftcczjzdjxcybzlfcjsyzfgszlybcwzzbyzdzypswyjzxzbdsyuxlzzbzfygczxbzhzftpbgzgejbstgkdmfhyzzjhzllzzgjqzlsfdjsscbzgpdlfzfzszyzyzsygcxsnxxchczxtzzljfzgqsqyxzjqdccztqcdxzjyqjqchxztdlgscxzsyqjqtzwlqdqztqchqqjzyezzzpbwkdjfcjpztypqyqttynlmbdktjzpqzqzzfpzsbnjlgyjdxjdzzkzgqkxdlpzjtcjdqbxdjqjstcknxbxzmslyjcqmtjqwwcjqnjnlllhjcwqtbzqydzczpzzdzyddcyzzzccjttjfzdprrtztjdcqtqzdtjnplzbcllctzsxkjzqzpzlbzrbtjdcxfczdbccjjltqqpldcgzdbbzjcqdcjwynllzyzccdwllxwzlxrxntqqczxkqlsgdfqtddglrlajjtkuymkqlltzytdyyczgjwyxdxfrskstqtenqmrkqzhhqkdldazfkypbggpzrebzzykzzspegjxgykqzzzslysyyyzwfqzylzzlzhwchkypqgnpgblplrrjyxccsyyhsfzfybzyytgzxylxczwxxzjzblfflgskhyjzeyjhlpllllczgxdrzelrhgklzzyhzlyqszzjzqljzflnbhgwlczcfjyspyxzlzlxgccpzbllcybbbbubbcbpcrnnzczyrbfsrldcgqyyqxygmqzwtzytyjxyfwtehzzjywlccntzyjjzdedpzdztsyqjhdymbjnyjzlxtsstphndjxxbyxqtzqddtjtdyytgwscszqflshlglbczphdlyzjyckwtytylbnytsdsycctyszyyebhexhqdtwnygyclxtszystqmygzazccszzdslzclzrqxyyeljsbymxsxztembbllyyllytdqyshymrqwkfkbfxnxsbychxbwjyhtqbpbsbwdzylkgzskyhxqzjxhxjxgnljkzlyycdxlfyfghljgjybxqlybxqpqgztzplncypxdjyqydymrbesjyyhkxxstmxrczzywxyqybmcllyzhqyzwqxdbxbzwzmslpdmyskfmzklzcyqyczlqxfzzydqzpzygyjyzmzxdzfyfyttqtzhgspczmlccytzxjcytjmkslpzhysnzllytpzctzzcktxdhxxtqcyfksmqccyyazhtjpcylzlyjbjxtpnyljyynrxsylmmnxjsmybcsysylzylxjjqyldzlpqbfzzblfndxqkczfywhgqmrdsxycytxnqqjzyypfzxdyzfprxejdgyqbxrcnfyyqpghyjdyzxgrhtkylnwdzntsmpklbthbpyszbztjzszzjtyyxzphsszzbzczptqfzmyflypybbjqxzmxxdjmtsyskkbjzxhjcklpsmkyjzcxtmljyxrzzqslxxqpyzxmkyxxxjcljprmyygadyskqlsndhyzkqxzyztcghztlmlwzybwsyctbhjhjfcwztxwytkzlxqshlyjzjxtmplpycgltbzztlzjcyjgdtclklpllqpjmzpapxyzlkktkdzczzbnzdydyqzjyjgmctxltgxszlmlhbglkfwnwzhdxuhlfmkyslgxdtwwfrjejztzhydxykshwfzcqshktmqqhtzhymjdjskhxzjzbzzxympagqmstpxlsklzynwrtsqlszbpspsgzwyhtlkssswhzzlyytnxjgmjszsufwnlsoztxgxlsammlbwldszylakqcqctmycfjbslxclzzclxxksbzqclhjpsqplsxxckslnhpsfqqytxyjzlqldxzqjzdyydjnzptuzdskjfsljhylzsqzlbtxydgtqfdbyazxdzhzjnhhqbyknxjjqczmlljzkspldyclbblxklelxjlbqycxjxgcnlcqplzlzyjtzljgyzdzpltqcsxfdmnycxgbtjdcznbgbqyqjwgkfhtnpyqzqgbkpbbyzmtjdytblsqmpsxtbnpdxklemyycjynzctldykzzxddxhqshdgmzsjycctayrzlpyltlkxslzcggexclfxlkjrtlqjaqzncmbydkkcxglczjzxjhptdjjmzqykqsecqzdshhadmlzfmmzbgntjnnlgbyjbrbtmlbyjdzxlcjlpldlpcqdhlxzlycblcxzzjadjlnzmmsssmybhbsqkbhrsxxjmxsdznzpxlgbrhwggfcxgmsklltsjyycqltskywyyhywxbxqywpywykqlsqptntkhqcwdqktwpxxhcpthtwumssyhbwcrwxhjmkmzngwtmlkfghkjylsyycxwhyeclqhkqhttqkhfzldxqwyzyydesbpkyrzpjfyyzjceqdzzdlatzbbfjllcxdlmjssxegygsjqxcwbxsszpdyzcxdnyxppzydlyjczpltxlsxyzyrxcyyydylwwnzsahjsyqyhgywwaxtjzdaxysrltdpssyyfnejdxyzhlxlllzqzsjnyqyqqxyjghzgzcyjchzlycdshwshjzyjxcllnxzjjyyxnfxmwfpylcyllabwddhwdxjmcxztzpmlqzhsfhzynztlldywlslxhymmylmbwwkyxyadtxylldjpybpwuxjmwmllsafdllyflbhhhbqqltzjcqjldjtffkmmmbythygdcqrddwrqjxnbysnwzdbyytbjhpybyttjxaahgqdqtmystqxkbtzpkjlzrbeqqssmjjbdjotgtbxpgbktlhqxjjjcthxqdwjlwrfwqgwshckryswgftgygbxsdwdwrfhwytjjxxxjyzyslpyyypayxhydqkxshxyxgskqhywfdddpplcjlqqeewxksyykdypltjthkjltcyyhhjttpltzzcdlthqkzxqysteeywyyzyxxyysttjkllpzmcyhqgxyhsrmbxpllnqydqhxsxxwgdqbshyllpjjjthyjkyppthyyktyezyenmdshlcrpqfdgfxzpsftljxxjbswyysksflxlpplbbblbsfxfyzbsjssylpbbffffsscjdstzsxzryysyffsyzyzbjtbctsbsdhrtjjbytcxyjeylxcbnebjdsyxykgsjzbxbytfzwgenyhhthzhhxfwgcstbgxklsxywmtmbyxjstzscdyqrcytwxzfhmymcxlznsdjtttxrycfyjsbsdyerxjljxbbdeynjghxgckgscymblxjmsznskgxfbnbpthfjaafxyxfpxmypqdtzcxzzpxrsywzdlybbktyqpqjpzypzjznjpzjlzzfysbttslmptzrtdxqsjehbzylzdhljsqmlhtxtjecxslzzspktlzkqqyfsygywpcpqfhqhytqxzkrsgttsqczlptxcdyyzxsqzslxlzmycpcqbzyxhbsxlzdltcdxtylzjyyzpzyzltxjsjxhlpmytxcqrblzssfjzztnjytxmyjhlhpplcyxqjqqkzzscpzkswalqsblcczjsxgwwwygyktjbbztdkhxhkgtgpbkqyslpxpjckbmllxdzstbklggqkqlsbkktfxrmdkbftpzfrtbbrferqgxyjpzsstlbztpszqzsjdhljqlzbpmsmmsxlqqnhknblrddnxxdhddjcyygylxgzlxsygmqqgkhbpmxyxlytqwlwgcpbmqxcyzydrjbhtdjyhqshtmjsbyplwhlzffnypmhxxhpltbqpfbjwqdbygpnztpfzjgsddtqshzeawzzylltyybwjkxxghlfkxdjtmszsqynzggswqsphtlsskmclzxyszqzxncjdqgzdlfnykljcjllzlmzznhydsshthzzlzzbbhqzwwycrzhlyqqjbeyfxxxwhsrxwqhwp"+"slmsskzttygyqqwrslalhmjtqjsmxqbjjzjxzyzkxbyqxbjxshztsfjlxmxzxfghkzszggylclsarjyhslllmzxelglxydjytlfbhbpnlyzfbbhptgjkwetzhkjjxzxxglljlstgshjjyqlqzfkcgnndjsszfdbctwwseqfhqjbsaqtgypqlbxbmmywxgslzhglzgqyflzbyfzjfrysfmbyzhqgfwzsyfyjjphzbyyzffwodgrlmftwlbzgycqxcdjygzyyyytytydwegazyhxjlzyyhlrmgrxxzclhneljjtjtpwjybjjbxjjtjteekhwsljplpsfyzpqqbdlqjjtyyqlyzkdksqjyyqzldqtgjqyzjsucmryqthtejmfctyhypkmhyzwjdqfhyyxwshctxrljhqxhccyyyjltkttytmxgtcjtzayyoczlylbszywjytsjyhbyshfjlygjxxtmzyyltxxypzlxyjzyzyypnhmymdyylblhlsyyqqllnjjymsoyqbzgdlyxylcqyxtszegxhzglhwbljheyxtwqmakbpqcgyshhegqcmwyywljyjhyyzlljjylhzyhmgsljljxcjjyclycjpcpzjzjmmylcqlnqljqjsxyjmlszljqlycmmhcfmmfpqqmfylqmcffqmmmmhmznfhhjgtthhkhslnchhyqdxtmmqdcyzyxyqmyqyltdcyyyzazzcymzydlzfffmmycqzwzzmabtbyztdmnzzggdftypcgqyttssffwfdtzqssystwxjhxytsxxylbyqhwwkxhzxwznnzzjzjjqjccchyyxbzxzcyztllcqxynjycyycynzzqyyyewyczdcjycchyjlbtzyycqwmpwpymlgkdldlgkqqbgychjxy";} if(!Sys.StringUtils._pinyinMap){Sys.StringUtils._pinyinMap={"19969":"dz","19975":"wm","19988":"qj","20048":"ly","20056":"cs","20060":"mn","20094":"qg","20127":"qj","20167":"cq","20193":"yg","20250":"hk","20256":"cz","20282":"cs","20285":"jgq","20291":"dt","20314":"yd","20340":"ne","20375":"dt","20389":"jy","20391":"cz","20415":"bp","20446":"ys","20447":"sq","20504":"tc","20608":"kg","20854":"qj","20857":"zc","20911":"fp","20504":"tc","20608":"kg","20854":"qj","20857":"zc","20985":"aw","21032":"pb","21048":"qx","21049":"cs","21089":"ys","21119":"jc","21242":"sb","21273":"sc","21305":"py","21306":"qo","21330":"zc","21333":"dcs","21345":"kq","21378":"ca","21397":"cs","21414":"sx","21442":"cs","21477":"jg","21480":"dt","21484":"zs","21494":"yx","21505":"yx","21512":"hg","21523":"xh","21537":"pb","21542":"fp","21549":"kh","21574":"da","21588":"td","21618":"zc","21621":"kha","21632":"jz","21654":"gk","21679":"lkg","21683":"kh","21719":"hy","21734":"woe","21780":"wn","21804":"hx","21899":"dz","21903":"nr","21908":"wo","21939":"zc","21956":"sa","21964":"ya","21970":"td","22031":"jg","22040":"xs","22060":"zc","22066":"cz","22079":"hm","22129":"xj","22179":"xa","22237":"nj","22244":"td","22280":"qj","22300":"yh","22313":"xw","22331":"yq","22343":"jy","22351":"hp","22395":"dc","22412":"td","22484":"pb","22500":"pb","22534":"dz","22549":"dh","22561":"bp","22612":"td","22771":"kq","22831":"hb","22841":"jg","22855":"qj","22865":"qx","23013":"lm","23081":"mw","23487":"sx","23558":"jq","23561":"wy","23586":"yw","23614":"wy","23615":"ns","23631":"pb","23646":"sz","23663":"tz","23673":"yg","23762":"dt","23769":"zs","23780":"qj","23884":"qk","24055":"xh","24113":"dc","24162":"cz","24191":"ga","24273":"qj","24324":"nl","24377":"td","24378":"qj","24439":"pf","24554":"zs","24683":"td","24694":"ew","24733":"lk","24925":"tn","25094":"zg","25100":"xq","25103":"xh","25153":"bp","25170":"bp","25179":"kg","25203":"bp","25240":"zs","25282":"fb","25303":"na","25324":"kg","25341":"zy","25373":"wz","25375":"xj","25528":"sd","25530":"cs","25552":"td","25774":"cz","25874":"zc","26044":"yw","26080":"wm","26292":"bp","26333":"pb","26355":"zy","26366":"cz","26397":"cz","26399":"qj","26415":"sz","26451":"sb","26526":"cz","26552":"jg","26561":"td","26588":"gj","26597":"cz","26629":"zs","26638":"ly","26646":"qx","26653":"kg","26657":"xj","26727":"gh","26894":"zc","26937":"zs","26946":"zc","26999":"kj","27099":"kj","27449":"yq","27481":"xs","27542":"zs","27663":"zs","27748":"ts","27784":"sc","27788":"zd","27795":"td","27850":"bp","27852":"mb","27895":"ls","27898":"lp","27973":"qj","27981":"kh","27986":"hx","27994":"xj","28044":"yc","28065":"wg","28177":"sm","28267":"qj","28291":"kh","28337":"zq","28463":"tl","28548":"dc","28601":"td","28689":"pb","28805":"jg","28820":"qg","28846":"pb","28952":"td","28975":"zc","29325":"qj","29575":"sl","29602":"fb","30010":"td","30044":"cx","30058":"pf","30091":"ysp","30111":"yn","30229":"xj","30427":"sc","30465":"sx","30631":"qy","30655":"qj","30684":"qjg","30707":"sd","30729":"xh","30796":"lg","30917":"bp","31074":"mn","31085":"jz","31109":"cs","31181":"zc","31192":"mlb","31293":"jq","31400":"yx","31584":"jy","31896":"zn","31909":"zy","31995":"xj","32321":"fp","32327":"yz","32418":"hg","32420":"xq","32421":"hg","32438":"lg","32473":"gj","32488":"dt","32521":"jq","32527":"pb","32562":"zsq","32564":"jz","32735":"zd","32793":"pb","33071":"pf","33098":"lx","33100":"ya","33152":"bp","33261":"cx","33324":"bp","33333":"dt","33406":"ay","33426":"mw","33432":"pb","33445":"jg","33486":"zn","33493":"st","33507":"jq","33540":"qj","33544":"zc","33564":"qx","33617":"yt","33632":"jq","33636":"hx","33637":"yx","33694":"gw","33705":"fp","33728":"wy","33882":"sr","34067":"mw","34074":"wy","34121":"jq","34255":"cz","34259":"xl","34425":"hj","34430":"xh","34485":"kh","34503":"sy","34532":"gh","34552":"sx","34558":"ey","34593":"lz","34660":"qy","34892":"hx","34928":"sc","34999":"jq","35048":"bp","35059":"sc","35098":"cz","35203":"tq","35265":"jx","35299":"jx","35782":"sz","35828":"sy","35843":"td","35895":"gy","35977":"hm","36158":"jg","36228":"qj","36426":"qx","36466":"dc","36710":"cj","36711":"zyg","36767":"bp","36866":"sk","36951":"yw","37034":"xy","37063":"hx","37218":"cz","37325":"zc","38063":"bp","38079":"dt","38085":"qy","38107":"dc","38116":"td","38123":"yd","38224":"hg","38241":"xtc","38271":"cz","38415":"ye","38426":"kh","38461":"yd","38463":"ae","38466":"pb","38477":"jx","38518":"ty","38551":"wk","38585":"zc","38704":"xs","38739":"lj","38761":"gj","38808":"qs","39048":"jg","39049":"jx","39052":"hg","39076":"cz","39271":"xt","39534":"td","39552":"td","39584":"bp","39647":"sb","39730":"lg","39748":"pbt","40109":"zq","40479":"nd","40516":"hg","40536":"hg","40583":"qj","40765":"yq","40784":"qj","40840":"yk","40863":"gjq"};} var uni=ch.charCodeAt(0);if(uni<19968||uni>40869){return upperCaseMode?ch:ch.toLowerCase();} else{var code=Sys.StringUtils._pinyinMap[uni];var code=code?code:Sys.StringUtils._pinyinList.charAt(uni-19968);return upperCaseMode?code.toUpperCase():code;}}
if(!window.XMLHttpRequest){window.XMLHttpRequest=function window$XMLHttpRequest(){var progIDs=['Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP'];for(var i=0,l=progIDs.length;i<l;i++){try{return new ActiveXObject(progIDs[i]);} catch(ex){}} return null;}}Sys.Browser={};Sys.Browser.InternetExplorer={};Sys.Browser.Firefox={};Sys.Browser.Safari={};Sys.Browser.Opera={};Sys.Browser.agent=null;Sys.Browser.hasDebuggerStatement=false;Sys.Browser.name=navigator.appName;Sys.Browser.version=parseFloat(navigator.appVersion);Sys.Browser.isStandard=true;if(navigator.userAgent.indexOf(' MSIE ')>-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.isIE=true;var version=Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE\s(\d+\.\d+)/)[1]);if(version>=8){Sys.Browser.isIE8=true;} else if(version>=7){Sys.Browser.isIE7=true;} else if(version>=6){Sys.Browser.isIE6=true;} Sys.Browser.isStandard=Sys.Browser.isIE8;if(version<7){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}} Sys.Browser.hasDebuggerStatement=true;} else if(navigator.userAgent.indexOf(' Firefox/')>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.isFirefox=true;Sys.Browser.version=parseFloat(navigator.userAgent.match(/\sFirefox\/(\d+\.\d+)/)[1]);Sys.Browser.name='Firefox';Sys.Browser.hasDebuggerStatement=true;} else if(navigator.userAgent.indexOf(' AppleWebKit/')>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.isSafari=true;Sys.Browser.version=parseFloat(navigator.userAgent.match(/\sAppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name='Safari';Sys.Browser.isChrome=navigator.userAgent.indexOf(' Chrome/')>-1;} else if(navigator.userAgent.indexOf('Opera/')>-1){Sys.Browser.agent=Sys.Browser.Opera;Sys.Browser.isOpera=true;}
window.getClientBounds=function window$getClientRect(){var clientWidth;var clientHeight;if(Sys.Browser.isIE){if(document.documentElement&&document.documentElement.clientHeight){clientWidth=document.documentElement.clientWidth;clientHeight=document.documentElement.clientHeight;} else if(self.innerHeight){clientWidth=self.innerWidth;clientHeight=self.innerHeight;} else if(document.body){clientWidth=document.body.clientWidth;clientHeight=document.body.clientHeight;}} else{if(self.innerHeight){clientWidth=self.innerWidth;clientHeight=self.innerHeight;} else if(document.documentElement&&document.documentElement.clientHeight){clientWidth=document.documentElement.clientWidth;clientHeight=document.documentElement.clientHeight;} else if(document.body){clientWidth=document.body.clientWidth;clientHeight=document.body.clientHeight;}} return new Sys.UI.Bounds(0,0,clientWidth,clientHeight);}
window.getClientScrollPosition=function window$getClientScrollPosition(){var xScroll=0;if(document.documentElement&&document.documentElement.scrollLeft){xScroll=document.documentElement.scrollLeft;} else{xScroll=document.body.scrollLeft;} var yScroll=0;if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;} else{yScroll=document.body.scrollTop;} return{x:xScroll,y:yScroll};}
window.$getRootURI=function(){var answer=window.__rootURI;return answer?answer:"/";}
window.asyncCall=function(method){return window.setTimeout(method,0);}
Type.registerNamespace('Sys.UI');Sys.UI.DomElement=function Sys$UI$DomElement(){throw Error.notImplemented();}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');var $get=Sys.UI.DomElement.getElementById=function Sys$UI$DomElement$getElementById(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;}
var $$get=Sys.UI.DomElement.getElementsByTagName=function Sys$UI$DomElement$getElementsByTagName(name,element){if(!element)return document.getElementsByTagName(name);else return element.getElementsByTagName(name);}
Sys.UI.DomElement.getBounds=function Sys$UI$DomElement$getBounds(element){var offset=Sys.UI.DomElement.getLocation(element);return new Sys.UI.Bounds(offset.x,offset.y,element.offsetWidth||0,element.offsetHeight||0);}
var $removeNode=Sys.UI.DomElement.removeNode=Sys.Browser.isIE?function(){var d;return function Sys$UI$DomElement$removeNode(n){if(n&&n.tagName!='BODY'){d=d||document.createElement('div');d.appendChild(n);d.innerHTML='';}}}():function Sys$UI$DomElement$removeNode(n){if(n&&n.parentNode&&n.tagName!='BODY'){n.parentNode.removeChild(n);}}
switch(Sys.Browser.agent){case Sys.Browser.InternetExplorer:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){if(element.self||element.nodeType===9)return new Sys.UI.Point(0,0);var clientRect=element.getBoundingClientRect();if(!clientRect){return new Sys.UI.Point(0,0);} var documentElement=element.ownerDocument.documentElement;var offsetX=clientRect.left-window.__bodyXOffset+documentElement.scrollLeft,offsetY=clientRect.top-window.__bodyYOffset+documentElement.scrollTop;try{var f=element.ownerDocument.parentWindow.frameElement||null;if(f){var offset=(f.frameBorder==="0"||f.frameBorder==="no")?window.__bodyXOffset:0;offsetX+=offset;offsetY+=offset;}} catch(ex){} return new Sys.UI.Point(offsetX,offsetY);};break;case Sys.Browser.Safari:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);var offsetX=0;var offsetY=0;var previous=null;var previousStyle=null;var currentStyle;for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);var tagName=parent.tagName;if((parent.offsetLeft||parent.offsetTop)&&((tagName!=="BODY")||(!previousStyle||previousStyle.position!=="absolute"))){offsetX+=parent.offsetLeft;offsetY+=parent.offsetTop;}} currentStyle=Sys.UI.DomElement._getCurrentStyle(element);var elementPosition=currentStyle?currentStyle.position:null;if(!elementPosition||(elementPosition!=="absolute")){for(var parent=element.parentNode;parent;parent=parent.parentNode){tagName=parent.tagName;if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){offsetX-=(parent.scrollLeft||0);offsetY-=(parent.scrollTop||0);} currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);var parentPosition=currentStyle?currentStyle.position:null;if(parentPosition&&(parentPosition==="absolute"))break;}} return new Sys.UI.Point(offsetX,offsetY);};break;case Sys.Browser.Opera:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);var offsetX=0;var offsetY=0;var previous=null;for(var parent=element;parent;previous=parent,parent=parent.offsetParent){var tagName=parent.tagName;offsetX+=parent.offsetLeft||0;offsetY+=parent.offsetTop||0;} var elementPosition=element.style.position;var elementPositioned=elementPosition&&(elementPosition!=="static");for(var parent=element.parentNode;parent;parent=parent.parentNode){tagName=parent.tagName;if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)&&((elementPositioned&&((parent.style.overflow==="scroll")||(parent.style.overflow==="auto"))))){offsetX-=(parent.scrollLeft||0);offsetY-=(parent.scrollTop||0);} var parentPosition=(parent&&parent.style)?parent.style.position:null;elementPositioned=elementPositioned||(parentPosition&&(parentPosition!=="static"));} return new Sys.UI.Point(offsetX,offsetY);};break;default:Sys.UI.DomElement.getLocation=function Sys$UI$DomElement$getLocation(element){if((element.window&&(element.window===element))||element.nodeType===9)return new Sys.UI.Point(0,0);var offsetX=0;var offsetY=0;var previous=null;var previousStyle=null;var currentStyle=null;for(var parent=element;parent;previous=parent,previousStyle=currentStyle,parent=parent.offsetParent){var tagName=parent.tagName;currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);if((parent.offsetLeft||parent.offsetTop)&&!((tagName==="BODY")&&(!previousStyle||previousStyle.position!=="absolute"))){offsetX+=parent.offsetLeft;offsetY+=parent.offsetTop;} if(previous!==null&&currentStyle){if((tagName!=="TABLE")&&(tagName!=="TD")&&(tagName!=="HTML")){offsetX+=parseInt(currentStyle.borderLeftWidth)||0;offsetY+=parseInt(currentStyle.borderTopWidth)||0;} if(tagName==="TABLE"&&(currentStyle.position==="relative"||currentStyle.position==="absolute")){offsetX+=parseInt(currentStyle.marginLeft)||0;offsetY+=parseInt(currentStyle.marginTop)||0;}}} currentStyle=Sys.UI.DomElement._getCurrentStyle(element);var elementPosition=currentStyle?currentStyle.position:null;if(!elementPosition||(elementPosition!=="absolute")){for(var parent=element.parentNode;parent;parent=parent.parentNode){tagName=parent.tagName;if((tagName!=="BODY")&&(tagName!=="HTML")&&(parent.scrollLeft||parent.scrollTop)){offsetX-=(parent.scrollLeft||0);offsetY-=(parent.scrollTop||0);currentStyle=Sys.UI.DomElement._getCurrentStyle(parent);if(currentStyle){offsetX+=parseInt(currentStyle.borderLeftWidth)||0;offsetY+=parseInt(currentStyle.borderTopWidth)||0;}}}} return new Sys.UI.Point(offsetX,offsetY);};break;}
Sys.UI.DomElement.setLocation=function Sys$UI$DomElement$setLocation(element,x,y){var style=element.style;style.position='absolute';style.left=x+"px";style.top=y+"px";}
Sys.UI.DomElement.addCssClass=function Sys$UI$DomElement$addCssClass(element,className){if(!Sys.UI.DomElement.containsCssClass(element,className)){if(element.className===''){element.className=className;} else{element.className+=' '+className;}}}
Sys.UI.DomElement.containsCssClass=function Sys$UI$DomElement$containsCssClass(element,className){return Array.contains(element.className.split(' '),className);}
Sys.UI.DomElement.removeCssClass=function Sys$UI$DomElement$removeCssClass(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.toggleCssClass=function Sys$UI$DomElement$toggleCssClass(element,className){if(Sys.UI.DomElement.containsCssClass(element,className)){Sys.UI.DomElement.removeCssClass(element,className);} else{Sys.UI.DomElement.addCssClass(element,className);}}
Sys.UI.DomElement.getVisibilityMode=function Sys$UI$DomElement$getVisibilityMode(element){return(element._visibilityMode===Sys.UI.VisibilityMode.hide)?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse;}
Sys.UI.DomElement.setVisibilityMode=function Sys$UI$DomElement$setVisibilityMode(element,value){Sys.UI.DomElement._ensureOldDisplayMode(element);if(element._visibilityMode!==value){element._visibilityMode=value;if(Sys.UI.DomElement.getVisible(element)===false){if(element._visibilityMode===Sys.UI.VisibilityMode.hide){element.style.display=element._oldDisplayMode;} else{element.style.display='none';}} element._visibilityMode=value;}}
Sys.UI.DomElement._getWindow=function Sys$UI$DomElement$_getWindow(element){var doc=element.ownerDocument||element.document||element;return doc.defaultView||doc.parentWindow;}
Sys.UI.DomElement._getCurrentStyle=function Sys$UI$DomElement$_getCurrentStyle(element){if(element.nodeType===3)return null;var w=Sys.UI.DomElement._getWindow(element);if(element.documentElement)element=element.documentElement;var computedStyle=(w&&(element!==w)&&w.getComputedStyle)?w.getComputedStyle(element,null):element.currentStyle||element.style;if(!computedStyle&&(Sys.Browser.agent===Sys.Browser.Safari)&&element.style){var oldDisplay=element.style.display;var oldPosition=element.style.position;element.style.position='absolute';element.style.display='block';var style=w.getComputedStyle(element,null);element.style.display=oldDisplay;element.style.position=oldPosition;computedStyle={};for(var n in style){computedStyle[n]=style[n];} computedStyle.display='none';} return computedStyle;}
Sys.UI.DomElement.getVisible=function Sys$UI$DomElement$getVisible(element){var style=element.currentStyle||Sys.UI.DomElement._getCurrentStyle(element);if(!style)return true;return(style.visibility!=='hidden')&&(style.display!=='none');}
Sys.UI.DomElement.setVisible=function Sys$UI$DomElement$setVisible(element,value){if(value!==Sys.UI.DomElement.getVisible(element)){Sys.UI.DomElement._ensureOldDisplayMode(element);element.style.visibility=value?'':'hidden';if(value||(element._visibilityMode===Sys.UI.VisibilityMode.hide)){element.style.display=element._oldDisplayMode;} else{element.style.display='none';}}}
Sys.UI.DomElement._ensureOldDisplayMode=function Sys$UI$DomElement$_ensureOldDisplayMode(element){if(!element._oldDisplayMode){var style=element.currentStyle||Sys.UI.DomElement._getCurrentStyle(element);element._oldDisplayMode=style?style.display:null;if(!element._oldDisplayMode||element._oldDisplayMode==='none'){switch(element.tagName.toUpperCase()){case'DIV':case'P':case'ADDRESS':case'BLOCKQUOTE':case'BODY':case'COL':case'COLGROUP':case'DD':case'DL':case'DT':case'FIELDSET':case'FORM':case'H1':case'H2':case'H3':case'H4':case'H5':case'H6':case'HR':case'IFRAME':case'LEGEND':case'OL':case'PRE':case'TABLE':case'TD':case'TH':case'TR':case'UL':element._oldDisplayMode='block';break;case'LI':element._oldDisplayMode='list-item';break;default:element._oldDisplayMode='inline';}}}}
Sys.UI.DomElement.setEnabled=function(e,value){if(!e)return;value?e.removeAttribute("disabled"):e.setAttribute("disabled","true");}
Sys.UI.DomElement.getEnabled=function(e){return!e.getAttribute("disabled");}
Sys.UI.DomElement.setOpacity=function(e,value){if(value<100){e.style.filter="alpha(opacity="+value+")";var opacity=value/100;e.style.opacity=opacity;e.style.MozOpacity=opacity;} else{e.style.filter="";e.style.opacity="";e.style.MozOpacity="";}}
Sys.EventHandlerList=function Sys$EventHandlerList(){this._list={};}
Sys.EventHandlerList.prototype={addHandler:function Sys$EventHandlerList$addHandler(id,handler,handlerOwner){if(handlerOwner){handler=Function.createDelegate(handlerOwner,handler);} Array.add(this._getEvent(id,true),handler);return handler;},removeHandler:function Sys$EventHandlerList$removeHandler(id,handler){var evt=this._getEvent(id);if(!evt)return;Array.remove(evt,handler);},getHandler:function Sys$EventHandlerList$getHandler(id){var evt=this._getEvent(id);if(!evt||(evt.length===0))return null;evt=Array.clone(evt);return function Sys$EventHandlerList$delegate(source,args){for(var i=0,l=evt.length;i<l;i++){evt[i](source,args);}};},_getEvent:function Sys$EventHandlerList$_getEvent(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(){}
Sys.EventArgs.registerClass('Sys.EventArgs');Sys.EventArgs.Empty=new Sys.EventArgs();Sys.CancelEventArgs=function Sys$CancelEventArgs(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false;}
Sys.CancelEventArgs.prototype={get_cancel:function Sys$CancelEventArgs$get_cancel(){return this._cancel;},set_cancel:function Sys$CancelEventArgs$set_cancel(value){this._cancel=value;}}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs',Sys.EventArgs);Sys.INotifyPropertyChange=function Sys$INotifyPropertyChange(){throw Error.notImplemented();}
Sys.INotifyPropertyChange.prototype={add_propertyChanged:function Sys$INotifyPropertyChange$add_propertyChanged(handler){throw Error.notImplemented();},remove_propertyChanged:function Sys$INotifyPropertyChange$remove_propertyChanged(handler){throw Error.notImplemented();}}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');Sys.PropertyChangedEventArgs=function Sys$PropertyChangedEventArgs(propertyName){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=propertyName;}
Sys.PropertyChangedEventArgs.prototype={get_propertyName:function Sys$PropertyChangedEventArgs$get_propertyName(){return this._propertyName;}}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs',Sys.EventArgs);Sys.INotifyDisposing=function Sys$INotifyDisposing(){throw Error.notImplemented();}
Sys.INotifyDisposing.prototype={add_disposing:function Sys$INotifyDisposing$add_disposing(handler){throw Error.notImplemented();},remove_disposing:function Sys$INotifyDisposing$remove_disposing(handler){throw Error.notImplemented();}}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function Sys$Component(){}
Sys.Component.prototype={_id:null,_idSet:false,_initialized:false,_disposed:false,_updating:false,initialize:function Sys$Component$initialize(){this._initialized=true;},dispose:function Sys$Component$dispose(){if(this._events){var handler=this._events.getHandler("disposing");if(handler){handler(this,Sys.EventArgs.Empty);}} delete this._events;this.__form=null;this._disposed=true;},get_events:function Sys$Component$get_events(){if(!this._events){this._events=new Sys.EventHandlerList();} return this._events;},get_id:function Sys$Component$get_id(){return this._id;},set_id:function Sys$Component$set_id(value){if(this._idSet)throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);this._idSet=true;var oldId=this.get_id();if(oldId&&Sys.Application.findComponent(oldId))throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);this._id=value;},get_idPart:function(){return this._idPart;},set_idPart:function(value){this._idPart=value;},get_isInitialized:function Sys$Component$get_isInitialized(){return this._initialized&&!this._disposed;},get_isDisposed:function Sys$Component$get_isDisposed(){return this._disposed;},get_isUpdating:function Sys$Component$get_isUpdating(){return this._updating;},add_disposing:function Sys$Component$add_disposing(handler){this.get_events().addHandler("disposing",handler);},remove_disposing:function Sys$Component$remove_disposing(handler){this.get_events().removeHandler("disposing",handler);},beginUpdate:function Sys$Component$beginUpdate(){this._updating=true;},endUpdate:function Sys$Component$endUpdate(){this._updating=false;if(!this._initialized)this.initialize();this.updated();},updated:function Sys$Component$updated(){},add_propertyChanged:function Sys$Component$add_propertyChanged(handler){this.get_events().addHandler("propertyChanged",handler);},remove_propertyChanged:function Sys$Component$remove_propertyChanged(handler){this.get_events().removeHandler("propertyChanged",handler);},raisePropertyChanged:function Sys$Component$raisePropertyChanged(propertyName){if(!this._events)return;var handler=this._events.getHandler("propertyChanged");if(handler){handler(this,new Sys.PropertyChangedEventArgs(propertyName));}},findForm:function(){return this.get_form(true);},get_form:function Sys$Component$get_form(disableThrow){if(this.get_isDisposed()){return null;} var owner=this.get_owner?this.get_owner():null;if(owner){return owner.get_form();} else{if(!this.__form&&!disableThrow){throw Error.invalidOperation("取不到控件所在表单");} return this.__form;}},set_form:function(value){this.__form=value;}}
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(!isObject&&typeof(targetVal)==='undefined')throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined,name));if(!val||(typeof(val)!=='object')||(isObject&&!targetVal)){target[name]=val;} else{Sys$Component$_setProperties(targetVal,val);}} else{var setter=target["set_"+name];if(typeof(setter)==='function'){setter.apply(target,[val]);} else if(val instanceof Array){current=getter.apply(target);if(!(current instanceof Array))throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray,name));for(var i=0,j=current.length,l=val.length;i<l;i++,j++){current[j]=val[i];}} else if((typeof(val)==='object')&&(Object.getType(val)===Object)){current=getter.apply(target);if((typeof(current)==='undefined')||(current===null))throw new Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined,name));Sys$Component$_setProperties(current,val);} else{throw new Error.invalidOperation(String.format(Sys.Res.propertyNotWritable,name));}}} if(isComponent)target.endUpdate();}
var $create=Sys.Component.create=function Sys$Component$create(type,properties,element,events,form,selfDispose){if(!type.inheritsFrom(Sys.Component)){throw Error.argument('type',String.format(Sys.Res.createNotComponent,type.getName()));} if(typeof(element)==='string'){element=$get(element)} if(type.inheritsFrom(Sys.UI.Behavior)||type.inheritsFrom(Sys.UI.Control)){if(!element){if(form&&!form.get_isDisposed()){form.dispose();} throw Error.abort();}} else if(element){throw Error.argument('element',Sys.Res.createComponentOnDom);} var component=(element?new type(element):new type());try{component.beginUpdate();if(properties){Sys$Component$_setProperties(component,properties);} if(events){for(var name in events){if(!(component["add_"+name]instanceof Function))throw new Error.invalidOperation(String.format(Sys.Res.undefinedEvent,name));if(!(events[name]instanceof Function))throw new Error.invalidOperation(Sys.Res.eventHandlerNotFunction);component["add_"+name](events[name]);}} if(form){if(!selfDispose){form.addControl(component);} else{component.set_form(form);}} component.endUpdate();} catch(e){throw Error.create("创建控件"+(element?" "+element.id+" ":"")+"失败"+(e.message?"":": "+e),e);} return component;}
var $createFromParams=function(params,element,form,selfDispose){return $create(params.type,params.properties,element,params.events,form,selfDispose);}
Sys.IContainer=function Sys$IContainer(){throw Error.notImplemented();}
Sys.IContainer.prototype={findComponent:function Sys$IContainer$findComponent(id){throw Error.notImplemented();}}
Sys.IContainer.registerInterface("Sys.IContainer");Sys.UI.MouseButton=function Sys$UI$MouseButton(){throw Error.notImplemented();}
Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function Sys$UI$Key(){throw Error.notImplemented();}
Sys.UI.Key.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127,ime:229,f1:112,f12:123}
Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.Point=function Sys$UI$Point(x,y){this.x=x;this.y=y;}
Sys.UI.Point.registerClass('Sys.UI.Point');Sys.UI.Bounds=function Sys$UI$Bounds(x,y,width,height){this.x=x;this.y=y;this.width=width;this.height=height;}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');Sys.UI.DomEvent=function Sys$UI$DomEvent(eventObject){var e=eventObject;this.rawEvent=e;this.altKey=e.altKey;if(typeof(e.button)!=='undefined'){this.button=(typeof(e.which)!=='undefined')?e.button:(e.button===4)?Sys.UI.MouseButton.middleButton:(e.button===2)?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;} if(e.type==='keypress'){this.charCode=e.charCode||e.keyCode;} else if(e.keyCode&&(e.keyCode===46)){this.keyCode=127;} else{this.keyCode=e.keyCode;} this.clientX=e.clientX;this.clientY=e.clientY;this.ctrlKey=e.ctrlKey;this.target=e.target?e.target:e.srcElement;if((typeof(e.offsetX)!=='undefined')&&(typeof(e.offsetY)!=='undefined')){this.offsetX=e.offsetX;this.offsetY=e.offsetY;} else if(this.target&&(this.target.nodeType!==3)&&(typeof(e.clientX)==='number')&&this.target.parentNode){var loc=Sys.UI.DomElement.getLocation(this.target);var w=Sys.UI.DomElement._getWindow(this.target);this.offsetX=(w.pageXOffset||0)+e.clientX-loc.x;this.offsetY=(w.pageYOffset||0)+e.clientY-loc.y;} this.screenX=e.screenX;this.screenY=e.screenY;this.shiftKey=e.shiftKey;this.type=e.type;}
Sys.UI.DomEvent.prototype={preventDefault:function Sys$UI$DomEvent$preventDefault(){if(this.rawEvent.preventDefault){this.rawEvent.preventDefault();} else if(window.event){this.rawEvent.returnValue=false;}},stopPropagation:function Sys$UI$DomEvent$stopPropagation(){if(this.rawEvent.stopPropagation){this.rawEvent.stopPropagation();} else if(window.event){this.rawEvent.cancelBubble=true;}},cancel:function Sys$UI$DomEvent$cancel(){this.preventDefault();this.stopPropagation();}}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');Sys.UI.DomEvent._ensureDomNode=function Sys$UI$DomEvent$_ensureDomNode(element){if(element.tagName&&(element.tagName==="SCRIPT"))return;var doc=element.ownerDocument||element.document||element;if((typeof(element.document)!=='object')&&(element!=doc)&&(typeof(element.nodeType)!=='number')){throw Error.argument("element",Sys.Res.argumentDomNode);}}
var $addHandler=Sys.UI.DomEvent.addHandler=function Sys$UI$DomEvent$addHandler(element,eventName,handler){if(!element._events){element._events={};} var eventCache=element._events[eventName];if(!eventCache){element._events[eventName]=eventCache=[];} var browserHandler;if(element.addEventListener){browserHandler=function Sys$UI$DomEvent$browserHandler(e){return handler.call(element,new Sys.UI.DomEvent(e));};element.addEventListener(eventName,browserHandler,false);} else if(element.attachEvent){browserHandler=function Sys$UI$DomEvent$browserHandler(){var e={};try{e=Sys.UI.DomElement._getWindow(element).event} catch(ex){} return handler.call(element,new Sys.UI.DomEvent(e));};element.attachEvent('on'+eventName,browserHandler);} eventCache[eventCache.length]={handler:handler,browserHandler:browserHandler};}
var $addHandlers=Sys.UI.DomEvent.addHandlers=function Sys$UI$DomEvent$addHandlers(element,events,handlerOwner){for(var name in events){var handler=events[name];if(typeof(handler)!=='function')throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);if(handlerOwner){handler=Function.createDelegate(handlerOwner,handler);} $addHandler(element,name,handler);}}
var $clearHandlers=Sys.UI.DomEvent.clearHandlers=function Sys$UI$DomEvent$clearHandlers(element){if(element&&element._events){var cache=element._events;for(var name in cache){var handlers=cache[name];for(var i=handlers.length-1;i>=0;i--){$removeHandler(element,name,handlers[i].handler);}} element._events=null;}}
var $removeHandler=Sys.UI.DomEvent.removeHandler=function Sys$UI$DomEvent$removeHandler(element,eventName,handler){var browserHandler=null;if((typeof(element._events)!=='object')||(element._events==null))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);var cache=element._events[eventName];if(!(cache instanceof Array))throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);for(var i=0,l=cache.length;i<l;i++){if(cache[i].handler===handler){browserHandler=cache[i].browserHandler;break;}} if(typeof(browserHandler)!=='function')throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);if(element.removeEventListener){element.removeEventListener(eventName,browserHandler,false);} else if(element.detachEvent){element.detachEvent('on'+eventName,browserHandler);} cache.splice(i,1);}
Sys.UI.DomEvent.shortcutToHotkey=function(shortcut){if(!(shortcut>0))return null;var hotkey={};hotkey.keyCode=shortcut&0xffff;var modifier=shortcut>>16;if(modifier&1){hotkey.shiftKey=true;} if(modifier&2){hotkey.ctrlKey=true;} if(modifier&4){hotkey.altKey=true;} return hotkey;}
Sys.UI.DomEvent.matchHotkey=function(hotkey,e){if(!hotkey){return false;} var ok=hotkey.keyCode==e.keyCode;if(ok&&hotkey.shiftKey){ok=e.shiftKey;} if(ok&&hotkey.ctrlKey){ok=e.ctrlKey;} if(ok&&hotkey.altKey){ok=e.altKey;} return ok;}
Sys.UI.Behavior=function Sys$UI$Behavior(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,initialize:function Sys$UI$Behavior$initialize(){Sys.UI.Behavior.callBaseMethod(this,'initialize');var name=this.get_name();if(name)this._element[name]=this;},dispose:function Sys$UI$Behavior$dispose(){Sys.UI.Behavior.callBaseMethod(this,'dispose');if(this._element){var name=this.get_name();if(name){this._element[name]=null;} Array.remove(this._element._behaviors,this);delete this._element;}},get_element:function Sys$UI$Behavior$get_element(){return this._element;},get_id:function Sys$UI$Behavior$get_id(){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 Sys$UI$Behavior$get_name(){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 Sys$UI$Behavior$set_name(value){if((value==='')||(value.charAt(0)===' ')||(value.charAt(value.length-1)===' '))throw Error.argument('value',Sys.Res.invalidId);if(typeof(this._element[value])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName,value));if(this.get_isInitialized())throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);this._name=value;}}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior',Sys.Component);Sys.UI.Behavior.getBehaviorByName=function Sys$UI$Behavior$getBehaviorByName(element,name){var e=Function._validateParams(arguments,[{name:"element",domElement:true},{name:"name",type:String}]);if(e)throw e;var b=element[name];return(b&&Sys.UI.Behavior.isInstanceOfType(b))?b:null;}
Sys.UI.Behavior.getBehaviors=function Sys$UI$Behavior$getBehaviors(element){if(!element._behaviors)return[];return Array.clone(element._behaviors);}
Sys.UI.Behavior.getBehaviorsByType=function Sys$UI$Behavior$getBehaviorsByType(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 Sys$UI$VisibilityMode(){throw Error.notImplemented();}
Sys.UI.VisibilityMode.prototype={hide:0,collapse:1}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function Sys$UI$Control(element){if(typeof(element.control)!='undefined')throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);Sys.UI.Control.initializeBase(this);this._element=element;element.control=this;}
Sys.UI.Control.prototype={_parent:null,dispose:function Sys$UI$Control$dispose(){Sys.UI.Control.callBaseMethod(this,'dispose');if(this._element){$clearHandlers(this._element);this._element.control=undefined;delete this._element;} if(this._parent)delete this._parent;},get_element:function Sys$UI$Control$get_element(){return this._element;},get_id:function Sys$UI$Control$get_id(){if(!this._element)return'';return this._element.id;},set_id:function Sys$UI$Control$set_id(value){throw Error.invalidOperation(Sys.Res.cantSetId);},get_parent:function Sys$UI$Control$get_parent(){if(this._parent)return this._parent;if(!this._element)return null;var parentElement=this._element.parentNode;while(parentElement){if(parentElement.control){return parentElement.control;} parentElement=parentElement.parentNode;} return null;},set_parent:function Sys$UI$Control$set_parent(value){var parents=[this];var current=value;while(current){if(Array.contains(parents,current))throw Error.invalidOperation(Sys.Res.circularParentChain);parents[parents.length]=current;current=current.get_parent();} this._parent=value;},get_visibilityMode:function Sys$UI$Control$get_visibilityMode(){return Sys.UI.DomElement.getVisibilityMode(this._element);},set_visibilityMode:function Sys$UI$Control$set_visibilityMode(value){Sys.UI.DomElement.setVisibilityMode(this._element,value);},_getElementForVisible:function(){var element=null;if(this.get_outerElement){element=this.get_outerElement();} return element?element:this._element;},get_visible:function Sys$UI$Control$get_visible(){var element=this._element;if(!element)return false;var parentNode=element.parentNode;var parentVisible=parentNode?Sys.UI.DomElement.getVisible(parentNode):true;return parentVisible&&Sys.UI.DomElement.getVisible(this._getElementForVisible());},set_visible:function Sys$UI$Control$set_visible(value){var element=this._getElementForVisible();Sys.UI.DomElement.setVisible(element,value);},addCssClass:function Sys$UI$Control$addCssClass(className){Sys.UI.DomElement.addCssClass(this._element,className);},removeCssClass:function Sys$UI$Control$removeCssClass(className){Sys.UI.DomElement.removeCssClass(this._element,className);},toggleCssClass:function Sys$UI$Control$toggleCssClass(className){Sys.UI.DomElement.toggleCssClass(this._element,className);},onBubbleEvent:function Sys$UI$Control$onBubbleEvent(source,args){return false;},raiseBubbleEvent:function Sys$UI$Control$raiseBubbleEvent(source,args){var currentTarget=this.get_parent();while(currentTarget){if(currentTarget.onBubbleEvent(source,args)){return;} currentTarget=currentTarget.get_parent();}},get_bounds:function(){return Sys.UI.DomElement.getBounds(this.get_element());},canFocus:function(){return false;},focusNextControl:function Sys$UI$Control$focusNextControl(){var controls=this.get_form().get_controls();var index=controls.length;for(var i=0;i<controls.length;i++){if(controls[i]==this){index=i+1;break;}} for(var i=index;i<controls.length;i++){var control=controls[i];if(Sys.UI.Control.canFocus(control)){control.focus();break;}}},focusPrevControl:function(){var controls=this.get_form().get_controls();var index=-1;for(var i=0;i<controls.length;i++){if(controls[i]==this){index=i-1;break;}} for(var i=index;i>0;i--){var control=controls[i];if(Sys.UI.Control.canFocus(control)){control.focus();break;}}}}
Sys.UI.Control.registerClass('Sys.UI.Control',Sys.Component);Sys.UI.Control.canFocus=function Sys$UI$Control$canFocus(control){var ok=control.get_visible;if(ok){ok=control.get_visible();} if(ok&&control.get_enabled){ok=control.get_enabled();} if(ok&&control.canFocus){ok=control.canFocus();} return ok;}
Sys.UI.CustomForm=function(){Sys.UI.CustomForm.initializeBase(this);this._url=null;this._rootUrl=null;this._baseUrl=null;this._scriptPath=null;this._params=null;this._parentForm=null;this._dataController=null;this._validationNodes=null;this._validationManager=null;this._contentElement=null;this._request=null;this._activeControl=null;this._pageTimeout=0;this._clientSize=null;this._hotkeys=null;this._service=null;this._pageParams=null;this._loading=false;this._formOverlay=null;this._focusedControl=null;this._progressorVisible=false;this._isModal=false;this._childForms=null;this._isChildForm=false;this._errorBox=null;this._printIframe==null;this._zIndex=0;this._disposing=false;this._closeButton=null;}
Sys.UI.CustomForm.prototype={initialize:function(){Sys.UI.CustomForm.callBaseMethod(this,'initialize');},dispose:function Sys$UI$CustomForm$dispose(){this.doClosed();this._noErrorAbort=true;this.destroyContent();this._removeFormOverlay();this._contentElement=null;Sys.Application.removeForm(this);if(this._request){this._request.abort();this._request=null;} if(this._dataController){this._dataController.dispose();this._dataController=null;} if(this._validationManager){this._validationManager.dispose();this._validationManager=null;} if(this._validationNodes){for(var name in this._validationNodes){delete this._validationNodes[name];} delete this._validationNodes;} if(this._errorBox){this._errorBox.dispose();this._errorBox=null;} if(this._printIframe){$removeNode(this._printIframe);this._printIframe=null;} this._closeHandler=null;this._changeHandler=null;this._loadedHandler=null;if(this._service){this._service._disposed=true;this._service=null;} Sys.UI.CustomForm.callBaseMethod(this,'dispose');$common.setTestState("formDisposed");},destroyContent:function(){this._disposing=true;if(this._focusedControl){var elt=this._focusedControl.get_element();if(elt&&elt.select){try{$common.setCaretPosition(elt,0);} catch(e){};} this._focusedControl=null;} var childForms=this._childForms;if(childForms){var count=childForms.length;for(var i=count-1;i>=0;i--){var childForm=childForms[i];childForm.dispose();} delete this._childForms;} if(this._hotkeys){Array.clear(this._hotkeys);delete this._hotkeys;} var controls=this._controls;if(controls){var count=controls.length;for(var i=count-1;i>=0;i--){var control=controls[i];control.dispose();var idPart=control.get_idPart();if(idPart){delete this[idPart];}} delete this._controls;} this._disposing=false;},addControl:function(control){var controls=this._controls;if(!controls){controls=this._controls=[];} var id=control.get_id();if(id){var parts=id.split('$');var formId=parts[1];if(formId!=this.get_id()){throw Error.invalidOperation("控件 "+id+"不应加入表单 "+this.get_id());} var idPart=parts[2];if(idPart){if(typeof(this[idPart])!=='undefined'){throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent,id));} this[idPart]=control;control.set_idPart(idPart);}} control.set_form(this);Array.add(controls,control);},_addChilds:function(ids){if(!ids)return;if(!this._childForms){this._childForms=[];} for(var i=0,count=ids.length;i<count;i++){var id=ids[i];var childForm=Sys.Application.getForm(id);Array.add(this._childForms,childForm);childForm._contentElement=$get(id);childForm.set_isChildForm(true);childForm.set_parentForm(this);}},get_childForms:function(){var answer=this._childForms;return answer?answer:[];},get_contentElement:function(){return this._contentElement;},get_isDisposing:function(){return this._disposing;},get_isLoading:function(){return this._loading;},get_isChildForm:function(){return this._isChildForm;},set_isChildForm:function(){this._isChildForm=true;},get_isModal:function(){return this._isModal;},set_isModal:function(value){this._isModal=value;},get_parentForm:function(){return this._parentForm;},set_parentForm:function(value){this._parentForm=value;},get_url:function(){return this._url;},set_url:function(value){this._url=value;},get_rootUrl:function(){return this._rootUrl;},set_rootUrl:function(value){this._rootUrl=value;},get_baseUrl:function(){return this._baseUrl;},set_baseUrl:function(value){this._baseUrl=value;},get_scriptPath:function(){var answer=this._scriptPath;return answer?answer:Sys.Application.get_scriptPath();},set_scriptPath:function(value){this._scriptPath=value;},get_closeButton:function(){return this._closeButton;},set_closeButton:function(value){this._closeButton=value;},convertUrl:function(url){if(url){url=url.trim();if(url.substr(0,2)=="~/"){var rootUrl=this.get_rootUrl();return(rootUrl?rootUrl:$getRootURI())+url.substr(2);} var baseUrl=this.get_baseUrl();if(baseUrl&&!url.startsWith('/')&&!url.toLowerCase().startsWith('http:')){url=baseUrl+url;}} return url;},get_params:function(){if(this._params==null){this._params=new Object();} return this._params;},set_params:function(value){this._params=value;},get_controls:function(){return this._controls;},get_action:function(){var controls=this.get_controls();if(controls&&controls.length>0){var answer=controls[0];if(Sys.UI.PageAction.isInstanceOfType(answer)){return answer;}} throw Error.invalidOperation("“"+this.get_caption()+"”找不到 PageAction");},get_dataController:function(){if(!this._dataController){this._dataController=new Sys.UI.CustomDataController();this._dataController.initialize();} return this._dataController;},get_dataSource:function(){return this.get_dataController().get_dataSource();},setValidationNode:function(id,node){if(!this._validationNodes){this._validationNodes=new Object();} this._validationNodes[id]=node;},get_rootValidationNode:function(){var nodes=this._validationNodes;return nodes?nodes[""]:null;},addValidationNode:function(dataField,node){var nodes=this._validationNodes;if(!nodes){nodes=new Object();this._validationNodes=nodes;} var rootNode=this.get_rootValidationNode();if(!rootNode){rootNode=new Object();nodes[""]=rootNode;} var childNodes=rootNode.childNodes;if(!childNodes){childNodes=[];rootNode.childNodes=childNodes;} var count=childNodes.length;for(var i=0;i<count;i++){var childNode=childNodes[i];for(var name in childNode){if(name==dataField){Array.removeAt(childNodes,i);}}} Array.add(childNodes,node);},setValidationControl:function(control){var validationManager=this.get_validationManager();var node=null;if(this._validationNodes){var id=control?control.get_id():"";node=this._validationNodes[id];if(!node&&control&&control.get_dataField){var dataField=control.get_dataField();if(dataField){node=this._validationNodes[""];}}} validationManager.set_validationNode(node);validationManager.clearResults();},get_validationManager:function(){if(!this._validationManager){this._validationManager=new Sys.UI.Validation.ValidationManager(this);this._validationManager.initialize();} return this._validationManager;},dataBind:function(data){this.get_dataController()._setData(data);var controls=this._controls;if(!controls)return;for(var i=0;i<controls.length;i++){var control=controls[i];if(control.dataBind){control._dataBinding=true;control.dataBind();control._dataBinding=false;}}},saveData:function Sys$UI$CustomForm$saveData(ignoreValidation){var validationManager=this.get_validationManager();this.setValidationControl(null);var controls=this._controls;if(!controls)return;for(var i=0;i<controls.length;i++){var control=controls[i];if(control.doSaveData){var ok=control.get_visible&&control.get_visible();if(ok){control.doSaveData(ignoreValidation);}}} validationManager.checkResults();var dataController=this.get_dataController();return dataController.get_dataSource();},_checkFocusControl:function(control){if(Sys.UI.Control.canFocus(control)){window.asyncCall(function(){control.focus();});return true;} return false;},get_focusedControl:function(){return this._focusedControl;},set_focusedControl:function(value){this._focusedControl=value;if(value){var lastPopup=Sys.Application.getLastPopup();if(lastPopup&&lastPopup.get_isModal()){var thisForm=value.findForm();if(thisForm&&thisForm!=lastPopup){window.asyncCall(function(){try{lastPopup.focus();} catch(e){}});}}}},focus:function(){this.focusActiveControl();},blur:function(){var controls=this._controls;if(controls){for(var i=0;i<controls.length;i++){var control=controls[i];if(control.doFormDeactivate){control.doFormDeactivate();}}}},set_activeControl:function(value){this._activeControl=value;},focusActiveControl:function(activeControl){var controls=this._controls;if(!controls){return;} var ok=false;if(activeControl){this._activeControl=activeControl;} var controlIds=this._activeControl;if(controlIds){if(typeof(controlIds)=="object"){ok=this._checkFocusControl(controlIds);} else{var idArray=controlIds.split(',');for(var i=0,count=idArray.length;i<count;i++){var id=idArray[i].trim();var control=this[id];if(!control&&count==1){ok=true;break;} if(id&&this._checkFocusControl(control)){ok=true;break;}}}} if(!ok){for(var i=0,count=controls.length;i<count;i++){var control=controls[i];if(this._checkFocusControl(control)){break;}}}},get_pageTimeout:function(){return this._pageTimeout;},set_pageTimeout:function(value){this._pageTimeout=value;},get_clientSize:function(){return this._clientSize;},set_clientSize:function(value){this._clientSize=value;},get_pageParams:function(){return this._pageParams;},showPage:function Sys$UI$CustomForm$showPage(url,contentElement,params){this._url=url;this._pageParams=params;if(contentElement){this._contentElement=contentElement;} this._load();},_load:function Sys$UI$CustomForm$_load(){var url=this._url;var contentElement=this._contentElement;if(!url){contentElement.innerHTML="(空白)";return;} this.doStartLoad();var request=this._request=new Sys.Net.PageRequest();request.set_timeout(this._pageTimeout);request.set_clientSize(this._clientSize);if(this._parentForm){url=this._parentForm.convertUrl(url);} if(window.event&&window.event.shiftKey){window.open(url);} request.invoke(url,Function.createDelegate(this,this._pageSuccess),Function.createDelegate(this,this._pageFailure));},get_isAsync:function(){return this._contentElement!=null;},refresh:function(url,params){if(url){url=this.convertUrl(url);url=$common.addUrlTickParam(url);this._url=$common.encodeUrlParams(url,params);this._pageParams=params;} if(this._contentElement){this.destroyContent();var nodes=this._contentElement.childNodes;for(var i=nodes.length-1;i>=0;i--){var node=nodes[i];$removeNode(node);} if(this._closeHandler){this.remove_close(this._closeHandler);} if(this._changeHandler){this.remove_change(this._changeHandler);} if(this._loadedHandler){this.remove_loaded(this._loadedHandler);} this._load();} else{$common.refresh(this._url);}},doStartLoad:function(){this._t0=new Date().getTime();this._loading=true;this.doShowProgressor();},doEndLoad:function(){this._loading=false;this.doHideProgressor();if(this._request){var t=new Date().getTime()-this._t0;$debug.log(this.get_caption()+"\n加载时间: "+t+"，其中网络费时: "+this._request.get_elapsedTime());}},doShowProgressor:function(){this.internalShowProgressor();},internalShowProgressor:function(){if(!this._progressorVisible){var progressParentElement=null;var element=this._contentElement;if(element){progressParentElement=element.offsetHeight>=60?element:null;} $common.showLoading(progressParentElement);this._progressorVisible=true;}},internalHideProgressor:function(){if(this._progressorVisible){$common.hideLoading();this._progressorVisible=false;}},doHideProgressor:function(){this.internalHideProgressor();},add_close:function(handler,handlerOwner){if(handlerOwner===true){this._closeHandler=handler;handlerOwner=null;} return this.get_events().addHandler("close",handler,handlerOwner);},remove_close:function(handler){this.get_events().removeHandler("close",handler);},close:function(){},doClose:function(eventArgs){var handler=this.get_events().getHandler("close");if(handler){if(!this.get_isActive()){this.set_isActive(true);} else{var focusedControl=this.get_focusedControl();if(focusedControl&&focusedControl.doFormClose){this._noErrorAbort=true;try{focusedControl.doFormClose();} finally{this._noErrorAbort=false;}}} handler(this,eventArgs);}},add_change:function(handler,handlerOwner){if(handlerOwner===true){this._changeHandler=handler;handlerOwner=null;} return this.get_events().addHandler("change",handler,handlerOwner);},remove_change:function(handler){this.get_events().removeHandler("change",handler);},doChange:function(eventArgs){handler=this.get_events().getHandler("change");if(handler){handler(this,eventArgs);}},get_caption:function(){var caption=this._caption;return caption?caption:document.title;},set_caption:function(value){this._caption=value;},set_bodyHAlign:function(value){},set_bodyVAlign:function(value){},_pageSuccess:function Sys$UI$CustomForm$_pageSuccess(delta){if(delta.redirect){window.location=delta.redirect;return;} var oldId=this.get_id();if(!oldId){this.set_id(delta.pageId);} else{Sys.Application.removeForm(this);this._id=delta.pageId;} Sys.Application.addForm(this);if(delta.pageTitle){this.set_caption(delta.pageTitle);} if(delta.hAlign){this.set_bodyHAlign(delta.hAlign);} var styleBlock=delta.styleBlock;if(styleBlock){this._setStyleBlock(styleBlock);} this._contentElement.innerHTML=delta.html;this._activeControl=delta.activeControl;var scriptIncludes=delta.scriptIncludes;var scriptBlock=delta.scriptBlock;if(scriptBlock||scriptIncludes){this.internalShowProgressor();var scriptLoader=Sys._ScriptLoader.getInstance();this._loadScriptTryCount=0;this._loadScript(scriptLoader,scriptIncludes,scriptBlock);} else{this.doEndLoad();}},_setStyleBlock:function(styleBlock){var styleId=this.get_id()+"_style";var head=$$get("HEAD")[0];var styleElements=$$get("STYLE",head);var count=styleElements.length;for(var i=count-1;i>0;i--){var styleElement=styleElements[i];if(styleElement.id==styleId){$removeNode(styleElement);break;}} var styleElement=document.createElement("style");styleElement.type="text/css";styleElement.id=styleId;if(styleElement.styleSheet){styleElement.styleSheet.cssText=styleBlock;} else{var textNode=document.createTextNode(styleBlock);styleElement.appendChild(textNode);} head.appendChild(styleElement);},_loadScript:function Sys$UI$CustomForm$_loadScript(scriptLoader,scriptIncludes,scriptBlock){if(!scriptLoader.get_isLoading()){if(this._loadScriptTryCount>0){window.status="";} this._doLoadScript(scriptLoader,scriptIncludes,scriptBlock);} else{this._loadScriptTryCount++;if(this._loadScriptTryCount>300){this._pageFailure(new Sys.Net.WebServiceError(false,"网络忙，请关闭窗口后重试"));window.status="";return;} window.status="网络忙，100毫秒后重试第 "+this._loadScriptTryCount+" 次";window.setTimeout(Function.createDelegate(this,function(){this._loadScript(scriptLoader,scriptIncludes,scriptBlock);}),100);}},_doLoadScript:function Sys$UI$CustomForm$_doLoadScript(scriptLoader,scriptIncludes,scriptBlock){if(scriptIncludes){try{var count=scriptIncludes.length;for(var i=0;i<count;i++){var scriptInclude=scriptIncludes[i];if(!Sys._ScriptLoader.isScriptLoaded(scriptInclude)){scriptLoader.queueScriptReference(scriptInclude);}}} catch(e){this.doEndLoad();throw e;}} if(scriptBlock){scriptLoader.queueScriptBlock(scriptBlock);} scriptLoader.loadScripts(0,Function.createDelegate(this,this._scriptsLoadComplete),Function.createDelegate(this,this._scriptsLoadFailed),Function.createDelegate(this,this._scriptsLoadTimeout));},_pageFailure:function Sys$UI$CustomForm$_pageFailure(error){if(this._contentElement){this._contentElement.innerHTML=error&&error.get_message?"<div style=\"color:red\">"+error.get_message()+"</div>":(error?"<div class=FormBody>"+error+"</div>":"未知错误");} this.doEndLoad();},_scriptsLoadComplete:function Sys$UI$CustomForm$_scriptsLoadComplete(){var error=null;try{this.doLoaded();this.focusActiveControl();} catch(e){error=e;} this.doEndLoad();if(error)throw error;},_scriptsLoadFailed:function Sys$UI$CustomForm$_scriptsLoadFailed(sender,scriptSrc,error){this.doEndLoad();throw Sys._ScriptLoader._errorScriptLoadFailed(scriptSrc,error);},_scriptsLoadTimeout:function(sender){this.doEndLoad();},add_init:function(handler){this.get_events().addHandler("init",handler);},remove_init:function(handler){this.get_events().removeHandler("init",handler);},get_service:function(){var service=this._service;if(!service||typeof(service)!=="object"){throw Error.invalidOperation(this.get_caption()+" 没有WebMethod服务");} return service;},doInit:function Sys$UI$CustomForm$doInit(defaultService){this._service=defaultService;var handler=this.get_events().getHandler("init");if(handler){handler(this);} var controls=this._controls;if(controls){for(var i=0,count=controls.length;i<count;i++){var control=controls[i];if(control.doFormInit){control.doFormInit(this);}}} if($common){$common._cacheImages();}},add_loaded:function(handler,handlerOwner){if(handlerOwner===true){this._loadedHandler=handler;handlerOwner=null;} this.get_events().addHandler("loaded",handler,handlerOwner);},remove_loaded:function(handler){this.get_events().removeHandler("loaded",handler);},doLoaded:function(eventArgs){var handler=this.get_events().getHandler("loaded");if(handler){handler(this,eventArgs);} $common.setTestState("formId",this.get_id());},add_closed:function(handler,handlerOwner){this.get_events().addHandler("closed",handler,handlerOwner);},remove_closed:function(handler){this.get_events().removeHandler("closed",handler);},doClosed:function(eventArgs){var handler=this.get_events().getHandler("closed");if(handler){handler(this,eventArgs);}},add_notifyClose:function(handler,handlerOwner){this.get_events().addHandler("notifyClose",handler,handlerOwner);},remove_notifyClose:function(handler){this.get_events().removeHandler("notifyClose",handler);},notifyClose:function(forceClose){var handler=this.get_events().getHandler("notifyClose");if(handler){handler(this,forceClose);}},get_hasCloseNotifier:function(){var handler=this.get_events().getHandler("notifyClose");return handler!=null;},get_element:function(){return null;},get_bounds:function(){var element=this.get_element();return element?Sys.UI.DomElement.getBounds(element):window.getClientBounds();},set_bounds:function(r){},resize:function(){},getControl:function(id){var control=null;if(id){var parts=id.split('$');if(parts.length==3){id=parts[2];} control=this[id];} if(!control){throw Error.invalidOperation("控件 "+id+" 不存在");} return control;},getElement:function(id){var element=$get("$"+this.get_id()+"$"+id);if(!element){throw Error.invalidOperation("标签 "+id+" 不存在");} return element;},errorAbort:function(message,control){if(this._noErrorAbort){return;} var errorBox=this._errorBox;if(!this.get_isActive()){if(errorBox){errorBox.hide();} if(control){this._activeControl=control;} return;} if(!errorBox){errorBox=this._errorBox=new Sys.UI._HintBox();} if(!errorBox.get_visible()){errorBox.show(message,control);} else{var lastControl=errorBox.get_control();if(control==lastControl){errorBox.hide();errorBox.show(message,control);} else{control=lastControl;}} if(control&&control.focus){window.asyncCall(function(){control.focus();});} throw Error.abort();},get_hasErrors:function(){if(this._errorBox){return this._errorBox.get_visible();} return false;},clearErrors:function(control){if(this._errorBox){var errorControl=this._errorBox.get_control();if(!errorControl||errorControl==control)this._errorBox.hide();}},addHotkey:function(hotkey,handler,handlerOwner){if(handlerOwner){handler=Function.createDelegate(handlerOwner,handler);} if(!this._hotkeys){this._hotkeys=[];} var item=new Object();item.hotkey=hotkey;item.handler=handler;Array.add(this._hotkeys,item);return handler;},removeHotkey:function(hotkey){var hotkeys=this._hotkeys;if(!hotkeys)return;for(var i=0,count=hotkeys.length;i<count;i++){if(this._hotkeyEquals(hotkeys[i].hotkey,hotkey)){Array.removeAt(hotkeys,i);break;}}},_hotkeyEquals:function(hotkey1,hotkey2){return hotkey1.keyCode==hotkey2.keyCode&&hotkey1.shiftKey==hotkey2.shiftKey&&hotkey1.ctrlKey==hotkey2.ctrlKey&&hotkey1.altKey==hotkey2.altKey;},addShortcut:function(shortcut,handler,handlerOwner){var hotkey=Sys.UI.DomEvent.shortcutToHotkey(shortcut);if(hotkey){this.addHotkey(hotkey,handler,handlerOwner);}},removeShortcut:function(shortcut){var hotkey=Sys.UI.DomEvent.shortcutToHotkey(shortcut);if(hotkey){this.removeHotkey(hotkey);}},_internalProcessHotkey:function(e){var hotkeys=this._hotkeys;if(!hotkeys||hotkeys.length==0){return false;} for(var i=0,count=hotkeys.length;i<count;i++){var item=hotkeys[i];var hotkey=item.hotkey;var ok=Sys.UI.DomEvent.matchHotkey(hotkey,e);if(ok){item.handler(e);return true;}} return false;},get_isActive:function(){var answer=!Sys.Application.get_hasModalPopup();if(this.get_isChildForm()){var parentForm=this.get_parentForm();return parentForm?parentForm.get_isActive():answer;} else{return answer;}},set_isActive:function(value){},get_enabled:function(){return this._formOverlay==null;},set_enabled:function(value){if(!value){this._removeFormOverlay();this._formOverlay=div=$common.createGlyphDiv();this._internalInitOverlay(div,1);var r=this.get_bounds();$common.setPosition(div,r.x,r.y,r.width,r.height);document.body.appendChild(div);} else{this._removeFormOverlay();}},_removeFormOverlay:function(){if(this._formOverlay){$removeNode(this._formOverlay);this._formOverlay=null;}},get_zIndex:function(){return this._zIndex;},_internalInitOverlay:function(div,zIndexOffset){div.style.zIndex=this.get_zIndex()+zIndexOffset;div.style.backgroundColor="#cccccc";Sys.UI.DomElement.setOpacity(div,25);},printElement:function(element,style){if(this._printIframe==null){this._printIframe=window.document.createElement("iframe");this._printIframe.width=0;this._printIframe.height=0;document.body.appendChild(this._printIframe);} var doc=this._printIframe.contentWindow.document;doc.open();style=style?'<style type="text/css">'+style+'</style>':"";var html='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'+'<html xmlns="http://www.w3.org/1999/xhtml"><head>'+style+'</head><body>'+element.outerHTML+'</body></html>';doc.write(html);doc.close();doc.execCommand("Print",true,true);},print:function(control){if(control){var element=control.get_element();if(Sys.UI.Controls.LayoutGroup.isInstanceOfType(control)){var parentNode=element.parentNode;if(parentNode&&parentNode.className=="LayoutGroupBorder"){element=parentNode;}} this.printElement(element,this._getSkinStyle());}},_getSkinStyle:function Sys$_ScriptLoaderTask$execute(){var url=$skin.get_baseURI()+"skin.css";var request=new Sys.Net.WebRequest();request.set_url(url);request.set_async(false);var result="";request.add_completed(onComplete);request.invoke();return result;function onComplete(response,eventArgs){if(response.get_responseAvailable()){var statusCode=response.get_statusCode();if((statusCode>=200)&&(statusCode<300)){try{result=response.get_responseData();} catch(e){}}}}}}
Sys.UI.CustomForm.registerClass('Sys.UI.CustomForm',Sys.Component);Sys.UI.ChildForm=function(){Sys.UI.ChildForm.initializeBase(this);}
Sys.UI.ChildForm.prototype={set_caption:function(value){this._caption=value;}}
Sys.UI.ChildForm.registerClass('Sys.UI.ChildForm',Sys.UI.CustomForm);Sys.UI.CustomDataController=function(dataSource){this._dataSource=dataSource;this._supportsObjProp=true;}
Sys.UI.CustomDataController.prototype={initialize:function(){},dispose:function(){delete this._dataSource;},_setData:function(data){if(typeof(data)=='string'){data=Sys.Serialization.JavaScriptSerializer.deserialize(data);} this._dataSource=data?data:new Object();},hasDataSource:function(){return this._dataSource;},get_dataSource:function(){return this._dataSource;},getValue:function(dataField){var data=this._dataSource;return data?this._doGetObjProp(data,dataField):null;},getText:function(displayField){var value=this.getValue(displayField);return value!=null?value:"";},getValueDisplayText:function(value,displayField){displayValue=value?this._doGetObjProp(value,displayField):null;return displayValue!=null?displayValue:"";},setValue:function(dataField,value){if(!this._dataSource){this._dataSource=new Object();} this._doSetObjProp(this._dataSource,dataField,value);},get_supportsObjProp:function(){return this._supportsObjProp;},set_supportsObjProp:function(value){this._supportsObjProp=value;},_doGetObjProp:function(obj,propName){if(!this._supportsObjProp){return obj[propName];} var pos=propName.indexOf('.');if(pos>0){var objName=propName.substring(0,pos);propName=propName.substr(pos+1);obj=obj[objName];return typeof(obj)!=="undefined"?(obj?this._doGetObjProp(obj,propName):null):undefined;} else{return obj[propName];}},_doSetObjProp:function(obj,propName,value){var pos=propName.indexOf('.');if(pos>0){var objName=propName.substring(0,pos);propName=propName.substr(pos+1);newObj=obj[objName];if(!newObj){newObj=new Object();obj[objName]=newObj;} this._doSetObjProp(newObj,propName,value);} else{obj[propName]=value;}}}
Sys.UI.CustomDataController.registerClass('Sys.UI.CustomDataController');Sys.UI.PageAction=function(){Sys.UI.PageAction.initializeBase(this);}
Sys.UI.PageAction.prototype={initialize:function(){Sys.UI.PageAction.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.PageAction.callBaseMethod(this,'dispose');},get_service:function(){return this.get_form().get_service();},injectMembers:function(srcInstance){Object.getType(this).injectMembers(srcInstance);}}
Sys.UI.PageAction.registerClass('Sys.UI.PageAction',Sys.Component);var $createAction=Sys.UI.PageAction.create=function Sys$UI$PageAction$create(typeName,id,form){var type;if(typeof(typeName)=="string"){try{type=eval(typeName);} catch(e){throw Error.argument("Action类","类“"+typeName+"”有语法错误（"+(e&&e.message?e.message:e)+"）");}} else{type=typeName;} if(!type){throw Error.argumentNull("Action类");} var action=new type();if(!Sys.UI.PageAction.isInstanceOfType(action)){throw Error.invalidOperation(Object.getTypeName(action)+" 没有从 Sys.UI.PageAction 继承");} action.set_id(id);if(!form){throw Error.argumentNull("form");} form.addControl(action);window[id]=action;return action;}
Sys._ScriptLoader=function Sys$_ScriptLoader(){this._scriptsToLoad=null;this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler);this._log=new Sys.StringBuilder();}
Sys._ScriptLoader.prototype={dispose:function Sys$_ScriptLoader$dispose(){this._stopLoading();if(this._events){delete this._events;} this._scriptLoadedDelegate=null;this._log=null;},get_isLoading:function Sys$_ScriptLoader$get_isLoading(){return this._loading;},loadScripts:function Sys$_ScriptLoader$loadScripts(scriptTimeout,allScriptsLoadedCallback,scriptLoadFailedCallback,scriptLoadTimeoutCallback){if(this._loading){throw Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);} this._loading=true;this._log.clear();this._allScriptsLoadedCallback=allScriptsLoadedCallback;this._scriptLoadFailedCallback=scriptLoadFailedCallback;this._scriptLoadTimeoutCallback=scriptLoadTimeoutCallback;this._loadScriptsInternal();},_trace:function(message,serverLog){var log=this._log;if(log){log.appendLine(Date.dateTimeToStr(new Date())+" "+message);if(serverLog){$debug.serverLog(log.toString());}}},notifyScriptLoaded:function Sys$_ScriptLoader$notifyScriptLoaded(){if(!this._loading){this._trace("[NotLoading]");return;} this._currentTask._notified++;this._trace("["+this._currentTask._notified+"] "+this._currentTask.get_scriptSrc());},queueCustomScriptTag:function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes){if(!this._scriptsToLoad){this._scriptsToLoad=[];} Array.add(this._scriptsToLoad,scriptAttributes);},queueScriptBlock:function Sys$_ScriptLoader$queueScriptBlock(scriptContent){if(!this._scriptsToLoad){this._scriptsToLoad=[];} Array.add(this._scriptsToLoad,{text:scriptContent});},queueScriptReference:function Sys$_ScriptLoader$queueScriptReference(scriptUrl){if(!this._scriptsToLoad){this._scriptsToLoad=[];} Array.add(this._scriptsToLoad,{src:scriptUrl});},_addScriptElement:function Sys$_ScriptLoader$_addScriptElement(scriptText){var scriptElement=document.createElement('SCRIPT');scriptElement.type='text/javascript';if(Sys.Browser.agent!=Sys.Browser.Safari){scriptElement.text=scriptText;} else{scriptElement.innerHTML=scriptText;} document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);return scriptElement;},_loadScriptsInternal:function Sys$_ScriptLoader$_loadScriptsInternal(){if(this._scriptsToLoad&&this._scriptsToLoad.length>0){var nextScript=Array.dequeue(this._scriptsToLoad);if(typeof(nextScript.src)==="string"){this._currentTask=new Sys._ScriptLoaderTask(nextScript.src,this._scriptLoadedDelegate);this._currentTask.execute();} else{var scriptElement=this._addScriptElement(nextScript.text);var scriptLoader=this;window.setTimeout(function Sys$_ScriptLoader$_loadScriptsInternal_continue(){Sys._ScriptLoader._clearScript(scriptElement);scriptLoader._loadScriptsInternal();},0);}} else{var callback=this._allScriptsLoadedCallback;this._stopLoading();if(callback){callback(this);}}},_raiseError:function Sys$_ScriptLoader$_raiseError(error){var callback=this._scriptLoadFailedCallback;var scriptSrc=this._currentTask.get_scriptSrc();this._stopLoading();this._trace("[Error] "+error,true);if(callback){callback(this,scriptSrc,error);} else{throw Sys._ScriptLoader._errorScriptLoadFailed(scriptSrc,error);}},_scriptLoadedHandler:function Sys$_ScriptLoader$_scriptLoadedHandler(scriptSrc,loaded,error){this._trace("[End]");if(loaded){Array.add(Sys._ScriptLoader._getLoadedScripts(),scriptSrc);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal();} else{this._raiseError(error);}},_scriptLoadTimeoutHandler:function Sys$_ScriptLoader$_scriptLoadTimeoutHandler(){var callback=this._scriptLoadTimeoutCallback;this._stopLoading();if(callback){callback(this);}},_stopLoading:function Sys$_ScriptLoader$_stopLoading(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null;} if(this._currentTask){this._currentTask.dispose();this._currentTask=null;} this._scriptsToLoad=null;this._loading=null;this._allScriptsLoadedCallback=null;this._scriptLoadFailedCallback=null;this._scriptLoadTimeoutCallback=null;}}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader',null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function Sys$_ScriptLoader$getInstance(){var sl=Sys._ScriptLoader._activeInstance;if(!sl){sl=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader();} return sl;}
Sys._ScriptLoader.isScriptLoaded=function Sys$_ScriptLoader$isScriptLoaded(scriptSrc){var loadedScripts=Sys._ScriptLoader._getLoadedScripts();var answer=Array.contains(loadedScripts,scriptSrc);return answer;}
Sys._ScriptLoader._clearScript=function Sys$_ScriptLoader$_clearScript(scriptElement){if(!Sys.Debug.isDebug){$removeNode(scriptElement);}}
Sys._ScriptLoader._errorScriptLoadFailed=function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl,error){var displayMessage="脚本加载失败: "+error;var e=Error.create(displayMessage,{name:'Sys.ScriptLoadFailedException','scriptUrl':scriptUrl});e.popStackFrame();return e;}
Sys._ScriptLoader._getLoadedScripts=function Sys$_ScriptLoader$_getLoadedScripts(){if(!Sys._ScriptLoader._referencedScripts){var referencedScripts=Sys._ScriptLoader._referencedScripts=[];var existingScripts=document.getElementsByTagName('SCRIPT');for(i=existingScripts.length-1;i>=0;i--){var scriptNode=existingScripts[i];var scriptSrc=scriptNode.src;if(scriptSrc.length){var prefix="http://";if(scriptSrc.startsWith(prefix)){scriptSrc=scriptSrc.substr(prefix.length);var pos=scriptSrc.indexOf("/");if(pos<=0){throw Error.invalidOperation("错误的地址："+scriptSrc);} scriptSrc=scriptSrc.substr(pos);} if(!Array.contains(referencedScripts,scriptSrc)){Array.add(referencedScripts,scriptSrc);}}}} return Sys._ScriptLoader._referencedScripts;}
Sys._ScriptLoaderTask=function Sys$_ScriptLoaderTask(scriptSrc,completedCallback){this._scriptSrc=scriptSrc;this._completedCallback=completedCallback;this._notified=0;this._timer=null;this._tryCount=0;}
Sys._ScriptLoaderTask.prototype={dispose:function Sys$_ScriptLoaderTask$dispose(){if(this._disposed){return;} this._disposed=true;this._scriptSrc=null;this._clearTimer();},_clearTimer:function Sys$_ScriptLoaderTask$_clearTimer(){if(this._timer!=null){window.clearTimeout(this._timer);this._timer=null;this._tryCount=0;window.status="";}},get_scriptSrc:function Sys$_ScriptLoaderTask$get_scriptSrc(){return this._scriptSrc;},_trace:function Sys$_ScriptLoaderTask$_trace(message,serverLog){Sys._ScriptLoader.getInstance()._trace(message,serverLog);},execute:function Sys$_ScriptLoaderTask$execute(){var url=this._scriptSrc;this._trace("[Begin] "+url);var request=new Sys.Net.WebRequest();request.set_url(url);request.add_completed(Function.createDelegate(this,onComplete));request.invoke();function onComplete(response,eventArgs){if(response.get_responseAvailable()){var statusCode=response.get_statusCode();var result=null;var ex=null;try{result=response.get_responseData();} catch(e){ex=e;} var scriptRequestFailedNoMsg="未连接网络";if(!result){ex=scriptRequestFailedNoMsg;} if(((statusCode<200)||(statusCode>=300))||ex!=null){var error="";if(ex){error=ex.ToString();} else if(!result){error=scriptRequestFailedNoMsg;} else if(statusCode==404){error=String.format("“{0}”不存在",url);} if(statusCode!=404){error+="，错误码 "+statusCode;} this._scriptErrorHandler(error);} else{var ex=null;try{eval(result);} catch(e){ex=e;} if(!ex){if(this._notified==1){this._scriptLoadHandler();} else{this._scriptErrorHandler("通知次数("+this._notified+")不对");}} else{this._scriptErrorHandler("语法错误，"+(ex&&ex.message?ex.message:ex));}}} else{if(response.get_timedOut()){this._trace("[Timer] 创建");this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),10*1000);} else{this._scriptErrorHandler(scriptRequestFailedNoMsg);}}}},_scriptErrorHandler:function Sys$_ScriptLoaderTask$_scriptErrorHandler(error){if(this._disposed){return;} var scriptSrc=this.get_scriptSrc();this._completedCallback(scriptSrc,false,error);},_scriptLoadHandler:function Sys$_ScriptLoaderTask$_scriptLoadHandler(){if(this._disposed){return;} var _this=this;var scriptSrc=this.get_scriptSrc();window.setTimeout(function(){_this._completedCallback(scriptSrc,true);},0);},_onTimeout:function Sys$_ScriptLoaderTask$_onTimeout(e){if(this._disposed||!this._timer){return;} var scriptSrc=this.get_scriptSrc();this._tryCount++;if(this._tryCount>3){this._trace("[Timer] 3次超时");this._completedCallback(scriptSrc,false,"网络超时");window.status="";} else{var msg="加载重试第 "+this._tryCount+" 次";this._trace("[Timer] "+msg);window.status=msg;this.execute();}}}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);var $settings={__notInited:true};Sys._Application=function Sys$_Application(){Sys._Application.initializeBase(this);this._formMap={};this._forms=[];this._popups=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=Function.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegate);this._scriptPath=null;}
Sys._Application.prototype={_creatingComponents:false,_disposing:false,_hotkeyHandler:null,initialize:function Sys$_Application$initialize(settings){if(settings){window.$settings=settings;var defaultWebRequestTimeout=settings.defaultWebRequestTimeout;if(defaultWebRequestTimeout>0){Sys.Net.WebRequestManager.set_defaultTimeout(defaultWebRequestTimeout);}} if(!this._initialized&&!this._initializing){this._initializing=true;window.setTimeout(Function.createDelegate(this,this._doInitialize),0);}},dispose:function Sys$_Application$dispose(){if(!this._disposing){this._disposing=true;if(this._hotkeyHandler){$common.removeKeyDownHandler(document,this._hotkeyHandler);this._hotkeyHandler=null;} if(window.pageUnload){window.pageUnload(this,Sys.EventArgs.Empty);} var unloadHandler=this.get_events().getHandler("unload");if(unloadHandler){unloadHandler(this,Sys.EventArgs.Empty);} if(this._forms){var count=this._forms.length;for(var i=count-1;i>=0;i--){var form=this._forms[i];if(form){form.dispose();}} delete this._forms;delete this._formMap;} Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null;} var sl=Sys._ScriptLoader.getInstance();if(sl){sl.dispose();} Sys._Application.callBaseMethod(this,'dispose');}},get_scriptPath:function(){return this._scriptPath;},set_scriptPath:function(value){this._scriptPath=value;},add_load:function Sys$_Application$add_load(handler){this.get_events().addHandler("load",handler);},remove_load:function Sys$_Application$remove_load(handler){this.get_events().removeHandler("load",handler);},add_init:function Sys$_Application$add_init(handler){if(this._initialized){handler(this,Sys.EventArgs.Empty);} else{this.get_events().addHandler("init",handler);}},remove_init:function Sys$_Application$remove_init(handler){this.get_events().removeHandler("init",handler);},add_inits:function Sys$_Application$add_inits(handlers){for(var i=0;i<handlers.length;i++){this.add_init(handlers[i]);}},add_unload:function Sys$_Application$add_unload(handler){this.get_events().addHandler("unload",handler);},remove_unload:function Sys$_Application$remove_unload(handler){this.get_events().removeHandler("unload",handler);},findComponent:function Sys$_Application$findComponent(id,parent){return parent?(Sys.IContainer.isInstanceOfType(parent)?parent.findComponent(id):parent[id]||null):this._doFindComponent(id);},_doFindComponent:function(id){var parts=id.split('$');var formId=parts[1];if(formId){var form=this.findForm(formId);if(!form){throw Error.invalidOperation("找不到控件 "+id+" 所在的表单");} var idPart=parts[2];if(idPart){return form[idPart];}} return null;},_initHotkey:function(){if(!this._hotkeyHandler){this._hotkeyHandler=$common.addKeyDownHandler(document,this._doHotkey,this);}},_doHotkey:function(e){if(e.ctrlKey&&e.shiftKey&&e.altKey&&e.keyCode==84&&$debug){window._testing=!window._testing;$debug.log((window._testing?"进入":"退出")+"测试状态",true);} var forms=this._forms;for(var count=forms.length,i=count-1;i>=0;i--){var form=forms[i];if(form.get_isActive()&&form._internalProcessHotkey(e)){e.cancel();break;}}},get_forms:function(){return this._forms;},addForm:function Sys$_Application$addForm(form){var id=form.get_id();if(!id){throw Error.invalidOperation(Sys.Res.cantAddWithoutId);} if(typeof(this._formMap[id])!=='undefined')throw Error.invalidOperation(String.format(Sys.Res.appDuplicateForm,id));this._formMap[id]=form;Array.add(this._forms,form);},removeForm:function Sys$_Application$removeForm(form){var id=form.get_id();if(id)delete this._formMap[id];Array.remove(this._forms,form);},findForm:function Sys$_Application$findForm(id){return this._formMap[id]||null;},findFormByUrl:function(url){var forms=this._forms;for(var i=0,count=forms.length;i<count;i++){var form=forms[i];if(form.get_url()==url){return form;}} return null;},getForm:function Sys$_Application$getForm(formId,isAsync){var form=this.findForm(formId);if(!form){if(!isAsync){form=new Sys.UI.CustomForm();form.set_id(formId);this.addForm(form);} else{throw Error.abort();}} return form;},notifyScriptLoaded:function Sys$_Application$notifyScriptLoaded(){var sl=Sys._ScriptLoader.getInstance();if(sl){sl.notifyScriptLoaded();}},raiseLoad:function Sys$_Application$raiseLoad(){var h=this.get_events().getHandler("load");if(h){h(this);} if(window.pageLoad){window.pageLoad(this,args);}},_doInitialize:function Sys$_Application$_doInitialize(){Sys._Application.callBaseMethod(this,'initialize');if(Sys.Browser.isIE){var bodyRect=document.body.getBoundingClientRect();var documentElement=document.documentElement;window.__bodyXOffset=bodyRect.left+documentElement.scrollLeft;window.__bodyYOffset=bodyRect.top+documentElement.scrollTop;} if(window.__testing){var testStateElement=document.createElement("input");testStateElement.id="__testState";testStateElement.type="hidden";document.body.appendChild(testStateElement);} var handler=this.get_events().getHandler("init");if(handler){handler(this,Sys.EventArgs.Empty);} this.raiseLoad();this._initHotkey();this._initializing=false;},_loadHandler:function Sys$_Application$_loadHandler(){if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=null;} this.initialize();},_unloadHandler:function Sys$_Application$_unloadHandler(event){this.dispose();},addPopup:function Sys$_Application$addPopup(form){Array.add(this._popups,form);},removePopup:function Sys$_Application$removePopup(form){Array.remove(this._popups,form);},getLastPopup:function(){return Array.getLast(this._popups);},get_hasModalPopup:function(){var popups=this._popups;var count=popups.length;if(count==0){return false;} for(var i=count-1;i>=0;i--){var popup=popups[i];if(popup.get_isModal()){return true;}} return false;},getActiveFormZIndex:function(){var lastPopup=this.getLastPopup();return lastPopup?lastPopup.get_zIndex():10;},getPopupElementZIndex:function(){var lastPopup=this.getLastPopup();return lastPopup?lastPopup.get_zIndex()+1:11;}}
Sys._Application.registerClass('Sys._Application',Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application();var $find=$createDelegate(Sys.Application,Sys.Application.findComponent);Type.registerNamespace('Sys.Net');Sys.Net.WebRequest=function Sys$Net$WebRequest(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0;this._async=true;}
Sys.Net.WebRequest.prototype={add_completed:function Sys$Net$WebRequest$add_completed(handler){this._get_eventHandlerList().addHandler("completed",handler);},remove_completed:function Sys$Net$WebRequest$remove_completed(handler){this._get_eventHandlerList().removeHandler("completed",handler);},completed:function Sys$Net$WebRequest$completed(eventArgs){if(Sys.Browser.isIE){this._doCompleted(eventArgs);} else{try{this._doCompleted(eventArgs);} catch(e){window.asyncCall(function Sys$Net$WebRequest$completed$error(){window._lastError=e;throw e;});}}},_doCompleted:function Sys$Net$WebRequest$_doCompleted(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 Sys$Net$WebRequest$_get_eventHandlerList(){if(!this._events){this._events=new Sys.EventHandlerList();} return this._events;},get_url:function Sys$Net$WebRequest$get_url(){return this._url;},set_url:function Sys$Net$WebRequest$set_url(value){this._url=value;},get_headers:function Sys$Net$WebRequest$get_headers(){return this._headers;},get_httpVerb:function Sys$Net$WebRequest$get_httpVerb(){if(this._httpVerb===null){if(this._body===null){return"GET";} return"POST";} return this._httpVerb;},set_httpVerb:function Sys$Net$WebRequest$set_httpVerb(value){if(value.length===0){throw Error.argument('value',Sys.Res.invalidHttpVerb);} this._httpVerb=value;},get_body:function Sys$Net$WebRequest$get_body(){return this._body;},set_body:function Sys$Net$WebRequest$set_body(value){this._body=value;},get_userContext:function Sys$Net$WebRequest$get_userContext(){return this._userContext;},set_userContext:function Sys$Net$WebRequest$set_userContext(value){this._userContext=value;},get_executor:function Sys$Net$WebRequest$get_executor(){return this._executor;},set_executor:function Sys$Net$WebRequest$set_executor(value){if(this._executor!==null&&this._executor.get_started()){throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);} this._executor=value;this._executor._set_webRequest(this);},get_timeout:function Sys$Net$WebRequest$get_timeout(){if(this._timeout===0){return Sys.Net.WebRequestManager.get_defaultTimeout();} return this._timeout;},set_timeout:function Sys$Net$WebRequest$set_timeout(value){if(value<0){throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);} this._timeout=value;},get_async:function(){return this._async;},set_async:function(value){this._async=value;},getResolvedUrl:function Sys$Net$WebRequest$getResolvedUrl(){return Sys.Net.WebRequest._resolveUrl(this._url);},abort:function Sys$Net$WebRequest$abort(){if(this._executor!==null&&this._executor.get_started()){this._executor.abort();}},invoke:function Sys$Net$WebRequest$invoke(){if(this._invokeCalled){throw Error.invalidOperation(Sys.Res.invokeCalledTwice);} Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true;}}
Sys.Net.WebRequest._resolveUrl=function Sys$Net$WebRequest$_resolveUrl(url,baseUrl){if(url&&url.indexOf('://')!==-1){return url;} if(!baseUrl||baseUrl.length===0){var baseElement=document.getElementsByTagName('base')[0];if(baseElement&&baseElement.href&&baseElement.href.length>0){baseUrl=baseElement.href;} else{baseUrl=document.URL;}} var qsStart=baseUrl.indexOf('?');if(qsStart!==-1){baseUrl=baseUrl.substr(0,qsStart);} qsStart=baseUrl.indexOf('#');if(qsStart!==-1){baseUrl=baseUrl.substr(0,qsStart);} baseUrl=baseUrl.substr(0,baseUrl.lastIndexOf('/')+1);if(!url||url.length===0){return baseUrl;} if(url.charAt(0)==='/'){var slashslash=baseUrl.indexOf('://');if(slashslash===-1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl1);} var nextSlash=baseUrl.indexOf('/',slashslash+3);if(nextSlash===-1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl2);} return baseUrl.substr(0,nextSlash)+url;} else{var lastSlash=baseUrl.lastIndexOf('/');if(lastSlash===-1){throw Error.argument("baseUrl",Sys.Res.badBaseUrl3);} return baseUrl.substr(0,lastSlash+1)+url;}}
Sys.Net.WebRequest._createQueryString=function Sys$Net$WebRequest$_createQueryString(queryString,encodeMethod){if(!encodeMethod)encodeMethod=encodeURIComponent;var sb=new Sys.StringBuilder();var i=0;for(var arg in queryString){var obj=queryString[arg];if(typeof(obj)==="function")continue;var val=Sys.Serialization.JavaScriptSerializer.serialize(obj);if(i!==0){sb.append('&');} sb.append(arg);sb.append('=');sb.append(encodeMethod(val));i++;} return sb.toString();}
Sys.Net.WebRequest._createUrl=function Sys$Net$WebRequest$_createUrl(url,queryString){if(!queryString){return url;} var qs=Sys.Net.WebRequest._createQueryString(queryString);if(qs.length>0){var sep='?';if(url&&url.indexOf('?')!==-1)sep='&';return url+sep+qs;} else{return url;}}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');Sys.Net.NetworkRequestEventArgs=function Sys$Net$NetworkRequestEventArgs(webRequest){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=webRequest;}
Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function Sys$Net$NetworkRequestEventArgs$get_webRequest(){return this._webRequest;}}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs',Sys.CancelEventArgs);Sys.Net.WebRequestExecutor=function Sys$Net$WebRequestExecutor(){this._webRequest=null;this._resultObject=null;}
Sys.Net.WebRequestExecutor.prototype={get_webRequest:function Sys$Net$WebRequestExecutor$get_webRequest(){return this._webRequest;},_set_webRequest:function Sys$Net$WebRequestExecutor$_set_webRequest(value){if(this.get_started()){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'set_webRequest'));} this._webRequest=value;},get_started:function Sys$Net$WebRequestExecutor$get_started(){throw Error.notImplemented();},get_responseAvailable:function Sys$Net$WebRequestExecutor$get_responseAvailable(){throw Error.notImplemented();},get_timedOut:function Sys$Net$WebRequestExecutor$get_timedOut(){throw Error.notImplemented();},get_aborted:function Sys$Net$WebRequestExecutor$get_aborted(){throw Error.notImplemented();},get_responseData:function Sys$Net$WebRequestExecutor$get_responseData(){throw Error.notImplemented();},get_statusCode:function Sys$Net$WebRequestExecutor$get_statusCode(){throw Error.notImplemented();},get_statusText:function Sys$Net$WebRequestExecutor$get_statusText(){throw Error.notImplemented();},get_xml:function Sys$Net$WebRequestExecutor$get_xml(){throw Error.notImplemented();},get_object:function Sys$Net$WebRequestExecutor$get_object(){if(!this._resultObject){this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());} return this._resultObject;},executeRequest:function Sys$Net$WebRequestExecutor$executeRequest(){throw Error.notImplemented();},abort:function Sys$Net$WebRequestExecutor$abort(){throw Error.notImplemented();},getResponseHeader:function Sys$Net$WebRequestExecutor$getResponseHeader(header){throw Error.notImplemented();},getAllResponseHeaders:function Sys$Net$WebRequestExecutor$getAllResponseHeaders(){throw Error.notImplemented();}}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');Sys.Net.XMLDOM=function Sys$Net$XMLDOM(markup){if(!window.DOMParser){var progIDs=['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];for(var i=0,l=progIDs.length;i<l;i++){try{var xmlDOM=new ActiveXObject(progIDs[i]);xmlDOM.async=false;xmlDOM.loadXML(markup);xmlDOM.setProperty('SelectionLanguage','XPath');return xmlDOM;} catch(ex){}}} else{try{var domParser=new window.DOMParser();return domParser.parseFromString(markup,'text/xml');} catch(ex){}} return null;}
Sys.Net.XMLHttpExecutor=function Sys$Net$XMLHttpExecutor(){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 this$_onReadyStateChange(){if(_this._xmlHttpRequest.readyState===4){try{if(typeof(_this._xmlHttpRequest.status)==="undefined"){return;}} catch(ex){return;} _this._clearTimer();_this._responseAvailable=true;_this._webRequest.completed(Sys.EventArgs.Empty);if(_this._xmlHttpRequest!=null){_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;_this._xmlHttpRequest=null;}}};this._clearTimer=function this$_clearTimer(){if(_this._timer!=null){window.clearTimeout(_this._timer);_this._timer=null;}};this._onTimeout=function this$_onTimeout(){if(!_this._responseAvailable){_this._clearTimer();_this._timedOut=true;_this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;_this._xmlHttpRequest.abort();_this._webRequest.completed(Sys.EventArgs.Empty);_this._xmlHttpRequest=null;}};}
Sys.Net.XMLHttpExecutor.prototype={get_timedOut:function Sys$Net$XMLHttpExecutor$get_timedOut(){return this._timedOut;},get_started:function Sys$Net$XMLHttpExecutor$get_started(){return this._started;},get_responseAvailable:function Sys$Net$XMLHttpExecutor$get_responseAvailable(){return this._responseAvailable;},get_aborted:function Sys$Net$XMLHttpExecutor$get_aborted(){return this._aborted;},executeRequest:function Sys$Net$XMLHttpExecutor$executeRequest(){this._webRequest=this.get_webRequest();if(this._started){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted,'executeRequest'));} if(this._webRequest===null){throw Error.invalidOperation(Sys.Res.nullWebRequest);} var body=this._webRequest.get_body();var headers=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest();this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var verb=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(verb,this._webRequest.getResolvedUrl(),this._webRequest.get_async());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*1000);} this._xmlHttpRequest.send(body);this._started=true;},_checkHasResponse:function Sys$Net$XMLHttpExecutor$_checkHasResponse(functionName){if(!this._responseAvailable){throw Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse,functionName));} if(!this._xmlHttpRequest){throw Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler,functionName));}},getResponseHeader:function Sys$Net$XMLHttpExecutor$getResponseHeader(header){this._checkHasResponse('getResponseHeader');var result;try{result=this._xmlHttpRequest.getResponseHeader(header);} catch(e){} if(!result)result="";return result;},getAllResponseHeaders:function Sys$Net$XMLHttpExecutor$getAllResponseHeaders(){this._checkHasResponse('getAllResponseHeaders');return this._xmlHttpRequest.getAllResponseHeaders();},get_responseData:function Sys$Net$XMLHttpExecutor$get_responseData(){this._checkHasResponse('get_responseData');return this._xmlHttpRequest.responseText;},get_statusCode:function Sys$Net$XMLHttpExecutor$get_statusCode(){this._checkHasResponse('get_statusCode');var result=0;try{result=this._xmlHttpRequest.status;} catch(ex){} return result;},get_statusText:function Sys$Net$XMLHttpExecutor$get_statusText(){this._checkHasResponse('get_statusText');return this._xmlHttpRequest.statusText;},get_xml:function Sys$Net$XMLHttpExecutor$get_xml(){this._checkHasResponse('get_xml');var xml=this._xmlHttpRequest.responseXML;if(!xml||!xml.documentElement){xml=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!xml||!xml.documentElement)return null;} else if(navigator.userAgent.indexOf('MSIE')!==-1){xml.setProperty('SelectionLanguage','XPath');} if(xml.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&xml.documentElement.tagName==="parsererror"){return null;} if(xml.documentElement.firstChild&&xml.documentElement.firstChild.tagName==="parsererror"){return null;} return xml;},abort:function Sys$Net$XMLHttpExecutor$abort(){if(!this._started){throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);} if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty);}}}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor',Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function Sys$Net$_WebRequestManager(){this._this=this;this._defaultTimeout=20;this._defaultExecutorType="Sys.Net.XMLHttpExecutor";}
Sys.Net._WebRequestManager.prototype={add_invokingRequest:function Sys$Net$_WebRequestManager$add_invokingRequest(handler){this._get_eventHandlerList().addHandler("invokingRequest",handler);},remove_invokingRequest:function Sys$Net$_WebRequestManager$remove_invokingRequest(handler){this._get_eventHandlerList().removeHandler("invokingRequest",handler);},add_completedRequest:function Sys$Net$_WebRequestManager$add_completedRequest(handler){this._get_eventHandlerList().addHandler("completedRequest",handler);},remove_completedRequest:function Sys$Net$_WebRequestManager$remove_completedRequest(handler){this._get_eventHandlerList().removeHandler("completedRequest",handler);},_get_eventHandlerList:function Sys$Net$_WebRequestManager$_get_eventHandlerList(){if(!this._events){this._events=new Sys.EventHandlerList();} return this._events;},get_defaultTimeout:function Sys$Net$_WebRequestManager$get_defaultTimeout(){return this._defaultTimeout;},set_defaultTimeout:function Sys$Net$_WebRequestManager$set_defaultTimeout(value){if(value<0){throw Error.argumentOutOfRange("value",value,Sys.Res.invalidTimeout);} this._defaultTimeout=value;},get_defaultExecutorType:function Sys$Net$_WebRequestManager$get_defaultExecutorType(){return this._defaultExecutorType;},set_defaultExecutorType:function Sys$Net$_WebRequestManager$set_defaultExecutorType(value){this._defaultExecutorType=value;},executeRequest:function Sys$Net$_WebRequestManager$executeRequest(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType();} catch(e){failed=true;} if(failed||!Sys.Net.WebRequestExecutor.isInstanceOfType(executor)||!executor){throw Error.argument("defaultExecutorType",String.format(Sys.Res.invalidExecutorType,this._defaultExecutorType));} webRequest.set_executor(executor);} if(executor.get_aborted()){return;} var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest);var handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler){handler(this,evArgs);} if(!evArgs.get_cancel()){executor.executeRequest();}}}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager();Sys.Net.WebServiceError=function Sys$Net$WebServiceError(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 Sys$Net$WebServiceError$get_timedOut(){return this._timedOut;},get_statusCode:function Sys$Net$WebServiceError$get_statusCode(){return this._statusCode;},get_message:function Sys$Net$WebServiceError$get_message(){return this._message;},get_stackTrace:function Sys$Net$WebServiceError$get_stackTrace(){return this._stackTrace;},get_exceptionType:function Sys$Net$WebServiceError$get_exceptionType(){return this._exceptionType;},toString:function Sys$Net$WebServiceError$toString(){return this._message;}}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');Sys.Net.ServiceType=function Sys$Net$ServiceType(){throw Error.notImplemented();}
Sys.Net.ServiceType.prototype={dotNetJson:0,dotNetXML:1}
Sys.Net.ServiceType.registerEnum("Sys.Net.ServiceType");Sys.Net.WebServiceProxy=function Sys$Net$WebServiceProxy(){this._timeout=0;this._succeeded=null;this._failed=null;this._userContext=null;this._serviceType=Sys.Net.ServiceType.dotNetJson;this._namespace="http://tempuri.org/";this._serviceName=null;this._waitCounter=0;this._owner=null;this._enableShowWaiting=true;this._serverAsync=false;this._disposed=false;}
Sys.Net.WebServiceProxy.prototype={get_path:function Sys$Net$WebServiceProxy$get_path(){return this._path;},set_path:function Sys$Net$WebServiceProxy$set_path(value){this._path=value;},get_timeout:function Sys$Net$WebServiceProxy$get_timeout(){return this._timeout;},set_timeout:function Sys$Net$WebServiceProxy$set_timeout(value){if(value<0){throw Error.argumentOutOfRange('value',value,Sys.Res.invalidTimeout);} this._timeout=value;},get_defaultSucceededCallback:function Sys$Net$WebServiceProxy$get_defaultSucceededCallback(){return this._succeeded;},set_defaultSucceededCallback:function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value){this._succeeded=value;},get_defaultFailedCallback:function Sys$Net$WebServiceProxy$get_defaultFailedCallback(){return this._failed;},set_defaultFailedCallback:function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value){this._failed=value;},get_defaultUserContext:function Sys$Net$WebServiceProxy$get_defaultUserContext(){return this._userContext;},set_defaultUserContext:function Sys$Net$WebServiceProxy$set_defaultUserContext(value){this._userContext=value;},get_serviceType:function Sys$Net$WebServiceProxy$_get_serviceType(){return this._serviceType;},set_serviceType:function Sys$Net$WebServiceProxy$_set_serviceType(value){this._serviceType=value;},get_namespace:function Sys$Net$WebServiceProxy$get_namespace(){return this._namespace;},set_namespace:function Sys$Net$WebServiceProxy$set_namespace(value){if(value&&!value.endsWith("/")){value+="/";} this._namespace=value;},get_serviceName:function Sys$Net$WebServiceProxy$get_serviceName(){return this._serviceName;},set_serviceName:function Sys$Net$WebServiceProxy$set_serviceName(value){this._serviceName=value;},_JsonSerialize:function Sys$Net$WebServiceProxy$__JsonSerialize(object){var result=Sys.Serialization.JavaScriptSerializer.serialize(object);if(result==="{}"){return"";} else{return result;}},_XMLSerialize:function Sys$Net$WebServiceProxy$__XMLSerialize(params,soapMethodTag,xmlns){var sb=new Sys.StringBuilder();sb.append('<?xml version="1.0"?>').append('<SOAP-ENV:Envelope').append(' xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"').append(' xmlns:xsd="http://www.w3.org/2001/XMLSchema"').append(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"').append(' xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"');sb.append(' xmlns:HNS="'+this.get_namespace()+'">');sb.append('<SOAP-ENV:Body').append(' SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">');sb.append('<'+soapMethodTag+' '+xmlns+'>');for(var name in params){sb.append('<'+name+'>').append(this._JsonSerialize(params[name])).append('</'+name+'>');} sb.append('</'+soapMethodTag+'>').append('</SOAP-ENV:Body>').append('</SOAP-ENV:Envelope>');return sb.toString();},_getXMLResult:function Sys$Net$WebServiceProxy$_getResultFromXML(response,soapMethodTag){var responseXml=response.get_xml();if(!responseXml){throw new Sys.Net.WebServiceError(false,"网络错误","","");} var responseNode=null;var responseNodes=responseXml.getElementsByTagName(soapMethodTag+"Response");if(responseNodes.length>0){responseNode=responseNodes[0];} if(!responseNode){var errorNode=responseXml.selectSingleNode("//faultstring");var error;if(!errorNode){var responseText=response.get_responseData();if(!responseText){error=String.format(Sys.Res.webServiceFailedNoResponse,this._proxy._get_path());} else{error=String.format(Sys.Res.webServiceFailedNoResult,responseText);}} else{error=errorNode.firstChild.text;if(error.indexOf(".SoapException:")>0){var pos1=error.indexOf(":");if(pos1>=0){var pos2=error.indexOf(":",pos1+1);if(pos2>=0){pos1=pos2;} error=error.substr(pos1+1).trimStart();pos2=error.indexOf(" ");if(pos2>0){error=error.substr(0,pos2-1).trim();}}} error=Sys.Net.WebServiceProxy.formatWebServiceFailedServerError(error);} throw new Sys.Net.WebServiceError(false,error,"","");} else{var iLength=responseNode.childNodes.length;if(iLength>0){if(iLength==1){return responseNode.firstChild.text;} else{result=new Object();for(var i=0;i<iLength;i++){result[responseNode.childNodes[i].nodeName]=responseNode.childNodes[i].text;} return result;}} else{return null;} responseXml=null;}},get_owner:function(){return this._owner;},set_owner:function(value){this._owner=value;},get_enableShowWaiting:function(){return this._enableShowWaiting;},set_enableShowWaiting:function(value){this._enableShowWaiting=value;},get_serverAsync:function(){return this._serverAsync;},set_serverAsync:function(value){this._serverAsync=value;},get_isBusy:function(){return this._busy;},_setOwnerEnabled:function(enabled){this._busy=!enabled;var owner=this._owner;if(owner&&owner.set_enabled){owner.set_enabled(enabled);if(enabled){this._owner=null;}}},showWaiting:function(owner,text){if(this._waitCounter==0){var parentElement=null;if(typeof(owner)!=="undefined"){this.set_owner(owner);parentElement=Sys.UI.CustomForm.isInstanceOfType(owner)?owner.get_element():null;} $common.showWaiting(parentElement,text);} this._waitCounter++;},_showWaitingForTimer:function(){this.showWaiting();},_hideWaiting:function(request){if(request&&request._waitTimer){window.clearTimeout(request._waitTimer);delete request._waitTimer;} if(this._waitCounter>0){this._waitCounter--;if(this._waitCounter==0){$common.hideWaiting();}} this._setOwnerEnabled(true);},_invoke:function Sys$Net$WebServiceProxy$_invoke(methodName,params,onSuccess,onFailure,userContext,timeout){if(!params)params={};var async=true;if(typeof(onSuccess)=="boolean"){async=onSuccess;onSuccess=null;} if(typeof(onFailure)=="boolean"){async=onFailure;onFailure=null;} else if(typeof(onFailure)=="object"&&onSuccess){var handlerOwner=onFailure;onSuccess=Function.createDelegate(handlerOwner,onSuccess);onFailure=null;} if(onSuccess===null||typeof onSuccess==='undefined')onSuccess=this.get_defaultSucceededCallback();if(onFailure===null||typeof onFailure==='undefined')onFailure=this.get_defaultFailedCallback();if(typeof(userContext)=="boolean"){async=userContext;userContext=null;} if(userContext===null||typeof userContext==='undefined')userContext=this.get_defaultUserContext();if(timeout===null||typeof timeout==='undefined')timeout=this.get_timeout();var request=new Sys.Net.WebRequest();this._setOwnerEnabled(false);if(this._enableShowWaiting&&window.$common&&!$common.isWaiting()){request._waitTimer=window.setTimeout(Function.createDelegate(this,this._showWaitingForTimer),600);} var headers=request.get_headers();var servicePath=this.get_path();var useGet=false;var url=servicePath;var body=null;switch(this.get_serviceType()){case Sys.Net.ServiceType.dotNetJson:headers["Content-Type"]="application/json; charset=utf-8";if(this.get_serverAsync()){headers["X-ServerAsync"]="true";} var urlParams=params;if(!useGet||!urlParams)urlParams={};url=Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURIComponent(methodName),urlParams);if(!useGet){body=this._JsonSerialize(params);} break;case Sys.Net.ServiceType.dotNetXML:headers["Content-Type"]="text/xml";headers["SOAPAction"]=this.get_namespace()+methodName;request._soapMethodTag=methodName;body=this._XMLSerialize(params,request._soapMethodTag,'xmlns="'+this.get_namespace()+'"');break;} request.set_url(url);request.set_body(body);var completedHandler=Function.createDelegate(this,onComplete);request.add_completed(completedHandler);if(timeout&&timeout>0){request.set_timeout(timeout);} request.set_async(async);var syncResult=null;var syncError=null;request.invoke();if(!async){if(Sys.Browser.isFirefox){var executor=request.get_executor();executor._responseAvailable=true;completedHandler(executor);} if(syncError){throw Error.abort(syncError);} return syncResult;} function onComplete(response,eventArgs){if(response.get_responseAvailable()){var statusCode=response.get_statusCode();var result=null;var ex=null;try{var contentType=response.getResponseHeader("Content-Type");if(contentType&&contentType.startsWith("application/json")){result=response.get_object();} else if(contentType&&contentType.startsWith("text/xml")){result=this._getXMLResult(response,response.get_webRequest()._soapMethodTag);} else{result=response.get_responseData();}} catch(e){ex=e;} var error=response.getResponseHeader("jsonerror");var errorObj=(error==="true");if(errorObj){result=new Sys.Net.WebServiceError(false,result.Message,result.StackTrace,result.ExceptionType);} this._hideWaiting(request);if(((statusCode<200)||(statusCode>=300))||errorObj||ex!=null){if(onFailure){if(ex){result=ex;} else if(!result||!errorObj){result=new Sys.Net.WebServiceError(false,result?result:String.format(Sys.Res.webServiceFailedNoMsg,methodName),"","");} result._statusCode=statusCode;onFailure(result,userContext,methodName);} else{var error;if(ex){error=ex.toString();} else{if(result&&errorObj){error=result.get_message();} else{error=response.get_responseData();} error=Sys.Net.WebServiceProxy.formatWebServiceFailedServerError(error);} if(request.get_async()){alert(error);} else{syncError=error;}}} else if(onSuccess){try{onSuccess(result,userContext,methodName);} catch(e){if(!this._disposed){throw e;}} $common.setTestState("webCallSucceed");} else if(!request.get_async()){syncResult=result;}} else{var msg;if(response.get_timedOut()){msg=String.format(Sys.Res.webServiceTimedOut,methodName);} else{msg=String.format(Sys.Res.webServiceFailedNoMsg,methodName)} if(onFailure){onFailure(new Sys.Net.WebServiceError(response.get_timedOut(),msg,"",""),userContext,methodName);} else{if(request.get_async()){alert(msg);} else{syncError=msg;}}}} return request;},_invoke2:function Sys$Net$WebServiceProxy$_invoke2(methodName,params,onSuccess,onFailure,userContext,timeout){return this._invoke(methodName,false,params,onSuccess,onFailure,userContext,timeout);}}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');Sys.Net.WebServiceProxy._generateTypedConstructor=function Sys$Net$WebServiceProxy$_generateTypedConstructor(type){return function(properties){if(properties){for(var name in properties){this[name]=properties[name];}} this.__type=type;}}
Sys.Net.WebServiceProxy.formatWebServiceFailedServerError=function(error){return error?String.format(Sys.Res.webServiceFailedServerError,error):"未连接网络，操作失败";}
Sys.Net.WebServiceProxy._createFailedError=function Sys$Net$WebServiceProxy$_createFailedError(methodName,errorMessage){var displayMessage="Sys.Net.WebServiceFailedException: "+errorMessage;var e=Error.create(displayMessage,{'name':'Sys.Net.WebServiceFailedException','methodName':methodName});e.popStackFrame();return e;}
Sys.Net.WebServiceProxy._defaultFailedCallback=function Sys$Net$WebServiceProxy$_defaultFailedCallback(err,methodName){var error=err.get_exceptionType()+"-- "+err.get_message();throw Sys.Net.WebServiceProxy._createFailedError(methodName,String.format(Sys.Res.webServiceFailed,methodName,error));}
Sys.Net.PageRequest=function(){this._timeout=0;this._succeeded=null;this._failed=null;this._userContext=null;this._url=null;this._request=null;this._clientSize=null;}
Sys.Net.PageRequest.prototype={get_url:function(){return this._url;},get_timeout:function(){return this._timeout;},set_timeout:function(value){this._timeout=value;},get_elapsedTime:function(){return this._elapsedTime;},get_clientSize:function(){return this._clientSize;},set_clientSize:function(value){this._clientSize=value;},get_defaultSucceededCallback:function(){return this._succeeded;},set_defaultSucceededCallback:function(value){this._succeeded=value;},get_defaultFailedCallback:function(){return this._failed;},set_defaultFailedCallback:function(value){this._failed=value;},get_defaultUserContext:function(){return this._userContext;},set_defaultUserContext:function(value){this._userContext=value;},abort:function Sys$Net$PageRequest$abort(){if(this._request){this._request.abort();}},invoke:function(url,onSuccess,onFailure,userContext,timeout){var t0=new Date().getTime();if(onSuccess===null||typeof onSuccess==='undefined')onSuccess=this.get_defaultSucceededCallback();if(onFailure===null||typeof onFailure==='undefined')onFailure=this.get_defaultFailedCallback();if(userContext===null||typeof userContext==='undefined')userContext=this.get_defaultUserContext();if(timeout===null||typeof timeout==='undefined')timeout=this.get_timeout();var request=new Sys.Net.WebRequest();var headerValue='Delta=true';var clientSize=this._clientSize;if(clientSize){headerValue+=","+clientSize;} request.get_headers()['X-CarpaAjax']=headerValue;request.get_headers()['Cache-Control']='no-cache';var body=null;if(url&&url.length>2000){var cParams="__Params=";var pos=url.indexOf(cParams);if(pos>0){body=url.substring(pos);url=url.substr(0,pos-1);}} request.set_url(url);request.set_body(body);request.add_completed(Function.createDelegate(this,onComplete));if(timeout&&timeout>0)request.set_timeout(timeout);this._request=request;request.invoke();function onComplete(response,eventArgs){this._elapsedTime=new Date().getTime()-t0;if(response.get_responseAvailable()){var statusCode=response.get_statusCode();var result=null;var ex=null;try{result=response.get_responseData();} catch(e){ex=e;} if(result!=null&&typeof(result)!="string"){$debug.serverLog("错误页面内容 "+typeof(result)+","+result.toString());result=null;} if(!result){ex=Sys.Res.pageRequestFailedNoMsg;} if(((statusCode<200)||(statusCode>=300))||ex!=null){if(onFailure){if(ex){result=ex;} else if(!result){result=new Sys.Net.WebServiceError(false,String.format(Sys.Res.pageRequestFailedNoMsg,url));} else if(statusCode==404){result=new Sys.Net.WebServiceError(false,String.format(Sys.Res.pageNotFound,url));} result._statusCode=statusCode;onFailure(result,userContext);} else{var error;if(ex){error=ex.toString();} else{error=Sys.Net.WebServiceProxy.formatWebServiceFailedServerError(result);} alert(error);}} else if(onSuccess){var delta=this._parseReply(result);if(delta.error){var error=Sys.Net.WebServiceProxy.formatWebServiceFailedServerError(delta.error);if(onFailure){onFailure(new Sys.Net.WebServiceError(false,error),userContext);} else{alert(error);}} else{onSuccess(delta,userContext);}}} else{var msg;if(response.get_timedOut()){msg=String.format(Sys.Res.pageRequestTimedOut,url);} else{msg=String.format(Sys.Res.pageRequestFailedNoMsg,url)} if(onFailure){onFailure(new Sys.Net.WebServiceError(response.get_timedOut(),msg),userContext);} else{alert(msg);}}}},_findText:function(text,location){if(location==0)return text;var startIndex=Math.max(0,location-20);var endIndex=Math.min(text.length,location+20);return text.substring(startIndex,endIndex);},_parseReply:function(reply){var delta=new Object();delta.html="";delta.scriptBlock="";delta.styleBlock="";delta.error="";var delimitByLengthDelimiter="|";var delimiterIndex,len,type,content;var replyIndex=0;while(replyIndex<reply.length){var delimiterIndex=reply.indexOf(delimitByLengthDelimiter,replyIndex);if(delimiterIndex===-1){delta.error="(页面错误 "+this._request.get_url()+")"+this._findText(reply,replyIndex);break;} len=parseInt(reply.substring(replyIndex,delimiterIndex),10);if((len%1)!==0){delta.error="(块没有长度)"+this._findText(reply,replyIndex);break;} replyIndex=delimiterIndex+1;delimiterIndex=reply.indexOf(delimitByLengthDelimiter,replyIndex);if(delimiterIndex===-1){delta.error="(块没有类型)"+this._findText(reply,replyIndex);break;} type=reply.substring(replyIndex,delimiterIndex);replyIndex=delimiterIndex+1;if((replyIndex+len)>=reply.length){delta.error="(块长度不对)"+this._findText(reply,reply.length);break;} content=reply.substr(replyIndex,len);replyIndex+=len;if(reply.charAt(replyIndex)!==delimitByLengthDelimiter){delta.error="(块没有结束)"+this._findText(reply,replyIndex);break;} replyIndex++;switch(type){case"html":delta.html+=content;break;case"styleBlock":delta.styleBlock+=content;break;case"scriptBlock":delta.scriptBlock+=content;break;case"scriptInclude":if(!delta.scriptIncludes){delta.scriptIncludes=[];} Array.add(delta.scriptIncludes,content);break;case"pageId":delta.pageId=content;case"pageTitle":delta.pageTitle=content;break;case"hAlign":delta.hAlign=parseInt(content);break;case"activeControl":delta.activeControl=content;break;case"error":if(delta.error)delta.error+="<br>";delta.error+=content;break;case"redirect":delta.redirect=content;break;default:if(delta.error)delta.error+="<br>";delta.error+="(块类型"+type+"错)"+content;break;}} return delta;}}
Sys.Net.PageRequest.registerClass('Sys.Net.PageRequest');Type.registerNamespace('Sys.Serialization');Sys.Serialization.JavaScriptSerializer=function Sys$Serialization$JavaScriptSerializer(){}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');Sys.Serialization.JavaScriptSerializer._serverTypeFieldName='__type';Sys.Serialization.JavaScriptSerializer._stringRegEx=new RegExp('["\\b\\f\\n\\r\\t\\\\\\x00-\\x1F]','i');Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"','g');Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]','g');Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"','g');Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object,stringBuilder){stringBuilder.append(object.toString());}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object,stringBuilder){if(isFinite(object)){stringBuilder.append(String(object));} else{throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);}}
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(object,stringBuilder){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('"');}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object,stringBuilder,sort,prevObjects){var i;switch(typeof object){case'object':if(object){if(prevObjects){for(var j=0;j<prevObjects.length;j++){if(prevObjects[j]===object){throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);}}} else{prevObjects=new Array();} try{Array.add(prevObjects,object);if(Number.isInstanceOfType(object)){Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object,stringBuilder);} else if(Boolean.isInstanceOfType(object)){Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object,stringBuilder);} else if(String.isInstanceOfType(object)){Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object,stringBuilder);} else if(Array.isInstanceOfType(object)){stringBuilder.append('[');for(i=0;i<object.length;++i){if(i>0){stringBuilder.append(',');} Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i],stringBuilder,false,prevObjects);} stringBuilder.append(']');} else{if(Date.isInstanceOfType(object)){stringBuilder.append('"\\/Date(');stringBuilder.append(object.getTime());stringBuilder.append(')\\/"');break;} var properties=[];var propertyCount=0;for(var name in object){if(name.startsWith('$')){continue;} if(name===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&propertyCount!==0){properties[propertyCount++]=properties[0];properties[0]=name;} else{properties[propertyCount++]=name;}} if(sort)properties.sort();stringBuilder.append('{');var needComma=false;for(i=0;i<propertyCount;i++){var value=object[properties[i]];if(typeof value!=='undefined'&&typeof value!=='function'){if(needComma){stringBuilder.append(',');} else{needComma=true;} Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i],stringBuilder,sort,prevObjects);stringBuilder.append(':');Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value,stringBuilder,sort,prevObjects);}} stringBuilder.append('}');}} finally{Array.removeAt(prevObjects,prevObjects.length-1);}} else{stringBuilder.append('null');} break;case'number':Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object,stringBuilder);break;case'string':Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object,stringBuilder);break;case'boolean':Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object,stringBuilder);break;default:stringBuilder.append('null');break;}}
Sys.Serialization.JavaScriptSerializer.serialize=function Sys$Serialization$JavaScriptSerializer$serialize(object){var stringBuilder=new Sys.StringBuilder();Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object,stringBuilder,false);return stringBuilder.toString();}
Sys.Serialization.JavaScriptSerializer.deserialize=function Sys$Serialization$JavaScriptSerializer$deserialize(data,JSONFormat){if(data.length===0)throw Error.argument('data',Sys.Res.cannotDeserializeEmptyString);try{if(JSONFormat){data=data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx,"$1new Date($2)");} return eval('('+data+')');} catch(e){throw Error.argument('data',Sys.Res.cannotDeserializeInvalidJson);}}
function _loadMozillaCompatLayer(w){w.HTMLElement.prototype.__defineGetter__('innerText',function(){return this.textContent;});w.HTMLElement.prototype.__defineSetter__('innerText',function(v){if(v){this.innerHTML=formatPlainTextAsHtml(v);} else{this.innerHTML='';}});function formatPlainTextAsHtml(str){var sb=new Sys.StringBuilder();var numChars=str.length;var prevCh;for(var i=0;i<numChars;i++){var ch=str.charAt(i);switch(ch){case"<":sb.append("&lt;");break;case">":sb.append("&gt;");break;case"\"":sb.append("&quot;");break;case"&":sb.append("&amp;");break;case" ":if(prevCh==" "){sb.append("&nbsp;");} else{sb.append(" ");} break;case"\r":break;case"\n":sb.appendLine();sb.appendLine("<br />");break;default:sb.append(ch);break;} prevCh=ch;} return sb.toString();} function selectNodes(doc,path,contextNode){contextNode=contextNode?contextNode:doc;var xpath=new XPathEvaluator();var result=xpath.evaluate(path,contextNode,doc.createNSResolver(doc.documentElement),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var nodeList=new Array(result.snapshotLength);for(var i=0;i<result.snapshotLength;i++){nodeList[i]=result.snapshotItem(i);} return nodeList;} function selectSingleNode(doc,path,contextNode){path+='[1]';var nodes=selectNodes(doc,path,contextNode);if(nodes.length!=0){for(var i=0;i<nodes.length;i++){if(nodes[i]){return nodes[i];}}} return null;} w.XMLDocument.prototype.selectNodes=function w$XMLDocument$selectNodes(path,contextNode){return selectNodes(this,path,contextNode);};w.XMLDocument.prototype.selectSingleNode=function w$XMLDocument$selectSingleNode(path,contextNode){return selectSingleNode(this,path,contextNode);};w.XMLDocument.prototype.transformNode=function w$XMLDocument$transformNode(xsl){var xslProcessor=new XSLTProcessor();xslProcessor.importStylesheet(xsl);var ownerDocument=document.implementation.createDocument("","",null);var transformedDoc=xslProcessor.transformToDocument(this);return transformedDoc.xml;};w.XMLDOMParser=w.DOMParser;Node.prototype.selectNodes=function Node$selectNodes(path){var doc=this.ownerDocument;return doc.selectNodes(path,this);};Node.prototype.selectSingleNode=function Node$selectSingleNode(path){var doc=this.ownerDocument;return doc.selectSingleNode(path,this);};Node.prototype.__defineGetter__('baseName',function(){return this.localName;});Node.prototype.__defineGetter__('text',function(){return this.textContent;});Node.prototype.__defineSetter__('text',function(value){this.textContent=value;});Node.prototype.__defineGetter__('xml',function(){return(new XMLSerializer()).serializeToString(this);});DocumentFragment.prototype.getElementById=function DocumentFragment$getElementById(id){var nodeQueue=[];var childNodes=this.childNodes;var node;var c;for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){Array.enqueue(nodeQueue,node);}} while(nodeQueue.length){node=Array.dequeue(nodeQueue);if(node.id==id){return node;} childNodes=node.childNodes;if(childNodes.length!=0){for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){Array.enqueue(nodeQueue,node);}}}} return null;};DocumentFragment.prototype.createElement=function DocumentFragment$createElement(tagName){return document.createElement(tagName);};}
function _loadSafariCompatLayer(w){window["HTMLHtmlElement"]=document.createElement("html").constructor;function HTMLElement(){} HTMLElement.prototype=HTMLHtmlElement.__proto__.__proto__;var HTMLDocument=document.constructor;var Text=document.createTextNode("").constructor;Node=Text;window.XMLDOMParser=function XMLDOMParser(){};window.XMLDOMParser.prototype.parseFromString=function window$XMLDOMParser$parseFromString(input,contentType,node){var placeHolder=document.createElement("span");input=this._prepareString(input);placeHolder.innerHTML=input;var dom;for(var i=placeHolder.childNodes.length-1;i>=0;i--){if(placeHolder.childNodes[i].nodeType!=1){placeHolder.removeChild(placeHolder.childNodes[i]);}} this._parseChildNodes(placeHolder.childNodes);return placeHolder;};window.XMLDOMParser.prototype._prepareString=function window$XMLDOMParser$_prepareString(input){input=input.replace(/<(\w+(:\w+)?)([^>]*?)\/>/g,"<$1$3></$1>");input=input.replace(/<image(.*?)>/g,"<image_$1>");input=input.replace(/<\/image>/g,"</image_>");return input;};window.XMLDOMParser.prototype._parseChildNodes=function window$XMLDOMParser$_parseChildNodes(childNodes){var tagName;for(var i=0;i<childNodes.length;i++){if(childNodes[i].nodeType==1){tagName=childNodes[i].tagName;var col=tagName.indexOf(':');if(col!=-1){childNodes[i].tagPrefix=tagName.substr(0,col).toLowerCase();tagName=tagName.substr(col+1);} childNodes[i].baseName=tagName.toLowerCase();this._parseChildNodes(childNodes[i].childNodes);}}};}
if(Sys.Browser.isFirefox){_loadMozillaCompatLayer(window);} else if(Sys.Browser.isSafari){_loadSafariCompatLayer(window);}
Sys.Timer=function Sys$Timer(){Sys.Timer.initializeBase(this);this._interval=1000;this._enabled=false;this._timer=null;}
Sys.Timer.prototype={get_interval:function Sys$Timer$get_interval(){return this._interval;},set_interval:function Sys$Timer$set_interval(value){if(this._interval!==value){this._interval=value;this.raisePropertyChanged('interval');if(!this.get_isUpdating()&&(this._timer!==null)){this.restartTimer();}}},get_enabled:function Sys$Timer$get_enabled(){return this._enabled;},set_enabled:function Sys$Timer$set_enabled(value){if(value!==this.get_enabled()){this._enabled=value;this.raisePropertyChanged('enabled');if(!this.get_isUpdating()){if(value){this._startTimer();} else{this._stopTimer();}}}},add_tick:function Sys$Timer$add_tick(handler){this.get_events().addHandler("tick",handler);},remove_tick:function Sys$Timer$remove_tick(handler){this.get_events().removeHandler("tick",handler);},dispose:function Sys$Timer$dispose(){this.set_enabled(false);this._stopTimer();Sys.Timer.callBaseMethod(this,'dispose');},updated:function Sys$Timer$updated(){Sys.Timer.callBaseMethod(this,'updated');if(this._enabled){this.restartTimer();}},_timerCallback:function Sys$Timer$_timerCallback(){var handler=this.get_events().getHandler("tick");if(handler){handler(this,Sys.EventArgs.Empty);}},restartTimer:function Sys$Timer$restartTimer(){this._stopTimer();this._startTimer();},_startTimer:function Sys$Timer$_startTimer(){this._timer=window.setInterval(Function.createDelegate(this,this._timerCallback),this._interval);},_stopTimer:function Sys$Timer$_stopTimer(){window.clearInterval(this._timer);this._timer=null;}}
Sys.Timer.registerClass('Sys.Timer',Sys.Component);Sys.CultureInfo=function Sys$CultureInfo(name,numberFormat,dateTimeFormat){this.name=name;this.numberFormat=numberFormat;this.dateTimeFormat=dateTimeFormat;}
Sys.CultureInfo.prototype={_getDateTimeFormats:function Sys$CultureInfo$_getDateTimeFormats(){if(!this._dateTimeFormats){var dtf=this.dateTimeFormat;this._dateTimeFormats=[dtf.MonthDayPattern,dtf.YearMonthPattern,dtf.ShortDatePattern,dtf.ShortTimePattern,dtf.LongDatePattern,dtf.LongTimePattern,dtf.FullDateTimePattern,dtf.RFC1123Pattern,dtf.SortableDateTimePattern,dtf.UniversalSortableDateTimePattern];} return this._dateTimeFormats;},_getMonthIndex:function Sys$CultureInfo$_getMonthIndex(value){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);} return Array.indexOf(this._upperMonths,this._toUpper(value));},_getAbbrMonthIndex:function Sys$CultureInfo$_getAbbrMonthIndex(value){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);} return Array.indexOf(this._upperAbbrMonths,this._toUpper(value));},_getDayIndex:function Sys$CultureInfo$_getDayIndex(value){if(!this._upperDays){this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);} return Array.indexOf(this._upperDays,this._toUpper(value));},_getAbbrDayIndex:function Sys$CultureInfo$_getAbbrDayIndex(value){if(!this._upperAbbrDays){this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);} return Array.indexOf(this._upperAbbrDays,this._toUpper(value));},_toUpperArray:function Sys$CultureInfo$_toUpperArray(arr){var result=[];for(var i=0,il=arr.length;i<il;i++){result[i]=this._toUpper(arr[i]);} return result;},_toUpper:function Sys$CultureInfo$_toUpper(value){return value.split("\u00A0").join(' ').toUpperCase();}}
Sys.CultureInfo.registerClass('Sys.CultureInfo');Sys.CultureInfo.InvariantCulture={"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","May","June","July","August","September","October","November","December",""],"IsReadOnly":true,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["January","February","March","April","May","June","July","August","September","October","November","December",""]}};Sys.CultureInfo.CurrentCulture={"name":"zh-CN","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"￥","NaNSymbol":"非数字","CurrencyNegativePattern":2,"NumberNegativePattern":1,"PercentPositivePattern":1,"PercentNegativePattern":1,"NegativeInfinitySymbol":"负无穷大","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"正无穷大","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"‰","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"上午","Calendar":{"MinSupportedDateTime":"\\/Date(-62135568000000)\\/","MaxSupportedDateTime":"\\/Date(253402300799999)\\/","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"yyyy\u0027年\u0027M\u0027月\u0027d\u0027日\u0027 H:mm:ss","LongDatePattern":"yyyy\u0027年\u0027M\u0027月\u0027d\u0027日\u0027","LongTimePattern":"H:mm:ss","MonthDayPattern":"M\u0027月\u0027d\u0027日\u0027","PMDesignator":"下午","RFC1123Pattern":"ddd, dd MMM yyyy HH\u0027:\u0027mm\u0027:\u0027ss \u0027GMT\u0027","ShortDatePattern":"yyyy/M/d","ShortTimePattern":"H:mm","SortableDateTimePattern":"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\u0027-\u0027MM\u0027-\u0027dd HH\u0027:\u0027mm\u0027:\u0027ss\u0027Z\u0027","YearMonthPattern":"yyyy\u0027年\u0027M\u0027月\u0027","AbbreviatedDayNames":["日","一","二","三","四","五","六"],"ShortestDayNames":["日","一","二","三","四","五","六"],"DayNames":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"AbbreviatedMonthNames":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],"MonthNames":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],"IsReadOnly":false,"NativeCalendarName":"公历","AbbreviatedMonthGenitiveNames":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""],"MonthGenitiveNames":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""]}};Type.registerNamespace('Carpa.Web.Admin');Carpa.Web.Admin.AdminService=function(){Carpa.Web.Admin.AdminService.initializeBase(this);}
Carpa.Web.Admin.AdminService.prototype={get_path:function(){return $getRootURI()+"Carpa.Web/Carpa.Web.Admin.AdminService.ajax";},GetServerStatus:function(succeededCallback,failedCallback,userContext){return this._invoke('GetServerStatus',{},succeededCallback,failedCallback,userContext);},Log:function(message,succeededCallback,failedCallback,userContext){return this._invoke('Log',{message:message},succeededCallback,failedCallback,userContext);}}
Carpa.Web.Admin.AdminService.registerClass('Carpa.Web.Admin.AdminService',Sys.Net.WebServiceProxy);var $adminService=new Carpa.Web.Admin.AdminService();$adminService.set_enableShowWaiting(false);window.asPage=function(obj){return obj;}
window.asCancelEventArgs=function(obj){return obj;}
SysConsts=function(){}
SysConsts.RowIndex="__rowIndex";SysConsts.TargetBlank="_blank";Sys.UI._CommonToolkit=function(){}
Sys.UI._CommonToolkit.prototype={addHandler:function(element,eventName,handler,handlerOwner){if(handlerOwner){handler=Function.createDelegate(handlerOwner,handler);} $addHandler(element,eventName,handler);return handler;},addMouseOverHandler:function(element,handler,handlerOwner){return this.addHandler(element,"mouseover",handler,handlerOwner);},removeMouseOverHandler:function(element,handler){$removeHandler(element,"mouseover",handler);},addMouseOutHandler:function(element,handler,handlerOwner){return this.addHandler(element,"mouseout",handler,handlerOwner);},removeMouseOutHandler:function(element,handler){$removeHandler(element,"mouseout",handler);},addMouseDownHandler:function(element,handler,handlerOwner){return this.addHandler(element,"mousedown",handler,handlerOwner);},removeMouseDownHandler:function(element,handler){$removeHandler(element,"mousedown",handler);},addMouseMoveHandler:function(element,handler,handlerOwner){return this.addHandler(element,"mousemove",handler,handlerOwner);},removeMouseMoveHandler:function(element,handler){$removeHandler(element,"mousemove",handler);},addMouseUpHandler:function(element,handler,handlerOwner){return this.addHandler(element,"mouseup",handler,handlerOwner);},removeMouseUpHandler:function(element,handler){$removeHandler(element,"mouseup",handler);},addMouseWheelHandler:function(element,handler,handlerOwner){return this.addHandler(element,"mousewheel",handler,handlerOwner);},removeMouseWheelHandler:function(element,handler){$removeHandler(element,"mousewheel",handler);},addClickHandler:function(element,handler,handlerOwner){return this.addHandler(element,"click",handler,handlerOwner);},removeClickHandler:function(element,handler){$removeHandler(element,"click",handler);},addDblClickHandler:function(element,handler,handlerOwner){return this.addHandler(element,"dblclick",handler,handlerOwner);},removeDblClickHandler:function(element,handler){$removeHandler(element,"dblclick",handler);},addKeyDownHandler:function(element,handler,handlerOwner){return this.addHandler(element,"keydown",handler,handlerOwner);},removeKeyDownHandler:function(element,handler){$removeHandler(element,"keydown",handler);},addKeyUpHandler:function(element,handler,handlerOwner){return this.addHandler(element,"keyup",handler,handlerOwner);},removeKeyUpHandler:function(element,handler){$removeHandler(element,"keyup",handler);},addKeyPressHandler:function(element,handler,handlerOwner){return this.addHandler(element,"keypress",handler,handlerOwner);},removeKeyPressHandler:function(element,handler){$removeHandler(element,"keypress",handler);},addFocusHandler:function(element,handler,handlerOwner){return this.addHandler(element,"focus",handler,handlerOwner);},removeFocusHandler:function(element,handler){$removeHandler(element,"focus",handler);},addBlurHandler:function(element,handler,handlerOwner){return this.addHandler(element,"blur",handler,handlerOwner);},removeBlurHandler:function(element,handler){$removeHandler(element,"blur",handler);},addChangeHandler:function(element,handler,handlerOwner){return this.addHandler(element,"change",handler,handlerOwner);},removeChangeHandler:function(element,handler){$removeHandler(element,"change",handler);},addSelectStartHandler:function(element,handler,handlerOwner){return this.addHandler(element,"selectstart",handler,handlerOwner);},removeSelectStartHandler:function(element,handler){$removeHandler(element,"selectstart",handler);},addContextMenuHandler:function(element,handler,handlerOwner){return this.addHandler(element,"contextmenu",handler,handlerOwner);},removeContextMenuHandler:function(element,handler){$removeHandler(element,"contextmenu",handler);},addResizeHandler:function(element,handler,handlerOwner){return this.addHandler(element,"resize",handler,handlerOwner);},removeResizeHandler:function(element,handler){$removeHandler(element,"resize",handler);},addScrollHandler:function(element,handler,handlerOwner){return this.addHandler(element,"scroll",handler,handlerOwner);},removeScrollHandler:function(element,handler){$removeHandler(element,"scroll",handler);},addPasteHandler:function(element,handler,handlerOwner){return this.addHandler(element,"paste",handler,handlerOwner);},removePasteHandler:function(element,handler){$removeHandler(element,"paste",handler);},addCutHandler:function(element,handler,handlerOwner){return this.addHandler(element,"cut",handler,handlerOwner);},removeCutHandler:function(element,handler){$removeHandler(element,"cut",handler);},createSpan:function(){return document.createElement("span");},createTBody:function(){return document.createElement("tbody");},createTr:function(){return document.createElement("tr");},createTd:function(){return document.createElement("td");},createDiv:function(){return document.createElement("div");},createInput:function(){return document.createElement("input");},createCheckBox:function(){var element=this.createInput();element.type="checkbox";return element;},createRadioButton:function(name){var element;if(Sys.Browser.isIE){element=document.createElement("<input name='"+name+"'>");} else{element=this.createInput();element.name=name;} element.type="radio";return element;},createInlineDiv:function(){var div=this.createDiv();div.style.display="inline";return div;},createGlyphDiv:function(){var div=this.createDiv();div.style.cursor="default";if(Sys.Browser.isIE){div.unselectable="on";} return div;},createImg:function(){return document.createElement("img");},createBlankImg:function(width,height){var img=this.createImg();img.border=0;img.src=$skin.getBlankImageSrc();if(width&&height){this.setBounds(img,width,height);} return img;},setDisplay:function(element,visible){element.style.display=visible?"":"none";},setBounds:function(elt,width,height){elt.style.width=width+"px";if(height<=14){elt.style.fontSize=0;elt.style.lineHeight=0;} elt.style.height=height+"px";return elt;},setWidth:function(elt,width){elt.style.width=width+"px";return elt;},setHeight:function(elt,height){elt.style.height=height+"px";return elt;},setAutoWidth:function(elt){elt.style.minWidth=elt.style.width;elt.style.width="auto";},setAutoHeight:function(elt){elt.style.minHeight=elt.style.height;elt.style.height="auto";},setAutoWidthHeight:function(elt){this.setAutoWidth(elt);this.setAutoHeight(elt);},setStyleFloat:function(elt,value){if(Sys.Browser.isIE){elt.style.styleFloat=value;} else{elt.style.cssFloat=value;}},setPosition:function(elt,left,top,width,height){elt.style.position="absolute";elt.style.left=left+"px";elt.style.top=top+"px";return this.setBounds(elt,width,height);},getLocation:function(element){return Sys.UI.DomElement.getLocation(element);},setLocation:function(element,point){Sys.UI.DomElement.setLocation(element,point.x,point.y);},getBounds:function Sys$UI$_CommonToolkit$getBounds(element){var r=Sys.UI.DomElement.getBounds(element);if(r.height==0&&element==document.body){r.height=window.getClientBounds().height;} return r;},setBackgroundImage:function(element,skinImage,imageIndex,repeat){element.style.backgroundRepeat=repeat?repeat:"no-repeat";element.style.backgroundImage=$skin.getImageUrl(skinImage);this.setBackgroundPosition(element,skinImage,imageIndex);},setBackgroundPosition:function(element,skinImage,imageIndex){var offset=(-1*skinImage.size*imageIndex)+"px";element.style.backgroundPosition="0px "+offset;},getChildrenByTagName:function(element,tagName){var answer=[];for(var i=0,count=element.childNodes.length;i<count;i++){var child=element.childNodes[i];var childTagName=child.tagName;if(childTagName&&childTagName.toLowerCase()==tagName){Array.add(answer,child);}} return answer;},getChildByTagName:function(element,tagName,index){var count=element.childNodes.length;for(var i=0,j=0;i<count;i++){var child=element.childNodes[i];var childTagName=child.tagName;if(childTagName&&childTagName.toLowerCase()==tagName){if(j==index){return child;} j++;}} return null;},getFirstChildByTagName:function(element,tagName){return this.getChildByTagName(element,tagName,0);},getLastChildByTagName:function(element,tagName){var count=element.childNodes.length;for(var i=count-1;i>=0;i--){var child=element.childNodes[i];var childTagName=child.tagName;if(childTagName&&childTagName.toLowerCase()==tagName){return child;}} return null;},getFirstChildByClassName:function(element,className){var count=element.childNodes.length;for(var i=0;i<count;i++){var child=element.childNodes[i];if(child.className==className){return child;}} return null;},createBoundedDiv:function(width,height){return this.setBounds(this.createGlyphDiv(),width,height);},createPositionedDiv:function(left,top,width,height){return this.setPosition(this.createGlyphDiv(),left,top,width,height);},setProperties:function(element,properties){for(var name in properties){var value=properties[name];element.setAttribute(name,value);}},createTable:function(cellSpacing,cellPadding,border){var table=document.createElement("table");table.cellSpacing=cellSpacing?cellSpacing:"0";table.cellPadding=cellPadding?cellPadding:"0";table.style.cursor="default";table.border=border?border:"0";return table;},createPopupTable:function(cellSpacing,cellPadding,backgroundColor){var table=this.createTable(cellSpacing,cellPadding);table.rules="none";if(!backgroundColor)backgroundColor=$skin.getWindowBackgroundColor();table.style.backgroundColor=backgroundColor;if(Sys.Browser.isIE){table.style.borderCollapse="collapse";} return table;},createFlatButton:function(width,height,caption){var button=document.createElement('button');button.className="FlatButton";button.style.width=width+"px";button.style.height=height+"px";button.innerHTML=caption;return button;},_setGradient:function(element,startColor,endColor){element.style.filter="progid:DXImageTransform.Microsoft.Gradient(GradientType=0,"+"StartColorStr="+startColor+",EndColorStr="+endColor+")";},setBackground:function(element,colors,isDown){if(Sys.Browser.isIE){if(!isDown)this._setGradient(element,colors.start,colors.end);else this._setGradient(element,colors.end,colors.start);} else{element.style.backgroundColor=colors.middle;}},clearBackground:function(element){element.style.filter="";element.style.backgroundColor="";},getSelectionText:function(elt){if(document.selection){var range=document.selection.createRange();return range.text;} else if(this._ffHasSelection(elt)){var text=elt.value;return text?text.substring(elt.selectionStart,elt.selectionEnd):"";} return"";},_ffHasSelection:function(elt){return elt.type=='text'&&(elt.selectionStart||elt.selectionStart=='0');},getCaretPosition:function(elt){var caretPos=0;if(document.selection){if(elt.type=='text'){var selectionRange=document.selection.createRange();selectionRange.moveStart('word',-elt.value.length);caretPos=selectionRange.text.length;} else{caretPos=Math.abs(document.selection.createRange().moveStart("character",-1000000))-193;}} else if(this._ffHasSelection(elt)){caretPos=elt.selectionStart;} return caretPos;},setCaretPosition:function(elt,caretPos){if(document.selection){var range=document.selection.createRange();if(elt.type=='text'){range.moveStart('character',-elt.value.length);range.moveEnd('character',-elt.value.length);range.moveStart('character',caretPos);range.select();} else{range.collapse(false);range.move('character',caretPos-elt.value.length+elt.value.split('\n').length-1);range.select();}} else if(this._ffHasSelection(elt)){elt.setSelectionRange(caretPos,caretPos);}},_doShowWaiting:function(parentElement,html){var table=this._loadingTable;if(!this._loadingTable){table=this.createTable();table.className="Loading";var body=$common.createTBody();var tr=$common.createTr();var td=$common.createTd();td.align="center";td.noWrap=true;td.style.padding="5px";tr.appendChild(td);body.appendChild(tr);table.appendChild(body);Sys.UI.DomElement.setOpacity(table,90);document.body.appendChild(table);this._loadingTable=table;this._loadingTableCell=td;} var skinElement=$skin.getElement("common","loading");var width=skinElement.width;var height=skinElement.height;var r=rw=window.getClientBounds();var pScroll=window.getClientScrollPosition();var left=(r.width-width)/2+pScroll.x;var top=(r.height-height)/2+pScroll.y;if(parentElement){r=Sys.UI.DomElement.getBounds(parentElement);if(r.width>width&&r.width<rw.width&&r.x>=0){left=r.x+(r.width-width)/2;} if(r.height>height&&r.height<rw.height&&r.y>=0){top=r.y+(r.height-height)/2;}} table.style.zIndex=Sys.Application.getPopupElementZIndex();this.setPosition(table,left,top,width,height);this._loadingTableCell.innerHTML=html;Sys.UI.DomElement.setVisible(table,true);this._waiting=true;},showWaiting:function(parentElement,text){this._doShowWaiting(parentElement,$skin.getWaitingHTML(text));},showLoading:function(parentElement){this._doShowWaiting(parentElement,$skin.getLoadingHTML());},showUploading:function(parentElement){this._doShowWaiting(parentElement,$skin.getUploadingHTML());},hideWaiting:function(){var table=this._loadingTable;if(table){Sys.UI.DomElement.setVisible(table,false);} this._waiting=false;},isWaiting:function(){return this._waiting;},hideLoading:function(){this.hideWaiting();},showToolTip:function(left,top,html){var div=this._toolTipDiv;if(!this._toolTipDiv){div=this.createDiv();div.className="ToolTip";Sys.UI.DomElement.setOpacity(div,90);document.body.appendChild(div);this._toolTipDiv=div;} div.style.zIndex=Sys.Application.getPopupElementZIndex();div.innerHTML=this.textToHtml(html);Sys.UI.DomElement.setLocation(div,left,top);Sys.UI.DomElement.setVisible(div,true);},hideToolTip:function(){if(this._toolTipDiv){Sys.UI.DomElement.setVisible(this._toolTipDiv,false);}},initPopupElement:function(element,initBorder,initBgColor){if(initBorder){$skin.initBorderStyle(element);} if(initBgColor){element.style.backgroundColor=$skin.getWindowBackgroundColor();} element.style.position="absolute";element.style.zIndex=Sys.Application.getPopupElementZIndex();},calcPopupPosition:function(x0,y0,popWidth,popHeight,offsetWidth,offsetHeight){var pScroll=window.getClientScrollPosition();var rWin=window.getClientBounds();var xNew=x0;if(x0+popWidth-pScroll.x>rWin.width){xNew=x0+offsetWidth-popWidth;} var yNew=y0;if(y0+popHeight-pScroll.y>rWin.height){yNew=y0-offsetHeight-popHeight;} return{x:xNew,y:yNew};},getTableHeader:function(table){return this.getFirstChildByTagName(table,"thead");},getTableBody:function(table){return this.getFirstChildByTagName(table,"tbody");},getTableFirstRow:function(table){return this.getTableRow(table,0);},getTableRow:function(table,index){var tbody=this.getTableBody(table);if(tbody){var childNodes=tbody.childNodes;for(var i=0,j=0,count=childNodes.length;i<count;i++){var tr=childNodes[i];if(tr.tagName&&tr.tagName.toLowerCase()=="tr"){if(j==index){return tr;} j++;}}} else{return null;}},overlaps:function(r1,r2){return r1.x<(r2.x+r2.width)&&r2.x<(r1.x+r1.width)&&r1.y<(r2.y+r2.height)&&r2.y<(r1.y+r1.height);},ptInRect:function(p,r){return p.x>=r.x&&p.x<(r.x+r.width)&&p.y>=r.y&&p.y<(r.y+r.height);},addImageToCache:function(url){if(!url)return;if(!this._imageCache){this._imageCache=[];} Array.add(this._imageCache,url);},_cacheImages:function(){if(!this._skinInited){$skin.addImagesToCache();this._skinInited=true;} var imageCache=this._imageCache;if(!imageCache)return;window.asyncCall(function(){for(var i=0;i<imageCache.length;i++){var image=new Image();image.src=imageCache[i];} Array.clear(imageCache);});},cacheImage:function(src){var image=new Image();image.src=src;},getCenterMiddleHTML:function(content,width,height){width=width?width:"100%";height=height?height:"100%";return"<table width='"+width+"' height='"+height+"'><tr><td align='center'>"+content+"</td></tr></table>";},getGlyphDivHTML:function(skinImage,imageIndex){var offset=(-1*skinImage.size*imageIndex)+"px";if(skinImage.isVert){offset="0px "+offset;} else{offset=offset+" 0px";} return'<div style="font-size:0px; width:'+skinImage.imageWidth+'px; height:'+skinImage.imageHeight+'px; background-image:url('+skinImage.src+'); background-repeat:no-repeat; background-position:'+offset+';"></div>';},_hintForm:null,_hintFormCloseTimer:null,showHint:function(message,closeTimeout){if(this._hintForm){this._hintForm.close();this._hintForm=null;window.clearTimeout(this._hintFormCloseTimer);} var form=Sys.UI.Form.create({caption:"注意！",borderStyle:Sys.UI.FormBorderStyle.fixedToolWindow,position:Sys.UI.FormPosition.rightBottom,width:300,height:120});form.setCenterMiddleContent(message);form.show();if(!closeTimeout){this._hintForm=form;} this._hintFormCloseTimer=window.setTimeout(Function.createDelegate(this,function(){form.close();this._hintForm=null;}),closeTimeout?closeTimeout*1000:5000);},showModalForm:function Sys$UI$_CommonToolkit$showModalForm(sender,url,width,height,onLoaded,onOk,onClose){var form=new Sys.UI.Form(sender,width,height);if(onLoaded)form.add_loaded(onLoaded);if(onOk)form.add_ok(onOk);if(onClose)form.add_close(onClose);form.showModal(url);},refresh:function(url){if(url){window.location=url;} else{window.location.reload();}},showModalDialog:function(url,width,height,dialogArgument){return this.showDialog(url,width,height,true,dialogArgument);},showDialog:function(url,width,height,showModal,dialogArgument){var xinc=showModal?12:0;var yinc=showModal?32:0;width=width+xinc;height=height+yinc;var r=window.getClientBounds();var left=(screen.width-width)/2;var top=(screen.height-height)/2-20;try{if(showModal){var params="dialogLeft:"+left+"px;dialogTop:"+top+"px;dialogWidth:"+width+"px;dialogHeight:"+height+"px;help:no; resizable:no; status:no;";return window.showModalDialog(url,dialogArgument?dialogArgument:window,params);} else{var params="left="+left+",top="+top+",width="+width+",height="+height+",menubar=no,location=no,status=no,scrollbars=no,resizable=no";return window.open(url,'',params);} window.__allowRefresh=false;} catch(e){window.__allowRefresh=true;var error="请点IE菜单“工具 -> 弹出窗口阻止程序 -> 关闭弹出窗口阻止程序”后重试！"+(e.message?"\r\n(出错："+e.message+")":"");alert(error);}},hAlignToString:function(value){switch(value){case Sys.UI.HAlign.left:return"left";case Sys.UI.HAlign.center:return"center";case Sys.UI.HAlign.right:return"right";} return"";},getCookie:function(name){var cookieValue="";var cookie=document.cookie;if(cookie.length>0){var search=name+"=";var offset=cookie.indexOf(search);if(offset!=-1){offset+=search.length;var end=cookie.indexOf(";",offset);if(end==-1)end=cookie.length;cookieValue=unescape(cookie.substring(offset,end));}} return cookieValue;},setCookie:function(name,value,hours){var expire="";if(hours){expire=new Date((new Date()).getTime()+hours*3600000);expire="; expires="+expire.toGMTString();} document.cookie=name+"="+escape(value)+expire+";path=/";},removeCookie:function(name){this.setCookie(name,"",-1);},getSysUIBaseURI:function(){return $getRootURI()+"_Sys/UI/";},getResourceUrl:function(path){return $settings.resourceBaseURI+path;},navigateUrl:function(url,target){var form=document.createElement("form");form.method="POST";if(typeof(target)=="undefined"){target="_blank";} form.action=url;form.target=target;document.body.appendChild(form);form.submit();$removeNode(form);},openLink:function(linkElement){var width=screen.width-12;var height=screen.height-68;if(Sys.Browser.isFirefox||Sys.Browser.isChrome){width+=4;} var options="resizable=1,left=0,top=0,width="+width+",height="+height;var target="_link"+new Date().getTime();linkElement.target=target;window.open(linkElement.href,target,options);return false;},getSenderForm:function(sender){if(Sys.UI.CustomForm.isInstanceOfType(sender)){return sender;} else{if(!Sys.Component.isInstanceOfType(sender)){throw Error.invalidOperation("创建表单的 owner 必须是一个 Component");} return sender.get_form();}},showPage:function Sys$UI$_CommonToolkit$showPage(sender,url,caption,closeFirst,pageTimeout){var thisForm=this.getSenderForm(sender);var mainForm=this.getMainForm(thisForm);if(mainForm!=thisForm){url=thisForm.convertUrl(url);} var params=null;if(typeof(caption)=="object"){params=caption;caption=null;url=this.encodeUrlParams(url,params);} if(closeFirst==SysConsts.TargetBlank){url=this.addUrlTickParam(url);closeFirst=false;} var mainPanel=this._getMainPanel(mainForm);if(closeFirst){mainPanel.closePage(url);} return mainPanel.showPage(url,caption,params,pageTimeout);},addUrlTickParam:function(url){var d1=new Date();var d2=new Date(d1.getFullYear(),d1.getMonth(),d1.getDate());var tick=d1.getTime()-d2.getTime();return this.addUrlParam(url,"__Tick",tick);},showIFrameUrl:function(sender,title,url){var newUrl=this.getSysUIBaseURI()+"IFrame.gspx";newUrl=this.addUrlParam(newUrl,"Title",title);newUrl=this.addUrlParam(newUrl,"Url",url);this.showPage(sender,newUrl);},getMDIPageCount:function(sender){var mainPanel=this._getMainPanelFromSender(sender);return mainPanel.get_pageCount();},getMDIForms:function(sender){var mainPanel=this._getMainPanelFromSender(sender);return mainPanel.get_forms();},closeAllMDIForms:function(sender,onFilter,onEnd){var forms=this.getMDIForms(sender);var count=forms.length;var closeForm=function(){var form=forms[count-1];count--;var needClose=true;if(onFilter){needClose=onFilter(form);} var doClosed=function(){if(count>0){closeForm();} else{forms=null;if(onEnd){onEnd();}}};var doNotifyClose=function(sender,forceClose){if(forceClose){form.close(true);} else{form.remove_closed(doClosed);form.remove_notifyClose(doNotifyClose);}};if(needClose){form.add_closed(doClosed);form.add_notifyClose(doNotifyClose);form.close();} else{doClosed();}};if(count>0){closeForm();}},setActiveMDIForm:function(form){var mainPanel=this._getMainPanelFromSender(form);mainPanel.set_activeForm(form);},_getMainPanelFromSender:function(sender){var thisForm=this.getSenderForm(sender);var mainForm=this.getMainForm(thisForm);return this._getMainPanel(mainForm);},encodeUrlParam:function(param){return param?escape(param).replace(/\+/g,"%2B").replace(/%B7/g,"%u00B7"):param;},addUrlParam:function(url,name,value){url+=url.indexOf('?')>0?'&':'?';url+=name+"="+this.encodeUrlParam(value);return url;},encodeUrlParams:function(url,params){if(params){var params=Sys.Serialization.JavaScriptSerializer.serialize(params);url=this.addUrlParam(url,"__Params",params);} return url;},closePage:function(sender,url){var thisForm=this.getSenderForm(sender);var mainForm=this.getMainForm(thisForm);if(mainForm!=thisForm){url=thisForm.convertUrl(url);} var mainPanel=this._getMainPanel(mainForm);mainPanel.closePage(url);},getMainForm:function(thisForm){if(!thisForm){var forms=Sys.Application.get_forms();if(forms&&forms.length>=1){return forms[0];} throw Error.invalidOperation("找不到主界面");} var mainForm=thisForm;while(true){parentForm=mainForm.get_parentForm();if(parentForm){mainForm=parentForm;} else{break;}} return mainForm;},_getMainPanel:function(mainForm){var mainPanel=mainForm.__mainPanel;if(!mainPanel){throw Error.invalidOperation("没有 SDIPanel 或 MDIPanel 的页面不能用 showPage");} return mainPanel;},getMainPanel:function(thisForm){var mainForm=this.getMainForm(thisForm);return this._getMainPanel(mainForm);},scrollToView:function(contentElement,viewElement){var displayTop=contentElement.offsetTop;var scrollTop=viewElement.scrollTop;if(displayTop<scrollTop){if(displayTop>0)displayTop--;viewElement.scrollTop=displayTop;} else{var displayBottom=contentElement.offsetTop+contentElement.offsetHeight;var viewHeight=viewElement.clientHeight;if(viewHeight>0&&displayBottom>scrollTop+viewHeight){scrollTop=displayBottom-viewHeight+1;viewElement.scrollTop=scrollTop;}}},setEnabled:function(sender,value){if(sender&&sender.set_enabled){sender.set_enabled(value);}},exportXls:function(sender,grid){if(!sender)return;this.setEnabled(sender,false);try{var form=sender.get_form();var dataObj={};dataObj.reportName=form.get_caption();dataObj.masterFields=[];Sys.UI._Exporter.initMasterFields(form,grid,dataObj.masterFields);if(grid){dataObj.detailFields=[];Sys.UI._Exporter.initDetailFields(grid,dataObj.detailFields);var pager=grid.findPager();if(!pager){dataObj.detailData=Sys.UI._Exporter.getGridsData([grid]);} else{dataObj.detailPagerId=grid.get_pagerClientId();}} this._internalExportXls(dataObj);} finally{this.setEnabled(sender,true);}},_internalExportXls:function(dataObj){var dataElement=$get("__exportData");if(!dataElement){var htmlForm=document.createElement("form");htmlForm.method="post";htmlForm.action=$getRootURI()+"_Sys/UI/Report/Export.gspx";htmlForm.target="_blank";dataElement=this.createInput();dataElement.id="__exportData";dataElement.type="hidden";dataElement.name="data";htmlForm.appendChild(dataElement);document.body.appendChild(htmlForm);} dataElement.value=Sys.Serialization.JavaScriptSerializer.serialize(dataObj);dataElement.form.submit();},textToHtml:function(text){return text?text.replace(/</g,"&lt;").replace(/\n/g,"<br>").replace(/\s/g,"&nbsp;"):text;},createShadow:function(){var shadow=$common.createSpan();Sys.UI.DomElement.setOpacity(shadow,10);var style=shadow.style;style.position="absolute";style.visibility="hidden";style.backgroundColor="#808080";return shadow;},alert:function(message){window.alert("【系统提示】\n\n"+message);},checkAlert:function(condition,message){if(condition){this.alert(message);} return condition;},checkError:function(condition,message){if(condition){if(message){throw Error.abort("【系统提示】\n\n"+message);} else{throw Error.abort();}}},confirm:function(message){return window.confirm("【系统提示】\n\n"+message);},_formatNumberWithThousandSeperator:function(value,digits){var str=value.format("n"+digits,true);var pos1=str.length-1;for(var i=pos1;i>0;i--){var ch=str.charAt(i);if(ch!='0'){if(i!=pos1){if(ch!='.'){i++;} str=str.substring(0,i);} break;}} return str;},formatNumber:function(value,decimalDigits,decimalScale,displayThousandSeperator,displayEmptyForZero){if(value==null){return""} else{var str=value.toString();if(typeof(value)=="number"){if(value!=0){if(decimalDigits>0){str=Math.roundTo(value,decimalDigits).format("n"+decimalDigits,displayThousandSeperator);} else if(decimalScale>0){value=Math.roundTo(value,decimalScale);str=displayThousandSeperator?this._formatNumberWithThousandSeperator(value,decimalScale):value.toString();} else if(displayThousandSeperator){str=this._formatNumberWithThousandSeperator(value,8);} var split=str.split(/e/i);if(split.length>1){var digits=parseInt(split[1]);if(digits<0){var left=split[0].replace('.','');str="0."+Sys.StringUtils.repeat('0',digits*-1-1)+left;} else if(digits>0){var left=split[0].split('.');str=left.join("");var len=left.length>1?left[1].length:0;if(len<digits){str+=Sys.StringUtils.repeat('0',digits-len);} else if(len>digits){var left=str.substring(0,digits+1);var right=str.substring(digits+1,str.length);str=left+"."+right;}}}} else if(displayEmptyForZero){str="";}} return str;}},findFocusedGrid:function(form){var focusedControl=form.get_focusedControl();if(focusedControl){if(focusedControl instanceof Sys.UI.Controls.Grid){return focusedControl;} else if(focusedControl.get_column){var column=focusedControl.get_column();return column?column.get_grid():null;}} return null;},setTestState:function(name,value){if(!window.__testing)return;var element=$get("__testState");if(!element){throw Error.invalidOperation("__testState 没有初始化");} if(typeof(value)=="undefined"){value="true";} element.value=element.value+","+name+"="+value;}}
var $common=new Sys.UI._CommonToolkit();Sys.UI._SkinToolkit=function(){}
Sys.UI._SkinToolkit.prototype={addImagesToCache:function(){$common.addImageToCache(this._getLoadingImageSrc());this.addImageToCache("form","captionBg");this.addImageToCache("form","buttonClose");this.addImageToCache("form","smallButtonClose");$common.addImageToCache(this.getBlankImageSrc());},addImageToCache:function(skinProduct,elementName){$common.addImageToCache(this.getImage(skinProduct,elementName).src);},cacheImage:function(skinProduct,elementName){$common.cacheImage(this.getImage(skinProduct,elementName).src);},get_baseURI:function(){return __skinBaseURI+__skinName+"/";},_initImage:function(image,skinProduct){if(!__skinData.baseURI){__skinData.baseURI=this.get_baseURI();} var baseURI=__skinData.baseURI+skinProduct+"/";if(image instanceof Array){for(var i=0;i<image.length;i++){var imageName=image[i];image[i]=baseURI+imageName;}} else{image.src=baseURI+image.imageName;var isVert=image.isVert=!image.layout||image.layout==0;image.size=isVert?image.imageHeight:image.imageWidth;image.width=isVert?image.imageWidth:image.imageWidth*image.imageCount;image.height=isVert?image.imageHeight*image.imageCount:image.imageHeight;} image._initialized=true;},getElement:function(skinProduct,elementName){if(typeof(__skinData)!=="undefined"){var product=__skinData[skinProduct];if(product){var result=product[elementName];if(result){if(result.image&&!result.image._initialized)this._initImage(result.image,skinProduct);if(result.glyph&&!result.glyph._initialized)this._initImage(result.glyph,skinProduct);} return result;}} return null;},getElementImage:function(skinElement){return skinElement?skinElement.image:null;},getImage:function(skinProduct,elementName){var skinElement=this.getElement(skinProduct,elementName);return skinElement?skinElement.image:null;},getImageUrl:function(image){return image?"url('"+image.src+"')":"";},getBlankImageSrc:function(){return __skinBaseURI+"blank.gif";},getLoadingHTML:function(){return this.getWaitingHTML("正在加载");},getUploadingHTML:function(){return this.getWaitingHTML("正在上传");},getWaitingHTML:function(text){return"<img src=\""+this._getLoadingImageSrc()+"\" align=\"absbottom\">"+(text?"&nbsp;"+text+"...":"");},_getLoadingImageSrc:function(){var loadingImage=this.getImage("common","loading");return loadingImage.src;},_getColors:function(){return this.getElement("common","colors");},getControlBackgroundColor:function(){return this._getColors().controlBg;},getWindowBackgroundColor:function(){return this._getColors().windowBg;},getDisabledBackgroundColor:function(){return this._getColors().disabledBg;},getDisabledTextColor:function(){return this._getColors().disabledText;},getControlTextColor:function(){return this._getColors().controlText;},getHighlightTextColor:function(){return this._getColors().highlightText;},getHighlightBackgroundColor:function(){return this._getColors().highlightBg;},getHoverBackgroundColor:function(){return this._getColors().hoverBg;},getHoverTextColor:function(){return this._getColors().hoverText;},getActiveBackgroundColor:function(){return this._getColors().activeBg;},getButtonColors:function(type){var skinElement=this.getElement("common","buttonColors");return skinElement?skinElement[type]:null;},initBorderStyle:function(element){element.className="Border";},getTextWidth:function(text,extraLength){var len=0;if(text){for(var i=0;i<text.length;i++){len+=text.charCodeAt(i)>255?2:1;}} return(len+(extraLength?extraLength:0))*6+2;}}
var $skin=new Sys.UI._SkinToolkit();Sys.UI._Exporter=function(){}
Sys.UI._Exporter.findMasterField=function(masterFields,dataField){for(var i=0,count=masterFields.length;i<count;i++){var field=masterFields[i];if(field.dataField==dataField){return field;}} return null;}
Sys.UI._Exporter.initMasterFields=function(form,grid,masterFields){var controls=form.get_controls();var isFooter=false;for(var i=0,count=controls.length;i<count;i++){var control=controls[i];if(!isFooter&&control==grid){isFooter=true;} if(control&&control.get_visible&&control.get_visible()&&control.get_dataField&&control.get_label&&control.get_reportField&&control.get_text){if(control.get_reportVisible&&!control.get_reportVisible()){continue;} var reportField=control.get_reportField();var dataField=control.get_dataField();var name=control.get_label();if(name){name=name.replace(/&nbsp;/g," ");} if(reportField){name=reportField;} if(name&&!dataField){dataField=name;} if(dataField&&name){var field=Sys.UI._Exporter.findMasterField(masterFields,dataField);if(!field){field=new Object();Array.add(masterFields,field);} field.name=name;field.dataField=dataField;field.value=control.get_reportText?control.get_reportText():control.get_text();field.hasValue=true;field.isFooter=isFooter;}}} if(grid){var columnExpands=grid.get_columnExpands();if(columnExpands){for(var ce=0,ceCount=columnExpands.length;ce<ceCount;ce++){var columnExpand=columnExpands[ce];var reportFields=columnExpand.reportFields;var reportCaptions=columnExpand.captions;if(reportFields&&reportCaptions){for(var i=0,count=reportFields.length;i<count;i++){var reportField=reportFields[i];var reportCaption=reportCaptions[i];if(reportField&&reportCaption){reportField="_"+reportField;var field=Sys.UI._Exporter.findMasterField(masterFields,reportField);if(!field){field=new Object();Array.add(masterFields,field);} field.name=reportField;field.dataField=reportField;field.value=reportCaption;field.hidden=true;}}}}}}}
Sys.UI._Exporter.initColumnExpands=function(grid,dataObj){var columnExpands=grid.get_columnExpands();if(columnExpands){var columnExpandsInfo=null;for(var ce=0,ceCount=columnExpands.length;ce<ceCount;ce++){var columnExpand=columnExpands[ce];var name=columnExpand?columnExpand.name:null;if(name){var band=grid._findBand(name);if(band){var columns=band.columns;if(columns){var expandFields=[];for(var i=0,count=columns.length;i<count;i++){var column=columns[i];var field={};field.caption=column.get_designCaption();Sys.UI._Exporter._initDetailField(column,field);Array.add(expandFields,field);} if(!columnExpandsInfo){columnExpandsInfo={};} columnExpandsInfo[name]=expandFields;}}}} if(columnExpandsInfo){dataObj.columnExpands=columnExpandsInfo;}}}
Sys.UI._Exporter.normalizeReportField=function(name){return name.replace(/(#|@|`|\^|!|~|\*|\/|\\|\|)/g,"_");}
Sys.UI._Exporter.initDetailFields=function(grid,detailFields,initFooter,masterFields){var columnCount=grid.get_columnCount();var dataSizeMap=new Object();for(var i=0;i<columnCount;i++){var column=grid.getColumnByIndex(i);var dataField=column.get_dataField();if(column.get_visible()&&dataField){var dataSize=column.get_dataSize();if(dataSize>0){dataSizeMap[dataField]=dataSize;}}} var fieldMap=new Object();var fieldCount=detailFields.length;for(var i=0;i<fieldCount;i++){var field=detailFields[i];var dataField=field.dataField;fieldMap[dataField]=field;var fieldSize=dataSizeMap[dataField];if(fieldSize>0){field.size=fieldSize;}} var rowNoFieldName="行号";if(grid.get_showRowNo()&&!fieldMap[rowNoFieldName]){var field=new Object();field.name=rowNoFieldName;field.caption=grid.get_rowNoColumnCaption();field.dataField=field.name;field.size=0;field.columnWidth=grid.get_rowNoColumnWidth();field.headerAlign="center";field.textAlign="center";Array.insert(detailFields,0,field);} for(var i=0;i<columnCount;i++){var column=grid.getColumnByIndex(i);var dataField=column.get_dataField();if(column.get_reportVisible()&&dataField){var field=fieldMap[dataField];if(!field){field=new Object();Array.add(detailFields,field);} var reportField=column.get_reportField();field.name=Sys.UI._Exporter.normalizeReportField(reportField);var reportCaption=column.get_reportCaption();if(masterFields){if(field.name!=reportField){var masterField={name:'_'+field.name,value:reportField,hidden:true};Array.add(masterFields,masterField);} else if(field.name!=reportCaption&&!column.get_groupName()){var masterField={name:'_'+field.name,value:reportCaption,hidden:true};Array.add(masterFields,masterField);}} field.caption=reportCaption;field.dataField=dataField;field.size=column.get_dataSize();field.columnWidth=column.get_width();field.headerAlign=column.get_headerAlign();field.textAlign=column.get_textAlign();if(initFooter&&column.get_reportShowFooter()){field.footer=column.get_footer();} Sys.UI._Exporter._initDetailField(column,field);var groupName=column.get_groupName();field.groupName=groupName?groupName:"";}}}
Sys.UI._Exporter._initDetailField=function(column,field){var isNumberColumn=false;if(column instanceof Sys.UI.Controls.PercentColumn){field.columnType="Percent";isNumberColumn=true;} else if(column instanceof Sys.UI.Controls.NumberColumn){field.columnType="Number";isNumberColumn=true;} else if(Sys.UI.Controls.DropDownColumn.isInstanceOfType(column)){field.columnType="DropDown";field.itemData=column.get_itemData();} else if(Sys.UI.Controls.DateColumn.isInstanceOfType(column)){field.columnType="Date";} else if(Sys.UI.Controls.DateTimeColumn.isInstanceOfType(column)){field.columnType="DateTime";} if(isNumberColumn){field.decimalDigits=column.get_decimalDigits();field.decimalScale=column.get_decimalScale();} var replaceText=column.get_replaceText();field.replaceText=replaceText?replaceText:"";}
Sys.UI._Exporter.InitDetailDataEventArgs=function(grid,data){Sys.UI._Exporter.InitDetailDataEventArgs.initializeBase(this);this._grid=grid;this._data=data;}
Sys.UI._Exporter.InitDetailDataEventArgs.prototype={get_grid:function(){return this._grid;},set_grid:function(value){this._grid=value;},get_data:function(){return this._data;},set_data:function(value){this._data=value;}}
Sys.UI._Exporter.InitDetailDataEventArgs.registerClass('Sys.UI._Exporter.InitDetailDataEventArgs',Sys.EventArgs);Sys.UI._Exporter.InitDetailListEventArgs=function(list,detailFields){Sys.UI._Exporter.InitDetailListEventArgs.initializeBase(this);this._list=list;this._detailFields=detailFields;}
Sys.UI._Exporter.InitDetailListEventArgs.prototype={get_list:function(){return this._list;},set_list:function(value){this._list=value;},get_detailFields:function(){return this._detailFields;},clearDetailFields:function(){Array.clear(this._detailFields);},removeDetailField:function(nameOrDataField){var detailFields=this._detailFields;for(var i=0,count=detailFields.length;i<count;i++){var field=detailFields[i];if(field.name==nameOrDataField||field.dataField==nameOrDataField){Array.removeAt(detailFields,i);break;}}},addDetailField:function(name,dataField,visible){var field={name:name,dataField:dataField};if(!visible){field.hidden=true;} Array.add(this._detailFields,field);}}
Sys.UI._Exporter.InitDetailListEventArgs.registerClass('Sys.UI._Exporter.InitDetailListEventArgs',Sys.EventArgs);Sys.UI._Exporter.getGridsData=function(grids,onInitDetailData,onInitDetailList,sender,detailFields){var gridCount=grids.length;var footerToData=gridCount>=2;var recordCountSum=0;for(var i=0;i<gridCount;i++){var grid=grids[i];grid.endEdit();recordCountSum+=grid.get_recordCount();if(footerToData&&grid.get_showFooter()){recordCountSum++;}} var list=new Array(recordCountSum);var isSingleGrid=gridCount==1;var isVisibleFields=null;if(!isSingleGrid){var isHiddenFields={};for(var i=0,count=detailFields.length;i<count;i++){var field=detailFields[i];if(field.hidden){isHiddenFields[field.dataField]=true;}} isVisibleFields={};for(var gridIndex=0;gridIndex<gridCount;gridIndex++){var grid=grids[gridIndex];var columnCount=grid.get_columnCount();for(var j=0;j<columnCount;j++){var column=grid.getColumnByIndex(j);var dataField=column.get_dataField();if(dataField){var visible=column.get_visible();if(!visible&&isHiddenFields[dataField]){isVisibleFields[dataField]=true;} else{if(typeof(isVisibleFields[dataField])=="undefined"){isVisibleFields[dataField]=visible;} else{isVisibleFields[dataField]=isVisibleFields[dataField]&&visible;}}}}}} for(var gridIndex=0,recordIndex=0;gridIndex<gridCount;gridIndex++){var grid=grids[gridIndex];var recordCount=grid.get_recordCount();var columnCount=grid.get_columnCount();for(var i=0;i<recordCount;i++,recordIndex++){var record=new Object();for(var j=0;j<columnCount;j++){var column=grid.getColumnByIndex(j);var dataField=column.get_dataField();if(column.get_reportVisible()&&dataField){var text=column.getCellText(i);if(typeof(text)=="boolean"||Sys.UI.Controls.CheckBoxColumn.isInstanceOfType(column)){text=text?"√":"×";} record[dataField]=text;}} var fullRecord=grid.getRowData(i);for(var dataField in fullRecord){if(typeof(record[dataField])=="undefined"&&(isSingleGrid||isVisibleFields[dataField]||typeof(isVisibleFields[dataField])=="undefined")){record[dataField]=fullRecord[dataField];}} if(onInitDetailData){var eventArgs=new Sys.UI._Exporter.InitDetailDataEventArgs(grid,record);onInitDetailData(sender,eventArgs);record=eventArgs.get_data();} if(onInitDetailList){record.__grid=grid.get_idPart();} list[recordIndex]=record;} if(footerToData&&grid.get_showFooter()){var record=new Object();for(var i=0;i<columnCount;i++){var column=grid.getColumnByIndex(i);var dataField=column.get_dataField();if(column.get_reportVisible()&&dataField){record[dataField]=column.get_footer();}} list[recordIndex]=record;recordIndex++}} if(onInitDetailList){var eventArgs=new Sys.UI._Exporter.InitDetailListEventArgs(list,detailFields);onInitDetailList(sender,eventArgs);var list=eventArgs.get_list();recordCountSum=list.length;} var data=new Object();data.itemCount=recordCountSum;data.itemList=list;return data;}
Type.registerNamespace('Sys.UI.Controls');Sys.UI.Controls.Container=function(element){Sys.UI.Controls.Container.initializeBase(this,[element]);this._requireMouseOver=false;this._requireMouseOut=false;this._requireMouseDown=false;this._requireMouseUp=false;this._requireKeyDown=false;this._requireKeyUp=false;this._requireKeyPress=false;this._requireClick=false;this._requireDblClick=false;this._requireFocus=true;this._requireBlur=true;this._tag=null;this._accessKey=null;this._enabled=true;this._tabOnEnter=true;this._tabIndex=0;this._label=null;this._reportField=null;this._reportVisible=true;this._dataBinding=false;}
Sys.UI.Controls.Container.prototype={initialize:function(){Sys.UI.Controls.Container.callBaseMethod(this,'initialize');if(this._requireMouseOver){this._mouseOverHandler=this.add_mouseOver(this._onMouseOver,this);} if(this._requireMouseOut){this._mouseOutHandler=this.add_mouseOut(this._onMouseOut,this);} if(this._requireMouseDown){this._mouseDownHandler=this.add_mouseDown(this._onMouseDown,this);} if(this._requireMouseUp){this._mouseUpHandler=this.add_mouseUp(this._onMouseUp,this);} if(this._requireKeyDown){this._keyDownHandler=this.add_keyDown(this.doKeyDown,this);} if(this._requireKeyUp){this._keyUpHandler=this.add_keyUp(this.doKeyUp,this);} if(this._requireKeyPress){this._keyPressHandler=this.add_keyPress(this.doKeyPress,this);} var element=this.get_element();if(this._requireFocus){this._focusHandler=$common.addFocusHandler(element,this.doFocus,this);} if(this._requireBlur){this._blurHandler=$common.addBlurHandler(element,this.doBlur,this);} if(this._requireClick){this._clickHandler=$common.addClickHandler(element,this._onClick,this);} if(this._requireDblClick){this._dblClickHandler=$common.addDblClickHandler(element,this._onDblClick,this);}},dispose:function(){this._mouseOverHandler=null;this._mouseOutHandler=null;this._mouseDownHandler=null;this._mouseUpHandler=null;this._clickHandler=null;this._keyDownHandler=null;this._keyUpHandler=null;this._keyPressHandler=null;this._focusHandler=null;this._blurHandler=null;this._dblClickHandler=null;this._mouseEnterHandler=null;this._mouseLeaveHandler=null;if(this._labelClickHandler){var labelElement=this.get_labelElement();$common.removeClickHandler(labelElement,this._labelClickHandler);this._labelClickHandler=null;} Sys.UI.Controls.Container.callBaseMethod(this,'dispose');},get_isDataBinding:function(){return this._dataBinding;},propertiesChanged:function(){},get_tag:function(){return this._tag;},set_tag:function(value){this._tag=value;},get_accessKey:function(){return this._accessKey;},set_accessKey:function(value){this._accessKey=value;},get_enabled:function(){return this._enabled;},set_enabled:function(value){if(this._enabled!=value){this._enabled=value;if(this.get_isInitialized()){this.propertiesChanged();Sys.UI.DomElement.setEnabled(this.get_element(),value);this.doSetEnabled(value);this.raisePropertyChanged('enabled');}}},doSetEnabled:function(enabled){},get_hint:function(){return this.get_element().title;},set_hint:function(value){this.get_element().title=value;},get_textColor:function(){return this.get_element().style.color;},set_textColor:function(value){this.get_element().style.color=value;},get_tabOnEnter:function(){return this._tabOnEnter;},set_tabOnEnter:function(value){this._tabOnEnter=value;},get_tabIndex:function(){return this._tabIndex;},set_tabIndex:function(value){this._tabIndex=value;this.get_element().tabIndex=value;},get_label:function(){return this._label;},set_label:function(value){this._label=value;if(this.get_isInitialized()){var labelElement=this.get_labelElement();if(labelElement){labelElement.innerHTML=value;}}},get_reportField:function(){return this._reportField;},set_reportField:function(value){this._reportField=value;},get_reportVisible:function(){return this._reportVisible;},set_reportVisible:function(value){this._reportVisible=value;},get_labelElement:function(){var id=this.get_id();return id?$get(id+"_label"):null;},set_visible:function(value){var oldValue=this.get_visible();var element=this.get_element();if(oldValue!=value&&element){var isVert=false;var td=element.parentNode;if(td){isVert=td.getAttribute("_vert");if(isVert){var tr=td.parentNode;if(tr&&tr.tagName=="TR"){Sys.UI.DomElement.setVisible(tr,value);}}} var labelElement=this.get_labelElement();if(labelElement){var labelParent=labelElement.parentNode;if(labelParent.tagName=="DIV"){labelParent=labelParent.parentNode;} if(!isVert){this._setLayoutItemTdVisible(labelParent,value);} Sys.UI.DomElement.setVisible(labelElement,value);} if(!isVert){this._setLayoutItemTdVisible(td,value);} Sys.UI.Controls.Container.callBaseMethod(this,'set_visible',[value]);}},_setLayoutItemTdVisible:function(element,visible){if(element&&element.tagName=="TD"){Sys.UI.DomElement.setVisible(element,visible);}},canTabOnEnter:function(){return this.get_tabOnEnter();},canFocus:function(){return this._tabIndex>=0;},focus:function(select){var elt=this.get_element();if(this._getCanFocus(elt)){try{elt.focus();if(typeof(select)=="undefined")select=true;if(select&&elt.select){elt.select();} this._notifyFormFocusControl(this);} catch(e){}}},_getCanFocus:function(e){return e&&e.parentNode&&Sys.UI.DomElement.getVisible(e);},blur:function(){var e=this.get_element();if(this._getCanFocus(e)){e.blur();}},add_mouseOver:function(handler,handlerOwner){return $common.addMouseOverHandler(this.get_element(),handler,handlerOwner);},remove_mouseOver:function(handler){$common.removeMouseOverHandler(this.get_element(),handler);},add_mouseOut:function(handler,handlerOwner){return $common.addMouseOutHandler(this.get_element(),handler,handlerOwner);},remove_mouseOut:function(handler){$common.removeMouseOutHandler(this.get_element(),handler);},add_mouseDown:function(handler,handlerOwner){return $common.addMouseDownHandler(this.get_element(),handler,handlerOwner);},remove_mouseDown:function(handler){$common.removeMouseDownHandler(this.get_element(),handler);},add_mouseUp:function(handler,handlerOwner){return $common.addMouseUpHandler(this.get_element(),handler,handlerOwner);},remove_mouseUp:function(handler){$common.removeMouseUpHandler(this.get_element(),handler);},add_click:function(handler,handlerOwner){return this.get_events().addHandler("_click",handler,handlerOwner);},remove_click:function(handler){this.get_events().removeHandler("_click",handler);},add_keyDown:function(handler,handlerOwner){return $common.addKeyDownHandler(this.get_element(),handler,handlerOwner);},remove_keyDown:function(handler){$common.removeKeyDownHandler(this.get_element(),handler);},add_keyUp:function(handler,handlerOwner){return $common.addKeyUpHandler(this.get_element(),handler,handlerOwner);},remove_keyUp:function(handler){$common.removeKeyUpHandler(this.get_element(),handler);},add_keyPress:function(handler,handlerOwner){return $common.addKeyPressHandler(this.get_element(),handler,handlerOwner);},remove_keyPress:function(handler){$common.removeKeyPressHandler(this.get_element(),handler);},add_focus:function(handler,handlerOwner){return this.get_events().addHandler("_focus",handler,handlerOwner);},remove_focus:function(handler){this.get_events().removeHandler("_focus",handler);},add_blur:function(handler,handlerOwner){return this.get_events().addHandler("_blur",handler,handlerOwner);},remove_blur:function(handler){this.get_events().removeHandler("_blur",handler);},add_dblClick:function(handler,handlerOwner){this._requireDblClick=true;return this.get_events().addHandler("_dblClick",handler,handlerOwner);},remove_dblClick:function(handler){this.get_events().removeHandler("_dblClick",handler);},add_selectStart:function(handler,handlerOwner){return $common.addSelectStartHandler(this.get_element(),handler,handlerOwner);},remove_selectStart:function(handler){$common.removeSelectStartHandler(this.get_element(),handler);},add_contextMenu:function(handler,handlerOwner){return $common.addContextMenuHandler(this.get_element(),handler,handlerOwner);},remove_contextMenu:function(handler){$common.removeContextMenuHandler(this.get_element(),handler);},add_labelClick:function(handler,handlerOwner){if(!this._labelClickHandler){var labelElement=this.get_labelElement();this._labelClickHandler=$common.addClickHandler(labelElement,this._onLabelClick,this);} return this.get_events().addHandler("_labelClick",handler,handlerOwner);},remove_labelClick:function(handler){this.get_events().removeHandler("_labelClick",handler);},_onLabelClick:function(e){var handler=this.get_events().getHandler("_labelClick");if(handler){handler(this);} e.cancel();},_onMouseOver:function(e){if(this.get_enabled()){this.doMouseOver(e);}},_onMouseOut:function(e){if(this.get_enabled()){this.doMouseOut(e);}},doMouseEnter:function(e){},doMouseLeave:function(e){},_onMouseDown:function(e){if(this.get_enabled()){this.doMouseDown(e);}},_onMouseUp:function(e){if(this.get_enabled()){this.doMouseUp(e);}},_onClick:function Sys$UI$Controls$Container$_onClick(e){if(this.get_enabled()){this._checkDoClick(e);}},_onDblClick:function(e){if(this.get_enabled()){this.doDblClick(e);}},doMouseOver:function(e){},doMouseOut:function(e){},doMouseDown:function(e){},doMouseUp:function(e){},click:function(e){if(this.get_enabled()){this._checkDoClick(e);}},_checkDoClick:function(e){if(this.get_id()){var form=this.get_form();if(!form||!form.get_isActive()||form.get_isLoading()){return;}} this.doClick(e);},doClick:function Sys$UI$Controls$Container$doClick(e){if(this.get_isDisposed()){return;} var handler=this.get_events().getHandler("_click");if(handler){if(Sys.Browser.isIE){handler(this,e);} else{try{handler(this,e);} catch(e){window.asyncCall(function(){window._lastError=e;throw e;});}}}},doKeyDown:function Sys$UI$Controls$Container$doKeyDown(e){if(e.keyCode==Sys.UI.Key.enter){this.doEnterPress(e);}},tabOnEnter:function(){if(this.canTabOnEnter()){this.focusNextControl();}},add_enterPress:function(handler){this.get_events().addHandler("enterPress",handler);},remove_enterPress:function(handler){this.get_events().removeHandler("enterPress",handler);},doEnterPress:function Sys$UI$Controls$Container$doEnterPress(e){var result=this.raiseEnterPress(e);if(this.canTabOnEnter()){this.focusNextControl();result=true;} if(result){e.cancel();}},raiseEnterPress:function Sys$UI$Controls$Container$raiseEnterPress(eventArgs){var handler=this.get_events().getHandler("enterPress");if(handler){handler(this,eventArgs);return true;} return false;},doKeyUp:function(e){},doKeyPress:function(e){},_notifyFormFocusControl:function Sys$UI$Controls$Container$_notifyFormFocusControl(control){if(this.get_id()){var form=this.get_form();if(form){form.set_focusedControl(control);}}},doFocus:function Sys$UI$Controls$Container$doFocus(e){if(this.get_isInitialized()){this._notifyFormFocusControl(this);} var handler=this.get_events().getHandler("_focus");if(handler){handler(this,e);}},doBlur:function Sys$UI$Controls$Container$doBlur(e){this._notifyFormFocusControl(null);var handler=this.get_events().getHandler("_blur");if(handler){handler(this,e);}},doDblClick:function(e){var handler=this.get_events().getHandler("_dblClick");if(handler){handler(this,e);}}}
Sys.UI.Controls.Container.registerClass('Sys.UI.Controls.Container',Sys.UI.Control);Sys.UI.Controls.NoFocusContainer=function(element){Sys.UI.Controls.NoFocusContainer.initializeBase(this,[element]);this._requireFocus=false;this._requireBlur=false;}
Sys.UI.Controls.NoFocusContainer.prototype={canFocus:function(){return false;}}
Sys.UI.Controls.NoFocusContainer.registerClass('Sys.UI.Controls.NoFocusContainer',Sys.UI.Controls.Container);Sys.UI.Controls.Label=function(element){Sys.UI.Controls.Label.initializeBase(this,[element]);this._requireClick=true;this._requireDblClick=true;this._dataField=null;this._isMemo=false;this._text=null;}
Sys.UI.Controls.Label.prototype={initialize:function(){Sys.UI.Controls.Label.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls.Label.callBaseMethod(this,'dispose');},get_text:function(){var answer=this._text;return answer?answer:this.get_element().innerHTML;},set_text:function(value){this._text=value;if(this.get_isInitialized()){var html;if(!this._isMemo){html=value!=null?value.toString().replace(/\s/g,"&nbsp;"):"";} else{html=$common.textToHtml(value);} this.get_element().innerHTML=html;}},get_isMemo:function(){return this._isMemo;},set_isMemo:function(value){this._isMemo=value;},get_dataField:function(){return this._dataField;},set_dataField:function(value){this._dataField=value;},dataBind:function(){var dataField=this._dataField;if(dataField){var dataController=this.get_form().get_dataController();var text=dataController.getText(dataField);this.set_text(text);}}}
Sys.UI.Controls.Label.registerClass('Sys.UI.Controls.Label',Sys.UI.Controls.NoFocusContainer);Sys.UI.Controls.Image=function(element){Sys.UI.Controls.Image.initializeBase(this,[element]);this._requireClick=true;this._requireDblClick=true;this._src=null;}
Sys.UI.Controls.Image.prototype={get_src:function(){return this._src;},set_src:function(value){this._src=value;if(this.get_isInitialized()){var src=this.get_form().convertUrl(value);this.get_element().src=src;}},get_url:function(){return this._url;},set_url:function(value){this._url=value;this.set_src($common.getResourceUrl(value));}}
Sys.UI.Controls.Image.registerClass('Sys.UI.Controls.Image',Sys.UI.Controls.NoFocusContainer);Sys.UI.Controls.CustomSkinButton=function(parentElement,skinImage,bounds){this._skinImage=skinImage;var element;if(bounds.x==null){element=$common.createBoundedDiv(bounds.width,bounds.height);} else{element=$common.createPositionedDiv(bounds.x,bounds.y,bounds.width,bounds.height);} element.style.backgroundColor="transparent";element.style.backgroundRepeat="no-repeat";element.style.backgroundImage=$skin.getImageUrl(this._skinImage);if(parentElement){parentElement.appendChild(element);} else{element.style.zIndex=Sys.Application.getActiveFormZIndex();document.body.appendChild(element);this._removeElement=element;} Sys.UI.Controls.CustomSkinButton.initializeBase(this,[element]);this._requireMouseOver=true;this._requireMouseOut=true;this._requireMouseDown=true;this._requireMouseUp=true;this._requireClick=true;this._imageIndex=-1;}
Sys.UI.Controls.CustomSkinButton.prototype={initialize:function(){Sys.UI.Controls.CustomSkinButton.callBaseMethod(this,'initialize');},dispose:function(){if(this._removeElement){$removeNode(this._removeElement);this._removeElement=null;} Sys.UI.Controls.CustomSkinButton.callBaseMethod(this,'dispose');},propertiesChanged:function(){this._setImageIndex(this.get_enabled()?0:3);},_setImageIndex:function(imageIndex){if(this._imageIndex!=imageIndex&&this._skinImage){this._imageIndex=imageIndex;var style=this.get_element().style;var image=this._skinImage;var offset=(-1*image.size*imageIndex)+"px";if(image.isVert){style.backgroundPosition="0px "+offset;} else{style.backgroundPositionX=offset+" 0px";}}},doMouseOver:function(e){this._setImageIndex(1);},doMouseOut:function(e){this.propertiesChanged();},doMouseDown:function(e){this._setImageIndex(2);},doMouseUp:function(e){this.doMouseOver();}}
Sys.UI.Controls.CustomSkinButton.registerClass('Sys.UI.Controls.CustomSkinButton',Sys.UI.Controls.Container);Sys.UI.Controls.CustomEditButton=function(control,imageName){this._control=control;if(!imageName)imageName="comboButton";var skinImage=$skin.getImage("editors",imageName);var edit=control.get_element();var imageWidth=skinImage.imageWidth;var imageHeight=skinImage.imageHeight;if(!edit._buttonElement){var editWidth=edit.offsetWidth;var editHeight=edit.offsetHeight;var isInPlace=control.get_isInPlace();var buttonBorderWidth=isInPlace?0:1;var editPadding;if(!isInPlace){editPadding=2;} else{var currentStyle=Sys.UI.DomElement._getCurrentStyle(edit);editPadding=parseInt(currentStyle.paddingLeft)+parseInt(currentStyle.paddingRight);} var paddingWidth=imageWidth+editPadding+buttonBorderWidth;edit.style.borderRightWidth=0;var editWidth=editWidth-paddingWidth-2-buttonBorderWidth;if(!Sys.Browser.isIE){editWidth+=2;} edit.style.width=editWidth+"px";edit.style.visibility="";var outer=$common.createTable();var body=$common.createTBody();var row=$common.createTr();var td=$common.createTd();edit.parentNode.insertBefore(outer,edit);edit.parentNode.removeChild(edit);td.appendChild(edit);row.appendChild(td);var buttonWidth=imageWidth;var buttonHeight=editHeight-buttonBorderWidth*2;var button=$common.createBoundedDiv(buttonWidth,buttonHeight);if(buttonBorderWidth){button.className="Border";button.style.borderLeftWidth=0;} button.style.backgroundColor=$skin.getControlBackgroundColor();button.style.paddingLeft=2;td=$common.createTd();if(buttonHeight<19&&Sys.Browser.isIE){td.vAlign="top";} td.appendChild(button);row.appendChild(td);body.appendChild(row);outer.appendChild(body);edit._buttonElement=button;edit._outerElement=outer;} var bounds=new Sys.UI.Bounds(null,null,imageWidth,imageHeight);Sys.UI.Controls.CustomEditButton.initializeBase(this,[edit._buttonElement,skinImage,bounds]);}
Sys.UI.Controls.CustomEditButton.getButtonWidth=function(control){var skinImage=$skin.getImage("editors","comboButton");return skinImage.imageWidth+2+(control.get_isInPlace()?0:1);}
Sys.UI.Controls.CustomEditButton.prototype={initialize:function(){Sys.UI.Controls.CustomEditButton.callBaseMethod(this,'initialize');this.propertiesChanged();},dispose:function(){this._control=null;Sys.UI.Controls.CustomEditButton.callBaseMethod(this,'dispose');},get_control:function(){return this._control;},get_owner:function(){return this._control;},get_enabled:function(){return this.get_control().get_enabled();}}
Sys.UI.Controls.CustomEditButton.registerClass('Sys.UI.Controls.CustomEditButton',Sys.UI.Controls.CustomSkinButton);Sys.UI.Controls._FlatButtonFace=function(element){Sys.UI.Controls._FlatButtonFace.initializeBase(this,[element]);this._requireMouseOver=true;this._requireMouseOut=true;this._requireMouseDown=true;this._requireMouseUp=true;this._requireClick=true;this._flat=false;}
Sys.UI.Controls._FlatButtonFace.prototype={initialize:function(){Sys.UI.Controls._FlatButtonFace.callBaseMethod(this,'initialize');if(this.get_flat()){var style=Sys.UI.DomElement._getCurrentStyle(this.get_element());this._paddingLeft=parseInt(style.paddingLeft);this._paddingRight=parseInt(style.paddingRight);this._paddingTop=parseInt(style.paddingTop);this._paddingBottom=parseInt(style.paddingBottom);}},dispose:function(){Sys.UI.Controls._FlatButtonFace.callBaseMethod(this,'dispose');},get_flat:function(){return this._flat;},set_flat:function(value){this._flat=value;},_initNormal:function(){var element=this.get_element();if(!this.get_flat()){if(element.offsetHeight<=21){var skinImage=$skin.getImage("common","buttonBg");$common.setBackgroundImage(element,skinImage,0,"repeat-x");} else{$common.clearBackground(element);}} else{element.style.backgroundImage="";this._initPadding(element,0);Sys.UI.DomElement.removeCssClass(element,"SpeedButtonBorder");}},_initPadding:function(element,offset){var style=element.style;style.paddingLeft=(this._paddingLeft+offset)+"px";style.paddingRight=(this._paddingRight+offset)+"px";style.paddingTop=(this._paddingTop+offset)+"px";style.paddingBottom=(this._paddingBottom+offset)+"px";},_initActive:function(down){var element=this.get_element();if(element.offsetHeight<=21){var skinImage=$skin.getImage("common","activeButtonBg");$common.setBackgroundImage(element,skinImage,down?1:0,"repeat-x");if(this.get_flat()&&!down){this._initPadding(element,-1);Sys.UI.DomElement.addCssClass(element,"SpeedButtonBorder");}} else{var buttonColors=$skin.getButtonColors("active");$common.setBackground(element,buttonColors,down);}}}
Sys.UI.Controls._FlatButtonFace.registerClass('Sys.UI.Controls._FlatButtonFace',Sys.UI.Controls.Container);Sys.UI.Controls.FlatButton=function(element){Sys.UI.Controls.FlatButton.initializeBase(this,[element]);}
Sys.UI.Controls.FlatButton.prototype={initialize:function(){Sys.UI.Controls.FlatButton.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls.FlatButton.callBaseMethod(this,'dispose');},doMouseOver:function(){this._initActive(false);},doMouseOut:function(){this._initNormal();},doMouseDown:function(){this._initActive(true);},doMouseUp:function(){this._initActive(false);}}
Sys.UI.Controls.FlatButton.registerClass('Sys.UI.Controls.FlatButton',Sys.UI.Controls._FlatButtonFace);Sys.UI.Controls.FlatButton.create=function(element,onClick){return $create(Sys.UI.Controls.FlatButton,null,element,{click:onClick});}
Sys.UI.Controls.ButtonKind=function(){throw Error.notImplemented();}
Sys.UI.Controls.ButtonKind.prototype={none:0,ok:1,cancel:2}
Sys.UI.Controls.ButtonKind.registerEnum("Sys.UI.Controls.ButtonKind");Sys.Net.WebRequest.invokeMethod=function(webMethodName,args,owner){if(!webMethodName){throw Error.argumentNull("调用服务方法必须指定 webMethod 属性");} if(!owner){throw Error.argumentNull("owner");} var service=owner.get_form().get_service();if(!service){throw Error.invalidOperation("找不到 "+owner.get_id()+" 的服务");} var webMethod=eval("service."+webMethodName);if(!webMethod){throw Error.invalidOperation("Web方法 "+webMethodName+" 没有定义");} service.set_owner(owner);return webMethod.apply(service,args);}
Sys.UI.Controls.CustomButton=function(element){Sys.UI.Controls.CustomButton.initializeBase(this,[element]);this._buttonKind=Sys.UI.Controls.ButtonKind.none;this._tabOnEnter=false;this._webMethod=null;}
Sys.UI.Controls.CustomButton.prototype={initialize:function(){Sys.UI.Controls.CustomButton.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls.CustomButton.callBaseMethod(this,'dispose');},get_text:function(){var element=this.get_element();return element?element.innerHTML:null;},set_text:function(value){var element=this.get_element();if(element){element.innerHTML=value;}},get_buttonKind:function(){return this._buttonKind;},set_buttonKind:function(value){this._buttonKind=value;},get_webMethod:function(){return this._webMethod;},set_webMethod:function(value){this._webMethod=value;},webCall:function(){Sys.Net.WebRequest.invokeMethod(this._webMethod,arguments,this);},doClick:function Sys$UI$Controls$CustomButton$doClick(e){Sys.UI.Controls.CustomButton.callBaseMethod(this,'doClick',[e]);switch(this._buttonKind){case Sys.UI.Controls.ButtonKind.ok:var form=this.get_form();if(form&&form.doOk){form.doOk();} break;case Sys.UI.Controls.ButtonKind.cancel:var form=this.get_form();if(form&&form.doCancel){form.doCancel();} break;}},doMouseOver:function(){this._initActive(false);},doMouseOut:function(){this._initNormal();},doMouseDown:function(){this._initActive(true);},doMouseUp:function(){this._initActive(false);}}
Sys.UI.Controls.CustomButton.registerClass('Sys.UI.Controls.CustomButton',Sys.UI.Controls._FlatButtonFace);Sys.UI.Controls.Button=function(element){Sys.UI.Controls.Button.initializeBase(this,[element]);this._cancel=false;this._shortcut=0;}
Sys.UI.Controls.Button.prototype={get_cancel:function(){return this._cancel;},set_cancel:function(value){this._cancel=value;},get_shortcut:function(){return this._shortcut;},set_shortcut:function(value){this._shortcut=value;},get_width:function(){return this.get_element().offsetWidth;},set_width:function(value){$common.setWidth(this.get_element(),value);},doFormInit:function(form){var accessKey=this.get_accessKey();if(accessKey>0){form.addHotkey({keyCode:accessKey,altKey:true},this.focusThenClick,this);} if(this.get_cancel()){form.addHotkey({keyCode:Sys.UI.Key.esc},this.focusThenClick,this);} var shortcut=this.get_shortcut();if(shortcut>0){form.addShortcut(shortcut,this.focusThenClick,this);}},focusThenClick:function Sys$UI$Controls$Button$focusThenClick(){this.focus();this.click();}}
Sys.UI.Controls.Button.registerClass('Sys.UI.Controls.Button',Sys.UI.Controls.CustomButton);Sys.UI.Controls.Hotkey=function(){Sys.UI.Controls.Hotkey.initializeBase(this);this._shortcut=0;}
Sys.UI.Controls.Hotkey.prototype={initialize:function(){Sys.UI.Controls.Hotkey.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls.Hotkey.callBaseMethod(this,'dispose');},doFormInit:function(form){form.addShortcut(this.get_shortcut(),this._doExecute,this);},get_shortcut:function(){return this._shortcut;},set_shortcut:function(value){this._shortcut=value;},add_execute:function(handler){this.get_events().addHandler("execute",handler);},remove_execute:function(handler){this.get_events().removeHandler("execute",handler);},_doExecute:function(eventArgs){var form=this.get_form();if(!form.get_enabled()||!form.get_isActive())return;var handler=this.get_events().getHandler("execute");if(handler){handler(this,eventArgs);}}}
Sys.UI.Controls.Hotkey.registerClass('Sys.UI.Controls.Hotkey',Sys.Component);Sys.UI.Controls.ImageButton=function(element){Sys.UI.Controls.ImageButton.initializeBase(this,[element]);this._imageSrc=null;this._imageUrl=null;this._hoverImageUrl=null;}
Sys.UI.Controls.ImageButton.prototype={doFormInit:function(form){$common.addImageToCache(this._hoverImageUrl);},_initNormal:function(){if(this._hoverImageUrl){this._setSrc(this._imageUrl);} else{$common.clearBackground(this.get_element());}},_initActive:function(down){if(this._hoverImageUrl){this._setSrc(this._hoverImageUrl);} else{var buttonColors=$skin.getButtonColors("active");$common.setBackground(this.get_element(),buttonColors,down);}},_setSrc:function(src){this.get_element().src=src;},get_imageSrc:function(){return this._imageSrc;},set_imageSrc:function(value){this._imageSrc=value;if(this.get_isInitialized()){this._setSrc(value);}},get_imageUrl:function(){return this._imageUrl;},set_imageUrl:function(value){this._imageUrl=value;},get_hoverImageUrl:function(){return this._hoverImageUrl;},set_hoverImageUrl:function(value){this._hoverImageUrl=value;}}
Sys.UI.Controls.ImageButton.registerClass('Sys.UI.Controls.ImageButton',Sys.UI.Controls.CustomButton);Sys.UI.Controls.ValueType=function(){throw Error.notImplemented();}
Sys.UI.Controls.ValueType.prototype={_default:0,string:1,number:2,_boolean:3,date:4}
Sys.UI.Controls.ValueType.registerEnum("Sys.UI.Controls.ValueType");Sys.UI.Controls.CustomEdit=function(element){Sys.UI.Controls.CustomEdit.initializeBase(this,[element]);this._requireMouseUp=true;this._requireKeyUp=true;this._requireKeyDown=true;this._isInPlace=false;this._disableChangeHandler=false;this._changeHandler=null;this._buttons=[];this._caretPos=-1;this._dataField=null;this._nullDisplayText=null;this._valueType=Sys.UI.Controls.ValueType._default;this._maxLength=0;this._allowTags=false;this._filterChars=null;this._buttonsInitialized=false;this._instantValidationEnabled=true;}
Sys.UI.Controls.CustomEdit.prototype={initialize:function(){Sys.UI.Controls.CustomEdit.callBaseMethod(this,'initialize');var element=this.get_element();if(element.tagName!="DIV"&&!this._disableChangeHandler){this._changeHandler=$common.addChangeHandler(element,this.doChange,this);} if(this.get_visible()){this.initButtons();this._buttonsInitialized=true;} if(!this.get_enabled()){this.doSetEnabled(false);} this._handleNullDisplayText();},dispose:function(){if(this._buttons){for(var i=this._buttons.length-1;i>=0;i--){this._buttons[i].dispose();} delete this._buttons;} this._changeHandler=null;Sys.UI.Controls.CustomEdit.callBaseMethod(this,'dispose');},get_outerElement:function(){return this.get_element()._outerElement;},set_visible:function(value){Sys.UI.Controls.CustomEdit.callBaseMethod(this,'set_visible',[value]);if(value&&!this._buttonsInitialized){this._buttonsInitialized=true;this.initButtons();}},get_isInPlace:function(){return this._isInPlace;},set_isInPlace:function(value){this._isInPlace=value;},get_owner:function(){return this.column?this.column.get_grid():null;},get_column:function(){return this.column;},selectAll:function(){this.get_element().select();},focusNext:function(){if(this.column){this.column.focusNextCell();} else{this.tabOnEnter();}},addButton:function(button){button.initialize();this._buttons[this._buttons.length]=button;},initButtons:function(){},add_dataBind:function(handler){this.get_events().addHandler("dataBind",handler);},remove_dataBind:function(handler){this.get_events().removeHandler("dataBind",handler);},doDataBind:function(){var handler=this.get_events().getHandler("dataBind");if(handler){handler(this);}},dataBind:function(){var dataField=this._dataField;if(dataField){var dataController=this.get_form().get_dataController();var value=dataController.getValue(dataField);this.set_value(value);var displayField=this._displayField;if(displayField){var text=dataController.getText(displayField);this.set_text(text);} this.doDataBind();}},revalidate:function(){if(!this.get_id())return;var validationManager=this.get_form().get_validationManager();if(validationManager.checkResultsVisible(this)){var value=this.get_value();this._validate(value);validationManager.showResults(true);}},doSaveData:function(ignoreValidation){var dataField=this._dataField;if(dataField){var dataController=this.get_form().get_dataController();var useDefaultValue=ignoreValidation;var value=this.get_value(useDefaultValue);var valueType=this._valueType;if(valueType!=Sys.UI.Controls.ValueType._default){value=this.convertType(value,valueType);} dataController.setValue(dataField,value);if(!ignoreValidation){this._validate(value);}}},convertType:function(value,valueType){var valueType=this._valueType;return valueType!=Sys.UI.Controls.ValueType._default?this.doConvertType(value,valueType):value;},doConvertType:function(value,valueType){return value;},_validate:function(value){var validationManager=this.get_form().get_validationManager();var lbl=this.get_label();if(!lbl)lbl=this.get_reportField();validationManager.validate(this._dataField,value,lbl,null,this);},get_value:function(){return this.get_text();},set_value:function(value){this.set_text(value!=null?value:"");},get_editValue:function(){return this.get_value();},get_elementValue:function(){return this.get_element().value;},set_elementValue:function(value){this.get_element().value=value;},get_text:function(){var result=this.get_element().value;if(result){result=result.trim();} if(this._instantValidationEnabled){this._checkCharsValid(result);} if(result){var nullDisplayText=this._nullDisplayText;if(!nullDisplayText){if(this.needEncodeTags()&&!this.get_allowTags()){result=result.replace(/</g,"&lt;");result=result.replace(/>/g,"&gt;");} return result;} else{return result==nullDisplayText?"":result;}} else{return"";}},set_text:function(value){if(value&&this.needEncodeTags()&&!this.get_allowTags()){value=value.toString();value=value.replace(/&lt;/g,"<");value=value.replace(/&gt;/g,">");} this.get_element().value=value;},get_valueType:function(){return this._valueType;},set_valueType:function(value){this._valueType=value;},get_readOnly:function(){return this.get_element().readOnly;},set_readOnly:function(value){this.get_element().readOnly=value;},get_dataField:function(){return this._dataField;},set_dataField:function(value){this._dataField=value;},get_nullDisplayText:function(){return this._nullDisplayText;},set_nullDisplayText:function(value){this._nullDisplayText=value;},get_maxLength:function(){return this._maxLength;},set_maxLength:function(value){if(value>0){this._maxLength=value;this.get_element().maxLength=value;}},get_allowTags:function(){return this._allowTags;},set_allowTags:function(value){this._allowTags=value;},needEncodeTags:function(){return false;},needFilterChars:function(){return false;},add_change:function(handler,handlerOwner){this.get_events().addHandler("_change",handler,handlerOwner);},remove_change:function(handler){this.get_events().removeHandler("_change",handler);},doChange:function(e){var handler=this.get_events().getHandler("_change");if(handler){handler(this,e);} this._changeRaised=true;if(this.get_dataField()){var form=this.get_form(true);if(form){form.doChange();}} this.revalidate();},get_isTextEdit:function(){var type=this.get_element().type;return type=="text"||type=="password";},doFocus:function(e){this._handleActivate(true);Sys.UI.Controls.CustomEdit.callBaseMethod(this,'doFocus',[e]);this._textChecked=false;var nullDisplayText=this._nullDisplayText;if(nullDisplayText){var value=this.get_value();if(!value){this.set_text("");} this.get_element().style.color=this._oldTextColor;} this._changeNotified=false;var savedInstantValidationEnabled=this._instantValidationEnabled;this._instantValidationEnabled=false;try{this._oldValue=this.get_value();} finally{this._instantValidationEnabled=savedInstantValidationEnabled;}},doSetEnabled:function(enabled){if(!this.get_isTextEdit())return;var normalColor=$skin.getControlBackgroundColor();var disabledColor=$skin.getDisabledBackgroundColor();this._setBgColor(enabled?normalColor:disabledColor);if(this._buttons){for(var i=0,count=this._buttons.length;i<count;i++){this._buttons[i].propertiesChanged();}}},_handleActivate:function(active){if(!this.get_isTextEdit())return;var activeColor=$skin.getActiveBackgroundColor();var normalColor=$skin.getControlBackgroundColor();this._setBgColor(active?activeColor:normalColor);},_setBgColor:function(bgColor){var element=this.get_element();element.style.backgroundColor=bgColor;var buttonElement=element._buttonElement;if(buttonElement){buttonElement.style.backgroundColor=bgColor;}},doInstantValidate:function(){this.get_text();},_nonInPlaceValidate:function(){if(!this.get_isInPlace()){this.doInstantValidate();}},doEnterPress:function Sys$UI$Controls$CustomEdit$doEnterPress(e){this._nonInPlaceValidate();Sys.UI.Controls.CustomEdit.callBaseMethod(this,'doEnterPress',[e]);},notifyChanged:function(){this._changeNotified=true;},_checkRaiseChange:function(){if(!this.get_isTextEdit())return;var newValue=this.get_value();if(!this._changeRaised&&(newValue!=this._oldValue||this._changeNotified)){this._changeNotified=false;this.doChange();} this._changeRaised=false;},doFormClose:function(){this._checkRaiseChange();},doBlur:function(e){this._handleActivate(false);if(!this._textChecked){this._nonInPlaceValidate();} this._checkRaiseChange();this._handleNullDisplayText();Sys.UI.Controls.CustomEdit.callBaseMethod(this,'doBlur',[e]);},get_filterChars:function(){return this._filterChars||$settings.editFilterChars;},set_filterChars:function(value){this._filterChars=value;},_checkCharsValid:function(text){if(this.needFilterChars()&&!this.get_readOnly()&&this.get_enabled()){this._textChecked=true;var error=this.doValidateText(text);var form=this.findForm();if(form){if(error){form.errorAbort(error,this);} else{form.clearErrors(this);}}}},doValidateText:function(text){var filterChars=this.get_filterChars();if(text&&filterChars){for(var i=0,len=text.length;i<len;i++){var ch=text.charAt(i);if(filterChars.indexOf(ch)>=0){return"输入的文字中含有本系统所不允许的非法字符“"+ch+"”！\n请重新输入或换用别的字符代替。";}}} return null;},_handleNullDisplayText:function(){var nullDisplayText=this._nullDisplayText;if(nullDisplayText){var style=this.get_element().style;this._oldTextColor=style.color;var value=this.get_value();if(!value){this.set_text(nullDisplayText);style.color="gray";}}},get_selectionText:function(){return $common.getSelectionText(this.get_element());},get_caretPos:function(){if(this._caretPos<0)this._saveCaretPos();return this._caretPos;},set_caretPos:function(value){$common.setCaretPosition(this.get_element(),value);},_saveCaretPos:function(){this._caretPos=$common.getCaretPosition(this.get_element());},doKeyUp:function(e){Sys.UI.Controls.CustomEdit.callBaseMethod(this,'doKeyUp',[e]);this._saveCaretPos();},doMouseUp:function(e){Sys.UI.Controls.CustomEdit.callBaseMethod(this,'doMouseUp',[e]);this._saveCaretPos();},disableIme:function(){var element=this.get_element();if(element){element.style.imeMode="disabled";}}}
Sys.UI.Controls.CustomEdit.registerClass('Sys.UI.Controls.CustomEdit',Sys.UI.Controls.Container);Sys.UI.Controls.NumberType=function(){throw Error.notImplemented();}
Sys.UI.Controls.NumberType.prototype={_float:0,positiveFloat:1,_int:2,positiveInt:3}
Sys.UI.Controls.NumberType.registerEnum("Sys.UI.Controls.NumberType");Sys.UI.Controls.NumberEdit=function(element){Sys.UI.Controls.NumberEdit.initializeBase(this,[element]);this._requireKeyDown=true;this._requireKeyPress=true;this._numberType=Sys.UI.Controls.NumberType._float;this._decimalDigits=0;this._decimalPrecision=0;this._decimalScale=0;this._minValue=null;this._maxValue=null;this._replaceText=null;}
Sys.UI.Controls.NumberEdit.prototype={initialize:function(){Sys.UI.Controls.NumberEdit.callBaseMethod(this,'initialize');$common.addPasteHandler(this.get_element(),this._doPaste,this);this.disableIme();var precision=this.get_decimalPrecision();if(precision>0){var maxLength=precision+1;var numberType=this.get_numberType();if(numberType==Sys.UI.Controls.NumberType._float||numberType==Sys.UI.Controls.NumberType._int){maxLength++;} this.set_maxLength(maxLength);}},dispose:function(){Sys.UI.Controls.NumberEdit.callBaseMethod(this,'dispose');},get_value:function(useDefaultValue){if(this._replaceText){return this._value;} return this.doGetValue(useDefaultValue);},doGetValue:function(useDefaultValue){var text=this.get_text();if(this._bindReadOnlyString){return text;} var defaultValue=useDefaultValue?0:null;if(text){var oldText=text;text=this._trimNumber(text);var value=text?parseFloat(text):defaultValue;if(value==0){text="0";} if(this.get_decimalDigits()>0){text=this._formatValue(value);value=parseFloat(text);} else if(value!=null){var numberType=this.get_numberType();if(numberType==Sys.UI.Controls.NumberType._int||numberType==Sys.UI.Controls.NumberType.positiveInt){text=value.toString();}} if(text!=oldText){this.set_text(text);this.set_caretPos(0);this.notifyChanged();} return value;} else{var min=this.get_minValue();if(min!=null&&defaultValue==null){defaultValue=min;this.set_text(min);} return defaultValue;}},_trimNumber:function(text){var answer="";var numberType=this.get_numberType();var hasDot=false;for(var i=0;i<text.length;i++){var ch=text.charAt(i);var isValid=false;if(ch>='0'&&ch<='9'){isValid=true;} else if(ch=='-'){isValid=(numberType==Sys.UI.Controls.NumberType._float||numberType==Sys.UI.Controls.NumberType._int)&&(i==0);if(!isValid&&i==0&&text.length>=2){return"";}} else if(ch=='.'){isValid=(numberType==Sys.UI.Controls.NumberType._float||numberType==Sys.UI.Controls.NumberType.positiveFloat)&&(!hasDot);hasDot=true;} if(isValid){answer+=ch;}} if(answer){if(answer=='-'||answer=="-."){answer+='0';} else if(answer=='.'){answer='0';} else{var integerDigits=this.get_integerDigits();var textChanged=this._savedText!=text;if(integerDigits>0&textChanged){var parts=answer.split('.');if(parts[0].length>0&&parts[0].charAt(0)=='-')integerDigits++;if(parts[0].length>integerDigits){parts[0]=parts[0].substr(0,integerDigits);parts[1]="";} else if(parts[0].length==0){parts[0]=0;} var decimalScale=this.get_decimalScale();if(decimalScale>0&&parts.length>=2&&parts[1].length>decimalScale){parts[1]=parts[1].substr(0,decimalScale);} answer=parts.join('.');}}} return answer;},set_value:function(value){var text;var replaceText=this._replaceText;if(replaceText){text=replaceText;this._value=value;} else{text=this._formatValue(value);this._bindReadOnlyString=typeof(value)=="string"&&this.get_readOnly();} this._savedText=text;this.set_text(text);},_formatValue:function(value){return $common.formatNumber(value,this.get_decimalDigits(),this.get_decimalScale());},get_numberType:function(){return this._numberType;},set_numberType:function(value){this._numberType=value;},get_decimalDigits:function(){return this._decimalDigits;},set_decimalDigits:function(value){this._decimalDigits=value;},get_decimalPrecision:function(){return this._decimalPrecision;},set_decimalPrecision:function(value){this._decimalPrecision=value;},get_decimalScale:function(){return this._decimalScale;},set_decimalScale:function(value){this._decimalScale=value;},get_maxValue:function(){return this._maxValue;},set_maxValue:function(value){this._maxValue=value;},get_minValue:function(){return this._minValue;},set_minValue:function(value){this._minValue=value;},get_replaceText:function(){return this._replaceText;},set_replaceText:function(value){if(this.get_isInitialized()&&this._replaceText!=value){if(value){this._value=this.get_value();} this._replaceText=value;this.set_value(this._value);} else{this._replaceText=value;}},get_integerDigits:function(){var decimalPrecision=this.get_decimalPrecision();var decimalScale=this.get_decimalScale();return(decimalPrecision>0&&decimalScale>0&&decimalPrecision>decimalScale)?decimalPrecision-decimalScale:0;},doChange:function(e){var value=this.get_value();if(this.get_replaceText()&&!this.get_readOnly()){value=this._value=this.doGetValue();} var max=this.get_maxValue();var min=this.get_minValue();if(max!=null&&max!=min&&value>max){this.set_value(max);} else if(min!=null&&min!=max&&value<min){this.set_value(min);} Sys.UI.Controls.NumberEdit.callBaseMethod(this,'doChange',[e]);},doBlur:function(e){Sys.UI.Controls.NumberEdit.callBaseMethod(this,'doBlur',[e]);},_doPaste:function(e){var text=window.clipboardData.getData("Text");if(text){var canPaste=false;var n=parseFloat(text);if(!isNaN(n)){if(text.indexOf('.')>=0||text.indexOf('-')>=0){if(this._isValidNumber(text)){this.set_text(text);}} else{canPaste=this._canInputNewDigit(text.length);}} if(!canPaste){e.cancel();}}},_isValidNumber:function(text){var result=true;var precision=this.get_decimalPrecision();if(precision>0){var scale=this.get_decimalScale();precision-=scale;var len=text.length;var pos=text.indexOf('.');if(pos<0){result=len<=precision;} else{var leftLen=pos;var rightLen=len-pos-1;result=leftLen<=precision&&rightLen<=scale;}} return result;},doKeyDown:function(e){if(e.keyCode==Sys.UI.Key.ime){e.cancel();} else{Sys.UI.Controls.NumberEdit.callBaseMethod(this,'doKeyDown',[e]);}},_canInputNewDigit:function(addTextLen){var result=true;var precision=this.get_decimalPrecision();if(precision>0){var scale=this.get_decimalScale();precision-=scale;var text=this.get_text();var len=text.length;var pos=text.indexOf(".");var caretPos=this.get_caretPos();if(pos<0||caretPos<=pos){var leftLen=pos>=0?pos:len;if(text.charAt(0)=='-')leftLen--;result=leftLen+addTextLen<=precision;} else if(pos>=0&&caretPos>pos&&scale>0){var rightLen=len-pos-1;result=rightLen+addTextLen<=scale;}} return result;},doKeyPress:function(e){var c=e.charCode;var result=true;if(c>=32){var numberType=this.get_numberType();var caretPos=this.get_caretPos();var selectionText=$common.getSelectionText(this.get_element());var selectionTextLen=selectionText.length;var isAllSelected=selectionTextLen==this.get_text().length;if(c>=48&&c<=57){result=true;if(!isAllSelected){result=this._canInputNewDigit(1-selectionTextLen);}} else if(c==45){result=(numberType==Sys.UI.Controls.NumberType._float||numberType==Sys.UI.Controls.NumberType._int)&&(isAllSelected||caretPos==0);} else if(c==46){var pos=this.get_text().indexOf(".");result=(numberType==Sys.UI.Controls.NumberType._float||numberType==Sys.UI.Controls.NumberType.positiveFloat)&&(pos<0);} else{result=false;}} if(!result){e.preventDefault();} else{Sys.UI.Controls.NumberEdit.callBaseMethod(this,'doKeyPress',[e]);}}}
Sys.UI.Controls.NumberEdit.registerClass('Sys.UI.Controls.NumberEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.CustomTextEdit=function(element){Sys.UI.Controls.CustomTextEdit.initializeBase(this,[element]);this._maxByteLength=0;}
Sys.UI.Controls.CustomTextEdit.prototype={initialize:function(){var needEvents=this._maxByteLength>0;if(needEvents){this._requireKeyPress=true;} Sys.UI.Controls.CustomTextEdit.callBaseMethod(this,'initialize');if(needEvents){$common.addPasteHandler(this.get_element(),this._doPaste,this);}},get_maxByteLength:function(){return this._maxByteLength;},set_maxByteLength:function(value){this._maxByteLength=value;},doKeyDown:function(e){var result=true;var maxByteLength=this._maxByteLength;var value=this.get_elementValue().trim();if(value==""){this.set_elementValue(value);} if(maxByteLength>0&&e.keyCode==Sys.UI.Key.ime){var len=this._getByteLength();if(len+2>maxByteLength){result=false;}} if(!result)e.preventDefault();else Sys.UI.Controls.CustomTextEdit.callBaseMethod(this,'doKeyDown',[e]);},doKeyPress:function(e){var result=true;var maxByteLength=this._maxByteLength;if(maxByteLength>0){var len=this._getByteLength();var charLen=e.charCode>127?2:1;if(len+charLen>maxByteLength){result=false;}} if(!result)e.preventDefault();else Sys.UI.Controls.CustomTextEdit.callBaseMethod(this,'doKeyPress',[e]);},doValidateText:function(text){var error=Sys.UI.Controls.CustomTextEdit.callBaseMethod(this,'doValidateText',[text]);if(error)return error;var maxByteLength=this._maxByteLength;if(maxByteLength>0){var len=String.getByteLength(text);if(len>maxByteLength){return"输入内容的长度（"+len+"）超过了 "+maxByteLength+" 个字符（一个汉字算两个字符）";}} return null;},_doPaste:function(e){var text=window.clipboardData.getData("Text");if(text){var newLen=this._getByteLength()+String.getByteLength(text);if(newLen>this._maxByteLength){e.cancel();}}},_getByteLength:function(){var selectionText=this.get_selectionText();return String.getByteLength(this.get_elementValue())-String.getByteLength(selectionText);},needFilterChars:function(){return true;},needEncodeTags:function(){return true;}}
Sys.UI.Controls.CustomTextEdit.registerClass('Sys.UI.Controls.CustomTextEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.TextEdit=function(element){Sys.UI.Controls.TextEdit.initializeBase(this,[element]);}
Sys.UI.Controls.TextEdit.prototype={initialize:function(){Sys.UI.Controls.TextEdit.callBaseMethod(this,'initialize');}}
Sys.UI.Controls.TextEdit.registerClass('Sys.UI.Controls.TextEdit',Sys.UI.Controls.CustomTextEdit);Sys.UI.Controls.PasswordEdit=function(element){Sys.UI.Controls.PasswordEdit.initializeBase(this,[element]);}
Sys.UI.Controls.PasswordEdit.prototype={needFilterChars:function(){return true;},needEncodeTags:function(){return true;}}
Sys.UI.Controls.PasswordEdit.registerClass('Sys.UI.Controls.PasswordEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.HiddenField=function(element){Sys.UI.Controls.HiddenField.initializeBase(this,[element]);this._value=null;}
Sys.UI.Controls.HiddenField.prototype={canFocus:function(){return false;},get_visible:function(){return true;},get_value:function(){return this._value;},set_value:function(value){this._value=value;}}
Sys.UI.Controls.HiddenField.registerClass('Sys.UI.Controls.HiddenField',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.TextLabel=function(element){Sys.UI.Controls.TextLabel.initializeBase(this,[element]);}
Sys.UI.Controls.TextLabel.prototype={canFocus:function(){return false;},get_isTextEdit:function(){return false;}}
Sys.UI.Controls.TextLabel.registerClass('Sys.UI.Controls.TextLabel',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.FileEdit=function(element){Sys.UI.Controls.FileEdit.initializeBase(this,[element]);}
Sys.UI.Controls.FileEdit.prototype={getInputAction:function(){return"上传";}}
Sys.UI.Controls.FileEdit.registerClass('Sys.UI.Controls.FileEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.FileUpload=function(element){Sys.UI.Controls.FileUpload.initializeBase(this,[element]);this._webMethodPath=null;this._frame=null;this._timeout=10*60;this._callerControl=null;}
Sys.UI.Controls.FileUpload.prototype={initialize:function(){Sys.UI.Controls.FileUpload.callBaseMethod(this,'initialize');},dispose:function(){if(this._frame){$clearHandlers(this._frame);this._frame=null;} Sys.UI.Controls.FileUpload.callBaseMethod(this,'dispose');},get_webMethodPath:function(){return this._webMethodPath;},set_webMethodPath:function(value){this._webMethodPath=value;},get_timeout:function(){return this._timeout;},set_timeout:function(value){this._timeout=value;},_setControlEnabled:function(enabled){if(!enabled){$common.showUploading();} else{$common.hideWaiting();} var control=this._callerControl;if(control&&control.set_enabled){window.asyncCall(function(){control.set_enabled(enabled)});}},_internalSubmit:function(callerControl,onSuccess){this._callerControl=callerControl;this._onSuccess=onSuccess;var form=this.get_form();var data=form.saveData();var htmlForm=this.get_element();for(var i=0;i<htmlForm.elements.length;i++){var element=htmlForm.elements[i];var control=element.control;if(control&&Sys.UI.Controls.FileEdit.isInstanceOfType(control)){var dataField=control.get_dataField();delete data[dataField];}} htmlForm.setAttribute("action",this._webMethodPath);var dataField=htmlForm._dataField;dataField.value=Sys.Serialization.JavaScriptSerializer.serialize(data);if(!this._frame){this._frame=$get(htmlForm.target);$addHandler(this._frame,"load",Function.createDelegate(this,this._succeeded));} this._setControlEnabled(false);this._clearTimer();if(this._timeout>0){this._timer=window.setTimeout(Function.createDelegate(this,function(){this._fail("上传超时 ("+this._timeout+"秒)");}),this._timeout*1000);} try{this._uploading=true;htmlForm.submit();} catch(e){var message=e.message?e.message+"请输入正确的文件名":e+"上传失败";this._fail(message);}},_clearTimer:function(){if(this._timer){window.clearTimeout(this._timer);this._timer=null;}},_succeeded:function(e){if(!this._uploading)return;this._uploading=false;this._setControlEnabled(true);this._clearTimer();var elt=this._frame;var doc;var error=null;if(elt.contentWindow){try{doc=elt.contentWindow.document;} catch(ex){error=ex;}} else if(elt.contentDocument){doc=elt.contentDocument;} else{doc=window.frames[elt.id].document;} if(error){this._doFail("上传失败"+(error.message?"，"+error.message:"。")+"请检查网络连接和服务器是否正常！");} else if(!doc.location.href){this._doFail();} else{var data=doc.body.innerHTML;var result=data?Sys.Serialization.JavaScriptSerializer.deserialize(data):null;if(result==null){this._doFail(data);} else{if(result.ExceptionType){this._doFail(result.Message);} else{this._onSuccess?this._onSuccess(this._callerControl,result):alert(result);}}}},_fail:function(message){this._doFail(message);this._setControlEnabled(true);},_doFail:function(message){this._uploading=false;if(message=="Maximum request length exceeded."||message=="超过了最大请求长度。"){message="文件大小超过了系统允许的范围。"} $common.alert(message?message:"上传失败");}}
Sys.UI.Controls.FileUpload.registerClass('Sys.UI.Controls.FileUpload',Sys.UI.Control);Sys.UI.Controls.FileUpload.submit=function(callerControl,onSuccess){var htmlForm=callerControl.get_element().form;if(!htmlForm){throw Error.invalidOperation("提交按钮必须放在 FileUpload 标签内");} var fileUpload=htmlForm.control;if(!fileUpload){throw Error.invalidOperation(htmlForm.outerHTML+" 没有对应的 FileUpload 标签");} fileUpload._internalSubmit(callerControl,onSuccess);}
Sys.UI.Controls.MemoEdit=function(element){Sys.UI.Controls.MemoEdit.initializeBase(this,[element]);this._tabOnEnter=false;this._isPercentWidth=false;}
Sys.UI.Controls.MemoEdit.prototype={initialize:function(){Sys.UI.Controls.MemoEdit.callBaseMethod(this,'initialize');if(this._isPercentWidth&&this.get_visible()){var element=this.get_element();var width=element.offsetWidth-4;if(Sys.Browser.isIE){width-=15;} element.style.width=width+"px";}},dispose:function(){Sys.UI.Controls.MemoEdit.callBaseMethod(this,'dispose');},get_isPercentWidth:function(){return this._isPercentWidth;},set_isPercentWidth:function(value){this._isPercentWidth=value;}}
Sys.UI.Controls.MemoEdit.registerClass('Sys.UI.Controls.MemoEdit',Sys.UI.Controls.CustomTextEdit);Sys.UI.Controls._CheckBox=function(element){Sys.UI.Controls._CheckBox.initializeBase(this,[element]);this._requireClick=true;this._requireKeyUp=false;this._requireMouseUp=false;this._checked=false;}
Sys.UI.Controls._CheckBox.prototype={initialize:function(){Sys.UI.Controls._CheckBox.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls._CheckBox.callBaseMethod(this,'dispose');},get_value:function(){return this.get_checked();},set_value:function(value){if(value=="0"){value=false;} this.set_checked(value);},get_text:function(){var labelElement=this.get_labelElement();return labelElement?labelElement.innerHTML:"";},set_text:function(value){if(this.get_isInitialized()){var labelElement=this.get_labelElement();if(labelElement){labelElement.innerHTML=value;}}},get_reportText:function(){return this.get_checked()?"√":"×";},get_checked:function(){var element=this.get_element();return element?element.checked:this._checked;},set_checked:function(value){this._checked=value;var element=this.get_element();if(element)element.checked=value;}}
Sys.UI.Controls._CheckBox.registerClass('Sys.UI.Controls._CheckBox',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.CheckBox=function(element){Sys.UI.Controls.CheckBox.initializeBase(this,[element]);this._disableChangeHandler=true;}
Sys.UI.Controls.CheckBox.prototype={get_readOnly:function(){return!this.get_enabled();},set_readOnly:function(value){this.set_enabled(!value);},doClick:function(e){Sys.UI.Controls.CheckBox.callBaseMethod(this,'doClick',[e]);this.doChange();},_changeChecked:function(value){this.set_checked(value);this.doChange();}}
Sys.UI.Controls.CheckBox.registerClass('Sys.UI.Controls.CheckBox',Sys.UI.Controls._CheckBox);Sys.UI.Controls.RadioButton=function(element){Sys.UI.Controls.RadioButton.initializeBase(this,[element]);}
Sys.UI.Controls.RadioButton.prototype={}
Sys.UI.Controls.RadioButton.registerClass('Sys.UI.Controls.RadioButton',Sys.UI.Controls._CheckBox);Sys.UI.Controls._ComboButton=function(control){Sys.UI.Controls._ComboButton.initializeBase(this,[control,"comboButton"]);}
Sys.UI.Controls._ComboButton.prototype={doMouseUp:function(e){Sys.UI.Controls._ComboButton.callBaseMethod(this,'doMouseUp',[e]);var control=this.get_control();control.toggleDroppedDown();control.focus();},doMouseDown:function(e){Sys.UI.Controls._ComboButton.callBaseMethod(this,'doMouseDown',[e]);if(!Sys.Browser.isIE){e.preventDefault();}},doClick:function(e){Sys.UI.Controls._ComboButton.callBaseMethod(this,'doClick',[e]);e.stopPropagation();}}
Sys.UI.Controls._ComboButton.registerClass('Sys.UI.Controls._ComboButton',Sys.UI.Controls.CustomEditButton);Sys.UI.Controls.CustomDropDownEdit=function(element){Sys.UI.Controls.CustomDropDownEdit.initializeBase(this,[element]);this._popupWindow=null;}
Sys.UI.Controls.CustomDropDownEdit.prototype={initialize:function(){Sys.UI.Controls.CustomDropDownEdit.callBaseMethod(this,'initialize');this._documentClickHandler=Function.createDelegate(this,this._documentClick);this._windowResizeHandler=Function.createDelegate(this,this._doWindowResize);},dispose:function(){this.disposePopupWindow();this._documentClickHandler=null;this._windowResizeHandler=null;Sys.UI.Controls.CustomDropDownEdit.callBaseMethod(this,'dispose');},disposePopupWindow:function(){var popupWindow=this._popupWindow;if(popupWindow){this.doDisposePopupWindow(popupWindow);$clearHandlers(popupWindow);$removeNode(popupWindow);this._popupWindow=null;}},doDisposePopupWindow:function(popupWindow){},initButtons:function(){this.addButton(new Sys.UI.Controls._ComboButton(this));},get_droppedDown:function(){return this._popupWindow!=null&&this._popupWindow.style.visibility=="visible";},set_droppedDown:function(value){if(this.get_droppedDown()!=value){if(value)this.dropDown();else this.closeUp();}},toggleDroppedDown:function(){if(!this.get_droppedDown()){this.dropDown();} else{this.closeUp();}},add_dropDown:function(handler){this.get_events().addHandler("dropDown",handler);},remove_dropDown:function(handler){this.get_events().removeHandler("dropDown",handler);},dropDown:function(){if(!this.canDropDown())return;var handler=this.get_events().getHandler("dropDown");if(handler){handler(this);} if(!this._popupWindow){this._popupWindow=this.createPopupWindow();document.body.appendChild(this._popupWindow);this.doInitPopup();} else{this.doInitPopup();} this._popupWindow.style.visibility="visible";$common.addClickHandler(window.document,this._documentClickHandler);$common.addResizeHandler(window,this._windowResizeHandler);this._hasDocumentClickHandler=true;},_documentClick:function(e){this.closeUp();},_doWindowResize:function(e){this.doInitPopup();},closeUp:function(){if(this._popupWindow){this._popupWindow.style.visibility="hidden";if(this._hasDocumentClickHandler){$common.removeClickHandler(window.document,this._documentClickHandler);$common.removeResizeHandler(window,this._windowResizeHandler);this._hasDocumentClickHandler=false;}}},canDropDown:function(){return!this.get_readOnly();},createPopupWindow:function(){return null;},doInitPopup:function(){this._initPopupWindowPosition();},_initPopupWindowPosition:function(){var r=this.get_bounds();var popupWindow=this._popupWindow;var p=$common.calcPopupPosition(r.x,r.y+r.height,popupWindow.offsetWidth,popupWindow.offsetHeight,r.width+Sys.UI.Controls.CustomEditButton.getButtonWidth(this),r.height);popupWindow.style.left=p.x+"px";popupWindow.style.top=p.y+"px";},_canBlur:function(activeElement){if(!activeElement)return true;var element=this.get_element();var elt=activeElement;do{var control=elt.control;if((control&&(control._edit==element||control._control==this))||elt._edit==element)return false;elt=elt.parentNode;} while(elt);return true;},doBlur:function(e){Sys.UI.Controls.CustomDropDownEdit.callBaseMethod(this,'doBlur',[e]);var canBlur=this._canBlur(document.activeElement);if(canBlur){this.closeUp();}},doFormDeactivate:function Sys$UI$Controls$CustomDropDownEdit$doFormDeactivate(){this.closeUp();}}
Sys.UI.Controls.CustomDropDownEdit.registerClass('Sys.UI.Controls.CustomDropDownEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.DropDownStyle=function(){throw Error.notImplemented();}
Sys.UI.Controls.DropDownStyle.prototype={dropDown:0,dropDownList:1,dropDownEdit:2}
Sys.UI.Controls.DropDownStyle.registerEnum("Sys.UI.Controls.DropDownStyle");Sys.UI.Controls.DropDownEdit=function(element){Sys.UI.Controls.DropDownEdit.initializeBase(this,[element]);this._requireDblClick=true;this._requireKeyDown=true;this._rows=null;this._selectedIndex=-1;this._moveItemIndex=-1;this._items=new Array();this._dataValueField=null;this._dataTextField=null;this._dropDownRows=10;this._dropDownStyle=Sys.UI.Controls.DropDownStyle.dropDown;}
Sys.UI.Controls.DropDownEdit.prototype={initialize:function(){Sys.UI.Controls.DropDownEdit.callBaseMethod(this,'initialize');$common.addPasteHandler(this.get_element(),this._doPaste,this);if(this._dropDownStyle==Sys.UI.Controls.DropDownStyle.dropDownList){this.add_contextMenu(this._doContextMenu,this);}},dispose:function(){if(this._rows){delete this._rows;} Sys.UI.Controls.DropDownEdit.callBaseMethod(this,'dispose');},get_items:function(){return this._items;},set_items:function(value){if(!value)value=[];this._items=value;if(value&&typeof(value.length)=="undefined"){throw Error.argumentOutOfRange("value",value,"不支持的下拉列表数据类型");} if(this.get_isInitialized()){this.disposePopupWindow();}},get_itemCount:function(){return this.get_items().length;},get_dataValueField:function(){return this._dataValueField;},set_dataValueField:function(value){this._dataValueField=value;},get_dataTextField:function(){return this._dataTextField;},set_dataTextField:function(value){this._dataTextField=value;},get_dropDownRows:function(){return this._dropDownRows;},set_dropDownRows:function(value){this._dropDownRows=value;},get_dropDownStyle:function(){return this._dropDownStyle;},set_dropDownStyle:function(value){this._dropDownStyle=value;},canDropDown:function(){return true;},_doPaste:function(e){if(!this._getAllowHandInput()){e.cancel();}},_doContextMenu:function(e){if(this._dropDownStyle==Sys.UI.Controls.DropDownStyle.dropDownList){e.cancel();}},_setRowSelected:function Sys$UI$Controls$DropDownEdit$_setRowSelected(row,selected){if(this.get_readOnly()){row.style.backgroundColor=$skin.getDisabledBackgroundColor();row.style.color=$skin.getDisabledTextColor();} else if(selected){row.style.backgroundColor=$skin.getHighlightBackgroundColor();row.style.color=$skin.getHighlightTextColor();if(this._getIsScrolling()){$common.scrollToView(row,this._popupWindow);}} else{row.style.backgroundColor=$skin.getWindowBackgroundColor();row.style.color=$skin.getControlTextColor();}},_setMoveItemIndex:function Sys$UI$Controls$DropDownEdit$_setMoveItemIndex(value){if(this._moveItemIndex!=value){if(this._moveItemIndex>=0){this._setRowSelected(this._rows[this._moveItemIndex],false);} this._moveItemIndex=value;this._setRowSelected(this._rows[this._moveItemIndex],true);}},_incMoveItemIndex:function(value){var newMoveItemIndex=this._moveItemIndex+value;if(newMoveItemIndex<0){newMoveItemIndex=0;} else if(newMoveItemIndex>this._rows.length-1){newMoveItemIndex=this._rows.length-1;} this._setMoveItemIndex(newMoveItemIndex);},_getItemValue:function(index){var item=this._items[index];if(typeof(item)==="object"){return this._dataValueField?item[this._dataValueField]:item;} else{return item;}},_getItemText:function(index){var item=this._items[index];return typeof(item)==="object"?item[this._dataTextField]:item;},_getAllowHandInput:function(){return this._dropDownStyle==Sys.UI.Controls.DropDownStyle.dropDownEdit;},get_value:function(){var index=this._selectedIndex;if(this._getAllowHandInput()){return this.get_text();} if(index<0){return null;} else{var value=this._getItemValue(index);return value==null?index:value;}},set_value:function(value){var index=Sys.UI.Controls.DropDownEdit.getItemIndexByValue(this._items,this.get_dataValueField(),value);this.set_selectedIndex(index);},get_selectedIndex:function(){return this._selectedIndex;},set_selectedIndex:function(value){this._selectedIndex=value;if(value>=0){this.set_text(this._getItemText(value));} else{this.set_text("");}},get_selectedItem:function(){return this.get_items()[this.get_selectedIndex()];},_changeSelectedIndex:function(value){if(this.get_readOnly())return;var oldValue=this._selectedIndex;this.set_selectedIndex(value);if(value!=oldValue){this.selectAll();this.doChange();}},_doSelectMoveItem:function(){this.closeUp();this._changeSelectedIndex(this._moveItemIndex);},_getIsScrolling:function(){var dropDownRows=this.get_dropDownRows();return(dropDownRows>0)&&(this.get_itemCount()>dropDownRows);},_getItemHeight:function(){return 20;},doDisposePopupWindow:function(popupWindow){var table=popupWindow.firstChild;if(table){$clearHandlers(table);}},createPopupWindow:function Sys$UI$Controls$DropDownEdit$createPopupWindow(){var element=this.get_element();var r=Sys.UI.DomElement.getBounds(element._outerElement);var width=r.width;var items=this.get_items();var itemCount=this.get_itemCount();var dropDownRows=this.get_dropDownRows();var isScroll=this._getIsScrolling();var displayRows=isScroll?dropDownRows:itemCount;var height=displayRows*this._getItemHeight()+1;var popupDiv=$common.createDiv();$common.initPopupElement(popupDiv,true,true);var contentWidth=width-2;$common.setBounds(popupDiv,width-2,height);if(isScroll){popupDiv.style.overflow="auto";contentWidth-=18;} var table=$common.createPopupTable(1,2);$common.setWidth(table,contentWidth);var body=$common.createTBody();this._rows=new Array(itemCount);for(var i=0;i<itemCount;i++){var row=$common.createTr();var itemCell=$common.createTd();var cellText=$common.createDiv();cellText.style.position="relative";cellText.style.top="1px";cellText.innerHTML=$common.textToHtml(this._getItemText(i));itemCell.appendChild(cellText);row.appendChild(itemCell);body.appendChild(row);this._rows[i]=row;} table.appendChild(body);$common.addMouseOverHandler(table,this.doRowMouseOver,this);$common.addMouseDownHandler(table,this.doRowMouseDown,this);$common.addMouseUpHandler(table,this.doRowMouseUp,this);popupDiv.appendChild(table);popupDiv._edit=element;return popupDiv;},doInitPopup:function(){Sys.UI.Controls.DropDownEdit.callBaseMethod(this,'doInitPopup');this._moveItemIndex=this._selectedIndex;var rowCount=this._rows.length;if(this._moveItemIndex<0&&rowCount>0){this._moveItemIndex=0;} for(var i=0;i<rowCount;i++){this._setRowSelected(this._rows[i],(i==this._moveItemIndex));}},doFocus:function(e){Sys.UI.Controls.DropDownEdit.callBaseMethod(this,'doFocus',[e]);this.selectAll();},doDblClick:function(e){Sys.UI.Controls.DropDownEdit.callBaseMethod(this,'doDblClick',[e]);this.toggleDroppedDown();},doKeyDown:function Sys$UI$Controls$DropDownEdit$doKeyDown(e){var result=false;var k=e.keyCode;var droppedDown=this.get_droppedDown();var itemCount=this.get_items().length;var selectOnly=!this._getAllowHandInput();switch(k){case Sys.UI.Key.up:if(droppedDown){if(e.altKey){this.closeUp();} else{this._incMoveItemIndex(-1);}} else{if(this._selectedIndex>0){this._changeSelectedIndex(this._selectedIndex-1);}} result=true;break;case Sys.UI.Key.down:if(droppedDown){this._incMoveItemIndex(1);} else if(e.altKey){this.dropDown();} else{if(this._selectedIndex<itemCount-1){this._changeSelectedIndex(this._selectedIndex+1);}} result=true;break;case Sys.UI.Key.pageUp:if(droppedDown){this._incMoveItemIndex(-5);} break;case Sys.UI.Key.pageDown:if(droppedDown){this._incMoveItemIndex(5);} break;case Sys.UI.Key.home:if(droppedDown&&itemCount>0){this._setMoveItemIndex(0);} break;case Sys.UI.Key.end:if(droppedDown&&itemCount>0){this._setMoveItemIndex(itemCount-1);} break;case Sys.UI.Key.enter:if(droppedDown){this._doSelectMoveItem();} result=false;break;case Sys.UI.Key.esc:this.closeUp();break;case Sys.UI.Key.backspace:case Sys.UI.Key.del:if(this._dropDownStyle==Sys.UI.Controls.DropDownStyle.dropDown&&this._selectedIndex>=0){this.closeUp();this._changeSelectedIndex(-1);} result=selectOnly;break;case Sys.UI.Key.space:if(selectOnly||this.get_caretPos()==0){this.toggleDroppedDown();result=true;} break;case Sys.UI.Key.left:case Sys.UI.Key.right:case Sys.UI.Key.tab:result=false;break;default:if(!e.altKey&&!e.ctrlKey&&(k!=16)&&!(k>=Sys.UI.Key.f1&&k<=Sys.UI.Key.f12)){result=selectOnly;if(itemCount>0){if(selectOnly&&!droppedDown){this.dropDown();droppedDown=true;} if(droppedDown){var ch=String.fromCharCode(k);if((ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9')){var index=this._findItemByFirstChar(ch);if(index>=0){this._setMoveItemIndex(index);if(!selectOnly){result=true;}}}}}} else if(this._dropDownStyle==Sys.UI.Controls.DropDownStyle.dropDownList){result=e.ctrlKey&&String.fromCharCode(k)=='X';} break;} if(result){e.cancel();} else{Sys.UI.Controls.DropDownEdit.callBaseMethod(this,'doKeyDown',[e]);}},_findItemByFirstChar:function(ch){var items=this.get_items();var count=items.length;ch=ch.toLowerCase();for(var i=0;i<count;i++){var code=Sys.StringUtils.getFirstPinyinCode(this._getItemText(i));if(code.indexOf(ch)>=0){return i;}} return-1;},_findRow:function Sys$UI$Controls$DropDownEdit$_findRow(e){var element=e.target;if(element.tagName=="DIV"){element=element.parentNode;} if(element.tagName=="TD"){element=element.parentNode;} return element.tagName=="TR"?element:null;},doRowMouseOver:function Sys$UI$Controls$DropDownEdit$doRowMouseOver(e){var row=this._findRow(e);if(row){var index=Array.indexOf(this._rows,row);if(index>=0){this._setMoveItemIndex(index);}}},doRowMouseDown:function(e){e.cancel();},doRowMouseUp:function(e){this._doSelectMoveItem();e.stopPropagation();},getInputAction:function(){return"选择";}}
Sys.UI.Controls.DropDownEdit.registerClass('Sys.UI.Controls.DropDownEdit',Sys.UI.Controls.CustomDropDownEdit);Sys.UI.Controls.DropDownEdit.getItemIndexByValue=function(items,dataValueField,value){if(!items||value==null)return-1;var _isEqual=function(item){if(dataValueField){return item[dataValueField]==value;} else{for(var propName in value){return item[propName]==value[propName];} return false;}};var count=items.length;for(var i=0;i<count;i++){var item=items[i];if(_isEqual(item)){return i;}} return-1;}
Sys.UI.Controls.DropDownEdit.getItemTextByValue=function(items,dataValueField,dataTextField,value){var index=Sys.UI.Controls.DropDownEdit.getItemIndexByValue(items,dataValueField,value);return index>=0?items[index][dataTextField]:"";}
Sys.UI.Controls._CalendarPopup=function(edit,isInPlace){Sys.UI.Controls._CalendarPopup.initializeBase(this);this._edit=edit;this._isInPlace=isInPlace;this.mtPrev=-1;this.mtCurr=0;this.mtNext=1;this._dayCells=null;this._yearLabel=null;this._monthLabel=null;this._monthYearButton=null;this._todayButton=null;this._prevMonthArrow=null;this._nextMonthArrow=null;this._prevYearArrow=null;this._nextYearArrow=null;this._date=null;this._year=-1;this._month=-1;this._day=-1;this._prevMonth=-1;this._nextMonth=-1;this._prevYear=-1;this._nextYear=-1;this._startDay=-1;this._dayIndex=-1;this._moveDayIndex=-1;}
Sys.UI.Controls._CalendarPopup.prototype={initialize:function(){Sys.UI.Controls._CalendarPopup.callBaseMethod(this,'initialize');this._todayButtonElement=null;},dispose:function(){this._todayButtonElement=null;if(this._dateTable){$clearHandlers(this._dateTable);this._dateTable=null;this._dayCells=null;} $clearHandlers(this._prevMonthArrow);this._prevMonthArrow=null;$clearHandlers(this._nextMonthArrow);this._nextMonthArrow=null;$clearHandlers(this._prevYearArrow);this._prevYearArrow=null;$clearHandlers(this._nextYearArrow);this._nextYearArrow=null;if(this._monthYearButton){this._monthYearButton.dispose();this._monthYearButton=null;} if(this._todayButton){this._todayButton.dispose();this._todayButton=null;} this._yearLabel=null;this._monthLabel=null;this._date=null;Sys.UI.Controls._CalendarPopup.callBaseMethod(this,'dispose');},get_date:function(){var value=this._edit.control.get_editValue();if(typeof(value)=="number"){var d=new Date();d.setDate(d.getDate()+value);return d;} else return value;},set_date:function(value){var control=this._edit.control;control.set_value(value);if(control.closeUp){control.closeUp();} control.doChange();},doInitDate:function(){var date=this.get_date();if(!date)date=new Date();this.changeDate(date.getFullYear(),date.getMonth(),date.getDate());},_addLine:function(tableBody){var linwRow=$common.createTr();var lineCell=$common.createTd();lineCell.colSpan=7;var line=$common.createDiv();var style=line.style;style.width="100%";style.height="0px";style.fontSize=style.lineHeight="0px";style.borderBottom="1px solid gray";lineCell.appendChild(line);linwRow.appendChild(lineCell);tableBody.appendChild(linwRow);},_popupAddElement:function(popupBody,element,align){var row=$common.createTr();var cell=$common.createTd();cell.align=align;cell.appendChild(element);row.appendChild(cell);popupBody.appendChild(row);},_addArrow:function(div,isLeft,onMouseDown){var arrow=document.createElement("span");if(Sys.Browser.isIE){arrow.style.fontFamily="webdings";arrow.style.fontSize="11pt";arrow.innerHTML=isLeft?"3":"4";} else{arrow.style.fontSize="12px";arrow.innerHTML=isLeft?"&#9668":"&#9658;";} this._setArrowSelected(arrow,false);$common.addMouseOverHandler(arrow,this.doArrowMouseOver,this);$common.addMouseOutHandler(arrow,this.doArrowMouseOut,this);$common.addMouseDownHandler(arrow,onMouseDown,this);div.appendChild(arrow);return arrow;},_setArrowSelected:function(arrow,selected){arrow.style.color=selected?$skin.getHighlightBackgroundColor():$skin.getControlTextColor();},_createMonthYear:function(){var span=document.createElement("span");span.style.marginLeft="3px";span.style.marginRight="3px";return span;},render:function Sys$UI$Controls$_CalendarPopup$render(){var dateTable=this._dateTable=$common.createPopupTable(0,2);dateTable.style.border="1px solid "+$skin.getWindowBackgroundColor();var dateTableBody=$common.createTBody();dateTable.appendChild(dateTableBody);var dtf=Sys.CultureInfo.CurrentCulture.dateTimeFormat;var weekDayRow=$common.createTr();for(var i=0;i<7;i++){var weekDayCell=$common.createTd();weekDayCell.style.textAlign="right";weekDayCell.style.width="17px";weekDayCell.innerHTML=dtf.ShortestDayNames[i];weekDayRow.appendChild(weekDayCell);} dateTableBody.appendChild(weekDayRow);this._addLine(dateTableBody);var dayIndex=0;this._dayCells=new Array(42);for(var i=0;i<6;i++){var daysRow=$common.createTr();for(var j=0;j<7;j++){var dayCell=$common.createTd();dayCell.style.textAlign="right";this._dayCells[dayIndex]=dayCell;daysRow.appendChild(dayCell);dayIndex++;} dateTableBody.appendChild(daysRow);} $common.addMouseOverHandler(dateTable,this.doDayCellMouseOver,this);$common.addMouseUpHandler(dateTable,this.doDayCellMouseUp,this);if(!this._isInPlace){this._addLine(dateTableBody);} var popup=$common.createPopupTable(0,1);if(!this._isInPlace){$common.initPopupElement(popup,true,false);} var popupBody=$common.createTBody();popup.appendChild(popupBody);var div=$common.createGlyphDiv();div.className="FlatButton";div.style.width="183px";div.style.height="16px";div.style.paddingTop=2;this._prevMonthArrow=this._addArrow(div,true,this.doPrevMonthMouseDown);this._monthLabel=this._createMonthYear();div.appendChild(this._monthLabel);this._nextMonthArrow=this._addArrow(div,false,this.doNextMonthMouseDown);var space=document.createElement("span");space.style.marginLeft="22px";div.appendChild(space);this._prevYearArrow=this._addArrow(div,true,this.doPrevYearMouseDown);this._yearLabel=this._createMonthYear();div.appendChild(this._yearLabel);this._nextYearArrow=this._addArrow(div,false,this.doNextYearMouseDown);this._popupAddElement(popupBody,div,"center");this._monthYearElement=div;this._popupAddElement(popupBody,dateTable,"center");if(!this._isInPlace){var button=this._todayButtonElement=$common.createFlatButton(46,21,"今天 ");var div=$common.createDiv();div.style.width="65px";div.style.paddingBottom="1px";div.style.textAlign="left";div.appendChild(button);this._popupAddElement(popupBody,div,"right");this._todayButton=Sys.UI.Controls.FlatButton.create(this._todayButtonElement,Function.createDelegate(this,this.doTodayButtonClick));this._todayButton.set_hint(Date.dateToStr(new Date()));} $common.addMouseDownHandler(popup,this.onPopupMouseDown);$common.addClickHandler(popup,this.onPopupClick);this._monthYearButton=new Sys.UI.Controls._FlatButtonFace(this._monthYearElement);this._monthYearButton.initialize();popup.control=this;return popup;},onPopupMouseDown:function(e){e.cancel();},onPopupClick:function(e){e.cancel();},changeDate:function(year,month,day){if(this._year==year&&this._month==month&&(!day||this._day==day))return;if(this._year!=year||this._month!=month||this._isInPlace){this._year=year;this._month=month;this._yearLabel.innerHTML=year;var dtf=Sys.CultureInfo.CurrentCulture.dateTimeFormat;var monthName=dtf.AbbreviatedMonthNames[month];if(monthName.length==2)monthName="&nbsp;"+monthName+"&nbsp;";this._monthLabel.innerHTML=monthName;if(month==0){this._prevMonth=11;this._prevYear=year-1;} else{this._prevMonth=month-1;this._prevYear=year;} if(month==11){this._nextMonth=0;this._nextYear=year+1;} else{this._nextMonth=month+1;this._nextYear=year;} this._startDay=(new Date(year,month,1)).getDay();if(this._startDay==0)this._startDay=7;var currMonthDays=this._getMonthDays(this._year,this._month);var prevMonthDays=this._getMonthDays(this._prevYear,this._prevMonth);var nextMonthDays=this._getMonthDays(this._nextYear,this._nextMonth);var startDay=prevMonthDays-this._startDay+1;var endDay=42-currMonthDays-this._startDay;var dayIndex=0;for(var i=startDay;i<=prevMonthDays;i++){this._initDayCell(dayIndex,this.mtPrev,i,false);dayIndex++;} var today=this._isInPlace?this.get_date():new Date();var isTodayMonth=today.getFullYear()==this._year&&today.getMonth()==this._month;var todayDay=today.getDate();for(var i=1;i<=currMonthDays;i++){this._initDayCell(dayIndex,this.mtCurr,i,(isTodayMonth&&todayDay==i));dayIndex++;} for(var i=1;i<=endDay;i++){this._initDayCell(dayIndex,this.mtNext,i,false);dayIndex++;}} if(day){this._day=day;} this._setMoveDayIndex(this._day+this._startDay-1);},_initDayCell:function(dayIndex,monthType,day,isToday){var dayCell=this._dayCells[dayIndex];dayCell._monthType=monthType;dayCell._day=day;dayCell.innerHTML=day;dayCell.style.fontWeight=isToday?"bold":"";this._setDayCellSelected(dayCell,false);},_getMonthDays:function(year,month){var days=new Array(31,28,31,30,31,30,31,31,30,31,30,31);d=days[month];if(month==1&&(year%4==0&&year%100!=0||year%400==0))d++;return d;},_findDayCellIndex:function(e){var target=e.target;var dayCell=target.tagName=="TD"?target:null;if(dayCell){return Array.indexOf(this._dayCells,dayCell);} return-1;},doDayCellMouseOver:function(e){var index=this._findDayCellIndex(e);if(index>=0){this._setMoveDayIndex(index);}},doSelectDayCell:function(dayCell){var year,month;if(dayCell._monthType==this.mtPrev){year=this._prevYear;month=this._prevMonth;} else if(dayCell._monthType==this.mtNext){year=this._nextYear;month=this._nextMonth;} else{year=this._year;month=this._month;} var day=dayCell._day;this.set_date(new Date(year,month,day));},doSelectCurrDayCell:function(){if(this._moveDayIndex>=0){this.doSelectDayCell(this._dayCells[this._moveDayIndex]);}},doPrevDay:function(){this._moveDay(this._moveDayIndex-1);},doNextDay:function(){this._moveDay(this._moveDayIndex+1);},doPrevWeek:function(){if(this._moveDayIndex<7){var day=this._getMonthDays(this._prevYear,this._prevMonth)+this._day-7;this.changeDate(this._prevYear,this._prevMonth,day);} else{this._moveDay(this._moveDayIndex-7);}},doNextWeek:function(){if(this._moveDayIndex>34){var day=7-(this._getMonthDays(this._year,this._month)-this._day);this.changeDate(this._nextYear,this._nextMonth,day);} else{this._moveDay(this._moveDayIndex+7);}},_moveDay:function(dayIndex){if(dayIndex<0){dayIndex=0;} else if(dayIndex>=this._dayCells.length){dayIndex=this._dayCells.length-1;} var dayCell=this._dayCells[dayIndex];if(dayCell._monthType==this.mtCurr){this._setMoveDayIndex(dayIndex);this._day=dayCell._day;} else{var year,month,day;if(dayCell._monthType==this.mtPrev){year=this._prevYear;month=this._prevMonth;day=this._getMonthDays(year,month)-this._startDay+dayIndex+1;} else if(dayCell._monthType==this.mtNext){year=this._nextYear;month=this._nextMonth;day=dayIndex-this._getMonthDays(this._year,this._month)-this._startDay+1;} this.changeDate(year,month,day);}},doDayCellMouseUp:function(e){var index=this._findDayCellIndex(e);if(index>=0){this.doSelectDayCell(this._dayCells[index]);} e.stopPropagation();},_setMoveDayIndex:function(value){if(this._moveDayIndex!=value){if(this._moveDayIndex>=0){this._setDayCellSelected(this._dayCells[this._moveDayIndex],false);} this._moveDayIndex=value;this._setDayCellSelected(this._dayCells[this._moveDayIndex],true);}},_setDayCellSelected:function(dayCell,selected){if(selected){dayCell.style.backgroundColor=$skin.getHighlightBackgroundColor();dayCell.style.color=$skin.getHighlightTextColor();} else{dayCell.style.backgroundColor=$skin.getWindowBackgroundColor();if(dayCell._monthType==this.mtCurr){dayCell.style.color=$skin.getControlTextColor();} else{dayCell.style.color="gray";}}},doPrevMonth:function(){this.changeDate(this._prevYear,this._prevMonth);},doNextMonth:function(){this.changeDate(this._nextYear,this._nextMonth);},doMonthFirstDay:function(){this._setMoveDayIndex(this._startDay);},doMonthLastDay:function(){this._setMoveDayIndex(this._startDay+this._getMonthDays(this._year,this._month)-1);},doArrowMouseOver:function(e){this._setArrowSelected(e.target,true);},doArrowMouseOut:function(e){this._setArrowSelected(e.target,false);},doPrevMonthMouseDown:function(e){this.doPrevMonth();},doNextMonthMouseDown:function(e){this.doNextMonth();},doPrevYearMouseDown:function(e){this.changeDate(this._year-1,this._month);},doNextYearMouseDown:function(e){this.changeDate(this._year+1,this._month);},doTodayButtonClick:function(e){this.set_date(new Date());}}
Sys.UI.Controls._CalendarPopup.registerClass('Sys.UI.Controls._CalendarPopup',Sys.Component);Sys.UI.Controls.Calendar=function(element){Sys.UI.Controls.Calendar.initializeBase(this,[element]);this._date=null;this._internalCalendar=null;}
Sys.UI.Controls.Calendar.prototype={initialize:function(){Sys.UI.Controls.Calendar.callBaseMethod(this,'initialize');var element=this.get_element();var calendar=this._internalCalendar=new Sys.UI.Controls._CalendarPopup(element,true);calendar.initialize();var calenderElement=calendar.render();element.appendChild(calenderElement);calendar.doInitDate();},dispose:function(){if(this._internalCalendar){this._internalCalendar.dispose();this._internalCalendar=null;} Sys.UI.Controls.Calendar.callBaseMethod(this,'dispose');},get_value:function(){return this.get_date();},set_value:function(value){this.set_date(value)},get_text:function(){return Date.dateToStr(this.get_date());},set_text:function(value){this.set_date(Date.strToDate(value));},get_date:function(){var date=this._date;return date?date:new Date();},set_date:function(value){this._date=value;if(this._internalCalendar){this._internalCalendar.doInitDate();}}}
Sys.UI.Controls.Calendar.registerClass('Sys.UI.Controls.Calendar',Sys.UI.Controls.CustomEdit);Sys.UI.Controls.DateEdit=function(element){Sys.UI.Controls.DateEdit.initializeBase(this,[element]);this._requireKeyDown=true;this._requireKeyPress=true;this._date=null;this._defaultValue=null;this._calendarPopup=null;}
Sys.UI.Controls.DateEdit.prototype={initialize:function(){Sys.UI.Controls.DateEdit.callBaseMethod(this,'initialize');this.disableIme();},dispose:function(){if(this._calendarPopup){this._calendarPopup.dispose();this._calendarPopup=null;} Sys.UI.Controls.DateEdit.callBaseMethod(this,'dispose');},doGetValue:function(useDefaultValue){var text=this.get_text();if(!text)this._date=null;else if(!this._date){var d=Date.strToDate(text);if(d&&d.getFullYear()<1900){d=null;} this.set_value(d);} var answer=this._date;return answer?answer:(useDefaultValue?this._defaultValue:null);},get_value:function(){return this.doGetValue(true);},set_value:function(value){if(typeof(value)=="string"){value=Date.strToDate(value);} this._date=value;var text=this.get_text();var newText=Date.dateToStr(value);if(newText!=text){this.set_text(newText);}},get_editValue:function(){return this.doGetValue(false);},get_defaultValue:function(){return this._defaultValue;},set_defaultValue:function(value){this._defaultValue=value;},doConvertType:function(value,valueType){return valueType==Sys.UI.Controls.ValueType.string?Date.dateToStr(value):value;},_baseDoChange:function(e){Sys.UI.Controls.DateEdit.callBaseMethod(this,'doChange',[e]);},doChange:function(e){this._date=null;this._baseDoChange(e);},doBlur:function(e){if(!this._date)this.set_value(this.get_editValue());Sys.UI.Controls.DateEdit.callBaseMethod(this,'doBlur',[e]);},createPopupWindow:function(){this._calendarPopup=new Sys.UI.Controls._CalendarPopup(this.get_element());return this._calendarPopup.render();},doInitPopup:function(){this._calendarPopup.doInitDate();Sys.UI.Controls.DateEdit.callBaseMethod(this,'doInitPopup');},doKeyDown:function(e){var k=e.keyCode;var droppedDown=this.get_droppedDown();var result=droppedDown;switch(k){case Sys.UI.Key.left:if(droppedDown){this._calendarPopup.doPrevDay();} break;case Sys.UI.Key.right:if(droppedDown){this._calendarPopup.doNextDay();} break;case Sys.UI.Key.up:if(droppedDown){if(e.altKey){this.closeUp();} else{this._calendarPopup.doPrevWeek();}} else if(!this.get_isInPlace()){this._incYearMonthDay(1);result=true;} break;case Sys.UI.Key.down:if(droppedDown){this._calendarPopup.doNextWeek();} else if(e.altKey){this.dropDown();result=true;} else if(!this.get_isInPlace()){this._incYearMonthDay(-1);result=true;} break;case Sys.UI.Key.pageUp:if(droppedDown){this._calendarPopup.doPrevMonth();} break;case Sys.UI.Key.pageDown:if(droppedDown){this._calendarPopup.doNextMonth();} break;case Sys.UI.Key.home:if(droppedDown){this._calendarPopup.doMonthFirstDay();} break;case Sys.UI.Key.end:if(droppedDown){this._calendarPopup.doMonthLastDay();} break;case Sys.UI.Key.enter:if(droppedDown){this._calendarPopup.doSelectCurrDayCell();} result=false;break;case Sys.UI.Key.esc:this.closeUp();break;case Sys.UI.Key.ime:result=true;break;case Sys.UI.Key.space:this.toggleDroppedDown();result=true;break;} if(result){e.cancel();} else{Sys.UI.Controls.DateEdit.callBaseMethod(this,'doKeyDown',[e]);}},doKeyPress:function(e){var c=e.charCode;var result=true;if(c>=32){var ci=this._getCaretInfo();if(c>=48&&c<=57){var month10ok=(c>=48&&c<=49);var day10ok=(c>=48&&c<=51);if(ci.inMonth10){result=month10ok;} else if(ci.inDay10){result=day10ok;} else{result=ci.pos<=10;}} else if(c==45){if(ci.full){result=false;} else{result=true}} else{result=false;}} if(!result){e.preventDefault();} else{this._date=null;Sys.UI.Controls.DateEdit.callBaseMethod(this,'doKeyPress',[e]);}},_getCaretInfo:function(){var ci=new Object();var text=this.get_text();ci.len=text.length;var pos=ci.pos=this.get_caretPos();var pos1=text.indexOf("-");var pos2=-1;if(pos1>=0){pos2=text.indexOf("-",pos1+1);} ci.full=(pos1>=0&&pos2>=0);if(pos1>=0&&pos2>=0){if(pos<pos1){ci.inYear=true;} else if(pos>pos1&&pos<pos2){ci.inMonth=true;} else if(pos>pos2){ci.inDay=true;}} else if(pos1>=0){if(pos1==4){if(pos<pos1){ci.inYear=true;} else if(pos>pos1){ci.inMonth=true;}} else{if(pos<pos1){ci.inMonth=true;} else if(pos>pos1){ci.inDay=true;}}} else if(pos1<0){ci.inYear=true;} return ci;},_incYearMonthDay:function(value){if(this.get_readOnly())return;this._date=null;var date=this.get_editValue();if(date){var ci=this._getCaretInfo();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();if(ci.inYear){date.setDate(day+value);} else if(ci.inMonth){date.setMonth(month+value);} else if(ci.inDay){if(ci.inDay10)value=value*10;date.setDate(day+value);} this.set_value(date);var pos=ci.pos+this.get_text().length-ci.len;$common.setCaretPosition(this.get_element(),pos);this._baseDoChange();}}}
Sys.UI.Controls.DateEdit.registerClass('Sys.UI.Controls.DateEdit',Sys.UI.Controls.CustomDropDownEdit);Sys.UI.Controls.DateLimitEdit=function(element){Sys.UI.Controls.DateLimitEdit.initializeBase(this,[element]);this._dateEdit=null;}
Sys.UI.Controls.DateLimitEdit.prototype={initialize:function(){Sys.UI.Controls.DateLimitEdit.callBaseMethod(this,'initialize');this.disableIme();this.set_maxLength(6);},dispose:function(){Sys.UI.Controls.DateLimitEdit.callBaseMethod(this,'dispose');},doFocus:function(e){var value=this.get_value();if(value){this.set_text(value);this.selectAll();} Sys.UI.Controls.DateEdit.callBaseMethod(this,'doFocus',[e]);},doBlur:function(e){var value=this.get_value();if(value){if(value>0){this.set_value(value);} else{this.set_value(this._date);}} else{this.set_text("");} Sys.UI.Controls.DateEdit.callBaseMethod(this,'doBlur',[e]);},doKeyDown:function(e){var k=e.keyCode;var droppedDown=this.get_droppedDown();var result=droppedDown;switch(k){case Sys.UI.Key.up:if(!droppedDown){this.set_value(this.get_value()+1);result=true;} break;case Sys.UI.Key.down:if(!droppedDown){this.set_value(this.get_value()-1);result=true;} break;} if(result){e.cancel();} else{Sys.UI.Controls.DateLimitEdit.callBaseMethod(this,'doKeyDown',[e]);}},doKeyPress:function(e){var c=e.charCode;var result=true;if(c>=32){if(c<48||c>57){e.preventDefault();return;}} Sys.UI.Controls.DateEdit.callBaseMethod(this,'doKeyPress',[e]);},get_dateEdit:function(){return this._dateEdit;},set_dateEdit:function(value){this._dateEdit=value;},_getDate:function(){var dateEdit=this.get_dateEdit();if(dateEdit){var answer=this.get_form()[dateEdit].get_value();if(answer){return new Date(answer.getTime());}} return new Date();},get_value:function(){var n=Number.parse(this.get_text());if(isNaN(n)){if(this._date){return Date.getDaysBetween(this._date,this._getDate());} else{return 0;}} else{return n;}},set_value:function(value){if(!value){this._date=null;this.set_text("");return;} var date=this._getDate();var days=0;if(typeof(value)=="number"){if(value>0){date.setDate(date.getDate()+value);days=value;}} else{days=Date.getDaysBetween(value,date);if(days>0){this._date=value;}} if(days>0){this.set_text(days+" 天");this._date=date;} else{alert("所选日期不能小于等于 "+Date.dateToStr(this._getDate()));}}}
Sys.UI.Controls.DateLimitEdit.registerClass('Sys.UI.Controls.DateLimitEdit',Sys.UI.Controls.DateEdit);Sys.UI.Controls.DateTimeEdit=function(element){Sys.UI.Controls.DateTimeEdit.initializeBase(this,[element]);}
Sys.UI.Controls.DateTimeEdit.prototype={initialize:function(){Sys.UI.Controls.DateTimeEdit.callBaseMethod(this,'initialize');this.disableIme();},dispose:function(){Sys.UI.Controls.DateTimeEdit.callBaseMethod(this,'dispose');},get_value:function(){var text=this.get_text();return text?Date.strToDateTime(text):null;},set_value:function(value){if(typeof(value)=="string"){value=Date.strToDateTime(value);} this.set_text(Date.dateTimeToStr(value));}}
Sys.UI.Controls.DateTimeEdit.registerClass('Sys.UI.Controls.DateTimeEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls._SpinUpButton=function(control){Sys.UI.Controls._SpinUpButton.initializeBase(this,[control,"spinUp"]);}
Sys.UI.Controls._SpinUpButton.prototype={doMouseDown:function(e){Sys.UI.Controls._SpinUpButton.callBaseMethod(this,'doMouseDown',[e]);this.get_control().incValue();},doMouseUp:function(e){Sys.UI.Controls._SpinUpButton.callBaseMethod(this,'doMouseUp',[e]);this.get_control().focus(false);}}
Sys.UI.Controls._SpinUpButton.registerClass('Sys.UI.Controls._SpinUpButton',Sys.UI.Controls.CustomEditButton);Sys.UI.Controls._SpinDownButton=function(control){Sys.UI.Controls._SpinDownButton.initializeBase(this,[control,"spinDown"]);}
Sys.UI.Controls._SpinDownButton.prototype={doMouseDown:function(e){Sys.UI.Controls._SpinDownButton.callBaseMethod(this,'doMouseDown',[e]);this.get_control().decValue();},doMouseUp:function(e){Sys.UI.Controls._SpinDownButton.callBaseMethod(this,'doMouseUp',[e]);this.get_control().focus(false);}}
Sys.UI.Controls._SpinDownButton.registerClass('Sys.UI.Controls._SpinDownButton',Sys.UI.Controls.CustomEditButton);Sys.UI.Controls.SpinEdit=function(element){Sys.UI.Controls.SpinEdit.initializeBase(this,[element]);this._increment=1;}
Sys.UI.Controls.SpinEdit.prototype={initialize:function(){Sys.UI.Controls.SpinEdit.callBaseMethod(this,'initialize');if(!this.get_text()){this.set_value(0);}},dispose:function(){Sys.UI.Controls.SpinEdit.callBaseMethod(this,'dispose');},initButtons:function(){this.addButton(new Sys.UI.Controls._SpinUpButton(this));this.addButton(new Sys.UI.Controls._SpinDownButton(this));},get_increment:function(){return this._increment;},set_increment:function(value){this._increment=value;},incValue:function(){if(this.get_readOnly())return;this.set_value(this.get_value()+this.get_increment());this.doChange();},decValue:function(){if(this.get_readOnly())return;this.set_value(this.get_value()-this.get_increment());this.doChange();},doKeyDown:function(e){Sys.UI.Controls.SpinEdit.callBaseMethod(this,'doKeyDown',[e]);var k=e.keyCode;if(k===Sys.UI.Key.up){this.incValue();} else if(k===Sys.UI.Key.down){this.decValue();}}}
Sys.UI.Controls.SpinEdit.registerClass('Sys.UI.Controls.SpinEdit',Sys.UI.Controls.NumberEdit);Sys.UI.Controls.TimeEdit=function(element){Sys.UI.Controls.TimeEdit.initializeBase(this,[element]);this._requireKeyDown=true;this._requireKeyPress=true;this._time=null;}
Sys.UI.Controls.TimeEdit.prototype={initialize:function(){Sys.UI.Controls.TimeEdit.callBaseMethod(this,'initialize');this.disableIme();},dispose:function(){Sys.UI.Controls.TimeEdit.callBaseMethod(this,'dispose');},initButtons:function(){this.addButton(new Sys.UI.Controls._SpinUpButton(this));this.addButton(new Sys.UI.Controls._SpinDownButton(this));},get_value:function(){if(!this._time)this._time=Date.strToTime(this.get_text());return this._time;},set_value:function(value){this._time=value;this.set_text(Date.timeToStr(value));},doChange:function(e){Sys.UI.Controls.TimeEdit.callBaseMethod(this,'doChange',[e]);this._time=null;},doBlur:function(e){if(!this._time)this.set_value(this.get_value());Sys.UI.Controls.TimeEdit.callBaseMethod(this,'doBlur',[e]);},doFocus:function(e){Sys.UI.Controls.TimeEdit.callBaseMethod(this,'doFocus',[e]);if(Sys.Browser.isIE){if(this._caretPos>=0)$common.setCaretPosition(this.get_element(),this._caretPos);}},incValue:function(){this._incHourMinSec(1);},decValue:function(){this._incHourMinSec(-1);},_getCaretInfo:function(){var ci=new Object();var text=this.get_text();ci.len=text.length;var pos=ci.pos=this.get_caretPos();var pos1=text.indexOf(":");var pos2=-1;if(pos1>=0){pos2=text.indexOf(":",pos1+1);if(pos<pos1){ci.inHour=true;ci.inHour10=(pos-1)!=pos1;} else if(pos>pos1&&(pos2<0||pos<=pos2)){ci.inMin=true;ci.inMin10=(pos-1)==pos1;} else if(pos2>=0&&pos>pos2){ci.inSec=true;ci.inSec10=(pos-1)==pos2;}} else{ci.inHour=true;ci.inHour10=false;} ci.full=(pos1>=0&&pos2>=0);return ci;},_incHourMinSec:function(value){if(this.get_readOnly())return;var time=this.get_value();if(time){var ci=this._getCaretInfo();var hour=time.getHours();var min=time.getMinutes();var sec=time.getSeconds();if(ci.inHour){time.setHours(hour+value);} else if(ci.inMin){if(ci.inMin10)value=value*10;time.setMinutes(min+value);} else if(ci.inSec){if(ci.inSec10)value=value*10;time.setSeconds(sec+value);} this.set_value(time);var pos=ci.pos+this.get_text().length-ci.len;$common.setCaretPosition(this.get_element(),pos);}},doKeyDown:function(e){var k=e.keyCode;var result=true;if(k===Sys.UI.Key.up){this.incValue();} else if(k===Sys.UI.Key.down){this.decValue();} else if(k==Sys.UI.Key.ime){result=false;} if(!result){e.cancel();} else Sys.UI.Controls.TimeEdit.callBaseMethod(this,'doKeyDown',[e]);},doKeyPress:function(e){var c=e.charCode;var result=true;if(c>=32){var ci=this._getCaretInfo();if(c>=48&&c<=57){var hour10ok=(c>=48&&c<=50);var min10ok=(c>=48&&c<=53);var sec10ok=min10ok;if(ci.inHour10){result=hour10ok;} else if(ci.inMin10){result=min10ok;} else if(ci.inSec10){result=sec10ok;} else{result=ci.pos<=8;}} else if(c==58){if(ci.full){result=false;} else{result=true}} else{result=false;}} if(!result)e.preventDefault();else Sys.UI.Controls.TimeEdit.callBaseMethod(this,'doKeyPress',[e]);}}
Sys.UI.Controls.TimeEdit.registerClass('Sys.UI.Controls.TimeEdit',Sys.UI.Controls.CustomEdit);Sys.UI.Controls._EllipsisButton=function(control){Sys.UI.Controls._EllipsisButton.initializeBase(this,[control,"ellipsisButton"]);}
Sys.UI.Controls._EllipsisButton.prototype={doMouseUp:function(e){Sys.UI.Controls._EllipsisButton.callBaseMethod(this,'doMouseUp',[e]);this.get_control().focus(true);this.get_control().doButtonClick();}}
Sys.UI.Controls._EllipsisButton.registerClass('Sys.UI.Controls._EllipsisButton',Sys.UI.Controls.CustomEditButton);Sys.UI.Controls.EnterPressEventArgs=function(){Sys.UI.Controls.EnterPressEventArgs.initializeBase(this);this._focusNext=true;}
Sys.UI.Controls.EnterPressEventArgs.prototype={get_focusNext:function(){return this._focusNext;},set_focusNext:function(value){this._focusNext=value;}}
Sys.UI.Controls.EnterPressEventArgs.registerClass('Sys.UI.Controls.EnterPressEventArgs',Sys.CancelEventArgs);Sys.UI.Controls.ButtonEdit=function(element){Sys.UI.Controls.ButtonEdit.initializeBase(this,[element]);this._requireDblClick=true;this._buttonVisible=true;}
Sys.UI.Controls.ButtonEdit.prototype={initialize:function(){Sys.UI.Controls.ButtonEdit.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls.ButtonEdit.callBaseMethod(this,'dispose');},initButtons:function(){if(this.get_buttonVisible()){this.addButton(new Sys.UI.Controls._EllipsisButton(this));}},get_buttonVisible:function(){return this._buttonVisible;},set_buttonVisible:function(value){this._buttonVisible=value;},add_buttonClick:function(handler,handlerOwner){return this.get_events().addHandler('buttonClick',handler,handlerOwner);},remove_buttonClick:function(handler){this.get_events().removeHandler('buttonClick',handler);},doButtonClick:function(){this._enterPressed=this._enterPressing?true:false;this._enterPressing=false;var handler=this.get_events().getHandler('buttonClick');if(handler){handler(this);}},get_enterPressed:function(){return this._enterPressed;},doEnterPress:function(e){this._t0=new Date().getTime();var eventArgs=new Sys.UI.Controls.EnterPressEventArgs();this.raiseEnterPress(eventArgs);if(!eventArgs.get_cancel()){this.doEnterPressing(eventArgs);} if(eventArgs.get_cancel()){this.doEnterPressed();if(eventArgs.get_focusNext()){this.focusNext();e.cancel();}} else{this._enterPressing=true;this.doButtonClick();e.cancel();}},doEnterPressing:function(eventArgs){},doEnterPressed:function(){},doDblClick:function(e){var eventArgs=new Sys.CancelEventArgs();Sys.UI.Controls.ButtonEdit.callBaseMethod(this,'doDblClick',[eventArgs]);if(!eventArgs.get_cancel()){this.doButtonClick();}}}
Sys.UI.Controls.ButtonEdit.registerClass('Sys.UI.Controls.ButtonEdit',Sys.UI.Controls.CustomTextEdit);Sys.UI.Controls.SelectorEventArgs=function(form,selector){Sys.UI.Controls.SelectorEventArgs.initializeBase(this);this._form=form;this._selector=selector;}
Sys.UI.Controls.SelectorEventArgs.prototype={get_form:function(){return this._form;},get_selector:function(){return this._selector;}}
Sys.UI.Controls.SelectorEventArgs.registerClass('Sys.UI.Controls.SelectorEventArgs',Sys.EventArgs);Sys.UI.Controls.SelectorSelectedEventArgs=function(form,selector){Sys.UI.Controls.SelectorSelectedEventArgs.initializeBase(this,[form,selector]);this._canClose=true;this._focusNext=true;}
Sys.UI.Controls.SelectorSelectedEventArgs.prototype={get_canClose:function(){return this._canClose;},set_canClose:function(value){this._canClose=value;},get_focusNext:function(){return this._focusNext;},set_focusNext:function(value){this._focusNext=value;}}
Sys.UI.Controls.SelectorSelectedEventArgs.registerClass('Sys.UI.Controls.SelectorSelectedEventArgs',Sys.UI.Controls.SelectorEventArgs);Sys.UI.Controls.SelectorBeforeSelectedEventArgs=function(edit,value){Sys.UI.Controls.SelectorBeforeSelectedEventArgs.initializeBase(this);this._edit=edit;this._value=value;}
Sys.UI.Controls.SelectorBeforeSelectedEventArgs.prototype={get_edit:function(){return this._edit;},get_value:function(){return this._value;}}
Sys.UI.Controls.SelectorBeforeSelectedEventArgs.registerClass('Sys.UI.Controls.SelectorBeforeSelectedEventArgs',Sys.CancelEventArgs);Sys.UI.Controls.SelectorEdit=function Sys$UI$Controls$SelectorEdit(element){Sys.UI.Controls.SelectorEdit.initializeBase(this,[element]);this._requireKeyDown=true;this._requireKeyPress=true;this._value=null;this._selectOnly=false;this._selectorPage=null;this._selectorPageParams=null;this._selectorWidth=0;this._selectorHeight=0;this._displayField=null;this._selectorType=null;this._selector=null;this._lastText=null;this._textSetted=false;this._savedText=null;this._textChanged=false;this._allowHandInput=false;this._requiredFlag=true;this._shortcut=null;this._autoFocusNext=false;this._trimDelimiters=false;}
Sys.UI.Controls.SelectorEdit.prototype={initialize:function(){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'initialize');},doFormInit:function(){this._doValueChanged();},_doValueChanged:function(){value=this._value;if(value&&this._displayField){var dataController=this.get_form().get_dataController();var displayField=this._displayField;var pos=displayField.lastIndexOf('.');if(pos>0){displayField=displayField.substr(pos+1);} var text;if(typeof(value)=="object"){text=dataController.getValueDisplayText(value,displayField);} else{text=dataController.getText(displayField);} this.set_text(text);} else{this.set_text(value?value.toString():"");}},doSaveData:function(ignoreValidation){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doSaveData',[ignoreValidation]);var displayField=this._displayField;if(!this.get_value()&&displayField&&displayField.indexOf('.')<0){var dataController=this.get_form().get_dataController();dataController.setValue(displayField,this._getDefaultValue());}},dispose:function(){if(this._selector){this._selector.dispose();this._selector=null;} Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'dispose');},doButtonClick:function(){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doButtonClick');if(!this.get_buttonVisible()){this.focusNext();return;} if((this.get_readOnly()&&!this.get_selectOnly())||Sys._ScriptLoader.getInstance().get_isLoading())return;var selector=this.get_selector();if(selector){selector.doButtonClick(this);} var owner=this.get_owner();var form=new Sys.UI.Form(owner?owner:this,this.get_selectorWidth(),this.get_selectorHeight(),false);form.add_init(Function.createDelegate(this,this.doSelectorInit));form.add_loaded(Function.createDelegate(this,this.doSelectorLoaded));form.add_ok(Function.createDelegate(this,this.doSelectorSelected));var closeHandler=Function.createDelegate(this,this.doSelectorClose);form.add_close(closeHandler);form.showModal(this.get_selectorPage(),this.get_selectorPageParams());},add_selectorInit:function(handler,handlerOwner){return this.get_events().addHandler("selectorInit",handler,handlerOwner);},remove_selectorInit:function(handler){this.get_events().removeHandler("selectorInit",handler);},doSelectorInit:function(form){var selector=this.get_selector();var eventArgs=new Sys.UI.Controls.SelectorEventArgs(form,selector);if(selector){selector.doSelectorInit(this,eventArgs);} var handler=this.get_events().getHandler("selectorInit");if(handler){handler(this,eventArgs);}},add_selectorLoaded:function(handler,handlerOwner){return this.get_events().addHandler("selectorLoaded",handler,handlerOwner);},remove_selectorLoaded:function(handler){this.get_events().removeHandler("selectorLoaded",handler);},get_selector:function(){if(!this._selector){var selectorTypeName=this.get_selectorType();if(selectorTypeName){var selectorType;if(typeof(selectorTypeName)==="string"){selectorType=eval(selectorTypeName);if(!selectorType){throw Error.invalidOperation(selectorTypeName+"对应的类找不到");}} else{selectorType=selectorTypeName;} this._selector=new selectorType();}} return this._selector;},doSelectorLoaded:function(form){var selector=this.get_selector();var eventArgs=new Sys.UI.Controls.SelectorEventArgs(form,selector);if(selector){selector.doSelectorLoaded(this,eventArgs);} var handler=this.get_events().getHandler("selectorLoaded");if(handler){handler(this,eventArgs);} var t=new Date().getTime()-this._t0;$debug.log("显示完 "+form.get_caption()+": "+t);},add_selectorSelected:function(handler,handlerOwner){return this.get_events().addHandler("selectorSelected",handler,handlerOwner);},remove_selectorSelected:function(handler){this.get_events().removeHandler("selectorSelected",handler);},doSelectorSelected:function Sys$UI$Controls$SelectorEdit$doSelectorSelected(form,okEventArgs){if(this.get_isDisposed()){return;} var selector=this.get_selector();var selectedEventArgs=new Sys.UI.Controls.SelectorSelectedEventArgs(form,selector);selectedEventArgs.set_canClose(okEventArgs.get_canClose());if(selector){selector.doSelectorSelected(this,selectedEventArgs);} var handler=this.get_events().getHandler("selectorSelected");if(handler){handler(this,selectedEventArgs);} this._checkRaiseValueChange();var canClose=selectedEventArgs.get_canClose();okEventArgs.set_canClose(canClose);if(canClose&&selectedEventArgs.get_focusNext()){this.focusNext();} this._textChanged=false;},get_autoFocusNext:function(){return this._autoFocusNext;},set_autoFocusNext:function(value){this._autoFocusNext=value;},get_trimDelimiters:function(){return this._trimDelimiters;},set_trimDelimiters:function(value){this._trimDelimiters=value;},doEnterPressing:function(eventArgs){if(this.get_autoFocusNext()&&this.get_value()&&!this.get_textChanged()){eventArgs.set_cancel(true);eventArgs.set_focusNext(true);}},doEnterPressed:function(){this._checkRaiseValueChange();},doKeyPress:function(e){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doKeyPress',[e]);},doKeyDown:function(e){var result=false;var shortcut=this._shortcut;if(shortcut){var hotkey=Sys.UI.DomEvent.shortcutToHotkey(shortcut);result=Sys.UI.DomEvent.matchHotkey(hotkey,e);if(result){this.doShortcutPress();}} if(result){e.cancel();} else{Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doKeyDown',[e]);}},add_shortcutPress:function(handler){this.get_events().addHandler("shortcutPress",handler);},remove_shortcutPress:function(handler){this.get_events().removeHandler("shortcutPress",handler);},doShortcutPress:function(){var eventArgs=new Sys.CancelEventArgs();var handler=this.get_events().getHandler("shortcutPress");if(handler){handler(this,eventArgs);} if(!eventArgs.get_cancel()){this.doButtonClick();}},get_selectOnly:function(){return this._selectOnly;},set_selectOnly:function(value){this._selectOnly=value;if(this.get_isInitialized()){this.set_readOnly(value);}},get_requiredFlag:function(){return this._requiredFlag;},set_requiredFlag:function(value){this._requiredFlag=value;},get_shortcut:function(){return this._shortcut;},set_shortcut:function(value){this._shortcut=value;},get_textChanged:function(){if(!this.get_selectOnly()){return this._textChanged||(this.get_text()!=this._savedText);} return false;},set_textChanged:function(value){this._textChanged=value;},get_allowHandInput:function(){return this._allowHandInput;},set_allowHandInput:function(value){this._allowHandInput=value;},doSelectorClose:function(form){this.focus();},doFocus:function(e){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doFocus',[e]);this._textSetted=false;this._textChanged=false;this._savedText=this.get_text();},doBlur:function(e){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doBlur',[e]);var allowHandInput=this.get_allowHandInput();var text=this.get_text();if(!text){var oldValue=this.get_value();this.set_value(null);if(oldValue){this._baseDoChange();}} else{if(!allowHandInput){if(!this.get_value()){this._baseSetText("");} else if(!this._textSetted){this._baseSetText(this._lastText);}} else if(this.get_trimDelimiters()){var newText=this._doTrimDelimiters(text);if(newText!=text){this._baseSetText(newText);}}} this._textSetted=false;},_doTrimDelimiters:function(text){var len=text.length;var start=0;for(var i=start;i<len;i++){if(text.charAt(i)!=';'){start=i;break;}} var end=len-1;for(var i=end;i>=0;i--){if(text.charAt(i)!=';'){end=i;break;}} return text.substring(start,end+1);},add_selectorBeforeSelected:function(handler,handlerOwner){return this.get_events().addHandler("selectorBeforeSelected",handler,handlerOwner);},remove_selectorBeforeSelected:function(handler){this.get_events().removeHandler("selectorBeforeSelected",handler);},doBeforeSelect:function(value){var eventArgs=new Sys.UI.Controls.SelectorBeforeSelectedEventArgs(this,value);var handler=this.get_events().getHandler("selectorBeforeSelected");if(handler){handler(this,eventArgs);if(eventArgs.get_cancel()){throw Error.abort();}}},doSelect:function(value){this.doBeforeSelect(value);this.set_value(value);},_getDefaultValue:function(){var answer=$settings.defaultSelectorValue;return typeof(answer)!="undefined"?answer:null;},get_value:function(){if(this.get_buttonVisible()){var answer=!this.get_allowHandInput()?this._value:this.get_text();if(answer==null){answer=this._getDefaultValue();} return answer;} else{return this.get_text();}},set_value:function(value){if(typeof(value)=="undefined"){value=null;} this._value=value;if(this.get_isInitialized()){this._doValueChanged();if(!this.get_isDataBinding()){this._valueSetted=true;}}},_checkRaiseValueChange:function(){if(!this._allowHandInput&&this._valueSetted){this._valueSetted=false;this._baseDoChange();}},_baseDoChange:function(e){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'doChange',[e]);},doChange:function(e){if(this._allowHandInput||!this.get_buttonVisible()){this._baseDoChange(e);}},_baseSetText:function(value){Sys.UI.Controls.SelectorEdit.callBaseMethod(this,'set_text',[value]);},set_text:function(value){this._baseSetText(value);this._lastText=value;this._textSetted=true;},get_displayField:function(){return this._displayField;},set_displayField:function(value){this._displayField=value;},get_selectorPage:function(){return this._selectorPage;},set_selectorPage:function(value){this._selectorPage=value;},get_selectorPageParams:function(){return this._selectorPageParams;},set_selectorPageParams:function(value){this._selectorPageParams=value;},get_selectorWidth:function(){return this._selectorWidth;},set_selectorWidth:function(value){this._selectorWidth=value;},get_selectorHeight:function(){return this._selectorHeight;},set_selectorHeight:function(value){this._selectorHeight=value;},get_selectorType:function(){return this._selectorType},set_selectorType:function(value){this._selectorType=value;},getInputAction:function(){return"选择";}}
Sys.UI.Controls.SelectorEdit.registerClass('Sys.UI.Controls.SelectorEdit',Sys.UI.Controls.ButtonEdit);Sys.UI.Controls._DropDownMemoEdit=function(element){Sys.UI.Controls._DropDownMemoEdit.initializeBase(this,[element]);this._requireKeyDown=true;this._textAreaElement=null;this._okButton=null;this._cancelButton=null;this._value=null;this._dropDownWidth=300;this._dropDownHeight=150;}
Sys.UI.Controls._DropDownMemoEdit.prototype={initialize:function(){Sys.UI.Controls._DropDownMemoEdit.callBaseMethod(this,'initialize');this.set_readOnly(true);},dispose:function(){if(this._okButton){this._okButton.dispose();this._okButton=null;} if(this._cancelButton){this._cancelButton.dispose();this._cancelButton=null;} Sys.UI.Controls._DropDownMemoEdit.callBaseMethod(this,'dispose');},get_value:function(){return this._value?this._value:"";},set_value:function(value){this._value=value;this.set_text(value?value.replace("\n"," ").replace("\r"," "):"");},get_dropDownWidth:function(){return this._dropDownWidth;},set_dropDownWidth:function(value){if(value>0){this._dropDownWidth=value;}},get_dropDownHeight:function(){return this._dropDownHeight;},set_dropDownHeight:function(value){if(value>0){this._dropDownHeight=value;}},doFocus:function(e){Sys.UI.Controls._DropDownMemoEdit.callBaseMethod(this,'doFocus',[e]);this.selectAll();},createPopupWindow:function Sys$UI$Controls$_DropDownMemoEdit$createPopupWindow(){var element=this.get_element();var popupTable=$common.createPopupTable(0,1);popupTable.style.backgroundColor=$skin.getControlBackgroundColor();$common.initPopupElement(popupTable,true,false);$common.setBounds(popupTable,this._dropDownWidth,this._dropDownHeight);var body=$common.createTBody();var tr=$common.createTr();var td=$common.createTd();td.height="100%";var textAreaElement=this._textAreaElement=document.createElement("textarea");textAreaElement.style.width="100%";textAreaElement.style.height="100%";textAreaElement.style.borderStyle="none";textAreaElement.style.backgroundColor=$skin.getWindowBackgroundColor();td.appendChild(textAreaElement);tr.appendChild(td);body.appendChild(tr);var tr=$common.createTr();var td=$common.createTd();td.align="right";td.style.padding=5;var okElement=$common.createFlatButton(46,21,"确定");okElement.style.marginRight=10;td.appendChild(okElement);var cancelElement=this._cancelButton=$common.createFlatButton(46,21,"取消");cancelElement.style.marginRight=5;td.appendChild(cancelElement);tr.appendChild(td);body.appendChild(tr);popupTable.appendChild(body);popupTable._edit=element;this._okButton=Sys.UI.Controls.FlatButton.create(okElement,Function.createDelegate(this,this._doOkClick));this._cancelButton=Sys.UI.Controls.FlatButton.create(cancelElement,Function.createDelegate(this,this._doCancelClick));return popupTable;},doInitPopup:function(){Sys.UI.Controls._DropDownMemoEdit.callBaseMethod(this,'doInitPopup');var elt=this._textAreaElement;elt.value=this.get_value();window.asyncCall(function(){elt.focus();});},_doClose:function(){this.closeUp();this.focusNext();},_doOkClick:function(e){this.set_value(this._textAreaElement.value);this.doChange();this._doClose();},_doCancelClick:function(e){this._doClose();},doKeyDown:function(e){var k=e.keyCode;var droppedDown=this.get_droppedDown();var result=droppedDown;switch(k){case Sys.UI.Key.up:if(droppedDown&&e.altKey){this.closeUp();result=true;} break;case Sys.UI.Key.down:if(!droppedDown&&e.altKey){this.dropDown();result=true;} break;case Sys.UI.Key.esc:this.closeUp();break;case Sys.UI.Key.space:this.toggleDroppedDown();result=true;break;} if(result){e.cancel();} else{Sys.UI.Controls._DropDownMemoEdit.callBaseMethod(this,'doKeyDown',[e]);}}}
Sys.UI.Controls._DropDownMemoEdit.registerClass('Sys.UI.Controls._DropDownMemoEdit',Sys.UI.Controls.CustomDropDownEdit);Sys.UI.HAlign=function(){throw Error.notImplemented();}
Sys.UI.HAlign.prototype={left:0,center:1,right:2}
Sys.UI.HAlign.registerEnum("Sys.UI.HAlign");Sys.UI.VAlign=function(){throw Error.notImplemented();}
Sys.UI.VAlign.prototype={top:0,middle:1,bottom:2}
Sys.UI.VAlign.registerEnum("Sys.UI.VAlign");Sys.UI.FormPosition=function(){throw Error.notImplemented();}
Sys.UI.FormPosition.prototype={center:0,rightBottom:1,designed:2}
Sys.UI.FormPosition.registerEnum("Sys.UI.FormPosition");Sys.UI.FormBorderStyle=function(){throw Error.notImplemented();}
Sys.UI.FormBorderStyle.prototype={fixedDialog:0,fixedToolWindow:1}
Sys.UI.FormBorderStyle.registerEnum("Sys.UI.FormBorderStyle");Sys.UI.FormCloseAction=function(){throw Error.notImplemented();}
Sys.UI.FormCloseAction.prototype={free:0,hide:1}
Sys.UI.FormCloseAction.registerEnum("Sys.UI.FormCloseAction");Sys.UI.FormCloseEventArgs=function(){Sys.UI.FormCloseEventArgs.initializeBase(this);this._canClose=true;}
Sys.UI.FormCloseEventArgs.prototype={get_canClose:function(){return this._canClose;},set_canClose:function(value){this._canClose=value;}}
Sys.UI.FormCloseEventArgs.registerClass('Sys.UI.FormCloseEventArgs',Sys.EventArgs);Sys.UI.Form=function(owner,width,height,left,top){var lastPopup=Sys.Application.getLastPopup();if(lastPopup&&lastPopup.get_isLoading()){throw Error.abort();} Sys.UI.Form.initializeBase(this);this._zIndex=lastPopup?lastPopup.get_zIndex()+10:20;this._owner=owner;if(owner){this._parentForm=$common.getSenderForm(owner);} this._caption="...";this._borderStyle=Sys.UI.FormBorderStyle.fixedDialog;this._smallCaption=false;this._bodyHAlign=Sys.UI.HAlign.left;this._bodyVAlign=Sys.UI.VAlign.top;this._closeAction=Sys.UI.FormCloseAction.free;this._width=width?width:400;this._height=height?height:300;if(left!=undefined&&top!=undefined){this._left=left;this._top=top;this._position=Sys.UI.FormPosition.designed;} else{this._left=0;this._top=0;this._position=Sys.UI.FormPosition.center;} if(typeof(left)=="boolean"){this._autoSize=left;} else{this._autoSize=false;} this._skinPoperties=$skin.getElement("form","properties");this._popup=null;this._captionElement=null;this._contentCell=null;this._buttonClose=null;this._request=null;this._floatingBehavior=null;this._screenOverlay=null;this._allowMove=true;this._showCloseButton=true;}
Sys.UI.Form.prototype={initialize:function(){Sys.UI.Form.callBaseMethod(this,'initialize');Sys.Application.addPopup(this);this._initForm();},dispose:function(){if(this.get_isDisposed())return;var t0=new Date().getTime();Sys.Application.removePopup(this);if(this._buttonClose){this._buttonClose.dispose();this._buttonClose=null;} this._captionElement=null;this.destroyContent();if(this._floatingBehavior){this._floatingBehavior.dispose();this._floatingBehavior=null;} this._contentCell=null;this._removeScreenOverlay();if(this._popup){$removeNode(this._popup);this._popup=null;} this._skinPoperties=null;Sys.UI.Form.callBaseMethod(this,'dispose');var owner=this._owner;if(owner){var ownerForm=this._parentForm;if(ownerForm&&owner!=ownerForm&&!ownerForm.get_focusedControl()&&owner.focus){try{owner.focus();} catch(e){}} this._owner=null;} $debug.log("表单释放时间: "+(new Date().getTime()-t0));},_initForm:function(){var ownerForm=this._parentForm;if(ownerForm){var focusedControl=ownerForm.get_focusedControl();if(focusedControl&&focusedControl.blur){try{focusedControl.blur();} catch(e){}}} var table=$common.createTable();var width=this.get_width();var height=this.get_height();table.className="FormBorder";if(!this._autoSize){table.style.tableLayout="fixed";} table.style.zIndex=this.get_zIndex();var p=this._calcPosition(width,height);var pScroll=window.getClientScrollPosition();$common.setPosition(table,p.x+pScroll.x,p.y+pScroll.y,width,height);var body=$common.createTBody();var contentWidth=width-this._getBorderHSize();var caption=$common.createTr();var captionHeight=this._getCaptionHeight();var cell=this._addCell(caption,contentWidth,captionHeight-1);cell.className="FormCaption";if(Sys.Browser.isIE){cell.unselectable="on";} this._initButtons(cell);body.appendChild(caption);var content=$common.createTr();var contentHeight=height-this._getBorderVSize()-captionHeight;cell=this._contentCell=this._addCell(content,contentWidth,contentHeight);cell.style.backgroundColor=$skin.getControlBackgroundColor();this._initBodyHAlign();this._initBodyVAlign();var div=this._contentElement=$common.createDiv();div.className=this._autoSize?"FormContentAutoSize":"FormContent";var paddingSize=this._getPaddingSize();$common.setBounds(div,contentWidth-paddingSize,contentHeight-paddingSize);if(Sys.Browser.isStandard&&this._autoSize){$common.setAutoWidthHeight(div);} cell.appendChild(div);body.appendChild(content);table.appendChild(body);document.body.appendChild(table);this._popup=table;if(this.get_allowMove()){var floatingBehavior=this._floatingBehavior=Sys.UI.Controls.DraggingBehavior.create(table,this._captionElement);floatingBehavior.add_startDrag(this._startDrag,this);floatingBehavior.add_endDrag(this._endDrag,this);}},get_autoSize:function(){return this._autoSize;},set_autoSize:function(value){this._autoSize=value;},get_allowMove:function(){return this._allowMove;},set_allowMove:function(value){this._allowMove=value;},get_showCloseButton:function(){return this._showCloseButton;},set_showCloseButton:function(value){this._showCloseButton=value;},_showContent:function(visible){this._contentElement.style.visibility=visible?'visible':'hidden';Sys.UI.DomElement.setOpacity(this._popup,visible?100:50);},_startDrag:function(sender){this._showContent(false);},_endDrag:function(sender){var r=this.get_bounds();var left=r.x;var top=r.y;var r0=window.getClientBounds();var offset=r.x+r.width-r0.width;if(offset>0){left-=offset;} if(left<0)left=0;var offset=r.y+r.height-r0.height;if(offset>0){top-=offset;} if(top<0)top=0;this.setLocation(left,top);this._showContent(true);},_calcPosition:function(width,height){var left=this.get_left();var top=this.get_top();var r=window.getClientBounds();switch(this.get_position()){case Sys.UI.FormPosition.center:left=(r.width-width)/2;top=(r.height-height)/2;var captionHeight=this._getCaptionHeight();if(top>2*captionHeight)top-=captionHeight;break;case Sys.UI.FormPosition.rightBottom:var r1=Sys.UI.DomElement.getBounds(document.body);if(r.width>r1.width){r.width=r1.width;} left=r.width-width;var offset=Sys.Browser.isIE?2:3;top=r.height-height-offset;break;} return{x:(left>0?left:5),y:(top>0?top:5)};},get_isActive:function(){var lastPopup=Sys.Application.getLastPopup();if(lastPopup&&lastPopup.get_isModal()){return lastPopup==this;} return true;},get_element:function(){return this._popup;},set_bounds:function(r){var elt=this._popup;if(!elt)return;elt.style.left=r.x+"px";elt.style.top=r.y+"px";if(r.width>=0){elt.style.width=r.width+"px";} if(r.height>=0){elt.style.height=r.height+"px";}},setLocation:function(left,top){this.set_bounds({x:left,y:top});},resize:function(){var r=this.get_bounds();var p=this._calcPosition(r.width,r.height);this.set_bounds(p);},_getCaptionHeight:function(){return this._smallCaption?this._skinPoperties.smallCaptionHeight:this._skinPoperties.captionHeight;},_addCell:function(row,width,height){var cell=$common.createTd();if(width)cell.style.width=typeof(width)=="number"?(width+"px"):width;if(height)cell.style.height=typeof(height)=="number"?(height+"px"):height;row.appendChild(cell);return cell;},_initButtons:function(parent){var table=$common.createTable(0,1);table.width="100%";var body=$common.createTBody();var row=$common.createTr();var cell=this._captionElement=$common.createTd();cell.width="99%";cell.className=this._smallCaption?"FormSmallCaptionLabel":"FormCaptionLabel";cell.innerHTML=this.get_caption();row.appendChild(cell);cell=$common.createTd();cell.noWrap=true;cell.className="FormCaptionButton";if(this.get_showCloseButton()){var skinImageName=this._smallCaption?"smallButtonClose":"buttonClose";var skinImage=this._getSkinImage(skinImageName);var bounds=new Sys.UI.Bounds(null,null,skinImage.imageWidth,skinImage.imageHeight);var buttonClose=this._buttonClose=new Sys.UI.Controls.CustomSkinButton(cell,skinImage,bounds);buttonClose.initialize();buttonClose.add_click(this.doCloseClick,this);} row.appendChild(cell);body.appendChild(row);table.appendChild(body);parent.appendChild(table);this._captionTableElement=table;},_getSkinImage:function(name){return $skin.getImage("form",name);},get_borderStyle:function(){return this._borderStyle;},set_borderStyle:function(value){this._borderStyle=value;this._smallCaption=(this._borderStyle==Sys.UI.FormBorderStyle.fixedToolWindow);},get_caption:function(){return this._caption;},set_caption:function(value){this._caption=value;if(this._captionElement){if(Sys.Browser.isIE){value="<div style=\"float:left;color:#ffffff;font-weight:bold;font-size:12px;height:14px;filter:progid:DXImageTransform.Microsoft.dropshadow(Color=#3177B5,OffX=1,OffY=1)\">"+value+"</div>";} this._captionElement.innerHTML=value;}},doShowProgressor:function(){this.setCenterMiddleContent($skin.getLoadingHTML());},setCenterMiddleContent:function(value){this.set_content($common.getCenterMiddleHTML(value,this.get_clientWidth(),this.get_clientHeight()));},set_content:function(value){this._contentElement.innerHTML=value;},doHideProgressor:function(){this.internalHideProgressor();if(this._autoSize&&this._popup){var contentWidth=this._popup.offsetWidth;var contentHeight=this._popup.offsetHeight;var enlarged=contentWidth>this.get_width();if(enlarged){this._captionTableElement.style.width=(contentWidth-this._getBorderHSize())+"px";} if(enlarged||contentHeight>this.get_height()){$debug.serverLog(this.get_url()+" 实际宽度,高度为 "+contentWidth+", "+contentHeight+" 而设计宽度,高度为 "+this.get_width()+", "+this.get_height());}}},get_position:function(){return this._position;},set_position:function(value){this._position=value;},get_bodyHAlign:function(){return this._bodyHAlign;},set_bodyHAlign:function(value){this._bodyHAlign=value;if(this._contentCell){this._initBodyHAlign();}},_initBodyHAlign:function(){this._contentCell.align=$common.hAlignToString(this._bodyHAlign);},get_bodyVAlign:function(){return this._bodyVAlign;},set_bodyVAlign:function(value){this._bodyVAlign=value;if(this._contentCell){this._initBodyVAlign();}},_initBodyVAlign:function(){var align="";switch(this._bodyVAlign){case Sys.UI.VAlign.top:align="top";break;case Sys.UI.VAlign.middle:align="middle";break;case Sys.UI.VAlign.bottom:align="bottom";break;} this._contentCell.vAlign=align;},get_width:function(){return this._width;},set_width:function(value){this._width=value;},get_height:function(){return this._height;},set_height:function(value){this._height=value;var popup=this._popup;if(popup){$common.setHeight(popup,value);$common.setHeight(this._contentElement,value-this._getBorderVAndCaptionSize()-this._getPaddingSize());}},_getBorderHSize:function(){return 2;},_getBorderVSize:function(){return 3;},_getBorderVAndCaptionSize:function(){return this._getCaptionHeight()+this._getBorderVSize();},_getPaddingSize:function(){return 10;},get_clientWidth:function(){return this._width-this._getBorderHSize()-this._getPaddingSize();},set_clientWidth:function(value){this._width=value+this._getBorderHSize()+this._getPaddingSize();},get_clientHeight:function(){return this._height-this._getBorderVAndCaptionSize()-this._getPaddingSize();},set_clientHeight:function(value){this._height=value+this._getBorderVAndCaptionSize()+this._getPaddingSize();},get_left:function(){return this._left;},set_left:function(value){this._left=value;if(this.get_visible()){this._popup.style.left=value+"px";}},get_top:function(){return this._top;},set_top:function(value){this._top=value;if(this.get_visible()){this._popup.style.top=value;}},get_closeAction:function(){return this._closeAction;},set_closeAction:function(value){this._closeAction=value;},get_visible:function(){return this._popup&&Sys.UI.DomElement.getVisible(this._popup);},set_visible:function(value){if(this._popup){Sys.UI.DomElement.setVisible(this._popup,value);}},show:function(url){var lastPopup=Sys.Application.getLastPopup();if(lastPopup&&!lastPopup.get_isModal()){var lastUrl=lastPopup.get_url();if(url==lastUrl){lastPopup.focus();throw Error.abort();}} this.set_isModal(false);this.set_visible(true);if(url){this._showPage(url);}},hide:function(){this.set_visible(false);},close:function Sys$UI$Form$close(){this._handleClose("close");},_execClose:function(){this._enableScreen();switch(this._closeAction){case Sys.UI.FormCloseAction.free:this.dispose();break;case Sys.UI.FormCloseAction.hide:this.hide();break;}},_handleClose:function Sys$UI$Form$_handleClose(event){var eventArgs=new Sys.UI.FormCloseEventArgs();var handler=this.get_events().getHandler(event);if(handler){handler(this,eventArgs);} else if(event!="close"){this.doClose(eventArgs);} if(eventArgs.get_canClose()){this._execClose();}},add_ok:function(handler,handlerOwner){this.get_events().addHandler("ok",handler,handlerOwner);},remove_ok:function(handler){this.get_events().removeHandler("ok",handler);},doOk:function Sys$UI$Form$doOk(){this._handleClose("ok");},add_cancel:function(handler,handlerOwner){this.get_events().addHandler("cancel",handler,handlerOwner);},remove_cancel:function(handler){this.get_events().removeHandler("cancel",handler);},doCancel:function(){this._handleClose("cancel");},get_contentElement:function(){if(!this.get_isInitialized())this.initialize();return this._contentElement;},_showPage:function Sys$UI$Form$_showPage(url,params){if(!this.get_isInitialized())this.initialize();if(url){if(!this.get_autoSize()){var element=this._contentElement;var clientSize="ClientHeight="+(element.offsetHeight-10-18);clientSize+=",ClientWidth="+(element.offsetWidth-10-18);this.set_clientSize(clientSize);} else{this.set_clientSize(null);} this.showPage(url,null,params);}},showModal:function Sys$UI$Form$showModal(url,params){this.set_isModal(true);this._disableScreen();url=$common.encodeUrlParams(url,params);this._showPage(url,params);},doCloseClick:function Sys$UI$Form$doCloseClick(){var id=this.get_closeButton();if(id){var closeButton=this[id];if(!closeButton){throw Error.invalidOperation("按钮 "+id+" 不存在");} closeButton.focusThenClick();} else{this.close();}},_disableScreen:function(){var screenOverlay=this._screenOverlay;if(!screenOverlay){this._screenOverlay=screenOverlay=$common.createGlyphDiv();this._initScreenOverlay(screenOverlay);document.body.appendChild(screenOverlay);} else{this._initScreenOverlay(screenOverlay);Sys.UI.DomElement.setVisible(screenOverlay,true);}},_enableScreen:function(){if(this._repositionHandler){$common.removeResizeHandler(window,this._repositionHandler);$common.removeScrollHandler(window,this._repositionHandler);this._repositionHandler=null;} this._removeScreenOverlay();},_removeScreenOverlay:function(){if(this._screenOverlay){$removeNode(this._screenOverlay);this._screenOverlay=null;}},_initScreenOverlay:function(div){this._initScreenOverlayPosition(div);this._internalInitOverlay(div,-1);this._repositionHandler=Function.createDelegate(this,this._doWindowPeposition);$common.addResizeHandler(window,this._repositionHandler);$common.addScrollHandler(window,this._repositionHandler);},_initScreenOverlayPosition:function(div){var r=window.getClientBounds();var r1=$common.getBounds(document.body);if(r.width>r1.width){r.width=r1.width;} var p=window.getClientScrollPosition();r.x+=p.x;r.y+=p.y;$common.setPosition(div,r.x,r.y,r.width,r.height);},_doWindowPeposition:function(e){if(this._screenOverlay){this._initScreenOverlayPosition(this._screenOverlay);}}}
Sys.UI.Form.registerClass('Sys.UI.Form',Sys.UI.CustomForm);Sys.UI.Form.create=function(properties,events){return $create(Sys.UI.Form,properties,null,events);}
Type.registerNamespace("Sys.UI.Validation");Sys.UI.Validation.ValidationResults=function(){this._validationResults=[];}
Sys.UI.Validation.ValidationResults.prototype={dispose:function(){delete this._validationResults;},addResult:function(validationResult){Array.add(this._validationResults,validationResult);},clear:function(control){if(!control){Array.clear(this._validationResults);} else{var count=this.get_count();for(var i=count-1;i>=0;i--){var result=this.getResult(i);if(result.get_control()==control){Array.removeAt(this._validationResults,i);}}}},get_count:function(){return this._validationResults.length;},get_isValid:function(){return this.get_count()==0;},get_data:function(){return this._validationResults;},get_first:function(){return this.getResult(0);},getResult:function(index){return this._validationResults[index];},toString:function(){var results=new Sys.StringBuilder();var count=this.get_count();for(var i=0;i<count;i++){var result=this.getResult(i);results.appendLine(result.get_message());} return results.toString();}}
Sys.UI.Validation.ValidationResults.registerClass('Sys.UI.Validation.ValidationResults');Sys.UI.Validation.ValidationResult=function(message,control){this._message=message;this._control=control;}
Sys.UI.Validation.ValidationResult.prototype={get_message:function(){return this._message;},get_control:function(){return this._control;}}
Sys.UI.Validation.ValidationResult.registerClass('Sys.UI.Validation.ValidationResult');Sys.UI.Validation.ValidationManager=function(form){this._validationNode=null;this._validationResults=new Sys.UI.Validation.ValidationResults();this._hintBox=null;this._form=form;}
Sys.UI.Validation.ValidationManager.prototype={initialize:function(){},dispose:function(){if(this._hintBox){this._hintBox.dispose();this._hintBox=null;} if(this._validationResults){this._validationResults.dispose();this._validationResults=null;} this._validationNode=null;this._form=null;},get_form:function(){return this._form;},get_validationNode:function(){return this._validationNode;},set_validationNode:function(value){this._validationNode=value;},get_isValid:function(){return this._validationResults.get_isValid();},_hideHintBox:function(){if(this._hintBox){this._hintBox.hide();}},addValidationResult:function(message,control){var validationResult=new Sys.UI.Validation.ValidationResult(message,control);this._validationResults.addResult(validationResult);},clearResults:function(){this._validationResults.clear();this._hideHintBox();},validate:function(dataField,value,_label,key,control,parentValidationNode){if(!parentValidationNode){parentValidationNode=this._validationNode;} if(parentValidationNode){var childNode=this._doGetChildValidationNode(parentValidationNode,dataField);if(childNode){var inputAction=null;if(control&&control.getInputAction){inputAction=control.getInputAction();} var validators=childNode[childNode._name];var count=validators.length;for(var i=0;i<count;i++){var validator=validators[i];if(!validator.get_tag()){if(_label&&_label.endsWith("*")){_label=_label.substr(0,_label.length-1);} validator.set_tag(_label);} if(validator.set_form){validator.set_form(this.get_form());} if(inputAction){validator.set_inputAction(inputAction);} validator.validate(value,key,control,this._validationResults);} return childNode;}} return null;},getChildValidationNode:function(dataField){return this._doGetChildValidationNode(this._validationNode,dataField);},_initValidationNodeInternal:function(node,dataField){node._name=dataField?dataField:"";return node;},_doGetChildValidationNode:function(parent,dataField){if(!dataField){return this._initValidationNodeInternal(parent,dataField);} var pos=dataField.indexOf('.');if(pos>0){var objName=dataField.substring(0,pos);dataField=dataField.substr(pos+1);var newParent=this._doGetChildValidationNodeInternal(parent,objName);return newParent?this._doGetChildValidationNode(newParent,dataField):null;} else{return this._doGetChildValidationNodeInternal(parent,dataField);}},_doGetChildValidationNodeInternal:function(parent,dataField){var childNodes=parent.childNodes;var count=childNodes.length;for(var i=0;i<count;i++){var node=childNodes[i];for(var name in node){if(name==dataField){return this._initValidationNodeInternal(node,dataField);}}} return null;},checkResults:function(){if(!this.get_isValid()){this.showResults(true);throw Error.abort();}},checkResultsVisible:function(control){if(this._hintBox&&this._hintBox.get_visible()){if(!this.get_isValid()){this._validationResults.clear(control);} return true;} return false;},showResults:function(focusFirstControl){if(this.get_isValid()){this._hideHintBox();return;} var hintBox=this._hintBox;if(!hintBox){hintBox=this._hintBox=new Sys.UI._HintBox();} var results=this._validationResults;var firstControl=results.get_first().get_control();var text="";for(var i=0,count=results.get_count();i<count;i++){var result=results.getResult(i);if(result.get_control()==firstControl){var message=result.get_message();if(text){text+="\n";} text+=message;}} if(firstControl){var parentControl=firstControl.get_parent();if(parentControl&&Sys.UI.Controls.TabPage&&Sys.UI.Controls.TabPage.isInstanceOfType(parentControl)&&!parentControl.get_selected()){parentControl.get_pageControl().set_selectedTab(parentControl);}} hintBox.show(text,firstControl);if(focusFirstControl&&firstControl.focus){window.asyncCall(function(){firstControl.focus();});}}}
Sys.UI.Validation.ValidationManager.registerClass('Sys.UI.Validation.ValidationManager');Sys.UI.Validation.Validator=function(){this._messageTemplate=null;this._tag=null;this._inputAction="输入";}
Sys.UI.Validation.Validator.prototype={get_messageTemplate:function(){var messageTemplate=this._messageTemplate;return messageTemplate?messageTemplate:this.getDefaultMessageTemplate();},set_messageTemplate:function(value){this._messageTemplate=value;},get_tag:function(){return this._tag;},set_tag:function(value){this._tag=value;},get_inputAction:function(){return this._inputAction;},set_inputAction:function(value){this._inputAction=value;},validate:function(target,key,control,validationResults){if(null==validationResults){throw Error.argumentNull("validationResults");} this.doValidate(target,key,control,validationResults);},doValidate:function(target,key,control,validationResults){},getDefaultMessageTemplate:function(){},logValidationResult:function(validationResults,message,control){validationResults.addResult(new Sys.UI.Validation.ValidationResult(message,control));},getTag:function(key){return key?key+this._tag:this._tag;},getMessage:function(target,key){return String.format(this.get_messageTemplate(),this.getTag(key),target);}}
Sys.UI.Validation.Validator.registerClass('Sys.UI.Validation.Validator');var $createValidator=Sys.UI.Validation.Validator.create=function(type,properties){if(!type.inheritsFrom(Sys.UI.Validation.Validator)){throw Error.argument('type',String.format(Sys.Res.createNotValidator,type.getName()));} var validator=new type();if(properties){Sys$Component$_setProperties(validator,properties);} return validator;}
Type.registerNamespace("Sys.UI.Validation.Validators");Sys.UI.Validation.Validators.ValueValidator=function(){Sys.UI.Validation.Validators.ValueValidator.initializeBase(this);this._negated=false;}
Sys.UI.Validation.Validators.ValueValidator.prototype={getDefaultMessageTemplate:function(){if(this._negated){return this.getDefaultNegatedMessageTemplate();} else{return this.getDefaultNonNegatedMessageTemplate();}},getDefaultNonNegatedMessageTemplate:function(){},getDefaultNegatedMessageTemplate:function(){},get_negated:function(){return this._negated;},set_negated:function(value){this._negated=value;}}
Sys.UI.Validation.Validators.ValueValidator.registerClass('Sys.UI.Validation.Validators.ValueValidator',Sys.UI.Validation.Validator);Sys.UI.Validation.Validators.NotNullValidator=function(){Sys.UI.Validation.Validators.NotNullValidator.initializeBase(this);}
Sys.UI.Validation.Validators.NotNullValidator.prototype={doValidate:function(target,key,control,validationResults){var error=Object.isUndefinedOrNull(target);if(!error&&Date.isInstanceOfType(target)){error=target.getFullYear()==1;} if(error==!this.get_negated()){this.logValidationResult(validationResults,this.getMessage(target,key),control);}},getDefaultNonNegatedMessageTemplate:function(){return"请"+this.get_inputAction()+"“{0}”";},getDefaultNegatedMessageTemplate:function(){return"“{0}”要求为空";}}
Sys.UI.Validation.Validators.NotNullValidator.registerClass('Sys.UI.Validation.Validators.NotNullValidator',Sys.UI.Validation.Validators.ValueValidator);Sys.UI.Validation.Validators.NotEmptyValidator=function(){Sys.UI.Validation.Validators.NotEmptyValidator.initializeBase(this);}
Sys.UI.Validation.Validators.NotEmptyValidator.prototype={doValidate:function(target,key,control,validationResults){var error=Object.isEmpty(target);if(error==!this.get_negated()){this.logValidationResult(validationResults,this.getMessage(target,key),control);}}}
Sys.UI.Validation.Validators.NotEmptyValidator.registerClass('Sys.UI.Validation.Validators.NotEmptyValidator',Sys.UI.Validation.Validators.NotNullValidator);Sys.UI.Validation.Validators.RangeBoundaryType=function(){throw Error.notImplemented();}
Sys.UI.Validation.Validators.RangeBoundaryType.prototype={ignore:0,inclusive:1,exclusive:2}
Sys.UI.Validation.Validators.RangeBoundaryType.registerEnum("Sys.UI.Validation.Validators.RangeBoundaryType");Sys.UI.Validation.Validators.RangeValidator=function(){Sys.UI.Validation.Validators.RangeValidator.initializeBase(this);this._lowerBound=null;this._lowerBoundType=Sys.UI.Validation.Validators.RangeBoundaryType.ignore;this._upperBound=null;this._upperBoundType=Sys.UI.Validation.Validators.RangeBoundaryType.ignore;}
Sys.UI.Validation.Validators.RangeValidator.prototype={get_lowerBound:function(){return this._lowerBound;},set_lowerBound:function(value){this._lowerBound=value;},get_lowerBoundType:function(){return this._lowerBoundType;},set_lowerBoundType:function(value){this._lowerBoundType=value;},get_upperBound:function(){return this._upperBound;},set_upperBound:function(value){this._upperBound=value;},get_upperBoundType:function(){return this._upperBoundType;},set_upperBoundType:function(value){this._upperBoundType=value;},doValidate:function(target,key,control,validationResults){this._checkProps();var isObjectToValidateNull=Object.isUndefinedOrNull(target);var error=!isObjectToValidateNull&&!this._isInRange(target);if(isObjectToValidateNull||error!=this.get_negated()){this.logValidationResult(validationResults,this.getMessage(target,key),control);}},_isInRange:function(target){var ignore=Sys.UI.Validation.Validators.RangeBoundaryType.ignore;var exclusive=Sys.UI.Validation.Validators.RangeBoundaryType.exclusive;if(this._lowerBoundType>ignore){if(target<this._lowerBound){return false;} if(this._lowerBoundType==exclusive&&target==this._lowerBound){return false;}} if(this._upperBoundType>ignore){if(target>this._upperBound){return false;} if(this._upperBoundType==exclusive&&target==this._upperBound){return false;}} return true;},_checkProps:function(){var ignore=Sys.UI.Validation.Validators.RangeBoundaryType.ignore;if(this._lowerBound==null&&this._lowerBoundType!=ignore)throw Error.argument("The lower bound cannot be null unless it's type is Ignore.");if(this._upperBound==null&&this._upperBoundType!=ignore)throw Error.argument("The upper bound cannot be null unless it's type is Ignore.");if(this._lowerBoundType!=ignore&&this._upperBoundType!=ignore&&this._upperBound<this._lowerBound){throw Error.argument("Upper bound cannot be lower than lower bound.");}},_getBoundTypeName:function(boundType){switch(boundType){case Sys.UI.Validation.Validators.RangeBoundaryType.ignore:return"忽略";case Sys.UI.Validation.Validators.RangeBoundaryType.inclusive:return"包括";case Sys.UI.Validation.Validators.RangeBoundaryType.exclusive:return"不包括";}},_getLowerBoundTypeString:function(){return this._lowerBoundType==Sys.UI.Validation.Validators.RangeBoundaryType.inclusive?"等于":"";},_getUpperBoundTypeString:function(){return this._upperBoundType==Sys.UI.Validation.Validators.RangeBoundaryType.inclusive?"等于":"";},getMessage:function(target,key){return String.format(this.get_messageTemplate(),this.getTag(key),this._lowerBound,this._getBoundTypeName(this._lowerBoundType),this._upperBound,this._getBoundTypeName(this._upperBoundType),target);},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”要求在“{1}({2})－{3}({4})”范围内";},getDefaultNegatedMessageTemplate:function(){return"“{0}”不能在“{1}({2})－{3}({4})”范围内";}}
Sys.UI.Validation.Validators.RangeValidator.registerClass('Sys.UI.Validation.Validators.RangeValidator',Sys.UI.Validation.Validators.ValueValidator);Sys.UI.Validation.Validators.MinValueValidator=function(){Sys.UI.Validation.Validators.MinValueValidator.initializeBase(this);}
Sys.UI.Validation.Validators.MinValueValidator.prototype={getMessage:function(target,key){return String.format(this.get_messageTemplate(),this.getTag(key),this._lowerBound,this._lowerBoundType,target);},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”要求大于"+this._getLowerBoundTypeString()+"“{1}”";;},getDefaultNegatedMessageTemplate:function(){return"“{0}”不能大于"+this._getLowerBoundTypeString()+"“{1}”";}}
Sys.UI.Validation.Validators.MinValueValidator.registerClass('Sys.UI.Validation.Validators.MinValueValidator',Sys.UI.Validation.Validators.RangeValidator);Sys.UI.Validation.Validators.MaxValueValidator=function(){Sys.UI.Validation.Validators.MaxValueValidator.initializeBase(this);}
Sys.UI.Validation.Validators.MaxValueValidator.prototype={getMessage:function(target,key){return String.format(this.get_messageTemplate(),this.getTag(key),this._upperBound,this._upperBoundType,target);},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”要求小于"+this._getUpperBoundTypeString()+"“{1}”";;},getDefaultNegatedMessageTemplate:function(){return"“{0}”不能小于"+this._getUpperBoundTypeString()+"“{1}”";}}
Sys.UI.Validation.Validators.MaxValueValidator.registerClass('Sys.UI.Validation.Validators.MaxValueValidator',Sys.UI.Validation.Validators.RangeValidator);Sys.UI.Validation.Validators.LengthValidator=function(){Sys.UI.Validation.Validators.LengthValidator.initializeBase(this);}
Sys.UI.Validation.Validators.LengthValidator.prototype={doValidate:function(target,key,control,validationResults){this._checkProps();var isObjectToValidateNull=Object.isUndefinedOrNull(target);var error=!isObjectToValidateNull&&!this._isInRange(target.length);if(isObjectToValidateNull||error!=this.get_negated()){this.logValidationResult(validationResults,this.getMessage(target,key),control);}},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”长度要求在“{1}({2})－{3}({4})”范围内";},getDefaultNegatedMessageTemplate:function(){return"“{0}”长度不能在“{1}({2})－{3}({4})”范围内";}}
Sys.UI.Validation.Validators.LengthValidator.registerClass('Sys.UI.Validation.Validators.LengthValidator',Sys.UI.Validation.Validators.RangeValidator);Sys.UI.Validation.Validators.MinLengthValidator=function(){Sys.UI.Validation.Validators.MinLengthValidator.initializeBase(this);}
Sys.UI.Validation.Validators.MinLengthValidator.prototype={getMessage:function(target,key){return String.format(this.get_messageTemplate(),this.getTag(key),this._lowerBound,this._lowerBoundType,target);},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”长度要求大于"+this._getLowerBoundTypeString()+"“{1}”";;},getDefaultNegatedMessageTemplate:function(){return"“{0}”长度不能大于"+this._getLowerBoundTypeString()+"“{1}”";}}
Sys.UI.Validation.Validators.MinLengthValidator.registerClass('Sys.UI.Validation.Validators.MinLengthValidator',Sys.UI.Validation.Validators.LengthValidator);Sys.UI.Validation.Validators.MaxLengthValidator=function(){Sys.UI.Validation.Validators.MaxLengthValidator.initializeBase(this);}
Sys.UI.Validation.Validators.MaxLengthValidator.prototype={getMessage:function(target,key){return String.format(this.get_messageTemplate(),this.getTag(key),this._upperBound,this._upperBoundType,target);},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”长度要求小于"+this._getUpperBoundTypeString()+"“{1}”";;},getDefaultNegatedMessageTemplate:function(){return"“{0}”长度不能小于"+this._getUpperBoundTypeString()+"“{1}”";}}
Sys.UI.Validation.Validators.MaxLengthValidator.registerClass('Sys.UI.Validation.Validators.MaxLengthValidator',Sys.UI.Validation.Validators.LengthValidator);Sys.UI.Validation.Validators.EqualsToValidator=function(){Sys.UI.Validation.Validators.EqualsToValidator.initializeBase(this);this._name=null;this._form=null;}
Sys.UI.Validation.Validators.EqualsToValidator.prototype={get_name:function(){return this._name;},set_name:function(value){this._name=value;},set_form:function(value){this._form=value;},doValidate:function(target,key,control,validationResults){if(!this._form){throw Error.argumentNull("this._form");} var control2=this._form[this._name];if(!control2){throw new Error.invalidOperation(String.format(Sys.Res.referenceNotFound,this._name));} var value2=control2.get_value();var error=target!=value2;var label2=null;if(control2.get_label){label2=control2.get_label();} label2=label2||this._name;if(error==!this.get_negated()){this.logValidationResult(validationResults,this.getMessage(key,label2),control);}},getMessage:function(key,label2){return String.format(this.get_messageTemplate(),this.getTag(key),label2);},getDefaultNonNegatedMessageTemplate:function(){return"“{0}”要求与“{1}”相同";},getDefaultNegatedMessageTemplate:function(){return"“{0}”要求与“{1}”不同";}}
Sys.UI.Validation.Validators.EqualsToValidator.registerClass('Sys.UI.Validation.Validators.EqualsToValidator',Sys.UI.Validation.Validators.ValueValidator);Sys.UI.Controls.Selector=function(){Sys.UI.Controls.Selector.initializeBase(this);}
Sys.UI.Controls.Selector.prototype={initialize:function(){Sys.UI.Controls.Selector.callBaseMethod(this,'initialize');},dispose:function(){Sys.UI.Controls.Selector.callBaseMethod(this,'dispose');},doButtonClick:function(sender){},doSelectorInit:function(sender,eventArgs){},doSelectorLoaded:function(sender,eventArgs){},doSelectorSelected:function(sender,eventArgs){}}
Sys.UI.Controls.Selector.registerClass('Sys.UI.Controls.Selector',Sys.Component);Sys.UI.Controls.DraggingBehavior=function(element){Sys.UI.Controls.DraggingBehavior.initializeBase(this,[element]);this._handle=null;this._location=null;this._dragStartLocation=null;this._mouseDownHandler=Function.createDelegate(this,this._doMouseDown);this._mouseMoveHandler=Function.createDelegate(this,this._drag);this._mouseUpHandler=Function.createDelegate(this,this._doMouseUp);this._keyPressHandler=Function.createDelegate(this,this._doKeyPress);this._draging=false;}
Sys.UI.Controls.DraggingBehavior.prototype={initialize:function(){Sys.UI.Controls.DraggingBehavior.callBaseMethod(this,'initialize');var el=this.get_element();if(!this._location){this._location=$common.getLocation(el);}},dispose:function(){if(this._handle&&this._mouseDownHandler){$common.removeMouseDownHandler(this._handle,this._mouseDownHandler);} this._mouseDownHandler=null;this._handle=null;Sys.UI.Controls.DraggingBehavior.callBaseMethod(this,'dispose');},add_startDrag:function(handler,handlerOwner){this.get_events().addHandler('startDrag',handler,handlerOwner);},remove_startDrag:function(handler){this.get_events().removeHandler('startDrag',handler);},add_endDrag:function(handler,handlerOwner){this.get_events().addHandler('endDrag',handler,handlerOwner);},remove_endDrag:function(handler){this.get_events().removeHandler('endDrag',handler);},get_handle:function(){return this._handle;},set_handle:function(value){if(this._handle!=null){$common.removeMouseDownHandler(this._handle,this._mouseDownHandler);} this._handle=value;$common.addMouseDownHandler(this._handle,this._mouseDownHandler);},get_location:function(){return this._location;},set_location:function(value){if(this._location!=value){this._location=value;if(this.get_isInitialized()){$common.setLocation(this.get_element(),this._location);} this.raisePropertyChanged('location');}},_checkCanDrag:function(element){var undraggableTagNames=["input","button","select","textarea","label"];var tagName=element.tagName;if((tagName.toLowerCase()=="a")&&(element.href!=null)&&(element.href.length>0)){return false;} if(Array.indexOf(undraggableTagNames,tagName.toLowerCase())>-1){return false;} return true;},_doMouseDown:function(e){if(this._checkCanDrag(e.target)){this._dragStartLocation=$common.getLocation(this.get_element());this._mouseStartLocation={x:e.clientX,y:e.clientY};e.preventDefault();this._startDrag();}},_startDrag:function(){this._draging=true;var handler=this.get_events().getHandler('startDrag');if(handler){handler(this);} this.get_handle().style.cursor='move';$common.addMouseMoveHandler(document,this._mouseMoveHandler);$common.addMouseUpHandler(document,this._mouseUpHandler);$common.addKeyPressHandler(document,this._keyPressHandler);},_drag:function Sys$UI$Controls$DraggingBehavior$_drag(e){if(!this._draging||this.get_isDisposed())return;var x=this._dragStartLocation.x+e.clientX-this._mouseStartLocation.x;var y=this._dragStartLocation.y+e.clientY-this._mouseStartLocation.y;Sys.UI.DomElement.setLocation(this.get_element(),x>=0?x:0,y>=0?y:0);e.preventDefault();},_doMouseUp:function(e){this._endDrag(false);},_doKeyPress:function(e){var k=e.keyCode?e.keyCode:e.rawEvent.keyCode;if(k==27){this._endDrag(true);}},_endDrag:function Sys$UI$Controls$DraggingBehavior$_endDrag(canceled){if(this.get_isDisposed())return;if(!canceled){var handler=this.get_events().getHandler('endDrag');if(handler){var cancelArgs=new Sys.CancelEventArgs();handler(this,cancelArgs);canceled=cancelArgs.get_cancel();}} var elt=this.get_element();if(canceled){$common.setLocation(elt,this._dragStartLocation);} else{this._location=$common.getLocation(elt);this.raisePropertyChanged('location');} $common.removeMouseMoveHandler(document,this._mouseMoveHandler);$common.removeMouseUpHandler(document,this._mouseUpHandler);$common.removeKeyPressHandler(document,this._keyPressHandler);this.get_handle().style.cursor='default';this._draging=false;}}
Sys.UI.Controls.DraggingBehavior.registerClass('Sys.UI.Controls.DraggingBehavior',Sys.UI.Behavior);Sys.UI.Controls.DraggingBehavior.create=function(element,handleElement,events){return $create(Sys.UI.Controls.DraggingBehavior,{"handle":handleElement},element,events,null);};Sys.UI.Controls.VerificationCode=function(element){Sys.UI.Controls.VerificationCode.initializeBase(this,[element]);this._requireClick=true;this._imageSrc=null;}
Sys.UI.Controls.VerificationCode.prototype={get_imageSrc:function(){return this._imageSrc;},set_imageSrc:function(value){this._imageSrc=value;},change:function(){var t=new Date().getTime()-new Date(2008,6,11).getTime();this.get_element().src=this.get_imageSrc()+"&T="+t;},doClick:function(e){Sys.UI.Controls.VerificationCode.callBaseMethod(this,'doClick',[e]);this.change();}}
Sys.UI.Controls.VerificationCode.registerClass('Sys.UI.Controls.VerificationCode',Sys.UI.Controls.NoFocusContainer);Sys.UI._HintBox=function(){this._tableElement=null;}
Sys.UI._HintBox.prototype={dispose:function Sys$UI$_HintBox$dispose(){this._control=null;this.hide();},get_visible:function Sys$UI$_HintBox$get_visible(){return this._tableElement!=null;},get_control:function Sys$UI$_HintBox$get_control(){return this._control;},show:function Sys$UI$_HintBox$show(text,control){var textLength=0;var lines=text.split('\n');for(var i=0,count=lines.length;i<count;i++){var line=lines[i];textLength=Math.max(textLength,String.getByteLength(line));} var skinElement=$skin.getElement("common","hintBox");var closeImage=$skin.getImage("common","hintBoxClose");var closeImagePadding=3;var width=textLength*6+skinElement.spacing+closeImage.width+closeImagePadding;var minWidth=100;var maxWidth=400;if(width<minWidth){width=minWidth;} else if(width>maxWidth){width=maxWidth;} var minHeight=27;var top=-1;this.hide();var isLeft=true;var table=this._tableElement=$common.createTable();var offsetPos=0;this._control=control;if(control){pointToElement=control.get_element();} if(pointToElement){var r=Sys.UI.DomElement.getLocation(pointToElement);var left=r.x;top=r.y-minHeight+1;if(top<0){top=0;} var r=Sys.UI.DomElement.getBounds(document.body);offsetPos=left+width-r.width;if(offsetPos>0){left-=offsetPos;} table.style.position="absolute";table.style.left=left+"px";table.style.top=top+"px";} else{table.style.position="";} table.width=width;table.style.zIndex=Sys.Application.getPopupElementZIndex();var body=$common.createTBody();var tr=$common.createTr();var td=$common.createTd();td.style.backgroundColor=skinElement.bgColor;td.style.borderLeft=td.style.borderRight=td.style.borderTop=skinElement.border;var div=$common.createDiv();div.style.color=skinElement.color;div.style.padding=skinElement.padding;var img=String.format("<div style=\"float:left;padding-right:{3}px\;margin-top:-1px;\"><img src=\"{0}\" width=\"{1}\" height=\"{2}\" /></div>",closeImage.src,closeImage.width,closeImage.height,closeImagePadding);text=img+"<div style=\"float:left\">"+$common.textToHtml(text)+"</div>";div.innerHTML=text;td.appendChild(div);tr.appendChild(td);body.appendChild(tr);tr=$common.createTr();var skinImage=$skin.getImage("common","hintBoxTop");td=$common.createTd();td.style.height=skinImage.height+"px";if(offsetPos<=0){td.style.backgroundRepeat="no-repeat";td.style.backgroundImage=$skin.getImageUrl(skinImage);} else{text=String.format("<div style='border-top:{0};width:{1}px;float:left;'></div>"+"<div style=\"float:left;background-image:{2};background-repeat:no-repeat;width:{3}px\"></div><div style='clear=both'/>",skinElement.border,offsetPos,$skin.getImageUrl(skinImage),width-offsetPos);td.innerHTML=text;} tr.appendChild(td);body.appendChild(tr);table.appendChild(body);$common.addClickHandler(table,this._click,this);document.body.appendChild(table);var heightOffset=table.offsetHeight-minHeight;if(heightOffset>0&&top>=0){top-=heightOffset;if(top<0){top=0;} table.style.top=top+"px";}},_click:function(e){this.hide();if(this._control){this._control.focus();}},hide:function Sys$UI$_HintBox$hide(){var tableElement=this._tableElement;if(tableElement){$clearHandlers(tableElement);$removeNode(tableElement);this._tableElement=null;}}}
Sys.UI._HintBox.registerClass('Sys.UI._HintBox');Sys.UI.Controls.LayoutGroup=function(element){Sys.UI.Controls.LayoutGroup.initializeBase(this,[element]);}
Sys.UI.Controls.LayoutGroup.prototype={set_visible:function(value){var element=this.get_element();var parentLayoutElement=element.parentNode;var borderElement=parentLayoutElement;if(borderElement&&borderElement.className=="LayoutGroupBorder"){Sys.UI.DomElement.setVisible(borderElement,value);parentLayoutElement=borderElement.parentNode;} if(parentLayoutElement&&parentLayoutElement.tagName=="TD"){Sys.UI.DomElement.setVisible(parentLayoutElement,value);} Sys.UI.Controls.LayoutGroup.callBaseMethod(this,'set_visible',[value]);this._doSetVisible(element,value,true);},_doSetVisible:function(parentElement,value,isRoot){if(!isRoot){Sys.UI.DomElement.setVisible(parentElement,value);var control=parentElement.control;if(control&&control.set_visible){control.set_visible(value);}} var childNodes=parentElement.childNodes;for(var i=0,count=childNodes.length;i<count;i++){var element=childNodes[i];if(element.tagName){this._doSetVisible(element,value,false);}}},swapDisplayOrder:function(rowIndex1,rowIndex2){if(rowIndex1>=rowIndex2){throw Error.invalidOperation("rowIndex1 应小于 rowIndex2");} var element=this.get_element();var trElements=$common.getTableBody(element);var count=trElements.childNodes.length;this._checkRowIndex(rowIndex1,count,"rowIndex1");this._checkRowIndex(rowIndex2,count,"rowIndex2");var row1=trElements.childNodes[rowIndex1];var row2=trElements.childNodes[rowIndex2];trElements.removeChild(row2);trElements.insertBefore(row2,row1);trElements.removeChild(row1);if(rowIndex2<=trElements.childNodes.length-1){trElements.insertBefore(row1,trElements.childNodes[rowIndex2]);} else{trElements.appendChild(row1);}},_checkRowIndex:function(index,count,paramName){if(index<0||index>=count){throw Error.argumentOutOfRange(paramName,index,"参数值应 >= 0 并 <= "+(count-1));}},_getCaptionElement:function(){var answer=null;var element=this.get_element();var row=$common.getTableFirstRow(element);if(row){answer=$common.getFirstChildByClassName(row,"LayoutGroupCaption");} if(!answer){throw Error.invalidOperation("没有 Caption");} return answer;},get_caption:function(){var captionElement=this._getCaptionElement();return captionElement?captionElement.innerHTML:"";},set_caption:function(value){var captionElement=this._getCaptionElement();if(captionElement){captionElement.innerHTML=value||"";}}}
Sys.UI.Controls.LayoutGroup.registerClass('Sys.UI.Controls.LayoutGroup',Sys.UI.Controls.NoFocusContainer);Sys.UI.Controls.Silverlight=function(element){Sys.UI.Controls.Silverlight.initializeBase(this,[element]);}
Sys.UI.Controls.Silverlight.prototype={}
Sys.UI.Controls.Silverlight.registerClass('Sys.UI.Controls.Silverlight',Sys.UI.Controls.NoFocusContainer);Sys.UI.MessageBox=function(){}
Sys.UI.MessageBox._showModal=function(message,type,buttons,handler,handlerOwner){message=message?message.toString():"";var textLength=0;var lines=message.split('\n');for(var i=0,count=lines.length;i<count;i++){var line=lines[i];textLength=Math.max(textLength,line.length);} var formWidth=textLength*12+32+20+20+10;var isSysType=type!=2;var minWidth=isSysType?200:300;var r=window.getClientBounds();var maxWidth=r.width-100;if(formWidth<minWidth){formWidth=minWidth;} else if(formWidth>maxWidth){formWidth=maxWidth;} var form=Sys.UI.Form.create({caption:"系统提示",borderStyle:Sys.UI.FormBorderStyle.fixedToolWindow,width:formWidth,height:120,autoSize:true,showCloseButton:isSysType?true:false});var html='<table border="0" cellpadding="0" cellspacing="0" style="table-layout:fixed" width="'+(formWidth-20)+'">';var icon=__skinBaseURI+"ui/icons/"+(type==0?"warning.gif":"question.gif");var bgColor="background-color:"+$skin.getDisabledBackgroundColor();var messageHtml=message.indexOf("</")>0?message:$common.textToHtml(message);html+='<tr>'+'<td style="'+bgColor+';width:32px;padding:10px;"><image src="'+icon+'" width="32" height="32" /></td>'+'<td style="'+bgColor+';padding:10px 10px 10px 0px;" align="center" valign="top">'+'<table border="0" cellpadding="0" cellspacing="0"><tr><td align="left">'+messageHtml+'</td></tr></table>'+'</td></tr>';html+='<tr><td colspan="2" style="padding-top:10px;">';var no=new Date().getTime();var buttonCount,captions,props,tags;var okProp={"buttonKind":1};var cancelProp={"buttonKind":2,"cancel":true};if(type==0){buttonCount=1;captions=['确定'];props=[cancelProp];tags=[true];} else if(type==1){buttonCount=2;captions=['确定','取消'];props=[okProp,cancelProp];tags=[true,false];} else{buttonCount=buttons.length;captions=buttons;var closeProp={"buttonKind":2};props=new Array(buttonCount);tags=new Array(buttonCount);for(var i=0;i<buttonCount;i++){props[i]=closeProp;tags[i]=i;}} for(var i=0;i<buttonCount;i++){var id="btn"+(no+i);if(i>0){html+='<span class="HSpacer" style="padding-left:9px;">&nbsp;</span>';} html+='<button id="'+id+'" class="Button">'+captions[i]+'</button>';} html+='</td>';html+='</table>';form.setCenterMiddleContent(html);form._result=false;var doButtonClick=function(sender){form._result=sender.get_tag();};for(var i=0;i<buttonCount;i++){var id="btn"+(no+i);var prop=props[i];prop.tag=tags[i];$create(Sys.UI.Controls.Button,prop,id,{click:doButtonClick},form);} form.add_closed(function(){if(handler){if(handlerOwner){handler=Function.createDelegate(handlerOwner,handler);} handler(form._result);}});form.set_id("frm"+no);Sys.Application.addForm(form);form.doInit();form.focusActiveControl();form.showModal();}
Sys.UI.MessageBox.alert=function(message,handler,handlerOwner){Sys.UI.MessageBox._showModal(message,0,null,handler,handlerOwner);}
Sys.UI.MessageBox.confirm=function(message,handler,handlerOwner){Sys.UI.MessageBox._showModal(message,1,null,handler,handlerOwner);}
Sys.UI.MessageBox.ask=function(message,buttons,handler,handlerOwner){if(!buttons||typeof(buttons)!="object"||!(buttons.length>=1)){throw Error.argumentOutOfRange("buttons",buttons);} Sys.UI.MessageBox._showModal(message,2,buttons,handler,handlerOwner);}
window.asForm=function(obj){return obj;}
window.asEdit=function(obj){return obj;}
window.asButton=function(obj){return obj;}
window.asLabel=function(obj){return obj;}
window.asImage=function(obj){return obj;}
window.asSelectorEdit=function(obj){return obj;}
window.asCheckBox=function(obj){return obj;}
window.asEnterPressEventArgs=function(obj){return obj;}
window.asSelectorSelectedEventArgs=function(obj){return obj;}
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();