JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / swingjs / j2s / java / lang / Class.js
1 if(window["Clazz"]==null){Class=Clazz=function(){};NullObject=function(){};JavaObject=Object;Clazz.supportsNativeObject=window["j2s.object.native"];if(Clazz.supportsNativeObject){JavaObject=function(){};}JavaObject.prototype.equals=function(obj){return this==obj;};JavaObject.prototype.hashCode=function(){try{return this.toString().hashCode();}catch(e){var str=":";for(var s in this){str+=s+":"}return str.hashCode();}};JavaObject.prototype.getClass=function(){return Clazz.getClass(this);};JavaObject.prototype.clone=function(){var o=new this.constructor();for(var i in this){o[i]=this[i];}return o;};JavaObject.prototype.finalize=function(){};JavaObject.prototype.notify=function(){};JavaObject.prototype.notifyAll=function(){};JavaObject.prototype.wait=function(){};JavaObject.prototype.to$tring=Object.prototype.toString;JavaObject.prototype.toString=function(){if(this.__CLASS_NAME__!=null){return"["+this.__CLASS_NAME__+" object]";}else{return this.to$tring();}};if(Clazz.supportsNativeObject){Clazz.extendedObjectMethods=["equals","hashCode","getClass","clone","finalize","notify","notifyAll","wait","to$tring","toString"];for(var i=0;i<Clazz.extendedObjectMethods.length;i++){var p=Clazz.extendedObjectMethods[i];Array.prototype[p]=JavaObject.prototype[p];}JavaObject.__CLASS_NAME__="Object";JavaObject["getClass"]=function(){return Clazz._O;};}InternalFunction=Object;Clazz.getClassName=function(Hz){if(Hz==null){return"NullObject";}if(typeof Hz=="function"){var clazz=Hz;if(clazz.__CLASS_NAME__!=null){if(arguments[1]!=true){return"Class";}return clazz.__CLASS_NAME__;}var Sc=clazz.toString();var idx0=Sc.indexOf("function");if(idx0==-1){if(Sc.charAt(0)=='['){var Nc=Sc.substring(1,Sc.length-1);if(Nc.indexOf("object ")!=-1){return Nc.substring(7);}return Nc;}else{return Sc.replace(/[^a-zA-Z0-9]/g,'');}}var idx1=idx0+8;var idx2=Sc.indexOf("(",idx1);if(idx2==-1){return"Object";}var Nc=Sc.substring(idx1,idx2).replace(/^\s+/,"").replace(/\s+$/,"");if(Nc=="anonymous"){return"Function";}else{return Nc;}}else{var obj=Hz;if(obj instanceof Clazz.CastedNull){return obj.Nc;}else{var oT=typeof obj;if(oT=="string"){return"String";}else if(oT=="object"){if(obj.__CLASS_NAME__!=null){return obj.__CLASS_NAME__;}else if(obj.constructor==null){return"Object";}else{if(obj.constructor.__CLASS_NAME__==null){if(obj instanceof Number){return"Number";}else if(obj instanceof Boolean){return"Boolean";}else if(obj instanceof Array){return"Array";}}return Clazz.getClassName(obj.constructor,true);}}else if(oT=="number"){return"Number";}else if(oT=="boolean"){return"Boolean";}return Clazz.getClassName(obj.constructor,true);}}};Clazz.getClass=function(Hz){if(Hz==null){return Clazz._O;}if(typeof Hz=="function"){return Hz;}else{var Nc=null;var obj=Hz;if(obj instanceof Clazz.CastedNull){Nc=obj.Nc;}else{var oT=typeof obj;if(oT=="string"){return String;}else if(typeof obj=="object"){if(obj.__CLASS_NAME__!=null){Nc=obj.__CLASS_NAME__;}else if(obj.constructor==null){return Clazz._O;}else{return obj.constructor;}}}if(Nc!=null){return Clazz.evalType(Nc,true);}else{return obj.constructor;}}};Clazz.eP=function(Th,Sh){for(var o in Sh){if(o!="b$"&&o!="prototype"&&o!="superClazz"&&o!="__CLASS_NAME__"&&o!="implementz"&&!Clazz.cIF(Sh,o)){Th[o]=Sh[o];}}};Clazz.cIF=function(Sh,Nf){for(var k=0;k<Clazz.iFN.length;k++){if(Nf==Clazz.iFN[k]&&Clazz.innerFunctions[Nf]===Sh[Nf]){return true;}}return false;};Clazz.ip=function(Th,Sh){for(var o in Sh){if(o!="b$"&&o!="prototype"&&o!="superClazz"&&o!="__CLASS_NAME__"&&o!="implementz"){if(typeof Sh[o]=="function"){if(Clazz.cIF(Sh,o)){continue;}}Th[o]=Sh[o];Th.prototype[o]=Sh[o];}}};Clazz.aIC=function(){};Clazz.inheritArgs=new Clazz.aIC();Clazz.xic=function(Tz,clazzSuper,oSp){Clazz.eP(Tz,clazzSuper);if(Clazz.isClassUnloaded(Tz)){}else if(oSp!=null){Tz.prototype=oSp;}else if(clazzSuper!==Number){Tz.prototype=new clazzSuper(Clazz.inheritArgs);}else{Tz.prototype=new Number();}Tz.superClazz=clazzSuper;Tz.prototype.__CLASS_NAME__=Tz.__CLASS_NAME__;};Clazz.implementOf=function(Tz,interfacez){if(arguments.length>=2){if(Tz.implementz==null){Tz.implementz=new Array();}var impls=Tz.implementz;if(arguments.length==2){if(typeof interfacez=="function"){impls[impls.length]=interfacez;Clazz.ip(Tz,interfacez);}else if(interfacez instanceof Array){for(var i=0;i<interfacez.length;i++){impls[impls.length]=interfacez[i];Clazz.ip(Tz,interfacez[i]);}}}else{for(var i=1;i<arguments.length;i++){impls[impls.length]=arguments[i];Clazz.ip(Tz,arguments[i]);}}}};Clazz.extendInterface=Clazz.implementOf;Clazz.eOE=function(Tz,anc){if(Tz===anc){return 0;}if(Tz.implementz!=null){var impls=Tz.implementz;for(var i=0;i<impls.length;i++){var level=Clazz.eOE(impls[i],anc);if(level>=0){return level+1;}}}return-1;};Clazz.gIL=function(tg,bs){if(tg===bs){return 0;}var isTgtStr=(typeof tg=="string");var isBaseStr=(typeof bs=="string");if((isTgtStr&&("void"==tg||"unknown"==tg))||(isBaseStr&&("void"==bs||"unknown"==bs))){return-1;}if((isTgtStr&&"NullObject"==tg)||NullObject===tg){if(bs!==Number&&bs!==Boolean&&bs!==NullObject){return 0;}}if(isTgtStr){tg=Clazz.evalType(tg);}if(isBaseStr){bs=Clazz.evalType(bs);}if(bs==null||tg==null){return-1;}var level=0;var zzalc=tg;while(zzalc!==bs&&level<10){if(zzalc.implementz!=null){var impls=zzalc.implementz;for(var i=0;i<impls.length;i++){var implsLevel=Clazz.eOE(impls[i],bs);if(implsLevel>=0){return level+implsLevel+1;}}}zzalc=zzalc.superClazz;if(zzalc==null){if(bs===Object||bs===JavaObject){return level+1.5;}else{return-1;}}level++;}return level;};Clazz.instanceOf=function(obj,clazz){if(obj==null){return clazz==undefined;}if(clazz==null){return false;}if(obj instanceof clazz){return true;}else{var Nc=Clazz.getClassName(obj);return Clazz.gIL(Nc,clazz)>=0;}};Clazz.superCall=function(To,Tz,Nf,funParams){var fx=null;var i=-1;var Fc=To[Nf];if(Fc!=null){if(Fc.claxxOwner!=null){if(Fc.claxxOwner!==Tz){fx=Fc;}}else if(Fc.stacks==null&&!(Fc.lastClaxxRef!=null&&Fc.lastClaxxRef.prototype[Nf]!=null&&Fc.lastClaxxRef.prototype[Nf].stacks!=null)){fx=Fc;}else{var stacks=Fc.stacks;if(stacks==null){stacks=Fc.lastClaxxRef.prototype[Nf].stacks;}var length=stacks.length;for(i=length-1;i>=0;i--){if(Tz===stacks[i]){if(i>0){i--;fx=stacks[i].prototype[Nf];}else{fx=stacks[0].prototype[Nf]["\\unknown"];}break;}else if(Clazz.gIL(Tz,stacks[i])>0){fx=stacks[i].prototype[Nf];break;}}}}if(fx!=null){if(i==0&&Nf=="construct"){var ss=Fc.stacks;if(ss!=null&&ss[0].superClazz==null&&ss[0].con$truct!=null){ss[0].con$truct.apply(To,[]);}}if(Clazz.tracingCalling){var caller=arguments.callee.caller;if(caller===Clazz.superConstructor){caller=caller.arguments.callee.caller;}Clazz.pu$hCalling(new Clazz.callingStack(caller,Tz));var ret=fx.apply(To,(funParams==null)?[]:funParams);Clazz.p0pCalling();return ret;}return fx.apply(To,(funParams==null)?[]:funParams);}else if(Nf=="construct"){return;}throw new Clazz.MethodNotFoundException(To,Tz,Nf,Clazz.getParamsType(funParams).typeString);};Clazz.superConstructor=function(To,Tz,funParams){Clazz.superCall(To,Tz,"construct",funParams);if(Tz.con$truct!=null){Tz.con$truct.apply(To,[]);}};Clazz.CastedNull=function(asClazz){if(asClazz!=null){if(asClazz instanceof String){this.Nc=asClazz;}else if(asClazz instanceof Function){this.Nc=Clazz.getClassName(asClazz,true);}else{this.Nc=""+asClazz;}}else{this.Nc="Object";}this.toString=function(){return null;};this.valueOf=function(){return null;};};Clazz.castNullAs=function(asClazz){return new Clazz.CastedNull(asClazz);};Clazz.MethodException=function(){};Clazz.MethodNotFoundException=function(){this.toString=function(){return"MethodNotFoundException";};};Clazz.getParamsType=function(funParams){var params=new Array();params.hasCastedNull=false;if(funParams!=null){for(var i=0;i<funParams.length;i++){params[i]=Clazz.getClassName(funParams[i]);if(funParams[i]instanceof Clazz.CastedNull){params.hasCastedNull=true;}}}if(params.length==0){params[0]="void";}params.typeString="\\"+params.join('\\');return params;};Clazz.saem=function(To,claxxRef,fxName,funParams){var params=Clazz.getParamsType(funParams);var fx=To[fxName];if(fx.lastParams==params.typeString&&fx.lastClaxxRef===claxxRef){var methodParams=null;if(params.hasCastedNull){methodParams=new Array();for(var k=0;k<funParams.length;k++){if(funParams[k]instanceof Clazz.CastedNull){methodParams[k]=null;}else{methodParams[k]=funParams[k];}}}else{methodParams=funParams;}if(fx.lastMethod!=null){return fx.lastMethod.apply(To,methodParams);}else{return;}}fx.lastParams=params.typeString;fx.lastClaxxRef=claxxRef;var stacks=fx.stacks;if(stacks==null){stacks=claxxRef.prototype[fxName].stacks;}var length=stacks.length;var began=false;for(var i=length-1;i>-1;i--){if(began||stacks[i]===claxxRef){var Fc=stacks[i].prototype[fxName];var ret=Clazz.tsae(To,Fc,params,funParams,fx);if(!(ret instanceof Clazz.MethodException)){return ret;}began=true;}}if("construct"==fxName){return;}throw new Clazz.MethodNotFoundException(To,claxxRef,fxName,params.typeString);};Clazz.ie$plit="\\2".split(/\\/).length==1;Clazz.tracingCalling=false;Clazz.tsae=function(To,Fc,params,funParams,fx){var methods=new Array();var generic=true;for(var fn in Fc){if(fn.charCodeAt(0)==92){var ps=(Clazz.ie$plit?fn:fn.substring(1)).split(/\\/);if(ps.length==params.length){methods[methods.length]=ps;}generic=false;continue;}if(generic&&fn=="funParams"&&Fc.funParams!=null){fn=Fc.funParams;var ps=(Clazz.ie$plit?fn:fn.substring(1)).split(/\\/);if(ps.length==params.length){methods[0]=ps;}break;}}if(methods.length==0){return new Clazz.MethodException();}var method=Clazz.sM(methods,params);if(method!=null){var f=null;if(generic){f=Fc;}else{f=Fc["\\"+method];}var methodParams=null;if(params.hasCastedNull){methodParams=new Array();for(var k=0;k<funParams.length;k++){if(funParams[k]instanceof Clazz.CastedNull){methodParams[k]=null;}else{methodParams[k]=funParams[k];}}}else{methodParams=funParams;}if(Clazz.tracingCalling){var caller=arguments.callee.caller;caller=caller.arguments.callee.caller;caller=caller.arguments.callee.caller;var xpushed=f.exName=="construct"&&Clazz.gIL(f.exClazz,Throwable)>=0&&!Clazz.initializingException;if(xpushed){Clazz.initializingException=true;var xcaller=caller.arguments.callee.caller.arguments.callee.caller;var fun=xcaller.arguments.callee;var owner=fun.claxxReference;if(owner==null){owner=fun.exClazz;}if(owner==null){owner=fun.claxxOwner;}Clazz.pu$hCalling(new Clazz.callingStack(xcaller,owner));}var noInnerWrapper=caller!==Clazz.instantialize&&caller!==Clazz.superCall;if(noInnerWrapper){var fun=caller.arguments.callee;var owner=fun.claxxReference;if(owner==null){owner=fun.exClazz;}if(owner==null){owner=fun.claxxOwner;}Clazz.pu$hCalling(new Clazz.callingStack(caller,owner));}fx.lastMethod=f;var ret=f.apply(To,methodParams);if(noInnerWrapper){Clazz.p0pCalling();}if(xpushed){Clazz.p0pCalling();}return ret;}fx.lastMethod=f;return f.apply(To,methodParams);}return new Clazz.MethodException();};Clazz.initializingException=false;Clazz.sM=function(rO,pts){var rT=new Array();for(var i=0;i<rO.length;i++){var fL=new Array();var isFitted=true;for(var j=0;j<rO[i].length;j++){fL[j]=Clazz.gIL(pts[j],rO[i][j]);if(fL[j]<0){isFitted=false;break;}}if(isFitted){fL[pts.length]=i;rT[rT.length]=fL;}}if(rT.length==0){return null;}var rtT=rT;var min=rtT[0];for(var i=1;i<rtT.length;i++){var vl=true;for(var j=0;j<pts.length;j++){if(min[j]<rtT[i][j]){vl=false;;break;}}if(vl){min=rtT[i];}}var index=min[pts.length];return rO[index].join('\\');};Clazz.gDM=function(claxxRef,Nf){var delegating=function(){var r=arguments;return SAEM(this,r.callee.claxxReference,r.callee.methodName,r);};delegating.methodName=Nf;delegating.claxxReference=claxxRef;return delegating;};SAEM=Clazz.saem;Clazz.expExpandParameters=function($0,$1){if($1=='N'){return"Number";}else if($1=='B'){return"Boolean"}else if($1=='S'){return"String";}else if($1=='O'){return"Object";}else if($1=='A'){return"Array"}return"Unknown";};Clazz.formatParameters=function(funParams){if(funParams==null||funParams.length==0){return"\\void";}else{var s=funParams;s=s.replace(/~([NABSO])/g,Clazz.expExpandParameters);return s.replace(/\s+/g,"").replace(/^|,/g,"\\").replace(/\$/g,"org.eclipse.s");}};Clazz.overrideMethod=function(Tz,Nf,Bf,funParams){if(Clazz.assureInnerClass)Clazz.assureInnerClass(Tz,Bf);Bf.exName=Nf;var fpName=Clazz.formatParameters(funParams);Bf.funParams=fpName;Bf.claxxOwner=Tz;Tz.prototype[Nf]=Bf;return Bf;};Clazz.defineMethod=function(Tz,Nf,Bf,funParams){if(Clazz.assureInnerClass)Clazz.assureInnerClass(Tz,Bf);Bf.exName=Nf;var fpName=Clazz.formatParameters(funParams);var f$=Tz.prototype[Nf];if(f$==null||(f$.claxxOwner===Tz&&f$.funParams==fpName)){Bf.funParams=fpName;Bf.claxxOwner=Tz;Tz.prototype[Nf]=Bf;Bf.exClazz=Tz;return Bf;}var oldFun=null;var oldStacks=new Array();if(f$.stacks==null){oldFun=f$;if(f$.claxxOwner!=null){oldStacks[0]=oldFun.claxxOwner;}}else{oldStacks=f$.stacks;}if(f$.stacks==null||f$.claxxReference!==Tz){f$=Tz.prototype[Nf]=Clazz.gDM(Tz,Nf);var arr=new Array();for(var i=0;i<oldStacks.length;i++){arr[i]=oldStacks[i];}f$.stacks=arr;}var ss=f$.stacks;if(ss.length==0){ss[ss.length]=Tz;}else{var existed=false;for(var i=ss.length-1;i>=0;i--){if(ss[i]===Tz){existed=true;break;}}if(!existed){ss[ss.length]=Tz;}}if(oldFun!=null){if(oldFun.claxxOwner===Tz){f$[oldFun.funParams]=oldFun;oldFun.claxxOwner=null;oldFun.funParams=null;}else if(oldFun.claxxOwner==null){f$["\\unknown"]=oldFun;}}Bf.exClazz=Tz;f$[fpName]=Bf;return f$;};Clazz.makeConstructor=function(Tz,Bf,funParams){var Nf="construct";Clazz.defineMethod(Tz,Nf,Bf,funParams);if(Tz.con$truct!=null){Tz.con$truct.index=Tz.con$truct.stacks.length;}};Clazz.allPackage=new Object();Clazz.allClasses=new Object();Clazz.lastPackageName=null;Clazz.lastPackage=null;Clazz.unloadedClasses=new Array();Clazz.isClassUnloaded=function(clzz){var thisClassName=Clazz.getClassName(clzz,true);return Clazz.unloadedClasses[thisClassName]!=null;};Clazz.declarePackage=function(pkgName){if(Clazz.lastPackageName==pkgName){return Clazz.lastPackage;}if(pkgName!=null&&pkgName.length!=0){var pkgFrags=pkgName.split(/\./);var pkg=Clazz.allPackage;for(var i=0;i<pkgFrags.length;i++){if(pkg[pkgFrags[i]]==null){pkg[pkgFrags[i]]={__PKG_NAME__:((pkg.__PKG_NAME__!=null)?pkg.__PKG_NAME__+"."+pkgFrags[i]:pkgFrags[i])};if(i==0){window[pkgFrags[i]]=pkg[pkgFrags[i]];}}pkg=pkg[pkgFrags[i]]}Clazz.lastPackageName=pkgName;Clazz.lastPackage=pkg;return pkg;}};Clazz.evalType=function(typeStr,isQualified){var idx=typeStr.lastIndexOf(".");if(idx!=-1){var pkgName=typeStr.substring(0,idx);var pkg=Clazz.declarePackage(pkgName);var Nc=typeStr.substring(idx+1);return pkg[Nc];}else if(isQualified){return window[typeStr];}else if(typeStr=="number"){return Number;}else if(typeStr=="object"){return Clazz._O;}else if(typeStr=="string"){return String;}else if(typeStr=="boolean"){return Boolean;}else if(typeStr=="function"){return Function;}else if(typeStr=="void"||typeStr=="undefined"||typeStr=="unknown"){return typeStr;}else if(typeStr=="NullObject"){return NullObject;}else{return window[typeStr];}};Clazz.defineType=function(Nq,Fc,pc,interfacez){var cf=Clazz.unloadedClasses[Nq];if(cf!=null){Fc=cf;}var idx=Nq.lastIndexOf(".");if(idx!=-1){var pkgName=Nq.substring(0,idx);var pkg=Clazz.declarePackage(pkgName);var Nc=Nq.substring(idx+1);if(pkg[Nc]!=null){return pkg[Nc];}pkg[Nc]=Fc;}else{if(window[Nq]!=null){return window[Nq];}window[Nq]=Fc;}Clazz.decorateAsType(Fc,Nq,pc,interfacez);return Fc;};Clazz.isSafari=(navigator.userAgent.indexOf("Safari")!=-1);Clazz.isSafari4Plus=false;if(Clazz.isSafari){var ua=navigator.userAgent;var verIdx=ua.indexOf("Version/");if(verIdx!=-1){var verStr=ua.substring(verIdx+8);var verNumber=parseFloat(verStr);Clazz.isSafari4Plus=verNumber>=4.0;}}Clazz.instantialize=function(To,args){if(args!=null&&args.length==1&&args[0]!=null&&args[0]instanceof Clazz.aIC){return;}if(To instanceof Number){To.valueOf=function(){return this;};}if(Clazz.isSafari4Plus){var argsClone=new Array();for(var k=0;k<args.length;k++){argsClone[k]=args[k];}args=argsClone;}var c=To.construct;if(c!=null){if(To.con$truct==null){c.apply(To,args);}else if(To.getClass().superClazz==null){To.con$truct.apply(To,[]);c.apply(To,args);}else if((c.claxxOwner!=null&&c.claxxOwner===To.getClass())||(c.stacks!=null&&c.stacks[c.stacks.length-1]==To.getClass())){c.apply(To,args);}else{if(c.claxxOwner!=null&&c.claxxOwner.superClazz==null&&c.claxxOwner.con$truct!=null){c.claxxOwner.con$truct.apply(To,[]);}else if(c.stacks!=null&&c.stacks.length==1&&c.stacks[0].superClazz==null){c.stacks[0].con$truct.apply(To,[]);}c.apply(To,args);To.con$truct.apply(To,[]);}}else if(To.con$truct!=null){To.con$truct.apply(To,[]);}};Clazz.iFN=["equals","getName","getClassLoader","getResourceAsStream"];Clazz.innerFunctions={equals:function(aFun){return this===aFun;},getName:function(){return Clazz.getClassName(this,true);},getClassLoader:function(){var Nc=this.__CLASS_NAME__;var bFr=ClazzLoader.getClasspathFor(Nc);var x=bFr.lastIndexOf(Nc.replace(/\./g,"/"));if(x!=-1){bFr=bFr.substring(0,x);}else{bFr=ClazzLoader.getClasspathFor(Nc,true);}var loader=ClassLoader.requireLoaderByBase(bFr);loader.getResourceAsStream=Clazz.innerFunctions.getResourceAsStream;return loader;},getResourceAsStream:function(name){var is=null;if(name==null){return is;}if(java.io.InputStream!=null){is=new java.io.InputStream();}else{is=new Clazz._O();is.__CLASS_NAME__="java.io.InputStream";is.close=NullObject;}is.read=function(){return 0;};name=name.replace(/\\/g,'/');var bFr=null;var Nc=this.__CLASS_NAME__;if(arguments.length==2&&name.indexOf('/')!=0){name="/"+name;}if(name.indexOf('/')==0){if(arguments.length==2){bFr=arguments[1];if(bFr==null){bFr=ClazzLoader.binaryFolders[0];}}else if(window["ClazzLoader"]!=null){bFr=ClazzLoader.getClasspathFor(Nc,true);}if(bFr==null||bFr.length==0){is.url=name.substring(1);}else{bFr=bFr.replace(/\\/g,'/');var length=bFr.length;var lastChar=bFr.charAt(length-1);if(lastChar!='/'){bFr+="/";}is.url=bFr+name.substring(1);}}else{if(this.base!=null){bFr=this.base;}else if(window["ClazzLoader"]!=null){bFr=ClazzLoader.getClasspathFor(Nc);var x=bFr.lastIndexOf(Nc.replace(/\./g,"/"));if(x!=-1){bFr=bFr.substring(0,x);}else{bFr=ClazzLoader.getClasspathFor(Nc,true);}}else{var bins=Clazz.binaryFolders;if(bins!=null&&bins.length!=0){bFr=bins[0];}}if(bFr==null||bFr.length==0){bFr="bin/";}bFr=bFr.replace(/\\/g,'/');var length=bFr.length;var lastChar=bFr.charAt(length-1);if(lastChar!='/'){bFr+="/";}if(this.base!=null){is.url=bFr+name;}else{var idx=Nc.lastIndexOf('.');if(idx==-1||this.base!=null){is.url=bFr+name;}else{is.url=bFr+Nc.substring(0,idx).replace(/\./g,'/')+"/"+name;}}}return is;}};Clazz.dF=function(Fc,prefix,name){if(window["ClazzLoader"]!=null){ClazzLoader.checkInteractive();}var qName=null;if(prefix==null){qName=name;window[name]=Fc;}else if(prefix.__PKG_NAME__!=null){qName=prefix.__PKG_NAME__+"."+name;prefix[name]=Fc;if(prefix===java.lang){window[name]=Fc;}}else{qName=prefix.__CLASS_NAME__+"."+name;prefix[name]=Fc;}Fc.__CLASS_NAME__=qName;if(Clazz.supportsNativeObject){for(var i=0;i<Clazz.extendedObjectMethods.length;i++){var p=Clazz.extendedObjectMethods[i];Fc.prototype[p]=JavaObject.prototype[p];}}Fc.prototype.__CLASS_NAME__=qName;var inF=Clazz.iFN;for(var i=0;i<inF.length;i++){Fc[inF[i]]=Clazz.innerFunctions[inF[i]];}if(window["ClazzLoader"]!=null){var node=ClazzLoader.fC(qName);if(node!=null&&node.status==1){window.setTimeout((function(nnn){return function(){ClazzLoader.uN(nnn);};})(node),1);}}};Clazz.declareInterface=function(prefix,name,interfacez){var Fc=function(){};Clazz.dF(Fc,prefix,name);if(interfacez!=null){Clazz.implementOf(Fc,interfacez);}return Fc;};Clazz.decorateAsClass=function(Fc,prefix,name,pc,interfacez,pi){var prefixName=null;if(prefix!=null){prefixName=prefix.__PKG_NAME__;if(prefixName==null){prefixName=prefix.__CLASS_NAME__;}}var qName=(prefixName==null?"":prefixName+".")+name;var cf=Clazz.unloadedClasses[qName];if(cf!=null){Fc=cf;}var qName=null;Clazz.dF(Fc,prefix,name);if(pi!=null){Clazz.xic(Fc,pc,pi);}else if(pc!=null){Clazz.xic(Fc,pc);}if(interfacez!=null){Clazz.implementOf(Fc,interfacez);}return Fc;};Clazz.declareType=function(prefix,name,pc,interfacez,pi){var f=function(){Clazz.instantialize(this,arguments);};return Clazz.decorateAsClass(f,prefix,name,pc,interfacez,pi);};Clazz.declareAnonymous=function(prefix,name,pc,interfacez,pi){var f=function(){Clazz.prepareCallback(this,arguments);Clazz.instantialize(this,arguments);};return Clazz.decorateAsClass(f,prefix,name,pc,interfacez,pi);};Clazz.decorateAsType=function(Fc,Nq,pc,interfacez,pi,inheritClazzFuns){Fc.__CLASS_NAME__=Nq;if(Clazz.supportsNativeObject){for(var i=0;i<Clazz.extendedObjectMethods.length;i++){var p=Clazz.extendedObjectMethods[i];Fc.prototype[p]=JavaObject.prototype[p];}}Fc.prototype.__CLASS_NAME__=Nq;Fc.equals=Clazz.innerFunctions.equals;Fc.getName=Clazz.innerFunctions.getName;if(inheritClazzFuns){for(var i=0;i<Clazz.iFN.length;i++){var methodName=Clazz.iFN[i];Fc[methodName]=Clazz.innerFunctions[methodName];}}if(pi!=null){Clazz.xic(Fc,pc,pi);}else if(pc!=null){Clazz.xic(Fc,pc);}if(interfacez!=null){Clazz.implementOf(Fc,interfacez);}return Fc;};Clazz.declarePackage("java.io");Clazz.declarePackage("java.lang.annotation");Clazz.declarePackage("java.lang.instrument");Clazz.declarePackage("java.lang.management");Clazz.declarePackage("java.lang.reflect");Clazz.declarePackage("java.lang.ref");java.lang.ref.reflect=java.lang.reflect;Clazz.declarePackage("java.util");Clazz.declareInterface(java.io,"Closeable");Clazz.declareInterface(java.io,"DataInput");Clazz.declareInterface(java.io,"DataOutput");Clazz.declareInterface(java.io,"Externalizable");Clazz.declareInterface(java.io,"Flushable");Clazz.declareInterface(java.io,"Serializable");Clazz.declareInterface(java.lang,"Iterable");Clazz.declareInterface(java.lang,"CharSequence");Clazz.declareInterface(java.lang,"Cloneable");Clazz.declareInterface(java.lang,"Appendable");Clazz.declareInterface(java.lang,"Comparable");Clazz.declareInterface(java.lang,"Runnable");Clazz.declareInterface(java.util,"Comparator");java.lang.ClassLoader={__CLASS_NAME__:"ClassLoader"};}if(window["Clazz"]==null||window["Clazz"].unloadClass==null){Clazz.MethodNotFoundException=function(obj,clazz,method,params){var paramStr="";if(params!=null){paramStr=params.substring(1).replace(/\\/g,",");}var leadingStr="";if(method!=null&&method!="construct"){leadingStr="Method";}else{leadingStr="Constructor";}this.message=leadingStr+" "+Clazz.getClassName(clazz,true)+"."+method+"("+paramStr+") is not found!";this.toString=function(){return"MethodNotFoundException:"+this.message;}};Clazz.prepareCallback=function(To,args){var classThisObj=args[0];var cbName="b$";if(To!=null&&classThisObj!=null&&classThisObj!==window){var obs=new Array();if(To[cbName]==null){To[cbName]=obs;}else{for(var s in To[cbName]){if(s!="length"){obs[s]=To[cbName][s];}}To[cbName]=obs;}var className=Clazz.getClassName(classThisObj,true);obs[className.replace(/org\.eclipse\.swt\./,"$wt.")]=classThisObj;var clazz=Clazz.getClass(classThisObj);while(clazz.superClazz!=null){clazz=clazz.superClazz;obs[Clazz.getClassName(clazz,true).replace(/org\.eclipse\.swt\./,"$wt.")]=classThisObj;}var cbs=classThisObj[cbName];if(cbs!=null&&cbs instanceof Array){for(var s in cbs){if(s!="length"){obs[s]=cbs[s];}}}}for(var i=0;i<args.length-1;i++){args[i]=args[i+1];}args.length--;};Clazz.innerTypeInstance=function(clazzInner,To,finalVars){if(clazzInner==null){clazzInner=arguments.callee.caller;}var obj=null;if(arguments.length==3){obj=new clazzInner(To);}else if(arguments.length==4){if(To.__CLASS_NAME__==clazzInner.__CLASS_NAME__&&arguments[3]===Clazz.inheritArgs){obj=To;}else{obj=new clazzInner(To,arguments[3]);}}else if(arguments.length==5){obj=new clazzInner(To,arguments[3],arguments[4]);}else if(arguments.length==6){obj=new clazzInner(To,arguments[3],arguments[4],arguments[5]);}else if(arguments.length==7){obj=new clazzInner(To,arguments[3],arguments[4],arguments[5],arguments[6]);}else if(arguments.length==8){obj=new clazzInner(To,arguments[3],arguments[4],arguments[5],arguments[6],arguments[7]);}else if(arguments.length==9){obj=new clazzInner(To,arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]);}else if(arguments.length==10){obj=new clazzInner(To,arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9]);}else{obj=new clazzInner();if(obj.construct==null){throw new String("No support anonymous class constructor with "+"more than 7 parameters.");}var args=new Array();for(var i=3;i<arguments.length;i++){args[i-3]=arguments[i];}obj.construct.apply(obj,args);}if(finalVars!=null&&To.f$==null){obj.f$=finalVars;}else if(finalVars==null&&To.f$!=null){obj.f$=To.f$;}else if(finalVars!=null&&To.f$!=null){var o=new Object();for(var attr in To.f$){o[attr]=To.f$[attr];}for(var attr in finalVars){o[attr]=finalVars[attr];}obj.f$=o;}return obj;};Clazz.cloneFinals=function(){var o=new Object();var length=arguments.length/2;for(var i=0;i<length;i++){o[arguments[i+i]]=arguments[i+i+1];}return o;};Clazz.isClassDefined=Clazz.isDefinedClass=function(Nc){if(Nc!=null&&Nc.length!=0){if(Clazz.allClasses[Nc]){return true;}var pkgFrags=Nc.split(/\./);var pkg=null;for(var i=0;i<pkgFrags.length;i++){if(pkg==null){if(Clazz.allPackage[pkgFrags[0]]==null){return false;}pkg=Clazz.allPackage[pkgFrags[0]];}else{if(pkg[pkgFrags[i]]==null){return false;}pkg=pkg[pkgFrags[i]]}}if(pkg!=null){Clazz.allClasses[Nc]=true;return true;}else{return false;}}else{return false;}};Clazz.defineEnumConstant=function(clazzEnum,enumName,enumOrdinal,initialParams,clazzEnumExt){var o=null;if(clazzEnumExt!=null){o=new clazzEnumExt();}else{o=new clazzEnum();}Clazz.superConstructor(o,clazzEnum,[enumName,enumOrdinal]);if(initialParams!=null&&initialParams.length!=0){o.construct.apply(o,initialParams);}clazzEnum[enumName]=o;clazzEnum.prototype[enumName]=o;return o;};Clazz.newArray=function(){var args=arguments;if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0];}}if(args.length<=1){return new Array();}else if(args.length==2){var dim=args[0];if(typeof dim=="string"){dim=dim.charCodeAt(0);}var val=args[1];var arr=new Array(dim);for(var i=0;i<dim;i++){arr[i]=val;}return arr;}else{var dim=args[0];if(typeof dim=="string"){dim=dim.charCodeAt(0);}var len=args.length-1;var xargs=new Array(len);for(var i=0;i<len;i++){xargs[i]=args[i+1];}var arr=new Array(dim);for(var i=0;i<dim;i++){arr[i]=Clazz.newArray(xargs);}return arr;}};Clazz.makeFunction=function(jsr){return function(e){if(e==null){e=window.event;}if(jsr.setEvent!=null){jsr.setEvent(e);}jsr.run();if(jsr.returnSet==1){return jsr.returnNumber;}else if(jsr.returnSet==2){return jsr.returnBoolean;}else if(jsr.returnSet==3){return jsr.returnObject;}};};Clazz.defineStatics=function(clazz){for(var i=0;i<(arguments.length-1)/2;i++){var name=arguments[i+i+1];clazz[name]=clazz.prototype[name]=arguments[i+i+2];}};Clazz.prepareFields=function(clazz,fieldsFun){var stacks=new Array();if(clazz.con$truct!=null){var ss=clazz.con$truct.stacks;var idx=clazz.con$truct.index;for(var i=idx;i<ss.length;i++){stacks[i]=ss[i];}}clazz.con$truct=clazz.prototype.con$truct=function(){var stacks=arguments.callee.stacks;if(stacks!=null){for(var i=0;i<stacks.length;i++){stacks[i].apply(this,[]);}}};stacks[stacks.length]=fieldsFun;clazz.con$truct.stacks=stacks;clazz.con$truct.index=0;};Clazz.registerSerializableFields=function(clazz){var args=arguments;var length=args.length;var newArr=new Array();if(clazz.declared$Fields!=null){for(var i=0;i<clazz.declared$Fields.length;i++){newArr[i]=clazz.declared$Fields[i];}}clazz.declared$Fields=newArr;if(length>0&&length%2==1){var fs=clazz.declared$Fields;for(var i=1;i<=(length-1)/2;i++){var o={name:args[i+i-1],type:args[i+i]};var existed=false;for(var j=0;j<fs.length;j++){if(fs[j].name==o.name){fs[j].type=o.type;existed=true;break;}}if(!existed){fs[fs.length]=o;}}}};Clazz.gMCM=function(args){var o=new Object();var argc=args.callee.caller;if(argc==null)return null;if(argc!==Clazz.tsae){argc=argc.arguments.callee.caller;if(argc==null)return null;}if(argc!==Clazz.tsae)return null;argc=argc.arguments.callee.caller;if(argc==null||argc!==Clazz.saem)return null;o.claxxRef=argc.arguments[1];o.fxName=argc.arguments[2];o.pts=Clazz.getParamsType(argc.arguments[3]);argc=argc.arguments.callee.caller;if(argc==null)return null;argc=argc.arguments.callee.caller;if(argc==null)return null;o.caller=argc;return o;};Clazz.checkPrivateMethod=function(args){var m=Clazz.gMCM(args);if(m==null)return null;var callerFx=m.claxxRef.prototype[m.caller.exName];if(callerFx==null)return null;var ppFun=null;if(callerFx.claxxOwner!=null){ppFun=callerFx.claxxOwner.prototype[m.fxName];}else{var stacks=callerFx.stacks;for(var i=stacks.length-1;i>=0;i--){var fx=stacks[i].prototype[m.caller.exName];if(fx===m.caller){ppFun=stacks[i].prototype[m.fxName];}else if(fx!=null){for(var fn in fx){if(fn.indexOf('\\')==0&&fx[fn]===m.caller){ppFun=stacks[i].prototype[m.fxName];break;}}}if(ppFun!=null){break;}}}if(ppFun!=null&&ppFun.claxxOwner==null){ppFun=ppFun["\\"+m.pts];}if(ppFun!=null&&ppFun.isPrivate&&ppFun!==args.callee){return ppFun;}return null;};var $fz=null;var c$=null;Clazz.cst=new Array();Clazz.pu$h=function(){if(c$!=null){Clazz.cst[Clazz.cst.length]=c$;}};Clazz.p0p=function(){if(Clazz.cst.length>0){var clazz=Clazz.cst[Clazz.cst.length-1];Clazz.cst.length--;return clazz;}else{return null;}};Clazz.tracingCalling=false;Clazz.initializingException=false;Clazz.callingStack=function(caller,owner){this.caller=caller;this.owner=owner;};Clazz.callingStackTraces=new Array();Clazz.pu$hCalling=function(stack){Clazz.callingStackTraces[Clazz.callingStackTraces.length]=stack;};Clazz.p0pCalling=function(){var length=Clazz.callingStackTraces.length;if(length>0){var stack=Clazz.callingStackTraces[length-1];Clazz.callingStackTraces.length--;return stack;}else{return null;}};if(window["ClazzLoader"]!=null&&ClazzLoader.binaryFolders!=null){Clazz.binaryFolders=ClazzLoader.binaryFolders;}else{Clazz.binaryFolders=["bin/","","j2slib/"];}Clazz.addBinaryFolder=function(bin){if(bin!=null){var bins=Clazz.binaryFolders;for(var i=0;i<bins.length;i++){if(bins[i]==bin){return;}}bins[bins.length]=bin;}};Clazz.removeBinaryFolder=function(bin){if(bin!=null){var bins=Clazz.binaryFolders;for(var i=0;i<bins.length;i++){if(bins[i]==bin){for(var j=i;j<bins.length-1;j++){bins[j]=bins[j+1];}bins.length--;return bin;}}}return null;};Clazz.setPrimaryFolder=function(bin){if(bin!=null){Clazz.removeBinaryFolder(bin);var bins=Clazz.binaryFolders;for(var i=bins.length-1;i>=0;i--){bins[i+1]=bins[i];}bins[0]=bin;}};Clazz.load=function(musts,clazz,optionals,declaration){if(declaration!=null){declaration();}};java.lang.Object=JavaObject;JavaObject.getName=Clazz.innerFunctions.getName;w$=window;d$=document;System={currentTimeMillis:function(){return new Date().getTime();},props:null,getProperties:function(){return System.props;},setProperties:function(props){System.props=props;},getProperty:function(key,def){if(System.props!=null){return System.props.getProperty(key,def);}if(def!=null){return def;}return key;},setProperty:function(key,val){if(System.props==null){return;}System.props.setProperty(key,val);},currentTimeMillis:function(){return new Date().getTime();},arraycopy:function(src,srcPos,dest,destPos,length){if(src!==dest){for(var i=0;i<length;i++){dest[destPos+i]=src[srcPos+i];}}else{var swap=[];for(var i=0;i<length;i++){swap[i]=src[srcPos+i];}for(var i=0;i<length;i++){dest[destPos+i]=swap[i];}}}};System.out=new Clazz._O();System.out.__CLASS_NAME__="java.io.PrintStream";System.out.print=function(){};System.out.printf=function(){};System.out.println=function(){};System.err=new Clazz._O();System.err.__CLASS_NAME__="java.io.PrintStream";System.err.print=function(){};System.err.printf=function(){};System.err.println=function(){};popup=assert=log=error=window.alert;Thread=function(){};Thread.J2S_THREAD=Thread.prototype.J2S_THREAD=new Thread();Thread.currentThread=Thread.prototype.currentThread=function(){return this.J2S_THREAD;};Clazz.intCast=function(n){var b1=(n&0xff000000)>>24;var b2=(n&0xff0000)>>16;var b3=(n&0xff00)>>8;var b4=n&0xff;if((b1&0x80)!=0){return-(((b1&0x7f)<<24)+(b2<<16)+(b3<<8)+b4+1);}else{return(b1<<24)+(b2<<16)+(b3<<8)+b4;}};Clazz.shortCast=function(s){var b1=(n&0xff00)>>8;var b2=n&0xff;if((b1&0x80)!=0){return-(((b1&0x7f)<<8)+b2+1);}else{return(b1<<8)+b4;}};Clazz.byteCast=function(b){if((b&0x80)!=0){return-((b&0x7f)+1);}else{return b&0xff;}};Clazz.charCast=function(c){return String.fromCharCode(c&0xff).charAt(0);};Clazz.floatCast=function(f){return f;};Clazz.longMasks=[];Clazz.longReverseMasks=[];Clazz.longBits=[];(function(){var arr=[1];for(var i=1;i<53;i++){arr[i]=arr[i-1]+arr[i-1];}Clazz.longBits=arr;Clazz.longMasks[52]=arr[52];for(var i=51;i>=0;i--){Clazz.longMasks[i]=Clazz.longMasks[i+1]+arr[i];}Clazz.longReverseMasks[0]=arr[0];for(var i=1;i<52;i++){Clazz.longReverseMasks[i]=Clazz.longReverseMasks[i-1]+arr[i];}})();Clazz.longLeftShift=function(l,o){if(o==0)return l;if(o>=64)return 0;if(o>52){error("[Java2Script] Error : JavaScript does not support long shift!");return l;}if((l&Clazz.longMasks[o-1])!=0){error("[Java2Script] Error : Such shift operator results in wrong calculation!");return l;}var high=l&Clazz.longMasks[52-32+o];if(high!=0){return high*Clazz.longBits[o]+(l&Clazz.longReverseMasks[32-o])<<0;}else{return l<<o;}};Clazz.intLeftShift=function(n,o){return(n<<o)&0xffffffff;};Clazz.longRightShift=function(l,o){if((l&Clazz.longMasks[52-32])!=0){return Math.round((l&Clazz.longMasks[52-32])/Clazz.longBits[32-o])+(l&Clazz.longReverseMasks[o])>>o;}else{return l>>o;}};Clazz.intRightShift=function(n,o){return n>>o;};Clazz.long0RightShift=function(l,o){return l>>>o;};Clazz.int0RightShift=function(n,o){return n>>>o;};$_L=Clazz.load;$_W=Clazz.declareAnonymous;$_T=Clazz.declareType;$_J=Clazz.declarePackage;$_C=Clazz.decorateAsClass;$_Z=Clazz.instantialize;$_I=Clazz.declareInterface;$_D=Clazz.isClassDefined;$_H=Clazz.pu$h;$_P=Clazz.p0p;$_B=Clazz.prepareCallback;$_N=Clazz.innerTypeInstance;$_K=Clazz.makeConstructor;$_U=Clazz.superCall;$_R=Clazz.superConstructor;$_M=Clazz.defineMethod;$_V=Clazz.overrideMethod;$_S=Clazz.defineStatics;$_E=Clazz.defineEnumConstant;$_F=Clazz.cloneFinals;$_Y=Clazz.prepareFields;$_A=Clazz.newArray;$_O=Clazz.instanceOf;$_G=Clazz.inheritArgs;$_X=Clazz.checkPrivateMethod;$_Q=Clazz.makeFunction;$_s=Clazz.registerSerializableFields;var reflect=Clazz.declarePackage("java.lang.reflect");Clazz.declarePackage("java.security");Clazz.iFN=Clazz.iFN.concat(["getSuperclass","isAssignableFrom","getMethods","getMethod","getDeclaredMethods","getDeclaredMethod","getConstructor","getModifiers","isArray","newInstance"]);Clazz.innerFunctions.getSuperclass=function(){return this.superClazz;};Clazz.innerFunctions.isAssignableFrom=function(clazz){return Clazz.gIL(clazz,this)>=0;};Clazz.innerFunctions.getConstructor=function(){return new java.lang.reflect.Constructor(this,[],[],java.lang.reflect.Modifier.PUBLIC);};Clazz.innerFunctions.getDeclaredMethods=Clazz.innerFunctions.getMethods=function(){var ms=new Array();var p=this.prototype;for(var attr in p){if(typeof p[attr]=="function"&&p[attr].__CLASS_NAME__==null){ms[ms.length]=new java.lang.reflect.Method(this,attr,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC);}}p=this;for(var attr in p){if(typeof p[attr]=="function"&&p[attr].__CLASS_NAME__==null){ms[ms.length]=new java.lang.reflect.Method(this,attr,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC|java.lang.reflect.Modifier.STATIC);}}return ms;};Clazz.innerFunctions.getDeclaredMethod=Clazz.innerFunctions.getMethod=function(name,clazzes){var p=this.prototype;for(var attr in p){if(name==attr&&typeof p[attr]=="function"&&p[attr].__CLASS_NAME__==null){return new java.lang.reflect.Method(this,attr,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC);}}p=this;for(var attr in p){if(name==attr&&typeof p[attr]=="function"&&p[attr].__CLASS_NAME__==null){return new java.lang.reflect.Method(this,attr,[],java.lang.Void,[],java.lang.reflect.Modifier.PUBLIC|java.lang.reflect.Modifier.STATIC);}}return null;};Clazz.innerFunctions.getModifiers=function(){return java.lang.reflect.Modifier.PUBLIC;};Clazz.innerFunctions.isArray=function(){return false;};Clazz.innerFunctions.newInstance=function(){var clz=this;return new clz();};{var inF=Clazz.iFN;for(var i=0;i<inF.length;i++){JavaObject[inF[i]]=Clazz.innerFunctions[inF[i]];Array[inF[i]]=Clazz.innerFunctions[inF[i]];}Array["isArray"]=function(){return true;};}Clazz.forName=function(Nc){if(Clazz.isClassDefined(Nc)){return Clazz.evalType(Nc);}if(window["ClazzLoader"]!=null){ClazzLoader.setLoadingMode("xhr.sync");ClazzLoader.loadClass(Nc);return Clazz.evalType(Nc);}else{Clazz.alert("[Java2Script] Error: No ClassLoader!");}};Clazz.cleanDelegateMethod=function(m){if(m==null)return;if(typeof m=="function"&&m.lastMethod!=null&&m.lastParams!=null&&m.lastClaxxRef!=null){m.lastMethod=null;m.lastParams=null;m.lastClaxxRef=null;}};Clazz.unloadClass=function(Nq){var cc=Clazz.evalType(Nq);if(cc!=null){Clazz.unloadedClasses[Nq]=cc;var Nc=Nq;var pkgFrags=Nc.split(/\./);var pkg=null;for(var i=0;i<pkgFrags.length-1;i++){if(pkg==null){pkg=Clazz.allPackage[pkgFrags[0]];}else{pkg=pkg[pkgFrags[i]]}}if(pkg==null){Clazz.allPackage[pkgFrags[0]]=null;window[pkgFrags[0]]=null;for(var c in window){if(c.indexOf(Nq+"$")==0){Clazz.unloadClass(c);window[c]=null;}}}else{pkg[pkgFrags[pkgFrags.length-1]]=null;for(var c in pkg){if(c.indexOf(pkgFrags[pkgFrags.length-1]+"$")==0){Clazz.unloadClass(pkg.__PKG_NAME__+"."+c);pkg[c]=null;}}}if(Clazz.allClasses[Nq]==true){Clazz.allClasses[Nq]=false;for(var c in Clazz.allClasses){if(c.indexOf(Nq+"$")==0){Clazz.allClasses[c]=false;}}}for(var m in cc){Clazz.cleanDelegateMethod(cc[m]);}for(var m in cc.prototype){Clazz.cleanDelegateMethod(cc.prototype[m]);}if(window["ClazzLoader"]!=null){ClazzLoader.unloadClassExt(Nq);}return true;}return false;};Clazz.addEvent=function(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,false);}else{if(!handler.$$guid)handler.$$guid=Clazz.addEvent.guid++;if(!element.events)element.events={};var handlers=element.events[type];if(!handlers){handlers=element.events[type]={};if(element["on"+type]){handlers[0]=element["on"+type];}}handlers[handler.$$guid]=handler;element["on"+type]=Clazz.handleEvent;}};Clazz.addEvent.guid=1;Clazz.removeEvent=function(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false);}else{if(element.events&&element.events[type]){delete element.events[type][handler.$$guid];}}};Clazz.isVeryOldIE=navigator.userAgent.indexOf("MSIE 6.0")!=-1||navigator.userAgent.indexOf("MSIE 5.5")!=-1||navigator.userAgent.indexOf("MSIE 5.0")!=-1;Clazz.handleEvent=function(event){var returnValue=true;if(!Clazz.isVeryOldIE){event=event||Clazz.fixEvent(((this.ownerDocument||this.document||this).parentWindow||window).event);}else{if(event==null){var evt=null;try{var pWindow=(this.ownerDocument||this.document||this).parentWindow;if(pWindow!=null){evt=pWindow.event;}}catch(e){evt=window.event;}event=Clazz.fixEvent(evt);}}var handlers=this.events[event.type];for(var i in handlers){if(isNaN(i)){continue;}this.$$handleEvent=handlers[i];if(typeof this.$$handleEvent!="function"){continue;}if(this.$$handleEvent(event)===false){returnValue=false;}}return returnValue;};Clazz.fixEvent=function(event){event.preventDefault=Clazz.fixEvent.preventDefault;event.stopPropagation=Clazz.fixEvent.stopPropagation;return event;};Clazz.fixEvent.preventDefault=function(){this.returnValue=false;};Clazz.fixEvent.stopPropagation=function(){this.cancelBubble=true;};}