/*
    This file contains supporting code from two open source libraries, Dojo and swfobject. 
    Obligatory licensing information is provided below for these two open source projects.

    -----------------------------------------------------------------------------------------------
	Copyright (c) 2004-2008, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

	http://dojotoolkit.org/license

	This file is embedded with a compiled version of Dojo, built for deployment and not for
	development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.

    -----------------------------------------------------------------------------------------------

    SWFObject v2.0 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/


//minified custom Dojo (dojo.js only) build with dojo.cookie, dojo.date, dojo.date.stamp 
//and dojo.io.script support using r14215
(function(){var _1=null;if((_1||(typeof djConfig!="undefined"&&djConfig.scopeMap))&&(typeof window!="undefined")){var _2="",_3="",_4="",_5={},_6={};_1=_1||djConfig.scopeMap;for(var i=0;i<_1.length;i++){var _8=_1[i];_2+="var "+_8[0]+" = {}; "+_8[1]+" = "+_8[0]+";"+_8[1]+"._scopeName = '"+_8[1]+"';";_3+=(i==0?"":",")+_8[0];_4+=(i==0?"":",")+_8[1];_5[_8[0]]=_8[1];_6[_8[1]]=_8[0];}eval(_2+"dojo._scopeArgs = ["+_4+"];");dojo._scopePrefixArgs=_3;dojo._scopePrefix="(function("+_3+"){";dojo._scopeSuffix="})("+_4+")";dojo._scopeMap=_5;dojo._scopeMapRev=_6;}(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 _c=tn+"";console[_c]=function(){var a=Array.apply({},arguments);a.unshift(_c+":");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 _f in djConfig){d.config[_f]=djConfig[_f];}}var _10=["Browser","Rhino","Spidermonkey","Mobile"];var t;while((t=_10.shift())){d["is"+t]=false;}dojo.locale=d.config.locale;var rev="$Rev: 13682 $".match(/\d+/);dojo.version={major:0,minor:0,patch:0,flag:"dev",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,_14){var _15={};for(var x in _14){if(_15[x]===undefined||_15[x]!=_14[x]){obj[x]=_14[x];}}if(d["isIE"]&&_14){var p=_14.toString;if(typeof p=="function"&&p!=obj.toString&&p!=_15.toString&&p!="\nfunction toString() {\n    [native code]\n}\n"){obj.toString=_14.toString;}}return obj;};dojo.mixin=function(obj,_19){for(var i=1,l=arguments.length;i<l;i++){d._mixin(obj,arguments[i]);}return obj;};dojo._getProp=function(_1c,_1d,_1e){var obj=_1e||d.global;for(var i=0,p;obj&&(p=_1c[i]);i++){if(i==0&&this._scopeMap[p]){p=this._scopeMap[p];}obj=(p in obj?obj[p]:(_1d?obj[p]={}:undefined));}return obj;};dojo.setObject=function(_22,_23,_24){var _25=_22.split("."),p=_25.pop(),obj=d._getProp(_25,true,_24);return obj&&p?(obj[p]=_23):undefined;};dojo.getObject=function(_28,_29,_2a){return d._getProp(_28.split("."),_29,_2a);};dojo.exists=function(_2b,obj){return !!d.getObject(_2b,false,obj);};dojo["eval"]=function(_2d){return d.global.eval?d.global.eval(_2d):eval(_2d);};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(_2f){var mp=this._modulePrefixes;return !!(mp[_2f]&&mp[_2f].value);},_getModulePrefix:function(_31){var mp=this._modulePrefixes;if(this._moduleHasPrefix(_31)){return mp[_31].value;}return _31;},_loadedUrls:[],_postLoad:false,_loaders:[],_unloaders:[],_loadNotifying:false});dojo._loadPath=function(_33,_34,cb){var uri=((_33.charAt(0)=="/"||_33.match(/^\w+:/))?"":this.baseUrl)+_33;try{return !_34?this._loadUri(uri,cb):this._loadUriAndCheck(uri,_34,cb);}catch(e){console.error(e);return false;}};dojo._loadUri=function(uri,cb){if(this._loadedUrls[uri]){return true;}var _39=this._getText(uri,true);if(!_39){return false;}this._loadedUrls[uri]=true;this._loadedUrls.push(uri);if(cb){_39="("+_39+")";}else{_39=this._scopePrefix+_39+this._scopeSuffix;}if(d.isMoz){_39+="\r\n//@ sourceURL="+uri;}var _3a=d["eval"](_39);if(cb){cb(_3a);}return true;};dojo._loadUriAndCheck=function(uri,_3c,cb){var ok=false;try{ok=this._loadUri(uri,cb);}catch(e){console.error("failed loading "+uri+" with error: "+e);}return !!(ok&&this._loadedModules[_3c]);};dojo.loaded=function(){this._loadNotifying=true;this._postLoad=true;var mll=d._loaders;this._loaders=[];for(var x=0;x<mll.length;x++){mll[x]();}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 _42=function(arr,obj,fn){if(!fn){arr.push(obj);}else{if(fn){var _46=(typeof fn=="string")?obj[fn]:fn;arr.push(function(){_46.call(obj);});}}};dojo.addOnLoad=function(obj,_48){_42(d._loaders,obj,_48);if(d._postLoad&&d._inFlightCount==0&&!d._loadNotifying){d._callLoaded();}};var dca=d.config.addOnLoad;if(dca){d.addOnLoad[(dca instanceof Array?"apply":"call")](d,dca);}dojo.addOnUnload=function(obj,_4b){_42(d._unloaders,obj,_4b);};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(_4c){var _4d=_4c.split(".");for(var i=_4d.length;i>0;i--){var _4f=_4d.slice(0,i).join(".");if((i==1)&&!this._moduleHasPrefix(_4f)){_4d[0]="../"+_4d[0];}else{var _50=this._getModulePrefix(_4f);if(_50!=_4f){_4d.splice(0,i,_50);break;}}}return _4d;};dojo._global_omit_module_check=false;dojo.loadInit=function(_51){_51();};dojo._loadModule=dojo.require=function(_52,_53){_53=this._global_omit_module_check||_53;var _54=this._loadedModules[_52];if(_54){return _54;}var _55=this._getModuleSymbols(_52).join("/")+".js";var _56=(!_53)?_52:null;var ok=this._loadPath(_55,_56);if(!ok&&!_53){throw new Error("Could not load '"+_52+"'; last tried '"+_55+"'");}if(!_53&&!this._isXDomain){_54=this._loadedModules[_52];if(!_54){throw new Error("symbol '"+_52+"' is not defined after loading '"+_55+"'");}}return _54;};dojo.provide=function(_58){_58=_58+"";return (d._loadedModules[_58]=d.getObject(_58,true));};dojo.platformRequire=function(_59){var _5a=_59.common||[];var _5b=_5a.concat(_59[d._name]||_59["default"]||[]);for(var x=0;x<_5b.length;x++){var _5d=_5b[x];if(_5d.constructor==Array){d._loadModule.apply(d,_5d);}else{d._loadModule(_5d);}}};dojo.requireIf=function(_5e,_5f){if(_5e===true){var _60=[];for(var i=1;i<arguments.length;i++){_60.push(arguments[i]);}d.require.apply(d,_60);}};dojo.requireAfterIf=d.requireIf;dojo.registerModulePath=function(_62,_63){d._modulePrefixes[_62]={name:_62,value:_63};};dojo.requireLocalization=function(_64,_65,_66,_67){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 _6e=new d._Url(_a[i]+"");var _6f=new d._Url(uri[0]+"");if(_6e.path==""&&!_6e.scheme&&!_6e.authority&&!_6e.query){if(_6e.fragment!=n){_6f.fragment=_6e.fragment;}_6e=_6f;}else{if(!_6e.scheme){_6e.scheme=_6f.scheme;if(!_6e.authority){_6e.authority=_6f.authority;if(_6e.path.charAt(0)!="/"){var _70=_6f.path.substring(0,_6f.path.lastIndexOf("/")+1)+_6e.path;var _71=_70.split("/");for(var j=0;j<_71.length;j++){if(_71[j]=="."){if(j==_71.length-1){_71[j]="";}else{_71.splice(j,1);j--;}}else{if(j>0&&!(j==1&&_71[0]=="")&&_71[j]==".."&&_71[j-1]!=".."){if(j==(_71.length-1)){_71.splice(j,1);_71[j-1]="";}else{_71.splice(j-1,2);j-=2;}}}}_6e.path=_71.join("/");}}}}uri=[];if(_6e.scheme){uri.push(_6e.scheme,":");}if(_6e.authority){uri.push("//",_6e.authority);}uri.push(_6e.path);if(_6e.query){uri.push("?",_6e.query);}if(_6e.fragment){uri.push("#",_6e.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[6]||r[7];this.port=r[9]||n;}};dojo._Url.prototype.toString=function(){return this.uri;};dojo.moduleUrl=function(_74,url){var loc=d._getModuleSymbols(_74).join("/");if(!loc){return null;}if(loc.lastIndexOf("/")!=loc.length-1){loc+="/";}var _77=loc.indexOf(":");if(loc.charAt(0)!="/"&&(_77==-1||_77>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 _79=document.getElementsByTagName("script");var _7a=/dojo(\.xd)?\.js(\W|$)/i;for(var i=0;i<_79.length;i++){var src=_79[i].getAttribute("src");if(!src){continue;}var m=src.match(_7a);if(m){if(!d.config.baseUrl){d.config.baseUrl=src.substring(0,m.index);}var cfg=_79[i].getAttribute("djConfig");if(cfg){var _7f=eval("({ "+cfg+" })");for(var x in _7f){dojo.config[x]=_7f[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 _87=null;var _88=null;if(!dojo.isIE||!dojo.config.ieForceActiveXXhr){try{_87=new XMLHttpRequest();}catch(e){}}if(!_87){for(var i=0;i<3;++i){var _8a=d._XMLHTTP_PROGIDS[i];try{_87=new ActiveXObject(_8a);}catch(e){_88=e;}if(_87){d._XMLHTTP_PROGIDS=[_8a];break;}}}if(!_87){throw new Error("XMLHTTP not available: "+_88);}return _87;};d._isDocumentOk=function(_8b){var _8c=_8b.status||0;return (_8c>=200&&_8c<300)||_8c==304||_8c==1223||(!_8c&&(location.protocol=="file:"||location.protocol=="chrome:"));};var _8d=window.location+"";var _8e=document.getElementsByTagName("base");var _8f=(_8e&&_8e.length>0);d._getText=function(uri,_91){var _92=this._xhrObj();if(!_8f&&dojo._Url){uri=(new dojo._Url(_8d,uri)).toString();}if(d.config.cacheBust){uri+="";uri+=(uri.indexOf("?")==-1?"?":"&")+String(d.config.cacheBust).replace(/\W+/g,"");}_92.open("GET",uri,false);try{_92.send(null);if(!d._isDocumentOk(_92)){var err=Error("Unable to load "+uri+" status:"+_92.status);err.status=_92.status;err.responseText=_92.responseText;throw err;}}catch(e){if(_91){return null;}throw e;}return _92.responseText;};})();dojo._initFired=false;dojo._loadInit=function(e){dojo._initFired=true;var _95=(e&&e.type)?e.type.toLowerCase():"load";if(arguments.callee.initialized||(_95!="domcontentloaded"&&_95!="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){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 _97=function(_98,fp){var _9a=_w[_98]||function(){};_w[_98]=function(){fp.apply(_w,arguments);_9a.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>");}try{document.namespaces.add("v","urn:schemas-microsoft-com:vml");document.createStyleSheet().addRule("v\\:*","behavior:url(#default#VML)");}catch(e){}}_97("onbeforeunload",function(){dojo.unloaded();});})();}(function(){var mp=dojo.config["modulePaths"];if(mp){for(var _9c in mp){dojo.registerModulePath(_9c,mp[_9c]);}}})();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 _9f=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 _9f(it);}:_9f;})();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(_a6,_a7){for(var i=1,l=arguments.length;i<l;i++){dojo._mixin(_a6.prototype,arguments[i]);}return _a6;};dojo._hitchArgs=function(_aa,_ab){var pre=dojo._toArray(arguments,2);var _ad=dojo.isString(_ab);return function(){var _ae=dojo._toArray(arguments);var f=_ad?(_aa||dojo.global)[_ab]:_ab;return f&&f.apply(_aa||this,pre.concat(_ae));};};dojo.hitch=function(_b0,_b1){if(arguments.length>2){return dojo._hitchArgs.apply(dojo,arguments);}if(!_b1){_b1=_b0;_b0=null;}if(dojo.isString(_b1)){_b0=_b0||dojo.global;if(!_b0[_b1]){throw (["dojo.hitch: scope[\"",_b1,"\"] is null (scope=\"",_b0,"\")"].join(""));}return function(){return _b0[_b1].apply(_b0,arguments||[]);};}return !_b0?_b1:function(){return _b1.apply(_b0,arguments||[]);};};dojo.delegate=dojo._delegate=function(obj,_b3){function TMP(){};TMP.prototype=obj;var tmp=new TMP();if(_b3){dojo.mixin(tmp,_b3);}return tmp;};dojo.partial=function(_b5){var arr=[null];return dojo.hitch.apply(dojo,arr.concat(dojo._toArray(arguments)));};dojo._toArray=function(obj,_b8,_b9){var arr=_b9||[];for(var x=_b8||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(_c0,_c1,_c2){var dd=arguments.callee,_c4;if(dojo.isArray(_c1)){_c4=_c1;_c1=_c4.shift();}if(_c4){dojo.forEach(_c4,function(m){if(!m){throw (_c0+": mixin #"+i+" is null");}_c1=dd._delegate(_c1,m);});}var _c6=dd._delegate(_c1);_c2=_c2||{};_c6.extend(_c2);dojo.extend(_c6,{declaredClass:_c0,_constructor:_c2.constructor});_c6.prototype.constructor=_c6;return dojo.setObject(_c0,_c6);};dojo.mixin(dojo.declare,{_delegate:function(_c7,_c8){var bp=(_c7||0).prototype,mp=(_c8||0).prototype,dd=dojo.declare;var _cc=dd._makeCtor();dojo.mixin(_cc,{superclass:bp,mixin:mp,extend:dd._extend});if(_c7){_cc.prototype=dojo._delegate(bp);}dojo.extend(_cc,dd._core,mp||0,{_constructor:null,preamble:null});_cc.prototype.constructor=_cc;_cc.prototype.declaredClass=(bp||0).declaredClass+"_"+(mp||0).declaredClass;return _cc;},_extend:function(_cd){var i,fn;for(i in _cd){if(dojo.isFunction(fn=_cd[i])&&!0[i]){fn.nom=i;fn.ctor=this;}}dojo.extend(this,_cd);},_makeCtor:function(){return function(){this._construct(arguments);};},_core:{_construct:function(_d0){var c=_d0.callee,s=c.superclass,ct=s&&s.constructor,m=c.mixin,mct=m&&m.constructor,a=_d0,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,_d0);}if(this.constructor.prototype==c.prototype&&(ct=this.postscript)){ct.apply(this,_d0);}},_findMixin:function(_d9){var c=this.constructor,p,m;while(c){p=c.superclass;m=c.mixin;if(m==_d9||(m instanceof _d9.constructor)){return p;}if(m&&m._findMixin&&(m=m._findMixin(_d9))){return m;}c=p&&p.constructor;}},_findMethod:function(_dd,_de,_df,has){var p=_df,c,m,f;do{c=p.constructor;m=c.mixin;if(m&&(m=this._findMethod(_dd,_de,m,has))){return m;}if((f=p[_dd])&&(has==(f==_de))){return p;}p=c.superclass;}while(p);return !has&&(p=this._findMixin(_df))&&this._findMethod(_dd,_de,p,has);},inherited:function(_e5,_e6,_e7){var a=arguments;if(!dojo.isString(a[0])){_e7=_e6;_e6=_e5;_e5=_e6.callee.nom;}a=_e7||_e6;var c=_e6.callee,p=this.constructor.prototype,fn,mp;if(this[_e5]!=c||p[_e5]==c){mp=(c.ctor||0).superclass||this._findMethod(_e5,c,p,true);if(!mp){throw (this.declaredClass+": inherited method \""+_e5+"\" mismatch");}p=this._findMethod(_e5,c,mp,false);}fn=p&&p[_e5];if(!fn){throw (mp.declaredClass+": inherited method \""+_e5+"\" 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(_f3,_f4,_f5){_f3=_f3||dojo.global;var f=_f3[_f4];if(!f||!f._listeners){var d=dojo._listener.getDispatcher();d.target=f;d._listeners=[];f=_f3[_f4]=d;}return f._listeners.push(_f5);},remove:function(_f8,_f9,_fa){var f=(_f8||dojo.global)[_f9];if(f&&f._listeners&&_fa--){delete f._listeners[_fa];}}};dojo.connect=function(obj,_fd,_fe,_ff,_100){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,_106,_107,_108){var l=dojo._listener,h=l.add(obj,_106,dojo.hitch(_107,_108));return [obj,_106,h,l];};dojo.disconnect=function(_10b){if(_10b&&_10b[0]!==undefined){dojo._disconnect.apply(this,_10b);delete _10b[0];}};dojo._disconnect=function(obj,_10d,_10e,_10f){_10f.remove(obj,_10d,_10e);};dojo._topics={};dojo.subscribe=function(_110,_111,_112){return [_110,dojo._listener.add(dojo._topics,_110,dojo.hitch(_111,_112))];};dojo.unsubscribe=function(_113){if(_113){dojo._listener.remove(dojo._topics,_113[0],_113[1]);}};dojo.publish=function(_114,args){var f=dojo._topics[_114];if(f){f.apply(this,args||[]);}};dojo.connectPublisher=function(_117,obj,_119){var pf=function(){dojo.publish(_117,arguments);};return (_119)?dojo.connect(obj,_119,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(_11b){this.chain=[];this.id=this._nextId();this.fired=-1;this.paused=0;this.results=[null,null];this.canceller=_11b;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 _124=dojo.hitch.apply(dojo,arguments);return this.addCallbacks(_124,_124);},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 _12b=this.chain;var _12c=this.fired;var res=this.results[_12c];var self=this;var cb=null;while((_12b.length>0)&&(this.paused==0)){var f=_12b.shift()[_12c];if(!f){continue;}var func=function(){res=f(res);_12c=((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++;}};if(dojo.config.isDebug){func.call(this);}else{try{func.call(this);}catch(err){console.debug(err);_12c=1;res=err;}}}this.fired=_12c;this.results[_12c]=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,_136,_137){if(it===undefined){return "undefined";}var _138=typeof it;if(_138=="number"||_138=="boolean"){return it+"";}if(it===null){return "null";}if(dojo.isString(it)){return dojo._escapeString(it);}var _139=arguments.callee;var _13a;_137=_137||"";var _13b=_136?_137+dojo.toJsonIndentStr:"";var tf=it.__json__||it.json;if(dojo.isFunction(tf)){_13a=tf.call(it);if(it!==_13a){return _139(_13a,_136,_13b);}}if(it.nodeType&&it.cloneNode){throw new Error("Can't serialize DOM nodes");}var sep=_136?" ":"";var _13e=_136?"\n":"";if(dojo.isArray(it)){var res=dojo.map(it,function(obj){var val=_139(obj,_136,_13b);if(typeof val!="string"){val="undefined";}return _13e+_13b+val;});return "["+res.join(","+sep)+_13e+_137+"]";}if(_138=="function"){return null;}var _142=[],key;for(key in it){var _144,val;if(typeof key=="number"){_144="\""+key+"\"";}else{if(typeof key=="string"){_144=dojo._escapeString(key);}else{continue;}}val=_139(it[key],_136,_13b);if(typeof val!="string"){continue;}_142.push(_13e+_13b+_144+":"+sep+val);}return "{"+_142.join(","+sep)+_13e+_137+"}";};}if(!dojo._hasResource["dojo._base.array"]){dojo._hasResource["dojo._base.array"]=true;dojo.provide("dojo._base.array");(function(){var _146=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(_14a,_14b,_14c,_14d){var step=1,end=_14a.length||0,i=0;if(_14d){i=end-1;step=end=-1;}if(_14c!=undefined){i=_14c;}if((_14d&&i>end)||i<end){for(;i!=end;i+=step){if(_14a[i]==_14b){return i;}}}return -1;},lastIndexOf:function(_150,_151,_152){return dojo.indexOf(_150,_151,_152,true);},forEach:function(arr,_154,_155){if(!arr||!arr.length){return;}var _p=_146(arr,_155,_154);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(_159,arr,_15b,_15c){var _p=_146(arr,_15c,_15b);arr=_p[0];for(var i=0,l=arr.length;i<l;i++){var _160=!!_p[2].call(_p[1],arr[i],i,arr);if(_159^_160){return _160;}}return _159;},every:function(arr,_162,_163){return this._everyOrSome(true,arr,_162,_163);},some:function(arr,_165,_166){return this._everyOrSome(false,arr,_165,_166);},map:function(arr,_168,_169){var _p=_146(arr,_169,_168);arr=_p[0];var _16b=(arguments[3]?(new arguments[3]()):[]);for(var i=0;i<arr.length;++i){_16b.push(_p[2].call(_p[1],arr[i],i,arr));}return _16b;},filter:function(arr,_16e,_16f){var _p=_146(arr,_16f,_16e);arr=_p[0];var _171=[];for(var i=0;i<arr.length;i++){if(_p[2].call(_p[1],arr[i],i,arr)){_171.push(arr[i]);}}return _171;}});})();}if(!dojo._hasResource["dojo._base.Color"]){dojo._hasResource["dojo._base.Color"]=true;dojo.provide("dojo._base.Color");dojo.Color=function(_173){if(_173){this.setColor(_173);}};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(_179){var d=dojo;if(d.isString(_179)){d.colorFromString(_179,this);}else{if(d.isArray(_179)){d.colorFromArray(_179,this);}else{this._set(_179.r,_179.g,_179.b,_179.a);if(!(_179 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(_180){var t=this,rgb=t.r+", "+t.g+", "+t.b;return (_180?"rgba("+rgb+", "+t.a:"rgb("+rgb)+")";},toString:function(){return this.toCss(true);}});dojo.blendColors=function(_183,end,_185,obj){var d=dojo,t=obj||new dojo.Color();d.forEach(["r","g","b","a"],function(x){t[x]=_183[x]+(end[x]-_183[x])*_185;if(x!="a"){t[x]=Math.round(t[x]);}});return t.sanitize();};dojo.colorFromRgb=function(_18a,obj){var m=_18a.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return m&&dojo.colorFromArray(m[1].split(/\s*,\s*/),obj);};dojo.colorFromHex=function(_18d,obj){var d=dojo,t=obj||new d.Color(),bits=(_18d.length==4)?4:8,mask=(1<<bits)-1;_18d=Number("0x"+_18d.substr(1));if(isNaN(_18d)){return null;}d.forEach(["b","g","r"],function(x){var c=_18d&mask;_18d>>=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 _19b;var _19c;var _19d=dojo.getObject("google.gears");if(_19d){return _19d;}if(typeof GearsFactory!="undefined"){_19b=new GearsFactory();}else{if(dojo.isIE){try{_19b=new ActiveXObject("Gears.Factory");}catch(e){}}else{if(navigator.mimeTypes["application/x-googlegears"]){_19b=document.createElement("object");_19b.setAttribute("type","application/x-googlegears");_19b.setAttribute("width",0);_19b.setAttribute("height",0);_19b.style.display="none";document.documentElement.appendChild(_19b);}}}if(!_19b){return null;}dojo.setObject("google.gears.factory",_19b);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(_19e,_19f){dojo.global=_19e;dojo.doc=_19f;};dojo._fireCallback=function(_1a0,_1a1,_1a2){if(_1a1&&dojo.isString(_1a0)){_1a0=_1a1[_1a0];}return _1a0.apply(_1a1,_1a2||[]);};dojo.withGlobal=function(_1a3,_1a4,_1a5,_1a6){var rval;var _1a8=dojo.global;var _1a9=dojo.doc;try{dojo.setContext(_1a3,_1a3.document);rval=dojo._fireCallback(_1a4,_1a5,_1a6);}finally{dojo.setContext(_1a8,_1a9);}return rval;};dojo.withDoc=function(_1aa,_1ab,_1ac,_1ad){var rval;var _1af=dojo.doc;try{dojo.doc=_1aa;rval=dojo._fireCallback(_1ab,_1ac,_1ad);}finally{dojo.doc=_1af;}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 _1b4=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,_1b8,_1b9){if(node){node.removeEventListener(del._normalizeEventName(_1b8),_1b9,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,_1bf){switch(evt.type){case "keypress":del._setKeyChar(evt);break;}return evt;},_setKeyChar:function(evt){evt.keyChar=evt.charCode?String.fromCharCode(evt.charCode):"";evt.charOrCode=evt.keyChar||evt.keyCode;}});dojo.fixEvent=function(evt,_1c2){return del._fixEvent(evt,_1c2);};dojo.stopEvent=function(evt){evt.preventDefault();evt.stopPropagation();};var _1c4=dojo._listener;dojo._connect=function(obj,_1c6,_1c7,_1c8,_1c9){var _1ca=obj&&(obj.nodeType||obj.attachEvent||obj.addEventListener);var lid=!_1ca?0:(!_1c9?1:2),l=[dojo._listener,del,_1c4][lid];var h=l.add(obj,_1c6,dojo.hitch(_1c7,_1c8));return [obj,_1c6,h,lid];};dojo._disconnect=function(obj,_1cf,_1d0,_1d1){([dojo._listener,del,_1c4][_1d1]).remove(obj,_1cf,_1d0);};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 _1d2=function(e,code){try{return (e.keyCode=code);}catch(e){return 0;}};var iel=dojo._listener;var _1d6=dojo._ieListenersName="_"+dojo._scopeName+"_listeners";if(!dojo.config._allow_leaks){_1c4=iel=dojo._ie_listener={handlers:[],add:function(_1d7,_1d8,_1d9){_1d7=_1d7||dojo.global;var f=_1d7[_1d8];if(!f||!f[_1d6]){var d=dojo._getIeDispatcher();d.target=f&&(ieh.push(f)-1);d[_1d6]=[];f=_1d7[_1d8]=d;}return f[_1d6].push(ieh.push(_1d9)-1);},remove:function(_1dd,_1de,_1df){var f=(_1dd||dojo.global)[_1de],l=f&&f[_1d6];if(f&&l&&_1df--){delete ieh[l[_1df]];delete l[_1df];}}};var ieh=iel.handlers;}dojo.mixin(del,{add:function(node,_1e3,fp){if(!node){return;}_1e3=del._normalizeEventName(_1e3);if(_1e3=="onkeypress"){var kd=node.onkeydown;if(!kd||!kd[_1d6]||!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,_1e3,del._fixCallback(fp));},remove:function(node,_1e8,_1e9){_1e8=del._normalizeEventName(_1e8);iel.remove(node,_1e8,_1e9);if(_1e8=="onkeypress"){var kd=node.onkeydown;if(--kd._stealthKeydownRefs<=0){iel.remove(node,"onkeydown",kd._stealthKeydownHandle);delete kd._stealthKeydownHandle;}}},_normalizeEventName:function(_1eb){return _1eb.slice(0,2)!="on"?"on"+_1eb:_1eb;},_nop:function(){},_fixEvent:function(evt,_1ed){if(!evt){var w=_1ed&&(_1ed.ownerDocument||_1ed.document||_1ed).parentWindow||window;evt=w.event;}if(!evt){return (evt);}evt.target=evt.srcElement;evt.currentTarget=(_1ed||evt.srcElement);evt.layerX=evt.offsetX;evt.layerY=evt.offsetY;var se=evt.srcElement,doc=(se&&se.ownerDocument)||document;var _1f1=((dojo.isIE<6)||(doc["compatMode"]=="BackCompat"))?doc.body:doc.documentElement;var _1f2=dojo._getIeDocumentElementOffset();evt.pageX=evt.clientX+dojo._fixIeBiDiScrollLeft(_1f1.scrollLeft||0)-_1f2.x;evt.pageY=evt.clientY+(_1f1.scrollTop||0)-_1f2.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[_1d6]){return;}var k=evt.keyCode;var _1f8=(k!=13)&&(k!=32)&&(k!=27)&&(k<48||k>90)&&(k<96||k>111)&&(k<186||k>192)&&(k<219||k>222);if(_1f8||evt.ctrlKey){var c=_1f8?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;_1d2(evt,faux.keyCode);}},_stopPropagation:function(){this.cancelBubble=true;},_preventDefault:function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey){_1d2(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,_1fd){var faux=dojo.mixin({},evt,_1fd);del._setKeyChar(faux);faux.preventDefault=function(){evt.preventDefault();};faux.stopPropagation=function(){evt.stopPropagation();};return faux;};if(dojo.isOpera){dojo.mixin(del,{_fixEvent:function(evt,_200){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,_203){switch(evt.type){case "keypress":var c=evt.charCode,s=evt.shiftKey,k=evt.keyCode;k=k||_207[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,_207={"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,_20a){var ap=Array.prototype,h=dojo._ie_listener.handlers,c=args.callee,ls=c[dojo._ieListenersName],t=h[c.target];var r=t&&t.apply(_20a,args);for(var i in ls){if(!(i in ap)){h[ls[i]].apply(_20a,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 _21e=null;dojo.addOnUnload(function(){_21e=null;});dojo._destroyElement=function(node){node=d.byId(node);try{if(!_21e||_21e.ownerDocument!=node.ownerDocument){_21e=node.ownerDocument.createElement("div");}_21e.appendChild(node.parentNode?node.parentNode.removeChild(node):node);_21e.innerHTML="";}catch(e){}};dojo.isDescendant=function(node,_221){try{node=d.byId(node);_221=d.byId(_221);while(node){if(node===_221){return true;}node=node.parentNode;}}catch(e){}return false;};dojo.setSelectable=function(node,_223){node=d.byId(node);if(d.isMozilla){node.style.MozUserSelect=_223?"":"none";}else{if(d.isKhtml){node.style.KhtmlUserSelect=_223?"auto":"none";}else{if(d.isIE){var v=node.unselectable=_223?"":"on";d.query("*",node).forEach("item.unselectable = '"+v+"'");}}}};var _225=function(node,ref){ref.parentNode.insertBefore(node,ref);return true;};var _228=function(node,ref){var pn=ref.parentNode;if(ref==pn.lastChild){pn.appendChild(node);}else{return _225(node,ref.nextSibling);}return true;};dojo.place=function(node,_22d,_22e){if(!node||!_22d||_22e===undefined){return false;}node=d.byId(node);_22d=d.byId(_22d);if(typeof _22e=="number"){var cn=_22d.childNodes;if((_22e==0&&cn.length==0)||cn.length==_22e){_22d.appendChild(node);return true;}if(_22e==0){return _225(node,_22d.firstChild);}return _228(node,cn[_22e-1]);}switch(_22e.toLowerCase()){case "before":return _225(node,_22d);case "after":return _228(node,_22d);case "first":if(_22d.firstChild){return _225(node,_22d.firstChild);}default:_22d.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;if(d.isSafari){gcs=function(node){var dv=node.ownerDocument.defaultView;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){var dv=node.ownerDocument.defaultView;return dv.getComputedStyle(node,null);};}}dojo.getComputedStyle=gcs;if(!d.isIE){dojo._toPixelValue=function(_238,_239){return parseFloat(_239)||0;};}else{dojo._toPixelValue=function(_23a,_23b){if(!_23b){return 0;}if(_23b=="medium"){return 4;}if(_23b.slice&&(_23b.slice(-2)=="px")){return parseFloat(_23b);}with(_23a){var _23c=style.left;var _23d=runtimeStyle.left;runtimeStyle.left=currentStyle.left;try{style.left=_23b;_23b=style.pixelLeft;}catch(e){_23b=0;}style.left=_23c;runtimeStyle.left=_23d;}return _23b;};}var px=d._toPixelValue;var astr="DXImageTransform.Microsoft.Alpha";var af=function(n,f){try{return n.filters.item(astr);}catch(e){return f?{}:null;}};dojo._getOpacity=d.isIE?function(node){try{return af(node).Opacity/100;}catch(e){return 1;}}:function(node){return gcs(node).opacity;};dojo._setOpacity=d.isIE?function(node,_246){var ov=_246*100;node.style.zoom=1;if(_246==1){af(node,1).Enabled=false;}else{af(node,1).Enabled=true;if(!af(node)){node.style.filter+=" progid:"+astr+"(Opacity="+ov+")";}else{af(node,1).Opacity=ov;}}if(node.nodeName.toLowerCase()=="tr"){d.query("> td",node).forEach(function(i){d._setOpacity(i,_246);});}return _246;}:function(node,_24a){return node.style.opacity=_24a;};var _24b={left:true,top:true};var _24c=/margin|padding|width|height|max|min|offset/;var _24d=function(node,type,_250){type=type.toLowerCase();if(d.isIE&&_250=="auto"){if(type=="height"){return node.offsetHeight;}if(type=="width"){return node.offsetWidth;}}if(!(type in _24b)){_24b[type]=_24c.test(type);}return _24b[type]?px(node,_250):_250;};var _251=d.isIE?"styleFloat":"cssFloat";var _252={"cssFloat":_251,"styleFloat":_251,"float":_251};dojo.style=function(node,_254,_255){var n=d.byId(node),args=arguments.length,op=(_254=="opacity");_254=_252[_254]||_254;if(args==3){return op?d._setOpacity(n,_255):n.style[_254]=_255;}if(args==2&&op){return d._getOpacity(n);}var s=gcs(n);if(args==2&&!d.isString(_254)){for(var x in _254){d.style(node,x,_254[x]);}return s;}return (args==1)?s:_24d(n,_254,s[_254]);};dojo._getPadExtents=function(n,_25c){var s=_25c||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,_261){var ne="none",s=_261||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,_267){var s=_267||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,_26c){var s=_26c||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,_273){var s=_273||gcs(node),me=d._getMarginExtents(node,s);var l=node.offsetLeft-me.l,t=node.offsetTop-me.t,p=node.parentNode;if(d.isMoz){var sl=parseFloat(s.left),st=parseFloat(s.top);if(!isNaN(sl)&&!isNaN(st)){l=sl,t=st;}else{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){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,_27e){var s=_27e||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,_285){var s=_285||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,_293,_294,_295){if(d._usesBorderBox(node)){var pb=d._getPadBorderExtents(node,_295);if(_293>=0){_293+=pb.w;}if(_294>=0){_294+=pb.h;}}d._setBox(node,NaN,NaN,_293,_294);};dojo._setMarginBox=function(node,_298,_299,_29a,_29b,_29c){var s=_29c||gcs(node);var bb=d._usesBorderBox(node),pb=bb?_2a0:d._getPadBorderExtents(node,s),mb=d._getMarginExtents(node,s);if(_29a>=0){_29a=Math.max(_29a-pb.w-mb.w,0);}if(_29b>=0){_29b=Math.max(_29b-pb.h-mb.h,0);}d._setBox(node,_298,_299,_29a,_29b);};var _2a0={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=d.byId(node),s=gcs(n),b=box;return !b?d._getContentBox(n,s):d._setContentSize(n,b.w,b.h,s);};var _2ac=function(node,prop){if(!(node=(node||0).parentNode)){return 0;}var val,_2b0=0,_b=d.body();while(node&&node.style){if(gcs(node).position=="fixed"){return 0;}val=node[prop];if(val){_2b0+=val-0;if(node==_b){break;}}node=node.parentNode;}return _2b0;};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(_2b6){var dd=d.doc;if(d.isIE&&!dojo._isBodyLtr()){var de=dd.compatMode=="BackCompat"?dd.body:dd.documentElement;return _2b6+de.clientWidth-de.scrollWidth;}return _2b6;};dojo._abs=function(node,_2ba){var _2bb=node.ownerDocument;var ret={x:0,y:0};var db=d.body();if(d.isIE||(d.isFF>=3)){var _2be=node.getBoundingClientRect();var _2bf=(d.isIE)?d._getIeDocumentElementOffset():{x:0,y:0};ret.x=_2be.left-_2bf.x;ret.y=_2be.top-_2bf.y;}else{if(_2bb["getBoxObjectFor"]){var bo=_2bb.getBoxObjectFor(node),b=d._getBorderExtents(node);ret.x=bo.x-b.l-_2ac(node,"scrollLeft");ret.y=bo.y-b.t-_2ac(node,"scrollTop");}else{if(node["offsetParent"]){var _2c2;if(d.isSafari&&(gcs(node).position=="absolute")&&(node.parentNode==db)){_2c2=db;}else{_2c2=db.parentNode;}if(node.parentNode!=db){var nd=node;if(d.isOpera){nd=db;}ret.x-=_2ac(nd,"scrollLeft");ret.y-=_2ac(nd,"scrollTop");}var _2c4=node;do{var n=_2c4.offsetLeft;if(!d.isOpera||n>0){ret.x+=isNaN(n)?0:n;}var t=_2c4.offsetTop;ret.y+=isNaN(t)?0:t;if(d.isSafari&&_2c4!=node){var cs=gcs(_2c4);ret.x+=px(_2c4,cs.borderLeftWidth);ret.y+=px(_2c4,cs.borderTopWidth);}_2c4=_2c4.offsetParent;}while((_2c4!=_2c2)&&_2c4);}else{if(node.x&&node.y){ret.x+=isNaN(node.x)?0:node.x;ret.y+=isNaN(node.y)?0:node.y;}}}}if(_2ba){var _2c8=d._docScroll();ret.y+=_2c8.y;ret.x+=_2c8.x;}return ret;};dojo.coords=function(node,_2ca){var n=d.byId(node),s=gcs(n),mb=d._getMarginBox(n,s);var abs=d._abs(n,_2ca);mb.x=abs.x;mb.y=abs.y;return mb;};var _2cf=(d.isIE&&d.isIE<8);var _2d0=function(name){switch(name.toLowerCase()){case "tabindex":return _2cf?"tabIndex":"tabindex";case "for":case "htmlfor":return _2cf?"htmlFor":"for";default:return name;}};var _2d2={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 _2d5=_2d0(name);_2d5=_2d5=="htmlFor"?"for":_2d5;var attr=d.byId(node).getAttributeNode(_2d5);return attr?attr.specified:false;};var _2d7={};var _ctr=0;var _2d9=dojo._scopeName+"attrid";dojo.attr=function(node,name,_2dc){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=_2d0(name);if(args==3){if(d.isFunction(_2dc)){var _2df=d.attr(node,_2d9);if(!_2df){_2df=_ctr++;d.attr(node,_2d9,_2df);}if(!_2d7[_2df]){_2d7[_2df]={};}var h=_2d7[_2df][name];if(h){d.disconnect(h);}else{try{delete node[name];}catch(e){}}_2d7[_2df][name]=d.connect(node,name,_2dc);}else{if(typeof _2dc=="boolean"){node[name]=_2dc;}else{node.setAttribute(name,_2dc);}}return;}else{var prop=_2d2[name.toLowerCase()];if(prop){return node[prop];}else{var _2dc=node[name];return (typeof _2dc=="boolean"||typeof _2dc=="function")?_2dc:(d.hasAttr(node,name)?node.getAttribute(name):null);}}};dojo.removeAttr=function(node,name){d.byId(node).removeAttribute(_2d0(name));};var _2e4="className";dojo.hasClass=function(node,_2e6){return ((" "+d.byId(node)[_2e4]+" ").indexOf(" "+_2e6+" ")>=0);};dojo.addClass=function(node,_2e8){node=d.byId(node);var cls=node[_2e4];if((" "+cls+" ").indexOf(" "+_2e8+" ")<0){node[_2e4]=cls+(cls?" ":"")+_2e8;}};dojo.removeClass=function(node,_2eb){node=d.byId(node);var t=d.trim((" "+node[_2e4]+" ").replace(" "+_2eb+" "," "));if(node[_2e4]!=t){node[_2e4]=t;}};dojo.toggleClass=function(node,_2ee,_2ef){if(_2ef===undefined){_2ef=!d.hasClass(node,_2ee);}d[_2ef?"addClass":"removeClass"](node,_2ee);};})();}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 _2f3=function(func,_2f5){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 (_2f5||((_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=d._toArray(arguments);return tnl(a.slice.apply(this,a));},splice:function(){var a=d._toArray(arguments);return tnl(a.splice.apply(this,a));},concat:function(){var a=d._toArray(arguments,0,[this]);return tnl(a.concat.apply([],a));},indexOf:function(_2fd,_2fe){return d.indexOf(this,_2fd,_2fe);},lastIndexOf:function(){return d.lastIndexOf.apply(d,d._toArray(arguments,0,[this]));},every:function(_2ff,_300){return d.every(this,_2ff,_300);},some:function(_301,_302){return d.some(this,_301,_302);},map:function(func,obj){return d.map(this,func,obj,d.NodeList);},forEach:function(_305,_306){d.forEach(this,_305,_306);return this;},coords:function(){return d.map(this,d.coords);},attr:_2f3("attr"),style:_2f3("style"),addClass:_2f3("addClass",true),removeClass:_2f3("removeClass",true),toggleClass:_2f3("toggleClass",true),connect:_2f3("connect",true),place:function(_307,_308){var item=d.query(_307)[0];return this.forEach(function(i){d.place(i,item,(_308||"last"));});},orphan:function(_30b){return (_30b?d._filterQueryResult(this,_30b):this).forEach("if(item.parentNode){ item.parentNode.removeChild(item); }");},adopt:function(_30c,_30d){var item=this[0];return d.query(_30c).forEach(function(ai){d.place(ai,item,_30d||"last");});},query:function(_310){if(!_310){return this;}var ret=d.NodeList();this.forEach(function(item){ret=ret.concat(d.query(_310,item).filter(function(_313){return (_313!==undefined);}));});return ret;},filter:function(_314){var _315=this;var _a=arguments;var r=d.NodeList();var rp=function(t){if(t!==undefined){r.push(t);}};if(d.isString(_314)){_315=d._filterQueryResult(this,_a[0]);if(_a.length==1){return _315;}_a.shift();}d.forEach(d.filter(_315,_a[0],_a[1]),rp);return r;},addContent:function(_31a,_31b){var ta=d.doc.createElement("span");if(d.isString(_31a)){ta.innerHTML=_31a;}else{ta.appendChild(_31a);}if(_31b===undefined){_31b="last";}var ct=(_31b=="first"||_31b=="after")?"lastChild":"firstChild";this.forEach(function(item){var tn=ta.cloneNode(true);while(tn[ct]){d.place(tn[ct],item,_31b);}});return this;},empty:function(){return this.forEach("item.innerHTML='';");},instantiate:function(_320,_321){var c=d.isFunction(_320)?_320:d.getObject(_320);return this.forEach(function(i){new c(_321||{},i);});}});d.forEach(["blur","focus","click","keydown","keypress","keyup","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup"],function(evt){var _oe="on"+evt;d.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 _329=dojo.isIE?"children":"childNodes";var _32a=false;var _32b=function(_32c){if(">~+".indexOf(_32c.charAt(_32c.length-1))>=0){_32c+=" *";}_32c+=" ";var ts=function(s,e){return d.trim(_32c.slice(s,e));};var _330=[];var _331=-1;var _332=-1;var _333=-1;var _334=-1;var _335=-1;var inId=-1;var _337=-1;var lc="";var cc="";var _33a;var x=0;var ql=_32c.length;var _33d=null;var _cp=null;var _33f=function(){if(_337>=0){var tv=(_337==x)?null:ts(_337,x).toLowerCase();_33d[(">~+".indexOf(tv)<0)?"tag":"oper"]=tv;_337=-1;}};var _341=function(){if(inId>=0){_33d.id=ts(inId,x).replace(/\\/g,"");inId=-1;}};var _342=function(){if(_335>=0){_33d.classes.push(ts(_335+1,x).replace(/\\/g,""));_335=-1;}};var _343=function(){_341();_33f();_342();};for(;lc=cc,cc=_32c.charAt(x),x<ql;x++){if(lc=="\\"){continue;}if(!_33d){_33a=x;_33d={query:null,pseudos:[],attrs:[],classes:[],tag:null,oper:null,id:null};_337=x;}if(_331>=0){if(cc=="]"){if(!_cp.attr){_cp.attr=ts(_331+1,x);}else{_cp.matchFor=ts((_333||_331+1),x);}var cmf=_cp.matchFor;if(cmf){if((cmf.charAt(0)=="\"")||(cmf.charAt(0)=="'")){_cp.matchFor=cmf.substring(1,cmf.length-1);}}_33d.attrs.push(_cp);_cp=null;_331=_333=-1;}else{if(cc=="="){var _345=("|~^$*".indexOf(lc)>=0)?lc:"";_cp.type=_345+cc;_cp.attr=ts(_331+1,x-_345.length);_333=x+1;}}}else{if(_332>=0){if(cc==")"){if(_334>=0){_cp.value=ts(_332+1,x);}_334=_332=-1;}}else{if(cc=="#"){_343();inId=x+1;}else{if(cc=="."){_343();_335=x;}else{if(cc==":"){_343();_334=x;}else{if(cc=="["){_343();_331=x;_cp={};}else{if(cc=="("){if(_334>=0){_cp={name:ts(_334+1,x),value:null};_33d.pseudos.push(_cp);}_332=x;}else{if(cc==" "&&lc!=cc){_343();if(_334>=0){_33d.pseudos.push({name:ts(_334+1,x)});}_33d.hasLoops=(_33d.pseudos.length||_33d.attrs.length||_33d.classes.length);_33d.query=ts(_33a,x);_33d.tag=(_33d["oper"])?null:(_33d.tag||"*");_330.push(_33d);_33d=null;}}}}}}}}}return _330;};var _346={"*=":function(attr,_348){return "[contains(@"+attr+", '"+_348+"')]";},"^=":function(attr,_34a){return "[starts-with(@"+attr+", '"+_34a+"')]";},"$=":function(attr,_34c){return "[substring(@"+attr+", string-length(@"+attr+")-"+(_34c.length-1)+")='"+_34c+"']";},"~=":function(attr,_34e){return "[contains(concat(' ',@"+attr+",' '), ' "+_34e+" ')]";},"|=":function(attr,_350){return "[contains(concat(' ',@"+attr+",' '), ' "+_350+"-')]";},"=":function(attr,_352){return "[@"+attr+"='"+_352+"']";}};var _353=function(_354,_355,_356,_357){d.forEach(_355.attrs,function(attr){var _359;if(attr.type&&_354[attr.type]){_359=_354[attr.type](attr.attr,attr.matchFor);}else{if(attr.attr.length){_359=_356(attr.attr);}}if(_359){_357(_359);}});};var _35a=function(_35b){var _35c=".";var _35d=_32b(d.trim(_35b));while(_35d.length){var tqp=_35d.shift();var _35f;var _360="";if(tqp.oper==">"){_35f="/";tqp=_35d.shift();}else{if(tqp.oper=="~"){_35f="/following-sibling::";tqp=_35d.shift();}else{if(tqp.oper=="+"){_35f="/following-sibling::";_360="[position()=1]";tqp=_35d.shift();}else{_35f="//";}}}_35c+=_35f+tqp.tag+_360;if(tqp.id){_35c+="[@id='"+tqp.id+"'][1]";}d.forEach(tqp.classes,function(cn){var cnl=cn.length;var _363=" ";if(cn.charAt(cnl-1)=="*"){_363="";cn=cn.substr(0,cnl-1);}_35c+="[contains(concat(' ',@class,' '), ' "+cn+_363+"')]";});_353(_346,tqp,function(_364){return "[@"+_364+"]";},function(_365){_35c+=_365;});}return _35c;};var _366={};var _367=function(path){if(_366[path]){return _366[path];}var doc=d.doc;var _36a=_35a(path);var tf=function(_36c){var ret=[];var _36e;try{_36e=doc.evaluate(_36a,_36c,null,XPathResult.ANY_TYPE,null);}catch(e){console.debug("failure in exprssion:",_36a,"under:",_36c);console.debug(e);}var _36f=_36e.iterateNext();while(_36f){ret.push(_36f);_36f=_36e.iterateNext();}return ret;};return _366[path]=tf;};var _370={};var _371={};var _372=function(_373,_374){if(!_373){return _374;}if(!_374){return _373;}return function(){return _373.apply(window,arguments)&&_374.apply(window,arguments);};};var _375=function(root){var ret=[];var te,x=0,tret=root[_329];while((te=tret[x++])){if(te.nodeType==1){ret.push(te);}}return ret;};var _37b=function(root,_37d){var ret=[];var te=root;while((te=te.nextSibling)){if(te.nodeType==1){ret.push(te);if(_37d){break;}}}return ret;};var _380=function(_381,_382,_383,idx){var nidx=idx+1;var _386=(_382.length==nidx);var tqp=_382[idx];if(tqp.oper){var ecn=(tqp.oper==">")?_375(_381):_37b(_381,(tqp.oper=="+"));if(!ecn||!ecn.length){return;}nidx++;_386=(_382.length==nidx);var tf=_38a(_382[idx+1]);for(var x=0,ecnl=ecn.length,te;x<ecnl,te=ecn[x];x++){if(tf(te)){if(_386){_383.push(te);}else{_380(te,_382,_383,nidx);}}}}var _38e=_38f(tqp)(_381);if(_386){while(_38e.length){_383.push(_38e.shift());}}else{while(_38e.length){_380(_38e.shift(),_382,_383,nidx);}}};var _390=function(_391,_392){var ret=[];var x=_391.length-1,te;while((te=_391[x--])){_380(te,_392,ret,0);}return ret;};var _38a=function(q){if(_370[q.query]){return _370[q.query];}var ff=null;if(q.tag){if(q.tag=="*"){ff=_372(ff,function(elem){return (elem.nodeType==1);});}else{ff=_372(ff,function(elem){return ((elem.nodeType==1)&&(q.tag==elem.tagName.toLowerCase()));});}}if(q.id){ff=_372(ff,function(elem){return ((elem.nodeType==1)&&(elem.id==q.id));});}if(q.hasLoops){ff=_372(ff,_39b(q));}return _370[q.query]=ff;};var _39c=function(node){var pn=node.parentNode;var pnc=pn.childNodes;var nidx=-1;var _3a1=pn.firstChild;if(!_3a1){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(_3a1===node){nidx=idx;}if(_3a1.nodeType==1){_3a1["__cachedIndex"]=idx;idx++;}_3a1=_3a1.nextSibling;}while(_3a1);}else{nidx=ci;}return nidx;};var _3a5=0;var _3a6="";var _3a7=function(elem,attr){if(attr=="class"){return elem.className||_3a6;}if(attr=="for"){return elem.htmlFor||_3a6;}return elem.getAttribute(attr,2)||_3a6;};var _3aa={"*=":function(attr,_3ac){return function(elem){return (_3a7(elem,attr).indexOf(_3ac)>=0);};},"^=":function(attr,_3af){return function(elem){return (_3a7(elem,attr).indexOf(_3af)==0);};},"$=":function(attr,_3b2){var tval=" "+_3b2;return function(elem){var ea=" "+_3a7(elem,attr);return (ea.lastIndexOf(_3b2)==(ea.length-_3b2.length));};},"~=":function(attr,_3b7){var tval=" "+_3b7+" ";return function(elem){var ea=" "+_3a7(elem,attr)+" ";return (ea.indexOf(tval)>=0);};},"|=":function(attr,_3bc){var _3bd=" "+_3bc+"-";return function(elem){var ea=" "+(elem.getAttribute(attr,2)||"");return ((ea==_3bc)||(ea.indexOf(_3bd)==0));};},"=":function(attr,_3c1){return function(elem){return (_3a7(elem,attr)==_3c1);};}};var _3c3={"first-child":function(name,_3c5){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,_3c9){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,_3cd){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,_3d4){return function(elem){if(_3d4.charAt(0)=="\""||_3d4.charAt(0)=="'"){_3d4=_3d4.substr(1,_3d4.length-2);}return (elem.innerHTML.indexOf(_3d4)>=0);};},"not":function(name,_3d7){var ntf=_38a(_32b(_3d7)[0]);return function(elem){return (!ntf(elem));};},"nth-child":function(name,_3db){var pi=parseInt;if(_3db=="odd"){_3db="2n+1";}else{if(_3db=="even"){_3db="2n";}}if(_3db.indexOf("n")!=-1){var _3dd=_3db.split("n",2);var pred=_3dd[0]?(_3dd[0]=="-"?-1:pi(_3dd[0])):1;var idx=_3dd[1]?pi(_3dd[1]):0;var lb=0,ub=-1;if(pred>0){if(idx<0){idx=(idx%pred)&&(pred+(idx%pred));}else{if(idx>0){if(idx>=pred){lb=idx-idx%pred;}idx=idx%pred;}}}else{if(pred<0){pred*=-1;if(idx>0){ub=idx;idx=idx%pred;}}}if(pred>0){return function(elem){var i=_39c(elem);return (i>=lb)&&(ub<0||i<=ub)&&((i%pred)==idx);};}else{_3db=idx;}}var _3e4=pi(_3db);return function(elem){return (_39c(elem)==_3e4);};}};var _3e6=(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 _39b=function(_3ec){var _3ed=(_371[_3ec.query]||_370[_3ec.query]);if(_3ed){return _3ed;}var ff=null;if(_3ec.id){if(_3ec.tag!="*"){ff=_372(ff,function(elem){return (elem.tagName.toLowerCase()==_3ec.tag);});}}d.forEach(_3ec.classes,function(_3f0,idx,arr){var _3f3=_3f0.charAt(_3f0.length-1)=="*";if(_3f3){_3f0=_3f0.substr(0,_3f0.length-1);}var re=new RegExp("(?:^|\\s)"+_3f0+(_3f3?".*":"")+"(?:\\s|$)");ff=_372(ff,function(elem){return re.test(elem.className);});ff.count=idx;});d.forEach(_3ec.pseudos,function(_3f6){if(_3c3[_3f6.name]){ff=_372(ff,_3c3[_3f6.name](_3f6.name,_3f6.value));}});_353(_3aa,_3ec,_3e6,function(_3f7){ff=_372(ff,_3f7);});if(!ff){ff=function(){return true;};}return _371[_3ec.query]=ff;};var _3f8={};var _38f=function(_3f9,root){var fHit=_3f8[_3f9.query];if(fHit){return fHit;}if(_3f9.id&&!_3f9.hasLoops&&!_3f9.tag){return _3f8[_3f9.query]=function(root){return [d.byId(_3f9.id)];};}var _3fd=_39b(_3f9);var _3fe;if(_3f9.tag&&_3f9.id&&!_3f9.hasLoops){_3fe=function(root){var te=d.byId(_3f9.id,(root.ownerDocument||root));if(_3fd(te)){return [te];}};}else{var tret;if(!_3f9.hasLoops){_3fe=function(root){var ret=[];var te,x=0,tret=root.getElementsByTagName(_3f9.tag);while((te=tret[x++])){ret.push(te);}return ret;};}else{_3fe=function(root){var ret=[];var te,x=0,tret=root.getElementsByTagName(_3f9.tag);while((te=tret[x++])){if(_3fd(te)){ret.push(te);}}return ret;};}}return _3f8[_3f9.query]=_3fe;};var _40a={};var _40b={"*":d.isIE?function(root){return root.all;}:function(root){return root.getElementsByTagName("*");},"~":_37b,"+":function(root){return _37b(root,true);},">":_375};var _40f=function(_410){var _411=_32b(d.trim(_410));if(_411.length==1){var tt=_38f(_411[0]);tt.nozip=true;return tt;}var sqf=function(root){var _415=_411.slice(0);var _416;if(_415[0].oper==">"){_416=[root];}else{_416=_38f(_415.shift())(root);}return _390(_416,_415);};return sqf;};var _417=((document["evaluate"]&&!d.isSafari)?function(_418){var _419=_418.split(" ");if((document["evaluate"])&&(_418.indexOf(":")==-1)&&(_418.indexOf("+")==-1)){if(((_419.length>2)&&(_418.indexOf(">")==-1))||(_419.length>3)||(_418.indexOf("[")>=0)||((1==_419.length)&&(0<=_418.indexOf(".")))){return _367(_418);}}return _40f(_418);}:_40f);var _41a=function(_41b){var qcz=_41b.charAt(0);if(d.doc["querySelectorAll"]&&((!d.isSafari)||(d.isSafari>3.1))&&(">+~".indexOf(qcz)==-1)){return function(root){var r=root.querySelectorAll(_41b);r.nozip=true;return r;};}if(_40b[_41b]){return _40b[_41b];}if(0>_41b.indexOf(",")){return _40b[_41b]=_417(_41b);}else{var _41f=_41b.split(/\s*,\s*/);var tf=function(root){var _422=0;var ret=[];var tp;while((tp=_41f[_422++])){ret=ret.concat(_417(tp,tp.indexOf(" "))(root));}return ret;};return _40b[_41b]=tf;}};var _425=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;}_425++;arr[0]["_zipIdx"]=_425;for(var x=1,te;te=arr[x];x++){if(arr[x]["_zipIdx"]!=_425){ret.push(te);}te["_zipIdx"]=_425;}return ret;};d.query=function(_42b,root){if(_42b.constructor==d.NodeList){return _42b;}if(!d.isString(_42b)){return new d.NodeList(_42b);}if(d.isString(root)){root=d.byId(root);}return _zip(_41a(_42b)(root||d.doc));};d.query.pseudos=_3c3;d._filterQueryResult=function(_42d,_42e){var tnl=new d.NodeList();var ff=(_42e)?_38a(_32b(_42e)[0]):function(){return true;};for(var x=0,te;te=_42d[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,_436){var val=obj[name];if(_d.isString(val)){obj[name]=[val,_436];}else{if(_d.isArray(val)){val.push(_436);}else{obj[name]=_436;}}};dojo.formToObject=function(_438){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,_438).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 _442=[];var _443={};for(var name in map){var _445=map[name];if(_445!=_443[name]){var _446=enc(name)+"=";if(_d.isArray(_445)){for(var i=0;i<_445.length;i++){_442.push(_446+enc(_445[i]));}}else{_442.push(_446+enc(_445));}}}return _442.join("&");};dojo.formToQuery=function(_448){return _d.objectToQuery(_d.formToObject(_448));};dojo.formToJson=function(_449,_44a){return _d.toJson(_d.formToObject(_449),_44a);};dojo.queryToObject=function(str){var ret={};var qp=str.split("&");var dec=decodeURIComponent;_d.forEach(qp,function(item){if(item.length){var _450=item.split("=");var name=dec(_450.shift());var val=dec(_450.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){return _d.fromJson(xhr.responseText);},"json-comment-filtered":function(xhr){if(!dojo.config.useCommentedJson){console.warn("Consider using the standard mimetype:application/json."+" json-commenting can introduce security issues, if you wish to "+" decrease the chances of hijacking, use the standard the 'json' handler and "+" prefix your json with :\n{}&&\n "+" (use djConfig.useCommentedJson=true to turn off this message)");}var _456=xhr.responseText;var _457=_456.indexOf("/*");var _458=_456.lastIndexOf("*/");if(_457==-1||_458==-1){throw new Error("JSON was not comment filtered");}return _d.fromJson(_456.substring(_457+2,_458));},"javascript":function(xhr){return _d.eval(xhr.responseText);},"xml":function(xhr){var _45b=xhr.responseXML;if(_d.isIE&&(!_45b||_45b.documentElement==null)){_d.forEach(["MSXML2","Microsoft","MSXML","MSXML3"],function(_45c){try{var dom=new ActiveXObject(_45c+".XMLDOM");dom.async=false;dom.loadXML(xhr.responseText);_45b=dom;}catch(e){}});}return _45b;}};dojo._contentHandlers["json-comment-optional"]=function(xhr){var _45f=_d._contentHandlers;if(xhr.responseText&&xhr.responseText.indexOf("/*")!=-1){return _45f["json-comment-filtered"](xhr);}else{return _45f["json"](xhr);}};dojo._ioSetArgs=function(args,_461,_462,_463){var _464={args:args,url:args.url};var _465=null;if(args.form){var form=_d.byId(args.form);var _467=form.getAttributeNode("action");_464.url=_464.url||(_467?_467.value:null);_465=_d.formToObject(form);}var _468=[{}];if(_465){_468.push(_465);}if(args.content){_468.push(args.content);}if(args.preventCache){_468.push({"dojo.preventCache":new Date().valueOf()});}_464.query=_d.objectToQuery(_d.mixin.apply(null,_468));_464.handleAs=args.handleAs||"text";var d=new _d.Deferred(_461);d.addCallbacks(_462,function(_46a){return _463(_46a,d);});var ld=args.load;if(ld&&_d.isFunction(ld)){d.addCallback(function(_46c){return ld.call(args,_46c,_464);});}var err=args.error;if(err&&_d.isFunction(err)){d.addErrback(function(_46e){return err.call(args,_46e,_464);});}var _46f=args.handle;if(_46f&&_d.isFunction(_46f)){d.addBoth(function(_470){return _46f.call(args,_470,_464);});}d.ioArgs=_464;return d;};var _471=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 _476=function(dfd){return _d._contentHandlers[dfd.ioArgs.handleAs](dfd.ioArgs.xhr);};var _478=function(_479,dfd){console.debug(_479);return _479;};var _47b=null;var _47c=[];var _47d=function(){var now=(new Date()).getTime();if(!_d._blockAsync){for(var i=0,tif;i<_47c.length&&(tif=_47c[i]);i++){var dfd=tif.dfd;var func=function(){if(!dfd||dfd.canceled||!tif.validCheck(dfd)){_47c.splice(i--,1);}else{if(tif.ioCheck(dfd)){_47c.splice(i--,1);tif.resHandle(dfd);}else{if(dfd.startTime){if(dfd.startTime+(dfd.ioArgs.args.timeout||0)<now){_47c.splice(i--,1);var err=new Error("timeout exceeded");err.dojoType="timeout";dfd.errback(err);dfd.cancel();}}}}};if(dojo.config.isDebug){func.call(this);}else{try{func.call(this);}catch(e){console.debug(e);dfd.errback(new Error("_watchInFlightError!"));}}}}if(!_47c.length){clearInterval(_47b);_47b=null;return;}};dojo._ioCancelAll=function(){try{_d.forEach(_47c,function(i){i.dfd.cancel();});}catch(e){}};if(_d.isIE){_d.addOnUnload(_d._ioCancelAll);}_d._ioWatch=function(dfd,_486,_487,_488){if(dfd.ioArgs.args.timeout){dfd.startTime=(new Date()).getTime();}_47c.push({dfd:dfd,validCheck:_486,ioCheck:_487,resHandle:_488});if(!_47b){_47b=setInterval(_47d,50);}_47d();};var _489="application/x-www-form-urlencoded";var _48a=function(dfd){return dfd.ioArgs.xhr.readyState;};var _48c=function(dfd){return 4==dfd.ioArgs.xhr.readyState;};var _48e=function(dfd){var xhr=dfd.ioArgs.xhr;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);}};dojo._ioAddQueryToUrl=function(_492){if(_492.query.length){_492.url+=(_492.url.indexOf("?")==-1?"?":"&")+_492.query;_492.query=null;}};dojo.xhr=function(_493,args,_495){var dfd=_d._ioSetArgs(args,_471,_476,_478);dfd.ioArgs.xhr=_d._xhrObj(dfd.ioArgs.args);if(_495){if("postData" in args){dfd.ioArgs.query=args.postData;}else{if("putData" in args){dfd.ioArgs.query=args.putData;}}}else{_d._ioAddQueryToUrl(dfd.ioArgs);}var _497=dfd.ioArgs;var xhr=_497.xhr;xhr.open(_493,_497.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||_489);if(!args.headers||!args.headers["X-Requested-With"]){xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");}if(dojo.config.isDebug){xhr.send(_497.query);}else{try{xhr.send(_497.query);}catch(e){dfd.cancel();}}_d._ioWatch(dfd,_48a,_48c,_48e);xhr=null;return dfd;};dojo.xhrGet=function(args){return _d.xhr("GET",args);};dojo.rawXhrPost=dojo.xhrPost=function(args){return _d.xhr("POST",args,true);};dojo.rawXhrPut=dojo.xhrPut=function(args){return _d.xhr("PUT",args,true);};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(_49f,end){this.start=_49f;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){if(this[evt]){if(dojo.config.isDebug){this[evt].apply(this,args||[]);}else{try{this[evt].apply(this,args||[]);}catch(e){console.error("exception in animation handler for:",evt);console.error(e);}}}return this;},play:function(_4a5,_4a6){var _t=this;if(_4a6){_t._stopTimer();_t._active=_t._paused=false;_t._percent=0;}else{if(_t._active&&!_t._paused){return _t;}}_t._fire("beforeBegin");var de=_4a5||_t.delay;var _p=dojo.hitch(_t,"_play",_4a6);if(de>0){setTimeout(_p,de);return _t;}_p();return _t;},_play:function(_4aa){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 _4ac=_t.curve.getValue(_t._percent);if(!_t._percent){if(!_t._startRepeatCount){_t._startRepeatCount=_t.repeat;}_t._fire("onBegin",[_4ac]);}_t._fire("onPlay",[_4ac]);_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(_4ad,_4ae){this._stopTimer();this._active=this._paused=true;this._percent=_4ad;if(_4ae){this.play();}return this;},stop:function(_4af){if(!this._timer){return this;}this._stopTimer();if(_4af){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 _4b4=[];var _4b5={run:function(){}};var _4b6=null;dojo._Animation.prototype._startTimer=function(){if(!this._timer){this._timer=d.connect(_4b5,"run",this,"_cycle");ctr++;}if(!_4b6){_4b6=setInterval(d.hitch(_4b5,"run"),this.rate);}};dojo._Animation.prototype._stopTimer=function(){if(this._timer){d.disconnect(this._timer);this._timer=null;ctr--;}if(ctr<=0){clearInterval(_4b6);_4b6=null;ctr=0;}};var _4b7=(d.isIE)?function(node){var ns=node.style;if(!ns.width.length&&d.style(node,"width")=="auto"){ns.width="auto";}}:function(){};dojo._fade=function(args){args.node=d.byId(args.node);var _4bb=d.mixin({properties:{}},args);var _4bc=(_4bb.properties.opacity={});_4bc.start=!("start" in _4bb)?function(){return Number(d.style(_4bb.node,"opacity"));}:_4bb.start;_4bc.end=_4bb.end;var anim=d.animateProperty(_4bb);d.connect(anim,"beforeBegin",d.partial(_4b7,_4bb.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 _4c1=function(_4c2){this._properties=_4c2;for(var p in _4c2){var prop=_4c2[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 _4c9=prop.start;if(_4c9 instanceof d.Color){ret[p]=d.blendColors(_4c9,prop.end,r,prop.tempColor).toCss();}else{if(!d.isArray(_4c9)){ret[p]=((prop.end-_4c9)*r)+_4c9+(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 _4cf=(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):(_4cf?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(_4cf){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 _4c1(pm);});d.connect(anim,"onAnimate",d.hitch(d,"style",anim.node));return anim;};dojo.anim=function(node,_4d4,_4d5,_4d6,_4d7,_4d8){return d.animateProperty({node:node,duration:_4d5||d._Animation.prototype.duration,properties:_4d4,easing:_4d6,onEnd:_4d7}).play(_4d8||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["dojo.date"]){dojo._hasResource["dojo.date"]=true;dojo.provide("dojo.date");dojo.date.getDaysInMonth=function(_4d9){var _4da=_4d9.getMonth();var days=[31,28,31,30,31,30,31,31,30,31,30,31];if(_4da==1&&dojo.date.isLeapYear(_4d9)){return 29;}return days[_4da];};dojo.date.isLeapYear=function(_4dc){var year=_4dc.getFullYear();return !(year%400)||(!(year%4)&&!!(year%100));};dojo.date.getTimezoneName=function(_4de){var str=_4de.toString();var tz="";var _4e1;var pos=str.indexOf("(");if(pos>-1){tz=str.substring(++pos,str.indexOf(")"));}else{var pat=/([A-Z\/]+) \d{4}$/;if((_4e1=str.match(pat))){tz=_4e1[1];}else{str=_4de.toLocaleString();pat=/ ([A-Z\/]+)$/;if((_4e1=str.match(pat))){tz=_4e1[1];}}}return (tz=="AM"||tz=="PM")?"":tz;};dojo.date.compare=function(_4e4,_4e5,_4e6){_4e4=new Date(Number(_4e4));_4e5=new Date(Number(_4e5||new Date()));if(_4e6!=="undefined"){if(_4e6=="date"){_4e4.setHours(0,0,0,0);_4e5.setHours(0,0,0,0);}else{if(_4e6=="time"){_4e4.setFullYear(0,0,0);_4e5.setFullYear(0,0,0);}}}if(_4e4>_4e5){return 1;}if(_4e4<_4e5){return -1;}return 0;};dojo.date.add=function(date,_4e8,_4e9){var sum=new Date(Number(date));var _4eb=false;var _4ec="Date";switch(_4e8){case "day":break;case "weekday":var days,_4ee;var mod=_4e9%5;if(!mod){days=(_4e9>0)?5:-5;_4ee=(_4e9>0)?((_4e9-5)/5):((_4e9+5)/5);}else{days=mod;_4ee=parseInt(_4e9/5);}var strt=date.getDay();var adj=0;if(strt==6&&_4e9>0){adj=1;}else{if(strt==0&&_4e9<0){adj=-1;}}var trgt=strt+days;if(trgt==0||trgt==6){adj=(_4e9>0)?2:-2;}_4e9=(7*_4ee)+days+adj;break;case "year":_4ec="FullYear";_4eb=true;break;case "week":_4e9*=7;break;case "quarter":_4e9*=3;case "month":_4eb=true;_4ec="Month";break;case "hour":case "minute":case "second":case "millisecond":_4ec="UTC"+_4e8.charAt(0).toUpperCase()+_4e8.substring(1)+"s";}if(_4ec){sum["set"+_4ec](sum["get"+_4ec]()+_4e9);}if(_4eb&&(sum.getDate()<date.getDate())){sum.setDate(0);}return sum;};dojo.date.difference=function(_4f3,_4f4,_4f5){_4f4=_4f4||new Date();_4f5=_4f5||"day";var _4f6=_4f4.getFullYear()-_4f3.getFullYear();var _4f7=1;switch(_4f5){case "quarter":var m1=_4f3.getMonth();var m2=_4f4.getMonth();var q1=Math.floor(m1/3)+1;var q2=Math.floor(m2/3)+1;q2+=(_4f6*4);_4f7=q2-q1;break;case "weekday":var days=Math.round(dojo.date.difference(_4f3,_4f4,"day"));var _4fd=parseInt(dojo.date.difference(_4f3,_4f4,"week"));var mod=days%7;if(mod==0){days=_4fd*5;}else{var adj=0;var aDay=_4f3.getDay();var bDay=_4f4.getDay();_4fd=parseInt(days/7);mod=days%7;var _502=new Date(_4f3);_502.setDate(_502.getDate()+(_4fd*7));var _503=_502.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 (_503+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 (_503+mod)<0:adj=2;}}}days+=adj;days-=(_4fd*2);}_4f7=days;break;case "year":_4f7=_4f6;break;case "month":_4f7=(_4f4.getMonth()-_4f3.getMonth())+(_4f6*12);break;case "week":_4f7=parseInt(dojo.date.difference(_4f3,_4f4,"day")/7);break;case "day":_4f7/=24;case "hour":_4f7/=60;case "minute":_4f7/=60;case "second":_4f7/=1000;case "millisecond":_4f7*=_4f4.getTime()-_4f3.getTime();}return Math.round(_4f7);};}if(!dojo._hasResource["dojo.date.stamp"]){dojo._hasResource["dojo.date.stamp"]=true;dojo.provide("dojo.date.stamp");dojo.date.stamp.fromISOString=function(_504,_505){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 _506=dojo.date.stamp._isoRegExp.exec(_504);var _507=null;if(_506){_506.shift();if(_506[1]){_506[1]--;}if(_506[6]){_506[6]*=1000;}if(_505){_505=new Date(_505);dojo.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(prop){return _505["get"+prop]();}).forEach(function(_509,_50a){if(_506[_50a]===undefined){_506[_50a]=_509;}});}_507=new Date(_506[0]||1970,_506[1]||0,_506[2]||1,_506[3]||0,_506[4]||0,_506[5]||0,_506[6]||0);var _50b=0;var _50c=_506[7]&&_506[7].charAt(0);if(_50c!="Z"){_50b=((_506[8]||0)*60)+(Number(_506[9])||0);if(_50c!="-"){_50b*=-1;}}if(_50c){_50b-=_507.getTimezoneOffset();}if(_50b){_507.setTime(_507.getTime()+_50b*60000);}}return _507;};dojo.date.stamp.toISOString=function(_50d,_50e){var _=function(n){return (n<10)?"0"+n:n;};_50e=_50e||{};var _511=[];var _512=_50e.zulu?"getUTC":"get";var date="";if(_50e.selector!="time"){var year=_50d[_512+"FullYear"]();date=["0000".substr((year+"").length)+year,_(_50d[_512+"Month"]()+1),_(_50d[_512+"Date"]())].join("-");}_511.push(date);if(_50e.selector!="date"){var time=[_(_50d[_512+"Hours"]()),_(_50d[_512+"Minutes"]()),_(_50d[_512+"Seconds"]())].join(":");var _516=_50d[_512+"Milliseconds"]();if(_50e.milliseconds){time+="."+(_516<100?"0":"")+_(_516);}if(_50e.zulu){time+="Z";}else{if(_50e.selector!="time"){var _517=_50d.getTimezoneOffset();var _518=Math.abs(_517);time+=(_517>0?"-":"+")+_(Math.floor(_518/60))+":"+_(_518%60);}}_511.push(time);}return _511.join("T");};}if(!dojo._hasResource["dojo.regexp"]){dojo._hasResource["dojo.regexp"]=true;dojo.provide("dojo.regexp");dojo.regexp.escapeString=function(str,_51a){return str.replace(/([\.$?*!=:|{}\(\)\[\]\\\/^])/g,function(ch){if(_51a&&_51a.indexOf(ch)!=-1){return ch;}return "\\"+ch;});};dojo.regexp.buildGroupRE=function(arr,re,_51e){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("|"),_51e);};dojo.regexp.group=function(_521,_522){return "("+(_522?"?:":"")+_521+")";};}if(!dojo._hasResource["dojo.cookie"]){dojo._hasResource["dojo.cookie"]=true;dojo.provide("dojo.cookie");dojo.cookie=function(name,_524,_525){var c=document.cookie;if(arguments.length==1){var _527=c.match(new RegExp("(?:^|; )"+dojo.regexp.escapeString(name)+"=([^;]*)"));return _527?decodeURIComponent(_527[1]):undefined;}else{_525=_525||{};var exp=_525.expires;if(typeof exp=="number"){var d=new Date();d.setTime(d.getTime()+exp*24*60*60*1000);exp=_525.expires=d;}if(exp&&exp.toUTCString){_525.expires=exp.toUTCString();}_524=encodeURIComponent(_524);var _52a=name+"="+_524,_52b;for(_52b in _525){_52a+="; "+_52b;var _52c=_525[_52b];if(_52c!==true){_52a+="="+_52c;}}document.cookie=_52a;}};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["dojo.io.script"]){dojo._hasResource["dojo.io.script"]=true;dojo.provide("dojo.io.script");dojo.io.script={get:function(args){var dfd=this._makeScriptDeferred(args);var _52f=dfd.ioArgs;dojo._ioAddQueryToUrl(_52f);this.attach(_52f.id,_52f.url,args.frameDoc);dojo._ioWatch(dfd,this._validCheck,this._ioCheck,this._resHandle);return dfd;},attach:function(id,url,_532){var doc=(_532||dojo.doc);var _534=doc.createElement("script");_534.type="text/javascript";_534.src=url;_534.id=id;doc.getElementsByTagName("head")[0].appendChild(_534);},remove:function(id){dojo._destroyElement(dojo.byId(id));if(this["jsonp_"+id]){delete this["jsonp_"+id];}},_makeScriptDeferred:function(args){var dfd=dojo._ioSetArgs(args,this._deferredCancel,this._deferredOk,this._deferredError);var _538=dfd.ioArgs;_538.id=dojo._scopeName+"IoScript"+(this._counter++);_538.canDelete=false;if(args.callbackParamName){_538.query=_538.query||"";if(_538.query.length>0){_538.query+="&";}_538.query+=args.callbackParamName+"="+(args.frameDoc?"parent.":"")+"dojo.io.script.jsonp_"+_538.id+"._jsonpCallback";_538.canDelete=true;dfd._jsonpCallback=this._jsonpCallback;this["jsonp_"+_538.id]=dfd;}return dfd;},_deferredCancel:function(dfd){dfd.canceled=true;if(dfd.ioArgs.canDelete){dojo.io.script._deadScripts.push(dfd.ioArgs.id);}},_deferredOk:function(dfd){if(dfd.ioArgs.canDelete){dojo.io.script._deadScripts.push(dfd.ioArgs.id);}if(dfd.ioArgs.json){return dfd.ioArgs.json;}else{return dfd.ioArgs;}},_deferredError:function(_53b,dfd){if(dfd.ioArgs.canDelete){if(_53b.dojoType=="timeout"){dojo.io.script.remove(dfd.ioArgs.id);}else{dojo.io.script._deadScripts.push(dfd.ioArgs.id);}}console.debug("dojo.io.script error",_53b);return _53b;},_deadScripts:[],_counter:1,_validCheck:function(dfd){var _53e=dojo.io.script;var _53f=_53e._deadScripts;if(_53f&&_53f.length>0){for(var i=0;i<_53f.length;i++){_53e.remove(_53f[i]);}dojo.io.script._deadScripts=[];}return true;},_ioCheck:function(dfd){if(dfd.ioArgs.json){return true;}var _542=dfd.ioArgs.args.checkString;if(_542&&eval("typeof("+_542+") != 'undefined'")){return true;}return false;},_resHandle:function(dfd){if(dojo.io.script._ioCheck(dfd)){dfd.callback(dfd);}else{dfd.errback(new Error("inconceivable dojo.io.script._resHandle error"));}},_jsonpCallback:function(json){this.ioArgs.json=json;}};}if(dojo.config.afterOnLoad&&dojo.isBrowser){window.setTimeout(dojo._fakeLoadInit,1000);}})();

//getViewport function snagged from dijit._base.place. 
//No need to cram in all of dijit._base just for this.
dojo.getViewport = function(){
	var _window = dojo.global;
	var _document = dojo.doc;

	// get viewport size
	var w = 0, h = 0;
	var de = _document.documentElement;
	var dew = de.clientWidth, deh = de.clientHeight;
	if(dojo.isMozilla){
		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){
		//in opera9, dojo.body().clientWidth should be used, instead
		//of window.innerWidth/document.documentElement.clientWidth
		//so we have to check whether it is opera
		w = _window.innerWidth;
		h = _window.innerHeight;
	}else if(dojo.isIE && de && deh){
		w = dew;
		h = deh;
	}else if(dojo.body().clientWidth){
		// IE5, Opera
		w = dojo.body().clientWidth;
		h = dojo.body().clientHeight;
	}

	// get scroll position
	var scroll = dojo._docScroll();

	return { w: w, h: h, l: scroll.x, t: scroll.y };	//	object
};


//minified swfobject
var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write("<script id=__ie_ondomload defer=true src=//:><\/script>");var i=c("__ie_ondomload");if(i){i.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);V()}}}}catch(j){}}if(a.webkit&&typeof g.readyState!=Z){Q=setInterval(function(){if(/loaded|complete/.test(g.readyState)){V()}},10)}if(typeof g.addEventListener!=Z){g.addEventListener("DOMContentLoaded",V,null)}M(V)}();function V(){if(S){return }if(a.ie&&a.win){var m=Y("span");try{var l=g.getElementsByTagName("body")[0].appendChild(m);l.parentNode.removeChild(l)}catch(n){return }}S=true;if(Q){clearInterval(Q);Q=null}var j=f.length;for(var k=0;k<j;k++){f[k]()}}function J(i){if(S){i()}else{f[f.length]=i}}function M(j){if(typeof G.addEventListener!=Z){G.addEventListener("load",j,false)}else{if(typeof g.addEventListener!=Z){g.addEventListener("load",j,false)}else{if(typeof G.attachEvent!=Z){G.attachEvent("onload",j)}else{if(typeof G.onload=="function"){var i=G.onload;G.onload=function(){i();j()}}else{G.onload=j}}}}}function I(){var l=H.length;for(var j=0;j<l;j++){var m=H[j].id;if(a.pv[0]>0){var k=c(m);if(k){H[j].width=k.getAttribute("width")?k.getAttribute("width"):"0";H[j].height=k.getAttribute("height")?k.getAttribute("height"):"0";if(O(H[j].swfVersion)){if(a.webkit&&a.webkit<312){U(k)}X(m,true)}else{if(H[j].expressInstall&&!C&&O("6.0.65")&&(a.win||a.mac)){D(H[j])}else{d(k)}}}}else{X(m,true)}}}function U(m){var k=m.getElementsByTagName(P)[0];if(k){var p=Y("embed"),r=k.attributes;if(r){var o=r.length;for(var n=0;n<o;n++){if(r[n].nodeName.toLowerCase()=="data"){p.setAttribute("src",r[n].nodeValue)}else{p.setAttribute(r[n].nodeName,r[n].nodeValue)}}}var q=k.childNodes;if(q){var s=q.length;for(var l=0;l<s;l++){if(q[l].nodeType==1&&q[l].nodeName.toLowerCase()=="param"){p.setAttribute(q[l].getAttribute("name"),q[l].getAttribute("value"))}}}m.parentNode.replaceChild(p,m)}}function F(i){if(a.ie&&a.win&&O("8.0.0")){G.attachEvent("onunload",function(){var k=c(i);if(k){for(var j in k){if(typeof k[j]=="function"){k[j]=function(){}}}k.parentNode.removeChild(k)}})}}function D(j){C=true;var o=c(j.id);if(o){if(j.altContentId){var l=c(j.altContentId);if(l){L=l;T=j.altContentId}}else{L=b(o)}if(!(/%$/.test(j.width))&&parseInt(j.width,10)<310){j.width="310"}if(!(/%$/.test(j.height))&&parseInt(j.height,10)<137){j.height="137"}g.title=g.title.slice(0,47)+" - Flash Player Installation";var n=a.ie&&a.win?"ActiveX":"PlugIn",k=g.title,m="MMredirectURL="+G.location+"&MMplayerType="+n+"&MMdoctitle="+k,p=j.id;if(a.ie&&a.win&&o.readyState!=4){var i=Y("div");p+="SWFObjectNew";i.setAttribute("id",p);o.parentNode.insertBefore(i,o);o.style.display="none";G.attachEvent("onload",function(){o.parentNode.removeChild(o)})}R({data:j.expressInstall,id:K,width:j.width,height:j.height},{flashvars:m},p)}}function d(j){if(a.ie&&a.win&&j.readyState!=4){var i=Y("div");j.parentNode.insertBefore(i,j);i.parentNode.replaceChild(b(j),i);j.style.display="none";G.attachEvent("onload",function(){j.parentNode.removeChild(j)})}else{j.parentNode.replaceChild(b(j),j)}}function b(n){var m=Y("div");if(a.win&&a.ie){m.innerHTML=n.innerHTML}else{var k=n.getElementsByTagName(P)[0];if(k){var o=k.childNodes;if(o){var j=o.length;for(var l=0;l<j;l++){if(!(o[l].nodeType==1&&o[l].nodeName.toLowerCase()=="param")&&!(o[l].nodeType==8)){m.appendChild(o[l].cloneNode(true))}}}}}return m}function R(AE,AC,q){var p,t=c(q);if(typeof AE.id==Z){AE.id=q}if(a.ie&&a.win){var AD="";for(var z in AE){if(AE[z]!=Object.prototype[z]){if(z=="data"){AC.movie=AE[z]}else{if(z.toLowerCase()=="styleclass"){AD+=' class="'+AE[z]+'"'}else{if(z!="classid"){AD+=" "+z+'="'+AE[z]+'"'}}}}}var AB="";for(var y in AC){if(AC[y]!=Object.prototype[y]){AB+='<param name="'+y+'" value="'+AC[y]+'" />'}}t.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AD+">"+AB+"</object>";F(AE.id);p=c(AE.id)}else{if(a.webkit&&a.webkit<312){var AA=Y("embed");AA.setAttribute("type",W);for(var x in AE){if(AE[x]!=Object.prototype[x]){if(x=="data"){AA.setAttribute("src",AE[x])}else{if(x.toLowerCase()=="styleclass"){AA.setAttribute("class",AE[x])}else{if(x!="classid"){AA.setAttribute(x,AE[x])}}}}}for(var w in AC){if(AC[w]!=Object.prototype[w]){if(w!="movie"){AA.setAttribute(w,AC[w])}}}t.parentNode.replaceChild(AA,t);p=AA}else{var s=Y(P);s.setAttribute("type",W);for(var v in AE){if(AE[v]!=Object.prototype[v]){if(v.toLowerCase()=="styleclass"){s.setAttribute("class",AE[v])}else{if(v!="classid"){s.setAttribute(v,AE[v])}}}}for(var u in AC){if(AC[u]!=Object.prototype[u]&&u!="movie"){E(s,u,AC[u])}}t.parentNode.replaceChild(s,t);p=s}}return p}function E(k,i,j){var l=Y("param");l.setAttribute("name",i);l.setAttribute("value",j);k.appendChild(l)}function c(i){return g.getElementById(i)}function Y(i){return g.createElement(i)}function O(k){var j=a.pv,i=k.split(".");i[0]=parseInt(i[0],10);i[1]=parseInt(i[1],10);i[2]=parseInt(i[2],10);return(j[0]>i[0]||(j[0]==i[0]&&j[1]>i[1])||(j[0]==i[0]&&j[1]==i[1]&&j[2]>=i[2]))?true:false}function A(m,j){if(a.ie&&a.mac){return }var l=g.getElementsByTagName("head")[0],k=Y("style");k.setAttribute("type","text/css");k.setAttribute("media","screen");if(!(a.ie&&a.win)&&typeof g.createTextNode!=Z){k.appendChild(g.createTextNode(m+" {"+j+"}"))}l.appendChild(k);if(a.ie&&a.win&&typeof g.styleSheets!=Z&&g.styleSheets.length>0){var i=g.styleSheets[g.styleSheets.length-1];if(typeof i.addRule==P){i.addRule(m,j)}}}function X(k,i){var j=i?"visible":"hidden";if(S){c(k).style.visibility=j}else{A("#"+k,"visibility:"+j)}}return{registerObject:function(l,i,k){if(!a.w3cdom||!l||!i){return }var j={};j.id=l;j.swfVersion=i;j.expressInstall=k?k:false;H[H.length]=j;X(l,false)},getObjectById:function(l){var i=null;if(a.w3cdom&&S){var j=c(l);if(j){var k=j.getElementsByTagName(P)[0];if(!k||(k&&typeof j.SetVariable!=Z)){i=j}else{if(typeof k.SetVariable!=Z){i=k}}}}return i},embedSWF:function(n,u,r,t,j,m,k,p,s){if(!a.w3cdom||!n||!u||!r||!t||!j){return }r+="";t+="";if(O(j)){X(u,false);var q=(typeof s==P)?s:{};q.data=n;q.width=r;q.height=t;var o=(typeof p==P)?p:{};if(typeof k==P){for(var l in k){if(k[l]!=Object.prototype[l]){if(typeof o.flashvars!=Z){o.flashvars+="&"+l+"="+k[l]}else{o.flashvars=l+"="+k[l]}}}}J(function(){R(q,o,u);if(q.id==u){X(u,true)}})}else{if(m&&!C&&O("6.0.65")&&(a.win||a.mac)){X(u,false);J(function(){var i={};i.id=i.altContentId=u;i.width=r;i.height=t;i.expressInstall=m;D(i)})}}},getFlashPlayerVersion:function(){return{major:a.pv[0],minor:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:O,createSWF:function(k,j,i){if(a.w3cdom&&S){return R(k,j,i)}else{return undefined}},createCSS:function(j,i){if(a.w3cdom){A(j,i)}},addDomLoadEvent:J,addLoadEvent:M,getQueryParamValue:function(m){var l=g.location.search||g.location.hash;if(m==null){return l}if(l){var k=l.substring(1).split("&");for(var j=0;j<k.length;j++){if(k[j].substring(0,k[j].indexOf("="))==m){return k[j].substring((k[j].indexOf("=")+1))}}}return""},expressInstallCallback:function(){if(C&&L){var i=c(K);if(i){i.parentNode.replaceChild(L,i);if(T){X(T,true);if(a.ie&&a.win){L.style.display="block"}}L=null;T=null;C=false}}}}}();


//The core ivo.js logic follows...
dojo.addOnLoad(function() {
						    
    var _baseUrl = window.location.protocol + "//www.ivovideo.com";

    //global since the swf will try to call it when the video finishes
    closeOverlay = function() {	
		if (dojo.isIE > 7) {
  		  var nodeIDs = ["ivoFlashMovieContainer", "ivoCloseButton", "ivoRedirectMask1", "ivoRedirectMask2"];
          for (var i = 0; i < nodeIDs.length; i++) {
            var node = document.getElementById(nodeIDs[i]);
            // verify that the node actually exists, otherwise an error occurs
            if (node) {
            node.parentNode.removeChild(node);
            }
		  }
		} 		
		else {
		window.onresize = null;
        dojo.query("#ivoFlashMovieContainer,#ivoCloseButton,#ivoRedirectMask1,#ivoRedirectMask2").orphan();	
		}
    }

    //routine for creating a swf and embedding it into the page.
    //depends on dojo.
    var embedSwf = function(url, width, height,position,clickTarget1,clickTarget2) {

        //build and style the movie container
        var container = dojo.doc.createElement("div");
        dojo.body().appendChild(container);
      
         
        var _positionContent = dojo.partial(positionContent,container,width,height,position,clickTarget1,clickTarget2);
        _positionContent();

        //connect the hitched up function such that when the window resizes, it'll automatically
        //reposition content. apparently dojo.connect is not handling this correctly, so for now,
        //connect directly and null it out in closeOverlay
        window.onresize = _positionContent;

        var _movie = dojo.doc.createElement("div");
        dojo.attr(_movie, "id", "ivoFlashMovieContainer");
        container.appendChild(_movie);



        //it appears that this call is graceful if the url doesn't return a swf
        var params = {
            quality : "high",
            menu : false,
            wmode : "transparent",
            allowScriptAccess : "always"
        };
        swfobject.embedSWF(url, "ivoFlashMovieContainer", width, height, "9.0.0",_baseUrl+"/ivo2/"+"expressInstall.swf",false, params, false);
    } 

    //routine for approximating the bandwidth
    //download a reasonably sized image (~500KB) and calculate the Kbps.
    //reasonable tiers of speed are:
    //modem: < 56kbps
    //dsl: > 56kbps && < 768kbps
    //cable: > 768kbps
    var checkBandwidth = function() {
        var e = document.createElement("img");
        var _start = new Date();
        var cacheBust = parseInt(Math.random()*99999999);
        var _img = 481324;
        dojo.attr(e, {src :_baseUrl+"/ivo2/" + _img+".png?cacheBust="+cacheBust});

        var dfd = new dojo.Deferred;

        var _h = dojo.connect(e, "onload", function(evt) {
            var _secs = dojo.date.difference(_start, new Date(), "second");

            var _kbps = (_img*8/_secs)/1000;

            dojo.disconnect(_h);
            delete e;

            dfd.callback(_kbps); //async
        });

        return dfd; //return for callback chaining
    }

    // Place content in one of 9 quadrants on the screen.
    // Note that because of relative movie size compared to common screen sizes,
    // the quadrants will almost certainly overlap
    // If the screen were like a tic-tac-toe board, here is the basic layout map:
    //  012
    //  345
    //  678
    // Also, dynamically generate a close button with a slight tween and incorporate redirect masks.
    // the popup a new window as defined by clickTarget1 and clickTarget2. By defintion, redirect mask #1
    // spans the middle 2/3 of the flash movie. redirect mask #2 is roughly 100x50 px to the left of the close button
    var positionContent = function(/*DomNode*/content, width, height, position, clickTarget1, clickTarget2) {
        var offsetX = position % 3, offsetY = Math.floor(position/3);
        var vp = dojo.getViewport();

        var x = vp.w/3*offsetX - (width - vp.w/3)/2*offsetX;
        var y = vp.h/3*offsetY - (height - vp.h/3)/2*offsetY;

        dojo.style(content, {
            position: "absolute",
            top : y+"px",
            left : x+"px",
            zIndex : 9997,
            border : "0px"
        });    

        //position a close button on top of the swf...
        //the source image is 45px, so ~5px makes a good tween
        var img_dim=35; //px
        if (!dojo.byId("ivoCloseButton")) { //create it and add it
            var btn = dojo.doc.createElement("img");
            dojo.attr(btn, "id", "ivoCloseButton");
            btn.src= _baseUrl+"/ivo2/"+"close_btn_40.png";
            dojo.style(btn, {
                position: "absolute",
                top : height+y-20-img_dim+"px", //keep it smaller so we can tween w/o distortion
                left : width+x-20-img_dim+"px",
                height : img_dim+"px",
                width : img_dim+"px",
                zIndex : 9998,
                border : "0px",
                cursor : "pointer"
            });

            //...and tween the button when mouseover/mouseout occurs by 5px;
            dojo.connect(btn, "onmouseover", function(evt) {
                dojo.attr(evt.target, "src", _baseUrl+"/ivo2/close_btn_45.png");
                dojo.style(evt.target, {
                    width : 40,
                    height : 40
                });
            });
            dojo.connect(btn, "onmouseout", function(evt) {
                dojo.attr(evt.target, "src", _baseUrl+"/ivo2/close_btn_40.png");
                dojo.style(evt.target, {
                    width : 35,
                    height : 35
                });
            });

            //...and set up a click handler to close out the video when the button is clicked
            dojo.connect(btn, "onclick", closeOverlay);
            			
            //...and finally, add the button to the page
            dojo.body().appendChild(btn);
        }
        else { //it already exists, so just reposition it
            dojo.query("#ivoCloseButton").style({
                position: "absolute",
                top : height+y-20-img_dim+"px", //keep it smaller so we can tween w/o distortion
                left :width+x-20-img_dim+"px"
            });
        }

        //but wait! that's not all. now, set up some "redirect masks" such that when a user
        //clicks on one of them, a window is spawned with a specific target
        //by definition, redirectmask1 spans the middle two thirds of the swf
        if (!dojo.byId("ivoRedirectMask1") && clickTarget1) { //create it and add it
            var mask1 = dojo.doc.createElement("div");
            dojo.attr(mask1, "id", "ivoRedirectMask1");
            dojo.style(mask1, {
                position : "absolute",
                top : y+"px", //same as the swf
                left : x+width/6+"px", //middle third of the swf
                width : width/6*4+"px",
                height : height+"px", //same as the swf
                zIndex : 9998,
                cursor : "pointer"
            }); 

            if (dojo.isIE) {
                dojo.style(mask1, {
                    background : "green", //apparently ie optimizes out the div if it isn't visible. 
                    opacity : 0
                });
            }

            dojo.connect(mask1, "onclick", function(evt) {
                window.open(clickTarget1);
                closeOverlay();
            });

            //and add it to the page
            dojo.body().appendChild(mask1);
        }
        else if (clickTarget1) { //reposition it
            dojo.query("#ivoRedirectMask1").style({
                position : "absolute",
                top : y+"px", //same as the swf
                left : x+width/6+"px" //middle third of the swf
            });
        }

        //by definition, the other redirect mask is over top of the ivo logo,
        //which is just to the left of the close button, AFAIK
        //FIXME: proably need to tweak this a bit based opon feedback
        //assuming a 100x50 log with 20px of padding
        var ivoLogoHeight = 50; //px
        var ivoLogoWidth = 100; //px
        var ivoLogoPadding = 20; //px
        if (!dojo.byId("ivoRedirectMask2") && clickTarget2) { //create it and add it
            var mask2 = dojo.doc.createElement("div");
            dojo.attr(mask2, "id", "ivoRedirectMask2");
            dojo.style(mask2, {
                position : "absolute",

                top : height+y-(ivoLogoHeight)+"px", //keep it smaller so we can tween w/o distortion
                left :width+x-img_dim-(ivoLogoWidth)-ivoLogoPadding+"px",

                width : ivoLogoWidth+"px",
                height : ivoLogoHeight+"px", //same as the swf
                zIndex : 9999,
                cursor : "pointer"
            }); 

            if (dojo.isIE) {
                dojo.style(mask2, {
                    background : "green", //apparently ie optimizes out the div if it isn't visible. 
                    opacity : 0
                });
            }

            dojo.connect(mask2, "onclick", function(evt) {
                window.open(clickTarget2);
                closeOverlay();
            });

            //and add it to the page
            dojo.body().appendChild(mask2);
        }
        else if (clickTarget2) { //reposition it
            dojo.query("#ivoRedirectMask2").style({
                position : "absolute",
                top : height+y-(ivoLogoHeight)+"px", //keep it smaller so we can tween w/o distortion
                left :width+x-img_dim-(ivoLogoWidth)-ivoLogoPadding+"px"
            });
        }


    }


    /* begin: core ivo.js logic. */

    //if flash player is not installed whatsoever (very slim chance of this being the case)
    //it seems like some thought may need to do into exactly what should happen
    //for the user to be prompted for an install since ivo technology is "value added"
    //yet alien to the page, per se. for now, provide a simple prompt
    if (swfobject.getFlashPlayerVersion().major == 0) {

        var install = confirm("This page provides an ehnanced user experience that requires the Adobe's Flash Player to view. Proceed to http://www.adobe.com/go/getflashplayer to install the Adobe Flash Player?")
        if (install) {
            window.open("http://www.adobe.com/go/getflashplayer");
        }
        else {
            return;
        }
    }

    //check in with the server for parameters for video_url, position, width, and height
    //have to use jsonp to circumvent the same origin policy
    var ivoConfig = null;

    dojo.io.script.get({
        url : _baseUrl+"/metered/config",
        content : {page_url : window.location},
        callbackParamName : "c",
        timeout : 30000
    })
    .addCallback(function(ivoConfig, io) {
       //console.log("jsonp callback:", ivoConfig);

        if (!ivoConfig) return ivoConfig;

        if (ivoConfig.video_url) {
            var hours = Infinity; //assume we'll be playing the video, but then check for a cookie
            var _cookie = {};
            if (dojo.cookie("ivoLastPlayed")) {
                _cookie = dojo.fromJson(dojo.cookie("ivoLastPlayed"));
		if (_cookie[ivoConfig.page_url]) {
                	var lastPlayed = dojo.date.stamp.fromISOString(_cookie[ivoConfig.page_url]);
                	hours = dojo.date.difference(lastPlayed, new Date(), "hour"); //num hours since last played
		}
            }

            //1 - If we played the video less than play_frequency hours ago, then don't play it again.
            //2 - A play_frequency of -1 means to play the video every time, so if play_frequency == -1 then we *can't* not play it
            //    because "hours" will always be greater than -1
            //3 - A play_frequency of 0 means to play only once per browser session, so if play_frequency == 0 and ivoLastPlayed exists
            //    then that means we shouldn't play it.
            if (
                (ivoConfig.play_frequency !== undefined && hours < ivoConfig.play_frequency) ||
                (ivoConfig.play_frequency == 0 && dojo.cookie("ivoLastPlayed") !== undefined)
               ) {
                //console.log("not playing video because", hours, "<", ivoConfig.play_frequency)
                return ivoConfig;
            }

            //set/update the  cookie with the current time since it's getting ready to play
            _cookie[ivoConfig.page_url] = dojo.date.stamp.toISOString(new Date());
            dojo.cookie("ivoLastPlayed", dojo.toJson(_cookie), {expires : 365}); //expire in a year

            //bust the browser's cache so content can be more reliably metered
            //note that busting the cache is mandatory because of a FF issue that is documented
            //in the app server. without the cacheBust, content will not be metered accurately.
            //Specifically, FF2 appears to do two requests for content for some reason. Also
            //This parameter all but guarantees that cache will bust


            //Also, pass back in the page_url parameter, which is used
            //to perform the reverse lookup and ultimately meter the Flash content

            var queryString = {
                cacheBust : parseInt(Math.random()*99999999),
                pageUrl : ivoConfig.page_url
            };
            ivoConfig.video_url += "?"+dojo.objectToQuery(queryString);
           
            dfd = checkBandwidth().addCallback(function(kbps) {
                //console.log("checkBandwidth callback. speed is", kbps);
                if (kbps >= 256) {
                    embedSwf(ivoConfig.video_url,ivoConfig.width,ivoConfig.height, ivoConfig.position, ivoConfig.click_target1, ivoConfig.click_target2);
                }
            });
        }

        return ivoConfig;
    })
    ;
	
	/* end: core ivo.js logic */
});
