;(function(){var sMap=null;if((sMap||(typeof djConfig!="undefined"&&djConfig.scopeMap))&&(typeof window!="undefined")){var scopeDef="",scopePrefix="",scopeSuffix="",scopeMap={},scopeMapRev={};sMap=sMap||djConfig.scopeMap;for(var i=0;i<sMap.length;i++){var newScope=sMap[i];scopeDef+="var "+newScope[0]+" = {}; "+newScope[1]+" = "+newScope[0]+";"+newScope[1]+"._scopeName = '"+newScope[1]+"';";scopePrefix+=(i==0?"":",")+newScope[0];scopeSuffix+=(i==0?"":",")+newScope[1];scopeMap[newScope[0]]=newScope[1];scopeMapRev[newScope[1]]=newScope[0];}
eval(scopeDef+"dojo._scopeArgs = ["+scopeSuffix+"];");dojo._scopePrefixArgs=scopePrefix;dojo._scopePrefix="(function("+scopePrefix+"){";dojo._scopeSuffix="})("+scopeSuffix+")";dojo._scopeMap=scopeMap;dojo._scopeMapRev=scopeMapRev;}
(function(){if(!this["console"]){this.console={log:function(){}};}
var cn=["assert","count","debug","dir","dirxml","error","group","groupEnd","info","profile","profileEnd","time","timeEnd","trace","warn","log"];var i=0,tn;while((tn=cn[i++])){if(!console[tn]){(function(){var tcn=tn+"";console[tcn]=function(){var a=Array.apply({},arguments);a.unshift(tcn+":");console.log(a.join(" "));}})();}}
if(typeof dojo=="undefined"){this.dojo={_scopeName:"dojo",_scopePrefix:"",_scopePrefixArgs:"",_scopeSuffix:"",_scopeMap:{},_scopeMapRev:{}};}
var d=dojo;if(typeof dijit=="undefined"){this.dijit={_scopeName:"dijit"};}
if(typeof dojox=="undefined"){this.dojox={_scopeName:"dojox"};}
if(!d._scopeArgs){d._scopeArgs=[dojo,dijit,dojox];}
d.global=this;d.config={isDebug:false,debugAtAllCosts:false};if(typeof djConfig!="undefined"){for(var opt in djConfig){d.config[opt]=djConfig[opt];}}
var _platforms=["Browser","Rhino","Spidermonkey","Mobile"];var t;while((t=_platforms.shift())){d["is"+t]=false;}
dojo.locale=d.config.locale;var rev="$Rev: 13231 $".match(/\d+/);dojo.version={major:1,minor:1,patch:0,flag:"",revision:rev?+rev[0]:999999,toString:function(){with(d.version){return major+"."+minor+"."+patch+flag+" ("+revision+")";}}}
if(typeof OpenAjax!="undefined"){OpenAjax.hub.registerLibrary(dojo._scopeName,"http://dojotoolkit.org",d.version.toString());}
dojo._mixin=function(obj,props){var tobj={};for(var x in props){if(tobj[x]===undefined||tobj[x]!=props[x]){obj[x]=props[x];}}
if(d["isIE"]&&props){var p=props.toString;if(typeof p=="function"&&p!=obj.toString&&p!=tobj.toString&&p!="\nfunction toString() {\n    [native code]\n}\n"){obj.toString=props.toString;}}
return obj;}
dojo.mixin=function(obj,props){for(var i=1,l=arguments.length;i<l;i++){d._mixin(obj,arguments[i]);}
return obj;}
dojo._getProp=function(parts,create,context){var obj=context||d.global;for(var i=0,p;obj&&(p=parts[i]);i++){if(i==0&&this._scopeMap[p]){p=this._scopeMap[p];}
obj=(p in obj?obj[p]:(create?obj[p]={}:undefined));}
return obj;}
dojo.setObject=function(name,value,context){var parts=name.split("."),p=parts.pop(),obj=d._getProp(parts,true,context);return obj&&p?(obj[p]=value):undefined;}
dojo.getObject=function(name,create,context){return d._getProp(name.split("."),create,context);}
dojo.exists=function(name,obj){return!!d.getObject(name,false,obj);}
dojo["eval"]=function(scriptFragment){return d.global.eval?d.global.eval(scriptFragment):eval(scriptFragment);}
d.deprecated=d.experimental=function(){};})();(function(){var d=dojo;d.mixin(d,{_loadedModules:{},_inFlightCount:0,_hasResource:{},_modulePrefixes:{dojo:{name:"dojo",value:"."},doh:{name:"doh",value:"../util/doh"},tests:{name:"tests",value:"tests"}},_moduleHasPrefix:function(module){var mp=this._modulePrefixes;return!!(mp[module]&&mp[module].value);},_getModulePrefix:function(module){var mp=this._modulePrefixes;if(this._moduleHasPrefix(module)){return mp[module].value;}
return module;},_loadedUrls:[],_postLoad:false,_loaders:[],_unloaders:[],_loadNotifying:false});dojo._loadPath=function(relpath,module,cb){var uri=((relpath.charAt(0)=='/'||relpath.match(/^\w+:/))?"":this.baseUrl)+relpath;try{return!module?this._loadUri(uri,cb):this._loadUriAndCheck(uri,module,cb);}catch(e){console.error(e);return false;}}
dojo._loadUri=function(uri,cb){if(this._loadedUrls[uri]){return true;}
var contents=this._getText(uri,true);if(!contents){return false;}
this._loadedUrls[uri]=true;this._loadedUrls.push(uri);if(cb){contents='('+contents+')';}else{contents=this._scopePrefix+contents+this._scopeSuffix;}
if(d.isMoz){contents+="\r\n//@ sourceURL="+uri;}
var value=d["eval"](contents);if(cb){cb(value);}
return true;}
dojo._loadUriAndCheck=function(uri,moduleName,cb){var ok=false;try{ok=this._loadUri(uri,cb);}catch(e){console.error("failed loading "+uri+" with error: "+e);}
return!!(ok&&this._loadedModules[moduleName]);}
dojo.loaded=function(){this._loadNotifying=true;this._postLoad=true;var mll=d._loaders;this._loaders=[];for(var x=0;x<mll.length;x++){try{mll[x]();}catch(e){throw e;console.error("dojo.addOnLoad callback failed: "+e,e);}}
this._loadNotifying=false;if(d._postLoad&&d._inFlightCount==0&&mll.length){d._callLoaded();}}
dojo.unloaded=function(){var mll=this._unloaders;while(mll.length){(mll.pop())();}}
var onto=function(arr,obj,fn){if(!fn){arr.push(obj);}else if(fn){var func=(typeof fn=="string")?obj[fn]:fn;arr.push(function(){func.call(obj);});}}
dojo.addOnLoad=function(obj,functionName){onto(d._loaders,obj,functionName);if(d._postLoad&&d._inFlightCount==0&&!d._loadNotifying){d._callLoaded();}}
dojo.addOnUnload=function(obj,functionName){onto(d._unloaders,obj,functionName);}
dojo._modulesLoaded=function(){if(d._postLoad){return;}
if(d._inFlightCount>0){console.warn("files still in flight!");return;}
d._callLoaded();}
dojo._callLoaded=function(){if(typeof setTimeout=="object"||(dojo.config.useXDomain&&d.isOpera)){if(dojo.isAIR){setTimeout(function(){dojo.loaded();},0);}else{setTimeout(dojo._scopeName+".loaded();",0);}}else{d.loaded();}}
dojo._getModuleSymbols=function(modulename){var syms=modulename.split(".");for(var i=syms.length;i>0;i--){var parentModule=syms.slice(0,i).join(".");if((i==1)&&!this._moduleHasPrefix(parentModule)){syms[0]="../"+syms[0];}else{var parentModulePath=this._getModulePrefix(parentModule);if(parentModulePath!=parentModule){syms.splice(0,i,parentModulePath);break;}}}
return syms;}
dojo._global_omit_module_check=false;dojo._loadModule=dojo.require=function(moduleName,omitModuleCheck){omitModuleCheck=this._global_omit_module_check||omitModuleCheck;var module=this._loadedModules[moduleName];if(module){return module;}
var relpath=this._getModuleSymbols(moduleName).join("/")+'.js';var modArg=(!omitModuleCheck)?moduleName:null;var ok=this._loadPath(relpath,modArg);if(!ok&&!omitModuleCheck){throw new Error("Could not load '"+moduleName+"'; last tried '"+relpath+"'");}
if(!omitModuleCheck&&!this._isXDomain){module=this._loadedModules[moduleName];if(!module){throw new Error("symbol '"+moduleName+"' is not defined after loading '"+relpath+"'");}}
return module;}
dojo.provide=function(resourceName){resourceName=resourceName+"";return(d._loadedModules[resourceName]=d.getObject(resourceName,true));}
dojo.platformRequire=function(modMap){var common=modMap.common||[];var result=common.concat(modMap[d._name]||modMap["default"]||[]);for(var x=0;x<result.length;x++){var curr=result[x];if(curr.constructor==Array){d._loadModule.apply(d,curr);}else{d._loadModule(curr);}}}
dojo.requireIf=function(condition,resourceName){if(condition===true){var args=[];for(var i=1;i<arguments.length;i++){args.push(arguments[i]);}
d.require.apply(d,args);}}
dojo.requireAfterIf=d.requireIf;dojo.registerModulePath=function(module,prefix){d._modulePrefixes[module]={name:module,value:prefix};}
dojo.requireLocalization=function(moduleName,bundleName,locale,availableFlatLocales){d.require("dojo.i18n");d.i18n._requireLocalization.apply(d.hostenv,arguments);};var ore=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$");var ire=new RegExp("^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$");dojo._Url=function(){var n=null;var _a=arguments;var uri=[_a[0]];for(var i=1;i<_a.length;i++){if(!_a[i]){continue;}
var relobj=new d._Url(_a[i]+"");var uriobj=new d._Url(uri[0]+"");if(relobj.path==""&&!relobj.scheme&&!relobj.authority&&!relobj.query){if(relobj.fragment!=n){uriobj.fragment=relobj.fragment;}
relobj=uriobj;}else if(!relobj.scheme){relobj.scheme=uriobj.scheme;if(!relobj.authority){relobj.authority=uriobj.authority;if(relobj.path.charAt(0)!="/"){var path=uriobj.path.substring(0,uriobj.path.lastIndexOf("/")+1)+relobj.path;var segs=path.split("/");for(var j=0;j<segs.length;j++){if(segs[j]=="."){if(j==segs.length-1){segs[j]="";}else{segs.splice(j,1);j--;}}else if(j>0&&!(j==1&&segs[0]=="")&&segs[j]==".."&&segs[j-1]!=".."){if(j==(segs.length-1)){segs.splice(j,1);segs[j-1]="";}else{segs.splice(j-1,2);j-=2;}}}
relobj.path=segs.join("/");}}}
uri=[];if(relobj.scheme){uri.push(relobj.scheme,":");}
if(relobj.authority){uri.push("//",relobj.authority);}
uri.push(relobj.path);if(relobj.query){uri.push("?",relobj.query);}
if(relobj.fragment){uri.push("#",relobj.fragment);}}
this.uri=uri.join("");var r=this.uri.match(ore);this.scheme=r[2]||(r[1]?"":n);this.authority=r[4]||(r[3]?"":n);this.path=r[5];this.query=r[7]||(r[6]?"":n);this.fragment=r[9]||(r[8]?"":n);if(this.authority!=n){r=this.authority.match(ire);this.user=r[3]||n;this.password=r[4]||n;this.host=r[5];this.port=r[7]||n;}}
dojo._Url.prototype.toString=function(){return this.uri;};dojo.moduleUrl=function(module,url){var loc=d._getModuleSymbols(module).join('/');if(!loc){return null;}
if(loc.lastIndexOf("/")!=loc.length-1){loc+="/";}
var colonIndex=loc.indexOf(":");if(loc.charAt(0)!="/"&&(colonIndex==-1||colonIndex>loc.indexOf("/"))){loc=d.baseUrl+loc;}
return new d._Url(loc,url);}})();if(typeof window!='undefined'){dojo.isBrowser=true;dojo._name="browser";(function(){var d=dojo;if(document&&document.getElementsByTagName){var scripts=document.getElementsByTagName("script");var rePkg=/dojo(\.xd)?\.js(\W|$)/i;for(var i=0;i<scripts.length;i++){var src=scripts[i].getAttribute("src");if(!src){continue;}
var m=src.match(rePkg);if(m){if(!d.config.baseUrl){d.config.baseUrl=src.substring(0,m.index);}
var cfg=scripts[i].getAttribute("djConfig");if(cfg){var cfgo=eval("({ "+cfg+" })");for(var x in cfgo){dojo.config[x]=cfgo[x];}}
break;}}}
d.baseUrl=d.config.baseUrl;var n=navigator;var dua=n.userAgent;var dav=n.appVersion;var tv=parseFloat(dav);d.isOpera=(dua.indexOf("Opera")>=0)?tv:0;var idx=Math.max(dav.indexOf("WebKit"),dav.indexOf("Safari"),0);if(idx){d.isSafari=parseFloat(dav.split("Version/")[1])||((parseFloat(dav.substr(idx+7))>=419.3)?3:2)||2;}
d.isAIR=(dua.indexOf("AdobeAIR")>=0)?1:0;d.isKhtml=(dav.indexOf("Konqueror")>=0||d.isSafari)?tv:0;d.isMozilla=d.isMoz=(dua.indexOf("Gecko")>=0&&!d.isKhtml)?tv:0;d.isFF=d.isIE=0;if(d.isMoz){d.isFF=parseFloat(dua.split("Firefox/")[1])||0;}
if(document.all&&!d.isOpera){d.isIE=parseFloat(dav.split("MSIE ")[1])||0;}
if(dojo.isIE&&window.location.protocol==="file:"){dojo.config.ieForceActiveXXhr=true;}
var cm=document.compatMode;d.isQuirks=cm=="BackCompat"||cm=="QuirksMode"||d.isIE<6;d.locale=dojo.config.locale||(d.isIE?n.userLanguage:n.language).toLowerCase();d._XMLHTTP_PROGIDS=['Msxml2.XMLHTTP','Microsoft.XMLHTTP','Msxml2.XMLHTTP.4.0'];d._xhrObj=function(){var http=null;var last_e=null;if(!dojo.isIE||!dojo.config.ieForceActiveXXhr){try{http=new XMLHttpRequest();}catch(e){}}
if(!http){for(var i=0;i<3;++i){var progid=d._XMLHTTP_PROGIDS[i];try{http=new ActiveXObject(progid);}catch(e){last_e=e;}
if(http){d._XMLHTTP_PROGIDS=[progid];break;}}}
if(!http){throw new Error("XMLHTTP not available: "+last_e);}
return http;}
d._isDocumentOk=function(http){var stat=http.status||0;return(stat>=200&&stat<300)||stat==304||stat==1223||(!stat&&(location.protocol=="file:"||location.protocol=="chrome:"));}
var owloc=window.location+"";var base=document.getElementsByTagName("base");var hasBase=(base&&base.length>0);d._getText=function(uri,fail_ok){var http=this._xhrObj();if(!hasBase&&dojo._Url){uri=(new dojo._Url(owloc,uri)).toString();}
if(d.config.cacheBust){uri+=(uri.indexOf("?")==-1?"?":"&")+String(d.config.cacheBust).replace(/\W+/g,"");}
http.open('GET',uri,false);try{http.send(null);if(!d._isDocumentOk(http)){var err=Error("Unable to load "+uri+" status:"+http.status);err.status=http.status;err.responseText=http.responseText;throw err;}}catch(e){if(fail_ok){return null;}
throw e;}
return http.responseText;}})();dojo._initFired=false;dojo._loadInit=function(e){dojo._initFired=true;var type=(e&&e.type)?e.type.toLowerCase():"load";if(arguments.callee.initialized||(type!="domcontentloaded"&&type!="load")){return;}
arguments.callee.initialized=true;if("_khtmlTimer"in dojo){clearInterval(dojo._khtmlTimer);delete dojo._khtmlTimer;}
if(dojo._inFlightCount==0){dojo._modulesLoaded();}}
dojo._fakeLoadInit=function(){dojo._loadInit({type:"load"});}
if(dojo.config.afterOnLoad){window.setTimeout(dojo._fakeLoadInit,1000);}else{if(document.addEventListener){if(dojo.isOpera||dojo.isFF>=3||(dojo.isMoz&&dojo.config.enableMozDomContentLoaded===true)){document.addEventListener("DOMContentLoaded",dojo._loadInit,null);}
window.addEventListener("load",dojo._loadInit,null);}
if(dojo.isAIR){window.addEventListener("load",dojo._loadInit,null);}else if(/(WebKit|khtml)/i.test(navigator.userAgent)){dojo._khtmlTimer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){dojo._loadInit();}},10);}}
(function(){var _w=window;var _handleNodeEvent=function(evtName,fp){var oldHandler=_w[evtName]||function(){};_w[evtName]=function(){fp.apply(_w,arguments);oldHandler.apply(_w,arguments);};};if(dojo.isIE){if(!dojo.config.afterOnLoad){document.write('<scr'+'ipt defer src="//:" '
+'onreadystatechange="if(this.readyState==\'complete\'){'+dojo._scopeName+'._loadInit();}">'
+'</scr'+'ipt>');}
var _unloading=true;_handleNodeEvent("onbeforeunload",function(){_w.setTimeout(function(){_unloading=false;},0);});_handleNodeEvent("onunload",function(){if(_unloading){dojo.unloaded();}});try{document.namespaces.add("v","urn:schemas-microsoft-com:vml");document.createStyleSheet().addRule("v\\:*","behavior:url(#default#VML)");}catch(e){}}else{_handleNodeEvent("onbeforeunload",function(){dojo.unloaded();});}})();}
(function(){var mp=dojo.config["modulePaths"];if(mp){for(var param in mp){dojo.registerModulePath(param,mp[param]);}}})();if(dojo.config.isDebug){dojo.require("dojo._firebug.firebug");}
if(dojo.config.debugAtAllCosts){dojo.config.useXDomain=true;dojo.require("dojo._base._loader.loader_xd");dojo.require("dojo._base._loader.loader_debug");dojo.require("dojo.i18n");}
if(!dojo._hasResource["dojo._base.lang"]){dojo._hasResource["dojo._base.lang"]=true;dojo.provide("dojo._base.lang");dojo.isString=function(it){return!!arguments.length&&it!=null&&(typeof it=="string"||it instanceof String);}
dojo.isArray=function(it){return it&&(it instanceof Array||typeof it=="array");}
dojo.isFunction=(function(){var _isFunction=function(it){return it&&(typeof it=="function"||it instanceof Function);};return dojo.isSafari?function(it){if(typeof it=="function"&&it=="[object NodeList]"){return false;}
return _isFunction(it);}:_isFunction;})();dojo.isObject=function(it){return it!==undefined&&(it===null||typeof it=="object"||dojo.isArray(it)||dojo.isFunction(it));}
dojo.isArrayLike=function(it){var d=dojo;return it&&it!==undefined&&!d.isString(it)&&!d.isFunction(it)&&!(it.tagName&&it.tagName.toLowerCase()=='form')&&(d.isArray(it)||isFinite(it.length));}
dojo.isAlien=function(it){return it&&!dojo.isFunction(it)&&/\{\s*\[native code\]\s*\}/.test(String(it));}
dojo.extend=function(constructor,props){for(var i=1,l=arguments.length;i<l;i++){dojo._mixin(constructor.prototype,arguments[i]);}
return constructor;}
dojo._hitchArgs=function(scope,method){var pre=dojo._toArray(arguments,2);var named=dojo.isString(method);return function(){var args=dojo._toArray(arguments);var f=named?(scope||dojo.global)[method]:method;return f&&f.apply(scope||this,pre.concat(args));}}
dojo.hitch=function(scope,method){if(arguments.length>2){return dojo._hitchArgs.apply(dojo,arguments);}
if(!method){method=scope;scope=null;}
if(dojo.isString(method)){scope=scope||dojo.global;if(!scope[method]){throw(['dojo.hitch: scope["',method,'"] is null (scope="',scope,'")'].join(''));}
return function(){return scope[method].apply(scope,arguments||[]);};}
return!scope?method:function(){return method.apply(scope,arguments||[]);};}
dojo.delegate=dojo._delegate=function(obj,props){function TMP(){};TMP.prototype=obj;var tmp=new TMP();if(props){dojo.mixin(tmp,props);}
return tmp;}
dojo.partial=function(method){var arr=[null];return dojo.hitch.apply(dojo,arr.concat(dojo._toArray(arguments)));}
dojo._toArray=function(obj,offset,startWith){var arr=startWith||[];for(var x=offset||0;x<obj.length;x++){arr.push(obj[x]);}
return arr;}
dojo.clone=function(o){if(!o){return o;}
if(dojo.isArray(o)){var r=[];for(var i=0;i<o.length;++i){r.push(dojo.clone(o[i]));}
return r;}
if(!dojo.isObject(o)){return o;}
if(o.nodeType&&o.cloneNode){return o.cloneNode(true);}
if(o instanceof Date){return new Date(o.getTime());}
var r=new o.constructor();for(var i in o){if(!(i in r)||r[i]!=o[i]){r[i]=dojo.clone(o[i]);}}
return r;}
dojo.trim=function(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');}}
if(!dojo._hasResource["dojo._base.declare"]){dojo._hasResource["dojo._base.declare"]=true;dojo.provide("dojo._base.declare");dojo.declare=function(className,superclass,props){var dd=arguments.callee,mixins;if(dojo.isArray(superclass)){mixins=superclass;superclass=mixins.shift();}
if(mixins){dojo.forEach(mixins,function(m){if(!m){throw(className+": mixin #"+i+" is null");}
superclass=dd._delegate(superclass,m);});}
var init=(props||0).constructor,ctor=dd._delegate(superclass),fn;for(var i in props){if(dojo.isFunction(fn=props[i])&&!0[i]){fn.nom=i;}}
dojo.extend(ctor,{declaredClass:className,_constructor:init,preamble:null},props||0);ctor.prototype.constructor=ctor;return dojo.setObject(className,ctor);};dojo.mixin(dojo.declare,{_delegate:function(base,mixin){var bp=(base||0).prototype,mp=(mixin||0).prototype;var ctor=dojo.declare._makeCtor();dojo.mixin(ctor,{superclass:bp,mixin:mp,extend:dojo.declare._extend});if(base){ctor.prototype=dojo._delegate(bp);}
dojo.extend(ctor,dojo.declare._core,mp||0,{_constructor:null,preamble:null});ctor.prototype.constructor=ctor;ctor.prototype.declaredClass=(bp||0).declaredClass+'_'+(mp||0).declaredClass;return ctor;},_extend:function(props){for(var i in props){if(dojo.isFunction(fn=props[i])&&!0[i]){fn.nom=i;}}
dojo.extend(this,props);},_makeCtor:function(){return function(){this._construct(arguments);};},_core:{_construct:function(args){var c=args.callee,s=c.superclass,ct=s&&s.constructor,m=c.mixin,mct=m&&m.constructor,a=args,ii,fn;if(a[0]){if(((fn=a[0].preamble))){a=fn.apply(this,a)||a;}}
if((fn=c.prototype.preamble)){a=fn.apply(this,a)||a;}
if(ct&&ct.apply){ct.apply(this,a);}
if(mct&&mct.apply){mct.apply(this,a);}
if((ii=c.prototype._constructor)){ii.apply(this,args);}
if(this.constructor.prototype==c.prototype&&(ct=this.postscript)){ct.apply(this,args);}},_findMixin:function(mixin){var c=this.constructor,p,m;while(c){p=c.superclass;m=c.mixin;if(m==mixin||(m instanceof mixin.constructor)){return p;}
if(m&&(m=m._findMixin(mixin))){return m;}
c=p&&p.constructor;}},_findMethod:function(name,method,ptype,has){var p=ptype,c,m,f;do{c=p.constructor;m=c.mixin;if(m&&(m=this._findMethod(name,method,m,has))){return m;}
if((f=p[name])&&(has==(f==method))){return p;}
p=c.superclass;}while(p);return!has&&(p=this._findMixin(ptype))&&this._findMethod(name,method,p,has);},inherited:function(name,args,newArgs){var a=arguments;if(!dojo.isString(a[0])){newArgs=args;args=name;name=args.callee.nom;}
a=newArgs||args;var c=args.callee,p=this.constructor.prototype,fn,mp;if(this[name]!=c||p[name]==c){mp=this._findMethod(name,c,p,true);if(!mp){throw(this.declaredClass+': inherited method "'+name+'" mismatch');}
p=this._findMethod(name,c,mp,false);}
fn=p&&p[name];if(!fn){throw(mp.declaredClass+': inherited method "'+name+'" not found');}
return fn.apply(this,a);}}});}
if(!dojo._hasResource["dojo._base.connect"]){dojo._hasResource["dojo._base.connect"]=true;dojo.provide("dojo._base.connect");dojo._listener={getDispatcher:function(){return function(){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);for(var i in ls){if(!(i in ap)){ls[i].apply(this,arguments);}}
return r;}},add:function(source,method,listener){source=source||dojo.global;var f=source[method];if(!f||!f._listeners){var d=dojo._listener.getDispatcher();d.target=f;d._listeners=[];f=source[method]=d;}
return f._listeners.push(listener);},remove:function(source,method,handle){var f=(source||dojo.global)[method];if(f&&f._listeners&&handle--){delete f._listeners[handle];}}};dojo.connect=function(obj,event,context,method,dontFix){var a=arguments,args=[],i=0;args.push(dojo.isString(a[0])?null:a[i++],a[i++]);var a1=a[i+1];args.push(dojo.isString(a1)||dojo.isFunction(a1)?a[i++]:null,a[i++]);for(var l=a.length;i<l;i++){args.push(a[i]);}
return dojo._connect.apply(this,args);}
dojo._connect=function(obj,event,context,method){var l=dojo._listener,h=l.add(obj,event,dojo.hitch(context,method));return[obj,event,h,l];}
dojo.disconnect=function(handle){if(handle&&handle[0]!==undefined){dojo._disconnect.apply(this,handle);delete handle[0];}}
dojo._disconnect=function(obj,event,handle,listener){listener.remove(obj,event,handle);}
dojo._topics={};dojo.subscribe=function(topic,context,method){return[topic,dojo._listener.add(dojo._topics,topic,dojo.hitch(context,method))];}
dojo.unsubscribe=function(handle){if(handle){dojo._listener.remove(dojo._topics,handle[0],handle[1]);}}
dojo.publish=function(topic,args){var f=dojo._topics[topic];if(f){f.apply(this,args||[]);}}
dojo.connectPublisher=function(topic,obj,event){var pf=function(){dojo.publish(topic,arguments);}
return(event)?dojo.connect(obj,event,pf):dojo.connect(obj,pf);};}
if(!dojo._hasResource["dojo._base.Deferred"]){dojo._hasResource["dojo._base.Deferred"]=true;dojo.provide("dojo._base.Deferred");dojo.Deferred=function(canceller){this.chain=[];this.id=this._nextId();this.fired=-1;this.paused=0;this.results=[null,null];this.canceller=canceller;this.silentlyCancelled=false;};dojo.extend(dojo.Deferred,{_nextId:(function(){var n=1;return function(){return n++;};})(),cancel:function(){var err;if(this.fired==-1){if(this.canceller){err=this.canceller(this);}else{this.silentlyCancelled=true;}
if(this.fired==-1){if(!(err instanceof Error)){var res=err;err=new Error("Deferred Cancelled");err.dojoType="cancel";err.cancelResult=res;}
this.errback(err);}}else if((this.fired==0)&&(this.results[0]instanceof dojo.Deferred)){this.results[0].cancel();}},_resback:function(res){this.fired=((res instanceof Error)?1:0);this.results[this.fired]=res;this._fire();},_check:function(){if(this.fired!=-1){if(!this.silentlyCancelled){throw new Error("already called!");}
this.silentlyCancelled=false;return;}},callback:function(res){this._check();this._resback(res);},errback:function(res){this._check();if(!(res instanceof Error)){res=new Error(res);}
this._resback(res);},addBoth:function(cb,cbfn){var enclosed=dojo.hitch.apply(dojo,arguments);return this.addCallbacks(enclosed,enclosed);},addCallback:function(cb,cbfn){return this.addCallbacks(dojo.hitch.apply(dojo,arguments));},addErrback:function(cb,cbfn){return this.addCallbacks(null,dojo.hitch.apply(dojo,arguments));},addCallbacks:function(cb,eb){this.chain.push([cb,eb])
if(this.fired>=0){this._fire();}
return this;},_fire:function(){var chain=this.chain;var fired=this.fired;var res=this.results[fired];var self=this;var cb=null;while((chain.length>0)&&(this.paused==0)){var f=chain.shift()[fired];if(!f){continue;}
try{res=f(res);fired=((res instanceof Error)?1:0);if(res instanceof dojo.Deferred){cb=function(res){self._resback(res);self.paused--;if((self.paused==0)&&(self.fired>=0)){self._fire();}}
this.paused++;}}catch(err){console.debug(err);fired=1;res=err;}}
this.fired=fired;this.results[fired]=res;if((cb)&&(this.paused)){res.addBoth(cb);}}});}
if(!dojo._hasResource["dojo._base.json"]){dojo._hasResource["dojo._base.json"]=true;dojo.provide("dojo._base.json");dojo.fromJson=function(json){return eval("("+json+")");}
dojo._escapeString=function(str){return('"'+str.replace(/(["\\])/g,'\\$1')+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");}
dojo.toJsonIndentStr="\t";dojo.toJson=function(it,prettyPrint,_indentStr){if(it===undefined){return"undefined";}
var objtype=typeof it;if(objtype=="number"||objtype=="boolean"){return it+"";}
if(it===null){return"null";}
if(dojo.isString(it)){return dojo._escapeString(it);}
if(it.nodeType&&it.cloneNode){return"";}
var recurse=arguments.callee;var newObj;_indentStr=_indentStr||"";var nextIndent=prettyPrint?_indentStr+dojo.toJsonIndentStr:"";if(typeof it.__json__=="function"){newObj=it.__json__();if(it!==newObj){return recurse(newObj,prettyPrint,nextIndent);}}
if(typeof it.json=="function"){newObj=it.json();if(it!==newObj){return recurse(newObj,prettyPrint,nextIndent);}}
var sep=prettyPrint?" ":"";var newLine=prettyPrint?"\n":"";if(dojo.isArray(it)){var res=dojo.map(it,function(obj){var val=recurse(obj,prettyPrint,nextIndent);if(typeof val!="string"){val="undefined";}
return newLine+nextIndent+val;});return"["+res.join(","+sep)+newLine+_indentStr+"]";}
if(objtype=="function"){return null;}
var output=[];for(var key in it){var keyStr;if(typeof key=="number"){keyStr='"'+key+'"';}else if(typeof key=="string"){keyStr=dojo._escapeString(key);}else{continue;}
val=recurse(it[key],prettyPrint,nextIndent);if(typeof val!="string"){continue;}
output.push(newLine+nextIndent+keyStr+":"+sep+val);}
return"{"+output.join(","+sep)+newLine+_indentStr+"}";}}
if(!dojo._hasResource["dojo._base.array"]){dojo._hasResource["dojo._base.array"]=true;dojo.provide("dojo._base.array");(function(){var _getParts=function(arr,obj,cb){return[dojo.isString(arr)?arr.split(""):arr,obj||dojo.global,dojo.isString(cb)?new Function("item","index","array",cb):cb];};dojo.mixin(dojo,{indexOf:function(array,value,fromIndex,findLast){var step=1,end=array.length||0,i=0;if(findLast){i=end-1;step=end=-1;}
if(fromIndex!=undefined){i=fromIndex;}
if((findLast&&i>end)||i<end){for(;i!=end;i+=step){if(array[i]==value){return i;}}}
return-1;},lastIndexOf:function(array,value,fromIndex){return dojo.indexOf(array,value,fromIndex,true);},forEach:function(arr,callback,thisObject){if(!arr||!arr.length){return;}
var _p=_getParts(arr,thisObject,callback);arr=_p[0];for(var i=0,l=_p[0].length;i<l;i++){_p[2].call(_p[1],arr[i],i,arr);}},_everyOrSome:function(every,arr,callback,thisObject){var _p=_getParts(arr,thisObject,callback);arr=_p[0];for(var i=0,l=arr.length;i<l;i++){var result=!!_p[2].call(_p[1],arr[i],i,arr);if(every^result){return result;}}
return every;},every:function(arr,callback,thisObject){return this._everyOrSome(true,arr,callback,thisObject);},some:function(arr,callback,thisObject){return this._everyOrSome(false,arr,callback,thisObject);},map:function(arr,callback,thisObject){var _p=_getParts(arr,thisObject,callback);arr=_p[0];var outArr=(arguments[3]?(new arguments[3]()):[]);for(var i=0;i<arr.length;++i){outArr.push(_p[2].call(_p[1],arr[i],i,arr));}
return outArr;},filter:function(arr,callback,thisObject){var _p=_getParts(arr,thisObject,callback);arr=_p[0];var outArr=[];for(var i=0;i<arr.length;i++){if(_p[2].call(_p[1],arr[i],i,arr)){outArr.push(arr[i]);}}
return outArr;}});})();}
if(!dojo._hasResource["dojo._base.Color"]){dojo._hasResource["dojo._base.Color"]=true;dojo.provide("dojo._base.Color");dojo.Color=function(color){if(color){this.setColor(color);}};dojo.Color.named={black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255]};dojo.extend(dojo.Color,{r:255,g:255,b:255,a:1,_set:function(r,g,b,a){var t=this;t.r=r;t.g=g;t.b=b;t.a=a;},setColor:function(color){var d=dojo;if(d.isString(color)){d.colorFromString(color,this);}else if(d.isArray(color)){d.colorFromArray(color,this);}else{this._set(color.r,color.g,color.b,color.a);if(!(color instanceof d.Color)){this.sanitize();}}
return this;},sanitize:function(){return this;},toRgb:function(){var t=this;return[t.r,t.g,t.b];},toRgba:function(){var t=this;return[t.r,t.g,t.b,t.a];},toHex:function(){var arr=dojo.map(["r","g","b"],function(x){var s=this[x].toString(16);return s.length<2?"0"+s:s;},this);return"#"+arr.join("");},toCss:function(includeAlpha){var t=this,rgb=t.r+", "+t.g+", "+t.b;return(includeAlpha?"rgba("+rgb+", "+t.a:"rgb("+rgb)+")";},toString:function(){return this.toCss(true);}});dojo.blendColors=function(start,end,weight,obj){var d=dojo,t=obj||new dojo.Color();d.forEach(["r","g","b","a"],function(x){t[x]=start[x]+(end[x]-start[x])*weight;if(x!="a"){t[x]=Math.round(t[x]);}});return t.sanitize();};dojo.colorFromRgb=function(color,obj){var m=color.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return m&&dojo.colorFromArray(m[1].split(/\s*,\s*/),obj);};dojo.colorFromHex=function(color,obj){var d=dojo,t=obj||new d.Color(),bits=(color.length==4)?4:8,mask=(1<<bits)-1;color=Number("0x"+color.substr(1));if(isNaN(color)){return null;}
d.forEach(["b","g","r"],function(x){var c=color&mask;color>>=bits;t[x]=bits==4?17*c:c;});t.a=1;return t;};dojo.colorFromArray=function(a,obj){var t=obj||new dojo.Color();t._set(Number(a[0]),Number(a[1]),Number(a[2]),Number(a[3]));if(isNaN(t.a)){t.a=1;}
return t.sanitize();};dojo.colorFromString=function(str,obj){var a=dojo.Color.named[str];return a&&dojo.colorFromArray(a,obj)||dojo.colorFromRgb(str,obj)||dojo.colorFromHex(str,obj);};}
if(!dojo._hasResource["dojo._base"]){dojo._hasResource["dojo._base"]=true;dojo.provide("dojo._base");}
if(!dojo._hasResource["dojo._base.window"]){dojo._hasResource["dojo._base.window"]=true;dojo.provide("dojo._base.window");dojo._gearsObject=function(){var factory;var results;var gearsObj=dojo.getObject("google.gears");if(gearsObj){return gearsObj;}
if(typeof GearsFactory!="undefined"){factory=new GearsFactory();}else{if(dojo.isIE){try{factory=new ActiveXObject("Gears.Factory");}catch(e){}}else if(navigator.mimeTypes["application/x-googlegears"]){factory=document.createElement("object");factory.setAttribute("type","application/x-googlegears");factory.setAttribute("width",0);factory.setAttribute("height",0);factory.style.display="none";document.documentElement.appendChild(factory);}}
if(!factory){return null;}
dojo.setObject("google.gears.factory",factory);return dojo.getObject("google.gears");};dojo.isGears=(!!dojo._gearsObject())||0;dojo.doc=window["document"]||null;dojo.body=function(){return dojo.doc.body||dojo.doc.getElementsByTagName("body")[0];}
dojo.setContext=function(globalObject,globalDocument){dojo.global=globalObject;dojo.doc=globalDocument;};dojo._fireCallback=function(callback,context,cbArguments){if(context&&dojo.isString(callback)){callback=context[callback];}
return callback.apply(context,cbArguments||[]);}
dojo.withGlobal=function(globalObject,callback,thisObject,cbArguments){var rval;var oldGlob=dojo.global;var oldDoc=dojo.doc;try{dojo.setContext(globalObject,globalObject.document);rval=dojo._fireCallback(callback,thisObject,cbArguments);}finally{dojo.setContext(oldGlob,oldDoc);}
return rval;}
dojo.withDoc=function(documentObject,callback,thisObject,cbArguments){var rval;var oldDoc=dojo.doc;try{dojo.doc=documentObject;rval=dojo._fireCallback(callback,thisObject,cbArguments);}finally{dojo.doc=oldDoc;}
return rval;};}
if(!dojo._hasResource["dojo._base.event"]){dojo._hasResource["dojo._base.event"]=true;dojo.provide("dojo._base.event");(function(){var del=(dojo._event_listener={add:function(node,name,fp){if(!node){return;}
name=del._normalizeEventName(name);fp=del._fixCallback(name,fp);var oname=name;if(!dojo.isIE&&(name=="mouseenter"||name=="mouseleave")){var ofp=fp;name=(name=="mouseenter")?"mouseover":"mouseout";fp=function(e){if(!dojo.isDescendant(e.relatedTarget,node)){return ofp.call(this,e);}}}
node.addEventListener(name,fp,false);return fp;},remove:function(node,event,handle){if(node){node.removeEventListener(del._normalizeEventName(event),handle,false);}},_normalizeEventName:function(name){return name.slice(0,2)=="on"?name.slice(2):name;},_fixCallback:function(name,fp){return name!="keypress"?fp:function(e){return fp.call(this,del._fixEvent(e,this));};},_fixEvent:function(evt,sender){switch(evt.type){case"keypress":del._setKeyChar(evt);break;}
return evt;},_setKeyChar:function(evt){evt.keyChar=evt.charCode?String.fromCharCode(evt.charCode):'';}});dojo.fixEvent=function(evt,sender){return del._fixEvent(evt,sender);}
dojo.stopEvent=function(evt){evt.preventDefault();evt.stopPropagation();}
var node_listener=dojo._listener;dojo._connect=function(obj,event,context,method,dontFix){var isNode=obj&&(obj.nodeType||obj.attachEvent||obj.addEventListener);var lid=!isNode?0:(!dontFix?1:2),l=[dojo._listener,del,node_listener][lid];var h=l.add(obj,event,dojo.hitch(context,method));return[obj,event,h,lid];}
dojo._disconnect=function(obj,event,handle,listener){([dojo._listener,del,node_listener][listener]).remove(obj,event,handle);}
dojo.keys={BACKSPACE:8,TAB:9,CLEAR:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,INSERT:45,DELETE:46,HELP:47,LEFT_WINDOW:91,RIGHT_WINDOW:92,SELECT:93,NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,NUMPAD_MULTIPLY:106,NUMPAD_PLUS:107,NUMPAD_ENTER:108,NUMPAD_MINUS:109,NUMPAD_PERIOD:110,NUMPAD_DIVIDE:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,NUM_LOCK:144,SCROLL_LOCK:145};if(dojo.isIE){var _trySetKeyCode=function(e,code){try{return(e.keyCode=code);}catch(e){return 0;}}
var iel=dojo._listener;if(!dojo.config._allow_leaks){node_listener=iel=dojo._ie_listener={handlers:[],add:function(source,method,listener){source=source||dojo.global;var f=source[method];if(!f||!f._listeners){var d=dojo._getIeDispatcher();d.target=f&&(ieh.push(f)-1);d._listeners=[];f=source[method]=d;}
return f._listeners.push(ieh.push(listener)-1);},remove:function(source,method,handle){var f=(source||dojo.global)[method],l=f&&f._listeners;if(f&&l&&handle--){delete ieh[l[handle]];delete l[handle];}}};var ieh=iel.handlers;}
dojo.mixin(del,{add:function(node,event,fp){if(!node){return;}
event=del._normalizeEventName(event);if(event=="onkeypress"){var kd=node.onkeydown;if(!kd||!kd._listeners||!kd._stealthKeydownHandle){var h=del.add(node,"onkeydown",del._stealthKeyDown);kd=node.onkeydown;kd._stealthKeydownHandle=h;kd._stealthKeydownRefs=1;}else{kd._stealthKeydownRefs++;}}
return iel.add(node,event,del._fixCallback(fp));},remove:function(node,event,handle){event=del._normalizeEventName(event);iel.remove(node,event,handle);if(event=="onkeypress"){var kd=node.onkeydown;if(--kd._stealthKeydownRefs<=0){iel.remove(node,"onkeydown",kd._stealthKeydownHandle);delete kd._stealthKeydownHandle;}}},_normalizeEventName:function(eventName){return eventName.slice(0,2)!="on"?"on"+eventName:eventName;},_nop:function(){},_fixEvent:function(evt,sender){if(!evt){var w=sender&&(sender.ownerDocument||sender.document||sender).parentWindow||window;evt=w.event;}
if(!evt){return(evt);}
evt.target=evt.srcElement;evt.currentTarget=(sender||evt.srcElement);evt.layerX=evt.offsetX;evt.layerY=evt.offsetY;var se=evt.srcElement,doc=(se&&se.ownerDocument)||document;var docBody=((dojo.isIE<6)||(doc["compatMode"]=="BackCompat"))?doc.body:doc.documentElement;var offset=dojo._getIeDocumentElementOffset();evt.pageX=evt.clientX+dojo._fixIeBiDiScrollLeft(docBody.scrollLeft||0)-offset.x;evt.pageY=evt.clientY+(docBody.scrollTop||0)-offset.y;if(evt.type=="mouseover"){evt.relatedTarget=evt.fromElement;}
if(evt.type=="mouseout"){evt.relatedTarget=evt.toElement;}
evt.stopPropagation=del._stopPropagation;evt.preventDefault=del._preventDefault;return del._fixKeys(evt);},_fixKeys:function(evt){switch(evt.type){case"keypress":var c=("charCode"in evt?evt.charCode:evt.keyCode);if(c==10){c=0;evt.keyCode=13;}else if(c==13||c==27){c=0;}else if(c==3){c=99;}
evt.charCode=c;del._setKeyChar(evt);break;}
return evt;},_punctMap:{106:42,111:47,186:59,187:43,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39},_stealthKeyDown:function(evt){var kp=evt.currentTarget.onkeypress;if(!kp||!kp._listeners){return;}
var k=evt.keyCode;var unprintable=(k!=13)&&(k!=32)&&(k!=27)&&(k<48||k>90)&&(k<96||k>111)&&(k<186||k>192)&&(k<219||k>222);if(unprintable||evt.ctrlKey){var c=unprintable?0:k;if(evt.ctrlKey){if(k==3||k==13){return;}else if(c>95&&c<106){c-=48;}else if((!evt.shiftKey)&&(c>=65&&c<=90)){c+=32;}else{c=del._punctMap[c]||c;}}
var faux=del._synthesizeEvent(evt,{type:'keypress',faux:true,charCode:c});kp.call(evt.currentTarget,faux);evt.cancelBubble=faux.cancelBubble;evt.returnValue=faux.returnValue;_trySetKeyCode(evt,faux.keyCode);}},_stopPropagation:function(){this.cancelBubble=true;},_preventDefault:function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey){_trySetKeyCode(this,0);}
this.returnValue=false;}});dojo.stopEvent=function(evt){evt=evt||window.event;del._stopPropagation.call(evt);del._preventDefault.call(evt);}}
del._synthesizeEvent=function(evt,props){var faux=dojo.mixin({},evt,props);del._setKeyChar(faux);faux.preventDefault=function(){evt.preventDefault();};faux.stopPropagation=function(){evt.stopPropagation();};return faux;}
if(dojo.isOpera){dojo.mixin(del,{_fixEvent:function(evt,sender){switch(evt.type){case"keypress":var c=evt.which;if(c==3){c=99;}
c=((c<41)&&(!evt.shiftKey)?0:c);if((evt.ctrlKey)&&(!evt.shiftKey)&&(c>=65)&&(c<=90)){c+=32;}
return del._synthesizeEvent(evt,{charCode:c});}
return evt;}});}
if(dojo.isSafari){dojo.mixin(del,{_fixEvent:function(evt,sender){switch(evt.type){case"keypress":var c=evt.charCode,s=evt.shiftKey,k=evt.keyCode;k=k||identifierMap[evt.keyIdentifier]||0;if(evt.keyIdentifier=="Enter"){c=0;}else if((evt.ctrlKey)&&(c>0)&&(c<27)){c+=96;}else if(c==dojo.keys.SHIFT_TAB){c=dojo.keys.TAB;s=true;}else{c=(c>=32&&c<63232?c:0);}
return del._synthesizeEvent(evt,{charCode:c,shiftKey:s,keyCode:k});}
return evt;}});dojo.mixin(dojo.keys,{SHIFT_TAB:25,UP_ARROW:63232,DOWN_ARROW:63233,LEFT_ARROW:63234,RIGHT_ARROW:63235,F1:63236,F2:63237,F3:63238,F4:63239,F5:63240,F6:63241,F7:63242,F8:63243,F9:63244,F10:63245,F11:63246,F12:63247,PAUSE:63250,DELETE:63272,HOME:63273,END:63275,PAGE_UP:63276,PAGE_DOWN:63277,INSERT:63302,PRINT_SCREEN:63248,SCROLL_LOCK:63249,NUM_LOCK:63289});var dk=dojo.keys,identifierMap={"Up":dk.UP_ARROW,"Down":dk.DOWN_ARROW,"Left":dk.LEFT_ARROW,"Right":dk.RIGHT_ARROW,"PageUp":dk.PAGE_UP,"PageDown":dk.PAGE_DOWN};}})();if(dojo.isIE){dojo._ieDispatcher=function(args,sender){var ap=Array.prototype,h=dojo._ie_listener.handlers,c=args.callee,ls=c._listeners,t=h[c.target];var r=t&&t.apply(sender,args);for(var i in ls){if(!(i in ap)){h[ls[i]].apply(sender,args);}}
return r;}
dojo._getIeDispatcher=function(){return new Function(dojo._scopeName+"._ieDispatcher(arguments, this)");}
dojo._event_listener._fixCallback=function(fp){var f=dojo._event_listener._fixEvent;return function(e){return fp.call(this,f(e,this));};}}}
if(!dojo._hasResource["dojo._base.html"]){dojo._hasResource["dojo._base.html"]=true;dojo.provide("dojo._base.html");try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}
if(dojo.isIE||dojo.isOpera){dojo.byId=function(id,doc){if(dojo.isString(id)){var _d=doc||dojo.doc;var te=_d.getElementById(id);if(te&&te.attributes.id.value==id){return te;}else{var eles=_d.all[id];if(!eles||!eles.length){return eles;}
var i=0;while((te=eles[i++])){if(te.attributes.id.value==id){return te;}}}}else{return id;}}}else{dojo.byId=function(id,doc){return dojo.isString(id)?(doc||dojo.doc).getElementById(id):id;}}
(function(){var d=dojo;var _destroyContainer=null;dojo.addOnUnload(function(){_destroyContainer=null;});dojo._destroyElement=function(node){node=d.byId(node);try{if(!_destroyContainer){_destroyContainer=document.createElement("div");}
_destroyContainer.appendChild(node.parentNode?node.parentNode.removeChild(node):node);_destroyContainer.innerHTML="";}catch(e){}};dojo.isDescendant=function(node,ancestor){try{node=d.byId(node);ancestor=d.byId(ancestor);while(node){if(node===ancestor){return true;}
node=node.parentNode;}}catch(e){}
return false;};dojo.setSelectable=function(node,selectable){node=d.byId(node);if(d.isMozilla){node.style.MozUserSelect=selectable?"":"none";}else if(d.isKhtml){node.style.KhtmlUserSelect=selectable?"auto":"none";}else if(d.isIE){node.unselectable=selectable?"":"on";d.query("*",node).forEach(function(descendant){descendant.unselectable=selectable?"":"on";});}};var _insertBefore=function(node,ref){ref.parentNode.insertBefore(node,ref);return true;}
var _insertAfter=function(node,ref){var pn=ref.parentNode;if(ref==pn.lastChild){pn.appendChild(node);}else{return _insertBefore(node,ref.nextSibling);}
return true;}
dojo.place=function(node,refNode,position){if(!node||!refNode||position===undefined){return false;}
node=d.byId(node);refNode=d.byId(refNode);if(typeof position=="number"){var cn=refNode.childNodes;if((position==0&&cn.length==0)||cn.length==position){refNode.appendChild(node);return true;}
if(position==0){return _insertBefore(node,refNode.firstChild);}
return _insertAfter(node,cn[position-1]);}
switch(position.toLowerCase()){case"before":return _insertBefore(node,refNode);case"after":return _insertAfter(node,refNode);case"first":if(refNode.firstChild){return _insertBefore(node,refNode.firstChild);}
default:refNode.appendChild(node);return true;}}
dojo.boxModel="content-box";if(d.isIE){var _dcm=document.compatMode;d.boxModel=_dcm=="BackCompat"||_dcm=="QuirksMode"||d.isIE<6?"border-box":"content-box";}
var gcs,dv=document.defaultView;if(d.isSafari){gcs=function(node){var s=dv.getComputedStyle(node,null);if(!s&&node.style){node.style.display="";s=dv.getComputedStyle(node,null);}
return s||{};};}else if(d.isIE){gcs=function(node){return node.currentStyle;};}else{gcs=function(node){return dv.getComputedStyle(node,null);};}
dojo.getComputedStyle=gcs;if(!d.isIE){dojo._toPixelValue=function(element,value){return parseFloat(value)||0;}}else{dojo._toPixelValue=function(element,avalue){if(!avalue){return 0;}
if(avalue=="medium"){return 4;}
if(avalue.slice&&(avalue.slice(-2)=='px')){return parseFloat(avalue);}
with(element){var sLeft=style.left;var rsLeft=runtimeStyle.left;runtimeStyle.left=currentStyle.left;try{style.left=avalue;avalue=style.pixelLeft;}catch(e){avalue=0;}
style.left=sLeft;runtimeStyle.left=rsLeft;}
return avalue;}}
var px=d._toPixelValue;dojo._getOpacity=d.isIE?function(node){try{return node.filters.alpha.opacity/100;}catch(e){return 1;}}:function(node){return gcs(node).opacity;};dojo._setOpacity=d.isIE?function(node,opacity){if(opacity==1){var filterRE=/FILTER:[^;]*;?/i;node.style.cssText=node.style.cssText.replace(filterRE,"");if(node.nodeName.toLowerCase()=="tr"){d.query("> td",node).forEach(function(i){i.style.cssText=i.style.cssText.replace(filterRE,"");});}}else{var o="Alpha(Opacity="+opacity*100+")";node.style.filter=o;}
if(node.nodeName.toLowerCase()=="tr"){d.query("> td",node).forEach(function(i){i.style.filter=o;});}
return opacity;}:function(node,opacity){return node.style.opacity=opacity;};var _pixelNamesCache={left:true,top:true};var _pixelRegExp=/margin|padding|width|height|max|min|offset/;var _toStyleValue=function(node,type,value){type=type.toLowerCase();if(d.isIE&&value=="auto"){if(type=="height"){return node.offsetHeight;}
if(type=="width"){return node.offsetWidth;}}
if(!(type in _pixelNamesCache)){_pixelNamesCache[type]=_pixelRegExp.test(type);}
return _pixelNamesCache[type]?px(node,value):value;}
var _floatStyle=d.isIE?"styleFloat":"cssFloat";var _floatAliases={"cssFloat":_floatStyle,"styleFloat":_floatStyle,"float":_floatStyle};dojo.style=function(node,style,value){var n=d.byId(node),args=arguments.length,op=(style=="opacity");style=_floatAliases[style]||style;if(args==3){return op?d._setOpacity(n,value):n.style[style]=value;}
if(args==2&&op){return d._getOpacity(n);}
var s=gcs(n);if(args==2&&!d.isString(style)){for(var x in style){d.style(node,x,style[x]);}
return s;}
return(args==1)?s:_toStyleValue(n,style,s[style]);}
dojo._getPadExtents=function(n,computedStyle){var
s=computedStyle||gcs(n),l=px(n,s.paddingLeft),t=px(n,s.paddingTop);return{l:l,t:t,w:l+px(n,s.paddingRight),h:t+px(n,s.paddingBottom)};}
dojo._getBorderExtents=function(n,computedStyle){var
ne="none",s=computedStyle||gcs(n),bl=(s.borderLeftStyle!=ne?px(n,s.borderLeftWidth):0),bt=(s.borderTopStyle!=ne?px(n,s.borderTopWidth):0);return{l:bl,t:bt,w:bl+(s.borderRightStyle!=ne?px(n,s.borderRightWidth):0),h:bt+(s.borderBottomStyle!=ne?px(n,s.borderBottomWidth):0)};}
dojo._getPadBorderExtents=function(n,computedStyle){var
s=computedStyle||gcs(n),p=d._getPadExtents(n,s),b=d._getBorderExtents(n,s);return{l:p.l+b.l,t:p.t+b.t,w:p.w+b.w,h:p.h+b.h};}
dojo._getMarginExtents=function(n,computedStyle){var
s=computedStyle||gcs(n),l=px(n,s.marginLeft),t=px(n,s.marginTop),r=px(n,s.marginRight),b=px(n,s.marginBottom);if(d.isSafari&&(s.position!="absolute")){r=l;}
return{l:l,t:t,w:l+r,h:t+b};}
dojo._getMarginBox=function(node,computedStyle){var s=computedStyle||gcs(node),me=d._getMarginExtents(node,s);var l=node.offsetLeft-me.l,t=node.offsetTop-me.t;if(d.isMoz){var sl=parseFloat(s.left),st=parseFloat(s.top);if(!isNaN(sl)&&!isNaN(st)){l=sl,t=st;}else{var p=node.parentNode;if(p&&p.style){var pcs=gcs(p);if(pcs.overflow!="visible"){var be=d._getBorderExtents(p,pcs);l+=be.l,t+=be.t;}}}}else if(d.isOpera){var p=node.parentNode;if(p){var be=d._getBorderExtents(p);l-=be.l,t-=be.t;}}
return{l:l,t:t,w:node.offsetWidth+me.w,h:node.offsetHeight+me.h};}
dojo._getContentBox=function(node,computedStyle){var s=computedStyle||gcs(node),pe=d._getPadExtents(node,s),be=d._getBorderExtents(node,s),w=node.clientWidth,h;if(!w){w=node.offsetWidth,h=node.offsetHeight;}else{h=node.clientHeight,be.w=be.h=0;}
if(d.isOpera){pe.l+=be.l;pe.t+=be.t;};return{l:pe.l,t:pe.t,w:w-pe.w-be.w,h:h-pe.h-be.h};}
dojo._getBorderBox=function(node,computedStyle){var s=computedStyle||gcs(node),pe=d._getPadExtents(node,s),cb=d._getContentBox(node,s);return{l:cb.l-pe.l,t:cb.t-pe.t,w:cb.w+pe.w,h:cb.h+pe.h};}
dojo._setBox=function(node,l,t,w,h,u){u=u||"px";var s=node.style;if(!isNaN(l)){s.left=l+u;}
if(!isNaN(t)){s.top=t+u;}
if(w>=0){s.width=w+u;}
if(h>=0){s.height=h+u;}}
dojo._usesBorderBox=function(node){var n=node.tagName;return d.boxModel=="border-box"||n=="TABLE"||n=="BUTTON";}
dojo._setContentSize=function(node,widthPx,heightPx,computedStyle){if(d._usesBorderBox(node)){var pb=d._getPadBorderExtents(node,computedStyle);if(widthPx>=0){widthPx+=pb.w;}
if(heightPx>=0){heightPx+=pb.h;}}
d._setBox(node,NaN,NaN,widthPx,heightPx);}
dojo._setMarginBox=function(node,leftPx,topPx,widthPx,heightPx,computedStyle){var s=computedStyle||gcs(node);var bb=d._usesBorderBox(node),pb=bb?_nilExtents:d._getPadBorderExtents(node,s),mb=d._getMarginExtents(node,s);if(widthPx>=0){widthPx=Math.max(widthPx-pb.w-mb.w,0);}
if(heightPx>=0){heightPx=Math.max(heightPx-pb.h-mb.h,0);}
d._setBox(node,leftPx,topPx,widthPx,heightPx);}
var _nilExtents={l:0,t:0,w:0,h:0};dojo.marginBox=function(node,box){var n=d.byId(node),s=gcs(n),b=box;return!b?d._getMarginBox(n,s):d._setMarginBox(n,b.l,b.t,b.w,b.h,s);}
dojo.contentBox=function(node,box){var n=dojo.byId(node),s=gcs(n),b=box;return!b?d._getContentBox(n,s):d._setContentSize(n,b.w,b.h,s);}
var _sumAncestorProperties=function(node,prop){if(!(node=(node||0).parentNode)){return 0};var val,retVal=0,_b=d.body();while(node&&node.style){if(gcs(node).position=="fixed"){return 0;}
val=node[prop];if(val){retVal+=val-0;if(node==_b){break;}}
node=node.parentNode;}
return retVal;}
dojo._docScroll=function(){var
_b=d.body(),_w=d.global,de=d.doc.documentElement;return{y:(_w.pageYOffset||de.scrollTop||_b.scrollTop||0),x:(_w.pageXOffset||d._fixIeBiDiScrollLeft(de.scrollLeft)||_b.scrollLeft||0)};};dojo._isBodyLtr=function(){return!("_bodyLtr"in d)?d._bodyLtr=gcs(d.body()).direction=="ltr":d._bodyLtr;}
dojo._getIeDocumentElementOffset=function(){var de=d.doc.documentElement;return(d.isIE>=7)?{x:de.getBoundingClientRect().left,y:de.getBoundingClientRect().top}:{x:d._isBodyLtr()||window.parent==window?de.clientLeft:de.offsetWidth-de.clientWidth-de.clientLeft,y:de.clientTop};};dojo._fixIeBiDiScrollLeft=function(scrollLeft){var dd=d.doc;if(d.isIE&&!dojo._isBodyLtr()){var de=dd.compatMode=="BackCompat"?dd.body:dd.documentElement;return scrollLeft+de.clientWidth-de.scrollWidth;}
return scrollLeft;}
dojo._abs=function(node,includeScroll){var ownerDocument=node.ownerDocument;var ret={x:0,y:0};var db=d.body();if(d.isIE||(d.isFF>=3)){var client=node.getBoundingClientRect();var offset=(d.isIE)?d._getIeDocumentElementOffset():{x:0,y:0};ret.x=client.left-offset.x;ret.y=client.top-offset.y;}else if(ownerDocument["getBoxObjectFor"]){var bo=ownerDocument.getBoxObjectFor(node),b=d._getBorderExtents(node);ret.x=bo.x-b.l-_sumAncestorProperties(node,"scrollLeft");ret.y=bo.y-b.t-_sumAncestorProperties(node,"scrollTop");}else{if(node["offsetParent"]){var endNode;if(d.isSafari&&(gcs(node).position=="absolute")&&(node.parentNode==db)){endNode=db;}else{endNode=db.parentNode;}
if(node.parentNode!=db){var nd=node;if(d.isOpera){nd=db;}
ret.x-=_sumAncestorProperties(nd,"scrollLeft");ret.y-=_sumAncestorProperties(nd,"scrollTop");}
var curnode=node;do{var n=curnode.offsetLeft;if(!d.isOpera||n>0){ret.x+=isNaN(n)?0:n;}
var t=curnode.offsetTop;ret.y+=isNaN(t)?0:t;if(d.isSafari&&curnode!=node){var cs=gcs(curnode);ret.x+=px(curnode,cs.borderLeftWidth);ret.y+=px(curnode,cs.borderTopWidth);}
curnode=curnode.offsetParent;}while((curnode!=endNode)&&curnode);}else if(node.x&&node.y){ret.x+=isNaN(node.x)?0:node.x;ret.y+=isNaN(node.y)?0:node.y;}}
if(includeScroll){var scroll=d._docScroll();ret.y+=scroll.y;ret.x+=scroll.x;}
return ret;}
dojo.coords=function(node,includeScroll){var n=d.byId(node),s=gcs(n),mb=d._getMarginBox(n,s);var abs=d._abs(n,includeScroll);mb.x=abs.x;mb.y=abs.y;return mb;}
var _fixAttrName=function(name){switch(name.toLowerCase()){case"tabindex":return(d.isIE&&d.isIE<8)?"tabIndex":"tabindex";default:return name;}}
var _attrProps={colspan:"colSpan",enctype:"enctype",frameborder:"frameborder",method:"method",rowspan:"rowSpan",scrolling:"scrolling",shape:"shape",span:"span",type:"type",valuetype:"valueType"}
dojo.hasAttr=function(node,name){var attr=d.byId(node).getAttributeNode(_fixAttrName(name));return attr?attr.specified:false;}
var _evtHdlrMap={}
var _ctr=0;var _attrId=dojo._scopeName+"attrid";dojo.attr=function(node,name,value){var args=arguments.length;if(args==2&&!d.isString(name)){for(var x in name){d.attr(node,x,name[x]);}
return;}
node=d.byId(node);name=_fixAttrName(name);if(args==3){if(d.isFunction(value)){var attrId=d.attr(node,_attrId);if(!attrId){attrId=_ctr++;d.attr(node,_attrId,attrId);}
if(!_evtHdlrMap[attrId]){_evtHdlrMap[attrId]={};}
var h=_evtHdlrMap[attrId][name];if(h){d.disconnect(h);}else{try{delete node[name];}catch(e){}}
_evtHdlrMap[attrId][name]=d.connect(node,name,value);}else if(typeof value=="boolean"){node[name]=value;}else{node.setAttribute(name,value);}
return;}else{var prop=_attrProps[name.toLowerCase()];if(prop){return node[prop];}else{var value=node[name];return(typeof value=='boolean'||typeof value=='function')?value:(d.hasAttr(node,name)?node.getAttribute(name):null);}}}
dojo.removeAttr=function(node,name){d.byId(node).removeAttribute(_fixAttrName(name));}})();dojo.hasClass=function(node,classStr){return((" "+dojo.byId(node).className+" ").indexOf(" "+classStr+" ")>=0);};dojo.addClass=function(node,classStr){node=dojo.byId(node);var cls=node.className;if((" "+cls+" ").indexOf(" "+classStr+" ")<0){node.className=cls+(cls?' ':'')+classStr;}};dojo.removeClass=function(node,classStr){node=dojo.byId(node);var t=dojo.trim((" "+node.className+" ").replace(" "+classStr+" "," "));if(node.className!=t){node.className=t;}};dojo.toggleClass=function(node,classStr,condition){if(condition===undefined){condition=!dojo.hasClass(node,classStr);}
dojo[condition?"addClass":"removeClass"](node,classStr);};}
if(!dojo._hasResource["dojo._base.NodeList"]){dojo._hasResource["dojo._base.NodeList"]=true;dojo.provide("dojo._base.NodeList");(function(){var d=dojo;var tnl=function(arr){arr.constructor=dojo.NodeList;dojo._mixin(arr,dojo.NodeList.prototype);return arr;}
var _mapIntoDojo=function(func,alwaysThis){return function(){var _a=arguments;var aa=d._toArray(_a,0,[null]);var s=this.map(function(i){aa[0]=i;return d[func].apply(d,aa);});return(alwaysThis||((_a.length>1)||!d.isString(_a[0])))?this:s;}};dojo.NodeList=function(){return tnl(Array.apply(null,arguments));}
dojo.NodeList._wrap=tnl;dojo.extend(dojo.NodeList,{slice:function(){var a=dojo._toArray(arguments);return tnl(a.slice.apply(this,a));},splice:function(){var a=dojo._toArray(arguments);return tnl(a.splice.apply(this,a));},concat:function(){var a=dojo._toArray(arguments,0,[this]);return tnl(a.concat.apply([],a));},indexOf:function(value,fromIndex){return d.indexOf(this,value,fromIndex);},lastIndexOf:function(){return d.lastIndexOf.apply(d,d._toArray(arguments,0,[this]));},every:function(callback,thisObject){return d.every(this,callback,thisObject);},some:function(callback,thisObject){return d.some(this,callback,thisObject);},map:function(func,obj){return d.map(this,func,obj,d.NodeList);},forEach:function(callback,thisObj){d.forEach(this,callback,thisObj);return this;},coords:function(){return d.map(this,d.coords);},attr:_mapIntoDojo("attr"),style:_mapIntoDojo("style"),addClass:_mapIntoDojo("addClass",true),removeClass:_mapIntoDojo("removeClass",true),toggleClass:_mapIntoDojo("toggleClass",true),connect:_mapIntoDojo("connect",true),place:function(queryOrNode,position){var item=d.query(queryOrNode)[0];return this.forEach(function(i){d.place(i,item,(position||"last"));});},orphan:function(simpleFilter){var orphans=simpleFilter?d._filterQueryResult(this,simpleFilter):this;orphans.forEach(function(item){if(item.parentNode){item.parentNode.removeChild(item);}});return orphans;},adopt:function(queryOrListOrNode,position){var item=this[0];return d.query(queryOrListOrNode).forEach(function(ai){d.place(ai,item,position||"last");});},query:function(queryStr){if(!queryStr){return this;}
var ret=d.NodeList();this.forEach(function(item){d.query(queryStr,item).forEach(function(subItem){if(subItem!==undefined){ret.push(subItem);}});});return ret;},filter:function(simpleQuery){var items=this;var _a=arguments;var r=d.NodeList();var rp=function(t){if(t!==undefined){r.push(t);}}
if(d.isString(simpleQuery)){items=d._filterQueryResult(this,_a[0]);if(_a.length==1){return items;}
_a.shift();}
d.forEach(d.filter(items,_a[0],_a[1]),rp);return r;},addContent:function(content,position){var ta=d.doc.createElement("span");if(d.isString(content)){ta.innerHTML=content;}else{ta.appendChild(content);}
if(position===undefined){position="last";}
var ct=(position=="first"||position=="after")?"lastChild":"firstChild";this.forEach(function(item){var tn=ta.cloneNode(true);while(tn[ct]){d.place(tn[ct],item,position);}});return this;},empty:function(){return this.forEach("item.innerHTML='';");},instantiate:function(declaredClass,properties){var c=d.isFunction(declaredClass)?declaredClass:d.getObject(declaredClass);return this.forEach(function(i){new c(properties||{},i);})}});d.forEach(["blur","focus","click","keydown","keypress","keyup","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup"],function(evt){var _oe="on"+evt;dojo.NodeList.prototype[_oe]=function(a,b){return this.connect(_oe,a,b);}});})();}
if(!dojo._hasResource["dojo._base.query"]){dojo._hasResource["dojo._base.query"]=true;dojo.provide("dojo._base.query");;(function(){var d=dojo;var childNodesName=dojo.isIE?"children":"childNodes";var caseSensitive=false;var getQueryParts=function(query){if(">~+".indexOf(query.charAt(query.length-1))>=0){query+=" *"}
query+=" ";var ts=function(s,e){return d.trim(query.slice(s,e));}
var qparts=[];var inBrackets=-1;var inParens=-1;var inMatchFor=-1;var inPseudo=-1;var inClass=-1;var inId=-1;var inTag=-1;var lc="";var cc="";var pStart;var x=0;var ql=query.length;var currentPart=null;var _cp=null;var endTag=function(){if(inTag>=0){var tv=(inTag==x)?null:ts(inTag,x).toLowerCase();currentPart[(">~+".indexOf(tv)<0)?"tag":"oper"]=tv;inTag=-1;}}
var endId=function(){if(inId>=0){currentPart.id=ts(inId,x).replace(/\\/g,"");inId=-1;}}
var endClass=function(){if(inClass>=0){currentPart.classes.push(ts(inClass+1,x).replace(/\\/g,""));inClass=-1;}}
var endAll=function(){endId();endTag();endClass();}
for(;lc=cc,cc=query.charAt(x),x<ql;x++){if(lc=="\\"){continue;}
if(!currentPart){pStart=x;currentPart={query:null,pseudos:[],attrs:[],classes:[],tag:null,oper:null,id:null};inTag=x;}
if(inBrackets>=0){if(cc=="]"){if(!_cp.attr){_cp.attr=ts(inBrackets+1,x);}else{_cp.matchFor=ts((inMatchFor||inBrackets+1),x);}
var cmf=_cp.matchFor;if(cmf){if((cmf.charAt(0)=='"')||(cmf.charAt(0)=="'")){_cp.matchFor=cmf.substring(1,cmf.length-1);}}
currentPart.attrs.push(_cp);_cp=null;inBrackets=inMatchFor=-1;}else if(cc=="="){var addToCc=("|~^$*".indexOf(lc)>=0)?lc:"";_cp.type=addToCc+cc;_cp.attr=ts(inBrackets+1,x-addToCc.length);inMatchFor=x+1;}}else if(inParens>=0){if(cc==")"){if(inPseudo>=0){_cp.value=ts(inParens+1,x);}
inPseudo=inParens=-1;}}else if(cc=="#"){endAll();inId=x+1;}else if(cc=="."){endAll();inClass=x;}else if(cc==":"){endAll();inPseudo=x;}else if(cc=="["){endAll();inBrackets=x;_cp={};}else if(cc=="("){if(inPseudo>=0){_cp={name:ts(inPseudo+1,x),value:null}
currentPart.pseudos.push(_cp);}
inParens=x;}else if(cc==" "&&lc!=cc){endAll();if(inPseudo>=0){currentPart.pseudos.push({name:ts(inPseudo+1,x)});}
currentPart.hasLoops=(currentPart.pseudos.length||currentPart.attrs.length||currentPart.classes.length);currentPart.query=ts(pStart,x);currentPart.tag=(currentPart["oper"])?null:(currentPart.tag||"*");qparts.push(currentPart);currentPart=null;}}
return qparts;};var xPathAttrs={"*=":function(attr,value){return"[contains(@"+attr+", '"+value+"')]";},"^=":function(attr,value){return"[starts-with(@"+attr+", '"+value+"')]";},"$=":function(attr,value){return"[substring(@"+attr+", string-length(@"+attr+")-"+(value.length-1)+")='"+value+"']";},"~=":function(attr,value){return"[contains(concat(' ',@"+attr+",' '), ' "+value+" ')]";},"|=":function(attr,value){return"[contains(concat(' ',@"+attr+",' '), ' "+value+"-')]";},"=":function(attr,value){return"[@"+attr+"='"+value+"']";}};var handleAttrs=function(attrList,query,getDefault,handleMatch){d.forEach(query.attrs,function(attr){var matcher;if(attr.type&&attrList[attr.type]){matcher=attrList[attr.type](attr.attr,attr.matchFor);}else if(attr.attr.length){matcher=getDefault(attr.attr);}
if(matcher){handleMatch(matcher);}});}
var buildPath=function(query){var xpath=".";var qparts=getQueryParts(d.trim(query));while(qparts.length){var tqp=qparts.shift();var prefix;var postfix="";if(tqp.oper==">"){prefix="/";tqp=qparts.shift();}else if(tqp.oper=="~"){prefix="/following-sibling::";tqp=qparts.shift();}else if(tqp.oper=="+"){prefix="/following-sibling::";postfix="[position()=1]";tqp=qparts.shift();}else{prefix="//";}
xpath+=prefix+tqp.tag+postfix;if(tqp.id){xpath+="[@id='"+tqp.id+"'][1]";}
d.forEach(tqp.classes,function(cn){var cnl=cn.length;var padding=" ";if(cn.charAt(cnl-1)=="*"){padding="";cn=cn.substr(0,cnl-1);}
xpath+="[contains(concat(' ',@class,' '), ' "+
cn+padding+"')]";});handleAttrs(xPathAttrs,tqp,function(condition){return"[@"+condition+"]";},function(matcher){xpath+=matcher;});};return xpath;};var _xpathFuncCache={};var getXPathFunc=function(path){if(_xpathFuncCache[path]){return _xpathFuncCache[path];}
var doc=d.doc;var xpath=buildPath(path);var tf=function(parent){var ret=[];var xpathResult;try{xpathResult=doc.evaluate(xpath,parent,null,XPathResult.ANY_TYPE,null);}catch(e){console.debug("failure in exprssion:",xpath,"under:",parent);console.debug(e);}
var result=xpathResult.iterateNext();while(result){ret.push(result);result=xpathResult.iterateNext();}
return ret;}
return _xpathFuncCache[path]=tf;};var _filtersCache={};var _simpleFiltersCache={};var agree=function(first,second){if(!first){return second;}
if(!second){return first;}
return function(){return first.apply(window,arguments)&&second.apply(window,arguments);}}
var _childElements=function(root){var ret=[];var te,x=0,tret=root[childNodesName];while(te=tret[x++]){if(te.nodeType==1){ret.push(te);}}
return ret;}
var _nextSiblings=function(root,single){var ret=[];var te=root;while(te=te.nextSibling){if(te.nodeType==1){ret.push(te);if(single){break;}}}
return ret;}
var _filterDown=function(element,queryParts,matchArr,idx){var nidx=idx+1;var isFinal=(queryParts.length==nidx);var tqp=queryParts[idx];if(tqp.oper){var ecn=(tqp.oper==">")?_childElements(element):_nextSiblings(element,(tqp.oper=="+"));if(!ecn||!ecn.length){return;}
nidx++;isFinal=(queryParts.length==nidx);var tf=getFilterFunc(queryParts[idx+1]);for(var x=0,ecnl=ecn.length,te;x<ecnl,te=ecn[x];x++){if(tf(te)){if(isFinal){matchArr.push(te);}else{_filterDown(te,queryParts,matchArr,nidx);}}}}
var candidates=getElementsFunc(tqp)(element);if(isFinal){while(candidates.length){matchArr.push(candidates.shift());}}else{while(candidates.length){_filterDown(candidates.shift(),queryParts,matchArr,nidx);}}}
var filterDown=function(elements,queryParts){var ret=[];var x=elements.length-1,te;while(te=elements[x--]){_filterDown(te,queryParts,ret,0);}
return ret;}
var getFilterFunc=function(q){if(_filtersCache[q.query]){return _filtersCache[q.query];}
var ff=null;if(q.tag){if(q.tag=="*"){ff=agree(ff,function(elem){return(elem.nodeType==1);});}else{ff=agree(ff,function(elem){return((elem.nodeType==1)&&(q.tag==elem.tagName.toLowerCase()));});}}
if(q.id){ff=agree(ff,function(elem){return((elem.nodeType==1)&&(elem.id==q.id));});}
if(q.hasLoops){ff=agree(ff,getSimpleFilterFunc(q));}
return _filtersCache[q.query]=ff;}
var getNodeIndex=function(node){var pn=node.parentNode;var pnc=pn.childNodes;var nidx=-1;var child=pn.firstChild;if(!child){return nidx;}
var ci=node["__cachedIndex"];var cl=pn["__cachedLength"];if(((typeof cl=="number")&&(cl!=pnc.length))||(typeof ci!="number")){pn["__cachedLength"]=pnc.length;var idx=1;do{if(child===node){nidx=idx;}
if(child.nodeType==1){child["__cachedIndex"]=idx;idx++;}
child=child.nextSibling;}while(child);}else{nidx=ci;}
return nidx;}
var firedCount=0;var blank="";var _getAttr=function(elem,attr){if(attr=="class"){return elem.className||blank;}
if(attr=="for"){return elem.htmlFor||blank;}
return elem.getAttribute(attr,2)||blank;}
var attrs={"*=":function(attr,value){return function(elem){return(_getAttr(elem,attr).indexOf(value)>=0);}},"^=":function(attr,value){return function(elem){return(_getAttr(elem,attr).indexOf(value)==0);}},"$=":function(attr,value){var tval=" "+value;return function(elem){var ea=" "+_getAttr(elem,attr);return(ea.lastIndexOf(value)==(ea.length-value.length));}},"~=":function(attr,value){var tval=" "+value+" ";return function(elem){var ea=" "+_getAttr(elem,attr)+" ";return(ea.indexOf(tval)>=0);}},"|=":function(attr,value){var valueDash=" "+value+"-";return function(elem){var ea=" "+(elem.getAttribute(attr,2)||"");return((ea==value)||(ea.indexOf(valueDash)==0));}},"=":function(attr,value){return function(elem){return(_getAttr(elem,attr)==value);}}};var pseudos={"first-child":function(name,condition){return function(elem){if(elem.nodeType!=1){return false;}
var fc=elem.previousSibling;while(fc&&(fc.nodeType!=1)){fc=fc.previousSibling;}
return(!fc);}},"last-child":function(name,condition){return function(elem){if(elem.nodeType!=1){return false;}
var nc=elem.nextSibling;while(nc&&(nc.nodeType!=1)){nc=nc.nextSibling;}
return(!nc);}},"empty":function(name,condition){return function(elem){var cn=elem.childNodes;var cnl=elem.childNodes.length;for(var x=cnl-1;x>=0;x--){var nt=cn[x].nodeType;if((nt==1)||(nt==3)){return false;}}
return true;}},"contains":function(name,condition){return function(elem){return(elem.innerHTML.indexOf(condition)>=0);}},"not":function(name,condition){var ntf=getFilterFunc(getQueryParts(condition)[0]);return function(elem){return(!ntf(elem));}},"nth-child":function(name,condition){var pi=parseInt;if(condition=="odd"){return function(elem){return(((getNodeIndex(elem))%2)==1);}}else if((condition=="2n")||(condition=="even")){return function(elem){return((getNodeIndex(elem)%2)==0);}}else if(condition.indexOf("0n+")==0){var ncount=pi(condition.substr(3));return function(elem){return(elem.parentNode[childNodesName][ncount-1]===elem);}}else if((condition.indexOf("n+")>0)&&(condition.length>3)){var tparts=condition.split("n+",2);var pred=pi(tparts[0]);var idx=pi(tparts[1]);return function(elem){return((getNodeIndex(elem)%pred)==idx);}}else if(condition.indexOf("n")==-1){var ncount=pi(condition);return function(elem){return(getNodeIndex(elem)==ncount);}}}};var defaultGetter=(d.isIE)?function(cond){var clc=cond.toLowerCase();return function(elem){return elem[cond]||elem[clc];}}:function(cond){return function(elem){return(elem&&elem.getAttribute&&elem.hasAttribute(cond));}};var getSimpleFilterFunc=function(query){var fcHit=(_simpleFiltersCache[query.query]||_filtersCache[query.query]);if(fcHit){return fcHit;}
var ff=null;if(query.id){if(query.tag!="*"){ff=agree(ff,function(elem){return(elem.tagName.toLowerCase()==query.tag);});}}
d.forEach(query.classes,function(cname,idx,arr){var isWildcard=cname.charAt(cname.length-1)=="*";if(isWildcard){cname=cname.substr(0,cname.length-1);}
var re=new RegExp("(?:^|\\s)"+cname+(isWildcard?".*":"")+"(?:\\s|$)");ff=agree(ff,function(elem){return re.test(elem.className);});ff.count=idx;});d.forEach(query.pseudos,function(pseudo){if(pseudos[pseudo.name]){ff=agree(ff,pseudos[pseudo.name](pseudo.name,pseudo.value));}});handleAttrs(attrs,query,defaultGetter,function(tmatcher){ff=agree(ff,tmatcher);});if(!ff){ff=function(){return true;};}
return _simpleFiltersCache[query.query]=ff;}
var _getElementsFuncCache={};var getElementsFunc=function(query,root){var fHit=_getElementsFuncCache[query.query];if(fHit){return fHit;}
if(query.id&&!query.hasLoops&&!query.tag){return _getElementsFuncCache[query.query]=function(root){return[d.byId(query.id)];}}
var filterFunc=getSimpleFilterFunc(query);var retFunc;if(query.tag&&query.id&&!query.hasLoops){retFunc=function(root){var te=d.byId(query.id);if(filterFunc(te)){return[te];}}}else{var tret;if(!query.hasLoops){retFunc=function(root){var ret=[];var te,x=0,tret=root.getElementsByTagName(query.tag);while(te=tret[x++]){ret.push(te);}
return ret;}}else{retFunc=function(root){var ret=[];var te,x=0,tret=root.getElementsByTagName(query.tag);while(te=tret[x++]){if(filterFunc(te)){ret.push(te);}}
return ret;}}}
return _getElementsFuncCache[query.query]=retFunc;}
var _partsCache={};var _queryFuncCache={"*":d.isIE?function(root){return root.all;}:function(root){return root.getElementsByTagName("*");},"~":_nextSiblings,"+":function(root){return _nextSiblings(root,true);},">":_childElements};var getStepQueryFunc=function(query){var qparts=getQueryParts(d.trim(query));if(qparts.length==1){var tt=getElementsFunc(qparts[0]);tt.nozip=true;return tt;}
var sqf=function(root){var localQueryParts=qparts.slice(0);var candidates;if(localQueryParts[0].oper==">"){candidates=[root];}else{candidates=getElementsFunc(localQueryParts.shift())(root);}
return filterDown(candidates,localQueryParts);}
return sqf;}
var _getQueryFunc=((document["evaluate"]&&!d.isSafari)?function(query){var qparts=query.split(" ");if((document["evaluate"])&&(query.indexOf(":")==-1)&&(query.indexOf("+")==-1)){if(((qparts.length>2)&&(query.indexOf(">")==-1))||(qparts.length>3)||(query.indexOf("[")>=0)||((1==qparts.length)&&(0<=query.indexOf(".")))){return getXPathFunc(query);}}
return getStepQueryFunc(query);}:getStepQueryFunc);var getQueryFunc=function(query){var qcz=query.charAt(0);if(d.doc["querySelectorAll"]&&((!d.isSafari)||(d.isSafari>3.1))&&(">+~".indexOf(qcz)==-1)){return function(root){var r=root.querySelectorAll(query);r.nozip=true;return r;};}
if(_queryFuncCache[query]){return _queryFuncCache[query];}
if(0>query.indexOf(",")){return _queryFuncCache[query]=_getQueryFunc(query);}else{var parts=query.split(/\s*,\s*/);var tf=function(root){var pindex=0;var ret=[];var tp;while(tp=parts[pindex++]){ret=ret.concat(_getQueryFunc(tp,tp.indexOf(" "))(root));}
return ret;}
return _queryFuncCache[query]=tf;}}
var _zipIdx=0;var _zip=function(arr){if(arr&&arr.nozip){return d.NodeList._wrap(arr);}
var ret=new d.NodeList();if(!arr){return ret;}
if(arr[0]){ret.push(arr[0]);}
if(arr.length<2){return ret;}
_zipIdx++;arr[0]["_zipIdx"]=_zipIdx;for(var x=1,te;te=arr[x];x++){if(arr[x]["_zipIdx"]!=_zipIdx){ret.push(te);}
te["_zipIdx"]=_zipIdx;}
return ret;}
d.query=function(query,root){if(query.constructor==d.NodeList){return query;}
if(!d.isString(query)){return new d.NodeList(query);}
if(d.isString(root)){root=d.byId(root);}
return _zip(getQueryFunc(query)(root||d.doc));}
d.query.pseudos=pseudos;d._filterQueryResult=function(nodeList,simpleFilter){var tnl=new d.NodeList();var ff=(simpleFilter)?getFilterFunc(getQueryParts(simpleFilter)[0]):function(){return true;};for(var x=0,te;te=nodeList[x];x++){if(ff(te)){tnl.push(te);}}
return tnl;}})();}
if(!dojo._hasResource["dojo._base.xhr"]){dojo._hasResource["dojo._base.xhr"]=true;dojo.provide("dojo._base.xhr");(function(){var _d=dojo;function setValue(obj,name,value){var val=obj[name];if(_d.isString(val)){obj[name]=[val,value];}else if(_d.isArray(val)){val.push(value);}else{obj[name]=value;}}
dojo.formToObject=function(formNode){var ret={};var iq="input:not([type=file]):not([type=submit]):not([type=image]):not([type=reset]):not([type=button]), select, textarea";_d.query(iq,formNode).filter(function(node){return!node.disabled&&node.name;}).forEach(function(item){var _in=item.name;var type=(item.type||"").toLowerCase();if(type=="radio"||type=="checkbox"){if(item.checked){setValue(ret,_in,item.value);}}else if(item.multiple){ret[_in]=[];_d.query("option",item).forEach(function(opt){if(opt.selected){setValue(ret,_in,opt.value);}});}else{setValue(ret,_in,item.value);if(type=="image"){ret[_in+".x"]=ret[_in+".y"]=ret[_in].x=ret[_in].y=0;}}});return ret;}
dojo.objectToQuery=function(map){var enc=encodeURIComponent;var pairs=[];var backstop={};for(var name in map){var value=map[name];if(value!=backstop[name]){var assign=enc(name)+"=";if(_d.isArray(value)){for(var i=0;i<value.length;i++){pairs.push(assign+enc(value[i]));}}else{pairs.push(assign+enc(value));}}}
return pairs.join("&");}
dojo.formToQuery=function(formNode){return _d.objectToQuery(_d.formToObject(formNode));}
dojo.formToJson=function(formNode,prettyPrint){return _d.toJson(_d.formToObject(formNode),prettyPrint);}
dojo.queryToObject=function(str){var ret={};var qp=str.split("&");var dec=decodeURIComponent;_d.forEach(qp,function(item){if(item.length){var parts=item.split("=");var name=dec(parts.shift());var val=dec(parts.join("="));if(_d.isString(ret[name])){ret[name]=[ret[name]];}
if(_d.isArray(ret[name])){ret[name].push(val);}else{ret[name]=val;}}});return ret;}
dojo._blockAsync=false;dojo._contentHandlers={"text":function(xhr){return xhr.responseText;},"json":function(xhr){if(!dojo.config.usePlainJson){console.warn("Consider using mimetype:text/json-comment-filtered"
+" to avoid potential security issues with JSON endpoints"
+" (use djConfig.usePlainJson=true to turn off this message)");}
return _d.fromJson(xhr.responseText);},"json-comment-filtered":function(xhr){var value=xhr.responseText;var cStartIdx=value.indexOf("\/*");var cEndIdx=value.lastIndexOf("*\/");if(cStartIdx==-1||cEndIdx==-1){throw new Error("JSON was not comment filtered");}
return _d.fromJson(value.substring(cStartIdx+2,cEndIdx));},"javascript":function(xhr){return _d.eval(xhr.responseText);},"xml":function(xhr){var result=xhr.responseXML;if(_d.isIE&&(!result||window.location.protocol=="file:")){_d.forEach(["MSXML2","Microsoft","MSXML","MSXML3"],function(prefix){try{var dom=new ActiveXObject(prefix+".XMLDOM");dom.async=false;dom.loadXML(xhr.responseText);result=dom;}catch(e){}});}
return result;}};dojo._contentHandlers["json-comment-optional"]=function(xhr){var handlers=_d._contentHandlers;try{return handlers["json-comment-filtered"](xhr);}catch(e){return handlers["json"](xhr);}};dojo._ioSetArgs=function(args,canceller,okHandler,errHandler){var ioArgs={args:args,url:args.url};var formObject=null;if(args.form){var form=_d.byId(args.form);var actnNode=form.getAttributeNode("action");ioArgs.url=ioArgs.url||(actnNode?actnNode.value:null);formObject=_d.formToObject(form);}
var miArgs=[{}];if(formObject){miArgs.push(formObject);}
if(args.content){miArgs.push(args.content);}
if(args.preventCache){miArgs.push({"dojo.preventCache":new Date().valueOf()});}
ioArgs.query=_d.objectToQuery(_d.mixin.apply(null,miArgs));ioArgs.handleAs=args.handleAs||"text";var d=new _d.Deferred(canceller);d.addCallbacks(okHandler,function(error){return errHandler(error,d);});var ld=args.load;if(ld&&_d.isFunction(ld)){d.addCallback(function(value){return ld.call(args,value,ioArgs);});}
var err=args.error;if(err&&_d.isFunction(err)){d.addErrback(function(value){return err.call(args,value,ioArgs);});}
var handle=args.handle;if(handle&&_d.isFunction(handle)){d.addBoth(function(value){return handle.call(args,value,ioArgs);});}
d.ioArgs=ioArgs;return d;}
var _deferredCancel=function(dfd){dfd.canceled=true;var xhr=dfd.ioArgs.xhr;var _at=typeof xhr.abort;if(_at=="function"||_at=="unknown"){xhr.abort();}
var err=new Error("xhr cancelled");err.dojoType="cancel";return err;}
var _deferredOk=function(dfd){return _d._contentHandlers[dfd.ioArgs.handleAs](dfd.ioArgs.xhr);}
var _deferError=function(error,dfd){console.debug(error);return error;}
var _makeXhrDeferred=function(args){var dfd=_d._ioSetArgs(args,_deferredCancel,_deferredOk,_deferError);dfd.ioArgs.xhr=_d._xhrObj(dfd.ioArgs.args);return dfd;}
var _inFlightIntvl=null;var _inFlight=[];var _watchInFlight=function(){var now=(new Date()).getTime();if(!_d._blockAsync){for(var i=0,tif;i<_inFlight.length&&(tif=_inFlight[i]);i++){var dfd=tif.dfd;try{if(!dfd||dfd.canceled||!tif.validCheck(dfd)){_inFlight.splice(i--,1);}else if(tif.ioCheck(dfd)){_inFlight.splice(i--,1);tif.resHandle(dfd);}else if(dfd.startTime){if(dfd.startTime+(dfd.ioArgs.args.timeout||0)<now){_inFlight.splice(i--,1);var err=new Error("timeout exceeded");err.dojoType="timeout";dfd.errback(err);dfd.cancel();}}}catch(e){console.debug(e);dfd.errback(new Error("_watchInFlightError!"));}}}
if(!_inFlight.length){clearInterval(_inFlightIntvl);_inFlightIntvl=null;return;}}
dojo._ioCancelAll=function(){try{_d.forEach(_inFlight,function(i){i.dfd.cancel();});}catch(e){}}
if(_d.isIE){_d.addOnUnload(_d._ioCancelAll);}
_d._ioWatch=function(dfd,validCheck,ioCheck,resHandle){if(dfd.ioArgs.args.timeout){dfd.startTime=(new Date()).getTime();}
_inFlight.push({dfd:dfd,validCheck:validCheck,ioCheck:ioCheck,resHandle:resHandle});if(!_inFlightIntvl){_inFlightIntvl=setInterval(_watchInFlight,50);}
_watchInFlight();}
var _defaultContentType="application/x-www-form-urlencoded";var _validCheck=function(dfd){return dfd.ioArgs.xhr.readyState;}
var _ioCheck=function(dfd){return 4==dfd.ioArgs.xhr.readyState;}
var _resHandle=function(dfd){var xhr=dfd.ioArgs.xhr;if(xhr.responseText=="SESSION_EXPIRED")
{window.location=document.getElementsByTagName('base')[0].href+"login/";return;}
if(_d._isDocumentOk(xhr)){dfd.callback(dfd);}else{var err=new Error("Unable to load "+dfd.ioArgs.url+" status:"+xhr.status);err.status=xhr.status;err.responseText=xhr.responseText;dfd.errback(err);}}
var _doIt=function(type,dfd){var ioArgs=dfd.ioArgs;var args=ioArgs.args;var xhr=ioArgs.xhr;xhr.open(type,ioArgs.url,args.sync!==true,args.user||undefined,args.password||undefined);if(args.headers){for(var hdr in args.headers){if(hdr.toLowerCase()==="content-type"&&!args.contentType){args.contentType=args.headers[hdr];}else{xhr.setRequestHeader(hdr,args.headers[hdr]);}}}
xhr.setRequestHeader("Content-Type",args.contentType||_defaultContentType);if(!args.headers||!args.headers["X-Requested-With"]){xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");}
try{xhr.send(ioArgs.query);}catch(e){dfd.cancel();}
_d._ioWatch(dfd,_validCheck,_ioCheck,_resHandle);xhr=null;return dfd;}
dojo._ioAddQueryToUrl=function(ioArgs){if(ioArgs.query.length){ioArgs.url+=(ioArgs.url.indexOf("?")==-1?"?":"&")+ioArgs.query;ioArgs.query=null;}}
dojo.xhr=function(method,args,hasBody){var dfd=_makeXhrDeferred(args);if(!hasBody){_d._ioAddQueryToUrl(dfd.ioArgs);}
return _doIt(method,dfd);}
dojo.xhrGet=function(args){return _d.xhr("GET",args);}
dojo.xhrPost=function(args){return _d.xhr("POST",args,true);}
dojo.rawXhrPost=function(args){var dfd=_makeXhrDeferred(args);dfd.ioArgs.query=args.postData;return _doIt("POST",dfd);}
dojo.xhrPut=function(args){return _d.xhr("PUT",args,true);}
dojo.rawXhrPut=function(args){var dfd=_makeXhrDeferred(args);var ioArgs=dfd.ioArgs;if(args.putData){ioArgs.query=args.putData;args.putData=null;}
return _doIt("PUT",dfd);}
dojo.xhrDelete=function(args){return _d.xhr("DELETE",args);}})();}
if(!dojo._hasResource["dojo._base.fx"]){dojo._hasResource["dojo._base.fx"]=true;dojo.provide("dojo._base.fx");(function(){var d=dojo;dojo._Line=function(start,end){this.start=start;this.end=end;this.getValue=function(n){return((this.end-this.start)*n)+this.start;}}
d.declare("dojo._Animation",null,{constructor:function(args){d.mixin(this,args);if(d.isArray(this.curve)){this.curve=new d._Line(this.curve[0],this.curve[1]);}},duration:350,repeat:0,rate:10,_percent:0,_startRepeatCount:0,_fire:function(evt,args){try{if(this[evt]){this[evt].apply(this,args||[]);}}catch(e){console.error("exception in animation handler for:",evt);console.error(e);}
return this;},play:function(delay,gotoStart){var _t=this;if(gotoStart){_t._stopTimer();_t._active=_t._paused=false;_t._percent=0;}else if(_t._active&&!_t._paused){return _t;}
_t._fire("beforeBegin");var de=delay||_t.delay;var _p=dojo.hitch(_t,"_play",gotoStart);if(de>0){setTimeout(_p,de);return _t;}
_p();return _t;},_play:function(gotoStart){var _t=this;_t._startTime=new Date().valueOf();if(_t._paused){_t._startTime-=_t.duration*_t._percent;}
_t._endTime=_t._startTime+_t.duration;_t._active=true;_t._paused=false;var value=_t.curve.getValue(_t._percent);if(!_t._percent){if(!_t._startRepeatCount){_t._startRepeatCount=_t.repeat;}
_t._fire("onBegin",[value]);}
_t._fire("onPlay",[value]);_t._cycle();return _t;},pause:function(){this._stopTimer();if(!this._active){return this;}
this._paused=true;this._fire("onPause",[this.curve.getValue(this._percent)]);return this;},gotoPercent:function(percent,andPlay){this._stopTimer();this._active=this._paused=true;this._percent=percent;if(andPlay){this.play();}
return this;},stop:function(gotoEnd){if(!this._timer){return this;}
this._stopTimer();if(gotoEnd){this._percent=1;}
this._fire("onStop",[this.curve.getValue(this._percent)]);this._active=this._paused=false;return this;},status:function(){if(this._active){return this._paused?"paused":"playing";}
return"stopped";},_cycle:function(){var _t=this;if(_t._active){var curr=new Date().valueOf();var step=(curr-_t._startTime)/(_t._endTime-_t._startTime);if(step>=1){step=1;}
_t._percent=step;if(_t.easing){step=_t.easing(step);}
_t._fire("onAnimate",[_t.curve.getValue(step)]);if(_t._percent<1){_t._startTimer();}else{_t._active=false;if(_t.repeat>0){_t.repeat--;_t.play(null,true);}else if(_t.repeat==-1){_t.play(null,true);}else{if(_t._startRepeatCount){_t.repeat=_t._startRepeatCount;_t._startRepeatCount=0;}}
_t._percent=0;_t._fire("onEnd");_t._stopTimer();}}
return _t;}});var ctr=0;var _globalTimerList=[];var runner={run:function(){}};var timer=null;dojo._Animation.prototype._startTimer=function(){if(!this._timer){this._timer=d.connect(runner,"run",this,"_cycle");ctr++;}
if(!timer){timer=setInterval(d.hitch(runner,"run"),this.rate);}};dojo._Animation.prototype._stopTimer=function(){if(this._timer){d.disconnect(this._timer);this._timer=null;ctr--;}
if(ctr<=0){clearInterval(timer);timer=null;ctr=0;}};var _makeFadeable=(d.isIE)?function(node){var ns=node.style;if(!ns.zoom.length&&d.style(node,"zoom")=="normal"){ns.zoom="1";}
if(!ns.width.length&&d.style(node,"width")=="auto"){ns.width="auto";}}:function(){};dojo._fade=function(args){args.node=d.byId(args.node);var fArgs=d.mixin({properties:{}},args);var props=(fArgs.properties.opacity={});props.start=!("start"in fArgs)?function(){return Number(d.style(fArgs.node,"opacity"));}:fArgs.start;props.end=fArgs.end;var anim=d.animateProperty(fArgs);d.connect(anim,"beforeBegin",d.partial(_makeFadeable,fArgs.node));return anim;}
dojo.fadeIn=function(args){return d._fade(d.mixin({end:1},args));}
dojo.fadeOut=function(args){return d._fade(d.mixin({end:0},args));}
dojo._defaultEasing=function(n){return 0.5+((Math.sin((n+1.5)*Math.PI))/2);}
var PropLine=function(properties){this._properties=properties;for(var p in properties){var prop=properties[p];if(prop.start instanceof d.Color){prop.tempColor=new d.Color();}}
this.getValue=function(r){var ret={};for(var p in this._properties){var prop=this._properties[p];var start=prop.start;if(start instanceof d.Color){ret[p]=d.blendColors(start,prop.end,r,prop.tempColor).toCss();}else if(!d.isArray(start)){ret[p]=((prop.end-start)*r)+start+(p!="opacity"?prop.units||"px":"");}}
return ret;}}
dojo.animateProperty=function(args){args.node=d.byId(args.node);if(!args.easing){args.easing=d._defaultEasing;}
var anim=new d._Animation(args);d.connect(anim,"beforeBegin",anim,function(){var pm={};for(var p in this.properties){if(p=="width"||p=="height"){this.node.display="block";}
var prop=this.properties[p];prop=pm[p]=d.mixin({},(d.isObject(prop)?prop:{end:prop}));if(d.isFunction(prop.start)){prop.start=prop.start();}
if(d.isFunction(prop.end)){prop.end=prop.end();}
var isColor=(p.toLowerCase().indexOf("color")>=0);function getStyle(node,p){var v=({height:node.offsetHeight,width:node.offsetWidth})[p];if(v!==undefined){return v;}
v=d.style(node,p);return(p=="opacity")?Number(v):(isColor?v:parseFloat(v));}
if(!("end"in prop)){prop.end=getStyle(this.node,p);}else if(!("start"in prop)){prop.start=getStyle(this.node,p);}
if(isColor){prop.start=new d.Color(prop.start);prop.end=new d.Color(prop.end);}else{prop.start=(p=="opacity")?Number(prop.start):parseFloat(prop.start);}}
this.curve=new PropLine(pm);});d.connect(anim,"onAnimate",anim,function(propValues){for(var s in propValues){d.style(this.node,s,propValues[s]);}});return anim;}
dojo.anim=function(node,properties,duration,easing,onEnd,delay){return d.animateProperty({node:node,duration:duration||d._Animation.prototype.duration,properties:properties,easing:easing,onEnd:onEnd}).play(delay||0);}})();}
if(!dojo._hasResource["dojo._base.browser"]){dojo._hasResource["dojo._base.browser"]=true;dojo.provide("dojo._base.browser");if(dojo.config.require){dojo.forEach(dojo.config.require,"dojo['require'](item);");}}})();if(!dojo._hasResource["dijit._base.focus"]){dojo._hasResource["dijit._base.focus"]=true;dojo.provide("dijit._base.focus");dojo.mixin(dijit,{_curFocus:null,_prevFocus:null,isCollapsed:function(){var _window=dojo.global;var _document=dojo.doc;if(_document.selection){return!_document.selection.createRange().text;}else{var selection=_window.getSelection();if(dojo.isString(selection)){return!selection;}else{return selection.isCollapsed||!selection.toString();}}},getBookmark:function(){var bookmark,selection=dojo.doc.selection;if(selection){var range=selection.createRange();if(selection.type.toUpperCase()=='CONTROL'){if(range.length){bookmark=[];var i=0,len=range.length;while(i<len){bookmark.push(range.item(i++));}}else{bookmark=null;}}else{bookmark=range.getBookmark();}}else{if(window.getSelection){selection=dojo.global.getSelection();if(selection){range=selection.getRangeAt(0);bookmark=range.cloneRange();}}else{console.warn("No idea how to store the current selection for this browser!");}}
return bookmark;},moveToBookmark:function(bookmark){var _document=dojo.doc;if(_document.selection){var range;if(dojo.isArray(bookmark)){range=_document.body.createControlRange();dojo.forEach(bookmark,"range.addElement(item)");}else{range=_document.selection.createRange();range.moveToBookmark(bookmark);}
range.select();}else{var selection=dojo.global.getSelection&&dojo.global.getSelection();if(selection&&selection.removeAllRanges){selection.removeAllRanges();selection.addRange(bookmark);}else{console.warn("No idea how to restore selection for this browser!");}}},getFocus:function(menu,openedForWindow){return{node:menu&&dojo.isDescendant(dijit._curFocus,menu.domNode)?dijit._prevFocus:dijit._curFocus,bookmark:!dojo.withGlobal(openedForWindow||dojo.global,dijit.isCollapsed)?dojo.withGlobal(openedForWindow||dojo.global,dijit.getBookmark):null,openedForWindow:openedForWindow};},focus:function(handle){if(!handle){return;}
var node="node"in handle?handle.node:handle,bookmark=handle.bookmark,openedForWindow=handle.openedForWindow;if(node){var focusNode=(node.tagName.toLowerCase()=="iframe")?node.contentWindow:node;if(focusNode&&focusNode.focus){try{focusNode.focus();}catch(e){}}
dijit._onFocusNode(node);}
if(bookmark&&dojo.withGlobal(openedForWindow||dojo.global,dijit.isCollapsed)){if(openedForWindow){openedForWindow.focus();}
try{dojo.withGlobal(openedForWindow||dojo.global,dijit.moveToBookmark,null,[bookmark]);}catch(e){}}},_activeStack:[],registerWin:function(targetWindow){if(!targetWindow){targetWindow=window;}
dojo.connect(targetWindow.document,"onmousedown",function(evt){dijit._justMouseDowned=true;setTimeout(function(){dijit._justMouseDowned=false;},0);dijit._onTouchNode(evt.target||evt.srcElement);});var body=targetWindow.document.body||targetWindow.document.getElementsByTagName("body")[0];if(body){if(dojo.isIE){body.attachEvent('onactivate',function(evt){if(evt.srcElement.tagName.toLowerCase()!="body"){dijit._onFocusNode(evt.srcElement);}});body.attachEvent('ondeactivate',function(evt){dijit._onBlurNode(evt.srcElement);});}else{body.addEventListener('focus',function(evt){dijit._onFocusNode(evt.target);},true);body.addEventListener('blur',function(evt){dijit._onBlurNode(evt.target);},true);}}
body=null;},_onBlurNode:function(node){dijit._prevFocus=dijit._curFocus;dijit._curFocus=null;if(dijit._justMouseDowned){return;}
if(dijit._clearActiveWidgetsTimer){clearTimeout(dijit._clearActiveWidgetsTimer);}
dijit._clearActiveWidgetsTimer=setTimeout(function(){delete dijit._clearActiveWidgetsTimer;dijit._setStack([]);dijit._prevFocus=null;},100);},_onTouchNode:function(node){if(dijit._clearActiveWidgetsTimer){clearTimeout(dijit._clearActiveWidgetsTimer);delete dijit._clearActiveWidgetsTimer;}
var newStack=[];try{while(node){if(node.dijitPopupParent){node=dijit.byId(node.dijitPopupParent).domNode;}else if(node.tagName&&node.tagName.toLowerCase()=="body"){if(node===dojo.body()){break;}
node=dijit.getDocumentWindow(node.ownerDocument).frameElement;}else{var id=node.getAttribute&&node.getAttribute("widgetId");if(id){newStack.unshift(id);}
node=node.parentNode;}}}catch(e){}
dijit._setStack(newStack);},_onFocusNode:function(node){if(node&&node.tagName&&node.tagName.toLowerCase()=="body"){return;}
dijit._onTouchNode(node);if(node==dijit._curFocus){return;}
if(dijit._curFocus){dijit._prevFocus=dijit._curFocus;}
dijit._curFocus=node;dojo.publish("focusNode",[node]);},_setStack:function(newStack){var oldStack=dijit._activeStack;dijit._activeStack=newStack;for(var nCommon=0;nCommon<Math.min(oldStack.length,newStack.length);nCommon++){if(oldStack[nCommon]!=newStack[nCommon]){break;}}
for(var i=oldStack.length-1;i>=nCommon;i--){var widget=dijit.byId(oldStack[i]);if(widget){widget._focused=false;widget._hasBeenBlurred=true;if(widget._onBlur){widget._onBlur();}
if(widget._setStateClass){widget._setStateClass();}
dojo.publish("widgetBlur",[widget]);}}
for(i=nCommon;i<newStack.length;i++){widget=dijit.byId(newStack[i]);if(widget){widget._focused=true;if(widget._onFocus){widget._onFocus();}
if(widget._setStateClass){widget._setStateClass();}
dojo.publish("widgetFocus",[widget]);}}}});dojo.addOnLoad(dijit.registerWin);}
if(!dojo._hasResource["dijit._base.manager"]){dojo._hasResource["dijit._base.manager"]=true;dojo.provide("dijit._base.manager");dojo.declare("dijit.WidgetSet",null,{constructor:function(){this._hash={};},add:function(widget){if(this._hash[widget.id]){throw new Error("Tried to register widget with id=="+widget.id+" but that id is already registered");}
this._hash[widget.id]=widget;},remove:function(id){delete this._hash[id];},forEach:function(func){for(var id in this._hash){func(this._hash[id]);}},filter:function(filter){var res=new dijit.WidgetSet();this.forEach(function(widget){if(filter(widget)){res.add(widget);}});return res;},byId:function(id){return this._hash[id];},byClass:function(cls){return this.filter(function(widget){return widget.declaredClass==cls;});}});dijit.registry=new dijit.WidgetSet();dijit._widgetTypeCtr={};dijit.getUniqueId=function(widgetType){var id;do{id=widgetType+"_"+
(widgetType in dijit._widgetTypeCtr?++dijit._widgetTypeCtr[widgetType]:dijit._widgetTypeCtr[widgetType]=0);}while(dijit.byId(id));return id;};if(dojo.isIE){dojo.addOnUnload(function(){dijit.registry.forEach(function(widget){widget.destroy();});});}
dijit.byId=function(id){return(dojo.isString(id))?dijit.registry.byId(id):id;};dijit.byNode=function(node){return dijit.registry.byId(node.getAttribute("widgetId"));};dijit.getEnclosingWidget=function(node){while(node){if(node.getAttribute&&node.getAttribute("widgetId")){return dijit.registry.byId(node.getAttribute("widgetId"));}
node=node.parentNode;}
return null;};dijit._tabElements={area:true,button:true,input:true,object:true,select:true,textarea:true};dijit._isElementShown=function(elem){var style=dojo.style(elem);return(style.visibility!="hidden")&&(style.visibility!="collapsed")&&(style.display!="none");}
dijit.isTabNavigable=function(elem){if(dojo.hasAttr(elem,"disabled")){return false;}
var hasTabindex=dojo.hasAttr(elem,"tabindex");var tabindex=dojo.attr(elem,"tabindex");if(hasTabindex&&tabindex>=0){return true;}
var name=elem.nodeName.toLowerCase();if(((name=="a"&&dojo.hasAttr(elem,"href"))||dijit._tabElements[name])&&(!hasTabindex||tabindex>=0)){return true;}
return false;};dijit._getTabNavigable=function(root){var first,last,lowest,lowestTabindex,highest,highestTabindex;var walkTree=function(parent){dojo.query("> *",parent).forEach(function(child){var isShown=dijit._isElementShown(child);if(isShown&&dijit.isTabNavigable(child)){var tabindex=dojo.attr(child,"tabindex");if(!dojo.hasAttr(child,"tabindex")||tabindex==0){if(!first){first=child;}
last=child;}else if(tabindex>0){if(!lowest||tabindex<lowestTabindex){lowestTabindex=tabindex;lowest=child;}
if(!highest||tabindex>=highestTabindex){highestTabindex=tabindex;highest=child;}}}
if(isShown){walkTree(child)}});};if(dijit._isElementShown(root)){walkTree(root)}
return{first:first,last:last,lowest:lowest,highest:highest};}
dijit.getFirstInTabbingOrder=function(root){var elems=dijit._getTabNavigable(dojo.byId(root));return elems.lowest?elems.lowest:elems.first;};dijit.getLastInTabbingOrder=function(root){var elems=dijit._getTabNavigable(dojo.byId(root));return elems.last?elems.last:elems.highest;};}
if(!dojo._hasResource["dijit._base.place"]){dojo._hasResource["dijit._base.place"]=true;dojo.provide("dijit._base.place");dijit.getViewport=function(){var _window=dojo.global;var _document=dojo.doc;var w=0,h=0;var de=_document.documentElement;var dew=de.clientWidth,deh=de.clientHeight;if(dojo.isMozilla){var minw,minh,maxw,maxh;var dbw=_document.body.clientWidth;if(dbw>dew){minw=dew;maxw=dbw;}else{maxw=dew;minw=dbw;}
var dbh=_document.body.clientHeight;if(dbh>deh){minh=deh;maxh=dbh;}else{maxh=deh;minh=dbh;}
w=(maxw>_window.innerWidth)?minw:maxw;h=(maxh>_window.innerHeight)?minh:maxh;}else if(!dojo.isOpera&&_window.innerWidth){w=_window.innerWidth;h=_window.innerHeight;}else if(dojo.isIE&&de&&deh){w=dew;h=deh;}else if(dojo.body().clientWidth){w=dojo.body().clientWidth;h=dojo.body().clientHeight;}
var scroll=dojo._docScroll();return{w:w,h:h,l:scroll.x,t:scroll.y};};dijit.placeOnScreen=function(node,pos,corners,tryOnly){var choices=dojo.map(corners,function(corner){return{corner:corner,pos:pos};});return dijit._place(node,choices);}
dijit._place=function(node,choices,layoutNode){var view=dijit.getViewport();if(!node.parentNode||String(node.parentNode.tagName).toLowerCase()!="body"){dojo.body().appendChild(node);}
var best=null;dojo.some(choices,function(choice){var corner=choice.corner;var pos=choice.pos;if(layoutNode){layoutNode(node,choice.aroundCorner,corner);}
var style=node.style;var oldDisplay=style.display;var oldVis=style.visibility;style.visibility="hidden";style.display="";var mb=dojo.marginBox(node);style.display=oldDisplay;style.visibility=oldVis;var startX=(corner.charAt(1)=='L'?pos.x:Math.max(view.l,pos.x-mb.w)),startY=(corner.charAt(0)=='T'?pos.y:Math.max(view.t,pos.y-mb.h)),endX=(corner.charAt(1)=='L'?Math.min(view.l+view.w,startX+mb.w):pos.x),endY=(corner.charAt(0)=='T'?Math.min(view.t+view.h,startY+mb.h):pos.y),width=endX-startX,height=endY-startY,overflow=(mb.w-width)+(mb.h-height);if(best==null||overflow<best.overflow){best={corner:corner,aroundCorner:choice.aroundCorner,x:startX,y:startY,w:width,h:height,overflow:overflow};}
return!overflow;});node.style.left=best.x+"px";node.style.top=best.y+"px";if(best.overflow&&layoutNode){layoutNode(node,best.aroundCorner,best.corner);}
return best;}
dijit.placeOnScreenAroundElement=function(node,aroundNode,aroundCorners,layoutNode){aroundNode=dojo.byId(aroundNode);var oldDisplay=aroundNode.style.display;aroundNode.style.display="";var aroundNodeW=aroundNode.offsetWidth;var aroundNodeH=aroundNode.offsetHeight;var aroundNodePos=dojo.coords(aroundNode,true);aroundNode.style.display=oldDisplay;var choices=[];for(var nodeCorner in aroundCorners){choices.push({aroundCorner:nodeCorner,corner:aroundCorners[nodeCorner],pos:{x:aroundNodePos.x+(nodeCorner.charAt(1)=='L'?0:aroundNodeW),y:aroundNodePos.y+(nodeCorner.charAt(0)=='T'?0:aroundNodeH)}});}
return dijit._place(node,choices,layoutNode);}}
if(!dojo._hasResource["dijit._base.window"]){dojo._hasResource["dijit._base.window"]=true;dojo.provide("dijit._base.window");dijit.getDocumentWindow=function(doc){if(dojo.isSafari&&!doc._parentWindow){var fix=function(win){win.document._parentWindow=win;for(var i=0;i<win.frames.length;i++){fix(win.frames[i]);}}
fix(window.top);}
if(dojo.isIE&&window!==document.parentWindow&&!doc._parentWindow){doc.parentWindow.execScript("document._parentWindow = window;","Javascript");var win=doc._parentWindow;doc._parentWindow=null;return win;}
return doc._parentWindow||doc.parentWindow||doc.defaultView;}}
if(!dojo._hasResource["dijit._base.popup"]){dojo._hasResource["dijit._base.popup"]=true;dojo.provide("dijit._base.popup");dojo.require("dijit._base.focus");dojo.require("dijit._base.place");dojo.require("dijit._base.window");dijit.popup=new function(){var stack=[],beginZIndex=1000,idGen=1;this.prepare=function(node){dojo.body().appendChild(node);var s=node.style;if(s.display=="none"){s.display="";}
s.visibility="hidden";s.position="absolute";s.top="-9999px";};this.open=function(args){var widget=args.popup,orient=args.orient||{'BL':'TL','TL':'BL'},around=args.around,id=(args.around&&args.around.id)?(args.around.id+"_dropdown"):("popup_"+idGen++);var wrapper=dojo.doc.createElement("div");dijit.setWaiRole(wrapper,"presentation");wrapper.id=id;wrapper.className="dijitPopup";wrapper.style.zIndex=beginZIndex+stack.length;wrapper.style.visibility="hidden";if(args.parent){wrapper.dijitPopupParent=args.parent.id;}
dojo.body().appendChild(wrapper);var s=widget.domNode.style;s.display="";s.visibility="";s.position="";wrapper.appendChild(widget.domNode);var iframe=new dijit.BackgroundIframe(wrapper);var best=around?dijit.placeOnScreenAroundElement(wrapper,around,orient,widget.orient?dojo.hitch(widget,"orient"):null):dijit.placeOnScreen(wrapper,args,orient=='R'?['TR','BR','TL','BL']:['TL','BL','TR','BR']);wrapper.style.visibility="visible";var handlers=[];var getTopPopup=function(){for(var pi=stack.length-1;pi>0&&stack[pi].parent===stack[pi-1].widget;pi--){}
return stack[pi];}
handlers.push(dojo.connect(wrapper,"onkeypress",this,function(evt){if(evt.keyCode==dojo.keys.ESCAPE&&args.onCancel){dojo.stopEvent(evt);args.onCancel();}else if(evt.keyCode==dojo.keys.TAB){dojo.stopEvent(evt);var topPopup=getTopPopup();if(topPopup&&topPopup.onCancel){topPopup.onCancel();}}}));if(widget.onCancel){handlers.push(dojo.connect(widget,"onCancel",null,args.onCancel));}
handlers.push(dojo.connect(widget,widget.onExecute?"onExecute":"onChange",null,function(){var topPopup=getTopPopup();if(topPopup&&topPopup.onExecute){topPopup.onExecute();}}));stack.push({wrapper:wrapper,iframe:iframe,widget:widget,parent:args.parent,onExecute:args.onExecute,onCancel:args.onCancel,onClose:args.onClose,handlers:handlers});if(widget.onOpen){widget.onOpen(best);}
return best;};this.close=function(popup){while(dojo.some(stack,function(elem){return elem.widget==popup;})){var top=stack.pop(),wrapper=top.wrapper,iframe=top.iframe,widget=top.widget,onClose=top.onClose;if(widget.onClose){widget.onClose();}
dojo.forEach(top.handlers,dojo.disconnect);if(!widget||!widget.domNode){return;}
this.prepare(widget.domNode);iframe.destroy();dojo._destroyElement(wrapper);if(onClose){onClose();}}};}();dijit._frames=new function(){var queue=[];this.pop=function(){var iframe;if(queue.length){iframe=queue.pop();iframe.style.display="";}else{if(dojo.isIE){var html="<iframe src='javascript:\"\"'"
+" style='position: absolute; left: 0px; top: 0px;"
+"z-index: -1; filter:Alpha(Opacity=\"0\");'>";iframe=dojo.doc.createElement(html);}else{iframe=dojo.doc.createElement("iframe");iframe.src='javascript:""';iframe.className="dijitBackgroundIframe";}
iframe.tabIndex=-1;dojo.body().appendChild(iframe);}
return iframe;};this.push=function(iframe){iframe.style.display="";if(dojo.isIE){iframe.style.removeExpression("width");iframe.style.removeExpression("height");}
queue.push(iframe);}}();if(dojo.isIE&&dojo.isIE<7){dojo.addOnLoad(function(){var f=dijit._frames;dojo.forEach([f.pop()],f.push);});}
dijit.BackgroundIframe=function(node){if(!node.id){throw new Error("no id");}
if((dojo.isIE&&dojo.isIE<7)||(dojo.isFF&&dojo.isFF<3&&dojo.hasClass(dojo.body(),"dijit_a11y"))){var iframe=dijit._frames.pop();node.appendChild(iframe);if(dojo.isIE){iframe.style.setExpression("width",dojo._scopeName+".doc.getElementById('"+node.id+"').offsetWidth");iframe.style.setExpression("height",dojo._scopeName+".doc.getElementById('"+node.id+"').offsetHeight");}
this.iframe=iframe;}};dojo.extend(dijit.BackgroundIframe,{destroy:function(){if(this.iframe){dijit._frames.push(this.iframe);delete this.iframe;}}});}
if(!dojo._hasResource["dijit._base.scroll"]){dojo._hasResource["dijit._base.scroll"]=true;dojo.provide("dijit._base.scroll");dijit.scrollIntoView=function(node){if(dojo.isMozilla){node.scrollIntoView(false);}else{var parent=node.parentNode;var parentBottom=parent.scrollTop+dojo.marginBox(parent).h;var nodeBottom=node.offsetTop+dojo.marginBox(node).h;if(parentBottom<nodeBottom){parent.scrollTop+=(nodeBottom-parentBottom);}else if(parent.scrollTop>node.offsetTop){parent.scrollTop-=(parent.scrollTop-node.offsetTop);}}};}
if(!dojo._hasResource["dijit._base.sniff"]){dojo._hasResource["dijit._base.sniff"]=true;dojo.provide("dijit._base.sniff");(function(){var d=dojo;var ie=d.isIE;var opera=d.isOpera;var maj=Math.floor;var ff=d.isFF;var classes={dj_ie:ie,dj_ie6:maj(ie)==6,dj_ie7:maj(ie)==7,dj_iequirks:ie&&d.isQuirks,dj_opera:opera,dj_opera8:maj(opera)==8,dj_opera9:maj(opera)==9,dj_khtml:d.isKhtml,dj_safari:d.isSafari,dj_gecko:d.isMozilla,dj_ff2:maj(ff)==2};for(var p in classes){if(classes[p]){var html=dojo.doc.documentElement;if(html.className){html.className+=" "+p;}else{html.className=p;}}}})();}
if(!dojo._hasResource["dijit._base.bidi"]){dojo._hasResource["dijit._base.bidi"]=true;dojo.provide("dijit._base.bidi");dojo.addOnLoad(function(){if(!dojo._isBodyLtr()){dojo.addClass(dojo.body(),"dijitRtl");}});}
if(!dojo._hasResource["dijit._base.typematic"]){dojo._hasResource["dijit._base.typematic"]=true;dojo.provide("dijit._base.typematic");dijit.typematic={_fireEventAndReload:function(){this._timer=null;this._callback(++this._count,this._node,this._evt);this._currentTimeout=(this._currentTimeout<0)?this._initialDelay:((this._subsequentDelay>1)?this._subsequentDelay:Math.round(this._currentTimeout*this._subsequentDelay));this._timer=setTimeout(dojo.hitch(this,"_fireEventAndReload"),this._currentTimeout);},trigger:function(evt,_this,node,callback,obj,subsequentDelay,initialDelay){if(obj!=this._obj){this.stop();this._initialDelay=initialDelay||500;this._subsequentDelay=subsequentDelay||0.90;this._obj=obj;this._evt=evt;this._node=node;this._currentTimeout=-1;this._count=-1;this._callback=dojo.hitch(_this,callback);this._fireEventAndReload();}},stop:function(){if(this._timer){clearTimeout(this._timer);this._timer=null;}
if(this._obj){this._callback(-1,this._node,this._evt);this._obj=null;}},addKeyListener:function(node,keyObject,_this,callback,subsequentDelay,initialDelay){return[dojo.connect(node,"onkeypress",this,function(evt){if(evt.keyCode==keyObject.keyCode&&(!keyObject.charCode||keyObject.charCode==evt.charCode)&&(keyObject.ctrlKey===undefined||keyObject.ctrlKey==evt.ctrlKey)&&(keyObject.altKey===undefined||keyObject.altKey==evt.ctrlKey)&&(keyObject.shiftKey===undefined||keyObject.shiftKey==evt.ctrlKey)){dojo.stopEvent(evt);dijit.typematic.trigger(keyObject,_this,node,callback,keyObject,subsequentDelay,initialDelay);}else if(dijit.typematic._obj==keyObject){dijit.typematic.stop();}}),dojo.connect(node,"onkeyup",this,function(evt){if(dijit.typematic._obj==keyObject){dijit.typematic.stop();}})];},addMouseListener:function(node,_this,callback,subsequentDelay,initialDelay){var dc=dojo.connect;return[dc(node,"mousedown",this,function(evt){dojo.stopEvent(evt);dijit.typematic.trigger(evt,_this,node,callback,node,subsequentDelay,initialDelay);}),dc(node,"mouseup",this,function(evt){dojo.stopEvent(evt);dijit.typematic.stop();}),dc(node,"mouseout",this,function(evt){dojo.stopEvent(evt);dijit.typematic.stop();}),dc(node,"mousemove",this,function(evt){dojo.stopEvent(evt);}),dc(node,"dblclick",this,function(evt){dojo.stopEvent(evt);if(dojo.isIE){dijit.typematic.trigger(evt,_this,node,callback,node,subsequentDelay,initialDelay);setTimeout(dojo.hitch(this,dijit.typematic.stop),50);}})];},addListener:function(mouseNode,keyNode,keyObject,_this,callback,subsequentDelay,initialDelay){return this.addKeyListener(keyNode,keyObject,_this,callback,subsequentDelay,initialDelay).concat(this.addMouseListener(mouseNode,_this,callback,subsequentDelay,initialDelay));}};}
if(!dojo._hasResource["dijit._base.wai"]){dojo._hasResource["dijit._base.wai"]=true;dojo.provide("dijit._base.wai");dijit.wai={onload:function(){var div=dojo.doc.createElement("div");div.id="a11yTestNode";div.style.cssText='border: 1px solid;'
+'border-color:red green;'
+'position: absolute;'
+'height: 5px;'
+'top: -999px;'
+'background-image: url("'+dojo.moduleUrl("dojo","resources/blank.gif")+'");';dojo.body().appendChild(div);var cs=dojo.getComputedStyle(div);if(cs){var bkImg=cs.backgroundImage;var needsA11y=(cs.borderTopColor==cs.borderRightColor)||(bkImg!=null&&(bkImg=="none"||bkImg=="url(invalid-url:)"));dojo[needsA11y?"addClass":"removeClass"](dojo.body(),"dijit_a11y");dojo.body().removeChild(div);}}};if(dojo.isIE||dojo.isMoz){dojo._loaders.unshift(dijit.wai.onload);}
dojo.mixin(dijit,{hasWaiRole:function(elem){return elem.hasAttribute?elem.hasAttribute("role"):!!elem.getAttribute("role");},getWaiRole:function(elem){var value=elem.getAttribute("role");if(value){var prefixEnd=value.indexOf(":");return prefixEnd==-1?value:value.substring(prefixEnd+1);}else{return"";}},setWaiRole:function(elem,role){elem.setAttribute("role",(dojo.isFF&&dojo.isFF<3)?"wairole:"+role:role);},removeWaiRole:function(elem){elem.removeAttribute("role");},hasWaiState:function(elem,state){if(dojo.isFF&&dojo.isFF<3){return elem.hasAttributeNS("http://www.w3.org/2005/07/aaa",state);}else{return elem.hasAttribute?elem.hasAttribute("aria-"+state):!!elem.getAttribute("aria-"+state);}},getWaiState:function(elem,state){if(dojo.isFF&&dojo.isFF<3){return elem.getAttributeNS("http://www.w3.org/2005/07/aaa",state);}else{var value=elem.getAttribute("aria-"+state);return value?value:"";}},setWaiState:function(elem,state,value){if(dojo.isFF&&dojo.isFF<3){elem.setAttributeNS("http://www.w3.org/2005/07/aaa","aaa:"+state,value);}else{elem.setAttribute("aria-"+state,value);}},removeWaiState:function(elem,state){if(dojo.isFF&&dojo.isFF<3){elem.removeAttributeNS("http://www.w3.org/2005/07/aaa",state);}else{elem.removeAttribute("aria-"+state);}}});}
if(!dojo._hasResource["dijit._base"]){dojo._hasResource["dijit._base"]=true;dojo.provide("dijit._base");dojo.require("dijit._base.focus");dojo.require("dijit._base.manager");dojo.require("dijit._base.place");dojo.require("dijit._base.popup");dojo.require("dijit._base.scroll");dojo.require("dijit._base.sniff");dojo.require("dijit._base.bidi");dojo.require("dijit._base.typematic");dojo.require("dijit._base.wai");dojo.require("dijit._base.window");if(dojo.isSafari){dojo.connect(window,"load",function(){window.resizeBy(1,0);setTimeout(function(){window.resizeBy(-1,0);},10);});}}
if(!dojo._hasResource["dijit._Widget"]){dojo._hasResource["dijit._Widget"]=true;dojo.provide("dijit._Widget");dojo.require("dijit._base");dojo.declare("dijit._Widget",null,{id:"",lang:"",dir:"","class":"",style:"",title:"",srcNodeRef:null,domNode:null,attributeMap:{id:"",dir:"",lang:"","class":"",style:"",title:""},postscript:function(params,srcNodeRef){this.create(params,srcNodeRef);},create:function(params,srcNodeRef){this.srcNodeRef=dojo.byId(srcNodeRef);this._connects=[];this._attaches=[];if(this.srcNodeRef&&(typeof this.srcNodeRef.id=="string")){this.id=this.srcNodeRef.id;}
if(params){this.params=params;dojo.mixin(this,params);}
this.postMixInProperties();if(!this.id){this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_"));}
dijit.registry.add(this);this.buildRendering();if(this.domNode){for(var attr in this.attributeMap){var value=this[attr];if(typeof value!="object"&&((value!==""&&value!==false)||(params&&params[attr]))){this.setAttribute(attr,value);}}}
if(this.domNode){this.domNode.setAttribute("widgetId",this.id);}
this.postCreate();if(this.srcNodeRef&&!this.srcNodeRef.parentNode){delete this.srcNodeRef;}},postMixInProperties:function(){},buildRendering:function(){this.domNode=this.srcNodeRef||dojo.doc.createElement('div');},postCreate:function(){},startup:function(){this._started=true;},destroyRecursive:function(finalize){this.destroyDescendants();this.destroy();},destroy:function(finalize){this.uninitialize();dojo.forEach(this._connects,function(array){dojo.forEach(array,dojo.disconnect);});dojo.forEach(this._supportingWidgets||[],function(w){w.destroy();});this.destroyRendering(finalize);dijit.registry.remove(this.id);},destroyRendering:function(finalize){if(this.bgIframe){this.bgIframe.destroy();delete this.bgIframe;}
if(this.domNode){dojo._destroyElement(this.domNode);delete this.domNode;}
if(this.srcNodeRef){dojo._destroyElement(this.srcNodeRef);delete this.srcNodeRef;}},destroyDescendants:function(){dojo.forEach(this.getDescendants(),function(widget){widget.destroy();});},uninitialize:function(){return false;},onFocus:function(){},onBlur:function(){},_onFocus:function(e){this.onFocus();},_onBlur:function(){this.onBlur();},setAttribute:function(attr,value){var mapNode=this[this.attributeMap[attr]||'domNode'];this[attr]=value;switch(attr){case"class":dojo.addClass(mapNode,value);break;case"style":if(mapNode.style.cssText){mapNode.style.cssText+="; "+value;}else{mapNode.style.cssText=value;}
break;default:if(/^on[A-Z]/.test(attr)){attr=attr.toLowerCase();}
if(typeof value=="function"){value=dojo.hitch(this,value);}
dojo.attr(mapNode,attr,value);}},toString:function(){return'[Widget '+this.declaredClass+', '+(this.id||'NO ID')+']';},getDescendants:function(){if(this.containerNode){var list=dojo.query('[widgetId]',this.containerNode);return list.map(dijit.byNode);}else{return[];}},nodesWithKeyClick:["input","button"],connect:function(obj,event,method){var handles=[];if(event=="ondijitclick"){if(!this.nodesWithKeyClick[obj.nodeName]){handles.push(dojo.connect(obj,"onkeydown",this,function(e){if(e.keyCode==dojo.keys.ENTER){return(dojo.isString(method))?this[method](e):method.call(this,e);}else if(e.keyCode==dojo.keys.SPACE){dojo.stopEvent(e);}}));handles.push(dojo.connect(obj,"onkeyup",this,function(e){if(e.keyCode==dojo.keys.SPACE){return dojo.isString(method)?this[method](e):method.call(this,e);}}));}
event="onclick";}
handles.push(dojo.connect(obj,event,this,method));this._connects.push(handles);return handles;},disconnect:function(handles){for(var i=0;i<this._connects.length;i++){if(this._connects[i]==handles){dojo.forEach(handles,dojo.disconnect);this._connects.splice(i,1);return;}}},isLeftToRight:function(){if(!("_ltr"in this)){this._ltr=dojo.getComputedStyle(this.domNode).direction!="rtl";}
return this._ltr;},isFocusable:function(){return this.focus&&(dojo.style(this.domNode,"display")!="none");}});}
if(!dojo._hasResource["dojo.string"]){dojo._hasResource["dojo.string"]=true;dojo.provide("dojo.string");dojo.string.pad=function(text,size,ch,end){var out=String(text);if(!ch){ch='0';}
while(out.length<size){if(end){out+=ch;}else{out=ch+out;}}
return out;};dojo.string.substitute=function(template,map,transform,thisObject){return template.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(match,key,format){var value=dojo.getObject(key,false,map);if(format){value=dojo.getObject(format,false,thisObject)(value);}
if(transform){value=transform(value,key);}
return value.toString();});};dojo.string.trim=function(str){str=str.replace(/^\s+/,'');for(var i=str.length-1;i>0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}
return str;};}
if(!dojo._hasResource["dojo.date.stamp"]){dojo._hasResource["dojo.date.stamp"]=true;dojo.provide("dojo.date.stamp");dojo.date.stamp.fromISOString=function(formattedString,defaultTime){if(!dojo.date.stamp._isoRegExp){dojo.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;}
var match=dojo.date.stamp._isoRegExp.exec(formattedString);var result=null;if(match){match.shift();if(match[1]){match[1]--;}
if(match[6]){match[6]*=1000;}
if(defaultTime){defaultTime=new Date(defaultTime);dojo.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(prop){return defaultTime["get"+prop]();}).forEach(function(value,index){if(match[index]===undefined){match[index]=value;}});}
result=new Date(match[0]||1970,match[1]||0,match[2]||1,match[3]||0,match[4]||0,match[5]||0,match[6]||0);var offset=0;var zoneSign=match[7]&&match[7].charAt(0);if(zoneSign!='Z'){offset=((match[8]||0)*60)+(Number(match[9])||0);if(zoneSign!='-'){offset*=-1;}}
if(zoneSign){offset-=result.getTimezoneOffset();}
if(offset){result.setTime(result.getTime()+offset*60000);}}
return result;}
dojo.date.stamp.toISOString=function(dateObject,options){var _=function(n){return(n<10)?"0"+n:n;};options=options||{};var formattedDate=[];var getter=options.zulu?"getUTC":"get";var date="";if(options.selector!="time"){var year=dateObject[getter+"FullYear"]();date=["0000".substr((year+"").length)+year,_(dateObject[getter+"Month"]()+1),_(dateObject[getter+"Date"]())].join('-');}
formattedDate.push(date);if(options.selector!="date"){var time=[_(dateObject[getter+"Hours"]()),_(dateObject[getter+"Minutes"]()),_(dateObject[getter+"Seconds"]())].join(':');var millis=dateObject[getter+"Milliseconds"]();if(options.milliseconds){time+="."+(millis<100?"0":"")+_(millis);}
if(options.zulu){time+="Z";}else if(options.selector!="time"){var timezoneOffset=dateObject.getTimezoneOffset();var absOffset=Math.abs(timezoneOffset);time+=(timezoneOffset>0?"-":"+")+
_(Math.floor(absOffset/60))+":"+_(absOffset%60);}
formattedDate.push(time);}
return formattedDate.join('T');}}
if(!dojo._hasResource["dojo.parser"]){dojo._hasResource["dojo.parser"]=true;dojo.provide("dojo.parser");dojo.require("dojo.date.stamp");dojo.parser=new function(){var d=dojo;var dtName=d._scopeName+"Type";var qry="["+dtName+"]";function val2type(value){if(d.isString(value)){return"string";}
if(typeof value=="number"){return"number";}
if(typeof value=="boolean"){return"boolean";}
if(d.isFunction(value)){return"function";}
if(d.isArray(value)){return"array";}
if(value instanceof Date){return"date";}
if(value instanceof d._Url){return"url";}
return"object";}
function str2obj(value,type){switch(type){case"string":return value;case"number":return value.length?Number(value):NaN;case"boolean":return typeof value=="boolean"?value:!(value.toLowerCase()=="false");case"function":if(d.isFunction(value)){value=value.toString();value=d.trim(value.substring(value.indexOf('{')+1,value.length-1));}
try{if(value.search(/[^\w\.]+/i)!=-1){value=d.parser._nameAnonFunc(new Function(value),this);}
return d.getObject(value,false);}catch(e){return new Function();}
case"array":return value.split(/\s*,\s*/);case"date":switch(value){case"":return new Date("");case"now":return new Date();default:return d.date.stamp.fromISOString(value);}
case"url":return d.baseUrl+value;default:return d.fromJson(value);}}
var instanceClasses={};function getClassInfo(className){if(!instanceClasses[className]){var cls=d.getObject(className);if(!d.isFunction(cls)){throw new Error("Could not load class '"+className+"'. Did you spell the name correctly and use a full path, like 'dijit.form.Button'?");}
var proto=cls.prototype;var params={};for(var name in proto){if(name.charAt(0)=="_"){continue;}
var defVal=proto[name];params[name]=val2type(defVal);}
instanceClasses[className]={cls:cls,params:params};}
return instanceClasses[className];}
this._functionFromScript=function(script){var preamble="";var suffix="";var argsStr=script.getAttribute("args");if(argsStr){d.forEach(argsStr.split(/\s*,\s*/),function(part,idx){preamble+="var "+part+" = arguments["+idx+"]; ";});}
var withStr=script.getAttribute("with");if(withStr&&withStr.length){d.forEach(withStr.split(/\s*,\s*/),function(part){preamble+="with("+part+"){";suffix+="}";});}
return new Function(preamble+script.innerHTML+suffix);}
this.instantiate=function(nodes){var thelist=[];d.forEach(nodes,function(node){if(!node){return;}
var type=node.getAttribute(dtName);if((!type)||(!type.length)){return;}
var clsInfo=getClassInfo(type);var clazz=clsInfo.cls;var ps=clazz._noScript||clazz.prototype._noScript;var params={};var attributes=node.attributes;for(var name in clsInfo.params){var item=attributes.getNamedItem(name);if(!item||(!item.specified&&(!dojo.isIE||name.toLowerCase()!="value"))){continue;}
var value=item.value;switch(name){case"class":value=node.className;break;case"style":value=node.style&&node.style.cssText;}
var _type=clsInfo.params[name];params[name]=str2obj(value,_type);}
if(!ps){var connects=[],calls=[];d.query("> script[type^='dojo/']",node).orphan().forEach(function(script){var event=script.getAttribute("event"),type=script.getAttribute("type"),nf=d.parser._functionFromScript(script);if(event){if(type=="dojo/connect"){connects.push({event:event,func:nf});}else{params[event]=nf;}}else{calls.push(nf);}});}
var markupFactory=clazz["markupFactory"];if(!markupFactory&&clazz["prototype"]){markupFactory=clazz.prototype["markupFactory"];}
var instance=markupFactory?markupFactory(params,node,clazz):new clazz(params,node);thelist.push(instance);var jsname=node.getAttribute("jsId");if(jsname){d.setObject(jsname,instance);}
if(!ps){d.forEach(connects,function(connect){d.connect(instance,connect.event,null,connect.func);});d.forEach(calls,function(func){func.call(instance);});}});d.forEach(thelist,function(instance){if(instance&&instance.startup&&!instance._started&&(!instance.getParent||!instance.getParent())){instance.startup();}});return thelist;};this.parse=function(rootNode){var list=d.query(qry,rootNode);var instances=this.instantiate(list);return instances;};}();(function(){var parseRunner=function(){if(dojo.config["parseOnLoad"]==true){dojo.parser.parse();}};if(dojo.exists("dijit.wai.onload")&&(dijit.wai.onload===dojo._loaders[0])){dojo._loaders.splice(1,0,parseRunner);}else{dojo._loaders.unshift(parseRunner);}})();dojo.parser._anonCtr=0;dojo.parser._anon={};dojo.parser._nameAnonFunc=function(anonFuncPtr,thisObj){var jpn="$joinpoint";var nso=(thisObj||dojo.parser._anon);if(dojo.isIE){var cn=anonFuncPtr["__dojoNameCache"];if(cn&&nso[cn]===anonFuncPtr){return anonFuncPtr["__dojoNameCache"];}}
var ret="__"+dojo.parser._anonCtr++;while(typeof nso[ret]!="undefined"){ret="__"+dojo.parser._anonCtr++;}
nso[ret]=anonFuncPtr;return ret;}}
if(!dojo._hasResource["dijit._Templated"]){dojo._hasResource["dijit._Templated"]=true;dojo.provide("dijit._Templated");dojo.require("dijit._Widget");dojo.require("dojo.string");dojo.require("dojo.parser");dojo.declare("dijit._Templated",null,{templateNode:null,templateString:null,templatePath:null,widgetsInTemplate:false,containerNode:null,_skipNodeCache:false,_stringRepl:function(tmpl){var className=this.declaredClass,_this=this;return dojo.string.substitute(tmpl,this,function(value,key){if(key.charAt(0)=='!'){value=_this[key.substr(1)];}
if(typeof value=="undefined"){throw new Error(className+" template:"+key);}
if(!value){return"";}
return key.charAt(0)=="!"?value:value.toString().replace(/"/g,"&quot;");},this);},buildRendering:function(){var cached=dijit._Templated.getCachedTemplate(this.templatePath,this.templateString,this._skipNodeCache);var node;if(dojo.isString(cached)){node=dijit._Templated._createNodesFromText(this._stringRepl(cached))[0];}else{node=cached.cloneNode(true);}
this._attachTemplateNodes(node);var source=this.srcNodeRef;if(source&&source.parentNode){source.parentNode.replaceChild(node,source);}
this.domNode=node;if(this.widgetsInTemplate){var cw=this._supportingWidgets=dojo.parser.parse(node);this._attachTemplateNodes(cw,function(n,p){return n[p];});}
this._fillContent(source);},_fillContent:function(source){var dest=this.containerNode;if(source&&dest){while(source.hasChildNodes()){dest.appendChild(source.firstChild);}}},_attachTemplateNodes:function(rootNode,getAttrFunc){getAttrFunc=getAttrFunc||function(n,p){return n.getAttribute(p);};var nodes=dojo.isArray(rootNode)?rootNode:(rootNode.all||rootNode.getElementsByTagName("*"));var x=dojo.isArray(rootNode)?0:-1;for(;x<nodes.length;x++){var baseNode=(x==-1)?rootNode:nodes[x];if(this.widgetsInTemplate&&getAttrFunc(baseNode,'dojoType')){continue;}
var attachPoint=getAttrFunc(baseNode,"dojoAttachPoint");if(attachPoint){var point,points=attachPoint.split(/\s*,\s*/);while((point=points.shift())){if(dojo.isArray(this[point])){this[point].push(baseNode);}else{this[point]=baseNode;}}}
var attachEvent=getAttrFunc(baseNode,"dojoAttachEvent");if(attachEvent){var event,events=attachEvent.split(/\s*,\s*/);var trim=dojo.trim;while((event=events.shift())){if(event){var thisFunc=null;if(event.indexOf(":")!=-1){var funcNameArr=event.split(":");event=trim(funcNameArr[0]);thisFunc=trim(funcNameArr[1]);}else{event=trim(event);}
if(!thisFunc){thisFunc=event;}
this.connect(baseNode,event,thisFunc);}}}
var role=getAttrFunc(baseNode,"waiRole");if(role){dijit.setWaiRole(baseNode,role);}
var values=getAttrFunc(baseNode,"waiState");if(values){dojo.forEach(values.split(/\s*,\s*/),function(stateValue){if(stateValue.indexOf('-')!=-1){var pair=stateValue.split('-');dijit.setWaiState(baseNode,pair[0],pair[1]);}});}}}});dijit._Templated._templateCache={};dijit._Templated.getCachedTemplate=function(templatePath,templateString,alwaysUseString){var tmplts=dijit._Templated._templateCache;var key=templateString||templatePath;var cached=tmplts[key];if(cached){return cached;}
if(!templateString){templateString=dijit._Templated._sanitizeTemplateString(dojo._getText(templatePath));}
templateString=dojo.string.trim(templateString);if(alwaysUseString||templateString.match(/\$\{([^\}]+)\}/g)){return(tmplts[key]=templateString);}else{return(tmplts[key]=dijit._Templated._createNodesFromText(templateString)[0]);}};dijit._Templated._sanitizeTemplateString=function(tString){if(tString){tString=tString.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var matches=tString.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);if(matches){tString=matches[1];}}else{tString="";}
return tString;};if(dojo.isIE){dojo.addOnUnload(function(){var cache=dijit._Templated._templateCache;for(var key in cache){var value=cache[key];if(!isNaN(value.nodeType)){dojo._destroyElement(value);}
delete cache[key];}});}
(function(){var tagMap={cell:{re:/^<t[dh][\s\r\n>]/i,pre:"<table><tbody><tr>",post:"</tr></tbody></table>"},row:{re:/^<tr[\s\r\n>]/i,pre:"<table><tbody>",post:"</tbody></table>"},section:{re:/^<(thead|tbody|tfoot)[\s\r\n>]/i,pre:"<table>",post:"</table>"}};var tn;dijit._Templated._createNodesFromText=function(text){if(!tn){tn=dojo.doc.createElement("div");tn.style.display="none";dojo.body().appendChild(tn);}
var tableType="none";var rtext=text.replace(/^\s+/,"");for(var type in tagMap){var map=tagMap[type];if(map.re.test(rtext)){tableType=type;text=map.pre+text+map.post;break;}}
tn.innerHTML=text;if(tn.normalize){tn.normalize();}
var tag={cell:"tr",row:"tbody",section:"table"}[tableType];var _parent=(typeof tag!="undefined")?tn.getElementsByTagName(tag)[0]:tn;var nodes=[];while(_parent.firstChild){nodes.push(_parent.removeChild(_parent.firstChild));}
tn.innerHTML="";return nodes;}})();dojo.extend(dijit._Widget,{dojoAttachEvent:"",dojoAttachPoint:"",waiRole:"",waiState:""})}
if(!dojo._hasResource["dijit.form._FormWidget"]){dojo._hasResource["dijit.form._FormWidget"]=true;dojo.provide("dijit.form._FormWidget");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.declare("dijit.form._FormWidget",[dijit._Widget,dijit._Templated],{baseClass:"",name:"",alt:"",value:"",type:"text",tabIndex:"0",disabled:false,readOnly:false,intermediateChanges:false,attributeMap:dojo.mixin(dojo.clone(dijit._Widget.prototype.attributeMap),{value:"focusNode",disabled:"focusNode",readOnly:"focusNode",id:"focusNode",tabIndex:"focusNode",alt:"focusNode"}),setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"disabled":var tabIndexNode=this[this.attributeMap['tabIndex']||'domNode'];if(value){this._hovering=false;this._active=false;tabIndexNode.removeAttribute('tabIndex');}else{tabIndexNode.setAttribute('tabIndex',this.tabIndex);}
dijit.setWaiState(this[this.attributeMap['disabled']||'domNode'],"disabled",value);this._setStateClass();}},setDisabled:function(disabled){dojo.deprecated("setDisabled("+disabled+") is deprecated. Use setAttribute('disabled',"+disabled+") instead.","","2.0");this.setAttribute('disabled',disabled);},_onMouse:function(event){var mouseNode=event.currentTarget;if(mouseNode&&mouseNode.getAttribute){this.stateModifier=mouseNode.getAttribute("stateModifier")||"";}
if(!this.disabled){switch(event.type){case"mouseenter":case"mouseover":this._hovering=true;this._active=this._mouseDown;break;case"mouseout":case"mouseleave":this._hovering=false;this._active=false;break;case"mousedown":this._active=true;this._mouseDown=true;var mouseUpConnector=this.connect(dojo.body(),"onmouseup",function(){this._active=false;this._mouseDown=false;this._setStateClass();this.disconnect(mouseUpConnector);});if(this.isFocusable()){this.focus();}
break;}
this._setStateClass();}},isFocusable:function(){return!this.disabled&&!this.readOnly&&this.focusNode&&(dojo.style(this.domNode,"display")!="none");},focus:function(){setTimeout(dojo.hitch(this,dijit.focus,this.focusNode),0);},_setStateClass:function(){if(!("staticClass"in this)){this.staticClass=(this.stateNode||this.domNode).className;}
var classes=[this.baseClass];function multiply(modifier){classes=classes.concat(dojo.map(classes,function(c){return c+modifier;}),"dijit"+modifier);}
if(this.checked){multiply("Checked");}
if(this.state){multiply(this.state);}
if(this.selected){multiply("Selected");}
if(this.disabled){multiply("Disabled");}else if(this.readOnly){multiply("ReadOnly");}else if(this._active){multiply(this.stateModifier+"Active");}else{if(this._focused){multiply("Focused");}
if(this._hovering){multiply(this.stateModifier+"Hover");}}
(this.stateNode||this.domNode).className=this.staticClass+" "+classes.join(" ");},onChange:function(newValue){},_onChangeMonitor:'value',_onChangeActive:false,_handleOnChange:function(newValue,priorityChange){this._lastValue=newValue;if(this._lastValueReported==undefined&&(priorityChange===null||!this._onChangeActive)){this._resetValue=this._lastValueReported=newValue;}
if((this.intermediateChanges||priorityChange||priorityChange===undefined)&&((newValue&&newValue.toString)?newValue.toString():newValue)!==((this._lastValueReported&&this._lastValueReported.toString)?this._lastValueReported.toString():this._lastValueReported)){this._lastValueReported=newValue;if(this._onChangeActive){this.onChange(newValue);}}},reset:function(){this._hasBeenBlurred=false;if(this.setValue&&!this._getValueDeprecated){this.setValue(this._resetValue,true);}else if(this._onChangeMonitor){this.setAttribute(this._onChangeMonitor,(this._resetValue!==undefined&&this._resetValue!==null)?this._resetValue:'');}},create:function(){this.inherited(arguments);this._onChangeActive=true;this._setStateClass();},destroy:function(){if(this._layoutHackHandle){clearTimeout(this._layoutHackHandle);}
this.inherited(arguments);},setValue:function(value){dojo.deprecated("dijit.form._FormWidget:setValue("+value+") is deprecated.  Use setAttribute('value',"+value+") instead.","","2.0");this.setAttribute('value',value);},_getValueDeprecated:true,getValue:function(){dojo.deprecated("dijit.form._FormWidget:getValue() is deprecated.  Use widget.value instead.","","2.0");return this.value;},_layoutHack:function(){if(dojo.isFF==2){var node=this.domNode;var old=node.style.opacity;node.style.opacity="0.999";this._layoutHackHandle=setTimeout(dojo.hitch(this,function(){this._layoutHackHandle=null;node.style.opacity=old;}),0);}}});dojo.declare("dijit.form._FormValueWidget",dijit.form._FormWidget,{attributeMap:dojo.mixin(dojo.clone(dijit.form._FormWidget.prototype.attributeMap),{value:""}),postCreate:function(){this.setValue(this.value,null);},setValue:function(newValue,priorityChange){this.value=newValue;this._handleOnChange(newValue,priorityChange);},_getValueDeprecated:false,getValue:function(){return this._lastValue;},undo:function(){this.setValue(this._lastValueReported,false);},_valueChanged:function(){var v=this.getValue();var lv=this._lastValueReported;return((v!==null&&(v!==undefined)&&v.toString)?v.toString():'')!==((lv!==null&&(lv!==undefined)&&lv.toString)?lv.toString():'');},_onKeyPress:function(e){if(e.keyCode==dojo.keys.ESCAPE&&!e.shiftKey&&!e.ctrlKey&&!e.altKey){if(this._valueChanged()){this.undo();dojo.stopEvent(e);return false;}}
return true;}});}
if(!dojo._hasResource["dijit._Container"]){dojo._hasResource["dijit._Container"]=true;dojo.provide("dijit._Container");dojo.declare("dijit._Contained",null,{getParent:function(){for(var p=this.domNode.parentNode;p;p=p.parentNode){var id=p.getAttribute&&p.getAttribute("widgetId");if(id){var parent=dijit.byId(id);return parent.isContainer?parent:null;}}
return null;},_getSibling:function(which){var node=this.domNode;do{node=node[which+"Sibling"];}while(node&&node.nodeType!=1);if(!node){return null;}
var id=node.getAttribute("widgetId");return dijit.byId(id);},getPreviousSibling:function(){return this._getSibling("previous");},getNextSibling:function(){return this._getSibling("next");}});dojo.declare("dijit._Container",null,{isContainer:true,addChild:function(widget,insertIndex){if(insertIndex===undefined){insertIndex="last";}
var refNode=this.containerNode||this.domNode;if(insertIndex&&typeof insertIndex=="number"){var children=dojo.query("> [widgetid]",refNode);if(children&&children.length>=insertIndex){refNode=children[insertIndex-1];insertIndex="after";}}
dojo.place(widget.domNode,refNode,insertIndex);if(this._started&&!widget._started){widget.startup();}},removeChild:function(widget){var node=widget.domNode;node.parentNode.removeChild(node);},_nextElement:function(node){do{node=node.nextSibling;}while(node&&node.nodeType!=1);return node;},_firstElement:function(node){node=node.firstChild;if(node&&node.nodeType!=1){node=this._nextElement(node);}
return node;},getChildren:function(){return dojo.query("> [widgetId]",this.containerNode||this.domNode).map(dijit.byNode);},hasChildren:function(){var cn=this.containerNode||this.domNode;return!!this._firstElement(cn);},_getSiblingOfChild:function(child,dir){var node=child.domNode;var which=(dir>0?"nextSibling":"previousSibling");do{node=node[which];}while(node&&(node.nodeType!=1||!dijit.byNode(node)));return node?dijit.byNode(node):null;}});dojo.declare("dijit._KeyNavContainer",[dijit._Container],{_keyNavCodes:{},connectKeyNavHandlers:function(prevKeyCodes,nextKeyCodes){var keyCodes=this._keyNavCodes={};var prev=dojo.hitch(this,this.focusPrev);var next=dojo.hitch(this,this.focusNext);dojo.forEach(prevKeyCodes,function(code){keyCodes[code]=prev});dojo.forEach(nextKeyCodes,function(code){keyCodes[code]=next});this.connect(this.domNode,"onkeypress","_onContainerKeypress");this.connect(this.domNode,"onfocus","_onContainerFocus");},startupKeyNavChildren:function(){dojo.forEach(this.getChildren(),dojo.hitch(this,"_startupChild"));},addChild:function(widget,insertIndex){dijit._KeyNavContainer.superclass.addChild.apply(this,arguments);this._startupChild(widget);},focus:function(){this.focusFirstChild();},focusFirstChild:function(){this.focusChild(this._getFirstFocusableChild());},focusNext:function(){if(this.focusedChild&&this.focusedChild.hasNextFocalNode&&this.focusedChild.hasNextFocalNode()){this.focusedChild.focusNext();return;}
var child=this._getNextFocusableChild(this.focusedChild,1);if(child.getFocalNodes){this.focusChild(child,child.getFocalNodes()[0]);}else{this.focusChild(child);}},focusPrev:function(){if(this.focusedChild&&this.focusedChild.hasPrevFocalNode&&this.focusedChild.hasPrevFocalNode()){this.focusedChild.focusPrev();return;}
var child=this._getNextFocusableChild(this.focusedChild,-1);if(child.getFocalNodes){var nodes=child.getFocalNodes();this.focusChild(child,nodes[nodes.length-1]);}else{this.focusChild(child);}},focusChild:function(widget,node){if(widget){if(this.focusedChild&&widget!==this.focusedChild){this._onChildBlur(this.focusedChild);}
this.focusedChild=widget;if(node&&widget.focusFocalNode){widget.focusFocalNode(node);}else{widget.focus();}}},_startupChild:function(widget){if(widget.getFocalNodes){dojo.forEach(widget.getFocalNodes(),function(node){dojo.attr(node,"tabindex",-1);this._connectNode(node);},this);}else{var node=widget.focusNode||widget.domNode;if(widget.isFocusable()){dojo.attr(node,"tabindex",-1);}
this._connectNode(node);}},_connectNode:function(node){this.connect(node,"onfocus","_onNodeFocus");this.connect(node,"onblur","_onNodeBlur");},_onContainerFocus:function(evt){if(evt.target===this.domNode){this.focusFirstChild();}},_onContainerKeypress:function(evt){if(evt.ctrlKey||evt.altKey){return;}
var func=this._keyNavCodes[evt.keyCode];if(func){func();dojo.stopEvent(evt);}},_onNodeFocus:function(evt){dojo.attr(this.domNode,"tabindex",-1);var widget=dijit.getEnclosingWidget(evt.target);if(widget&&widget.isFocusable()){this.focusedChild=widget;}
dojo.stopEvent(evt);},_onNodeBlur:function(evt){if(this.tabIndex){dojo.attr(this.domNode,"tabindex",this.tabIndex);}
dojo.stopEvent(evt);},_onChildBlur:function(widget){},_getFirstFocusableChild:function(){return this._getNextFocusableChild(null,1);},_getNextFocusableChild:function(child,dir){if(child){child=this._getSiblingOfChild(child,dir);}
var children=this.getChildren();for(var i=0;i<children.length;i++){if(!child){child=children[(dir>0)?0:(children.length-1)];}
if(child.isFocusable()){return child;}
child=this._getSiblingOfChild(child,dir);}
return null;}});}
if(!dojo._hasResource["dijit.form.Button"]){dojo._hasResource["dijit.form.Button"]=true;dojo.provide("dijit.form.Button");dojo.require("dijit.form._FormWidget");dojo.require("dijit._Container");dojo.declare("dijit.form.Button",dijit.form._FormWidget,{label:"",showLabel:true,iconClass:"",type:"button",baseClass:"dijitButton",templateString:"<div class=\"dijit dijitReset dijitLeft dijitInline\"\n\tdojoAttachEvent=\"onclick:_onButtonClick,onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"\n\twaiRole=\"presentation\"\n\t><button class=\"dijitReset dijitStretch dijitButtonNode dijitButtonContents\" dojoAttachPoint=\"focusNode,titleNode\"\n\t\ttype=\"${type}\" waiRole=\"button\" waiState=\"labelledby-${id}_label\"\n\t\t><span class=\"dijitReset dijitInline ${iconClass}\" dojoAttachPoint=\"iconNode\" \n \t\t\t><span class=\"dijitReset dijitToggleButtonIconChar\">&#10003;</span \n\t\t></span\n\t\t><div class=\"dijitReset dijitInline\"><center class=\"dijitReset dijitButtonText\" id=\"${id}_label\" dojoAttachPoint=\"containerNode\">${label}</center></div\n\t></button\n></div>\n",_onChangeMonitor:'',_onClick:function(e){if(this.disabled||this.readOnly){dojo.stopEvent(e);return false;}
this._clicked();return this.onClick(e);},_onButtonClick:function(e){if(this._onClick(e)===false){dojo.stopEvent(e);}else if(this.type=="submit"&&!this.focusNode.form){for(var node=this.domNode;node.parentNode;node=node.parentNode){var widget=dijit.byNode(node);if(widget&&typeof widget._onSubmit=="function"){widget._onSubmit(e);break;}}}},postCreate:function(){if(this.showLabel==false){var labelText="";this.label=this.containerNode.innerHTML;labelText=dojo.trim(this.containerNode.innerText||this.containerNode.textContent||'');this.titleNode.title=labelText;dojo.addClass(this.containerNode,"dijitDisplayNone");}
dojo.setSelectable(this.focusNode,false);this.inherited(arguments);},onClick:function(e){return true;},_clicked:function(e){},setLabel:function(content){this.containerNode.innerHTML=this.label=content;this._layoutHack();if(this.showLabel==false){this.titleNode.title=dojo.trim(this.containerNode.innerText||this.containerNode.textContent||'');}}});dojo.declare("dijit.form.DropDownButton",[dijit.form.Button,dijit._Container],{baseClass:"dijitDropDownButton",templateString:"<div class=\"dijit dijitReset dijitLeft dijitInline\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse,onclick:_onDropDownClick,onkeydown:_onDropDownKeydown,onblur:_onDropDownBlur,onkeypress:_onKey\"\n\twaiRole=\"presentation\"\n\t><div class='dijitReset dijitRight' waiRole=\"presentation\"\n\t><button class=\"dijitReset dijitStretch dijitButtonNode dijitButtonContents\" type=\"${type}\"\n\t\tdojoAttachPoint=\"focusNode,titleNode\" waiRole=\"button\" waiState=\"haspopup-true,labelledby-${id}_label\"\n\t\t><div class=\"dijitReset dijitInline ${iconClass}\" dojoAttachPoint=\"iconNode\" waiRole=\"presentation\"></div\n\t\t><div class=\"dijitReset dijitInline dijitButtonText\"  dojoAttachPoint=\"containerNode,popupStateNode\" waiRole=\"presentation\"\n\t\t\tid=\"${id}_label\">${label}</div\n\t\t><div class=\"dijitReset dijitInline dijitArrowButtonInner\" waiRole=\"presentation\">&thinsp;</div\n\t\t><div class=\"dijitReset dijitInline dijitArrowButtonChar\" waiRole=\"presentation\">&#9660;</div\n\t></button\n></div></div>\n",_fillContent:function(){if(this.srcNodeRef){var nodes=dojo.query("*",this.srcNodeRef);dijit.form.DropDownButton.superclass._fillContent.call(this,nodes[0]);this.dropDownContainer=this.srcNodeRef;}},startup:function(){if(this._started){return;}
if(!this.dropDown){var dropDownNode=dojo.query("[widgetId]",this.dropDownContainer)[0];this.dropDown=dijit.byNode(dropDownNode);delete this.dropDownContainer;}
dijit.popup.prepare(this.dropDown.domNode);this.inherited(arguments);},destroyDescendants:function(){if(this.dropDown){this.dropDown.destroyRecursive();delete this.dropDown;}
this.inherited(arguments);},_onArrowClick:function(e){if(this.disabled||this.readOnly){return;}
this._toggleDropDown();},_onDropDownClick:function(e){var isMacFFlessThan3=dojo.isFF&&dojo.isFF<3&&navigator.appVersion.indexOf("Macintosh")!=-1;if(!isMacFFlessThan3||e.detail!=0||this._seenKeydown){this._onArrowClick(e);}
this._seenKeydown=false;},_onDropDownKeydown:function(e){this._seenKeydown=true;},_onDropDownBlur:function(e){this._seenKeydown=false;},_onKey:function(e){if(this.disabled||this.readOnly){return;}
if(e.keyCode==dojo.keys.DOWN_ARROW){if(!this.dropDown||this.dropDown.domNode.style.visibility=="hidden"){dojo.stopEvent(e);this._toggleDropDown();}}},_onBlur:function(){this._closeDropDown();this.inherited(arguments);},_toggleDropDown:function(){if(this.disabled||this.readOnly){return;}
dijit.focus(this.popupStateNode);var dropDown=this.dropDown;if(!dropDown){return;}
if(!this._opened){if(dropDown.href&&!dropDown.isLoaded){var self=this;var handler=dojo.connect(dropDown,"onLoad",function(){dojo.disconnect(handler);self._openDropDown();});dropDown._loadCheck(true);return;}else{this._openDropDown();}}else{this._closeDropDown();}},_openDropDown:function(){var dropDown=this.dropDown;var oldWidth=dropDown.domNode.style.width;var self=this;dijit.popup.open({parent:this,popup:dropDown,around:this.domNode,orient:this.isLeftToRight()?{'BL':'TL','BR':'TR','TL':'BL','TR':'BR'}:{'BR':'TR','BL':'TL','TR':'BR','TL':'BL'},onExecute:function(){self._closeDropDown(true);},onCancel:function(){self._closeDropDown(true);},onClose:function(){dropDown.domNode.style.width=oldWidth;self.popupStateNode.removeAttribute("popupActive");this._opened=false;}});if(this.domNode.offsetWidth>dropDown.domNode.offsetWidth){var adjustNode=null;if(!this.isLeftToRight()){adjustNode=dropDown.domNode.parentNode;var oldRight=adjustNode.offsetLeft+adjustNode.offsetWidth;}
dojo.marginBox(dropDown.domNode,{w:this.domNode.offsetWidth});if(adjustNode){adjustNode.style.left=oldRight-this.domNode.offsetWidth+"px";}}
this.popupStateNode.setAttribute("popupActive","true");this._opened=true;if(dropDown.focus){dropDown.focus();}},_closeDropDown:function(focus){if(this._opened){dijit.popup.close(this.dropDown);if(focus){this.focus();}
this._opened=false;}}});dojo.declare("dijit.form.ComboButton",dijit.form.DropDownButton,{templateString:"<table class='dijit dijitReset dijitInline dijitLeft'\n\tcellspacing='0' cellpadding='0' waiRole=\"presentation\"\n\t><tbody waiRole=\"presentation\"><tr waiRole=\"presentation\"\n\t\t><td\tclass=\"dijitReset dijitStretch dijitButtonContents dijitButtonNode\"\n\t\t\ttabIndex=\"${tabIndex}\"\n\t\t\tdojoAttachEvent=\"ondijitclick:_onButtonClick,onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\"  dojoAttachPoint=\"titleNode\"\n\t\t\twaiRole=\"button\" waiState=\"labelledby-${id}_label\"\n\t\t\t><div class=\"dijitReset dijitInline ${iconClass}\" dojoAttachPoint=\"iconNode\" waiRole=\"presentation\"></div\n\t\t\t><div class=\"dijitReset dijitInline dijitButtonText\" id=\"${id}_label\" dojoAttachPoint=\"containerNode\" waiRole=\"presentation\">${label}</div\n\t\t></td\n\t\t><td class='dijitReset dijitStretch dijitButtonNode dijitArrowButton dijitDownArrowButton'\n\t\t\tdojoAttachPoint=\"popupStateNode,focusNode\"\n\t\t\tdojoAttachEvent=\"ondijitclick:_onArrowClick, onkeypress:_onKey,onmouseenter:_onMouse,onmouseleave:_onMouse\"\n\t\t\tstateModifier=\"DownArrow\"\n\t\t\ttitle=\"${optionsTitle}\" name=\"${name}\"\n\t\t\twaiRole=\"button\" waiState=\"haspopup-true\"\n\t\t\t><div class=\"dijitReset dijitArrowButtonInner\" waiRole=\"presentation\">&thinsp;</div\n\t\t\t><div class=\"dijitReset dijitArrowButtonChar\" waiRole=\"presentation\">&#9660;</div\n\t\t></td\n\t></tr></tbody\n></table>\n",attributeMap:dojo.mixin(dojo.clone(dijit.form._FormWidget.prototype.attributeMap),{id:"",name:""}),optionsTitle:"",baseClass:"dijitComboButton",_focusedNode:null,postCreate:function(){this.inherited(arguments);this._focalNodes=[this.titleNode,this.popupStateNode];dojo.forEach(this._focalNodes,dojo.hitch(this,function(node){if(dojo.isIE){this.connect(node,"onactivate",this._onNodeFocus);this.connect(node,"ondeactivate",this._onNodeBlur);}else{this.connect(node,"onfocus",this._onNodeFocus);this.connect(node,"onblur",this._onNodeBlur);}}));},focusFocalNode:function(node){this._focusedNode=node;dijit.focus(node);},hasNextFocalNode:function(){return this._focusedNode!==this.getFocalNodes()[1];},focusNext:function(){this._focusedNode=this.getFocalNodes()[this._focusedNode?1:0];dijit.focus(this._focusedNode);},hasPrevFocalNode:function(){return this._focusedNode!==this.getFocalNodes()[0];},focusPrev:function(){this._focusedNode=this.getFocalNodes()[this._focusedNode?0:1];dijit.focus(this._focusedNode);},getFocalNodes:function(){return this._focalNodes;},_onNodeFocus:function(evt){this._focusedNode=evt.currentTarget;var fnc=this._focusedNode==this.focusNode?"dijitDownArrowButtonFocused":"dijitButtonContentsFocused";dojo.addClass(this._focusedNode,fnc);},_onNodeBlur:function(evt){var fnc=evt.currentTarget==this.focusNode?"dijitDownArrowButtonFocused":"dijitButtonContentsFocused";dojo.removeClass(evt.currentTarget,fnc);},_onBlur:function(){this.inherited(arguments);this._focusedNode=null;}});dojo.declare("dijit.form.ToggleButton",dijit.form.Button,{baseClass:"dijitToggleButton",checked:false,_onChangeMonitor:'checked',attributeMap:dojo.mixin(dojo.clone(dijit.form.Button.prototype.attributeMap),{checked:"focusNode"}),_clicked:function(evt){this.setAttribute('checked',!this.checked);},setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"checked":dijit.setWaiState(this.focusNode||this.domNode,"pressed",this.checked);this._setStateClass();this._handleOnChange(this.checked,true);}},setChecked:function(checked){dojo.deprecated("setChecked("+checked+") is deprecated. Use setAttribute('checked',"+checked+") instead.","","2.0");this.setAttribute('checked',checked);},postCreate:function(){this.inherited(arguments);this.setAttribute('checked',this.checked);}});}
if(!dojo._hasResource["dijit.form.TextBox"]){dojo._hasResource["dijit.form.TextBox"]=true;dojo.provide("dijit.form.TextBox");dojo.require("dijit.form._FormWidget");dojo.declare("dijit.form.TextBox",dijit.form._FormValueWidget,{trim:false,uppercase:false,lowercase:false,propercase:false,maxLength:"",templateString:"<input class=\"dijit dijitReset dijitLeft\" dojoAttachPoint='textbox,focusNode' name=\"${name}\"\n\tdojoAttachEvent='onmouseenter:_onMouse,onmouseleave:_onMouse,onfocus:_onMouse,onblur:_onMouse,onkeypress:_onKeyPress'\n\tautocomplete=\"off\" type=\"${type}\"\n\t/>\n",baseClass:"dijitTextBox",attributeMap:dojo.mixin(dojo.clone(dijit.form._FormValueWidget.prototype.attributeMap),{maxLength:"focusNode"}),getDisplayedValue:function(){return this.filter(this.textbox.value);},getValue:function(){return this.parse(this.getDisplayedValue(),this.constraints);},setValue:function(value,priorityChange,formattedValue){var filteredValue=this.filter(value);if((((typeof filteredValue==typeof value)&&(value!==undefined))||(value===null))&&(formattedValue==null||formattedValue==undefined)){formattedValue=this.format(filteredValue,this.constraints);}
if(formattedValue!=null&&formattedValue!=undefined){this.textbox.value=formattedValue;}
dijit.form.TextBox.superclass.setValue.call(this,filteredValue,priorityChange);},setDisplayedValue:function(value,priorityChange){this.textbox.value=value;this.setValue(this.getValue(),priorityChange);},format:function(value,constraints){return((value==null||value==undefined)?"":(value.toString?value.toString():value));},parse:function(value,constraints){return value;},postCreate:function(){this.textbox.setAttribute("value",this.getDisplayedValue());this.inherited(arguments);this._layoutHack();},filter:function(val){if(val===null||val===undefined){return"";}
else if(typeof val!="string"){return val;}
if(this.trim){val=dojo.trim(val);}
if(this.uppercase){val=val.toUpperCase();}
if(this.lowercase){val=val.toLowerCase();}
if(this.propercase){val=val.replace(/[^\s]+/g,function(word){return word.substring(0,1).toUpperCase()+word.substring(1);});}
return val;},_setBlurValue:function(){this.setValue(this.getValue(),(this.isValid?this.isValid():true));},_onBlur:function(){this._setBlurValue();this.inherited(arguments);}});dijit.selectInputText=function(element,start,stop){var _window=dojo.global;var _document=dojo.doc;element=dojo.byId(element);if(isNaN(start)){start=0;}
if(isNaN(stop)){stop=element.value?element.value.length:0;}
element.focus();if(_document["selection"]&&dojo.body()["createTextRange"]){if(element.createTextRange){var range=element.createTextRange();with(range){collapse(true);moveStart("character",start);moveEnd("character",stop);select();}}}else if(_window["getSelection"]){var selection=_window.getSelection();if(element.setSelectionRange){element.setSelectionRange(start,stop);}}}}
if(!dojo._hasResource["dojo.i18n"]){dojo._hasResource["dojo.i18n"]=true;dojo.provide("dojo.i18n");dojo.i18n.getLocalization=function(packageName,bundleName,locale){locale=dojo.i18n.normalizeLocale(locale);var elements=locale.split('-');var module=[packageName,"nls",bundleName].join('.');if(xcr!=undefined&&xcr.nls!=undefined&&xcr.nls[module]!=undefined)
{var clazz=function(){};clazz.prototype=xcr.nls[module];return new clazz();}
var bundle=dojo._loadedModules[module];if(bundle){var localization;for(var i=elements.length;i>0;i--){var loc=elements.slice(0,i).join('_');if(bundle[loc]){localization=bundle[loc];break;}}
if(!localization){localization=bundle.ROOT;}
if(localization){var clazz=function(){};clazz.prototype=localization;return new clazz();}}
throw new Error("Bundle not found: "+bundleName+" in "+packageName+" , locale="+locale);};dojo.i18n.normalizeLocale=function(locale){var result=locale?locale.toLowerCase():dojo.locale;if(result=="root"){result="ROOT";}
return result;};dojo.i18n._requireLocalization=function(moduleName,bundleName,locale,availableFlatLocales){var targetLocale=dojo.i18n.normalizeLocale(locale);var bundlePackage=[moduleName,"nls",bundleName].join(".");if(xcr!=undefined&&xcr.nls!=undefined&&xcr.nls[bundlePackage]!=undefined)
return true;var bestLocale="";if(availableFlatLocales){var flatLocales=availableFlatLocales.split(",");for(var i=0;i<flatLocales.length;i++){if(targetLocale.indexOf(flatLocales[i])==0){if(flatLocales[i].length>bestLocale.length){bestLocale=flatLocales[i];}}}
if(!bestLocale){bestLocale="ROOT";}}
var tempLocale=availableFlatLocales?bestLocale:targetLocale;var bundle=dojo._loadedModules[bundlePackage];var localizedBundle=null;if(bundle){if(dojo.config.localizationComplete&&bundle._built){return;}
var jsLoc=tempLocale.replace(/-/g,'_');var translationPackage=bundlePackage+"."+jsLoc;localizedBundle=dojo._loadedModules[translationPackage];}
if(!localizedBundle){bundle=dojo["provide"](bundlePackage);var syms=dojo._getModuleSymbols(moduleName);var modpath=syms.concat("nls").join("/");var parent;dojo.i18n._searchLocalePath(tempLocale,availableFlatLocales,function(loc){var jsLoc=loc.replace(/-/g,'_');var translationPackage=bundlePackage+"."+jsLoc;var loaded=false;if(!dojo._loadedModules[translationPackage]){dojo["provide"](translationPackage);var module=[modpath];if(loc!="ROOT"){module.push(loc);}
module.push(bundleName);var filespec=module.join("/")+'.js';loaded=dojo._loadPath(filespec,null,function(hash){var clazz=function(){};clazz.prototype=parent;bundle[jsLoc]=new clazz();for(var j in hash){bundle[jsLoc][j]=hash[j];}});}else{loaded=true;}
if(loaded&&bundle[jsLoc]){parent=bundle[jsLoc];}else{bundle[jsLoc]=parent;}
if(availableFlatLocales){return true;}});}
if(availableFlatLocales&&targetLocale!=bestLocale){bundle[targetLocale.replace(/-/g,'_')]=bundle[bestLocale.replace(/-/g,'_')];}};(function(){var extra=dojo.config.extraLocale;if(extra){if(!extra instanceof Array){extra=[extra];}
var req=dojo.i18n._requireLocalization;dojo.i18n._requireLocalization=function(m,b,locale,availableFlatLocales){req(m,b,locale,availableFlatLocales);if(locale){return;}
for(var i=0;i<extra.length;i++){req(m,b,extra[i],availableFlatLocales);}};}})();dojo.i18n._searchLocalePath=function(locale,down,searchFunc){locale=dojo.i18n.normalizeLocale(locale);var elements=locale.split('-');var searchlist=[];for(var i=elements.length;i>0;i--){searchlist.push(elements.slice(0,i).join('-'));}
searchlist.push(false);if(down){searchlist.reverse();}
for(var j=searchlist.length-1;j>=0;j--){var loc=searchlist[j]||"ROOT";var stop=searchFunc(loc);if(stop){break;}}};dojo.i18n._preloadLocalizations=function(bundlePrefix,localesGenerated){function preload(locale){locale=dojo.i18n.normalizeLocale(locale);dojo.i18n._searchLocalePath(locale,true,function(loc){for(var i=0;i<localesGenerated.length;i++){if(localesGenerated[i]==loc){dojo["require"](bundlePrefix+"_"+loc);return true;}}
return false;});}
preload();var extra=dojo.config.extraLocale||[];for(var i=0;i<extra.length;i++){preload(extra[i]);}};}
if(!dojo._hasResource["dijit.Tooltip"]){dojo._hasResource["dijit.Tooltip"]=true;dojo.provide("dijit.Tooltip");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.declare("dijit._MasterTooltip",[dijit._Widget,dijit._Templated],{duration:200,templateString:"<div class=\"dijitTooltip dijitTooltipLeft\" id=\"dojoTooltip\">\n\t<div class=\"dijitTooltipContainer dijitTooltipContents\" dojoAttachPoint=\"containerNode\" waiRole='alert'></div>\n\t<div class=\"dijitTooltipConnector\"></div>\n</div>\n",postCreate:function(){dojo.body().appendChild(this.domNode);this.bgIframe=new dijit.BackgroundIframe(this.domNode);this.fadeIn=dojo.fadeIn({node:this.domNode,duration:this.duration,onEnd:dojo.hitch(this,"_onShow")});this.fadeOut=dojo.fadeOut({node:this.domNode,duration:this.duration,onEnd:dojo.hitch(this,"_onHide")});},show:function(innerHTML,aroundNode,position){if(this.aroundNode&&this.aroundNode===aroundNode){return;}
if(this.fadeOut.status()=="playing"){this._onDeck=arguments;return;}
this.containerNode.innerHTML=innerHTML;this.domNode.style.top=(this.domNode.offsetTop+1)+"px";var align={};var ltr=this.isLeftToRight();dojo.forEach((position&&position.length)?position:dijit.Tooltip.defaultPosition,function(pos){switch(pos){case"after":align[ltr?"BR":"BL"]=ltr?"BL":"BR";break;case"before":align[ltr?"BL":"BR"]=ltr?"BR":"BL";break;case"below":align[ltr?"BL":"BR"]=ltr?"TL":"TR";align[ltr?"BR":"BL"]=ltr?"TR":"TL";break;case"above":default:align[ltr?"TL":"TR"]=ltr?"BL":"BR";align[ltr?"TR":"TL"]=ltr?"BR":"BL";break;}});var pos=dijit.placeOnScreenAroundElement(this.domNode,aroundNode,align,dojo.hitch(this,"orient"));dojo.style(this.domNode,"opacity",0);this.fadeIn.play();this.isShowingNow=true;this.aroundNode=aroundNode;},orient:function(node,aroundCorner,tooltipCorner){node.className="dijitTooltip "+
{"BL-TL":"dijitTooltipBelow dijitTooltipABLeft","TL-BL":"dijitTooltipAbove dijitTooltipABLeft","BR-TR":"dijitTooltipBelow dijitTooltipABRight","TR-BR":"dijitTooltipAbove dijitTooltipABRight","BR-BL":"dijitTooltipRight","BL-BR":"dijitTooltipLeft"}[aroundCorner+"-"+tooltipCorner];},_onShow:function(){if(dojo.isIE){this.domNode.style.filter="";}},hide:function(aroundNode){if(!this.aroundNode||this.aroundNode!==aroundNode){return;}
if(this._onDeck){this._onDeck=null;return;}
this.fadeIn.stop();this.isShowingNow=false;this.aroundNode=null;this.fadeOut.play();},_onHide:function(){this.domNode.style.cssText="";if(this._onDeck){this.show.apply(this,this._onDeck);this._onDeck=null;}}});dijit.showTooltip=function(innerHTML,aroundNode,position){if(!dijit._masterTT){dijit._masterTT=new dijit._MasterTooltip();}
return dijit._masterTT.show(innerHTML,aroundNode,position);};dijit.hideTooltip=function(aroundNode){if(!dijit._masterTT){dijit._masterTT=new dijit._MasterTooltip();}
return dijit._masterTT.hide(aroundNode);};dojo.declare("dijit.Tooltip",dijit._Widget,{label:"",showDelay:400,connectId:[],position:[],postCreate:function(){if(this.srcNodeRef){this.srcNodeRef.style.display="none";}
this._connectNodes=[];dojo.forEach(this.connectId,function(id){var node=dojo.byId(id);if(node){this._connectNodes.push(node);dojo.forEach(["onMouseOver","onMouseOut","onFocus","onBlur","onHover","onUnHover"],function(event){this.connect(node,event.toLowerCase(),"_"+event);},this);if(dojo.isIE){node.style.zoom=1;}}},this);},_onMouseOver:function(e){this._onHover(e);},_onMouseOut:function(e){if(dojo.isDescendant(e.relatedTarget,e.target)){return;}
this._onUnHover(e);},_onFocus:function(e){this._focus=true;this._onHover(e);this.inherited(arguments);},_onBlur:function(e){this._focus=false;this._onUnHover(e);this.inherited(arguments);},_onHover:function(e){if(!this._showTimer){var target=e.target;this._showTimer=setTimeout(dojo.hitch(this,function(){this.open(target)}),this.showDelay);}},_onUnHover:function(e){if(this._focus){return;}
if(this._showTimer){clearTimeout(this._showTimer);delete this._showTimer;}
this.close();},open:function(target){target=target||this._connectNodes[0];if(!target){return;}
if(this._showTimer){clearTimeout(this._showTimer);delete this._showTimer;}
dijit.showTooltip(this.label||this.domNode.innerHTML,target,this.position);this._connectNode=target;},close:function(){dijit.hideTooltip(this._connectNode);delete this._connectNode;if(this._showTimer){clearTimeout(this._showTimer);delete this._showTimer;}},uninitialize:function(){this.close();}});dijit.Tooltip.defaultPosition=["after","before"];}
if(!dojo._hasResource["dijit.form.ValidationTextBox"]){dojo._hasResource["dijit.form.ValidationTextBox"]=true;dojo.provide("dijit.form.ValidationTextBox");dojo.require("dojo.i18n");dojo.require("dijit.form.TextBox");dojo.require("dijit.Tooltip");dojo.requireLocalization("dijit.form","validate",null,"cs,de,es,fr,gr,hu,it,ja,ko,pl,pt,ru,ROOT,zh,zh-cn,zh-tw");dojo.declare("dijit.form.ValidationTextBox",dijit.form.TextBox,{templateString:"<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\" waiRole=\"presentation\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div class=\"dijitReset dijitValidationIconText\">&Chi;</div\n\t\t><div class=\"dijitReset dijitInputField\"\n\t\t\t><input class=\"dijitReset\" dojoAttachPoint='textbox,focusNode' dojoAttachEvent='onfocus:_update,onkeyup:_update,onblur:_onMouse,onkeypress:_onKeyPress' autocomplete=\"off\"\n\t\t\ttype='${type}' name='${name}'\n\t\t/></div\n\t></div\n></div>\n",baseClass:"dijitTextBox",required:false,promptMessage:"",invalidMessage:"$_unset_$",constraints:{},regExp:".*",regExpGen:function(constraints){return this.regExp;},state:"",tooltipPosition:[],setValue:function(){this.inherited(arguments);this.validate(this._focused);},validator:function(value,constraints){return(new RegExp("^("+this.regExpGen(constraints)+")"+(this.required?"":"?")+"$")).test(value)&&(!this.required||!this._isEmpty(value))&&(this._isEmpty(value)||this.parse(value,constraints)!==undefined);},isValid:function(isFocused){return this.validator(this.textbox.value,this.constraints);},_isEmpty:function(value){return/^\s*$/.test(value);},getErrorMessage:function(isFocused){return this.invalidMessage;},getPromptMessage:function(isFocused){return this.promptMessage;},validate:function(isFocused){var message="";var isValid=this.isValid(isFocused);var isEmpty=this._isEmpty(this.textbox.value);this.state=(isValid||(!this._hasBeenBlurred&&isEmpty))?"":"Error";this._setStateClass();dijit.setWaiState(this.focusNode,"invalid",isValid?"false":"true");if(isFocused){if(isEmpty){message=this.getPromptMessage(true);}
if(!message&&this.state=="Error"){message=this.getErrorMessage(true);}}
this.displayMessage(message);return isValid;},_message:"",displayMessage:function(message){if(this._message==message){return;}
this._message=message;dijit.hideTooltip(this.domNode);if(message){dijit.showTooltip(message,this.domNode,this.tooltipPosition);}},_refreshState:function(){this.validate(this._focused);},_update:function(e){this._refreshState();this._onMouse(e);},constructor:function(){this.constraints={};},postMixInProperties:function(){this.inherited(arguments);this.constraints.locale=this.lang;this.messages=dojo.i18n.getLocalization("dijit.form","validate",this.lang);if(this.invalidMessage=="$_unset_$"){this.invalidMessage=this.messages.invalidMessage;}
var p=this.regExpGen(this.constraints);this.regExp=p;}});dojo.declare("dijit.form.MappedTextBox",dijit.form.ValidationTextBox,{serialize:function(val,options){return val.toString?val.toString():"";},toString:function(){var val=this.filter(this.getValue());return val!=null?(typeof val=="string"?val:this.serialize(val,this.constraints)):"";},validate:function(){this.valueNode.value=this.toString();return this.inherited(arguments);},setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"disabled":if(this.valueNode){this.valueNode.disabled=this.disabled;}}},postCreate:function(){var textbox=this.textbox;var valueNode=(this.valueNode=dojo.doc.createElement("input"));valueNode.setAttribute("type",textbox.type);valueNode.setAttribute("value",this.toString());dojo.style(valueNode,"display","none");valueNode.name=this.textbox.name;valueNode.disabled=this.textbox.disabled;this.textbox.name=this.textbox.name+"_displayed_";this.textbox.removeAttribute("name");dojo.place(valueNode,textbox,"after");this.inherited(arguments);}});dojo.declare("dijit.form.RangeBoundTextBox",dijit.form.MappedTextBox,{rangeMessage:"",compare:function(val1,val2){return val1-val2;},rangeCheck:function(primitive,constraints){var isMin="min"in constraints;var isMax="max"in constraints;if(isMin||isMax){return(!isMin||this.compare(primitive,constraints.min)>=0)&&(!isMax||this.compare(primitive,constraints.max)<=0);}
return true;},isInRange:function(isFocused){return this.rangeCheck(this.getValue(),this.constraints);},isValid:function(isFocused){return this.inherited(arguments)&&((this._isEmpty(this.textbox.value)&&!this.required)||this.isInRange(isFocused));},getErrorMessage:function(isFocused){if(dijit.form.RangeBoundTextBox.superclass.isValid.call(this,false)&&!this.isInRange(isFocused)){return this.rangeMessage;}
return this.inherited(arguments);},postMixInProperties:function(){this.inherited(arguments);if(!this.rangeMessage){this.messages=dojo.i18n.getLocalization("dijit.form","validate",this.lang);this.rangeMessage=this.messages.rangeMessage;}},postCreate:function(){this.inherited(arguments);if(this.constraints.min!==undefined){dijit.setWaiState(this.focusNode,"valuemin",this.constraints.min);}
if(this.constraints.max!==undefined){dijit.setWaiState(this.focusNode,"valuemax",this.constraints.max);}},setValue:function(value,priorityChange){dijit.setWaiState(this.focusNode,"valuenow",value);this.inherited('setValue',arguments);}});}
if(!dojo._hasResource["dojo.cldr.supplemental"]){dojo._hasResource["dojo.cldr.supplemental"]=true;dojo.provide("dojo.cldr.supplemental");dojo.require("dojo.i18n");dojo.cldr.supplemental.getFirstDayOfWeek=function(locale){var firstDay={mv:5,ae:6,af:6,bh:6,dj:6,dz:6,eg:6,er:6,et:6,iq:6,ir:6,jo:6,ke:6,kw:6,lb:6,ly:6,ma:6,om:6,qa:6,sa:6,sd:6,so:6,tn:6,ye:6,as:0,au:0,az:0,bw:0,ca:0,cn:0,fo:0,ge:0,gl:0,gu:0,hk:0,ie:0,il:0,is:0,jm:0,jp:0,kg:0,kr:0,la:0,mh:0,mo:0,mp:0,mt:0,nz:0,ph:0,pk:0,sg:0,th:0,tt:0,tw:0,um:0,us:0,uz:0,vi:0,za:0,zw:0,et:0,mw:0,ng:0,tj:0,sy:4};var country=dojo.cldr.supplemental._region(locale);var dow=firstDay[country];return(dow===undefined)?1:dow;};dojo.cldr.supplemental._region=function(locale){locale=dojo.i18n.normalizeLocale(locale);var tags=locale.split('-');var region=tags[1];if(!region){region={de:"de",en:"us",es:"es",fi:"fi",fr:"fr",hu:"hu",it:"it",ja:"jp",ko:"kr",nl:"nl",pt:"br",sv:"se",zh:"cn"}[tags[0]];}else if(region.length==4){region=tags[2];}
return region;}
dojo.cldr.supplemental.getWeekend=function(locale){var weekendStart={eg:5,il:5,sy:5,'in':0,ae:4,bh:4,dz:4,iq:4,jo:4,kw:4,lb:4,ly:4,ma:4,om:4,qa:4,sa:4,sd:4,tn:4,ye:4};var weekendEnd={ae:5,bh:5,dz:5,iq:5,jo:5,kw:5,lb:5,ly:5,ma:5,om:5,qa:5,sa:5,sd:5,tn:5,ye:5,af:5,ir:5,eg:6,il:6,sy:6};var country=dojo.cldr.supplemental._region(locale);var start=weekendStart[country];var end=weekendEnd[country];if(start===undefined){start=6;}
if(end===undefined){end=0;}
return{start:start,end:end};};}
if(!dojo._hasResource["dojo.date"]){dojo._hasResource["dojo.date"]=true;dojo.provide("dojo.date");dojo.date.getDaysInMonth=function(dateObject){var month=dateObject.getMonth();var days=[31,28,31,30,31,30,31,31,30,31,30,31];if(month==1&&dojo.date.isLeapYear(dateObject)){return 29;}
return days[month];}
dojo.date.isLeapYear=function(dateObject){var year=dateObject.getFullYear();return!(year%400)||(!(year%4)&&!!(year%100));}
dojo.date.getTimezoneName=function(dateObject){var str=dateObject.toString();var tz='';var match;var pos=str.indexOf('(');if(pos>-1){tz=str.substring(++pos,str.indexOf(')'));}else{var pat=/([A-Z\/]+) \d{4}$/;if((match=str.match(pat))){tz=match[1];}else{str=dateObject.toLocaleString();pat=/ ([A-Z\/]+)$/;if((match=str.match(pat))){tz=match[1];}}}
return(tz=='AM'||tz=='PM')?'':tz;}
dojo.date.compare=function(date1,date2,portion){date1=new Date(Number(date1));date2=new Date(Number(date2||new Date()));if(portion!=="undefined"){if(portion=="date"){date1.setHours(0,0,0,0);date2.setHours(0,0,0,0);}else if(portion=="time"){date1.setFullYear(0,0,0);date2.setFullYear(0,0,0);}}
if(date1>date2){return 1;}
if(date1<date2){return-1;}
return 0;};dojo.date.add=function(date,interval,amount){var sum=new Date(Number(date));var fixOvershoot=false;var property="Date";switch(interval){case"day":break;case"weekday":var days,weeks;var mod=amount%5;if(!mod){days=(amount>0)?5:-5;weeks=(amount>0)?((amount-5)/5):((amount+5)/5);}else{days=mod;weeks=parseInt(amount/5);}
var strt=date.getDay();var adj=0;if(strt==6&&amount>0){adj=1;}else if(strt==0&&amount<0){adj=-1;}
var trgt=strt+days;if(trgt==0||trgt==6){adj=(amount>0)?2:-2;}
amount=(7*weeks)+days+adj;break;case"year":property="FullYear";fixOvershoot=true;break;case"week":amount*=7;break;case"quarter":amount*=3;case"month":fixOvershoot=true;property="Month";break;case"hour":case"minute":case"second":case"millisecond":property="UTC"+interval.charAt(0).toUpperCase()+interval.substring(1)+"s";}
if(property){sum["set"+property](sum["get"+property]()+amount);}
if(fixOvershoot&&(sum.getDate()<date.getDate())){sum.setDate(0);}
return sum;};dojo.date.difference=function(date1,date2,interval){date2=date2||new Date();interval=interval||"day";var yearDiff=date2.getFullYear()-date1.getFullYear();var delta=1;switch(interval){case"quarter":var m1=date1.getMonth();var m2=date2.getMonth();var q1=Math.floor(m1/3)+1;var q2=Math.floor(m2/3)+1;q2+=(yearDiff*4);delta=q2-q1;break;case"weekday":var days=Math.round(dojo.date.difference(date1,date2,"day"));var weeks=parseInt(dojo.date.difference(date1,date2,"week"));var mod=days%7;if(mod==0){days=weeks*5;}else{var adj=0;var aDay=date1.getDay();var bDay=date2.getDay();weeks=parseInt(days/7);mod=days%7;var dtMark=new Date(date1);dtMark.setDate(dtMark.getDate()+(weeks*7));var dayMark=dtMark.getDay();if(days>0){switch(true){case aDay==6:adj=-1;break;case aDay==0:adj=0;break;case bDay==6:adj=-1;break;case bDay==0:adj=-2;break;case(dayMark+mod)>5:adj=-2;}}else if(days<0){switch(true){case aDay==6:adj=0;break;case aDay==0:adj=1;break;case bDay==6:adj=2;break;case bDay==0:adj=1;break;case(dayMark+mod)<0:adj=2;}}
days+=adj;days-=(weeks*2);}
delta=days;break;case"year":delta=yearDiff;break;case"month":delta=(date2.getMonth()-date1.getMonth())+(yearDiff*12);break;case"week":delta=parseInt(dojo.date.difference(date1,date2,"day")/7);break;case"day":delta/=24;case"hour":delta/=60;case"minute":delta/=60;case"second":delta/=1000;case"millisecond":delta*=date2.getTime()-date1.getTime();}
return Math.round(delta);};}
if(!dojo._hasResource["dojo.regexp"]){dojo._hasResource["dojo.regexp"]=true;dojo.provide("dojo.regexp");dojo.regexp.escapeString=function(str,except){return str.replace(/([\.$?*!=:|{}\(\)\[\]\\\/^])/g,function(ch){if(except&&except.indexOf(ch)!=-1){return ch;}
return"\\"+ch;});}
dojo.regexp.buildGroupRE=function(arr,re,nonCapture){if(!(arr instanceof Array)){return re(arr);}
var b=[];for(var i=0;i<arr.length;i++){b.push(re(arr[i]));}
return dojo.regexp.group(b.join("|"),nonCapture);}
dojo.regexp.group=function(expression,nonCapture){return"("+(nonCapture?"?:":"")+expression+")";}}
if(!dojo._hasResource["dojo.date.locale"]){dojo._hasResource["dojo.date.locale"]=true;dojo.provide("dojo.date.locale");dojo.require("dojo.date");dojo.require("dojo.cldr.supplemental");dojo.require("dojo.regexp");dojo.require("dojo.string");dojo.require("dojo.i18n");dojo.requireLocalization("dojo.cldr","gregorian",null,"de,en,en-au,en-ca,en-gb,es,es-es,fr,ROOT,it,it-it,ja,ko,ko-kr,pt,pt-br,zh,zh-cn,zh-tw");(function(){function formatPattern(dateObject,bundle,fullYear,pattern){return pattern.replace(/([a-z])\1*/ig,function(match){var s,pad;var c=match.charAt(0);var l=match.length;var widthList=["abbr","wide","narrow"];switch(c){case'G':s=bundle[(l<4)?"eraAbbr":"eraNames"][dateObject.getFullYear()<0?0:1];break;case'y':s=dateObject.getFullYear();switch(l){case 1:break;case 2:if(!fullYear){s=String(s);s=s.substr(s.length-2);break;}
default:pad=true;}
break;case'Q':case'q':s=Math.ceil((dateObject.getMonth()+1)/3);pad=true;break;case'M':case'L':var m=dateObject.getMonth();var widthM;switch(l){case 1:case 2:s=m+1;pad=true;break;case 3:case 4:case 5:widthM=widthList[l-3];break;}
if(widthM){var typeM=(c=="L")?"standalone":"format";var propM=["months",typeM,widthM].join("-");s=bundle[propM][m];}
break;case'w':var firstDay=0;s=dojo.date.locale._getWeekOfYear(dateObject,firstDay);pad=true;break;case'd':s=dateObject.getDate();pad=true;break;case'D':s=dojo.date.locale._getDayOfYear(dateObject);pad=true;break;case'E':case'e':case'c':var d=dateObject.getDay();var widthD;switch(l){case 1:case 2:if(c=='e'){var first=dojo.cldr.supplemental.getFirstDayOfWeek(options.locale);d=(d-first+7)%7;}
if(c!='c'){s=d+1;pad=true;break;}
case 3:case 4:case 5:widthD=widthList[l-3];break;}
if(widthD){var typeD=(c=="c")?"standalone":"format";var propD=["days",typeD,widthD].join("-");s=bundle[propD][d];}
break;case'a':var timePeriod=(dateObject.getHours()<12)?'am':'pm';s=bundle[timePeriod];break;case'h':case'H':case'K':case'k':var h=dateObject.getHours();switch(c){case'h':s=(h%12)||12;break;case'H':s=h;break;case'K':s=(h%12);break;case'k':s=h||24;break;}
pad=true;break;case'm':s=dateObject.getMinutes();pad=true;break;case's':s=dateObject.getSeconds();pad=true;break;case'S':s=Math.round(dateObject.getMilliseconds()*Math.pow(10,l-3));pad=true;break;case'v':case'z':s=dojo.date.getTimezoneName(dateObject);if(s){break;}
l=4;case'Z':var offset=dateObject.getTimezoneOffset();var tz=[(offset<=0?"+":"-"),dojo.string.pad(Math.floor(Math.abs(offset)/60),2),dojo.string.pad(Math.abs(offset)%60,2)];if(l==4){tz.splice(0,0,"GMT");tz.splice(3,0,":");}
s=tz.join("");break;default:throw new Error("dojo.date.locale.format: invalid pattern char: "+pattern);}
if(pad){s=dojo.string.pad(s,l);}
return s;});}
dojo.date.locale.format=function(dateObject,options){options=options||{};var locale=dojo.i18n.normalizeLocale(options.locale);var formatLength=options.formatLength||'short';var bundle=dojo.date.locale._getGregorianBundle(locale);var str=[];var sauce=dojo.hitch(this,formatPattern,dateObject,bundle,options.fullYear);if(options.selector=="year"){var year=dateObject.getFullYear();if(locale.match(/^zh|^ja/)){year+="\u5E74";}
return year;}
if(options.selector!="time"){var datePattern=options.datePattern||bundle["dateFormat-"+formatLength];if(datePattern){str.push(_processPattern(datePattern,sauce));}}
if(options.selector!="date"){var timePattern=options.timePattern||bundle["timeFormat-"+formatLength];if(timePattern){str.push(_processPattern(timePattern,sauce));}}
var result=str.join(" ");return result;};dojo.date.locale.regexp=function(options){return dojo.date.locale._parseInfo(options).regexp;};dojo.date.locale._parseInfo=function(options){options=options||{};var locale=dojo.i18n.normalizeLocale(options.locale);var bundle=dojo.date.locale._getGregorianBundle(locale);var formatLength=options.formatLength||'short';var datePattern=options.datePattern||bundle["dateFormat-"+formatLength];var timePattern=options.timePattern||bundle["timeFormat-"+formatLength];var pattern;if(options.selector=='date'){pattern=datePattern;}else if(options.selector=='time'){pattern=timePattern;}else{pattern=datePattern+' '+timePattern;}
var tokens=[];var re=_processPattern(pattern,dojo.hitch(this,_buildDateTimeRE,tokens,bundle,options));return{regexp:re,tokens:tokens,bundle:bundle};};dojo.date.locale.parse=function(value,options){var info=dojo.date.locale._parseInfo(options);var tokens=info.tokens,bundle=info.bundle;var re=new RegExp("^"+info.regexp+"$");var match=re.exec(value);if(!match){return null;}
var widthList=['abbr','wide','narrow'];var result=[1970,0,1,0,0,0,0];var amPm="";var valid=dojo.every(match,function(v,i){if(!i){return true;}
var token=tokens[i-1];var l=token.length;switch(token.charAt(0)){case'y':if(l!=2&&options.strict){result[0]=v;}else{if(v<100){v=Number(v);var year=''+new Date().getFullYear();var century=year.substring(0,2)*100;var cutoff=Math.min(Number(year.substring(2,4))+20,99);var num=(v<cutoff)?century+v:century-100+v;result[0]=num;}else{if(options.strict){return false;}
result[0]=v;}}
break;case'M':if(l>2){var months=bundle['months-format-'+widthList[l-3]].concat();if(!options.strict){v=v.replace(".","").toLowerCase();months=dojo.map(months,function(s){return s.replace(".","").toLowerCase();});}
v=dojo.indexOf(months,v);if(v==-1){return false;}}else{v--;}
result[1]=v;break;case'E':case'e':var days=bundle['days-format-'+widthList[l-3]].concat();if(!options.strict){v=v.toLowerCase();days=dojo.map(days,function(d){return d.toLowerCase();});}
v=dojo.indexOf(days,v);if(v==-1){return false;}
break;case'D':result[1]=0;case'd':result[2]=v;break;case'a':var am=options.am||bundle.am;var pm=options.pm||bundle.pm;if(!options.strict){var period=/\./g;v=v.replace(period,'').toLowerCase();am=am.replace(period,'').toLowerCase();pm=pm.replace(period,'').toLowerCase();}
if(options.strict&&v!=am&&v!=pm){return false;}
amPm=(v==pm)?'p':(v==am)?'a':'';break;case'K':if(v==24){v=0;}
case'h':case'H':case'k':if(v>23){return false;}
result[3]=v;break;case'm':result[4]=v;break;case's':result[5]=v;break;case'S':result[6]=v;}
return true;});var hours=+result[3];if(amPm==='p'&&hours<12){result[3]=hours+12;}else if(amPm==='a'&&hours==12){result[3]=0;}
var dateObject=new Date(result[0],result[1],result[2],result[3],result[4],result[5],result[6]);if(options.strict){dateObject.setFullYear(result[0]);}
var allTokens=tokens.join("");if(!valid||(allTokens.indexOf('M')!=-1&&dateObject.getMonth()!=result[1])||(allTokens.indexOf('d')!=-1&&dateObject.getDate()!=result[2])){return null;}
return dateObject;};function _processPattern(pattern,applyPattern,applyLiteral,applyAll){var identity=function(x){return x;};applyPattern=applyPattern||identity;applyLiteral=applyLiteral||identity;applyAll=applyAll||identity;var chunks=pattern.match(/(''|[^'])+/g);var literal=false;dojo.forEach(chunks,function(chunk,i){if(!chunk){chunks[i]='';}else{chunks[i]=(literal?applyLiteral:applyPattern)(chunk);literal=!literal;}});return applyAll(chunks.join(''));}
function _buildDateTimeRE(tokens,bundle,options,pattern){pattern=dojo.regexp.escapeString(pattern);if(!options.strict){pattern=pattern.replace(" a"," ?a");}
return pattern.replace(/([a-z])\1*/ig,function(match){var s;var c=match.charAt(0);var l=match.length;var p2='',p3='';if(options.strict){if(l>1){p2='0'+'{'+(l-1)+'}';}
if(l>2){p3='0'+'{'+(l-2)+'}';}}else{p2='0?';p3='0{0,2}';}
switch(c){case'y':s='\\d{2,4}';break;case'M':s=(l>2)?'\\S+':p2+'[1-9]|1[0-2]';break;case'D':s=p2+'[1-9]|'+p3+'[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6]';break;case'd':s=p2+'[1-9]|[12]\\d|3[01]';break;case'w':s=p2+'[1-9]|[1-4][0-9]|5[0-3]';break;case'E':s='\\S+';break;case'h':s=p2+'[1-9]|1[0-2]';break;case'k':s=p2+'\\d|1[01]';break;case'H':s=p2+'\\d|1\\d|2[0-3]';break;case'K':s=p2+'[1-9]|1\\d|2[0-4]';break;case'm':case's':s='[0-5]\\d';break;case'S':s='\\d{'+l+'}';break;case'a':var am=options.am||bundle.am||'AM';var pm=options.pm||bundle.pm||'PM';if(options.strict){s=am+'|'+pm;}else{s=am+'|'+pm;if(am!=am.toLowerCase()){s+='|'+am.toLowerCase();}
if(pm!=pm.toLowerCase()){s+='|'+pm.toLowerCase();}}
break;default:s=".*";}
if(tokens){tokens.push(match);}
return"("+s+")";}).replace(/[\xa0 ]/g,"[\\s\\xa0]");}})();(function(){var _customFormats=[];dojo.date.locale.addCustomFormats=function(packageName,bundleName){_customFormats.push({pkg:packageName,name:bundleName});};dojo.date.locale._getGregorianBundle=function(locale){var gregorian={};dojo.forEach(_customFormats,function(desc){var bundle=dojo.i18n.getLocalization(desc.pkg,desc.name,locale);gregorian=dojo.mixin(gregorian,bundle);},this);return gregorian;};})();dojo.date.locale.addCustomFormats("dojo.cldr","gregorian");dojo.date.locale.getNames=function(item,type,use,locale){var label;var lookup=dojo.date.locale._getGregorianBundle(locale);var props=[item,use,type];if(use=='standAlone'){label=lookup[props.join('-')];}
props[1]='format';return(label||lookup[props.join('-')]).concat();};dojo.date.locale.isWeekend=function(dateObject,locale){var weekend=dojo.cldr.supplemental.getWeekend(locale);var day=(dateObject||new Date()).getDay();if(weekend.end<weekend.start){weekend.end+=7;if(day<weekend.start){day+=7;}}
return day>=weekend.start&&day<=weekend.end;};dojo.date.locale._getDayOfYear=function(dateObject){return dojo.date.difference(new Date(dateObject.getFullYear(),0,1),dateObject)+1;};dojo.date.locale._getWeekOfYear=function(dateObject,firstDayOfWeek){if(arguments.length==1){firstDayOfWeek=0;}
var firstDayOfYear=new Date(dateObject.getFullYear(),0,1).getDay();var adj=(firstDayOfYear-firstDayOfWeek+7)%7;var week=Math.floor((dojo.date.locale._getDayOfYear(dateObject)+adj-1)/7);if(firstDayOfYear==firstDayOfWeek){week++;}
return week;};}
if(!dojo._hasResource["dijit._Calendar"]){dojo._hasResource["dijit._Calendar"]=true;dojo.provide("dijit._Calendar");dojo.require("dojo.cldr.supplemental");dojo.require("dojo.date");dojo.require("dojo.date.locale");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.declare("dijit._Calendar",[dijit._Widget,dijit._Templated],{templateString:"<table cellspacing=\"0\" cellpadding=\"0\" class=\"dijitCalendarContainer\">\n\t<thead>\n\t\t<tr class=\"dijitReset dijitCalendarMonthContainer\" valign=\"top\">\n\t\t\t<th class='dijitReset' dojoAttachPoint=\"decrementMonth\">\n\t\t\t\t<div class=\"dijitInline dijitCalendarIncrementControl dijitCalendarDecrease\"><span dojoAttachPoint=\"decreaseArrowNode\" class=\"dijitA11ySideArrow dijitCalendarIncrementControl dijitCalendarDecreaseInner\">-</span></div>\n\t\t\t</th>\n\t\t\t<th class='dijitReset' colspan=\"5\">\n\t\t\t\t<div dojoAttachPoint=\"monthLabelSpacer\" class=\"dijitCalendarMonthLabelSpacer\"></div>\n\t\t\t\t<div dojoAttachPoint=\"monthLabelNode\" class=\"dijitCalendarMonthLabel\"></div>\n\t\t\t</th>\n\t\t\t<th class='dijitReset' dojoAttachPoint=\"incrementMonth\">\n\t\t\t\t<div class=\"dijitInline dijitCalendarIncrementControl dijitCalendarIncrease\"><span dojoAttachPoint=\"increaseArrowNode\" class=\"dijitA11ySideArrow dijitCalendarIncrementControl dijitCalendarIncreaseInner\">+</span></div>\n\t\t\t</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th class=\"dijitReset dijitCalendarDayLabelTemplate\"><span class=\"dijitCalendarDayLabel\"></span></th>\n\t\t</tr>\n\t</thead>\n\t<tbody dojoAttachEvent=\"onclick: _onDayClick\" class=\"dijitReset dijitCalendarBodyContainer\">\n\t\t<tr class=\"dijitReset dijitCalendarWeekTemplate\">\n\t\t\t<td class=\"dijitReset dijitCalendarDateTemplate\"><span class=\"dijitCalendarDateLabel\"></span></td>\n\t\t</tr>\n\t</tbody>\n\t<tfoot class=\"dijitReset dijitCalendarYearContainer\">\n\t\t<tr>\n\t\t\t<td class='dijitReset' valign=\"top\" colspan=\"7\">\n\t\t\t\t<h3 class=\"dijitCalendarYearLabel\">\n\t\t\t\t\t<span dojoAttachPoint=\"previousYearLabelNode\" class=\"dijitInline dijitCalendarPreviousYear\"></span>\n\t\t\t\t\t<span dojoAttachPoint=\"currentYearLabelNode\" class=\"dijitInline dijitCalendarSelectedYear\"></span>\n\t\t\t\t\t<span dojoAttachPoint=\"nextYearLabelNode\" class=\"dijitInline dijitCalendarNextYear\"></span>\n\t\t\t\t</h3>\n\t\t\t</td>\n\t\t</tr>\n\t</tfoot>\n</table>\t\n",value:new Date(),dayWidth:"narrow",setValue:function(value){if(!this.value||dojo.date.compare(value,this.value)){value=new Date(value);this.displayMonth=new Date(value);if(!this.isDisabledDate(value,this.lang)){this.value=value;this.value.setHours(0,0,0,0);this.onChange(this.value);}
this._populateGrid();}},_setText:function(node,text){while(node.firstChild){node.removeChild(node.firstChild);}
node.appendChild(dojo.doc.createTextNode(text));},_populateGrid:function(){var month=this.displayMonth;month.setDate(1);var firstDay=month.getDay();var daysInMonth=dojo.date.getDaysInMonth(month);var daysInPreviousMonth=dojo.date.getDaysInMonth(dojo.date.add(month,"month",-1));var today=new Date();var selected=this.value;var dayOffset=dojo.cldr.supplemental.getFirstDayOfWeek(this.lang);if(dayOffset>firstDay){dayOffset-=7;}
dojo.query(".dijitCalendarDateTemplate",this.domNode).forEach(function(template,i){i+=dayOffset;var date=new Date(month);var number,clazz="dijitCalendar",adj=0;if(i<firstDay){number=daysInPreviousMonth-firstDay+i+1;adj=-1;clazz+="Previous";}else if(i>=(firstDay+daysInMonth)){number=i-firstDay-daysInMonth+1;adj=1;clazz+="Next";}else{number=i-firstDay+1;clazz+="Current";}
if(adj){date=dojo.date.add(date,"month",adj);}
date.setDate(number);if(!dojo.date.compare(date,today,"date")){clazz="dijitCalendarCurrentDate "+clazz;}
if(!dojo.date.compare(date,selected,"date")){clazz="dijitCalendarSelectedDate "+clazz;}
if(this.isDisabledDate(date,this.lang)){clazz="dijitCalendarDisabledDate "+clazz;}
var clazz2=this.getClassForDate(date,this.lang);if(clazz2){clazz+=clazz2+" "+clazz;}
template.className=clazz+"Month dijitCalendarDateTemplate";template.dijitDateValue=date.valueOf();var label=dojo.query(".dijitCalendarDateLabel",template)[0];this._setText(label,date.getDate());},this);var monthNames=dojo.date.locale.getNames('months','wide','standAlone',this.lang);this._setText(this.monthLabelNode,monthNames[month.getMonth()]);var y=month.getFullYear()-1;var d=new Date();dojo.forEach(["previous","current","next"],function(name){d.setFullYear(y++);this._setText(this[name+"YearLabelNode"],dojo.date.locale.format(d,{selector:'year',locale:this.lang}));},this);var _this=this;var typematic=function(nodeProp,dateProp,adj){dijit.typematic.addMouseListener(_this[nodeProp],_this,function(count){if(count>=0){_this._adjustDisplay(dateProp,adj);}},0.8,500);};typematic("incrementMonth","month",1);typematic("decrementMonth","month",-1);typematic("nextYearLabelNode","year",1);typematic("previousYearLabelNode","year",-1);},goToToday:function(){this.setValue(new Date());},postCreate:function(){this.inherited(arguments);var cloneClass=dojo.hitch(this,function(clazz,n){var template=dojo.query(clazz,this.domNode)[0];for(var i=0;i<n;i++){template.parentNode.appendChild(template.cloneNode(true));}});cloneClass(".dijitCalendarDayLabelTemplate",6);cloneClass(".dijitCalendarDateTemplate",6);cloneClass(".dijitCalendarWeekTemplate",5);var dayNames=dojo.date.locale.getNames('days',this.dayWidth,'standAlone',this.lang);var dayOffset=dojo.cldr.supplemental.getFirstDayOfWeek(this.lang);dojo.query(".dijitCalendarDayLabel",this.domNode).forEach(function(label,i){this._setText(label,dayNames[(i+dayOffset)%7]);},this);var monthNames=dojo.date.locale.getNames('months','wide','standAlone',this.lang);dojo.forEach(monthNames,function(name){var monthSpacer=dojo.doc.createElement("div");this._setText(monthSpacer,name);this.monthLabelSpacer.appendChild(monthSpacer);},this);this.value=null;this.setValue(new Date());},_adjustDisplay:function(part,amount){this.displayMonth=dojo.date.add(this.displayMonth,part,amount);this._populateGrid();},_onDayClick:function(evt){var node=evt.target;dojo.stopEvent(evt);while(!node.dijitDateValue){node=node.parentNode;}
if(!dojo.hasClass(node,"dijitCalendarDisabledDate")){this.setValue(node.dijitDateValue);this.onValueSelected(this.value);}},onValueSelected:function(date){},onChange:function(date){},isDisabledDate:function(dateObject,locale){},getClassForDate:function(dateObject,locale){}});}
if(!dojo._hasResource["dijit.form._DateTimeTextBox"]){dojo._hasResource["dijit.form._DateTimeTextBox"]=true;dojo.provide("dijit.form._DateTimeTextBox");dojo.require("dojo.date");dojo.require("dojo.date.locale");dojo.require("dojo.date.stamp");dojo.require("dijit.form.ValidationTextBox");dojo.declare("dijit.form._DateTimeTextBox",dijit.form.RangeBoundTextBox,{regExpGen:dojo.date.locale.regexp,compare:dojo.date.compare,format:function(value,constraints){if(!value){return'';}
return dojo.date.locale.format(value,constraints);},parse:function(value,constraints){return dojo.date.locale.parse(value,constraints)||"";},serialize:dojo.date.stamp.toISOString,value:new Date(""),popupClass:"",_selector:"",postMixInProperties:function(){this.inherited(arguments);if(!this.value||this.value.toString()==dijit.form._DateTimeTextBox.prototype.value.toString()){this.value=undefined;}
var constraints=this.constraints;constraints.selector=this._selector;constraints.fullYear=true;var fromISO=dojo.date.stamp.fromISOString;if(typeof constraints.min=="string"){constraints.min=fromISO(constraints.min);}
if(typeof constraints.max=="string"){constraints.max=fromISO(constraints.max);}},_onFocus:function(evt){this._open();},setValue:function(value,priorityChange,formattedValue){if(dojo.isString(value)&&value!="")
{if(value.indexOf(" ")>-1)
value=value.replace(" ","T");else
{if(value.length<9&&value.charAt(0)!="T")
value="T"+value;}
formattedValue=value;value=dojo.date.stamp.fromISOString(value);}
this.inherited(arguments);if(this._picker){if(!value){value=new Date();}
this._picker.setValue(value);}},_open:function(){if(this.disabled||this.readOnly||!this.popupClass){return;}
var textBox=this;if(!this._picker){var PopupProto=dojo.getObject(this.popupClass,false);this._picker=new PopupProto({onValueSelected:function(value){textBox.focus();setTimeout(dojo.hitch(textBox,"_close"),1);dijit.form._DateTimeTextBox.superclass.setValue.call(textBox,value,true);},lang:textBox.lang,constraints:textBox.constraints,isDisabledDate:function(date){var compare=dojo.date.compare;var constraints=textBox.constraints;return constraints&&(constraints.min&&(compare(constraints.min,date,"date")>0)||(constraints.max&&compare(constraints.max,date,"date")<0));}});this._picker.setValue(this.getValue()||new Date());}
if(!this._opened){dijit.popup.open({parent:this,popup:this._picker,around:this.domNode,onCancel:dojo.hitch(this,this._close),onClose:function(){textBox._opened=false;}});this._opened=true;}
dojo.marginBox(this._picker.domNode,{w:this.domNode.offsetWidth});},_close:function(){if(this._opened){dijit.popup.close(this._picker);this._opened=false;}},_onBlur:function(){this._close();if(this._picker){this._picker.destroy();delete this._picker;}
this.inherited(arguments);},getDisplayedValue:function(){return this.textbox.value;},setDisplayedValue:function(value,priorityChange){this.setValue(this.parse(value,this.constraints),priorityChange,value);},destroy:function(){if(this._picker){this._picker.destroy();delete this._picker;}
this.inherited(arguments);},_onKeyPress:function(e){if(dijit.form._DateTimeTextBox.superclass._onKeyPress.apply(this,arguments)){if(this._opened&&e.keyCode==dojo.keys.ESCAPE&&!e.shiftKey&&!e.ctrlKey&&!e.altKey){this._close();dojo.stopEvent(e);}}}});}
if(!dojo._hasResource["dijit.form.DateTextBox"]){dojo._hasResource["dijit.form.DateTextBox"]=true;dojo.provide("dijit.form.DateTextBox");dojo.require("dijit._Calendar");dojo.require("dijit.form._DateTimeTextBox");dojo.declare("dijit.form.DateTextBox",dijit.form._DateTimeTextBox,{popupClass:"dijit._Calendar",_selector:"date"});}
if(!dojo._hasResource["dijit.form.ComboBox"]){dojo._hasResource["dijit.form.ComboBox"]=true;dojo.provide("dijit.form.ComboBox");dojo.require("dijit.form.ValidationTextBox");dojo.requireLocalization("dijit.form","ComboBox",null,"ROOT,cs,de,es,fr,gr,hu,it,ja,ko,pl,pt,ru,zh,zh-tw");dojo.declare("dijit.form.ComboBoxMixin",null,{item:null,pageSize:Infinity,store:null,query:{},autoComplete:true,searchDelay:100,searchAttr:"name",queryExpr:"${0}*",ignoreCase:true,hasDownArrow:true,templateString:"<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\" dojoAttachPoint=\"comboNode\" waiRole=\"combobox\" tabIndex=\"-1\"\n\t><div style=\"overflow:hidden;\"\n\t\t><div class='dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton'\n\t\t\tdojoAttachPoint=\"downArrowNode\" waiRole=\"presentation\"\n\t\t\tdojoAttachEvent=\"onmousedown:_onArrowMouseDown,onmouseup:_onMouse,onmouseenter:_onMouse,onmouseleave:_onMouse\"\n\t\t\t><div class=\"dijitArrowButtonInner\">&thinsp;</div\n\t\t\t><div class=\"dijitArrowButtonChar\">&#9660;</div\n\t\t></div\n\t\t><div class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div class=\"dijitReset dijitValidationIconText\">&Chi;</div\n\t\t><div class=\"dijitReset dijitInputField\"\n\t\t\t><input type=\"text\" autocomplete=\"off\" name=\"${name}\" class='dijitReset'\n\t\t\tdojoAttachEvent=\"onkeypress:_onKeyPress, onfocus:_update, compositionend\"\n\t\t\tdojoAttachPoint=\"textbox,focusNode\" waiRole=\"textbox\" waiState=\"haspopup-true,autocomplete-list\"\n\t\t/></div\n\t></div\n></div>\n",baseClass:"dijitComboBox",_getCaretPos:function(element){var pos=0;if(typeof(element.selectionStart)=="number"){pos=element.selectionStart;}else if(dojo.isIE){var tr=dojo.doc.selection.createRange().duplicate();var ntr=element.createTextRange();tr.move("character",0);ntr.move("character",0);try{ntr.setEndPoint("EndToEnd",tr);pos=String(ntr.text).replace(/\r/g,"").length;}catch(e){}}
return pos;},_setCaretPos:function(element,location){location=parseInt(location);dijit.selectInputText(element,location,location);},_setAttribute:function(attr,value){if(attr=="disabled"){dijit.setWaiState(this.comboNode,"disabled",value);}},_onKeyPress:function(evt){if(evt.altKey||(evt.ctrlKey&&evt.charCode!=118)){return;}
var doSearch=false;var pw=this._popupWidget;var dk=dojo.keys;if(this._isShowingNow){pw.handleKey(evt);}
switch(evt.keyCode){case dk.PAGE_DOWN:case dk.DOWN_ARROW:if(!this._isShowingNow||this._prev_key_esc){this._arrowPressed();doSearch=true;}else{this._announceOption(pw.getHighlightedOption());}
dojo.stopEvent(evt);this._prev_key_backspace=false;this._prev_key_esc=false;break;case dk.PAGE_UP:case dk.UP_ARROW:if(this._isShowingNow){this._announceOption(pw.getHighlightedOption());}
dojo.stopEvent(evt);this._prev_key_backspace=false;this._prev_key_esc=false;break;case dk.ENTER:var highlighted;if(this._isShowingNow&&(highlighted=pw.getHighlightedOption())){if(highlighted==pw.nextButton){this._nextSearch(1);dojo.stopEvent(evt);break;}else if(highlighted==pw.previousButton){this._nextSearch(-1);dojo.stopEvent(evt);break;}}else{this.setDisplayedValue(this.getDisplayedValue());}
evt.preventDefault();case dk.TAB:var newvalue=this.getDisplayedValue();if(pw&&(newvalue==pw._messages["previousMessage"]||newvalue==pw._messages["nextMessage"])){break;}
if(this._isShowingNow){this._prev_key_backspace=false;this._prev_key_esc=false;if(pw.getHighlightedOption()){pw.setValue({target:pw.getHighlightedOption()},true);}
this._hideResultList();}
break;case dk.SPACE:this._prev_key_backspace=false;this._prev_key_esc=false;if(this._isShowingNow&&pw.getHighlightedOption()){dojo.stopEvent(evt);this._selectOption();this._hideResultList();}else{doSearch=true;}
break;case dk.ESCAPE:this._prev_key_backspace=false;this._prev_key_esc=true;if(this._isShowingNow){dojo.stopEvent(evt);this._hideResultList();}
this.inherited(arguments);break;case dk.DELETE:case dk.BACKSPACE:this._prev_key_esc=false;this._prev_key_backspace=true;doSearch=true;break;case dk.RIGHT_ARROW:case dk.LEFT_ARROW:this._prev_key_backspace=false;this._prev_key_esc=false;break;default:this._prev_key_backspace=false;this._prev_key_esc=false;if(dojo.isIE||evt.charCode!=0){doSearch=true;}}
if(this.searchTimer){clearTimeout(this.searchTimer);}
if(doSearch){setTimeout(dojo.hitch(this,"_startSearchFromInput"),1);}},_autoCompleteText:function(text){var fn=this.focusNode;dijit.selectInputText(fn,fn.value.length);var caseFilter=this.ignoreCase?'toLowerCase':'substr';if(text[caseFilter](0).indexOf(this.focusNode.value[caseFilter](0))==0){var cpos=this._getCaretPos(fn);if((cpos+1)>fn.value.length){fn.value=text;dijit.selectInputText(fn,cpos);}}else{fn.value=text;dijit.selectInputText(fn);}},_openResultList:function(results,dataObject){if(this.disabled||this.readOnly||(dataObject.query[this.searchAttr]!=this._lastQuery)){return;}
this._popupWidget.clearResultList();if(!results.length){this._hideResultList();return;}
var zerothvalue=new String(this.store.getValue(results[0],this.searchAttr));if(zerothvalue&&this.autoComplete&&!this._prev_key_backspace&&(dataObject.query[this.searchAttr]!="*")){this._autoCompleteText(zerothvalue);}
dataObject._maxOptions=this._maxOptions;this._popupWidget.createOptions(results,dataObject,dojo.hitch(this,"_getMenuLabelFromItem"));this._showResultList();if(dataObject.direction){if(1==dataObject.direction){this._popupWidget.highlightFirstOption();}else if(-1==dataObject.direction){this._popupWidget.highlightLastOption();}
this._announceOption(this._popupWidget.getHighlightedOption());}},_showResultList:function(){this._hideResultList();var items=this._popupWidget.getItems(),visibleCount=Math.min(items.length,this.maxListLength);this._arrowPressed();this.displayMessage("");with(this._popupWidget.domNode.style){width="";height="";}
var best=this.open();var popupbox=dojo.marginBox(this._popupWidget.domNode);this._popupWidget.domNode.style.overflow=((best.h==popupbox.h)&&(best.w==popupbox.w))?"hidden":"auto";var newwidth=best.w;if(best.h<this._popupWidget.domNode.scrollHeight){newwidth+=16;}
dojo.marginBox(this._popupWidget.domNode,{h:best.h,w:Math.max(newwidth,this.domNode.offsetWidth)});dijit.setWaiState(this.comboNode,"expanded","true");},_hideResultList:function(){if(this._isShowingNow){dijit.popup.close(this._popupWidget);this._arrowIdle();this._isShowingNow=false;dijit.setWaiState(this.comboNode,"expanded","false");dijit.removeWaiState(this.focusNode,"activedescendant");}},_setBlurValue:function(){var newvalue=this.getDisplayedValue();var pw=this._popupWidget;if(pw&&(newvalue==pw._messages["previousMessage"]||newvalue==pw._messages["nextMessage"])){this.setValue(this._lastValueReported,true);}else{this.setDisplayedValue(newvalue);}},_onBlur:function(){this._hideResultList();this._arrowIdle();this.inherited(arguments);},_announceOption:function(node){if(node==null){return;}
var newValue;if(node==this._popupWidget.nextButton||node==this._popupWidget.previousButton){newValue=node.innerHTML;}else{newValue=this.store.getValue(node.item,this.searchAttr);}
this.focusNode.value=this.focusNode.value.substring(0,this._getCaretPos(this.focusNode));dijit.setWaiState(this.focusNode,"activedescendant",dojo.attr(node,"id"));this._autoCompleteText(newValue);},_selectOption:function(evt){var tgt=null;if(!evt){evt={target:this._popupWidget.getHighlightedOption()};}
if(!evt.target){this.setDisplayedValue(this.getDisplayedValue());return;}else{tgt=evt.target;}
if(!evt.noHide){this._hideResultList();this._setCaretPos(this.focusNode,this.store.getValue(tgt.item,this.searchAttr).length);}
this._doSelect(tgt);},_doSelect:function(tgt){this.item=tgt.item;this.setValue(this.store.getValue(tgt.item,this.searchAttr),true);},_onArrowMouseDown:function(evt){if(this.disabled||this.readOnly){return;}
dojo.stopEvent(evt);this.focus();if(this._isShowingNow){this._hideResultList();}else{this._startSearch("");}},_startSearchFromInput:function(){this._startSearch(this.focusNode.value);},_getQueryString:function(text){return dojo.string.substitute(this.queryExpr,[text]);},_startSearch:function(key){if(!this._popupWidget){var popupId=this.id+"_popup";this._popupWidget=new dijit.form._ComboBoxMenu({onChange:dojo.hitch(this,this._selectOption),id:popupId});dijit.removeWaiState(this.focusNode,"activedescendant");dijit.setWaiState(this.textbox,"owns",popupId);}
this.item=null;var query=dojo.clone(this.query);this._lastQuery=query[this.searchAttr]=this._getQueryString(key);this.searchTimer=setTimeout(dojo.hitch(this,function(query,_this){var dataObject=this.store.fetch({queryOptions:{ignoreCase:this.ignoreCase,deep:true},query:query,onBegin:dojo.hitch(this,"_setMaxOptions"),onComplete:dojo.hitch(this,"_openResultList"),onError:function(errText){console.error('dijit.form.ComboBox: '+errText);dojo.hitch(_this,"_hideResultList")();},start:0,count:this.pageSize});var nextSearch=function(dataObject,direction){dataObject.start+=dataObject.count*direction;dataObject.direction=direction;this.store.fetch(dataObject);}
this._nextSearch=this._popupWidget.onPage=dojo.hitch(this,nextSearch,dataObject);},query,this),this.searchDelay);},_setMaxOptions:function(size,request){this._maxOptions=size;},_getValueField:function(){return this.searchAttr;},_arrowPressed:function(){if(!this.disabled&&!this.readOnly&&this.hasDownArrow){dojo.addClass(this.downArrowNode,"dijitArrowButtonActive");}},_arrowIdle:function(){if(!this.disabled&&!this.readOnly&&this.hasDownArrow){dojo.removeClass(this.downArrowNode,"dojoArrowButtonPushed");}},compositionend:function(evt){this.onkeypress({charCode:-1});},constructor:function(){this.query={};},postMixInProperties:function(){if(!this.hasDownArrow){this.baseClass="dijitTextBox";}
if(!this.store){var srcNodeRef=this.srcNodeRef;this.store=new dijit.form._ComboBoxDataStore(srcNodeRef);if(!this.value||((typeof srcNodeRef.selectedIndex=="number")&&srcNodeRef.selectedIndex.toString()===this.value)){var item=this.store.fetchSelectedItem();if(item){this.value=this.store.getValue(item,this._getValueField());}}}},_postCreate:function(){var label=dojo.query('label[for="'+this.id+'"]');if(label.length){label[0].id=(this.id+"_label");var cn=this.comboNode;dijit.setWaiState(cn,"labelledby",label[0].id);dijit.setWaiState(cn,"disabled",this.disabled);}},uninitialize:function(){if(this._popupWidget){this._hideResultList();this._popupWidget.destroy()}},_getMenuLabelFromItem:function(item){return{html:false,label:this.store.getValue(item,this.searchAttr)};},open:function(){this._isShowingNow=true;return dijit.popup.open({popup:this._popupWidget,around:this.domNode,parent:this});},reset:function(){this.item=null;this.inherited(arguments);}});dojo.declare("dijit.form._ComboBoxMenu",[dijit._Widget,dijit._Templated],{templateString:"<ul class='dijitMenu' dojoAttachEvent='onmousedown:_onMouseDown,onmouseup:_onMouseUp,onmouseover:_onMouseOver,onmouseout:_onMouseOut' tabIndex='-1' style='overflow:\"auto\";'>"
+"<li class='dijitMenuItem dijitMenuPreviousButton' dojoAttachPoint='previousButton'></li>"
+"<li class='dijitMenuItem dijitMenuNextButton' dojoAttachPoint='nextButton'></li>"
+"</ul>",_messages:null,postMixInProperties:function(){this._messages=dojo.i18n.getLocalization("dijit.form","ComboBox",this.lang);this.inherited("postMixInProperties",arguments);},setValue:function(value){if(this.value==value)
return;this.value=value;this.onChange(value);},onChange:function(value){},onPage:function(direction){},postCreate:function(){this.previousButton.innerHTML=this._messages["previousMessage"];this.nextButton.innerHTML=this._messages["nextMessage"];this.inherited("postCreate",arguments);},onClose:function(){this._blurOptionNode();},_createOption:function(item,labelFunc){var labelObject=labelFunc(item);var menuitem=dojo.doc.createElement("li");dijit.setWaiRole(menuitem,"option");if(labelObject.html){menuitem.innerHTML=labelObject.label;}else{menuitem.appendChild(dojo.doc.createTextNode(labelObject.label));}
if(menuitem.innerHTML==""){menuitem.innerHTML="&nbsp;";}
menuitem.item=item;return menuitem;},createOptions:function(results,dataObject,labelFunc){this.previousButton.style.display=(dataObject.start==0)?"none":"";dojo.attr(this.previousButton,"id",this.id+"_prev");dojo.forEach(results,function(item,i){var menuitem=this._createOption(item,labelFunc);menuitem.className="dijitMenuItem";dojo.attr(menuitem,"id",this.id+i);this.domNode.insertBefore(menuitem,this.nextButton);},this);var displayMore=false;if(dataObject._maxOptions&&dataObject._maxOptions!=-1){if((dataObject.start+dataObject.count)<dataObject._maxOptions){displayMore=true;}else if((dataObject.start+dataObject.length)>(dataObject._maxOptions-1)){if(dataObject.count==results.length){displayMore=true;}}}else if(dataObject.count==results.length){displayMore=true;}
this.nextButton.style.display=displayMore?"":"none";dojo.attr(this.nextButton,"id",this.id+"_next");},clearResultList:function(){while(this.domNode.childNodes.length>2){this.domNode.removeChild(this.domNode.childNodes[this.domNode.childNodes.length-2]);}},getItems:function(){return this.domNode.childNodes;},getListLength:function(){return this.domNode.childNodes.length-2;},_onMouseDown:function(evt){dojo.stopEvent(evt);},_onMouseUp:function(evt){if(evt.target===this.domNode){return;}else if(evt.target==this.previousButton){this.onPage(-1);}else if(evt.target==this.nextButton){this.onPage(1);}else{var tgt=evt.target;while(!tgt.item){tgt=tgt.parentNode;}
this.setValue({target:tgt},true);}},_onMouseOver:function(evt){if(evt.target===this.domNode){return;}
var tgt=evt.target;if(!(tgt==this.previousButton||tgt==this.nextButton)){while(!tgt.item){tgt=tgt.parentNode;}}
this._focusOptionNode(tgt);},_onMouseOut:function(evt){if(evt.target===this.domNode){return;}
this._blurOptionNode();},_focusOptionNode:function(node){if(this._highlighted_option!=node){this._blurOptionNode();this._highlighted_option=node;dojo.addClass(this._highlighted_option,"dijitMenuItemHover");}},_blurOptionNode:function(){if(this._highlighted_option){dojo.removeClass(this._highlighted_option,"dijitMenuItemHover");this._highlighted_option=null;}},_highlightNextOption:function(){var fc=this.domNode.firstChild;if(!this.getHighlightedOption()){this._focusOptionNode(fc.style.display=="none"?fc.nextSibling:fc);}else{var ns=this._highlighted_option.nextSibling;if(ns&&ns.style.display!="none"){this._focusOptionNode(ns);}}
dijit.scrollIntoView(this._highlighted_option);},highlightFirstOption:function(){this._focusOptionNode(this.domNode.firstChild.nextSibling);dijit.scrollIntoView(this._highlighted_option);},highlightLastOption:function(){this._focusOptionNode(this.domNode.lastChild.previousSibling);dijit.scrollIntoView(this._highlighted_option);},_highlightPrevOption:function(){var lc=this.domNode.lastChild;if(!this.getHighlightedOption()){this._focusOptionNode(lc.style.display=="none"?lc.previousSibling:lc);}else{var ps=this._highlighted_option.previousSibling;if(ps&&ps.style.display!="none"){this._focusOptionNode(ps);}}
dijit.scrollIntoView(this._highlighted_option);},_page:function(up){var scrollamount=0;var oldscroll=this.domNode.scrollTop;var height=dojo.style(this.domNode,"height");if(!this.getHighlightedOption()){this._highlightNextOption();}
while(scrollamount<height){if(up){if(!this.getHighlightedOption().previousSibling||this._highlighted_option.previousSibling.style.display=="none"){break;}
this._highlightPrevOption();}else{if(!this.getHighlightedOption().nextSibling||this._highlighted_option.nextSibling.style.display=="none"){break;}
this._highlightNextOption();}
var newscroll=this.domNode.scrollTop;scrollamount+=(newscroll-oldscroll)*(up?-1:1);oldscroll=newscroll;}},pageUp:function(){this._page(true);},pageDown:function(){this._page(false);},getHighlightedOption:function(){var ho=this._highlighted_option;return(ho&&ho.parentNode)?ho:null;},handleKey:function(evt){switch(evt.keyCode){case dojo.keys.DOWN_ARROW:this._highlightNextOption();break;case dojo.keys.PAGE_DOWN:this.pageDown();break;case dojo.keys.UP_ARROW:this._highlightPrevOption();break;case dojo.keys.PAGE_UP:this.pageUp();break;}}});dojo.declare("dijit.form.ComboBox",[dijit.form.ValidationTextBox,dijit.form.ComboBoxMixin],{postMixInProperties:function(){dijit.form.ComboBoxMixin.prototype.postMixInProperties.apply(this,arguments);dijit.form.ValidationTextBox.prototype.postMixInProperties.apply(this,arguments);},postCreate:function(){dijit.form.ComboBoxMixin.prototype._postCreate.apply(this,arguments);dijit.form.ValidationTextBox.prototype.postCreate.apply(this,arguments);},setAttribute:function(attr,value){dijit.form.ValidationTextBox.prototype.setAttribute.apply(this,arguments);dijit.form.ComboBoxMixin.prototype._setAttribute.apply(this,arguments);}});dojo.declare("dijit.form._ComboBoxDataStore",null,{constructor:function(root){this.root=root;},getValue:function(item,attribute,defaultValue){return(attribute=="value")?item.value:(item.innerText||item.textContent||'');},isItemLoaded:function(something){return true;},fetch:function(args){var query="^"+args.query.name.replace(/([\\\|\(\)\[\{\^\$\+\?\.\<\>])/g,"\\$1").replace("*",".*")+"$",matcher=new RegExp(query,args.queryOptions.ignoreCase?"i":""),items=dojo.query("> option",this.root).filter(function(option){return(option.innerText||option.textContent||'').match(matcher);});var start=args.start||0,end=("count"in args&&args.count!=Infinity)?(start+args.count):items.length;if(args.onBegin)
{args.onBegin(items.length,args);}
if(args.onComplete)
{args.onComplete(items.slice(start,end),args);}
return args;},close:function(request){return;},getLabel:function(item){return item.innerHTML;},getIdentity:function(item){return dojo.attr(item,"value");},fetchItemByIdentity:function(args){var item=dojo.query("option[value='"+args.identity+"']",this.root)[0];args.onItem(item);},fetchSelectedItem:function(){var root=this.root,si=root.selectedIndex;return dojo.query("> option:nth-child("+
(si!=-1?si+1:1)+")",root)[0];}});}
if(!dojo._hasResource["dijit.form.FilteringSelect"]){dojo._hasResource["dijit.form.FilteringSelect"]=true;dojo.provide("dijit.form.FilteringSelect");dojo.require("dijit.form.ComboBox");dojo.declare("dijit.form.FilteringSelect",[dijit.form.MappedTextBox,dijit.form.ComboBoxMixin],{labelAttr:"",labelType:"text",_isvalid:true,_lastDisplayedValue:"",isValid:function(){return this._isvalid||(!this.required&&this.getDisplayedValue()=="");},_callbackSetLabel:function(result,dataObject,priorityChange){if((dataObject&&dataObject.query[this.searchAttr]!=this._lastQuery)||(!dataObject&&this.store.getIdentity(result[0])!=this._lastQuery)){return;}
if(!result.length){if(!this._focused){this.valueNode.value=null;}
dijit.form.TextBox.superclass.setValue.call(this,null,!this._focused);this._isvalid=false;this.validate(this._focused);this.item=null;}else{this._setValueFromItem(result[0],priorityChange);}},_openResultList:function(results,dataObject){if(dataObject.query[this.searchAttr]!=this._lastQuery){return;}
this._isvalid=results.length!=0;this.validate(true);dijit.form.ComboBoxMixin.prototype._openResultList.apply(this,arguments);},getValue:function(){return this.isValid()?this.valueNode.value:null;},_getValueField:function(){return"value";},_setValue:function(value,displayedValue,priorityChange){this.valueNode.value=value;dijit.form.FilteringSelect.superclass.setValue.call(this,value,priorityChange,displayedValue);this._lastDisplayedValue=displayedValue;},setValue:function(value,priorityChange){this._lastQuery=value;if(!value){this.setDisplayedValue("",priorityChange);return;}
var self=this;var handleFetchByIdentity=function(item,priorityChange){if(item){if(self.store.isItemLoaded(item)){self._callbackSetLabel([item],undefined,priorityChange);}else{self.store.loadItem({item:item,onItem:function(result,dataObject){self._callbackSetLabel(result,dataObject,priorityChange);}});}}else{self._isvalid=false;self.validate(false);}}
this.store.fetchItemByIdentity({identity:value,onItem:function(item){handleFetchByIdentity(item,priorityChange);}});},_setValueFromItem:function(item,priorityChange){this._isvalid=true;this._setValue(this.store.getIdentity(item),this.labelFunc(item,this.store),priorityChange);},labelFunc:function(item,store){return store.getValue(item,this.searchAttr);},_doSelect:function(tgt){this.item=tgt.item;this._setValueFromItem(tgt.item,true);},setDisplayedValue:function(label,priorityChange){if(this.store){var query=dojo.clone(this.query);this._lastQuery=query[this.searchAttr]=label;this.textbox.value=label;this._lastDisplayedValue=label;var _this=this;this.store.fetch({query:query,queryOptions:{ignoreCase:this.ignoreCase,deep:true},onComplete:function(result,dataObject){dojo.hitch(_this,"_callbackSetLabel")(result,dataObject,priorityChange);},onError:function(errText){console.error('dijit.form.FilteringSelect: '+errText);dojo.hitch(_this,"_setValue")(null,label,false);}});}},_getMenuLabelFromItem:function(item){if(this.labelAttr){return{html:this.labelType=="html",label:this.store.getValue(item,this.labelAttr)};}else{return dijit.form.ComboBoxMixin.prototype._getMenuLabelFromItem.apply(this,arguments);}},postMixInProperties:function(){dijit.form.ComboBoxMixin.prototype.postMixInProperties.apply(this,arguments);dijit.form.MappedTextBox.prototype.postMixInProperties.apply(this,arguments);},postCreate:function(){dijit.form.ComboBoxMixin.prototype._postCreate.apply(this,arguments);dijit.form.MappedTextBox.prototype.postCreate.apply(this,arguments);},setAttribute:function(attr,value){dijit.form.MappedTextBox.prototype.setAttribute.apply(this,arguments);dijit.form.ComboBoxMixin.prototype._setAttribute.apply(this,arguments);},undo:function(){this.setDisplayedValue(this._lastDisplayedValue);},_valueChanged:function(){return this.getDisplayedValue()!=this._lastDisplayedValue;}});}
if(!dojo._hasResource["dijit.form.Textarea"]){dojo._hasResource["dijit.form.Textarea"]=true;dojo.provide("dijit.form.Textarea");dojo.require("dijit.form._FormWidget");dojo.require("dojo.i18n");dojo.requireLocalization("dijit","Textarea",null,"ROOT");dojo.declare("dijit.form.Textarea",dijit.form._FormValueWidget,{attributeMap:dojo.mixin(dojo.clone(dijit.form._FormValueWidget.prototype.attributeMap),{style:"styleNode",'class':"styleNode"}),templateString:(dojo.isIE||dojo.isSafari||dojo.isFF)?((dojo.isIE||dojo.isSafari||dojo.isFF>=3)?'<fieldset id="${id}" class="dijitInline dijitInputField dijitTextArea" dojoAttachPoint="styleNode" waiRole="presentation"><div dojoAttachPoint="editNode,focusNode,eventNode" dojoAttachEvent="onpaste:_changing,oncut:_changing" waiRole="textarea" style="text-decoration:none;display:block;overflow:auto;" contentEditable="true"></div>':'<span id="${id}" class="dijitReset">'+'<iframe src="javascript:<html><head><title>${_iframeEditTitle}</title></head><body><script>var _postCreate=window.frameElement?window.frameElement.postCreate:null;if(_postCreate)_postCreate();</script></body></html>"'+' dojoAttachPoint="iframe,styleNode" dojoAttachEvent="onblur:_onIframeBlur" class="dijitInline dijitInputField dijitTextArea"></iframe>')
+'<textarea name="${name}" value="${value}" dojoAttachPoint="formValueNode" style="display:none;"></textarea>'
+((dojo.isIE||dojo.isSafari||dojo.isFF>=3)?'</fieldset>':'</span>'):'<textarea id="${id}" name="${name}" value="${value}" dojoAttachPoint="formValueNode,editNode,focusNode,styleNode" class="dijitInputField dijitTextArea">'+dojo.isFF+'</textarea>',setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"disabled":this.formValueNode.disabled=this.disabled;case"readOnly":if(dojo.isIE||dojo.isSafari||dojo.isFF>=3){this.editNode.contentEditable=(!this.disabled&&!this.readOnly);}else if(dojo.isFF){this.iframe.contentDocument.designMode=(this.disabled||this.readOnly)?"off":"on";}}},focus:function(){if(!this.disabled&&!this.readOnly){this._changing();}
dijit.focus(this.iframe||this.focusNode);},validator:function(inValue){return inValue;},setValue:function(value,priorityChange){var editNode=this.editNode;if(typeof value=="string"){editNode.innerHTML="";if(value.split){var _this=this;var isFirst=true;dojo.forEach(value.split("\n"),function(line){if(isFirst){isFirst=false;}
else{editNode.appendChild(dojo.doc.createElement("BR"));}
if(line){editNode.appendChild(dojo.doc.createTextNode(line));}});}else if(value){editNode.appendChild(dojo.doc.createTextNode(value));}
if(!dojo.isIE){editNode.appendChild(dojo.doc.createElement("BR"));}}else{value=editNode.innerHTML;if(this.iframe){value=value.replace(/<div><\/div>\r?\n?$/i,"");}
value=value.replace(/\s*\r?\n|^\s+|\s+$|&nbsp;/g,"").replace(/>\s+</g,"><").replace(/<\/(p|div)>$|^<(p|div)[^>]*>/gi,"").replace(/([^>])<div>/g,"$1\n").replace(/<\/p>\s*<p[^>]*>|<br[^>]*>|<\/div>\s*<div[^>]*>/gi,"\n").replace(/<[^>]*>/g,"").replace(/&amp;/gi,"\&").replace(/&lt;/gi,"<").replace(/&gt;/gi,">");if(!dojo.isIE){value=value.replace(/\n$/,"");}}
var validValue=this.validator(value);if(validValue!=value)
{this.setValue(validValue);return;}
this.value=this.formValueNode.value=value;if(this.iframe){var sizeNode=dojo.doc.createElement('div');editNode.appendChild(sizeNode);var newHeight=sizeNode.offsetTop;if(editNode.scrollWidth>editNode.clientWidth){newHeight+=16;}
if(this.lastHeight!=newHeight){if(newHeight==0){newHeight=16;}
dojo.contentBox(this.iframe,{h:newHeight});this.lastHeight=newHeight;}
editNode.removeChild(sizeNode);}
dijit.form.Textarea.superclass.setValue.call(this,this.getValue(),priorityChange);},getValue:function(){return this.value.replace(/\r/g,"");},postMixInProperties:function(){this.inherited(arguments);if(this.srcNodeRef&&this.srcNodeRef.innerHTML!=""){this.value=this.srcNodeRef.innerHTML;this.srcNodeRef.innerHTML="";}
if((!this.value||this.value=="")&&this.srcNodeRef&&this.srcNodeRef.value){this.value=this.srcNodeRef.value;}
if(!this.value){this.value="";}
this.value=this.value.replace(/\r\n/g,"\n").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&");if(dojo.isFF==2){var _nlsResources=dojo.i18n.getLocalization("dijit","Textarea");this._iframeEditTitle=_nlsResources.iframeEditTitle;this._iframeFocusTitle=_nlsResources.iframeFocusTitle;var label=dojo.query('label[for="'+this.id+'"]');if(label.length){this._iframeEditTitle=label[0].innerHTML+" "+this._iframeEditTitle;}
var body=this.focusNode=this.editNode=dojo.doc.createElement('BODY');body.style.margin="0px";body.style.padding="0px";body.style.border="0px";}},postCreate:function(){if(dojo.isIE||dojo.isSafari||dojo.isFF>=3){this.domNode.style.overflowY='hidden';}else if(dojo.isFF){var w=this.iframe.contentWindow;var title='';try{title=this.iframe.contentDocument.title;}catch(e){}
if(!w||!title){this.iframe.postCreate=dojo.hitch(this,this.postCreate);return;}
var d=w.document;d.getElementsByTagName('HTML')[0].replaceChild(this.editNode,d.getElementsByTagName('BODY')[0]);if(!this.isLeftToRight()){d.getElementsByTagName('HTML')[0].dir="rtl";}
this.iframe.style.overflowY='hidden';this.eventNode=d;w.addEventListener("resize",dojo.hitch(this,this._changed),false);}else{this.focusNode=this.domNode;}
if(this.eventNode){this.connect(this.eventNode,"keypress",this._onKeyPress);this.connect(this.eventNode,"mousemove",this._changed);this.connect(this.eventNode,"focus",this._focused);this.connect(this.eventNode,"blur",this._blurred);}
if(this.editNode){this.connect(this.editNode,"change",this._changed);}
this.inherited('postCreate',arguments);},_focused:function(e){dojo.addClass(this.iframe||this.domNode,"dijitInputFieldFocused");this._changed(e);},_blurred:function(e){dojo.removeClass(this.iframe||this.domNode,"dijitInputFieldFocused");this._changed(e,true);},_onIframeBlur:function(){this.iframe.contentDocument.title=this._iframeEditTitle;},_onKeyPress:function(e){if(e.keyCode==dojo.keys.TAB&&!e.shiftKey&&!e.ctrlKey&&!e.altKey&&this.iframe){this.iframe.contentDocument.title=this._iframeFocusTitle;this.iframe.focus();dojo.stopEvent(e);}else if(e.keyCode==dojo.keys.ENTER){e.stopPropagation();}else if(this.inherited("_onKeyPress",arguments)&&this.iframe){var te=dojo.doc.createEvent("KeyEvents");te.initKeyEvent("keypress",true,true,null,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.keyCode,e.charCode);this.iframe.dispatchEvent(te);}
this._changing();},_changing:function(e){setTimeout(dojo.hitch(this,"_changed",e,false),1);},_changed:function(e,priorityChange){if(this.iframe&&this.iframe.contentDocument.designMode!="on"&&!this.disabled&&!this.readOnly){this.iframe.contentDocument.designMode="on";}
this.setValue(null,priorityChange||false);}});}
if(!dojo._hasResource["dijit.form.MultiSelect"]){dojo._hasResource["dijit.form.MultiSelect"]=true;dojo.provide("dijit.form.MultiSelect");dojo.require("dijit.form._FormWidget");dojo.declare("dijit.form.MultiSelect",dijit.form._FormWidget,{size:7,store:null,templateString:"<select multiple='true' dojoAttachPoint='containerNode,focusNode' dojoAttachEvent='onchange: _onChange'></select>",attributeMap:dojo.mixin(dojo.clone(dijit.form._FormWidget.prototype.attributeMap),{size:"focusNode"}),addSelected:function(select){select.getSelected().forEach(function(n){this.containerNode.appendChild(n);},this);},getSelected:function(){return dojo.query("option",this.containerNode).filter(function(n){return n.selected;});},_getValueDeprecated:false,getValue:function(){return this.getSelected().map(function(n){return n.value;});},_multiValue:true,setValue:function(values){if(dojo.isString(values))
values=dojo.fromJson(values);var tmp=((dojo.isArray(values)&&values.length==1)?dojo.fromJson(values[0]):null);if(dojo.isArray(tmp))
values=tmp;dojo.query("option",this.containerNode).forEach(function(n){n.selected=(dojo.indexOf(values,n.value)!=-1);});},invertSelection:function(onChange){dojo.query("option",this.containerNode).forEach(function(n){n.selected=!n.selected;});this._handleOnChange(this.getValue(),onChange==true);},selectAllOptions:function(onChange){dojo.query("option",this.containerNode).forEach(function(n){n.selected=true;});this._handleOnChange(this.getValue(),onChange==true);},deselectAllOptions:function(onChange){dojo.query("option",this.containerNode).forEach(function(n){n.selected=false;});this._handleOnChange(this.getValue(),onChange==true);},_onChange:function(e){this._handleOnChange(this.getValue(),true);},resize:function(size){if(size){dojo.marginBox(this.domNode,size);}},postCreate:function(){this._onChange();},addOptionFromStore:function(item){var option=dojo.doc.createElement('option');option.innerHTML=this.store.getLabel(item);option.value=this.store.getIdentity(item);this.containerNode.appendChild(option);},loadStore:function(){this.store._forceLoad();this.store.fetch({onItem:dojo.hitch(this,'addOptionFromStore')});},startup:function(){if(this.store){this.loadStore();}}});}
if(!dojo._hasResource["dijit.form.CheckBox"]){dojo._hasResource["dijit.form.CheckBox"]=true;dojo.provide("dijit.form.CheckBox");dojo.require("dijit.form.Button");dojo.declare("dijit.form.CheckBox",dijit.form.ToggleButton,{templateString:"<div class=\"dijitReset dijitInline\" waiRole=\"presentation\"\n\t><input\n\t \ttype=\"${type}\" name=\"${name}\"\n\t\tclass=\"dijitReset dijitCheckBoxInput\"\n\t\tdojoAttachPoint=\"focusNode\"\n\t \tdojoAttachEvent=\"onmouseover:_onMouse,onmouseout:_onMouse,onclick:_onClick\"\n/></div>\n",baseClass:"dijitCheckBox",type:"checkbox",value:"on",setValue:function(newValue){if(typeof newValue=="string"){this.setAttribute('value',newValue);newValue=true;}
this.setAttribute('checked',newValue);},_getValueDeprecated:false,getValue:function(){return(this.checked?this.value:false);},reset:function(){this.inherited(arguments);this.setAttribute('value',this._resetValueAttr);},postCreate:function(){this.inherited(arguments);this._resetValueAttr=this.value;}});dojo.declare("dijit.form.RadioButton",dijit.form.CheckBox,{type:"radio",baseClass:"dijitRadio",_groups:{},postCreate:function(){(this._groups[this.name]=this._groups[this.name]||[]).push(this);this.inherited(arguments);},uninitialize:function(){dojo.forEach(this._groups[this.name],function(widget,i,arr){if(widget===this){arr.splice(i,1);return;}},this);},setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"checked":if(this.checked){dojo.forEach(this._groups[this.name],function(widget){if(widget!=this&&widget.checked){widget.setAttribute('checked',false);}},this);}}},_clicked:function(e){if(!this.checked){this.setAttribute('checked',true);}}});}
if(!dojo._hasResource["dojox.form.CheckedMultiSelect"]){dojo._hasResource["dojox.form.CheckedMultiSelect"]=true;dojo.provide("dojox.form.CheckedMultiSelect");dojo.require("dijit.form.MultiSelect");dojo.require("dijit.form.CheckBox");dojo.declare("dojox.form._CheckedMultiSelectItem",[dijit._Widget,dijit._Templated],{widgetsInTemplate:true,templateString:"<div class=\"dijitReset ${baseClass}\"\n\t><input class=\"${baseClass}Box\" dojoType=\"dijit.form.CheckBox\" dojoAttachPoint=\"checkBox\" dojoAttachEvent=\"_onClick:_changeBox\" type=\"checkbox\" \n\t><div class=\"dijitInline ${baseClass}Label\" dojoAttachPoint=\"labelNode\" dojoAttachEvent=\"onmousedown:_onMouse,onmouseover:_onMouse,onmouseout:_onMouse,onclick:_onClick\">${option.innerHTML}</div\n></div>\n",baseClass:"dojoxMultiSelectItem",option:null,parent:null,disabled:false,_changeBox:function(){this.option.selected=this.checkBox.getValue()&&true;this.parent._onChange();this.parent.focus();},_labelClick:function(){dojo.stopEvent(e);if(this.disabled){return;}
var cb=this.checkBox;cb.setValue(!cb.getValue());this._changeBox();},_onMouse:function(e){this.checkBox._onMouse(e);},_onClick:function(e){this.checkBox._onClick(e);},_updateBox:function(){this.checkBox.setValue(this.option.selected);},setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"disabled":this.checkBox.setAttribute(attr,value);break;default:break;}}});dojo.declare("dojox.form.CheckedMultiSelect",dijit.form.MultiSelect,{templateString:"",templateString:"<div class=\"dijit dijitReset dijitInline\" dojoAttachEvent=\"onmousedown:_mouseDown,onclick:focus\"\n\t><select class=\"${baseClass}Select\" multiple=\"true\" dojoAttachPoint=\"containerNode,focusNode\" dojoAttachEvent=\"onchange: _onChange\"></select\n\t><div dojoAttachPoint=\"wrapperDiv\"></div\n></div>\n",baseClass:"dojoxMultiSelect",children:[],options:null,_mouseDown:function(e){dojo.stopEvent(e);},_updateChildren:function(){dojo.forEach(this.children,function(child){child._updateBox();});},_addChild:function(option){var item=new dojox.form._CheckedMultiSelectItem({option:option,parent:this});this.wrapperDiv.appendChild(item.domNode);return item;},_loadChildren:function(){dojo.forEach(this.children,function(child){child.destroyRecursive();});this.children=dojo.query("option",this.domNode).map(function(child){return this._addChild(child);},this);this.options=dojo.map(this.children,function(child){var opt=child.option;return{value:opt.value,label:opt.text};});this._updateChildren();},addOption:function(value,label){var o=new Option("","");o.value=value.value||value;o.innerHTML=value.label||label;this.containerNode.appendChild(o);},removeOption:function(optionId){dojo.query("option[value="+optionId+"]",this.domNode).forEach(function(node){node.parentNode.removeChild(node);},this);},removeAllOptions:function(){dojo.query("option",this.domNode).forEach(function(node){node.parentNode.removeChild(node);},this);},setOptionLabel:function(optionId,label){dojo.query("option[value="+optionId+"]",this.domNode).forEach(function(node){node.innerHTML=label;});},addSelected:function(select){this.inherited(arguments);if(select._loadChildren){select._loadChildren();}
this._loadChildren();},setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"disabled":dojo.forEach(this.children,function(node){if(node&&node.setAttribute){node.setAttribute(attr,value);}});break;default:break;}},selectAllOptions:function(onChange){this.inherited(arguments);this.children.forEach(function(child){child.checkBox.setValue(true);});this._handleOnChange(this.getValue(),onChange==true);},deselectAllOptions:function(onChange){this.inherited(arguments);this.children.forEach(function(child){child.checkBox.setValue(false);});this._handleOnChange(this.getValue(),onChange==true);},startup:function(){if(this._started){return;}
this.inherited(arguments);this._loadChildren();this.connect(this,"setValue","_updateChildren");this.connect(this,"invertSelection","_updateChildren");this.connect(this,"addOption","_loadChildren");this.connect(this,"removeOption","_loadChildren");this.connect(this,"setOptionLabel","_loadChildren");this._started=true;}});}
if(!dojo._hasResource["dijit.layout._LayoutWidget"]){dojo._hasResource["dijit.layout._LayoutWidget"]=true;dojo.provide("dijit.layout._LayoutWidget");dojo.require("dijit._Widget");dojo.require("dijit._Container");dojo.declare("dijit.layout._LayoutWidget",[dijit._Widget,dijit._Container,dijit._Contained],{isLayoutContainer:true,postCreate:function(){dojo.addClass(this.domNode,"dijitContainer");},startup:function(){if(this._started){return;}
dojo.forEach(this.getChildren(),function(child){child.startup();});if(!this.getParent||!this.getParent()){this.resize();this.connect(window,'onresize',function(){this.resize();});}
this.inherited(arguments);},resize:function(args){var node=this.domNode;if(args){dojo.marginBox(node,args);if(args.t){node.style.top=args.t+"px";}
if(args.l){node.style.left=args.l+"px";}}
var mb=dojo.mixin(dojo.marginBox(node),args||{});this._contentBox=dijit.layout.marginBox2contentBox(node,mb);this.layout();},layout:function(){}});dijit.layout.marginBox2contentBox=function(node,mb){var cs=dojo.getComputedStyle(node);var me=dojo._getMarginExtents(node,cs);var pb=dojo._getPadBorderExtents(node,cs);return{l:dojo._toPixelValue(node,cs.paddingLeft),t:dojo._toPixelValue(node,cs.paddingTop),w:mb.w-(me.w+pb.w),h:mb.h-(me.h+pb.h)};};(function(){var capitalize=function(word){return word.substring(0,1).toUpperCase()+word.substring(1);};var size=function(widget,dim){widget.resize?widget.resize(dim):dojo.marginBox(widget.domNode,dim);dojo.mixin(widget,dojo.marginBox(widget.domNode));dojo.mixin(widget,dim);};dijit.layout.layoutChildren=function(container,dim,children){dim=dojo.mixin({},dim);dojo.addClass(container,"dijitLayoutContainer");children=dojo.filter(children,function(item){return item.layoutAlign!="client";}).concat(dojo.filter(children,function(item){return item.layoutAlign=="client";}));dojo.forEach(children,function(child){var elm=child.domNode,pos=child.layoutAlign;var elmStyle=elm.style;elmStyle.left=dim.l+"px";elmStyle.top=dim.t+"px";elmStyle.bottom=elmStyle.right="auto";dojo.addClass(elm,"dijitAlign"+capitalize(pos));if(pos=="top"||pos=="bottom"){size(child,{w:dim.w});dim.h-=child.h;if(pos=="top"){dim.t+=child.h;}else{elmStyle.top=dim.t+dim.h+"px";}}else if(pos=="left"||pos=="right"){size(child,{h:dim.h});dim.w-=child.w;if(pos=="left"){dim.l+=child.w;}else{elmStyle.left=dim.l+dim.w+"px";}}else if(pos=="client"){size(child,dim);}});};})();}
if(!dojo._hasResource["dijit.layout.ContentPane"]){dojo._hasResource["dijit.layout.ContentPane"]=true;dojo.provide("dijit.layout.ContentPane");dojo.require("dijit._Widget");dojo.require("dijit.layout._LayoutWidget");dojo.require("dojo.parser");dojo.require("dojo.string");dojo.requireLocalization("dijit","loading",null,"cs,de,es,fr,gr,hu,it,ja,ko,ROOT,pl,pt,ru,sv,zh,zh-tw");dojo.declare("dijit.layout.ContentPane",dijit._Widget,{href:"",extractContent:false,parseOnLoad:true,preventCache:false,preload:false,refreshOnShow:false,loadingMessage:"<span class='dijitContentPaneLoading'>${loadingState}</span>",errorMessage:"<span class='dijitContentPaneError'>${errorState}</span>",isLoaded:false,"class":"dijitContentPane",doLayout:"auto",postCreate:function(){this.domNode.title="";if(!this.containerNode){this.containerNode=this.domNode;}
if(this.preload){this._loadCheck();}
var messages=dojo.i18n.getLocalization("dijit","loading",this.lang);this.loadingMessage=dojo.string.substitute(this.loadingMessage,messages);this.errorMessage=dojo.string.substitute(this.errorMessage,messages);var curRole=dijit.getWaiRole(this.domNode);if(!curRole){dijit.setWaiRole(this.domNode,"group");}
dojo.addClass(this.domNode,this["class"]);},startup:function(){if(this._started){return;}
if(this.doLayout!="false"&&this.doLayout!==false){this._checkIfSingleChild();if(this._singleChild){this._singleChild.startup();}}
this._loadCheck();this.inherited(arguments);},_checkIfSingleChild:function(){var childNodes=dojo.query(">",this.containerNode||this.domNode),childWidgets=childNodes.filter("[widgetId]");if(childNodes.length==1&&childWidgets.length==1){this.isContainer=true;this._singleChild=dijit.byNode(childWidgets[0]);}else{delete this.isContainer;delete this._singleChild;}},refresh:function(){return this._prepareLoad(true);},setHref:function(href){this.href=href;return this._prepareLoad();},setContent:function(data){if(!this._isDownloaded){this.href="";this._onUnloadHandler();}
this._setContent(data||"");this._isDownloaded=false;if(this.parseOnLoad){this._createSubWidgets();}
if(this.doLayout!="false"&&this.doLayout!==false){this._checkIfSingleChild();if(this._singleChild&&this._singleChild.resize){this._singleChild.startup();this._singleChild.resize(this._contentBox||dojo.contentBox(this.containerNode||this.domNode));}}
this._onLoadHandler();},cancel:function(){if(this._xhrDfd&&(this._xhrDfd.fired==-1)){this._xhrDfd.cancel();}
delete this._xhrDfd;},destroy:function(){if(this._beingDestroyed){return;}
this._onUnloadHandler();this._beingDestroyed=true;this.inherited("destroy",arguments);},resize:function(size){dojo.marginBox(this.domNode,size);var node=this.containerNode||this.domNode,mb=dojo.mixin(dojo.marginBox(node),size||{});this._contentBox=dijit.layout.marginBox2contentBox(node,mb);if(this._singleChild&&this._singleChild.resize){this._singleChild.resize(this._contentBox);}},_prepareLoad:function(forceLoad){this.cancel();this.isLoaded=false;this._loadCheck(forceLoad);},_isShown:function(){if("open"in this){return this.open;}else{var node=this.domNode;return(node.style.display!='none')&&(node.style.visibility!='hidden');}},_loadCheck:function(forceLoad){var displayState=this._isShown();if(this.href&&(forceLoad||(this.preload&&!this._xhrDfd)||(this.refreshOnShow&&displayState&&!this._xhrDfd)||(!this.isLoaded&&displayState&&!this._xhrDfd))){this._downloadExternalContent();}},_downloadExternalContent:function(){this._onUnloadHandler();this._setContent(this.onDownloadStart.call(this));var self=this;var getArgs={preventCache:(this.preventCache||this.refreshOnShow),url:this.href,handleAs:"text"};if(dojo.isObject(this.ioArgs)){dojo.mixin(getArgs,this.ioArgs);}
var hand=this._xhrDfd=(this.ioMethod||dojo.xhrGet)(getArgs);hand.addCallback(function(html){try{self.onDownloadEnd.call(self);self._isDownloaded=true;self.setContent.call(self,html);}catch(err){self._onError.call(self,'Content',err);}
delete self._xhrDfd;return html;});hand.addErrback(function(err){if(!hand.cancelled){self._onError.call(self,'Download',err);}
delete self._xhrDfd;return err;});},_onLoadHandler:function(){this.isLoaded=true;try{this.onLoad.call(this);}catch(e){console.error('Error '+this.widgetId+' running custom onLoad code');}},_onUnloadHandler:function(){this.isLoaded=false;this.cancel();try{this.onUnload.call(this);}catch(e){console.error('Error '+this.widgetId+' running custom onUnload code');}},_setContent:function(cont){this.destroyDescendants();try{var node=this.containerNode||this.domNode;while(node.firstChild){dojo._destroyElement(node.firstChild);}
if(typeof cont=="string"){if(this.extractContent){match=cont.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);if(match){cont=match[1];}}
node.innerHTML=cont;}else{if(cont.nodeType){node.appendChild(cont);}else{dojo.forEach(cont,function(n){node.appendChild(n.cloneNode(true));});}}}catch(e){var errMess=this.onContentError(e);try{node.innerHTML=errMess;}catch(e){console.error('Fatal '+this.id+' could not change content due to '+e.message,e);}}},_onError:function(type,err,consoleText){var errText=this['on'+type+'Error'].call(this,err);if(consoleText){console.error(consoleText,err);}else if(errText){this._setContent.call(this,errText);}},_createSubWidgets:function(){var rootNode=this.containerNode||this.domNode;try{dojo.parser.parse(rootNode,true);}catch(e){this._onError('Content',e,"Couldn't create widgets in "+this.id
+(this.href?" from "+this.href:""));}},onLoad:function(e){},onUnload:function(e){},onDownloadStart:function(){return this.loadingMessage;},onContentError:function(error){},onDownloadError:function(error){return this.errorMessage;},onDownloadEnd:function(){}});}
if(!dojo._hasResource["dojo.fx"]){dojo._hasResource["dojo.fx"]=true;dojo.provide("dojo.fx");dojo.provide("dojo.fx.Toggler");(function(){var _baseObj={_fire:function(evt,args){if(this[evt]){this[evt].apply(this,args||[]);}
return this;}};var _chain=function(animations){this._index=-1;this._animations=animations||[];this._current=this._onAnimateCtx=this._onEndCtx=null;this.duration=0;dojo.forEach(this._animations,function(a){this.duration+=a.duration;if(a.delay){this.duration+=a.delay;}},this);};dojo.extend(_chain,{_onAnimate:function(){this._fire("onAnimate",arguments);},_onEnd:function(){dojo.disconnect(this._onAnimateCtx);dojo.disconnect(this._onEndCtx);this._onAnimateCtx=this._onEndCtx=null;if(this._index+1==this._animations.length){this._fire("onEnd");}else{this._current=this._animations[++this._index];this._onAnimateCtx=dojo.connect(this._current,"onAnimate",this,"_onAnimate");this._onEndCtx=dojo.connect(this._current,"onEnd",this,"_onEnd");this._current.play(0,true);}},play:function(delay,gotoStart){if(!this._current){this._current=this._animations[this._index=0];}
if(!gotoStart&&this._current.status()=="playing"){return this;}
var beforeBegin=dojo.connect(this._current,"beforeBegin",this,function(){this._fire("beforeBegin");}),onBegin=dojo.connect(this._current,"onBegin",this,function(arg){this._fire("onBegin",arguments);}),onPlay=dojo.connect(this._current,"onPlay",this,function(arg){this._fire("onPlay",arguments);dojo.disconnect(beforeBegin);dojo.disconnect(onBegin);dojo.disconnect(onPlay);});if(this._onAnimateCtx){dojo.disconnect(this._onAnimateCtx);}
this._onAnimateCtx=dojo.connect(this._current,"onAnimate",this,"_onAnimate");if(this._onEndCtx){dojo.disconnect(this._onEndCtx);}
this._onEndCtx=dojo.connect(this._current,"onEnd",this,"_onEnd");this._current.play.apply(this._current,arguments);return this;},pause:function(){if(this._current){var e=dojo.connect(this._current,"onPause",this,function(arg){this._fire("onPause",arguments);dojo.disconnect(e);});this._current.pause();}
return this;},gotoPercent:function(percent,andPlay){this.pause();var offset=this.duration*percent;this._current=null;dojo.some(this._animations,function(a){if(a.duration<=offset){this._current=a;return true;}
offset-=a.duration;return false;});if(this._current){this._current.gotoPercent(offset/_current.duration,andPlay);}
return this;},stop:function(gotoEnd){if(this._current){if(gotoEnd){for(;this._index+1<this._animations.length;++this._index){this._animations[this._index].stop(true);}
this._current=this._animations[this._index];}
var e=dojo.connect(this._current,"onStop",this,function(arg){this._fire("onStop",arguments);dojo.disconnect(e);});this._current.stop();}
return this;},status:function(){return this._current?this._current.status():"stopped";},destroy:function(){if(this._onAnimateCtx){dojo.disconnect(this._onAnimateCtx);}
if(this._onEndCtx){dojo.disconnect(this._onEndCtx);}}});dojo.extend(_chain,_baseObj);dojo.fx.chain=function(animations){return new _chain(animations)};var _combine=function(animations){this._animations=animations||[];this._connects=[];this._finished=0;this.duration=0;dojo.forEach(animations,function(a){var duration=a.duration;if(a.delay){duration+=a.delay;}
if(this.duration<duration){this.duration=duration;}
this._connects.push(dojo.connect(a,"onEnd",this,"_onEnd"));},this);this._pseudoAnimation=new dojo._Animation({curve:[0,1],duration:this.duration});dojo.forEach(["beforeBegin","onBegin","onPlay","onAnimate","onPause","onStop"],function(evt){this._connects.push(dojo.connect(this._pseudoAnimation,evt,dojo.hitch(this,"_fire",evt)));},this);};dojo.extend(_combine,{_doAction:function(action,args){dojo.forEach(this._animations,function(a){a[action].apply(a,args);});return this;},_onEnd:function(){if(++this._finished==this._animations.length){this._fire("onEnd");}},_call:function(action,args){var t=this._pseudoAnimation;t[action].apply(t,args);},play:function(delay,gotoStart){this._finished=0;this._doAction("play",arguments);this._call("play",arguments);return this;},pause:function(){this._doAction("pause",arguments);this._call("pause",arguments);return this;},gotoPercent:function(percent,andPlay){var ms=this.duration*percent;dojo.forEach(this._animations,function(a){a.gotoPercent(a.duration<ms?1:(ms/a.duration),andPlay);});this._call("gotoProcent",arguments);return this;},stop:function(gotoEnd){this._doAction("stop",arguments);this._call("stop",arguments);return this;},status:function(){return this._pseudoAnimation.status();},destroy:function(){dojo.forEach(this._connects,dojo.disconnect);}});dojo.extend(_combine,_baseObj);dojo.fx.combine=function(animations){return new _combine(animations);};})();dojo.declare("dojo.fx.Toggler",null,{constructor:function(args){var _t=this;dojo.mixin(_t,args);_t.node=args.node;_t._showArgs=dojo.mixin({},args);_t._showArgs.node=_t.node;_t._showArgs.duration=_t.showDuration;_t.showAnim=_t.showFunc(_t._showArgs);_t._hideArgs=dojo.mixin({},args);_t._hideArgs.node=_t.node;_t._hideArgs.duration=_t.hideDuration;_t.hideAnim=_t.hideFunc(_t._hideArgs);dojo.connect(_t.showAnim,"beforeBegin",dojo.hitch(_t.hideAnim,"stop",true));dojo.connect(_t.hideAnim,"beforeBegin",dojo.hitch(_t.showAnim,"stop",true));},node:null,showFunc:dojo.fadeIn,hideFunc:dojo.fadeOut,showDuration:200,hideDuration:200,show:function(delay){return this.showAnim.play(delay||0);},hide:function(delay){return this.hideAnim.play(delay||0);}});dojo.fx.wipeIn=function(args){args.node=dojo.byId(args.node);var node=args.node,s=node.style;var anim=dojo.animateProperty(dojo.mixin({properties:{height:{start:function(){s.overflow="hidden";if(s.visibility=="hidden"||s.display=="none"){s.height="1px";s.display="";s.visibility="";return 1;}else{var height=dojo.style(node,"height");return Math.max(height,1);}},end:function(){return node.scrollHeight;}}}},args));dojo.connect(anim,"onEnd",function(){});return anim;}
dojo.fx.wipeOut=function(args){var node=args.node=dojo.byId(args.node);var s=node.style;var anim=dojo.animateProperty(dojo.mixin({properties:{height:{end:1}}},args));dojo.connect(anim,"beforeBegin",function(){s.overflow="hidden";s.display="";});dojo.connect(anim,"onEnd",function(){s.height="1px";s.display="none";});return anim;}
dojo.fx.slideTo=function(args){var node=(args.node=dojo.byId(args.node));var top=null;var left=null;var init=(function(n){return function(){var cs=dojo.getComputedStyle(n);var pos=cs.position;top=(pos=='absolute'?n.offsetTop:parseInt(cs.top)||0);left=(pos=='absolute'?n.offsetLeft:parseInt(cs.left)||0);if(pos!='absolute'&&pos!='relative'){var ret=dojo.coords(n,true);top=ret.y;left=ret.x;n.style.position="absolute";n.style.top=top+"px";n.style.left=left+"px";}};})(node);init();var anim=dojo.animateProperty(dojo.mixin({properties:{top:{end:args.top||0},left:{end:args.left||0}}},args));dojo.connect(anim,"beforeBegin",anim,init);return anim;}}
if(!dojo._hasResource["dijit.TitlePane"]){dojo._hasResource["dijit.TitlePane"]=true;dojo.provide("dijit.TitlePane");dojo.require("dojo.fx");dojo.require("dijit._Templated");dojo.require("dijit.layout.ContentPane");dojo.declare("dijit.TitlePane",[dijit.layout.ContentPane,dijit._Templated],{title:"",open:true,duration:250,baseClass:"dijitTitlePane",templateString:"<div class=\"${baseClass}\">\n\t<div dojoAttachEvent=\"onclick:toggle,onkeypress: _onTitleKey,onfocus:_handleFocus,onblur:_handleFocus\" tabindex=\"0\"\n\t\t\twaiRole=\"button\" class=\"dijitTitlePaneTitle\" dojoAttachPoint=\"titleBarNode,focusNode\">\n\t\t<div dojoAttachPoint=\"arrowNode\" class=\"dijitInline dijitArrowNode\"><span dojoAttachPoint=\"arrowNodeInner\" class=\"dijitArrowNodeInner\"></span></div>\n\t\t<div dojoAttachPoint=\"titleNode\" class=\"dijitTitlePaneTextNode\"></div>\n\t</div>\n\t<div class=\"dijitTitlePaneContentOuter\" dojoAttachPoint=\"hideNode\">\n\t\t<div class=\"dijitReset\" dojoAttachPoint=\"wipeNode\">\n\t\t\t<div class=\"dijitTitlePaneContentInner\" dojoAttachPoint=\"containerNode\" waiRole=\"region\" tabindex=\"-1\">\n\t\t\t\t<!-- nested divs because wipeIn()/wipeOut() doesn't work right on node w/padding etc.  Put padding on inner div. -->\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n",postCreate:function(){this.setTitle(this.title);if(!this.open){this.hideNode.style.display=this.wipeNode.style.display="none";}
this._setCss();dojo.setSelectable(this.titleNode,false);this.inherited(arguments);dijit.setWaiState(this.containerNode,"labelledby",this.titleNode.id);dijit.setWaiState(this.focusNode,"haspopup","true");var hideNode=this.hideNode,wipeNode=this.wipeNode;this._wipeIn=dojo.fx.wipeIn({node:this.wipeNode,duration:this.duration,beforeBegin:function(){hideNode.style.display="";}});this._wipeOut=dojo.fx.wipeOut({node:this.wipeNode,duration:this.duration,onEnd:function(){hideNode.style.display="none";}});},setContent:function(content){if(!this.open||this._wipeOut.status()=="playing"){this.inherited(arguments);}else{if(this._wipeIn.status()=="playing"){this._wipeIn.stop();}
dojo.marginBox(this.wipeNode,{h:dojo.marginBox(this.wipeNode).h});this.inherited(arguments);this._wipeIn.play();}},toggle:function(){dojo.forEach([this._wipeIn,this._wipeOut],function(animation){if(animation.status()=="playing"){animation.stop();}});this[this.open?"_wipeOut":"_wipeIn"].play();this.open=!this.open;this._loadCheck();this._setCss();},_setCss:function(){var classes=["dijitClosed","dijitOpen"];var boolIndex=this.open;var node=this.titleBarNode||this.focusNode
dojo.removeClass(node,classes[!boolIndex+0]);node.className+=" "+classes[boolIndex+0];this.arrowNodeInner.innerHTML=this.open?"-":"+";},_onTitleKey:function(e){if(e.keyCode==dojo.keys.ENTER||e.charCode==dojo.keys.SPACE){this.toggle();}else if(e.keyCode==dojo.keys.DOWN_ARROW&&this.open){this.containerNode.focus();e.preventDefault();}},_handleFocus:function(e){dojo[(e.type=="focus"?"addClass":"removeClass")](this.focusNode,this.baseClass+"Focused");},setTitle:function(title){this.titleNode.innerHTML=title;}});}
if(!dojo._hasResource["dijit.Menu"]){dojo._hasResource["dijit.Menu"]=true;dojo.provide("dijit.Menu");dojo.require("dijit._Widget");dojo.require("dijit._Container");dojo.require("dijit._Templated");dojo.declare("dijit.Menu",[dijit._Widget,dijit._Templated,dijit._KeyNavContainer],{constructor:function(){this._bindings=[];},templateString:'<table class="dijit dijitMenu dijitReset dijitMenuTable" waiRole="menu" dojoAttachEvent="onkeypress:_onKeyPress">'+'<tbody class="dijitReset" dojoAttachPoint="containerNode"></tbody>'+'</table>',targetNodeIds:[],contextMenuForWindow:false,leftClickToOpen:false,parentMenu:null,popupDelay:500,_contextMenuWithMouse:false,postCreate:function(){if(this.contextMenuForWindow){this.bindDomNode(dojo.body());}else{dojo.forEach(this.targetNodeIds,this.bindDomNode,this);}
this.connectKeyNavHandlers([dojo.keys.UP_ARROW],[dojo.keys.DOWN_ARROW]);},startup:function(){if(this._started){return;}
dojo.forEach(this.getChildren(),function(child){child.startup();});this.startupKeyNavChildren();this.inherited(arguments);},onExecute:function(){},onCancel:function(closeAll){},_moveToPopup:function(evt){if(this.focusedChild&&this.focusedChild.popup&&!this.focusedChild.disabled){this.focusedChild._onClick(evt);}},_onKeyPress:function(evt){if(evt.ctrlKey||evt.altKey){return;}
switch(evt.keyCode){case dojo.keys.RIGHT_ARROW:this._moveToPopup(evt);dojo.stopEvent(evt);break;case dojo.keys.LEFT_ARROW:if(this.parentMenu){this.onCancel(false);}else{dojo.stopEvent(evt);}
break;}},onItemHover:function(item){this.focusChild(item);if(this.focusedChild.popup&&!this.focusedChild.disabled&&!this.hover_timer){this.hover_timer=setTimeout(dojo.hitch(this,"_openPopup"),this.popupDelay);}},_onChildBlur:function(item){dijit.popup.close(item.popup);item._blur();this._stopPopupTimer();},onItemUnhover:function(item){},_stopPopupTimer:function(){if(this.hover_timer){clearTimeout(this.hover_timer);this.hover_timer=null;}},_getTopMenu:function(){for(var top=this;top.parentMenu;top=top.parentMenu);return top;},onItemClick:function(item,evt){if(item.disabled){return false;}
if(item.popup){if(!this.is_open){this._openPopup();}}else{this.onExecute();item.onClick(evt);}},_iframeContentWindow:function(iframe_el){var win=dijit.getDocumentWindow(dijit.Menu._iframeContentDocument(iframe_el))||dijit.Menu._iframeContentDocument(iframe_el)['__parent__']||(iframe_el.name&&dojo.doc.frames[iframe_el.name])||null;return win;},_iframeContentDocument:function(iframe_el){var doc=iframe_el.contentDocument||(iframe_el.contentWindow&&iframe_el.contentWindow.document)||(iframe_el.name&&dojo.doc.frames[iframe_el.name]&&dojo.doc.frames[iframe_el.name].document)||null;return doc;},bindDomNode:function(node){node=dojo.byId(node);var win=dijit.getDocumentWindow(node.ownerDocument);if(node.tagName.toLowerCase()=="iframe"){win=this._iframeContentWindow(node);node=dojo.withGlobal(win,dojo.body);}
var cn=(node==dojo.body()?dojo.doc:node);node[this.id]=this._bindings.push([dojo.connect(cn,(this.leftClickToOpen)?"onclick":"oncontextmenu",this,"_openMyself"),dojo.connect(cn,"onkeydown",this,"_contextKey"),dojo.connect(cn,"onmousedown",this,"_contextMouse")]);},unBindDomNode:function(nodeName){var node=dojo.byId(nodeName);if(node){var bid=node[this.id]-1,b=this._bindings[bid];dojo.forEach(b,dojo.disconnect);delete this._bindings[bid];}},_contextKey:function(e){this._contextMenuWithMouse=false;if(e.keyCode==dojo.keys.F10){dojo.stopEvent(e);if(e.shiftKey&&e.type=="keydown"){var _e={target:e.target,pageX:e.pageX,pageY:e.pageY};_e.preventDefault=_e.stopPropagation=function(){};window.setTimeout(dojo.hitch(this,function(){this._openMyself(_e);}),1);}}},_contextMouse:function(e){this._contextMenuWithMouse=true;},_openMyself:function(e){if(this.leftClickToOpen&&e.button>0){return;}
dojo.stopEvent(e);var x,y;if(dojo.isSafari||this._contextMenuWithMouse){x=e.pageX;y=e.pageY;}else{var coords=dojo.coords(e.target,true);x=coords.x+10;y=coords.y+10;}
var self=this;var savedFocus=dijit.getFocus(this);function closeAndRestoreFocus(){dijit.focus(savedFocus);dijit.popup.close(self);}
dijit.popup.open({popup:this,x:x,y:y,onExecute:closeAndRestoreFocus,onCancel:closeAndRestoreFocus,orient:this.isLeftToRight()?'L':'R'});this.focus();this._onBlur=function(){this.inherited('_onBlur',arguments);dijit.popup.close(this);}},onOpen:function(e){this.isShowingNow=true;},onClose:function(){this._stopPopupTimer();this.parentMenu=null;this.isShowingNow=false;this.currentPopup=null;if(this.focusedChild){this._onChildBlur(this.focusedChild);this.focusedChild=null;}},_openPopup:function(){this._stopPopupTimer();var from_item=this.focusedChild;var popup=from_item.popup;if(popup.isShowingNow){return;}
popup.parentMenu=this;var self=this;dijit.popup.open({parent:this,popup:popup,around:from_item.arrowCell,orient:this.isLeftToRight()?{'TR':'TL','TL':'TR'}:{'TL':'TR','TR':'TL'},onCancel:function(){dijit.popup.close(popup);from_item.focus();self.currentPopup=null;}});this.currentPopup=popup;if(popup.focus){popup.focus();}},uninitialize:function(){dojo.forEach(this.targetNodeIds,this.unBindDomNode,this);this.inherited(arguments);}});dojo.declare("dijit.MenuItem",[dijit._Widget,dijit._Templated,dijit._Contained],{templateString:'<tr class="dijitReset dijitMenuItem" '
+'dojoAttachEvent="onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick">'
+'<td class="dijitReset"><div class="dijitMenuItemIcon ${iconClass}" dojoAttachPoint="iconNode"></div></td>'
+'<td tabIndex="-1" class="dijitReset dijitMenuItemLabel" dojoAttachPoint="containerNode,focusNode" waiRole="menuitem"></td>'
+'<td class="dijitReset" dojoAttachPoint="arrowCell">'
+'<div class="dijitMenuExpand" dojoAttachPoint="expand" style="display:none">'
+'<span class="dijitInline dijitArrowNode dijitMenuExpandInner">+</span>'
+'</div>'
+'</td>'
+'</tr>',label:'',iconClass:"",disabled:false,postCreate:function(){dojo.setSelectable(this.domNode,false);this.setDisabled(this.disabled);if(this.label){this.setLabel(this.label);}},_onHover:function(){this.getParent().onItemHover(this);},_onUnhover:function(){this.getParent().onItemUnhover(this);},_onClick:function(evt){this.getParent().onItemClick(this,evt);dojo.stopEvent(evt);},onClick:function(evt){},focus:function(){dojo.addClass(this.domNode,'dijitMenuItemHover');try{dijit.focus(this.containerNode);}catch(e){}},_blur:function(){dojo.removeClass(this.domNode,'dijitMenuItemHover');},setLabel:function(value){this.containerNode.innerHTML=this.label=value;},setDisabled:function(value){this.disabled=value;dojo[value?"addClass":"removeClass"](this.domNode,'dijitMenuItemDisabled');dijit.setWaiState(this.containerNode,'disabled',value?'true':'false');}});dojo.declare("dijit.PopupMenuItem",dijit.MenuItem,{_fillContent:function(){if(this.srcNodeRef){var nodes=dojo.query("*",this.srcNodeRef);dijit.PopupMenuItem.superclass._fillContent.call(this,nodes[0]);this.dropDownContainer=this.srcNodeRef;}},startup:function(){if(this._started){return;}
this.inherited(arguments);if(!this.popup){var node=dojo.query("[widgetId]",this.dropDownContainer)[0];this.popup=dijit.byNode(node);}
dojo.body().appendChild(this.popup.domNode);this.popup.domNode.style.display="none";dojo.addClass(this.expand,"dijitMenuExpandEnabled");dojo.style(this.expand,"display","");dijit.setWaiState(this.containerNode,"haspopup","true");},destroyDescendants:function(){if(this.popup){this.popup.destroyRecursive();delete this.popup;}
this.inherited(arguments);}});dojo.declare("dijit.MenuSeparator",[dijit._Widget,dijit._Templated,dijit._Contained],{templateString:'<tr class="dijitMenuSeparator"><td colspan=3>'
+'<div class="dijitMenuSeparatorTop"></div>'
+'<div class="dijitMenuSeparatorBottom"></div>'
+'</td></tr>',postCreate:function(){dojo.setSelectable(this.domNode,false);},isFocusable:function(){return false;}});}
if(!dojo._hasResource["dijit.layout.StackContainer"]){dojo._hasResource["dijit.layout.StackContainer"]=true;dojo.provide("dijit.layout.StackContainer");dojo.require("dijit._Templated");dojo.require("dijit.layout._LayoutWidget");dojo.require("dijit.form.Button");dojo.require("dijit.Menu");dojo.requireLocalization("dijit","common",null,"ROOT,cs,de,es,fr,gr,hu,it,ja,ko,pl,pt,ru,sv,zh,zh-tw");dojo.declare("dijit.layout.StackContainer",dijit.layout._LayoutWidget,{doLayout:true,_started:false,postCreate:function(){dijit.setWaiRole((this.containerNode||this.domNode),"tabpanel");this.connect(this.domNode,"onkeypress",this._onKeyPress);},startup:function(){if(this._started){return;}
var children=this.getChildren();dojo.forEach(children,this._setupChild,this);dojo.some(children,function(child){if(child.selected){this.selectedChildWidget=child;}
return child.selected;},this);var selected=this.selectedChildWidget;if(!selected&&children[0]){selected=this.selectedChildWidget=children[0];selected.selected=true;}
if(selected){this._showChild(selected);}
dojo.publish(this.id+"-startup",[{children:children,selected:selected}]);this.inherited(arguments);},_setupChild:function(page){page.domNode.style.display="none";page.domNode.style.position="relative";return page;},addChild:function(child,insertIndex){dijit._Container.prototype.addChild.apply(this,arguments);child=this._setupChild(child);if(this._started){this.layout();dojo.publish(this.id+"-addChild",[child,insertIndex]);if(!this.selectedChildWidget){this.selectChild(child);}}},removeChild:function(page){dijit._Container.prototype.removeChild.apply(this,arguments);if(this._beingDestroyed){return;}
if(this._started){dojo.publish(this.id+"-removeChild",[page]);this.layout();}
if(this.selectedChildWidget===page){this.selectedChildWidget=undefined;if(this._started){var children=this.getChildren();if(children.length){this.selectChild(children[0]);}}}},selectChild:function(page){page=dijit.byId(page);if(this.selectedChildWidget!=page){this._transition(page,this.selectedChildWidget);this.selectedChildWidget=page;dojo.publish(this.id+"-selectChild",[page]);}},reselectChild:function(){dojo.publish(this.id+"-selectChild",[this.selectedChildWidget]);},_transition:function(newWidget,oldWidget){if(oldWidget){this._hideChild(oldWidget);}
this._showChild(newWidget);if(this.doLayout&&newWidget.resize){newWidget.resize(this._containerContentBox||this._contentBox);}},_adjacent:function(forward){var children=this.getChildren();var index=dojo.indexOf(children,this.selectedChildWidget);index+=forward?1:children.length-1;return children[index%children.length];},forward:function(){this.selectChild(this._adjacent(true));},back:function(){this.selectChild(this._adjacent(false));},_onKeyPress:function(e){dojo.publish(this.id+"-containerKeyPress",[{e:e,page:this}]);},layout:function(){if(this.doLayout&&this.selectedChildWidget&&this.selectedChildWidget.resize){this.selectedChildWidget.resize(this._contentBox);}},_showChild:function(page){var children=this.getChildren();page.isFirstChild=(page==children[0]);page.isLastChild=(page==children[children.length-1]);page.selected=true;page.domNode.style.display="";if(page._loadCheck){page._loadCheck();}
if(page.onShow){page.onShow();}},_hideChild:function(page){page.selected=false;page.domNode.style.display="none";if(page.onHide){page.onHide();}},closeChild:function(page){var remove=page.onClose(this,page);if(remove){this.removeChild(page);page.destroyRecursive();}},destroy:function(){this._beingDestroyed=true;this.inherited(arguments);}});dojo.declare("dijit.layout.StackController",[dijit._Widget,dijit._Templated,dijit._Container],{templateString:"<span wairole='tablist' dojoAttachEvent='onkeypress' class='dijitStackController'></span>",containerId:"",buttonWidget:"dijit.layout._StackButton",postCreate:function(){dijit.setWaiRole(this.domNode,"tablist");this.pane2button={};this.pane2menu={};this._subscriptions=[dojo.subscribe(this.containerId+"-startup",this,"onStartup"),dojo.subscribe(this.containerId+"-addChild",this,"onAddChild"),dojo.subscribe(this.containerId+"-removeChild",this,"onRemoveChild"),dojo.subscribe(this.containerId+"-selectChild",this,"onSelectChild"),dojo.subscribe(this.containerId+"-containerKeyPress",this,"onContainerKeyPress")];},onStartup:function(info){dojo.forEach(info.children,this.onAddChild,this);this.onSelectChild(info.selected);},destroy:function(){for(var pane in this.pane2button){this.onRemoveChild(pane);}
dojo.forEach(this._subscriptions,dojo.unsubscribe);this.inherited(arguments);},onAddChild:function(page,insertIndex){var refNode=dojo.doc.createElement("span");this.domNode.appendChild(refNode);var cls=dojo.getObject(this.buttonWidget);var button=new cls({label:page.title,closeButton:page.closable},refNode);this.addChild(button,insertIndex);this.pane2button[page]=button;page.controlButton=button;dojo.connect(button,"onClick",dojo.hitch(this,"onButtonClick",page));if(page.closable){dojo.connect(button,"onClickCloseButton",dojo.hitch(this,"onCloseButtonClick",page));var _nlsResources=dojo.i18n.getLocalization("dijit","common");var closeMenu=new dijit.Menu({targetNodeIds:[button.id],id:button.id+"_Menu"});var mItem=new dijit.MenuItem({label:_nlsResources.itemClose});dojo.connect(mItem,"onClick",dojo.hitch(this,"onCloseButtonClick",page));closeMenu.addChild(mItem);this.pane2menu[page]=closeMenu;}
if(!this._currentChild){button.focusNode.setAttribute("tabIndex","0");this._currentChild=page;}
if(!this.isLeftToRight()&&dojo.isIE&&this._rectifyRtlTabList){this._rectifyRtlTabList();}},onRemoveChild:function(page){if(this._currentChild===page){this._currentChild=null;}
var button=this.pane2button[page];var menu=this.pane2menu[page];if(menu){menu.destroy();}
if(button){button.destroy();}
this.pane2button[page]=null;},onSelectChild:function(page){if(!page){return;}
if(this._currentChild){var oldButton=this.pane2button[this._currentChild];oldButton.setAttribute('checked',false);oldButton.focusNode.setAttribute("tabIndex","-1");}
var newButton=this.pane2button[page];newButton.setAttribute('checked',true);this._currentChild=page;newButton.focusNode.setAttribute("tabIndex","0");var container=dijit.byId(this.containerId);dijit.setWaiState(container.containerNode||container.domNode,"labelledby",newButton.id);},onButtonClick:function(page){var container=dijit.byId(this.containerId);container.selectChild(page);},onCloseButtonClick:function(page){var container=dijit.byId(this.containerId);container.closeChild(page);var b=this.pane2button[this._currentChild];if(b){dijit.focus(b.focusNode||b.domNode);}},adjacent:function(forward){if(!this.isLeftToRight()&&(!this.tabPosition||/top|bottom/.test(this.tabPosition))){forward=!forward;}
var children=this.getChildren();var current=dojo.indexOf(children,this.pane2button[this._currentChild]);var offset=forward?1:children.length-1;return children[(current+offset)%children.length];},onkeypress:function(e){if(this.disabled||e.altKey){return;}
var forward=null;if(e.ctrlKey||!e._djpage){var k=dojo.keys;switch(e.keyCode){case k.LEFT_ARROW:case k.UP_ARROW:if(!e._djpage){forward=false;}
break;case k.PAGE_UP:if(e.ctrlKey){forward=false;}
break;case k.RIGHT_ARROW:case k.DOWN_ARROW:if(!e._djpage){forward=true;}
break;case k.PAGE_DOWN:if(e.ctrlKey){forward=true;}
break;case k.DELETE:if(this._currentChild.closable){this.onCloseButtonClick(this._currentChild);}
dojo.stopEvent(e);break;default:if(e.ctrlKey){if(e.keyCode==k.TAB){this.adjacent(!e.shiftKey).onClick();dojo.stopEvent(e);}else if(e.keyChar=="w"){if(this._currentChild.closable){this.onCloseButtonClick(this._currentChild);}
dojo.stopEvent(e);}}}
if(forward!==null){this.adjacent(forward).onClick();dojo.stopEvent(e);}}},onContainerKeyPress:function(info){info.e._djpage=info.page;this.onkeypress(info.e);}});dojo.declare("dijit.layout._StackButton",dijit.form.ToggleButton,{tabIndex:"-1",postCreate:function(evt){dijit.setWaiRole((this.focusNode||this.domNode),"tab");this.inherited(arguments);},onClick:function(evt){dijit.focus(this.focusNode);},onClickCloseButton:function(evt){evt.stopPropagation();}});dojo.extend(dijit._Widget,{title:"",selected:false,closable:false,onClose:function(){return true;}});}
if(!dojo._hasResource["dijit.layout.TabContainer"]){dojo._hasResource["dijit.layout.TabContainer"]=true;dojo.provide("dijit.layout.TabContainer");dojo.require("dijit.layout.StackContainer");dojo.require("dijit._Templated");dojo.declare("dijit.layout.TabContainer",[dijit.layout.StackContainer,dijit._Templated],{tabPosition:"top",templateString:null,templateString:"<div class=\"dijitTabContainer\">\n\t<div dojoAttachPoint=\"tablistNode\"></div>\n\t<div class=\"dijitTabPaneWrapper\" dojoAttachPoint=\"containerNode\"></div>\n</div>\n",_controllerWidget:"dijit.layout.TabController",postCreate:function(){this.inherited(arguments);var TabController=dojo.getObject(this._controllerWidget);this.tablist=new TabController({id:this.id+"_tablist",tabPosition:this.tabPosition,doLayout:this.doLayout,containerId:this.id},this.tablistNode);},_setupChild:function(tab){dojo.addClass(tab.domNode,"dijitTabPane");this.inherited(arguments);return tab;},startup:function(){if(this._started){return;}
this.tablist.startup();this.inherited(arguments);if(dojo.isSafari){setTimeout(dojo.hitch(this,"layout"),0);}
if(dojo.isIE&&!this.isLeftToRight()&&this.tabPosition=="right-h"&&this.tablist&&this.tablist.pane2button){for(var pane in this.tablist.pane2button){var tabButton=this.tablist.pane2button[pane];if(!tabButton.closeButton){continue;}
tabButtonStyle=tabButton.closeButtonNode.style;tabButtonStyle.position="absolute";if(dojo.isIE<7){tabButtonStyle.left=tabButton.domNode.offsetWidth+"px";}else{tabButtonStyle.padding="0px";}}}},layout:function(){if(!this.doLayout){return;}
var titleAlign=this.tabPosition.replace(/-h/,"");var children=[{domNode:this.tablist.domNode,layoutAlign:titleAlign},{domNode:this.containerNode,layoutAlign:"client"}];dijit.layout.layoutChildren(this.domNode,this._contentBox,children);this._containerContentBox=dijit.layout.marginBox2contentBox(this.containerNode,children[1]);if(this.selectedChildWidget){this._showChild(this.selectedChildWidget);if(this.doLayout&&this.selectedChildWidget.resize){this.selectedChildWidget.resize(this._containerContentBox);}}},destroy:function(){if(this.tablist){this.tablist.destroy();}
this.inherited(arguments);}});dojo.declare("dijit.layout.TabController",dijit.layout.StackController,{templateString:"<div wairole='tablist' dojoAttachEvent='onkeypress:onkeypress'></div>",tabPosition:"top",doLayout:true,buttonWidget:"dijit.layout._TabButton",onButtonClick:function(page){this.inherited(arguments);dojo.forEach(page.getDescendants(),function(widget)
{if(widget.resize)widget.resize();});},postMixInProperties:function(){this["class"]="dijitTabLabels-"+this.tabPosition+(this.doLayout?"":" dijitTabNoLayout");this.inherited(arguments);},_rectifyRtlTabList:function(){if(0>=this.tabPosition.indexOf('-h')){return;}
if(!this.pane2button){return;}
var maxLen=0;for(var pane in this.pane2button){maxLen=Math.max(maxLen,dojo.marginBox(this.pane2button[pane].innerDiv).w);}
for(pane in this.pane2button){this.pane2button[pane].innerDiv.style.width=maxLen+'px';}}});dojo.declare("dijit.layout._TabButton",dijit.layout._StackButton,{baseClass:"dijitTab",templateString:"<div waiRole=\"presentation\" dojoAttachEvent='onclick:onClick,onmouseenter:_onMouse,onmouseleave:_onMouse'>\n    <div waiRole=\"presentation\" class='dijitTabInnerDiv' dojoAttachPoint='innerDiv'>\n        <div waiRole=\"presentation\" class='dijitTabContent' dojoAttachPoint='tabContent'>\n\t        <span dojoAttachPoint='containerNode,focusNode' class='tabLabel'>${!label}</span>\n\t        <span dojoAttachPoint='closeButtonNode' class='closeImage' dojoAttachEvent='onmouseenter:_onMouse, onmouseleave:_onMouse, onclick:onClickCloseButton' stateModifier='CloseButton'>\n\t            <span dojoAttachPoint='closeText' class='closeText'>x</span>\n\t        </span>\n        </div>\n    </div>\n</div>\n",postCreate:function(){if(this.closeButton){dojo.addClass(this.innerDiv,"dijitClosable");}else{this.closeButtonNode.style.display="none";}
this.inherited(arguments);dojo.setSelectable(this.containerNode,false);}});}
if(!dojo._hasResource["dojo.cookie"]){dojo._hasResource["dojo.cookie"]=true;dojo.provide("dojo.cookie");dojo.require("dojo.regexp");dojo.cookie=function(name,value,props){var c=document.cookie;if(arguments.length==1){var matches=c.match(new RegExp("(?:^|; )"+dojo.regexp.escapeString(name)+"=([^;]*)"));return matches?decodeURIComponent(matches[1]):undefined;}else{props=props||{};var exp=props.expires;if(typeof exp=="number"){var d=new Date();d.setTime(d.getTime()+exp*24*60*60*1000);exp=props.expires=d;}
if(exp&&exp.toUTCString){props.expires=exp.toUTCString();}
value=encodeURIComponent(value);var updatedCookie=name+"="+value;for(propName in props){updatedCookie+="; "+propName;var propValue=props[propName];if(propValue!==true){updatedCookie+="="+propValue;}}
document.cookie=updatedCookie;}};dojo.cookie.isSupported=function(){if(!("cookieEnabled"in navigator)){this("__djCookieTest__","CookiesAllowed");navigator.cookieEnabled=this("__djCookieTest__")=="CookiesAllowed";if(navigator.cookieEnabled){this("__djCookieTest__","",{expires:-1});}}
return navigator.cookieEnabled;};}
if(!dojo._hasResource["dijit.Tree"]){dojo._hasResource["dijit.Tree"]=true;dojo.provide("dijit.Tree");dojo.require("dojo.fx");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.require("dijit._Container");dojo.require("dojo.cookie");dojo.declare("dijit._TreeNode",[dijit._Widget,dijit._Templated,dijit._Container,dijit._Contained],{item:null,isTreeNode:true,label:"",isExpandable:null,isExpanded:false,state:"UNCHECKED",templateString:"<div class=\"dijitTreeNode\" waiRole=\"presentation\"\n\t><div dojoAttachPoint=\"rowNode\" waiRole=\"presentation\"\n\t\t><span dojoAttachPoint=\"expandoNode\" class=\"dijitTreeExpando\" waiRole=\"presentation\"\n\t\t></span\n\t\t><span dojoAttachPoint=\"expandoNodeText\" class=\"dijitExpandoText\" waiRole=\"presentation\"\n\t\t></span\n\t\t><div dojoAttachPoint=\"contentNode\" class=\"dijitTreeContent\" waiRole=\"presentation\">\n\t\t\t<div dojoAttachPoint=\"iconNode\" class=\"dijitInline dijitTreeIcon\" waiRole=\"presentation\"></div>\n\t\t\t<span dojoAttachPoint=\"labelNode\" class=\"dijitTreeLabel\" wairole=\"treeitem\" tabindex=\"-1\" waiState=\"selected-false\" dojoAttachEvent=\"onfocus:_onNodeFocus\"></span>\n\t\t</div\n\t></div>\n</div>\n",postCreate:function(){this.setLabelNode(this.label);this._setExpando();this._updateItemClasses(this.item);if(this.isExpandable){dijit.setWaiState(this.labelNode,"expanded",this.isExpanded);}},markProcessing:function(){this.state="LOADING";this._setExpando(true);},unmarkProcessing:function(){this._setExpando(false);},_updateItemClasses:function(item){var tree=this.tree,model=tree.model;if(tree._v10Compat&&item===model.root){item=null;}
this.iconNode.className="dijitInline dijitTreeIcon "+tree.getIconClass(item,this.isExpanded);this.labelNode.className="dijitTreeLabel "+tree.getLabelClass(item,this.isExpanded);},_updateLayout:function(){var parent=this.getParent();if(!parent||parent.rowNode.style.display=="none"){dojo.addClass(this.domNode,"dijitTreeIsRoot");}else{dojo.toggleClass(this.domNode,"dijitTreeIsLast",!this.getNextSibling());}},_setExpando:function(processing){var styles=["dijitTreeExpandoLoading","dijitTreeExpandoOpened","dijitTreeExpandoClosed","dijitTreeExpandoLeaf"];var idx=processing?0:(this.isExpandable?(this.isExpanded?1:2):3);dojo.forEach(styles,function(s){dojo.removeClass(this.expandoNode,s);},this);dojo.addClass(this.expandoNode,styles[idx]);this.expandoNodeText.innerHTML=processing?"*":(this.isExpandable?(this.isExpanded?"-":"+"):"*");},expand:function(){if(this.isExpanded){return;}
if(this._wipeOut.status()=="playing"){this._wipeOut.stop();}
this.isExpanded=true;dijit.setWaiState(this.labelNode,"expanded","true");dijit.setWaiRole(this.containerNode,"group");this.contentNode.className="dijitTreeContent dijitTreeContentExpanded";this._setExpando();this._updateItemClasses(this.item);this._wipeIn.play();},collapse:function(){if(!this.isExpanded){return;}
if(this._wipeIn.status()=="playing"){this._wipeIn.stop();}
this.isExpanded=false;dijit.setWaiState(this.labelNode,"expanded","false");this.contentNode.className="dijitTreeContent";this._setExpando();this._updateItemClasses(this.item);this._wipeOut.play();},setLabelNode:function(label){this.labelNode.innerHTML="";this.labelNode.appendChild(dojo.doc.createTextNode(label));},setChildItems:function(items){var tree=this.tree,model=tree.model;this.getChildren().forEach(function(child){dijit._Container.prototype.removeChild.call(this,child);},this);this.state="LOADED";if(items&&items.length>0){this.isExpandable=true;if(!this.containerNode){this.containerNode=this.tree.containerNodeTemplate.cloneNode(true);this.domNode.appendChild(this.containerNode);}
dojo.forEach(items,function(item){var id=model.getIdentity(item),existingNode=tree._itemNodeMap[id],node=(existingNode&&!existingNode.getParent())?existingNode:new dijit._TreeNode({item:item,tree:tree,isExpandable:model.mayHaveChildren(item),label:tree.getLabel(item)});this.addChild(node);tree._itemNodeMap[id]=node;if(this.tree.persist){if(tree._openedItemIds[id]){tree._expandNode(node);}}},this);dojo.forEach(this.getChildren(),function(child,idx){child._updateLayout();});}else{this.isExpandable=false;}
if(this._setExpando){this._setExpando(false);}
if(!this.parent){var fc=this.tree.showRoot?this:this.getChildren()[0],tabnode=fc?fc.labelNode:this.domNode;tabnode.setAttribute("tabIndex","0");}
if(this.containerNode&&!this._wipeIn){this._wipeIn=dojo.fx.wipeIn({node:this.containerNode,duration:150});this._wipeOut=dojo.fx.wipeOut({node:this.containerNode,duration:150});}},removeChild:function(node){this.inherited(arguments);var children=this.getChildren();if(children.length==0){this.isExpandable=false;this.collapse();}
dojo.forEach(children,function(child){child._updateLayout();});},makeExpandable:function(){this.isExpandable=true;this._setExpando(false);},_onNodeFocus:function(evt){var node=dijit.getEnclosingWidget(evt.target);this.tree._onTreeFocus(node);}});dojo.declare("dijit.Tree",[dijit._Widget,dijit._Templated],{store:null,model:null,query:null,label:"",showRoot:true,childrenAttr:["children"],openOnClick:false,templateString:"<div class=\"dijitTreeContainer\" waiRole=\"tree\"\n\tdojoAttachEvent=\"onclick:_onClick,onkeypress:_onKeyPress\">\n</div>\n",isExpandable:true,isTree:true,persist:true,dndController:null,dndParams:["onDndDrop","itemCreator","onDndCancel","checkAcceptance","checkItemAcceptance"],onDndDrop:null,itemCreator:null,onDndCancel:null,checkAcceptance:null,checkItemAcceptance:null,_publish:function(topicName,message){dojo.publish(this.id,[dojo.mixin({tree:this,event:topicName},message||{})]);},postMixInProperties:function(){this.tree=this;this._itemNodeMap={};if(!this.cookieName){this.cookieName=this.id+"SaveStateCookie";}},postCreate:function(){if(this.persist){var cookie=dojo.cookie(this.cookieName);this._openedItemIds={};if(cookie){dojo.forEach(cookie.split(','),function(item){this._openedItemIds[item]=true;},this);}}
var div=dojo.doc.createElement('div');div.style.display='none';div.className="dijitTreeContainer";dijit.setWaiRole(div,"presentation");this.containerNodeTemplate=div;if(!this.model){this._store2model();}
this.connect(this.model,"onChange","_onItemChange");this.connect(this.model,"onChildrenChange","_onItemChildrenChange");this._load();this.inherited("postCreate",arguments);if(this.dndController){if(dojo.isString(this.dndController)){this.dndController=dojo.getObject(this.dndController);}
var params={};for(var i=0;i<this.dndParams.length;i++){if(this[this.dndParams[i]]){params[this.dndParams[i]]=this[this.dndParams[i]];}}
this.dndController=new this.dndController(this,params);}},_store2model:function(){this._v10Compat=true;dojo.deprecated("Tree: from version 2.0, should specify a model object rather than a store/query");var modelParams={id:this.id+"_ForestStoreModel",store:this.store,query:this.query,childrenAttrs:this.childrenAttr};if(this.params.mayHaveChildren){modelParams.mayHaveChildren=dojo.hitch(this,"mayHaveChildren");}
if(this.params.getItemChildren){modelParams.getChildren=dojo.hitch(this,function(item,onComplete,onError){this.getItemChildren((this._v10Compat&&item===this.model.root)?null:item,onComplete,onError);});}
this.model=new dijit.tree.ForestStoreModel(modelParams);this.showRoot=Boolean(this.label);},_load:function(){this.model.getRoot(dojo.hitch(this,function(item){var rn=this.rootNode=new dijit._TreeNode({item:item,tree:this,isExpandable:true,label:this.label||this.getLabel(item)});if(!this.showRoot){rn.rowNode.style.display="none";}
this.domNode.appendChild(rn.domNode);this._itemNodeMap[this.model.getIdentity(item)]=rn;rn._updateLayout();this._expandNode(rn);}),function(err){console.error(this,": error loading root: ",err);});},mayHaveChildren:function(item){},getItemChildren:function(parentItem,onComplete){},getLabel:function(item){return this.model.getLabel(item);},getIconClass:function(item,opened){return(!item||this.model.mayHaveChildren(item))?(opened?"dijitFolderOpened":"dijitFolderClosed"):"dijitLeaf"},getLabelClass:function(item,opened){},_onKeyPress:function(e){if(e.altKey){return;}
var treeNode=dijit.getEnclosingWidget(e.target);if(!treeNode){return;}
if(e.charCode){var navKey=e.charCode;if(!e.altKey&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey){navKey=(String.fromCharCode(navKey)).toLowerCase();this._onLetterKeyNav({node:treeNode,key:navKey});dojo.stopEvent(e);}}else{var map=this._keyHandlerMap;if(!map){map={};map[dojo.keys.ENTER]="_onEnterKey";map[dojo.keys.LEFT_ARROW]="_onLeftArrow";map[dojo.keys.RIGHT_ARROW]="_onRightArrow";map[dojo.keys.UP_ARROW]="_onUpArrow";map[dojo.keys.DOWN_ARROW]="_onDownArrow";map[dojo.keys.HOME]="_onHomeKey";map[dojo.keys.END]="_onEndKey";this._keyHandlerMap=map;}
if(this._keyHandlerMap[e.keyCode]){this[this._keyHandlerMap[e.keyCode]]({node:treeNode,item:treeNode.item});dojo.stopEvent(e);}}},_onEnterKey:function(message){this._publish("execute",{item:message.item,node:message.node});this.onClick(message.item,message.node);},_onDownArrow:function(message){var node=this._getNextNode(message.node);if(node&&node.isTreeNode){this.focusNode(node);}},_onUpArrow:function(message){var node=message.node;var previousSibling=node.getPreviousSibling();if(previousSibling){node=previousSibling;while(node.isExpandable&&node.isExpanded&&node.hasChildren()){var children=node.getChildren();node=children[children.length-1];}}else{var parent=node.getParent();if(!(!this.showRoot&&parent===this.rootNode)){node=parent;}}
if(node&&node.isTreeNode){this.focusNode(node);}},_onRightArrow:function(message){var node=message.node;if(node.isExpandable&&!node.isExpanded){this._expandNode(node);}else if(node.hasChildren()){node=node.getChildren()[0];if(node&&node.isTreeNode){this.focusNode(node);}}},_onLeftArrow:function(message){var node=message.node;if(node.isExpandable&&node.isExpanded){this._collapseNode(node);}else{node=node.getParent();if(node&&node.isTreeNode){this.focusNode(node);}}},_onHomeKey:function(){var node=this._getRootOrFirstNode();if(node){this.focusNode(node);}},_onEndKey:function(message){var node=this;while(node.isExpanded){var c=node.getChildren();node=c[c.length-1];}
if(node&&node.isTreeNode){this.focusNode(node);}},_onLetterKeyNav:function(message){var node=startNode=message.node,key=message.key;do{node=this._getNextNode(node);if(!node){node=this._getRootOrFirstNode();}}while(node!==startNode&&(node.label.charAt(0).toLowerCase()!=key));if(node&&node.isTreeNode){if(node!==startNode){this.focusNode(node);}}},_onClick:function(e){var domElement=e.target;var nodeWidget=dijit.getEnclosingWidget(domElement);if(!nodeWidget||!nodeWidget.isTreeNode){return;}
if((this.openOnClick&&nodeWidget.isExpandable)||(domElement==nodeWidget.expandoNode||domElement==nodeWidget.expandoNodeText)){if(nodeWidget.isExpandable){this._onExpandoClick({node:nodeWidget});}}else{this._publish("execute",{item:nodeWidget.item,node:nodeWidget});this.onClick(nodeWidget.item,nodeWidget);this.focusNode(nodeWidget);}
dojo.stopEvent(e);},_onExpandoClick:function(message){var node=message.node;this.focusNode(node);if(node.isExpanded){this._collapseNode(node);}else{this._expandNode(node);}},onClick:function(item,node){},_getNextNode:function(node){if(node.isExpandable&&node.isExpanded&&node.hasChildren()){return node.getChildren()[0];}else{while(node&&node.isTreeNode){var returnNode=node.getNextSibling();if(returnNode){return returnNode;}
node=node.getParent();}
return null;}},_getRootOrFirstNode:function(){return this.showRoot?this.rootNode:this.rootNode.getChildren()[0];},_collapseNode:function(node){if(node.isExpandable){if(node.state=="LOADING"){return;}
node.collapse();if(this.persist&&node.item){delete this._openedItemIds[this.model.getIdentity(node.item)];this._saveState();}}},_expandNode:function(node){if(!node.isExpandable){return;}
var model=this.model,item=node.item;switch(node.state){case"LOADING":return;case"UNCHECKED":node.markProcessing();var _this=this;model.getChildren(item,function(items){node.unmarkProcessing();node.setChildItems(items);_this._expandNode(node);},function(err){console.error(_this,": error loading root children: ",err);});break;default:node.expand();if(this.persist&&item){this._openedItemIds[model.getIdentity(item)]=true;this._saveState();}}},blurNode:function(){var node=this.lastFocused;if(!node){return;}
var labelNode=node.labelNode;dojo.removeClass(labelNode,"dijitTreeLabelFocused");labelNode.setAttribute("tabIndex","-1");dijit.setWaiState(labelNode,"selected",false);this.lastFocused=null;},focusNode:function(node){node.labelNode.focus();},_onBlur:function(){this.inherited(arguments);if(this.lastFocused){var labelNode=this.lastFocused.labelNode;dojo.removeClass(labelNode,"dijitTreeLabelFocused");}},_onTreeFocus:function(node){if(node){if(node!=this.lastFocused){this.blurNode();}
var labelNode=node.labelNode;labelNode.setAttribute("tabIndex","0");dijit.setWaiState(labelNode,"selected",true);dojo.addClass(labelNode,"dijitTreeLabelFocused");this.lastFocused=node;}},_onItemDelete:function(item){var identity=this.model.getIdentity(item);var node=this._itemNodeMap[identity];if(node){var parent=node.getParent();if(parent){parent.removeChild(node);}
delete this._itemNodeMap[identity];node.destroyRecursive();}},_onItemChange:function(item){var model=this.model,identity=model.getIdentity(item),node=this._itemNodeMap[identity];if(node){node.setLabelNode(this.getLabel(item));node._updateItemClasses(item);}},_onItemChildrenChange:function(parent,newChildrenList){var model=this.model,identity=model.getIdentity(parent),parentNode=this._itemNodeMap[identity];if(parentNode){parentNode.setChildItems(newChildrenList);}},_saveState:function(){if(!this.persist){return;}
var ary=[];for(var id in this._openedItemIds){ary.push(id);}
dojo.cookie(this.cookieName,ary.join(","));},destroy:function(){if(this.rootNode){this.rootNode.destroyRecursive();}
this.rootNode=null;this.inherited(arguments);},destroyRecursive:function(){this.destroy();}});dojo.declare("dijit.tree.TreeStoreModel",null,{store:null,childrenAttrs:["children"],root:null,query:null,constructor:function(args){dojo.mixin(this,args);this.connects=[];var store=this.store;if(!store.getFeatures()['dojo.data.api.Identity']){throw new Error("dijit.Tree: store must support dojo.data.Identity");}
if(store.getFeatures()['dojo.data.api.Notification']){this.connects=this.connects.concat([dojo.connect(store,"onNew",this,"_onNewItem"),dojo.connect(store,"onDelete",this,"_onDeleteItem"),dojo.connect(store,"onSet",this,"_onSetItem")]);}},destroy:function(){dojo.forEach(this.connects,dojo.disconnect);},getRoot:function(onItem,onError){if(this.root){onItem(this.root);}else{this.store.fetch({query:this.query,onComplete:dojo.hitch(this,function(items){if(items.length!=1){throw new Error(this.declaredClass+": query "+query+" returned "+items.length+" items, but must return exactly one item");}
this.root=items[0];onItem(this.root);}),onError:onError});}},mayHaveChildren:function(item){return dojo.some(this.childrenAttrs,function(attr){return this.store.hasAttribute(item,attr);},this);},getChildren:function(parentItem,onComplete,onError){var store=this.store;var childItems=[];for(var i=0;i<this.childrenAttrs.length;i++){var vals=store.getValues(parentItem,this.childrenAttrs[i]);childItems=childItems.concat(vals);}
var _waitCount=0;dojo.forEach(childItems,function(item){if(!store.isItemLoaded(item)){_waitCount++;}});if(_waitCount==0){onComplete(childItems);}else{var onItem=function onItem(item){if(--_waitCount==0){onComplete(childItems);}}
dojo.forEach(childItems,function(item){if(!store.isItemLoaded(item)){store.loadItem({item:item,onItem:onItem,onError:onError});}});}},getIdentity:function(item){return this.store.getIdentity(item);},getLabel:function(item){return this.store.getLabel(item);},newItem:function(args,parent){var pInfo={parent:parent,attribute:this.childrenAttrs[0]};return this.store.newItem(args,pInfo);},pasteItem:function(childItem,oldParentItem,newParentItem,bCopy){var store=this.store,parentAttr=this.childrenAttrs[0];if(oldParentItem){dojo.forEach(this.childrenAttrs,function(attr){if(store.containsValue(oldParentItem,attr,childItem)){if(!bCopy){var values=dojo.filter(store.getValues(oldParentItem,attr),function(x){return x!=childItem;});store.setValues(oldParentItem,attr,values);}
parentAttr=attr;}});}
if(newParentItem){store.setValues(newParentItem,parentAttr,store.getValues(newParentItem,parentAttr).concat(childItem));}},onChange:function(item){},onChildrenChange:function(parent,newChildrenList){},_onNewItem:function(item,parentInfo){if(!parentInfo){return;}
this.getChildren(parentInfo.item,dojo.hitch(this,function(children){this.onChildrenChange(parentInfo.item,children);}));},_onDeleteItem:function(item){},_onSetItem:function(item,attribute,oldValue,newValue){if(dojo.indexOf(this.childrenAttrs,attribute)!=-1){this.getChildren(item,dojo.hitch(this,function(children){this.onChildrenChange(item,children);}));}else{this.onChange(item);}}});dojo.declare("dijit.tree.ForestStoreModel",dijit.tree.TreeStoreModel,{rootId:"$root$",rootLabel:"ROOT",query:null,constructor:function(params){this.root={store:this,root:true,id:params.rootId,label:params.rootLabel,children:params.rootChildren};},mayHaveChildren:function(item){return item===this.root||this.inherited(arguments);},getChildren:function(parentItem,callback,onError){if(parentItem===this.root){if(this.root.children){callback(this.root.children);}else{this.store.fetch({query:this.query,onComplete:dojo.hitch(this,function(items){this.root.children=items;callback(items);}),onError:onError});}}else{this.inherited(arguments);}},getIdentity:function(item){return(item===this.root)?this.root.id:this.inherited(arguments);},getLabel:function(item){return(item===this.root)?this.root.label:this.inherited(arguments);},newItem:function(args,parent){if(parent===this.root){this.onNewRootItem(args);return this.store.newItem(args);}else{return this.inherited(arguments);}},onNewRootItem:function(args){},pasteItem:function(childItem,oldParentItem,newParentItem,bCopy){if(oldParentItem===this.root){if(!bCopy){this.onLeaveRoot(childItem);}}
dijit.tree.TreeStoreModel.prototype.pasteItem.call(this,childItem,oldParentItem===this.root?null:oldParentItem,newParentItem===this.root?null:newParentItem);if(newParentItem===this.root){this.onAddToRoot(childItem);}},onAddToRoot:function(item){console.log(this,": item ",item," added to root");},onLeaveRoot:function(item){console.log(this,": item ",item," removed from root");},_requeryTop:function(){var _this=this,oldChildren=this.root.children;this.store.fetch({query:this.query,onComplete:function(newChildren){_this.root.children=newChildren;if(oldChildren.length!=newChildren.length||dojo.some(oldChildren,function(item,idx){return newChildren[idx]!=item;})){_this.onChildrenChange(_this.root,newChildren);}}});},_onNewItem:function(item,parentInfo){this._requeryTop();this.inherited(arguments);},_onDeleteItem:function(item){if(dojo.indexOf(this.root.children,item)!=-1){this._requeryTop();}
this.inherited(arguments);}});}
if(!dojo._hasResource["dojo.number"]){dojo._hasResource["dojo.number"]=true;dojo.provide("dojo.number");dojo.require("dojo.i18n");dojo.requireLocalization("dojo.cldr","number",null,"de,de-de,en,en-au,en-gb,en-us,es,es-es,fr,it,ja,ja-jp,ko,ko-kr,ROOT,pt,zh,zh-cn,zh-tw");dojo.require("dojo.string");dojo.require("dojo.regexp");dojo.number.format=function(value,options){options=dojo.mixin({},options||{});var locale=dojo.i18n.normalizeLocale(options.locale);var bundle=dojo.i18n.getLocalization("dojo.cldr","number",locale);options.customs=bundle;var pattern=options.pattern||bundle[(options.type||"decimal")+"Format"];if(isNaN(value)){return null;}
return dojo.number._applyPattern(value,pattern,options);};dojo.number._numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/;dojo.number._applyPattern=function(value,pattern,options){options=options||{};var group=options.customs.group;var decimal=options.customs.decimal;var patternList=pattern.split(';');var positivePattern=patternList[0];pattern=patternList[(value<0)?1:0]||("-"+positivePattern);if(pattern.indexOf('%')!=-1){value*=100;}else if(pattern.indexOf('\u2030')!=-1){value*=1000;}else if(pattern.indexOf('\u00a4')!=-1){group=options.customs.currencyGroup||group;decimal=options.customs.currencyDecimal||decimal;pattern=pattern.replace(/\u00a4{1,3}/,function(match){var prop=["symbol","currency","displayName"][match.length-1];return options[prop]||options.currency||"";});}else if(pattern.indexOf('E')!=-1){throw new Error("exponential notation not supported");}
var numberPatternRE=dojo.number._numberPatternRE;var numberPattern=positivePattern.match(numberPatternRE);if(!numberPattern){throw new Error("unable to find a number expression in pattern: "+pattern);}
return pattern.replace(numberPatternRE,dojo.number._formatAbsolute(value,numberPattern[0],{decimal:decimal,group:group,places:options.places}));}
dojo.number.round=function(value,places,multiple){var pieces=String(value).split(".");var length=(pieces[1]&&pieces[1].length)||0;if(length>places){var factor=Math.pow(10,places);if(multiple>0){factor*=10/multiple;places++;}
value=Math.round(value*factor)/factor;pieces=String(value).split(".");length=(pieces[1]&&pieces[1].length)||0;if(length>places){pieces[1]=pieces[1].substr(0,places);value=Number(pieces.join("."));}}
return value;}
dojo.number._formatAbsolute=function(value,pattern,options){options=options||{};if(options.places===true){options.places=0;}
if(options.places===Infinity){options.places=6;}
if(dojo.isString(options.places))
{var i=options.places.indexOf(",");if(i!=-1)
options.places=parseFloat(options.places.substr(i+1));else
options.places=parseFloat(options.places);}
var patternParts=pattern.split(".");var maxPlaces=(options.places>=0)?options.places:(patternParts[1]&&patternParts[1].length)||0;if(!(options.round<0)){value=dojo.number.round(value,maxPlaces,options.round);}
var valueParts=String(Math.abs(value)).split(".");var fractional=valueParts[1]||"";if(options.places){valueParts[1]=dojo.string.pad(fractional.substr(0,options.places),options.places,'0',true);}else if(patternParts[1]&&options.places!==0){var pad=patternParts[1].lastIndexOf("0")+1;if(pad>fractional.length){valueParts[1]=dojo.string.pad(fractional,pad,'0',true);}
var places=patternParts[1].length;if(places<fractional.length){valueParts[1]=fractional.substr(0,places);}}else{if(valueParts[1]){valueParts.pop();}}
var patternDigits=patternParts[0].replace(',','');pad=patternDigits.indexOf("0");if(pad!=-1){pad=patternDigits.length-pad;if(pad>valueParts[0].length){valueParts[0]=dojo.string.pad(valueParts[0],pad);}
if(patternDigits.indexOf("#")==-1){valueParts[0]=valueParts[0].substr(valueParts[0].length-pad);}}
var index=patternParts[0].lastIndexOf(',');var groupSize,groupSize2;if(index!=-1){groupSize=patternParts[0].length-index-1;var remainder=patternParts[0].substr(0,index);index=remainder.lastIndexOf(',');if(index!=-1){groupSize2=remainder.length-index-1;}}
var pieces=[];for(var whole=valueParts[0];whole;){var off=whole.length-groupSize;pieces.push((off>0)?whole.substr(off):whole);whole=(off>0)?whole.slice(0,off):"";if(groupSize2){groupSize=groupSize2;delete groupSize2;}}
valueParts[0]=pieces.reverse().join(options.group||",");return valueParts.join(options.decimal||".");};dojo.number.regexp=function(options){return dojo.number._parseInfo(options).regexp;}
dojo.number._parseInfo=function(options){options=options||{};var locale=dojo.i18n.normalizeLocale(options.locale);var bundle=dojo.i18n.getLocalization("dojo.cldr","number",locale);var pattern=options.pattern||bundle[(options.type||"decimal")+"Format"];var group=bundle.group;var decimal=bundle.decimal;var factor=1;if(pattern.indexOf('%')!=-1){factor/=100;}else if(pattern.indexOf('\u2030')!=-1){factor/=1000;}else{var isCurrency=pattern.indexOf('\u00a4')!=-1;if(isCurrency){group=bundle.currencyGroup||group;decimal=bundle.currencyDecimal||decimal;}}
var patternList=pattern.split(';');if(patternList.length==1){patternList.push("-"+patternList[0]);}
var re=dojo.regexp.buildGroupRE(patternList,function(pattern){pattern="(?:"+dojo.regexp.escapeString(pattern,'.')+")";return pattern.replace(dojo.number._numberPatternRE,function(format){var flags={signed:false,separator:options.strict?group:[group,""],fractional:options.fractional,decimal:decimal,exponent:false};var parts=format.split('.');var places=options.places;if(parts.length==1||places===0){flags.fractional=false;}
else{if(places===undefined){places=parts[1].lastIndexOf('0')+1;}
if(places&&options.fractional==undefined){flags.fractional=true;}
if(!options.places&&(places<parts[1].length)){places+=","+parts[1].length;}
flags.places=places;}
var groups=parts[0].split(',');if(groups.length>1){flags.groupSize=groups.pop().length;if(groups.length>1){flags.groupSize2=groups.pop().length;}}
return"("+dojo.number._realNumberRegexp(flags)+")";});},true);if(isCurrency){re=re.replace(/(\s*)(\u00a4{1,3})(\s*)/g,function(match,before,target,after){var prop=["symbol","currency","displayName"][target.length-1];var symbol=dojo.regexp.escapeString(options[prop]||options.currency||"");before=before?"\\s":"";after=after?"\\s":"";if(!options.strict){if(before){before+="*";}
if(after){after+="*";}
return"(?:"+before+symbol+after+")?";}
return before+symbol+after;});}
return{regexp:re.replace(/[\xa0 ]/g,"[\\s\\xa0]"),group:group,decimal:decimal,factor:factor};}
dojo.number.parse=function(expression,options){var info=dojo.number._parseInfo(options);var results=(new RegExp("^"+info.regexp+"$")).exec(expression);if(!results){return NaN;}
var absoluteMatch=results[1];if(!results[1]){if(!results[2]){return NaN;}
absoluteMatch=results[2];info.factor*=-1;}
absoluteMatch=absoluteMatch.replace(new RegExp("["+info.group+"\\s\\xa0"+"]","g"),"").replace(info.decimal,".");return Number(absoluteMatch)*info.factor;};dojo.number._realNumberRegexp=function(flags){flags=flags||{};if(!("places"in flags)){flags.places=Infinity;}
if(typeof flags.decimal!="string"){flags.decimal=".";}
if(!("fractional"in flags)||/^0/.test(flags.places)){flags.fractional=[true,false];}
if(!("exponent"in flags)){flags.exponent=[true,false];}
if(!("eSigned"in flags)){flags.eSigned=[true,false];}
var integerRE=dojo.number._integerRegexp(flags);var decimalRE=dojo.regexp.buildGroupRE(flags.fractional,function(q){var re="";if(q&&(flags.places!==0)){re="\\"+flags.decimal;if(flags.places==Infinity){re="(?:"+re+"\\d+)?";}else{re+="\\d{"+flags.places+"}";}}
return re;},true);var exponentRE=dojo.regexp.buildGroupRE(flags.exponent,function(q){if(q){return"([eE]"+dojo.number._integerRegexp({signed:flags.eSigned})+")";}
return"";});var realRE=integerRE+decimalRE;if(decimalRE){realRE="(?:(?:"+realRE+")|(?:"+decimalRE+"))";}
return realRE+exponentRE;};dojo.number._integerRegexp=function(flags){flags=flags||{};if(!("signed"in flags)){flags.signed=[true,false];}
if(!("separator"in flags)){flags.separator="";}else if(!("groupSize"in flags)){flags.groupSize=3;}
var signRE=dojo.regexp.buildGroupRE(flags.signed,function(q){return q?"[-+]":"";},true);var numberRE=dojo.regexp.buildGroupRE(flags.separator,function(sep){if(!sep){return"(?:0|[1-9]\\d*)";}
sep=dojo.regexp.escapeString(sep);if(sep==" "){sep="\\s";}
else if(sep=="\xa0"){sep="\\s\\xa0";}
var grp=flags.groupSize,grp2=flags.groupSize2;if(grp2){var grp2RE="(?:0|[1-9]\\d{0,"+(grp2-1)+"}(?:["+sep+"]\\d{"+grp2+"})*["+sep+"]\\d{"+grp+"})";return((grp-grp2)>0)?"(?:"+grp2RE+"|(?:0|[1-9]\\d{0,"+(grp-1)+"}))":grp2RE;}
return"(?:0|[1-9]\\d{0,"+(grp-1)+"}(?:["+sep+"]\\d{"+grp+"})*)";},true);return signRE+numberRE;}}
if(!dojo._hasResource["dijit.ProgressBar"]){dojo._hasResource["dijit.ProgressBar"]=true;dojo.provide("dijit.ProgressBar");dojo.require("dojo.fx");dojo.require("dojo.number");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.declare("dijit.ProgressBar",[dijit._Widget,dijit._Templated],{progress:"0",maximum:100,places:0,indeterminate:false,templateString:"<div class=\"dijitProgressBar dijitProgressBarEmpty\"\n\t><div waiRole=\"progressbar\" tabindex=\"0\" dojoAttachPoint=\"internalProgress\" class=\"dijitProgressBarFull\"\n\t\t><div class=\"dijitProgressBarTile\"></div\n\t\t><span style=\"visibility:hidden\">&nbsp;</span\n\t></div\n\t><div dojoAttachPoint=\"label\" class=\"dijitProgressBarLabel\" id=\"${id}_label\">&nbsp;</div\n\t><img dojoAttachPoint=\"inteterminateHighContrastImage\" class=\"dijitProgressBarIndeterminateHighContrastImage\"\n\t></img\n></div>\n",_indeterminateHighContrastImagePath:dojo.moduleUrl("dijit","themes/a11y/indeterminate_progress.gif"),postCreate:function(){this.inherited("postCreate",arguments);this.inteterminateHighContrastImage.setAttribute("src",this._indeterminateHighContrastImagePath);this.update();},update:function(attributes){dojo.mixin(this,attributes||{});var percent=1,classFunc;if(this.indeterminate){classFunc="addClass";dijit.removeWaiState(this.internalProgress,"valuenow");dijit.removeWaiState(this.internalProgress,"valuemin");dijit.removeWaiState(this.internalProgress,"valuemax");}else{classFunc="removeClass";if(String(this.progress).indexOf("%")!=-1){percent=Math.min(parseFloat(this.progress)/100,1);this.progress=percent*this.maximum;}else{this.progress=Math.min(this.progress,this.maximum);percent=this.progress/this.maximum;}
var text=this.report(percent);this.label.firstChild.nodeValue=text;dijit.setWaiState(this.internalProgress,"describedby",this.label.id);dijit.setWaiState(this.internalProgress,"valuenow",this.progress);dijit.setWaiState(this.internalProgress,"valuemin",0);dijit.setWaiState(this.internalProgress,"valuemax",this.maximum);}
dojo[classFunc](this.domNode,"dijitProgressBarIndeterminate");this.internalProgress.style.width=(percent*100)+"%";this.onChange();},report:function(percent){return dojo.number.format(percent,{type:"percent",places:this.places,locale:this.lang});},onChange:function(){}});}
if(!dojo._hasResource["dojo.dnd.common"]){dojo._hasResource["dojo.dnd.common"]=true;dojo.provide("dojo.dnd.common");dojo.dnd._copyKey=navigator.appVersion.indexOf("Macintosh")<0?"ctrlKey":"metaKey";dojo.dnd.getCopyKeyState=function(e){return e[dojo.dnd._copyKey];};dojo.dnd._uniqueId=0;dojo.dnd.getUniqueId=function(){var id;do{id=dojo._scopeName+"Unique"+(++dojo.dnd._uniqueId);}while(dojo.byId(id));return id;};dojo.dnd._empty={};dojo.dnd.isFormElement=function(e){var t=e.target;if(t.nodeType==3){t=t.parentNode;}
return" button textarea input select option ".indexOf(" "+t.tagName.toLowerCase()+" ")>=0;};}
if(!dojo._hasResource["dojo.dnd.autoscroll"]){dojo._hasResource["dojo.dnd.autoscroll"]=true;dojo.provide("dojo.dnd.autoscroll");dojo.dnd.getViewport=function(){var d=dojo.doc,dd=d.documentElement,w=window,b=dojo.body();if(dojo.isMozilla){return{w:dd.clientWidth,h:w.innerHeight};}else if(!dojo.isOpera&&w.innerWidth){return{w:w.innerWidth,h:w.innerHeight};}else if(!dojo.isOpera&&dd&&dd.clientWidth){return{w:dd.clientWidth,h:dd.clientHeight};}else if(b.clientWidth){return{w:b.clientWidth,h:b.clientHeight};}
return null;};dojo.dnd.V_TRIGGER_AUTOSCROLL=32;dojo.dnd.H_TRIGGER_AUTOSCROLL=32;dojo.dnd.V_AUTOSCROLL_VALUE=16;dojo.dnd.H_AUTOSCROLL_VALUE=16;dojo.dnd.autoScroll=function(e){var v=dojo.dnd.getViewport(),dx=0,dy=0;if(e.clientX<dojo.dnd.H_TRIGGER_AUTOSCROLL){dx=-dojo.dnd.H_AUTOSCROLL_VALUE;}else if(e.clientX>v.w-dojo.dnd.H_TRIGGER_AUTOSCROLL){dx=dojo.dnd.H_AUTOSCROLL_VALUE;}
if(e.clientY<dojo.dnd.V_TRIGGER_AUTOSCROLL){dy=-dojo.dnd.V_AUTOSCROLL_VALUE;}else if(e.clientY>v.h-dojo.dnd.V_TRIGGER_AUTOSCROLL){dy=dojo.dnd.V_AUTOSCROLL_VALUE;}
window.scrollBy(dx,dy);};dojo.dnd._validNodes={"div":1,"p":1,"td":1};dojo.dnd._validOverflow={"auto":1,"scroll":1};dojo.dnd.autoScrollNodes=function(e){for(var n=e.target;n;){if(n.nodeType==1&&(n.tagName.toLowerCase()in dojo.dnd._validNodes)){var s=dojo.getComputedStyle(n);if(s.overflow.toLowerCase()in dojo.dnd._validOverflow){var b=dojo._getContentBox(n,s),t=dojo._abs(n,true);b.l+=t.x+n.scrollLeft;b.t+=t.y+n.scrollTop;var w=Math.min(dojo.dnd.H_TRIGGER_AUTOSCROLL,b.w/2),h=Math.min(dojo.dnd.V_TRIGGER_AUTOSCROLL,b.h/2),rx=e.pageX-b.l,ry=e.pageY-b.t,dx=0,dy=0;if(rx>0&&rx<b.w){if(rx<w){dx=-dojo.dnd.H_AUTOSCROLL_VALUE;}else if(rx>b.w-w){dx=dojo.dnd.H_AUTOSCROLL_VALUE;}}
if(ry>0&&ry<b.h){if(ry<h){dy=-dojo.dnd.V_AUTOSCROLL_VALUE;}else if(ry>b.h-h){dy=dojo.dnd.V_AUTOSCROLL_VALUE;}}
var oldLeft=n.scrollLeft,oldTop=n.scrollTop;n.scrollLeft=n.scrollLeft+dx;n.scrollTop=n.scrollTop+dy;if(oldLeft!=n.scrollLeft||oldTop!=n.scrollTop){return;}}}
try{n=n.parentNode;}catch(x){n=null;}}
dojo.dnd.autoScroll(e);};}
if(!dojo._hasResource["dojo.dnd.Mover"]){dojo._hasResource["dojo.dnd.Mover"]=true;dojo.provide("dojo.dnd.Mover");dojo.require("dojo.dnd.common");dojo.require("dojo.dnd.autoscroll");dojo.declare("dojo.dnd.Mover",null,{constructor:function(node,e,host){this.node=dojo.byId(node);this.marginBox={l:e.pageX,t:e.pageY};this.mouseButton=e.button;var h=this.host=host,d=node.ownerDocument,firstEvent=dojo.connect(d,"onmousemove",this,"onFirstMove");this.events=[dojo.connect(d,"onmousemove",this,"onMouseMove"),dojo.connect(d,"onmouseup",this,"onMouseUp"),dojo.connect(d,"ondragstart",dojo,"stopEvent"),dojo.connect(d,"onselectstart",dojo,"stopEvent"),firstEvent];if(h&&h.onMoveStart){h.onMoveStart(this);}},onMouseMove:function(e){dojo.dnd.autoScroll(e);var m=this.marginBox;this.host.onMove(this,{l:m.l+e.pageX,t:m.t+e.pageY});},onMouseUp:function(e){if(this.mouseButton==e.button){this.destroy();}},onFirstMove:function(){var s=this.node.style,l,t;switch(s.position){case"relative":case"absolute":l=Math.round(parseFloat(s.left));t=Math.round(parseFloat(s.top));break;default:s.position="absolute";var m=dojo.marginBox(this.node);l=m.l;t=m.t;break;}
this.marginBox.l=l-this.marginBox.l;this.marginBox.t=t-this.marginBox.t;this.host.onFirstMove(this);dojo.disconnect(this.events.pop());},destroy:function(){dojo.forEach(this.events,dojo.disconnect);var h=this.host;if(h&&h.onMoveStop){h.onMoveStop(this);}
this.events=this.node=null;}});}
if(!dojo._hasResource["dojo.dnd.Moveable"]){dojo._hasResource["dojo.dnd.Moveable"]=true;dojo.provide("dojo.dnd.Moveable");dojo.require("dojo.dnd.Mover");dojo.declare("dojo.dnd.Moveable",null,{handle:"",delay:0,skip:false,constructor:function(node,params){this.node=dojo.byId(node);if(!params){params={};}
this.handle=params.handle?dojo.byId(params.handle):null;if(!this.handle){this.handle=this.node;}
this.delay=params.delay>0?params.delay:0;this.skip=params.skip;this.mover=params.mover?params.mover:dojo.dnd.Mover;this.events=[dojo.connect(this.handle,"onmousedown",this,"onMouseDown"),dojo.connect(this.handle,"ondragstart",this,"onSelectStart"),dojo.connect(this.handle,"onselectstart",this,"onSelectStart")];},markupFactory:function(params,node){return new dojo.dnd.Moveable(node,params);},destroy:function(){dojo.forEach(this.events,dojo.disconnect);this.events=this.node=this.handle=null;},onMouseDown:function(e){if(this.skip&&dojo.dnd.isFormElement(e)){return;}
if(this.delay){this.events.push(dojo.connect(this.handle,"onmousemove",this,"onMouseMove"));this.events.push(dojo.connect(this.handle,"onmouseup",this,"onMouseUp"));this._lastX=e.pageX;this._lastY=e.pageY;}else{new this.mover(this.node,e,this);}
dojo.stopEvent(e);},onMouseMove:function(e){if(Math.abs(e.pageX-this._lastX)>this.delay||Math.abs(e.pageY-this._lastY)>this.delay){this.onMouseUp(e);new this.mover(this.node,e,this);}
dojo.stopEvent(e);},onMouseUp:function(e){dojo.disconnect(this.events.pop());dojo.disconnect(this.events.pop());},onSelectStart:function(e){if(!this.skip||!dojo.dnd.isFormElement(e)){dojo.stopEvent(e);}},onMoveStart:function(mover){dojo.publish("/dnd/move/start",[mover]);dojo.addClass(dojo.body(),"dojoMove");dojo.addClass(this.node,"dojoMoveItem");},onMoveStop:function(mover){dojo.publish("/dnd/move/stop",[mover]);dojo.removeClass(dojo.body(),"dojoMove");dojo.removeClass(this.node,"dojoMoveItem");},onFirstMove:function(mover){},onMove:function(mover,leftTop){var s=mover.node.style;s.left=leftTop.l+"px";s.top=leftTop.t+"px";},onMoving:function(mover,leftTop){},onMoved:function(mover,leftTop){}});}
if(!dojo._hasResource["dojo.dnd.TimedMoveable"]){dojo._hasResource["dojo.dnd.TimedMoveable"]=true;dojo.provide("dojo.dnd.TimedMoveable");dojo.require("dojo.dnd.Moveable");(function(){var oldOnMove=dojo.dnd.Moveable.prototype.onMove;dojo.declare("dojo.dnd.TimedMoveable",dojo.dnd.Moveable,{timeout:40,constructor:function(node,params){if(!params){params={};}
if(params.timeout&&typeof params.timeout=="number"&&params.timeout>=0){this.timeout=params.timeout;}},markupFactory:function(params,node){return new dojo.dnd.TimedMoveable(node,params);},onMoveStop:function(mover){if(mover._timer){clearTimeout(mover._timer)
oldOnMove.call(this,mover,mover._leftTop)}
dojo.dnd.Moveable.prototype.onMoveStop.apply(this,arguments);},onMove:function(mover,leftTop){mover._leftTop=leftTop;if(!mover._timer){var _t=this;mover._timer=setTimeout(function(){mover._timer=null;oldOnMove.call(_t,mover,mover._leftTop);},this.timeout);}}});})();}
if(!dojo._hasResource["dijit.form.Form"]){dojo._hasResource["dijit.form.Form"]=true;dojo.provide("dijit.form.Form");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.declare("dijit.form._FormMixin",null,{reset:function(){dojo.forEach(this.getDescendants(),function(widget){if(widget.reset){widget.reset();}});},validate:function(){var didFocus=false;return dojo.every(dojo.map(this.getDescendants(),function(widget)
{widget._hasBeenBlurred=true;var valid=!widget.validate||widget.validate();if(!valid&&!didFocus)
{dijit.scrollIntoView(widget.containerNode||widget.domNode);widget.focus();didFocus=true;}
return valid;}),"return item;");},setValues:function(obj){var map={};dojo.forEach(this.getDescendants(),function(widget){if(!widget.name){return;}
var entry=map[widget.name]||(map[widget.name]=[]);entry.push(widget);});for(var name in map){var widgets=map[name],values=dojo.getObject(name,false,obj);if(values==undefined)
continue;if(!dojo.isArray(values)){values=[values];}
if(typeof widgets[0].checked=='boolean'){dojo.forEach(widgets,function(w,i){w.setValue(dojo.indexOf(values,w.value)!=-1);});}else if(widgets[0]._multiValue){widgets[0].setValue(values);}else{dojo.forEach(widgets,function(w,i){w.setValue(values[i]);});}}},getValues:function(){var obj={};dojo.forEach(this.getDescendants(),function(widget){var name=widget.name;if(!name){return;}
var value=(widget.getValue&&!widget._getValueDeprecated)?widget.getValue():widget.value;if(typeof widget.checked=='boolean'){if(/Radio/.test(widget.declaredClass)){if(value!==false){dojo.setObject(name,value,obj);}}else{var ary=dojo.getObject(name,false,obj);if(!ary){ary=[];dojo.setObject(name,ary,obj);}
if(value!==false){ary.push(value);}}}else{dojo.setObject(name,value,obj);}});return obj;},isValid:function(){return dojo.every(this.getDescendants(),function(widget){return!widget.isValid||widget.isValid();});},onValidStateChange:function(isValid){},_widgetChange:function(){var isValid=this.isValid();if(isValid!==this._lastValidState){this._lastValidState=isValid;this.onValidStateChange(isValid);}},_connectChildren:function(){dojo.forEach(this._changeConnections,dojo.hitch(this,"disconnect"));var _this=this;this._changeConnections=dojo.map(dojo.filter(this.getDescendants(),"return item.validate"),function(widget){return _this.connect(widget,"validate","_widgetChange");});this._widgetChange();},startup:function(){this.inherited(arguments);this._changeConnections=[];this._connectChildren();this._lastValidState=this.isValid();}});dojo.declare("dijit.form.Form",[dijit._Widget,dijit._Templated,dijit.form._FormMixin],{name:"",action:"",method:"",encType:"","accept-charset":"",accept:"",target:"",templateString:"<form dojoAttachPoint='containerNode' dojoAttachEvent='onreset:_onReset,onsubmit:_onSubmit' name='${name}'></form>",attributeMap:dojo.mixin(dojo.clone(dijit._Widget.prototype.attributeMap),{action:"",method:"",encType:"","accept-charset":"",accept:"",target:""}),execute:function(formContents){},onExecute:function(){},setAttribute:function(attr,value){this.inherited(arguments);switch(attr){case"encType":if(dojo.isIE){this.domNode.encoding=value;}}},postCreate:function(){if(dojo.isIE&&this.srcNodeRef&&this.srcNodeRef.attributes){var item=this.srcNodeRef.attributes.getNamedItem('encType');if(item&&!item.specified&&(typeof item.value=="string")){this.setAttribute('encType',item.value);}}
this.inherited(arguments);},onReset:function(e){return true;},_onReset:function(e){var faux={returnValue:true,preventDefault:function(){this.returnValue=false;},stopPropagation:function(){},currentTarget:e.currentTarget,target:e.target};if(!(this.onReset(faux)===false)&&faux.returnValue){this.reset();}
dojo.stopEvent(e);return false;},_onSubmit:function(e){var fp=dijit.form.Form.prototype;if(this.execute!=fp.execute||this.onExecute!=fp.onExecute){dojo.deprecated("dijit.form.Form:execute()/onExecute() are deprecated. Use onSubmit() instead.","","2.0");this.onExecute();this.execute(this.getValues());}
if(this.onSubmit(e)===false){dojo.stopEvent(e);}},onSubmit:function(e){return this.isValid();},submit:function(){if(!(this.onSubmit()===false)){this.containerNode.submit();}}});}
if(!dojo._hasResource["dijit.Dialog"]){dojo._hasResource["dijit.Dialog"]=true;dojo.provide("dijit.Dialog");dojo.require("dojo.dnd.TimedMoveable");dojo.require("dojo.dnd.Moveable");dojo.require("dojo.fx");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.require("dijit.layout.ContentPane");dojo.require("dijit.form.Form");dojo.requireLocalization("dijit","common",null,"ROOT,cs,de,es,fr,gr,hu,it,ja,ko,pl,pt,ru,sv,zh,zh-tw");dojo.declare("dijit.DialogUnderlay",[dijit._Widget,dijit._Templated],{templateString:"<div class='dijitDialogUnderlayWrapper' id='${id}_wrapper'><div class='dijitDialogUnderlay ${class}' id='${id}' dojoAttachPoint='node'></div></div>",attributeMap:{},postCreate:function(){dojo.body().appendChild(this.domNode);this.bgIframe=new dijit.BackgroundIframe(this.domNode);},layout:function(){var viewport=dijit.getViewport();var is=this.node.style,os=this.domNode.style;os.top=viewport.t+"px";os.left=viewport.l+"px";is.width=viewport.w+"px";is.height=viewport.h+"px";var viewport2=dijit.getViewport();if(viewport.w!=viewport2.w){is.width=viewport2.w+"px";}
if(viewport.h!=viewport2.h){is.height=viewport2.h+"px";}},show:function(){this.domNode.style.display="block";this.layout();if(this.bgIframe.iframe){this.bgIframe.iframe.style.display="block";}
this._resizeHandler=this.connect(window,"onresize","layout");},hide:function(){this.domNode.style.display="none";if(this.bgIframe.iframe){this.bgIframe.iframe.style.display="none";}
this.disconnect(this._resizeHandler);},uninitialize:function(){if(this.bgIframe){this.bgIframe.destroy();}}});dojo.declare("dijit._DialogMixin",null,{attributeMap:dijit._Widget.prototype.attributeMap,execute:function(formContents){},onCancel:function(){},onExecute:function(){},_onSubmit:function(){this.onExecute();this.execute(this.getValues());},_getFocusItems:function(dialogNode){var focusItem=dijit.getFirstInTabbingOrder(dialogNode);this._firstFocusItem=focusItem?focusItem:dialogNode;focusItem=dijit.getLastInTabbingOrder(dialogNode);this._lastFocusItem=focusItem?focusItem:this._firstFocusItem;if(dojo.isMoz&&this._firstFocusItem.tagName.toLowerCase()=="input"&&dojo.attr(this._firstFocusItem,"type").toLowerCase()=="file"){dojo.attr(dialogNode,"tabindex","0");this._firstFocusItem=dialogNode;}}});dojo.declare("dijit.Dialog",[dijit.layout.ContentPane,dijit._Templated,dijit.form._FormMixin,dijit._DialogMixin],{templateString:null,templateString:"<div class=\"dijitDialog\" tabindex=\"-1\" waiRole=\"dialog\" waiState=\"labelledby-${id}_title\">\n\t<div dojoAttachPoint=\"titleBar\" class=\"dijitDialogTitleBar\">\n\t<span dojoAttachPoint=\"titleNode\" class=\"dijitDialogTitle\" id=\"${id}_title\">${title}</span>\n\t<span dojoAttachPoint=\"closeButtonNode\" class=\"dijitDialogCloseIcon\" dojoAttachEvent=\"onclick: onCancel\">\n\t\t<span dojoAttachPoint=\"closeText\" class=\"closeText\">x</span>\n\t</span>\n\t</div>\n\t\t<div dojoAttachPoint=\"containerNode\" class=\"dijitDialogPaneContent\"></div>\n</div>\n",open:false,duration:400,refocus:true,_firstFocusItem:null,_lastFocusItem:null,doLayout:false,attributeMap:dojo.mixin(dojo.clone(dijit._Widget.prototype.attributeMap),{title:"titleBar"}),postCreate:function(){dojo.body().appendChild(this.domNode);this.inherited(arguments);var _nlsResources=dojo.i18n.getLocalization("dijit","common");if(this.closeButtonNode){this.closeButtonNode.setAttribute("title",_nlsResources.buttonCancel);}
if(this.closeText){this.closeText.setAttribute("title",_nlsResources.buttonCancel);}
var s=this.domNode.style;s.visibility="hidden";s.position="absolute";s.display="";s.top="-9999px";this.connect(this,"onExecute","hide");this.connect(this,"onCancel","hide");this._modalconnects=[];},onLoad:function(){;this._position();this.inherited(arguments);},_setup:function(){if(this.titleBar){this._moveable=new dojo.dnd.TimedMoveable(this.domNode,{handle:this.titleBar,timeout:25});}
this._underlay=new dijit.DialogUnderlay({id:this.id+"_underlay","class":dojo.map(this["class"].split(/\s/),function(s){return s+"_underlay";}).join(" ")});var node=this.domNode;this._fadeIn=dojo.fx.combine([dojo.fadeIn({node:node,duration:this.duration}),dojo.fadeIn({node:this._underlay.domNode,duration:this.duration,onBegin:dojo.hitch(this._underlay,"show")})]);this._fadeOut=dojo.fx.combine([dojo.fadeOut({node:node,duration:this.duration,onEnd:function(){node.style.visibility="hidden";node.style.top="-9999px";}}),dojo.fadeOut({node:this._underlay.domNode,duration:this.duration,onEnd:dojo.hitch(this._underlay,"hide")})]);},updateZIndex:function()
{if(!dojo.exists("zDialog"))
dojo.global.zDialog=0;this.domNode.style.zIndex=501+(zDialog*2);this._underlay.domNode.style.zIndex=500+(zDialog*2);zDialog++;},uninitialize:function(){if(this._fadeIn&&this._fadeIn.status()=="playing"){this._fadeIn.stop();}
if(this._fadeOut&&this._fadeOut.status()=="playing"){this._fadeOut.stop();}
if(this._underlay){this._underlay.destroy();}},_width:null,_position:function(){if(dojo.hasClass(dojo.body(),"dojoMove")){return;}
var viewport=dijit.getViewport();var style=this.domNode.style;var cn=this.containerNode;style.overflow="hidden";cn.style.overflow="auto";cn.style.position="relative";if(cn.scrollHeight>viewport.h-70)
{cn.style.height=(viewport.h-70)+"px";style.height=(viewport.h-40)+"px";}
if(this._width==null)
this._width=cn.scrollWidth;else
{if(this._width+50<cn.scrollWidth)
this._width=cn.scrollWidth;}
style.width=(this._width+20)+"px";cn.style.width=this._width+"px";var mb=dojo.marginBox(this.domNode);style.left=Math.floor((viewport.l+(viewport.w-mb.w)/2))+"px";style.top=Math.floor((viewport.t+(viewport.h-mb.h)/2))+"px";},_onKey:function(evt){if(evt.keyCode){var node=evt.target;if(evt.keyCode==dojo.keys.TAB){this._getFocusItems(this.domNode);}
var singleFocusItem=(this._firstFocusItem==this._lastFocusItem);if(node==this._firstFocusItem&&evt.shiftKey&&evt.keyCode==dojo.keys.TAB){if(!singleFocusItem){dijit.focus(this._lastFocusItem);}
dojo.stopEvent(evt);}else if(node==this._lastFocusItem&&evt.keyCode==dojo.keys.TAB&&!evt.shiftKey){if(!singleFocusItem){dijit.focus(this._firstFocusItem);}
dojo.stopEvent(evt);}else{while(node){if(node==this.domNode){if(evt.keyCode==dojo.keys.ESCAPE){this.hide();}else{return;}}
node=node.parentNode;}
if(evt.keyCode!=dojo.keys.TAB){dojo.stopEvent(evt);}else if(!dojo.isOpera){try{this._firstFocusItem.focus();}catch(e){}}}}},show:function(){if(this.open){return;}
if(!this._alreadyInitialized){this._setup();this._alreadyInitialized=true;}
this.updateZIndex();if(this._fadeOut.status()=="playing"){this._fadeOut.stop();}
dojo.forEach(this._modalconnects,function(e){if(e[1]=='onkeypress'){dojo.disconnect(e);}});this._modalconnects.push(dojo.connect(this.containerNode,"onkeypress",this,"_onKey"));this._modalconnects.push(dojo.connect(window,"onscroll",this,"layout"));dojo.style(this.domNode,"opacity",0);this.domNode.style.visibility="";this.open=true;this._loadCheck();this._position();this._fadeIn.play();this._savedFocus=dijit.getFocus(this);this._getFocusItems(this.domNode);setTimeout(dojo.hitch(this,function(){dijit.focus(this._firstFocusItem);}),50);},hide:function(){if(!this._alreadyInitialized){return;}
if(this._fadeIn.status()=="playing"){this._fadeIn.stop();}
this._fadeOut.play();if(this._scrollConnected){this._scrollConnected=false;}
dojo.forEach(this._modalconnects,dojo.disconnect);this._modalconnects=[];if(this.refocus){this.connect(this._fadeOut,"onEnd",dojo.hitch(dijit,"focus",this._savedFocus));}
this.open=false;},layout:function(){if(this.domNode.style.visibility!="hidden"){this._underlay.layout();this._position();}},destroy:function(){dojo.forEach(this._modalconnects,dojo.disconnect);if(this.refocus&&this.open){var fo=this._savedFocus;setTimeout(dojo.hitch(dijit,"focus",fo),25);}
this.inherited(arguments);}});dojo.declare("dijit.TooltipDialog",[dijit.layout.ContentPane,dijit._Templated,dijit.form._FormMixin,dijit._DialogMixin],{title:"",doLayout:false,_firstFocusItem:null,_lastFocusItem:null,templateString:null,templateString:"<div class=\"dijitTooltipDialog\" waiRole=\"presentation\">\n\t<div class=\"dijitTooltipContainer\" waiRole=\"presentation\">\n\t\t<div class =\"dijitTooltipContents dijitTooltipFocusNode\" dojoAttachPoint=\"containerNode\" tabindex=\"-1\" waiRole=\"dialog\"></div>\n\t</div>\n\t<div class=\"dijitTooltipConnector\" waiRole=\"presenation\"></div>\n</div>\n",postCreate:function(){this.inherited(arguments);this.connect(this.containerNode,"onkeypress","_onKey");this.containerNode.title=this.title;},orient:function(node,aroundCorner,corner){this.domNode.className="dijitTooltipDialog "+" dijitTooltipAB"+(corner.charAt(1)=='L'?"Left":"Right")+" dijitTooltip"+(corner.charAt(0)=='T'?"Below":"Above");},onOpen:function(pos){this._getFocusItems(this.containerNode);this.orient(this.domNode,pos.aroundCorner,pos.corner);this._loadCheck();dijit.focus(this._firstFocusItem);},_onKey:function(evt){var node=evt.target;if(evt.keyCode==dojo.keys.TAB){this._getFocusItems(this.containerNode);}
var singleFocusItem=(this._firstFocusItem==this._lastFocusItem);if(evt.keyCode==dojo.keys.ESCAPE){this.onCancel();}else if(node==this._firstFocusItem&&evt.shiftKey&&evt.keyCode==dojo.keys.TAB){if(!singleFocusItem){dijit.focus(this._lastFocusItem);}
dojo.stopEvent(evt);}else if(node==this._lastFocusItem&&evt.keyCode==dojo.keys.TAB&&!evt.shiftKey){if(!singleFocusItem){dijit.focus(this._firstFocusItem);}
dojo.stopEvent(evt);}else if(evt.keyCode==dojo.keys.TAB){evt.stopPropagation();}}});}
if(!dojo._hasResource["dojo.io.iframe"]){dojo._hasResource["dojo.io.iframe"]=true;dojo.provide("dojo.io.iframe");dojo.io.iframe={create:function(fname,onloadstr,uri){if(window[fname]){return window[fname];}
if(window.frames[fname]){return window.frames[fname];}
var cframe=null;var turi=uri;if(!turi){if(dojo.config["useXDomain"]&&!dojo.config["dojoBlankHtmlUrl"]){console.debug("dojo.io.iframe.create: When using cross-domain Dojo builds,"
+" please save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl"
+" to the path on your domain to blank.html");}
turi=(dojo.config["dojoBlankHtmlUrl"]||dojo.moduleUrl("dojo","resources/blank.html"));}
var ifrstr=dojo.isIE?'<iframe name="'+fname+'" src="'+turi+'" onload="'+onloadstr+'">':'iframe';cframe=dojo.doc.createElement(ifrstr);with(cframe){name=fname;setAttribute("name",fname);id=fname;}
dojo.body().appendChild(cframe);window[fname]=cframe;with(cframe.style){if(dojo.isSafari<3){position="absolute";}
left=top="1px";height=width="1px";visibility="hidden";}
if(!dojo.isIE){this.setSrc(cframe,turi,true);cframe.onload=new Function(onloadstr);}
return cframe;},setSrc:function(iframe,src,replace){try{if(!replace){if(dojo.isSafari){iframe.location=src;}else{frames[iframe.name].location=src;}}else{var idoc;if(dojo.isIE||dojo.isSafari>2){idoc=iframe.contentWindow.document;}else if(dojo.isSafari){idoc=iframe.document;}else{idoc=iframe.contentWindow;}
if(!idoc){iframe.location=src;return;}else{idoc.location.replace(src);}}}catch(e){console.debug("dojo.io.iframe.setSrc: ",e);}},doc:function(iframeNode){var doc=iframeNode.contentDocument||(((iframeNode.name)&&(iframeNode.document)&&(document.getElementsByTagName("iframe")[iframeNode.name].contentWindow)&&(document.getElementsByTagName("iframe")[iframeNode.name].contentWindow.document)))||((iframeNode.name)&&(document.frames[iframeNode.name])&&(document.frames[iframeNode.name].document))||null;return doc;},send:function(args){if(!this["_frame"]){this._frame=this.create(this._iframeName,dojo._scopeName+".io.iframe._iframeOnload();");}
var dfd=dojo._ioSetArgs(args,function(dfd){dfd.canceled=true;dfd.ioArgs._callNext();},function(dfd){var value=null;try{var ioArgs=dfd.ioArgs;var dii=dojo.io.iframe;var ifd=dii.doc(dii._frame);var handleAs=ioArgs.handleAs;value=ifd;if(handleAs!="html"){value=ifd.getElementsByTagName("textarea")[0].value;if(handleAs=="json"){value=dojo.fromJson(value);}else if(handleAs=="javascript"){value=dojo.eval(value);}}}catch(e){value=e;}finally{ioArgs._callNext();}
return value;},function(error,dfd){dfd.ioArgs._hasError=true;dfd.ioArgs._callNext();return error;});dfd.ioArgs._callNext=function(){if(!this["_calledNext"]){this._calledNext=true;dojo.io.iframe._currentDfd=null;dojo.io.iframe._fireNextRequest();}}
this._dfdQueue.push(dfd);this._fireNextRequest();dojo._ioWatch(dfd,function(dfd){return!dfd.ioArgs["_hasError"];},function(dfd){return(!!dfd.ioArgs["_finished"]);},function(dfd){if(dfd.ioArgs._finished){dfd.callback(dfd);}else{dfd.errback(new Error("Invalid dojo.io.iframe request state"));}});return dfd;},_currentDfd:null,_dfdQueue:[],_iframeName:dojo._scopeName+"IoIframe",_fireNextRequest:function(){try{if((this._currentDfd)||(this._dfdQueue.length==0)){return;}
var dfd=this._currentDfd=this._dfdQueue.shift();var ioArgs=dfd.ioArgs;var args=ioArgs.args;ioArgs._contentToClean=[];var fn=dojo.byId(args["form"]);var content=args["content"]||{};if(fn){if(content){for(var x in content){if(!fn[x]){var tn;if(dojo.isIE){tn=dojo.doc.createElement("<input type='hidden' name='"+x+"'>");}else{tn=dojo.doc.createElement("input");tn.type="hidden";tn.name=x;}
tn.value=content[x];fn.appendChild(tn);ioArgs._contentToClean.push(x);}else{fn[x].value=content[x];}}}
var actnNode=fn.getAttributeNode("action");var mthdNode=fn.getAttributeNode("method");var trgtNode=fn.getAttributeNode("target");if(args["url"]){ioArgs._originalAction=actnNode?actnNode.value:null;if(actnNode){actnNode.value=args.url;}else{fn.setAttribute("action",args.url);}}
if(!mthdNode||!mthdNode.value){if(mthdNode){mthdNode.value=(args["method"])?args["method"]:"post";}else{fn.setAttribute("method",(args["method"])?args["method"]:"post");}}
ioArgs._originalTarget=trgtNode?trgtNode.value:null;if(trgtNode){trgtNode.value=this._iframeName;}else{fn.setAttribute("target",this._iframeName);}
fn.target=this._iframeName;fn.submit();}else{var tmpUrl=args.url+(args.url.indexOf("?")>-1?"&":"?")+ioArgs.query;this.setSrc(this._frame,tmpUrl,true);}}catch(e){dfd.errback(e);}},_iframeOnload:function(){var dfd=this._currentDfd;if(!dfd){this._fireNextRequest();return;}
var ioArgs=dfd.ioArgs;var args=ioArgs.args;var fNode=dojo.byId(args.form);if(fNode){var toClean=ioArgs._contentToClean;for(var i=0;i<toClean.length;i++){var key=toClean[i];if(dojo.isSafari<3){for(var j=0;j<fNode.childNodes.length;j++){var chNode=fNode.childNodes[j];if(chNode.name==key){dojo._destroyElement(chNode);break;}}}else{dojo._destroyElement(fNode[key]);fNode[key]=null;}}
if(ioArgs["_originalAction"]){fNode.setAttribute("action",ioArgs._originalAction);}
if(ioArgs["_originalTarget"]){fNode.setAttribute("target",ioArgs._originalTarget);fNode.target=ioArgs._originalTarget;}}
ioArgs._finished=true;}}}
if(!dojo._hasResource["dojo.data.util.filter"]){dojo._hasResource["dojo.data.util.filter"]=true;dojo.provide("dojo.data.util.filter");dojo.data.util.filter.patternToRegExp=function(pattern,ignoreCase){var rxp="^";var c=null;for(var i=0;i<pattern.length;i++){c=pattern.charAt(i);switch(c){case'\\':rxp+=c;i++;rxp+=pattern.charAt(i);break;case'*':rxp+=".*";break;case'?':rxp+=".";break;case'$':case'^':case'/':case'+':case'.':case'|':case'(':case')':case'{':case'}':case'[':case']':rxp+="\\";default:rxp+=c;}}
rxp+="$";if(ignoreCase){return new RegExp(rxp,"i");}else{return new RegExp(rxp);}};}
if(!dojo._hasResource["dojo.data.util.sorter"]){dojo._hasResource["dojo.data.util.sorter"]=true;dojo.provide("dojo.data.util.sorter");dojo.data.util.sorter.basicComparator=function(a,b){var ret=0;if(a>b||typeof a==="undefined"||a===null){ret=1;}else if(a<b||typeof b==="undefined"||b===null){ret=-1;}
return ret;};dojo.data.util.sorter.createSortFunction=function(sortSpec,store){var sortFunctions=[];function createSortFunction(attr,dir){return function(itemA,itemB){var a=store.getValue(itemA,attr);var b=store.getValue(itemB,attr);var comparator=null;if(store.comparatorMap){if(typeof attr!=="string"){attr=store.getIdentity(attr);}
comparator=store.comparatorMap[attr]||dojo.data.util.sorter.basicComparator;}
comparator=comparator||dojo.data.util.sorter.basicComparator;return dir*comparator(a,b);};}
for(var i=0;i<sortSpec.length;i++){sortAttribute=sortSpec[i];if(sortAttribute.attribute){var direction=(sortAttribute.descending)?-1:1;sortFunctions.push(createSortFunction(sortAttribute.attribute,direction));}}
return function(rowA,rowB){var i=0;while(i<sortFunctions.length){var ret=sortFunctions[i++](rowA,rowB);if(ret!==0){return ret;}}
return 0;};};}
if(!dojo._hasResource["dojo.data.util.simpleFetch"]){dojo._hasResource["dojo.data.util.simpleFetch"]=true;dojo.provide("dojo.data.util.simpleFetch");dojo.require("dojo.data.util.sorter");dojo.data.util.simpleFetch.fetch=function(request){request=request||{};if(!request.store){request.store=this;}
var self=this;var _errorHandler=function(errorData,requestObject){if(requestObject.onError){var scope=requestObject.scope||dojo.global;requestObject.onError.call(scope,errorData,requestObject);}};var _fetchHandler=function(items,requestObject){var oldAbortFunction=requestObject.abort||null;var aborted=false;var startIndex=requestObject.start?requestObject.start:0;var endIndex=requestObject.count?(startIndex+requestObject.count):items.length;requestObject.abort=function(){aborted=true;if(oldAbortFunction){oldAbortFunction.call(requestObject);}};var scope=requestObject.scope||dojo.global;if(!requestObject.store){requestObject.store=self;}
if(requestObject.onBegin){requestObject.onBegin.call(scope,items.length,requestObject);}
if(requestObject.sort){items.sort(dojo.data.util.sorter.createSortFunction(requestObject.sort,self));}
if(requestObject.onItem){for(var i=startIndex;(i<items.length)&&(i<endIndex);++i){var item=items[i];if(!aborted){requestObject.onItem.call(scope,item,requestObject);}}}
if(requestObject.onComplete&&!aborted){var subset=null;if(!requestObject.onItem){subset=items.slice(startIndex,endIndex);}
requestObject.onComplete.call(scope,subset,requestObject);}};this._fetchItems(request,_fetchHandler,_errorHandler);return request;};}
if(!dojo._hasResource["dojo.data.ItemFileReadStore"]){dojo._hasResource["dojo.data.ItemFileReadStore"]=true;dojo.provide("dojo.data.ItemFileReadStore");dojo.require("dojo.data.util.filter");dojo.require("dojo.data.util.simpleFetch");dojo.require("dojo.date.stamp");dojo.declare("dojo.data.ItemFileReadStore",null,{constructor:function(keywordParameters){this._arrayOfAllItems=[];this._arrayOfTopLevelItems=[];this._loadFinished=false;this._jsonFileUrl=keywordParameters.url;this._jsonData=keywordParameters.data;this._datatypeMap=keywordParameters.typeMap||{};if(!this._datatypeMap['Date']){this._datatypeMap['Date']={type:Date,deserialize:function(value){return dojo.date.stamp.fromISOString(value);}};}
this._features={'dojo.data.api.Read':true,'dojo.data.api.Identity':true};this._itemsByIdentity=null;this._storeRefPropName="_S";this._itemNumPropName="_0";this._rootItemPropName="_RI";this._reverseRefMap="_RRM";this._loadInProgress=false;this._queuedFetches=[];},url:"",_assertIsItem:function(item){if(!this.isItem(item)){throw new Error("dojo.data.ItemFileReadStore: Invalid item argument.");}},_assertIsAttribute:function(attribute){if(typeof attribute!=="string"){throw new Error("dojo.data.ItemFileReadStore: Invalid attribute argument.");}},getValue:function(item,attribute,defaultValue){var values=this.getValues(item,attribute);return(values.length>0)?values[0]:defaultValue;},getValues:function(item,attribute){this._assertIsItem(item);this._assertIsAttribute(attribute);return item[attribute]||[];},getAttributes:function(item){this._assertIsItem(item);var attributes=[];for(var key in item){if((key!==this._storeRefPropName)&&(key!==this._itemNumPropName)&&(key!==this._rootItemPropName)&&(key!==this._reverseRefMap)){attributes.push(key);}}
return attributes;},hasAttribute:function(item,attribute){return this.getValues(item,attribute).length>0;},containsValue:function(item,attribute,value){var regexp=undefined;if(typeof value==="string"){regexp=dojo.data.util.filter.patternToRegExp(value,false);}
return this._containsValue(item,attribute,value,regexp);},_containsValue:function(item,attribute,value,regexp){return dojo.some(this.getValues(item,attribute),function(possibleValue){if(possibleValue!==null&&!dojo.isObject(possibleValue)&&regexp){if(possibleValue.toString().match(regexp)){return true;}}else if(value===possibleValue){return true;}});},isItem:function(something){if(something&&something[this._storeRefPropName]===this){if(this._arrayOfAllItems[something[this._itemNumPropName]]===something){return true;}}
return false;},isItemLoaded:function(something){return this.isItem(something);},loadItem:function(keywordArgs){this._assertIsItem(keywordArgs.item);},getFeatures:function(){return this._features;},getLabel:function(item){if(this._labelAttr&&this.isItem(item)){return this.getValue(item,this._labelAttr);}
return undefined;},getLabelAttributes:function(item){if(this._labelAttr){return[this._labelAttr];}
return null;},_fetchItems:function(keywordArgs,findCallback,errorCallback){var self=this;var filter=function(requestArgs,arrayOfItems){var items=[];if(requestArgs.query){var ignoreCase=requestArgs.queryOptions?requestArgs.queryOptions.ignoreCase:false;var regexpList={};for(var key in requestArgs.query){var value=requestArgs.query[key];if(typeof value==="string"){regexpList[key]=dojo.data.util.filter.patternToRegExp(value,ignoreCase);}}
for(var i=0;i<arrayOfItems.length;++i){var match=true;var candidateItem=arrayOfItems[i];if(candidateItem===null){match=false;}else{for(var key in requestArgs.query){var value=requestArgs.query[key];if(!self._containsValue(candidateItem,key,value,regexpList[key])){match=false;}}}
if(match){items.push(candidateItem);}}
findCallback(items,requestArgs);}else{for(var i=0;i<arrayOfItems.length;++i){var item=arrayOfItems[i];if(item!==null){items.push(item);}}
findCallback(items,requestArgs);}};if(this._loadFinished){filter(keywordArgs,this._getItemsArray(keywordArgs.queryOptions));}else{if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:keywordArgs,filter:filter});}else{this._loadInProgress=true;var getArgs={url:self._jsonFileUrl,handleAs:"json-comment-optional"};var getHandler=dojo.xhrGet(getArgs);getHandler.addCallback(function(data){try{self._getItemsFromLoadedData(data);self._loadFinished=true;self._loadInProgress=false;filter(keywordArgs,self._getItemsArray(keywordArgs.queryOptions));self._handleQueuedFetches();}catch(e){self._loadFinished=true;self._loadInProgress=false;errorCallback(e,keywordArgs);}});getHandler.addErrback(function(error){self._loadInProgress=false;errorCallback(error,keywordArgs);});}}else if(this._jsonData){try{this._loadFinished=true;this._getItemsFromLoadedData(this._jsonData);this._jsonData=null;filter(keywordArgs,this._getItemsArray(keywordArgs.queryOptions));}catch(e){errorCallback(e,keywordArgs);}}else{errorCallback(new Error("dojo.data.ItemFileReadStore: No JSON source data was provided as either URL or a nested Javascript object."),keywordArgs);}}},_handleQueuedFetches:function(){if(this._queuedFetches.length>0){for(var i=0;i<this._queuedFetches.length;i++){var fData=this._queuedFetches[i];var delayedQuery=fData.args;var delayedFilter=fData.filter;if(delayedFilter){delayedFilter(delayedQuery,this._getItemsArray(delayedQuery.queryOptions));}else{this.fetchItemByIdentity(delayedQuery);}}
this._queuedFetches=[];}},_getItemsArray:function(queryOptions){if(queryOptions&&queryOptions.deep){return this._arrayOfAllItems;}
return this._arrayOfTopLevelItems;},close:function(request){},_getItemsFromLoadedData:function(dataObject){function valueIsAnItem(aValue){var isItem=((aValue!=null)&&(typeof aValue=="object")&&(!dojo.isArray(aValue))&&(!dojo.isFunction(aValue))&&(aValue.constructor==Object)&&(typeof aValue._reference=="undefined")&&(typeof aValue._type=="undefined")&&(typeof aValue._value=="undefined"));return isItem;}
var self=this;function addItemAndSubItemsToArrayOfAllItems(anItem){self._arrayOfAllItems.push(anItem);for(var attribute in anItem){var valueForAttribute=anItem[attribute];if(valueForAttribute){if(dojo.isArray(valueForAttribute)){var valueArray=valueForAttribute;for(var k=0;k<valueArray.length;++k){var singleValue=valueArray[k];if(valueIsAnItem(singleValue)){addItemAndSubItemsToArrayOfAllItems(singleValue);}}}else{if(valueIsAnItem(valueForAttribute)){addItemAndSubItemsToArrayOfAllItems(valueForAttribute);}}}}}
this._labelAttr=dataObject.label;var i;var item;this._arrayOfAllItems=[];this._arrayOfTopLevelItems=dataObject.items;for(i=0;i<this._arrayOfTopLevelItems.length;++i){item=this._arrayOfTopLevelItems[i];addItemAndSubItemsToArrayOfAllItems(item);item[this._rootItemPropName]=true;}
var allAttributeNames={};var key;for(i=0;i<this._arrayOfAllItems.length;++i){item=this._arrayOfAllItems[i];for(key in item){if(key!==this._rootItemPropName)
{var value=item[key];if(value!==null){if(!dojo.isArray(value)){item[key]=[value];}}else{item[key]=[null];}}
allAttributeNames[key]=key;}}
while(allAttributeNames[this._storeRefPropName]){this._storeRefPropName+="_";}
while(allAttributeNames[this._itemNumPropName]){this._itemNumPropName+="_";}
while(allAttributeNames[this._reverseRefMap]){this._reverseRefMap+="_";}
var arrayOfValues;var identifier=dataObject.identifier;if(identifier){this._itemsByIdentity={};this._features['dojo.data.api.Identity']=identifier;for(i=0;i<this._arrayOfAllItems.length;++i){item=this._arrayOfAllItems[i];arrayOfValues=item[identifier];var identity=arrayOfValues[0];if(!this._itemsByIdentity[identity]){this._itemsByIdentity[identity]=item;}else{if(this._jsonFileUrl){throw new Error("dojo.data.ItemFileReadStore:  The json data as specified by: ["+this._jsonFileUrl+"] is malformed.  Items within the list have identifier: ["+identifier+"].  Value collided: ["+identity+"]");}else if(this._jsonData){throw new Error("dojo.data.ItemFileReadStore:  The json data provided by the creation arguments is malformed.  Items within the list have identifier: ["+identifier+"].  Value collided: ["+identity+"]");}}}}else{this._features['dojo.data.api.Identity']=Number;}
for(i=0;i<this._arrayOfAllItems.length;++i){item=this._arrayOfAllItems[i];item[this._storeRefPropName]=this;item[this._itemNumPropName]=i;}
for(i=0;i<this._arrayOfAllItems.length;++i){item=this._arrayOfAllItems[i];for(key in item){arrayOfValues=item[key];for(var j=0;j<arrayOfValues.length;++j){value=arrayOfValues[j];if(value!==null&&typeof value=="object"){if(value._type&&value._value){var type=value._type;var mappingObj=this._datatypeMap[type];if(!mappingObj){throw new Error("dojo.data.ItemFileReadStore: in the typeMap constructor arg, no object class was specified for the datatype '"+type+"'");}else if(dojo.isFunction(mappingObj)){arrayOfValues[j]=new mappingObj(value._value);}else if(dojo.isFunction(mappingObj.deserialize)){arrayOfValues[j]=mappingObj.deserialize(value._value);}else{throw new Error("dojo.data.ItemFileReadStore: Value provided in typeMap was neither a constructor, nor a an object with a deserialize function");}}
if(value._reference){var referenceDescription=value._reference;if(!dojo.isObject(referenceDescription)){arrayOfValues[j]=this._itemsByIdentity[referenceDescription];}else{for(var k=0;k<this._arrayOfAllItems.length;++k){var candidateItem=this._arrayOfAllItems[k];var found=true;for(var refKey in referenceDescription){if(candidateItem[refKey]!=referenceDescription[refKey]){found=false;}}
if(found){arrayOfValues[j]=candidateItem;}}}
if(this.referenceIntegrity){var refItem=arrayOfValues[j];if(this.isItem(refItem)){this._addReferenceToMap(refItem,item,key);}}}else if(this.isItem(value)){if(this.referenceIntegrity){this._addReferenceToMap(value,item,key);}}}}}}},_addReferenceToMap:function(refItem,parentItem,attribute){},getIdentity:function(item){var identifier=this._features['dojo.data.api.Identity'];if(identifier===Number){return item[this._itemNumPropName];}else{var arrayOfValues=item[identifier];if(arrayOfValues){return arrayOfValues[0];}}
return null;},fetchItemByIdentity:function(keywordArgs){if(!this._loadFinished){var self=this;if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:keywordArgs});}else{this._loadInProgress=true;var getArgs={url:self._jsonFileUrl,handleAs:"json-comment-optional"};var getHandler=dojo.xhrGet(getArgs);getHandler.addCallback(function(data){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;try{self._getItemsFromLoadedData(data);self._loadFinished=true;self._loadInProgress=false;var item=self._getItemByIdentity(keywordArgs.identity);if(keywordArgs.onItem){keywordArgs.onItem.call(scope,item);}
self._handleQueuedFetches();}catch(error){self._loadInProgress=false;if(keywordArgs.onError){keywordArgs.onError.call(scope,error);}}});getHandler.addErrback(function(error){self._loadInProgress=false;if(keywordArgs.onError){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;keywordArgs.onError.call(scope,error);}});}}else if(this._jsonData){self._getItemsFromLoadedData(self._jsonData);self._jsonData=null;self._loadFinished=true;var item=self._getItemByIdentity(keywordArgs.identity);if(keywordArgs.onItem){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;keywordArgs.onItem.call(scope,item);}}}else{var item=this._getItemByIdentity(keywordArgs.identity);if(keywordArgs.onItem){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;keywordArgs.onItem.call(scope,item);}}},_getItemByIdentity:function(identity){var item=null;if(this._itemsByIdentity){item=this._itemsByIdentity[identity];}else{item=this._arrayOfAllItems[identity];}
if(item===undefined){item=null;}
return item;},getIdentityAttributes:function(item){var identifier=this._features['dojo.data.api.Identity'];if(identifier===Number){return null;}else{return[identifier];}},_forceLoad:function(){var self=this;if(this._jsonFileUrl){var getArgs={url:self._jsonFileUrl,handleAs:"json-comment-optional",sync:true};var getHandler=dojo.xhrGet(getArgs);getHandler.addCallback(function(data){try{if(self._loadInProgress!==true&&!self._loadFinished){self._getItemsFromLoadedData(data);self._loadFinished=true;}}catch(e){console.log(e);throw e;}});getHandler.addErrback(function(error){throw error;});}else if(this._jsonData){self._getItemsFromLoadedData(self._jsonData);self._jsonData=null;self._loadFinished=true;}}});dojo.extend(dojo.data.ItemFileReadStore,dojo.data.util.simpleFetch);}
if(!dojo._hasResource["dojo.data.ItemFileWriteStore"]){dojo._hasResource["dojo.data.ItemFileWriteStore"]=true;dojo.provide("dojo.data.ItemFileWriteStore");dojo.require("dojo.data.ItemFileReadStore");dojo.declare("dojo.data.ItemFileWriteStore",dojo.data.ItemFileReadStore,{constructor:function(keywordParameters){this._features['dojo.data.api.Write']=true;this._features['dojo.data.api.Notification']=true;this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};if(!this._datatypeMap['Date'].serialize){this._datatypeMap['Date'].serialize=function(obj){return dojo.date.stamp.toISOString(obj,{zulu:true});};}
if(keywordParameters&&(keywordParameters.referenceIntegrity===false)){this.referenceIntegrity=false;}
this._saveInProgress=false;},referenceIntegrity:true,_assert:function(condition){if(!condition){throw new Error("assertion failed in ItemFileWriteStore");}},_getIdentifierAttribute:function(){var identifierAttribute=this.getFeatures()['dojo.data.api.Identity'];return identifierAttribute;},newItem:function(keywordArgs,parentInfo){this._assert(!this._saveInProgress);if(!this._loadFinished){this._forceLoad();}
if(typeof keywordArgs!="object"&&typeof keywordArgs!="undefined"){throw new Error("newItem() was passed something other than an object");}
var newIdentity=null;var identifierAttribute=this._getIdentifierAttribute();if(identifierAttribute===Number){newIdentity=this._arrayOfAllItems.length;}else{newIdentity=keywordArgs[identifierAttribute];if(typeof newIdentity==="undefined"){throw new Error("newItem() was not passed an identity for the new item");}
if(dojo.isArray(newIdentity)){throw new Error("newItem() was not passed an single-valued identity");}}
if(this._itemsByIdentity){this._assert(typeof this._itemsByIdentity[newIdentity]==="undefined");}
this._assert(typeof this._pending._newItems[newIdentity]==="undefined");this._assert(typeof this._pending._deletedItems[newIdentity]==="undefined");var newItem={};newItem[this._storeRefPropName]=this;newItem[this._itemNumPropName]=this._arrayOfAllItems.length;if(this._itemsByIdentity){this._itemsByIdentity[newIdentity]=newItem;newItem[identifierAttribute]=[newIdentity];}
this._arrayOfAllItems.push(newItem);var pInfo=null;if(parentInfo&&parentInfo.parent&&parentInfo.attribute){pInfo={item:parentInfo.parent,attribute:parentInfo.attribute,oldValue:undefined};var values=this.getValues(parentInfo.parent,parentInfo.attribute);if(values&&values.length>0){var tempValues=values.slice(0,values.length);if(values.length===1){pInfo.oldValue=values[0];}else{pInfo.oldValue=values.slice(0,values.length);}
tempValues.push(newItem);this._setValueOrValues(parentInfo.parent,parentInfo.attribute,tempValues,false);pInfo.newValue=this.getValues(parentInfo.parent,parentInfo.attribute);}else{this._setValueOrValues(parentInfo.parent,parentInfo.attribute,newItem,false);pInfo.newValue=newItem;}}else{newItem[this._rootItemPropName]=true;this._arrayOfTopLevelItems.push(newItem);}
this._pending._newItems[newIdentity]=newItem;for(var key in keywordArgs){if(key===this._storeRefPropName||key===this._itemNumPropName){throw new Error("encountered bug in ItemFileWriteStore.newItem");}
var value=keywordArgs[key];if(!dojo.isArray(value)){value=[value];}
newItem[key]=value;if(this.referenceIntegrity){for(var i=0;i<value.length;i++){var val=value[i];if(this.isItem(val)){this._addReferenceToMap(val,newItem,key);}}}}
this.onNew(newItem,pInfo);return newItem;},_removeArrayElement:function(array,element){var index=dojo.indexOf(array,element);if(index!=-1){array.splice(index,1);return true;}
return false;},deleteItem:function(item){this._assert(!this._saveInProgress);this._assertIsItem(item);var indexInArrayOfAllItems=item[this._itemNumPropName];var identity=this.getIdentity(item);if(this.referenceIntegrity){var attributes=this.getAttributes(item);if(item[this._reverseRefMap]){item["backup_"+this._reverseRefMap]=dojo.clone(item[this._reverseRefMap]);}
dojo.forEach(attributes,function(attribute){dojo.forEach(this.getValues(item,attribute),function(value){if(this.isItem(value)){if(!item["backupRefs_"+this._reverseRefMap]){item["backupRefs_"+this._reverseRefMap]=[];}
item["backupRefs_"+this._reverseRefMap].push({id:this.getIdentity(value),attr:attribute});this._removeReferenceFromMap(value,item,attribute);}},this);},this);var references=item[this._reverseRefMap];if(references){for(var itemId in references){var containingItem=null;if(this._itemsByIdentity){containingItem=this._itemsByIdentity[itemId];}else{containingItem=this._arrayOfAllItems[itemId];}
if(containingItem){for(var attribute in references[itemId]){var oldValues=this.getValues(containingItem,attribute)||[];var newValues=dojo.filter(oldValues,function(possibleItem){return!(this.isItem(possibleItem)&&this.getIdentity(possibleItem)==identity);},this);this._removeReferenceFromMap(item,containingItem,attribute);if(newValues.length<oldValues.length){this.setValues(containingItem,attribute,newValues);}}}}}}
this._arrayOfAllItems[indexInArrayOfAllItems]=null;item[this._storeRefPropName]=null;if(this._itemsByIdentity){delete this._itemsByIdentity[identity];}
this._pending._deletedItems[identity]=item;if(item[this._rootItemPropName]){this._removeArrayElement(this._arrayOfTopLevelItems,item);}
this.onDelete(item);return true;},setValue:function(item,attribute,value){return this._setValueOrValues(item,attribute,value,true);},setValues:function(item,attribute,values){return this._setValueOrValues(item,attribute,values,true);},unsetAttribute:function(item,attribute){return this._setValueOrValues(item,attribute,[],true);},_setValueOrValues:function(item,attribute,newValueOrValues,callOnSet){this._assert(!this._saveInProgress);this._assertIsItem(item);this._assert(dojo.isString(attribute));this._assert(typeof newValueOrValues!=="undefined");var identifierAttribute=this._getIdentifierAttribute();if(attribute==identifierAttribute){throw new Error("ItemFileWriteStore does not have support for changing the value of an item's identifier.");}
var oldValueOrValues=this._getValueOrValues(item,attribute);var identity=this.getIdentity(item);if(!this._pending._modifiedItems[identity]){var copyOfItemState={};for(var key in item){if((key===this._storeRefPropName)||(key===this._itemNumPropName)||(key===this._rootItemPropName)){copyOfItemState[key]=item[key];}else if(key===this._reverseRefMap){copyOfItemState[key]=dojo.clone(item[key]);}else{copyOfItemState[key]=item[key].slice(0,item[key].length);}}
this._pending._modifiedItems[identity]=copyOfItemState;}
var success=false;if(dojo.isArray(newValueOrValues)&&newValueOrValues.length===0){success=delete item[attribute];newValueOrValues=undefined;if(this.referenceIntegrity&&oldValueOrValues){var oldValues=oldValueOrValues;if(!dojo.isArray(oldValues)){oldValues=[oldValues];}
for(var i=0;i<oldValues.length;i++){var value=oldValues[i];if(this.isItem(value)){this._removeReferenceFromMap(value,item,attribute);}}}}else{var newValueArray;if(dojo.isArray(newValueOrValues)){var newValues=newValueOrValues;newValueArray=newValueOrValues.slice(0,newValueOrValues.length);}else{newValueArray=[newValueOrValues];}
if(this.referenceIntegrity){if(oldValueOrValues){var oldValues=oldValueOrValues;if(!dojo.isArray(oldValues)){oldValues=[oldValues];}
var map={};dojo.forEach(oldValues,function(possibleItem){if(this.isItem(possibleItem)){var id=this.getIdentity(possibleItem);map[id.toString()]=true;}},this);dojo.forEach(newValueArray,function(possibleItem){if(this.isItem(possibleItem)){var id=this.getIdentity(possibleItem);if(map[id.toString()]){delete map[id.toString()];}else{this._addReferenceToMap(possibleItem,item,attribute);}}},this);for(var rId in map){var removedItem;if(this._itemsByIdentity){removedItem=this._itemsByIdentity[rId];}else{removedItem=this._arrayOfAllItems[rId];}
this._removeReferenceFromMap(removedItem,item,attribute);}}else{for(var i=0;i<newValueArray.length;i++){var value=newValueArray[i];if(this.isItem(value)){this._addReferenceToMap(value,item,attribute);}}}}
item[attribute]=newValueArray;success=true;}
if(callOnSet){this.onSet(item,attribute,oldValueOrValues,newValueOrValues);}
return success;},_addReferenceToMap:function(refItem,parentItem,attribute){var parentId=this.getIdentity(parentItem);var references=refItem[this._reverseRefMap];if(!references){references=refItem[this._reverseRefMap]={};}
var itemRef=references[parentId];if(!itemRef){itemRef=references[parentId]={};}
itemRef[attribute]=true;},_removeReferenceFromMap:function(refItem,parentItem,attribute){var identity=this.getIdentity(parentItem);var references=refItem[this._reverseRefMap];var itemId;if(references){for(itemId in references){if(itemId==identity){delete references[itemId][attribute];if(this._isEmpty(references[itemId])){delete references[itemId];}}}
if(this._isEmpty(references)){delete refItem[this._reverseRefMap];}}},_dumpReferenceMap:function(){var i;for(i=0;i<this._arrayOfAllItems.length;i++){var item=this._arrayOfAllItems[i];if(item&&item[this._reverseRefMap]){console.log("Item: ["+this.getIdentity(item)+"] is referenced by: "+dojo.toJson(item[this._reverseRefMap]));}}},_getValueOrValues:function(item,attribute){var valueOrValues=undefined;if(this.hasAttribute(item,attribute)){var valueArray=this.getValues(item,attribute);if(valueArray.length==1){valueOrValues=valueArray[0];}else{valueOrValues=valueArray;}}
return valueOrValues;},_flatten:function(value){if(this.isItem(value)){var item=value;var identity=this.getIdentity(item);var referenceObject={_reference:identity};return referenceObject;}else{if(typeof value==="object"){for(var type in this._datatypeMap){var typeMap=this._datatypeMap[type];if(dojo.isObject(typeMap)&&!dojo.isFunction(typeMap)){if(value instanceof typeMap.type){if(!typeMap.serialize){throw new Error("ItemFileWriteStore:  No serializer defined for type mapping: ["+type+"]");}
return{_type:type,_value:typeMap.serialize(value)};}}else if(value instanceof typeMap){return{_type:type,_value:value.toString()};}}}
return value;}},_getNewFileContentString:function(){var serializableStructure={};var identifierAttribute=this._getIdentifierAttribute();if(identifierAttribute!==Number){serializableStructure.identifier=identifierAttribute;}
if(this._labelAttr){serializableStructure.label=this._labelAttr;}
serializableStructure.items=[];for(var i=0;i<this._arrayOfAllItems.length;++i){var item=this._arrayOfAllItems[i];if(item!==null){var serializableItem={};for(var key in item){if(key!==this._storeRefPropName&&key!==this._itemNumPropName){var attribute=key;var valueArray=this.getValues(item,attribute);if(valueArray.length==1){serializableItem[attribute]=this._flatten(valueArray[0]);}else{var serializableArray=[];for(var j=0;j<valueArray.length;++j){serializableArray.push(this._flatten(valueArray[j]));serializableItem[attribute]=serializableArray;}}}}
serializableStructure.items.push(serializableItem);}}
var prettyPrint=true;return dojo.toJson(serializableStructure,prettyPrint);},_isEmpty:function(something){var empty=true;if(dojo.isObject(something)){var i;for(i in something){empty=false;break;}}else if(dojo.isArray(something)){if(something.length>0){empty=false;}}
return empty;},save:function(keywordArgs){this._assert(!this._saveInProgress);this._saveInProgress=true;var self=this;var saveCompleteCallback=function(){self._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};self._saveInProgress=false;if(keywordArgs&&keywordArgs.onComplete){var scope=keywordArgs.scope||dojo.global;keywordArgs.onComplete.call(scope);}};var saveFailedCallback=function(){self._saveInProgress=false;if(keywordArgs&&keywordArgs.onError){var scope=keywordArgs.scope||dojo.global;keywordArgs.onError.call(scope);}};if(this._saveEverything){var newFileContentString=this._getNewFileContentString();this._saveEverything(saveCompleteCallback,saveFailedCallback,newFileContentString);}
if(this._saveCustom){this._saveCustom(saveCompleteCallback,saveFailedCallback);}
if(!this._saveEverything&&!this._saveCustom){saveCompleteCallback();}},revert:function(){this._assert(!this._saveInProgress);var identity;for(identity in this._pending._newItems){var newItem=this._pending._newItems[identity];newItem[this._storeRefPropName]=null;this._arrayOfAllItems[newItem[this._itemNumPropName]]=null;if(newItem[this._rootItemPropName]){this._removeArrayElement(this._arrayOfTopLevelItems,newItem);}
if(this._itemsByIdentity){delete this._itemsByIdentity[identity];}}
for(identity in this._pending._modifiedItems){var originalItem=this._pending._modifiedItems[identity];var modifiedItem=null;if(this._itemsByIdentity){modifiedItem=this._itemsByIdentity[identity];}else{modifiedItem=this._arrayOfAllItems[identity];}
originalItem[this._storeRefPropName]=this;modifiedItem[this._storeRefPropName]=null;var arrayIndex=modifiedItem[this._itemNumPropName];this._arrayOfAllItems[arrayIndex]=originalItem;if(modifiedItem[this._rootItemPropName]){var i;for(i=0;i<this._arrayOfTopLevelItems.length;i++){var possibleMatch=this._arrayOfTopLevelItems[i];if(this.getIdentity(possibleMatch)==identity){this._arrayOfTopLevelItems[i]=originalItem;break;}}}
if(this._itemsByIdentity){this._itemsByIdentity[identity]=originalItem;}}
var deletedItem;for(identity in this._pending._deletedItems){deletedItem=this._pending._deletedItems[identity];deletedItem[this._storeRefPropName]=this;var index=deletedItem[this._itemNumPropName];if(deletedItem["backup_"+this._reverseRefMap]){deletedItem[this._reverseRefMap]=deletedItem["backup_"+this._reverseRefMap];delete deletedItem["backup_"+this._reverseRefMap];}
this._arrayOfAllItems[index]=deletedItem;if(this._itemsByIdentity){this._itemsByIdentity[identity]=deletedItem;}
if(deletedItem[this._rootItemPropName]){this._arrayOfTopLevelItems.push(deletedItem);}}
for(identity in this._pending._deletedItems){deletedItem=this._pending._deletedItems[identity];if(deletedItem["backupRefs_"+this._reverseRefMap]){dojo.forEach(deletedItem["backupRefs_"+this._reverseRefMap],function(reference){var refItem;if(this._itemsByIdentity){refItem=this._itemsByIdentity[reference.id];}else{refItem=this._arrayOfAllItems[reference.id];}
this._addReferenceToMap(refItem,deletedItem,reference.attr);},this);delete deletedItem["backupRefs_"+this._reverseRefMap];}}
this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};return true;},isDirty:function(item){if(item){var identity=this.getIdentity(item);return new Boolean(this._pending._newItems[identity]||this._pending._modifiedItems[identity]||this._pending._deletedItems[identity]);}else{if(!this._isEmpty(this._pending._newItems)||!this._isEmpty(this._pending._modifiedItems)||!this._isEmpty(this._pending._deletedItems)){return true;}
return false;}},onSet:function(item,attribute,oldValue,newValue){},onNew:function(newItem,parentInfo){},onDelete:function(deletedItem){}});}
if(!dojo._hasResource["dojox.data.QueryReadStore"]){dojo._hasResource["dojox.data.QueryReadStore"]=true;dojo.provide("dojox.data.QueryReadStore");dojo.require("dojo.string");dojo.declare("dojox.data.QueryReadStore",null,{url:"",requestMethod:"get",_className:"dojox.data.QueryReadStore",_items:[],_numRows:null,_lastQueryTime:0,_lastQueryUrl:"",_lastServerQuery:null,lastRequestHash:null,doClientPaging:false,doClientSorting:false,_itemsByIdentity:null,_identifier:null,_features:{'dojo.data.api.Read':true,'dojo.data.api.Identity':true},_labelAttr:"label",constructor:function(params){dojo.mixin(this,params);},getValue:function(item,attribute,defaultValue){this._assertIsItem(item);if(!dojo.isString(attribute)){throw new Error(this._className+".getValue(): Invalid attribute, string expected!");}
if(!this.hasAttribute(item,attribute)){if(defaultValue){return defaultValue;}
console.log(this._className+".getValue(): Item does not have the attribute '"+attribute+"'.");}
return item.i[attribute];},getValues:function(item,attribute){this._assertIsItem(item);var ret=[];if(this.hasAttribute(item,attribute)){ret.push(item.i[attribute]);}
return ret;},getAttributes:function(item){this._assertIsItem(item);var ret=[];for(var i in item.i){ret.push(i);}
return ret;},hasAttribute:function(item,attribute){return this.isItem(item)&&typeof item.i[attribute]!="undefined";},containsValue:function(item,attribute,value){var values=this.getValues(item,attribute);var len=values.length;for(var i=0;i<len;i++){if(values[i]==value){return true;}}
return false;},isItem:function(something){if(something){return typeof something.r!="undefined"&&something.r==this;}
return false;},isItemLoaded:function(something){return this.isItem(something);},loadItem:function(args){if(this.isItemLoaded(args.item)){return;}},fetching:false,beginFetch:function(){},endFetch:function(){},_beginFetch:function(){this.fetching=true;this.beginFetch();},_endFetch:function(){if(this.fetching){this.endFetch();this.fetching=false;}},fetch:function(request){this._beginFetch();request=request||{};if(!request.store){request.store=this;}
var self=this;var _errorHandler=function(errorData,requestObject){this.endFetch();if(requestObject.onError){var scope=requestObject.scope||dojo.global;requestObject.onError.call(scope,errorData,requestObject);}
requestObject.store._endFetch();};var _fetchHandler=function(items,requestObject,numRows){var oldAbortFunction=requestObject.abort||null;var aborted=false;var startIndex=requestObject.start?requestObject.start:0;if(self.doClientPaging==false){startIndex=0;}
var endIndex=requestObject.count?(startIndex+requestObject.count):items.length;requestObject.abort=function(){aborted=true;if(oldAbortFunction){oldAbortFunction.call(requestObject);}};var scope=requestObject.scope||dojo.global;if(!requestObject.store){requestObject.store=self;}
if(requestObject.onBegin){requestObject.onBegin.call(scope,numRows,requestObject);}
if(requestObject.sort&&this.doClientSorting){items.sort(dojo.data.util.sorter.createSortFunction(requestObject.sort,self));}
if(requestObject.onItem){for(var i=startIndex;(i<items.length)&&(i<endIndex);++i){var item=items[i];if(!aborted){requestObject.onItem.call(scope,item,requestObject);}}}
if(requestObject.onComplete&&!aborted){var subset=null;if(!requestObject.onItem){subset=items.slice(startIndex,endIndex);}
requestObject.onComplete.call(scope,subset,requestObject);}
requestObject.store._endFetch();};this._fetchItems(request,_fetchHandler,_errorHandler);return request;},getFeatures:function(){return this._features;},close:function(request){},getLabel:function(item){if(this._labelAttr&&this.isItem(item)){return this.getValue(item,this._labelAttr);}
return undefined;},getLabelAttributes:function(item){if(this._labelAttr){return[this._labelAttr];}
return null;},_fetchItems:function(request,fetchHandler,errorHandler){var serverQuery=request.serverQuery||request.query||{};if(!this.doClientPaging){serverQuery.start=request.start||0;if(request.count){serverQuery.count=request.count;}}
if(!this.doClientSorting){if(request.sort){var sort=request.sort[0];if(sort&&sort.attribute){serverQuery.sort=sort.attribute;if(sort.descending)
serverQuery.desc="true";else
serverQuery.desc="false";}}}
var curTime=(new Date()).getTime();if(this._lastServerQuery!==null&&(curTime-this._lastQueryTime)<1000&&this.url==this._lastQueryUrl&&dojo.toJson(serverQuery)==dojo.toJson(this._lastServerQuery)){this._lastQueryTime=curTime;if(this._numRows===null)
fetchHandler(this._items,request);else
fetchHandler(this._items,request,this._numRows);}else{this._lastQueryTime=curTime;this._lastQueryUrl=this.url;if(this.url=="")
{this._items=[];this._numRows=0;fetchHandler(this._items,request,this._numRows);return;}
var xhrFunc=this.requestMethod.toLowerCase()=="post"?dojo.xhrPost:dojo.xhrGet;var xhrHandler=xhrFunc({preventCache:true,url:this.url,handleAs:"json-comment-optional",content:serverQuery});xhrHandler.addCallback(dojo.hitch(this,function(data){data=this._filterResponse(data);if(data.label){this._labelAttr=data.label;}
var numRows=data.numRows||-1;this._items=[];dojo.forEach(data.items,function(e){this._items.push({i:e,r:this});},this);var identifier=data.identifier;this._itemsByIdentity={};if(identifier){this._identifier=identifier;for(i=0;i<this._items.length;++i){var item=this._items[i].i;var identity=item[identifier];if(!this._itemsByIdentity[identity]){this._itemsByIdentity[identity]=item;}else{throw new Error(this._className+":  The json data as specified by: ["+this.url+"] is malformed.  Items within the list have identifier: ["+identifier+"].  Value collided: ["+identity+"]");}}}else{this._identifier=Number;for(i=0;i<this._items.length;++i){this._items[i].n=i;}}
numRows=(numRows===-1)?this._items.length:numRows;this._numRows=numRows;fetchHandler(this._items,request,numRows);}));xhrHandler.addErrback(function(error){errorHandler(error,request);});this.lastRequestHash=new Date().getTime()+"-"+String(Math.random()).substring(2);this._lastServerQuery=dojo.mixin({},serverQuery);}},_filterResponse:function(data){return data;},_assertIsItem:function(item){if(!this.isItem(item)){throw new Error(this._className+": Invalid item argument.");}},_assertIsAttribute:function(attribute){if(typeof attribute!=="string"){throw new Error(this._className+": Invalid attribute argument ('"+attribute+"').");}},fetchItemByIdentity:function(keywordArgs){if(this._itemsByIdentity){var item=this._itemsByIdentity[keywordArgs.identity];if(!(item===undefined)){if(keywordArgs.onItem){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;keywordArgs.onItem.call(scope,{i:item,r:this});}
return;}}
var _errorHandler=function(errorData,requestObject){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;if(keywordArgs.onError){keywordArgs.onError.call(scope,error);}};var _fetchHandler=function(items,requestObject){var scope=keywordArgs.scope?keywordArgs.scope:dojo.global;try{var item=null;if(items&&items.length==1){item=items[0];}
if(keywordArgs.onItem){keywordArgs.onItem.call(scope,item);}}catch(error){if(keywordArgs.onError){keywordArgs.onError.call(scope,error);}}};var request={serverQuery:{id:keywordArgs.identity}};this._fetchItems(request,_fetchHandler,_errorHandler);},getIdentity:function(item){var identifier=null;if(this._identifier===Number){identifier=item.n;}else{identifier=item.i[this._identifier];}
return identifier;},getIdentityAttributes:function(item){return[this._identifier];}});}
if(!dojo._hasResource["dojox.grid._grid.lib"]){dojo._hasResource["dojox.grid._grid.lib"]=true;dojo.provide("dojox.grid._grid.lib");dojo.mixin(dojox.grid,{na:'...',nop:function(){},getTdIndex:function(td){return td.cellIndex>=0?td.cellIndex:dojo.indexOf(td.parentNode.cells,td);},getTrIndex:function(tr){return tr.rowIndex>=0?tr.rowIndex:dojo.indexOf(tr.parentNode.childNodes,tr);},getTr:function(rowOwner,index){return rowOwner&&((rowOwner.rows||0)[index]||rowOwner.childNodes[index]);},getTd:function(rowOwner,rowIndex,cellIndex){return(dojox.grid.getTr(inTable,rowIndex)||0)[cellIndex];},findTable:function(node){for(var n=node;n&&n.tagName!='TABLE';n=n.parentNode);return n;},ascendDom:function(inNode,inWhile){for(var n=inNode;n&&inWhile(n);n=n.parentNode);return n;},makeNotTagName:function(inTagName){var name=inTagName.toUpperCase();return function(node){return node.tagName!=name;};},fire:function(ob,ev,args){var fn=ob&&ev&&ob[ev];return fn&&(args?fn.apply(ob,args):ob[ev]());},setStyleText:function(inNode,inStyleText){if(inNode.style.cssText==undefined){inNode.setAttribute("style",inStyleText);}else{inNode.style.cssText=inStyleText;}},getStyleText:function(inNode,inStyleText){return(inNode.style.cssText==undefined?inNode.getAttribute("style"):inNode.style.cssText);},setStyle:function(inElement,inStyle,inValue){if(inElement&&inElement.style[inStyle]!=inValue){inElement.style[inStyle]=inValue;}},setStyleHeightPx:function(inElement,inHeight){if(inHeight>=0){dojox.grid.setStyle(inElement,'height',inHeight+'px');}},mouseEvents:['mouseover','mouseout','mousedown','mouseup','click','dblclick','contextmenu'],keyEvents:['keyup','keydown','keypress'],funnelEvents:function(inNode,inObject,inMethod,inEvents){var evts=(inEvents?inEvents:dojox.grid.mouseEvents.concat(dojox.grid.keyEvents));for(var i=0,l=evts.length;i<l;i++){dojo.connect(inNode,'on'+evts[i],inObject,inMethod);}},removeNode:function(inNode){inNode=dojo.byId(inNode);inNode&&inNode.parentNode&&inNode.parentNode.removeChild(inNode);return inNode;},getScrollbarWidth:function(){if(this._scrollBarWidth){return this._scrollBarWidth;}
this._scrollBarWidth=18;try{var e=document.createElement("div");e.style.cssText="top:0;left:0;width:100px;height:100px;overflow:scroll;position:absolute;visibility:hidden;";document.body.appendChild(e);this._scrollBarWidth=e.offsetWidth-e.clientWidth;document.body.removeChild(e);delete e;}catch(ex){}
return this._scrollBarWidth;},getRef:function(name,create,context){var obj=context||dojo.global,parts=name.split("."),prop=parts.pop();for(var i=0,p;obj&&(p=parts[i]);i++){obj=(p in obj?obj[p]:(create?obj[p]={}:undefined));}
return{obj:obj,prop:prop};},getProp:function(name,create,context){with(dojox.grid.getRef(name,create,context)){return(obj)&&(prop)&&(prop in obj?obj[prop]:(create?obj[prop]={}:undefined));}},indexInParent:function(inNode){var i=0,n,p=inNode.parentNode;while((n=p.childNodes[i++])){if(n==inNode){return i-1;}}
return-1;},cleanNode:function(inNode){if(!inNode){return;}
var filter=function(inW){return inW.domNode&&dojo.isDescendant(inW.domNode,inNode,true);}
var ws=dijit.registry.filter(filter);for(var i=0,w;(w=ws[i]);i++){w.destroy();}
delete ws;},getTagName:function(inNodeOrId){var node=dojo.byId(inNodeOrId);return(node&&node.tagName?node.tagName.toLowerCase():'');},nodeKids:function(inNode,inTag){var result=[];var i=0,n;while((n=inNode.childNodes[i++])){if(dojox.grid.getTagName(n)==inTag){result.push(n);}}
return result;},divkids:function(inNode){return dojox.grid.nodeKids(inNode,'div');},focusSelectNode:function(inNode){try{dojox.grid.fire(inNode,"focus");dojox.grid.fire(inNode,"select");}catch(e){}},whenIdle:function(){setTimeout(dojo.hitch.apply(dojo,arguments),0);},arrayCompare:function(inA,inB){for(var i=0,l=inA.length;i<l;i++){if(inA[i]!=inB[i]){return false;}}
return(inA.length==inB.length);},arrayInsert:function(inArray,inIndex,inValue){if(inArray.length<=inIndex){inArray[inIndex]=inValue;}else{inArray.splice(inIndex,0,inValue);}},arrayRemove:function(inArray,inIndex){inArray.splice(inIndex,1);},arraySwap:function(inArray,inI,inJ){var cache=inArray[inI];inArray[inI]=inArray[inJ];inArray[inJ]=cache;},initTextSizePoll:function(inInterval){var f=document.createElement("div");with(f.style){top="0px";left="0px";position="absolute";visibility="hidden";}
f.innerHTML="TheQuickBrownFoxJumpedOverTheLazyDog";document.body.appendChild(f);var fw=f.offsetWidth;var job=function(){if(f.offsetWidth!=fw){fw=f.offsetWidth;dojox.grid.textSizeChanged();}}
window.setInterval(job,inInterval||200);dojox.grid.initTextSizePoll=dojox.grid.nop;},textSizeChanged:function(){}});dojox.grid.jobs={cancel:function(inHandle){if(inHandle){window.clearTimeout(inHandle);}},jobs:[],job:function(inName,inDelay,inJob){dojox.grid.jobs.cancelJob(inName);var job=function(){delete dojox.grid.jobs.jobs[inName];inJob();}
dojox.grid.jobs.jobs[inName]=setTimeout(job,inDelay);},cancelJob:function(inName){dojox.grid.jobs.cancel(dojox.grid.jobs.jobs[inName]);}}}
if(!dojo._hasResource['dojox.grid._grid.scroller']){dojo._hasResource['dojox.grid._grid.scroller']=true;dojo.provide('dojox.grid._grid.scroller');dojo.declare('dojox.grid.scroller.base',null,{constructor:function(){this.pageHeights=[];this.stack=[];},rowCount:0,defaultRowHeight:10,keepRows:100,contentNode:null,scrollboxNode:null,defaultPageHeight:0,keepPages:10,pageCount:0,windowHeight:0,firstVisibleRow:0,lastVisibleRow:0,page:0,pageTop:0,init:function(inRowCount,inKeepRows,inRowsPerPage){switch(arguments.length){case 3:this.rowsPerPage=inRowsPerPage;case 2:this.keepRows=inKeepRows;case 1:this.rowCount=inRowCount;}
this.defaultPageHeight=this.defaultRowHeight*this.rowsPerPage;this.pageCount=Math.ceil(this.rowCount/this.rowsPerPage);this.setKeepInfo(this.keepRows);this.invalidate();if(this.scrollboxNode){this.scrollboxNode.scrollTop=0;this.scroll(0);this.scrollboxNode.onscroll=dojo.hitch(this,'onscroll');}},setKeepInfo:function(inKeepRows){this.keepRows=inKeepRows;this.keepPages=!this.keepRows?this.keepRows:Math.max(Math.ceil(this.keepRows/this.rowsPerPage),2);},invalidate:function(){this.invalidateNodes();this.pageHeights=[];this.height=(this.pageCount?(this.pageCount-1)*this.defaultPageHeight+this.calcLastPageHeight():0);this.resize();},updateRowCount:function(inRowCount){this.invalidateNodes();this.rowCount=inRowCount;oldPageCount=this.pageCount;this.pageCount=Math.ceil(this.rowCount/this.rowsPerPage);if(this.pageCount<oldPageCount){for(var i=oldPageCount-1;i>=this.pageCount;i--){this.height-=this.getPageHeight(i);delete this.pageHeights[i]}}else if(this.pageCount>oldPageCount){this.height+=this.defaultPageHeight*(this.pageCount-oldPageCount-1)+this.calcLastPageHeight();}
this.resize();},pageExists:function(inPageIndex){},measurePage:function(inPageIndex){},positionPage:function(inPageIndex,inPos){},repositionPages:function(inPageIndex){},installPage:function(inPageIndex){},preparePage:function(inPageIndex,inPos,inReuseNode){},renderPage:function(inPageIndex){},removePage:function(inPageIndex){},pacify:function(inShouldPacify){},pacifying:false,pacifyTicks:200,setPacifying:function(inPacifying){if(this.pacifying!=inPacifying){this.pacifying=inPacifying;this.pacify(this.pacifying);}},startPacify:function(){this.startPacifyTicks=new Date().getTime();},doPacify:function(){var result=(new Date().getTime()-this.startPacifyTicks)>this.pacifyTicks;this.setPacifying(true);this.startPacify();return result;},endPacify:function(){this.setPacifying(false);},resize:function(){if(this.scrollboxNode){this.windowHeight=this.scrollboxNode.clientHeight;}
dojox.grid.setStyleHeightPx(this.contentNode,this.height);},calcLastPageHeight:function(){if(!this.pageCount){return 0;}
var lastPage=this.pageCount-1;var lastPageHeight=((this.rowCount%this.rowsPerPage)||(this.rowsPerPage))*this.defaultRowHeight;this.pageHeights[lastPage]=lastPageHeight;return lastPageHeight;},updateContentHeight:function(inDh){this.height+=inDh;this.resize();},updatePageHeight:function(inPageIndex){if(this.pageExists(inPageIndex)){var oh=this.getPageHeight(inPageIndex);var h=(this.measurePage(inPageIndex))||(oh);this.pageHeights[inPageIndex]=h;if((h)&&(oh!=h)){this.updateContentHeight(h-oh)
this.repositionPages(inPageIndex);}}},rowHeightChanged:function(inRowIndex){this.updatePageHeight(Math.floor(inRowIndex/this.rowsPerPage));},invalidateNodes:function(){while(this.stack.length){this.destroyPage(this.popPage());}},createPageNode:function(){var p=document.createElement('div');p.style.position='absolute';p.style[dojo._isBodyLtr()?"left":"right"]='0';return p;},getPageHeight:function(inPageIndex){var ph=this.pageHeights[inPageIndex];return(ph!==undefined?ph:this.defaultPageHeight);},pushPage:function(inPageIndex){return this.stack.push(inPageIndex);},popPage:function(){return this.stack.shift();},findPage:function(inTop){var i=0,h=0;for(var ph=0;i<this.pageCount;i++,h+=ph){ph=this.getPageHeight(i);if(h+ph>=inTop){break;}}
this.page=i;this.pageTop=h;},buildPage:function(inPageIndex,inReuseNode,inPos){this.preparePage(inPageIndex,inReuseNode);this.positionPage(inPageIndex,inPos);this.installPage(inPageIndex);this.renderPage(inPageIndex);this.pushPage(inPageIndex);},needPage:function(inPageIndex,inPos){var h=this.getPageHeight(inPageIndex),oh=h;if(!this.pageExists(inPageIndex)){this.buildPage(inPageIndex,this.keepPages&&(this.stack.length>=this.keepPages),inPos);h=this.measurePage(inPageIndex)||h;this.pageHeights[inPageIndex]=h;if(h&&(oh!=h)){this.updateContentHeight(h-oh)}}else{this.positionPage(inPageIndex,inPos);}
return h;},_semaphore:0,onscroll:function(){this.scroll(this.scrollboxNode.scrollTop);},scroll:function(inTop){this.startPacify();this.findPage(inTop);var h=this.height;var b=this.getScrollBottom(inTop);for(var p=this.page,y=this.pageTop;(p<this.pageCount)&&((b<0)||(y<b));p++){y+=this.needPage(p,y);}
this.firstVisibleRow=this.getFirstVisibleRow(this.page,this.pageTop,inTop);this.lastVisibleRow=this.getLastVisibleRow(p-1,y,b);if(h!=this.height){this.repositionPages(p-1);}
this.endPacify();},getScrollBottom:function(inTop){return(this.windowHeight>=0?inTop+this.windowHeight:-1);},processNodeEvent:function(e,inNode){var t=e.target;while(t&&(t!=inNode)&&t.parentNode&&(t.parentNode.parentNode!=inNode)){t=t.parentNode;}
if(!t||!t.parentNode||(t.parentNode.parentNode!=inNode)){return false;}
var page=t.parentNode;e.topRowIndex=page.pageIndex*this.rowsPerPage;e.rowIndex=e.topRowIndex+dojox.grid.indexInParent(t);e.rowTarget=t;return true;},processEvent:function(e){return this.processNodeEvent(e,this.contentNode);},dummy:0});dojo.declare('dojox.grid.scroller',dojox.grid.scroller.base,{constructor:function(){this.pageNodes=[];},renderRow:function(inRowIndex,inPageNode){},removeRow:function(inRowIndex){},getDefaultNodes:function(){return this.pageNodes;},getDefaultPageNode:function(inPageIndex){return this.getDefaultNodes()[inPageIndex];},positionPageNode:function(inNode,inPos){inNode.style.top=inPos+'px';},getPageNodePosition:function(inNode){return inNode.offsetTop;},repositionPageNodes:function(inPageIndex,inNodes){var last=0;for(var i=0;i<this.stack.length;i++){last=Math.max(this.stack[i],last);}
var n=inNodes[inPageIndex];var y=(n?this.getPageNodePosition(n)+this.getPageHeight(inPageIndex):0);for(var p=inPageIndex+1;p<=last;p++){n=inNodes[p];if(n){if(this.getPageNodePosition(n)==y){return;}
this.positionPage(p,y);}
y+=this.getPageHeight(p);}},invalidatePageNode:function(inPageIndex,inNodes){var p=inNodes[inPageIndex];if(p){delete inNodes[inPageIndex];this.removePage(inPageIndex,p);dojox.grid.cleanNode(p);p.innerHTML='';}
return p;},preparePageNode:function(inPageIndex,inReusePageIndex,inNodes){var p=(inReusePageIndex===null?this.createPageNode():this.invalidatePageNode(inReusePageIndex,inNodes));p.pageIndex=inPageIndex;p.id=(this._pageIdPrefix||"")+'page-'+inPageIndex;inNodes[inPageIndex]=p;},pageExists:function(inPageIndex){return Boolean(this.getDefaultPageNode(inPageIndex));},measurePage:function(inPageIndex){return this.getDefaultPageNode(inPageIndex).offsetHeight;},positionPage:function(inPageIndex,inPos){this.positionPageNode(this.getDefaultPageNode(inPageIndex),inPos);},repositionPages:function(inPageIndex){this.repositionPageNodes(inPageIndex,this.getDefaultNodes());},preparePage:function(inPageIndex,inReuseNode){this.preparePageNode(inPageIndex,(inReuseNode?this.popPage():null),this.getDefaultNodes());},installPage:function(inPageIndex){this.contentNode.appendChild(this.getDefaultPageNode(inPageIndex));},destroyPage:function(inPageIndex){var p=this.invalidatePageNode(inPageIndex,this.getDefaultNodes());dojox.grid.removeNode(p);},renderPage:function(inPageIndex){var node=this.pageNodes[inPageIndex];for(var i=0,j=inPageIndex*this.rowsPerPage;(i<this.rowsPerPage)&&(j<this.rowCount);i++,j++){this.renderRow(j,node);}},removePage:function(inPageIndex){for(var i=0,j=inPageIndex*this.rowsPerPage;i<this.rowsPerPage;i++,j++){this.removeRow(j);}},getPageRow:function(inPage){return inPage*this.rowsPerPage;},getLastPageRow:function(inPage){return Math.min(this.rowCount,this.getPageRow(inPage+1))-1;},getFirstVisibleRowNodes:function(inPage,inPageTop,inScrollTop,inNodes){var row=this.getPageRow(inPage);var rows=dojox.grid.divkids(inNodes[inPage]);for(var i=0,l=rows.length;i<l&&inPageTop<inScrollTop;i++,row++){inPageTop+=rows[i].offsetHeight;}
return(row?row-1:row);},getFirstVisibleRow:function(inPage,inPageTop,inScrollTop){if(!this.pageExists(inPage)){return 0;}
return this.getFirstVisibleRowNodes(inPage,inPageTop,inScrollTop,this.getDefaultNodes());},getLastVisibleRowNodes:function(inPage,inBottom,inScrollBottom,inNodes){var row=this.getLastPageRow(inPage);var rows=dojox.grid.divkids(inNodes[inPage]);for(var i=rows.length-1;i>=0&&inBottom>inScrollBottom;i--,row--){inBottom-=rows[i].offsetHeight;}
return row+1;},getLastVisibleRow:function(inPage,inBottom,inScrollBottom){if(!this.pageExists(inPage)){return 0;}
return this.getLastVisibleRowNodes(inPage,inBottom,inScrollBottom,this.getDefaultNodes());},findTopRowForNodes:function(inScrollTop,inNodes){var rows=dojox.grid.divkids(inNodes[this.page]);for(var i=0,l=rows.length,t=this.pageTop,h;i<l;i++){h=rows[i].offsetHeight;t+=h;if(t>=inScrollTop){this.offset=h-(t-inScrollTop);return i+this.page*this.rowsPerPage;}}
return-1;},findScrollTopForNodes:function(inRow,inNodes){var rowPage=Math.floor(inRow/this.rowsPerPage);var t=0;for(var i=0;i<rowPage;i++){t+=this.getPageHeight(i);}
this.pageTop=t;this.needPage(rowPage,this.pageTop);var rows=dojox.grid.divkids(inNodes[rowPage]);var r=inRow-this.rowsPerPage*rowPage;for(var i=0,l=rows.length;i<l&&i<r;i++){t+=rows[i].offsetHeight;}
return t;},findTopRow:function(inScrollTop){return this.findTopRowForNodes(inScrollTop,this.getDefaultNodes());},findScrollTop:function(inRow){return this.findScrollTopForNodes(inRow,this.getDefaultNodes());},dummy:0});dojo.declare('dojox.grid.scroller.columns',dojox.grid.scroller,{constructor:function(inContentNodes){this.setContentNodes(inContentNodes);},setContentNodes:function(inNodes){this.contentNodes=inNodes;this.colCount=(this.contentNodes?this.contentNodes.length:0);this.pageNodes=[];for(var i=0;i<this.colCount;i++){this.pageNodes[i]=[];}},getDefaultNodes:function(){return this.pageNodes[0]||[];},scroll:function(inTop){if(this.colCount){dojox.grid.scroller.prototype.scroll.call(this,inTop);}},resize:function(){if(this.scrollboxNode){this.windowHeight=this.scrollboxNode.clientHeight;}
for(var i=0;i<this.colCount;i++){dojox.grid.setStyleHeightPx(this.contentNodes[i],this.height);}},positionPage:function(inPageIndex,inPos){for(var i=0;i<this.colCount;i++){this.positionPageNode(this.pageNodes[i][inPageIndex],inPos);}},preparePage:function(inPageIndex,inReuseNode){var p=(inReuseNode?this.popPage():null);for(var i=0;i<this.colCount;i++){this.preparePageNode(inPageIndex,p,this.pageNodes[i]);}},installPage:function(inPageIndex){for(var i=0;i<this.colCount;i++){this.contentNodes[i].appendChild(this.pageNodes[i][inPageIndex]);}},destroyPage:function(inPageIndex){for(var i=0;i<this.colCount;i++){dojox.grid.removeNode(this.invalidatePageNode(inPageIndex,this.pageNodes[i]));}},renderPage:function(inPageIndex){var nodes=[];for(var i=0;i<this.colCount;i++){nodes[i]=this.pageNodes[i][inPageIndex];}
for(var i=0,j=inPageIndex*this.rowsPerPage;(i<this.rowsPerPage)&&(j<this.rowCount);i++,j++){this.renderRow(j,nodes);}}});}
if(!dojo._hasResource["dojox.grid._grid.drag"]){dojo._hasResource["dojox.grid._grid.drag"]=true;dojo.provide("dojox.grid._grid.drag");(function(){var dgdrag=dojox.grid.drag={};dgdrag.dragging=false;dgdrag.hysteresis=2;dgdrag.capture=function(inElement){if(inElement.setCapture)
inElement.setCapture();else{document.addEventListener("mousemove",inElement.onmousemove,true);document.addEventListener("mouseup",inElement.onmouseup,true);document.addEventListener("click",inElement.onclick,true);}}
dgdrag.release=function(inElement){if(inElement.releaseCapture){inElement.releaseCapture();}else{document.removeEventListener("click",inElement.onclick,true);document.removeEventListener("mouseup",inElement.onmouseup,true);document.removeEventListener("mousemove",inElement.onmousemove,true);}}
dgdrag.start=function(inElement,inOnDrag,inOnEnd,inEvent,inOnStart){if(!inElement||dgdrag.dragging){console.debug('failed to start drag: bad input node or already dragging');return;}
dgdrag.dragging=true;dgdrag.elt=inElement;dgdrag.events={drag:inOnDrag||dojox.grid.nop,end:inOnEnd||dojox.grid.nop,start:inOnStart||dojox.grid.nop,oldmove:inElement.onmousemove,oldup:inElement.onmouseup,oldclick:inElement.onclick};dgdrag.positionX=(inEvent&&('screenX'in inEvent)?inEvent.screenX:false);dgdrag.positionY=(inEvent&&('screenY'in inEvent)?inEvent.screenY:false);dgdrag.started=(dgdrag.position===false);inElement.onmousemove=dgdrag.mousemove;inElement.onmouseup=dgdrag.mouseup;inElement.onclick=dgdrag.click;dgdrag.capture(dgdrag.elt);}
dgdrag.end=function(){dgdrag.release(dgdrag.elt);dgdrag.elt.onmousemove=dgdrag.events.oldmove;dgdrag.elt.onmouseup=dgdrag.events.oldup;dgdrag.elt.onclick=dgdrag.events.oldclick;dgdrag.elt=null;try{if(dgdrag.started){dgdrag.events.end();}}finally{dgdrag.dragging=false;}}
dgdrag.calcDelta=function(inEvent){inEvent.deltaX=inEvent.screenX-dgdrag.positionX;inEvent.deltaY=inEvent.screenY-dgdrag.positionY;}
dgdrag.hasMoved=function(inEvent){return Math.abs(inEvent.deltaX)+Math.abs(inEvent.deltaY)>dgdrag.hysteresis;}
dgdrag.mousemove=function(inEvent){inEvent=dojo.fixEvent(inEvent);dojo.stopEvent(inEvent);dgdrag.calcDelta(inEvent);if((!dgdrag.started)&&(dgdrag.hasMoved(inEvent))){dgdrag.events.start(inEvent);dgdrag.started=true;}
if(dgdrag.started){dgdrag.events.drag(inEvent);}}
dgdrag.mouseup=function(inEvent){dojo.stopEvent(dojo.fixEvent(inEvent));dgdrag.end();}
dgdrag.click=function(inEvent){dojo.stopEvent(dojo.fixEvent(inEvent));}})();}
if(!dojo._hasResource["dojox.grid._grid.builder"]){dojo._hasResource["dojox.grid._grid.builder"]=true;dojo.provide("dojox.grid._grid.builder");dojo.require("dojox.grid._grid.drag");dojo.declare("dojox.grid.Builder",null,{constructor:function(inView){this.view=inView;this.grid=inView.grid;},view:null,_table:'<table class="dojoxGrid-row-table" border="0" cellspacing="0" cellpadding="0" role="wairole:presentation">',generateCellMarkup:function(inCell,inMoreStyles,inMoreClasses,isHeader){var result=[],html;if(isHeader){html=['<th tabIndex="-1" role="wairole:columnheader"'];}else{html=['<td tabIndex="-1" role="wairole:gridcell"'];}
inCell.colSpan&&html.push(' colspan="',inCell.colSpan,'"');inCell.rowSpan&&html.push(' rowspan="',inCell.rowSpan,'"');html.push(' class="dojoxGrid-cell ');inCell.classes&&html.push(inCell.classes,' ');inMoreClasses&&html.push(inMoreClasses,' ');result.push(html.join(''));result.push('');html=['" idx="',inCell.index,'" style="'];html.push(inCell.styles,inMoreStyles||'');inCell.unitWidth&&html.push('width:',inCell.unitWidth,';');result.push(html.join(''));result.push('');html=['"'];inCell.attrs&&html.push(" ",inCell.attrs);html.push('>');result.push(html.join(''));result.push('');result.push('</td>');return result;},isCellNode:function(inNode){return Boolean(inNode&&inNode.getAttribute&&inNode.getAttribute("idx"));},getCellNodeIndex:function(inCellNode){return inCellNode?Number(inCellNode.getAttribute("idx")):-1;},getCellNode:function(inRowNode,inCellIndex){for(var i=0,row;row=dojox.grid.getTr(inRowNode.firstChild,i);i++){for(var j=0,cell;cell=row.cells[j];j++){if(this.getCellNodeIndex(cell)==inCellIndex){return cell;}}}},findCellTarget:function(inSourceNode,inTopNode){var n=inSourceNode;while(n&&(!this.isCellNode(n)||(dojox.grid.gridViewTag in n.offsetParent.parentNode&&n.offsetParent.parentNode[dojox.grid.gridViewTag]!=this.view.id))&&(n!=inTopNode)){n=n.parentNode;}
return n!=inTopNode?n:null},baseDecorateEvent:function(e){e.dispatch='do'+e.type;e.grid=this.grid;e.sourceView=this.view;e.cellNode=this.findCellTarget(e.target,e.rowNode);e.cellIndex=this.getCellNodeIndex(e.cellNode);e.cell=(e.cellIndex>=0?this.grid.getCell(e.cellIndex):null);},findTarget:function(inSource,inTag){var n=inSource;while(n&&(n!=this.domNode)&&(!(inTag in n)||(dojox.grid.gridViewTag in n&&n[dojox.grid.gridViewTag]!=this.view.id))){n=n.parentNode;}
return(n!=this.domNode)?n:null;},findRowTarget:function(inSource){return this.findTarget(inSource,dojox.grid.rowIndexTag);},isIntraNodeEvent:function(e){try{return(e.cellNode&&e.relatedTarget&&dojo.isDescendant(e.relatedTarget,e.cellNode));}catch(x){return false;}},isIntraRowEvent:function(e){try{var row=e.relatedTarget&&this.findRowTarget(e.relatedTarget);return!row&&(e.rowIndex==-1)||row&&(e.rowIndex==row.gridRowIndex);}catch(x){return false;}},dispatchEvent:function(e){if(e.dispatch in this){return this[e.dispatch](e);}},domouseover:function(e){if(e.cellNode&&(e.cellNode!=this.lastOverCellNode)){this.lastOverCellNode=e.cellNode;this.grid.onMouseOver(e);}
this.grid.onMouseOverRow(e);},domouseout:function(e){if(e.cellNode&&(e.cellNode==this.lastOverCellNode)&&!this.isIntraNodeEvent(e,this.lastOverCellNode)){this.lastOverCellNode=null;this.grid.onMouseOut(e);if(!this.isIntraRowEvent(e)){this.grid.onMouseOutRow(e);}}},domousedown:function(e){if(e.cellNode)
this.grid.onMouseDown(e);this.grid.onMouseDownRow(e)}});dojo.declare("dojox.grid.contentBuilder",dojox.grid.Builder,{update:function(){this.prepareHtml();},prepareHtml:function(){var defaultGet=this.grid.get,rows=this.view.structure.rows;for(var j=0,row;(row=rows[j]);j++){for(var i=0,cell;(cell=row[i]);i++){cell.get=cell.get||(cell.value==undefined)&&defaultGet;cell.markup=this.generateCellMarkup(cell,cell.cellStyles,cell.cellClasses,false);}}},generateHtml:function(inDataIndex,inRowIndex){var
html=[this._table],v=this.view,obr=v.onBeforeRow,rows=v.structure.rows;obr&&obr(inRowIndex,rows);for(var j=0,row;(row=rows[j]);j++){if(row.hidden||row.header){continue;}
html.push(!row.invisible?'<tr>':'<tr class="dojoxGrid-invisible">');for(var i=0,cell,m,cc,cs;(cell=row[i]);i++){m=cell.markup,cc=cell.customClasses=[],cs=cell.customStyles=[];m[5]=cell.format(inDataIndex);m[1]=cc.join(' ');m[3]=cs.join(';');html.push.apply(html,m);}
html.push('</tr>');}
html.push('</table>');return html.join('');},decorateEvent:function(e){e.rowNode=this.findRowTarget(e.target);if(!e.rowNode){return false};e.rowIndex=e.rowNode[dojox.grid.rowIndexTag];this.baseDecorateEvent(e);e.cell=this.grid.getCell(e.cellIndex);return true;}});dojo.declare("dojox.grid.headerBuilder",dojox.grid.Builder,{bogusClickTime:0,overResizeWidth:4,minColWidth:1,_table:'<table class="dojoxGrid-row-table" border="0" cellspacing="0" cellpadding="0" role="wairole:presentation"',update:function(){this.tableMap=new dojox.grid.tableMap(this.view.structure.rows);},generateHtml:function(inGetValue,inValue){var html=[this._table],rows=this.view.structure.rows;if(this.view.viewWidth){html.push([' style="width:',this.view.viewWidth,';"'].join(''));}
html.push('>');dojox.grid.fire(this.view,"onBeforeRow",[-1,rows]);for(var j=0,row;(row=rows[j]);j++){if(row.hidden){continue;}
html.push(!row.invisible?'<tr>':'<tr class="dojoxGrid-invisible">');for(var i=0,cell,markup;(cell=row[i]);i++){cell.customClasses=[];cell.customStyles=[];markup=this.generateCellMarkup(cell,cell.headerStyles,cell.headerClasses,true);markup[5]=(inValue!=undefined?inValue:inGetValue(cell));markup[3]=cell.customStyles.join(';');markup[1]=cell.customClasses.join(' ');html.push(markup.join(''));}
html.push('</tr>');}
html.push('</table>');return html.join('');},getCellX:function(e){var x=e.layerX;if(dojo.isMoz){var n=dojox.grid.ascendDom(e.target,dojox.grid.makeNotTagName("th"));x-=(n&&n.offsetLeft)||0;var t=e.sourceView.getScrollbarWidth();if(!dojo._isBodyLtr()&&e.sourceView.headerNode.scrollLeft<t)
x-=t;}
var n=dojox.grid.ascendDom(e.target,function(){if(!n||n==e.cellNode){return false;}
x+=(n.offsetLeft<0?0:n.offsetLeft);return true;});return x;},decorateEvent:function(e){this.baseDecorateEvent(e);e.rowIndex=-1;e.cellX=this.getCellX(e);return true;},prepareResize:function(e,mod){var i=dojox.grid.getTdIndex(e.cellNode);e.cellNode=(i?e.cellNode.parentNode.cells[i+mod]:null);e.cellIndex=(e.cellNode?this.getCellNodeIndex(e.cellNode):-1);return Boolean(e.cellNode);},canResize:function(e){if(!e.cellNode||e.cellNode.colSpan>1){return false;}
var cell=this.grid.getCell(e.cellIndex);return!cell.noresize&&!cell.isFlex();},overLeftResizeArea:function(e){if(dojo._isBodyLtr()){return(e.cellIndex>0)&&(e.cellX<this.overResizeWidth)&&this.prepareResize(e,-1);}
return t=e.cellNode&&(e.cellX<this.overResizeWidth);},overRightResizeArea:function(e){if(dojo._isBodyLtr()){return e.cellNode&&(e.cellX>=e.cellNode.offsetWidth-this.overResizeWidth);}
return(e.cellIndex>0)&&(e.cellX>=e.cellNode.offsetWidth-this.overResizeWidth)&&this.prepareResize(e,-1);},domousemove:function(e){var c=(this.overRightResizeArea(e)?'e-resize':(this.overLeftResizeArea(e)?'w-resize':''));if(c&&!this.canResize(e)){c='not-allowed';}
e.sourceView.headerNode.style.cursor=c||'';if(c)
dojo.stopEvent(e);},domousedown:function(e){if(!dojox.grid.drag.dragging){if((this.overRightResizeArea(e)||this.overLeftResizeArea(e))&&this.canResize(e)){this.beginColumnResize(e);}else{this.grid.onMouseDown(e);this.grid.onMouseOverRow(e);}}},doclick:function(e){if(new Date().getTime()<this.bogusClickTime){dojo.stopEvent(e);return true;}},beginColumnResize:function(e){dojo.stopEvent(e);var spanners=[],nodes=this.tableMap.findOverlappingNodes(e.cellNode);for(var i=0,cell;(cell=nodes[i]);i++){spanners.push({node:cell,index:this.getCellNodeIndex(cell),width:cell.offsetWidth});}
var drag={scrollLeft:e.sourceView.headerNode.scrollLeft,view:e.sourceView,node:e.cellNode,index:e.cellIndex,w:e.cellNode.clientWidth,spanners:spanners};dojox.grid.drag.start(e.cellNode,dojo.hitch(this,'doResizeColumn',drag),dojo.hitch(this,'endResizeColumn',drag),e);},doResizeColumn:function(inDrag,inEvent){var isLtr=dojo._isBodyLtr();if(isLtr){var w=inDrag.w+inEvent.deltaX;}else{var w=inDrag.w-inEvent.deltaX;}
if(w>=this.minColWidth){for(var i=0,s,sw;(s=inDrag.spanners[i]);i++){if(isLtr){sw=s.width+inEvent.deltaX;}else{sw=s.width-inEvent.deltaX;}
s.node.style.width=sw+'px';inDrag.view.setColWidth(s.index,sw);}
inDrag.node.style.width=w+'px';inDrag.view.setColWidth(inDrag.index,w);if(!isLtr){inDrag.view.headerNode.scrollLeft=(inDrag.scrollLeft-inEvent.deltaX);}}
if(inDrag.view.flexCells&&!inDrag.view.testFlexCells()){var t=dojox.grid.findTable(inDrag.node);t&&(t.style.width='');}},endResizeColumn:function(inDrag){this.bogusClickTime=new Date().getTime()+30;setTimeout(dojo.hitch(inDrag.view,"update"),50);}});dojo.declare("dojox.grid.tableMap",null,{constructor:function(inRows){this.mapRows(inRows);},map:null,mapRows:function(inRows){var rowCount=inRows.length;if(!rowCount){return;}
this.map=[];for(var j=0,row;(row=inRows[j]);j++){this.map[j]=[];}
for(var j=0,row;(row=inRows[j]);j++){for(var i=0,x=0,cell,colSpan,rowSpan;(cell=row[i]);i++){while(this.map[j][x]){x++};this.map[j][x]={c:i,r:j};rowSpan=cell.rowSpan||1;colSpan=cell.colSpan||1;for(var y=0;y<rowSpan;y++){for(var s=0;s<colSpan;s++){this.map[j+y][x+s]=this.map[j][x];}}
x+=colSpan;}}},dumpMap:function(){for(var j=0,row,h='';(row=this.map[j]);j++,h=''){for(var i=0,cell;(cell=row[i]);i++){h+=cell.r+','+cell.c+'   ';}
console.log(h);}},getMapCoords:function(inRow,inCol){for(var j=0,row;(row=this.map[j]);j++){for(var i=0,cell;(cell=row[i]);i++){if(cell.c==inCol&&cell.r==inRow){return{j:j,i:i};}}}
return{j:-1,i:-1};},getNode:function(inTable,inRow,inCol){var row=inTable&&inTable.rows[inRow];return row&&row.cells[inCol];},_findOverlappingNodes:function(inTable,inRow,inCol){var nodes=[];var m=this.getMapCoords(inRow,inCol);var row=this.map[m.j];for(var j=0,row;(row=this.map[j]);j++){if(j==m.j){continue;}
var rw=row[m.i];var n=(rw?this.getNode(inTable,rw.r,rw.c):null);if(n){nodes.push(n);}}
return nodes;},findOverlappingNodes:function(inNode){return this._findOverlappingNodes(dojox.grid.findTable(inNode),dojox.grid.getTrIndex(inNode.parentNode),dojox.grid.getTdIndex(inNode));}});dojox.grid.rowIndexTag="gridRowIndex";dojox.grid.gridViewTag="gridView";}
if(!dojo._hasResource["dojox.grid._grid.view"]){dojo._hasResource["dojox.grid._grid.view"]=true;dojo.provide("dojox.grid._grid.view");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.require("dojox.grid._grid.builder");dojo.declare('dojox.GridView',[dijit._Widget,dijit._Templated],{defaultWidth:"18em",viewWidth:"",templateString:"<div class=\"dojoxGrid-view\">\n\t<div class=\"dojoxGrid-header\" dojoAttachPoint=\"headerNode\">\n\t\t<div dojoAttachPoint=\"headerNodeContainer\" style=\"width:9000em\">\n\t\t\t<div dojoAttachPoint=\"headerContentNode\"></div>\n\t\t</div>\n\t</div>\n\t<input type=\"checkbox\" class=\"dojoxGrid-hidden-focus\" dojoAttachPoint=\"hiddenFocusNode\" />\n\t<input type=\"checkbox\" class=\"dojoxGrid-hidden-focus\" />\n\t<div class=\"dojoxGrid-scrollbox\" dojoAttachPoint=\"scrollboxNode\">\n\t\t<div class=\"dojoxGrid-content\" dojoAttachPoint=\"contentNode\" hidefocus=\"hidefocus\"></div>\n\t</div>\n</div>\n",themeable:false,classTag:'dojoxGrid',marginBottom:0,rowPad:2,postMixInProperties:function(){this.rowNodes=[];},postCreate:function(){this.connect(this.scrollboxNode,"onscroll","doscroll");dojox.grid.funnelEvents(this.contentNode,this,"doContentEvent",['mouseover','mouseout','click','dblclick','contextmenu','mousedown']);dojox.grid.funnelEvents(this.headerNode,this,"doHeaderEvent",['dblclick','mouseover','mouseout','mousemove','mousedown','click','contextmenu']);this.content=new dojox.grid.contentBuilder(this);this.header=new dojox.grid.headerBuilder(this);if(!dojo._isBodyLtr()){this.headerNodeContainer.style.width="";}},destroy:function(){dojox.grid.removeNode(this.headerNode);this.inherited("destroy",arguments);},focus:function(){if(dojo.isSafari||dojo.isOpera){this.hiddenFocusNode.focus();}else{this.scrollboxNode.focus();}},setStructure:function(inStructure){var vs=this.structure=inStructure;if(vs.width&&!isNaN(vs.width)){this.viewWidth=vs.width+'em';}else{this.viewWidth=vs.width||this.viewWidth;}
this.onBeforeRow=vs.onBeforeRow;this.noscroll=vs.noscroll;if(this.noscroll){this.scrollboxNode.style.overflow="hidden";}
this.testFlexCells();this.updateStructure();},testFlexCells:function(){this.flexCells=false;for(var j=0,row;(row=this.structure.rows[j]);j++){for(var i=0,cell;(cell=row[i]);i++){cell.view=this;this.flexCells=this.flexCells||cell.isFlex();}}
return this.flexCells;},updateStructure:function(){this.header.update();this.content.update();},getScrollbarWidth:function(){return(this.noscroll?0:dojox.grid.getScrollbarWidth());},getColumnsWidth:function(){return this.headerContentNode.firstChild.offsetWidth;},getWidth:function(){return this.viewWidth||(this.getColumnsWidth()+this.getScrollbarWidth())+'px';},getContentWidth:function(){return Math.max(0,dojo._getContentBox(this.domNode).w-this.getScrollbarWidth())+'px';},render:function(){this.scrollboxNode.style.height='';this.renderHeader();},renderHeader:function(){this.headerContentNode.innerHTML=this.header.generateHtml(this._getHeaderContent);},_getHeaderContent:function(inCell){var n=inCell.name||inCell.grid.getCellName(inCell);if(inCell.index!=inCell.grid.getSortIndex()){return n;}
return['<div class="',inCell.grid.sortInfo>0?'dojoxGrid-sort-down':'dojoxGrid-sort-up','"><div class="gridArrowButtonChar">',inCell.grid.sortInfo>0?'&#9660;':'&#9650;','</div>',n,'</div>'].join('');},resize:function(){this.adaptHeight();this.adaptWidth();},hasScrollbar:function(){return(this.scrollboxNode.clientHeight!=this.scrollboxNode.offsetHeight);},adaptHeight:function(){if(!this.grid.autoHeight){var h=this.domNode.clientHeight;if(!this.hasScrollbar()){h-=dojox.grid.getScrollbarWidth();}
dojox.grid.setStyleHeightPx(this.scrollboxNode,h);}},adaptWidth:function(){if(this.flexCells){this.contentWidth=this.getContentWidth();this.headerContentNode.firstChild.style.width=this.contentWidth;}
var w=this.scrollboxNode.offsetWidth-this.getScrollbarWidth();w=Math.max(w,this.getColumnsWidth())+'px';with(this.contentNode){style.width='';offsetWidth;style.width=w;}},setSize:function(w,h){with(this.domNode.style){if(w){width=w;}
height=(h>=0?h+'px':'');}
with(this.headerNode.style){if(w){width=w;}}},renderRow:function(inRowIndex,inHeightPx){var rowNode=this.createRowNode(inRowIndex);this.buildRow(inRowIndex,rowNode,inHeightPx);this.grid.edit.restore(this,inRowIndex);return rowNode;},createRowNode:function(inRowIndex){var node=document.createElement("div");node.className=this.classTag+'-row';node[dojox.grid.gridViewTag]=this.id;node[dojox.grid.rowIndexTag]=inRowIndex;this.rowNodes[inRowIndex]=node;return node;},buildRow:function(inRowIndex,inRowNode){this.buildRowContent(inRowIndex,inRowNode);this.styleRow(inRowIndex,inRowNode);},buildRowContent:function(inRowIndex,inRowNode){inRowNode.innerHTML=this.content.generateHtml(inRowIndex,inRowIndex);if(this.flexCells){inRowNode.firstChild.style.width=this.contentWidth;}},rowRemoved:function(inRowIndex){this.grid.edit.save(this,inRowIndex);delete this.rowNodes[inRowIndex];},getRowNode:function(inRowIndex){return this.rowNodes[inRowIndex];},getCellNode:function(inRowIndex,inCellIndex){var row=this.getRowNode(inRowIndex);if(row){return this.content.getCellNode(row,inCellIndex);}},styleRow:function(inRowIndex,inRowNode){inRowNode._style=dojox.grid.getStyleText(inRowNode);this.styleRowNode(inRowIndex,inRowNode);},styleRowNode:function(inRowIndex,inRowNode){if(inRowNode){this.doStyleRowNode(inRowIndex,inRowNode);}},doStyleRowNode:function(inRowIndex,inRowNode){this.grid.styleRowNode(inRowIndex,inRowNode);},updateRow:function(inRowIndex,inHeightPx,inPageNode){var rowNode=this.getRowNode(inRowIndex);if(rowNode){rowNode.style.height='';this.buildRow(inRowIndex,rowNode);}
return rowNode;},updateRowStyles:function(inRowIndex){this.styleRowNode(inRowIndex,this.getRowNode(inRowIndex));},lastTop:0,firstScroll:0,doscroll:function(inEvent){var isLtr=dojo._isBodyLtr();if(this.firstScroll<2){if((!isLtr&&this.firstScroll==1)||(isLtr&&this.firstScroll==0)){var s=dojo.marginBox(this.headerNodeContainer);if(dojo.isIE){this.headerNodeContainer.style.width=s.w+this.getScrollbarWidth()+'px';}else if(dojo.isMoz){this.headerNodeContainer.style.width=s.w-this.getScrollbarWidth()+'px';if(isLtr){this.scrollboxNode.scrollLeft=this.scrollboxNode.scrollWidth-this.scrollboxNode.clientWidth;}else{this.scrollboxNode.scrollLeft=this.scrollboxNode.clientWidth-this.scrollboxNode.scrollWidth;}}}
this.firstScroll++;}
this.headerNode.scrollLeft=this.scrollboxNode.scrollLeft;var top=this.scrollboxNode.scrollTop;if(top!=this.lastTop){this.grid.scrollTo(top);}},setScrollTop:function(inTop){this.lastTop=inTop;this.scrollboxNode.scrollTop=inTop;return this.scrollboxNode.scrollTop;},doContentEvent:function(e){if(this.content.decorateEvent(e)){this.grid.onContentEvent(e);}},doHeaderEvent:function(e){if(this.header.decorateEvent(e)){this.grid.onHeaderEvent(e);}},dispatchContentEvent:function(e){return this.content.dispatchEvent(e);},dispatchHeaderEvent:function(e){return this.header.dispatchEvent(e);},setColWidth:function(inIndex,inWidth){this.grid.setCellWidth(inIndex,inWidth+'px');},update:function(){var left=this.scrollboxNode.scrollLeft;this.content.update();this.grid.update();this.scrollboxNode.scrollLeft=left;this.headerNode.scrollLeft=left;}});}
if(!dojo._hasResource["dojox.grid._grid.views"]){dojo._hasResource["dojox.grid._grid.views"]=true;dojo.provide("dojox.grid._grid.views");dojo.declare('dojox.grid.views',null,{constructor:function(inGrid){this.grid=inGrid;},defaultWidth:200,views:[],resize:function(){this.onEach("resize");},render:function(){this.onEach("render");},addView:function(inView){inView.idx=this.views.length;this.views.push(inView);},destroyViews:function(){for(var i=0,v;v=this.views[i];i++)
v.destroy();this.views=[];},getContentNodes:function(){var nodes=[];for(var i=0,v;v=this.views[i];i++){nodes.push(v.contentNode);}
return nodes;},forEach:function(inCallback){for(var i=0,v;v=this.views[i];i++){inCallback(v,i);}},onEach:function(inMethod,inArgs){inArgs=inArgs||[];for(var i=0,v;v=this.views[i];i++){if(inMethod in v){v[inMethod].apply(v,inArgs);}}},normalizeHeaderNodeHeight:function(){var rowNodes=[];for(var i=0,v;(v=this.views[i]);i++){if(v.headerContentNode.firstChild){rowNodes.push(v.headerContentNode)};}
this.normalizeRowNodeHeights(rowNodes);},normalizeRowNodeHeights:function(inRowNodes){var h=0;for(var i=0,n,o;(n=inRowNodes[i]);i++){h=Math.max(h,(n.firstChild.clientHeight)||(n.firstChild.offsetHeight));}
h=(h>=0?h:0);var hpx=h+'px';for(var i=0,n;(n=inRowNodes[i]);i++){if(n.firstChild.clientHeight!=h){n.firstChild.style.height=hpx;}}
if(inRowNodes&&inRowNodes[0]){inRowNodes[0].parentNode.offsetHeight;}},resetHeaderNodeHeight:function(){for(var i=0,v,n;(v=this.views[i]);i++){n=v.headerContentNode.firstChild;if(n)
n.style.height="";}},renormalizeRow:function(inRowIndex){var rowNodes=[];for(var i=0,v,n;(v=this.views[i])&&(n=v.getRowNode(inRowIndex));i++){n.firstChild.style.height='';rowNodes.push(n);}
this.normalizeRowNodeHeights(rowNodes);},getViewWidth:function(inIndex){return this.views[inIndex].getWidth()||this.defaultWidth;},measureHeader:function(){this.resetHeaderNodeHeight();this.forEach(function(inView){inView.headerContentNode.style.height='';});var h=0;this.forEach(function(inView){h=Math.max(inView.headerNode.offsetHeight,h);});return h;},measureContent:function(){var h=0;this.forEach(function(inView){h=Math.max(inView.domNode.offsetHeight,h);});return h;},findClient:function(inAutoWidth){var c=this.grid.elasticView||-1;if(c<0){for(var i=1,v;(v=this.views[i]);i++){if(v.viewWidth){for(i=1;(v=this.views[i]);i++){if(!v.viewWidth){c=i;break;}}
break;}}}
if(c<0){c=Math.floor(this.views.length/2);}
return c;},arrange:function(l,w){var i,v,vw,len=this.views.length;var c=(w<=0?len:this.findClient());var setPosition=function(v,l){with(v.domNode.style){if(!dojo._isBodyLtr()){right=l+'px';}else{left=l+'px';}
top=0+'px';}
with(v.headerNode.style){if(!dojo._isBodyLtr()){right=l+'px';}else{left=l+'px';}
top=0;}}
for(i=0;(v=this.views[i])&&(i<c);i++){vw=this.getViewWidth(i);v.setSize(vw,0);setPosition(v,l);vw=v.domNode.offsetWidth;l+=vw;}
i++;var r=w;for(var j=len-1;(v=this.views[j])&&(i<=j);j--){vw=this.getViewWidth(j);v.setSize(vw,0);vw=v.domNode.offsetWidth;r-=vw;setPosition(v,r);}
if(c<len){v=this.views[c];vw=Math.max(1,r-l);v.setSize(vw+'px',0);setPosition(v,l);}
return l;},renderRow:function(inRowIndex,inNodes){var rowNodes=[];for(var i=0,v,n,rowNode;(v=this.views[i])&&(n=inNodes[i]);i++){rowNode=v.renderRow(inRowIndex);n.appendChild(rowNode);rowNodes.push(rowNode);}
this.normalizeRowNodeHeights(rowNodes);},rowRemoved:function(inRowIndex){this.onEach("rowRemoved",[inRowIndex]);},updateRow:function(inRowIndex,inHeight){for(var i=0,v;v=this.views[i];i++){v.updateRow(inRowIndex,inHeight);}
this.renormalizeRow(inRowIndex);},updateRowStyles:function(inRowIndex){this.onEach("updateRowStyles",[inRowIndex]);},setScrollTop:function(inTop){var top=inTop;for(var i=0,v;v=this.views[i];i++){top=v.setScrollTop(inTop);}
return top;},getFirstScrollingView:function(){for(var i=0,v;(v=this.views[i]);i++){if(v.hasScrollbar()){return v;}}}});}
if(!dojo._hasResource["dojox.grid._grid.cell"]){dojo._hasResource["dojox.grid._grid.cell"]=true;dojo.provide("dojox.grid._grid.cell");dojo.declare("dojox.grid.cell",null,{styles:'',constructor:function(inProps){dojo.mixin(this,inProps);if(this.editor){this.editor=new this.editor(this);}},format:function(inRowIndex){var f,i=this.grid.edit.info,d=this.get?this.get(inRowIndex):this.value;if(this.editor&&(this.editor.alwaysOn||(i.rowIndex==inRowIndex&&i.cell==this))){return this.editor.format(d,inRowIndex);}else{return(f=this.formatter)?f.call(this,d,inRowIndex):d;}},getNode:function(inRowIndex){return this.view.getCellNode(inRowIndex,this.index);},isFlex:function(){var uw=this.unitWidth;return uw&&(uw=='auto'||uw.slice(-1)=='%');},applyEdit:function(inValue,inRowIndex){this.grid.edit.applyCellEdit(inValue,this,inRowIndex);},cancelEdit:function(inRowIndex){this.grid.doCancelEdit(inRowIndex);},_onEditBlur:function(inRowIndex){if(this.grid.edit.isEditCell(inRowIndex,this.index)){this.grid.edit.apply();}},registerOnBlur:function(inNode,inRowIndex){if(this.commitOnBlur){dojo.connect(inNode,"onblur",function(e){setTimeout(dojo.hitch(this,"_onEditBlur",inRowIndex),250);});}}});}
if(!dojo._hasResource["dojox.grid._grid.layout"]){dojo._hasResource["dojox.grid._grid.layout"]=true;dojo.provide("dojox.grid._grid.layout");dojo.require("dojox.grid._grid.cell");dojo.declare("dojox.grid.layout",null,{constructor:function(inGrid){this.grid=inGrid;},cells:[],structure:null,defaultWidth:'6em',setStructure:function(inStructure){this.fieldIndex=0;this.cells=[];var s=this.structure=[];for(var i=0,viewDef,rows;(viewDef=inStructure[i]);i++){s.push(this.addViewDef(viewDef));}
this.cellCount=this.cells.length;},addViewDef:function(inDef){this._defaultCellProps=inDef.defaultCell||{};return dojo.mixin({},inDef,{rows:this.addRowsDef(inDef.rows||inDef.cells)});},addRowsDef:function(inDef){var result=[];for(var i=0,row;inDef&&(row=inDef[i]);i++){result.push(this.addRowDef(i,row));}
return result;},addRowDef:function(inRowIndex,inDef){var result=[];for(var i=0,def,cell;(def=inDef[i]);i++){cell=this.addCellDef(inRowIndex,i,def);result.push(cell);this.cells.push(cell);}
return result;},addCellDef:function(inRowIndex,inCellIndex,inDef){var w=0;if(inDef.colSpan>1){w=0;}else if(!isNaN(inDef.width)){w=inDef.width+"em";}else{w=inDef.width||this.defaultWidth;}
var fieldIndex=inDef.field!=undefined?inDef.field:(inDef.get?-1:this.fieldIndex);if((inDef.field!=undefined)||!inDef.get){this.fieldIndex=(inDef.field>-1?inDef.field:this.fieldIndex)+1;}
return new dojox.grid.cell(dojo.mixin({},this._defaultCellProps,inDef,{grid:this.grid,subrow:inRowIndex,layoutIndex:inCellIndex,index:this.cells.length,fieldIndex:fieldIndex,unitWidth:w}));}});}
if(!dojo._hasResource["dojox.grid._grid.rows"]){dojo._hasResource["dojox.grid._grid.rows"]=true;dojo.provide("dojox.grid._grid.rows");dojo.declare("dojox.grid.rows",null,{constructor:function(inGrid){this.grid=inGrid;},linesToEms:2,defaultRowHeight:1,overRow:-2,getHeight:function(inRowIndex){return'';},getDefaultHeightPx:function(){return 32;},prepareStylingRow:function(inRowIndex,inRowNode){return{index:inRowIndex,node:inRowNode,odd:Boolean(inRowIndex&1),selected:this.grid.selection.isSelected(inRowIndex),over:this.isOver(inRowIndex),customStyles:"",customClasses:"dojoxGrid-row"}},styleRowNode:function(inRowIndex,inRowNode){var row=this.prepareStylingRow(inRowIndex,inRowNode);this.grid.onStyleRow(row);this.applyStyles(row);},applyStyles:function(inRow){with(inRow){node.className=customClasses;var h=node.style.height;dojox.grid.setStyleText(node,customStyles+';'+(node._style||''));node.style.height=h;}},updateStyles:function(inRowIndex){this.grid.updateRowStyles(inRowIndex);},setOverRow:function(inRowIndex){var last=this.overRow;this.overRow=inRowIndex;if((last!=this.overRow)&&(last>=0)){this.updateStyles(last);}
this.updateStyles(this.overRow);},isOver:function(inRowIndex){return(this.overRow==inRowIndex);}});}
if(!dojo._hasResource["dojox.grid._grid.focus"]){dojo._hasResource["dojox.grid._grid.focus"]=true;dojo.provide("dojox.grid._grid.focus");dojo.declare("dojox.grid.focus",null,{constructor:function(inGrid){this.grid=inGrid;this.cell=null;this.rowIndex=-1;dojo.connect(this.grid.domNode,"onfocus",this,"doFocus");},tabbingOut:false,focusClass:"dojoxGrid-cell-focus",focusView:null,initFocusView:function(){this.focusView=this.grid.views.getFirstScrollingView();},isFocusCell:function(inCell,inRowIndex){return(this.cell==inCell)&&(this.rowIndex==inRowIndex);},isLastFocusCell:function(){return(this.rowIndex==this.grid.rowCount-1)&&(this.cell.index==this.grid.layout.cellCount-1);},isFirstFocusCell:function(){return(this.rowIndex==0)&&(this.cell.index==0);},isNoFocusCell:function(){return(this.rowIndex<0)||!this.cell;},_focusifyCellNode:function(inBork){var n=this.cell&&this.cell.getNode(this.rowIndex);if(n){dojo.toggleClass(n,this.focusClass,inBork);if(inBork){this.scrollIntoView();try{if(!this.grid.edit.isEditing())
dojox.grid.fire(n,"focus");}catch(e){}}}},scrollIntoView:function(){if(!this.cell){return;}
var
c=this.cell,s=c.view.scrollboxNode,sr={w:s.clientWidth,l:s.scrollLeft,t:s.scrollTop,h:s.clientHeight},n=c.getNode(this.rowIndex),r=c.view.getRowNode(this.rowIndex),rt=this.grid.scroller.findScrollTop(this.rowIndex);if(n.offsetLeft+n.offsetWidth>sr.l+sr.w){s.scrollLeft=n.offsetLeft+n.offsetWidth-sr.w;}else if(n.offsetLeft<sr.l){s.scrollLeft=n.offsetLeft;}
if(rt+r.offsetHeight>sr.t+sr.h){this.grid.setScrollTop(rt+r.offsetHeight-sr.h);}else if(rt<sr.t){this.grid.setScrollTop(rt);}},styleRow:function(inRow){return;},setFocusIndex:function(inRowIndex,inCellIndex){this.setFocusCell(this.grid.getCell(inCellIndex),inRowIndex);},setFocusCell:function(inCell,inRowIndex){if(inCell&&!this.isFocusCell(inCell,inRowIndex)){this.tabbingOut=false;this.focusGridView();this._focusifyCellNode(false);this.cell=inCell;this.rowIndex=inRowIndex;this._focusifyCellNode(true);}
if(dojo.isOpera){setTimeout(dojo.hitch(this.grid,'onCellFocus',this.cell,this.rowIndex),1);}else{this.grid.onCellFocus(this.cell,this.rowIndex);}},next:function(){var row=this.rowIndex,col=this.cell.index+1,cc=this.grid.layout.cellCount-1,rc=this.grid.rowCount-1;if(col>cc){col=0;row++;}
if(row>rc){col=cc;row=rc;}
this.setFocusIndex(row,col);},previous:function(){var row=(this.rowIndex||0),col=(this.cell.index||0)-1;if(col<0){col=this.grid.layout.cellCount-1;row--;}
if(row<0){row=0;col=0;}
this.setFocusIndex(row,col);},move:function(inRowDelta,inColDelta){var
rc=this.grid.rowCount-1,cc=this.grid.layout.cellCount-1,r=this.rowIndex,i=this.cell.index,row=Math.min(rc,Math.max(0,r+inRowDelta)),col=Math.min(cc,Math.max(0,i+inColDelta));this.setFocusIndex(row,col);if(inRowDelta){this.grid.updateRow(r);}},previousKey:function(e){if(this.isFirstFocusCell()){this.tabOut(this.grid.domNode);}else{dojo.stopEvent(e);this.previous();}},nextKey:function(e){if(this.isLastFocusCell()){this.tabOut(this.grid.lastFocusNode);}else{dojo.stopEvent(e);this.next();}},tabOut:function(inFocusNode){this.tabbingOut=true;inFocusNode.focus();},focusGridView:function(){dojox.grid.fire(this.focusView,"focus");},focusGrid:function(inSkipFocusCell){this.focusGridView();this._focusifyCellNode(true);},doFocus:function(e){if(e&&e.target!=e.currentTarget){return;}
if(!this.tabbingOut&&this.isNoFocusCell()){this.setFocusIndex(0,0);}
this.tabbingOut=false;}});}
if(!dojo._hasResource['dojox.grid._grid.selection']){dojo._hasResource['dojox.grid._grid.selection']=true;dojo.provide('dojox.grid._grid.selection');dojo.declare("dojox.grid.selection",null,{constructor:function(inGrid){this.grid=inGrid;this.selected=[];},multiSelect:true,selected:null,updating:0,selectedIndex:-1,onCanSelect:function(inIndex){return this.grid.onCanSelect(inIndex);},onCanDeselect:function(inIndex){return this.grid.onCanDeselect(inIndex);},onSelected:function(inIndex){return this.grid.onSelected(inIndex);},onDeselected:function(inIndex){return this.grid.onDeselected(inIndex);},onChanging:function(){},onChanged:function(){return this.grid.onSelectionChanged();},isSelected:function(inIndex){return this.selected[inIndex];},getFirstSelected:function(){for(var i=0,l=this.selected.length;i<l;i++){if(this.selected[i]){return i;}}
return-1;},getNextSelected:function(inPrev){for(var i=inPrev+1,l=this.selected.length;i<l;i++){if(this.selected[i]){return i;}}
return-1;},getSelected:function(){var result=[];for(var i=0,l=this.selected.length;i<l;i++){if(this.selected[i]){result.push(i);}}
return result;},getSelectedCount:function(){var c=0;for(var i=0;i<this.selected.length;i++){if(this.selected[i]){c++;}}
return c;},beginUpdate:function(){if(this.updating==0){this.onChanging();}
this.updating++;},endUpdate:function(){this.updating--;if(this.updating==0){this.onChanged();}},select:function(inIndex){this.unselectAll(inIndex);this.addToSelection(inIndex);},addToSelection:function(inIndex){inIndex=Number(inIndex);if(this.selected[inIndex]){this.selectedIndex=inIndex;}else{if(this.onCanSelect(inIndex)!==false){this.selectedIndex=inIndex;this.beginUpdate();this.selected[inIndex]=true;this.grid.onSelected(inIndex);this.endUpdate();}}},deselect:function(inIndex){inIndex=Number(inIndex);if(this.selectedIndex==inIndex){this.selectedIndex=-1;}
if(this.selected[inIndex]){if(this.onCanDeselect(inIndex)===false){return;}
this.beginUpdate();delete this.selected[inIndex];this.grid.onDeselected(inIndex);this.endUpdate();}},setSelected:function(inIndex,inSelect){this[(inSelect?'addToSelection':'deselect')](inIndex);},toggleSelect:function(inIndex){this.setSelected(inIndex,!this.selected[inIndex])},insert:function(inIndex){this.selected.splice(inIndex,0,false);if(this.selectedIndex>=inIndex){this.selectedIndex++;}},remove:function(inIndex){this.selected.splice(inIndex,1);if(this.selectedIndex>=inIndex){this.selectedIndex--;}},unselectAll:function(inExcept){for(var i in this.selected){if((i!=inExcept)&&(this.selected[i]===true)){this.deselect(i);}}},shiftSelect:function(inFrom,inTo){var s=(inFrom>=0?inFrom:inTo),e=inTo;if(s>e){e=s;s=inTo;}
for(var i=s;i<=e;i++){this.addToSelection(i);}},clickSelect:function(inIndex,inCtrlKey,inShiftKey){this.beginUpdate();if(!this.multiSelect){this.select(inIndex);}else{var lastSelected=this.selectedIndex;if(!inCtrlKey){this.unselectAll(inIndex);}
if(inShiftKey){this.shiftSelect(lastSelected,inIndex);}else if(inCtrlKey){this.toggleSelect(inIndex);}else{this.addToSelection(inIndex)}}
this.endUpdate();},clickSelectEvent:function(e){this.clickSelect(e.rowIndex,e.ctrlKey,e.shiftKey);},clear:function(){this.beginUpdate();this.unselectAll();this.endUpdate();}});}
if(!dojo._hasResource["dojox.grid._grid.edit"]){dojo._hasResource["dojox.grid._grid.edit"]=true;dojo.provide("dojox.grid._grid.edit");dojo.declare("dojox.grid.edit",null,{constructor:function(inGrid){this.grid=inGrid;this.connections=[];if(dojo.isIE){this.connections.push(dojo.connect(document.body,"onfocus",dojo.hitch(this,"_boomerangFocus")));}},info:{},destroy:function(){dojo.forEach(this.connections,dojo.disconnect);},cellFocus:function(inCell,inRowIndex){if(this.grid.singleClickEdit||this.isEditRow(inRowIndex)){this.setEditCell(inCell,inRowIndex);}else{this.apply();}
if(this.isEditing()||(inCell&&(inCell.editor||0).alwaysOn)){this._focusEditor(inCell,inRowIndex);}},rowClick:function(e){if(this.isEditing()&&!this.isEditRow(e.rowIndex)){this.apply();}},styleRow:function(inRow){if(inRow.index==this.info.rowIndex){inRow.customClasses+=' dojoxGrid-row-editing';}},dispatchEvent:function(e){var c=e.cell,ed=c&&c.editor;return ed&&ed.dispatchEvent(e.dispatch,e);},isEditing:function(){return this.info.rowIndex!==undefined;},isEditCell:function(inRowIndex,inCellIndex){return(this.info.rowIndex===inRowIndex)&&(this.info.cell.index==inCellIndex);},isEditRow:function(inRowIndex){return this.info.rowIndex===inRowIndex;},setEditCell:function(inCell,inRowIndex){if(!this.isEditCell(inRowIndex,inCell.index)&&this.grid.canEdit(inCell,inRowIndex)){this.start(inCell,inRowIndex,this.isEditRow(inRowIndex)||inCell.editor);}},_focusEditor:function(inCell,inRowIndex){dojox.grid.fire(inCell.editor,"focus",[inRowIndex]);},focusEditor:function(){if(this.isEditing()){this._focusEditor(this.info.cell,this.info.rowIndex);}},_boomerangWindow:500,_shouldCatchBoomerang:function(){return this._catchBoomerang>new Date().getTime();},_boomerangFocus:function(){if(this._shouldCatchBoomerang()){this.grid.focus.focusGrid();this.focusEditor();this._catchBoomerang=0;}},_doCatchBoomerang:function(){if(dojo.isIE){this._catchBoomerang=new Date().getTime()+this._boomerangWindow;}},start:function(inCell,inRowIndex,inEditing){this.grid.beginUpdate();this.editorApply();if(this.isEditing()&&!this.isEditRow(inRowIndex)){this.applyRowEdit();this.grid.updateRow(inRowIndex);}
if(inEditing){this.info={cell:inCell,rowIndex:inRowIndex};this.grid.doStartEdit(inCell,inRowIndex);this.grid.updateRow(inRowIndex);}else{this.info={};}
this.grid.endUpdate();this.grid.focus.focusGrid();this._focusEditor(inCell,inRowIndex);this._doCatchBoomerang();},_editorDo:function(inMethod){var c=this.info.cell
c&&c.editor&&c.editor[inMethod](this.info.rowIndex);},editorApply:function(){this._editorDo("apply");},editorCancel:function(){this._editorDo("cancel");},applyCellEdit:function(inValue,inCell,inRowIndex){if(this.grid.canEdit(inCell,inRowIndex)){this.grid.doApplyCellEdit(inValue,inRowIndex,inCell.fieldIndex);}},applyRowEdit:function(){this.grid.doApplyEdit(this.info.rowIndex);},apply:function(){if(this.isEditing()){this.grid.beginUpdate();this.editorApply();this.applyRowEdit();this.info={};this.grid.endUpdate();this.grid.focus.focusGrid();this._doCatchBoomerang();}},cancel:function(){if(this.isEditing()){this.grid.beginUpdate();this.editorCancel();this.info={};this.grid.endUpdate();this.grid.focus.focusGrid();this._doCatchBoomerang();}},save:function(inRowIndex,inView){var c=this.info.cell;if(this.isEditRow(inRowIndex)&&(!inView||c.view==inView)&&c.editor){c.editor.save(c,this.info.rowIndex);}},restore:function(inView,inRowIndex){var c=this.info.cell;if(this.isEditRow(inRowIndex)&&c.view==inView&&c.editor){c.editor.restore(c,this.info.rowIndex);}}});}
if(!dojo._hasResource["dojox.grid._grid.rowbar"]){dojo._hasResource["dojox.grid._grid.rowbar"]=true;dojo.provide("dojox.grid._grid.rowbar");dojo.require("dojox.grid._grid.view");dojo.declare('dojox.GridRowView',dojox.GridView,{defaultWidth:"3em",noscroll:true,padBorderWidth:2,buildRendering:function(){this.inherited('buildRendering',arguments);this.scrollboxNode.style.overflow="hidden";this.headerNode.style.visibility="hidden";},getWidth:function(){return this.viewWidth||this.defaultWidth;},buildRowContent:function(inRowIndex,inRowNode){var w=this.contentNode.offsetWidth-this.padBorderWidth
inRowNode.innerHTML='<table style="width:'+w+'px;" role="wairole:presentation"><tr><td class="dojoxGrid-rowbar-inner"></td></tr></table>';},renderHeader:function(){},resize:function(){this.adaptHeight();},adaptWidth:function(){},doStyleRowNode:function(inRowIndex,inRowNode){var n=["dojoxGrid-rowbar"];if(this.grid.rows.isOver(inRowIndex)){n.push("dojoxGrid-rowbar-over");}
if(this.grid.selection.isSelected(inRowIndex)){n.push("dojoxGrid-rowbar-selected");}
inRowNode.className=n.join(" ");},domouseover:function(e){this.grid.onMouseOverRow(e);},domouseout:function(e){if(!this.isIntraRowEvent(e)){this.grid.onMouseOutRow(e);}}});}
if(!dojo._hasResource["dojox.grid._grid.publicEvents"]){dojo._hasResource["dojox.grid._grid.publicEvents"]=true;dojo.provide("dojox.grid._grid.publicEvents");dojox.grid.publicEvents={cellOverClass:"dojoxGrid-cell-over",onKeyEvent:function(e){this.dispatchKeyEvent(e);},onContentEvent:function(e){this.dispatchContentEvent(e);},onHeaderEvent:function(e){this.dispatchHeaderEvent(e);},onStyleRow:function(inRow){with(inRow){customClasses+=(odd?" dojoxGrid-row-odd":"")+(selected?" dojoxGrid-row-selected":"")+(over?" dojoxGrid-row-over":"");}
this.focus.styleRow(inRow);this.edit.styleRow(inRow);},onKeyDown:function(e){if(e.altKey||e.ctrlKey||e.metaKey){return;}
var dk=dojo.keys;switch(e.keyCode){case dk.ESCAPE:this.edit.cancel();break;case dk.ENTER:if(!e.shiftKey){var isEditing=this.edit.isEditing();this.edit.apply();if(!isEditing){this.edit.setEditCell(this.focus.cell,this.focus.rowIndex);}}
break;case dk.TAB:this.focus[e.shiftKey?'previousKey':'nextKey'](e);break;case dk.LEFT_ARROW:case dk.RIGHT_ARROW:if(!this.edit.isEditing()){dojo.stopEvent(e);var offset=(e.keyCode==dk.LEFT_ARROW)?1:-1;if(dojo._isBodyLtr()){offset*=-1;}
this.focus.move(0,offset);}
break;case dk.UP_ARROW:if(!this.edit.isEditing()&&this.focus.rowIndex!=0){dojo.stopEvent(e);this.focus.move(-1,0);}
break;case dk.DOWN_ARROW:if(!this.edit.isEditing()&&this.focus.rowIndex+1!=this.model.count){dojo.stopEvent(e);this.focus.move(1,0);}
break;case dk.PAGE_UP:if(!this.edit.isEditing()&&this.focus.rowIndex!=0){dojo.stopEvent(e);if(this.focus.rowIndex!=this.scroller.firstVisibleRow+1){this.focus.move(this.scroller.firstVisibleRow-this.focus.rowIndex,0);}else{this.setScrollTop(this.scroller.findScrollTop(this.focus.rowIndex-1));this.focus.move(this.scroller.firstVisibleRow-this.scroller.lastVisibleRow+1,0);}}
break;case dk.PAGE_DOWN:if(!this.edit.isEditing()&&this.focus.rowIndex+1!=this.model.count){dojo.stopEvent(e);if(this.focus.rowIndex!=this.scroller.lastVisibleRow-1){this.focus.move(this.scroller.lastVisibleRow-this.focus.rowIndex-1,0);}else{this.setScrollTop(this.scroller.findScrollTop(this.focus.rowIndex+1));this.focus.move(this.scroller.lastVisibleRow-this.scroller.firstVisibleRow-1,0);}}
break;}},onMouseOver:function(e){e.rowIndex==-1?this.onHeaderCellMouseOver(e):this.onCellMouseOver(e);},onMouseOut:function(e){e.rowIndex==-1?this.onHeaderCellMouseOut(e):this.onCellMouseOut(e);},onMouseDown:function(e){e.rowIndex==-1?this.onHeaderCellMouseDown(e):this.onCellMouseDown(e);},onMouseOverRow:function(e){if(!this.rows.isOver(e.rowIndex)){this.rows.setOverRow(e.rowIndex);e.rowIndex==-1?this.onHeaderMouseOver(e):this.onRowMouseOver(e);}},onMouseOutRow:function(e){if(this.rows.isOver(-1)){this.onHeaderMouseOut(e);}else if(!this.rows.isOver(-2)){this.rows.setOverRow(-2);this.onRowMouseOut(e);}},onMouseDownRow:function(e){if(e.rowIndex!=-1)
this.onRowMouseDown(e);},onCellMouseOver:function(e){dojo.addClass(e.cellNode,this.cellOverClass);},onCellMouseOut:function(e){dojo.removeClass(e.cellNode,this.cellOverClass);},onCellMouseDown:function(e){},onCellClick:function(e){this._click[0]=this._click[1];this._click[1]=e;if(!this.edit.isEditCell(e.rowIndex,e.cellIndex)){this.focus.setFocusCell(e.cell,e.rowIndex);}
this.onRowClick(e);},onCellDblClick:function(e){if(dojo.isIE){this.edit.setEditCell(this._click[1].cell,this._click[1].rowIndex);}else if(this._click[0].rowIndex!=this._click[1].rowIndex){this.edit.setEditCell(this._click[0].cell,this._click[0].rowIndex);}else{this.edit.setEditCell(e.cell,e.rowIndex);}
this.onRowDblClick(e);},onCellContextMenu:function(e){this.onRowContextMenu(e);},onCellFocus:function(inCell,inRowIndex){this.edit.cellFocus(inCell,inRowIndex);},onRowClick:function(e){this.edit.rowClick(e);this.selection.clickSelectEvent(e);},onRowDblClick:function(e){},onRowMouseOver:function(e){},onRowMouseOut:function(e){},onRowMouseDown:function(e){},onRowContextMenu:function(e){dojo.stopEvent(e);},onHeaderMouseOver:function(e){},onHeaderMouseOut:function(e){},onHeaderCellMouseOver:function(e){dojo.addClass(e.cellNode,this.cellOverClass);},onHeaderCellMouseOut:function(e){dojo.removeClass(e.cellNode,this.cellOverClass);},onHeaderCellMouseDown:function(e){},onHeaderClick:function(e){},onHeaderCellClick:function(e){this.setSortIndex(e.cell.index);this.onHeaderClick(e);},onHeaderDblClick:function(e){},onHeaderCellDblClick:function(e){this.onHeaderDblClick(e);},onHeaderCellContextMenu:function(e){this.onHeaderContextMenu(e);},onHeaderContextMenu:function(e){dojo.stopEvent(e);},onStartEdit:function(inCell,inRowIndex){},onApplyCellEdit:function(inValue,inRowIndex,inFieldIndex){},onCancelEdit:function(inRowIndex){},onApplyEdit:function(inRowIndex){},onCanSelect:function(inRowIndex){return true;},onCanDeselect:function(inRowIndex){return true;},onSelected:function(inRowIndex){this.updateRowStyles(inRowIndex);},onDeselected:function(inRowIndex){this.updateRowStyles(inRowIndex);},onSelectionChanged:function(){}}}
if(!dojo._hasResource["dojox.grid.VirtualGrid"]){dojo._hasResource["dojox.grid.VirtualGrid"]=true;dojo.provide("dojox.grid.VirtualGrid");dojo.require("dojox.grid._grid.lib");dojo.require("dojox.grid._grid.scroller");dojo.require("dojox.grid._grid.view");dojo.require("dojox.grid._grid.views");dojo.require("dojox.grid._grid.layout");dojo.require("dojox.grid._grid.rows");dojo.require("dojox.grid._grid.focus");dojo.require("dojox.grid._grid.selection");dojo.require("dojox.grid._grid.edit");dojo.require("dojox.grid._grid.rowbar");dojo.require("dojox.grid._grid.publicEvents");dojo.declare('dojox.VirtualGrid',[dijit._Widget,dijit._Templated],{templateString:"<div class=\"dojoxGrid\" hidefocus=\"hidefocus\" role=\"wairole:grid\">\n\t<div class=\"dojoxGrid-master-header\" dojoAttachPoint=\"viewsHeaderNode\"></div>\n\t<div class=\"dojoxGrid-master-view\" dojoAttachPoint=\"viewsNode\"></div>\n\t<span dojoAttachPoint=\"lastFocusNode\" tabindex=\"0\"></span>\n</div>\n",classTag:'dojoxGrid',get:function(inRowIndex){},rowCount:5,keepRows:75,rowsPerPage:25,autoWidth:false,autoHeight:false,autoRender:true,defaultHeight:'15em',structure:'',elasticView:-1,singleClickEdit:false,_click:null,sortInfo:0,themeable:true,buildRendering:function(){this.inherited(arguments);if(this.get==dojox.VirtualGrid.prototype.get){this.get=null;}
if(!this.domNode.getAttribute('tabIndex')){this.domNode.tabIndex="0";}
this.createScroller();this.createLayout();this.createViews();this.createManagers();dojox.grid.initTextSizePoll();this.connect(dojox.grid,"textSizeChanged","textSizeChanged");dojox.grid.funnelEvents(this.domNode,this,'doKeyEvent',dojox.grid.keyEvents);this.connect(this,"onShow","renderOnIdle");},postCreate:function(){this.styleChanged=this._styleChanged;this.setStructure(this.structure);this._click=[];},destroy:function(){this.domNode.onReveal=null;this.domNode.onSizeChange=null;this.edit.destroy();this.views.destroyViews();this.inherited(arguments);},styleChanged:function(){this.setStyledClass(this.domNode,'');},_styleChanged:function(){this.styleChanged();this.update();},textSizeChanged:function(){setTimeout(dojo.hitch(this,"_textSizeChanged"),1);},_textSizeChanged:function(){if(this.domNode){this.views.forEach(function(v){v.content.update();});this.render();}},sizeChange:function(){dojox.grid.jobs.job(this.id+'SizeChange',50,dojo.hitch(this,"update"));},renderOnIdle:function(){setTimeout(dojo.hitch(this,"render"),1);},createManagers:function(){this.rows=new dojox.grid.rows(this);this.focus=new dojox.grid.focus(this);this.selection=new dojox.grid.selection(this);this.edit=new dojox.grid.edit(this);},createScroller:function(){this.scroller=new dojox.grid.scroller.columns();this.scroller._pageIdPrefix=this.id+'-';this.scroller.renderRow=dojo.hitch(this,"renderRow");this.scroller.removeRow=dojo.hitch(this,"rowRemoved");},createLayout:function(){this.layout=new dojox.grid.layout(this);},createViews:function(){this.views=new dojox.grid.views(this);this.views.createView=dojo.hitch(this,"createView");},createView:function(inClass){if(dojo.isAIR){var obj=window;var names=inClass.split('.');for(var i=0;i<names.length;i++){if(typeof obj[names[i]]=='undefined'){var undefstring=names[0];for(var j=1;j<=i;j++){undefstring+="."+names[j];}
throw new Error(undefstring+" is undefined");}
obj=obj[names[i]];}
var c=obj;}else{var c=eval(inClass);}
var view=new c({grid:this});this.viewsNode.appendChild(view.domNode);this.viewsHeaderNode.appendChild(view.headerNode);this.views.addView(view);return view;},buildViews:function(){for(var i=0,vs;(vs=this.layout.structure[i]);i++){this.createView(vs.type||dojox._scopeName+".GridView").setStructure(vs);}
this.scroller.setContentNodes(this.views.getContentNodes());},setStructure:function(inStructure){this.views.destroyViews();this.structure=inStructure;if((this.structure)&&(dojo.isString(this.structure))){this.structure=dojox.grid.getProp(this.structure);}
if(!this.structure){this.structure=window["layout"];}
if(!this.structure){return;}
this.layout.setStructure(this.structure);this._structureChanged();},_structureChanged:function(){this.buildViews();if(this.autoRender){this.render();}},hasLayout:function(){return this.layout.cells.length;},resize:function(sizeBox){this._sizeBox=sizeBox;this._resize();this.sizeChange();},_getPadBorder:function(){this._padBorder=this._padBorder||dojo._getPadBorderExtents(this.domNode);return this._padBorder;},_resize:function(){if(!this.domNode.parentNode||this.domNode.parentNode.nodeType!=1||!this.hasLayout()){return;}
var padBorder=this._getPadBorder();if(this.autoHeight){this.domNode.style.height='auto';this.viewsNode.style.height='';}else if(this.flex>0){}else if(this.domNode.clientHeight<=padBorder.h){if(this.domNode.parentNode==document.body){this.domNode.style.height=this.defaultHeight;}else{this.fitTo="parent";}}
if(this._sizeBox){dojo.contentBox(this.domNode,this._sizeBox);}else if(this.fitTo=="parent"){if(this.domNode.style.height.indexOf("px")>-1)
var h=parseInt(this.domNode.style.height);else
var h=dojo._getContentBox(this.domNode.parentNode).h-10;dojo.marginBox(this.domNode,{h:Math.max(0,h)});}
var h=dojo._getContentBox(this.domNode).h;if(h==0&&!this.autoHeight){this.viewsHeaderNode.style.display="none";}else{this.viewsHeaderNode.style.display="block";}
this.adaptWidth();this.adaptHeight();this.scroller.defaultRowHeight=this.rows.getDefaultHeightPx()+1;this.postresize();},adaptWidth:function(){var
w=this.autoWidth?0:this.domNode.clientWidth||(this.domNode.offsetWidth-this._getPadBorder().w);vw=this.views.arrange(1,w);this.views.onEach("adaptWidth");if(this.autoWidth)
this.domNode.style.width=vw+"px";},adaptHeight:function(){var vns=this.viewsHeaderNode.style,t=vns.display=="none"?0:this.views.measureHeader();vns.height=t+'px';this.views.normalizeHeaderNodeHeight();var h=(this.autoHeight?-1:Math.max(this.domNode.clientHeight-t,0)||0);this.views.onEach('setSize',[0,h]);this.views.onEach('adaptHeight');this.scroller.windowHeight=h;},render:function(){if(!this.domNode){return;}
if(!this.hasLayout()){this.scroller.init(0,this.keepRows,this.rowsPerPage);return;}
this.update=this.defaultUpdate;this.scroller.init(this.rowCount,this.keepRows,this.rowsPerPage);this.prerender();this.setScrollTop(0);this.postrender();},prerender:function(){this.keepRows=this.autoHeight?0:this.constructor.prototype.keepRows;this.scroller.setKeepInfo(this.keepRows);this.views.render();this._resize();},postrender:function(){this.postresize();this.focus.initFocusView();dojo.setSelectable(this.domNode,false);},postresize:function(){if(this.autoHeight){this.viewsNode.style.height=this.views.measureContent()+'px';}},renderRow:function(inRowIndex,inNodes){this.views.renderRow(inRowIndex,inNodes);},rowRemoved:function(inRowIndex){this.views.rowRemoved(inRowIndex);},invalidated:null,updating:false,beginUpdate:function(){if(this.invalidated==null){this.invalidated={rows:[],count:1,all:false,rowCount:undefined};}else{this.invalidated.count++;}
this.updating=true;},endUpdate:function(){var i=this.invalidated;if(--i.count===0){this.updating=false;if(i.rows.length>0){for(r in i.rows){this.updateRow(Number(r));}
this.invalidated.rows=[];}
if(i.rowCount!=undefined){this.updateRowCount(i.rowCount);i.rowCount=undefined;}
if(i.all){this.update();i.all=false;}}},defaultUpdate:function(){if(!this.domNode){return;}
if(this.updating){this.invalidated.all=true;return;}
this.prerender();this.scroller.invalidateNodes();this.setScrollTop(this.scrollTop);this.postrender();},update:function(){this.render();},updateRow:function(inRowIndex){inRowIndex=Number(inRowIndex);if(this.updating){this.invalidated.rows[inRowIndex]=true;}else{this.views.updateRow(inRowIndex,this.rows.getHeight(inRowIndex));this.scroller.rowHeightChanged(inRowIndex);}},updateRowCount:function(inRowCount){if(this.updating){this.invalidated.rowCount=inRowCount;}else{this.rowCount=inRowCount;if(this.layout.cells.length){this.scroller.updateRowCount(inRowCount);this.setScrollTop(this.scrollTop);}
this._resize();}},updateRowStyles:function(inRowIndex){this.views.updateRowStyles(inRowIndex);},rowHeightChanged:function(inRowIndex){this.views.renormalizeRow(inRowIndex);this.scroller.rowHeightChanged(inRowIndex);},fastScroll:true,delayScroll:false,scrollRedrawThreshold:(dojo.isIE?100:50),scrollTo:function(inTop){if(!this.fastScroll){this.setScrollTop(inTop);return;}
var delta=Math.abs(this.lastScrollTop-inTop);this.lastScrollTop=inTop;if(delta>this.scrollRedrawThreshold||this.delayScroll){this.delayScroll=true;this.scrollTop=inTop;this.views.setScrollTop(inTop);dojox.grid.jobs.job('dojoxGrid-scroll',200,dojo.hitch(this,"finishScrollJob"));}else{this.setScrollTop(inTop);}},finishScrollJob:function(){this.delayScroll=false;this.setScrollTop(this.scrollTop);},setScrollTop:function(inTop){this.scrollTop=this.views.setScrollTop(inTop);this.scroller.scroll(this.scrollTop);},scrollToRow:function(inRowIndex){this.setScrollTop(this.scroller.findScrollTop(inRowIndex)+1);},styleRowNode:function(inRowIndex,inRowNode){if(inRowNode){this.rows.styleRowNode(inRowIndex,inRowNode);}},getCell:function(inIndex){return this.layout.cells[inIndex];},setCellWidth:function(inIndex,inUnitWidth){this.getCell(inIndex).unitWidth=inUnitWidth;},getCellName:function(inCell){return"Cell "+inCell.index;},canSort:function(inSortInfo){},sort:function(){},getSortAsc:function(inSortInfo){inSortInfo=inSortInfo==undefined?this.sortInfo:inSortInfo;return Boolean(inSortInfo>0);},getSortIndex:function(inSortInfo){inSortInfo=inSortInfo==undefined?this.sortInfo:inSortInfo;return Math.abs(inSortInfo)-1;},setSortIndex:function(inIndex,inAsc){var si=inIndex+1;if(inAsc!=undefined){si*=(inAsc?1:-1);}else if(this.getSortIndex()==inIndex){si=-this.sortInfo;}
this.setSortInfo(si);},setSortInfo:function(inSortInfo){if(this.canSort(inSortInfo)){this.sortInfo=inSortInfo;this.sort();this.update();}},doKeyEvent:function(e){e.dispatch='do'+e.type;this.onKeyEvent(e);},_dispatch:function(m,e){if(m in this){return this[m](e);}},dispatchKeyEvent:function(e){this._dispatch(e.dispatch,e);},dispatchContentEvent:function(e){this.edit.dispatchEvent(e)||e.sourceView.dispatchContentEvent(e)||this._dispatch(e.dispatch,e);},dispatchHeaderEvent:function(e){e.sourceView.dispatchHeaderEvent(e)||this._dispatch('doheader'+e.type,e);},dokeydown:function(e){this.onKeyDown(e);},doclick:function(e){if(e.cellNode){this.onCellClick(e);}else{this.onRowClick(e);}},dodblclick:function(e){if(e.cellNode){this.onCellDblClick(e);}else{this.onRowDblClick(e);}},docontextmenu:function(e){if(e.cellNode){this.onCellContextMenu(e);}else{this.onRowContextMenu(e);}},doheaderclick:function(e){if(e.cellNode){this.onHeaderCellClick(e);}else{this.onHeaderClick(e);}},doheaderdblclick:function(e){if(e.cellNode){this.onHeaderCellDblClick(e);}else{this.onHeaderDblClick(e);}},doheadercontextmenu:function(e){if(e.cellNode){this.onHeaderCellContextMenu(e);}else{this.onHeaderContextMenu(e);}},doStartEdit:function(inCell,inRowIndex){this.onStartEdit(inCell,inRowIndex);},doApplyCellEdit:function(inValue,inRowIndex,inFieldIndex){this.onApplyCellEdit(inValue,inRowIndex,inFieldIndex);},doCancelEdit:function(inRowIndex){this.onCancelEdit(inRowIndex);},doApplyEdit:function(inRowIndex){this.onApplyEdit(inRowIndex);},addRow:function(){this.updateRowCount(this.rowCount+1);},removeSelectedRows:function(){this.updateRowCount(Math.max(0,this.rowCount-this.selection.getSelected().length));this.selection.clear();}});dojo.mixin(dojox.VirtualGrid.prototype,dojox.grid.publicEvents);}
if(!dojo._hasResource["dojox.grid._data.fields"]){dojo._hasResource["dojox.grid._data.fields"]=true;dojo.provide("dojox.grid._data.fields");dojo.declare("dojox.grid.data.Mixer",null,{constructor:function(){this.defaultValue={};this.values=[];},count:function(){return this.values.length;},clear:function(){this.values=[];},build:function(inIndex){var result=dojo.mixin({owner:this},this.defaultValue);result.key=inIndex;this.values[inIndex]=result;return result;},getDefault:function(){return this.defaultValue;},setDefault:function(inField){for(var i=0,a;(a=arguments[i]);i++){dojo.mixin(this.defaultValue,a);}},get:function(inIndex){return this.values[inIndex]||this.build(inIndex);},_set:function(inIndex,inField){var v=this.get(inIndex);for(var i=1;i<arguments.length;i++){dojo.mixin(v,arguments[i]);}
this.values[inIndex]=v;},set:function(){if(arguments.length<1){return;}
var a=arguments[0];if(!dojo.isArray(a)){this._set.apply(this,arguments);}else{if(a.length&&a[0]["default"]){this.setDefault(a.shift());}
for(var i=0,l=a.length;i<l;i++){this._set(i,a[i]);}}},insert:function(inIndex,inProps){if(inIndex>=this.values.length){this.values[inIndex]=inProps;}else{this.values.splice(inIndex,0,inProps);}},remove:function(inIndex){this.values.splice(inIndex,1);},swap:function(inIndexA,inIndexB){dojox.grid.arraySwap(this.values,inIndexA,inIndexB);},move:function(inFromIndex,inToIndex){dojox.grid.arrayMove(this.values,inFromIndex,inToIndex);}});dojox.grid.data.compare=function(a,b){return(a>b?1:(a==b?0:-1));}
dojo.declare('dojox.grid.data.Field',null,{constructor:function(inName){this.name=inName;this.compare=dojox.grid.data.compare;},na:dojox.grid.na});dojo.declare('dojox.grid.data.Fields',dojox.grid.data.Mixer,{constructor:function(inFieldClass){var fieldClass=inFieldClass?inFieldClass:dojox.grid.data.Field;this.defaultValue=new fieldClass();},indexOf:function(inKey){for(var i=0;i<this.values.length;i++){var v=this.values[i];if(v&&v.key==inKey){return i;}}
return-1;}});}
if(!dojo._hasResource['dojox.grid._data.model']){dojo._hasResource['dojox.grid._data.model']=true;dojo.provide('dojox.grid._data.model');dojo.require('dojox.grid._data.fields');dojo.declare("dojox.grid.data.Model",null,{constructor:function(inFields,inData){this.observers=[];this.fields=new dojox.grid.data.Fields();if(inFields){this.fields.set(inFields);}
this.setData(inData);},count:0,updating:0,observer:function(inObserver,inPrefix){this.observers.push({o:inObserver,p:inPrefix||'model'});},notObserver:function(inObserver){for(var i=0,m,o;(o=this.observers[i]);i++){if(o.o==inObserver){this.observers.splice(i,1);return;}}},notify:function(inMsg,inArgs){var a=inArgs||[];for(var i=0,m,o;(o=this.observers[i]);i++){m=o.p+inMsg;o=o.o;(m in o)&&(o[m].apply(o,a));}},clear:function(){this.fields.clear();this.clearData();},beginUpdate:function(){this.notify("BeginUpdate",arguments);},endUpdate:function(){this.notify("EndUpdate",arguments);},isUpdating:function(){return Boolean(this.updating);},clearData:function(){this.setData(null);},change:function(){this.notify("Change",arguments);},insertion:function(){this.notify("Insertion",arguments);this.notify("Change",arguments);},removal:function(){this.notify("Removal",arguments);this.notify("Change",arguments);},insert:function(inData){if(!this._insert.apply(this,arguments)){return false;}
this.insertion.apply(this,dojo._toArray(arguments,1));return true;},remove:function(inData){if(!this._remove.apply(this,arguments)){return false;}
this.removal.apply(this,arguments);return true;},canSort:function(){return this.sort!=null;},generateComparator:function(inCompare,inField,inTrueForAscend,inSubCompare){return function(a,b){var ineq=inCompare(a[inField],b[inField]);return ineq?(inTrueForAscend?ineq:-ineq):inSubCompare&&inSubCompare(a,b);}},makeComparator:function(inIndices){var idx,col,field,result=null;for(var i=inIndices.length-1;i>=0;i--){idx=inIndices[i];col=Math.abs(idx)-1;if(col>=0){field=this.fields.get(col);result=this.generateComparator(field.compare,field.key,idx>0,result);}}
return result;},sort:null,dummy:0});dojo.declare("dojox.grid.data.Rows",dojox.grid.data.Model,{allChange:function(){this.notify("AllChange",arguments);this.notify("Change",arguments);},rowChange:function(){this.notify("RowChange",arguments);},datumChange:function(){this.notify("DatumChange",arguments);},beginModifyRow:function(inRowIndex){if(!this.cache[inRowIndex]){this.cache[inRowIndex]=this.copyRow(inRowIndex);}},endModifyRow:function(inRowIndex){var cache=this.cache[inRowIndex];if(cache){var data=this.getRow(inRowIndex);if(!dojox.grid.arrayCompare(cache,data)){this.update(cache,data,inRowIndex);}
delete this.cache[inRowIndex];}},cancelModifyRow:function(inRowIndex){var cache=this.cache[inRowIndex];if(cache){this.setRow(cache,inRowIndex);delete this.cache[inRowIndex];}}});dojo.declare("dojox.grid.data.Table",dojox.grid.data.Rows,{constructor:function(){this.cache=[];},colCount:0,data:null,cache:null,measure:function(){this.count=this.getRowCount();this.colCount=this.getColCount();this.allChange();},getRowCount:function(){return(this.data?this.data.length:0);},getColCount:function(){return(this.data&&this.data.length?this.data[0].length:this.fields.count());},badIndex:function(inCaller,inDescriptor){console.debug('dojox.grid.data.Table: badIndex');},isGoodIndex:function(inRowIndex,inColIndex){return(inRowIndex>=0&&inRowIndex<this.count&&(arguments.length<2||(inColIndex>=0&&inColIndex<this.colCount)));},getRow:function(inRowIndex){return this.data[inRowIndex];},copyRow:function(inRowIndex){return dojo.clone(this.getRow(inRowIndex));},getDatum:function(inRowIndex,inColIndex){return this.data[inRowIndex][inColIndex];},get:function(){throw('Plain "get" no longer supported. Use "getRow" or "getDatum".');},setData:function(inData){this.data=(inData||[]);this.allChange();},setRow:function(inData,inRowIndex){this.data[inRowIndex]=inData;this.rowChange(inData,inRowIndex);this.change();},setDatum:function(inDatum,inRowIndex,inColIndex){this.data[inRowIndex][inColIndex]=inDatum;this.datumChange(inDatum,inRowIndex,inColIndex);},set:function(){throw('Plain "set" no longer supported. Use "setData", "setRow", or "setDatum".');},setRows:function(inData,inRowIndex){for(var i=0,l=inData.length,r=inRowIndex;i<l;i++,r++){this.setRow(inData[i],r);}},update:function(inOldData,inNewData,inRowIndex){return true;},_insert:function(inData,inRowIndex){dojox.grid.arrayInsert(this.data,inRowIndex,inData);this.count++;return true;},_remove:function(inKeys){for(var i=inKeys.length-1;i>=0;i--){dojox.grid.arrayRemove(this.data,inKeys[i]);}
this.count-=inKeys.length;return true;},sort:function(){this.data.sort(this.makeComparator(arguments));},swap:function(inIndexA,inIndexB){dojox.grid.arraySwap(this.data,inIndexA,inIndexB);this.rowChange(this.getRow(inIndexA),inIndexA);this.rowChange(this.getRow(inIndexB),inIndexB);this.change();},dummy:0});dojo.declare("dojox.grid.data.Objects",dojox.grid.data.Table,{constructor:function(inFields,inData,inKey){if(!inFields){this.autoAssignFields();}},allChange:function(){this.notify("FieldsChange");this.inherited(arguments);},autoAssignFields:function(){var d=this.data[0],i=0,field;for(var f in d){field=this.fields.get(i++);if(!dojo.isString(field.key)){field.key=f;}}},setData:function(inData){this.data=(inData||[]);this.autoAssignFields();this.allChange();},getDatum:function(inRowIndex,inColIndex){return this.data[inRowIndex][this.fields.get(inColIndex).key];},setDatum:function(inDatum,inRowIndex,inColIndex){this.data[inRowIndex][this.fields.get(inColIndex).key]=inDatum;this.datumChange(inDatum,inRowIndex,inColIndex);}});dojo.declare("dojox.grid.data.Dynamic",dojox.grid.data.Table,{constructor:function(){this.page=[];this.pages=[];},page:null,pages:null,rowsPerPage:100,requests:0,bop:-1,eop:-1,clearData:function(){this.pages=[];this.bop=this.eop=-1;this.setData([]);},getRowCount:function(){return this.count;},getColCount:function(){return this.fields.count();},setRowCount:function(inCount){this.count=inCount;this.change();},requestsPending:function(inBoolean){},rowToPage:function(inRowIndex){return(this.rowsPerPage?Math.floor(inRowIndex/this.rowsPerPage):inRowIndex);},pageToRow:function(inPageIndex){return(this.rowsPerPage?this.rowsPerPage*inPageIndex:inPageIndex);},requestRows:function(inRowIndex,inCount){},rowsProvided:function(inRowIndex,inCount){this.requests--;if(this.requests==0){this.requestsPending(false);}},requestPage:function(inPageIndex){var row=this.pageToRow(inPageIndex);var count=Math.min(this.rowsPerPage,this.count-row);if(count>0){this.requests++;this.requestsPending(true);setTimeout(dojo.hitch(this,"requestRows",row,count),1);}},needPage:function(inPageIndex){if(!this.pages[inPageIndex]){this.pages[inPageIndex]=true;this.requestPage(inPageIndex);}},preparePage:function(inRowIndex,inColIndex){if(inRowIndex<this.bop||inRowIndex>=this.eop){var pageIndex=this.rowToPage(inRowIndex);this.needPage(pageIndex);this.bop=pageIndex*this.rowsPerPage;this.eop=this.bop+(this.rowsPerPage||this.count);}},isRowLoaded:function(inRowIndex){return Boolean(this.data[inRowIndex]);},removePages:function(inRowIndexes){for(var i=0,r;((r=inRowIndexes[i])!=undefined);i++){this.pages[this.rowToPage(r)]=false;}
this.bop=this.eop=-1;},remove:function(inRowIndexes){this.removePages(inRowIndexes);dojox.grid.data.Table.prototype.remove.apply(this,arguments);},getRow:function(inRowIndex){var row=this.data[inRowIndex];if(!row){this.preparePage(inRowIndex);}
return row;},getDatum:function(inRowIndex,inColIndex){var row=this.getRow(inRowIndex);return(row?row[inColIndex]:this.fields.get(inColIndex).na);},setDatum:function(inDatum,inRowIndex,inColIndex){var row=this.getRow(inRowIndex);if(row){row[inColIndex]=inDatum;this.datumChange(inDatum,inRowIndex,inColIndex);}else{console.debug('['+this.declaredClass+'] dojox.grid.data.dynamic.set: cannot set data on an non-loaded row');}},canSort:function(){return false;}});dojox.grid.data.table=dojox.grid.data.Table;dojox.grid.data.dynamic=dojox.grid.data.Dynamic;dojo.declare("dojox.grid.data.DojoData",dojox.grid.data.Dynamic,{constructor:function(inFields,inData,args){this.count=1;this._rowIdentities={};this._currentlyProcessing=[];if(args){dojo.mixin(this,args);}
if(this.store){var f=this.store.getFeatures();this._canNotify=f['dojo.data.api.Notification'];this._canWrite=f['dojo.data.api.Write'];this._canIdentify=f['dojo.data.api.Identity'];if(this._canNotify){dojo.connect(this.store,"onSet",this,"_storeDatumChange");dojo.connect(this.store,"onDelete",this,"_storeDatumDelete");dojo.connect(this.store,"onNew",this,"_storeDatumNew");}
if(this._canWrite){dojo.connect(this.store,"revert",this,"refresh");}}},markupFactory:function(args,node){return new dojox.grid.data.DojoData(null,null,args);},query:{},store:null,_currentlyProcessing:null,_canNotify:false,_canWrite:false,_canIdentify:false,_rowIdentities:{},clientSort:false,sortFields:null,queryOptions:null,setData:function(inData){this.store=inData;this.data=[];this.allChange();},setRowCount:function(inCount){this.count=inCount;this.allChange();},beginReturn:function(inCount){if(this.count!=inCount){this.setRowCount(inCount);}},_setupFields:function(dataItem){if(this.fields._nameMaps){return;}
var m={};var fields=dojo.map(this.store.getAttributes(dataItem),function(item,idx){m[item]=idx;m[idx+".idx"]=item;return{name:item,key:item};},this);this.fields._nameMaps=m;this.fields.set(fields);this.notify("FieldsChange");},_getRowFromItem:function(item){},_createRow:function(item){var row={};row.__dojo_data_item=item;dojo.forEach(this.fields.values,function(a){value=this.store.getValue(item,a.name);row[a.name]=(value===undefined||value===null)?"":value;},this);return row;},processRows:function(items,request){if(!items||items.length==0)
{this.endUpdate();return;}
this._setupFields(items[0]);dojo.forEach(items,function(item,idx){var row=this._createRow(item);this._setRowId(item,request.start,idx);this.setRow(row,request.start+idx);},this);this.endUpdate();},requestRows:function(inRowIndex,inCount){this.beginUpdate();var row=inRowIndex||0;var params={start:row,count:this.rowsPerPage,query:this.query,sort:this.sortFields,queryOptions:this.queryOptions,onBegin:dojo.hitch(this,"beginReturn"),onComplete:dojo.hitch(this,"processRows"),onError:dojo.hitch(this,"processError")};this.store.fetch(params);},getDatum:function(inRowIndex,inColIndex){var row=this.getRow(inRowIndex);var field=this.fields.values[inColIndex];return row&&field?row[field.name]:field?field.na:'?';},setDatum:function(inDatum,inRowIndex,inColIndex){var n=this.fields._nameMaps[inColIndex+".idx"];if(n){this.data[inRowIndex][n]=inDatum;this.datumChange(inDatum,inRowIndex,inColIndex);}},copyRow:function(inRowIndex){var row={};var backstop={};var src=this.getRow(inRowIndex);for(var x in src){if(src[x]!=backstop[x]){row[x]=src[x];}}
return row;},_attrCompare:function(cache,data){dojo.forEach(this.fields.values,function(a){if(cache[a.name]!=data[a.name]){return false;}},this);return true;},endModifyRow:function(inRowIndex){var cache=this.cache[inRowIndex];if(cache){var data=this.getRow(inRowIndex);if(!this._attrCompare(cache,data)){this.update(cache,data,inRowIndex);}
delete this.cache[inRowIndex];}},cancelModifyRow:function(inRowIndex){var cache=this.cache[inRowIndex];if(cache){this.setRow(cache,inRowIndex);delete this.cache[inRowIndex];}},_setRowId:function(item,offset,idx){if(this._canIdentify){this._rowIdentities[this.store.getIdentity(item)]={rowId:offset+idx,item:item};}else{var identity=dojo.toJson(this.query)+":start:"+offset+":idx:"+idx+":sort:"+dojo.toJson(this.sortFields);this._rowIdentities[identity]={rowId:offset+idx,item:item};}},_getRowId:function(item,isNotItem){var rowId=null;if(this._canIdentify&&!isNotItem){rowId=this._rowIdentities[this.store.getIdentity(item)].rowId;}else{var id;for(id in this._rowIdentities){if(this._rowIdentities[id].item===item){rowId=this._rowIdentities[id].rowId;break;}}}
return rowId;},_storeDatumChange:function(item,attr,oldVal,newVal){var rowId=this._getRowId(item);var row=this.getRow(rowId);if(row){row[attr]=newVal;var colId=this.fields._nameMaps[attr];this.notify("DatumChange",[newVal,rowId,colId]);}},_storeDatumDelete:function(item){if(dojo.indexOf(this._currentlyProcessing,item)!=-1)
return;var rowId=this._getRowId(item,true);if(rowId!=null){this._removeItems([rowId]);}},_storeDatumNew:function(item){if(this._disableNew)
return;this._insertItem(item,this.data.length);},insert:function(item,index){this._disableNew=true;var i=this.store.newItem(item);this._disableNew=false;this._insertItem(i,index);},_insertItem:function(storeItem,index){if(!this.fields._nameMaps){this._setupFields(storeItem);}
var row=this._createRow(storeItem);this._setRowId(storeItem,0,index);dojox.grid.data.Dynamic.prototype.insert.apply(this,[row,index]);},datumChange:function(value,rowIdx,colIdx){if(this._canWrite){var row=this.getRow(rowIdx);var field=this.fields._nameMaps[colIdx+".idx"];this.store.setValue(row.__dojo_data_item,field,value);}else{this.notify("DatumChange",arguments);}},insertion:function(){console.debug("Insertion",arguments);this.notify("Insertion",arguments);this.notify("Change",arguments);},removal:function(){console.debug("Removal",arguments);this.notify("Removal",arguments);this.notify("Change",arguments);},remove:function(inRowIndexes){for(var i=inRowIndexes.length-1;i>=0;i--){var item=this.data[inRowIndexes[i]].__dojo_data_item;this._currentlyProcessing.push(item);this.store.deleteItem(item);}
this._removeItems(inRowIndexes);this._currentlyProcessing=[];},_removeItems:function(inRowIndexes){dojox.grid.data.Dynamic.prototype.remove.apply(this,arguments);this._rowIdentities={};for(var i=0;i<this.data.length;i++){this._setRowId(this.data[i].__dojo_data_item,0,i);}},canSort:function(){return true;},sort:function(colIndex){var col=Math.abs(colIndex)-1;this.sortFields=[{'attribute':this.fields.values[col].name,'descending':(colIndex>0)}];this.refresh();},refresh:function(){this.clearData(true);this.requestRows();},clearData:function(keepStore){this._rowIdentities={};this.pages=[];this.bop=this.eop=-1;this.count=0;this.setData((keepStore?this.store:[]));},processError:function(error,request){this.endUpdate();console.log(error);}});}
if(!dojo._hasResource["dojox.grid._data.editors"]){dojo._hasResource["dojox.grid._data.editors"]=true;dojo.provide("dojox.grid._data.editors");dojo.provide("dojox.grid.editors");dojo.declare("dojox.grid.editors.Base",null,{constructor:function(inCell){this.cell=inCell;},_valueProp:"value",_formatPending:false,format:function(inDatum,inRowIndex){},needFormatNode:function(inDatum,inRowIndex){this._formatPending=true;dojox.grid.whenIdle(this,"_formatNode",inDatum,inRowIndex);},cancelFormatNode:function(){this._formatPending=false;},_formatNode:function(inDatum,inRowIndex){if(this._formatPending){this._formatPending=false;dojo.setSelectable(this.cell.grid.domNode,true);this.formatNode(this.getNode(inRowIndex),inDatum,inRowIndex);}},getNode:function(inRowIndex){return(this.cell.getNode(inRowIndex)||0).firstChild||0;},formatNode:function(inNode,inDatum,inRowIndex){if(dojo.isIE){dojox.grid.whenIdle(this,"focus",inRowIndex,inNode);}else{this.focus(inRowIndex,inNode);}},dispatchEvent:function(m,e){if(m in this){return this[m](e);}},getValue:function(inRowIndex){return this.getNode(inRowIndex)[this._valueProp];},setValue:function(inRowIndex,inValue){var n=this.getNode(inRowIndex);if(n){n[this._valueProp]=inValue};},focus:function(inRowIndex,inNode){dojox.grid.focusSelectNode(inNode||this.getNode(inRowIndex));},save:function(inRowIndex){this.value=this.value||this.getValue(inRowIndex);},restore:function(inRowIndex){this.setValue(inRowIndex,this.value);},_finish:function(inRowIndex){dojo.setSelectable(this.cell.grid.domNode,false);this.cancelFormatNode(this.cell);},apply:function(inRowIndex){this.cell.applyEdit(this.getValue(inRowIndex),inRowIndex);this._finish(inRowIndex);},cancel:function(inRowIndex){this.cell.cancelEdit(inRowIndex);this._finish(inRowIndex);}});dojox.grid.editors.base=dojox.grid.editors.Base;dojo.declare("dojox.grid.editors.Input",dojox.grid.editors.Base,{constructor:function(inCell){this.keyFilter=this.keyFilter||this.cell.keyFilter;},keyFilter:null,format:function(inDatum,inRowIndex){this.needFormatNode(inDatum,inRowIndex);return'<input class="dojoxGrid-input" type="text" value="'+inDatum+'">';},formatNode:function(inNode,inDatum,inRowIndex){this.inherited(arguments);this.cell.registerOnBlur(inNode,inRowIndex);},doKey:function(e){if(this.keyFilter){var key=String.fromCharCode(e.charCode);if(key.search(this.keyFilter)==-1){dojo.stopEvent(e);}}},_finish:function(inRowIndex){this.inherited(arguments);var n=this.getNode(inRowIndex);try{dojox.grid.fire(n,"blur");}catch(e){}}});dojox.grid.editors.input=dojox.grid.editors.Input;dojo.declare("dojox.grid.editors.Select",dojox.grid.editors.Input,{constructor:function(inCell){this.options=this.options||this.cell.options;this.values=this.values||this.cell.values||this.options;},format:function(inDatum,inRowIndex){this.needFormatNode(inDatum,inRowIndex);var h=['<select class="dojoxGrid-select">'];for(var i=0,o,v;((o=this.options[i])!==undefined)&&((v=this.values[i])!==undefined);i++){h.push("<option",(inDatum==v?' selected':''),' value="'+v+'"',">",o,"</option>");}
h.push('</select>');return h.join('');},getValue:function(inRowIndex){var n=this.getNode(inRowIndex);if(n){var i=n.selectedIndex,o=n.options[i];return this.cell.returnIndex?i:o.value||o.innerHTML;}}});dojox.grid.editors.select=dojox.grid.editors.Select;dojo.declare("dojox.grid.editors.AlwaysOn",dojox.grid.editors.Input,{alwaysOn:true,_formatNode:function(inDatum,inRowIndex){this.formatNode(this.getNode(inRowIndex),inDatum,inRowIndex);},applyStaticValue:function(inRowIndex){var e=this.cell.grid.edit;e.applyCellEdit(this.getValue(inRowIndex),this.cell,inRowIndex);e.start(this.cell,inRowIndex,true);}});dojox.grid.editors.alwaysOn=dojox.grid.editors.AlwaysOn;dojo.declare("dojox.grid.editors.Bool",dojox.grid.editors.AlwaysOn,{_valueProp:"checked",format:function(inDatum,inRowIndex){return'<input class="dojoxGrid-input" type="checkbox"'+(inDatum?' checked="checked"':'')+' style="width: auto" />';},doclick:function(e){if(e.target.tagName=='INPUT'){this.applyStaticValue(e.rowIndex);}}});dojox.grid.editors.bool=dojox.grid.editors.Bool;}
if(!dojo._hasResource["dijit._TimePicker"]){dojo._hasResource["dijit._TimePicker"]=true;dojo.provide("dijit._TimePicker");dojo.require("dijit.form._FormWidget");dojo.require("dojo.date.locale");dojo.declare("dijit._TimePicker",[dijit._Widget,dijit._Templated],{templateString:"<div id=\"widget_${id}\" class=\"dijitMenu\"\n    ><div dojoAttachPoint=\"upArrow\" class=\"dijitButtonNode\"><span class=\"dijitTimePickerA11yText\">&#9650;</span></div\n    ><div dojoAttachPoint=\"timeMenu,focusNode\" dojoAttachEvent=\"onclick:_onOptionSelected,onmouseover,onmouseout\"></div\n    ><div dojoAttachPoint=\"downArrow\" class=\"dijitButtonNode\"><span class=\"dijitTimePickerA11yText\">&#9660;</span></div\n></div>\n",baseClass:"dijitTimePicker",clickableIncrement:"T00:15:00",visibleIncrement:"T01:00:00",visibleRange:"T05:00:00",value:new Date(),_visibleIncrement:2,_clickableIncrement:1,_totalIncrements:10,constraints:{},serialize:dojo.date.stamp.toISOString,setValue:function(date,priority){this.value=date;this._showText();},isDisabledDate:function(dateObject,locale){return false;},_showText:function(){this.timeMenu.innerHTML="";var fromIso=dojo.date.stamp.fromISOString;this._clickableIncrementDate=fromIso(this.clickableIncrement);this._visibleIncrementDate=fromIso(this.visibleIncrement);this._visibleRangeDate=fromIso(this.visibleRange);var sinceMidnight=function(date){return date.getHours()*60*60+date.getMinutes()*60+date.getSeconds();};var clickableIncrementSeconds=sinceMidnight(this._clickableIncrementDate);var visibleIncrementSeconds=sinceMidnight(this._visibleIncrementDate);var visibleRangeSeconds=sinceMidnight(this._visibleRangeDate);var time=this.value.getTime();this._refDate=new Date(time-time%(visibleIncrementSeconds*1000));this._refDate.setFullYear(1970,0,1);this._clickableIncrement=1;this._totalIncrements=visibleRangeSeconds/clickableIncrementSeconds;this._visibleIncrement=visibleIncrementSeconds/clickableIncrementSeconds;for(var i=-(this._totalIncrements>>1);i<(this._totalIncrements>>1);i+=this._clickableIncrement){this.timeMenu.appendChild(this._createOption(i));}},postCreate:function(){if(this.constraints===dijit._TimePicker.prototype.constraints){this.constraints={};}
dojo.mixin(this,this.constraints);if(!this.constraints.locale){this.constraints.locale=this.lang;}
this.connect(this.timeMenu,dojo.isIE?"onmousewheel":'DOMMouseScroll',"_mouseWheeled");var typematic=dijit.typematic.addMouseListener;typematic(this.upArrow,this,this._onArrowUp,0.8,500);typematic(this.downArrow,this,this._onArrowDown,0.8,500);this.inherited(arguments);this.setValue(this.value);},_createOption:function(index){var div=dojo.doc.createElement("div");var date=(div.date=new Date(this._refDate));div.index=index;var incrementDate=this._clickableIncrementDate;date.setHours(date.getHours()+incrementDate.getHours()*index,date.getMinutes()+incrementDate.getMinutes()*index,date.getSeconds()+incrementDate.getSeconds()*index);var innerDiv=dojo.doc.createElement('div');dojo.addClass(div,this.baseClass+"Item");dojo.addClass(innerDiv,this.baseClass+"ItemInner");innerDiv.innerHTML=dojo.date.locale.format(date,this.constraints);div.appendChild(innerDiv);if(index%this._visibleIncrement<1&&index%this._visibleIncrement>-1){dojo.addClass(div,this.baseClass+"Marker");}else if(!(index%this._clickableIncrement)){dojo.addClass(div,this.baseClass+"Tick");}
if(this.isDisabledDate(date)){dojo.addClass(div,this.baseClass+"ItemDisabled");}
if(!dojo.date.compare(this.value,date,this.constraints.selector)){div.selected=true;dojo.addClass(div,this.baseClass+"ItemSelected");}
return div;},_onOptionSelected:function(tgt){var tdate=tgt.target.date||tgt.target.parentNode.date;if(!tdate||this.isDisabledDate(tdate)){return;}
this.setValue(tdate);this.onValueSelected(tdate);},onValueSelected:function(value){},onmouseover:function(e){var tgr=(e.target.parentNode===this.timeMenu)?e.target:e.target.parentNode;this._highlighted_option=tgr;dojo.addClass(tgr,this.baseClass+"ItemHover");},onmouseout:function(e){var tgr=(e.target.parentNode===this.timeMenu)?e.target:e.target.parentNode;if(this._highlighted_option===tgr){dojo.removeClass(tgr,this.baseClass+"ItemHover");}},_mouseWheeled:function(e){dojo.stopEvent(e);var scrollAmount=(dojo.isIE?e.wheelDelta:-e.detail);this[(scrollAmount>0?"_onArrowUp":"_onArrowDown")]();},_onArrowUp:function(){var index=this.timeMenu.childNodes[0].index-1;var div=this._createOption(index);this.timeMenu.removeChild(this.timeMenu.childNodes[this.timeMenu.childNodes.length-1]);this.timeMenu.insertBefore(div,this.timeMenu.childNodes[0]);},_onArrowDown:function(){var index=this.timeMenu.childNodes[this.timeMenu.childNodes.length-1].index+1;var div=this._createOption(index);this.timeMenu.removeChild(this.timeMenu.childNodes[0]);this.timeMenu.appendChild(div);}});}
if(!dojo._hasResource["dijit.form.TimeTextBox"]){dojo._hasResource["dijit.form.TimeTextBox"]=true;dojo.provide("dijit.form.TimeTextBox");dojo.require("dijit._TimePicker");dojo.require("dijit.form._DateTimeTextBox");dojo.declare("dijit.form.TimeTextBox",dijit.form._DateTimeTextBox,{popupClass:"dijit._TimePicker",_selector:"time"});}
if(!dojo._hasResource["dijit.form._Spinner"]){dojo._hasResource["dijit.form._Spinner"]=true;dojo.provide("dijit.form._Spinner");dojo.require("dijit.form.ValidationTextBox");dojo.declare("dijit.form._Spinner",dijit.form.RangeBoundTextBox,{defaultTimeout:500,timeoutChangeRate:0.90,smallDelta:1,largeDelta:10,templateString:"<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse\" waiRole=\"presentation\"\n\t><div class=\"dijitInputLayoutContainer\"\n\t\t><div class=\"dijitReset dijitSpinnerButtonContainer\"\n\t\t\t>&nbsp;<div class=\"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitUpArrowButton\"\n\t\t\t\tdojoAttachPoint=\"upArrowNode\"\n\t\t\t\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse\"\n\t\t\t\tstateModifier=\"UpArrow\"\n\t\t\t\t><div class=\"dijitArrowButtonInner\">&thinsp;</div\n\t\t\t\t><div class=\"dijitArrowButtonChar\">&#9650;</div\n\t\t\t></div\n\t\t\t><div class=\"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitDownArrowButton\"\n\t\t\t\tdojoAttachPoint=\"downArrowNode\"\n\t\t\t\tdojoAttachEvent=\"onmouseenter:_onMouse,onmouseleave:_onMouse\"\n\t\t\t\tstateModifier=\"DownArrow\"\n\t\t\t\t><div class=\"dijitArrowButtonInner\">&thinsp;</div\n\t\t\t\t><div class=\"dijitArrowButtonChar\">&#9660;</div\n\t\t\t></div\n\t\t></div\n\t\t><div class=\"dijitReset dijitValidationIcon\"><br></div\n\t\t><div class=\"dijitReset dijitValidationIconText\">&Chi;</div\n\t\t><div class=\"dijitReset dijitInputField\"\n\t\t\t><input class='dijitReset' dojoAttachPoint=\"textbox,focusNode\" type=\"${type}\" dojoAttachEvent=\"onfocus:_update,onkeyup:_update,onkeypress:_onKeyPress\"\n\t\t\t\twaiRole=\"spinbutton\" autocomplete=\"off\" name=\"${name}\"\n\t\t/></div\n\t></div\n></div>\n",baseClass:"dijitSpinner",adjust:function(val,delta){return val;},_arrowState:function(node,pressed){this._active=pressed;this.stateModifier=node.getAttribute("stateModifier")||"";this._setStateClass();},_arrowPressed:function(nodePressed,direction){if(this.disabled||this.readOnly){return;}
this._arrowState(nodePressed,true);this.setValue(this.adjust(this.getValue(),direction*this.smallDelta),false);dijit.selectInputText(this.textbox,this.textbox.value.length);},_arrowReleased:function(node){this._wheelTimer=null;if(this.disabled||this.readOnly){return;}
this._arrowState(node,false);},_typematicCallback:function(count,node,evt){if(node==this.textbox){node=(evt.keyCode==dojo.keys.UP_ARROW)?this.upArrowNode:this.downArrowNode;}
if(count==-1){this._arrowReleased(node);}
else{this._arrowPressed(node,(node==this.upArrowNode)?1:-1);}},_wheelTimer:null,_mouseWheeled:function(evt){dojo.stopEvent(evt);var scrollAmount=0;if(typeof evt.wheelDelta=='number'){scrollAmount=evt.wheelDelta;}else if(typeof evt.detail=='number'){scrollAmount=-evt.detail;}
var node,dir;if(scrollAmount>0){node=this.upArrowNode;dir=+1;}else if(scrollAmount<0){node=this.downArrowNode;dir=-1;}else{return;}
this._arrowPressed(node,dir);if(this._wheelTimer!=null){clearTimeout(this._wheelTimer);}
var _this=this;this._wheelTimer=setTimeout(function(){_this._arrowReleased(node);},50);},postCreate:function(){this.inherited('postCreate',arguments);this.connect(this.textbox,dojo.isIE?"onmousewheel":'DOMMouseScroll',"_mouseWheeled");this._connects.push(dijit.typematic.addListener(this.upArrowNode,this.textbox,{keyCode:dojo.keys.UP_ARROW,ctrlKey:false,altKey:false,shiftKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout));this._connects.push(dijit.typematic.addListener(this.downArrowNode,this.textbox,{keyCode:dojo.keys.DOWN_ARROW,ctrlKey:false,altKey:false,shiftKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout));if(dojo.isIE){var _this=this;this.connect(this.domNode,"onresize",function(){setTimeout(dojo.hitch(_this,function(){this.upArrowNode.style.behavior='';this.downArrowNode.style.behavior='';this._setStateClass();}),0);});}}});}
if(!dojo._hasResource["dijit.form.NumberTextBox"]){dojo._hasResource["dijit.form.NumberTextBox"]=true;dojo.provide("dijit.form.NumberTextBox");dojo.require("dijit.form.ValidationTextBox");dojo.require("dojo.number");dojo.declare("dijit.form.NumberTextBoxMixin",null,{regExpGen:dojo.number.regexp,editOptions:{pattern:'#.######'},_onFocus:function(){this.setValue(this.getValue(),false);this.inherited(arguments);},_formatter:dojo.number.format,format:function(value,constraints){if(typeof value=="string"){return value;}
if(isNaN(value)){return"";}
if(this.editOptions&&this._focused){constraints=dojo.mixin(dojo.mixin({},this.editOptions),this.constraints);}
return this._formatter(value,constraints);},parse:dojo.number.parse,filter:function(value){if(typeof value=="string"){return this.inherited('filter',arguments);}
return isNaN(value)?'':value;},value:NaN});dojo.declare("dijit.form.NumberTextBox",[dijit.form.RangeBoundTextBox,dijit.form.NumberTextBoxMixin],{});}
if(!dojo._hasResource["dijit.form.NumberSpinner"]){dojo._hasResource["dijit.form.NumberSpinner"]=true;dojo.provide("dijit.form.NumberSpinner");dojo.require("dijit.form._Spinner");dojo.require("dijit.form.NumberTextBox");dojo.declare("dijit.form.NumberSpinner",[dijit.form._Spinner,dijit.form.NumberTextBoxMixin],{required:true,adjust:function(val,delta){var newval=val+delta;if(isNaN(val)||isNaN(newval)){return val;}
if((typeof this.constraints.max=="number")&&(newval>this.constraints.max)){newval=this.constraints.max;}
if((typeof this.constraints.min=="number")&&(newval<this.constraints.min)){newval=this.constraints.min;}
return newval;}});}
if(!dojo._hasResource["dojo.cldr.monetary"]){dojo._hasResource["dojo.cldr.monetary"]=true;dojo.provide("dojo.cldr.monetary");dojo.cldr.monetary.getData=function(code){var placesData={ADP:0,BHD:3,BIF:0,BYR:0,CLF:0,CLP:0,DJF:0,ESP:0,GNF:0,IQD:3,ITL:0,JOD:3,JPY:0,KMF:0,KRW:0,KWD:3,LUF:0,LYD:3,MGA:0,MGF:0,OMR:3,PYG:0,RWF:0,TND:3,TRL:0,VUV:0,XAF:0,XOF:0,XPF:0};var roundingData={CHF:5};var places=placesData[code],round=roundingData[code];if(typeof places=="undefined"){places=2;}
if(typeof round=="undefined"){round=0;}
return{places:places,round:round};};}
if(!dojo._hasResource["dojo.currency"]){dojo._hasResource["dojo.currency"]=true;dojo.provide("dojo.currency");dojo.require("dojo.number");dojo.require("dojo.i18n");dojo.requireLocalization("dojo.cldr","currency",null,"ROOT,de,en,en-au,en-ca,en-us,es,fr,it,ja,ko,pt,zh,zh-tw");dojo.require("dojo.cldr.monetary");dojo.currency._mixInDefaults=function(options){options=options||{};options.type="currency";var bundle=dojo.i18n.getLocalization("dojo.cldr","currency",options.locale)||{};var iso=options.currency;var data=dojo.cldr.monetary.getData(iso);dojo.forEach(["displayName","symbol","group","decimal"],function(prop){data[prop]=bundle[iso+"_"+prop];});data.fractional=[true,false];return dojo.mixin(data,options);}
dojo.currency.format=function(value,options){return dojo.number.format(value,dojo.currency._mixInDefaults(options));}
dojo.currency.regexp=function(options){return dojo.number.regexp(dojo.currency._mixInDefaults(options));}
dojo.currency.parse=function(expression,options){return dojo.number.parse(expression,dojo.currency._mixInDefaults(options));}}
if(!dojo._hasResource["dijit.form.CurrencyTextBox"]){dojo._hasResource["dijit.form.CurrencyTextBox"]=true;dojo.provide("dijit.form.CurrencyTextBox");dojo.require("dojo.currency");dojo.require("dijit.form.NumberTextBox");dojo.declare("dijit.form.CurrencyTextBox",dijit.form.NumberTextBox,{currency:"",regExpGen:dojo.currency.regexp,_formatter:dojo.currency.format,parse:dojo.currency.parse,postMixInProperties:function(){if(this.constraints===dijit.form.ValidationTextBox.prototype.constraints){this.constraints={};}
this.constraints.currency=this.currency;dijit.form.CurrencyTextBox.superclass.postMixInProperties.apply(this,arguments);}});}
if(!dojo._hasResource["dojo.dnd.move"]){dojo._hasResource["dojo.dnd.move"]=true;dojo.provide("dojo.dnd.move");dojo.require("dojo.dnd.Mover");dojo.require("dojo.dnd.Moveable");dojo.declare("dojo.dnd.move.constrainedMoveable",dojo.dnd.Moveable,{constraints:function(){},within:false,markupFactory:function(params,node){return new dojo.dnd.move.constrainedMoveable(node,params);},constructor:function(node,params){if(!params){params={};}
this.constraints=params.constraints;this.within=params.within;},onFirstMove:function(mover){var c=this.constraintBox=this.constraints.call(this,mover);c.r=c.l+c.w;c.b=c.t+c.h;if(this.within){var mb=dojo.marginBox(mover.node);c.r-=mb.w;c.b-=mb.h;}},onMove:function(mover,leftTop){var c=this.constraintBox,s=mover.node.style;s.left=(leftTop.l<c.l?c.l:c.r<leftTop.l?c.r:leftTop.l)+"px";s.top=(leftTop.t<c.t?c.t:c.b<leftTop.t?c.b:leftTop.t)+"px";}});dojo.declare("dojo.dnd.move.boxConstrainedMoveable",dojo.dnd.move.constrainedMoveable,{box:{},markupFactory:function(params,node){return new dojo.dnd.move.boxConstrainedMoveable(node,params);},constructor:function(node,params){var box=params&&params.box;this.constraints=function(){return box;};}});dojo.declare("dojo.dnd.move.parentConstrainedMoveable",dojo.dnd.move.constrainedMoveable,{area:"content",markupFactory:function(params,node){return new dojo.dnd.move.parentConstrainedMoveable(node,params);},constructor:function(node,params){var area=params&&params.area;this.constraints=function(){var n=this.node.parentNode,s=dojo.getComputedStyle(n),mb=dojo._getMarginBox(n,s);if(area=="margin"){return mb;}
var t=dojo._getMarginExtents(n,s);mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h;if(area=="border"){return mb;}
t=dojo._getBorderExtents(n,s);mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h;if(area=="padding"){return mb;}
t=dojo._getPadExtents(n,s);mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h;return mb;};}});dojo.dnd.move.constrainedMover=function(fun,within){dojo.deprecated("dojo.dnd.move.constrainedMover, use dojo.dnd.move.constrainedMoveable instead");var mover=function(node,e,notifier){dojo.dnd.Mover.call(this,node,e,notifier);};dojo.extend(mover,dojo.dnd.Mover.prototype);dojo.extend(mover,{onMouseMove:function(e){dojo.dnd.autoScroll(e);var m=this.marginBox,c=this.constraintBox,l=m.l+e.pageX,t=m.t+e.pageY;l=l<c.l?c.l:c.r<l?c.r:l;t=t<c.t?c.t:c.b<t?c.b:t;this.host.onMove(this,{l:l,t:t});},onFirstMove:function(){dojo.dnd.Mover.prototype.onFirstMove.call(this);var c=this.constraintBox=fun.call(this);c.r=c.l+c.w;c.b=c.t+c.h;if(within){var mb=dojo.marginBox(this.node);c.r-=mb.w;c.b-=mb.h;}}});return mover;};dojo.dnd.move.boxConstrainedMover=function(box,within){dojo.deprecated("dojo.dnd.move.boxConstrainedMover, use dojo.dnd.move.boxConstrainedMoveable instead");return dojo.dnd.move.constrainedMover(function(){return box;},within);};dojo.dnd.move.parentConstrainedMover=function(area,within){dojo.deprecated("dojo.dnd.move.parentConstrainedMover, use dojo.dnd.move.parentConstrainedMoveable instead");var fun=function(){var n=this.node.parentNode,s=dojo.getComputedStyle(n),mb=dojo._getMarginBox(n,s);if(area=="margin"){return mb;}
var t=dojo._getMarginExtents(n,s);mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h;if(area=="border"){return mb;}
t=dojo._getBorderExtents(n,s);mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h;if(area=="padding"){return mb;}
t=dojo._getPadExtents(n,s);mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h;return mb;};return dojo.dnd.move.constrainedMover(fun,within);};dojo.dnd.constrainedMover=dojo.dnd.move.constrainedMover;dojo.dnd.boxConstrainedMover=dojo.dnd.move.boxConstrainedMover;dojo.dnd.parentConstrainedMover=dojo.dnd.move.parentConstrainedMover;}
if(!dojo._hasResource["dojo._base.lang"]){dojo._hasResource["dojo._base.lang"]=true;dojo.provide("dojo._base.lang");dojo.isString=function(it){return!!arguments.length&&it!=null&&(typeof it=="string"||it instanceof String);}
dojo.isArray=function(it){return it&&(it instanceof Array||typeof it=="array");}
dojo.isFunction=(function(){var _isFunction=function(it){return it&&(typeof it=="function"||it instanceof Function);};return dojo.isSafari?function(it){if(typeof it=="function"&&it=="[object NodeList]"){return false;}
return _isFunction(it);}:_isFunction;})();dojo.isObject=function(it){return it!==undefined&&(it===null||typeof it=="object"||dojo.isArray(it)||dojo.isFunction(it));}
dojo.isArrayLike=function(it){var d=dojo;return it&&it!==undefined&&!d.isString(it)&&!d.isFunction(it)&&!(it.tagName&&it.tagName.toLowerCase()=='form')&&(d.isArray(it)||isFinite(it.length));}
dojo.isAlien=function(it){return it&&!dojo.isFunction(it)&&/\{\s*\[native code\]\s*\}/.test(String(it));}
dojo.extend=function(constructor,props){for(var i=1,l=arguments.length;i<l;i++){dojo._mixin(constructor.prototype,arguments[i]);}
return constructor;}
dojo._hitchArgs=function(scope,method){var pre=dojo._toArray(arguments,2);var named=dojo.isString(method);return function(){var args=dojo._toArray(arguments);var f=named?(scope||dojo.global)[method]:method;return f&&f.apply(scope||this,pre.concat(args));}}
dojo.hitch=function(scope,method){if(arguments.length>2){return dojo._hitchArgs.apply(dojo,arguments);}
if(!method){method=scope;scope=null;}
if(dojo.isString(method)){scope=scope||dojo.global;if(!scope[method]){throw(['dojo.hitch: scope["',method,'"] is null (scope="',scope,'")'].join(''));}
return function(){return scope[method].apply(scope,arguments||[]);};}
return!scope?method:function(){return method.apply(scope,arguments||[]);};}
dojo.delegate=dojo._delegate=function(obj,props){function TMP(){};TMP.prototype=obj;var tmp=new TMP();if(props){dojo.mixin(tmp,props);}
return tmp;}
dojo.partial=function(method){var arr=[null];return dojo.hitch.apply(dojo,arr.concat(dojo._toArray(arguments)));}
dojo._toArray=function(obj,offset,startWith){var arr=startWith||[];for(var x=offset||0;x<obj.length;x++){arr.push(obj[x]);}
return arr;}
dojo.clone=function(o){if(!o){return o;}
if(dojo.isArray(o)){var r=[];for(var i=0;i<o.length;++i){r.push(dojo.clone(o[i]));}
return r;}
if(!dojo.isObject(o)){return o;}
if(o.nodeType&&o.cloneNode){return o.cloneNode(true);}
if(o instanceof Date){return new Date(o.getTime());}
var r=new o.constructor();for(var i in o){if(!(i in r)||r[i]!=o[i]){r[i]=dojo.clone(o[i]);}}
return r;}
dojo.trim=function(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');}}
if(!dojo._hasResource["dojo._base.array"]){dojo._hasResource["dojo._base.array"]=true;dojo.require("dojo._base.lang");dojo.provide("dojo._base.array");(function(){var _getParts=function(arr,obj,cb){return[dojo.isString(arr)?arr.split(""):arr,obj||dojo.global,dojo.isString(cb)?new Function("item","index","array",cb):cb];};dojo.mixin(dojo,{indexOf:function(array,value,fromIndex,findLast){var step=1,end=array.length||0,i=0;if(findLast){i=end-1;step=end=-1;}
if(fromIndex!=undefined){i=fromIndex;}
if((findLast&&i>end)||i<end){for(;i!=end;i+=step){if(array[i]==value){return i;}}}
return-1;},lastIndexOf:function(array,value,fromIndex){return dojo.indexOf(array,value,fromIndex,true);},forEach:function(arr,callback,thisObject){if(!arr||!arr.length){return;}
var _p=_getParts(arr,thisObject,callback);arr=_p[0];for(var i=0,l=_p[0].length;i<l;i++){_p[2].call(_p[1],arr[i],i,arr);}},_everyOrSome:function(every,arr,callback,thisObject){var _p=_getParts(arr,thisObject,callback);arr=_p[0];for(var i=0,l=arr.length;i<l;i++){var result=!!_p[2].call(_p[1],arr[i],i,arr);if(every^result){return result;}}
return every;},every:function(arr,callback,thisObject){return this._everyOrSome(true,arr,callback,thisObject);},some:function(arr,callback,thisObject){return this._everyOrSome(false,arr,callback,thisObject);},map:function(arr,callback,thisObject){var _p=_getParts(arr,thisObject,callback);arr=_p[0];var outArr=(arguments[3]?(new arguments[3]()):[]);for(var i=0;i<arr.length;++i){outArr.push(_p[2].call(_p[1],arr[i],i,arr));}
return outArr;},filter:function(arr,callback,thisObject){var _p=_getParts(arr,thisObject,callback);arr=_p[0];var outArr=[];for(var i=0;i<arr.length;i++){if(_p[2].call(_p[1],arr[i],i,arr)){outArr.push(arr[i]);}}
return outArr;}});})();}
if(!dojo._hasResource["dojo._base.Color"]){dojo._hasResource["dojo._base.Color"]=true;dojo.provide("dojo._base.Color");dojo.require("dojo._base.array");dojo.require("dojo._base.lang");dojo.Color=function(color){if(color){this.setColor(color);}};dojo.Color.named={black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255]};dojo.extend(dojo.Color,{r:255,g:255,b:255,a:1,_set:function(r,g,b,a){var t=this;t.r=r;t.g=g;t.b=b;t.a=a;},setColor:function(color){var d=dojo;if(d.isString(color)){d.colorFromString(color,this);}else if(d.isArray(color)){d.colorFromArray(color,this);}else{this._set(color.r,color.g,color.b,color.a);if(!(color instanceof d.Color)){this.sanitize();}}
return this;},sanitize:function(){return this;},toRgb:function(){var t=this;return[t.r,t.g,t.b];},toRgba:function(){var t=this;return[t.r,t.g,t.b,t.a];},toHex:function(){var arr=dojo.map(["r","g","b"],function(x){var s=this[x].toString(16);return s.length<2?"0"+s:s;},this);return"#"+arr.join("");},toCss:function(includeAlpha){var t=this,rgb=t.r+", "+t.g+", "+t.b;return(includeAlpha?"rgba("+rgb+", "+t.a:"rgb("+rgb)+")";},toString:function(){return this.toCss(true);}});dojo.blendColors=function(start,end,weight,obj){var d=dojo,t=obj||new dojo.Color();d.forEach(["r","g","b","a"],function(x){t[x]=start[x]+(end[x]-start[x])*weight;if(x!="a"){t[x]=Math.round(t[x]);}});return t.sanitize();};dojo.colorFromRgb=function(color,obj){var m=color.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return m&&dojo.colorFromArray(m[1].split(/\s*,\s*/),obj);};dojo.colorFromHex=function(color,obj){var d=dojo,t=obj||new d.Color(),bits=(color.length==4)?4:8,mask=(1<<bits)-1;color=Number("0x"+color.substr(1));if(isNaN(color)){return null;}
d.forEach(["b","g","r"],function(x){var c=color&mask;color>>=bits;t[x]=bits==4?17*c:c;});t.a=1;return t;};dojo.colorFromArray=function(a,obj){var t=obj||new dojo.Color();t._set(Number(a[0]),Number(a[1]),Number(a[2]),Number(a[3]));if(isNaN(t.a)){t.a=1;}
return t.sanitize();};dojo.colorFromString=function(str,obj){var a=dojo.Color.named[str];return a&&dojo.colorFromArray(a,obj)||dojo.colorFromRgb(str,obj)||dojo.colorFromHex(str,obj);};}
if(!dojo._hasResource["dojo._base.connect"]){dojo._hasResource["dojo._base.connect"]=true;dojo.provide("dojo._base.connect");dojo.require("dojo._base.lang");dojo._listener={getDispatcher:function(){return function(){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);for(var i in ls){if(!(i in ap)){ls[i].apply(this,arguments);}}
return r;}},add:function(source,method,listener){source=source||dojo.global;var f=source[method];if(!f||!f._listeners){var d=dojo._listener.getDispatcher();d.target=f;d._listeners=[];f=source[method]=d;}
return f._listeners.push(listener);},remove:function(source,method,handle){var f=(source||dojo.global)[method];if(f&&f._listeners&&handle--){delete f._listeners[handle];}}};dojo.connect=function(obj,event,context,method,dontFix){var a=arguments,args=[],i=0;args.push(dojo.isString(a[0])?null:a[i++],a[i++]);var a1=a[i+1];args.push(dojo.isString(a1)||dojo.isFunction(a1)?a[i++]:null,a[i++]);for(var l=a.length;i<l;i++){args.push(a[i]);}
return dojo._connect.apply(this,args);}
dojo._connect=function(obj,event,context,method){var l=dojo._listener,h=l.add(obj,event,dojo.hitch(context,method));return[obj,event,h,l];}
dojo.disconnect=function(handle){if(handle&&handle[0]!==undefined){dojo._disconnect.apply(this,handle);delete handle[0];}}
dojo._disconnect=function(obj,event,handle,listener){listener.remove(obj,event,handle);}
dojo._topics={};dojo.subscribe=function(topic,context,method){return[topic,dojo._listener.add(dojo._topics,topic,dojo.hitch(context,method))];}
dojo.unsubscribe=function(handle){if(handle){dojo._listener.remove(dojo._topics,handle[0],handle[1]);}}
dojo.publish=function(topic,args){var f=dojo._topics[topic];if(f){f.apply(this,args||[]);}}
dojo.connectPublisher=function(topic,obj,event){var pf=function(){dojo.publish(topic,arguments);}
return(event)?dojo.connect(obj,event,pf):dojo.connect(obj,pf);};}
if(!dojo._hasResource["dojo._base.declare"]){dojo._hasResource["dojo._base.declare"]=true;dojo.provide("dojo._base.declare");dojo.require("dojo._base.lang");dojo.declare=function(className,superclass,props){var dd=arguments.callee,mixins;if(dojo.isArray(superclass)){mixins=superclass;superclass=mixins.shift();}
if(mixins){dojo.forEach(mixins,function(m){if(!m){throw(className+": mixin #"+i+" is null");}
superclass=dd._delegate(superclass,m);});}
var init=(props||0).constructor,ctor=dd._delegate(superclass),fn;for(var i in props){if(dojo.isFunction(fn=props[i])&&!0[i]){fn.nom=i;}}
dojo.extend(ctor,{declaredClass:className,_constructor:init,preamble:null},props||0);ctor.prototype.constructor=ctor;return dojo.setObject(className,ctor);};dojo.mixin(dojo.declare,{_delegate:function(base,mixin){var bp=(base||0).prototype,mp=(mixin||0).prototype;var ctor=dojo.declare._makeCtor();dojo.mixin(ctor,{superclass:bp,mixin:mp,extend:dojo.declare._extend});if(base){ctor.prototype=dojo._delegate(bp);}
dojo.extend(ctor,dojo.declare._core,mp||0,{_constructor:null,preamble:null});ctor.prototype.constructor=ctor;ctor.prototype.declaredClass=(bp||0).declaredClass+'_'+(mp||0).declaredClass;return ctor;},_extend:function(props){for(var i in props){if(dojo.isFunction(fn=props[i])&&!0[i]){fn.nom=i;}}
dojo.extend(this,props);},_makeCtor:function(){return function(){this._construct(arguments);};},_core:{_construct:function(args){var c=args.callee,s=c.superclass,ct=s&&s.constructor,m=c.mixin,mct=m&&m.constructor,a=args,ii,fn;if(a[0]){if(((fn=a[0].preamble))){a=fn.apply(this,a)||a;}}
if((fn=c.prototype.preamble)){a=fn.apply(this,a)||a;}
if(ct&&ct.apply){ct.apply(this,a);}
if(mct&&mct.apply){mct.apply(this,a);}
if((ii=c.prototype._constructor)){ii.apply(this,args);}
if(this.constructor.prototype==c.prototype&&(ct=this.postscript)){ct.apply(this,args);}},_findMixin:function(mixin){var c=this.constructor,p,m;while(c){p=c.superclass;m=c.mixin;if(m==mixin||(m instanceof mixin.constructor)){return p;}
if(m&&(m=m._findMixin(mixin))){return m;}
c=p&&p.constructor;}},_findMethod:function(name,method,ptype,has){var p=ptype,c,m,f;do{c=p.constructor;m=c.mixin;if(m&&(m=this._findMethod(name,method,m,has))){return m;}
if((f=p[name])&&(has==(f==method))){return p;}
p=c.superclass;}while(p);return!has&&(p=this._findMixin(ptype))&&this._findMethod(name,method,p,has);},inherited:function(name,args,newArgs){var a=arguments;if(!dojo.isString(a[0])){newArgs=args;args=name;name=args.callee.nom;}
a=newArgs||args;var c=args.callee,p=this.constructor.prototype,fn,mp;if(this[name]!=c||p[name]==c){mp=this._findMethod(name,c,p,true);if(!mp){throw(this.declaredClass+': inherited method "'+name+'" mismatch');}
p=this._findMethod(name,c,mp,false);}
fn=p&&p[name];if(!fn){throw(mp.declaredClass+': inherited method "'+name+'" not found');}
return fn.apply(this,a);}}});}
if(!dojo._hasResource["dojo._base.html"]){dojo._hasResource["dojo._base.html"]=true;dojo.require("dojo._base.lang");dojo.provide("dojo._base.html");try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}
if(dojo.isIE||dojo.isOpera){dojo.byId=function(id,doc){if(dojo.isString(id)){var _d=doc||dojo.doc;var te=_d.getElementById(id);if(te&&te.attributes.id.value==id){return te;}else{var eles=_d.all[id];if(!eles||!eles.length){return eles;}
var i=0;while((te=eles[i++])){if(te.attributes.id.value==id){return te;}}}}else{return id;}}}else{dojo.byId=function(id,doc){return dojo.isString(id)?(doc||dojo.doc).getElementById(id):id;}}
(function(){var d=dojo;var _destroyContainer=null;dojo.addOnUnload(function(){_destroyContainer=null;});dojo._destroyElement=function(node){node=d.byId(node);try{if(!_destroyContainer){_destroyContainer=document.createElement("div");}
_destroyContainer.appendChild(node.parentNode?node.parentNode.removeChild(node):node);_destroyContainer.innerHTML="";}catch(e){}};dojo.isDescendant=function(node,ancestor){try{node=d.byId(node);ancestor=d.byId(ancestor);while(node){if(node===ancestor){return true;}
node=node.parentNode;}}catch(e){}
return false;};dojo.setSelectable=function(node,selectable){node=d.byId(node);if(d.isMozilla){node.style.MozUserSelect=selectable?"":"none";}else if(d.isKhtml){node.style.KhtmlUserSelect=selectable?"auto":"none";}else if(d.isIE){node.unselectable=selectable?"":"on";d.query("*",node).forEach(function(descendant){descendant.unselectable=selectable?"":"on";});}};var _insertBefore=function(node,ref){ref.parentNode.insertBefore(node,ref);return true;}
var _insertAfter=function(node,ref){var pn=ref.parentNode;if(ref==pn.lastChild){pn.appendChild(node);}else{return _insertBefore(node,ref.nextSibling);}
return true;}
dojo.place=function(node,refNode,position){if(!node||!refNode||position===undefined){return false;}
node=d.byId(node);refNode=d.byId(refNode);if(typeof position=="number"){var cn=refNode.childNodes;if((position==0&&cn.length==0)||cn.length==position){refNode.appendChild(node);return true;}
if(position==0){return _insertBefore(node,refNode.firstChild);}
return _insertAfter(node,cn[position-1]);}
switch(position.toLowerCase()){case"before":return _insertBefore(node,refNode);case"after":return _insertAfter(node,refNode);case"first":if(refNode.firstChild){return _insertBefore(node,refNode.firstChild);}
default:refNode.appendChild(node);return true;}}
dojo.boxModel="content-box";if(d.isIE){var _dcm=document.compatMode;d.boxModel=_dcm=="BackCompat"||_dcm=="QuirksMode"||d.isIE<6?"border-box":"content-box";}
var gcs,dv=document.defaultView;if(d.isSafari){gcs=function(node){var s=dv.getComputedStyle(node,null);if(!s&&node.style){node.style.display="";s=dv.getComputedStyle(node,null);}
return s||{};};}else if(d.isIE){gcs=function(node){return node.currentStyle;};}else{gcs=function(node){return dv.getComputedStyle(node,null);};}
dojo.getComputedStyle=gcs;if(!d.isIE){dojo._toPixelValue=function(element,value){return parseFloat(value)||0;}}else{dojo._toPixelValue=function(element,avalue){if(!avalue){return 0;}
if(avalue=="medium"){return 4;}
if(avalue.slice&&(avalue.slice(-2)=='px')){return parseFloat(avalue);}
with(element){var sLeft=style.left;var rsLeft=runtimeStyle.left;runtimeStyle.left=currentStyle.left;try{style.left=avalue;avalue=style.pixelLeft;}catch(e){avalue=0;}
style.left=sLeft;runtimeStyle.left=rsLeft;}
return avalue;}}
var px=d._toPixelValue;dojo._getOpacity=d.isIE?function(node){try{return node.filters.alpha.opacity/100;}catch(e){return 1;}}:function(node){return gcs(node).opacity;};dojo._setOpacity=d.isIE?function(node,opacity){if(opacity==1){var filterRE=/FILTER:[^;]*;?/i;node.style.cssText=node.style.cssText.replace(filterRE,"");if(node.nodeName.toLowerCase()=="tr"){d.query("> td",node).forEach(function(i){i.style.cssText=i.style.cssText.replace(filterRE,"");});}}else{var o="Alpha(Opacity="+opacity*100+")";node.style.filter=o;}
if(node.nodeName.toLowerCase()=="tr"){d.query("> td",node).forEach(function(i){i.style.filter=o;});}
return opacity;}:function(node,opacity){return node.style.opacity=opacity;};var _pixelNamesCache={left:true,top:true};var _pixelRegExp=/margin|padding|width|height|max|min|offset/;var _toStyleValue=function(node,type,value){type=type.toLowerCase();if(d.isIE&&value=="auto"){if(type=="height"){return node.offsetHeight;}
if(type=="width"){return node.offsetWidth;}}
if(!(type in _pixelNamesCache)){_pixelNamesCache[type]=_pixelRegExp.test(type);}
return _pixelNamesCache[type]?px(node,value):value;}
var _floatStyle=d.isIE?"styleFloat":"cssFloat";var _floatAliases={"cssFloat":_floatStyle,"styleFloat":_floatStyle,"float":_floatStyle};dojo.style=function(node,style,value){var n=d.byId(node),args=arguments.length,op=(style=="opacity");style=_floatAliases[style]||style;if(args==3){return op?d._setOpacity(n,value):n.style[style]=value;}
if(args==2&&op){return d._getOpacity(n);}
var s=gcs(n);if(args==2&&!d.isString(style)){for(var x in style){d.style(node,x,style[x]);}
return s;}
return(args==1)?s:_toStyleValue(n,style,s[style]);}
dojo._getPadExtents=function(n,computedStyle){var
s=computedStyle||gcs(n),l=px(n,s.paddingLeft),t=px(n,s.paddingTop);return{l:l,t:t,w:l+px(n,s.paddingRight),h:t+px(n,s.paddingBottom)};}
dojo._getBorderExtents=function(n,computedStyle){var
ne="none",s=computedStyle||gcs(n),bl=(s.borderLeftStyle!=ne?px(n,s.borderLeftWidth):0),bt=(s.borderTopStyle!=ne?px(n,s.borderTopWidth):0);return{l:bl,t:bt,w:bl+(s.borderRightStyle!=ne?px(n,s.borderRightWidth):0),h:bt+(s.borderBottomStyle!=ne?px(n,s.borderBottomWidth):0)};}
dojo._getPadBorderExtents=function(n,computedStyle){var
s=computedStyle||gcs(n),p=d._getPadExtents(n,s),b=d._getBorderExtents(n,s);return{l:p.l+b.l,t:p.t+b.t,w:p.w+b.w,h:p.h+b.h};}
dojo._getMarginExtents=function(n,computedStyle){var
s=computedStyle||gcs(n),l=px(n,s.marginLeft),t=px(n,s.marginTop),r=px(n,s.marginRight),b=px(n,s.marginBottom);if(d.isSafari&&(s.position!="absolute")){r=l;}
return{l:l,t:t,w:l+r,h:t+b};}
dojo._getMarginBox=function(node,computedStyle){var s=computedStyle||gcs(node),me=d._getMarginExtents(node,s);var l=node.offsetLeft-me.l,t=node.offsetTop-me.t;if(d.isMoz){var sl=parseFloat(s.left),st=parseFloat(s.top);if(!isNaN(sl)&&!isNaN(st)){l=sl,t=st;}else{var p=node.parentNode;if(p&&p.style){var pcs=gcs(p);if(pcs.overflow!="visible"){var be=d._getBorderExtents(p,pcs);l+=be.l,t+=be.t;}}}}else if(d.isOpera){var p=node.parentNode;if(p){var be=d._getBorderExtents(p);l-=be.l,t-=be.t;}}
return{l:l,t:t,w:node.offsetWidth+me.w,h:node.offsetHeight+me.h};}
dojo._getContentBox=function(node,computedStyle){var s=computedStyle||gcs(node),pe=d._getPadExtents(node,s),be=d._getBorderExtents(node,s),w=node.clientWidth,h;if(!w){w=node.offsetWidth,h=node.offsetHeight;}else{h=node.clientHeight,be.w=be.h=0;}
if(d.isOpera){pe.l+=be.l;pe.t+=be.t;};return{l:pe.l,t:pe.t,w:w-pe.w-be.w,h:h-pe.h-be.h};}
dojo._getBorderBox=function(node,computedStyle){var s=computedStyle||gcs(node),pe=d._getPadExtents(node,s),cb=d._getContentBox(node,s);return{l:cb.l-pe.l,t:cb.t-pe.t,w:cb.w+pe.w,h:cb.h+pe.h};}
dojo._setBox=function(node,l,t,w,h,u){u=u||"px";var s=node.style;if(!isNaN(l)){s.left=l+u;}
if(!isNaN(t)){s.top=t+u;}
if(w>=0){s.width=w+u;}
if(h>=0){s.height=h+u;}}
dojo._usesBorderBox=function(node){var n=node.tagName;return d.boxModel=="border-box"||n=="TABLE"||n=="BUTTON";}
dojo._setContentSize=function(node,widthPx,heightPx,computedStyle){if(d._usesBorderBox(node)){var pb=d._getPadBorderExtents(node,computedStyle);if(widthPx>=0){widthPx+=pb.w;}
if(heightPx>=0){heightPx+=pb.h;}}
d._setBox(node,NaN,NaN,widthPx,heightPx);}
dojo._setMarginBox=function(node,leftPx,topPx,widthPx,heightPx,computedStyle){var s=computedStyle||gcs(node);var bb=d._usesBorderBox(node),pb=bb?_nilExtents:d._getPadBorderExtents(node,s),mb=d._getMarginExtents(node,s);if(widthPx>=0){widthPx=Math.max(widthPx-pb.w-mb.w,0);}
if(heightPx>=0){heightPx=Math.max(heightPx-pb.h-mb.h,0);}
d._setBox(node,leftPx,topPx,widthPx,heightPx);}
var _nilExtents={l:0,t:0,w:0,h:0};dojo.marginBox=function(node,box){var n=d.byId(node),s=gcs(n),b=box;return!b?d._getMarginBox(n,s):d._setMarginBox(n,b.l,b.t,b.w,b.h,s);}
dojo.contentBox=function(node,box){var n=dojo.byId(node),s=gcs(n),b=box;return!b?d._getContentBox(n,s):d._setContentSize(n,b.w,b.h,s);}
var _sumAncestorProperties=function(node,prop){if(!(node=(node||0).parentNode)){return 0};var val,retVal=0,_b=d.body();while(node&&node.style){if(gcs(node).position=="fixed"){return 0;}
val=node[prop];if(val){retVal+=val-0;if(node==_b){break;}}
node=node.parentNode;}
return retVal;}
dojo._docScroll=function(){var
_b=d.body(),_w=d.global,de=d.doc.documentElement;return{y:(_w.pageYOffset||de.scrollTop||_b.scrollTop||0),x:(_w.pageXOffset||d._fixIeBiDiScrollLeft(de.scrollLeft)||_b.scrollLeft||0)};};dojo._isBodyLtr=function(){return!("_bodyLtr"in d)?d._bodyLtr=gcs(d.body()).direction=="ltr":d._bodyLtr;}
dojo._getIeDocumentElementOffset=function(){var de=d.doc.documentElement;return(d.isIE>=7)?{x:de.getBoundingClientRect().left,y:de.getBoundingClientRect().top}:{x:d._isBodyLtr()||window.parent==window?de.clientLeft:de.offsetWidth-de.clientWidth-de.clientLeft,y:de.clientTop};};dojo._fixIeBiDiScrollLeft=function(scrollLeft){var dd=d.doc;if(d.isIE&&!dojo._isBodyLtr()){var de=dd.compatMode=="BackCompat"?dd.body:dd.documentElement;return scrollLeft+de.clientWidth-de.scrollWidth;}
return scrollLeft;}
dojo._abs=function(node,includeScroll){var ownerDocument=node.ownerDocument;var ret={x:0,y:0};var db=d.body();if(d.isIE||(d.isFF>=3)){var client=node.getBoundingClientRect();var offset=(d.isIE)?d._getIeDocumentElementOffset():{x:0,y:0};ret.x=client.left-offset.x;ret.y=client.top-offset.y;}else if(ownerDocument["getBoxObjectFor"]){var bo=ownerDocument.getBoxObjectFor(node),b=d._getBorderExtents(node);ret.x=bo.x-b.l-_sumAncestorProperties(node,"scrollLeft");ret.y=bo.y-b.t-_sumAncestorProperties(node,"scrollTop");}else{if(node["offsetParent"]){var endNode;if(d.isSafari&&(gcs(node).position=="absolute")&&(node.parentNode==db)){endNode=db;}else{endNode=db.parentNode;}
if(node.parentNode!=db){var nd=node;if(d.isOpera){nd=db;}
ret.x-=_sumAncestorProperties(nd,"scrollLeft");ret.y-=_sumAncestorProperties(nd,"scrollTop");}
var curnode=node;do{var n=curnode.offsetLeft;if(!d.isOpera||n>0){ret.x+=isNaN(n)?0:n;}
var t=curnode.offsetTop;ret.y+=isNaN(t)?0:t;if(d.isSafari&&curnode!=node){var cs=gcs(curnode);ret.x+=px(curnode,cs.borderLeftWidth);ret.y+=px(curnode,cs.borderTopWidth);}
curnode=curnode.offsetParent;}while((curnode!=endNode)&&curnode);}else if(node.x&&node.y){ret.x+=isNaN(node.x)?0:node.x;ret.y+=isNaN(node.y)?0:node.y;}}
if(includeScroll){var scroll=d._docScroll();ret.y+=scroll.y;ret.x+=scroll.x;}
return ret;}
dojo.coords=function(node,includeScroll){var n=d.byId(node),s=gcs(n),mb=d._getMarginBox(n,s);var abs=d._abs(n,includeScroll);mb.x=abs.x;mb.y=abs.y;return mb;}
var _fixAttrName=function(name){switch(name.toLowerCase()){case"tabindex":return(d.isIE&&d.isIE<8)?"tabIndex":"tabindex";default:return name;}}
var _attrProps={colspan:"colSpan",enctype:"enctype",frameborder:"frameborder",method:"method",rowspan:"rowSpan",scrolling:"scrolling",shape:"shape",span:"span",type:"type",valuetype:"valueType"}
dojo.hasAttr=function(node,name){var attr=d.byId(node).getAttributeNode(_fixAttrName(name));return attr?attr.specified:false;}
var _evtHdlrMap={}
var _ctr=0;var _attrId=dojo._scopeName+"attrid";dojo.attr=function(node,name,value){var args=arguments.length;if(args==2&&!d.isString(name)){for(var x in name){d.attr(node,x,name[x]);}
return;}
node=d.byId(node);name=_fixAttrName(name);if(args==3){if(d.isFunction(value)){var attrId=d.attr(node,_attrId);if(!attrId){attrId=_ctr++;d.attr(node,_attrId,attrId);}
if(!_evtHdlrMap[attrId]){_evtHdlrMap[attrId]={};}
var h=_evtHdlrMap[attrId][name];if(h){d.disconnect(h);}else{try{delete node[name];}catch(e){}}
_evtHdlrMap[attrId][name]=d.connect(node,name,value);}else if(typeof value=="boolean"){node[name]=value;}else{node.setAttribute(name,value);}
return;}else{var prop=_attrProps[name.toLowerCase()];if(prop){return node[prop];}else{var value=node[name];return(typeof value=='boolean'||typeof value=='function')?value:(d.hasAttr(node,name)?node.getAttribute(name):null);}}}
dojo.removeAttr=function(node,name){d.byId(node).removeAttribute(_fixAttrName(name));}})();dojo.hasClass=function(node,classStr){return((" "+dojo.byId(node).className+" ").indexOf(" "+classStr+" ")>=0);};dojo.addClass=function(node,classStr){node=dojo.byId(node);var cls=node.className;if((" "+cls+" ").indexOf(" "+classStr+" ")<0){node.className=cls+(cls?' ':'')+classStr;}};dojo.removeClass=function(node,classStr){node=dojo.byId(node);var t=dojo.trim((" "+node.className+" ").replace(" "+classStr+" "," "));if(node.className!=t){node.className=t;}};dojo.toggleClass=function(node,classStr,condition){if(condition===undefined){condition=!dojo.hasClass(node,classStr);}
dojo[condition?"addClass":"removeClass"](node,classStr);};}
if(!dojo._hasResource["dojo._base.fx"]){dojo._hasResource["dojo._base.fx"]=true;dojo.provide("dojo._base.fx");dojo.require("dojo._base.Color");dojo.require("dojo._base.connect");dojo.require("dojo._base.declare");dojo.require("dojo._base.lang");dojo.require("dojo._base.html");(function(){var d=dojo;dojo._Line=function(start,end){this.start=start;this.end=end;this.getValue=function(n){return((this.end-this.start)*n)+this.start;}}
d.declare("dojo._Animation",null,{constructor:function(args){d.mixin(this,args);if(d.isArray(this.curve)){this.curve=new d._Line(this.curve[0],this.curve[1]);}},duration:350,repeat:0,rate:10,_percent:0,_startRepeatCount:0,_fire:function(evt,args){try{if(this[evt]){this[evt].apply(this,args||[]);}}catch(e){console.error("exception in animation handler for:",evt);console.error(e);}
return this;},play:function(delay,gotoStart){var _t=this;if(gotoStart){_t._stopTimer();_t._active=_t._paused=false;_t._percent=0;}else if(_t._active&&!_t._paused){return _t;}
_t._fire("beforeBegin");var de=delay||_t.delay;var _p=dojo.hitch(_t,"_play",gotoStart);if(de>0){setTimeout(_p,de);return _t;}
_p();return _t;},_play:function(gotoStart){var _t=this;_t._startTime=new Date().valueOf();if(_t._paused){_t._startTime-=_t.duration*_t._percent;}
_t._endTime=_t._startTime+_t.duration;_t._active=true;_t._paused=false;var value=_t.curve.getValue(_t._percent);if(!_t._percent){if(!_t._startRepeatCount){_t._startRepeatCount=_t.repeat;}
_t._fire("onBegin",[value]);}
_t._fire("onPlay",[value]);_t._cycle();return _t;},pause:function(){this._stopTimer();if(!this._active){return this;}
this._paused=true;this._fire("onPause",[this.curve.getValue(this._percent)]);return this;},gotoPercent:function(percent,andPlay){this._stopTimer();this._active=this._paused=true;this._percent=percent;if(andPlay){this.play();}
return this;},stop:function(gotoEnd){if(!this._timer){return this;}
this._stopTimer();if(gotoEnd){this._percent=1;}
this._fire("onStop",[this.curve.getValue(this._percent)]);this._active=this._paused=false;return this;},status:function(){if(this._active){return this._paused?"paused":"playing";}
return"stopped";},_cycle:function(){var _t=this;if(_t._active){var curr=new Date().valueOf();var step=(curr-_t._startTime)/(_t._endTime-_t._startTime);if(step>=1){step=1;}
_t._percent=step;if(_t.easing){step=_t.easing(step);}
_t._fire("onAnimate",[_t.curve.getValue(step)]);if(_t._percent<1){_t._startTimer();}else{_t._active=false;if(_t.repeat>0){_t.repeat--;_t.play(null,true);}else if(_t.repeat==-1){_t.play(null,true);}else{if(_t._startRepeatCount){_t.repeat=_t._startRepeatCount;_t._startRepeatCount=0;}}
_t._percent=0;_t._fire("onEnd");_t._stopTimer();}}
return _t;}});var ctr=0;var _globalTimerList=[];var runner={run:function(){}};var timer=null;dojo._Animation.prototype._startTimer=function(){if(!this._timer){this._timer=d.connect(runner,"run",this,"_cycle");ctr++;}
if(!timer){timer=setInterval(d.hitch(runner,"run"),this.rate);}};dojo._Animation.prototype._stopTimer=function(){if(this._timer){d.disconnect(this._timer);this._timer=null;ctr--;}
if(ctr<=0){clearInterval(timer);timer=null;ctr=0;}};var _makeFadeable=(d.isIE)?function(node){var ns=node.style;if(!ns.zoom.length&&d.style(node,"zoom")=="normal"){ns.zoom="1";}
if(!ns.width.length&&d.style(node,"width")=="auto"){ns.width="auto";}}:function(){};dojo._fade=function(args){args.node=d.byId(args.node);var fArgs=d.mixin({properties:{}},args);var props=(fArgs.properties.opacity={});props.start=!("start"in fArgs)?function(){return Number(d.style(fArgs.node,"opacity"));}:fArgs.start;props.end=fArgs.end;var anim=d.animateProperty(fArgs);d.connect(anim,"beforeBegin",d.partial(_makeFadeable,fArgs.node));return anim;}
dojo.fadeIn=function(args){return d._fade(d.mixin({end:1},args));}
dojo.fadeOut=function(args){return d._fade(d.mixin({end:0},args));}
dojo._defaultEasing=function(n){return 0.5+((Math.sin((n+1.5)*Math.PI))/2);}
var PropLine=function(properties){this._properties=properties;for(var p in properties){var prop=properties[p];if(prop.start instanceof d.Color){prop.tempColor=new d.Color();}}
this.getValue=function(r){var ret={};for(var p in this._properties){var prop=this._properties[p];var start=prop.start;if(start instanceof d.Color){ret[p]=d.blendColors(start,prop.end,r,prop.tempColor).toCss();}else if(!d.isArray(start)){ret[p]=((prop.end-start)*r)+start+(p!="opacity"?prop.units||"px":"");}}
return ret;}}
dojo.animateProperty=function(args){args.node=d.byId(args.node);if(!args.easing){args.easing=d._defaultEasing;}
var anim=new d._Animation(args);d.connect(anim,"beforeBegin",anim,function(){var pm={};for(var p in this.properties){if(p=="width"||p=="height"){this.node.display="block";}
var prop=this.properties[p];prop=pm[p]=d.mixin({},(d.isObject(prop)?prop:{end:prop}));if(d.isFunction(prop.start)){prop.start=prop.start();}
if(d.isFunction(prop.end)){prop.end=prop.end();}
var isColor=(p.toLowerCase().indexOf("color")>=0);function getStyle(node,p){var v=({height:node.offsetHeight,width:node.offsetWidth})[p];if(v!==undefined){return v;}
v=d.style(node,p);return(p=="opacity")?Number(v):(isColor?v:parseFloat(v));}
if(!("end"in prop)){prop.end=getStyle(this.node,p);}else if(!("start"in prop)){prop.start=getStyle(this.node,p);}
if(isColor){prop.start=new d.Color(prop.start);prop.end=new d.Color(prop.end);}else{prop.start=(p=="opacity")?Number(prop.start):parseFloat(prop.start);}}
this.curve=new PropLine(pm);});d.connect(anim,"onAnimate",anim,function(propValues){for(var s in propValues){d.style(this.node,s,propValues[s]);}});return anim;}
dojo.anim=function(node,properties,duration,easing,onEnd,delay){return d.animateProperty({node:node,duration:duration||d._Animation.prototype.duration,properties:properties,easing:easing,onEnd:onEnd}).play(delay||0);}})();}
if(!dojo._hasResource["dijit.form.Slider"]){dojo._hasResource["dijit.form.Slider"]=true;dojo.provide("dijit.form.Slider");dojo.require("dijit.form._FormWidget");dojo.require("dijit._Container");dojo.require("dojo.dnd.move");dojo.require("dijit.form.Button");dojo.require("dojo.number");dojo.require("dojo._base.fx");dojo.declare("dijit.form.HorizontalSlider",[dijit.form._FormValueWidget,dijit._Container],{templateString:"<table class=\"dijit dijitReset dijitSlider\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" rules=\"none\"\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t\t><td dojoAttachPoint=\"containerNode,topDecoration\" class=\"dijitReset\" style=\"text-align:center;width:100%;\"></td\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH\"\n\t\t\t><div class=\"dijitSliderDecrementIconH\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"decrementButton\" dojoAttachEvent=\"onclick: decrement\"><span class=\"dijitSliderButtonInner\">-</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderLeftBumper dijitSliderLeftBumper\" dojoAttachEvent=\"onclick:_onClkDecBumper\"></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><input dojoAttachPoint=\"valueNode\" type=\"hidden\" name=\"${name}\"\n\t\t\t/><div waiRole=\"presentation\" style=\"position:relative;\" dojoAttachPoint=\"sliderBarContainer\"\n\t\t\t\t><div waiRole=\"presentation\" dojoAttachPoint=\"progressBar\" class=\"dijitSliderBar dijitSliderBarH dijitSliderProgressBar dijitSliderProgressBarH\" dojoAttachEvent=\"onclick:_onBarClick\"\n\t\t\t\t\t><div dojoAttachPoint=\"sliderHandle,focusNode\" class=\"dijitSliderMoveable dijitSliderMoveableH\" dojoAttachEvent=\"onkeypress:_onKeyPress,onmousedown:_onHandleClick\" waiRole=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"\n\t\t\t\t\t\t><div class=\"dijitSliderImageHandle dijitSliderImageHandleH\"></div\n\t\t\t\t\t></div\n\t\t\t\t></div\n\t\t\t\t><div waiRole=\"presentation\" dojoAttachPoint=\"remainingBar\" class=\"dijitSliderBar dijitSliderBarH dijitSliderRemainingBar dijitSliderRemainingBarH\" dojoAttachEvent=\"onclick:_onBarClick\"></div\n\t\t\t></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderRightBumper dijitSliderRightBumper\" dojoAttachEvent=\"onclick:_onClkIncBumper\"></div\n\t\t></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH\" style=\"right:0px;\"\n\t\t\t><div class=\"dijitSliderIncrementIconH\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"incrementButton\" dojoAttachEvent=\"onclick: increment\"><span class=\"dijitSliderButtonInner\">+</span></div\n\t\t></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t\t><td dojoAttachPoint=\"containerNode,bottomDecoration\" class=\"dijitReset\" style=\"text-align:center;\"></td\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t></tr\n></table>\n",value:0,showButtons:true,minimum:0,maximum:100,discreteValues:Infinity,pageIncrement:2,clickSelect:true,slideDuration:1000,widgetsInTemplate:true,attributeMap:dojo.mixin(dojo.clone(dijit.form._FormWidget.prototype.attributeMap),{id:"",name:"valueNode"}),baseClass:"dijitSlider",_mousePixelCoord:"pageX",_pixelCount:"w",_startingPixelCoord:"x",_startingPixelCount:"l",_handleOffsetCoord:"left",_progressPixelSize:"width",_onKeyPress:function(e){if(this.disabled||this.readOnly||e.altKey||e.ctrlKey){return;}
switch(e.keyCode){case dojo.keys.HOME:this.setValue(this.minimum,true);break;case dojo.keys.END:this.setValue(this.maximum,true);break;case((this._descending||this.isLeftToRight())?dojo.keys.RIGHT_ARROW:dojo.keys.LEFT_ARROW):case(this._descending===false?dojo.keys.DOWN_ARROW:dojo.keys.UP_ARROW):case(this._descending===false?dojo.keys.PAGE_DOWN:dojo.keys.PAGE_UP):this.increment(e);break;case((this._descending||this.isLeftToRight())?dojo.keys.LEFT_ARROW:dojo.keys.RIGHT_ARROW):case(this._descending===false?dojo.keys.UP_ARROW:dojo.keys.DOWN_ARROW):case(this._descending===false?dojo.keys.PAGE_UP:dojo.keys.PAGE_DOWN):this.decrement(e);break;default:this.inherited(arguments);return;}
dojo.stopEvent(e);},_onHandleClick:function(e){if(this.disabled||this.readOnly){return;}
if(!dojo.isIE){dijit.focus(this.sliderHandle);}
dojo.stopEvent(e);},_isReversed:function(){return!this.isLeftToRight();},_onBarClick:function(e){if(this.disabled||this.readOnly||!this.clickSelect){return;}
dijit.focus(this.sliderHandle);dojo.stopEvent(e);var abspos=dojo.coords(this.sliderBarContainer,true);var pixelValue=e[this._mousePixelCoord]-abspos[this._startingPixelCoord];this._setPixelValue(this._isReversed()?(abspos[this._pixelCount]-pixelValue):pixelValue,abspos[this._pixelCount],true);},_setPixelValue:function(pixelValue,maxPixels,priorityChange){if(this.disabled||this.readOnly){return;}
pixelValue=pixelValue<0?0:maxPixels<pixelValue?maxPixels:pixelValue;var count=this.discreteValues;if(count<=1||count==Infinity){count=maxPixels;}
count--;var pixelsPerValue=maxPixels/count;var wholeIncrements=Math.round(pixelValue/pixelsPerValue);this.setValue((this.maximum-this.minimum)*wholeIncrements/count+this.minimum,priorityChange);},setValue:function(value,priorityChange){this.valueNode.value=this.value=value;dijit.setWaiState(this.focusNode,"valuenow",value);this.inherited(arguments);var percent=(value-this.minimum)/(this.maximum-this.minimum);var progressBar=(this._descending===false)?this.remainingBar:this.progressBar;var remainingBar=(this._descending===false)?this.progressBar:this.remainingBar;if(priorityChange&&this.slideDuration>0&&progressBar.style[this._progressPixelSize]){var _this=this;var props={};var start=parseFloat(progressBar.style[this._progressPixelSize]);var duration=this.slideDuration*(percent-start/100);if(duration==0){return;}
if(duration<0){duration=0-duration;}
props[this._progressPixelSize]={start:start,end:percent*100,units:"%"};dojo.animateProperty({node:progressBar,duration:duration,onAnimate:function(v){remainingBar.style[_this._progressPixelSize]=(100-parseFloat(v[_this._progressPixelSize]))+"%";},properties:props}).play();}
else{progressBar.style[this._progressPixelSize]=(percent*100)+"%";remainingBar.style[this._progressPixelSize]=((1-percent)*100)+"%";}},_bumpValue:function(signedChange){if(this.disabled||this.readOnly){return;}
var s=dojo.getComputedStyle(this.sliderBarContainer);var c=dojo._getContentBox(this.sliderBarContainer,s);var count=this.discreteValues;if(count<=1||count==Infinity){count=c[this._pixelCount];}
count--;var value=(this.value-this.minimum)*count/(this.maximum-this.minimum)+signedChange;if(value<0){value=0;}
if(value>count){value=count;}
value=value*(this.maximum-this.minimum)/count+this.minimum;this.setValue(value,true);},_onClkIncBumper:function(){this.setValue(this._descending===false?this.minimum:this.maximum,true);},_onClkDecBumper:function(){this.setValue(this._descending===false?this.maximum:this.minimum,true);},decrement:function(e){this._bumpValue(e.keyCode==dojo.keys.PAGE_DOWN?-this.pageIncrement:-1);},increment:function(e){this._bumpValue(e.keyCode==dojo.keys.PAGE_UP?this.pageIncrement:1);},_mouseWheeled:function(evt){dojo.stopEvent(evt);var scrollAmount=0;if(typeof evt.wheelDelta=='number'){scrollAmount=evt.wheelDelta;}else if(typeof evt.detail=='number'){scrollAmount=-evt.detail;}
if(scrollAmount>0){this.increment(evt);}else if(scrollAmount<0){this.decrement(evt);}},startup:function(){dojo.forEach(this.getChildren(),function(child){if(this[child.container]!=this.containerNode){this[child.container].appendChild(child.domNode);}},this);},postCreate:function(){if(this.showButtons){this.incrementButton.style.display="";this.decrementButton.style.display="";}
this.connect(this.domNode,dojo.isIE?"onmousewheel":'DOMMouseScroll',"_mouseWheeled");var _self=this;var mover=function(){dijit.form._SliderMover.apply(this,arguments);this.widget=_self;};dojo.extend(mover,dijit.form._SliderMover.prototype);this._movable=new dojo.dnd.Moveable(this.sliderHandle,{mover:mover});dijit.setWaiState(this.focusNode,"valuemin",this.minimum);dijit.setWaiState(this.focusNode,"valuemax",this.maximum);this.inherited(arguments);},destroy:function(){this._movable.destroy();this.inherited(arguments);}});dojo.declare("dijit.form.VerticalSlider",dijit.form.HorizontalSlider,{templateString:"<table class=\"dijitReset dijitSlider\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" rules=\"none\"\n><tbody class=\"dijitReset\"\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV\"\n\t\t\t><div class=\"dijitSliderIncrementIconV\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"incrementButton\" dojoAttachEvent=\"onclick:_topButtonClicked\"><span class=\"dijitSliderButtonInner\">+</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><center><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderTopBumper dijitSliderTopBumper\" dojoAttachEvent=\"onclick:_onClkIncBumper\"></div></center\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td dojoAttachPoint=\"leftDecoration\" class=\"dijitReset\" style=\"text-align:center;height:100%;\"></td\n\t\t><td class=\"dijitReset\" style=\"height:100%;\"\n\t\t\t><input dojoAttachPoint=\"valueNode\" type=\"hidden\" name=\"${name}\"\n\t\t\t/><center waiRole=\"presentation\" style=\"position:relative;height:100%;\" dojoAttachPoint=\"sliderBarContainer\"\n\t\t\t\t><div waiRole=\"presentation\" dojoAttachPoint=\"remainingBar\" class=\"dijitSliderBar dijitSliderBarV dijitSliderRemainingBar dijitSliderRemainingBarV\" dojoAttachEvent=\"onclick:_onBarClick\"><!--#5629--></div\n\t\t\t\t><div waiRole=\"presentation\" dojoAttachPoint=\"progressBar\" class=\"dijitSliderBar dijitSliderBarV dijitSliderProgressBar dijitSliderProgressBarV\" dojoAttachEvent=\"onclick:_onBarClick\"\n\t\t\t\t\t><div dojoAttachPoint=\"sliderHandle,focusNode\" class=\"dijitSliderMoveable\" dojoAttachEvent=\"onkeypress:_onKeyPress,onmousedown:_onHandleClick\" style=\"vertical-align:top;\" waiRole=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"\n\t\t\t\t\t\t><div class=\"dijitSliderImageHandle dijitSliderImageHandleV\"></div\n\t\t\t\t\t></div\n\t\t\t\t></div\n\t\t\t></center\n\t\t></td\n\t\t><td dojoAttachPoint=\"containerNode,rightDecoration\" class=\"dijitReset\" style=\"text-align:center;height:100%;\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><center><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderBottomBumper dijitSliderBottomBumper\" dojoAttachEvent=\"onclick:_onClkDecBumper\"></div></center\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV\"\n\t\t\t><div class=\"dijitSliderDecrementIconV\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"decrementButton\" dojoAttachEvent=\"onclick:_bottomButtonClicked\"><span class=\"dijitSliderButtonInner\">-</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n></tbody></table>\n",_mousePixelCoord:"pageY",_pixelCount:"h",_startingPixelCoord:"y",_startingPixelCount:"t",_handleOffsetCoord:"top",_progressPixelSize:"height",_descending:true,startup:function(){if(this._started){return;}
if(!this.isLeftToRight()&&dojo.isMoz){if(this.leftDecoration){this._rtlRectify(this.leftDecoration);}
if(this.rightDecoration){this._rtlRectify(this.rightDecoration);}}
this.inherited(arguments);},_isReversed:function(){return this._descending;},_topButtonClicked:function(e){if(this._descending){this.increment(e);}else{this.decrement(e);}},_bottomButtonClicked:function(e){if(this._descending){this.decrement(e);}else{this.increment(e);}},_rtlRectify:function(decorationNode){var childNodes=[];while(decorationNode.firstChild){childNodes.push(decorationNode.firstChild);decorationNode.removeChild(decorationNode.firstChild);}
for(var i=childNodes.length-1;i>=0;i--){if(childNodes[i]){decorationNode.appendChild(childNodes[i]);}}}});dojo.declare("dijit.form._SliderMover",dojo.dnd.Mover,{onMouseMove:function(e){var widget=this.widget;var abspos=widget._abspos;if(!abspos){abspos=widget._abspos=dojo.coords(widget.sliderBarContainer,true);widget._setPixelValue_=dojo.hitch(widget,"_setPixelValue");widget._isReversed_=widget._isReversed();}
var pixelValue=e[widget._mousePixelCoord]-abspos[widget._startingPixelCoord];widget._setPixelValue_(widget._isReversed_?(abspos[widget._pixelCount]-pixelValue):pixelValue,abspos[widget._pixelCount],false);},destroy:function(e){dojo.dnd.Mover.prototype.destroy.apply(this,arguments);var widget=this.widget;widget.setValue(widget.value,true);}});dojo.declare("dijit.form.HorizontalRule",[dijit._Widget,dijit._Templated],{templateString:'<div class="dijitRuleContainer dijitRuleContainerH"></div>',count:3,container:"containerNode",ruleStyle:"",_positionPrefix:'<div class="dijitRuleMark dijitRuleMarkH" style="left:',_positionSuffix:'%;',_suffix:'"></div>',_genHTML:function(pos,ndx){return this._positionPrefix+pos+this._positionSuffix+this.ruleStyle+this._suffix;},_isHorizontal:true,postCreate:function(){var innerHTML;if(this.count==1){innerHTML=this._genHTML(50,0);}else{var i;var interval=100/(this.count-1);if(!this._isHorizontal||this.isLeftToRight()){innerHTML=this._genHTML(0,0);for(i=1;i<this.count-1;i++){innerHTML+=this._genHTML(interval*i,i);}
innerHTML+=this._genHTML(100,this.count-1);}else{innerHTML=this._genHTML(100,0);for(i=1;i<this.count-1;i++){innerHTML+=this._genHTML(100-interval*i,i);}
innerHTML+=this._genHTML(0,this.count-1);}}
this.domNode.innerHTML=innerHTML;}});dojo.declare("dijit.form.VerticalRule",dijit.form.HorizontalRule,{templateString:'<div class="dijitRuleContainer dijitRuleContainerV"></div>',_positionPrefix:'<div class="dijitRuleMark dijitRuleMarkV" style="top:',_isHorizontal:false});dojo.declare("dijit.form.HorizontalRuleLabels",dijit.form.HorizontalRule,{templateString:'<div class="dijitRuleContainer dijitRuleContainerH"></div>',labelStyle:"",labels:[],numericMargin:0,minimum:0,maximum:1,constraints:{pattern:"#%"},_positionPrefix:'<div class="dijitRuleLabelContainer dijitRuleLabelContainerH" style="left:',_labelPrefix:'"><span class="dijitRuleLabel dijitRuleLabelH">',_suffix:'</span></div>',_calcPosition:function(pos){return pos;},_genHTML:function(pos,ndx){return this._positionPrefix+this._calcPosition(pos)+this._positionSuffix+this.labelStyle+this._labelPrefix+this.labels[ndx]+this._suffix;},getLabels:function(){var labels=this.labels;if(!labels.length){labels=dojo.query("> li",this.srcNodeRef).map(function(node){return String(node.innerHTML);});}
this.srcNodeRef.innerHTML='';if(!labels.length&&this.count>1){var start=this.minimum;var inc=(this.maximum-start)/(this.count-1);for(var i=0;i<this.count;i++){labels.push((i<this.numericMargin||i>=(this.count-this.numericMargin))?'':dojo.number.format(start,this.constraints));start+=inc;}}
return labels;},postMixInProperties:function(){this.inherited(arguments);this.labels=this.getLabels();this.count=this.labels.length;}});dojo.declare("dijit.form.VerticalRuleLabels",dijit.form.HorizontalRuleLabels,{templateString:'<div class="dijitRuleContainer dijitRuleContainerV"></div>',_positionPrefix:'<div class="dijitRuleLabelContainer dijitRuleLabelContainerV" style="top:',_labelPrefix:'"><span class="dijitRuleLabel dijitRuleLabelV">',_calcPosition:function(pos){return 100-pos;},_isHorizontal:false});}
if(!dojo._hasResource["dijit._editor.selection"]){dojo._hasResource["dijit._editor.selection"]=true;dojo.provide("dijit._editor.selection");dojo.mixin(dijit._editor.selection,{getType:function(){if(dojo.doc.selection){return dojo.doc.selection.type.toLowerCase();}else{var stype="text";var oSel;try{oSel=dojo.global.getSelection();}catch(e){}
if(oSel&&oSel.rangeCount==1){var oRange=oSel.getRangeAt(0);if((oRange.startContainer==oRange.endContainer)&&((oRange.endOffset-oRange.startOffset)==1)&&(oRange.startContainer.nodeType!=3)){stype="control";}}
return stype;}},getSelectedText:function(){if(dojo.doc.selection){if(dijit._editor.selection.getType()=='control'){return null;}
return dojo.doc.selection.createRange().text;}else{var selection=dojo.global.getSelection();if(selection){return selection.toString();}}
return''},getSelectedHtml:function(){if(dojo.doc.selection){if(dijit._editor.selection.getType()=='control'){return null;}
return dojo.doc.selection.createRange().htmlText;}else{var selection=dojo.global.getSelection();if(selection&&selection.rangeCount){var frag=selection.getRangeAt(0).cloneContents();var div=dojo.doc.createElement("div");div.appendChild(frag);return div.innerHTML;}
return null;}},getSelectedElement:function(){if(this.getType()=="control"){if(dojo.doc.selection){var range=dojo.doc.selection.createRange();if(range&&range.item){return dojo.doc.selection.createRange().item(0);}}else{var selection=dojo.global.getSelection();return selection.anchorNode.childNodes[selection.anchorOffset];}}
return null;},getParentElement:function(){if(this.getType()=="control"){var p=this.getSelectedElement();if(p){return p.parentNode;}}else{if(dojo.doc.selection){return dojo.doc.selection.createRange().parentElement();}else{var selection=dojo.global.getSelection();if(selection){var node=selection.anchorNode;while(node&&(node.nodeType!=1)){node=node.parentNode;}
return node;}}}
return null;},hasAncestorElement:function(tagName){return this.getAncestorElement.apply(this,arguments)!=null;},getAncestorElement:function(tagName){var node=this.getSelectedElement()||this.getParentElement();return this.getParentOfType(node,arguments);},isTag:function(node,tags){if(node&&node.tagName){var _nlc=node.tagName.toLowerCase();for(var i=0;i<tags.length;i++){var _tlc=String(tags[i]).toLowerCase();if(_nlc==_tlc){return _tlc;}}}
return"";},getParentOfType:function(node,tags){while(node){if(this.isTag(node,tags).length){return node;}
node=node.parentNode;}
return null;},collapse:function(beginning){if(window['getSelection']){var selection=dojo.global.getSelection();if(selection.removeAllRanges){if(beginning){selection.collapseToStart();}else{selection.collapseToEnd();}}else{selection.collapse(beginning);}}else if(dojo.doc.selection){var range=dojo.doc.selection.createRange();range.collapse(beginning);range.select();}},remove:function(){var _s=dojo.doc.selection;if(_s){if(_s.type.toLowerCase()!="none"){_s.clear();}
return _s;}else{_s=dojo.global.getSelection();_s.deleteFromDocument();return _s;}},selectElementChildren:function(element,nochangefocus){var _window=dojo.global;var _document=dojo.doc;element=dojo.byId(element);if(_document.selection&&dojo.body().createTextRange){var range=element.ownerDocument.body.createTextRange();range.moveToElementText(element);if(!nochangefocus){try{range.select();}catch(e){}}}else if(_window.getSelection){var selection=_window.getSelection();if(selection.setBaseAndExtent){selection.setBaseAndExtent(element,0,element,element.innerText.length-1);}else if(selection.selectAllChildren){selection.selectAllChildren(element);}}},selectElement:function(element,nochangefocus){var range,_document=dojo.doc;element=dojo.byId(element);if(_document.selection&&dojo.body().createTextRange){try{range=dojo.body().createControlRange();range.addElement(element);if(!nochangefocus){range.select();}}catch(e){this.selectElementChildren(element,nochangefocus);}}else if(dojo.global.getSelection){var selection=dojo.global.getSelection();if(selection.removeAllRanges){range=_document.createRange();range.selectNode(element);selection.removeAllRanges();selection.addRange(range);}}}});}
if(!dojo._hasResource["dijit._editor.html"]){dojo._hasResource["dijit._editor.html"]=true;dojo.provide("dijit._editor.html");dijit._editor.escapeXml=function(str,noSingleQuotes){str=str.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");if(!noSingleQuotes){str=str.replace(/'/gm,"&#39;");}
return str;};dijit._editor.getNodeHtml=function(node){var output;switch(node.nodeType){case 1:output='<'+node.nodeName.toLowerCase();var attrarray=[];if(dojo.isIE&&node.outerHTML){var s=node.outerHTML;s=s.substr(0,s.indexOf('>'));s=s.replace(/(['"])[^"']*\1/g,'');var reg=/([^\s=]+)=/g;var m,key;while((m=reg.exec(s))){key=m[1];if(key.substr(0,3)!='_dj'){if(key=='src'||key=='href'){if(node.getAttribute('_djrealurl')){attrarray.push([key,node.getAttribute('_djrealurl')]);continue;}}
if(key=='style'){attrarray.push([key,node.style.cssText.toLowerCase()]);}else{attrarray.push([key,key=='class'?node.className:node.getAttribute(key)]);}}}}else{var attr,i=0,attrs=node.attributes;while((attr=attrs[i++])){var n=attr.name;if(n.substr(0,3)!='_dj'){var v=attr.value;if(n=='src'||n=='href'){if(node.getAttribute('_djrealurl')){v=node.getAttribute('_djrealurl');}}
attrarray.push([n,v]);}}}
attrarray.sort(function(a,b){return a[0]<b[0]?-1:(a[0]==b[0]?0:1);});i=0;while((attr=attrarray[i++])){output+=' '+attr[0]+'="'+dijit._editor.escapeXml(attr[1],true)+'"';}
if(node.childNodes.length){output+='>'+dijit._editor.getChildrenHtml(node)+'</'+node.nodeName.toLowerCase()+'>';}else{output+=' />';}
break;case 3:output=dijit._editor.escapeXml(node.nodeValue,true);break;case 8:output='<!--'+dijit._editor.escapeXml(node.nodeValue,true)+'-->';break;default:output="Element not recognized - Type: "+node.nodeType+" Name: "+node.nodeName;}
return output;};dijit._editor.getChildrenHtml=function(dom){var out="";if(!dom){return out;}
var nodes=dom["childNodes"]||dom;var i=0;var node;while((node=nodes[i++])){out+=dijit._editor.getNodeHtml(node);}
return out;}}
if(!dojo._hasResource["dijit._editor.RichText"]){dojo._hasResource["dijit._editor.RichText"]=true;dojo.provide("dijit._editor.RichText");dojo.require("dijit._Widget");dojo.require("dijit._editor.selection");dojo.require("dijit._editor.html");dojo.require("dojo.i18n");dojo.requireLocalization("dijit","Textarea",null,"ROOT");if(!dojo.config["useXDomain"]||dojo.config["allowXdRichTextSave"]){if(dojo._postLoad){(function(){var savetextarea=dojo.doc.createElement('textarea');savetextarea.id=dijit._scopeName+"._editor.RichText.savedContent";var s=savetextarea.style;s.display='none';s.position='absolute';s.top="-100px";s.left="-100px";s.height="3px";s.width="3px";dojo.body().appendChild(savetextarea);})();}else{try{dojo.doc.write('<textarea id="'+dijit._scopeName+'._editor.RichText.savedContent" '+'style="display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;"></textarea>');}catch(e){}}}
dojo.declare("dijit._editor.RichText",dijit._Widget,{constructor:function(){this.contentPreFilters=[];this.contentPostFilters=[];this.contentDomPreFilters=[];this.contentDomPostFilters=[];this.editingAreaStyleSheets=[];this._keyHandlers={};this.contentPreFilters.push(dojo.hitch(this,"_preFixUrlAttributes"));if(dojo.isMoz){this.contentPreFilters.push(this._fixContentForMoz);this.contentPostFilters.push(this._removeMozBogus);}else if(dojo.isSafari){this.contentPostFilters.push(this._removeSafariBogus);}
this.onLoadDeferred=new dojo.Deferred();},inheritWidth:false,focusOnLoad:false,name:"",styleSheets:"",_content:"",height:"300px",minHeight:"1em",isClosed:true,isLoaded:false,_SEPARATOR:"@@**%%__RICHTEXTBOUNDRY__%%**@@",onLoadDeferred:null,postCreate:function(){dojo.publish(dijit._scopeName+"._editor.RichText::init",[this]);this.open();this.setupDefaultShortcuts();},setupDefaultShortcuts:function(){var exec=function(cmd,arg){return arguments.length==1?function(){this.execCommand(cmd);}:function(){this.execCommand(cmd,arg);};};var ctrlKeyHandlers={b:exec("bold"),i:exec("italic"),u:exec("underline"),a:exec("selectall"),s:function(){this.save(true);},"1":exec("formatblock","h1"),"2":exec("formatblock","h2"),"3":exec("formatblock","h3"),"4":exec("formatblock","h4"),"\\":exec("insertunorderedlist")};if(!dojo.isIE){ctrlKeyHandlers.Z=exec("redo");}
for(var key in ctrlKeyHandlers){this.addKeyHandler(key,this.KEY_CTRL,ctrlKeyHandlers[key]);}},events:["onKeyPress","onKeyDown","onKeyUp","onClick"],captureEvents:[],_editorCommandsLocalized:false,_localizeEditorCommands:function(){if(this._editorCommandsLocalized){return;}
this._editorCommandsLocalized=true;var formats=['p','pre','address','h1','h2','h3','h4','h5','h6','ol','div','ul'];var localhtml="",format,i=0;while((format=formats[i++])){if(format.charAt(1)!='l'){localhtml+="<"+format+"><span>content</span></"+format+">";}else{localhtml+="<"+format+"><li>content</li></"+format+">";}}
var div=dojo.doc.createElement('div');div.style.position="absolute";div.style.left="-2000px";div.style.top="-2000px";dojo.doc.body.appendChild(div);div.innerHTML=localhtml;var node=div.firstChild;while(node){dijit._editor.selection.selectElement(node.firstChild);dojo.withGlobal(this.window,"selectElement",dijit._editor.selection,[node.firstChild]);var nativename=node.tagName.toLowerCase();this._local2NativeFormatNames[nativename]=dojo.doc.queryCommandValue("formatblock");this._native2LocalFormatNames[this._local2NativeFormatNames[nativename]]=nativename;node=node.nextSibling;}
dojo.doc.body.removeChild(div);},open:function(element){if((!this.onLoadDeferred)||(this.onLoadDeferred.fired>=0)){this.onLoadDeferred=new dojo.Deferred();}
if(!this.isClosed){this.close();}
dojo.publish(dijit._scopeName+"._editor.RichText::open",[this]);this._content="";if((arguments.length==1)&&(element["nodeName"])){this.domNode=element;}
var html;if((this.domNode["nodeName"])&&(this.domNode.nodeName.toLowerCase()=="textarea")){this.textarea=this.domNode;this.name=this.textarea.name;html=this._preFilterContent(this.textarea.value);this.domNode=dojo.doc.createElement("div");this.domNode.setAttribute('widgetId',this.id);this.textarea.removeAttribute('widgetId');this.domNode.cssText=this.textarea.cssText;this.domNode.className+=" "+this.textarea.className;dojo.place(this.domNode,this.textarea,"before");var tmpFunc=dojo.hitch(this,function(){dojo.attr(this.textarea,'tabIndex','-1');with(this.textarea.style){display="block";position="absolute";left=top="-1000px";if(dojo.isIE){this.__overflow=overflow;overflow="hidden";}}});if(dojo.isIE){setTimeout(tmpFunc,10);}else{tmpFunc();}}else{html=this._preFilterContent(dijit._editor.getChildrenHtml(this.domNode));this.domNode.innerHTML='';}
if(html==""){html="&nbsp;";}
var content=dojo.contentBox(this.domNode);this._oldHeight=content.h;this._oldWidth=content.w;if((this.domNode["nodeName"])&&(this.domNode.nodeName=="LI")){this.domNode.innerHTML=" <br>";}
this.editingArea=dojo.doc.createElement("div");this.domNode.appendChild(this.editingArea);if(this.name!=""&&(!dojo.config["useXDomain"]||dojo.config["allowXdRichTextSave"])){var saveTextarea=dojo.byId(dijit._scopeName+"._editor.RichText.savedContent");if(saveTextarea.value!=""){var datas=saveTextarea.value.split(this._SEPARATOR),i=0,dat;while((dat=datas[i++])){var data=dat.split(":");if(data[0]==this.name){html=data[1];datas.splice(i,1);break;}}}
this.connect(window,"onbeforeunload","_saveContent");}
this.isClosed=false;if(dojo.isIE||dojo.isSafari||dojo.isOpera){var burl=dojo.moduleUrl("dojo","resources/blank.html")+"";var ifr=this.editorObject=this.iframe=dojo.doc.createElement('iframe');ifr.id=this.id+"_iframe";ifr.src=burl;ifr.style.border="none";ifr.style.width="100%";ifr.frameBorder=0;this.editingArea.appendChild(ifr);var h=null;var loadFunc=dojo.hitch(this,function(){if(h){dojo.disconnect(h);h=null;}
this.window=ifr.contentWindow;var d=this.document=this.window.document;d.open();d.write(this._getIframeDocTxt(html));d.close();if(dojo.isIE>=7){if(this.height){ifr.style.height=this.height;}
if(this.minHeight){ifr.style.minHeight=this.minHeight;}}else{ifr.style.height=this.height?this.height:this.minHeight;}
if(dojo.isIE){this._localizeEditorCommands();}
this.onLoad();this.savedContent=this.getValue(true);});if(dojo.isIE&&dojo.isIE<7){var t=setInterval(function(){if(ifr.contentWindow.isLoaded){clearInterval(t);loadFunc();}},100);}else{h=dojo.connect(((dojo.isIE)?ifr.contentWindow:ifr),"onload",loadFunc);}}else{this._drawIframe(html);this.savedContent=this.getValue(true);}
if(this.domNode.nodeName=="LI"){this.domNode.lastChild.style.marginTop="-1.2em";}
this.domNode.className+=" RichTextEditable";},_local2NativeFormatNames:{},_native2LocalFormatNames:{},_localizedIframeTitles:null,_getIframeDocTxt:function(html){var _cs=dojo.getComputedStyle(this.domNode);if(dojo.isIE||(!this.height&&!dojo.isMoz)){html="<div>"+html+"</div>";}
var font=[_cs.fontWeight,_cs.fontSize,_cs.fontFamily].join(" ");var lineHeight=_cs.lineHeight;if(lineHeight.indexOf("px")>=0){lineHeight=parseFloat(lineHeight)/parseFloat(_cs.fontSize);}else if(lineHeight.indexOf("em")>=0){lineHeight=parseFloat(lineHeight);}else{lineHeight="1.0";}
return[this.isLeftToRight()?"<html><head>":"<html dir='rtl'><head>",(dojo.isMoz?"<title>"+this._localizedIframeTitles.iframeEditTitle+"</title>":""),"<style>","body,html {"," background:transparent;"," font:",font,";"," padding: 1em 0 0 0;"," margin: -1em 0 0 0;"," height: 100%;","}","body{"," top:0px; left:0px; right:0px;",((this.height||dojo.isOpera)?"":"position: fixed;")," min-height:",this.minHeight,";"," line-height:",lineHeight,"}","p{ margin: 1em 0 !important; }",(this.height?"":"body,html{height:auto;overflow-y:hidden;/*for IE*/} body > div {overflow-x:auto;/*for FF to show vertical scrollbar*/}"),"li > ul:-moz-first-node, li > ol:-moz-first-node{ padding-top: 1.2em; } ","li{ min-height:1.2em; }","</style>",this._applyEditingAreaStyleSheets(),"</head><body>"+html+"</body></html>"].join("");},_drawIframe:function(html){if(!this.iframe){var ifr=this.iframe=dojo.doc.createElement("iframe");ifr.id=this.id;var ifrs=ifr.style;ifrs.border="none";ifrs.lineHeight="0";ifrs.verticalAlign="bottom";this.editorObject=this.iframe;this._localizedIframeTitles=dojo.i18n.getLocalization("dijit","Textarea");var label=dojo.query('label[for="'+this.id+'"]');if(label.length){this._localizedIframeTitles.iframeEditTitle=label[0].innerHTML+" "+this._localizedIframeTitles.iframeEditTitle;}}
this.iframe.style.width=this.inheritWidth?this._oldWidth:"100%";if(this.height){this.iframe.style.height=this.height;}else{this.iframe.height=this._oldHeight;}
var tmpContent;if(this.textarea){tmpContent=this.srcNodeRef;}else{tmpContent=dojo.doc.createElement('div');tmpContent.style.display="none";tmpContent.innerHTML=html;this.editingArea.appendChild(tmpContent);}
this.editingArea.appendChild(this.iframe);var _iframeInitialized=false;var contentDoc=this.iframe.contentDocument;contentDoc.open();if(dojo.isAIR){contentDoc.body.innerHTML=html;}else{contentDoc.write(this._getIframeDocTxt(html));}
contentDoc.close();var ifrFunc=dojo.hitch(this,function(){if(!_iframeInitialized){_iframeInitialized=true;}else{return;}
if(!this.editNode){try{if(this.iframe.contentWindow){this.window=this.iframe.contentWindow;this.document=this.iframe.contentWindow.document}else if(this.iframe.contentDocument){this.window=this.iframe.contentDocument.window;this.document=this.iframe.contentDocument;}
if(!this.document.body){throw'Error';}}catch(e){setTimeout(ifrFunc,500);_iframeInitialized=false;return;}
dojo._destroyElement(tmpContent);this.onLoad();}else{dojo._destroyElement(tmpContent);this.editNode.innerHTML=html;this.onDisplayChanged();}
this._preDomFilterContent(this.editNode);});ifrFunc();},_applyEditingAreaStyleSheets:function(){var files=[];if(this.styleSheets){files=this.styleSheets.split(';');this.styleSheets='';}
files=files.concat(this.editingAreaStyleSheets);this.editingAreaStyleSheets=[];var text='',i=0,url;while((url=files[i++])){var abstring=(new dojo._Url(dojo.global.location,url)).toString();this.editingAreaStyleSheets.push(abstring);text+='<link rel="stylesheet" type="text/css" href="'+abstring+'"/>'}
return text;},addStyleSheet:function(uri){var url=uri.toString();if(url.charAt(0)=='.'||(url.charAt(0)!='/'&&!uri.host)){url=(new dojo._Url(dojo.global.location,url)).toString();}
if(dojo.indexOf(this.editingAreaStyleSheets,url)>-1){return;}
this.editingAreaStyleSheets.push(url);if(this.document.createStyleSheet){this.document.createStyleSheet(url);}else{var head=this.document.getElementsByTagName("head")[0];var stylesheet=this.document.createElement("link");with(stylesheet){rel="stylesheet";type="text/css";href=url;}
head.appendChild(stylesheet);}},removeStyleSheet:function(uri){var url=uri.toString();if(url.charAt(0)=='.'||(url.charAt(0)!='/'&&!uri.host)){url=(new dojo._Url(dojo.global.location,url)).toString();}
var index=dojo.indexOf(this.editingAreaStyleSheets,url);if(index==-1){return;}
delete this.editingAreaStyleSheets[index];dojo.withGlobal(this.window,'query',dojo,['link:[href="'+url+'"]']).orphan()},disabled:true,_mozSettingProps:['styleWithCSS','insertBrOnReturn'],setDisabled:function(disabled){if(dojo.isIE||dojo.isSafari||dojo.isOpera){if(dojo.isIE){this.editNode.unselectable="on";}
this.editNode.contentEditable=!disabled;if(dojo.isIE){var _this=this;setTimeout(function(){_this.editNode.unselectable="off";},0);}}else{if(disabled){this._mozSettings=[false,this.blockNodeForEnter==='BR'];}
this.document.designMode=(disabled?'off':'on');if(!disabled&&this._mozSettings){dojo.forEach(this._mozSettingProps,function(s,i){this.document.execCommand(s,false,this._mozSettings[i]);},this);}}
this.disabled=disabled;},_isResized:function(){return false;},onLoad:function(e){this.isLoaded=true;if(!this.window.__registeredWindow){this.window.__registeredWindow=true;dijit.registerWin(this.window);}
if(!dojo.isIE&&(this.height||dojo.isMoz)){this.editNode=this.document.body;}else{this.editNode=this.document.body.firstChild;var _this=this;if(dojo.isIE){var tabStop=this.tabStop=dojo.doc.createElement('<div tabIndex=-1>');this.editingArea.appendChild(tabStop);this.iframe.onfocus=function(){_this.editNode.setActive();}}}
try{this.setDisabled(false);}catch(e){var handle=dojo.connect(this,"onClick",this,function(){this.setDisabled(false);dojo.disconnect(handle);});}
this._preDomFilterContent(this.editNode);var events=this.events.concat(this.captureEvents),i=0,et;while((et=events[i++])){this.connect(this.document,et.toLowerCase(),et);}
if(!dojo.isIE){try{this.document.execCommand("styleWithCSS",false,false);}catch(e2){}}else{this.connect(this.document,"onmousedown","_onMouseDown");this.editNode.style.zoom=1.0;}
if(this.focusOnLoad){setTimeout(dojo.hitch(this,"focus"),0);}
this.onDisplayChanged(e);if(this.onLoadDeferred){this.onLoadDeferred.callback(true);}},onKeyDown:function(e){if(dojo.isIE){if(e.keyCode==dojo.keys.TAB&&e.shiftKey&&!e.ctrlKey&&!e.altKey){this.iframe.focus();}else if(e.keyCode==dojo.keys.TAB&&!e.shiftKey&&!e.ctrlKey&&!e.altKey){this.tabStop.focus();}else if(e.keyCode===dojo.keys.BACKSPACE&&this.document.selection.type==="Control"){dojo.stopEvent(e);this.execCommand("delete");}else if((65<=e.keyCode&&e.keyCode<=90)||(e.keyCode>=37&&e.keyCode<=40)){e.charCode=e.keyCode;this.onKeyPress(e);}}else if(dojo.isMoz){if(e.keyCode==dojo.keys.TAB&&!e.shiftKey&&!e.ctrlKey&&!e.altKey&&this.iframe){this.iframe.contentDocument.title=this._localizedIframeTitles.iframeFocusTitle;this.iframe.focus();dojo.stopEvent(e);}else if(e.keyCode==dojo.keys.TAB&&e.shiftKey){if(this.toolbar){this.toolbar.focus();}
dojo.stopEvent(e);}}},onKeyUp:function(e){return;},KEY_CTRL:1,KEY_SHIFT:2,onKeyPress:function(e){var modifiers=(e.ctrlKey&&!e.altKey)?this.KEY_CTRL:0|e.shiftKey?this.KEY_SHIFT:0;var key=e.keyChar||e.keyCode;if(this._keyHandlers[key]){var handlers=this._keyHandlers[key],i=0,h;while((h=handlers[i++])){if(modifiers==h.modifiers){if(!h.handler.apply(this,arguments)){e.preventDefault();}
break;}}}
setTimeout(dojo.hitch(this,function(){this.onKeyPressed(e);}),1);},addKeyHandler:function(key,modifiers,handler){if(!dojo.isArray(this._keyHandlers[key])){this._keyHandlers[key]=[];}
this._keyHandlers[key].push({modifiers:modifiers||0,handler:handler});},onKeyPressed:function(e){this.onDisplayChanged();},onClick:function(e){this.onDisplayChanged(e);},_onMouseDown:function(e){if(!this._focused&&!this.disabled){this.focus();}},_onBlur:function(e){this.inherited(arguments);var _c=this.getValue(true);if(_c!=this.savedContent){this.onChange(_c);this.savedContent=_c;}
if(dojo.isMoz&&this.iframe){this.iframe.contentDocument.title=this._localizedIframeTitles.iframeEditTitle;}},_initialFocus:true,_onFocus:function(e){this.inherited(arguments);if(dojo.isMoz&&this._initialFocus){this._initialFocus=false;if(this.editNode.innerHTML.replace(/^\s+|\s+$/g,"")=="&nbsp;"){this.placeCursorAtStart();}}},blur:function(){if(!dojo.isIE&&this.window.document.documentElement&&this.window.document.documentElement.focus){this.window.document.documentElement.focus();}else if(dojo.doc.body.focus){dojo.doc.body.focus();}},focus:function(){if(!dojo.isIE){dijit.focus(this.iframe);}else if(this.editNode&&this.editNode.focus){this.iframe.fireEvent('onfocus',document.createEventObject());}},updateInterval:200,_updateTimer:null,onDisplayChanged:function(e){if(!this._updateTimer){if(this._updateTimer){clearTimeout(this._updateTimer);}
this._updateTimer=setTimeout(dojo.hitch(this,this.onNormalizedDisplayChanged),this.updateInterval);}},onNormalizedDisplayChanged:function(){this._updateTimer=null;},onChange:function(newContent){},_normalizeCommand:function(cmd){var command=cmd.toLowerCase();if(command=="hilitecolor"&&!dojo.isMoz){command="backcolor";}
return command;},queryCommandAvailable:function(command){var ie=1;var mozilla=1<<1;var safari=1<<2;var opera=1<<3;var safari420=1<<4;var gt420=dojo.isSafari;function isSupportedBy(browsers){return{ie:Boolean(browsers&ie),mozilla:Boolean(browsers&mozilla),safari:Boolean(browsers&safari),safari420:Boolean(browsers&safari420),opera:Boolean(browsers&opera)}}
var supportedBy=null;switch(command.toLowerCase()){case"bold":case"italic":case"underline":case"subscript":case"superscript":case"fontname":case"fontsize":case"forecolor":case"hilitecolor":case"justifycenter":case"justifyfull":case"justifyleft":case"justifyright":case"delete":case"selectall":case"toggledir":supportedBy=isSupportedBy(mozilla|ie|safari|opera);break;case"createlink":case"unlink":case"removeformat":case"inserthorizontalrule":case"insertimage":case"insertorderedlist":case"insertunorderedlist":case"indent":case"outdent":case"formatblock":case"inserthtml":case"undo":case"redo":case"strikethrough":supportedBy=isSupportedBy(mozilla|ie|opera|safari420);break;case"blockdirltr":case"blockdirrtl":case"dirltr":case"dirrtl":case"inlinedirltr":case"inlinedirrtl":supportedBy=isSupportedBy(ie);break;case"cut":case"copy":case"paste":supportedBy=isSupportedBy(ie|mozilla|safari420);break;case"inserttable":supportedBy=isSupportedBy(mozilla|ie);break;case"insertcell":case"insertcol":case"insertrow":case"deletecells":case"deletecols":case"deleterows":case"mergecells":case"splitcell":supportedBy=isSupportedBy(ie|mozilla);break;default:return false;}
return(dojo.isIE&&supportedBy.ie)||(dojo.isMoz&&supportedBy.mozilla)||(dojo.isSafari&&supportedBy.safari)||(gt420&&supportedBy.safari420)||(dojo.isOpera&&supportedBy.opera);},execCommand:function(command,argument){var returnValue;this.focus();command=this._normalizeCommand(command);if(argument!=undefined){if(command=="heading"){throw new Error("unimplemented");}else if((command=="formatblock")&&dojo.isIE){argument='<'+argument+'>';}}
if(command=="inserthtml"){argument=this._preFilterContent(argument);if(dojo.isIE){var insertRange=this.document.selection.createRange();if(this.document.selection.type.toUpperCase()=='CONTROL'){var n=insertRange.item(0);while(insertRange.length){insertRange.remove(insertRange.item(0));}
n.outerHTML=argument;}else{insertRange.pasteHTML(argument);}
insertRange.select();returnValue=true;}else if(dojo.isMoz&&!argument.length){dojo.withGlobal(this.window,'remove',dijit._editor.selection);returnValue=true;}else{returnValue=this.document.execCommand(command,false,argument);}}else if((command=="unlink")&&(this.queryCommandEnabled("unlink"))&&(dojo.isMoz||dojo.isSafari)){var selection=this.window.getSelection();var a=dojo.withGlobal(this.window,"getAncestorElement",dijit._editor.selection,['a']);dojo.withGlobal(this.window,"selectElement",dijit._editor.selection,[a]);returnValue=this.document.execCommand("unlink",false,null);}else if((command=="hilitecolor")&&(dojo.isMoz)){this.document.execCommand("styleWithCSS",false,true);returnValue=this.document.execCommand(command,false,argument);this.document.execCommand("styleWithCSS",false,false);}else if((dojo.isIE)&&((command=="backcolor")||(command=="forecolor"))){argument=arguments.length>1?argument:null;returnValue=this.document.execCommand(command,false,argument);}else{argument=arguments.length>1?argument:null;if(argument||command!="createlink"){returnValue=this.document.execCommand(command,false,argument);}}
this.onDisplayChanged();return returnValue;},queryCommandEnabled:function(command){if(this.disabled){return false;}
command=this._normalizeCommand(command);if(dojo.isMoz||dojo.isSafari){if(command=="unlink"){return dojo.withGlobal(this.window,"hasAncestorElement",dijit._editor.selection,['a']);}else if(command=="inserttable"){return true;}}
if(dojo.isSafari){if(command=="copy"){command="cut";}else if(command=="paste"){return true;}}
var elem=dojo.isIE?this.document.selection.createRange():this.document;return elem.queryCommandEnabled(command);},queryCommandState:function(command){if(this.disabled){return false;}
command=this._normalizeCommand(command);return this.document.queryCommandState(command);},queryCommandValue:function(command){if(this.disabled){return false;}
command=this._normalizeCommand(command);if(dojo.isIE&&command=="formatblock"){return this._local2NativeFormatNames[this.document.queryCommandValue(command)];}
return this.document.queryCommandValue(command);},placeCursorAtStart:function(){this.focus();var isvalid=false;if(dojo.isMoz){var first=this.editNode.firstChild;while(first){if(first.nodeType==3){if(first.nodeValue.replace(/^\s+|\s+$/g,"").length>0){isvalid=true;dojo.withGlobal(this.window,"selectElement",dijit._editor.selection,[first]);break;}}else if(first.nodeType==1){isvalid=true;dojo.withGlobal(this.window,"selectElementChildren",dijit._editor.selection,[first]);break;}
first=first.nextSibling;}}else{isvalid=true;dojo.withGlobal(this.window,"selectElementChildren",dijit._editor.selection,[this.editNode]);}
if(isvalid){dojo.withGlobal(this.window,"collapse",dijit._editor.selection,[true]);}},placeCursorAtEnd:function(){this.focus();var isvalid=false;if(dojo.isMoz){var last=this.editNode.lastChild;while(last){if(last.nodeType==3){if(last.nodeValue.replace(/^\s+|\s+$/g,"").length>0){isvalid=true;dojo.withGlobal(this.window,"selectElement",dijit._editor.selection,[last]);break;}}else if(last.nodeType==1){isvalid=true;if(last.lastChild){dojo.withGlobal(this.window,"selectElement",dijit._editor.selection,[last.lastChild]);}else{dojo.withGlobal(this.window,"selectElement",dijit._editor.selection,[last]);}
break;}
last=last.previousSibling;}}else{isvalid=true;dojo.withGlobal(this.window,"selectElementChildren",dijit._editor.selection,[this.editNode]);}
if(isvalid){dojo.withGlobal(this.window,"collapse",dijit._editor.selection,[false]);}},getValue:function(nonDestructive){if(this.textarea){if(this.isClosed||!this.isLoaded){return this.textarea.value;}}
return this._postFilterContent(null,nonDestructive);},setValue:function(html){if(this.textarea&&(this.isClosed||!this.isLoaded)){this.textarea.value=html;}else{html=this._preFilterContent(html);var node=this.isClosed?this.domNode:this.editNode;node.innerHTML=html;this._preDomFilterContent(node);}
this.onDisplayChanged();},replaceValue:function(html){if(this.isClosed){this.setValue(html);}else if(this.window&&this.window.getSelection&&!dojo.isMoz){this.setValue(html);}else if(this.window&&this.window.getSelection){html=this._preFilterContent(html);this.execCommand("selectall");if(dojo.isMoz&&!html){html="&nbsp;"}
this.execCommand("inserthtml",html);this._preDomFilterContent(this.editNode);}else if(this.document&&this.document.selection){this.setValue(html);}},_preFilterContent:function(html){var ec=html;dojo.forEach(this.contentPreFilters,function(ef){if(ef){ec=ef(ec);}});return ec;},_preDomFilterContent:function(dom){dom=dom||this.editNode;dojo.forEach(this.contentDomPreFilters,function(ef){if(ef&&dojo.isFunction(ef)){ef(dom);}},this);},_postFilterContent:function(dom,nonDestructive){var ec;if(!dojo.isString(dom)){dom=dom||this.editNode;if(this.contentDomPostFilters.length){if(nonDestructive&&dom['cloneNode']){dom=dom.cloneNode(true);}
dojo.forEach(this.contentDomPostFilters,function(ef){dom=ef(dom);});}
ec=dijit._editor.getChildrenHtml(dom);}else{ec=dom;}
if(!ec.replace(/^(?:\s|\xA0)+/g,"").replace(/(?:\s|\xA0)+$/g,"").length){ec="";}
dojo.forEach(this.contentPostFilters,function(ef){ec=ef(ec);});return ec;},_saveContent:function(e){var saveTextarea=dojo.byId(dijit._scopeName+"._editor.RichText.savedContent");saveTextarea.value+=this._SEPARATOR+this.name+":"+this.getValue();},escapeXml:function(str,noSingleQuotes){dojo.deprecated('dijit.Editor::escapeXml is deprecated','use dijit._editor.escapeXml instead',2);return dijit._editor.escapeXml(str,noSingleQuotes);},getNodeHtml:function(node){dojo.deprecated('dijit.Editor::getNodeHtml is deprecated','use dijit._editor.getNodeHtml instead',2);return dijit._editor.getNodeHtml(node);},getNodeChildrenHtml:function(dom){dojo.deprecated('dijit.Editor::getNodeChildrenHtml is deprecated','use dijit._editor.getChildrenHtml instead',2);return dijit._editor.getChildrenHtml(dom);},close:function(save,force){if(this.isClosed){return false;}
if(!arguments.length){save=true;}
this._content=this.getValue();var changed=(this.savedContent!=this._content);if(this.interval){clearInterval(this.interval);}
if(this.textarea){with(this.textarea.style){position="";left=top="";if(dojo.isIE){overflow=this.__overflow;this.__overflow=null;}}
this.textarea.value=save?this._content:this.savedContent;dojo._destroyElement(this.domNode);this.domNode=this.textarea;}else{this.domNode.innerHTML=save?this._content:this.savedContent;}
dojo.removeClass(this.domNode,"RichTextEditable");this.isClosed=true;this.isLoaded=false;delete this.editNode;if(this.window&&this.window._frameElement){this.window._frameElement=null;}
this.window=null;this.document=null;this.editingArea=null;this.editorObject=null;return changed;},destroyRendering:function(){},destroy:function(){this.destroyRendering();if(!this.isClosed){this.close(false);}
this.inherited("destroy",arguments);},_removeMozBogus:function(html){return html.replace(/\stype="_moz"/gi,'').replace(/\s_moz_dirty=""/gi,'');},_removeSafariBogus:function(html){return html.replace(/\sclass="webkit-block-placeholder"/gi,'');},_fixContentForMoz:function(html){return html.replace(/<(\/)?strong([ \>])/gi,'<$1b$2').replace(/<(\/)?em([ \>])/gi,'<$1i$2');},_srcInImgRegex:/(?:(<img(?=\s).*?\ssrc=)("|')(.*?)\2)|(?:(<img\s.*?src=)([^"'][^ >]+))/gi,_hrefInARegex:/(?:(<a(?=\s).*?\shref=)("|')(.*?)\2)|(?:(<a\s.*?href=)([^"'][^ >]+))/gi,_preFixUrlAttributes:function(html){return html.replace(this._hrefInARegex,'$1$4$2$3$5$2 _djrealurl=$2$3$5$2').replace(this._srcInImgRegex,'$1$4$2$3$5$2 _djrealurl=$2$3$5$2');}});}
if(!dojo._hasResource["dijit.Toolbar"]){dojo._hasResource["dijit.Toolbar"]=true;dojo.provide("dijit.Toolbar");dojo.require("dijit._Widget");dojo.require("dijit._Container");dojo.require("dijit._Templated");dojo.declare("dijit.Toolbar",[dijit._Widget,dijit._Templated,dijit._KeyNavContainer],{templateString:'<div class="dijit dijitToolbar" waiRole="toolbar" tabIndex="${tabIndex}" dojoAttachPoint="containerNode">'+'</div>',tabIndex:"0",postCreate:function(){this.connectKeyNavHandlers(this.isLeftToRight()?[dojo.keys.LEFT_ARROW]:[dojo.keys.RIGHT_ARROW],this.isLeftToRight()?[dojo.keys.RIGHT_ARROW]:[dojo.keys.LEFT_ARROW]);},startup:function(){if(this._started){return;}
this.startupKeyNavChildren();this.inherited(arguments);}});dojo.declare("dijit.ToolbarSeparator",[dijit._Widget,dijit._Templated],{templateString:'<div class="dijitToolbarSeparator dijitInline"></div>',postCreate:function(){dojo.setSelectable(this.domNode,false);},isFocusable:function(){return false;}});}
if(!dojo._hasResource["dijit._editor._Plugin"]){dojo._hasResource["dijit._editor._Plugin"]=true;dojo.provide("dijit._editor._Plugin");dojo.require("dijit._Widget");dojo.require("dijit.Editor");dojo.require("dijit.form.Button");dojo.declare("dijit._editor._Plugin",null,{constructor:function(args,node){if(args){dojo.mixin(this,args);}
this._connects=[];},editor:null,iconClassPrefix:"dijitEditorIcon",button:null,queryCommand:null,command:"",commandArg:null,useDefaultCommand:true,buttonClass:dijit.form.Button,getLabel:function(key){return this.editor.commands[key];},_initButton:function(props){if(this.command.length){var label=this.getLabel(this.command);var className=this.iconClassPrefix+" "+this.iconClassPrefix+this.command.charAt(0).toUpperCase()+this.command.substr(1);if(!this.button){props=dojo.mixin({label:label,showLabel:false,iconClass:className,dropDown:this.dropDown,tabIndex:"-1"},props||{});this.button=new this.buttonClass(props);}}},destroy:function(f){dojo.forEach(this._connects,dojo.disconnect);},connect:function(o,f,tf){this._connects.push(dojo.connect(o,f,this,tf));},updateState:function(){var _e=this.editor;var _c=this.command;if(!_e){return;}
if(!_e.isLoaded){return;}
if(!_c.length){return;}
if(this.button){try{var enabled=_e.queryCommandEnabled(_c);this.button.setAttribute('disabled',!enabled);if(typeof this.button.checked=='boolean'){this.button.setAttribute('checked',_e.queryCommandState(_c));}}catch(e){console.debug(e);}}},setEditor:function(editor){this.editor=editor;this._initButton();if(this.command.length&&!this.editor.queryCommandAvailable(this.command)){if(this.button){this.button.domNode.style.display="none";}}
if(this.button&&this.useDefaultCommand){this.connect(this.button,"onClick",dojo.hitch(this.editor,"execCommand",this.command,this.commandArg));}
this.connect(this.editor,"onNormalizedDisplayChanged","updateState");},setToolbar:function(toolbar){if(this.button){toolbar.addChild(this.button);}}});}
if(!dojo._hasResource["dijit.Editor"]){dojo._hasResource["dijit.Editor"]=true;dojo.provide("dijit.Editor");dojo.require("dijit._editor.RichText");dojo.require("dijit.Toolbar");dojo.require("dijit._editor._Plugin");dojo.require("dijit._Container");dojo.require("dojo.i18n");dojo.requireLocalization("dijit._editor","commands",null,"ROOT,cs,de,es,fr,gr,hu,it,ja,ko,pl,pt,ru,zh,zh-tw");dojo.declare("dijit.Editor",dijit._editor.RichText,{plugins:null,extraPlugins:null,constructor:function(){if(!dojo.isArray(this.plugins)){this.plugins=["undo","redo","|","cut","copy","paste","|","bold","italic","underline","strikethrough","|","insertOrderedList","insertUnorderedList","indent","outdent","|","justifyLeft","justifyRight","justifyCenter","justifyFull"];}
this._plugins=[];this._editInterval=this.editActionInterval*1000;},postCreate:function(){if(this.customUndo){dojo['require']("dijit._editor.range");this._steps=this._steps.slice(0);this._undoedSteps=this._undoedSteps.slice(0);}
if(dojo.isArray(this.extraPlugins)){this.plugins=this.plugins.concat(this.extraPlugins);}
this.inherited(arguments);this.commands=dojo.i18n.getLocalization("dijit._editor","commands",this.lang);if(!this.toolbar){this.toolbar=new dijit.Toolbar({});dojo.place(this.toolbar.domNode,this.editingArea,"before");}
dojo.forEach(this.plugins,this.addPlugin,this);this.onNormalizedDisplayChanged();},destroy:function(){dojo.forEach(this._plugins,function(p){if(p&&p.destroy){p.destroy();}});this._plugins=[];this.toolbar.destroy();delete this.toolbar;this.inherited(arguments);},addPlugin:function(plugin,index){var args=dojo.isString(plugin)?{name:plugin}:plugin;if(!args.setEditor){var o={"args":args,"plugin":null,"editor":this};dojo.publish(dijit._scopeName+".Editor.getPlugin",[o]);if(!o.plugin){var pc=dojo.getObject(args.name);if(pc){o.plugin=new pc(args);}}
if(!o.plugin){console.warn('Cannot find plugin',plugin);return;}
plugin=o.plugin;}
if(arguments.length>1){this._plugins[index]=plugin;}else{this._plugins.push(plugin);}
plugin.setEditor(this);if(dojo.isFunction(plugin.setToolbar)){plugin.setToolbar(this.toolbar);}},customUndo:dojo.isIE,editActionInterval:3,beginEditing:function(cmd){if(!this._inEditing){this._inEditing=true;this._beginEditing(cmd);}
if(this.editActionInterval>0){if(this._editTimer){clearTimeout(this._editTimer);}
this._editTimer=setTimeout(dojo.hitch(this,this.endEditing),this._editInterval);}},_steps:[],_undoedSteps:[],execCommand:function(cmd){if(this.customUndo&&(cmd=='undo'||cmd=='redo')){return this[cmd]();}else{try{if(this.customUndo){this.endEditing();this._beginEditing();}
var r=this.inherited('execCommand',arguments);if(this.customUndo){this._endEditing();}
return r;}catch(e){if(dojo.isMoz&&/copy|cut|paste/.test(cmd)){var sub=dojo.string.substitute,accel={cut:'X',copy:'C',paste:'V'},isMac=navigator.userAgent.indexOf("Macintosh")!=-1;alert(sub(this.commands.systemShortcutFF,[this.commands[cmd],sub(this.commands[isMac?'appleKey':'ctrlKey'],[accel[cmd]])]));}
return false;}}},queryCommandEnabled:function(cmd){if(this.customUndo&&(cmd=='undo'||cmd=='redo')){return cmd=='undo'?(this._steps.length>1):(this._undoedSteps.length>0);}else{return this.inherited('queryCommandEnabled',arguments);}},_moveToBookmark:function(b){var bookmark=b;if(dojo.isIE){if(dojo.isArray(b)){bookmark=[];dojo.forEach(b,function(n){bookmark.push(dijit.range.getNode(n,this.editNode));},this);}}else{var r=dijit.range.create();r.setStart(dijit.range.getNode(b.startContainer,this.editNode),b.startOffset);r.setEnd(dijit.range.getNode(b.endContainer,this.editNode),b.endOffset);bookmark=r;}
dojo.withGlobal(this.window,'moveToBookmark',dijit,[bookmark]);},_changeToStep:function(from,to){this.setValue(to.text);var b=to.bookmark;if(!b){return;}
this._moveToBookmark(b);},undo:function(){this.endEditing(true);var s=this._steps.pop();if(this._steps.length>0){this.focus();this._changeToStep(s,this._steps[this._steps.length-1]);this._undoedSteps.push(s);this.onDisplayChanged();return true;}
return false;},redo:function(){this.endEditing(true);var s=this._undoedSteps.pop();if(s&&this._steps.length>0){this.focus();this._changeToStep(this._steps[this._steps.length-1],s);this._steps.push(s);this.onDisplayChanged();return true;}
return false;},endEditing:function(ignore_caret){if(this._editTimer){clearTimeout(this._editTimer);}
if(this._inEditing){this._endEditing(ignore_caret);this._inEditing=false;}},_getBookmark:function(){var b=dojo.withGlobal(this.window,dijit.getBookmark);var tmp=[];if(dojo.isIE){if(dojo.isArray(b)){dojo.forEach(b,function(n){tmp.push(dijit.range.getIndex(n,this.editNode).o);},this);b=tmp;}}else{tmp=dijit.range.getIndex(b.startContainer,this.editNode).o;b={startContainer:tmp,startOffset:b.startOffset,endContainer:b.endContainer===b.startContainer?tmp:dijit.range.getIndex(b.endContainer,this.editNode).o,endOffset:b.endOffset};}
return b;},_beginEditing:function(cmd){if(this._steps.length===0){this._steps.push({'text':this.savedContent,'bookmark':this._getBookmark()});}},_endEditing:function(ignore_caret){var v=this.getValue(true);this._undoedSteps=[];this._steps.push({text:v,bookmark:this._getBookmark()});},onKeyDown:function(e){if(!this.customUndo){this.inherited('onKeyDown',arguments);return;}
var k=e.keyCode,ks=dojo.keys;if(e.ctrlKey&&!e.altKey){if(k==90||k==122){dojo.stopEvent(e);this.undo();return;}else if(k==89||k==121){dojo.stopEvent(e);this.redo();return;}}
this.inherited('onKeyDown',arguments);switch(k){case ks.ENTER:case ks.BACKSPACE:case ks.DELETE:this.beginEditing();break;case 88:case 86:if(e.ctrlKey&&!e.altKey&&!e.metaKey){this.endEditing();if(e.keyCode==88){this.beginEditing('cut');setTimeout(dojo.hitch(this,this.endEditing),1);}else{this.beginEditing('paste');setTimeout(dojo.hitch(this,this.endEditing),1);}
break;}
default:if(!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.keyCode<dojo.keys.F1||e.keyCode>dojo.keys.F15)){this.beginEditing();break;}
case ks.ALT:this.endEditing();break;case ks.UP_ARROW:case ks.DOWN_ARROW:case ks.LEFT_ARROW:case ks.RIGHT_ARROW:case ks.HOME:case ks.END:case ks.PAGE_UP:case ks.PAGE_DOWN:this.endEditing(true);break;case ks.CTRL:case ks.SHIFT:case ks.TAB:break;}},_onBlur:function(){this.inherited('_onBlur',arguments);this.endEditing(true);},onClick:function(){this.endEditing(true);this.inherited('onClick',arguments);}});dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){if(o.plugin){return;}
var args=o.args,p;var _p=dijit._editor._Plugin;var name=args.name;switch(name){case"undo":case"redo":case"cut":case"copy":case"paste":case"insertOrderedList":case"insertUnorderedList":case"indent":case"outdent":case"justifyCenter":case"justifyFull":case"justifyLeft":case"justifyRight":case"delete":case"selectAll":case"removeFormat":case"insertHorizontalRule":p=new _p({command:name});break;case"bold":case"italic":case"underline":case"strikethrough":case"subscript":case"superscript":p=new _p({buttonClass:dijit.form.ToggleButton,command:name});break;case"|":p=new _p({button:new dijit.ToolbarSeparator()});}
o.plugin=p;});}
if(!dojo._hasResource["dojox.grid._data.dijitEditors"]){dojo._hasResource["dojox.grid._data.dijitEditors"]=true;dojo.provide("dojox.grid._data.dijitEditors");dojo.require("dojox.grid._data.editors");dojo.require("dijit.form.DateTextBox");dojo.require("dijit.form.TimeTextBox");dojo.require("dijit.form.ComboBox");dojo.require("dojo.data.ItemFileReadStore");dojo.require("dijit.form.CheckBox");dojo.require("dijit.form.TextBox");dojo.require("dijit.form.NumberSpinner");dojo.require("dijit.form.NumberTextBox");dojo.require("dijit.form.CurrencyTextBox");dojo.require("dijit.form.Slider");dojo.require("dijit.Editor");dojo.declare("dojox.grid.editors.Dijit",dojox.grid.editors.base,{editorClass:"dijit.form.TextBox",constructor:function(inCell){this.editor=null;this.editorClass=dojo.getObject(this.cell.editorClass||this.editorClass);},format:function(inDatum,inRowIndex){this.needFormatNode(inDatum,inRowIndex);return"<div></div>";},getValue:function(inRowIndex){return this.editor.getValue();},setValue:function(inRowIndex,inValue){if(this.editor&&this.editor.setValue){this.editor.setValue(inValue);}else{this.inherited(arguments);}},getEditorProps:function(inDatum){return dojo.mixin({},this.cell.editorProps||{},{constraints:dojo.mixin({},this.cell.constraint)||{},value:inDatum});},createEditor:function(inNode,inDatum,inRowIndex){return new this.editorClass(this.getEditorProps(inDatum),inNode);},attachEditor:function(inNode,inDatum,inRowIndex){this.editor=new this.editorClass(this.getEditorProps(inDatum),inNode);return;inNode.appendChild(this.editor.domNode);this.setValue(inRowIndex,inDatum);},formatNode:function(inNode,inDatum,inRowIndex){if(!this.editorClass){return inDatum;}
if(!this.editor){this.editor=this.createEditor.apply(this,arguments);}else{this.attachEditor.apply(this,arguments);}
this.sizeEditor.apply(this,arguments);this.cell.grid.rowHeightChanged(inRowIndex);this.focus();},sizeEditor:function(inNode,inDatum,inRowIndex){var
p=this.cell.getNode(inRowIndex),box=dojo.contentBox(p);dojo.marginBox(this.editor.domNode,{w:box.w});},focus:function(inRowIndex,inNode){if(this.editor){setTimeout(dojo.hitch(this.editor,function(){dojox.grid.fire(this,"focus");}),0);}},_finish:function(inRowIndex){this.inherited(arguments);dojox.grid.removeNode(this.editor.domNode);}});dojo.declare("dojox.grid.editors.ComboBox",dojox.grid.editors.Dijit,{editorClass:"dijit.form.ComboBox",getEditorProps:function(inDatum){var items=[];dojo.forEach(this.cell.options,function(o){items.push({name:o,value:o});});var store=new dojo.data.ItemFileReadStore({data:{identifier:"name",items:items}});return dojo.mixin({},this.cell.editorProps||{},{value:inDatum,store:store});},getValue:function(){var e=this.editor;e.setDisplayedValue(e.getDisplayedValue());return e.getValue();}});dojo.declare("dojox.grid.editors.DateTextBox",dojox.grid.editors.Dijit,{editorClass:"dijit.form.DateTextBox",setValue:function(inRowIndex,inValue){if(this.editor){this.editor.setValue(new Date(inValue));}else{this.inherited(arguments);}},getEditorProps:function(inDatum){return dojo.mixin(this.inherited(arguments),{value:new Date(inDatum)});}});dojo.declare("dojox.grid.editors.CheckBox",dojox.grid.editors.Dijit,{editorClass:"dijit.form.CheckBox",getValue:function(){return this.editor.checked;},setValue:function(inRowIndex,inValue){if(this.editor&&this.editor.setAttribute){this.editor.setAttribute("checked",inValue);}else{this.inherited(arguments);}},sizeEditor:function(inNode,inDatum,inRowIndex){return;}});dojo.declare("dojox.grid.editors.Editor",dojox.grid.editors.Dijit,{editorClass:"dijit.Editor",getEditorProps:function(inDatum){return dojo.mixin({},this.cell.editorProps||{},{height:this.cell.editorHeight||"15px"});},createEditor:function(inNode,inDatum,inRowIndex){var editor=new this.editorClass(this.getEditorProps(inDatum),inNode);dojo.connect(editor,'onLoad',dojo.hitch(this,'populateEditor'));return editor;},formatNode:function(inNode,inDatum,inRowIndex){this.inherited(arguments);var e=this.editor;e.open();if(this.cell.editorToolbar){dojo.place(e.toolbar.domNode,e.editingArea,"before");}},populateEditor:function(){this.editor.setValue(this.content);this.editor.placeCursorAtEnd();}});}
if(!dojo._hasResource["dojox.grid.Grid"]){dojo._hasResource["dojox.grid.Grid"]=true;dojo.provide("dojox.grid.Grid");dojo.require("dojox.grid.VirtualGrid");dojo.require("dojox.grid._data.model");dojo.require("dojox.grid._data.editors");dojo.require("dojox.grid._data.dijitEditors");dojo.declare('dojox.Grid',dojox.VirtualGrid,{model:'dojox.grid.data.Table',postCreate:function(){if(this.model){var m=this.model;if(dojo.isString(m)){m=dojo.getObject(m);}
this.model=(dojo.isFunction(m))?new m():m;this._setModel(this.model);}
this.inherited(arguments);},destroy:function(){this.setModel(null);this.inherited(arguments);},_structureChanged:function(){this.indexCellFields();this.inherited(arguments);},_setModel:function(inModel){this.model=inModel;if(this.model){this.model.observer(this);this.model.measure();this.indexCellFields();}},setModel:function(inModel){if(this.model){this.model.notObserver(this);}
this._setModel(inModel);},get:function(inRowIndex){return this.grid.model.getDatum(inRowIndex,this.fieldIndex);},modelAllChange:function(){this.rowCount=(this.model?this.model.getRowCount():0);this.updateRowCount(this.rowCount);},modelRowChange:function(inData,inRowIndex){this.updateRow(inRowIndex);},modelDatumChange:function(inDatum,inRowIndex,inFieldIndex){this.updateRow(inRowIndex);},modelFieldsChange:function(){this.indexCellFields();this.render();},modelInsertion:function(inRowIndex){this.updateRowCount(this.model.getRowCount());},modelRemoval:function(inKeys){this.updateRowCount(this.model.getRowCount());},modelBeginUpdate:function(){this.beginUpdate();},modelEndUpdate:function(){this.endUpdate();},getCellName:function(inCell){var v=this.model.fields.values,i=inCell.fieldIndex;return i>=0&&i<v.length&&v[i].name||this.inherited(arguments);},indexCellFields:function(){var cells=this.layout.cells;for(var i=0,c;cells&&(c=cells[i]);i++){if(dojo.isString(c.field)){c.fieldIndex=this.model.fields.indexOf(c.field);}}},refresh:function(){this.edit.cancel();this.model.measure();},canSort:function(inSortInfo){var f=this.getSortField(inSortInfo);return f&&this.model.canSort(f);},getSortField:function(inSortInfo){var c=this.getCell(this.getSortIndex(inSortInfo));return(c.fieldIndex+1)*(this.sortInfo>0?1:-1);},sort:function(){this.edit.apply();this.model.sort(this.getSortField());},addRow:function(inRowData,inIndex){this.edit.apply();var i=inIndex||-1;if(i<0){i=this.selection.getFirstSelected()||0;}
if(i<0){i=0;}
this.model.insert(inRowData,i);this.model.beginModifyRow(i);for(var j=0,c;((c=this.getCell(j))&&!c.editor);j++){}
if(c&&c.editor){this.edit.setEditCell(c,i);this.focus.setFocusCell(c,i);}else{this.focus.setFocusCell(this.getCell(0),i);}},removeSelectedRows:function(){this.edit.apply();var s=this.selection.getSelected();if(s.length){this.model.remove(s);this.selection.clear();}},canEdit:function(inCell,inRowIndex){return(this.model.canModify?this.model.canModify(inRowIndex):true);},doStartEdit:function(inCell,inRowIndex){this.model.beginModifyRow(inRowIndex);this.onStartEdit(inCell,inRowIndex);},doApplyCellEdit:function(inValue,inRowIndex,inFieldIndex){if(inValue==undefined||inValue==null)
{this.model.measure();return;}
this.model.setDatum(inValue,inRowIndex,inFieldIndex);this.onApplyCellEdit(inValue,inRowIndex,inFieldIndex);this.model.measure();},doCancelEdit:function(inRowIndex){this.model.cancelModifyRow(inRowIndex);this.onCancelEdit.apply(this,arguments);},doApplyEdit:function(inRowIndex){this.model.endModifyRow(inRowIndex);this.onApplyEdit(inRowIndex);},styleRowState:function(inRow){if(this.model.getState){var states=this.model.getState(inRow.index),c='';for(var i=0,ss=["inflight","error","inserting"],s;s=ss[i];i++){if(states[s]){c=' dojoxGrid-row-'+s;break;}}
inRow.customClasses+=c;}},onStyleRow:function(inRow){this.styleRowState(inRow);this.inherited(arguments);}});dojox.Grid.markupFactory=function(props,node,ctor){var d=dojo;var widthFromAttr=function(n){var w=d.attr(n,"width")||"auto";if((w!="auto")&&(w.substr(-2)!="em")){w=parseInt(w)+"px";}
return w;}
if(!props.model&&d.hasAttr(node,"store")){var mNode=node.cloneNode(false);d.attr(mNode,{"jsId":null,"dojoType":d.attr(node,"dataModelClass")||"dojox.grid.data.DojoData"});props.model=d.parser.instantiate([mNode])[0];}
if(!props.structure&&node.nodeName.toLowerCase()=="table"){props.structure=d.query("> colgroup",node).map(function(cg){var sv=d.attr(cg,"span");var v={noscroll:(d.attr(cg,"noscroll")=="true")?true:false,__span:(!!sv?parseInt(sv):1),cells:[]};if(d.hasAttr(cg,"width")){v.width=widthFromAttr(cg);}
return v;});if(!props.structure.length){props.structure.push({__span:Infinity,cells:[]});}
d.query("thead > tr",node).forEach(function(tr,tr_idx){var cellCount=0;var viewIdx=0;var lastViewIdx;var cView=null;d.query("> th",tr).map(function(th){if(!cView){lastViewIdx=0;cView=props.structure[0];}else if(cellCount>=(lastViewIdx+cView.__span)){viewIdx++;lastViewIdx+=cView.__span;lastView=cView;cView=props.structure[viewIdx];}
var cell={name:d.trim(d.attr(th,"name")||th.innerHTML),field:d.trim(d.attr(th,"field")||""),colSpan:parseInt(d.attr(th,"colspan")||1)};cellCount+=cell.colSpan;cell.field=cell.field||cell.name;cell.width=widthFromAttr(th);if(!cView.cells[tr_idx]){cView.cells[tr_idx]=[];}
cView.cells[tr_idx].push(cell);});});}
return new dojox.Grid(props,node);}
dojox.grid.Grid=dojox.Grid;}