var dj_global=this;
function dj_undef(B,A){if(!A){A=dj_global
}return(typeof A[B]=="undefined")
}if(dj_undef("djConfig")){var djConfig={}
}var dojo;
if(dj_undef("dojo")){dojo={}
}dojo.version={major:0,minor:2,patch:2,flag:"",revision:Number("$Rev: 2836 $".match(/[0-9]+/)[0]),toString:function(){with(dojo.version){return major+"."+minor+"."+patch+flag+" ("+revision+")"
}}};
dojo.evalObjPath=function(E,D){if(typeof E!="string"){return dj_global
}if(E.indexOf(".")==-1){if((dj_undef(E,dj_global))&&(D)){dj_global[E]={}
}return dj_global[E]
}var C=E.split(/\./);
var A=dj_global;
for(var B=0;
B<C.length;
++B){if(!D){A=A[C[B]];
if((typeof A=="undefined")||(!A)){return A
}}else{if(dj_undef(C[B],A)){A[C[B]]={}
}A=A[C[B]]
}}return A
};
dojo.errorToString=function(A){return((!dj_undef("message",A))?A.message:(dj_undef("description",A)?A:A.description))
};
dojo.raise=function(A,B){if(B){A=A+": "+dojo.errorToString(B)
}var C=dojo.hostenv;
if((!dj_undef("hostenv",dojo))&&(!dj_undef("println",dojo.hostenv))){dojo.hostenv.println("FATAL: "+A)
}throw Error(A)
};
dj_throw=dj_rethrow=function(A,B){dojo.deprecated("dj_throw and dj_rethrow deprecated, use dojo.raise instead");
dojo.raise(A,B)
};
dojo.debug=function(){if(!djConfig.isDebug){return 
}var A=arguments;
if(dj_undef("println",dojo.hostenv)){dojo.raise("dojo.debug not available (yet?)")
}var F=dj_global["jum"]&&!dj_global["jum"].isBrowser;
var C=[(F?"":"DEBUG: ")];
for(var B=0;
B<A.length;
++B){if(!false&&A[B] instanceof Error){var E="["+A[B].name+": "+dojo.errorToString(A[B])+(A[B].fileName?", file: "+A[B].fileName:"")+(A[B].lineNumber?", line: "+A[B].lineNumber:"")+"]"
}else{try{var E=String(A[B])
}catch(D){if(dojo.render.html.ie){var E="[ActiveXObject]"
}else{var E="[unknown]"
}}}C.push(E)
}if(F){jum.debug(C.join(" "))
}else{dojo.hostenv.println(C.join(" "))
}};
dojo.debugShallow=function(A){if(!djConfig.isDebug){return 
}dojo.debug("------------------------------------------------------------");
dojo.debug("Object: "+A);
for(i in A){dojo.debug(i+": "+A[i])
}dojo.debug("------------------------------------------------------------")
};
var dj_debug=dojo.debug;
function dj_eval(s){return dj_global.eval?dj_global.eval(s):eval(s)
}dj_unimplemented=dojo.unimplemented=function(C,B){var A="'"+C+"' not implemented";
if((!dj_undef(B))&&(B)){A+=" "+B
}dojo.raise(A)
};
dj_deprecated=dojo.deprecated=function(B,A,D){var C="DEPRECATED: "+B;
if(A){C+=" "+A
}if(D){C+=" -- will be removed in version: "+D
}dojo.debug(C)
};
dojo.inherits=function(B,A){if(typeof A!="function"){dojo.raise("superclass: "+A+" borken")
}B.prototype=new A();
B.prototype.constructor=B;
B.superclass=A.prototype;
B["super"]=A.prototype
};
dj_inherits=function(B,A){dojo.deprecated("dj_inherits deprecated, use dojo.inherits instead");
dojo.inherits(B,A)
};
dojo.render=(function(){function A(D,C){var E={capable:false,support:{builtin:false,plugin:false},prefixes:D};
for(var B in C){E[B]=false
}return E
}return{name:"",ver:dojo.version,os:{win:false,linux:false,osx:false},html:A(["html"],["ie","opera","khtml","safari","moz"]),svg:A(["svg"],["corel","adobe","batik"]),vml:A(["vml"],["ie"]),swf:A(["Swf","Flash","Mm"],["mm"]),swt:A(["Swt"],["ibm"])}
})();
dojo.hostenv=(function(){var C={isDebug:false,allowQueryConfig:false,baseScriptUri:"",baseRelativePath:"",libraryScriptUri:"",iePreventClobber:false,ieClobberMinimal:true,preventBackButtonFix:true,searchIds:[],parseWidgets:true};
if(typeof djConfig=="undefined"){djConfig=C
}else{for(var A in C){if(typeof djConfig[A]=="undefined"){djConfig[A]=C[A]
}}}var D=djConfig;
function B(G,E,F){return(dj_undef(E,G)?F:G[E])
}return{name_:"(unset)",version_:"(unset)",pkgFileName:"__package__",loading_modules_:{},loaded_modules_:{},addedToLoadingCount:[],removedFromLoadingCount:[],inFlightCount:0,modulePrefixes_:{dojo:{name:"dojo",value:"src"}},setModulePrefix:function(F,E){this.modulePrefixes_[F]={name:F,value:E}
},getModulePrefix:function(E){var F=this.modulePrefixes_;
if((F[E])&&(F[E]["name"])){return F[E].value
}return E
},getTextStack:[],loadUriStack:[],loadedUris:[],post_load_:false,modulesLoadedListeners:[],getName:function(){return this.name_
},getVersion:function(){return this.version_
},getText:function(E){dojo.unimplemented("getText","uri="+E)
},getLibraryScriptUri:function(){dojo.unimplemented("getLibraryScriptUri","")
}}
})();
dojo.hostenv.getBaseScriptUri=function(){if(djConfig.baseScriptUri.length){return djConfig.baseScriptUri
}var B=new String(djConfig.libraryScriptUri||djConfig.baseRelativePath);
if(!B){dojo.raise("Nothing returned by getLibraryScriptUri(): "+B)
}var A=B.lastIndexOf("index.html");
djConfig.baseScriptUri=djConfig.baseRelativePath;
return djConfig.baseScriptUri
};
dojo.hostenv.setBaseScriptUri=function(A){djConfig.baseScriptUri=A
};
dojo.hostenv.loadPath=function(C,B,A){if((C.charAt(0)=="index.html")||(C.match(/^\w+:/))){dojo.raise("relpath '"+C+"'; must be relative")
}var D=this.getBaseScriptUri()+C;
if(djConfig.cacheBust&&dojo.render.html.capable){D+="?"+String(djConfig.cacheBust).replace(/\W+/g,"")
}try{return((!B)?this.loadUri(D,A):this.loadUriAndCheck(D,B,A))
}catch(E){dojo.debug(E);
return false
}};
dojo.hostenv.loadUri=function(D,A){if(this.loadedUris[D]){return 
}var C=this.getText(D,null,true);
if(C==null){return 0
}this.loadedUris[D]=true;
var B=dj_eval(C);
return 1
};
dojo.hostenv.loadUriAndCheck=function(C,E,A){var B=true;
try{B=this.loadUri(C,A)
}catch(D){dojo.debug("failed loading ",C," with error: ",D)
}return((B)&&(this.findModule(E,false)))?true:false
};
dojo.loaded=function(){};
dojo.hostenv.loaded=function(){this.post_load_=true;
var B=this.modulesLoadedListeners;
for(var A=0;
A<B.length;
A++){B[A]()
}dojo.loaded()
};
dojo.addOnLoad=function(B,A){if(arguments.length==1){dojo.hostenv.modulesLoadedListeners.push(B)
}else{if(arguments.length>1){dojo.hostenv.modulesLoadedListeners.push(function(){B[A]()
})
}}};
dojo.hostenv.modulesLoaded=function(){if(this.post_load_){return 
}if((this.loadUriStack.length==0)&&(this.getTextStack.length==0)){if(this.inFlightCount>0){dojo.debug("files still in flight!");
return 
}if(typeof setTimeout=="object"){setTimeout("dojo.hostenv.loaded();",0)
}else{dojo.hostenv.loaded()
}}};
dojo.hostenv.moduleLoaded=function(B){var A=dojo.evalObjPath((B.split(".").slice(0,-1)).join("."));
this.loaded_modules_[(new String(B)).toLowerCase()]=A
};
dojo.hostenv._global_omit_module_check=false;
dojo.hostenv.loadModule=function(I,H,F){if(!I){return 
}F=this._global_omit_module_check||F;
var D=this.findModule(I,false);
if(D){return D
}if(dj_undef(I,this.loading_modules_)){this.addedToLoadingCount.push(I)
}this.loading_modules_[I]=1;
var B=I.replace(/\./g,"index.html")+".js";
var A=I.split(".");
var J=I.split(".");
for(var K=A.length-1;
K>0;
K--){var G=A.slice(0,K).join(".");
var E=this.getModulePrefix(G);
if(E!=G){A.splice(0,K,E);
break
}}var C=A[A.length-1];
if(C=="*"){I=(J.slice(0,-1)).join(".");
while(A.length){A.pop();
A.push(this.pkgFileName);
B=A.join("index.html")+".js";
if(B.charAt(0)=="index.html"){B=B.slice(1)
}L=this.loadPath(B,((!F)?I:null));
if(L){break
}A.pop()
}}else{B=A.join("index.html")+".js";
I=J.join(".");
var L=this.loadPath(B,((!F)?I:null));
if((!L)&&(!H)){A.pop();
while(A.length){B=A.join("index.html")+".js";
L=this.loadPath(B,((!F)?I:null));
if(L){break
}A.pop();
B=A.join("index.html")+"/"+this.pkgFileName+".js";
if(B.charAt(0)=="index.html"){B=B.slice(1)
}L=this.loadPath(B,((!F)?I:null));
if(L){break
}}}if((!L)&&(!F)){dojo.raise("Could not load '"+I+"'; last tried '"+B+"'")
}}if(!F){D=this.findModule(I,false);
if(!D){dojo.raise("symbol '"+I+"' is not defined after loading '"+B+"'")
}}return D
};
dojo.hostenv.startPackage=function(B){var A=B.split(/\./);
if(A[A.length-1]=="*"){A.pop()
}return dojo.evalObjPath(A.join("."),true)
};
dojo.hostenv.findModule=function(D,B){var C=(new String(D)).toLowerCase();
if(this.loaded_modules_[C]){return this.loaded_modules_[C]
}var A=dojo.evalObjPath(D);
if((D)&&(typeof A!="undefined")&&(A)){this.loaded_modules_[C]=A;
return A
}if(B){dojo.raise("no loaded module named '"+D+"'")
}return null
};
if(typeof window=="undefined"){dojo.raise("no window object")
}(function(){if(djConfig.allowQueryConfig){var _56=document.location.toString();
var _57=_56.split("?",2);
if(_57.length>1){var _58=_57[1];
var _59=_58.split("&");
for(var x in _59){var sp=_59[x].split("=");
if((sp[0].length>9)&&(sp[0].substr(0,9)=="djConfig.")){var opt=sp[0].substr(9);
try{djConfig[opt]=eval(sp[1])
}catch(e){djConfig[opt]=sp[1]
}}}}}if(((djConfig["baseScriptUri"]=="")||(djConfig["baseRelativePath"]==""))&&(document&&document.getElementsByTagName)){var _5d=document.getElementsByTagName("script");
var _5e=/(__package__|dojo)\.js([\?\.]|$)/i;
for(var i=0;
i<_5d.length;
i++){var src=_5d[i].getAttribute("src");
if(!src){continue
}var m=src.match(_5e);
if(m){root=src.substring(0,m.index);
if(!this["djConfig"]){djConfig={}
}if(djConfig["baseScriptUri"]==""){djConfig["baseScriptUri"]=root
}if(djConfig["baseRelativePath"]==""){djConfig["baseRelativePath"]=root
}break
}}}var dr=dojo.render;
var drh=dojo.render.html;
var dua=drh.UA=navigator.userAgent;
var dav=drh.AV=navigator.appVersion;
var t=true;
var f=false;
drh.capable=t;
drh.support.builtin=t;
dr.ver=parseFloat(drh.AV);
dr.os.mac=dav.indexOf("Macintosh")>=0;
dr.os.win=dav.indexOf("Windows")>=0;
dr.os.linux=dav.indexOf("X11")>=0;
drh.opera=dua.indexOf("Opera")>=0;
drh.khtml=(dav.indexOf("Konqueror")>=0)||(dav.indexOf("Safari")>=0);
drh.safari=dav.indexOf("Safari")>=0;
var _68=dua.indexOf("Gecko");
drh.mozilla=drh.moz=(_68>=0)&&(!drh.khtml);
if(drh.mozilla){drh.geckoVersion=dua.substring(_68+6,_68+14)
}drh.ie=(document.all)&&(!drh.opera);
drh.ie50=drh.ie&&dav.indexOf("MSIE 5.0")>=0;
drh.ie55=drh.ie&&dav.indexOf("MSIE 5.5")>=0;
drh.ie60=drh.ie&&dav.indexOf("MSIE 6.0")>=0;
dr.vml.capable=drh.ie;
dr.svg.capable=f;
dr.svg.support.plugin=f;
dr.svg.support.builtin=f;
dr.svg.adobe=f;
if(document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("org.w3c.dom.html","1.0")){dr.svg.capable=t;
dr.svg.support.builtin=t;
dr.svg.support.plugin=f;
dr.svg.adobe=f
}else{if(navigator.mimeTypes&&navigator.mimeTypes.length>0){var _69=navigator.mimeTypes["image/svg+xml"]||navigator.mimeTypes["image/svg"]||navigator.mimeTypes["image/svg-xml"];
if(_69){dr.svg.adobe=_69&&_69.enabledPlugin&&_69.enabledPlugin.description&&(_69.enabledPlugin.description.indexOf("Adobe")>-1);
if(dr.svg.adobe){dr.svg.capable=t;
dr.svg.support.plugin=t
}}}else{if(drh.ie&&dr.os.win){var _69=f;
try{var _6a=new ActiveXObject("Adobe.SVGCtl");
_69=t
}catch(e){}if(_69){dr.svg.capable=t;
dr.svg.support.plugin=t;
dr.svg.adobe=t
}}else{dr.svg.capable=f;
dr.svg.support.plugin=f;
dr.svg.adobe=f
}}}})();
dojo.hostenv.startPackage("dojo.hostenv");
dojo.hostenv.name_="browser";
dojo.hostenv.searchIds=[];
var DJ_XMLHTTP_PROGIDS=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];
dojo.hostenv.getXmlhttpObject=function(){var C=null;
var B=null;
try{C=new XMLHttpRequest()
}catch(E){}if(!C){for(var D=0;
D<3;
++D){var A=DJ_XMLHTTP_PROGIDS[D];
try{C=new ActiveXObject(A)
}catch(E){B=E
}if(C){DJ_XMLHTTP_PROGIDS=[A];
break
}}}if(!C){return dojo.raise("XMLHTTP not available",B)
}return C
};
dojo.hostenv.getText=function(B,A,D){var C=this.getXmlhttpObject();
if(A){C.onreadystatechange=function(){if((4==C.readyState)&&(C["status"])){if(C.status==200){A(C.responseText)
}}}
}C.open("GET",B,A?true:false);
C.send(null);
if(A){return null
}return C.responseText
};
dojo.hostenv.defaultDebugContainerId="dojoDebug";
dojo.hostenv._println_buffer=[];
dojo.hostenv._println_safe=false;
dojo.hostenv.println=function(D){if(!dojo.hostenv._println_safe){dojo.hostenv._println_buffer.push(D)
}else{try{var A=document.getElementById(djConfig.debugContainerId?djConfig.debugContainerId:dojo.hostenv.defaultDebugContainerId);
if(!A){A=document.getElementsByTagName("body")[0]||document.body
}var E=document.createElement("div");
E.appendChild(document.createTextNode(D));
A.appendChild(E)
}catch(C){try{document.write("<div>"+D+"</div>")
}catch(B){window.status=D
}}}};
dojo.addOnLoad(function(){dojo.hostenv._println_safe=true;
while(dojo.hostenv._println_buffer.length>0){dojo.hostenv.println(dojo.hostenv._println_buffer.shift())
}});
function dj_addNodeEvtHdlr(D,C,B,A){var E=D["on"+C]||function(){};
D["on"+C]=function(){B.apply(D,arguments);
E.apply(D,arguments)
};
return true
}dj_addNodeEvtHdlr(window,"load",function(){if(dojo.render.html.ie){dojo.hostenv.makeWidgets()
}dojo.hostenv.modulesLoaded()
});
dojo.hostenv.makeWidgets=function(){var E=[];
if(djConfig.searchIds&&djConfig.searchIds.length>0){E=E.concat(djConfig.searchIds)
}if(dojo.hostenv.searchIds&&dojo.hostenv.searchIds.length>0){E=E.concat(dojo.hostenv.searchIds)
}if((djConfig.parseWidgets)||(E.length>0)){if(dojo.evalObjPath("dojo.widget.Parse")){try{var D=new dojo.xml.Parse();
if(E.length>0){for(var A=0;
A<E.length;
A++){var C=document.getElementById(E[A]);
if(!C){continue
}var B=D.parseElement(C,null,true);
dojo.widget.getParser().createComponents(B)
}}else{if(djConfig.parseWidgets){var B=D.parseElement(document.getElementsByTagName("body")[0]||document.body,null,true);
dojo.widget.getParser().createComponents(B)
}}}catch(F){dojo.debug("auto-build-widgets error:",F)
}}}};
dojo.hostenv.modulesLoadedListeners.push(function(){if(!dojo.render.html.ie){dojo.hostenv.makeWidgets()
}});
try{if(dojo.render.html.ie){document.write("<style>v:*{ behavior:url(#default#VML); }</style>");
document.write('<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>')
}}catch(e){}dojo.hostenv.writeIncludes=function(){};
dojo.hostenv.byId=dojo.byId=function(B,A){if(typeof B=="string"||B instanceof String){if(!A){A=document
}return A.getElementById(B)
}return B
};
dojo.hostenv.byIdArray=dojo.byIdArray=function(){var C=[];
for(var B=0;
B<arguments.length;
B++){if((arguments[B] instanceof Array)||(typeof arguments[B]=="array")){for(var A=0;
A<arguments[B].length;
A++){C=C.concat(dojo.hostenv.byIdArray(arguments[B][A]))
}}else{C.push(dojo.hostenv.byId(arguments[B]))
}}return C
};
dojo.hostenv.conditionalLoadModule=function(E){var D=E["common"]||[];
var C=(E[dojo.hostenv.name_])?D.concat(E[dojo.hostenv.name_]||[]):D.concat(E["default"]||[]);
for(var A=0;
A<C.length;
A++){var B=C[A];
if(B.constructor==Array){dojo.hostenv.loadModule.apply(dojo.hostenv,B)
}else{dojo.hostenv.loadModule(B)
}}};
dojo.hostenv.require=dojo.hostenv.loadModule;
dojo.require=function(){dojo.hostenv.loadModule.apply(dojo.hostenv,arguments)
};
dojo.requireAfter=dojo.require;
dojo.requireIf=function(){if((arguments[0]===true)||(arguments[0]=="common")||(dojo.render[arguments[0]].capable)){var B=[];
for(var A=1;
A<arguments.length;
A++){B.push(arguments[A])
}dojo.require.apply(dojo,B)
}};
dojo.requireAfterIf=dojo.requireIf;
dojo.conditionalRequire=dojo.requireIf;
dojo.kwCompoundRequire=function(){dojo.hostenv.conditionalLoadModule.apply(dojo.hostenv,arguments)
};
dojo.hostenv.provide=dojo.hostenv.startPackage;
dojo.provide=function(){return dojo.hostenv.startPackage.apply(dojo.hostenv,arguments)
};
dojo.setModulePrefix=function(B,A){return dojo.hostenv.setModulePrefix(B,A)
};
dojo.profile={start:function(){},end:function(){},dump:function(){}};
dojo.exists=function(D,A){var C=A.split(".");
for(var B=0;
B<C.length;
B++){if(!(D[C[B]])){return false
}D=D[C[B]]
}return true
};
dojo.provide("dojo.lang");
dojo.provide("dojo.AdapterRegistry");
dojo.provide("dojo.lang.Lang");
dojo.lang.mixin=function(D,C){var B={};
for(var A in C){if(typeof B[A]=="undefined"||B[A]!=C[A]){D[A]=C[A]
}}if(dojo.render.html.ie&&dojo.lang.isFunction(C["toString"])&&C["toString"]!=D["toString"]){D.toString=C.toString
}return D
};
dojo.lang.extend=function(B,A){this.mixin(B.prototype,A)
};
dojo.lang.extendPrototype=function(B,A){this.extend(B.constructor,A)
};
dojo.lang.anonCtr=0;
dojo.lang.anon={};
dojo.lang.nameAnonFunc=function(E,D){var C=(D||dojo.lang.anon);
if((dj_global["djConfig"])&&(djConfig["slowAnonFuncLookups"]==true)){for(var A in C){if(C[A]===E){return A
}}}var B="__"+dojo.lang.anonCtr++;
while(typeof C[B]!="undefined"){B="__"+dojo.lang.anonCtr++
}C[B]=E;
return B
};
dojo.lang.hitch=function(A,B){if(dojo.lang.isString(B)){var C=A[B]
}else{var C=B
}return function(){return C.apply(A,arguments)
}
};
dojo.lang.forward=function(A){return function(){return this[A].apply(this,arguments)
}
};
dojo.lang.curry=function(F,E){var D=[];
F=F||dj_global;
if(dojo.lang.isString(E)){E=F[E]
}for(var B=2;
B<arguments.length;
B++){D.push(arguments[B])
}var A=E.length-D.length;
function C(M,L,J){var I=J;
var H=L.slice(0);
for(var G=0;
G<M.length;
G++){H.push(M[G])
}J=J-M.length;
if(J<=0){var K=E.apply(F,H);
J=I;
return K
}else{return function(){return C(arguments,H,J)
}
}}return C([],D,A)
};
dojo.lang.curryArguments=function(B,F,E,D){var C=[];
var A=D||0;
for(A=D;
A<E.length;
A++){C.push(E[A])
}return dojo.lang.curry.apply(dojo.lang,[B,F].concat(C))
};
dojo.lang.setTimeout=function(E,C){var B=window,F=2;
if(!dojo.lang.isFunction(E)){B=E;
E=C;
C=arguments[2];
F++
}if(dojo.lang.isString(E)){E=B[E]
}var A=[];
for(var D=F;
D<arguments.length;
D++){A.push(arguments[D])
}return setTimeout(function(){E.apply(B,A)
},C)
};
dojo.lang.isObject=function(A){return typeof A=="object"||dojo.lang.isArray(A)||dojo.lang.isFunction(A)
};
dojo.lang.isArray=function(A){return(A instanceof Array||typeof A=="array")
};
dojo.lang.isArrayLike=function(A){if(dojo.lang.isString(A)){return false
}if(dojo.lang.isArray(A)){return true
}if(typeof A!="undefined"&&A&&dojo.lang.isNumber(A.length)&&isFinite(A.length)){return true
}return false
};
dojo.lang.isFunction=function(A){return(A instanceof Function||typeof A=="function")
};
dojo.lang.isString=function(A){return(A instanceof String||typeof A=="string")
};
dojo.lang.isAlien=function(A){return !dojo.lang.isFunction()&&/\{\s*\[native code\]\s*\}/.test(String(A))
};
dojo.lang.isBoolean=function(A){return(A instanceof Boolean||typeof A=="boolean")
};
dojo.lang.isNumber=function(A){return(A instanceof Number||typeof A=="number")
};
dojo.lang.isUndefined=function(A){return((A==undefined)&&(typeof A=="undefined"))
};
dojo.lang.whatAmI=function(A){try{if(dojo.lang.isArray(A)){return"array"
}if(dojo.lang.isFunction(A)){return"function"
}if(dojo.lang.isString(A)){return"string"
}if(dojo.lang.isNumber(A)){return"number"
}if(dojo.lang.isBoolean(A)){return"boolean"
}if(dojo.lang.isAlien(A)){return"alien"
}if(dojo.lang.isUndefined(A)){return"undefined"
}for(var C in dojo.lang.whatAmI.custom){if(dojo.lang.whatAmI.custom[C](A)){return C
}}if(dojo.lang.isObject(A)){return"object"
}}catch(B){}return"unknown"
};
dojo.lang.whatAmI.custom={};
dojo.lang.find=function(A,F,E){if(!dojo.lang.isArrayLike(A)&&dojo.lang.isArrayLike(F)){var B=A;
A=F;
F=B
}var C=dojo.lang.isString(A);
if(C){A=A.split("")
}if(E){for(var D=0;
D<A.length;
++D){if(A[D]===F){return D
}}}else{for(var D=0;
D<A.length;
++D){if(A[D]==F){return D
}}}return -1
};
dojo.lang.indexOf=dojo.lang.find;
dojo.lang.findLast=function(A,F,D){if(!dojo.lang.isArrayLike(A)&&dojo.lang.isArrayLike(F)){var C=A;
A=F;
F=C
}var B=dojo.lang.isString(A);
if(B){A=A.split("")
}if(D){for(var E=A.length-1;
E>=0;
E--){if(A[E]===F){return E
}}}else{for(var E=A.length-1;
E>=0;
E--){if(A[E]==F){return E
}}}return -1
};
dojo.lang.lastIndexOf=dojo.lang.findLast;
dojo.lang.inArray=function(A,B){return dojo.lang.find(A,B)>-1
};
dojo.lang.getNameInObj=function(B,C){if(!B){B=dj_global
}for(var A in B){if(B[A]===C){return new String(A)
}}return null
};
dojo.lang.has=function(B,A){return(typeof B[A]!=="undefined")
};
dojo.lang.isEmpty=function(D){if(dojo.lang.isObject(D)){var B={};
var C=0;
for(var A in D){if(D[A]&&(!B[A])){C++;
break
}}return(C==0)
}else{if(dojo.lang.isArrayLike(D)||dojo.lang.isString(D)){return D.length==0
}}};
dojo.lang.forEach=function(A,F,E){var C=dojo.lang.isString(A);
if(C){A=A.split("")
}var B=A.length;
for(var D=0;
D<((E)?B:A.length);
D++){if(F(A[D],D,A)=="break"){break
}}};
dojo.lang.map=function(B,E,A){var G=dojo.lang.isString(B);
if(G){B=B.split("")
}if(dojo.lang.isFunction(E)&&(!A)){A=E;
E=dj_global
}else{if(dojo.lang.isFunction(E)&&A){var F=E;
E=A;
A=F
}}if(Array.map){var D=Array.map(B,A,E)
}else{var D=[];
for(var C=0;
C<B.length;
++C){D.push(A.call(E,B[C]))
}}if(G){return D.join("")
}else{return D
}};
dojo.lang.tryThese=function(){for(var A=0;
A<arguments.length;
A++){try{if(typeof arguments[A]=="function"){var B=(arguments[A]());
if(B){return B
}}}catch(C){dojo.debug(C)
}}};
dojo.lang.delayThese=function(D,A,C,B){if(!D.length){if(typeof B=="function"){B()
}return 
}if((typeof C=="undefined")&&(typeof A=="number")){C=A;
A=function(){}
}else{if(!A){A=function(){};
if(!C){C=0
}}}setTimeout(function(){(D.shift())();
A();
dojo.lang.delayThese(D,A,C,B)
},C)
};
dojo.lang.shallowCopy=function(C){var A={},B;
for(B in C){if(dojo.lang.isUndefined(A[B])){A[B]=C[B]
}}return A
};
dojo.lang.every=function(A,E,C){var B=dojo.lang.isString(A);
if(B){A=A.split("")
}if(Array.every){return Array.every(A,E,C)
}else{if(!C){if(arguments.length>=3){dojo.raise("thisObject doesn't exist!")
}C=dj_global
}for(var D=0;
D<A.length;
D++){if(!E.call(C,A[D],D,A)){return false
}}return true
}};
dojo.lang.some=function(A,E,D){var C=dojo.lang.isString(A);
if(C){A=A.split("")
}if(Array.some){return Array.some(A,E,D)
}else{if(!D){if(arguments.length>=3){dojo.raise("thisObject doesn't exist!")
}D=dj_global
}for(var B=0;
B<A.length;
B++){if(E.call(D,A[B],B,A)){return true
}}return false
}};
dojo.lang.filter=function(A,F,E){var D=dojo.lang.isString(A);
if(D){A=A.split("")
}if(Array.filter){var C=Array.filter(A,F,E)
}else{if(!E){if(arguments.length>=3){dojo.raise("thisObject doesn't exist!")
}E=dj_global
}var C=[];
for(var B=0;
B<A.length;
B++){if(F.call(E,A[B],B,A)){C.push(A[B])
}}}if(D){return C.join("")
}else{return C
}};
dojo.AdapterRegistry=function(){this.pairs=[]
};
dojo.lang.extend(dojo.AdapterRegistry,{register:function(B,C,D,A){if(A){this.pairs.unshift([B,C,D])
}else{this.pairs.push([B,C,D])
}},match:function(){for(var A=0;
A<this.pairs.length;
A++){var B=this.pairs[A];
if(B[1].apply(this,arguments)){return B[2].apply(this,arguments)
}}throw new Error("No match found")
},unregister:function(A){for(var B=0;
B<this.pairs.length;
B++){var C=this.pairs[B];
if(C[0]==A){this.pairs.splice(B,1);
return true
}}return false
}});
dojo.lang.reprRegistry=new dojo.AdapterRegistry();
dojo.lang.registerRepr=function(B,A,C,D){dojo.lang.reprRegistry.register(B,A,C,D)
};
dojo.lang.repr=function(C){if(typeof (C)=="undefined"){return"undefined"
}else{if(C===null){return"null"
}}try{if(typeof (C["__repr__"])=="function"){return C["__repr__"]()
}else{if((typeof (C["repr"])=="function")&&(C.repr!=arguments.callee)){return C["repr"]()
}}return dojo.lang.reprRegistry.match(C)
}catch(B){if(typeof (C.NAME)=="string"&&(C.toString==Function.prototype.toString||C.toString==Object.prototype.toString)){return o.NAME
}}if(typeof (C)=="function"){C=(C+"").replace(/^\s+/,"");
var A=C.indexOf("{");
if(A!=-1){C=C.substr(0,A)+"{...}"
}}return C+""
};
dojo.lang.reprArrayLike=function(A){try{var B=dojo.lang.map(A,dojo.lang.repr);
return"["+B.join(", ")+"]"
}catch(C){}};
dojo.lang.reprString=function(A){return('"'+A.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")
};
dojo.lang.reprNumber=function(A){return A+""
};
(function(){var A=dojo.lang;
A.registerRepr("arrayLike",A.isArrayLike,A.reprArrayLike);
A.registerRepr("string",A.isString,A.reprString);
A.registerRepr("numbers",A.isNumber,A.reprNumber);
A.registerRepr("boolean",A.isBoolean,A.reprNumber)
})();
dojo.lang.unnest=function(){var A=[];
for(var B=0;
B<arguments.length;
B++){if(dojo.lang.isArrayLike(arguments[B])){var C=dojo.lang.unnest.apply(this,arguments[B]);
A=A.concat(C)
}else{A.push(arguments[B])
}}return A
};
dojo.lang.firstValued=function(){for(var A=0;
A<arguments.length;
A++){if(typeof arguments[A]!="undefined"){return arguments[A]
}}return undefined
};
dojo.lang.toArray=function(D,B){var A=[];
for(var C=B||0;
C<D.length;
C++){A.push(D[C])
}return A
};
dojo.provide("dojo.dom");
dojo.require("dojo.lang");
dojo.dom.ELEMENT_NODE=1;
dojo.dom.ATTRIBUTE_NODE=2;
dojo.dom.TEXT_NODE=3;
dojo.dom.CDATA_SECTION_NODE=4;
dojo.dom.ENTITY_REFERENCE_NODE=5;
dojo.dom.ENTITY_NODE=6;
dojo.dom.PROCESSING_INSTRUCTION_NODE=7;
dojo.dom.COMMENT_NODE=8;
dojo.dom.DOCUMENT_NODE=9;
dojo.dom.DOCUMENT_TYPE_NODE=10;
dojo.dom.DOCUMENT_FRAGMENT_NODE=11;
dojo.dom.NOTATION_NODE=12;
dojo.dom.dojoml="http://www.dojotoolkit.org/2004/dojoml";
dojo.dom.xmlns={svg:"http://www.w3.org/2000/svg",smil:"http://www.w3.org/2001/SMIL20/",mml:"http://www.w3.org/1998/Math/MathML",cml:"http://www.xml-cml.org",xlink:"http://www.w3.org/1999/xlink",xhtml:"http://www.w3.org/1999/xhtml",xul:"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",xbl:"http://www.mozilla.org/xbl",fo:"http://www.w3.org/1999/XSL/Format",xsl:"http://www.w3.org/1999/XSL/Transform",xslt:"http://www.w3.org/1999/XSL/Transform",xi:"http://www.w3.org/2001/XInclude",xforms:"http://www.w3.org/2002/01/xforms",saxon:"http://icl.com/saxon",xalan:"http://xml.apache.org/xslt",xsd:"http://www.w3.org/2001/XMLSchema",dt:"http://www.w3.org/2001/XMLSchema-datatypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcq:"http://purl.org/dc/qualifiers/1.0","soap-env":"http://schemas.xmlsoap.org/soap/envelope/",wsdl:"http://schemas.xmlsoap.org/wsdl/",AdobeExtensions:"http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"};
dojo.dom.isNode=dojo.lang.isDomNode=function(A){if(typeof Element=="object"){try{return A instanceof Element
}catch(B){}}else{return A&&!isNaN(A.nodeType)
}};
dojo.lang.whatAmI.custom["node"]=dojo.dom.isNode;
dojo.dom.getTagName=function(C){var G=C.tagName;
if(G.substr(0,5).toLowerCase()!="dojo:"){if(G.substr(0,4).toLowerCase()=="dojo"){return"dojo:"+G.substring(4).toLowerCase()
}var B=C.getAttribute("dojoType")||C.getAttribute("dojotype");
if(B){return"dojo:"+B.toLowerCase()
}if((C.getAttributeNS)&&(C.getAttributeNS(this.dojoml,"type"))){return"dojo:"+C.getAttributeNS(this.dojoml,"type").toLowerCase()
}try{B=C.getAttribute("dojo:type")
}catch(E){}if(B){return"dojo:"+B.toLowerCase()
}if((!dj_global["djConfig"])||(!djConfig["ignoreClassNames"])){var F=C.className||C.getAttribute("class");
if((F)&&(F.indexOf)&&(F.indexOf("dojo-")!=-1)){var D=F.split(" ");
for(var A=0;
A<D.length;
A++){if((D[A].length>5)&&(D[A].indexOf("dojo-")>=0)){return"dojo:"+D[A].substr(5).toLowerCase()
}}}}}return G.toLowerCase()
};
dojo.dom.getUniqueId=function(){do{var A="dj_unique_"+(++arguments.callee._idIncrement)
}while(document.getElementById(A));
return A
};
dojo.dom.getUniqueId._idIncrement=0;
dojo.dom.firstElement=dojo.dom.getFirstChildElement=function(B,A){var C=B.firstChild;
while(C&&C.nodeType!=dojo.dom.ELEMENT_NODE){C=C.nextSibling
}if(A&&C&&C.tagName&&C.tagName.toLowerCase()!=A.toLowerCase()){C=dojo.dom.nextElement(C,A)
}return C
};
dojo.dom.lastElement=dojo.dom.getLastChildElement=function(B,A){var C=B.lastChild;
while(C&&C.nodeType!=dojo.dom.ELEMENT_NODE){C=C.previousSibling
}if(A&&C&&C.tagName&&C.tagName.toLowerCase()!=A.toLowerCase()){C=dojo.dom.prevElement(C,A)
}return C
};
dojo.dom.nextElement=dojo.dom.getNextSiblingElement=function(B,A){if(!B){return null
}do{B=B.nextSibling
}while(B&&B.nodeType!=dojo.dom.ELEMENT_NODE);
if(B&&A&&A.toLowerCase()!=B.tagName.toLowerCase()){return dojo.dom.nextElement(B,A)
}return B
};
dojo.dom.prevElement=dojo.dom.getPreviousSiblingElement=function(B,A){if(!B){return null
}if(A){A=A.toLowerCase()
}do{B=B.previousSibling
}while(B&&B.nodeType!=dojo.dom.ELEMENT_NODE);
if(B&&A&&A.toLowerCase()!=B.tagName.toLowerCase()){return dojo.dom.prevElement(B,A)
}return B
};
dojo.dom.moveChildren=function(B,C,A){var D=0;
if(A){while(B.hasChildNodes()&&B.firstChild.nodeType==dojo.dom.TEXT_NODE){B.removeChild(B.firstChild)
}while(B.hasChildNodes()&&B.lastChild.nodeType==dojo.dom.TEXT_NODE){B.removeChild(B.lastChild)
}}while(B.hasChildNodes()){C.appendChild(B.firstChild);
D++
}return D
};
dojo.dom.copyChildren=function(D,C,A){var B=D.cloneNode(true);
return this.moveChildren(B,C,A)
};
dojo.dom.removeChildren=function(B){var A=B.childNodes.length;
while(B.hasChildNodes()){B.removeChild(B.firstChild)
}return A
};
dojo.dom.replaceChildren=function(A,B){dojo.dom.removeChildren(A);
A.appendChild(B)
};
dojo.dom.removeNode=function(A){if(A&&A.parentNode){return A.parentNode.removeChild(A)
}};
dojo.dom.getAncestors=function(E,D,C){var A=[];
var B=dojo.lang.isFunction(D);
while(E){if(!B||D(E)){A.push(E)
}if(C&&A.length>0){return A[0]
}E=E.parentNode
}if(C){return null
}return A
};
dojo.dom.getAncestorsByTag=function(C,B,A){B=B.toLowerCase();
return dojo.dom.getAncestors(C,function(D){return((D.tagName)&&(D.tagName.toLowerCase()==B))
},A)
};
dojo.dom.getFirstAncestorByTag=function(B,A){return dojo.dom.getAncestorsByTag(B,A,true)
};
dojo.dom.isDescendantOf=function(C,B,A){if(A&&C){C=C.parentNode
}while(C){if(C==B){return true
}C=C.parentNode
}return false
};
dojo.dom.innerXML=function(A){if(A.innerXML){return A.innerXML
}else{if(typeof XMLSerializer!="undefined"){return(new XMLSerializer()).serializeToString(A)
}}};
dojo.dom.createDocumentFromText=function(G,F){if(!F){F="text/xml"
}if(typeof DOMParser!="undefined"){var E=new DOMParser();
return E.parseFromString(G,F)
}else{if(typeof ActiveXObject!="undefined"){var D=new ActiveXObject("Microsoft.XMLDOM");
if(D){D.async=false;
D.loadXML(G);
return D
}else{dojo.debug("toXml didn't work?")
}}else{if(document.createElement){var B=document.createElement("xml");
B.innerHTML=G;
if(document.implementation&&document.implementation.createDocument){var C=document.implementation.createDocument("foo","",null);
for(var A=0;
A<B.childNodes.length;
A++){C.importNode(B.childNodes.item(A),true)
}return C
}return B.document&&B.document.firstChild?B.document.firstChild:B
}}}return null
};
dojo.dom.prependChild=function(B,A){if(A.firstChild){A.insertBefore(B,A.firstChild)
}else{A.appendChild(B)
}return true
};
dojo.dom.insertBefore=function(B,A,D){if(D!=true&&(B===A||B.nextSibling===A)){return false
}var C=A.parentNode;
C.insertBefore(B,A);
return true
};
dojo.dom.insertAfter=function(D,C,A){var B=C.parentNode;
if(C==B.lastChild){if((A!=true)&&(D===C)){return false
}B.appendChild(D)
}else{return this.insertBefore(D,C.nextSibling,A)
}return true
};
dojo.dom.insertAtPosition=function(B,A,C){if((!B)||(!A)||(!C)){return false
}switch(C.toLowerCase()){case"before":return dojo.dom.insertBefore(B,A);
case"after":return dojo.dom.insertAfter(B,A);
case"first":if(A.firstChild){return dojo.dom.insertBefore(B,A.firstChild)
}else{A.appendChild(B);
return true
}break;
default:A.appendChild(B);
return true
}};
dojo.dom.insertAtIndex=function(F,G,E){var D=G.childNodes;
if(!D.length){G.appendChild(F);
return true
}var C=null;
for(var B=0;
B<D.length;
B++){var A=D.item(B)["getAttribute"]?parseInt(D.item(B).getAttribute("dojoinsertionindex")):-1;
if(A<E){C=D.item(B)
}}if(C){return dojo.dom.insertAfter(F,C)
}else{return dojo.dom.insertBefore(F,D.item(0))
}};
dojo.dom.textContent=function(B,C){if(C){dojo.dom.replaceChildren(B,document.createTextNode(C));
return C
}else{var D="";
if(B==null){return D
}for(var A=0;
A<B.childNodes.length;
A++){switch(B.childNodes[A].nodeType){case 1:case 5:D+=dojo.dom.textContent(B.childNodes[A]);
break;
case 3:case 2:case 4:D+=B.childNodes[A].nodeValue;
break;
default:break
}}return D
}};
dojo.dom.collectionToArray=function(A){dojo.deprecated("dojo.dom.collectionToArray","use dojo.lang.toArray instead");
return dojo.lang.toArray(A)
};
dojo.dom.hasParent=function(A){if(!A||!A.parentNode||(A.parentNode&&!A.parentNode.tagName)){return false
}return true
};
dojo.dom.isTag=function(B){if(B&&B.tagName){var A=dojo.lang.toArray(arguments,1);
return A[dojo.lang.find(B.tagName,A)]||""
}return""
};
dojo.provide("dojo.xml.Parse");
dojo.require("dojo.dom");
dojo.xml.Parse=function(){this.parseFragment=function(G){var E={};
var F=dojo.dom.getTagName(G);
E[F]=new Array(G.tagName);
var D=this.parseAttributes(G);
for(var A in D){if(!E[A]){E[A]=[]
}E[A][E[A].length]=D[A]
}var C=G.childNodes;
for(var B in C){switch(C[B].nodeType){case dojo.dom.ELEMENT_NODE:E[F].push(this.parseElement(C[B]));
break;
case dojo.dom.TEXT_NODE:if(C.length==1){if(!E[G.tagName]){E[F]=[]
}E[F].push({value:C[0].nodeValue})
}break
}}return E
};
this.parseElement=function(A,G,D,C){var B={};
var J=dojo.dom.getTagName(A);
B[J]=[];
if((!D)||(J.substr(0,4).toLowerCase()=="dojo")){var I=this.parseAttributes(A);
for(var K in I){if((!B[J][K])||(typeof B[J][K]!="array")){B[J][K]=[]
}B[J][K].push(I[K])
}B[J].nodeRef=A;
B.tagName=J;
B.index=C||0
}var F=0;
for(var H=0;
H<A.childNodes.length;
H++){var L=A.childNodes.item(H);
switch(L.nodeType){case dojo.dom.ELEMENT_NODE:F++;
var E=dojo.dom.getTagName(L);
if(!B[E]){B[E]=[]
}B[E].push(this.parseElement(L,true,D,F));
if((L.childNodes.length==1)&&(L.childNodes.item(0).nodeType==dojo.dom.TEXT_NODE)){B[E][B[E].length-1].value=L.childNodes.item(0).nodeValue
}break;
case dojo.dom.TEXT_NODE:if(A.childNodes.length==1){B[J].push({value:A.childNodes.item(0).nodeValue})
}break;
default:break
}}return B
};
this.parseAttributes=function(C){var D={};
var F=C.attributes;
for(var A=0;
A<F.length;
A++){var B=F.item(A);
if((dojo.render.html.capable)&&(dojo.render.html.ie)){if(!B){continue
}if((typeof B=="object")&&(typeof B.nodeValue=="undefined")||(B.nodeValue==null)||(B.nodeValue=="")){continue
}}var E=(B.nodeName.indexOf("dojo:")==-1)?B.nodeName:B.nodeName.split("dojo:")[1];
D[E]={value:B.nodeValue}
}return D
}
};
dojo.require("dojo.lang");
dojo.provide("dojo.event");
dojo.event=new function(){this.canTimeout=dojo.lang.isFunction(dj_global["setTimeout"])||dojo.lang.isAlien(dj_global["setTimeout"]);
function A(C){var B=dojo.lang;
var D={srcObj:dj_global,srcFunc:null,adviceObj:dj_global,adviceFunc:null,aroundObj:null,aroundFunc:null,adviceType:(C.length>2)?C[0]:"after",precedence:"last",once:false,delay:null,rate:0,adviceMsg:false};
switch(C.length){case 0:return ;
case 1:return ;
case 2:D.srcFunc=C[0];
D.adviceFunc=C[1];
break;
case 3:if((B.isObject(C[0]))&&(B.isString(C[1]))&&(B.isString(C[2]))){D.adviceType="after";
D.srcObj=C[0];
D.srcFunc=C[1];
D.adviceFunc=C[2]
}else{if((B.isString(C[1]))&&(B.isString(C[2]))){D.srcFunc=C[1];
D.adviceFunc=C[2]
}else{if((B.isObject(C[0]))&&(B.isString(C[1]))&&(B.isFunction(C[2]))){D.adviceType="after";
D.srcObj=C[0];
D.srcFunc=C[1];
var E=dojo.lang.nameAnonFunc(C[2],D.adviceObj);
D.adviceFunc=E
}else{if((B.isFunction(C[0]))&&(B.isObject(C[1]))&&(B.isString(C[2]))){D.adviceType="after";
D.srcObj=dj_global;
var E=dojo.lang.nameAnonFunc(C[0],D.srcObj);
D.srcFunc=E;
D.adviceObj=C[1];
D.adviceFunc=C[2]
}}}}break;
case 4:if((B.isObject(C[0]))&&(B.isObject(C[2]))){D.adviceType="after";
D.srcObj=C[0];
D.srcFunc=C[1];
D.adviceObj=C[2];
D.adviceFunc=C[3]
}else{if((B.isString(C[0]))&&(B.isString(C[1]))&&(B.isObject(C[2]))){D.adviceType=C[0];
D.srcObj=dj_global;
D.srcFunc=C[1];
D.adviceObj=C[2];
D.adviceFunc=C[3]
}else{if((B.isString(C[0]))&&(B.isFunction(C[1]))&&(B.isObject(C[2]))){D.adviceType=C[0];
D.srcObj=dj_global;
var E=dojo.lang.nameAnonFunc(C[1],dj_global);
D.srcFunc=E;
D.adviceObj=C[2];
D.adviceFunc=C[3]
}else{if(B.isObject(C[1])){D.srcObj=C[1];
D.srcFunc=C[2];
D.adviceObj=dj_global;
D.adviceFunc=C[3]
}else{if(B.isObject(C[2])){D.srcObj=dj_global;
D.srcFunc=C[1];
D.adviceObj=C[2];
D.adviceFunc=C[3]
}else{D.srcObj=D.adviceObj=D.aroundObj=dj_global;
D.srcFunc=C[1];
D.adviceFunc=C[2];
D.aroundFunc=C[3]
}}}}}break;
case 6:D.srcObj=C[1];
D.srcFunc=C[2];
D.adviceObj=C[3];
D.adviceFunc=C[4];
D.aroundFunc=C[5];
D.aroundObj=dj_global;
break;
default:D.srcObj=C[1];
D.srcFunc=C[2];
D.adviceObj=C[3];
D.adviceFunc=C[4];
D.aroundObj=C[5];
D.aroundFunc=C[6];
D.once=C[7];
D.delay=C[8];
D.rate=C[9];
D.adviceMsg=C[10];
break
}if((typeof D.srcFunc).toLowerCase()!="string"){D.srcFunc=dojo.lang.getNameInObj(D.srcObj,D.srcFunc)
}if((typeof D.adviceFunc).toLowerCase()!="string"){D.adviceFunc=dojo.lang.getNameInObj(D.adviceObj,D.adviceFunc)
}if((D.aroundObj)&&((typeof D.aroundFunc).toLowerCase()!="string")){D.aroundFunc=dojo.lang.getNameInObj(D.aroundObj,D.aroundFunc)
}if(!D.srcObj){dojo.raise("bad srcObj for srcFunc: "+D.srcFunc)
}if(!D.adviceObj){dojo.raise("bad adviceObj for adviceFunc: "+D.adviceFunc)
}return D
}this.connect=function(){var D=A(arguments);
var B=dojo.event.MethodJoinPoint.getForMethod(D.srcObj,D.srcFunc);
if(D.adviceFunc){var C=dojo.event.MethodJoinPoint.getForMethod(D.adviceObj,D.adviceFunc)
}B.kwAddAdvice(D);
return B
};
this.connectBefore=function(){var B=["before"];
for(var C=0;
C<arguments.length;
C++){B.push(arguments[C])
}return this.connect.apply(this,B)
};
this.connectAround=function(){var B=["around"];
for(var C=0;
C<arguments.length;
C++){B.push(arguments[C])
}return this.connect.apply(this,B)
};
this._kwConnectImpl=function(B,E){var C=(E)?"disconnect":"connect";
if(typeof B["srcFunc"]=="function"){B.srcObj=B["srcObj"]||dj_global;
var D=dojo.lang.nameAnonFunc(B.srcFunc,B.srcObj);
B.srcFunc=D
}if(typeof B["adviceFunc"]=="function"){B.adviceObj=B["adviceObj"]||dj_global;
var D=dojo.lang.nameAnonFunc(B.adviceFunc,B.adviceObj);
B.adviceFunc=D
}return dojo.event[C]((B["type"]||B["adviceType"]||"after"),B["srcObj"]||dj_global,B["srcFunc"],B["adviceObj"]||B["targetObj"]||dj_global,B["adviceFunc"]||B["targetFunc"],B["aroundObj"],B["aroundFunc"],B["once"],B["delay"],B["rate"],B["adviceMsg"]||false)
};
this.kwConnect=function(B){return this._kwConnectImpl(B,false)
};
this.disconnect=function(){var C=A(arguments);
if(!C.adviceFunc){return 
}var B=dojo.event.MethodJoinPoint.getForMethod(C.srcObj,C.srcFunc);
return B.removeAdvice(C.adviceObj,C.adviceFunc,C.adviceType,C.once)
};
this.kwDisconnect=function(B){return this._kwConnectImpl(B,true)
}
};
dojo.event.MethodInvocation=function(D,C,B){this.jp_=D;
this.object=C;
this.args=[];
for(var A=0;
A<B.length;
A++){this.args[A]=B[A]
}this.around_index=-1
};
dojo.event.MethodInvocation.prototype.proceed=function(){this.around_index++;
if(this.around_index>=this.jp_.around.length){return this.jp_.object[this.jp_.methodname].apply(this.jp_.object,this.args)
}else{var C=this.jp_.around[this.around_index];
var A=C[0]||dj_global;
var B=C[1];
return A[B].call(A,this)
}};
dojo.event.MethodJoinPoint=function(B,A){this.object=B||dj_global;
this.methodname=A;
this.methodfunc=this.object[A];
this.before=[];
this.after=[];
this.around=[]
};
dojo.event.MethodJoinPoint.getForMethod=function(D,B){if(!D){D=dj_global
}if(!D[B]){D[B]=function(){}
}else{if((!dojo.lang.isFunction(D[B]))&&(!dojo.lang.isAlien(D[B]))){return null
}}var A=B+"$joinpoint";
var F=B+"$joinpoint$method";
var E=D[A];
if(!E){var C=false;
if(dojo.event["browser"]){if((D["attachEvent"])||(D["nodeType"])||(D["addEventListener"])){C=true;
dojo.event.browser.addClobberNodeAttrs(D,[A,F,B])
}}D[F]=D[B];
E=D[A]=new dojo.event.MethodJoinPoint(D,F);
D[B]=function(){var H=[];
if((C)&&(!arguments.length)&&(window.event)){H.push(dojo.event.browser.fixEvent(window.event))
}else{for(var G=0;
G<arguments.length;
G++){if((G==0)&&(C)&&(dojo.event.browser.isEvent(arguments[G]))){H.push(dojo.event.browser.fixEvent(arguments[G]))
}else{H.push(arguments[G])
}}}return E.run.apply(E,H)
}
}return E
};
dojo.lang.extend(dojo.event.MethodJoinPoint,{unintercept:function(){this.object[this.methodname]=this.methodfunc
},run:function(){var G=this.object||dj_global;
var C=arguments;
var F=[];
for(var A=0;
A<C.length;
A++){F[A]=C[A]
}var D=function(H){if(!H){dojo.debug("Null argument to unrollAdvice()");
return 
}var S=H[0]||dj_global;
var R=H[1];
if(!S[R]){dojo.raise('function "'+R+'" does not exist on "'+S+'"')
}var P=H[2]||dj_global;
var O=H[3];
var I=H[6];
var M;
var T={args:[],jp_:this,object:G,proceed:function(){return S[R].apply(S,T.args)
}};
T.args=F;
var L=parseInt(H[4]);
var K=((!isNaN(L))&&(H[4]!==null)&&(typeof H[4]!="undefined"));
if(H[5]){var Q=parseInt(H[5]);
var V=new Date();
var N=false;
if((H["last"])&&((V-H.last)<=Q)){if(dojo.event.canTimeout){if(H["delayTimer"]){clearTimeout(H.delayTimer)
}var J=parseInt(Q*2);
var U=dojo.lang.shallowCopy(H);
H.delayTimer=setTimeout(function(){U[5]=0;
D(U)
},J)
}return 
}else{H.last=V
}}if(O){P[O].call(P,T)
}else{if((K)&&((dojo.render.html)||(dojo.render.svg))){dj_global["setTimeout"](function(){if(I){S[R].call(S,T)
}else{S[R].apply(S,C)
}},L)
}else{if(I){S[R].call(S,T)
}else{S[R].apply(S,C)
}}}};
if(this.before.length>0){dojo.lang.forEach(this.before,D,true)
}var E;
if(this.around.length>0){var B=new dojo.event.MethodInvocation(this,G,C);
E=B.proceed()
}else{if(this.methodfunc){E=this.object[this.methodname].apply(this.object,C)
}}if(this.after.length>0){dojo.lang.forEach(this.after,D,true)
}return(this.methodfunc)?E:null
},getArr:function(B){var A=this.after;
if((typeof B=="string")&&(B.indexOf("before")!=-1)){A=this.before
}else{if(B=="around"){A=this.around
}}return A
},kwAddAdvice:function(A){this.addAdvice(A["adviceObj"],A["adviceFunc"],A["aroundObj"],A["aroundFunc"],A["adviceType"],A["precedence"],A["once"],A["delay"],A["rate"],A["adviceMsg"])
},addAdvice:function(F,E,C,A,L,K,D,G,J,B){var I=this.getArr(L);
if(!I){dojo.raise("bad this: "+this)
}var H=[F,E,C,A,G,J,B];
if(D){if(this.hasAdvice(F,E,L,I)>=0){return 
}}if(K=="first"){I.unshift(H)
}else{I.push(H)
}},hasAdvice:function(C,F,E,B){if(!B){B=this.getArr(E)
}var D=-1;
for(var A=0;
A<B.length;
A++){if((B[A][0]==C)&&(B[A][1]==F)){D=A
}}return D
},removeAdvice:function(E,C,B,D){var A=this.getArr(B);
var F=this.hasAdvice(E,C,B,A);
if(F==-1){return false
}while(F!=-1){A.splice(F,1);
if(D){break
}F=this.hasAdvice(E,C,B,A)
}return true
}});
dojo.require("dojo.event");
dojo.provide("dojo.event.topic");
dojo.event.topic=new function(){this.topics={};
this.getTopic=function(A){if(!this.topics[A]){this.topics[A]=new this.TopicImpl(A)
}return this.topics[A]
};
this.registerPublisher=function(B,C,A){var B=this.getTopic(B);
B.registerPublisher(C,A)
};
this.subscribe=function(B,C,A){var B=this.getTopic(B);
B.subscribe(C,A)
};
this.unsubscribe=function(C,B,A){var C=this.getTopic(C);
C.unsubscribe(B,A)
};
this.publish=function(D,C){var D=this.getTopic(D);
var B=[];
if((arguments.length==2)&&(C.length)&&(typeof C!="string")){B=C
}else{var B=[];
for(var A=1;
A<arguments.length;
A++){B.push(arguments[A])
}}D.sendMessage.apply(D,B)
}
};
dojo.event.topic.TopicImpl=function(B){this.topicName=B;
var A=this;
A.subscribe=function(D,C){var E=C||D;
var F=(!C)?dj_global:D;
dojo.event.kwConnect({srcObj:A,srcFunc:"sendMessage",adviceObj:F,adviceFunc:E})
};
A.unsubscribe=function(D,C){var E=(!C)?D:C;
var F=(!C)?null:D;
dojo.event.kwDisconnect({srcObj:A,srcFunc:"sendMessage",adviceObj:F,adviceFunc:E})
};
A.registerPublisher=function(C,D){dojo.event.connect(C,D,A,"sendMessage")
};
A.sendMessage=function(C){}
};
dojo.provide("dojo.event.browser");
dojo.require("dojo.event");
dojo_ie_clobber=new function(){this.clobberNodes=[];
function A(B,D){try{B[D]=null
}catch(C){}try{delete B[D]
}catch(C){}try{B.removeAttribute(D)
}catch(C){}}this.clobber=function(J){var F;
var H;
if(J){H=J.getElementsByTagName("*");
F=[J];
for(var I=0;
I<H.length;
I++){if(H[I]["__doClobber__"]){F.push(H[I])
}}}else{try{window.onload=null
}catch(G){}F=(this.clobberNodes.length)?this.clobberNodes:document.all
}H=null;
var B={};
for(var E=F.length-1;
E>=0;
E=E-1){var C=F[E];
if(C["__clobberAttrs__"]){for(var D=0;
D<C.__clobberAttrs__.length;
D++){A(C,C.__clobberAttrs__[D])
}A(C,"__clobberAttrs__");
A(C,"__doClobber__")
}}F=null
}
};
if(dojo.render.html.ie){window.onunload=function(){dojo_ie_clobber.clobber();
try{if((dojo["widget"])&&(dojo.widget["manager"])){dojo.widget.manager.destroyAll()
}}catch(A){}try{window.onload=null
}catch(A){}try{window.onunload=null
}catch(A){}dojo_ie_clobber.clobberNodes=[]
}
}dojo.event.browser=new function(){var A=0;
this.clean=function(C){if(dojo.render.html.ie){dojo_ie_clobber.clobber(C)
}};
this.addClobberNode=function(C){if(!C["__doClobber__"]){C.__doClobber__=true;
dojo_ie_clobber.clobberNodes.push(C);
C.__clobberAttrs__=[]
}};
this.addClobberNodeAttrs=function(D,E){this.addClobberNode(D);
for(var C=0;
C<E.length;
C++){D.__clobberAttrs__.push(E[C])
}};
this.removeListener=function(E,D,C,F){if(!F){var F=false
}D=D.toLowerCase();
if(D.substr(0,2)=="on"){D=D.substr(2)
}if(E.removeEventListener){E.removeEventListener(D,C,F)
}};
this.addListener=function(I,H,E,G,D){if(!I){return 
}if(!G){var G=false
}H=H.toLowerCase();
if(H.substr(0,2)!="on"){H="on"+H
}if(!D){var F=function(J){if(!J){J=window.event
}var K=E(dojo.event.browser.fixEvent(J));
if(G){dojo.event.browser.stopEvent(J)
}return K
}
}else{F=E
}if(I.addEventListener){I.addEventListener(H.substr(2),F,G);
return F
}else{if(typeof I[H]=="function"){var C=I[H];
I[H]=function(J){C(J);
return F(J)
}
}else{I[H]=F
}if(dojo.render.html.ie){this.addClobberNodeAttrs(I,[H])
}return F
}};
this.isEvent=function(C){return(typeof C!="undefined")&&(typeof Event!="undefined")&&(C.eventPhase)
};
this.currentEvent=null;
this.callListener=function(D,C){if(typeof D!="function"){dojo.raise("listener not a function: "+D)
}dojo.event.browser.currentEvent.currentTarget=C;
return D.call(C,dojo.event.browser.currentEvent)
};
this.stopPropagation=function(){dojo.event.browser.currentEvent.cancelBubble=true
};
this.preventDefault=function(){dojo.event.browser.currentEvent.returnValue=false
};
this.keys={KEY_BACKSPACE:8,KEY_TAB:9,KEY_ENTER:13,KEY_SHIFT:16,KEY_CTRL:17,KEY_ALT:18,KEY_PAUSE:19,KEY_CAPS_LOCK:20,KEY_ESCAPE:27,KEY_SPACE:32,KEY_PAGE_UP:33,KEY_PAGE_DOWN:34,KEY_END:35,KEY_HOME:36,KEY_LEFT_ARROW:37,KEY_UP_ARROW:38,KEY_RIGHT_ARROW:39,KEY_DOWN_ARROW:40,KEY_INSERT:45,KEY_DELETE:46,KEY_LEFT_WINDOW:91,KEY_RIGHT_WINDOW:92,KEY_SELECT:93,KEY_F1:112,KEY_F2:113,KEY_F3:114,KEY_F4:115,KEY_F5:116,KEY_F6:117,KEY_F7:118,KEY_F8:119,KEY_F9:120,KEY_F10:121,KEY_F11:122,KEY_F12:123,KEY_NUM_LOCK:144,KEY_SCROLL_LOCK:145};
this.revKeys=[];
for(var B in this.keys){this.revKeys[this.keys[B]]=B
}this.fixEvent=function(C){if((!C)&&(window["event"])){var C=window.event
}if((C["type"])&&(C["type"].indexOf("key")==0)){C.keys=this.revKeys;
for(var D in this.keys){C[D]=this.keys[D]
}if((dojo.render.html.ie)&&(C["type"]=="keypress")){C.charCode=C.keyCode
}}if(dojo.render.html.ie){if(!C.target){C.target=C.srcElement
}if(!C.currentTarget){C.currentTarget=C.srcElement
}if(!C.layerX){C.layerX=C.offsetX
}if(!C.layerY){C.layerY=C.offsetY
}if(C.fromElement){C.relatedTarget=C.fromElement
}if(C.toElement){C.relatedTarget=C.toElement
}this.currentEvent=C;
C.callListener=this.callListener;
C.stopPropagation=this.stopPropagation;
C.preventDefault=this.preventDefault
}return C
};
this.stopEvent=function(C){if(window.event){C.returnValue=false;
C.cancelBubble=true
}else{C.preventDefault();
C.stopPropagation()
}}
};
dojo.hostenv.conditionalLoadModule({common:["dojo.event","dojo.event.topic"],browser:["dojo.event.browser"]});
dojo.hostenv.moduleLoaded("dojo.event.*");
dojo.provide("dojo.widget.Manager");
dojo.require("dojo.lang");
dojo.require("dojo.event.*");
dojo.widget.manager=new function(){this.widgets=[];
this.widgetIds=[];
this.topWidgets={};
var E={};
var C=[];
this.getUniqueId=function(F){return F+"_"+(E[F]!=undefined?++E[F]:E[F]=0)
};
this.add=function(F){dojo.profile.start("dojo.widget.manager.add");
this.widgets.push(F);
if(F.widgetId==""){if(F["id"]){F.widgetId=F["id"]
}else{if(F.extraArgs["id"]){F.widgetId=F.extraArgs["id"]
}else{F.widgetId=this.getUniqueId(F.widgetType)
}}}if(this.widgetIds[F.widgetId]){dojo.debug("widget ID collision on ID: "+F.widgetId)
}this.widgetIds[F.widgetId]=F;
dojo.profile.end("dojo.widget.manager.add")
};
this.destroyAll=function(){for(var F=this.widgets.length-1;
F>=0;
F--){try{this.widgets[F].destroy(true);
delete this.widgets[F]
}catch(G){}}};
this.remove=function(G){var F=this.widgets[G].widgetId;
delete this.widgetIds[F];
this.widgets.splice(G,1)
};
this.removeById=function(G){for(var F=0;
F<this.widgets.length;
F++){if(this.widgets[F].widgetId==G){this.remove(F);
break
}}};
this.getWidgetById=function(F){return this.widgetIds[F]
};
this.getWidgetsByType=function(H){var F=H.toLowerCase();
var G=[];
dojo.lang.forEach(this.widgets,function(I){if(I.widgetType.toLowerCase()==F){G.push(I)
}});
return G
};
this.getWidgetsOfType=function(F){dj_deprecated("getWidgetsOfType is depecrecated, use getWidgetsByType");
return dojo.widget.manager.getWidgetsByType(F)
};
this.getWidgetsByFilter=function(F){var G=[];
dojo.lang.forEach(this.widgets,function(H){if(F(H)){G.push(H)
}});
return G
};
this.getAllWidgets=function(){return this.widgets.concat()
};
this.byId=this.getWidgetById;
this.byType=this.getWidgetsByType;
this.byFilter=this.getWidgetsByFilter;
var D={};
var B=["dojo.widget","dojo.webui.widgets"];
for(var A=0;
A<B.length;
A++){B[B[A]]=true
}this.registerWidgetPackage=function(F){if(!B[F]){B[F]=true;
B.push(F)
}};
this.getWidgetPackageList=function(){return dojo.lang.map(B,function(F){return(F!==true?F:undefined)
})
};
this.getImplementation=function(J,I,H){var F=this.getImplementationName(J);
if(F){var G=new F(I);
return G
}};
this.getImplementationName=function(M){var K=M.toLowerCase();
var J=D[K];
if(J){return J
}if(!C.length){for(var G in dojo.render){if(dojo.render[G]["capable"]===true){var F=dojo.render[G].prefixes;
for(var I=0;
I<F.length;
I++){C.push(F[I].toLowerCase())
}}}C.push("")
}for(var I=0;
I<B.length;
I++){var N=dojo.evalObjPath(B[I]);
if(!N){continue
}for(var H=0;
H<C.length;
H++){if(!N[C[H]]){continue
}for(var L in N[C[H]]){if(L.toLowerCase()!=K){continue
}D[K]=N[C[H]][L];
return D[K]
}}for(var H=0;
H<C.length;
H++){for(var L in N){if(L.toLowerCase()!=(C[H]+K)){continue
}D[K]=N[L];
return D[K]
}}}throw new Error('Could not locate "'+M+'" class')
};
this.resizing=false;
this.onResized=function(){if(this.resizing){return 
}try{this.resizing=true;
for(var G in this.topWidgets){var F=this.topWidgets[G];
if(F.onResized){F.onResized()
}}}finally{this.resizing=false
}};
if(typeof window!="undefined"){dojo.addOnLoad(this,"onResized");
dojo.event.connect(window,"onresize",this,"onResized")
}};
dojo.widget.getUniqueId=function(){return dojo.widget.manager.getUniqueId.apply(dojo.widget.manager,arguments)
};
dojo.widget.addWidget=function(){return dojo.widget.manager.add.apply(dojo.widget.manager,arguments)
};
dojo.widget.destroyAllWidgets=function(){return dojo.widget.manager.destroyAll.apply(dojo.widget.manager,arguments)
};
dojo.widget.removeWidget=function(){return dojo.widget.manager.remove.apply(dojo.widget.manager,arguments)
};
dojo.widget.removeWidgetById=function(){return dojo.widget.manager.removeById.apply(dojo.widget.manager,arguments)
};
dojo.widget.getWidgetById=function(){return dojo.widget.manager.getWidgetById.apply(dojo.widget.manager,arguments)
};
dojo.widget.getWidgetsByType=function(){return dojo.widget.manager.getWidgetsByType.apply(dojo.widget.manager,arguments)
};
dojo.widget.getWidgetsByFilter=function(){return dojo.widget.manager.getWidgetsByFilter.apply(dojo.widget.manager,arguments)
};
dojo.widget.byId=function(){return dojo.widget.manager.getWidgetById.apply(dojo.widget.manager,arguments)
};
dojo.widget.byType=function(){return dojo.widget.manager.getWidgetsByType.apply(dojo.widget.manager,arguments)
};
dojo.widget.byFilter=function(){return dojo.widget.manager.getWidgetsByFilter.apply(dojo.widget.manager,arguments)
};
dojo.widget.all=function(B){var A=dojo.widget.manager.getAllWidgets.apply(dojo.widget.manager,arguments);
if(arguments.length>0){return A[B]
}return A
};
dojo.widget.registerWidgetPackage=function(){return dojo.widget.manager.registerWidgetPackage.apply(dojo.widget.manager,arguments)
};
dojo.widget.getWidgetImplementation=function(){return dojo.widget.manager.getImplementation.apply(dojo.widget.manager,arguments)
};
dojo.widget.getWidgetImplementationName=function(){return dojo.widget.manager.getImplementationName.apply(dojo.widget.manager,arguments)
};
dojo.widget.widgets=dojo.widget.manager.widgets;
dojo.widget.widgetIds=dojo.widget.manager.widgetIds;
dojo.widget.root=dojo.widget.manager.root;
dojo.provide("dojo.string");
dojo.require("dojo.lang");
dojo.string.trim=function(B,A){if(!dojo.lang.isString(B)){return B
}if(!B.length){return B
}if(A>0){return B.replace(/^\s+/,"")
}else{if(A<0){return B.replace(/\s+$/,"")
}else{return B.replace(/^\s+|\s+$/g,"")
}}};
dojo.string.trimStart=function(A){return dojo.string.trim(A,1)
};
dojo.string.trimEnd=function(A){return dojo.string.trim(A,-1)
};
dojo.string.paramString=function(E,D,B){for(var A in D){var C=new RegExp("\\%\\{"+A+"\\}","g");
E=E.replace(C,D[A])
}if(B){E=E.replace(/%\{([^\}\s]+)\}/g,"")
}return E
};
dojo.string.capitalize=function(F){if(!dojo.lang.isString(F)){return""
}if(arguments.length==0){F=this
}var B=F.split(" ");
var C="";
var A=B.length;
for(var D=0;
D<A;
D++){var E=B[D];
E=E.charAt(0).toUpperCase()+E.substring(1,E.length);
C+=E;
if(D<A-1){C+=" "
}}return new String(C)
};
dojo.string.isBlank=function(A){if(!dojo.lang.isString(A)){return true
}return(dojo.string.trim(A).length==0)
};
dojo.string.encodeAscii=function(G){if(!dojo.lang.isString(G)){return G
}var B="";
var E=escape(G);
var C,D=/%u([0-9A-F]{4})/i;
while((C=E.match(D))){var A=Number("0x"+C[1]);
var F=escape("&#"+A+";");
B+=E.substring(0,C.index)+F;
E=E.substring(C.index+C[0].length)
}B+=E.replace(/\+/g,"%2B");
return B
};
dojo.string.summary=function(B,A){if(!A||B.length<=A){return B
}else{return B.substring(0,A).replace(/\.+$/,"")+"..."
}};
dojo.string.escape=function(C,D){var A=[];
for(var B=1;
B<arguments.length;
B++){A.push(arguments[B])
}switch(C.toLowerCase()){case"xml":case"html":case"xhtml":return dojo.string.escapeXml.apply(this,A);
case"sql":return dojo.string.escapeSql.apply(this,A);
case"regexp":case"regex":return dojo.string.escapeRegExp.apply(this,A);
case"javascript":case"jscript":case"js":return dojo.string.escapeJavaScript.apply(this,A);
case"ascii":return dojo.string.encodeAscii.apply(this,A);
default:return D
}};
dojo.string.escapeXml=function(B,A){B=B.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
if(!A){B=B.replace(/'/gm,"&#39;")
}return B
};
dojo.string.escapeSql=function(A){return A.replace(/'/gm,"''")
};
dojo.string.escapeRegExp=function(A){return A.replace(/\\/gm,"\\\\").replace(/([\f\b\n\t\r])/gm,"\\$1")
};
dojo.string.escapeJavaScript=function(A){return A.replace(/(["'\f\b\n\t\r])/gm,"\\$1")
};
dojo.string.repeat=function(E,D,C){var A="";
for(var B=0;
B<D;
B++){A+=E;
if(C&&B<D-1){A+=C
}}return A
};
dojo.string.endsWith=function(C,A,B){if(B){C=C.toLowerCase();
A=A.toLowerCase()
}return C.lastIndexOf(A)==C.length-A.length
};
dojo.string.endsWithAny=function(B){for(var A=1;
A<arguments.length;
A++){if(dojo.string.endsWith(B,arguments[A])){return true
}}return false
};
dojo.string.startsWith=function(C,B,A){if(A){C=C.toLowerCase();
B=B.toLowerCase()
}return C.indexOf(B)==0
};
dojo.string.startsWithAny=function(B){for(var A=1;
A<arguments.length;
A++){if(dojo.string.startsWith(B,arguments[A])){return true
}}return false
};
dojo.string.has=function(B){for(var A=1;
A<arguments.length;
A++){if(B.indexOf(arguments[A]>-1)){return true
}}return false
};
dojo.string.pad=function(D,A,E,C){var B=String(D);
if(!E){E="0"
}if(!C){C=1
}while(B.length<A){if(C>0){B=E+B
}else{B+=E
}}return B
};
dojo.string.padLeft=function(B,A,C){return dojo.string.pad(B,A,C,1)
};
dojo.string.padRight=function(B,A,C){return dojo.string.pad(B,A,C,-1)
};
dojo.string.normalizeNewlines=function(B,A){if(A=="\n"){B=B.replace(/\r\n/g,"\n");
B=B.replace(/\r/g,"\n")
}else{if(A=="\r"){B=B.replace(/\r\n/g,"\r");
B=B.replace(/\n/g,"\r")
}else{B=B.replace(/([^\r])\n/g,"$1\r\n");
B=B.replace(/\r([^\n])/g,"\r\n$1")
}}return B
};
dojo.string.splitEscaped=function(E,B){var A=[];
for(var C=0,D=0;
C<E.length;
C++){if(E.charAt(C)=="\\"){C++;
continue
}if(E.charAt(C)==B){A.push(E.substring(D,C));
D=C+1
}}A.push(E.substr(D));
return A
};
dojo.string.addToPrototype=function(){for(var B in dojo.string){if(dojo.lang.isFunction(dojo.string[B])){var A=(function(){var C=B;
switch(C){case"addToPrototype":return null;
break;
case"escape":return function(D){return dojo.string.escape(D,this)
};
break;
default:return function(){var D=[this];
for(var E=0;
E<arguments.length;
E++){D.push(arguments[E])
}dojo.debug(D);
return dojo.string[C].apply(dojo.string,D)
}
}})();
if(A){String.prototype[B]=A
}}}};
dojo.provide("dojo.widget.Widget");
dojo.provide("dojo.widget.tags");
dojo.require("dojo.lang");
dojo.require("dojo.widget.Manager");
dojo.require("dojo.event.*");
dojo.require("dojo.string");
dojo.widget.Widget=function(){this.children=[];
this.extraArgs={}
};
dojo.lang.extend(dojo.widget.Widget,{parent:null,isTopLevel:false,isModal:false,isEnabled:true,isHidden:false,isContainer:false,widgetId:"",widgetType:"Widget",toString:function(){return"[Widget "+this.widgetType+", "+(this.widgetId||"NO ID")+"]"
},repr:function(){return this.toString()
},enable:function(){this.isEnabled=true
},disable:function(){this.isEnabled=false
},hide:function(){this.isHidden=true
},show:function(){this.isHidden=false
},create:function(A,B,C){this.satisfyPropertySets(A,B,C);
this.mixInProperties(A,B,C);
this.postMixInProperties(A,B,C);
dojo.widget.manager.add(this);
this.buildRendering(A,B,C);
this.initialize(A,B,C);
this.postInitialize(A,B,C);
this.postCreate(A,B,C);
return this
},destroy:function(A){this.uninitialize();
this.destroyRendering(A);
dojo.widget.manager.removeById(this.widgetId)
},destroyChildren:function(C){C=(!C)?function(){return true
}:C;
for(var B=0;
B<this.children.length;
B++){var A=this.children[B];
if((A)&&(C(A))){A.destroy()
}}},destroyChildrenOfType:function(A){A=A.toLowerCase();
this.destroyChildren(function(B){if(B.widgetType.toLowerCase()==A){return true
}else{return false
}})
},getChildrenOfType:function(D,B){var C=[];
D=D.toLowerCase();
for(var A=0;
A<this.children.length;
A++){if(this.children[A].widgetType.toLowerCase()==D){C.push(this.children[A])
}if(B){C=C.concat(this.children[A].getChildrenOfType(D,B))
}}return C
},getDescendants:function(){var B=[];
var A=[this];
var C;
while(C=A.pop()){B.push(C);
dojo.lang.forEach(C.children,function(D){A.push(D)
})
}return B
},satisfyPropertySets:function(A){return A
},mixInProperties:function(D,I){if((D["fastMixIn"])||(I["fastMixIn"])){for(var F in D){this[F]=D[F]
}return 
}var B;
var A=dojo.widget.lcArgsCache[this.widgetType];
if(A==null){A={};
for(var E in this){A[((new String(E)).toLowerCase())]=E
}dojo.widget.lcArgsCache[this.widgetType]=A
}var J={};
for(var F in D){if(!this[F]){var E=A[(new String(F)).toLowerCase()];
if(E){D[E]=D[F];
F=E
}}if(J[F]){continue
}J[F]=true;
if((typeof this[F])!=(typeof B)){if(typeof D[F]!="string"){this[F]=D[F]
}else{if(dojo.lang.isString(this[F])){this[F]=D[F]
}else{if(dojo.lang.isNumber(this[F])){this[F]=new Number(D[F])
}else{if(dojo.lang.isBoolean(this[F])){this[F]=(D[F].toLowerCase()=="false")?false:true
}else{if(dojo.lang.isFunction(this[F])){var G=dojo.lang.nameAnonFunc(new Function(D[F]),this);
dojo.event.connect(this,F,this,G)
}else{if(dojo.lang.isArray(this[F])){this[F]=D[F].split(";")
}else{if(this[F] instanceof Date){this[F]=new Date(Number(D[F]))
}else{if(typeof this[F]=="object"){var H=D[F].split(";");
for(var E=0;
E<H.length;
E++){var C=H[E].indexOf(":");
if((C!=-1)&&(H[E].length>C)){this[F][dojo.string.trim(H[E].substr(0,C))]=H[E].substr(C+1)
}}}else{this[F]=D[F]
}}}}}}}}}else{this.extraArgs[F]=D[F]
}}},postMixInProperties:function(){},initialize:function(A,B){return false
},postInitialize:function(A,B){return false
},postCreate:function(A,B){return false
},uninitialize:function(){return false
},buildRendering:function(){dj_unimplemented("dojo.widget.Widget.buildRendering, on "+this.toString()+", ");
return false
},destroyRendering:function(){dj_unimplemented("dojo.widget.Widget.destroyRendering");
return false
},cleanUp:function(){dj_unimplemented("dojo.widget.Widget.cleanUp");
return false
},addedTo:function(A){},addChild:function(A){dj_unimplemented("dojo.widget.Widget.addChild");
return false
},addChildAtIndex:function(B,A){dj_unimplemented("dojo.widget.Widget.addChildAtIndex");
return false
},removeChild:function(A){dj_unimplemented("dojo.widget.Widget.removeChild");
return false
},removeChildAtIndex:function(A){dj_unimplemented("dojo.widget.Widget.removeChildAtIndex");
return false
},resize:function(B,A){this.setWidth(B);
this.setHeight(A)
},setWidth:function(A){if((typeof A=="string")&&(A.substr(-1)=="%")){this.setPercentageWidth(A)
}else{this.setNativeWidth(A)
}},setHeight:function(A){if((typeof A=="string")&&(A.substr(-1)=="%")){this.setPercentageHeight(A)
}else{this.setNativeHeight(A)
}},setPercentageHeight:function(A){return false
},setNativeHeight:function(A){return false
},setPercentageWidth:function(A){return false
},setNativeWidth:function(A){return false
},getDescendants:function(){var B=[];
var A=[this];
var C;
while(C=A.pop()){B.push(C);
dojo.lang.forEach(C.children,function(D){A.push(D)
})
}return B
}});
dojo.widget.lcArgsCache={};
dojo.widget.tags={};
dojo.widget.tags.addParseTreeHandler=function(B){var A=B.toLowerCase();
this[A]=function(D,C,G,F,E){return dojo.widget.buildWidgetFromParseTree(A,D,C,G,F,E)
}
};
dojo.widget.tags.addParseTreeHandler("dojo:widget");
dojo.widget.tags["dojo:propertyset"]=function(B,A,D){var C=A.parseProperties(B["dojo:propertyset"])
};
dojo.widget.tags["dojo:connect"]=function(D,C,A){var B=C.parseProperties(D["dojo:connect"])
};
dojo.widget.buildWidgetFromParseTree=function(D,H,B,A,J,I){var G=D.split(":");
G=(G.length==2)?G[1]:D;
var F=I||B.parseProperties(H["dojo:"+G]);
var E=dojo.widget.manager.getImplementation(G);
if(!E){throw new Error('cannot find "'+G+'" widget')
}else{if(!E.create){throw new Error('"'+G+'" widget object does not appear to implement *Widget')
}}F["dojoinsertionindex"]=J;
var C=E.create(F,H,A);
return C
};
dojo.provide("dojo.widget.Parse");
dojo.require("dojo.widget.Manager");
dojo.require("dojo.string");
dojo.require("dojo.dom");
dojo.widget.Parse=function(A){this.propertySetsList=[];
this.fragment=A;
this.createComponents=function(M,K){var J=dojo.widget.tags;
var H=[];
for(var L in M){var G=false;
try{if(M[L]&&(M[L]["tagName"])&&(M[L]!=M["nodeRef"])){var I=new String(M[L]["tagName"]);
var E=I.split(";");
for(var F=0;
F<E.length;
F++){var B=dojo.string.trim(E[F]).toLowerCase();
if(J[B]){G=true;
M[L].tagName=B;
var D=J[B](M[L],this,K,M[L]["index"]);
H.push(D)
}else{if((dojo.lang.isString(B))&&(B.substr(0,5)=="dojo:")){dojo.debug("no tag handler registed for type: ",B)
}}}}}catch(C){dojo.debug("fragment creation error:",C)
}if((!G)&&(typeof M[L]=="object")&&(M[L]!=M.nodeRef)&&(M[L]!=M["tagName"])){H.push(this.createComponents(M[L],K))
}}return H
};
this.parsePropertySets=function(C){return[];
var B=[];
for(var D in C){if((C[D]["tagName"]=="dojo:propertyset")){B.push(C[D])
}}this.propertySetsList.push(B);
return B
};
this.parseProperties=function(E){var D={};
for(var F in E){if((E[F]==E["tagName"])||(E[F]==E.nodeRef)){}else{if((E[F]["tagName"])&&(dojo.widget.tags[E[F].tagName.toLowerCase()])){}else{if((E[F][0])&&(E[F][0].value!="")){try{if(F.toLowerCase()=="dataprovider"){var C=this;
this.getDataProvider(C,E[F][0].value);
D.dataProvider=this.dataProvider
}D[F]=E[F][0].value;
var B=this.parseProperties(E[F]);
for(var H in B){D[H]=B[H]
}}catch(G){dojo.debug(G)
}}}}}return D
};
this.getDataProvider=function(B,C){dojo.io.bind({url:C,load:function(D,E){if(D=="load"){B.dataProvider=E
}},mimetype:"text/javascript",sync:true})
};
this.getPropertySetById=function(C){for(var B=0;
B<this.propertySetsList.length;
B++){if(C==this.propertySetsList[B]["id"][0].value){return this.propertySetsList[B]
}}return""
};
this.getPropertySetsByType=function(F){var D=[];
for(var B=0;
B<this.propertySetsList.length;
B++){var E=this.propertySetsList[B];
var C=E["componentClass"]||E["componentType"]||null;
if((C)&&(propertySetId==C[0].value)){D.push(E)
}}return D
};
this.getPropertySets=function(E){var F="dojo:propertyproviderlist";
var D=[];
var C=E["tagName"];
if(E[F]){var B=E[F].value.split(" ");
for(propertySetId in B){if((propertySetId.indexOf("..")==-1)&&(propertySetId.indexOf("://")==-1)){var G=this.getPropertySetById(propertySetId);
if(G!=""){D.push(G)
}}else{}}}return(this.getPropertySetsByType(C)).concat(D)
};
this.createComponentFromScript=function(E,C,B){var D="dojo:"+C.toLowerCase();
if(dojo.widget.tags[D]){B.fastMixIn=true;
return[dojo.widget.tags[D](B,this,null,null,B)]
}else{if(D.substr(0,5)=="dojo:"){dojo.debug("no tag handler registed for type: ",D)
}}}
};
dojo.widget._parser_collection={"dojo":new dojo.widget.Parse()};
dojo.widget.getParser=function(A){if(!A){A="dojo"
}if(!this._parser_collection[A]){this._parser_collection[A]=new dojo.widget.Parse()
}return this._parser_collection[A]
};
dojo.widget.createWidget=function(B,G,E,C){function F(N,M,L){var K=M.toLowerCase();
var J="dojo:"+K;
L[J]={dojotype:[{value:K}],nodeRef:N,fastMixIn:true};
return dojo.widget.getParser().createComponentFromScript(N,M,L,true)
}if(typeof B!="string"&&typeof G=="string"){dojo.deprecated("dojo.widget.createWidget","argument order is now of the form dojo.widget.createWidget(NAME, [PROPERTIES, [REFERENCENODE, [POSITION]]])");
return F(B,G,E)
}G=G||{};
var D=false;
var I=null;
var H=dojo.render.html.capable;
if(H){I=document.createElement("span")
}if(!E){D=true;
E=I;
if(H){dojo.html.body().appendChild(E)
}}else{if(C){dojo.dom.insertAtPosition(I,E,C)
}else{I=E
}}var A=F(I,B,G);
if(!A[0]||typeof A[0].widgetType=="undefined"){throw new Error('createWidget: Creation of "'+B+'" widget failed.')
}if(D){if(A[0].domNode.parentNode){A[0].domNode.parentNode.removeChild(A[0].domNode)
}}return A[0]
};
dojo.widget.fromScript=function(A,D,C,B){dojo.deprecated("dojo.widget.fromScript"," use dojo.widget.createWidget instead");
return dojo.widget.createWidget(A,D,C,B)
};
dojo.provide("dojo.uri.Uri");
dojo.uri=new function(){this.joinPath=function(){var A=[];
for(var B=0;
B<arguments.length;
B++){A.push(arguments[B])
}return A.join("index.html").replace(/\/{2,}/g,"index.html").replace(/((https*|ftps*):)/i,"$1/index.html")
};
this.dojoUri=function(A){return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri(),A)
};
this.Uri=function(){var C=arguments[0];
for(var E=1;
E<arguments.length;
E++){if(!arguments[E]){continue
}var H=new dojo.uri.Uri(arguments[E].toString());
var G=new dojo.uri.Uri(C.toString());
if(H.path==""&&H.scheme==null&&H.authority==null&&H.query==null){if(H.fragment!=null){G.fragment=H.fragment
}H=G
}else{if(H.scheme==null){H.scheme=G.scheme;
if(H.authority==null){H.authority=G.authority;
if(H.path.charAt(0)!="index.html"){var I=G.path.substring(0,G.path.lastIndexOf("index.html")+1)+H.path;
var B=I.split("index.html");
for(var D=0;
D<B.length;
D++){if(B[D]=="."){if(D==B.length-1){B[D]=""
}else{B.splice(D,1);
D--
}}else{if(D>0&&!(D==1&&B[0]=="")&&B[D]==".."&&B[D-1]!=".."){if(D==B.length-1){B.splice(D,1);
B[D-1]=""
}else{B.splice(D-1,2);
D-=2
}}}}H.path=B.join("index.html")
}}}}C="";
if(H.scheme!=null){C+=H.scheme+":"
}if(H.authority!=null){C+="//"+H.authority
}C+=H.path;
if(H.query!=null){C+="?"+H.query
}if(H.fragment!=null){C+="#"+H.fragment
}}this.uri=C.toString();
var F="^(([^_/indexd41d.html?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
var A=this.uri.match(new RegExp(F));
this.scheme=A[2]||(A[1]?"":null);
this.authority=A[4]||(A[3]?"":null);
this.path=A[5];
this.query=A[7]||(A[6]?"":null);
this.fragment=A[9]||(A[8]?"":null);
if(this.authority!=null){F="^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$";
A=this.authority.match(new RegExp(F));
this.user=A[3]||null;
this.password=A[4]||null;
this.host=A[5];
this.port=A[7]||null
}this.toString=function(){return this.uri
}
}
};
dojo.hostenv.conditionalLoadModule({common:["dojo.uri.Uri",false,false]});
dojo.hostenv.moduleLoaded("dojo.uri.*");
dojo.provide("dojo.widget.DomWidget");
dojo.require("dojo.event.*");
dojo.require("dojo.string");
dojo.require("dojo.widget.Widget");
dojo.require("dojo.dom");
dojo.require("dojo.xml.Parse");
dojo.require("dojo.uri.*");
dojo.widget._cssFiles={};
dojo.widget.defaultStrings={dojoRoot:dojo.hostenv.getBaseScriptUri(),baseScriptUri:dojo.hostenv.getBaseScriptUri()};
dojo.widget.buildFromTemplate=function(A,J,H,F){var D=J||A.templatePath;
var C=H||A.templateCssPath;
if(!C&&A.templateCSSPath){A.templateCssPath=C=A.templateCSSPath;
A.templateCSSPath=null;
dj_deprecated("templateCSSPath is deprecated, use templateCssPath")
}if(D&&!(D instanceof dojo.uri.Uri)){D=dojo.uri.dojoUri(D);
dj_deprecated("templatePath should be of type dojo.uri.Uri")
}if(C&&!(C instanceof dojo.uri.Uri)){C=dojo.uri.dojoUri(C);
dj_deprecated("templateCssPath should be of type dojo.uri.Uri")
}var B=dojo.widget.DomWidget.templates;
if(!A["widgetType"]){do{var K="__dummyTemplate__"+dojo.widget.buildFromTemplate.dummyCount++
}while(B[K]);
A.widgetType=K
}if((C)&&(!dojo.widget._cssFiles[C])){dojo.html.insertCssFile(C);
A.templateCssPath=null;
dojo.widget._cssFiles[C]=true
}var I=B[A.widgetType];
if(!I){B[A.widgetType]={};
I=B[A.widgetType]
}if(!A.templateString){A.templateString=F||I["string"]
}if(!A.templateNode){A.templateNode=I["node"]
}if((!A.templateNode)&&(!A.templateString)&&(D)){var G=dojo.hostenv.getText(D);
if(G){var E=G.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
if(E){G=E[1]
}}else{G=""
}A.templateString=G;
I.string=G
}if(!I["string"]){I.string=A.templateString
}};
dojo.widget.buildFromTemplate.dummyCount=0;
dojo.widget.attachProperties=["dojoAttachPoint","id"];
dojo.widget.eventAttachProperty="dojoAttachEvent";
dojo.widget.onBuildProperty="dojoOnBuild";
dojo.widget.attachTemplateNodes=function(_32e,_32f,_330){var _331=dojo.dom.ELEMENT_NODE;
if(!_32e){_32e=_32f.domNode
}if(_32e.nodeType!=_331){return 
}var _332=_32e.getElementsByTagName("*");
var _333=_32f;
for(var x=-1;
x<_332.length;
x++){var _335=(x==-1)?_32e:_332[x];
var _336=[];
for(var y=0;
y<this.attachProperties.length;
y++){var _338=_335.getAttribute(this.attachProperties[y]);
if(_338){_336=_338.split(";");
for(var z=0;
z<this.attachProperties.length;
z++){if((_32f[_336[z]])&&(dojo.lang.isArray(_32f[_336[z]]))){_32f[_336[z]].push(_335)
}else{_32f[_336[z]]=_335
}}break
}}var _33a=_335.getAttribute(this.templateProperty);
if(_33a){_32f[_33a]=_335
}var _33b=_335.getAttribute(this.eventAttachProperty);
if(_33b){var evts=_33b.split(";");
for(var y=0;
y<evts.length;
y++){if((!evts[y])||(!evts[y].length)){continue
}var _33d=null;
var tevt=dojo.string.trim(evts[y]);
if(evts[y].indexOf(":")>=0){var _33f=tevt.split(":");
tevt=dojo.string.trim(_33f[0]);
_33d=dojo.string.trim(_33f[1])
}if(!_33d){_33d=tevt
}var tf=function(){var ntf=new String(_33d);
return function(evt){if(_333[ntf]){_333[ntf](dojo.event.browser.fixEvent(evt))
}}
}();
dojo.event.browser.addListener(_335,tevt,tf,false,true)
}}for(var y=0;
y<_330.length;
y++){var _343=_335.getAttribute(_330[y]);
if((_343)&&(_343.length)){var _33d=null;
var _344=_330[y].substr(4);
_33d=dojo.string.trim(_343);
var tf=function(){var ntf=new String(_33d);
return function(evt){if(_333[ntf]){_333[ntf](dojo.event.browser.fixEvent(evt))
}}
}();
dojo.event.browser.addListener(_335,_344,tf,false,true)
}}var _347=_335.getAttribute(this.onBuildProperty);
if(_347){eval("var node = baseNode; var widget = targetObj; "+_347)
}_335.id=""
}};
dojo.widget.getDojoEventsFromStr=function(G){var F=/(dojoOn([a-z]+)(\s?))=/gi;
var D=G?G.match(F)||[]:[];
var E=[];
var C={};
for(var B=0;
B<D.length;
B++){if(D[B].legth<1){continue
}var A=D[B].replace(/\s/,"");
A=(A.slice(0,A.length-1));
if(!C[A]){C[A]=true;
E.push(A)
}}return E
};
dojo.widget.buildAndAttachTemplate=function(F,E,D,C,A){this.buildFromTemplate(F,E,D,C);
var B=dojo.dom.createNodesFromText(F.templateString,true)[0];
this.attachTemplateNodes(B,A||F,dojo.widget.getDojoEventsFromStr(C));
return B
};
dojo.widget.DomWidget=function(){dojo.widget.Widget.call(this);
if((arguments.length>0)&&(typeof arguments[0]=="object")){this.create(arguments[0])
}};
dojo.inherits(dojo.widget.DomWidget,dojo.widget.Widget);
dojo.lang.extend(dojo.widget.DomWidget,{templateNode:null,templateString:null,preventClobber:false,domNode:null,containerNode:null,addChild:function(B,A,E,C,D){if(!this.isContainer){dojo.debug("dojo.widget.DomWidget.addChild() attempted on non-container widget");
return null
}else{this.addWidgetAsDirectChild(B,A,E,C,D);
this.registerChild(B,D)
}return B
},addWidgetAsDirectChild:function(B,A,F,C,E){if((!this.containerNode)&&(!A)){this.containerNode=this.domNode
}var D=(A)?A:this.containerNode;
if(!F){F="after"
}if(!C){C=D.lastChild
}if(!E){E=0
}B.domNode.setAttribute("dojoinsertionindex",E);
if(!C){D.appendChild(B.domNode)
}else{if(F=="insertAtIndex"){dojo.dom.insertAtIndex(B.domNode,C.parentNode,E)
}else{if((F=="after")&&(C===D.lastChild)){D.appendChild(B.domNode)
}else{dojo.dom.insertAtPosition(B.domNode,D,F)
}}}},registerChild:function(D,C){D.dojoInsertionIndex=C;
var A=-1;
for(var B=0;
B<this.children.length;
B++){if(this.children[B].dojoInsertionIndex<C){A=B
}}this.children.splice(A+1,0,D);
D.parent=this;
D.addedTo(this);
delete dojo.widget.manager.topWidgets[D.widgetId]
},removeChild:function(B){for(var A=0;
A<this.children.length;
A++){if(this.children[A]===B){this.children.splice(A,1);
break
}}return B
},getFragNodeRef:function(A){if(!A["dojo:"+this.widgetType.toLowerCase()]){dojo.raise("Error: no frag for widget type "+this.widgetType+", id "+this.widgetId+" (maybe a widget has set it's type incorrectly)")
}return(A?A["dojo:"+this.widgetType.toLowerCase()]["nodeRef"]:null)
},postInitialize:function(C,F,A){var E=this.getFragNodeRef(F);
if(A&&(A.snarfChildDomOutput||!E)){A.addWidgetAsDirectChild(this,"","insertAtIndex","",C["dojoinsertionindex"],E)
}else{if(E){if(this.domNode&&(this.domNode!==E)){var D=E.parentNode.replaceChild(this.domNode,E)
}}}if(A){A.registerChild(this,C.dojoinsertionindex)
}else{dojo.widget.manager.topWidgets[this.widgetId]=this
}if(this.isContainer){var B=dojo.widget.getParser();
B.createComponents(F,this)
}},startResize:function(A){dj_unimplemented("dojo.widget.DomWidget.startResize")
},updateResize:function(A){dj_unimplemented("dojo.widget.DomWidget.updateResize")
},endResize:function(A){dj_unimplemented("dojo.widget.DomWidget.endResize")
},buildRendering:function(A,C){var B=dojo.widget.DomWidget.templates[this.widgetType];
if((!this.preventClobber)&&((this.templatePath)||(this.templateNode)||((this["templateString"])&&(this.templateString.length))||((typeof B!="undefined")&&((B["string"])||(B["node"]))))){this.buildFromTemplate(A,C)
}else{this.domNode=this.getFragNodeRef(C)
}this.fillInTemplate(A,C)
},buildFromTemplate:function(H,L){var G=dojo.widget.DomWidget.templates[this.widgetType];
if(G){if(!this.templateString.length){this.templateString=G["string"]
}if(!this.templateNode){this.templateNode=G["node"]
}}var J=false;
var B=null;
var F=new String(this.templateString);
if((!this.templateNode)&&(this.templateString)){J=this.templateString.match(/\$\{([^\}]+)\}/g);
if(J){var E=this.strings||{};
for(var K in dojo.widget.defaultStrings){if(dojo.lang.isUndefined(E[K])){E[K]=dojo.widget.defaultStrings[K]
}}for(var D=0;
D<J.length;
D++){var K=J[D];
K=K.substring(2,K.length-1);
var C=(K.substring(0,5)=="this.")?this[K.substring(5)]:E[K];
var I;
if((C)||(dojo.lang.isString(C))){I=(dojo.lang.isFunction(C))?C.call(this,K,this.templateString):C;
F=F.replace(J[D],I)
}}}else{this.templateNode=this.createNodesFromText(this.templateString,true)[0];
G.node=this.templateNode
}}if((!this.templateNode)&&(!J)){dojo.debug("weren't able to create template!");
return false
}else{if(!J){B=this.templateNode.cloneNode(true);
if(!B){return false
}}else{B=this.createNodesFromText(F,true)[0]
}}this.domNode=B;
this.attachTemplateNodes(this.domNode,this);
if(this.isContainer&&this.containerNode){var A=this.getFragNodeRef(L);
if(A){dojo.dom.moveChildren(A,this.containerNode)
}}},attachTemplateNodes:function(A,B){if(!B){B=this
}return dojo.widget.attachTemplateNodes(A,B,dojo.widget.getDojoEventsFromStr(this.templateString))
},fillInTemplate:function(){},destroyRendering:function(){try{var A=this.domNode.parentNode.removeChild(this.domNode);
delete A
}catch(B){}},cleanUp:function(){},getContainerHeight:function(){return dojo.html.getInnerHeight(this.domNode.parentNode)
},getContainerWidth:function(){return dojo.html.getInnerWidth(this.domNode.parentNode)
},createNodesFromText:function(){dj_unimplemented("dojo.widget.DomWidget.createNodesFromText")
}});
dojo.widget.DomWidget.templates={};
dojo.provide("dojo.math");
dojo.math.degToRad=function(A){return(A*Math.PI)/180
};
dojo.math.radToDeg=function(A){return(A*180)/Math.PI
};
dojo.math.factorial=function(C){if(C<1){return 0
}var B=1;
for(var A=1;
A<=C;
A++){B*=A
}return B
};
dojo.math.permutations=function(B,A){if(B==0||A==0){return 1
}return(dojo.math.factorial(B)/dojo.math.factorial(B-A))
};
dojo.math.combinations=function(B,A){if(B==0||A==0){return 1
}return(dojo.math.factorial(B)/(dojo.math.factorial(B-A)*dojo.math.factorial(A)))
};
dojo.math.bernstein=function(B,C,A){return(dojo.math.combinations(C,A)*Math.pow(B,A)*Math.pow(1-B,C-A))
};
dojo.math.gaussianRandom=function(){var A=2;
do{var C=2*Math.random()-1;
var B=2*Math.random()-1;
A=C*C+B*B
}while(A>=1);
A=Math.sqrt((-2*Math.log(A))/A);
return C*A
};
dojo.math.mean=function(){var C=dojo.lang.isArray(arguments[0])?arguments[0]:arguments;
var A=0;
for(var B=0;
B<C.length;
B++){A+=C[B]
}return A/C.length
};
dojo.math.round=function(B,A){if(!A){var C=1
}else{var C=Math.pow(10,A)
}return Math.round(B*C)/C
};
dojo.math.sd=function(){var A=dojo.lang.isArray(arguments[0])?arguments[0]:arguments;
return Math.sqrt(dojo.math.variance(A))
};
dojo.math.variance=function(){var D=dojo.lang.isArray(arguments[0])?arguments[0]:arguments;
var A=0,B=0;
for(var C=0;
C<D.length;
C++){A+=D[C];
B+=Math.pow(D[C],2)
}return(B/D.length)-Math.pow(A/D.length,2)
};
dojo.math.range=function(B,A,D){if(arguments.length<2){A=B;
B=0
}if(arguments.length<3){D=1
}var E=[];
if(D>0){for(var C=B;
C<A;
C+=D){E.push(C)
}}else{if(D<0){for(var C=B;
C>A;
C+=D){E.push(C)
}}else{throw new Error("dojo.math.range: step must be non-zero")
}}return E
};
dojo.provide("dojo.graphics.color");
dojo.require("dojo.lang");
dojo.require("dojo.string");
dojo.require("dojo.math");
dojo.graphics.color.Color=function(E,D,A,B){if(dojo.lang.isArray(E)){this.r=E[0];
this.g=E[1];
this.b=E[2];
this.a=E[3]||1
}else{if(dojo.lang.isString(E)){var C=dojo.graphics.color.extractRGB(E);
this.r=C[0];
this.g=C[1];
this.b=C[2];
this.a=D||1
}else{if(E instanceof dojo.graphics.color.Color){this.r=E.r;
this.b=E.b;
this.g=E.g;
this.a=E.a
}else{this.r=E;
this.g=D;
this.b=A;
this.a=B
}}}};
dojo.lang.extend(dojo.graphics.color.Color,{toRgb:function(A){if(A){return this.toRgba()
}else{return[this.r,this.g,this.b]
}},toRgba:function(){return[this.r,this.g,this.b,this.a]
},toHex:function(){return dojo.graphics.color.rgb2hex(this.toRgb())
},toCss:function(){return"rgb("+this.toRgb().join()+")"
},toString:function(){return this.toHex()
},toHsv:function(){return dojo.graphics.color.rgb2hsv(this.toRgb())
},toHsl:function(){return dojo.graphics.color.rgb2hsl(this.toRgb())
},blend:function(B,A){return dojo.graphics.color.blend(this.toRgb(),new Color(B).toRgb(),A)
}});
dojo.graphics.color.named={white:[255,255,255],black:[0,0,0],red:[255,0,0],green:[0,255,0],blue:[0,0,255],navy:[0,0,128],gray:[128,128,128],silver:[192,192,192]};
dojo.graphics.color.blend=function(B,A,C){if(typeof B=="string"){return dojo.graphics.color.blendHex(B,A,C)
}if(!C){C=0
}else{if(C>1){C=1
}else{if(C<-1){C=-1
}}}var F=new Array(3);
for(var D=0;
D<3;
D++){var E=Math.abs(B[D]-A[D])/2;
F[D]=Math.floor(Math.min(B[D],A[D])+E+(E*C))
}return F
};
dojo.graphics.color.blendHex=function(B,A,C){return dojo.graphics.color.rgb2hex(dojo.graphics.color.blend(dojo.graphics.color.hex2rgb(B),dojo.graphics.color.hex2rgb(A),C))
};
dojo.graphics.color.extractRGB=function(E){var C="0123456789abcdef";
E=E.toLowerCase();
if(E.indexOf("rgb")==0){var D=E.match(/rgba*\((\d+), *(\d+), *(\d+)/i);
var A=D.splice(1,3);
return A
}else{var B=dojo.graphics.color.hex2rgb(E);
if(B){return B
}else{return dojo.graphics.color.named[E]||[255,255,255]
}}};
dojo.graphics.color.hex2rgb=function(D){var B="0123456789ABCDEF";
var A=new Array(3);
if(D.indexOf("#")==0){D=D.substring(1)
}D=D.toUpperCase();
if(D.replace(new RegExp("["+B+"]","g"),"")!=""){return null
}if(D.length==3){A[0]=D.charAt(0)+D.charAt(0);
A[1]=D.charAt(1)+D.charAt(1);
A[2]=D.charAt(2)+D.charAt(2)
}else{A[0]=D.substring(0,2);
A[1]=D.substring(2,4);
A[2]=D.substring(4)
}for(var C=0;
C<A.length;
C++){A[C]=B.indexOf(A[C].charAt(0))*16+B.indexOf(A[C].charAt(1))
}return A
};
dojo.graphics.color.rgb2hex=function(C,B,A){if(dojo.lang.isArray(C)){B=C[1]||0;
A=C[2]||0;
C=C[0]||0
}return["#",dojo.string.pad(C.toString(16),2),dojo.string.pad(B.toString(16),2),dojo.string.pad(A.toString(16),2)].join("")
};
dojo.graphics.color.rgb2hsv=function(G,F,A){if(dojo.lang.isArray(G)){A=G[2]||0;
F=G[1]||0;
G=G[0]||0
}var E=null;
var D=null;
var B=null;
var C=Math.min(G,F,A);
B=Math.max(G,F,A);
var H=B-C;
D=(B==0)?0:H/B;
if(D==0){E=0
}else{if(G==B){E=60*(F-A)/H
}else{if(F==B){E=120+60*(A-G)/H
}else{if(A==B){E=240+60*(G-F)/H
}}}if(E<0){E+=360
}}E=(E==0)?360:Math.ceil((E/360)*255);
D=Math.ceil(D*255);
return[E,D,B]
};
dojo.graphics.color.hsv2rgb=function(E,L,J){if(dojo.lang.isArray(E)){J=E[2]||0;
L=E[1]||0;
E=E[0]||0
}E=(E/255)*360;
if(E==360){E=0
}L=L/255;
J=J/255;
var A=null;
var F=null;
var I=null;
if(L==0){A=J;
F=J;
I=J
}else{var H=E/60;
var D=Math.floor(H);
var G=H-D;
var C=J*(1-L);
var B=J*(1-(L*G));
var K=J*(1-(L*(1-G)));
switch(D){case 0:A=J;
F=K;
I=C;
break;
case 1:A=B;
F=J;
I=C;
break;
case 2:A=C;
F=J;
I=K;
break;
case 3:A=C;
F=B;
I=J;
break;
case 4:A=K;
F=C;
I=J;
break;
case 5:A=J;
F=C;
I=B;
break
}}A=Math.ceil(A*255);
F=Math.ceil(F*255);
I=Math.ceil(I*255);
return[A,F,I]
};
dojo.graphics.color.rgb2hsl=function(B,F,G){if(dojo.lang.isArray(B)){G=B[2]||0;
F=B[1]||0;
B=B[0]||0
}B/=255;
F/=255;
G/=255;
var E=null;
var I=null;
var C=null;
var D=Math.min(B,F,G);
var H=Math.max(B,F,G);
var A=H-D;
C=(D+H)/2;
I=0;
if((C>0)&&(C<1)){I=A/((C<0.5)?(2*C):(2-2*C))
}E=0;
if(A>0){if((H==B)&&(H!=F)){E+=(F-G)/A
}if((H==F)&&(H!=G)){E+=(2+(G-B)/A)
}if((H==G)&&(H!=B)){E+=(4+(B-F)/A)
}E*=60
}E=(E==0)?360:Math.ceil((E/360)*255);
I=Math.ceil(I*255);
C=Math.ceil(C*255);
return[E,I,C]
};
dojo.graphics.color.hsl2rgb=function(C,B,A){if(dojo.lang.isArray(C)){A=C[2]||0;
B=C[1]||0;
C=C[0]||0
}C=(C/255)*360;
if(C==360){C=0
}B=B/255;
A=A/255;
while(C<0){C+=360
}while(C>360){C-=360
}if(C<120){r=(120-C)/60;
g=C/60;
b=0
}else{if(C<240){r=0;
g=(240-C)/60;
b=(C-120)/60
}else{r=(C-240)/60;
g=0;
b=(360-C)/60
}}r=Math.min(r,1);
g=Math.min(g,1);
b=Math.min(b,1);
r=2*B*r+(1-B);
g=2*B*g+(1-B);
b=2*B*b+(1-B);
if(A<0.5){r=A*r;
g=A*g;
b=A*b
}else{r=(1-A)*r+2*A-1;
g=(1-A)*g+2*A-1;
b=(1-A)*b+2*A-1
}r=Math.ceil(r*255);
g=Math.ceil(g*255);
b=Math.ceil(b*255);
return[r,g,b]
};
dojo.graphics.color.hsl2hex=function(D,C,A){var B=dojo.graphics.color.hsl2rgb(D,C,A);
return dojo.graphics.color.rgb2hex(B[0],B[1],B[2])
};
dojo.graphics.color.hex2hsl=function(B){var A=dojo.graphics.color.hex2rgb(B);
return dojo.graphics.color.rgb2hsl(A[0],A[1],A[2])
};
dojo.provide("dojo.style");
dojo.require("dojo.dom");
dojo.require("dojo.uri.Uri");
dojo.require("dojo.graphics.color");
dojo.style.boxSizing={marginBox:"margin-box",borderBox:"border-box",paddingBox:"padding-box",contentBox:"content-box"};
dojo.style.getBoxSizing=function(C){if(dojo.render.html.ie||dojo.render.html.opera){var B=document["compatMode"];
if(B=="BackCompat"||B=="QuirksMode"){return dojo.style.boxSizing.borderBox
}else{return dojo.style.boxSizing.contentBox
}}else{if(arguments.length==0){C=document.documentElement
}var A=dojo.style.getStyle(C,"-moz-box-sizing");
if(!A){A=dojo.style.getStyle(C,"box-sizing")
}return(A?A:dojo.style.boxSizing.contentBox)
}};
dojo.style.isBorderBox=function(A){return(dojo.style.getBoxSizing(A)==dojo.style.boxSizing.borderBox)
};
dojo.style.getUnitValue=function(F,D,C){var A={value:0,units:"px"};
var B=dojo.style.getComputedStyle(F,D);
if(B==""||(B=="auto"&&C)){return A
}if(dojo.lang.isUndefined(B)){A.value=NaN
}else{var E=B.match(/([\d.]+)([a-z%]*)/i);
if(!E){A.value=NaN
}else{A.value=Number(E[1]);
A.units=E[2].toLowerCase()
}}return A
};
dojo.style.getPixelValue=function(D,C,A){var B=dojo.style.getUnitValue(D,C,A);
if(isNaN(B.value)){return 0
}if((B.value)&&(B.units!="px")){return NaN
}return B.value
};
dojo.style.getNumericStyle=dojo.style.getPixelValue;
dojo.style.isPositionAbsolute=function(A){return(dojo.style.getComputedStyle(A,"position")=="absolute")
};
dojo.style.getMarginWidth=function(C){var B=dojo.style.isPositionAbsolute(C);
var D=dojo.style.getPixelValue(C,"margin-left",B);
var A=dojo.style.getPixelValue(C,"margin-right",B);
return D+A
};
dojo.style.getBorderWidth=function(A){var B=(dojo.style.getStyle(A,"border-left-style")=="none"?0:dojo.style.getPixelValue(A,"border-left-width"));
var C=(dojo.style.getStyle(A,"border-right-style")=="none"?0:dojo.style.getPixelValue(A,"border-right-width"));
return B+C
};
dojo.style.getPaddingWidth=function(B){var C=dojo.style.getPixelValue(B,"padding-left",true);
var A=dojo.style.getPixelValue(B,"padding-right",true);
return C+A
};
dojo.style.getContentWidth=function(A){return A.offsetWidth-dojo.style.getPaddingWidth(A)-dojo.style.getBorderWidth(A)
};
dojo.style.getInnerWidth=function(A){return A.offsetWidth
};
dojo.style.getOuterWidth=function(A){return dojo.style.getInnerWidth(A)+dojo.style.getMarginWidth(A)
};
dojo.style.setOuterWidth=function(B,A){if(!dojo.style.isBorderBox(B)){A-=dojo.style.getPaddingWidth(B)+dojo.style.getBorderWidth(B)
}A-=dojo.style.getMarginWidth(B);
if(!isNaN(A)&&A>0){B.style.width=A+"px";
return true
}else{return false
}};
dojo.style.getContentBoxWidth=dojo.style.getContentWidth;
dojo.style.getBorderBoxWidth=dojo.style.getInnerWidth;
dojo.style.getMarginBoxWidth=dojo.style.getOuterWidth;
dojo.style.setMarginBoxWidth=dojo.style.setOuterWidth;
dojo.style.getMarginHeight=function(C){var B=dojo.style.isPositionAbsolute(C);
var D=dojo.style.getPixelValue(C,"margin-top",B);
var A=dojo.style.getPixelValue(C,"margin-bottom",B);
return D+A
};
dojo.style.getBorderHeight=function(A){var B=(dojo.style.getStyle(A,"border-top-style")=="none"?0:dojo.style.getPixelValue(A,"border-top-width"));
var C=(dojo.style.getStyle(A,"border-bottom-style")=="none"?0:dojo.style.getPixelValue(A,"border-bottom-width"));
return B+C
};
dojo.style.getPaddingHeight=function(B){var C=dojo.style.getPixelValue(B,"padding-top",true);
var A=dojo.style.getPixelValue(B,"padding-bottom",true);
return C+A
};
dojo.style.getContentHeight=function(A){return A.offsetHeight-dojo.style.getPaddingHeight(A)-dojo.style.getBorderHeight(A)
};
dojo.style.getInnerHeight=function(A){return A.offsetHeight
};
dojo.style.getOuterHeight=function(A){return dojo.style.getInnerHeight(A)+dojo.style.getMarginHeight(A)
};
dojo.style.setOuterHeight=function(B,A){if(!dojo.style.isBorderBox(B)){A-=dojo.style.getPaddingHeight(B)+dojo.style.getBorderHeight(B)
}A-=dojo.style.getMarginHeight(B);
if(!isNaN(A)&&A>0){B.style.height=A+"px";
return true
}else{return false
}};
dojo.style.setContentWidth=function(B,A){if(dojo.style.isBorderBox(B)){A+=dojo.style.getPaddingWidth(B)+dojo.style.getBorderWidth(B)
}if(!isNaN(A)&&A>0){B.style.width=A+"px";
return true
}else{return false
}};
dojo.style.setContentHeight=function(B,A){if(dojo.style.isBorderBox(B)){A+=dojo.style.getPaddingHeight(B)+dojo.style.getBorderHeight(B)
}if(!isNaN(A)&&A>0){B.style.height=A+"px";
return true
}else{return false
}};
dojo.style.getContentBoxHeight=dojo.style.getContentHeight;
dojo.style.getBorderBoxHeight=dojo.style.getInnerHeight;
dojo.style.getMarginBoxHeight=dojo.style.getOuterHeight;
dojo.style.setMarginBoxHeight=dojo.style.setOuterHeight;
dojo.style.getTotalOffset=function(F,E,C){var A=(E=="top")?"offsetTop":"offsetLeft";
var H=(E=="top")?"scrollTop":"scrollLeft";
var G=(E=="top")?"y":"x";
var D=0;
if(F["offsetParent"]){if(dojo.render.html.safari&&F.style.getPropertyValue("position")=="absolute"&&F.parentNode==dojo.html.body()){var B=dojo.html.body()
}else{var B=dojo.html.body().parentNode
}if(C&&F.parentNode!=document.body){D-=dojo.style.sumAncestorProperties(F,H)
}do{D+=F[A];
F=F.offsetParent
}while(F!=B&&F!=null)
}else{if(F[G]){D+=F[G]
}}return D
};
dojo.style.sumAncestorProperties=function(A,D){if(!A){return 0
}var C=0;
while(A){var B=A[D];
if(B){C+=B-0
}A=A.parentNode
}return C
};
dojo.style.totalOffsetLeft=function(A,B){return dojo.style.getTotalOffset(A,"left",B)
};
dojo.style.getAbsoluteX=dojo.style.totalOffsetLeft;
dojo.style.totalOffsetTop=function(B,A){return dojo.style.getTotalOffset(B,"top",A)
};
dojo.style.getAbsoluteY=dojo.style.totalOffsetTop;
dojo.style.getAbsolutePosition=function(C,B){var A=[dojo.style.getAbsoluteX(C,B),dojo.style.getAbsoluteY(C,B)];
A.x=A[0];
A.y=A[1];
return A
};
dojo.style.styleSheet=null;
dojo.style.insertCssRule=function(C,B,A){if(!dojo.style.styleSheet){if(document.createStyleSheet){dojo.style.styleSheet=document.createStyleSheet()
}else{if(document.styleSheets[0]){dojo.style.styleSheet=document.styleSheets[0]
}else{return null
}}}if(arguments.length<3){if(dojo.style.styleSheet.cssRules){A=dojo.style.styleSheet.cssRules.length
}else{if(dojo.style.styleSheet.rules){A=dojo.style.styleSheet.rules.length
}else{return null
}}}if(dojo.style.styleSheet.insertRule){var D=C+" { "+B+" }";
return dojo.style.styleSheet.insertRule(D,A)
}else{if(dojo.style.styleSheet.addRule){return dojo.style.styleSheet.addRule(C,B,A)
}else{return null
}}};
dojo.style.removeCssRule=function(A){if(!dojo.style.styleSheet){dojo.debug("no stylesheet defined for removing rules");
return false
}if(dojo.render.html.ie){if(!A){A=dojo.style.styleSheet.rules.length;
dojo.style.styleSheet.removeRule(A)
}}else{if(document.styleSheets[0]){if(!A){A=dojo.style.styleSheet.cssRules.length
}dojo.style.styleSheet.deleteRule(A)
}}return true
};
dojo.style.insertCssFile=function(B,F,A){if(!B){return 
}if(!F){F=document
}if(F.baseURI){B=new dojo.uri.Uri(F.baseURI,B)
}if(A&&F.styleSheets){var G=location.href.split("#")[0].substring(0,location.href.indexOf(location.pathname));
for(var E=0;
E<F.styleSheets.length;
E++){if(F.styleSheets[E].href&&B.toString()==new dojo.uri.Uri(F.styleSheets[E].href.toString())){return 
}}}var D=F.createElement("link");
D.setAttribute("type","text/css");
D.setAttribute("rel","stylesheet");
D.setAttribute("href",B);
var C=F.getElementsByTagName("head")[0];
if(C){C.appendChild(D)
}};
dojo.style.getBackgroundColor=function(A){var B;
do{B=dojo.style.getStyle(A,"background-color");
if(B.toLowerCase()=="rgba(0, 0, 0, 0)"){B="transparent"
}if(A==document.getElementsByTagName("body")[0]){A=null;
break
}A=A.parentNode
}while(A&&dojo.lang.inArray(B,["transparent",""]));
if(B=="transparent"){B=[255,255,255,0]
}else{B=dojo.graphics.color.extractRGB(B)
}return B
};
dojo.style.getComputedStyle=function(E,D,B){var A=B;
if(E.style.getPropertyValue){A=E.style.getPropertyValue(D)
}if(!A){if(document.defaultView){var C=document.defaultView.getComputedStyle(E,"");
if(C){A=C.getPropertyValue(D)
}}else{if(E.currentStyle){A=E.currentStyle[dojo.style.toCamelCase(D)]
}}}return A
};
dojo.style.getStyle=function(D,C){var B=dojo.style.toCamelCase(C);
var A=D.style[B];
return(A?A:dojo.style.getComputedStyle(D,C,A))
};
dojo.style.toCamelCase=function(B){var A=B.split("-"),D=A[0];
for(var C=1;
C<A.length;
C++){D+=A[C].charAt(0).toUpperCase()+A[C].substring(1)
}return D
};
dojo.style.toSelectorCase=function(A){return A.replace(/([A-Z])/g,"-$1").toLowerCase()
};
dojo.style.setOpacity=function setOpacity(D,F,E){D=dojo.byId(D);
var C=dojo.render.html;
if(!E){if(F>=1){if(C.ie){dojo.style.clearOpacity(D);
return 
}else{F=0.999999
}}else{if(F<0){F=0
}}}if(C.ie){if(D.nodeName.toLowerCase()=="tr"){var B=D.getElementsByTagName("td");
for(var A=0;
A<B.length;
A++){B[A].style.filter="Alpha(Opacity="+F*100+")"
}}D.style.filter="Alpha(Opacity="+F*100+")"
}else{if(C.moz){D.style.opacity=F;
D.style.MozOpacity=F
}else{if(C.safari){D.style.opacity=F;
D.style.KhtmlOpacity=F
}else{D.style.opacity=F
}}}};
dojo.style.getOpacity=function getOpacity(B){if(dojo.render.html.ie){var A=(B.filters&&B.filters.alpha&&typeof B.filters.alpha.opacity=="number"?B.filters.alpha.opacity:100)/100
}else{var A=B.style.opacity||B.style.MozOpacity||B.style.KhtmlOpacity||1
}return A>=0.999999?1:Number(A)
};
dojo.style.clearOpacity=function clearOpacity(B){var A=dojo.render.html;
if(A.ie){if(B.filters&&B.filters.alpha){B.style.filter=""
}}else{if(A.moz){B.style.opacity=1;
B.style.MozOpacity=1
}else{if(A.safari){B.style.opacity=1;
B.style.KhtmlOpacity=1
}else{B.style.opacity=1
}}}};
dojo.provide("dojo.html");
dojo.require("dojo.dom");
dojo.require("dojo.style");
dojo.require("dojo.string");
dojo.lang.mixin(dojo.html,dojo.dom);
dojo.lang.mixin(dojo.html,dojo.style);
dojo.html.clearSelection=function(){try{if(window["getSelection"]){if(dojo.render.html.safari){window.getSelection().collapse()
}else{window.getSelection().removeAllRanges()
}}else{if(document.selection){if(document.selection.empty){document.selection.empty()
}else{if(document.selection.clear){document.selection.clear()
}}}}return true
}catch(A){dojo.debug(A);
return false
}};
dojo.html.disableSelection=function(B){B=dojo.byId(B)||dojo.html.body();
var A=dojo.render.html;
if(A.mozilla){B.style.MozUserSelect="none"
}else{if(A.safari){B.style.KhtmlUserSelect="none"
}else{if(A.ie){B.unselectable="on"
}else{return false
}}}return true
};
dojo.html.enableSelection=function(A){A=dojo.byId(A)||dojo.html.body();
var B=dojo.render.html;
if(B.mozilla){A.style.MozUserSelect=""
}else{if(B.safari){A.style.KhtmlUserSelect=""
}else{if(B.ie){A.unselectable="off"
}else{return false
}}}return true
};
dojo.html.selectElement=function(C){C=dojo.byId(C);
if(document.selection&&dojo.html.body().createTextRange){var B=dojo.html.body().createTextRange();
B.moveToElementText(C);
B.select()
}else{if(window["getSelection"]){var A=window.getSelection();
if(A["selectAllChildren"]){A.selectAllChildren(C)
}}}};
dojo.html.isSelectionCollapsed=function(){if(document["selection"]){return document.selection.createRange().text==""
}else{if(window["getSelection"]){var A=window.getSelection();
if(dojo.lang.isString(A)){return A==""
}else{return A.isCollapsed
}}}};
dojo.html.getEventTarget=function(A){if(!A){A=window.event||{}
}if(A.srcElement){return A.srcElement
}else{if(A.target){return A.target
}}return null
};
dojo.html.getScrollTop=function(){return document.documentElement.scrollTop||dojo.html.body().scrollTop||0
};
dojo.html.getScrollLeft=function(){return document.documentElement.scrollLeft||dojo.html.body().scrollLeft||0
};
dojo.html.getDocumentWidth=function(){dojo.deprecated("dojo.html.getDocument* has been deprecated in favor of dojo.html.getViewport*");
return dojo.html.getViewportWidth()
};
dojo.html.getDocumentHeight=function(){dojo.deprecated("dojo.html.getDocument* has been deprecated in favor of dojo.html.getViewport*");
return dojo.html.getViewportHeight()
};
dojo.html.getDocumentSize=function(){dojo.deprecated("dojo.html.getDocument* has been deprecated in favor of dojo.html.getViewport*");
return dojo.html.getViewportSize()
};
dojo.html.getViewportWidth=function(){var B=0;
if(window.innerWidth){B=window.innerWidth
}if(dojo.exists(document,"documentElement.clientWidth")){var A=document.documentElement.clientWidth;
if(!B||A&&A<B){B=A
}return B
}if(document.body){return document.body.clientWidth
}return 0
};
dojo.html.getViewportHeight=function(){if(window.innerHeight){return window.innerHeight
}if(dojo.exists(document,"documentElement.clientHeight")){return document.documentElement.clientHeight
}if(document.body){return document.body.clientHeight
}return 0
};
dojo.html.getViewportSize=function(){var A=[dojo.html.getViewportWidth(),dojo.html.getViewportHeight()];
A.w=A[0];
A.h=A[1];
return A
};
dojo.html.getScrollOffset=function(){var A=[0,0];
if(window.pageYOffset){A=[window.pageXOffset,window.pageYOffset]
}else{if(dojo.exists(document,"documentElement.scrollTop")){A=[document.documentElement.scrollLeft,document.documentElement.scrollTop]
}else{if(document.body){A=[document.body.scrollLeft,document.body.scrollTop]
}}}A.x=A[0];
A.y=A[1];
return A
};
dojo.html.getParentOfType=function(B,A){dojo.deprecated("dojo.html.getParentOfType has been deprecated in favor of dojo.html.getParentByType*");
return dojo.html.getParentByType(B,A)
};
dojo.html.getParentByType=function(B,A){var C=dojo.byId(B);
A=A.toLowerCase();
while((C)&&(C.nodeName.toLowerCase()!=A)){if(C==(document["body"]||document["documentElement"])){return null
}C=C.parentNode
}return C
};
dojo.html.getAttribute=function(D,A){D=dojo.byId(D);
if((!D)||(!D.getAttribute)){return null
}var C=typeof A=="string"?A:new String(A);
var B=D.getAttribute(C.toUpperCase());
if((B)&&(typeof B=="string")&&(B!="")){return B
}if(B&&B.value){return B.value
}if((D.getAttributeNode)&&(D.getAttributeNode(C))){return(D.getAttributeNode(C)).value
}else{if(D.getAttribute(C)){return D.getAttribute(C)
}else{if(D.getAttribute(C.toLowerCase())){return D.getAttribute(C.toLowerCase())
}}}return null
};
dojo.html.hasAttribute=function(B,A){B=dojo.byId(B);
return dojo.html.getAttribute(B,A)?true:false
};
dojo.html.getClass=function(B){B=dojo.byId(B);
if(!B){return""
}var A="";
if(B.className){A=B.className
}else{if(dojo.html.hasAttribute(B,"class")){A=dojo.html.getAttribute(B,"class")
}}return dojo.string.trim(A)
};
dojo.html.getClasses=function(A){A=dojo.byId(A);
var B=dojo.html.getClass(A);
return(B=="")?[]:B.split(/\s+/g)
};
dojo.html.hasClass=function(A,B){A=dojo.byId(A);
return dojo.lang.inArray(dojo.html.getClasses(A),B)
};
dojo.html.prependClass=function(B,A){B=dojo.byId(B);
if(!B){return false
}A+=" "+dojo.html.getClass(B);
return dojo.html.setClass(B,A)
};
dojo.html.addClass=function(A,B){A=dojo.byId(A);
if(!A){return false
}if(dojo.html.hasClass(A,B)){return false
}B=dojo.string.trim(dojo.html.getClass(A)+" "+B);
return dojo.html.setClass(A,B)
};
dojo.html.setClass=function(B,C){B=dojo.byId(B);
if(!B){return false
}var A=new String(C);
try{if(typeof B.className=="string"){B.className=A
}else{if(B.setAttribute){B.setAttribute("class",C);
B.className=A
}else{return false
}}}catch(D){dojo.debug("dojo.html.setClass() failed",D)
}return true
};
dojo.html.removeClass=function(F,E,D){F=dojo.byId(F);
if(!F){return false
}var E=dojo.string.trim(new String(E));
try{var C=dojo.html.getClasses(F);
var A=[];
if(D){for(var B=0;
B<C.length;
B++){if(C[B].indexOf(E)==-1){A.push(C[B])
}}}else{for(var B=0;
B<C.length;
B++){if(C[B]!=E){A.push(C[B])
}}}dojo.html.setClass(F,A.join(" "))
}catch(G){dojo.debug("dojo.html.removeClass() failed",G)
}return true
};
dojo.html.replaceClass=function(B,A,C){B=dojo.byId(B);
dojo.html.removeClass(B,C);
dojo.html.addClass(B,A)
};
dojo.html.classMatchType={ContainsAll:0,ContainsAny:1,IsOnly:2};
dojo.html.getElementsByClass=function(D,C,B,A){C=dojo.byId(C);
if(!C){C=document
}var M=D.split(/\s+/g);
var L=[];
if(A!=1&&A!=2){A=0
}var K=new RegExp("(\\s|^)(("+M.join(")|(")+"))(\\s|$)");
if(!B){B="*"
}var J=C.getElementsByTagName(B);
outer:for(var G=0;
G<J.length;
G++){var E=J[G];
var I=dojo.html.getClasses(E);
if(I.length==0){continue outer
}var H=0;
for(var F=0;
F<I.length;
F++){if(K.test(I[F])){if(A==dojo.html.classMatchType.ContainsAny){L.push(E);
continue outer
}else{H++
}}else{if(A==dojo.html.classMatchType.IsOnly){continue outer
}}}if(H==M.length){if(A==dojo.html.classMatchType.IsOnly&&H==I.length){L.push(E)
}else{if(A==dojo.html.classMatchType.ContainsAll){L.push(E)
}}}}return L
};
dojo.html.getElementsByClassName=dojo.html.getElementsByClass;
dojo.html.gravity=function(node,e){node=dojo.byId(node);
var _489=e.pageX||e.clientX+dojo.html.body().scrollLeft;
var _48a=e.pageY||e.clientY+dojo.html.body().scrollTop;
with(dojo.html){var _48b=getAbsoluteX(node)+(getInnerWidth(node)/2);
var _48c=getAbsoluteY(node)+(getInnerHeight(node)/2)
}with(dojo.html.gravity){return((_489<_48b?WEST:EAST)|(_48a<_48c?NORTH:SOUTH))
}};
dojo.html.gravity.NORTH=1;
dojo.html.gravity.SOUTH=1<<1;
dojo.html.gravity.EAST=1<<2;
dojo.html.gravity.WEST=1<<3;
dojo.html.overElement=function(_48d,e){_48d=dojo.byId(_48d);
var _48f=e.pageX||e.clientX+dojo.html.body().scrollLeft;
var _490=e.pageY||e.clientY+dojo.html.body().scrollTop;
with(dojo.html){var top=getAbsoluteY(_48d);
var _492=top+getInnerHeight(_48d);
var left=getAbsoluteX(_48d);
var _494=left+getInnerWidth(_48d)
}return(_48f>=left&&_48f<=_494&&_490>=top&&_490<=_492)
};
dojo.html.renderedTextContent=function(D){D=dojo.byId(D);
var C="";
if(D==null){return C
}for(var B=0;
B<D.childNodes.length;
B++){switch(D.childNodes[B].nodeType){case 1:case 5:var A="unknown";
try{A=dojo.style.getStyle(D.childNodes[B],"display")
}catch(G){}switch(A){case"block":case"list-item":case"run-in":case"table":case"table-row-group":case"table-header-group":case"table-footer-group":case"table-row":case"table-column-group":case"table-column":case"table-cell":case"table-caption":C+="\n";
C+=dojo.html.renderedTextContent(D.childNodes[B]);
C+="\n";
break;
case"none":break;
default:if(D.childNodes[B].tagName&&D.childNodes[B].tagName.toLowerCase()=="br"){C+="\n"
}else{C+=dojo.html.renderedTextContent(D.childNodes[B])
}break
}break;
case 3:case 2:case 4:var H=D.childNodes[B].nodeValue;
var F="unknown";
try{F=dojo.style.getStyle(D,"text-transform")
}catch(G){}switch(F){case"capitalize":H=dojo.string.capitalize(H);
break;
case"uppercase":H=H.toUpperCase();
break;
case"lowercase":H=H.toLowerCase();
break;
default:break
}switch(F){case"nowrap":break;
case"pre-wrap":break;
case"pre-line":break;
case"pre":break;
default:H=H.replace(/\s+/," ");
if(/\s$/.test(C)){H.replace(/^\s/,"")
}break
}C+=H;
break;
default:break
}}return C
};
dojo.html.setActiveStyleSheet=function(D){var C,B,A;
for(C=0;
(B=document.getElementsByTagName("link")[C]);
C++){if(B.getAttribute("rel").indexOf("style")!=-1&&B.getAttribute("title")){B.disabled=true;
if(B.getAttribute("title")==D){B.disabled=false
}}}};
dojo.html.getActiveStyleSheet=function(){var B,A;
for(B=0;
(A=document.getElementsByTagName("link")[B]);
B++){if(A.getAttribute("rel").indexOf("style")!=-1&&A.getAttribute("title")&&!A.disabled){return A.getAttribute("title")
}}return null
};
dojo.html.getPreferredStyleSheet=function(){var B,A;
for(B=0;
(A=document.getElementsByTagName("link")[B]);
B++){if(A.getAttribute("rel").indexOf("style")!=-1&&A.getAttribute("rel").indexOf("alt")==-1&&A.getAttribute("title")){return A.getAttribute("title")
}}return null
};
dojo.html.body=function(){return document.body||document.getElementsByTagName("body")[0]
};
dojo.html.createNodesFromText=function(E,D){if(D){E=dojo.string.trim(E)
}var C=document.createElement("div");
C.style.visibility="hidden";
document.body.appendChild(C);
var G="none";
if((/^<t[dh][\s\r\n>]/i).test(dojo.string.trimStart(E))){E="<table><tbody><tr>"+E+"</tr></tbody></table>";
G="cell"
}else{if((/^<tr[\s\r\n>]/i).test(dojo.string.trimStart(E))){E="<table><tbody>"+E+"</tbody></table>";
G="row"
}else{if((/^<(thead|tbody|tfoot)[\s\r\n>]/i).test(dojo.string.trimStart(E))){E="<table>"+E+"</table>";
G="section"
}}}C.innerHTML=E;
C.normalize();
var F=null;
switch(G){case"cell":F=C.getElementsByTagName("tr")[0];
break;
case"row":F=C.getElementsByTagName("tbody")[0];
break;
case"section":F=C.getElementsByTagName("table")[0];
break;
default:F=C;
break
}var B=[];
for(var A=0;
A<F.childNodes.length;
A++){B.push(F.childNodes[A].cloneNode(true))
}C.style.display="none";
document.body.removeChild(C);
return B
};
if(!dojo.evalObjPath("dojo.dom.createNodesFromText")){dojo.dom.createNodesFromText=function(){dojo.deprecated("dojo.dom.createNodesFromText","use dojo.html.createNodesFromText instead");
return dojo.html.createNodesFromText.apply(dojo.html,arguments)
}
}dojo.html.isVisible=function(A){A=dojo.byId(A);
return dojo.style.getComputedStyle(A||this.domNode,"display")!="none"
};
dojo.html.show=function(A){A=dojo.byId(A);
if(A.style){A.style.display=dojo.lang.inArray(["tr","td","th"],A.tagName.toLowerCase())?"":"block"
}};
dojo.html.hide=function(A){A=dojo.byId(A);
if(A.style){A.style.display="none"
}};
dojo.html.toggleVisible=function(A){if(dojo.html.isVisible(A)){dojo.html.hide(A);
return false
}else{dojo.html.show(A);
return true
}};
dojo.html.isTag=function(B){B=dojo.byId(B);
if(B&&B.tagName){var A=dojo.lang.map(dojo.lang.toArray(arguments,1),function(C){return String(C).toLowerCase()
});
return A[dojo.lang.find(B.tagName.toLowerCase(),A)]||""
}return""
};
dojo.html.toCoordinateArray=function(D,C){if(dojo.lang.isArray(D)){while(D.length<4){D.push(0)
}while(D.length>4){D.pop()
}var A=D
}else{var B=dojo.byId(D);
var A=[dojo.html.getAbsoluteX(B,C),dojo.html.getAbsoluteY(B,C),dojo.html.getInnerWidth(B),dojo.html.getInnerHeight(B)]
}A.x=A[0];
A.y=A[1];
A.w=A[2];
A.h=A[3];
return A
};
dojo.html.placeOnScreen=function(E,F,D,C,B){if(dojo.lang.isArray(F)){B=C;
C=D;
D=F[1];
F=F[0]
}if(!isNaN(C)){C=[Number(C),Number(C)]
}else{if(!dojo.lang.isArray(C)){C=[0,0]
}}var A=dojo.html.getScrollOffset();
var J=dojo.html.getViewportSize();
E=dojo.byId(E);
var L=E.offsetWidth+C[0];
var G=E.offsetHeight+C[1];
if(B){F-=A.x;
D-=A.y
}var K=F+L;
if(K>J.w){K=J.w-L
}else{K=F
}K=Math.max(C[0],K)+A.x;
var I=D+G;
if(I>J.h){I=J.h-G
}else{I=D
}I=Math.max(C[1],I)+A.y;
E.style.left=K+"px";
E.style.top=I+"px";
var H=[K,I];
H.x=K;
H.y=I;
return H
};
dojo.html.placeOnScreenPoint=function(B,A,L,K,J){if(dojo.lang.isArray(A)){J=K;
K=L;
L=A[1];
A=A[0]
}var I=dojo.html.getScrollOffset();
var F=dojo.html.getViewportSize();
B=dojo.byId(B);
var H=B.offsetWidth;
var C=B.offsetHeight;
if(J){A-=I.x;
L-=I.y
}var G=-1,E=-1;
if(A+H<=F.w&&L+C<=F.h){G=A;
E=L
}if((G<0||E<0)&&A<=F.w&&L+C<=F.h){G=A-H;
E=L
}if((G<0||E<0)&&A+H<=F.w&&L<=F.h){G=A;
E=L-C
}if((G<0||E<0)&&A<=F.w&&L<=F.h){G=A-H;
E=L-C
}if(G<0||E<0||(G+H>F.w)||(E+C>F.h)){return dojo.html.placeOnScreen(B,A,L,K,J)
}G+=I.x;
E+=I.y;
B.style.left=G+"px";
B.style.top=E+"px";
var D=[G,E];
D.x=G;
D.y=E;
return D
};
dojo.html.BackgroundIframe=function(){if(this.ie){this.iframe=document.createElement("<iframe frameborder='0' src='about:blank'>");
var A=this.iframe.style;
A.position="absolute";
A.left=A.top="0px";
A.zIndex=2;
A.display="none";
dojo.style.setOpacity(this.iframe,0);
dojo.html.body().appendChild(this.iframe)
}else{this.enabled=false
}};
dojo.lang.extend(dojo.html.BackgroundIframe,{ie:dojo.render.html.ie,enabled:true,visibile:false,iframe:null,sizeNode:null,sizeCoords:null,size:function(A){if(!this.ie||!this.enabled){return 
}if(dojo.dom.isNode(A)){this.sizeNode=A
}else{if(arguments.length>0){this.sizeNode=null;
this.sizeCoords=A
}}this.update()
},update:function(){if(!this.ie||!this.enabled){return 
}if(this.sizeNode){this.sizeCoords=dojo.html.toCoordinateArray(this.sizeNode,true)
}else{if(this.sizeCoords){this.sizeCoords=dojo.html.toCoordinateArray(this.sizeCoords,true)
}else{return 
}}var A=this.iframe.style;
var B=this.sizeCoords;
A.width=B.w+"px";
A.height=B.h+"px";
A.left=B.x+"px";
A.top=B.y+"px"
},setZIndex:function(A){if(!this.ie||!this.enabled){return 
}if(dojo.dom.isNode(A)){this.iframe.zIndex=dojo.html.getStyle(A,"z-index")-1
}else{if(!isNaN(A)){this.iframe.zIndex=A
}}},show:function(A){if(!this.ie||!this.enabled){return 
}this.size(A);
this.iframe.style.display="block"
},hide:function(){if(!this.ie){return 
}var A=this.iframe.style;
A.display="none";
A.width=A.height="1px"
},remove:function(){dojo.dom.removeNode(this.iframe)
}});
dojo.provide("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.DomWidget");
dojo.require("dojo.html");
dojo.require("dojo.string");
dojo.widget.HtmlWidget=function(A){dojo.widget.DomWidget.call(this)
};
dojo.inherits(dojo.widget.HtmlWidget,dojo.widget.DomWidget);
dojo.lang.extend(dojo.widget.HtmlWidget,{widgetType:"HtmlWidget",templateCssPath:null,templatePath:null,allowResizeX:true,allowResizeY:true,resizeGhost:null,initialResizeCoords:null,toggle:"plain",toggleDuration:150,animationInProgress:false,initialize:function(A,B){},postMixInProperties:function(A,B){dojo.lang.mixin(this,dojo.widget.HtmlWidget.Toggle[dojo.string.capitalize(this.toggle)]||dojo.widget.HtmlWidget.Toggle.Plain)
},getContainerHeight:function(){dj_unimplemented("dojo.widget.HtmlWidget.getContainerHeight")
},getContainerWidth:function(){return this.parent.domNode.offsetWidth
},setNativeHeight:function(B){var A=this.getContainerHeight()
},startResize:function(_4d6){_4d6.offsetLeft=dojo.html.totalOffsetLeft(this.domNode);
_4d6.offsetTop=dojo.html.totalOffsetTop(this.domNode);
_4d6.innerWidth=dojo.html.getInnerWidth(this.domNode);
_4d6.innerHeight=dojo.html.getInnerHeight(this.domNode);
if(!this.resizeGhost){this.resizeGhost=document.createElement("div");
var rg=this.resizeGhost;
rg.style.position="absolute";
rg.style.backgroundColor="white";
rg.style.border="1px solid black";
dojo.html.setOpacity(rg,0.3);
dojo.html.body().appendChild(rg)
}with(this.resizeGhost.style){left=_4d6.offsetLeft+"px";
top=_4d6.offsetTop+"px"
}this.initialResizeCoords=_4d6;
this.resizeGhost.style.display="";
this.updateResize(_4d6,true)
},updateResize:function(_4d8,_4d9){var dx=_4d8.x-this.initialResizeCoords.x;
var dy=_4d8.y-this.initialResizeCoords.y;
with(this.resizeGhost.style){if((this.allowResizeX)||(_4d9)){width=this.initialResizeCoords.innerWidth+dx+"px"
}if((this.allowResizeY)||(_4d9)){height=this.initialResizeCoords.innerHeight+dy+"px"
}}},endResize:function(_4dc){var dx=_4dc.x-this.initialResizeCoords.x;
var dy=_4dc.y-this.initialResizeCoords.y;
with(this.domNode.style){if(this.allowResizeX){width=this.initialResizeCoords.innerWidth+dx+"px"
}if(this.allowResizeY){height=this.initialResizeCoords.innerHeight+dy+"px"
}}this.resizeGhost.style.display="none"
},resizeSoon:function(){if(this.isVisible()){dojo.lang.setTimeout(this,this.onResized,0)
}},createNodesFromText:function(A,B){return dojo.html.createNodesFromText(A,B)
},_old_buildFromTemplate:dojo.widget.DomWidget.prototype.buildFromTemplate,buildFromTemplate:function(A,C){if(dojo.widget.DomWidget.templates[this.widgetType]){var B=dojo.widget.DomWidget.templates[this.widgetType];
dojo.widget.DomWidget.templates[this.widgetType]={}
}if(A["templatecsspath"]){A["templateCssPath"]=A["templatecsspath"]
}if(A["templatepath"]){A["templatePath"]=A["templatepath"]
}dojo.widget.buildFromTemplate(this,A["templatePath"],A["templateCssPath"]);
this._old_buildFromTemplate(A,C);
dojo.widget.DomWidget.templates[this.widgetType]=B
},destroyRendering:function(C){try{var A=this.domNode.parentNode.removeChild(this.domNode);
if(!C){dojo.event.browser.clean(A)
}delete A
}catch(B){}},isVisible:function(){return dojo.html.isVisible(this.domNode)
},doToggle:function(){this.isVisible()?this.hide():this.show()
},show:function(){this.animationInProgress=true;
this.showMe()
},onShow:function(){this.animationInProgress=false
},hide:function(){this.animationInProgress=true;
this.hideMe()
},onHide:function(){this.animationInProgress=false
}});
dojo.widget.HtmlWidget.Toggle={};
dojo.widget.HtmlWidget.Toggle.Plain={showMe:function(){dojo.html.show(this.domNode);
if(dojo.lang.isFunction(this.onShow)){this.onShow()
}},hideMe:function(){dojo.html.hide(this.domNode);
if(dojo.lang.isFunction(this.onHide)){this.onHide()
}}};
dojo.widget.HtmlWidget.Toggle.Fade={showMe:function(){dojo.fx.html.fadeShow(this.domNode,this.toggleDuration,dojo.lang.hitch(this,this.onShow))
},hideMe:function(){dojo.fx.html.fadeHide(this.domNode,this.toggleDuration,dojo.lang.hitch(this,this.onHide))
}};
dojo.widget.HtmlWidget.Toggle.Wipe={showMe:function(){dojo.fx.html.wipeIn(this.domNode,this.toggleDuration,dojo.lang.hitch(this,this.onShow))
},hideMe:function(){dojo.fx.html.wipeOut(this.domNode,this.toggleDuration,dojo.lang.hitch(this,this.onHide))
}};
dojo.widget.HtmlWidget.Toggle.Explode={showMe:function(){dojo.fx.html.explode(this.explodeSrc,this.domNode,this.toggleDuration,dojo.lang.hitch(this,this.onShow))
},hideMe:function(){dojo.fx.html.implode(this.domNode,this.explodeSrc,this.toggleDuration,dojo.lang.hitch(this,this.onHide))
}};
dojo.hostenv.conditionalLoadModule({common:["dojo.xml.Parse","dojo.widget.Widget","dojo.widget.Parse","dojo.widget.Manager"],browser:["dojo.widget.DomWidget","dojo.widget.HtmlWidget"],svg:["dojo.widget.SvgWidget"]});
dojo.hostenv.moduleLoaded("dojo.widget.*");
dojo.provide("dojo.io.IO");
dojo.require("dojo.string");
dojo.io.transports=[];
dojo.io.hdlrFuncNames=["load","error"];
dojo.io.Request=function(B,D,C,A){if((arguments.length==1)&&(arguments[0].constructor==Object)){this.fromKwArgs(arguments[0])
}else{this.url=B;
if(D){this.mimetype=D
}if(C){this.transport=C
}if(arguments.length>=4){this.changeUrl=A
}}};
dojo.lang.extend(dojo.io.Request,{url:"",mimetype:"text/plain",method:"GET",content:undefined,transport:undefined,changeUrl:undefined,formNode:undefined,sync:false,bindSuccess:false,useCache:false,preventCache:false,load:function(B,C,A){},error:function(B,A){},handle:function(){},abort:function(){},fromKwArgs:function(B){if(B["url"]){B.url=B.url.toString()
}if(!B["method"]&&B["formNode"]&&B["formNode"].method){B.method=B["formNode"].method
}if(!B["handle"]&&B["handler"]){B.handle=B.handler
}if(!B["load"]&&B["loaded"]){B.load=B.loaded
}if(!B["changeUrl"]&&B["changeURL"]){B.changeUrl=B.changeURL
}B.encoding=dojo.lang.firstValued(B["encoding"],djConfig["bindEncoding"],"");
B.sendTransport=dojo.lang.firstValued(B["sendTransport"],djConfig["ioSendTransport"],true);
var C=dojo.lang.isFunction;
for(var A=0;
A<dojo.io.hdlrFuncNames.length;
A++){var D=dojo.io.hdlrFuncNames[A];
if(C(B[D])){continue
}if(C(B["handle"])){B[D]=B.handle
}}dojo.lang.mixin(this,B)
}});
dojo.io.Error=function(C,B,A){this.message=C;
this.type=B||"unknown";
this.number=A||0
};
dojo.io.transports.addTransport=function(A){this.push(A);
this[A]=dojo.io[A]
};
dojo.io.bind=function(D){if(!(D instanceof dojo.io.Request)){try{D=new dojo.io.Request(D)
}catch(E){dojo.debug(E)
}}var C="";
if(D["transport"]){C=D["transport"];
if(!this[C]){return D
}}else{for(var A=0;
A<dojo.io.transports.length;
A++){var B=dojo.io.transports[A];
if((this[B])&&(this[B].canHandle(D))){C=B
}}if(C==""){return D
}}this[C].bind(D);
D.bindSuccess=true;
return D
};
dojo.io.queueBind=function(D){if(!(D instanceof dojo.io.Request)){try{D=new dojo.io.Request(D)
}catch(C){dojo.debug(C)
}}var B=D.load;
D.load=function(){dojo.io._queueBindInFlight=false;
var E=B.apply(this,arguments);
dojo.io._dispatchNextQueueBind();
return E
};
var A=D.error;
D.error=function(){dojo.io._queueBindInFlight=false;
var E=A.apply(this,arguments);
dojo.io._dispatchNextQueueBind();
return E
};
dojo.io._bindQueue.push(D);
dojo.io._dispatchNextQueueBind();
return D
};
dojo.io._dispatchNextQueueBind=function(){if(!dojo.io._queueBindInFlight){dojo.io._queueBindInFlight=true;
dojo.io.bind(dojo.io._bindQueue.shift())
}};
dojo.io._bindQueue=[];
dojo.io._queueBindInFlight=false;
dojo.io.argsFromMap=function(D,B){var F=new Object();
var E="";
var C=/utf/i.test(B||"")?encodeURIComponent:dojo.string.encodeAscii;
for(var A in D){if(!F[A]){E+=C(A)+"="+C(D[A])+"&"
}}return E
};
dojo.provide("dojo.io.BrowserIO");
dojo.require("dojo.io");
dojo.require("dojo.lang");
dojo.require("dojo.dom");
try{if((!djConfig["preventBackButtonFix"])&&(!dojo.hostenv.post_load_)){document.write("<iframe style='border: 0px; width: 1px; height: 1px; position: absolute; bottom: 0px; right: 0px; visibility: visible;' name='djhistory' id='djhistory' src='"+(dojo.hostenv.getBaseScriptUri()+"iframe_history.html")+"'></iframe>")
}}catch(e){}dojo.io.checkChildrenForFile=function(C){var B=false;
var A=C.getElementsByTagName("input");
dojo.lang.forEach(A,function(D){if(B){return 
}if(D.getAttribute("type")=="file"){B=true
}});
return B
};
dojo.io.formHasFile=function(A){return dojo.io.checkChildrenForFile(A)
};
dojo.io.encodeForm=function(K,J){if((!K)||(!K.tagName)||(!K.tagName.toLowerCase()=="form")){dojo.raise("Attempted to encode a non-form element.")
}var D=/utf/i.test(J||"")?encodeURIComponent:dojo.string.encodeAscii;
var H=[];
for(var F=0;
F<K.elements.length;
F++){var G=K.elements[F];
if(G.disabled||G.tagName.toLowerCase()=="fieldset"||!G.name){continue
}var A=D(G.name);
var I=G.type.toLowerCase();
if(I=="select-multiple"){for(var C=0;
C<G.options.length;
C++){if(G.options[C].selected){H.push(A+"="+D(G.options[C].value))
}}}else{if(dojo.lang.inArray(I,["radio","checkbox"])){if(G.checked){H.push(A+"="+D(G.value))
}}else{if(!dojo.lang.inArray(I,["file","submit","reset","button"])){H.push(A+"="+D(G.value))
}}}}var E=K.getElementsByTagName("input");
for(var F=0;
F<E.length;
F++){var B=E[F];
if(B.type.toLowerCase()=="image"&&B.form==K){var A=D(B.name);
H.push(A+"="+D(B.value));
H.push(A+".x=0");
H.push(A+".y=0")
}}return H.join("&")+"&"
};
dojo.io.setIFrameSrc=function(E,F,C){try{var B=dojo.render.html;
if(!C){if(B.safari){E.location=F
}else{frames[E.name].location=F
}}else{var A;
if(B.ie){A=E.contentWindow.document
}else{if(B.moz){A=E.contentWindow
}else{if(B.safari){A=E.document
}}}A.location.replace(F)
}}catch(D){dojo.debug(D);
dojo.debug("setIFrameSrc: "+D)
}};
dojo.io.XMLHTTPTransport=new function(){var G=this;
this.initialHref=window.location.href;
this.initialHash=window.location.hash;
this.moveForward=false;
var F={};
this.useCache=false;
this.preventCache=false;
this.historyStack=[];
this.forwardStack=[];
this.historyIframe=null;
this.bookmarkAnchor=null;
this.locationTimer=null;
function E(I,K,J){return I+"|"+K+"|"+J.toLowerCase()
}function C(K,L,J,I){F[E(K,L,J)]=I
}function D(J,I,K){return F[E(J,I,K)]
}this.clearCache=function(){F={}
};
function B(R,Q,J,K,I){if((Q.status==200)||(location.protocol=="file:"&&Q.status==0)){var O;
if(R.method.toLowerCase()=="head"){var T=Q.getAllResponseHeaders();
O={};
O.toString=function(){return T
};
var S=T.split(/[\r\n]+/g);
for(var M=0;
M<S.length;
M++){var L=S[M].match(/^([^:]+)\s*:\s*(.+)$/i);
if(L){O[L[1]]=L[2]
}}}else{if(R.mimetype=="text/javascript"){try{O=dj_eval(Q.responseText)
}catch(N){dojo.debug(N);
dojo.debug(Q.responseText);
O=null
}}else{if(R.mimetype=="text/json"){try{O=dj_eval("("+Q.responseText+")")
}catch(N){dojo.debug(N);
dojo.debug(Q.responseText);
O=false
}}else{if((R.mimetype=="application/xml")||(R.mimetype=="text/xml")){O=Q.responseXML;
if(!O||typeof O=="string"){O=dojo.dom.createDocumentFromText(Q.responseText)
}}else{O=Q.responseText
}}}}if(I){C(J,K,R.method,Q)
}R[(typeof R.load=="function")?"load":"handle"]("load",O,Q)
}else{var P=new dojo.io.Error("XMLHttpTransport Error: "+Q.status+" "+Q.statusText);
R[(typeof R.error=="function")?"error":"handle"]("error",P,Q)
}}function H(J,K){if(K["headers"]){for(var I in K["headers"]){if(I.toLowerCase()=="content-type"&&!K["contentType"]){K["contentType"]=K["headers"][I]
}else{J.setRequestHeader(I,K["headers"][I])
}}}}this.addToHistory=function(M){var N=M["back"]||M["backButton"]||M["handle"];
var J=null;
if(!this.historyIframe){this.historyIframe=window.frames["djhistory"]
}if(!this.bookmarkAnchor){this.bookmarkAnchor=document.createElement("a");
(document.body||document.getElementsByTagName("body")[0]).appendChild(this.bookmarkAnchor);
this.bookmarkAnchor.style.display="none"
}if((!M["changeUrl"])||(dojo.render.html.ie)){var I=dojo.hostenv.getBaseScriptUri()+"iframe_history.html?"+(new Date()).getTime();
this.moveForward=true;
dojo.io.setIFrameSrc(this.historyIframe,I,false)
}if(M["changeUrl"]){J="#"+((M["changeUrl"]!==true)?M["changeUrl"]:(new Date()).getTime());
setTimeout("window.location.href = '"+J+"';",1);
this.bookmarkAnchor.href=J;
if(dojo.render.html.ie){var K=N;
var Q=null;
var P=this.historyStack.length-1;
if(P>=0){while(!this.historyStack[P]["urlHash"]){P--
}Q=this.historyStack[P]["urlHash"]
}if(Q){N=function(){if(window.location.hash!=""){setTimeout("window.location.href = '"+Q+"';",1)
}K()
}
}this.forwardStack=[];
var O=M["forward"]||M["forwardButton"];
var L=function(){if(window.location.hash!=""){window.location.href=J
}if(O){O()
}};
if(M["forward"]){M.forward=L
}else{if(M["forwardButton"]){M.forwardButton=L
}}}else{if(dojo.render.html.moz){if(!this.locationTimer){this.locationTimer=setInterval("dojo.io.XMLHTTPTransport.checkLocation();",200)
}}}}this.historyStack.push({"url":I,"callback":N,"kwArgs":M,"urlHash":J})
};
this.checkLocation=function(){var I=this.historyStack.length;
if((window.location.hash==this.initialHash)||(window.location.href==this.initialHref)&&(I==1)){this.handleBackButton();
return 
}if(this.forwardStack.length>0){if(this.forwardStack[this.forwardStack.length-1].urlHash==window.location.hash){this.handleForwardButton();
return 
}}if((I>=2)&&(this.historyStack[I-2])){if(this.historyStack[I-2].urlHash==window.location.hash){this.handleBackButton();
return 
}}};
this.iframeLoaded=function(I,N){var K=N.href.split("?");
if(K.length<2){if(this.historyStack.length==1){this.handleBackButton()
}return 
}var M=K[1];
if(this.moveForward){this.moveForward=false;
return 
}var L=this.historyStack.pop();
if(!L){if(this.forwardStack.length>0){var J=this.forwardStack[this.forwardStack.length-1];
if(M==J.url.split("?")[1]){this.handleForwardButton()
}}return 
}this.historyStack.push(L);
if(this.historyStack.length>=2){if(K[1]==this.historyStack[this.historyStack.length-2].url.split("?")[1]){this.handleBackButton()
}}else{this.handleBackButton()
}};
this.handleBackButton=function(){var I=this.historyStack.pop();
if(!I){return 
}if(I["callback"]){I.callback()
}else{if(I.kwArgs["backButton"]){I.kwArgs["backButton"]()
}else{if(I.kwArgs["back"]){I.kwArgs["back"]()
}else{if(I.kwArgs["handle"]){I.kwArgs.handle("back")
}}}}this.forwardStack.push(I)
};
this.handleForwardButton=function(){var I=this.forwardStack.pop();
if(!I){return 
}if(I.kwArgs["forward"]){I.kwArgs.forward()
}else{if(I.kwArgs["forwardButton"]){I.kwArgs.forwardButton()
}else{if(I.kwArgs["handle"]){I.kwArgs.handle("forward")
}}}this.historyStack.push(I)
};
this.inFlight=[];
this.inFlightTimer=null;
this.startWatchingInFlight=function(){if(!this.inFlightTimer){this.inFlightTimer=setInterval("dojo.io.XMLHTTPTransport.watchInFlight();",10)
}};
this.watchInFlight=function(){for(var I=this.inFlight.length-1;
I>=0;
I--){var J=this.inFlight[I];
if(!J){this.inFlight.splice(I,1);
continue
}if(4==J.http.readyState){this.inFlight.splice(I,1);
B(J.req,J.http,J.url,J.query,J.useCache);
if(this.inFlight.length==0){clearInterval(this.inFlightTimer);
this.inFlightTimer=null
}}}};
var A=dojo.hostenv.getXmlhttpObject()?true:false;
this.canHandle=function(I){return A&&dojo.lang.inArray((I["mimetype"]||"".toLowerCase()),["text/plain","text/html","application/xml","text/xml","text/javascript","text/json"])&&dojo.lang.inArray(I["method"].toLowerCase(),["post","get","head"])&&!(I["formNode"]&&dojo.io.formHasFile(I["formNode"]))
};
this.multipartBoundary="45309FFF-BD65-4d50-99C9-36986896A96F";
this.bind=function(J){if(!J["url"]){if(!J["formNode"]&&(J["backButton"]||J["back"]||J["changeUrl"]||J["watchForURL"])&&(!djConfig.preventBackButtonFix)){this.addToHistory(J);
return true
}}var L=J.url;
var I="";
if(J["formNode"]){var R=J.formNode.getAttribute("action");
if((R)&&(!J["url"])){L=R
}var K=J.formNode.getAttribute("method");
if((K)&&(!J["method"])){J.method=K
}I+=dojo.io.encodeForm(J.formNode,J.encoding)
}if(L.indexOf("#")>-1){dojo.debug("Warning: dojo.io.bind: stripping hash values from url:",L);
L=L.split("#")[0]
}if(J["file"]){J.method="post"
}if(!J["method"]){J.method="get"
}if(J.method.toLowerCase()=="get"){J.multipart=false
}else{if(J["file"]){J.multipart=true
}else{if(!J["multipart"]){J.multipart=false
}}}if(J["backButton"]||J["back"]||J["changeUrl"]){this.addToHistory(J)
}var T=J["content"]||{};
if(J.sendTransport){T["dojo.transport"]="xmlhttp"
}do{if(J.postContent){I=J.postContent;
break
}if(T){I+=dojo.io.argsFromMap(T,J.encoding)
}if(J.method.toLowerCase()=="get"||!J.multipart){break
}var U=[];
if(I.length){var V=I.split("&");
for(var Z=0;
Z<V.length;
++Z){if(V[Z].length){var W=V[Z].split("=");
U.push("--"+this.multipartBoundary,'Content-Disposition: form-data; name="'+W[0]+'"',"",W[1])
}}}if(J.file){if(dojo.lang.isArray(J.file)){for(var Z=0;
Z<J.file.length;
++Z){var X=J.file[Z];
U.push("--"+this.multipartBoundary,'Content-Disposition: form-data; name="'+X.name+'"; filename="'+("fileName" in X?X.fileName:X.name)+'"',"Content-Type: "+("contentType" in X?X.contentType:"application/octet-stream"),"",X.content)
}}else{var X=J.file;
U.push("--"+this.multipartBoundary,'Content-Disposition: form-data; name="'+X.name+'"; filename="'+("fileName" in X?X.fileName:X.name)+'"',"Content-Type: "+("contentType" in X?X.contentType:"application/octet-stream"),"",X.content)
}}if(U.length){U.push("--"+this.multipartBoundary+"--","");
I=U.join("\r\n")
}}while(false);
var P=J["sync"]?false:true;
var O=J["preventCache"]||(this.preventCache==true&&J["preventCache"]!=false);
var N=J["useCache"]==true||(this.useCache==true&&J["useCache"]!=false);
if(!O&&N){var M=D(L,I,J.method);
if(M){B(J,M,L,I,false);
return 
}}var Y=dojo.hostenv.getXmlhttpObject();
var S=false;
if(P){this.inFlight.push({"req":J,"http":Y,"url":L,"query":I,"useCache":N});
this.startWatchingInFlight()
}if(J.method.toLowerCase()=="post"){Y.open("POST",L,P);
H(Y,J);
Y.setRequestHeader("Content-Type",J.multipart?("multipart/form-data; boundary="+this.multipartBoundary):(J.contentType||"application/x-www-form-urlencoded"));
Y.send(I)
}else{var Q=L;
if(I!=""){Q+=(Q.indexOf("?")>-1?"&":"?")+I
}if(O){Q+=(dojo.string.endsWithAny(Q,"?","&")?"":(Q.indexOf("?")>-1?"&":"?"))+"dojo.preventCache="+new Date().valueOf()
}Y.open(J.method.toUpperCase(),Q,P);
H(Y,J);
Y.send(null)
}if(!P){B(J,Y,L,I,N)
}J.abort=function(){return Y.abort()
};
return 
};
dojo.io.transports.addTransport("XMLHTTPTransport")
};
dojo.provide("dojo.io.cookie");
dojo.io.cookie.setCookie=function(D,C,H,E,B,A){var G=-1;
if(typeof H=="number"&&H>=0){var F=new Date();
F.setTime(F.getTime()+(H*24*60*60*1000));
G=F.toGMTString()
}C=escape(C);
document.cookie=D+"="+C+";"+(G!=-1?" expires="+G+";":"")+(E?"path="+E:"")+(B?"; domain="+B:"")+(A?"; secure":"")
};
dojo.io.cookie.set=dojo.io.cookie.setCookie;
dojo.io.cookie.getCookie=function(C){var A=document.cookie.indexOf(C+"=");
if(A==-1){return null
}value=document.cookie.substring(A+C.length+1);
var B=value.indexOf(";");
if(B==-1){B=value.length
}value=value.substring(0,B);
value=unescape(value);
return value
};
dojo.io.cookie.get=dojo.io.cookie.getCookie;
dojo.io.cookie.deleteCookie=function(A){dojo.io.cookie.setCookie(A,"-",0)
};
dojo.io.cookie.setObjectCookie=function(B,D,J,K,H,G,F){if(arguments.length==5){F=H;
H=null;
G=null
}var E=[],C,I="";
if(!F){C=dojo.io.cookie.getObjectCookie(B)
}if(J>=0){if(!C){C={}
}for(var A in D){if(A==null){delete C[A]
}else{if(typeof D[A]=="string"||typeof D[A]=="number"){C[A]=D[A]
}}}A=null;
for(var A in C){E.push(escape(A)+"="+escape(C[A]))
}I=E.join("&")
}dojo.io.cookie.setCookie(B,I,J,K,H,G)
};
dojo.io.cookie.getObjectCookie=function(C){var B=null,E=dojo.io.cookie.getCookie(C);
if(E){B={};
var A=E.split("&");
for(var D=0;
D<A.length;
D++){var G=A[D].split("=");
var F=G[1];
if(isNaN(F)){F=unescape(G[1])
}B[unescape(G[0])]=F
}}return B
};
dojo.io.cookie.isSupported=function(){if(typeof navigator.cookieEnabled!="boolean"){dojo.io.cookie.setCookie("__TestingYourBrowserForCookieSupport__","CookiesAllowed",90,null);
var A=dojo.io.cookie.getCookie("__TestingYourBrowserForCookieSupport__");
navigator.cookieEnabled=(A=="CookiesAllowed");
if(navigator.cookieEnabled){this.deleteCookie("__TestingYourBrowserForCookieSupport__")
}}return navigator.cookieEnabled
};
if(!dojo.io.cookies){dojo.io.cookies=dojo.io.cookie
}dojo.hostenv.conditionalLoadModule({common:["dojo.io",false,false],rhino:["dojo.io.RhinoIO",false,false],browser:[["dojo.io.BrowserIO",false,false],["dojo.io.cookie",false,false]]});
dojo.hostenv.moduleLoaded("dojo.io.*");
dojo.provide("dojo.math.curves");
dojo.require("dojo.math");
dojo.math.curves={Line:function(C,A){this.start=C;
this.end=A;
this.dimensions=C.length;
for(var B=0;
B<C.length;
B++){C[B]=Number(C[B])
}for(var B=0;
B<A.length;
B++){A[B]=Number(A[B])
}this.getValue=function(F){var E=new Array(this.dimensions);
for(var D=0;
D<this.dimensions;
D++){E[D]=((this.end[D]-this.start[D])*F)+this.start[D]
}return E
};
return this
},Bezier:function(A){this.getValue=function(I){if(I>=1){return this.p[this.p.length-1]
}if(I<=0){return this.p[0]
}var H=new Array(this.p[0].length);
for(var E=0;
F<this.p[0].length;
E++){H[E]=0
}for(var F=0;
F<this.p[0].length;
F++){var K=0;
var J=0;
for(var G=0;
G<this.p.length;
G++){K+=this.p[G][F]*this.p[this.p.length-1][0]*dojo.math.bernstein(I,this.p.length,G)
}for(var B=0;
B<this.p.length;
B++){J+=this.p[this.p.length-1][0]*dojo.math.bernstein(I,this.p.length,B)
}H[F]=K/J
}return H
};
this.p=A;
return this
},CatmullRom:function(A,B){this.getValue=function(H){var S=H*(this.p.length-1);
var I=Math.floor(S);
var Q=S-I;
var M=I-1;
if(M<0){M=0
}var N=I;
var L=I+1;
if(L>=this.p.length){L=this.p.length-1
}var J=I+2;
if(J>=this.p.length){J=this.p.length-1
}var P=Q;
var G=Q*Q;
var E=Q*Q*Q;
var O=new Array(this.p[0].length);
for(var K=0;
K<this.p[0].length;
K++){var F=(-this.c*this.p[M][K])+((2-this.c)*this.p[N][K])+((this.c-2)*this.p[L][K])+(this.c*this.p[J][K]);
var D=(2*this.c*this.p[M][K])+((this.c-3)*this.p[N][K])+((3-2*this.c)*this.p[L][K])+(-this.c*this.p[J][K]);
var C=(-this.c*this.p[M][K])+(this.c*this.p[L][K]);
var R=this.p[N][K];
O[K]=F*E+D*G+C*P+R
}return O
};
if(!B){this.c=0.7
}else{this.c=B
}this.p=A;
return this
},Arc:function(D,C,B){var G=dojo.math.points.midpoint(D,C);
var E=dojo.math.points.translate(dojo.math.points.invert(G),D);
var A=Math.sqrt(Math.pow(E[0],2)+Math.pow(E[1],2));
var F=dojo.math.radToDeg(Math.atan(E[1]/E[0]));
if(E[0]<0){F-=90
}else{F+=90
}dojo.math.curves.CenteredArc.call(this,G,A,F,F+(B?-180:180))
},CenteredArc:function(D,C,B,A){this.center=D;
this.radius=C;
this.start=B||0;
this.end=A;
this.getValue=function(G){var F=new Array(2);
var E=dojo.math.degToRad(this.start+((this.end-this.start)*G));
F[0]=this.center[0]+this.radius*Math.sin(E);
F[1]=this.center[1]-this.radius*Math.cos(E);
return F
};
return this
},Circle:function(A,B){dojo.math.curves.CenteredArc.call(this,A,B,0,360);
return this
},Path:function(){var E=[];
var D=[];
var C=[];
var B=0;
this.add=function(F,G){if(G<0){dojo.raise("dojo.math.curves.Path.add: weight cannot be less than 0")
}E.push(F);
D.push(G);
B+=G;
A()
};
this.remove=function(F){for(var G=0;
G<E.length;
G++){if(E[G]==F){E.splice(G,1);
B-=D.splice(G,1)[0];
break
}}A()
};
this.removeAll=function(){E=[];
D=[];
B=0
};
this.getValue=function(K){var J=false,H=0;
for(var F=0;
F<C.length;
F++){var G=C[F];
if(K>=G[0]&&K<G[1]){var I=(K-G[0])/G[2];
H=E[F].getValue(I);
J=true;
break
}}if(!J){H=E[E.length-1].getValue(1)
}for(j=0;
j<F;
j++){H=dojo.math.points.translate(H,E[j].getValue(1))
}return H
};
function A(){var I=0;
for(var H=0;
H<D.length;
H++){var G=I+D[H]/B;
var F=G-I;
C[H]=[I,G,F];
I=G
}}return this
}};
dojo.provide("dojo.animation");
dojo.provide("dojo.animation.Animation");
dojo.require("dojo.lang");
dojo.require("dojo.math");
dojo.require("dojo.math.curves");
dojo.animation.Animation=function(F,E,C,A,D){if(dojo.lang.isArray(F)){F=new dojo.math.curves.Line(F[0],F[1])
}this.curve=F;
this.duration=E;
this.repeatCount=A||0;
this.rate=D||25;
if(C){if(dojo.lang.isFunction(C.getValue)){this.accel=C
}else{var B=0.35*C+0.5;
this.accel=new dojo.math.curves.CatmullRom([[0],[B],[1]],0.45)
}}};
dojo.lang.extend(dojo.animation.Animation,{curve:null,duration:0,repeatCount:0,accel:null,onBegin:null,onAnimate:null,onEnd:null,onPlay:null,onPause:null,onStop:null,handler:null,_animSequence:null,_startTime:null,_endTime:null,_lastFrame:null,_timer:null,_percent:0,_active:false,_paused:false,_startRepeatCount:0,play:function(A){if(A){clearTimeout(this._timer);
this._active=false;
this._paused=false;
this._percent=0
}else{if(this._active&&!this._paused){return 
}}this._startTime=new Date().valueOf();
if(this._paused){this._startTime-=(this.duration*this._percent/100)
}this._endTime=this._startTime+this.duration;
this._lastFrame=this._startTime;
var B=new dojo.animation.AnimationEvent(this,null,this.curve.getValue(this._percent),this._startTime,this._startTime,this._endTime,this.duration,this._percent,0);
this._active=true;
this._paused=false;
if(this._percent==0){if(!this._startRepeatCount){this._startRepeatCount=this.repeatCount
}B.type="begin";
if(typeof this.handler=="function"){this.handler(B)
}if(typeof this.onBegin=="function"){this.onBegin(B)
}}B.type="play";
if(typeof this.handler=="function"){this.handler(B)
}if(typeof this.onPlay=="function"){this.onPlay(B)
}if(this._animSequence){this._animSequence._setCurrent(this)
}this._cycle()
},pause:function(){clearTimeout(this._timer);
if(!this._active){return 
}this._paused=true;
var A=new dojo.animation.AnimationEvent(this,"pause",this.curve.getValue(this._percent),this._startTime,new Date().valueOf(),this._endTime,this.duration,this._percent,0);
if(typeof this.handler=="function"){this.handler(A)
}if(typeof this.onPause=="function"){this.onPause(A)
}},playPause:function(){if(!this._active||this._paused){this.play()
}else{this.pause()
}},gotoPercent:function(A,B){clearTimeout(this._timer);
this._active=true;
this._paused=true;
this._percent=A;
if(B){this.play()
}},stop:function(C){clearTimeout(this._timer);
var A=this._percent/100;
if(C){A=1
}var B=new dojo.animation.AnimationEvent(this,"stop",this.curve.getValue(A),this._startTime,new Date().valueOf(),this._endTime,this.duration,this._percent,Math.round(fps));
if(typeof this.handler=="function"){this.handler(B)
}if(typeof this.onStop=="function"){this.onStop(B)
}this._active=false;
this._paused=false
},status:function(){if(this._active){return this._paused?"paused":"playing"
}else{return"stopped"
}},_cycle:function(){clearTimeout(this._timer);
if(this._active){var C=new Date().valueOf();
var A=(C-this._startTime)/(this._endTime-this._startTime);
fps=1000/(C-this._lastFrame);
this._lastFrame=C;
if(A>=1){A=1;
this._percent=100
}else{this._percent=A*100
}if(this.accel&&this.accel.getValue){A=this.accel.getValue(A)
}var B=new dojo.animation.AnimationEvent(this,"animate",this.curve.getValue(A),this._startTime,C,this._endTime,this.duration,this._percent,Math.round(fps));
if(typeof this.handler=="function"){this.handler(B)
}if(typeof this.onAnimate=="function"){this.onAnimate(B)
}if(A<1){this._timer=setTimeout(dojo.lang.hitch(this,"_cycle"),this.rate)
}else{B.type="end";
this._active=false;
if(typeof this.handler=="function"){this.handler(B)
}if(typeof this.onEnd=="function"){this.onEnd(B)
}if(this.repeatCount>0){this.repeatCount--;
this.play(true)
}else{if(this.repeatCount==-1){this.play(true)
}else{if(this._startRepeatCount){this.repeatCount=this._startRepeatCount;
this._startRepeatCount=0
}if(this._animSequence){this._animSequence._playNext()
}}}}}}});
dojo.animation.AnimationEvent=function(C,D,I,H,F,E,A,G,B){this.type=D;
this.animation=C;
this.coords=I;
this.x=I[0];
this.y=I[1];
this.z=I[2];
this.startTime=H;
this.currentTime=F;
this.endTime=E;
this.duration=A;
this.percent=G;
this.fps=B
};
dojo.lang.extend(dojo.animation.AnimationEvent,{coordsAsInts:function(){var A=new Array(this.coords.length);
for(var B=0;
B<this.coords.length;
B++){A[B]=Math.round(this.coords[B])
}return A
}});
dojo.animation.AnimationSequence=function(A){this._anims=[];
this.repeatCount=A||0
};
dojo.lang.extend(dojo.animation.AnimationSequence,{repeateCount:0,_anims:[],_currAnim:-1,onBegin:null,onEnd:null,onNext:null,handler:null,add:function(){for(var A=0;
A<arguments.length;
A++){this._anims.push(arguments[A]);
arguments[A]._animSequence=this
}},remove:function(B){for(var A=0;
A<this._anims.length;
A++){if(this._anims[A]==B){this._anims[A]._animSequence=null;
this._anims.splice(A,1);
break
}}},removeAll:function(){for(var A=0;
A<this._anims.length;
A++){this._anims[A]._animSequence=null
}this._anims=[];
this._currAnim=-1
},clear:function(){this.removeAll()
},play:function(B){if(this._anims.length==0){return 
}if(B||!this._anims[this._currAnim]){this._currAnim=0
}if(this._anims[this._currAnim]){if(this._currAnim==0){var A={type:"begin",animation:this._anims[this._currAnim]};
if(typeof this.handler=="function"){this.handler(A)
}if(typeof this.onBegin=="function"){this.onBegin(A)
}}this._anims[this._currAnim].play(B)
}},pause:function(){if(this._anims[this._currAnim]){this._anims[this._currAnim].pause()
}},playPause:function(){if(this._anims.length==0){return 
}if(this._currAnim==-1){this._currAnim=0
}if(this._anims[this._currAnim]){this._anims[this._currAnim].playPause()
}},stop:function(){if(this._anims[this._currAnim]){this._anims[this._currAnim].stop()
}},status:function(){if(this._anims[this._currAnim]){return this._anims[this._currAnim].status()
}else{return"stopped"
}},_setCurrent:function(B){for(var A=0;
A<this._anims.length;
A++){if(this._anims[A]==B){this._currAnim=A;
break
}}},_playNext:function(){if(this._currAnim==-1||this._anims.length==0){return 
}this._currAnim++;
if(this._anims[this._currAnim]){var A={type:"next",animation:this._anims[this._currAnim]};
if(typeof this.handler=="function"){this.handler(A)
}if(typeof this.onNext=="function"){this.onNext(A)
}this._anims[this._currAnim].play(true)
}else{var A={type:"end",animation:this._anims[this._anims.length-1]};
if(typeof this.handler=="function"){this.handler(A)
}if(typeof this.onEnd=="function"){this.onEnd(A)
}if(this.repeatCount>0){this._currAnim=0;
this.repeatCount--;
this._anims[this._currAnim].play(true)
}else{if(this.repeatCount==-1){this._currAnim=0;
this._anims[this._currAnim].play(true)
}else{this._currAnim=-1
}}}}});
dojo.hostenv.conditionalLoadModule({common:["dojo.animation.Animation",false,false]});
dojo.hostenv.moduleLoaded("dojo.animation.*");
dojo.provide("dojo.fx.html");
dojo.require("dojo.html");
dojo.require("dojo.style");
dojo.require("dojo.lang");
dojo.require("dojo.animation.*");
dojo.require("dojo.event.*");
dojo.require("dojo.graphics.color");
dojo.fx.duration=500;
dojo.fx.html._makeFadeable=function(A){if(dojo.render.html.ie){if((A.style.zoom.length==0)&&(dojo.style.getStyle(A,"zoom")=="normal")){A.style.zoom="1"
}if((A.style.width.length==0)&&(dojo.style.getStyle(A,"width")=="auto")){A.style.width="auto"
}}};
dojo.fx.html.fadeOut=function(D,C,B,A){return dojo.fx.html.fade(D,C,dojo.style.getOpacity(D),0,B,A)
};
dojo.fx.html.fadeIn=function(C,A,D,B){return dojo.fx.html.fade(C,A,dojo.style.getOpacity(C),1,D,B)
};
dojo.fx.html.fadeHide=function(C,B,A,D){C=dojo.byId(C);
if(!B){B=150
}return dojo.fx.html.fadeOut(C,B,function(E){E.style.display="none";
if(typeof A=="function"){A(E)
}})
};
dojo.fx.html.fadeShow=function(A,D,C,B){A=dojo.byId(A);
if(!D){D=150
}A.style.display="block";
return dojo.fx.html.fade(A,D,0,1,C,B)
};
dojo.fx.html.fade=function(F,E,D,C,B,A){F=dojo.byId(F);
dojo.fx.html._makeFadeable(F);
var G=new dojo.animation.Animation(new dojo.math.curves.Line([D],[C]),E||dojo.fx.duration,0);
dojo.event.connect(G,"onAnimate",function(H){dojo.style.setOpacity(F,H.x)
});
if(B){dojo.event.connect(G,"onEnd",function(H){B(F,G)
})
}if(!A){G.play(true)
}return G
};
dojo.fx.html.slideTo=function(D,I,H,B,A){if(!dojo.lang.isNumber(I)){var E=I;
I=H;
H=E
}D=dojo.byId(D);
var G=D.offsetTop;
var C=D.offsetLeft;
var F=dojo.style.getComputedStyle(D,"position");
if(F=="relative"||F=="static"){G=parseInt(dojo.style.getComputedStyle(D,"top"))||0;
C=parseInt(dojo.style.getComputedStyle(D,"left"))||0
}return dojo.fx.html.slide(D,I,[C,G],H,B,A)
};
dojo.fx.html.slideBy=function(C,I,H,G,A){if(!dojo.lang.isNumber(I)){var D=I;
I=H;
H=D
}C=dojo.byId(C);
var F=C.offsetTop;
var B=C.offsetLeft;
var E=dojo.style.getComputedStyle(C,"position");
if(E=="relative"||E=="static"){F=parseInt(dojo.style.getComputedStyle(C,"top"))||0;
B=parseInt(dojo.style.getComputedStyle(C,"left"))||0
}return dojo.fx.html.slideTo(C,I,[B+H[0],F+H[1]],G,A)
};
dojo.fx.html.slide=function(node,_610,_611,_612,_613,_614){if(!dojo.lang.isNumber(_610)){var tmp=_610;
_610=_612;
_612=_611;
_611=tmp
}node=dojo.byId(node);
if(dojo.style.getComputedStyle(node,"position")=="static"){node.style.position="relative"
}var anim=new dojo.animation.Animation(new dojo.math.curves.Line(_611,_612),_610||dojo.fx.duration,0);
dojo.event.connect(anim,"onAnimate",function(e){with(node.style){left=e.x+"px";
top=e.y+"px"
}});
if(_613){dojo.event.connect(anim,"onEnd",function(e){_613(node,anim)
})
}if(!_614){anim.play(true)
}return anim
};
dojo.fx.html.colorFadeIn=function(A,L,J,I,H,G){if(!dojo.lang.isNumber(L)){var E=L;
L=J;
J=E
}A=dojo.byId(A);
var F=dojo.html.getBackgroundColor(A);
var D=dojo.style.getStyle(A,"background-color").toLowerCase();
var C=D=="transparent"||D=="rgba(0, 0, 0, 0)";
while(F.length>3){F.pop()
}var K=new dojo.graphics.color.Color(J).toRgb();
var B=dojo.fx.html.colorFade(A,L||dojo.fx.duration,J,F,H,true);
dojo.event.connect(B,"onEnd",function(M){if(C){A.style.backgroundColor="transparent"
}});
if(I>0){A.style.backgroundColor="rgb("+K.join(",")+")";
if(!G){setTimeout(function(){B.play(true)
},I)
}}else{if(!G){B.play(true)
}}return B
};
dojo.fx.html.highlight=dojo.fx.html.colorFadeIn;
dojo.fx.html.colorFadeFrom=dojo.fx.html.colorFadeIn;
dojo.fx.html.colorFadeOut=function(E,C,B,A,H,F){if(!dojo.lang.isNumber(C)){var I=C;
C=B;
B=I
}E=dojo.byId(E);
var D=new dojo.graphics.color.Color(dojo.html.getBackgroundColor(E)).toRgb();
var J=new dojo.graphics.color.Color(B).toRgb();
var G=dojo.fx.html.colorFade(E,C||dojo.fx.duration,D,J,H,A>0||F);
if(A>0){E.style.backgroundColor="rgb("+D.join(",")+")";
if(!F){setTimeout(function(){G.play(true)
},A)
}}return G
};
dojo.fx.html.unhighlight=dojo.fx.html.colorFadeOut;
dojo.fx.html.colorFadeTo=dojo.fx.html.colorFadeOut;
dojo.fx.html.colorFade=function(C,B,A,J,I,H){if(!dojo.lang.isNumber(B)){var E=B;
B=J;
J=A;
A=E
}C=dojo.byId(C);
var G=new dojo.graphics.color.Color(A).toRgb();
var F=new dojo.graphics.color.Color(J).toRgb();
var D=new dojo.animation.Animation(new dojo.math.curves.Line(G,F),B||dojo.fx.duration,0);
dojo.event.connect(D,"onAnimate",function(K){C.style.backgroundColor="rgb("+K.coordsAsInts().join(",")+")"
});
if(I){dojo.event.connect(D,"onEnd",function(K){I(C,D)
})
}if(!H){D.play(true)
}return D
};
dojo.fx.html.wipeShow=function(E,D,C,A){E=dojo.byId(E);
var B=dojo.html.getStyle(E,"overflow");
E.style.overflow="hidden";
E.style.height=0;
dojo.html.show(E);
var F=new dojo.animation.Animation([[0],[E.scrollHeight]],D||dojo.fx.duration,0);
dojo.event.connect(F,"onAnimate",function(G){E.style.height=G.x+"px"
});
dojo.event.connect(F,"onEnd",function(){E.style.overflow=B;
E.style.height="auto";
if(C){C(E,F)
}});
if(!A){F.play()
}return F
};
dojo.fx.html.wipeHide=function(C,B,A,F){C=dojo.byId(C);
var E=dojo.html.getStyle(C,"overflow");
C.style.overflow="hidden";
var D=new dojo.animation.Animation([[C.offsetHeight],[0]],B||dojo.fx.duration,0);
dojo.event.connect(D,"onAnimate",function(G){C.style.height=G.x+"px"
});
dojo.event.connect(D,"onEnd",function(){C.style.overflow=E;
dojo.html.hide(C);
if(A){A(C,D)
}});
if(!F){D.play()
}return D
};
dojo.fx.html.wiper=function(A,B){this.node=dojo.byId(A);
if(B){dojo.event.connect(dojo.byId(B),"onclick",this,"toggle")
}};
dojo.lang.extend(dojo.fx.html.wiper,{duration:dojo.fx.duration,_anim:null,toggle:function(){if(!this._anim){var A="wipe"+(dojo.html.isVisible(this.node)?"Hide":"Show");
this._anim=dojo.fx[A](this.node,this.duration,dojo.lang.hitch(this,"_callback"))
}},_callback:function(){this._anim=null
}});
dojo.fx.html.wipeIn=function(D,G,C,F){D=dojo.byId(D);
var B=dojo.html.getStyle(D,"height");
dojo.style.setOpacity(D,0);
dojo.html.show(D);
var A=D.offsetHeight;
var E=dojo.fx.html.wipeInToHeight(D,G,A,function(H){D.style.height=B||"auto";
if(C){C(D,E)
}},F)
};
dojo.fx.html.wipeInToHeight=function(E,C,A,H,G){E=dojo.byId(E);
var D=dojo.html.getStyle(E,"overflow");
E.style.height="0px";
E.style.display="none";
dojo.style.setOpacity(E,0.9999);
if(D=="visible"){E.style.overflow="hidden"
}var B=dojo.lang.inArray(E.tagName.toLowerCase(),["tr","td","th"])?"":"block";
E.style.display=B;
var F=new dojo.animation.Animation(new dojo.math.curves.Line([0],[A]),C||dojo.fx.duration,0);
dojo.event.connect(F,"onAnimate",function(I){E.style.height=Math.round(I.x)+"px"
});
dojo.event.connect(F,"onEnd",function(I){if(D!="visible"){E.style.overflow=D
}if(H){H(E,F)
}});
if(!G){F.play(true)
}return F
};
dojo.fx.html.wipeOut=function(D,H,G,F){D=dojo.byId(D);
var C=dojo.html.getStyle(D,"overflow");
var B=dojo.html.getStyle(D,"height");
var A=D.offsetHeight;
D.style.overflow="hidden";
var E=new dojo.animation.Animation(new dojo.math.curves.Line([A],[0]),H||dojo.fx.duration,0);
dojo.event.connect(E,"onAnimate",function(I){D.style.height=Math.round(I.x)+"px"
});
dojo.event.connect(E,"onEnd",function(I){D.style.display="none";
D.style.overflow=C;
D.style.height=B||"auto";
if(G){G(D,E)
}});
if(!F){E.play(true)
}return E
};
dojo.fx.html.explode=function(_669,_66a,_66b,_66c,_66d){var _66e=dojo.html.toCoordinateArray(_669);
var _66f=document.createElement("div");
with(_66f.style){position="absolute";
border="1px solid black";
display="none"
}dojo.html.body().appendChild(_66f);
_66a=dojo.byId(_66a);
with(_66a.style){visibility="hidden";
display="block"
}var _670=dojo.html.toCoordinateArray(_66a);
with(_66a.style){display="none";
visibility="visible"
}var anim=new dojo.animation.Animation(new dojo.math.curves.Line(_66e,_670),_66b||dojo.fx.duration,0);
dojo.event.connect(anim,"onBegin",function(e){_66f.style.display="block"
});
dojo.event.connect(anim,"onAnimate",function(e){with(_66f.style){left=e.x+"px";
top=e.y+"px";
width=e.coords[2]+"px";
height=e.coords[3]+"px"
}});
dojo.event.connect(anim,"onEnd",function(){_66a.style.display="block";
_66f.parentNode.removeChild(_66f);
if(_66c){_66c(_66a,anim)
}});
if(!_66d){anim.play()
}return anim
};
dojo.fx.html.implode=function(_674,end,_676,_677,_678){var _679=dojo.html.toCoordinateArray(_674);
var _67a=dojo.html.toCoordinateArray(end);
_674=dojo.byId(_674);
var _67b=document.createElement("div");
with(_67b.style){position="absolute";
border="1px solid black";
display="none"
}dojo.html.body().appendChild(_67b);
var anim=new dojo.animation.Animation(new dojo.math.curves.Line(_679,_67a),_676||dojo.fx.duration,0);
dojo.event.connect(anim,"onBegin",function(e){_674.style.display="none";
_67b.style.display="block"
});
dojo.event.connect(anim,"onAnimate",function(e){with(_67b.style){left=e.x+"px";
top=e.y+"px";
width=e.coords[2]+"px";
height=e.coords[3]+"px"
}});
dojo.event.connect(anim,"onEnd",function(){_67b.parentNode.removeChild(_67b);
if(_677){_677(_674,anim)
}});
if(!_678){anim.play()
}return anim
};
dojo.fx.html.Exploder=function(I,H){I=dojo.byId(I);
H=dojo.byId(H);
var G=this;
this.waitToHide=500;
this.timeToShow=100;
this.waitToShow=200;
this.timeToHide=70;
this.autoShow=false;
this.autoHide=false;
var F=null;
var E=null;
var D=null;
var C=null;
var B=null;
var A=null;
this.showing=false;
this.onBeforeExplode=null;
this.onAfterExplode=null;
this.onBeforeImplode=null;
this.onAfterImplode=null;
this.onExploding=null;
this.onImploding=null;
this.timeShow=function(){clearTimeout(D);
D=setTimeout(G.show,G.waitToShow)
};
this.show=function(){clearTimeout(D);
clearTimeout(C);
if((E&&E.status()=="playing")||(F&&F.status()=="playing")||G.showing){return 
}if(typeof G.onBeforeExplode=="function"){G.onBeforeExplode(I,H)
}F=dojo.fx.html.explode(I,H,G.timeToShow,function(J){G.showing=true;
if(typeof G.onAfterExplode=="function"){G.onAfterExplode(I,H)
}});
if(typeof G.onExploding=="function"){dojo.event.connect(F,"onAnimate",this,"onExploding")
}};
this.timeHide=function(){clearTimeout(D);
clearTimeout(C);
if(G.showing){C=setTimeout(G.hide,G.waitToHide)
}};
this.hide=function(){clearTimeout(D);
clearTimeout(C);
if(F&&F.status()=="playing"){return 
}G.showing=false;
if(typeof G.onBeforeImplode=="function"){G.onBeforeImplode(I,H)
}E=dojo.fx.html.implode(H,I,G.timeToHide,function(J){if(typeof G.onAfterImplode=="function"){G.onAfterImplode(I,H)
}});
if(typeof G.onImploding=="function"){dojo.event.connect(E,"onAnimate",this,"onImploding")
}};
dojo.event.connect(I,"onclick",function(J){if(G.showing){G.hide()
}else{G.show()
}});
dojo.event.connect(I,"onmouseover",function(J){if(G.autoShow){G.timeShow()
}});
dojo.event.connect(I,"onmouseout",function(J){if(G.autoHide){G.timeHide()
}});
dojo.event.connect(H,"onmouseover",function(J){clearTimeout(C)
});
dojo.event.connect(H,"onmouseout",function(J){if(G.autoHide){G.timeHide()
}});
dojo.event.connect(document.documentElement||dojo.html.body(),"onclick",function(J){if(G.autoHide&&G.showing&&!dojo.dom.isDescendantOf(J.target,H)&&!dojo.dom.isDescendantOf(J.target,I)){G.hide()
}});
return this
};
dojo.lang.mixin(dojo.fx,dojo.fx.html);
dojo.hostenv.conditionalLoadModule({browser:["dojo.fx.html"]});
dojo.hostenv.moduleLoaded("dojo.fx.*")
