
var dj_global=this;function dj_undef(name,obj){if(!obj){obj=dj_global;}
return(typeof obj[name]=="undefined");}
if(dj_undef("djConfig")){var djConfig={};}
var dojo;if(dj_undef("dojo")){dojo={};}
dojo.version={major:0,minor:2,patch:2,flag:"",revision:Number("$Rev: 2836 $".match(/[0-9]+/)[0]),toString:function(){with(dojo.version){return major+"."+minor+"."+patch+flag+" ("+revision+")";}}};dojo.evalObjPath=function(objpath,create){if(typeof objpath!="string"){return dj_global;}
if(objpath.indexOf('.')==-1){if((dj_undef(objpath,dj_global))&&(create)){dj_global[objpath]={};}
return dj_global[objpath];}
var syms=objpath.split(/\./);var obj=dj_global;for(var i=0;i<syms.length;++i){if(!create){obj=obj[syms[i]];if((typeof obj=='undefined')||(!obj)){return obj;}}else{if(dj_undef(syms[i],obj)){obj[syms[i]]={};}
obj=obj[syms[i]];}}
return obj;};dojo.errorToString=function(excep){return((!dj_undef("message",excep))?excep.message:(dj_undef("description",excep)?excep:excep.description));};dojo.raise=function(message,excep){if(excep){message=message+": "+dojo.errorToString(excep);}
var he=dojo.hostenv;if((!dj_undef("hostenv",dojo))&&(!dj_undef("println",dojo.hostenv))){dojo.hostenv.println("FATAL: "+message);}
throw Error(message);};dj_throw=dj_rethrow=function(m,e){dojo.deprecated("dj_throw and dj_rethrow deprecated, use dojo.raise instead");dojo.raise(m,e);};dojo.debug=function(){if(!djConfig.isDebug){return;}
var args=arguments;if(dj_undef("println",dojo.hostenv)){dojo.raise("dojo.debug not available (yet?)");}
var isJUM=dj_global["jum"]&&!dj_global["jum"].isBrowser;var s=[(isJUM?"":"DEBUG: ")];for(var i=0;i<args.length;++i){if(!false&&args[i]instanceof Error){var msg="["+args[i].name+": "+dojo.errorToString(args[i])+
(args[i].fileName?", file: "+args[i].fileName:"")+
(args[i].lineNumber?", line: "+args[i].lineNumber:"")+"]";}else{try{var msg=String(args[i]);}catch(e){if(dojo.render.html.ie){var msg="[ActiveXObject]";}else{var msg="[unknown]";}}}
s.push(msg);}
if(isJUM){jum.debug(s.join(" "));}else{dojo.hostenv.println(s.join(" "));}}
dojo.debugShallow=function(obj){if(!djConfig.isDebug){return;}
dojo.debug('------------------------------------------------------------');dojo.debug('Object: '+obj);for(i in obj){dojo.debug(i+': '+obj[i]);}
dojo.debug('------------------------------------------------------------');}
var dj_debug=dojo.debug;function dj_eval(s){return dj_global.eval?dj_global.eval(s):eval(s);}
dj_unimplemented=dojo.unimplemented=function(funcname,extra){var mess="'"+funcname+"' not implemented";if((!dj_undef(extra))&&(extra)){mess+=" "+extra;}
dojo.raise(mess);}
dj_deprecated=dojo.deprecated=function(behaviour,extra,removal){var mess="DEPRECATED: "+behaviour;if(extra){mess+=" "+extra;}
if(removal){mess+=" -- will be removed in version: "+removal;}
dojo.debug(mess);}
dojo.inherits=function(subclass,superclass){if(typeof superclass!='function'){dojo.raise("superclass: "+superclass+" borken");}
subclass.prototype=new superclass();subclass.prototype.constructor=subclass;subclass.superclass=superclass.prototype;subclass['super']=superclass.prototype;}
dj_inherits=function(subclass,superclass){dojo.deprecated("dj_inherits deprecated, use dojo.inherits instead");dojo.inherits(subclass,superclass);}
dojo.render=(function(){function vscaffold(prefs,names){var tmp={capable:false,support:{builtin:false,plugin:false},prefixes:prefs};for(var x in names){tmp[x]=false;}
return tmp;}
return{name:"",ver:dojo.version,os:{win:false,linux:false,osx:false},html:vscaffold(["html"],["ie","opera","khtml","safari","moz"]),svg:vscaffold(["svg"],["corel","adobe","batik"]),vml:vscaffold(["vml"],["ie"]),swf:vscaffold(["Swf","Flash","Mm"],["mm"]),swt:vscaffold(["Swt"],["ibm"])};})();dojo.hostenv=(function(){var config={isDebug:false,allowQueryConfig:false,baseScriptUri:"",baseRelativePath:"",libraryScriptUri:"",iePreventClobber:false,ieClobberMinimal:true,preventBackButtonFix:true,searchIds:[],parseWidgets:true};if(typeof djConfig=="undefined"){djConfig=config;}
else{for(var option in config){if(typeof djConfig[option]=="undefined"){djConfig[option]=config[option];}}}
var djc=djConfig;function _def(obj,name,def){return(dj_undef(name,obj)?def:obj[name]);}
return{name_:'(unset)',version_:'(unset)',pkgFileName:"__package__",loading_modules_:{},loaded_modules_:{},addedToLoadingCount:[],removedFromLoadingCount:[],inFlightCount:0,modulePrefixes_:{dojo:{name:"dojo",value:"src"}},setModulePrefix:function(module,prefix){this.modulePrefixes_[module]={name:module,value:prefix};},getModulePrefix:function(module){var mp=this.modulePrefixes_;if((mp[module])&&(mp[module]["name"])){return mp[module].value;}
return module;},getTextStack:[],loadUriStack:[],loadedUris:[],post_load_:false,modulesLoadedListeners:[],getName:function(){return this.name_;},getVersion:function(){return this.version_;},getText:function(uri){dojo.unimplemented('getText',"uri="+uri);},getLibraryScriptUri:function(){dojo.unimplemented('getLibraryScriptUri','');}};})();dojo.hostenv.getBaseScriptUri=function(){if(djConfig.baseScriptUri.length){return djConfig.baseScriptUri;}
var uri=new String(djConfig.libraryScriptUri||djConfig.baseRelativePath);if(!uri){dojo.raise("Nothing returned by getLibraryScriptUri(): "+uri);}
var lastslash=uri.lastIndexOf('/');djConfig.baseScriptUri=djConfig.baseRelativePath;return djConfig.baseScriptUri;}
dojo.hostenv.setBaseScriptUri=function(uri){djConfig.baseScriptUri=uri}
dojo.hostenv.loadPath=function(relpath,module,cb){if((relpath.charAt(0)=='/')||(relpath.match(/^\w+:/))){dojo.raise("relpath '"+relpath+"'; must be relative");}
var uri=this.getBaseScriptUri()+relpath;if(djConfig.cacheBust&&dojo.render.html.capable){uri+="?"+String(djConfig.cacheBust).replace(/\W+/g,"");}
try{return((!module)?this.loadUri(uri,cb):this.loadUriAndCheck(uri,module,cb));}catch(e){dojo.debug(e);return false;}}
dojo.hostenv.loadUri=function(uri,cb){if(this.loadedUris[uri]){return;}
var contents=this.getText(uri,null,true);if(contents==null){return 0;}
this.loadedUris[uri]=true;var value=dj_eval(contents);return 1;}
dojo.hostenv.loadUriAndCheck=function(uri,module,cb){var ok=true;try{ok=this.loadUri(uri,cb);}catch(e){dojo.debug("failed loading ",uri," with error: ",e);}
return((ok)&&(this.findModule(module,false)))?true:false;}
dojo.loaded=function(){}
dojo.hostenv.loaded=function(){this.post_load_=true;var mll=this.modulesLoadedListeners;for(var x=0;x<mll.length;x++){mll[x]();}
dojo.loaded();}
dojo.addOnLoad=function(obj,fcnName){if(arguments.length==1){dojo.hostenv.modulesLoadedListeners.push(obj);}else if(arguments.length>1){dojo.hostenv.modulesLoadedListeners.push(function(){obj[fcnName]();});}};dojo.hostenv.modulesLoaded=function(){if(this.post_load_){return;}
if((this.loadUriStack.length==0)&&(this.getTextStack.length==0)){if(this.inFlightCount>0){dojo.debug("files still in flight!");return;}
if(typeof setTimeout=="object"){setTimeout("dojo.hostenv.loaded();",0);}else{dojo.hostenv.loaded();}}}
dojo.hostenv.moduleLoaded=function(modulename){var modref=dojo.evalObjPath((modulename.split(".").slice(0,-1)).join('.'));this.loaded_modules_[(new String(modulename)).toLowerCase()]=modref;}
dojo.hostenv._global_omit_module_check=false;dojo.hostenv.loadModule=function(modulename,exact_only,omit_module_check){if(!modulename){return;}
omit_module_check=this._global_omit_module_check||omit_module_check;var module=this.findModule(modulename,false);if(module){return module;}
if(dj_undef(modulename,this.loading_modules_)){this.addedToLoadingCount.push(modulename);}
this.loading_modules_[modulename]=1;var relpath=modulename.replace(/\./g,'/')+'.js';var syms=modulename.split(".");var nsyms=modulename.split(".");for(var i=syms.length-1;i>0;i--){var parentModule=syms.slice(0,i).join(".");var parentModulePath=this.getModulePrefix(parentModule);if(parentModulePath!=parentModule){syms.splice(0,i,parentModulePath);break;}}
var last=syms[syms.length-1];if(last=="*"){modulename=(nsyms.slice(0,-1)).join('.');while(syms.length){syms.pop();syms.push(this.pkgFileName);relpath=syms.join("/")+'.js';if(relpath.charAt(0)=="/"){relpath=relpath.slice(1);}
ok=this.loadPath(relpath,((!omit_module_check)?modulename:null));if(ok){break;}
syms.pop();}}else{relpath=syms.join("/")+'.js';modulename=nsyms.join('.');var ok=this.loadPath(relpath,((!omit_module_check)?modulename:null));if((!ok)&&(!exact_only)){syms.pop();while(syms.length){relpath=syms.join('/')+'.js';ok=this.loadPath(relpath,((!omit_module_check)?modulename:null));if(ok){break;}
syms.pop();relpath=syms.join('/')+'/'+this.pkgFileName+'.js';if(relpath.charAt(0)=="/"){relpath=relpath.slice(1);}
ok=this.loadPath(relpath,((!omit_module_check)?modulename:null));if(ok){break;}}}
if((!ok)&&(!omit_module_check)){dojo.raise("Could not load '"+modulename+"'; last tried '"+relpath+"'");}}
if(!omit_module_check){module=this.findModule(modulename,false);if(!module){dojo.raise("symbol '"+modulename+"' is not defined after loading '"+relpath+"'");}}
return module;}
dojo.hostenv.startPackage=function(packname){var syms=packname.split(/\./);if(syms[syms.length-1]=="*"){syms.pop();}
return dojo.evalObjPath(syms.join("."),true);}
dojo.hostenv.findModule=function(modulename,must_exist){var lmn=(new String(modulename)).toLowerCase();if(this.loaded_modules_[lmn]){return this.loaded_modules_[lmn];}
var module=dojo.evalObjPath(modulename);if((modulename)&&(typeof module!='undefined')&&(module)){this.loaded_modules_[lmn]=module;return module;}
if(must_exist){dojo.raise("no loaded module named '"+modulename+"'");}
return null;}
if(typeof window=='undefined'){dojo.raise("no window object");}
(function(){if(djConfig.allowQueryConfig){var baseUrl=document.location.toString();var params=baseUrl.split("?",2);if(params.length>1){var paramStr=params[1];var pairs=paramStr.split("&");for(var x in pairs){var sp=pairs[x].split("=");if((sp[0].length>9)&&(sp[0].substr(0,9)=="djConfig.")){var opt=sp[0].substr(9);try{djConfig[opt]=eval(sp[1]);}catch(e){djConfig[opt]=sp[1];}}}}}
if(((djConfig["baseScriptUri"]=="")||(djConfig["baseRelativePath"]==""))&&(document&&document.getElementsByTagName)){var scripts=document.getElementsByTagName("script");var rePkg=/(__package__|dojo)\.js([\?\.]|$)/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){root=src.substring(0,m.index);if(!this["djConfig"]){djConfig={};}
if(djConfig["baseScriptUri"]==""){djConfig["baseScriptUri"]=root;}
if(djConfig["baseRelativePath"]==""){djConfig["baseRelativePath"]=root;}
break;}}}
var dr=dojo.render;var drh=dojo.render.html;var dua=drh.UA=navigator.userAgent;var dav=drh.AV=navigator.appVersion;var t=true;var f=false;drh.capable=t;drh.support.builtin=t;dr.ver=parseFloat(drh.AV);dr.os.mac=dav.indexOf("Macintosh")>=0;dr.os.win=dav.indexOf("Windows")>=0;dr.os.linux=dav.indexOf("X11")>=0;drh.opera=dua.indexOf("Opera")>=0;drh.khtml=(dav.indexOf("Konqueror")>=0)||(dav.indexOf("Safari")>=0);drh.safari=dav.indexOf("Safari")>=0;var geckoPos=dua.indexOf("Gecko");drh.mozilla=drh.moz=(geckoPos>=0)&&(!drh.khtml);if(drh.mozilla){drh.geckoVersion=dua.substring(geckoPos+6,geckoPos+14);}
drh.ie=(document.all)&&(!drh.opera);drh.ie50=drh.ie&&dav.indexOf("MSIE 5.0")>=0;drh.ie55=drh.ie&&dav.indexOf("MSIE 5.5")>=0;drh.ie60=drh.ie&&dav.indexOf("MSIE 6.0")>=0;dr.vml.capable=drh.ie;dr.svg.capable=f;dr.svg.support.plugin=f;dr.svg.support.builtin=f;dr.svg.adobe=f;if(document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("org.w3c.dom.svg","1.0")){dr.svg.capable=t;dr.svg.support.builtin=t;dr.svg.support.plugin=f;dr.svg.adobe=f;}else{if(navigator.mimeTypes&&navigator.mimeTypes.length>0){var result=navigator.mimeTypes["image/svg+xml"]||navigator.mimeTypes["image/svg"]||navigator.mimeTypes["image/svg-xml"];if(result){dr.svg.adobe=result&&result.enabledPlugin&&result.enabledPlugin.description&&(result.enabledPlugin.description.indexOf("Adobe")>-1);if(dr.svg.adobe){dr.svg.capable=t;dr.svg.support.plugin=t;}}}else if(drh.ie&&dr.os.win){var result=f;try{var test=new ActiveXObject("Adobe.SVGCtl");result=t;}catch(e){}
if(result){dr.svg.capable=t;dr.svg.support.plugin=t;dr.svg.adobe=t;}}else{dr.svg.capable=f;dr.svg.support.plugin=f;dr.svg.adobe=f;}}})();dojo.hostenv.startPackage("dojo.hostenv");dojo.hostenv.name_='browser';dojo.hostenv.searchIds=[];var DJ_XMLHTTP_PROGIDS=['Msxml2.XMLHTTP','Microsoft.XMLHTTP','Msxml2.XMLHTTP.4.0'];dojo.hostenv.getXmlhttpObject=function(){var http=null;var last_e=null;try{http=new XMLHttpRequest();}catch(e){}
if(!http){for(var i=0;i<3;++i){var progid=DJ_XMLHTTP_PROGIDS[i];try{http=new ActiveXObject(progid);}catch(e){last_e=e;}
if(http){DJ_XMLHTTP_PROGIDS=[progid];break;}}}
if(!http){return dojo.raise("XMLHTTP not available",last_e);}
return http;}
dojo.hostenv.getText=function(uri,async_cb,fail_ok){var http=this.getXmlhttpObject();if(async_cb){http.onreadystatechange=function(){if((4==http.readyState)&&(http["status"])){if(http.status==200){async_cb(http.responseText);}}}}
http.open('GET',uri,async_cb?true:false);http.send(null);if(async_cb){return null;}
return http.responseText;}
dojo.hostenv.defaultDebugContainerId='dojoDebug';dojo.hostenv._println_buffer=[];dojo.hostenv._println_safe=false;dojo.hostenv.println=function(line){if(!dojo.hostenv._println_safe){dojo.hostenv._println_buffer.push(line);}else{try{var console=document.getElementById(djConfig.debugContainerId?djConfig.debugContainerId:dojo.hostenv.defaultDebugContainerId);if(!console){console=document.getElementsByTagName("body")[0]||document.body;}
var div=document.createElement("div");div.appendChild(document.createTextNode(line));console.appendChild(div);}catch(e){try{document.write("<div>"+line+"</div>");}catch(e2){window.status=line;}}}}
dojo.addOnLoad(function(){dojo.hostenv._println_safe=true;while(dojo.hostenv._println_buffer.length>0){dojo.hostenv.println(dojo.hostenv._println_buffer.shift());}});function dj_addNodeEvtHdlr(node,evtName,fp,capture){var oldHandler=node["on"+evtName]||function(){};node["on"+evtName]=function(){fp.apply(node,arguments);oldHandler.apply(node,arguments);}
return true;}
dj_addNodeEvtHdlr(window,"load",function(){if(dojo.render.html.ie){dojo.hostenv.makeWidgets();}
dojo.hostenv.modulesLoaded();});dojo.hostenv.makeWidgets=function(){var sids=[];if(djConfig.searchIds&&djConfig.searchIds.length>0){sids=sids.concat(djConfig.searchIds);}
if(dojo.hostenv.searchIds&&dojo.hostenv.searchIds.length>0){sids=sids.concat(dojo.hostenv.searchIds);}
if((djConfig.parseWidgets)||(sids.length>0)){if(dojo.evalObjPath("dojo.widget.Parse")){try{var parser=new dojo.xml.Parse();if(sids.length>0){for(var x=0;x<sids.length;x++){var tmpNode=document.getElementById(sids[x]);if(!tmpNode){continue;}
var frag=parser.parseElement(tmpNode,null,true);dojo.widget.getParser().createComponents(frag);}}else if(djConfig.parseWidgets){var frag=parser.parseElement(document.getElementsByTagName("body")[0]||document.body,null,true);dojo.widget.getParser().createComponents(frag);}}catch(e){dojo.debug("auto-build-widgets error:",e);}}}}
dojo.hostenv.modulesLoadedListeners.push(function(){if(!dojo.render.html.ie){dojo.hostenv.makeWidgets();}});try{if(dojo.render.html.ie){document.write('<style>v\:*{ behavior:url(#default#VML); }</style>');document.write('<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>');}}catch(e){}
dojo.hostenv.writeIncludes=function(){}
dojo.hostenv.byId=dojo.byId=function(id,doc){if(typeof id=="string"||id instanceof String){if(!doc){doc=document;}
return doc.getElementById(id);}
return id;}
dojo.hostenv.byIdArray=dojo.byIdArray=function(){var ids=[];for(var i=0;i<arguments.length;i++){if((arguments[i]instanceof Array)||(typeof arguments[i]=="array")){for(var j=0;j<arguments[i].length;j++){ids=ids.concat(dojo.hostenv.byIdArray(arguments[i][j]));}}else{ids.push(dojo.hostenv.byId(arguments[i]));}}
return ids;}
dojo.hostenv.conditionalLoadModule=function(modMap){var common=modMap["common"]||[];var result=(modMap[dojo.hostenv.name_])?common.concat(modMap[dojo.hostenv.name_]||[]):common.concat(modMap["default"]||[]);for(var x=0;x<result.length;x++){var curr=result[x];if(curr.constructor==Array){dojo.hostenv.loadModule.apply(dojo.hostenv,curr);}else{dojo.hostenv.loadModule(curr);}}}
dojo.hostenv.require=dojo.hostenv.loadModule;dojo.require=function(){dojo.hostenv.loadModule.apply(dojo.hostenv,arguments);}
dojo.requireAfter=dojo.require;dojo.requireIf=function(){if((arguments[0]===true)||(arguments[0]=="common")||(dojo.render[arguments[0]].capable)){var args=[];for(var i=1;i<arguments.length;i++){args.push(arguments[i]);}
dojo.require.apply(dojo,args);}}
dojo.requireAfterIf=dojo.requireIf;dojo.conditionalRequire=dojo.requireIf;dojo.kwCompoundRequire=function(){dojo.hostenv.conditionalLoadModule.apply(dojo.hostenv,arguments);}
dojo.hostenv.provide=dojo.hostenv.startPackage;dojo.provide=function(){return dojo.hostenv.startPackage.apply(dojo.hostenv,arguments);}
dojo.setModulePrefix=function(module,prefix){return dojo.hostenv.setModulePrefix(module,prefix);}
dojo.profile={start:function(){},end:function(){},dump:function(){}};dojo.exists=function(obj,name){var p=name.split(".");for(var i=0;i<p.length;i++){if(!(obj[p[i]]))return false;obj=obj[p[i]];}
return true;}
dojo.provide("dojo.lang");dojo.provide("dojo.AdapterRegistry");dojo.provide("dojo.lang.Lang");dojo.lang.mixin=function(obj,props){var tobj={};for(var x in props){if(typeof tobj[x]=="undefined"||tobj[x]!=props[x]){obj[x]=props[x];}}
if(dojo.render.html.ie&&dojo.lang.isFunction(props["toString"])&&props["toString"]!=obj["toString"]){obj.toString=props.toString;}
return obj;}
dojo.lang.extend=function(ctor,props){this.mixin(ctor.prototype,props);}
dojo.lang.extendPrototype=function(obj,props){this.extend(obj.constructor,props);}
dojo.lang.anonCtr=0;dojo.lang.anon={};dojo.lang.nameAnonFunc=function(anonFuncPtr,namespaceObj){var nso=(namespaceObj||dojo.lang.anon);if((dj_global["djConfig"])&&(djConfig["slowAnonFuncLookups"]==true)){for(var x in nso){if(nso[x]===anonFuncPtr){return x;}}}
var ret="__"+dojo.lang.anonCtr++;while(typeof nso[ret]!="undefined"){ret="__"+dojo.lang.anonCtr++;}
nso[ret]=anonFuncPtr;return ret;}
dojo.lang.hitch=function(thisObject,method){if(dojo.lang.isString(method)){var fcn=thisObject[method];}else{var fcn=method;}
return function(){return fcn.apply(thisObject,arguments);}}
dojo.lang.forward=function(funcName){return function(){return this[funcName].apply(this,arguments);};}
dojo.lang.curry=function(ns,func){var outerArgs=[];ns=ns||dj_global;if(dojo.lang.isString(func)){func=ns[func];}
for(var x=2;x<arguments.length;x++){outerArgs.push(arguments[x]);}
var ecount=func.length-outerArgs.length;function gather(nextArgs,innerArgs,expected){var texpected=expected;var totalArgs=innerArgs.slice(0);for(var x=0;x<nextArgs.length;x++){totalArgs.push(nextArgs[x]);}
expected=expected-nextArgs.length;if(expected<=0){var res=func.apply(ns,totalArgs);expected=texpected;return res;}else{return function(){return gather(arguments,totalArgs,expected);}}}
return gather([],outerArgs,ecount);}
dojo.lang.curryArguments=function(ns,func,args,offset){var targs=[];var x=offset||0;for(x=offset;x<args.length;x++){targs.push(args[x]);}
return dojo.lang.curry.apply(dojo.lang,[ns,func].concat(targs));}
dojo.lang.setTimeout=function(func,delay){var context=window,argsStart=2;if(!dojo.lang.isFunction(func)){context=func;func=delay;delay=arguments[2];argsStart++;}
if(dojo.lang.isString(func)){func=context[func];}
var args=[];for(var i=argsStart;i<arguments.length;i++){args.push(arguments[i]);}
return setTimeout(function(){func.apply(context,args);},delay);}
dojo.lang.isObject=function(wh){return typeof wh=="object"||dojo.lang.isArray(wh)||dojo.lang.isFunction(wh);}
dojo.lang.isArray=function(wh){return(wh instanceof Array||typeof wh=="array");}
dojo.lang.isArrayLike=function(wh){if(dojo.lang.isString(wh)){return false;}
if(dojo.lang.isArray(wh)){return true;}
if(typeof wh!="undefined"&&wh&&dojo.lang.isNumber(wh.length)&&isFinite(wh.length)){return true;}
return false;}
dojo.lang.isFunction=function(wh){return(wh instanceof Function||typeof wh=="function");}
dojo.lang.isString=function(wh){return(wh instanceof String||typeof wh=="string");}
dojo.lang.isAlien=function(wh){return!dojo.lang.isFunction()&&/\{\s*\[native code\]\s*\}/.test(String(wh));}
dojo.lang.isBoolean=function(wh){return(wh instanceof Boolean||typeof wh=="boolean");}
dojo.lang.isNumber=function(wh){return(wh instanceof Number||typeof wh=="number");}
dojo.lang.isUndefined=function(wh){return((wh==undefined)&&(typeof wh=="undefined"));}
dojo.lang.whatAmI=function(wh){try{if(dojo.lang.isArray(wh)){return"array";}
if(dojo.lang.isFunction(wh)){return"function";}
if(dojo.lang.isString(wh)){return"string";}
if(dojo.lang.isNumber(wh)){return"number";}
if(dojo.lang.isBoolean(wh)){return"boolean";}
if(dojo.lang.isAlien(wh)){return"alien";}
if(dojo.lang.isUndefined(wh)){return"undefined";}
for(var name in dojo.lang.whatAmI.custom){if(dojo.lang.whatAmI.custom[name](wh)){return name;}}
if(dojo.lang.isObject(wh)){return"object";}}catch(E){}
return"unknown";}
dojo.lang.whatAmI.custom={};dojo.lang.find=function(arr,val,identity){if(!dojo.lang.isArrayLike(arr)&&dojo.lang.isArrayLike(val)){var a=arr;arr=val;val=a;}
var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
if(identity){for(var i=0;i<arr.length;++i){if(arr[i]===val){return i;}}}else{for(var i=0;i<arr.length;++i){if(arr[i]==val){return i;}}}
return-1;}
dojo.lang.indexOf=dojo.lang.find;dojo.lang.findLast=function(arr,val,identity){if(!dojo.lang.isArrayLike(arr)&&dojo.lang.isArrayLike(val)){var a=arr;arr=val;val=a;}
var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
if(identity){for(var i=arr.length-1;i>=0;i--){if(arr[i]===val){return i;}}}else{for(var i=arr.length-1;i>=0;i--){if(arr[i]==val){return i;}}}
return-1;}
dojo.lang.lastIndexOf=dojo.lang.findLast;dojo.lang.inArray=function(arr,val){return dojo.lang.find(arr,val)>-1;}
dojo.lang.getNameInObj=function(ns,item){if(!ns){ns=dj_global;}
for(var x in ns){if(ns[x]===item){return new String(x);}}
return null;}
dojo.lang.has=function(obj,name){return(typeof obj[name]!=='undefined');}
dojo.lang.isEmpty=function(obj){if(dojo.lang.isObject(obj)){var tmp={};var count=0;for(var x in obj){if(obj[x]&&(!tmp[x])){count++;break;}}
return(count==0);}else if(dojo.lang.isArrayLike(obj)||dojo.lang.isString(obj)){return obj.length==0;}}
dojo.lang.forEach=function(arr,unary_func,fix_length){var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
var il=arr.length;for(var i=0;i<((fix_length)?il:arr.length);i++){if(unary_func(arr[i],i,arr)=="break"){break;}}}
dojo.lang.map=function(arr,obj,unary_func){var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
if(dojo.lang.isFunction(obj)&&(!unary_func)){unary_func=obj;obj=dj_global;}else if(dojo.lang.isFunction(obj)&&unary_func){var tmpObj=obj;obj=unary_func;unary_func=tmpObj;}
if(Array.map){var outArr=Array.map(arr,unary_func,obj);}else{var outArr=[];for(var i=0;i<arr.length;++i){outArr.push(unary_func.call(obj,arr[i]));}}
if(isString){return outArr.join("");}else{return outArr;}}
dojo.lang.tryThese=function(){for(var x=0;x<arguments.length;x++){try{if(typeof arguments[x]=="function"){var ret=(arguments[x]());if(ret){return ret;}}}catch(e){dojo.debug(e);}}}
dojo.lang.delayThese=function(farr,cb,delay,onend){if(!farr.length){if(typeof onend=="function"){onend();}
return;}
if((typeof delay=="undefined")&&(typeof cb=="number")){delay=cb;cb=function(){};}else if(!cb){cb=function(){};if(!delay){delay=0;}}
setTimeout(function(){(farr.shift())();cb();dojo.lang.delayThese(farr,cb,delay,onend);},delay);}
dojo.lang.shallowCopy=function(obj){var ret={},key;for(key in obj){if(dojo.lang.isUndefined(ret[key])){ret[key]=obj[key];}}
return ret;}
dojo.lang.every=function(arr,callback,thisObject){var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
if(Array.every){return Array.every(arr,callback,thisObject);}else{if(!thisObject){if(arguments.length>=3){dojo.raise("thisObject doesn't exist!");}
thisObject=dj_global;}
for(var i=0;i<arr.length;i++){if(!callback.call(thisObject,arr[i],i,arr)){return false;}}
return true;}}
dojo.lang.some=function(arr,callback,thisObject){var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
if(Array.some){return Array.some(arr,callback,thisObject);}else{if(!thisObject){if(arguments.length>=3){dojo.raise("thisObject doesn't exist!");}
thisObject=dj_global;}
for(var i=0;i<arr.length;i++){if(callback.call(thisObject,arr[i],i,arr)){return true;}}
return false;}}
dojo.lang.filter=function(arr,callback,thisObject){var isString=dojo.lang.isString(arr);if(isString){arr=arr.split("");}
if(Array.filter){var outArr=Array.filter(arr,callback,thisObject);}else{if(!thisObject){if(arguments.length>=3){dojo.raise("thisObject doesn't exist!");}
thisObject=dj_global;}
var outArr=[];for(var i=0;i<arr.length;i++){if(callback.call(thisObject,arr[i],i,arr)){outArr.push(arr[i]);}}}
if(isString){return outArr.join("");}else{return outArr;}}
dojo.AdapterRegistry=function(){this.pairs=[];}
dojo.lang.extend(dojo.AdapterRegistry,{register:function(name,check,wrap,override){if(override){this.pairs.unshift([name,check,wrap]);}else{this.pairs.push([name,check,wrap]);}},match:function(){for(var i=0;i<this.pairs.length;i++){var pair=this.pairs[i];if(pair[1].apply(this,arguments)){return pair[2].apply(this,arguments);}}
throw new Error("No match found");},unregister:function(name){for(var i=0;i<this.pairs.length;i++){var pair=this.pairs[i];if(pair[0]==name){this.pairs.splice(i,1);return true;}}
return false;}});dojo.lang.reprRegistry=new dojo.AdapterRegistry();dojo.lang.registerRepr=function(name,check,wrap,override){dojo.lang.reprRegistry.register(name,check,wrap,override);};dojo.lang.repr=function(obj){if(typeof(obj)=="undefined"){return"undefined";}else if(obj===null){return"null";}
try{if(typeof(obj["__repr__"])=='function'){return obj["__repr__"]();}else if((typeof(obj["repr"])=='function')&&(obj.repr!=arguments.callee)){return obj["repr"]();}
return dojo.lang.reprRegistry.match(obj);}catch(e){if(typeof(obj.NAME)=='string'&&(obj.toString==Function.prototype.toString||obj.toString==Object.prototype.toString)){return o.NAME;}}
if(typeof(obj)=="function"){obj=(obj+"").replace(/^\s+/,"");var idx=obj.indexOf("{");if(idx!=-1){obj=obj.substr(0,idx)+"{...}";}}
return obj+"";}
dojo.lang.reprArrayLike=function(arr){try{var na=dojo.lang.map(arr,dojo.lang.repr);return"["+na.join(", ")+"]";}catch(e){}};dojo.lang.reprString=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.lang.reprNumber=function(num){return num+"";};(function(){var m=dojo.lang;m.registerRepr("arrayLike",m.isArrayLike,m.reprArrayLike);m.registerRepr("string",m.isString,m.reprString);m.registerRepr("numbers",m.isNumber,m.reprNumber);m.registerRepr("boolean",m.isBoolean,m.reprNumber);})();dojo.lang.unnest=function(){var out=[];for(var i=0;i<arguments.length;i++){if(dojo.lang.isArrayLike(arguments[i])){var add=dojo.lang.unnest.apply(this,arguments[i]);out=out.concat(add);}else{out.push(arguments[i]);}}
return out;}
dojo.lang.firstValued=function(){for(var i=0;i<arguments.length;i++){if(typeof arguments[i]!="undefined"){return arguments[i];}}
return undefined;}
dojo.lang.toArray=function(arrayLike,startOffset){var array=[];for(var i=startOffset||0;i<arrayLike.length;i++){array.push(arrayLike[i]);}
return array;}
dojo.require("dojo.lang");dojo.provide("dojo.event");dojo.event=new function(){this.canTimeout=dojo.lang.isFunction(dj_global["setTimeout"])||dojo.lang.isAlien(dj_global["setTimeout"]);function interpolateArgs(args){var dl=dojo.lang;var ao={srcObj:dj_global,srcFunc:null,adviceObj:dj_global,adviceFunc:null,aroundObj:null,aroundFunc:null,adviceType:(args.length>2)?args[0]:"after",precedence:"last",once:false,delay:null,rate:0,adviceMsg:false};switch(args.length){case 0:return;case 1:return;case 2:ao.srcFunc=args[0];ao.adviceFunc=args[1];break;case 3:if((dl.isObject(args[0]))&&(dl.isString(args[1]))&&(dl.isString(args[2]))){ao.adviceType="after";ao.srcObj=args[0];ao.srcFunc=args[1];ao.adviceFunc=args[2];}else if((dl.isString(args[1]))&&(dl.isString(args[2]))){ao.srcFunc=args[1];ao.adviceFunc=args[2];}else if((dl.isObject(args[0]))&&(dl.isString(args[1]))&&(dl.isFunction(args[2]))){ao.adviceType="after";ao.srcObj=args[0];ao.srcFunc=args[1];var tmpName=dojo.lang.nameAnonFunc(args[2],ao.adviceObj);ao.adviceFunc=tmpName;}else if((dl.isFunction(args[0]))&&(dl.isObject(args[1]))&&(dl.isString(args[2]))){ao.adviceType="after";ao.srcObj=dj_global;var tmpName=dojo.lang.nameAnonFunc(args[0],ao.srcObj);ao.srcFunc=tmpName;ao.adviceObj=args[1];ao.adviceFunc=args[2];}
break;case 4:if((dl.isObject(args[0]))&&(dl.isObject(args[2]))){ao.adviceType="after";ao.srcObj=args[0];ao.srcFunc=args[1];ao.adviceObj=args[2];ao.adviceFunc=args[3];}else if((dl.isString(args[0]))&&(dl.isString(args[1]))&&(dl.isObject(args[2]))){ao.adviceType=args[0];ao.srcObj=dj_global;ao.srcFunc=args[1];ao.adviceObj=args[2];ao.adviceFunc=args[3];}else if((dl.isString(args[0]))&&(dl.isFunction(args[1]))&&(dl.isObject(args[2]))){ao.adviceType=args[0];ao.srcObj=dj_global;var tmpName=dojo.lang.nameAnonFunc(args[1],dj_global);ao.srcFunc=tmpName;ao.adviceObj=args[2];ao.adviceFunc=args[3];}else if(dl.isObject(args[1])){ao.srcObj=args[1];ao.srcFunc=args[2];ao.adviceObj=dj_global;ao.adviceFunc=args[3];}else if(dl.isObject(args[2])){ao.srcObj=dj_global;ao.srcFunc=args[1];ao.adviceObj=args[2];ao.adviceFunc=args[3];}else{ao.srcObj=ao.adviceObj=ao.aroundObj=dj_global;ao.srcFunc=args[1];ao.adviceFunc=args[2];ao.aroundFunc=args[3];}
break;case 6:ao.srcObj=args[1];ao.srcFunc=args[2];ao.adviceObj=args[3]
ao.adviceFunc=args[4];ao.aroundFunc=args[5];ao.aroundObj=dj_global;break;default:ao.srcObj=args[1];ao.srcFunc=args[2];ao.adviceObj=args[3]
ao.adviceFunc=args[4];ao.aroundObj=args[5];ao.aroundFunc=args[6];ao.once=args[7];ao.delay=args[8];ao.rate=args[9];ao.adviceMsg=args[10];break;}
if((typeof ao.srcFunc).toLowerCase()!="string"){ao.srcFunc=dojo.lang.getNameInObj(ao.srcObj,ao.srcFunc);}
if((typeof ao.adviceFunc).toLowerCase()!="string"){ao.adviceFunc=dojo.lang.getNameInObj(ao.adviceObj,ao.adviceFunc);}
if((ao.aroundObj)&&((typeof ao.aroundFunc).toLowerCase()!="string")){ao.aroundFunc=dojo.lang.getNameInObj(ao.aroundObj,ao.aroundFunc);}
if(!ao.srcObj){dojo.raise("bad srcObj for srcFunc: "+ao.srcFunc);}
if(!ao.adviceObj){dojo.raise("bad adviceObj for adviceFunc: "+ao.adviceFunc);}
return ao;}
this.connect=function(){var ao=interpolateArgs(arguments);var mjp=dojo.event.MethodJoinPoint.getForMethod(ao.srcObj,ao.srcFunc);if(ao.adviceFunc){var mjp2=dojo.event.MethodJoinPoint.getForMethod(ao.adviceObj,ao.adviceFunc);}
mjp.kwAddAdvice(ao);return mjp;}
this.connectBefore=function(){var args=["before"];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}
return this.connect.apply(this,args);}
this.connectAround=function(){var args=["around"];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}
return this.connect.apply(this,args);}
this._kwConnectImpl=function(kwArgs,disconnect){var fn=(disconnect)?"disconnect":"connect";if(typeof kwArgs["srcFunc"]=="function"){kwArgs.srcObj=kwArgs["srcObj"]||dj_global;var tmpName=dojo.lang.nameAnonFunc(kwArgs.srcFunc,kwArgs.srcObj);kwArgs.srcFunc=tmpName;}
if(typeof kwArgs["adviceFunc"]=="function"){kwArgs.adviceObj=kwArgs["adviceObj"]||dj_global;var tmpName=dojo.lang.nameAnonFunc(kwArgs.adviceFunc,kwArgs.adviceObj);kwArgs.adviceFunc=tmpName;}
return dojo.event[fn]((kwArgs["type"]||kwArgs["adviceType"]||"after"),kwArgs["srcObj"]||dj_global,kwArgs["srcFunc"],kwArgs["adviceObj"]||kwArgs["targetObj"]||dj_global,kwArgs["adviceFunc"]||kwArgs["targetFunc"],kwArgs["aroundObj"],kwArgs["aroundFunc"],kwArgs["once"],kwArgs["delay"],kwArgs["rate"],kwArgs["adviceMsg"]||false);}
this.kwConnect=function(kwArgs){return this._kwConnectImpl(kwArgs,false);}
this.disconnect=function(){var ao=interpolateArgs(arguments);if(!ao.adviceFunc){return;}
var mjp=dojo.event.MethodJoinPoint.getForMethod(ao.srcObj,ao.srcFunc);return mjp.removeAdvice(ao.adviceObj,ao.adviceFunc,ao.adviceType,ao.once);}
this.kwDisconnect=function(kwArgs){return this._kwConnectImpl(kwArgs,true);}}
dojo.event.MethodInvocation=function(join_point,obj,args){this.jp_=join_point;this.object=obj;this.args=[];for(var x=0;x<args.length;x++){this.args[x]=args[x];}
this.around_index=-1;}
dojo.event.MethodInvocation.prototype.proceed=function(){this.around_index++;if(this.around_index>=this.jp_.around.length){return this.jp_.object[this.jp_.methodname].apply(this.jp_.object,this.args);}else{var ti=this.jp_.around[this.around_index];var mobj=ti[0]||dj_global;var meth=ti[1];return mobj[meth].call(mobj,this);}}
dojo.event.MethodJoinPoint=function(obj,methname){this.object=obj||dj_global;this.methodname=methname;this.methodfunc=this.object[methname];this.before=[];this.after=[];this.around=[];}
dojo.event.MethodJoinPoint.getForMethod=function(obj,methname){if(!obj){obj=dj_global;}
if(!obj[methname]){obj[methname]=function(){};}else if((!dojo.lang.isFunction(obj[methname]))&&(!dojo.lang.isAlien(obj[methname]))){return null;}
var jpname=methname+"$joinpoint";var jpfuncname=methname+"$joinpoint$method";var joinpoint=obj[jpname];if(!joinpoint){var isNode=false;if(dojo.event["browser"]){if((obj["attachEvent"])||(obj["nodeType"])||(obj["addEventListener"])){isNode=true;dojo.event.browser.addClobberNodeAttrs(obj,[jpname,jpfuncname,methname]);}}
obj[jpfuncname]=obj[methname];joinpoint=obj[jpname]=new dojo.event.MethodJoinPoint(obj,jpfuncname);obj[methname]=function(){var args=[];if((isNode)&&(!arguments.length)&&(window.event)){args.push(dojo.event.browser.fixEvent(window.event));}else{for(var x=0;x<arguments.length;x++){if((x==0)&&(isNode)&&(dojo.event.browser.isEvent(arguments[x]))){args.push(dojo.event.browser.fixEvent(arguments[x]));}else{args.push(arguments[x]);}}}
return joinpoint.run.apply(joinpoint,args);}}
return joinpoint;}
dojo.lang.extend(dojo.event.MethodJoinPoint,{unintercept:function(){this.object[this.methodname]=this.methodfunc;},run:function(){var obj=this.object||dj_global;var args=arguments;var aargs=[];for(var x=0;x<args.length;x++){aargs[x]=args[x];}
var unrollAdvice=function(marr){if(!marr){dojo.debug("Null argument to unrollAdvice()");return;}
var callObj=marr[0]||dj_global;var callFunc=marr[1];if(!callObj[callFunc]){dojo.raise("function \""+callFunc+"\" does not exist on \""+callObj+"\"");}
var aroundObj=marr[2]||dj_global;var aroundFunc=marr[3];var msg=marr[6];var undef;var to={args:[],jp_:this,object:obj,proceed:function(){return callObj[callFunc].apply(callObj,to.args);}};to.args=aargs;var delay=parseInt(marr[4]);var hasDelay=((!isNaN(delay))&&(marr[4]!==null)&&(typeof marr[4]!="undefined"));if(marr[5]){var rate=parseInt(marr[5]);var cur=new Date();var timerSet=false;if((marr["last"])&&((cur-marr.last)<=rate)){if(dojo.event.canTimeout){if(marr["delayTimer"]){clearTimeout(marr.delayTimer);}
var tod=parseInt(rate*2);var mcpy=dojo.lang.shallowCopy(marr);marr.delayTimer=setTimeout(function(){mcpy[5]=0;unrollAdvice(mcpy);},tod);}
return;}else{marr.last=cur;}}
if(aroundFunc){aroundObj[aroundFunc].call(aroundObj,to);}else{if((hasDelay)&&((dojo.render.html)||(dojo.render.svg))){dj_global["setTimeout"](function(){if(msg){callObj[callFunc].call(callObj,to);}else{callObj[callFunc].apply(callObj,args);}},delay);}else{if(msg){callObj[callFunc].call(callObj,to);}else{callObj[callFunc].apply(callObj,args);}}}}
if(this.before.length>0){dojo.lang.forEach(this.before,unrollAdvice,true);}
var result;if(this.around.length>0){var mi=new dojo.event.MethodInvocation(this,obj,args);result=mi.proceed();}else if(this.methodfunc){result=this.object[this.methodname].apply(this.object,args);}
if(this.after.length>0){dojo.lang.forEach(this.after,unrollAdvice,true);}
return(this.methodfunc)?result:null;},getArr:function(kind){var arr=this.after;if((typeof kind=="string")&&(kind.indexOf("before")!=-1)){arr=this.before;}else if(kind=="around"){arr=this.around;}
return arr;},kwAddAdvice:function(args){this.addAdvice(args["adviceObj"],args["adviceFunc"],args["aroundObj"],args["aroundFunc"],args["adviceType"],args["precedence"],args["once"],args["delay"],args["rate"],args["adviceMsg"]);},addAdvice:function(thisAdviceObj,thisAdvice,thisAroundObj,thisAround,advice_kind,precedence,once,delay,rate,asMessage){var arr=this.getArr(advice_kind);if(!arr){dojo.raise("bad this: "+this);}
var ao=[thisAdviceObj,thisAdvice,thisAroundObj,thisAround,delay,rate,asMessage];if(once){if(this.hasAdvice(thisAdviceObj,thisAdvice,advice_kind,arr)>=0){return;}}
if(precedence=="first"){arr.unshift(ao);}else{arr.push(ao);}},hasAdvice:function(thisAdviceObj,thisAdvice,advice_kind,arr){if(!arr){arr=this.getArr(advice_kind);}
var ind=-1;for(var x=0;x<arr.length;x++){if((arr[x][0]==thisAdviceObj)&&(arr[x][1]==thisAdvice)){ind=x;}}
return ind;},removeAdvice:function(thisAdviceObj,thisAdvice,advice_kind,once){var arr=this.getArr(advice_kind);var ind=this.hasAdvice(thisAdviceObj,thisAdvice,advice_kind,arr);if(ind==-1){return false;}
while(ind!=-1){arr.splice(ind,1);if(once){break;}
ind=this.hasAdvice(thisAdviceObj,thisAdvice,advice_kind,arr);}
return true;}});dojo.require("dojo.event");dojo.provide("dojo.event.topic");dojo.event.topic=new function(){this.topics={};this.getTopic=function(topicName){if(!this.topics[topicName]){this.topics[topicName]=new this.TopicImpl(topicName);}
return this.topics[topicName];}
this.registerPublisher=function(topic,obj,funcName){var topic=this.getTopic(topic);topic.registerPublisher(obj,funcName);}
this.subscribe=function(topic,obj,funcName){var topic=this.getTopic(topic);topic.subscribe(obj,funcName);}
this.unsubscribe=function(topic,obj,funcName){var topic=this.getTopic(topic);topic.unsubscribe(obj,funcName);}
this.publish=function(topic,message){var topic=this.getTopic(topic);var args=[];if((arguments.length==2)&&(message.length)&&(typeof message!="string")){args=message;}else{var args=[];for(var x=1;x<arguments.length;x++){args.push(arguments[x]);}}
topic.sendMessage.apply(topic,args);}}
dojo.event.topic.TopicImpl=function(topicName){this.topicName=topicName;var self=this;self.subscribe=function(listenerObject,listenerMethod){var tf=listenerMethod||listenerObject;var to=(!listenerMethod)?dj_global:listenerObject;dojo.event.kwConnect({srcObj:self,srcFunc:"sendMessage",adviceObj:to,adviceFunc:tf});}
self.unsubscribe=function(listenerObject,listenerMethod){var tf=(!listenerMethod)?listenerObject:listenerMethod;var to=(!listenerMethod)?null:listenerObject;dojo.event.kwDisconnect({srcObj:self,srcFunc:"sendMessage",adviceObj:to,adviceFunc:tf});}
self.registerPublisher=function(publisherObject,publisherMethod){dojo.event.connect(publisherObject,publisherMethod,self,"sendMessage");}
self.sendMessage=function(message){}}
dojo.provide("dojo.event.browser");dojo.require("dojo.event");dojo_ie_clobber=new function(){this.clobberNodes=[];function nukeProp(node,prop){try{node[prop]=null;}catch(e){}
try{delete node[prop];}catch(e){}
try{node.removeAttribute(prop);}catch(e){}}
this.clobber=function(nodeRef){var na;var tna;if(nodeRef){tna=nodeRef.getElementsByTagName("*");na=[nodeRef];for(var x=0;x<tna.length;x++){if(tna[x]["__doClobber__"]){na.push(tna[x]);}}}else{try{window.onload=null;}catch(e){}
na=(this.clobberNodes.length)?this.clobberNodes:document.all;}
tna=null;var basis={};for(var i=na.length-1;i>=0;i=i-1){var el=na[i];if(el["__clobberAttrs__"]){for(var j=0;j<el.__clobberAttrs__.length;j++){nukeProp(el,el.__clobberAttrs__[j]);}
nukeProp(el,"__clobberAttrs__");nukeProp(el,"__doClobber__");}}
na=null;}}
if(dojo.render.html.ie){window.onunload=function(){dojo_ie_clobber.clobber();try{if((dojo["widget"])&&(dojo.widget["manager"])){dojo.widget.manager.destroyAll();}}catch(e){}
try{window.onload=null;}catch(e){}
try{window.onunload=null;}catch(e){}
dojo_ie_clobber.clobberNodes=[];}}
dojo.event.browser=new function(){var clobberIdx=0;this.clean=function(node){if(dojo.render.html.ie){dojo_ie_clobber.clobber(node);}}
this.addClobberNode=function(node){if(!node["__doClobber__"]){node.__doClobber__=true;dojo_ie_clobber.clobberNodes.push(node);node.__clobberAttrs__=[];}}
this.addClobberNodeAttrs=function(node,props){this.addClobberNode(node);for(var x=0;x<props.length;x++){node.__clobberAttrs__.push(props[x]);}}
this.removeListener=function(node,evtName,fp,capture){if(!capture){var capture=false;}
evtName=evtName.toLowerCase();if(evtName.substr(0,2)=="on"){evtName=evtName.substr(2);}
if(node.removeEventListener){node.removeEventListener(evtName,fp,capture);}}
this.addListener=function(node,evtName,fp,capture,dontFix){if(!node){return;}
if(!capture){var capture=false;}
evtName=evtName.toLowerCase();if(evtName.substr(0,2)!="on"){evtName="on"+evtName;}
if(!dontFix){var newfp=function(evt){if(!evt){evt=window.event;}
var ret=fp(dojo.event.browser.fixEvent(evt));if(capture){dojo.event.browser.stopEvent(evt);}
return ret;}}else{newfp=fp;}
if(node.addEventListener){node.addEventListener(evtName.substr(2),newfp,capture);return newfp;}else{if(typeof node[evtName]=="function"){var oldEvt=node[evtName];node[evtName]=function(e){oldEvt(e);return newfp(e);}}else{node[evtName]=newfp;}
if(dojo.render.html.ie){this.addClobberNodeAttrs(node,[evtName]);}
return newfp;}}
this.isEvent=function(obj){return(typeof obj!="undefined")&&(typeof Event!="undefined")&&(obj.eventPhase);}
this.currentEvent=null;this.callListener=function(listener,curTarget){if(typeof listener!='function'){dojo.raise("listener not a function: "+listener);}
dojo.event.browser.currentEvent.currentTarget=curTarget;return listener.call(curTarget,dojo.event.browser.currentEvent);}
this.stopPropagation=function(){dojo.event.browser.currentEvent.cancelBubble=true;}
this.preventDefault=function(){dojo.event.browser.currentEvent.returnValue=false;}
this.keys={KEY_BACKSPACE:8,KEY_TAB:9,KEY_ENTER:13,KEY_SHIFT:16,KEY_CTRL:17,KEY_ALT:18,KEY_PAUSE:19,KEY_CAPS_LOCK:20,KEY_ESCAPE:27,KEY_SPACE:32,KEY_PAGE_UP:33,KEY_PAGE_DOWN:34,KEY_END:35,KEY_HOME:36,KEY_LEFT_ARROW:37,KEY_UP_ARROW:38,KEY_RIGHT_ARROW:39,KEY_DOWN_ARROW:40,KEY_INSERT:45,KEY_DELETE:46,KEY_LEFT_WINDOW:91,KEY_RIGHT_WINDOW:92,KEY_SELECT:93,KEY_F1:112,KEY_F2:113,KEY_F3:114,KEY_F4:115,KEY_F5:116,KEY_F6:117,KEY_F7:118,KEY_F8:119,KEY_F9:120,KEY_F10:121,KEY_F11:122,KEY_F12:123,KEY_NUM_LOCK:144,KEY_SCROLL_LOCK:145};this.revKeys=[];for(var key in this.keys){this.revKeys[this.keys[key]]=key;}
this.fixEvent=function(evt){if((!evt)&&(window["event"])){var evt=window.event;}
if((evt["type"])&&(evt["type"].indexOf("key")==0)){evt.keys=this.revKeys;for(var key in this.keys){evt[key]=this.keys[key];}
if((dojo.render.html.ie)&&(evt["type"]=="keypress")){evt.charCode=evt.keyCode;}}
if(dojo.render.html.ie){if(!evt.target){evt.target=evt.srcElement;}
if(!evt.currentTarget){evt.currentTarget=evt.srcElement;}
if(!evt.layerX){evt.layerX=evt.offsetX;}
if(!evt.layerY){evt.layerY=evt.offsetY;}
if(evt.fromElement){evt.relatedTarget=evt.fromElement;}
if(evt.toElement){evt.relatedTarget=evt.toElement;}
this.currentEvent=evt;evt.callListener=this.callListener;evt.stopPropagation=this.stopPropagation;evt.preventDefault=this.preventDefault;}
return evt;}
this.stopEvent=function(ev){if(window.event){ev.returnValue=false;ev.cancelBubble=true;}else{ev.preventDefault();ev.stopPropagation();}}}
dojo.hostenv.conditionalLoadModule({common:["dojo.event","dojo.event.topic"],browser:["dojo.event.browser"]});dojo.hostenv.moduleLoaded("dojo.event.*");