if(typeof dojo=="undefined"){(function(){if(typeof this["djConfig"]=="undefined"){this.djConfig={}
}if((!this["console"])||(!console["firebug"])){this.console={}
}var G=["assert","count","debug","dir","dirxml","error","group","groupEnd","info","log","profile","profileEnd","time","timeEnd","trace","warn"];
var E=0,A;
while(A=G[E++]){if(!console[A]){console[A]=function(){}
}}if(typeof this["dojo"]=="undefined"){this.dojo={}
}dojo.global=this;
var F={isDebug:false,allowQueryConfig:false,baseScriptUri:"",baseRelativePath:"",libraryScriptUri:"",preventBackButtonFix:true,delayMozLoadingFix:false};
for(var D in F){if(typeof djConfig[D]=="undefined"){djConfig[D]=F[D]
}}var B=["Browser","Rhino","Spidermonkey","Mobile"];
var C;
while(C=B.shift()){dojo["is"+C]=false
}})();
dojo.locale=djConfig.locale;
dojo.version={major:0,minor:0,patch:0,flag:"dev",revision:Number("$Rev: 9464 $".match(/[0-9]+/)[0]),toString:function(){with(dojo.version){return major+"."+minor+"."+patch+flag+" ("+revision+")"
}}};
dojo._getProp=function(B,A,E){var C=E||dojo.global;
for(var D=0,F;
C&&(F=B[D]);
D++){C=(F in C?C[F]:(A?C[F]={}:undefined))
}return C
};
dojo.setObject=function(A,F,E){var D=A.split("."),C=D.pop(),B=dojo._getProp(D,true,E);
return(B&&C?(B[C]=F):undefined)
};
dojo.getObject=function(C,B,A){return dojo._getProp(C.split("."),B,A)
};
dojo.exists=function(A,B){return Boolean(dojo.getObject(A,false,B))
};
dojo["eval"]=function(_19,_1a){if(_1a){if(dojo.global.execScript){dojo.global.execScript(_19);
return 1
}if(dojo.isSafari){var _1b=document.createElement("script");
var _1c=document.createTextNode(_19);
_1b.appendChild(_1c);
_1b.type="text/javascript";
_1b.defer=false;
var _1d=document.getElementsByTagName("head").item(0);
_1d.appendChild(_1b);
return 1
}}return dojo.global.eval?dojo.global.eval(_19):eval(_19)
};
dojo.deprecated=function(D,B,C){var A="DEPRECATED: "+D;
if(B){A+=" "+B
}if(C){A+=" -- will be removed in version: "+C
}console.debug(A)
};
dojo.experimental=function(C,B){var A="EXPERIMENTAL: "+C;
A+=" -- Not yet ready for use. APIs subject to change without notice.";
if(B){A+=" "+B
}console.debug(A)
};
dojo._getText=function(A){};
(function(){var B={_pkgFileName:djConfig["packageFileName"]||"__package__",_loadedModules:{},_inFlightCount:0,_hasResource:{},_modulePrefixes:{dojo:{name:"dojo",value:"."},doh:{name:"doh",value:"../util/doh"},tests:{name:"tests",value:"tests"}},_moduleHasPrefix:function(C){var D=this._modulePrefixes;
return Boolean(D[C]&&D[C].value)
},_getModulePrefix:function(C){var D=this._modulePrefixes;
if(this._moduleHasPrefix(C)){return D[C].value
}return C
},_loadedUrls:[],_postLoad:false,_loaders:[],_unloaders:[],_loadNotifying:false};
for(var A in B){dojo[A]=B[A]
}})();
dojo._loadPath=function(C,B,A){var D=(((C.charAt(0)=="/"||C.match(/^\w+:/)))?"":this.baseUrl)+C;
if(djConfig.cacheBust&&dojo.isBrowser){D+="?"+String(djConfig.cacheBust).replace(/\W+/g,"")
}try{return !B?this._loadUri(D,A):this._loadUriAndCheck(D,B,A)
}catch(E){console.debug(E);
return false
}};
dojo._loadUri=function(D,B){if(this._loadedUrls[D]){return true
}var C=this._getText(D,true);
if(!C){return false
}this._loadedUrls[D]=true;
this._loadedUrls.push(D);
if(B){C="("+C+")"
}var A=dojo["eval"]("//@ sourceURL="+D+"\r\n"+C,true);
if(B){B(A)
}return true
};
dojo._loadUriAndCheck=function(C,E,A){var B=false;
try{B=this._loadUri(C,A)
}catch(D){console.debug("failed loading ",C," with error: ",D)
}return Boolean(B&&this._loadedModules[E])
};
dojo.loaded=function(){this._loadNotifying=true;
this._postLoad=true;
var B=this._loaders;
for(var A=0;
A<B.length;
A++){B[A]()
}this._loaders=[];
this._loadNotifying=false
};
dojo.unloaded=function(){var A=this._unloaders;
while(A.length){(A.pop())()
}};
dojo.addOnLoad=function(B,A){var C=dojo;
if(arguments.length==1){C._loaders.push(B)
}else{if(arguments.length>1){C._loaders.push(function(){B[A]()
})
}}if(C._postLoad&&C._inFlightCount==0&&!C._loadNotifying){C._callLoaded()
}};
dojo.addOnUnload=function(B,A){var C=dojo;
if(arguments.length==1){C._unloaders.push(B)
}else{if(arguments.length>1){C._unloaders.push(function(){B[A]()
})
}}};
dojo._modulesLoaded=function(){if(this._postLoad){return 
}if(this._inFlightCount>0){console.debug("files still in flight!");
return 
}dojo._callLoaded()
};
dojo._callLoaded=function(){if(typeof setTimeout=="object"||(djConfig["useXDomain"]&&dojo.isOpera)){setTimeout("dojo.loaded();",0)
}else{dojo.loaded()
}};
dojo._getModuleSymbols=function(E){var C=E.split(".");
for(var D=C.length;
D>0;
D--){var B=C.slice(0,D).join(".");
if((D==1)&&!this._moduleHasPrefix(B)){C[0]="../"+C[0]
}else{var A=this._getModulePrefix(B);
if(A!=B){C.splice(0,D,A);
break
}}}return C
};
dojo._global_omit_module_check=false;
if(!g_plx_version){var g_plx_version=""
}dojo._loadModule=function(G,F,D){var A="";
if(g_plx_version){A="?"+g_plx_version
}D=this._global_omit_module_check||D;
var K=this._loadedModules[G];
if(K){return K
}var J=G.split(".");
var I=this._getModuleSymbols(G);
var H=((I[0].charAt(0)!="/")&&!I[0].match(/^\w+:/));
var E=I[I.length-1];
var C;
if(E=="*"){G=J.slice(0,-1).join(".");
I.pop();
C=I.join("/")+"/"+this._pkgFileName+".js"+A;
if(H&&C.charAt(0)=="/"){C=C.slice(1)
}}else{C=I.join("/")+".js"+A;
G=J.join(".")
}var B=(!D)?G:null;
var L=this._loadPath(C,B);
if((!L)&&(!D)){throw new Error("Could not load '"+G+"'; last tried '"+C+"'")
}if((!D)&&(!this["_isXDomain"])){K=this._loadedModules[G];
if(!K){throw new Error("symbol '"+G+"' is not defined after loading '"+C+"'")
}}return K
};
dojo.require=dojo._loadModule;
dojo.provide=function(E){var D=String(E);
var C=D;
var B=E.split(/\./);
if(B[B.length-1]=="*"){B.pop();
C=B.join(".")
}var A=dojo.getObject(C,true);
this._loadedModules[D]=A;
this._loadedModules[C]=A;
return A
};
dojo.platformRequire=function(B){var E=B["common"]||[];
var D=E.concat(B[dojo._name]||B["default"]||[]);
for(var A=0;
A<D.length;
A++){var C=D[A];
if(C.constructor==Array){dojo._loadModule.apply(dojo,C)
}else{dojo._loadModule(C)
}}};
dojo.requireIf=function(A,D){if(A===true){var C=[];
for(var B=1;
B<arguments.length;
B++){C.push(arguments[B])
}dojo.require.apply(dojo,C)
}};
dojo.requireAfterIf=dojo.requireIf;
dojo.registerModulePath=function(B,A){this._modulePrefixes[B]={name:B,value:A}
};
if(djConfig["modulePaths"]){for(var param in djConfig["modulePaths"]){dojo.registerModulePath(param,djConfig["modulePaths"][param])
}}dojo.requireLocalization=function(D,C,B,A){if(!dojo._hasResource["dojo.i18n"]){dojo._hasResource["dojo.i18n"]=true;
dojo.provide("dojo.i18n");
dojo.i18n.getLocalization=function(F,G,L){dojo.i18n._preloadLocalizations();
L=dojo.i18n.normalizeLocale(L);
var E=L.split("-");
var H=[F,"nls",G].join(".");
var N=dojo._loadedModules[H];
if(N){var M;
for(var I=E.length;
I>0;
I--){var K=E.slice(0,I).join("_");
if(N[K]){M=N[K];
break
}}if(!M){M=N.ROOT
}if(M){var J=function(){};
J.prototype=M;
return new J()
}}throw new Error("Bundle not found: "+G+" in "+F+" , locale="+L)
};
dojo.i18n.normalizeLocale=function(F){var E=F?F.toLowerCase():dojo.locale;
if(E=="root"){E="ROOT"
}return E
};
dojo.i18n._requireLocalization=function(E,F,S,O){dojo.i18n._preloadLocalizations();
var L=dojo.i18n.normalizeLocale(S);
var I=[E,"nls",F].join(".");
var H="";
if(O){var R=O.split(",");
for(var M=0;
M<R.length;
M++){if(L.indexOf(R[M])==0){if(R[M].length>H.length){H=R[M]
}}}if(!H){H="ROOT"
}}var P=O?H:L;
var U=dojo._loadedModules[I];
var G=null;
if(U){if(djConfig.localizationComplete&&U._built){return 
}var K=P.replace(/-/g,"_");
var Q=I+"."+K;
G=dojo._loadedModules[Q]
}if(!G){U=dojo["provide"](I);
var J=dojo._getModuleSymbols(E);
var N=J.concat("nls").join("/");
var T;
dojo.i18n._searchLocalePath(P,O,function(Z){var a=Z.replace(/-/g,"_");
var Y=I+"."+a;
var W=false;
if(!dojo._loadedModules[Y]){dojo["provide"](Y);
var X=[N];
if(Z!="ROOT"){X.push(Z)
}X.push(F);
var V=X.join("/")+".js";
W=dojo._loadPath(V,null,function(d){var c=function(){};
c.prototype=T;
U[a]=new c();
for(var b in d){U[a][b]=d[b]
}})
}else{W=true
}if(W&&U[a]){T=U[a]
}else{U[a]=T
}if(O){return true
}})
}if(O&&L!=H){U[L.replace(/-/g,"_")]=U[H.replace(/-/g,"_")]
}};
(function(){var E=djConfig.extraLocale;
if(E){if(!E instanceof Array){E=[E]
}var F=dojo.i18n._requireLocalization;
dojo.i18n._requireLocalization=function(I,H,G,K){F(I,H,G,K);
if(G){return 
}for(var J=0;
J<E.length;
J++){F(I,H,E[J],K)
}}
}})();
dojo.i18n._searchLocalePath=function(L,M,G){L=dojo.i18n.normalizeLocale(L);
var E=L.split("-");
var F=[];
for(var I=E.length;
I>0;
I--){F.push(E.slice(0,I).join("-"))
}F.push(false);
if(M){F.reverse()
}for(var H=F.length-1;
H>=0;
H--){var J=F[H]||"ROOT";
var K=G(J);
if(K){break
}}};
dojo.i18n._localesGenerated;
dojo.i18n.registerNlsPath=function(){dojo.registerModulePath("nls","nls")
};
dojo.i18n._preloadLocalizations=function(){if(dojo.i18n._localesGenerated){dojo.i18n.registerNlsPath();
function F(H){H=dojo.i18n.normalizeLocale(H);
dojo.i18n._searchLocalePath(H,true,function(J){for(var I=0;
I<dojo.i18n._localesGenerated.length;
I++){if(dojo.i18n._localesGenerated[I]==J){dojo["require"]("nls.dojo_"+J);
return true
}}return false
})
}F();
var E=djConfig.extraLocale||[];
for(var G=0;
G<E.length;
G++){F(E[G])
}}dojo.i18n._preloadLocalizations=function(){}
}
}dojo.i18n._requireLocalization.apply(dojo.hostenv,arguments)
};
(function(){var A=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$");
var B=new RegExp("^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$");
dojo._Url=function(){var D=null;
var L=arguments;
var E=L[0];
for(var H=1;
H<L.length;
H++){if(!L[H]){continue
}var K=new dojo._Url(L[H]+"");
var J=new dojo._Url(E+"");
if((K.path=="")&&(!K.scheme)&&(!K.authority)&&(!K.query)){if(K.fragment!=null){J.fragment=K.fragment
}K=J
}else{if(K.scheme==null){K.scheme=J.scheme;
if(K.authority==null){K.authority=J.authority;
if(K.path.charAt(0)!="/"){var I=J.path.substring(0,J.path.lastIndexOf("/")+1)+K.path;
var G=I.split("/");
for(var F=0;
F<G.length;
F++){if(G[F]=="."){if(F==G.length-1){G[F]=""
}else{G.splice(F,1);
F--
}}else{if(F>0&&!(F==1&&G[0]=="")&&G[F]==".."&&G[F-1]!=".."){if(F==(G.length-1)){G.splice(F,1);
G[F-1]=""
}else{G.splice(F-1,2);
F-=2
}}}}K.path=G.join("/")
}}}}E="";
if(K.scheme!=null){E+=K.scheme+":"
}if(K.authority!=null){E+="//"+K.authority
}E+=K.path;
if(K.query!=null){E+="?"+K.query
}if(K.fragment!=null){E+="#"+K.fragment
}}this.uri=E.toString();
var C=this.uri.match(A);
this.scheme=C[2]||(C[1]?"":null);
this.authority=C[4]||(C[3]?"":null);
this.path=C[5];
this.query=C[7]||(C[6]?"":null);
this.fragment=C[9]||(C[8]?"":null);
if(this.authority!=null){C=this.authority.match(B);
this.user=C[3]||null;
this.password=C[4]||null;
this.host=C[5];
this.port=C[7]||null
}};
dojo._Url.prototype.toString=function(){return this.uri
}
})();
dojo.moduleUrl=function(D,A){var C=dojo._getModuleSymbols(D).join("/");
if(!C){return null
}if(C.lastIndexOf("/")!=C.length-1){C+="/"
}var B=C.indexOf(":");
if(C.charAt(0)!="/"&&(B==-1||B>C.indexOf("/"))){C=dojo.baseUrl+C
}return new dojo._Url(C,A)
};
if(typeof window!="undefined"){dojo.isBrowser=true;
dojo._name="browser";
(function(){var d=dojo;
if(document&&document.getElementsByTagName){var _77=document.getElementsByTagName("script");
var _78=/dojo(\.xd)?\.js([\?\.]|$)/i;
for(var i=0;
i<_77.length;
i++){var src=_77[i].getAttribute("src");
if(!src){continue
}var m=src.match(_78);
if(m){if(!djConfig["baseUrl"]){djConfig["baseUrl"]=src.substring(0,m.index)
}var cfg=_77[i].getAttribute("djConfig");
if(cfg){var _7d=eval("({ "+cfg+" })");
for(var x in _7d){djConfig[x]=_7d[x]
}}break
}}}d.baseUrl=djConfig["baseUrl"];
var n=navigator;
var dua=n.userAgent;
var dav=n.appVersion;
var tv=parseFloat(dav);
d.isOpera=(dua.indexOf("Opera")>=0)?tv:0;
d.isKhtml=(dav.indexOf("Konqueror")>=0)||(dav.indexOf("Safari")>=0)?tv:0;
d.isSafari=(dav.indexOf("Safari")>=0)?tv:0;
var _83=dua.indexOf("Gecko");
d.isMozilla=d.isMoz=((_83>=0)&&(!d.isKhtml))?tv:0;
d.isFF=0;
d.isIE=0;
d.isGears=0;
try{if(d.isMoz){d.isFF=parseFloat(dua.split("Firefox/")[1].split(" ")[0])
}if((document.all)&&(!d.isOpera)){d.isIE=parseFloat(dav.split("MSIE ")[1].split(";")[0])
}}catch(e){}d._gearsObject=function(){var _84;
var _85;
var _86=d.getObject("google.gears");
if(_86){return _86
}if(typeof GearsFactory!="undefined"){_84=new GearsFactory()
}else{if(d.isIE){try{_84=new ActiveXObject("Gears.Factory")
}catch(e){}}else{if(navigator.mimeTypes["application/x-googlegears"]){_84=document.createElement("object");
_84.setAttribute("type","application/x-googlegears");
_84.setAttribute("width",0);
_84.setAttribute("height",0);
_84.style.display="none";
document.documentElement.appendChild(_84)
}}}if(!_84){return null
}dojo.setObject("google.gears.factory",_84);
return dojo.getObject("google.gears")
};
var _87=d._gearsObject();
if(_87){d.isGears=true
}var cm=document["compatMode"];
d.isQuirks=(cm=="BackCompat")||(cm=="QuirksMode")||(d.isIE<6);
d.locale=djConfig.locale||(d.isIE?n.userLanguage:n.language).toLowerCase();
d._println=console.debug;
d._XMLHTTP_PROGIDS=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];
d._xhrObj=function(){var _89=null;
var _8a=null;
try{_89=new XMLHttpRequest()
}catch(e){}if(!_89){for(var i=0;
i<3;
++i){var _8c=dojo._XMLHTTP_PROGIDS[i];
try{_89=new ActiveXObject(_8c)
}catch(e){_8a=e
}if(_89){dojo._XMLHTTP_PROGIDS=[_8c];
break
}}}if(!_89){throw new Error("XMLHTTP not available: "+_8a)
}return _89
};
d._isDocumentOk=function(_8d){var _8e=_8d.status||0;
return((_8e>=200)&&(_8e<300))||(_8e==304)||(_8e==1223)||(!_8e&&(location.protocol=="file:"||location.protocol=="chrome:"))
};
d._getText=function(uri,_90){var _91=this._xhrObj();
if(dojo._Url){uri=(new dojo._Url(window.location,uri)).toString()
}_91.open("GET",uri,false);
try{_91.send(null);
if(!d._isDocumentOk(_91)){var err=Error("Unable to load "+uri+" status:"+_91.status);
err.status=_91.status;
err.responseText=_91.responseText;
throw err
}}catch(e){if(_90){return null
}throw e
}return _91.responseText
}
})();
dojo._handleNodeEvent=function(B,A,C){var D=B["on"+A]||function(){};
B["on"+A]=function(){C.apply(B,arguments);
D.apply(B,arguments)
};
return true
};
dojo._initFired=false;
dojo._loadInit=function(B){dojo._initFired=true;
var A=(B&&B.type)?B.type.toLowerCase():"load";
if(arguments.callee.initialized||(A!="domcontentloaded"&&A!="load")){return 
}arguments.callee.initialized=true;
if(typeof dojo["_khtmlTimer"]!="undefined"){clearInterval(dojo._khtmlTimer);
delete dojo._khtmlTimer
}if(dojo._inFlightCount==0){dojo._modulesLoaded()
}};
if(document.addEventListener){if(dojo.isOpera||(dojo.isMoz&&(djConfig["enableMozDomContentLoaded"]===true))){document.addEventListener("DOMContentLoaded",dojo._loadInit,null)
}window.addEventListener("load",dojo._loadInit,null)
}if(dojo.isIE){document.write('<script defer src="//:" onreadystatechange="if(this.readyState==\'complete\'){dojo._loadInit();}"><\/script>')
}if(/(WebKit|khtml)/i.test(navigator.userAgent)){dojo._khtmlTimer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){dojo._loadInit()
}},10)
}if(dojo.isIE){dojo._handleNodeEvent(window,"beforeunload",function(){dojo._unloading=true;
window.setTimeout(function(){dojo._unloading=false
},0)
});
dojo._handleNodeEvent(window,"unload",function(){if(dojo._unloading){dojo.unloaded()
}})
}else{dojo._handleNodeEvent(window,"beforeunload",function(){dojo.unloaded()
})
}if(dojo.isIE){try{document.namespaces.add("v","urn:schemas-microsoft-com:vml");
document.createStyleSheet().addRule("v\\:*","behavior:url(#default#VML)")
}catch(e){}}dojo._writeIncludes=function(){};
dojo.doc=window["document"]||null;
dojo.body=function(){return dojo.doc.body||dojo.doc.getElementsByTagName("body")[0]
};
dojo.setContext=function(A,B){dojo.global=A;
dojo.doc=B
};
dojo._fireCallback=function(C,B,A){if((B)&&((typeof C=="string")||(C instanceof String))){C=B[C]
}return(B?C.apply(B,A||[]):C())
};
dojo.withGlobal=function(F,D,G,E){var C;
var B=dojo.global;
var A=dojo.doc;
try{dojo.setContext(F,F.document);
C=dojo._fireCallback(D,G,E)
}finally{dojo.setContext(B,A)
}return C
};
dojo.withDoc=function(D,B,A,F){var E;
var C=dojo.doc;
try{dojo.doc=D;
E=dojo._fireCallback(B,A,F)
}finally{dojo.doc=C
}return E
}
}if(djConfig.isDebug){if(!console.firebug){if(!dojo._hasResource["dojo._firebug.firebug"]){dojo._hasResource["dojo._firebug.firebug"]=true;
dojo.provide("dojo._firebug.firebug");
if(((!("console" in window))||(!("firebug" in console)))&&((djConfig["noFirebugLite"]!==true))){(function(){if(window!=window.parent){return 
}window.console={log:function(){logFormatted(arguments,"")
},debug:function(){logFormatted(arguments,"debug")
},info:function(){logFormatted(arguments,"info")
},warn:function(){logFormatted(arguments,"warning")
},error:function(){logFormatted(arguments,"error")
},assert:function(truth,message){if(!truth){var args=[];
for(var i=1;
i<arguments.length;
++i){args.push(arguments[i])
}logFormatted(args.length?args:["Assertion Failure"],"error");
throw message?message:"Assertion Failure"
}},dir:function(object){var html=[];
var pairs=[];
for(var name in object){try{pairs.push([name,object[name]])
}catch(e){}}pairs.sort(function(a,b){return a[0]<b[0]?-1:1
});
html.push("<table>");
for(var i=0;
i<pairs.length;
++i){var name=pairs[i][0],value=pairs[i][1];
html.push("<tr>",'<td class="propertyNameCell"><span class="propertyName">',escapeHTML(name),"</span></td>",'<td><span class="propertyValue">');
appendObject(value,html);
html.push("</span></td></tr>")
}html.push("</table>");
logRow(html,"dir")
},dirxml:function(node){var html=[];
appendNode(node,html);
logRow(html,"dirxml")
},group:function(){logRow(arguments,"group",pushGroup)
},groupEnd:function(){logRow(arguments,"",popGroup)
},time:function(name){timeMap[name]=(new Date()).getTime()
},timeEnd:function(name){if(name in timeMap){var delta=(new Date()).getTime()-timeMap[name];
logFormatted([name+":",delta+"ms"]);
delete timeMap[name]
}},count:function(){this.warn(["count() not supported."])
},trace:function(){this.warn(["trace() not supported."])
},profile:function(){this.warn(["profile() not supported."])
},profileEnd:function(){},clear:function(){consoleBody.innerHTML=""
},open:function(){toggleConsole(true)
},close:function(){if(frameVisible){toggleConsole()
}}};
var consoleFrame=null;
var consoleBody=null;
var commandLine=null;
var frameVisible=false;
var messageQueue=[];
var groupStack=[];
var timeMap={};
var clPrefix=">>> ";
function toggleConsole(forceOpen){frameVisible=forceOpen||!frameVisible;
if(consoleFrame){consoleFrame.style.display=frameVisible?"block":"none"
}}function focusCommandLine(){toggleConsole(true);
if(commandLine){commandLine.focus()
}}function createFrame(){if(consoleFrame){return 
}var doc=document;
var styleElement=doc.createElement("link");
styleElement.href=dojo.moduleUrl("dojo._firebug","firebug.css");
styleElement.rel="stylesheet";
styleElement.type="text/css";
var styleParent=doc.getElementsByTagName("head");
if(styleParent){styleParent=styleParent[0]
}if(!styleParent){styleParent=doc.getElementsByTagName("html")[0]
}styleParent.appendChild(styleElement);
if(typeof djConfig!="undefined"&&djConfig["debugContainerId"]){consoleFrame=doc.getElementById(djConfig.debugContainerId)
}if(!consoleFrame){consoleFrame=doc.createElement("div");
doc.body.appendChild(consoleFrame)
}consoleFrame.className+=" firebug";
consoleFrame.style.height="200px";
consoleFrame.style.display=(frameVisible?"block":"none");
consoleFrame.innerHTML='<div id="firebugToolbar"> <a href="#" onclick="console.clear(); return false;">Clear</a> <span class="firebugToolbarRight"> <a href="#" onclick="console.close(); return false;">Close</a> </span></div><input type="text" id="firebugCommandLine"><div id="firebugLog"></div>';
var toolbar=doc.getElementById("firebugToolbar");
toolbar.onmousedown=onSplitterMouseDown;
commandLine=doc.getElementById("firebugCommandLine");
addEvent(commandLine,"keydown",onCommandLineKeyDown);
addEvent(doc,dojo.isIE||dojo.isSafari?"keydown":"keypress",onKeyDown);
consoleBody=doc.getElementById("firebugLog");
layout();
flush()
}dojo.addOnLoad(createFrame);
function evalCommandLine(){var text=commandLine.value;
commandLine.value="";
logRow([clPrefix,text],"command");
var value;
try{value=eval(text)
}catch(e){}console.log(value)
}function layout(){var toolbar=consoleBody.ownerDocument.getElementById("firebugToolbar");
var height=consoleFrame.offsetHeight-(toolbar.offsetHeight+commandLine.offsetHeight);
consoleBody.style.top=toolbar.offsetHeight+"px";
consoleBody.style.height=height+"px";
commandLine.style.top=(consoleFrame.offsetHeight-commandLine.offsetHeight)+"px"
}function logRow(message,className,handler){if(consoleBody){writeMessage(message,className,handler)
}else{messageQueue.push([message,className,handler])
}}function flush(){var queue=messageQueue;
messageQueue=[];
for(var i=0;
i<queue.length;
++i){writeMessage(queue[i][0],queue[i][1],queue[i][2])
}}function writeMessage(message,className,handler){var isScrolledToBottom=consoleBody.scrollTop+consoleBody.offsetHeight>=consoleBody.scrollHeight;
handler=handler||writeRow;
handler(message,className);
if(isScrolledToBottom){consoleBody.scrollTop=consoleBody.scrollHeight-consoleBody.offsetHeight
}}function appendRow(row){var container=groupStack.length?groupStack[groupStack.length-1]:consoleBody;
container.appendChild(row)
}function writeRow(message,className){var row=consoleBody.ownerDocument.createElement("div");
row.className="logRow"+(className?" logRow-"+className:"");
row.innerHTML=message.join("");
appendRow(row)
}function pushGroup(message,className){logFormatted(message,className);
var groupRow=consoleBody.ownerDocument.createElement("div");
groupRow.className="logGroup";
var groupRowBox=consoleBody.ownerDocument.createElement("div");
groupRowBox.className="logGroupBox";
groupRow.appendChild(groupRowBox);
appendRow(groupRowBox);
groupStack.push(groupRowBox)
}function popGroup(){groupStack.pop()
}function logFormatted(objects,className){var html=[];
var format=objects[0];
var objIndex=0;
if(typeof (format)!="string"){format="";
objIndex=-1
}var parts=parseFormat(format);
for(var i=0;
i<parts.length;
++i){var part=parts[i];
if(part&&typeof (part)=="object"){var object=objects[++objIndex];
part.appender(object,html)
}else{appendText(part,html)
}}for(var i=objIndex+1;
i<objects.length;
++i){appendText(" ",html);
var object=objects[i];
if(typeof (object)=="string"){appendText(object,html)
}else{appendObject(object,html)
}}logRow(html,className)
}function parseFormat(format){var parts=[];
var reg=/((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;
var appenderMap={s:appendText,d:appendInteger,i:appendInteger,f:appendFloat};
for(var m=reg.exec(format);
m;
m=reg.exec(format)){var type=m[8]?m[8]:m[5];
var appender=type in appenderMap?appenderMap[type]:appendObject;
var precision=m[3]?parseInt(m[3]):(m[4]=="."?-1:0);
parts.push(format.substr(0,m[0][0]=="%"?m.index:m.index+1));
parts.push({appender:appender,precision:precision});
format=format.substr(m.index+m[0].length)
}parts.push(format);
return parts
}function escapeHTML(value){function replaceChars(ch){switch(ch){case"<":return"&lt;";
case">":return"&gt;";
case"&":return"&amp;";
case"'":return"&#39;";
case'"':return"&quot;"
}return"?"
}return String(value).replace(/[<>&"']/g,replaceChars)
}function objectToString(object){try{return object+""
}catch(e){return null
}}function appendText(object,html){html.push(escapeHTML(objectToString(object)))
}function appendNull(object,html){html.push('<span class="objectBox-null">',escapeHTML(objectToString(object)),"</span>")
}function appendString(object,html){html.push('<span class="objectBox-string">&quot;',escapeHTML(objectToString(object)),"&quot;</span>")
}function appendInteger(object,html){html.push('<span class="objectBox-number">',escapeHTML(objectToString(object)),"</span>")
}function appendFloat(object,html){html.push('<span class="objectBox-number">',escapeHTML(objectToString(object)),"</span>")
}function appendFunction(object,html){var reName=/function ?(.*?)\(/;
var m=reName.exec(objectToString(object));
var name=m?m[1]:"function";
html.push('<span class="objectBox-function">',escapeHTML(name),"()</span>")
}function appendObject(object,html){try{if(object==undefined){appendNull("undefined",html)
}else{if(object==null){appendNull("null",html)
}else{if(typeof object=="string"){appendString(object,html)
}else{if(typeof object=="number"){appendInteger(object,html)
}else{if(typeof object=="function"){appendFunction(object,html)
}else{if(object.nodeType==1){appendSelector(object,html)
}else{if(typeof object=="object"){appendObjectFormatted(object,html)
}else{appendText(object,html)
}}}}}}}}catch(e){}}function appendObjectFormatted(object,html){var text=objectToString(object);
var reObject=/\[object (.*?)\]/;
var m=reObject.exec(text);
html.push('<span class="objectBox-object">',m?m[1]:text,"</span>")
}function appendSelector(object,html){html.push('<span class="objectBox-selector">');
html.push('<span class="selectorTag">',escapeHTML(object.nodeName.toLowerCase()),"</span>");
if(object.id){html.push('<span class="selectorId">#',escapeHTML(object.id),"</span>")
}if(object.className){html.push('<span class="selectorClass">.',escapeHTML(object.className),"</span>")
}html.push("</span>")
}function appendNode(node,html){if(node.nodeType==1){html.push('<div class="objectBox-element">','&lt;<span class="nodeTag">',node.nodeName.toLowerCase(),"</span>");
for(var i=0;
i<node.attributes.length;
++i){var attr=node.attributes[i];
if(!attr.specified){continue
}html.push('&nbsp;<span class="nodeName">',attr.nodeName.toLowerCase(),'</span>=&quot;<span class="nodeValue">',escapeHTML(attr.nodeValue),"</span>&quot;")
}if(node.firstChild){html.push('&gt;</div><div class="nodeChildren">');
for(var child=node.firstChild;
child;
child=child.nextSibling){appendNode(child,html)
}html.push('</div><div class="objectBox-element">&lt;/<span class="nodeTag">',node.nodeName.toLowerCase(),"&gt;</span></div>")
}else{html.push("/&gt;</div>")
}}else{if(node.nodeType==3){html.push('<div class="nodeText">',escapeHTML(node.nodeValue),"</div>")
}}}function addEvent(object,name,handler){if(document.all){object.attachEvent("on"+name,handler)
}else{object.addEventListener(name,handler,false)
}}function removeEvent(object,name,handler){if(document.all){object.detachEvent("on"+name,handler)
}else{object.removeEventListener(name,handler,false)
}}function cancelEvent(event){if(document.all){event.cancelBubble=true
}else{event.stopPropagation()
}}function onError(msg,href,lineNo){var html=[];
var lastSlash=href.lastIndexOf("/");
var fileName=lastSlash==-1?href:href.substr(lastSlash+1);
html.push('<span class="errorMessage">',msg,"</span>",'<div class="objectBox-sourceLink">',fileName," (line ",lineNo,")</div>");
logRow(html,"error")
}var onKeyDownTime=(new Date()).getTime();
function onKeyDown(event){var timestamp=(new Date()).getTime();
if(timestamp>onKeyDownTime+200){onKeyDownTime=timestamp;
if(event.keyCode==123){toggleConsole()
}else{if((event.keyCode==108||event.keyCode==76)&&event.shiftKey&&(event.metaKey||event.ctrlKey)){focusCommandLine()
}else{return 
}}cancelEvent(event)
}}function onSplitterMouseDown(event){if(dojo.isSafari||dojo.isOpera){return 
}addEvent(document,"mousemove",onSplitterMouseMove);
addEvent(document,"mouseup",onSplitterMouseUp);
for(var i=0;
i<frames.length;
++i){addEvent(frames[i].document,"mousemove",onSplitterMouseMove);
addEvent(frames[i].document,"mouseup",onSplitterMouseUp)
}}function onSplitterMouseMove(event){var win=document.all?event.srcElement.ownerDocument.parentWindow:event.target.ownerDocument.defaultView;
var clientY=event.clientY;
if(win!=win.parent){clientY+=win.frameElement?win.frameElement.offsetTop:0
}var height=consoleFrame.offsetTop+consoleFrame.clientHeight;
var y=height-clientY;
consoleFrame.style.height=y+"px";
layout()
}function onSplitterMouseUp(event){removeEvent(document,"mousemove",onSplitterMouseMove);
removeEvent(document,"mouseup",onSplitterMouseUp);
for(var i=0;
i<frames.length;
++i){removeEvent(frames[i].document,"mousemove",onSplitterMouseMove);
removeEvent(frames[i].document,"mouseup",onSplitterMouseUp)
}}function onCommandLineKeyDown(event){if(event.keyCode==13){evalCommandLine()
}else{if(event.keyCode==27){commandLine.value=""
}}}window.onerror=onError;
addEvent(document,dojo.isIE||dojo.isSafari?"keydown":"keypress",onKeyDown);
if((document.documentElement.getAttribute("debug")=="true")||(djConfig.isDebug)){toggleConsole(true)
}})()
}}}}}if(!dojo._hasResource["dojo._base.lang"]){dojo._hasResource["dojo._base.lang"]=true;
dojo.provide("dojo._base.lang");
dojo.isString=function(A){return(typeof A=="string"||A instanceof String)
};
dojo.isArray=function(A){return(A&&A instanceof Array||typeof A=="array"||((typeof dojo["NodeList"]!="undefined")&&(A instanceof dojo.NodeList)))
};
if(dojo.isBrowser&&dojo.isSafari){dojo.isFunction=function(A){if((typeof (A)=="function")&&(A=="[object NodeList]")){return false
}return(typeof A=="function"||A instanceof Function)
}
}else{dojo.isFunction=function(A){return(typeof A=="function"||A instanceof Function)
}
}dojo.isObject=function(A){if(typeof A=="undefined"){return false
}return(A===null||typeof A=="object"||dojo.isArray(A)||dojo.isFunction(A))
};
dojo.isArrayLike=function(A){var B=dojo;
if((!A)||(typeof A=="undefined")){return false
}if(B.isString(A)){return false
}if(B.isFunction(A)){return false
}if(B.isArray(A)){return true
}if((A.tagName)&&(A.tagName.toLowerCase()=="form")){return false
}if(isFinite(A.length)){return true
}return false
};
dojo.isAlien=function(A){if(!A){return false
}return !dojo.isFunction(A)&&/\{\s*\[native code\]\s*\}/.test(String(A))
};
dojo._mixin=function(D,C){var B={};
for(var A in C){if((typeof B[A]=="undefined")||(B[A]!=C[A])){D[A]=C[A]
}}if(dojo.isIE&&(typeof (C["toString"])=="function")&&(C["toString"]!=D["toString"])&&(C["toString"]!=B["toString"])){D.toString=C.toString
}return D
};
dojo.mixin=function(D,B){for(var C=1,A=arguments.length;
C<A;
C++){dojo._mixin(D,arguments[C])
}return D
};
dojo.extend=function(C,B){for(var D=1,A=arguments.length;
D<A;
D++){dojo._mixin(C.prototype,arguments[D])
}return C
};
dojo._hitchArgs=function(D,A){var B=dojo._toArray(arguments,2);
var C=dojo.isString(A);
return function(){var F=dojo._toArray(arguments);
var E=(C?(D||dojo.global)[A]:A);
return(E)&&(E.apply(D||this,B.concat(F)))
}
};
dojo.hitch=function(B,A){if(arguments.length>2){return dojo._hitchArgs.apply(dojo,arguments)
}if(!A){A=B;
B=null
}if(dojo.isString(A)){B=B||dojo.global;
if(!B[A]){throw (['dojo.hitch: scope["',A,'"] is null (scope="',B,'")'].join(""))
}return function(){return B[A].apply(B,arguments||[])
}
}else{return(!B?A:function(){return A.apply(B,arguments||[])
})
}};
dojo._delegate=function(D,B){function A(){}A.prototype=D;
var C=new A();
if(B){dojo.mixin(C,B)
}return C
};
dojo.partial=function(B){var A=[null];
return dojo.hitch.apply(dojo,A.concat(dojo._toArray(arguments)))
};
dojo._toArray=function(D,C){var B=[];
for(var A=C||0;
A<D.length;
A++){B.push(D[A])
}return B
}
}if(!dojo._hasResource["dojo._base.declare"]){dojo._hasResource["dojo._base.declare"]=true;
dojo.provide("dojo._base.declare");
dojo.declare=function(K,J,H,F){if(dojo.isFunction(F)||(!F&&!dojo.isFunction(H))){var M=F;
F=H;
H=M
}var E=function(){this._construct(arguments)
};
var L=dojo.declare,A=F||{},D=[],I;
if(dojo.isArray(J)){D=J;
J=D.shift()
}var G=J?J.prototype:null;
if(G){E.prototype=dojo._delegate(G)
}dojo.mixin(E,{superclass:G,mixins:D,extend:L._extend});
for(var C=0,B;
(B=D[C]);
C++){dojo.extend(E,B.prototype)
}H=H||(I=A.constructor)&&(I!=Object)&&I||null;
dojo.extend(E,{declaredClass:K,_initializer:H,preamble:null},A,L._core);
E.prototype.constructor=E;
return dojo.setObject(K,E)
};
dojo.mixin(dojo.declare,{_extend:function(B,A){dojo.extend(this,B);
this.mixins.push(!A?B:function(){B.apply(this,A.apply(this,arguments)||arguments)
})
},_core:{_construct:function(C){var E=C.callee,I=E.superclass,D=I&&I.constructor,G=C,H,F;
if(G[0]){F=G[0]["preamble"];
if(F&&dojo.isFunction(F)){G=F.apply(this,G)||G;
F=null
}}if(F=E.prototype.preamble){G=F.apply(this,G)||G
}if(D&&D.apply){D.apply(this,G)
}for(var B=0,A;
(A=E.mixins[B]);
B++){if(A.apply){A.apply(this,G)
}}var H=E.prototype._initializer;
if(H){H.apply(this,C)
}},inherited:function(D,C,G){var F=C.callee,E=this.constructor.prototype,A=G||C,B;
if(this[D]!=F||E[D]==F){while(E&&(E[D]!==F)){E=E.constructor.superclass
}if(!E){throw (this.toString()+': name argument ("'+D+'") to inherited must match callee (declare.js)')
}while(E&&(E[D]==F)){E=E.constructor.superclass
}}return(B=E&&E[D])&&(B.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 D=Array.prototype,F=arguments.callee,A=F._listeners,C=F.target;
var E=C&&C.apply(this,arguments);
for(var B in A){if(!(B in D)){A[B].apply(this,arguments)
}}return E
}
},add:function(B,A,E){B=B||dojo.global;
var C=B[A];
if(!C||!C._listeners){var D=dojo._listener.getDispatcher();
D.target=C;
D._listeners=[];
C=B[A]=D
}return C._listeners.push(E)
},remove:function(B,A,D){var C=(B||dojo.global)[A];
if(C&&C._listeners&&D--){delete C._listeners[D]
}}};
dojo.connect=function(E,H,B,A,J){var I=arguments,G=[],F=0;
G.push(dojo.isString(I[0])?null:I[F++],I[F++]);
var C=I[F+1];
G.push(dojo.isString(C)||dojo.isFunction(C)?I[F++]:null,I[F++]);
for(var D=I.length;
F<D;
F++){G.push(I[F])
}return dojo._connect.apply(this,G)
};
dojo._connect=function(F,E,C,A){var B=dojo._listener,D=B.add(F,E,dojo.hitch(C,A));
return[F,E,D,B]
};
dojo.disconnect=function(A){if(A&&A[0]!==undefined){dojo._disconnect.apply(this,A);
delete A[0]
}};
dojo._disconnect=function(D,C,B,A){A.remove(D,C,B)
};
dojo._topics={};
dojo.subscribe=function(C,B,A){return[C,dojo._listener.add(dojo._topics,C,dojo.hitch(B,A))]
};
dojo.unsubscribe=function(A){if(A){dojo._listener.remove(dojo._topics,A[0],A[1])
}};
dojo.publish=function(A,B){var C=dojo._topics[A];
(C)&&(C.apply(this,B||[]))
}
}if(!dojo._hasResource["dojo._base.Deferred"]){dojo._hasResource["dojo._base.Deferred"]=true;
dojo.provide("dojo._base.Deferred");
dojo.Deferred=function(A){this.chain=[];
this.id=this._nextId();
this.fired=-1;
this.paused=0;
this.results=[null,null];
this.canceller=A;
this.silentlyCancelled=false
};
dojo.extend(dojo.Deferred,{_getFunctionFromArgs:function(){var A=arguments;
if((A[0])&&(!A[1])){if(dojo.isFunction(A[0])){return A[0]
}else{if(dojo.isString(A[0])){return dojo.global[A[0]]
}}}else{if((A[0])&&(A[1])){return dojo.hitch(A[0],A[1])
}}return null
},makeCalled:function(){var A=new dojo.Deferred();
A.callback();
return A
},toString:function(){var A;
if(this.fired==-1){A="unfired"
}else{if(this.fired==0){A="success"
}else{A="error"
}}return"Deferred("+this.id+", "+A+")"
},_nextId:(function(){var A=1;
return function(){return A++
}
})(),cancel:function(){if(this.fired==-1){if(this.canceller){this.canceller(this)
}else{this.silentlyCancelled=true
}if(this.fired==-1){var A=new Error("Deferred Cancelled");
A.dojoType="cancel";
this.errback(A)
}}else{if((this.fired==0)&&(this.results[0] instanceof dojo.Deferred)){this.results[0].cancel()
}}},_pause:function(){this.paused++
},_unpause:function(){this.paused--;
if((this.paused==0)&&(this.fired>=0)){this._fire()
}},_continue:function(A){this._resback(A);
this._unpause()
},_resback:function(A){this.fired=((A instanceof Error)?1:0);
this.results[this.fired]=A;
this._fire()
},_check:function(){if(this.fired!=-1){if(!this.silentlyCancelled){throw new Error("already called!")
}this.silentlyCancelled=false;
return 
}},callback:function(A){this._check();
this._resback(A)
},errback:function(A){this._check();
if(!(A instanceof Error)){A=new Error(A)
}this._resback(A)
},addBoth:function(A,C){var B=this._getFunctionFromArgs(A,C);
if(arguments.length>2){B=dojo.partial(B,arguments,2)
}return this.addCallbacks(B,B)
},addCallback:function(A,C){var B=this._getFunctionFromArgs(A,C);
if(arguments.length>2){B=dojo.partial(B,arguments,2)
}return this.addCallbacks(B,null)
},addErrback:function(A,C){var B=this._getFunctionFromArgs(A,C);
if(arguments.length>2){B=dojo.partial(B,arguments,2)
}return this.addCallbacks(null,B);
return this.addCallbacks(null,C)
},addCallbacks:function(A,B){this.chain.push([A,B]);
if(this.fired>=0){this._fire()
}return this
},_fire:function(){var B=this.chain;
var C=this.fired;
var E=this.results[C];
var D=this;
var A=null;
while((B.length>0)&&(this.paused==0)){var H=B.shift();
var G=H[C];
if(G==null){continue
}try{E=G(E);
C=((E instanceof Error)?1:0);
if(E instanceof dojo.Deferred){A=function(I){D._continue(I)
};
this._pause()
}}catch(F){console.debug(F);
C=1;
E=F
}}this.fired=C;
this.results[C]=E;
if((A)&&(this.paused)){E.addBoth(A)
}}})
}if(!dojo._hasResource["dojo._base.json"]){dojo._hasResource["dojo._base.json"]=true;
dojo.provide("dojo._base.json");
dojo.fromJson=function(json){try{return eval("("+json+")")
}catch(e){console.debug(e);
return json
}};
dojo._escapeString=function(A){return('"'+A.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")
};
dojo.toJsonIndentStr="\t";
dojo.toJson=function(D,N,M){M=M||"";
var K=(N?M+dojo.toJsonIndentStr:"");
var J=(N?"\n":"");
var I=typeof (D);
if(I=="undefined"){return"undefined"
}else{if((I=="number")||(I=="boolean")){return D+""
}else{if(D===null){return"null"
}}}if(I=="string"){return dojo._escapeString(D)
}var H=arguments.callee;
var G;
if(typeof D.__json__=="function"){G=D.__json__();
if(D!==G){return H(G,N,K)
}}if(typeof D.json=="function"){G=D.json();
if(D!==G){return H(G,N,K)
}}if(dojo.isArray(D)){var F=[];
for(var C=0;
C<D.length;
C++){var A=H(D[C],N,K);
if(typeof (A)!="string"){A="undefined"
}F.push(J+K+A)
}return"["+F.join(", ")+J+M+"]"
}if(I=="function"){return null
}var E=[];
for(var L in D){var B;
if(typeof (L)=="number"){B='"'+L+'"'
}else{if(typeof (L)=="string"){B=dojo._escapeString(L)
}else{continue
}}A=H(D[L],N,K);
if(typeof (A)!="string"){continue
}E.push(J+K+B+": "+A)
}return"{"+E.join(", ")+J+M+"}"
}
}if(!dojo._hasResource["dojo._base.array"]){dojo._hasResource["dojo._base.array"]=true;
dojo.provide("dojo._base.array");
(function(){var D=dojo;
if(Array.forEach){var B=["indexOf","lastIndexOf","every","some","forEach","filter","map"];
for(var A=0;
A<B.length;
A++){D[B[A]]=Array[B[A]]
}}else{var C=function(E,F){return[(D.isString(E)?E.split(""):E),(F||D.global)]
};
D.mixin(D,{indexOf:function(K,I,G,H){if(H){var J=-1,F=(G||K.length-1),E=-1
}else{var J=1,F=(G||0),E=K.length
}for(;
F!=E;
F+=J){if(K[F]==I){return F
}}return -1
},lastIndexOf:function(F,E,G){return D.indexOf(F,E,G,true)
},map:function(F,H,I){var E=C(F,I);
F=E[0];
I=E[1];
var J=[];
for(var G=0;
G<F.length;
++G){J.push(H.call(I,F[G],G,F))
}return J
},forEach:function(F,I,J){if((!F)||(!F.length)){return 
}var E=C(F,J);
F=E[0];
J=E[1];
for(var H=0,G=F.length;
H<G;
H++){I.call(J,F[H],H,F)
}},_everyOrSome:function(K,F,I,L){var E=C(F,L);
F=E[0];
L=E[1];
for(var J=0,G=F.length;
J<G;
J++){var H=I.call(L,F[J],J,F);
if(K&&!H){return false
}else{if((!K)&&(H)){return true
}}}return(!!K)
},every:function(F,E,G){return this._everyOrSome(true,F,E,G)
},some:function(E,F,G){return this._everyOrSome(false,E,F,G)
},filter:function(F,I,J){var E=C(F,J);
F=E[0];
J=E[1];
var H=[];
for(var G=0;
G<F.length;
G++){if(I.call(J,F[G],G,F)){H.push(F[G])
}}return H
}})
}})()
}if(!dojo._hasResource["dojo._base.Color"]){dojo._hasResource["dojo._base.Color"]=true;
dojo.provide("dojo._base.Color");
dojo.Color=function(){this.setColor.apply(this,arguments)
};
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,{_cache:null,setColor:function(){this._cache=[];
var D=dojo;
var A=arguments;
var C=A[0];
var B=(D.isArray(C)?C:(D.isString(C)?D.extractRgb(C):D._toArray(A)));
D.forEach(["r","g","b","a"],function(F,E){this._cache[E]=this[F]=parseFloat(B[E])
},this);
this._cache[3]=this.a=this.a||1
},toRgb:function(A){return this._cache.slice(0,(A?4:3))
},toRgba:function(){return this._cache.slice(0,4)
},toHex:function(){return dojo.rgb2hex(this.toRgb())
},toCss:function(){return"rgb("+this.toRgb().join(", ")+")"
},toString:function(){return this.toHex()
}});
dojo.blendColors=function(D,C,B){if(typeof D=="string"){D=dojo.extractRgb(D)
}if(typeof C=="string"){C=dojo.extractRgb(C)
}if(D["_cache"]){D=D._cache
}if(C["_cache"]){C=C._cache
}B=Math.min(Math.max(-1,(B||0)),1);
B=(B+1)/2;
var E=[];
for(var A=0;
A<3;
A++){E[A]=parseInt(C[A]+((D[A]-C[A])*B))
}return E
};
dojo.extractRgb=function(B){B=B.toLowerCase();
if(!B.indexOf("rgb")){var A=B.match(/rgba*\((\d+), *(\d+), *(\d+)/i);
return dojo.map(A.splice(1,3),parseFloat)
}else{return dojo.hex2rgb(B)||dojo.Color.named[B]||[255,255,255]
}};
dojo.hex2rgb=function(D){var C="0123456789abcdef";
var A=new Array(3);
if(D.charAt(0)=="#"){D=D.substr(1)
}D=D.toLowerCase();
if(D.replace(new RegExp("["+C+"]","g"),"")!=""){return null
}if(D.length==3){A[0]=D.charAt(0)+D.charAt(0);
A[1]=D.charAt(1)+D.charAt(1);
A[2]=D.charAt(2)+D.charAt(2)
}else{A[0]=D.substr(0,2);
A[1]=D.substr(2,2);
A[2]=D.substr(4)
}for(var B=0;
B<A.length;
B++){A[B]=C.indexOf(A[B].charAt(0))*16+C.indexOf(A[B].charAt(1))
}return A
};
dojo.rgb2hex=function(D,C,A){var B=dojo.map(((D._cache)||((!C)?D:[D,C,A])),function(E,F){var G=(new Number(E)).toString(16);
while(G.length<2){G="0"+G
}return G
});
B.unshift("#");
return B.join("")
}
}if(!dojo._hasResource["dojo._base"]){dojo._hasResource["dojo._base"]=true;
dojo.provide("dojo._base")
}if(!dojo._hasResource["dojo._base.event"]){dojo._hasResource["dojo._base.event"]=true;
dojo.provide("dojo._base.event");
(function(){var A={add:function(H,F,G){if(!H){return 
}F=A._normalizeEventName(F);
G=A._fixCallback(F,G);
H.addEventListener(F,G,false);
return G
},remove:function(F,H,G){(F)&&(F.removeEventListener(A._normalizeEventName(H),G,false))
},_normalizeEventName:function(F){return(F.slice(0,2)=="on"?F.slice(2):F)
},_fixCallback:function(G,F){return(G!="keypress"?F:function(H){return F.call(this,A._fixEvent(H,this))
})
},_fixEvent:function(F,G){switch(F.type){case"keypress":A._setKeyChar(F);
break
}return F
},_setKeyChar:function(F){F.keyChar=(F.charCode?String.fromCharCode(F.charCode):"")
}};
dojo.fixEvent=function(F,G){return A._fixEvent(F,G)
};
dojo.stopEvent=function(F){F.preventDefault();
F.stopPropagation()
};
var D=dojo._listener;
dojo._connect=function(K,I,H,F,M){var L=K&&(K.nodeType||K.attachEvent||K.addEventListener);
var G=(!L?dojo._listener:(!M?A:D));
var J=G.add(K,I,dojo.hitch(H,F));
return[K,I,J,G]
};
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){_trySetKeyCode=function(G,F){try{return G.keyCode=F
}catch(G){return 0
}};
var C=Array.prototype;
var B=dojo._listener;
if((dojo.isIE<7)&&(!djConfig._allow_leaks)){D=B=dojo._ie_listener={handlers:[],add:function(I,F,H){I=I||dojo.global;
var G=I[F];
if(!G||!G._listeners){var J=dojo._getIeDispatcher();
J.target=G&&(E.push(G)-1);
J._listeners=[];
G=I[F]=J
}return G._listeners.push(E.push(H)-1)
},remove:function(I,H,G){var J=(I||dojo.global)[H],F=J&&J._listeners;
if(J&&F&&G--){delete E[F[G]];
delete F[G]
}}};
var E=B.handlers
}dojo.mixin(A,{add:function(I,F,H){if(!I){return 
}F=A._normalizeEventName(F);
if(F=="onkeypress"){var G=I.onkeydown;
if(!G||!G._listeners||!G._stealthKeydown){A.add(I,"onkeydown",A._stealthKeyDown);
I.onkeydown._stealthKeydown=true
}}return B.add(I,F,A._fixCallback(H,I))
},remove:function(F,H,G){B.remove(F,A._normalizeEventName(H),G)
},_normalizeEventName:function(F){return(F.slice(0,2)!="on"?"on"+F:F)
},_nop:function(){},_fixCallback:function(F,G){return function(H){return F.call(this,A._fixEvent(H,G))
}
},_fixEvent:function(H,I){if(!H){var G=(I)&&((I.ownerDocument||I.document||I).parentWindow)||window;
H=G.event
}if(!H){return(H)
}H.target=H.srcElement;
H.currentTarget=(I||H.srcElement);
H.layerX=H.offsetX;
H.layerY=H.offsetY;
var J=H.srcElement,K=(J&&J.ownerDocument)||document;
var F=((dojo.isIE<6)||(K["compatMode"]=="BackCompat"))?K.body:K.documentElement;
H.pageX=H.clientX+(F.scrollLeft||0);
H.pageY=H.clientY+(F.scrollTop||0);
if(H.type=="mouseover"){H.relatedTarget=H.fromElement
}if(H.type=="mouseout"){H.relatedTarget=H.toElement
}H.stopPropagation=this._stopPropagation;
H.preventDefault=this._preventDefault;
return this._fixKeys(H)
},_fixKeys:function(F){switch(F.type){case"keypress":var G=("charCode" in F?F.charCode:F.keyCode);
if(G==10){G=0;
F.keyCode=13
}else{if(G==13||G==27){G=0
}else{if(G==3){G=99
}}}F.charCode=G;
A._setKeyChar(F);
break
}return F
},_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(F){var I=F.currentTarget.onkeypress;
if(!I||!I._listeners){return 
}var H=F.keyCode;
var K=(H!=13)&&(H!=32)&&(H!=27)&&(H<48||H>90)&&(H<96||H>111)&&(H<186||H>192)&&(H<219||H>222);
if(K||F.ctrlKey){var J=(K?0:H);
if(F.ctrlKey){if(H==3||H==13){return 
}else{if(J>95&&J<106){J-=48
}else{if((!F.shiftKey)&&(J>=65&&J<=90)){J+=32
}else{J=A._punctMap[J]||J
}}}}var G=A._synthesizeEvent(F,{type:"keypress",faux:true,charCode:J});
I.call(F.currentTarget,G);
F.cancelBubble=G.cancelBubble;
F.returnValue=G.returnValue;
_trySetKeyCode(F,G.keyCode)
}},_stopPropagation:function(){this.cancelBubble=true
},_preventDefault:function(){_trySetKeyCode(this,0);
this.returnValue=false
}});
dojo.stopEvent=function(F){F=F||window.event;
A._stopPropagation.call(F);
A._preventDefault.call(F)
}
}A._synthesizeEvent=function(F,H){var G=dojo.mixin({},F,H);
A._setKeyChar(G);
G.preventDefault=function(){F.preventDefault()
};
G.stopPropagation=function(){F.stopPropagation()
};
return G
};
if(dojo.isOpera){dojo.mixin(A,{_fixEvent:function(F,G){switch(F.type){case"keypress":var H=F.which;
if(H==3){H=99
}H=((H<41)&&(!F.shiftKey)?0:H);
if((F.ctrlKey)&&(!F.shiftKey)&&(H>=65)&&(H<=90)){H+=32
}return A._synthesizeEvent(F,{charCode:H})
}return F
}})
}if(dojo.isSafari){dojo.mixin(A,{_fixEvent:function(F,H){switch(F.type){case"keypress":var I=F.charCode,G=F.shiftKey;
if(F.keyIdentifier=="Enter"){I=0
}else{if((F.ctrlKey)&&(I>0)&&(I<27)){I+=96
}else{if(I==dojo.keys.SHIFT_TAB){I=dojo.keys.TAB;
G=true
}else{I=(I>=32&&I<63232?I:0)
}}}return A._synthesizeEvent(F,{charCode:I,shiftKey:G})
}return F
}});
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})
}})();
if(dojo.isIE<7){dojo._getIeDispatcher=function(){return function(){var D=Array.prototype,E=dojo._ie_listener.handlers,G=arguments.callee,A=G._listeners,C=E[G.target];
var F=C&&C.apply(this,arguments);
for(var B in A){if(!(B in D)){E[A[B]].apply(this,arguments)
}}return F
}
}
}}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.isIE<7)){dojo.byId=function(F,D){if(dojo.isString(F)){var B=(D||dojo.doc);
var E=B.getElementById(F);
if((E)&&(E.id==F)){return E
}else{var A=B.all[F];
if(!A){return 
}if(!A.length){return A
}var C=0;
while(E=A[C++]){if(E.id==F){return E
}}}}else{return F
}}
}else{dojo.byId=function(B,A){if(dojo.isString(B)){return(A||dojo.doc).getElementById(B)
}else{return B
}}
}(function(){var _1ec=null;
dojo._destroyElement=function(node){node=dojo.byId(node);
try{if(!_1ec){_1ec=document.createElement("div")
}_1ec.appendChild(node.parentNode?node.parentNode.removeChild(node):node);
_1ec.innerHTML=""
}catch(e){}};
dojo.isDescendant=function(node,_1ef){try{node=dojo.byId(node);
_1ef=dojo.byId(_1ef);
while(node){if(node===_1ef){return true
}node=node.parentNode
}}catch(e){}return false
};
dojo.setSelectable=function(node,_1f1){node=dojo.byId(node);
if(dojo.isMozilla){node.style.MozUserSelect=(_1f1)?"normal":"none"
}else{if(dojo.isKhtml){node.style.KhtmlUserSelect=(_1f1)?"auto":"none"
}else{if(dojo.isIE){node.unselectable=(_1f1)?"":"on"
}}}};
var _1f2=function(node,ref){ref.parentNode.insertBefore(node,ref);
return true
};
var _1f5=function(node,ref){var pn=ref.parentNode;
if(ref==pn.lastChild){pn.appendChild(node)
}else{return _1f2(node,ref.nextSibling)
}return true
};
dojo.place=function(node,_1fa,_1fb){if((!node)||(!_1fa)||(typeof _1fb=="undefined")){return false
}node=dojo.byId(node);
_1fa=dojo.byId(_1fa);
if(typeof _1fb=="number"){var cn=_1fa.childNodes;
if(((_1fb==0)&&(cn.length==0))||(cn.length==_1fb)){_1fa.appendChild(node);
return true
}if(_1fb==0){return _1f2(node,_1fa.firstChild)
}return _1f5(node,cn[_1fb-1])
}switch(_1fb.toLowerCase()){case"before":return _1f2(node,_1fa);
case"after":return _1f5(node,_1fa);
case"first":if(_1fa.firstChild){return _1f2(node,_1fa.firstChild)
}else{_1fa.appendChild(node);
return true
}break;
default:_1fa.appendChild(node);
return true
}};
dojo.boxModel="content-box";
if(dojo.isIE){var _dcm=document.compatMode;
dojo.boxModel=(_dcm=="BackCompat")||(_dcm=="QuirksMode")||(dojo.isIE<6)?"border-box":"content-box"
}if(!dojo.isIE){var dv=document.defaultView;
dojo.getComputedStyle=((dojo.isSafari)?function(node){var s=dv.getComputedStyle(node,null);
if(!s&&node.style){node.style.display="";
s=dv.getComputedStyle(node,null)
}return s||{}
}:function(node){return dv.getComputedStyle(node,null)
});
dojo._toPixelValue=function(_202,_203){return(parseFloat(_203)||0)
}
}else{dojo.getComputedStyle=function(node){return node.currentStyle
};
dojo._toPixelValue=function(_205,_206){if(!_206){return 0
}if(_206.slice&&(_206.slice(-2)=="px")){return parseFloat(_206)
}with(_205){var _207=style.left;
var _208=runtimeStyle.left;
runtimeStyle.left=currentStyle.left;
try{style.left=_206;
_206=style.pixelLeft
}catch(e){_206=0
}style.left=_207;
runtimeStyle.left=_208
}return _206
}
}dojo._getOpacity=((dojo.isIE)?function(node){try{return(node.filters.alpha.opacity/100)
}catch(e){return 1
}}:function(node){return dojo.getComputedStyle(node).opacity
});
dojo._setOpacity=((dojo.isIE)?function(node,_20c){var o="Alpha(Opacity="+(_20c*100)+")";
node.style.filter=o;
if(node.nodeName.toLowerCase=="tr"){dojo.query("> td",node).forEach(function(i){i.style.filter=o
})
}return _20c
}:function(node,_210){return node.style.opacity=_210
});
var _211={width:true,height:true,left:true,top:true};
var _212=function(node,type,_215){type=type.toLowerCase();
if(_211[type]===true){return dojo._toPixelValue(node,_215)
}else{if(_211[type]===false){return _215
}else{if((type.indexOf("margin")>=0)||(type.indexOf("padding")>=0)||(type.indexOf("width")>=0)||(type.indexOf("height")>=0)||(type.indexOf("max")>=0)||(type.indexOf("min")>=0)||(type.indexOf("offset")>=0)){_211[type]=true;
return dojo._toPixelValue(node,_215)
}else{_211[type]=false;
return _215
}}}};
dojo.style=function(node,_217,_218){var n=dojo.byId(node),args=arguments.length,op=(_217=="opacity");
if(args==3){return op?dojo._setOpacity(n,_218):n.style[_217]=_218
}if(args==2&&op){return dojo._getOpacity(n)
}var s=dojo.getComputedStyle(n);
return(args==1)?s:_212(n,_217,s[_217])
};
var gcs=dojo.getComputedStyle;
dojo._getPadExtents=function(n,_21f){var s=_21f||gcs(n),px=dojo._toPixelValue,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,_225){var ne="none",px=dojo._toPixelValue,s=_225||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,_22c){var s=_22c||gcs(n),p=dojo._getPadExtents(n,s),b=dojo._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,_231){var s=_231||gcs(n),px=dojo._toPixelValue,l=px(n,s.marginLeft),t=px(n,s.marginTop),r=px(n,s.marginRight),b=px(n,s.marginBottom);
if(dojo.isSafari&&(s.position!="absolute")){r=l
}return{l:l,t:t,w:l+r,h:t+b}
};
dojo._getMarginBox=function(node,_239){var s=_239||gcs(node),me=dojo._getMarginExtents(node,s);
var l=node.offsetLeft-me.l,t=node.offsetTop-me.t;
if(dojo.isMoz){var sl=parseFloat(s.left),st=parseFloat(s.top);
if(!isNaN(sl)&&!isNaN(st)){l=sl,t=st
}else{var p=node.parentNode;
if(p){var pcs=gcs(p);
if(pcs.overflow!="visible"){var be=dojo._getBorderExtents(p,pcs);
l+=be.l,t+=be.t
}}}}else{if(dojo.isOpera){var p=node.parentNode;
if(p){var be=dojo._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,_244){var s=_244||gcs(node),pe=dojo._getPadExtents(node,s),be=dojo._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(dojo.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,_24b){var s=_24b||gcs(node),pe=dojo._getPadExtents(node,s),cb=dojo._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";
with(node.style){if(!isNaN(l)){left=l+u
}if(!isNaN(t)){top=t+u
}if(w>=0){width=w+u
}if(h>=0){height=h+u
}}};
dojo._usesBorderBox=function(node){var n=node.tagName;
return(dojo.boxModel=="border-box")||(n=="TABLE")||(n=="BUTTON")
};
dojo._setContentSize=function(node,_258,_259,_25a){var bb=dojo._usesBorderBox(node);
if(bb){var pb=dojo._getPadBorderExtents(node,_25a);
if(_258>=0){_258+=pb.w
}if(_259>=0){_259+=pb.h
}}dojo._setBox(node,NaN,NaN,_258,_259)
};
dojo._setMarginBox=function(node,_25e,_25f,_260,_261,_262){var s=_262||dojo.getComputedStyle(node);
var bb=dojo._usesBorderBox(node),pb=bb?_266:dojo._getPadBorderExtents(node,s),mb=dojo._getMarginExtents(node,s);
if(_260>=0){_260=Math.max(_260-pb.w-mb.w,0)
}if(_261>=0){_261=Math.max(_261-pb.h-mb.h,0)
}dojo._setBox(node,_25e,_25f,_260,_261)
};
var _266={l:0,t:0,w:0,h:0};
dojo.marginBox=function(node,box){var n=dojo.byId(node),s=gcs(n),b=box;
return !b?dojo._getMarginBox(n,s):dojo._setMarginBox(n,b.l,b.t,b.w,b.h,s)
};
dojo.contentBox=function(node,box){var n=dojo.byId(node),s=gcs(n),b=box;
return !b?dojo._getContentBox(n,s):dojo._setContentSize(n,b.w,b.h,s)
};
var _272=function(node,prop){if(!node){return 0
}var _b=dojo.body();
var _276=0;
while(node){try{if(gcs(node).position=="fixed"){return 0
}}catch(e){}var val=node[prop];
if(val){_276+=val-0;
if(node==_b){break
}}node=node.parentNode
}return _276
};
dojo._docScroll=function(){var _b=dojo.body();
var _w=dojo.global;
var de=dojo.doc.documentElement;
return{y:(_w.pageYOffset||de.scrollTop||_b.scrollTop||0),x:(_w.pageXOffset||de.scrollLeft||_b.scrollLeft||0)}
};
var _27b=((dojo.isIE>=7)&&(dojo.boxModel!="border-box"))?2:0;
dojo._abs=function(node,_27d){var _27e=node.ownerDocument;
var ret={x:0,y:0};
var db=dojo.body();
if(dojo.isIE){with(node.getBoundingClientRect()){ret.x=left-_27b;
ret.y=top-_27b
}}else{if(node.getBoundingClientRect){var bo=node.getBoundingClientRect();
ret.x=bo.left-_272(node,"scrollLeft");
ret.y=bo.top-_272(node,"scrollTop")
}else{if(node["offsetParent"]){var _282;
if((dojo.isSafari)&&(node.style.getPropertyValue("position")=="absolute")&&(node.parentNode==db)){_282=db
}else{_282=db.parentNode
}if(node.parentNode!=db){var nd=node;
if(dojo.isOpera){nd=db
}ret.x-=_272(nd,"scrollLeft");
ret.y-=_272(nd,"scrollTop")
}var _284=node;
do{var n=_284["offsetLeft"];
if(!dojo.isOpera||n>0){ret.x+=isNaN(n)?0:n
}var m=_284["offsetTop"];
ret.y+=isNaN(m)?0:m;
_284=_284.offsetParent
}while((_284!=_282)&&(_284!=null))
}else{if(node["x"]&&node["y"]){ret.x+=isNaN(node.x)?0:node.x;
ret.y+=isNaN(node.y)?0:node.y
}}}}if(_27d){var _287=dojo._docScroll();
ret.y+=_287.y;
ret.x+=_287.x
}return ret
};
dojo.coords=function(node,_289){var n=dojo.byId(node),s=gcs(n),mb=dojo._getMarginBox(n,s);
var abs=dojo._abs(n,_289);
mb.x=abs.x;
mb.y=abs.y;
return mb
}
})();
dojo.hasClass=function(A,B){return((" "+A.className+" ").indexOf(" "+B+" ")>=0)
};
dojo.addClass=function(B,C){var A=B.className;
if((" "+A+" ").indexOf(" "+C+" ")<0){B.className=A+(A?" ":"")+C
}};
(function(){var B=/^\s*([^\s]|[^\s].*[^\s])\s*$/;
var A=function(D){var C=B.exec(D);
return C?C[1]:""
};
dojo.removeClass=function(D,C){D.className=A((" "+D.className+" ").replace(" "+C+" "," "))
}
})();
dojo.toggleClass=function(C,B,A){if(typeof A=="undefined"){A=!dojo.hasClass(C,B)
}dojo[A?"addClass":"removeClass"](C,B)
}
}if(!dojo._hasResource["dojo._base.NodeList"]){dojo._hasResource["dojo._base.NodeList"]=true;
dojo.provide("dojo._base.NodeList");
(function(){var C=dojo;
dojo.NodeList=function(){if((arguments.length==1)&&(typeof arguments[0]=="number")){this.length=parseInt(arguments[0])
}else{if((arguments.length==1)&&(arguments[0].constructor==dojo.NodeList)){}else{for(var E=0;
E<arguments.length;
E++){this.push(arguments[E])
}}}};
dojo.NodeList.prototype=new Array;
dojo.extend(dojo.NodeList,{box:function(){return dojo.coords(this[0])
},boxes:function(){var E=[];
this.forEach(function(F){E.push(dojo.coords(F))
});
return E
},style:function(F){var E=dojo._toArray(arguments);
E.unshift(this[0]);
return dojo.style.apply(dojo,E)
},styles:function(F){var E=dojo._toArray(arguments);
E.unshift(null);
return this.map(function(G){E[0]=G;
return dojo.style.apply(dojo,E)
})
},place:function(H,G){var F=C.query(H)[0];
G=G||"last";
for(var E=0;
E<this.length;
E++){C.place(this[E],F,G)
}return this
},connect:function(E,G,F){this.forEach(function(H){dojo.connect(H,E,G,F)
});
return this
},orphan:function(F){var E=C._filterQueryResult(this,F);
E.forEach(function(G){if(G["parentNode"]){G.parentNode.removeChild(G)
}});
return E
},adopt:function(H,G){var I=this[0];
G=G||"last";
var F=C.query(H);
for(var E=0;
E<F.length;
E++){C.place(F[E],I,G)
}return F
},query:function(F){F=F||"";
var E=new C.NodeList();
this.forEach(function(G){C.query(F,G).forEach(function(H){if(typeof H!="undefined"){E.push(H)
}})
});
return E
},filter:function(G){var I=this;
var E=arguments;
var H=new C.NodeList();
var F=function(J){if(typeof J!="undefined"){H.push(J)
}};
if(dojo.isString(G)){I=C._filterQueryResult(this,E[0]);
if(E.length==1){return I
}C.forEach(C.filter(I,E[1],E[2]),F);
return H
}C.forEach(C.filter(I,E[0],E[1]),F);
return H
},addContent:function(G,H){var E=dojo.doc.createElement("span");
if(dojo.isString(G)){E.innerHTML=G
}else{E.appendChild(G)
}var F=((H=="first")||(H=="after"))?"lastChild":"firstChild";
this.forEach(function(J){var I=E.cloneNode(true);
while(I[F]){C.place(I[F],J,H)
}});
return this
},_anim:function(F,G){var H=[];
G=G||{};
this.forEach(function(I){var J={node:I};
dojo.mixin(J,G);
H.push(dojo[F](J))
});
var E=H.shift();
return E.combine(H)
},fadeIn:function(E){return this._anim("fadeIn",E)
},fadeOut:function(E){return this._anim("fadeOut",E)
},animateProperty:function(E){return this._anim("animateProperty",E)
}});
if(!Array.forEach){dojo.extend(dojo.NodeList,{indexOf:function(F,E){return C.indexOf(this,F,E)
},lastIndexOf:function(F,E){return C.lastIndexOf(this,F,E)
},forEach:function(F,E){return C.forEach(this,F,E)
},every:function(F,E){return C.every(this,F,E)
},some:function(F,E){return C.some(this,F,E)
},map:function(F,E){return C.map(this,F,E)
}})
}if(C.isIE){var A=function(E){return("var a2 = parent."+E+"; var ap = Array.prototype; var a2p = a2.prototype; for(var x in a2p){ ap[x] = a2p[x]; } parent."+E+" = Array; ")
};
var B=A("dojo.NodeList");
var D=window.createPopup();
D.document.write("<script>"+B+"<\/script>");
D.show(1,1,1,1)
}})()
}if(!dojo._hasResource["dojo._base.query"]){dojo._hasResource["dojo._base.query"]=true;
dojo.provide("dojo._base.query");
(function(){var l=dojo;
var P=function(d){return[d.indexOf("#"),d.indexOf("."),d.indexOf("["),d.indexOf(":")]
};
var X=function(r,p){var q=r.length;
var o=P(r);
var n=q;
for(var d=p;
d<o.length;
d++){if(o[d]>=0){if(o[d]<n){n=o[d]
}}}return(n<0)?q:n
};
var U=function(d){return X(d,1)
};
var F=function(d){var n=P(d);
if(n[0]!=-1){return d.substring(n[0]+1,U(d))
}else{return""
}};
var E=function(d){var n=P(d);
if((n[0]==0)||(n[1]==0)){return 0
}else{return X(d,0)
}};
var M=function(n){var d=E(n);
return((d>0)?n.substr(0,d).toLowerCase():"*")
};
var L=function(n){var p=-1;
for(var d=0;
d<n.length;
d++){var o=n[d];
if(o>=0){if((o>p)||(p==-1)){p=o
}}}return p
};
var I=function(d){var o=P(d);
if(-1==o[1]){return""
}var p=o[1]+1;
var n=L(o.slice(2));
if(p<n){return d.substring(p,n)
}else{if(-1==n){return d.substr(p)
}else{return""
}}};
var c=[{key:"|=",match:function(d,n){return"[contains(concat(' ',@"+d+",' '), ' "+n+"-')]"
}},{key:"~=",match:function(d,n){return"[contains(concat(' ',@"+d+",' '), ' "+n+" ')]"
}},{key:"^=",match:function(d,n){return"[starts-with(@"+d+", '"+n+"')]"
}},{key:"*=",match:function(d,n){return"[contains(@"+d+", '"+n+"')]"
}},{key:"$=",match:function(d,n){return"[substring(@"+d+", string-length(@"+d+")-"+(n.length-1)+")='"+n+"']"
}},{key:"!=",match:function(n,d){return"[not(@"+n+"='"+d+"')]"
}},{key:"=",match:function(d,n){return"[@"+d+"='"+n+"']"
}}];
var K=function(n){var d=/^\s+|\s+$/g;
return n.replace(d,"")
};
var J=function(p,o,n,d){var AA;
var s=P(o);
if(s[2]>=0){var y=o.indexOf("]",s[2]);
var v=o.substring(s[2]+1,y);
while(v&&v.length){if(v.charAt(0)=="@"){v=v.slice(1)
}AA=null;
for(var u=0;
u<p.length;
u++){var r=p[u];
var q=v.indexOf(r.key);
if(q>=0){var t=v.substring(0,q);
var z=v.substring(q+r.key.length);
if((z.charAt(0)=='"')||(z.charAt(0)=="'")){z=z.substring(1,z.length-1)
}AA=r.match(K(t),K(z));
break
}}if((!AA)&&(v.length)){AA=n(v)
}if(AA){d(AA)
}v=null;
var w=o.indexOf("[",y);
if(0<=w){y=o.indexOf("]",w);
if(0<=y){v=o.substring(w+1,y)
}}}}};
var A=function(u){var t=".";
var s=u.split(" ");
while(s.length){var d=s.shift();
var q;
if(d==">"){q="/";
d=s.shift()
}else{q="//"
}var p=M(d);
t+=q+p;
var n=F(d);
if(n.length){t+="[@id='"+n+"'][1]"
}var r=I(d);
if(r.length){var o=" ";
if(r.charAt(r.length-1)=="*"){o="";
r=r.substr(0,r.length-1)
}t+="[contains(concat(' ',@class,' '), ' "+r+o+"')]"
}J(c,d,function(v){return"[@"+v+"]"
},function(v){t+=v
})
}return t
};
var Z={};
var Y=function(p){if(Z[p]){return Z[p]
}var o=l.doc;
var d=A(p);
var n=function(t){var s=[];
var r;
try{r=o.evaluate(d,t,null,XPathResult.ANY_TYPE,null)
}catch(u){console.debug("failure in exprssion:",d,"under:",t);
console.debug(u)
}var q=r.iterateNext();
while(q){s.push(q);
q=r.iterateNext()
}return s
};
return Z[p]=n
};
var h={};
var g={};
var f=function(n,d){if(!n){return d
}if(!d){return n
}return function(){return n.apply(window,arguments)&&d.apply(window,arguments)
}
};
var a=function(t,s,r,w){var o=w+1;
var n=(s.length==o);
var d=s[w];
if(d==">"){var u=t.childNodes;
if(!u.length){return 
}o++;
var n=(s.length==o);
var p=T(s[w+1]);
for(var v=0,q;
v<u.length,q=u[v];
v++){if(p(q)){if(n){r.push(q)
}else{a(q,s,r,o)
}}}}var y=R(d)(t);
if(n){while(y.length){r.push(y.shift())
}}else{while(y.length){a(y.shift(),s,r,o)
}}};
var Q=function(o,n){ret=[];
var d=o.length-1,p;
while(p=o[d--]){a(p,n,ret,0)
}return ret
};
var T=function(p){if(h[p]){return h[p]
}var d=null;
var o=M(p);
if(o!="*"){d=f(d,function(q){var r=((q.nodeType==1)&&(o==q.tagName.toLowerCase()));
return r
})
}var n=F(p);
if(n.length){d=f(d,function(q){return((q.nodeType==1)&&(q.id==n))
})
}if(Math.max.apply(this,P(p).slice(1))>=0){d=f(d,H(p))
}return h[p]=d
};
var G=function(t){var r=t.parentNode;
var p=r.childNodes;
var n=-1;
var q=r.firstChild;
if(!q){return n
}var s=t["__cachedIndex"];
var o=r["__cachedLength"];
if(((typeof o=="number")&&(o!=p.length))||(typeof s!="number")){r["__cachedLength"]=p.length;
var d=1;
do{if(q===t){n=d
}if(q.nodeType==1){q["__cachedIndex"]=d;
d++
}q=q.nextSibling
}while(q)
}else{n=s
}return n
};
var W=0;
var V=function(n,d){var o="";
if(d=="class"){return n.className||o
}if(d=="for"){return n.htmlFor||o
}return n.getAttribute(d,2)||o
};
var j=[{key:"|=",match:function(d,o){var n=" "+o+"-";
return function(q){var p=" "+(q.getAttribute(d,2)||"");
return((p==o)||(p.indexOf(n)==0))
}
}},{key:"^=",match:function(d,n){return function(o){return(V(o,d).indexOf(n)==0)
}
}},{key:"*=",match:function(d,n){return function(o){return(V(o,d).indexOf(n)>=0)
}
}},{key:"~=",match:function(d,n){var o=" "+n+" ";
return function(q){var p=" "+V(q,d)+" ";
return(p.indexOf(o)>=0)
}
}},{key:"$=",match:function(d,o){var n=" "+o;
return function(q){var p=" "+V(q,d);
return(p.lastIndexOf(o)==(p.length-o.length))
}
}},{key:"!=",match:function(d,n){return function(o){return(V(o,d)!=n)
}
}},{key:"=",match:function(d,n){return function(o){return(V(o,d)==n)
}
}}];
var B=[{key:"first-child",match:function(n,d){return function(p){if(p.nodeType!=1){return false
}var o=p.previousSibling;
while(o&&(o.nodeType!=1)){o=o.previousSibling
}return(!o)
}
}},{key:"last-child",match:function(d,n){return function(o){if(o.nodeType!=1){return false
}var p=o.nextSibling;
while(p&&(p.nodeType!=1)){p=p.nextSibling
}return(!p)
}
}},{key:"empty",match:function(d,n){return function(r){var s=r.childNodes;
var p=r.childNodes.length;
for(var o=p-1;
o>=0;
o--){var q=s[o].nodeType;
if((q==1)||(q==3)){return false
}}return true
}
}},{key:"contains",match:function(d,n){return function(o){return(o.innerHTML.indexOf(n)>=0)
}
}},{key:"not",match:function(n,d){var o=T(d);
return function(p){return(!o(p))
}
}},{key:"nth-child",match:function(o,r){var q=parseInt;
if(r=="odd"){return function(t){return(((G(t))%2)==1)
}
}else{if((r=="2n")||(r=="even")){return function(t){return((G(t)%2)==0)
}
}else{if(r.indexOf("0n+")==0){var s=q(r.substr(3));
return function(t){return(t.parentNode.childNodes[s-1]===t)
}
}else{if((r.indexOf("n+")>0)&&(r.length>3)){var p=r.split("n+",2);
var n=q(p[0]);
var d=q(p[1]);
return function(t){return((G(t)%n)==d)
}
}else{if(r.indexOf("n")==-1){var s=q(r);
return function(t){return(G(t)==s)
}
}}}}}}}];
var H=function(t){var r=(g[t]||h[t]);
if(r){return r
}var n=null;
var v=P(t);
if(v[0]>=0){var AA=M(t);
if(AA!="*"){n=f(n,function(AD){return(AD.tagName.toLowerCase()==AA)
})
}}var o;
var d=I(t);
if(d.length){var s=d.charAt(d.length-1)=="*";
if(s){d=d.substr(0,d.length-1)
}var AB=new RegExp("(?:^|\\s)"+d+(s?".*":"")+"(?:\\s|$)");
n=f(n,function(AD){return AB.test(AD.className)
})
}if(v[3]>=0){var q=t.substr(v[3]+1);
var p="";
var w=q.indexOf("(");
var z=q.lastIndexOf(")");
if((0<=w)&&(0<=z)&&(z>w)){p=q.substring(w+1,z);
q=q.substr(0,w)
}o=null;
for(var y=0;
y<B.length;
y++){var u=B[y];
if(u.key==q){o=u.match(q,p);
break
}}if(o){n=f(n,o)
}}var AC=(l.isIE)?function(AD){var AE=AD.toLowerCase();
return function(AF){return AF[AD]||AF[AE]
}
}:function(AD){return function(AE){return(AE&&AE.getAttribute&&AE.hasAttribute(AD))
}
};
J(j,t,AC,function(AD){n=f(n,AD)
});
if(!n){n=function(){return true
}
}return g[t]=n
};
var D=function(d){return(Math.max.apply(this,P(d))==-1)
};
var C={};
var R=function(u,s){var p=C[u];
if(p){return p
}var o=P(u);
var d=F(u);
if(o[0]==0){return C[u]=function(v){return[l.byId(d)]
}
}var r=H(u);
var q;
if(o[0]>=0){q=function(v){var w=l.byId(d);
if(r(w)){return[w]
}}
}else{var n;
var t=M(u);
if(D(u)){q=function(w){var y=[];
var AA,v=0,z=w.getElementsByTagName(t);
while(AA=z[v++]){y.push(AA)
}return y
}
}else{q=function(w){var y=[];
var AA,v=0,z=w.getElementsByTagName(t);
while(AA=z[v++]){if(r(AA)){y.push(AA)
}}return y
}
}}return C[u]=q
};
var m={};
var k={};
var i=function(n){if(0>n.indexOf(" ")){return R(n)
}var d=function(o){var q=n.split(" ");
var p;
if(q[0]==">"){p=[o];
o=document
}else{p=R(q.shift())(o)
}return Q(p,q)
};
return d
};
var b=((document["evaluate"]&&!l.isSafari)?function(n){var d=n.split(" ");
if((document["evaluate"])&&(n.indexOf(":")==-1)&&((true))){if(((d.length>2)&&(n.indexOf(">")==-1))||(d.length>3)||(n.indexOf("[")>=0)||((1==d.length)&&(0<=n.indexOf(".")))){return Y(n)
}}return i(n)
}:i);
var N=function(n){if(k[n]){return k[n]
}if(0>n.indexOf(",")){return k[n]=b(n)
}else{var d=n.split(/\s*,\s*/);
var o=function(p){var r=0;
var q=[];
var s;
while(s=d[r++]){q=q.concat(b(s,s.indexOf(" "))(p))
}return q
};
return k[n]=o
}};
var S=0;
var O=function(n){var o=new l.NodeList();
if(!n){return o
}if(n[0]){o.push(n[0])
}if(n.length<2){return o
}S++;
n[0]["_zipIdx"]=S;
for(var d=1,p;
p=n[d];
d++){if(n[d]["_zipIdx"]!=S){o.push(p)
}p["_zipIdx"]=S
}return o
};
l.query=function(d,n){if(typeof d!="string"){return new l.NodeList(d)
}if(typeof n=="string"){n=dojo.byId(n)
}return O(N(d)(n||dojo.doc))
};
l._filterQueryResult=function(q,o){var r=new l.NodeList();
var n=(o)?T(o):function(){return true
};
for(var d=0,p;
p=q[d];
d++){if(n(p)){r.push(p)
}}return r
}
})()
}if(!dojo._hasResource["dojo._base.xhr"]){dojo._hasResource["dojo._base.xhr"]=true;
dojo.provide("dojo._base.xhr");
dojo.formToObject=function(B){var A={};
var C="input[type!=file][type!=submit][type!=image][type!=reset][type!=button], select, textarea";
dojo.query(C,B).filter(function(D){return(!D.disabled)
}).forEach(function(F){var E=F.name;
var D=(F.type||"").toLowerCase();
if((D=="radio")||(D=="checkbox")){if(F.checked){A[E]=F.value
}}else{if(F.multiple){var G=A[E]=[];
dojo.query("option[selected]",F).forEach(function(H){G.push(H.value)
})
}else{A[E]=F.value;
if(D=="image"){A[E+".x"]=A[E+".y"]=A[E].x=A[E].y=0
}}}});
return A
};
dojo.objectToQuery=function(D){var C=encodeURIComponent;
var B="";
var E={};
for(var A in D){if(D[A]!=E[A]){if(dojo.isArray(D[A])){for(var F=0;
F<D[A].length;
F++){B+=C(A)+"="+C(D[A][F])+"&"
}}else{B+=C(A)+"="+C(D[A])+"&"
}}}if((B.length)&&(B.charAt(B.length-1)=="&")){B=B.substr(0,B.length-1)
}return B
};
dojo.formToQuery=function(A){return dojo.objectToQuery(dojo.formToObject(A))
};
dojo.formToJson=function(A){return dojo.toJson(dojo.formToObject(A))
};
dojo.queryToObject=function(D){var C={};
var B=D.split("&");
var A=decodeURIComponent;
dojo.forEach(B,function(F){if(F.length){var G=F.split("=");
var E=G.shift();
var H=A(G.join("="));
if(dojo.isString(C[E])){C[E]=[C[E]]
}if(dojo.isArray(C[E])){C[E].push(H)
}else{C[E]=H
}}});
return C
};
dojo._blockAsync=false;
dojo._contentHandlers={"text":function(A){return A.responseText
},"json":function(A){return dojo.fromJson(A.responseText)
},"json-comment-optional":function(D){var C=D.responseText;
var A=C.indexOf("/*");
var B=C.lastIndexOf("*/");
if((A==-1)||(B==-1)){return dojo.fromJson(D.responseText)
}return dojo.fromJson(C.substring(A+2,B))
},"json-comment-filtered":function(D){var C=D.responseText;
var B=C.indexOf("/*");
var A=C.lastIndexOf("*/");
if((B==-1)||(A==-1)){console.debug("your JSON wasn't comment filtered!");
return""
}return dojo.fromJson(C.substring(B+2,A))
},"javascript":function(xhr){return dojo.eval(xhr.responseText)
},"xml":function(A){return A.responseXML
}};
(function(){dojo._ioSetArgs=function(V,M,X,S){var R={};
R.args=V;
var Q=null;
if(V.form){var P=dojo.byId(V.form);
R.url=V.url||P.getAttribute("action");
Q=dojo.formToQuery(P)
}else{R.url=V.url
}var O=[{}];
if(Q){O.push(dojo.queryToObject(Q))
}if(V.content){O.push(V.content)
}if(V.preventCache){O.push({"dojo.preventCache":new Date().valueOf()})
}R.query=dojo.objectToQuery(dojo.mixin.apply(null,O));
R.handleAs=V.handleAs||"text";
var U=new dojo.Deferred(M);
U.addCallbacks(X,function(Y){return S(Y,U)
});
var N=V.load;
if(N&&dojo.isFunction(N)){U.addCallback(function(Y){return N.call(V,Y,R)
})
}var T=V.error;
if(T&&dojo.isFunction(T)){U.addErrback(function(Y){return T.call(V,Y,R)
})
}var W=V.handle;
if(W&&dojo.isFunction(W)){U.addBoth(function(Y){return W.call(V,Y,R)
})
}U.ioArgs=R;
return U
};
var J=function(M){M.canceled=true;
var N=M.ioArgs.xhr;
if(typeof N.abort=="function"){N.abort()
}};
var L=function(M){return dojo._contentHandlers[M.ioArgs.handleAs](M.ioArgs.xhr)
};
var K=function(N,M){console.debug("xhr error in:",M.ioArgs.xhr);
console.debug(N);
return N
};
var I=function(N){var M=dojo._ioSetArgs(N,J,L,K);
M.ioArgs.xhr=dojo._xhrObj();
return M
};
var H=null;
var G=[];
var F=function(){var M=(new Date()).getTime();
if(!dojo._blockAsync){dojo.forEach(G,function(Q,O){if(!Q){return 
}var N=Q.dfd;
try{if(!N||N.canceled||!Q.validCheck(N)){G.splice(O,1);
return 
}if(Q.ioCheck(N)){G.splice(O,1);
Q.resHandle(N)
}else{if(N.startTime){if(N.startTime+(N.ioArgs.args.timeout||0)<M){G.splice(O,1);
var P=new Error("timeout exceeded");
P.dojoType="timeout";
N.errback(P);
N.cancel()
}}}}catch(R){console.debug(R);
N.errback(new Error("_watchInFlightError!"))
}})
}if(!G.length){clearInterval(H);
H=null;
return 
}};
dojo._ioWatch=function(M,P,O,N){if(M.ioArgs.args.timeout){M.startTime=(new Date()).getTime()
}G.push({dfd:M,validCheck:P,ioCheck:O,resHandle:N});
if(!H){H=setInterval(F,50)
}F()
};
var E="application/x-www-form-urlencoded";
var D=function(M){return M.ioArgs.xhr.readyState
};
var C=function(M){return 4==M.ioArgs.xhr.readyState
};
var B=function(M){if(dojo._isDocumentOk(M.ioArgs.xhr)){M.callback(M)
}else{M.errback(new Error("bad http response code:"+M.ioArgs.xhr.status))
}};
var A=function(P,M){var O=M.ioArgs;
var N=O.args;
O.xhr.open(P,O.url,(N.sync!==true),(N.user?N.user:undefined),(N.password?N.password:undefined));
if(N.headers){for(var R in N.headers){if(R.toLowerCase()==="content-type"&&!N.contentType){N.contentType=N.headers[R]
}else{O.xhr.setRequestHeader(R,N.headers[R])
}}}O.xhr.setRequestHeader("Content-Type",(N.contentType||E));
try{O.xhr.send(O.query)
}catch(Q){M.cancel()
}dojo._ioWatch(M,D,C,B);
return M
};
dojo._ioAddQueryToUrl=function(M){if(M.query.length){M.url+=(M.url.indexOf("?")==-1?"?":"&")+M.query;
M.query=null
}};
dojo.xhrGet=function(N){var M=I(N);
dojo._ioAddQueryToUrl(M.ioArgs);
return A("GET",M)
};
dojo.xhrPost=function(M){return A("POST",I(M))
};
dojo.rawXhrPost=function(N){var M=I(N);
M.ioArgs.query=N.postData;
return A("POST",M)
};
dojo.xhrPut=function(M){return A("PUT",I(M))
};
dojo.rawXhrPut=function(O){var N=I(O);
var M=N.ioArgs;
if(O["putData"]){M.query=O.putData;
O.putData=null
}return A("PUT",N)
};
dojo.xhrDelete=function(N){var M=I(N);
dojo._ioAddQueryToUrl(M.ioArgs);
return A("DELETE",M)
};
dojo.wrapForm=function(M){throw new Error("dojo.wrapForm not yet implemented")
}
})()
}if(!dojo._hasResource["dojo._base.fx"]){dojo._hasResource["dojo._base.fx"]=true;
dojo.provide("dojo._base.fx");
dojo._Line=function(B,A){this.start=B;
this.end=A;
this.getValue=function(C){return((this.end-this.start)*C)+this.start
}
};
dojo.declare("dojo._Animation",null,function(A){dojo.mixin(this,A);
if(dojo.isArray(this.curve)){this.curve=new dojo._Line(this.curve[0],this.curve[1])
}},{curve:null,duration:1000,easing:null,repeat:0,rate:10,delay:null,beforeBegin:null,onBegin:null,onAnimate:null,onEnd:null,onPlay:null,onPause:null,onStop:null,_active:false,_paused:false,_startTime:null,_endTime:null,_timer:null,_percent:0,_startRepeatCount:0,fire:function(A,B){if(this[A]){this[A].apply(this,B||[])
}return this
},play:function(C,B){if(B){clearTimeout(this._timer);
this._active=this._paused=false;
this._percent=0
}else{if(this._active&&!this._paused){return this
}}this.fire("beforeBegin");
var D=C||this.delay;
if(D>0){setTimeout(dojo.hitch(this,function(){this.play(null,B)
}),D);
return this
}this._startTime=new Date().valueOf();
if(this._paused){this._startTime-=this.duration*this._percent
}this._endTime=this._startTime+this.duration;
this._active=true;
this._paused=false;
var A=this.curve.getValue(this._percent);
if(!this._percent){if(!this._startRepeatCount){this._startRepeatCount=this.repeat
}this.fire("onBegin",[A])
}this.fire("onPlay",[A]);
this._cycle();
return this
},pause:function(){clearTimeout(this._timer);
if(!this._active){return this
}this._paused=true;
this.fire("onPause",[this.curve.getValue(this._percent)]);
return this
},gotoPercent:function(B,A){clearTimeout(this._timer);
this._active=this._paused=true;
this._percent=B*100;
if(A){this.play()
}return this
},stop:function(A){clearTimeout(this._timer);
if(A){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(){clearTimeout(this._timer);
if(this._active){var B=new Date().valueOf();
var A=(B-this._startTime)/(this._endTime-this._startTime);
if(A>=1){A=1
}this._percent=A;
if(this.easing){A=this.easing(A)
}this.fire("onAnimate",[this.curve.getValue(A)]);
if(A<1){this._timer=setTimeout(dojo.hitch(this,"_cycle"),this.rate)
}else{this._active=false;
if(this.repeat>0){this.repeat--;
this.play(null,true)
}else{if(this.repeat==-1){this.play(null,true)
}else{if(this._startRepeatCount){this.repeat=this._startRepeatCount;
this._startRepeatCount=0
}}}this._percent=0;
this.fire("onEnd")
}}return this
}});
(function(){var A=function(B){if(dojo.isIE){if(!B.style.zoom.length&&dojo.style(B,"zoom")=="normal"){B.style.zoom="1"
}if(!B.style.width.length&&dojo.style(B,"width")=="auto"){B.style.width="auto"
}}};
dojo._fade=function(D){if(typeof D.end=="undefined"){throw new Error("dojo._fade needs an end value")
}D.node=dojo.byId(D.node);
var C=dojo.mixin({properties:{}},D);
var B=(C.properties.opacity={});
B.start=(typeof C.start=="undefined")?function(){return Number(dojo.style(C.node,"opacity"))
}:C.start;
B.end=C.end;
var E=dojo.animateProperty(C);
dojo.connect(E,"beforeBegin",null,function(){A(C.node)
});
return E
};
dojo.fadeIn=function(B){return dojo._fade(dojo.mixin({end:1},B))
};
dojo.fadeOut=function(B){return dojo._fade(dojo.mixin({end:0},B))
};
if(dojo.isKhtml&&!dojo.isSafari){dojo._defaultEasing=function(B){return parseFloat("0.5")+((Math.sin((B+parseFloat("1.5"))*Math.PI))/2)
}
}else{dojo._defaultEasing=function(B){return 0.5+((Math.sin((B+1.5)*Math.PI))/2)
}
}dojo.animateProperty=function(B){B.node=dojo.byId(B.node);
if(!B.easing){B.easing=dojo._defaultEasing
}var C=function(E){this._properties=E;
for(var F in E){var G=E[F];
if(dojo.isFunction(G.start)){G.start=G.start(G)
}if(dojo.isFunction(G.end)){G.end=G.end(G)
}}this.getValue=function(L){var I={};
for(var J in this._properties){var K=this._properties[J];
var H=null;
if(K.start instanceof dojo.Color){H=dojo.rgb2hex(dojo.blendColors(K.end,K.start,L))
}else{if(!dojo.isArray(K.start)){H=((K.end-K.start)*L)+K.start+(J!="opacity"?K.units||"px":"")
}}I[J]=H
}return I
}
};
var D=new dojo._Animation(B);
dojo.connect(D,"beforeBegin",D,function(){var E=this.properties;
for(var F in E){var H=E[F];
if(dojo.isFunction(H.start)){H.start=H.start()
}if(dojo.isFunction(H.end)){H.end=H.end()
}var G=(F.toLowerCase().indexOf("color")>=0);
if(typeof H.end=="undefined"){H.end=dojo.style(this.node,F)
}else{if(typeof H.start=="undefined"){H.start=dojo.style(this.node,F)
}}if(G){H.start=new dojo.Color(H.start);
H.end=new dojo.Color(H.end)
}else{H.start=(F=="opacity")?Number(H.start):parseInt(H.start)
}}this.curve=new C(E)
});
dojo.connect(D,"onAnimate",D,function(F){for(var E in F){dojo.style(this.node,E,F[E])
}});
return D
}
})()
}if(typeof plaxo=="undefined"){var plaxo={}
}dojo.registerModulePath("plaxo","/webapps");
dojo.registerModulePath("log4js","/webapps/3rdparty/log4js");
var plaxo_includes={};
plaxo.require=function(A){if(!plaxo_includes[A]){return dojo.require(A)
}};
plaxo.provide=function(A){plaxo_includes[A]=1;
dojo.provide(A)
};
plaxo.inherits=dojo.inherits;
plaxo.extend=function(B,A){dojo.extend(B,A)
};
plaxo.declare=function(B,A,C){if(C&&C.initializer){return dojo.declare(B,A,C.initializer,C)
}return dojo.declare(B,A,null,C)
};
plaxo.RequireMultiple=function(A){dojo.kwCompoundRequire({common:A})
};
plaxo.RequireMultipleOnDemand=plaxo.RequireMultiple;
plaxo.addOnLoad=dojo.addOnLoad;
if(!dojo._hasResource["dojo.string"]){dojo._hasResource["dojo.string"]=true;
dojo.provide("dojo.string");
dojo.string.pad=function(E,C,D,A){var B=String(E);
if(!D){D="0"
}while(B.length<C){if(A){B+=D
}else{B=D+B
}}return B
};
dojo.string.substitute=function(C,D,B,A){return C.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(E,F,H){var G=dojo.getObject(F,false,D);
if(H){G=dojo.getObject(H,false,A)(G)
}if(B){G=B(G)
}return G.toString()
})
}
}plaxo.byId=dojo.byId;
plaxo.closure=dojo.hitch;
plaxo.mixin=dojo.mixin;
if(!dojo._hasResource["dojo.io.script"]){dojo._hasResource["dojo.io.script"]=true;
dojo.provide("dojo.io.script");
dojo.io.script={get:function(C){var A=this._makeScriptDeferred(C);
var B=A.ioArgs;
dojo._ioAddQueryToUrl(B);
this.attach(B.id,B.url);
dojo._ioWatch(A,this._validCheck,this._ioCheck,this._resHandle);
return A
},attach:function(C,A){var B=document.createElement("script");
B.type="text/javascript";
B.src=A;
B.id=C;
document.getElementsByTagName("head")[0].appendChild(B)
},remove:function(A){dojo._destroyElement(dojo.byId(A))
},_makeScriptDeferred:function(C){var A=dojo._ioSetArgs(C,this._deferredCancel,this._deferredOk,this._deferredError);
var B=A.ioArgs;
B.id="dojoIoScript"+(this._counter++);
B.canDelete=false;
if(C.callbackParamName){B.query=B.query||"";
if(B.query.length>0){B.query+="&"
}B.query+=C.callbackParamName+"=dojo.io.script.jsonp_"+B.id+"._jsonpCallback";
B.canDelete=true;
A._jsonpCallback=this._jsonpCallback;
this["jsonp_"+B.id]=A
}return A
},_deferredCancel:function(A){A.canceled=true;
if(A.ioArgs.canDelete){dojo.io.script._deadScripts.push(A.ioArgs.id)
}},_deferredOk:function(A){if(A.ioArgs.json){return A.ioArgs.json
}else{return A.ioArgs
}},_deferredError:function(B,A){if(A.ioArgs.canDelete){dojo.io.script._deadScripts.push(A.ioArgs.id)
}console.debug("dojo.io.script error",B);
return B
},_deadScripts:[],_counter:1,_validCheck:function(B){var A=dojo.io.script;
var C=A._deadScripts;
if(C&&C.length>0){for(var D=0;
D<C.length;
D++){A.remove(C[D]);
if(A["jsonp_"+C[D]]){delete A["jsonp_"+C[D]]
}}dojo.io.script._deadScripts=[]
}return true
},_ioCheck:function(dfd){if(dfd.ioArgs.json){return true
}var checkString=dfd.ioArgs.args.checkString;
if(checkString&&eval("typeof("+checkString+") != 'undefined'")){return true
}return false
},_resHandle:function(A){if(dojo.io.script._ioCheck(A)){A.callback(A)
}else{A.errback(new Error("inconceivable dojo.io.script._resHandle error"))
}},_jsonpCallback:function(A){this.ioArgs.json=A
}}
}plaxo.xhr=function(A){if(A){if(A.transport){A.url+="?"+A.postContent;
if(!A.callbackParamName){A.callbackParamName="_callback"
}var C=dojo.io.script.get(A);
return C
}if(A.load&&A.sync&&A.method!="post"){var B=A.load;
A.load=null;
C=dojo.xhrGet(A);
if(C&&C.ioArgs&&C.ioArgs.xhr&&C.ioArgs.xhr.status==200&&C.ioArgs.xhr.responseText){B(C.ioArgs.xhr.responseText)
}return C
}if(A.method=="post"){if(A.postContent){A.postData=A.postContent;
return dojo.rawXhrPost(A)
}else{return dojo.xhrPost(A)
}}else{return dojo.xhrGet(A)
}}};
if(!plaxo.browser){plaxo.browser={}
}if(!dojo._hasResource["dojo.cookie"]){dojo._hasResource["dojo.cookie"]=true;
dojo.provide("dojo.cookie");
dojo.cookie=function(C,E,D){var H=document.cookie;
if(arguments.length==1){var A=H.lastIndexOf(C+"=");
if(A==-1){return null
}var G=A+C.length+1;
var B=H.indexOf(";",A+C.length+1);
if(B==-1){B=H.length
}return decodeURIComponent(H.substring(G,B))
}else{D=D||{};
E=encodeURIComponent(E);
if(typeof (D.expires)=="number"){var F=new Date();
F.setTime(F.getTime()+(D.expires*24*60*60*1000));
D.expires=F
}document.cookie=C+"="+E+(D.expires?"; expires="+D.expires.toUTCString():"")+(D.path?"; path="+D.path:"")+(D.domain?"; domain="+D.domain:"")+(D.secure?"; secure":"");
return null
}}
}plaxo.browser.getCookie=dojo.cookie;
plaxo.browser.setCookie=dojo.cookie;
plaxo.browser.getCookieObj=function(B){var A=null,D=dojo.cookie(B);
if(D){A={};
var F=D.split("&");
for(var C=0;
C<F.length;
C++){var G=F[C].split("=");
var E=G[1];
if(isNaN(E)){E=unescape(G[1])
}A[unescape(G[0])]=E
}}return A
};
plaxo.browser.setCookieObj=function(C,G,J,K,F,A,H){if(arguments.length==5){H=F;
F=null;
A=null
}var E=[],D,I="";
if(!H){D=plaxo.browser.getCookieObj(C)
}if(J>=0){if(!D){D={}
}for(var B in G){if(G[B]===null){delete D[B]
}else{if(typeof G[B]=="string"||typeof G[B]=="number"){D[B]=G[B]
}}}B=null;
for(B in D){E.push(escape(B)+"="+escape(D[B]))
}I=E.join("&")
}dojo.cookie(C,I,{"expires":J,"path":K,"domain":F,"secure":A})
};
plaxo.browser.is_ie=!!(dojo.isIE>0);
plaxo.browser.is_ie55=!!(dojo.isIE==5.5);
plaxo.browser.is_ie60=!!(dojo.isIE==6);
plaxo.browser.is_mac=!!(dojo.isSafari>0);
plaxo.browser.is_moz=!!((dojo.isFF>0)||(dojo.isMozilla>0));
plaxo.browser.version=dojo.isIE+dojo.isFF+dojo.isSafari;
plaxo.browser.is_iphone=navigator.userAgent.toLowerCase().indexOf("iphone")!=-1;
if(!plaxo.dom){plaxo.dom={}
}plaxo.dom.byWidgetId=dojo.byId;
plaxo.dom.getElementsByClass=function(B,A){return plaxo.util.html.findElems(A,"",B)
};
plaxo.dom.getEventTarget=function(A){if(!A){A=window.event||{}
}var B=(A.srcElement?A.srcElement:(A.target?A.target:null));
while((B)&&(B.nodeType!=1)){B=B.parentNode
}return B
};
plaxo.dom.isDescendantOf=dojo.isDescendant;
plaxo.dom.moveChildren=function(B,C){var A=0;
while(B.hasChildNodes()){C.appendChild(B.firstChild);
A++
}return A
};
plaxo.dom.removeNode=function(A){if(A&&A.parentNode){return A.parentNode.removeChild(A)
}};
plaxo.dom.insertBefore=function(B,A){if(B===A||B.nextSibling===A){return false
}A.parentNode.insertBefore(B,A);
return true
};
plaxo.dom.insertAfter=function(C,B){var A=B.parentNode;
if(B==A.lastChild){if(C===B){return false
}A.appendChild(C)
}else{return plaxo.dom.insertBefore(C,B.nextSibling)
}return true
};
if(!plaxo.event){plaxo.event={}
}plaxo.event=dojo;
plaxo.event.pub=dojo.publish;
plaxo.event.sub=dojo.subscribe;
plaxo.event.connect=dojo.connect;
plaxo.event.fixEvent=dojo.fixEvent;
plaxo.event.stopEvent=dojo.stopEvent;
if(!plaxo.lang){plaxo.lang={}
}plaxo.lang.isString=dojo.isString;
plaxo.lang.isArray=dojo.isArray;
plaxo.lang.isArrayLike=dojo.isArrayLike;
plaxo.lang.isBoolean=function(A){return(A instanceof Boolean||typeof A=="boolean")
};
plaxo.lang.isFunction=dojo.isFunction;
plaxo.lang.isNull=function(A){return typeof A=="object"&&!A
};
plaxo.lang.isNumber=function(A){return(A instanceof Number||typeof A=="number")
};
plaxo.lang.isObject=dojo.isObject;
plaxo.lang.isUndefined=function(A){return((A==undefined)&&(typeof A=="undefined"))
};
plaxo.lang.trim=function(B,A){if(!B.replace||!B.length){return B
}return B.replace(/^\s+|\s+$/g,"")
};
plaxo.lang.escapeXML=function(A,B){if(!A||!A.replace||!A.length){return A
}A=A.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
if(!B){A=A.replace(/'/gm,"&#39;")
}return A
};
plaxo.lang.from_json=dojo.fromJson;
plaxo.lang.to_json=dojo.toJson;
if(!plaxo.style){plaxo.style={}
}plaxo.style.addClass=dojo.addClass;
plaxo.style.hasClass=dojo.hasClass;
plaxo.style.removeClass=dojo.removeClass;
plaxo.style.getValue_px=dojo._toPixelValue;
plaxo.style.isBorderBox=function(){return dojo.boxModel=="border-box"
};
plaxo.style.disableSelect=function(A){dojo.setSelectable(A,false)
};
plaxo.style.getContentBoxHeight=function(A){var B=dojo.contentBox(A);
if(B){return B.h
}return -1
};
plaxo.style.getContentBoxWidth=function(A){var B=dojo.contentBox(A);
if(B){return B.w
}return -1
};
plaxo.style.getMarginBoxHeight=function(A){var B=dojo.marginBox(A);
if(B){return B.h
}return -1
};
plaxo.style.getMarginBoxWidth=function(A){var B=dojo.marginBox(A);
if(B){return B.w
}return -1
};
plaxo.style.setContentBoxHeight=function(B,A){return dojo.contentBox(B,{"h":A})
};
plaxo.style.setContentBoxWidth=function(B,A){return dojo.contentBox(B,{"w":A})
};
plaxo.style.setMarginBoxHeight=function(B,A){return dojo.marginBox(B,{"h":A})
};
plaxo.style.setMarginBoxWidth=function(B,A){return dojo.marginBox(B,{"w":A})
};
plaxo.style.getBorderBoxHeight=function(A){var B=dojo._getBorderBox(A);
if(B){return B.h
}return -1
};
plaxo.style.getBorderBoxWidth=function(A){var B=dojo._getBorderBox(A);
if(B){return B.w
}return -1
};
plaxo.style.getPadBorderHeight=function(A){var B=dojo._getPadBorderExtents(A);
if(B){return B.h
}return -1
};
plaxo.style.getPadBorderWidth=function(A){var B=dojo._getPadBorderExtents(A);
if(B){return B.w
}return -1
};
plaxo.style.getPaddingWidth=function(A){obj=dojo._getPadExtents(A);
if(obj){return obj.w
}return -1
};
plaxo.style.getAbsolutePosition=dojo.coords;
plaxo.provide("plaxo.common.js.ui.html");
plaxo.provide("plaxo.common.js.util.lang");
if(typeof plaxo.util=="undefined"){plaxo.util={}
}if(typeof plaxo.util.lang=="undefined"){plaxo.util.lang={}
}plaxo.util.listener={_listMap:{},addListener:function(A,B){if(!plaxo.util.lang.isUndefined(B)){if(plaxo.util.lang.isUndefined(this._listMap[A])){this._listMap[A]=[]
}this._listMap[A].push(B)
}},fire:function(D,B,F){if(!B){B=[]
}var C=this._listMap[D];
if(!plaxo.util.lang.isUndefined(C)){for(var A in C){var E=this.getFunc(A,C,B);
if(F){setTimeout(E,10)
}else{E()
}}}},getFunc:function(B,D,C){var A=this;
return function(){D[B].apply(A,C)
}
}};
plaxo.util.listener.add=plaxo.util.listener.addListener;
plaxo.util.lang.parseJSON=function(JSONString){try{return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(JSONString.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+JSONString+")")
}catch(e){return false
}};
plaxo.util.lang.isEmpty=function(F){var D,B;
if(plaxo.lang.isObject(F)){var E=plaxo.lang;
var A=E.isUndefined;
var C=E.isNull;
for(D in F){B=F[D];
if(!A(B)&&!C(B)&&(B!=="")){return false
}}}return true
};
plaxo.util.lang.max=function(B,A){return((A<B)?B:A)
};
plaxo.util.lang.min=function(B,A){return((B>A)?A:B)
};
plaxo.util.lang.rand=function(A){return Math.floor(Math.random()*A)
};
plaxo.util.lang.randBetween=function(B,A){return this.rand(A-B)+B
};
plaxo.util.lang.bind=function(C,B){var A=C;
return function(){return A.apply(B,arguments)
}
};
plaxo.util.lang.bindAsEventListener=function(C,B){var A=C;
return function(D){return A.call(B,D||window.event)
}
};
plaxo.util.lang.getQueryArray=function(){var A=window.location.search.substring(1).split("&");
var E=A.length;
var D={};
for(var C=0;
C<E;
C++){var B=A[C].split("=");
D[decodeURIComponent(B[0])]=decodeURIComponent(B[1])
}return D
};
plaxo.util.lang.doLoop=function(H,C,J,A,E){if(!A){A=0
}if(!E){E=H.length||0
}var I=200;
var B=new Date().getTime();
for(var F=A;
F<E;
F++){if(H){C(H,F)
}else{C(F)
}var D=new Date().getTime();
if(D-B>I){var G=function(){plaxo.util.lang.doLoop(H,C,J,F+1,E)
};
setTimeout(G,0);
return 
}}J()
};
plaxo.util.lang.getCookie=function(B){var C=new RegExp("(?:"+B+"\\=)(.*?)(?:\\;)");
var A=C.exec(document.cookie+";");
if(A){return A[1]
}else{return null
}};
plaxo.util.lang.findElementInArray=function(B,C){var A=0;
while(A<B.length){if(B[A]==C){return true
}else{A++
}}return false
};
plaxo.util.lang.removeElementInArray=function(B,C){var A=0;
while(A<B.length){if(B[A]==C){B.splice(A,1)
}else{A++
}}return B
};
plaxo.util.lang.cloneObj=function(B,A){var C;
var D=new B.constructor();
if(A){for(C in B){if(typeof B[C]=="object"){D[C]=plaxo.util.lang.cloneObj(B[C],true)
}else{D[C]=B[C]
}}}else{for(C in B){D[C]=B[C]
}}return D
};
plaxo.util.keyDoesChange=function(A){A=plaxo.event.fixEvent(A);
if(!A){return false
}var B=A.keyCode;
if(A.ctrlKey){if((B==65)||(B==67)){return false
}if((B==86)||(B==88)){return true
}}if(A.shiftKey&&B==45){return true
}var C=[9,16,17,18,19,20,33,34,35,36,37,38,39,40,44,45,91,93,144,145];
for(var D=0;
D<C.length;
D++){if(B==C[D]){return false
}}return true
};
plaxo.util.decode_utf8=function(A){if(navigator.userAgent.indexOf("Safari/4")==-1){return A
}var C="";
var E=0;
var F,D,B;
while(E<A.length){F=A.charCodeAt(E);
if(F<128){C+=String.fromCharCode(F);
E++
}else{if((F>191)&&(F<224)){D=A.charCodeAt(E+1);
C+=String.fromCharCode(((F&31)<<6)|(D&63));
E+=2
}else{D=A.charCodeAt(E+1);
B=A.charCodeAt(E+2);
C+=String.fromCharCode(((F&15)<<12)|((D&63)<<6)|(B&63));
E+=3
}}}return C
};
if(typeof plaxo.ui=="undefined"){plaxo.ui={}
}if(typeof plaxo.ui.html=="undefined"){plaxo.ui.html={}
}plaxo.ui.html.ellipIdPrefix="ellip-";
if(!plaxo.ui){plaxo.ui={}
}if(!plaxo.ui.html){plaxo.ui.html={}
}if(!plaxo.ui.html.style){plaxo.ui.html.style={}
}plaxo.ui.html.createAnimatedEllipses=function(C,B){var A='<span id="'+plaxo.ui.html.ellipIdPrefix+C+'">...</span>';
if(B){document.write(A)
}plaxo.ui.html.animateEllipses(C);
if(!B){return A
}};
plaxo.ui.html.animateEllipses=function(F){var E=plaxo.byId(plaxo.ui.html.ellipIdPrefix+F);
if(E&&E.style&&E.style.display!="none"){var C=E.innerHTML.length;
var B=(C+1)%4;
var D="";
for(var A=0;
A<B;
A++){D+="."
}E.innerHTML=D
}setTimeout('plaxo.ui.html.animateEllipses("'+F+'")',250)
};
plaxo.ui.html.node_cleanup=function(A){if(!plaxo.lang.isObject(A)){A=plaxo.byId(A)
}if(A){A.innerHTML=""
}};
plaxo.ui.html.setRadioValue=function(D,C){var A=D.length;
for(var B=0;
B<A;
B++){if(D[B].value==C){D[B].checked=true
}else{D[B].checked=false
}}};
plaxo.ui.html.getRadioValue=function(C){var A=C.length;
for(var B=0;
B<A;
B++){if(C[B].checked===true){return C[B].value
}}return null
};
plaxo.ui.html.style.showit=function(){for(var A=0;
A<arguments.length;
A++){var C=arguments[A];
var B=plaxo.byId(C);
if(B){B.style.display=""
}}};
plaxo.ui.html.style.hideit=function(){for(var A=0;
A<arguments.length;
A++){var C=arguments[A];
var B=plaxo.byId(C);
if(B){B.style.display="none"
}}};
plaxo.ui.html.style.clearit=function(){for(var A=0;
A<arguments.length;
A++){var C=arguments[A];
var B=plaxo.byId(C);
if(B){B.innerHTML=""
}}};
plaxo.ui.html.style.visible=function(B){var A=plaxo.byId(B);
if(A){A.style.visibility="visible"
}};
plaxo.ui.html.style.hidden=function(B){var A=plaxo.byId(B);
if(A){A.style.visibility="hidden"
}};
plaxo.ui.html.style.setDisplay=function(A,B){if(B){plaxo.ui.html.style.showit(A)
}else{plaxo.ui.html.style.hideit(A)
}};
plaxo.ui.html.style.setDisplayByClass=function(G,A,D,F){var B=plaxo.ui.html.style.setDisplay;
var E=plaxo.util.html.findElems(G,A,D);
for(var C=0;
C<E.length;
C++){B(E[C],F)
}};
if(!plaxo.ui.html.dom){plaxo.ui.html.dom={}
}plaxo.ui.html.dom.removeChildrenWithoutDelete=function(B,A){return plaxo.ui.html.dom._memorySafeRemoveChildren(B,false)
};
plaxo.ui.html.dom.deleteChildren=function(B,A){return plaxo.ui.html.dom._memorySafeRemoveChildren(B,true)
};
plaxo.ui.html.dom._memorySafeRemoveChildren=function(D,A){if(D&&D.childNodes){var C=D.childNodes.length;
while(D.hasChildNodes()){var B=D.firstChild;
if(A){plaxo.ui.html.dom.purge(B)
}D.removeChild(B)
}return C
}return 0
};
plaxo.ui.html.dom.purge=function(D){var B=D.attributes,C,A,E;
if(B){A=B.length;
for(C=0;
C<A;
C+=1){E=B[C].name;
if(typeof D[E]==="function"){D[E]=null
}}}B=D.childNodes;
if(B){A=B.length;
for(C=0;
C<A;
C+=1){plaxo.ui.html.dom.purge(D.childNodes[C])
}}};
plaxo.ui.html.enableIFrame=function(E,D,A){var G=E.id+"_iframe";
var C=plaxo.byId(G);
if(!C){C=document.createElement("iframe");
C.src="/webapps/common/html/blank.html";
C.name=E.id+"_iframe";
C.id=E.id+"_iframe";
C.className="bgFrame"
}var B=E.parentNode;
if(B){B.appendChild(C)
}else{document.body.appendChild(C)
}C.style.zIndex=E.style.zIndex-1;
C.style.display=E.style.display;
var F=plaxo.style.getAbsolutePosition(E);
C.style.top=F.y;
C.style.left=F.x;
if(!D){D=E.clientWidth
}if(!A){A=E.clientHeight
}C.style.width=((D+4)+"px");
C.style.height=((A+4)+"px");
return C
};
plaxo.ui.html.hideIFrame=function(B){var C=B.id+"_iframe";
var A=plaxo.byId(C);
if(A){plaxo.ui.html.style.hideit(A)
}};
plaxo.ui.html.setDefaultTextColor=function(B,C,A){if(B.value===""){B.value=C;
B.style.color=A
}B.onfocus=function(){plaxo.ui.html.clearDefaultText(B,C)
};
B.onblur=function(){plaxo.ui.html.setDefaultTextColor(B,C,A)
}
};
plaxo.ui.html.clearDefaultText=function(A,B){if(A.value==B){A.value="";
A.style.color=""
}};
plaxo.style.hide=plaxo.ui.html.style.hideit;
plaxo.style.show=plaxo.ui.html.style.showit;
plaxo.style.setOpacity=dojo._setOpacity;
plaxo.style.getViewport=function(){var D=dojo.doc,B=D.documentElement,C=window,A=dojo.body();
if(dojo.isMozilla){return{w:B.clientWidth,h:C.innerHeight}
}else{if(!dojo.isOpera&&C.innerWidth){return{w:C.innerWidth,h:C.innerHeight}
}else{if(!dojo.isOpera&&B&&B.clientWidth){return{w:B.clientWidth,h:B.clientHeight}
}else{if(A.clientWidth){return{w:A.clientWidth,h:A.clientHeight}
}}}}return null
};
plaxo.style.getViewportHeight=function(){var A=plaxo.style.getViewport();
if(A){return A.h
}return -1
};
plaxo.style.getViewportWidth=function(){var A=plaxo.style.getViewport();
if(A){return A.w
}return -1
};
if(!plaxo.util){plaxo.util={}
}if(!plaxo.util.lang){plaxo.util.lang={}
}plaxo.util.lang.isUndefined=plaxo.lang.isUndefined;
plaxo.provide("plaxo.common.js.interface.dojo");
document.onclick=function(A){plaxo.util.listener.fire("windowClick",[A])
};
document.onmouseup=function(A){plaxo.util.listener.fire("mouseUp",[A])
};
document.onmousemove=function(A){plaxo.util.listener.fire("mouseMove",[A])
};
plaxo.requireOnDemand=plaxo.require;
plaxo.date={};
plaxo.date.days=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
plaxo.provide("plaxo.common.js.i18n");
plaxo.provide("plaxo.common.js.log");
plaxo.provide("plaxo.common.js.log.manager");
plaxo.declare("plaxo.log.manager",null,{DEFAULT_LOG_LEVEL:-1,LOG_NONE:0,LOG_FATALS:1,LOG_ERRORS:2,LOG_WARNINGS:4,LOG_INFO:8,LOG_DEBUG:16,LOG_TRACES:32,LOG_ERRS:3,LOG_ERRS_WARNS:7,LOG_DEBUGGING:23,LOG_ALL:63,_logLevel:null,_loggerIds:null,_loggerObjs:null,_loggerLevels:null,initializer:function(A,B){if(plaxo.util.lang.isUndefined(A)){A=this.LOG_NONE
}this.setDefaultLogLevel(Number(A));
this.setTargetLoggers(B)
},setDefaultLogLevel:function(A){this._logLevel=A
},getDefaultLogLevel:function(){return this._logLevel
},setTargetLoggers:function(loggers){var queryLogLevel=plaxo.util.lang.getQueryArray()["logLevel"]||-1;
var profilingMode=plaxo.util.lang.getQueryArray()["profiling"]?true:false;
this.clearTargetLoggers();
if(plaxo.lang.isUndefined(loggers)||!plaxo.lang.isArray(loggers)||queryLogLevel===0){loggers=[]
}if(profilingMode){loggers=[];
loggers[0]=new Array("firebug",2)
}var logger_info;
var logger_objects=[];
var i;
for(i=0;
i<loggers.length;
i++){plaxo.require("plaxo.common.js.log.plugin."+loggers[i][0]);
if(!loggers[i][1]){loggers[i][1]=-1
}logger_info={};
logger_info["id"]=i+"_"+loggers[i][0];
var logLevel=Number(loggers[i][1]);
if(queryLogLevel!=-1&&loggers[i][0]!="alertbox"){logLevel=Number(queryLogLevel)
}logger_info["level"]=logLevel;
eval("logger_info['logger'] = new plaxo.log.plugin."+loggers[i][0]+"();");
logger_objects[logger_objects.length]=logger_info
}for(i=0;
i<logger_objects.length;
i++){this.setTargetLogger(logger_objects[i]["id"],logger_objects[i]["logger"],logger_objects[i]["level"])
}},setTargetLogger:function(C,A,B){if((C===null)||(A===null)){return 
}if(B==undefined){B=-1
}this._loggerIds[this._loggerIds.length]=C;
this._loggerObjs[this._loggerObjs.length]=A;
this._loggerLevels[this._loggerLevels.length]=B
},setTargetLoggerLevel:function(C,B){for(var A=0;
A<this._loggerIds.length;
A++){if(this._loggerIds[A]==C){this._loggerLevels[A]=B;
break
}}},clearTargetLoggers:function(){this._loggerIds=[];
this._loggerObjs=[];
this._loggerLevels=[]
},printStackTrace:function(B,C){try{throw new Error(C||"Printing stack trace")
}catch(A){this.info(A.stack,null,"printStackTrace",B)
}},fatal:function(D,B,A,C){this._logEvent(this.LOG_FATALS,D,B,A,C);
throw new Error(D+" - "+B)
},assert:function(D,E,B,A,C){if(!D){this.fatal("Assertion failed|"+E,B,A,C)
}else{this.trace("Assertion passed|"+E,B,A,C)
}},error:function(D,B,A,C){this._logEvent(this.LOG_ERRORS,D,B,A,C)
},warning:function(D,B,A,C){this._logEvent(this.LOG_WARNINGS,D,B,A,C)
},info:function(D,B,A,C){this._logEvent(this.LOG_INFO,D,B,A,C)
},debug:function(D,B,A,C){this._logEvent(this.LOG_DEBUG,D,B,A,C)
},trace:function(D,B,A,C){this._logEvent(this.LOG_TRACES,D,B,A,C)
},flush:function(){for(var A=0;
A<this._loggerObjs.length;
A++){this._loggerObjs[A].flush()
}},_shouldLogEvent:function(C,B){var A;
A=this._getTypeLogLevel(C,B);
return(A&C)
},_getTypeLogLevel:function(C,B){var A;
if(this._loggerLevels[B]==undefined){A=-1
}else{A=this._loggerLevels[B]
}if(A==-1){A=this._logLevel
}return A
},_logEvent:function(I,A,D,J,C){if(this._loggerObjs.length===0){return 
}if(!A){return 
}var F=[];
F["defaultLogLevel"]=this._logLevel;
var H=false;
for(var E=0;
E<this._loggerIds.length;
E++){F["logLevel"]=this._getTypeLogLevel(I,E);
if(this._shouldLogEvent(I,E)){var L=A.split(/\r?\n/);
for(var B=0;
B<L.length;
B++){var K=L[B];
if(!H){var G=new Date();
F["dateObj"]=G;
F["timestamp"]=G.toLocaleTimeString()+"."+G.getMilliseconds();
F["object"]=C;
if(plaxo.lang.isObject(C)&&C.CLASSNAME){F["classname"]=C.CLASSNAME
}else{F["classname"]=""
}F["function"]=J;
F["data"]=D;
D=plaxo.lang.to_json(D);
H=true
}switch(I){case this.LOG_FATALS:this._loggerObjs[E].fatal(K,D,F);
break;
case this.LOG_ERRORS:this._loggerObjs[E].error(K,D,F);
break;
case this.LOG_WARNINGS:this._loggerObjs[E].warning(K,D,F);
break;
case this.LOG_INFO:this._loggerObjs[E].info(K,D,F);
break;
case this.LOG_DEBUG:this._loggerObjs[E].debug(K,D,F);
break;
case this.LOG_TRACES:this._loggerObjs[E].trace(K,D,F);
break;
default:throw new Error("Unknown log event type: "+I)
}}}}}});
plaxo.logger=new plaxo.log.manager();
plaxo.i18n={_defaultLocale:"en-us",_locale:"en-us",_loadedLocales:{},E_AMPM_AMPM:0,E_AMPM_AP:1,E_AMPM_NONE:2,res:{}};
plaxo.i18n.mixin=function(D,C){var B={};
for(var A in C){if(typeof B[A]=="undefined"||B[A]!=C[A]){if(C[A]===null){if(plaxo.lang.isArrayLike(D[A])){D[A]=[]
}else{D[A]={}
}}else{if(typeof C[A]=="object"&&typeof D[A]=="object"){plaxo.i18n.mixin(D[A],C[A])
}else{D[A]=C[A]
}}}}return D
};
var tempLocale=[{com:{accountsettings:"Account Settings",add:"Add",remove:"Remove",back:"Back",birthday_s:"${name}'s Birthday",cancel:"Cancel",close:"Close",company:"Company",update:"Update Contacts",done:"Done",power_by:"powered by ",display_name:"${first} ${last}",hour:"Hour",min:"Min",timediff_y:"1 year",timediff_ys:"${years} years",timediff_mo:"1 month",timediff_mos:"${months} months",timediff_w:"1 week",timediff_ws:"${weeks} weeks",timediff_d:"1 day",timediff_ds:"${days} days",timediff_dh:"1 day, 1 hour",timediff_dhs:"1 day, ${hours} hours",timediff_dshs:"${days} days, ${hours} hours",timediff_dsh:"${days} days, 1 hour",timediff_m:"1 minute",timediff_ms:"${minutes} minutes",timediff_h:"1 hour",timediff_hs:"${hours} hours",timediff_hm:"1 hour, 1 minute",timediff_hms:"1 hour, ${minutes} minutes",timediff_hsm:"${hours} hours, 1 minute",timediff_hsms:"${hours} hours, ${minutes} minutes",timediff_lessthanone:"less than 1 minute",time_am:"AM",time_am_short:"a",time_pm:"PM",time_pm_short:"p",ordinal_num:["1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th","11th","12th","13th","14th","15th","16th","17th","18th","19th","20th","21st","22nd","23rd","24th","25th","26th","27th","28th","29th","30th","31st"],date_nd:"${date}",date_rd:"${date}",date_st:"${date}",date_th:"${date}",dows:{sat:"Sat",sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",saturday:"Saturday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec",january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},down:"Down",download:"Download",edit:"Edit",emailaddr:"E-mail address",errinvalidemail:"You must enter a valid e-mail address",errorloadingpo:"Error loading Plaxo Online!",failedaction:"The action you requested could not be completed.",feedback_link:"Feedback",help:"Help",hi:"Hi",load_application:"Start Plaxo Online",loading:"Loading",loading_dots:"Loading&hellip;",next:"Next",none:"none",none_date:"",none_month:"(none)",none_year:"(none)",no:"No",ok:"OK",finish:"Finish",ordinals:{first:"first",second:"second",third:"third",fourth:"fourth",last:"last"},password:"Password",plaxosite:"www.plaxo.com",plaxo:"Plaxo",plaxo_online:"Plaxo Online",previous:"Previous",privacy:"Privacy",rememberme:"Remember me on this computer.",search:"Search",send:"Send",servererror:"Server error (${err_code}) - Please try again later",servererror_blank:"Server error (blank response) - Please try again later",switch_classic:"Switch to Plaxo Classic",connectionerror:"Connection error - Check your internet connection",s_delete:"Delete",save:"Save",setting:"Settings",showsticky:"Show/hide sticky notes",signin:"Sign In",signinpo:"Sign in to Plaxo Online",signout:"Sign out",sync:"Sync",sync_point:"Sync Point",time_ago:"${time} ago",today:"Today",tomorrow:"Tomorrow",up:"Up",yes:"Yes",yesterday:"Yesterday",change:"Change",s_new:"New",old:"Old",categories_header:"Categories",all_categories:"All Categories",category_upcoming_birthdays:"Upcoming Birthdays",category_plaxo_members:"Plaxo Members",category_broken_connections:"Broken Connections",category_favorites:"Favorites",folders_header:"Folders",all_folders:"All Folders",possessivestring:"${name}'s",lang:"Language",country:"Country",postal:"Postal Code",postalreq:"US and Canada only.",timezone:"Time Zone",birthday:"Birthday",gender:"Gender",male:"Male",female:"Female",age_req:"You must be over 13 years old. <br>Age will not be shared with anyone"},ci:{noname:"(no name)",card_home:"Home",card_other:"Other",card_work:"Work",short_address:"Address",short_aim:"AIM",short_bday:"Bday",short_card_message:"Message",short_email:"E-mail",short_email2:"E-mail 2",short_email3:"E-mail 3",short_fax:"Fax",short_home:"Home",short_im:"IM",short_mobile:"Mobile",short_pager:"Pager",short_phone:"Phone",short_phone2:"Phone 2",short_phone3:"Phone 3",short_skype:"Skype",short_skypein:"Skype In",short_street:"Street Address",short_street2:"Street Address 2",short_street3:"Street Address 3",short_web:"Web",short_work:"Work",_END_:""},ftue:{start_message:"Start by selecting all the places you have contacts or a calendar"},ab:{title:"Address Book",error_couldnotloadcontactinfo:"Could not load client contact info",_END_:""},task:{title:"Tasks",header:"The all-new Tasks is coming soon!",desc:"For now, you can still see your tasks in Plaxo Online 2.0.",button:"Go to Tasks 2.0",button_tip:"Opens in a new window",status:{not_started:"Not Started",in_progress:"In Progress",completed:"Completed",blocked:"Waiting on someone else",deferred:"Deferred"},percent_complete:"${percent} complete",created:"Created: ${date_time}",modified:"Modified: ${date_time}",due_date_display:"Due: ${date}",no_tasks:"(no tasks)",no_category:"No category",overdue:"overdue",today:"today",tomorrow:"tomorrow",add_task:"Add Task",add:"Add",due_date:"Due Date",show:"Show",all:"All",active:"Active",overdue:"Overdue",due:"Due",task:"Task",high_priority:"High Priority",normal_priority:"Medium Priority",low_priority:"Low Priority",no_priority:"No Priority",high:"High",normal:"Medium",low:"Low",none:"None",valid_date:"You have entered an invalid due date. Please enter dates in numeric format e.g. 12/8/2004",valid_subject:"You must enter a subject",recurrence:{occurs_once:"This task only occurs once",repeats_every:"This task repeats every"},task_form:{add_task:"Add Task",edit_task:"Edit Task",details:"Details",notes:"Notes",subject:"subject",start_date:"start date",due_date:"due date",priority:"priority",percent_complete:"% comp.",folder:"folder",status:"status",recurrence:"recurrence",add:"Add",cancel:"Cancel",del:"Delete",save:"Save",confirmDelete:"Are you sure you want to delete this task?",error_loading:"Could not load the task. It may have been deleted.",error_saving:"The task could not be saved.",taskadded:"Task has been added",taskupdated:"Task has been updated",taskdeleted:"Task has been deleted",validate_no_subject:"You must enter a subject.",validate_invalid_date:"The task's start date must be before the due date.",validate_invalid_start:"You have entered an invalid start date. Please enter dates in numeric format e.g. 12/8/2004",validate_subject_too_long:"The task's subject must be less than 255 characters."},_END_:""},note:{title:"Notes",header:"The all-new Notes is coming soon!",desc:"For now, you can still see your notes in Plaxo Online 2.0.",button:"Go to Notes 2.0",button_tip:"Opens in a new window",confirm_delete:"Are you sure you want to delete this note?",add_note:"Add Note",add:"Add",del:"Delete",save:"Save",empty:"empty",no_notes:"(no notes)",colors:{Blue:"Blue",Green:"Green",Pink:"Pink",Yellow:"Yellow",White:"White"},add_error:"An error occurred adding the note.",save_error:"An error occurred saving the note.",delete_error:"An error occurred deleting the note.",_END_:""},news:{title:"News",header:"Feeds",feed_dropdown_header:"Available Feeds",_END_:""},searchbox:{text:"Find people, Pulse shares and more...",_END_:""},deduper:{title:"De-Duper",premium:"Contact<br>De-duper<br>PREMIUM",upsell1:"<b>Contact De-Duper</b> is a feature of Plaxo Premium.",upsell2:"<b>The De-Duper</b> makes it easy to find and fix duplicate entries in your address book. Get started now with a 30-day free trial!",upsell3:"<b>Other features</b> of Plaxo Premium include unlimited eCards, access from your mobile phone, recovery of your data in case of loss, VIP support, and more.",upsell_button:"Try De-Duper for Free",inaction1:"<b>Find</b> and remove duplicate contacts and calendar items quickly, safely and easily.",inaction_button:"Run De-duper",_END_:""},ec:{title:"Ecards",premium:"Plaxo<br>eCards<br>PREMIUM",upsell1:"<b>Improve</b> your karma? Send high-quality eCards to the people you care about. Get started now with a 30-day free trial!",upsell2:"<b>Upload</b> you own photo or choose from our wide selection of cards for birthdays, holidays, and special occasions. Customize the text and font, pick a border, and send.",upsell_button:"Try eCards for Free",browse_collection:"Browse the collection",learn_more:"Learn more",inaction1:"<b>Send</b> unlimited eCards and upload your own photo to send as an eCard.",inaction_button:"Go to Plaxo eCards",upcomingevents:"Upcoming Events"},mobile:{title:"Mobile",premium:"Plaxo<br>Mobile<br>PREMIUM",upsell1:"<b>Mobile Access</b> is a feature of Plaxo Premium.",upsell2:"<b>Access</b> you entire Plaxo address book from your mobile phone. See full contact details for everyone in your address book. Just click to dial any number.",upsell3:"<b>Access</b> your calendar, tasks, and notes from your phone.",upsell4:"<b>Plaxo Premium</b> also includes Contact De-Duper, VIP Support, unlimited eCards and more.",upsell_button:"Try Mobile for Free",inaction1:"<b>Access</b> your contacts, calendar, tasks and notes from your mobile phone.",inaction_button:"Get Started",_END_:""},premium:{title:"Premium",premium_init:"What's in Plaxo Premium?",ecards_title:"Premium eCards",ecards_desc:"Send unlimited eCards and upload your own photo to send as an eCard.",deduper_title:"De-Duper",deduper_desc:"Find and remove duplicate contacts and calendar items quickly, safely and easily.",linkedin_title:"LinkedIn sync",linkedin_desc:"Keep your address book in sync with your LinkedIn network with the click of a button.",backup_title:"Backup & Recovery",backup_desc:"When disaster strikes and you want to restore your address book to how it was on a previous date, help is just a click away. Pick the date you want to restore from, and in an instant, your address book will be recovered.",premium_new:"New!",premium_improved:"Recently Updated!",more_included:"All of these and more are included in Plaxo Premium.",try_free:"Try Premium for FREE for 30 days.",_END_:""},desk:{lastupdate:"Last updated ${date}",myinfo_bubble:"Click Edit to add a photo or update your contact info.",premium_ad_upsell:"To turn off ads, upgrade to Premium. Start your 30-day <a href='#'>free trial</a>.",dashboard_bubble:"Use the Sync Dashboard to sync with the programs and websites you already use.",edit_profile_tip:"Update your contact information",switch_tip:"Go back to the old Plaxo",feedback_tip:"Tell us what you think",company_tip:"Learn more about Plaxo",settings_tip:"Change settings for Plaxo 3.0",help_tip:"Online support for Plaxo 3.0",signout_tip:"Sign out of Plaxo",minimize_component_tip:"Shrink",maximize_component_tip:"Expand",messages:"Messages",settings:"Settings",help:"Help",fan:"Fan Pages",ecards:"eCards",tab_pulse:"Pulse",tab_people:"People",tab_calendar:"Calendar",tab_profile:"My Profile",subtab_connections:"Connections",subtab_make_connections:"Make Connections",subtab_view_connections:"View Connections",subtab_addressbooks:"Address Book",subtab_groups:"Groups",subtab_tools:"Tools",subtab_calendar:"Calendar",subtab_tasks:"Tasks",subtab_notes:"Notes",premium_premium:"Plaxo Premium",premium_outlook:"Outlook Sync",premium_dedup:"Remove Duplicates",premium_backup:"Backup Contacts",premium_vip:"Premium Support",premium_ecard:"Send eCards",premium_wm:"Windows Mobile Sync",premium_invite:"Invite Friends",_END_:""},sync:{title:"Sync points:",title_info:"Sync your data with the tools and services you already use",add_sync_point:"Add sync points",add_sync_point_info:"Click here to sync your data with Google, Yahoo, Outlook and more",suggested:"Recommended",username:"Username",screenname:"Screenname",yahoo_id:"Yahoo! ID",yahoo_japan_id:"Yahoo! Japan ID",facebook_id:"Facebook Name",mobile_access_friendly:"Mobile Access",outlook_profile_img:"clientscreens/outlook_ctc.jpg",mac_profile_img:"clientscreens/mac_CTC.jpg",sync_log_text:"Sync Log",sync_log_info:"View your sync history",settings_text:"Manage",settings_info:"Manage this sync point",credentials_text:"Login Information",credentials_info:"Update your ${type} password",folders_text:"Manage Folders",folders_info:"Manage your Plaxo folders",alerts_text:"Plaxo Alerts",alerts_info:"View activity in your Plaxo Network",alerts_title:"Plaxo Alerts",close_text:"Close the Sync Dashboard",dashboard:"Sync Dashboard",dashboard_header:"SYNC DASHBOARD",available_syncs:"All Available Sync Points",generic_sync_error:"You have a Sync Error",error_unknown:"The last sync failed because of an unknown error.",error_setup:"An error occurred when trying to setup the sync point.",status_normal:"All of your sync points are working",error_disabled:"Auto-Sync has been turned off for this sync point",error_bad_login:"Connection attempt failed because of an incorrect username or password. Please check your info and try again.",error_not_responding:"The last sync attempt failed. We'll try to sync again in a moment.",error_software:"We're having trouble synchronizing with your ${client} account.",error_folder_deleted:"The last sync failed because the syncing folder was deleted",error_exceeded_time_limit:"It looks like this sync will take more than a few minutes, so we'll take care of this for you behind the scenes.",error_login_attempts_exceeded:"The last sync failed because the number of login attempts allowed was exceeded",error_endpoint_not_setup:"The connection failed because your ${client} account has not been set up.",error_endpoint_not_setup_cal:"The connection failed because your ${client} calendar is not set up.",error_endpoint_not_setup_ab:"The connection failed because your ${client} address book is not set up.",error_previously_estab:"A sync point has already been established on this Plaxo account with this ${client} username.",error_previously_estab_another_user:"A sync point has already been established by another Plaxo user with this ${client} username.",error_in_progress:"The last sync failed because a sync is already in progress",error_upgrade_needed:"A new version is available. Please upgrade this client.",error_remote_auth_needed:"This sync point has been disabled because it requires re-authentication.",error_item_limit_exceeded:"This sync point has been disabled because you have exceeded the 10,000 item limit.",upgrade_needed_status:"A new version of this client is available. <a href='#'>Click here</a> to upgrade.",error_hippo:"We were unable to sync with ${name} (${type}). Please <a href='javascript:;'>update your password</a>.",empty_dashboard:"Want to <a href='javascript:;'>set up a sync point</a>?",error_unknown_sync_point:"The sync point requested does not exist for this account.",error_remote_auth:"This sync point has been deactivated and requires that you re-enter your username and password. <a href='#'>Click here</a> to re-activate this sync point.",error_partial_sync:"Synchronization is still in progress and should be completed momentarily.",old_sync_points_message:"Old Plaxo clients are not shown in Sync Dashboard. Upgrade to the latest version of Plaxo by using the buttons to the right.",last_attempted:"Last attempted sync",last_sync:"Last sync",setup:{import_added_zero:"No new contacts were added to your address book",import_added_one:"1 contact was added to your address book.",import_added_many:"${numAdded} contacts were added to your address book.",import_updated_one:"1 of your existing contacts was updated.",import_updated_many:"${numUpdated} of your existing contacts were updated.",import_only_banner_non_auto:"<strong>Note:</strong> This is a one-way sync point, which adds contacts from ${client} to your Plaxo address book. It is currently triggered manually. An automated option is coming soon.",import_only_banner_auto:"<strong>Note:</strong> Currently, ${client} contact sync is one-way only. Contacts added to your ${client} address book will be added to your Plaxo address book automatically."},ids:{yahoo:"Yahoo! ID",hotmail:"Email",google:"Username",aol:"Screenname",linkedin:"E-mail address",facebook:"E-mail"},tooltip_plaxo:"Manage your sync folders, view sync history and keep track of activity in your network",tooltip_comcast:"SmartZone sync points",comcast_sync_point_text:"You can use your SmartZone&trade; Address Book from many places within Comcast.",confirm_unsaved_changes:"Are you sure you want to leave without saving your changes?",_END_:""},meebo:{title:"IM"},feed:{title:"Pulse"},friends:{title:"Connections"},groups:{title:"Groups"},folder:{title:"Folder"},brs:{module_title:"BRS"},tools:{module_title:"Tools"},myinfo:{module_title:"My Info"},_skel_:{title:"_skel_"},cal:{add_event_link:"Add event",add_event_tooltip:"Add new event",add_task_link:"Add task",allday:"all day",block_view_link:"Block",calendar_toggle_tooltip:"Click to hide/show events",calendars_menu_title:"Calendars",countdowns_header:"Countdowns",countdowns_add_link:"add",countdowns_add_tooltip:"Add event as countdown",countdowns_in_progress:"right now!",currently_time:"Currently ${time}",day_view_title:"Day",edit_birthday_error:"Sorry, it is not yet possible to edit birthday events.",flickr_view_image_link:"view photo",flickr_view_image_link_tooltip:"view this photo on flickr",flickr_settings_link:"settings",flickr_settings_link_tooltip:"change the way photos are displayed on your calendar",flickr_invalid_account_error:"The Flickr account '${name}' could not be found",flickr_api_error:"Error contacting Flickr. Please try again in a few minutes.",header_text_tooltip:"Click to select date",hide_earlier_events:"hide earlier events",list_view_link:"List",location:"Location",manage_cal_link:"Share & Manage",manage_cal_link_private:"Manage",manage_cal_tooltip:"Share and manage your calendars",manage_cal_tooltip_private:"Manage your calendars",module_title:"Calendar",month_view_title:"Month",my_birthday:"My Birthday",next_three_weeks:"Next three weeks",next_event_in_time:"Next event in ${time}",noon:"noon",no_countdowns:"No countdowns.",no_events:"You're free! =)",no_title:"no title",num_earlier_events:"${num} earlier events",n_more:"${n} more",one_earlier_event:"1 earlier event",today:"Today",tomorrow:"Tomorrow",upcoming_view_title:"Upcoming",weather_enter_home_address:"Enter home address...",weather_enter_work_address:"Enter work address...",weather_header:"Weather",weather_dropdown_header:"Weather Locations",weather_change_link:"change",weather_change_tooltip:"Change weather location",weather_click:"View extended forecast from Weather Underground",weather_current_temp:"Currently: ${temp}",weather_extended_link:"more &#187;",weather_high_temp_symbol:"H",weather_load_error:"We couldn't find weather for this location. Please make sure the location you entered is in English.",weather_low_temp_symbol:"L",weather_other_option:"Other",weather_prompt_message:"Please enter a location (in English)",weather_prompt_title:"Weather Location",weather_prompt_example:'eg: "Paris, France", "Mountain View, CA" or "94043".',weather_unavailable:"We're sorry, weather is unavailable for that location.",weekends:"Show weekends",weekends_toggle_tooltip:"Show or hide weekends",week_select_cell_tooltip:"Click to view this week",week_view_title:"Week",yesterday:"Yesterday",you_have_no_events:"You have no current calendar events.",you_should_sync:"Sync your calendar with Outlook, Mac, Google or Yahoo.",weather_conditions:{unknown:"Unknown",chance_flurry:"Chance of Flurry",chance_rain:"Chance of Rain",chance_sleet:"Chance of Sleet",chance_snow:"Chance of Snow",chance_storms:"Chance of Storms",clear:"Clear",cloudy:"Cloudy",flurries:"Flurries",fog:"Fog",hazy:"Hazy",mostly_cloudy:"Mostly Cloudy",mostly_sunny:"Mostly Sunny",partly_cloudy:"Partly Cloudy",partly_sunny:"Partly Sunny",rain:"Rain",sleet:"Sleet",snow:"Snow",sunny:"Sunny",thunderstorms:"Thunderstorms",_END_:""},shared_cal:{public_title:"${names} Public Calendar",shared_title:"${names} Shared Calendar",all_day_event:"All Day Event",icaldesc:"Use the iCal file to view the events in your Plaxo calendar or other calendar programs.",get_ical:"Gimme an iCal",no_events_found:"No Shared Events Found",data_failure:"Could not load public calendar data. This user may have not published any calendars.",busy:"Busy",_END_:""},event_form:{_END_:""},_END_:""},date_format:"MonthFirst",date_generalformat:"mm/dd/yyyy",date_long:"${month_mm}/${date_dd}/${year}",date_med:"${month}/${date}/${year_yy}",date_short:"${month}/${date}",date_text_formats:{MonthFirst:{date_generalformat:"mm/dd/yyyy",date_long:"${month_mm}/${date_dd}/${year}",date_med:"${month}/${date}/${year_yy}",date_short:"${month}/${date}",date_tshort:"${month_t} ${date}",date_tmed:"${month_tt} ${date_th}",date_tlong:"${month_tt} ${date_th}, ${year}",date_mon_n_year:"${month_t} ${date}, ${year}",date_mon_nth_year:"${month_t} ${date_th}, ${year}",date_mon_nth:"${month_t} ${date_th}",date_month_year:"${month_tt} ${year}",date_nth_month:"${month_tt} ${date_th}",date_nth_month_year:"${month_tt} ${date_th}, ${year}",date_fri_nth_mon:"${dow_short}, ${month_t} ${date_th}",date_friday_nth_month:"${dow_long}, ${month_tt} ${date_th}",date_friday_nth_month_year:"${dow_long}, ${month_tt} ${date_th}, ${year}",date_date_range_start:"${month_t} ${date}",date_date_range_end:"${date}, ${year}",date_date_range_end_diff_mon:"${month_t} ${date}, ${year}"},DayFirst:{date_generalformat:"dd/mm/yyyy",date_long:"${date_dd}/${month_mm}/${year}",date_med:"${date}/${month}/${year_yy}",date_short:"${date}/${month}",date_tshort:"${date} ${month_t}",date_tmed:"${date_th} ${month_tt}",date_tlong:"${date_th} ${month_tt}, ${year}",date_mon_n_year:"${date} ${month_t}, ${year}",date_mon_nth_year:"${date_th} ${month_t} ${year}",date_mon_nth:"${date_th} ${month_t}",date_month_year:"${month_tt} ${year}",date_nth_month:"${date_th} ${month_tt}",date_nth_month_year:"${date_th} ${month_tt}, ${year}",date_fri_nth_mon:"${dow_short}, ${date_th} ${month_t}",date_friday_nth_month:"${dow_long}, ${date_th} ${month_tt}",date_friday_nth_month_year:"${dow_long}, ${date_th} ${month_tt}, ${year}",date_date_range_start:"${date} ${month_t}",date_date_range_end:"${date}, ${year}",date_date_range_end_diff_mon:"${date} ${month_t}, ${year}"},YearFirst:{date_generalformat:"yyyy-mm-dd",date_long:"${year}-${month_mm}-${date_dd}",date_med:"${year_yy}-${month}-${date}",date_short:"${month}-${date}",date_tshort:"{month_t} ${date}",date_tmed:"${month_tt} ${date_th}",date_tlong:"${year} ${month_tt} ${date_th}",date_mon_n_year:"${year} ${month_t} ${date}",date_mon_nth_year:"${year} ${month_t} ${date_th}",date_mon_nth:"${month_t} ${date_th}",date_month_year:"${year} ${month_tt}",date_nth_month:"${month_tt} ${date_th}",date_nth_month_year:"${year} ${month_tt} ${date_th}",date_fri_nth_mon:"${dow_short}, ${month_t} ${date_th}",date_friday_nth_month:"${dow_long}, ${month_tt} ${date_th}",date_friday_nth_month_year:"${dow_long}, ${year}, ${month_tt} ${date_th}",date_date_range_start:"${year} ${month_t} ${date}",date_date_range_end:"${date}",date_date_range_end_diff_mon:"${month_t} ${date}"}},date_tshort:"${month_t} ${date}",date_tmed:"${month_tt} ${date_th}",date_tlong:"${month_tt} ${date_th}, ${year_yyyy}",date_startingDayOfWeek:0,temperature_format:"F",time_format:"Hour12",time_generalformat:"hh:mm AM",time_text_formats:{Hour12:{time_short_zero_minute:"${hour12}${meridiem_short}",time_short:"${hour12}:${minute_mm}${meridiem_short}",time_full:"${hour12}:${minute_mm} ${meridiem_long}"},Hour24:{time_short_zero_minute:"${hour24}",time_short:"${hour24}:${minute_mm}",time_full:"${hour24}:${minute_mm}"}},time_ago:"${time} ago",reminder_numset:"${num_reminders} reminders set",reminder_oneset:"1 reminder set",my_edit_profile_title:"Click to edit your contact info",my_editmyinfo:"My Profile",my_update_cards_hippo:'Keep your <a href="#">profile</a> up to date so friends and family can keep in touch.',leave_feedback:"Leave Feedback",recurrence:{repdaily:"Daily",repDay_1:"every day",repDay_1_until:"every day until ${until}",repDay_many:"every ${interval} days",repDay_many_until:"every ${interval} days until ${until}",repMonthByDayDesc:"on the ${day}",repMonthByPositionDesc:"on the ${position} ${dayOfWeek}",repmonthly:"Monthly",repMonth_1:"every month ${description}",repMonth_1_until:"every month ${description} until ${until}",repMonth_many:"every ${interval} months ${description}",repMonth_many_until:"every ${interval} months ${description} until ${until}",repnever:"None",repweekly:"Weekly",repWeek_1:"every week on ${daysOfWeek}",repWeek_1_until:"every week on ${daysOfWeek} until ${until}",repWeek_many:"every ${interval} weeks on ${daysOfWeek}",repWeek_many_until:"every ${interval} weeks on ${daysOfWeek} until ${until}",repYear:"every year ${description}",repYearByDayDesc:"on the ${day} of ${month}",repYearByPositionDesc:"on the ${position} ${dayOfWeek} of ${month}",repyearly:"Yearly",repYear_until:"every year ${description} until ${until}",regDay:"regenerates after ${interval} day(s)",regDay_until:"regenerates after ${interval} day(s) until ${until}",regWeek:"regenerates after ${interval} week(s)",regWeek_until:"regenerates after ${interval} week(s) until ${until}",regMonth:"regenerates after ${interval} month(s)",regMonth_until:"regenerates after ${interval} month(s) until ${until}",regYear:"regenerates after ${interval} year(s)",regYear_until:"regenerates after ${interval} year(s) until ${until}",weeks_on:"week(s) on",months:"month(s)",recurrence_ends_header:"Stop recurring",recurrence_ends_never:"Never",recurrence_ends_on_date:"On",recurrence_frequency_header:"Frequency",regenerate_day:'regenerate task <input type="text" class="text" style="width:25px;"> day(s) after each task is completed',regenerate_week:'regenerate task <input type="text" class="text" style="width:25px;"> week(s) after each task is completed',regenerate_month:'regenerate task <input type="text" class="text" style="width:25px;"> month(s) after each task is completed',regenerate_year:'regenerate task <input type="text" class="text" style="width:25px;"> year(s) after each task is completed',days:"day(s)"},exceeded_title:"Sync has been disabled",exceeded_contacts:"You have exceeded the maximum number of contacts. Plaxo has a 10,000 contact limit. To re-enable synchronization, please delete some contacts.",exceeded_tasks:"You have exceeded the maximum number of tasks. Plaxo has a 10,000 task limit. To re-enable synchronization, please delete some tasks.",exceeded_events:"You have exceeded the maximum number of events. Plaxo has a 10,000 event limit. To re-enable synchronization, please delete some events.",exceeded_notes:"You have exceeded the maximum number of notes. Plaxo has a 10,000 note limit. To re-enable synchronization, please delete some notes.",exceeded_contacts_add_disabled:"You have exceeded the maximum number of contacts. Plaxo has a 10,000 contact limit. Please delete some contacts and try again.",exceeded_contacts_add_disabled_title:"Add contact disabled",exceeded_events_add_disabled:"You have exceeded the maximum number of events. Plaxo has a 10,000 event limit. Please delete some events and try again.",exceeded_events_add_disabled_title:"Add event disabled",__END__:""}];
plaxo.i18n._loadedLocales[plaxo.i18n._defaultLocale]={};
plaxo.i18n._loadedLocales[plaxo.i18n._defaultLocale]["common"]={};
plaxo.i18n._loadedLocales[plaxo.i18n._defaultLocale]["common"].res=tempLocale[0];
plaxo.i18n._loadedLocales[plaxo.i18n._defaultLocale]["common"].loadtype="dyna";
plaxo.i18n.mixin(plaxo.i18n.res,plaxo.i18n._loadedLocales[plaxo.i18n._defaultLocale]["common"].res);
plaxo.provide("plaxo.common.js.resources");
plaxo.i18n.LoadResource=function(lang,module,reshead){var retLang=lang;
function isLoaded(lang,module,reshead){return plaxo.i18n._loadedLocales[lang]&&plaxo.i18n._loadedLocales[lang][module+"."+reshead]
}function calcNext(lang){if(lang==plaxo.i18n._defaultLocale){return null
}if(lang=="xx"){return plaxo.i18n._defaultLocale
}if(lang.indexOf("-")!==-1){return lang.split("-")[0]
}return"xx"
}function overlay(lang,module,reshead){if(isLoaded(lang,module,reshead)){var thisResource=plaxo.i18n._loadedLocales[lang][module+"."+reshead];
switch(thisResource.loadtype){case"dyna":plaxo.i18n.mixin(plaxo.i18n.res,thisResource.res);
return true;
break;
case"error":default:return false;
break
}}return false
}function g_plx_dynLoad(lang,module,reshead){function storeResource(lang,module,reshead,dat){var modPath=module+"."+reshead;
if(typeof dat=="undefined"){if(!plaxo.i18n._loadedLocales[lang]){plaxo.i18n._loadedLocales[lang]=[]
}plaxo.i18n._loadedLocales[lang][modPath]={loadtype:"error"}
}else{if(!plaxo.i18n._loadedLocales[lang]){plaxo.i18n._loadedLocales[lang]={}
}plaxo.i18n._loadedLocales[lang][modPath]={};
dat=plaxo.util.decode_utf8(dat);
plaxo.i18n._loadedLocales[lang][modPath].res=eval("("+dat+")");
plaxo.i18n._loadedLocales[lang][modPath].loadtype="dyna"
}}var bindArgs={url:"/webapps/"+module+"/nls/"+lang+"/"+reshead+".js?"+g_plx_version,mimetype:"text/plain",sync:true,error:function(){storeResource(lang,module,reshead)
},load:function(data){storeResource(lang,module,reshead,data)
}};
plaxo.xhr(bindArgs)
}lang=lang.toLowerCase().replace("_","-");
if(!isLoaded(lang,module,reshead)){g_plx_dynLoad(lang,module,reshead)
}var nextLang=calcNext(lang);
if(nextLang){retLang=plaxo.i18n.LoadResource(nextLang,module,reshead)
}if(overlay(lang,module,reshead)){retLang=lang
}return retLang
};
plaxo.i18n.localize=function(A,B){return plaxo.i18n.LoadResource(plaxo.i18n.getLocale(),A,B)
};
plaxo.i18n.languages=[{langCode:"en",language:"English",enabled:1},{langCode:"de",language:"Deutsch",enabled:1},{langCode:"es",language:"Espa\u00F1ol",enabled:1},{langCode:"fr",language:"Fran\u00E7ais",enabled:1},{langCode:"it",language:"Italiano",enabled:0},{langCode:"pt",language:"Portugu\u00EAs",enabled:1},{langCode:"ja",language:"\u65E5\u672C\u8A9E",enabled:1},{langCode:"zhs",language:"\u7B80\u4F53\u4E2D\u6587",enabled:1},{langCode:"zht",language:"\u7E41\u9AD4\u4E2D\u6587",enabled:0}];
plaxo.i18n.initI18N=function(){plaxo.i18n._timezone=plaxo.i18n.guessTimezone();
var B=plaxo.i18n.res;
var D=B.com;
var C=D.dows;
var A=D.months;
D.dow_long=null;
D.dow_short=null;
D.months_long=null;
D.months_short=null;
D.ordinal=null;
D.dow_long=[C.sunday,C.monday,C.tuesday,C.wednesday,C.thursday,C.friday,C.saturday];
D.dow_short=[C.sun,C.mon,C.tue,C.wed,C.thu,C.fri,C.sat];
D.months_long=[A.january,A.february,A.march,A.april,A.may,A.june,A.july,A.august,A.september,A.october,A.november,A.december];
D.months_short=[A.jan,A.feb,A.mar,A.apr,A.may,A.jun,A.jul,A.aug,A.sep,A.oct,A.nov,A.dec];
D.ordinal=[D.ordinals.first,D.ordinals.second,D.ordinals.third,D.ordinals.fourth,D.ordinals.last]
};
plaxo.i18n.guessLocale=function(){var A=plaxo.util.lang.getQueryArray()["setLocale"];
if(A){plaxo.i18n._newLocale=A.toLowerCase();
return plaxo.i18n._newLocale
}var C=g_plx_initialData["getPreferences"];
if(C){var B=plaxo.lang.from_json(C);
if(B&&B.preferences&&B.preferences.locale){A=B.preferences.locale;
A=A.replace("_","-");
if(A.indexOf("-")<0&&B.preferences.country){A+="-"+B.preferences.country
}plaxo.i18n._newLocale=A.toLowerCase();
return plaxo.i18n._newLocale
}}A=plaxo.util.lang.getCookie("PlaxoLang");
if(A){A=A.replace("_","-");
plaxo.i18n._newLocale=A.toLowerCase();
return plaxo.i18n._newLocale
}if(g_plx_acceptlang){plaxo.i18n._newLocale=g_plx_acceptlang.split(",")[0].split(";")[0];
return plaxo.i18n._newLocale
}if(navigator){if(navigator.language){plaxo.i18n._newLocale=navigator.language.toLowerCase();
return plaxo.i18n._newLocale
}if(navigator.browserLanguage){plaxo.i18n._newLocale=navigator.browserLanguage.toLowerCase();
return plaxo.i18n._newLocale
}if(navigator.userLanguage){plaxo.i18n._newLocale=navigator.userLanguage.toLowerCase();
return plaxo.i18n._newLocale
}}plaxo.i18n._newLocale=plaxo.i18n._defaultLocale;
return plaxo.i18n._newLocale
};
plaxo.i18n.getLocale=function(A){if(A){return plaxo.i18n._locale.replace("-","_")
}return plaxo.i18n._locale
};
plaxo.i18n.setLocale=function(A){plaxo.i18n._locale=A
};
plaxo.i18n.getLanguage=function(){return plaxo.i18n._locale.replace("-","_").split("_")[0]
};
plaxo.i18n.getDownloadSuffix=function(){var A=plaxo.i18n.getLanguage();
return A
};
plaxo.i18n.overrideFormats=function(C,B,A){if(plaxo.util.lang.isUndefined(C)){C=plaxo.i18n.res.date_format
}else{plaxo.i18n.res.date_format=C
}if(plaxo.util.lang.isUndefined(B)){B=plaxo.i18n.res.time_format
}else{plaxo.i18n.res.time_format=B
}plaxo.i18n.mixin(plaxo.i18n.res,plaxo.i18n.res.date_text_formats[C]);
switch(C){case"DayFirst":plaxo.i18n.dateMatch.push(plaxo.i18n.dateMatchDMY);
break;
case"MonthFirst":plaxo.i18n.dateMatch.push(plaxo.i18n.dateMatchMDY);
break;
case"YearFirst":plaxo.i18n.dateMatch.push(plaxo.i18n.dateMatchMDY);
plaxo.i18n.dateMatch.push(plaxo.i18n.dateMatchDMY);
break;
default:break
}plaxo.i18n.mixin(plaxo.i18n.res,plaxo.i18n.res.time_text_formats[B])
};
plaxo.i18n.stringDateRange=function(B,A){var D;
var C=plaxo.i18n.res;
if(B.getMonth()==A.getMonth()){D=plaxo.i18n.stringDate(C.date_date_range_start,B)+" - "+plaxo.i18n.stringDate(C.date_date_range_end,A)
}else{D=plaxo.i18n.stringDate(C.date_date_range_start,B)+" - "+plaxo.i18n.stringDate(C.date_date_range_end_diff_mon,A)
}return D
};
plaxo.i18n.timestamp=function(A){var B=plaxo.i18n.stringDate(plaxo.i18n.res.date_long,A)+" ";
B+=plaxo.i18n.stringFullTime(A);
return B
};
plaxo.i18n.guessTimezone=function(){var H=plaxo.i18n.timezones;
var I=new Date();
I.setMonth(12);
I.setDate(1);
var C=I.getTimezoneOffset();
I.setMonth(6);
var A=I.getTimezoneOffset();
var G=0;
var F,B;
if(A>C){F=A;
B=C
}else{F=C;
B=A
}if(B!=F){G=1
}F*=-60;
var E=443;
for(var D in H){if(F==H[D][1]){E=H[D][0];
if(G==H[D][2]){break
}}}return E
};
plaxo.i18n.timezones=[[1001,-43200,0],[414,-39600,0],[441,-36000,0],[449,-32400,1],[444,-28800,1],[442,-25200,0],[447,-25200,1],[162,-25200,1],[86,-21600,0],[448,-21600,1],[161,-21600,1],[318,-21600,0],[63,-18000,0],[443,-18000,1],[445,-18000,0],[319,-14400,1],[73,-14400,0],[152,-14400,1],[314,-12600,1],[1003,-10800,1],[53,-10800,0],[1004,-10800,1],[1005,-7200,1],[279,-3600,1],[278,-3600,0],[40,0,0],[376,0,1],[328,3600,1],[378,3600,1],[333,3600,1],[373,3600,1],[1006,3600,0],[330,7200,1],[334,7200,1],[52,7200,1],[24,7200,0],[338,7200,1],[270,7200,0],[198,10800,1],[226,10800,0],[363,10800,1],[41,10800,0],[256,12600,1],[229,14400,0],[200,14400,1],[218,16200,0],[1007,18000,1],[220,18000,0],[1008,19800,0],[222,20700,0],[193,21600,1],[272,21600,0],[1010,21600,0],[238,23400,0],[201,25200,0],[223,25200,1],[271,28800,0],[215,28800,1],[258,28800,0],[292,28800,0],[257,28800,0],[253,32400,0],[260,32400,0],[248,32400,1],[307,34200,1],[300,34200,0],[304,36000,0],[309,36000,1],[408,36000,0],[298,36000,1],[247,36000,1],[227,39600,0],[432,43200,1],[219,43200,0],[1009,46800,0]];
plaxo.i18n.paramString=function(D,C,A){var B=plaxo.lang.escapeXML;
if(typeof C!="object"){return D
}if(typeof D=="undefined"){return""
}return D.replace(/\$\{([\w\.]+)\}/g,function(E,G){var I=C;
var H=G.split(".");
for(var F in H){if(typeof I[H[F]]!="undefined"){I=I[H[F]]
}else{return"???"
}}return(A?B(I.toString()):I)
})
};
plaxo.i18n.possessivize=function(A){return plaxo.i18n.paramString(plaxo.i18n.res.com.possessivestring,{name:A})
};
function zeroPad(A){if(A<10){return"0"+A
}else{return A
}}plaxo.i18n.objectifyDate=function(A){var B={};
B.day=A.getDay();
B.date=A.getDate();
B.month=A.getMonth()+1;
B.year=A.getFullYear();
B.dow_long=plaxo.i18n.res.com.dow_long[A.getDay()];
B.dow_short=plaxo.i18n.res.com.dow_short[A.getDay()];
B.date_dd=zeroPad(B.date);
B.month_mm=zeroPad(B.month);
B.year_yy=zeroPad(B.year%100);
B.hour=A.getHours();
B.minute=A.getMinutes();
B.second=A.getSeconds();
B.hour24=B.hour;
B.hour24_hh=zeroPad(B.hour24);
B.hour12=B.hour%12||12;
B.hour12_hh=zeroPad(B.hour12);
B.minute_mm=zeroPad(B.minute);
B.second_ss=zeroPad(B.second);
B.meridiem_short=A.getHours()<12?plaxo.i18n.res.com.time_am_short:plaxo.i18n.res.com.time_pm_short;
B.meridiem_long=A.getHours()<12?plaxo.i18n.res.com.time_am:plaxo.i18n.res.com.time_pm;
B.ms=A.getMilliseconds();
B.serial=A.getTime();
B.date_th=plaxo.i18n.res.com.ordinal_num[B.date-1];
B.month_t=plaxo.i18n.res.com.months_short[B.month-1];
B.month_tt=plaxo.i18n.res.com.months_long[B.month-1];
return B
};
plaxo.i18n.stringDate=function(B,D,A,F){var C={};
if(typeof D=="object"){C=D
}else{C=new Date(D,A-1,F)
}var E=plaxo.i18n.objectifyDate(C);
return plaxo.i18n.paramString(B,E)
};
plaxo.i18n.stringDateTS=function(A,C){var B=toLocalTime(C);
return plaxo.i18n.stringDate(A,B)
};
plaxo.i18n.stringStdTime=function(A){if(A.getMinutes()!==0){return plaxo.i18n.stringShortTime(A)
}var B=plaxo.i18n.objectifyDate(A);
return plaxo.i18n.paramString(plaxo.i18n.res.time_short_zero_minute,B)
};
plaxo.i18n.stringShortTime=function(A){var B=plaxo.i18n.objectifyDate(A);
return plaxo.i18n.paramString(plaxo.i18n.res.time_short,B)
};
plaxo.i18n.stringFullTime=function(A){var B=plaxo.i18n.objectifyDate(A);
return plaxo.i18n.paramString(plaxo.i18n.res.time_full,B)
};
plaxo.i18n.stringTimeDiff=function(C,B,A){if(plaxo.util.lang.isUndefined(A)){A=false
}var F={};
var E=B.getTime()-C.getTime();
if(E<0){E=0
}F.days=Math.floor(E/(1000*60*60*24));
var H="";
if(F.days!==0){F.days=(E-(E%86400000))/86400000;
F.hours=Math.floor((E%86400000)/3600000);
if(F.hours===0||A){H=(F.days==1)?plaxo.i18n.res.com.timediff_d:plaxo.i18n.res.com.timediff_ds
}else{if(F.days==1){H=(F.hours==1)?plaxo.i18n.res.com.timediff_dh:plaxo.i18n.res.com.timediff_dhs
}else{H=(F.hours==1)?plaxo.i18n.res.com.timediff_dsh:plaxo.i18n.res.com.timediff_dshs
}}}else{var G=new Date(E);
F.hours=G.getUTCHours();
F.minutes=G.getUTCMinutes();
var D=0;
if(F.hours===0){D+=0
}else{if(F.hours==1){D+=1
}else{D+=2
}}D*=3;
if(F.minutes===0){D+=0
}else{if(F.minutes==1){D+=1
}else{D+=2
}}if(A&&D>3){console.debug("converting pickFormat from %d to %d",D,(D-(D%3)));
D-=(D%3)
}switch(D){case 1:H=plaxo.i18n.res.com.timediff_m;
break;
case 2:H=plaxo.i18n.res.com.timediff_ms;
break;
case 3:H=plaxo.i18n.res.com.timediff_h;
break;
case 4:H=plaxo.i18n.res.com.timediff_hm;
break;
case 5:H=plaxo.i18n.res.com.timediff_hms;
break;
case 6:H=plaxo.i18n.res.com.timediff_hs;
break;
case 7:H=plaxo.i18n.res.com.timediff_hsm;
break;
case 8:H=plaxo.i18n.res.com.timediff_hsms;
break;
case 0:H=plaxo.i18n.res.com.timediff_lessthanone;
break;
default:H="";
break
}}return plaxo.i18n.paramString(H,F)
};
plaxo.i18n.stringDateDiff=function(F,B){var C;
var D={};
var A=plaxo.i18n.res.com;
var E=plaxo.i18n.paramString;
D.days=plaxo.util.date.daysBetween(B,F);
if(D.days>365){D.years=Math.floor(D.days/365);
C=(D.years==1)?A.timediff_y:A.timediff_ys
}else{if(D.days>30){D.months=Math.floor(D.days/30);
C=(D.months==1)?A.timediff_mo:A.timediff_mos
}else{if(D.days>7){D.weeks=Math.floor(D.days/7);
C=(D.weeks==1)?A.timediff_w:A.timediff_ws
}else{if(D.days==1){return A.yesterday.toLowerCase()
}else{if(D.days===0){return A.today.toLowerCase()
}else{C=A.timediff_ds
}}}}}return E(A.time_ago,{time:E(C,D)})
};
plaxo.i18n.dateMatchMDY={rx:/^(\d{1,2})([ -:\/\.]{1})(\d{1,2})(\2{1})?(\d{2,4})?$/,hMap:["","m","","d","","y"]};
plaxo.i18n.dateMatchDMY={rx:/^(\d{1,2})([ -:\/\.]{1})(\d{1,2})(\2{1})?(\d{2,4})?$/,hMap:["","d","","m","","y"]};
plaxo.i18n.dateMatch=[{rx:/^(\d{4})([ -:\/\.]{1})(\d{1,2})(\2{1})(\d{1,2})T(\d{1,2})([ -:\/\.]{1})(\d{1,2})(\7{1})(\d{1,2})Z$/,hMap:["","y","","m","","d","h","","min","","s"]},{rx:/^(\d{4})([ -:\/\.]{1})(\d{1,2})(\2{1})(\d{1,2})$/,hMap:["","y","","m","","d"]},{rx:/^(yes)/i,hMap:["","yes"]},{rx:/^(tod)/i,hMap:["","tod"]},{rx:/^(tom)/i,hMap:["","tom"]},{rx:/^(\d{1,2})(st|nd|rd|th)?$/i,hMap:["","d"]},{rx:/^(su|mo|tu|we|th|fr|sa)/i,hMap:["","dow"]}];
plaxo.i18n.parseDate=function(F){var E=null;
var C=plaxo.i18n.dateMatch;
var J=C.length;
var K=new Date();
var G=K.getDay();
var M=K.getFullYear();
var B=K.getMonth()+1;
var H=K.getDate();
for(var I=0;
I<J;
I++){E=C[I].rx.exec(F);
if(E){var D,A,L;
for(x=0;
x<C[I].hMap.length;
x++){switch(C[I].hMap[x]){case"":break;
case"y":if(E[x]){D=parseInt(E[x],10)
}break;
case"m":if(E[x]){A=parseInt(E[x],10)
}break;
case"d":if(E[x]){L=parseInt(E[x],10)
}break;
case"yes":if(E[x]){L=H-1
}A=B;
D=M;
break;
case"tod":if(E[x]){L=H
}A=B;
D=M;
break;
case"tom":if(E[x]){L=H+1
}A=B;
D=M;
break;
case"dow":if(E[x]){var N=parseInt(this.matchDOW(E[x]),10);
if(N<0){return null
}L=H+N-G;
if(L<H){L+=7
}A=B;
D=M
}break;
default:break
}}if(plaxo.util.lang.isUndefined(L)){return null
}if(plaxo.util.lang.isUndefined(A)){A=B;
if(H>L){A++
}}else{if(A<1||12<A){return null
}}if(plaxo.util.lang.isUndefined(D)){D=M;
if(A>12){D++;
A=1
}else{if(D<=M&&(A<B||(A==B&&L<H))){D=M+1
}}}else{if(D<60){D+=2000
}else{if(60<=D&&D<100){D+=1900
}}}K.setDate(1);
K.setYear(D);
K.setMonth(A-1);
K.setDate(L);
K.setHours(0);
K.setMinutes(0);
K.setSeconds(0);
return K
}}return null
};
plaxo.i18n.matchDOW=function(C){C=C.substr(0,2).toLowerCase();
var A=["su","mo","tu","we","th","fr","sa"];
for(var B in A){if(C==A[B]){return B
}}return -1
};
plaxo.i18n.timeMatch=[{rx:/(\d{1,2})\D*(\d{2})[ ]*(p|a)?/i,hMap:["","g","i","a"]},{rx:/(\d{1,2})[ ]*(p|a)?/i,hMap:["","g","a"]},{rx:/(noon)/i,hMap:["","noon"]},{rx:/(mid)/i,hMap:["","mid"]},{rx:/(all)/i,hMap:["","all"]}];
plaxo.i18n.parseTime=function(B){var E=null;
var C=plaxo.i18n.timeMatch;
var G=C.length;
var H=new Date();
var I,A,D;
for(var F=0;
F<G;
F++){E=C[F].rx.exec(B);
if(E){for(x=0;
x<C[F].hMap.length;
x++){switch(C[F].hMap[x]){case"":break;
case"g":if(E[x]){I=parseInt(E[x],10)
}break;
case"i":if(E[x]){A=parseInt(E[x],10)
}break;
case"a":if(E[x]){D=E[x].toLowerCase()
}break;
case"noon":if(E[x]){I=12;
A=0;
D="p"
}break;
case"mid":if(E[x]){I=0;
A=0;
D="a"
}break;
case"all":if(E[x]){return null
}break;
default:break
}}if(plaxo.util.lang.isUndefined(I)){return null
}else{if(I<0||24<I){return null
}}if(plaxo.util.lang.isUndefined(A)){A=0
}else{if(A<0||59<A){return null
}}if(!plaxo.util.lang.isUndefined(D)){if(D=="p"){if(I<12){I+=12
}}else{if(D=="a"){if(I==12){I=0
}}}}H.setHours(I);
H.setMinutes(A);
return H
}}return null
};
plaxo.i18n.getTemperature=function(B,C){var A=0;
if(!C){C=plaxo.i18n.res.temperature_format
}switch(C){case"F":A=B;
break;
case"C":A=(B-32)/1.8;
break;
case"K":A=(B+459.67)/1.8;
break;
default:break
}return Math.round(A)
};
if(plaxo.configs&&(plaxo.configs.getConfig("cobrand.site")!=="comcast")){plaxo.i18n.setLocale(plaxo.i18n.guessLocale())
}else{plaxo.i18n.setLocale("en-us")
}plaxo.i18n.localize("common","common");
if(plaxo.configs&&(plaxo.configs.getConfig("cobrand.site")=="comcast")){plaxo.i18n.localize("common","comcast")
}plaxo.i18n.initI18N();
plaxo.provide("plaxo.common.js.log.plugin.base");
plaxo.declare("plaxo.log.plugin.base",null,{initializer:function(){},fatal:function(C,B,A){this._log("fatal",C,B,A)
},error:function(C,B,A){this._log("error",C,B,A)
},warning:function(C,B,A){this._log("warning",C,B,A)
},info:function(C,B,A){this._log("info",C,B,A)
},debug:function(C,B,A){this._log("debug",C,B,A)
},trace:function(C,B,A){this._log("trace",C,B,A)
},flush:function(){},_format:function(B,E,C,A){var D=A["defaultLogLevel"]+"|"+A["logLevel"]+"|"+A["timestamp"]+"|"+A["classname"]+"|"+A["function"]+"|"+B.toUpperCase()+" Message: "+E;
if(typeof (C)!="undefined"&&C&&C!="null"){D+="; Data: "+C
}D+="\n";
return D
},_log:function(B,D,C,A){}});
plaxo.provide("plaxo.common.js.api.PlaxoWebServices");
function PlaxoWebServices(A,C,B){this.m_urlPrefix=A;
this.m_serviceName=C;
this.m_async=B;
this.requiredArgsByMethod={};
this._generateUrlArgs=function(D,F){var E="_action="+D;
E+="&"+this._flattenArgs("",F,false);
return E
};
this._flattenArgs=function(H,E,D){var K="";
for(arg in E){var F="";
if(D){F="["+arg+"]"
}else{if(!H){F=arg
}else{F="."+arg
}}var I=H+F;
var J=(K?"&":"");
var G=E[arg];
if(G instanceof Array||typeof G=="array"){K+=J+this._flattenArgs(I,G,true)
}else{if(typeof G=="object"){K+=J+this._flattenArgs(I,G,false)
}else{K+=J+I+"="+encodeURIComponent(G)
}}}return K
};
this._send_request_=function(N,J,O,K,D,M,I,E){this.m_response=null;
var H=plaxo.util.lang.getQueryArray()["secure"];
if((plaxo&&plaxo.configs&&parseInt(plaxo.configs.getConfig("corp.path.DisableSecureTransport"),10))||(H&&parseInt(H,10)===0)){D=false
}if(D){plaxo.xhr({url:"https://"+location.host+this.m_urlPrefix+"/axis/"+this.m_serviceName,transport:"ScriptSrcTransport",jsonParamName:"_callback",postContent:this._generateUrlArgs(N,J),load:function(Q,P){if(Q&&Q.response&&Q.response.code==200){O(Q)
}else{if(K){K(true,Q)
}}},error:function(Q,P){if(K){K(false,P)
}}})
}else{if(plaxo.util.lang.isUndefined(E)){var G=this.m_async?false:true
}else{G=E
}var L={};
L[this._getRequestName(N)]=J;
var F={method:"post",url:this.m_urlPrefix+"/axis/json/"+this.m_serviceName,sync:G,postContent:plaxo.lang.to_json(L),handleAs:"json",mimetype:"text/json",load:function(Q,P){if(Q.response&&Q.response.code==200){O(Q)
}else{if(K){K(true,Q)
}}},error:function(Q,P){if(K){K(false,P)
}}};
if(M){F.timeout=M;
F.timeoutSeconds=I
}plaxo.xhr(F)
}};
this._getRequestName=function(D){if(!D||D.length<1){return null
}return D.charAt(0).toUpperCase()+D.substr(1)+"Request"
};
this.verifyRequiredArg=function(D,E,F){};
this.verifyRequiredArgs=function(D,F){this.verifyRequiredArg(D,F,"authInfo");
var G=this.requiredArgsByMethod[D];
if(G){for(var E=0;
E<G.length;
E++){this.verifyRequiredArg(D,F,G[E])
}}};
this.sendRequest=function(G,H,K,F,J,E,I,D){this.verifyRequiredArgs(G,H);
this._send_request_(G,H,K,F,J,E,I,D)
}
}function leap(A){return(!(A%4)&&(A%100))||!(A%400)
}function _dow(D,A,C){var B=[0,0,3,3,6,1,4,6,2,5,0,3,5];
return(--D+(D>>2)-Math.floor(D/100)+Math.floor(D/400)+B[A]+C+((A>2&&leap(D+1))?1:0))%7
}function monthDay(B,A){return A==2?(leap(B)?29:28):30+[0,1,0,1,0,1,0,1,1,0,1,0,1][A]
}function toLocalTime(A){if(A==undefined){return""
}return new Date(Date.UTC(parseInt(A.substring(0,4),10),parseInt(A.substring(5,7),10)-1,parseInt(A.substring(8,10),10),parseInt(A.substring(11,13),10),parseInt(A.substring(14,16),10),parseInt(A.substring(17,19),10)))
}function _getMonthName(A){return["January","February","March","April","May","June","July","August","September","October","November","December"][A-1]
}plaxo.provide("plaxo.common.js.ui.widget.date_picker");
plaxo.provide("plaxo.common.js.ui.widget.widget");
plaxo.declare("plaxo.ui.widget.widget",null,{CLASSNAME:"plaxo.ui.widget.widget",initializer:function(){},domNode:function(){return this._widget.domNode
},widget:function(){return this._widget
}});
plaxo.provide("plaxo.common.js.util.date");
plaxo.util.date={COMPARE_DATE:1,COMPARE_TIME:2,_todayTzOffsetMs:new Date().getTimezoneOffset()*60000,toKey:function(A){return Math.floor((A.getTime()-(A.getTimezoneOffset()*60000))/86400000)
},parseKey:function(A){var B=new Date();
B.setTime(A*86400000+this._todayTzOffsetMs+3600000);
return B
},compare:function(E,C,D){var B=1;
var A=1;
B=E.getTime()-(E.getTimezoneOffset()*60000);
if(C){A=C.getTime()-(C.getTimezoneOffset()*60000)
}else{aDate=new Date();
A=aDate.getTime()-(aDate.getTimezoneOffset()*60000)
}if(!(D&this.COMPARE_DATE)){B%=86400000;
A%=86400000
}if(!(D&this.COMPARE_TIME)){B=B-(B%86400000);
A=A-(A%86400000)
}return B-A
},addDays:function(A,B){A.setDate(A.getDate()+B)
},addWeeks:function(A,B){A.setDate(A.getDate()+(B*7))
},daysBetween:function(B,A){return this.toKey(B)-this.toKey(A)
},zeroTime:function(A){A.setHours(0);
A.setMinutes(0);
A.setSeconds(0);
A.setMilliseconds(0)
},toDateString:function(C){var A=[];
var B=this.dd;
A.push(C.getFullYear());
A.push("-");
A.push(B(C.getMonth()+1));
A.push("-");
A.push(B(C.getDate()));
A.push("T");
A.push(B(C.getHours()));
A.push(":");
A.push(B(C.getMinutes()));
A.push(":");
A.push(B(C.getSeconds()));
A.push("Z");
return A.join("")
},toYYYYMMDD:function(B){var A=[];
A.push(B.getFullYear());
A.push("-");
A.push(this.dd(B.getMonth()+1));
A.push("-");
A.push(this.dd(B.getDate()));
return A.join("")
},dd:function(A){if(A<10){return"0"+A
}return A
},toServerTime:function(A){return this.toDateString(this.toUTC(A))
},toLocalTime:function(A){if(A==undefined){return""
}if(A.length>11){return new Date(Date.UTC(parseInt(A.substring(0,4),10),parseInt(A.substring(5,7),10)-1,parseInt(A.substring(8,10),10),parseInt(A.substring(11,13),10),parseInt(A.substring(14,16),10),parseInt(A.substring(17,19),10)))
}else{return new Date(Date.UTC(parseInt(A.substring(0,4),10),parseInt(A.substring(5,7),10)-1,parseInt(A.substring(8,10),10),0,0,0))
}},toDateObject:function(A){if(A.length>11){if(A){return new Date(parseInt(A.substring(0,4),10),parseInt(A.substring(5,7),10)-1,parseInt(A.substring(8,10),10),parseInt(A.substring(11,13),10),parseInt(A.substring(14,16),10),parseInt(A.substring(17,19),10))
}}else{return new Date(parseInt(A.substring(0,4),10),parseInt(A.substring(5,7),10)-1,parseInt(A.substring(8,10),10),0,0,0)
}return""
},toUTC:function(A){return new Date(A.getUTCFullYear(),A.getUTCMonth(),A.getUTCDate(),A.getUTCHours(),A.getUTCMinutes(),A.getUTCSeconds())
},getNextOccurrence:function(C){var A=new Date();
var B=new Date(C);
B.setFullYear(A.getFullYear());
B.setHours(A.getHours());
B.setMinutes(A.getMinutes());
B.setSeconds(A.getSeconds());
B.setMilliseconds(A.getMilliseconds());
if(B<A){B.setFullYear(B.getFullYear()+1)
}return B
},parseYYYYMMDD:function(C,B){var E,A,D;
E=parseInt(C.substring(0,4),10);
if(C.length==8){A=parseInt(C.substring(4,6),10)-1;
D=parseInt(C.substring(6,8),10)
}else{A=parseInt(C.substring(5,7),10)-1;
D=parseInt(C.substring(8,10),10)
}if(B&&E===0){E=new Date().getFullYear();
if(D==29&&A==1){while(!(!(E%4)&&(E%100))||!(E%400)){E++
}}}return new Date(E,A,D)
},isMidnight:function(A){return(A.getHours()+A.getMinutes()+A.getSeconds()===0)
},__END__:{}};
plaxo.declare("plaxo.ui.widget.date_picker",plaxo.ui.widget.widget,{CLASSNAME:"plaxo.ui.widget.date_picker",Z_INDEX_FLOOR:301,NUM_ROWS:6,modes:{INPUT:0,POPUP:1,STATIC:2},STYLE_ERROR_COLOR:"#FFC0CB",initializer:function(B){this._widgetId=B;
this._widget=null;
this._logger=plaxo.logger;
this._blurTimer=null;
this._selectedDate=null;
this._currentMonthFocus=new Date();
this._currentMonthFocus.setDate(1);
this._popupOpen=false;
this._today=new Date();
this._validDate=true;
this._mode=null;
this._popupDiv=null;
this._containerDiv=null;
var A=this;
this._contentDiv=document.createElement("div");
this._contentDiv.id=this._widgetId;
this._contentDiv.onclick=function(C){clearTimeout(A._blurTimer);
C=plaxo.event.fixEvent(C);
plaxo.event.stopEvent(C)
};
this._firstDayOfWeek=plaxo.i18n.res.date_startingDayOfWeek
},bindInput:function(C,A){this._mode=this.modes.INPUT;
this._inputTarget=C;
this._containerDiv=A;
this._containerDiv.className="datePickerContainer";
this._popupDiv=document.createElement("div");
this._popupDiv.className="datePickerPopup";
this._popupDiv.appendChild(this._contentDiv);
this._containerDiv.appendChild(this._popupDiv);
plaxo.style.hide(this._popupDiv);
var B=this;
this._inputTarget.onclick=function(D){D=plaxo.event.fixEvent(D);
plaxo.event.stopEvent(D);
if(B._popupOpen){B.close()
}else{B.open()
}};
this._inputTarget.onblur=function(D){B._blurTimer=setTimeout((function(){B.close()
}),200)
};
this._inputTarget.onchange=function(D){B._parseInput()
};
this._inputTarget.onkeydown=function(D){B._handleKeyDown(D)
};
this._initClickToClose()
},bindPopup:function(C,A){this._mode=this.modes.POPUP;
this._popupTarget=C;
this._containerDiv=A;
this._containerDiv.className="datePickerContainer";
this._popupDiv=document.createElement("div");
this._popupDiv.className="datePickerPopup";
this._popupDiv.appendChild(this._contentDiv);
this._containerDiv.appendChild(this._popupDiv);
plaxo.style.hide(this._popupDiv);
var B=this;
this._popupTarget.onclick=function(D){if(B._popupOpen){B.close()
}else{B.open()
}D=plaxo.event.fixEvent(D);
plaxo.event.stopEvent(D)
};
this._initClickToClose()
},bindStatic:function(A){this._mode=this.modes.STATIC;
this._containerDiv=A;
this._containerDiv.className="datePickerContainer";
this._containerDiv.appendChild(this._contentDiv);
this._popupOpen=true;
this.render()
},open:function(){this._popupOpen=true;
var A=this._selectedDate||new Date();
this._currentMonthFocus.setMonth(A.getMonth());
this._currentMonthFocus.setFullYear(A.getFullYear());
this.render();
if(this._containerDiv){this._containerDiv.style.zIndex=this.Z_INDEX_FLOOR
}plaxo.ui.html.style.showit(this._popupDiv);
plaxo.ui.html.enableIFrame(this._popupDiv)
},close:function(){this._popupOpen=false;
if(this._containerDiv){this._containerDiv.style.zIndex=""
}plaxo.ui.html.style.hideit(this._popupDiv);
plaxo.ui.html.hideIFrame(this._popupDiv)
},render:function(){if(!this._contentDiv.innerHTML){this._initContent()
}var B=plaxo.util.date.addDays;
var F=plaxo.util.date.toKey(this._today);
var E=this._currentMonthFocus.getMonth();
var C=this._getFirstDayOfWeek(this._currentMonthFocus);
this._monthNameHandle.innerHTML=plaxo.i18n.stringDate(plaxo.i18n.res.date_month_year,this._currentMonthFocus);
for(var D=0;
D<this._monthGridCells.length;
D++,B(C,1)){var A=this._monthGridCells[D];
A.innerHTML=C.getDate();
var G=plaxo.util.date.toKey(C);
if(G==F){plaxo.style.addClass(A,"today")
}else{plaxo.style.removeClass(this._monthGridCells[D],"today")
}if(C.getMonth()!=E){plaxo.style.addClass(A,"adjacentMonth")
}else{plaxo.style.removeClass(A,"adjacentMonth")
}}this._updateSelectedDate()
},getSelectedDate:function(){return this._selectedDate?new Date(this._selectedDate):null
},setSelectedDate:function(A){this._selectedDate=A;
this._validDate=true;
this._currentMonthFocus.setMonth(this._selectedDate.getMonth());
this._currentMonthFocus.setFullYear(this._selectedDate.getFullYear());
if(this._popupOpen){this.render()
}if(this._inputTarget){this._updateInputBox()
}},getCurrentMonth:function(){return new Date(this._currentMonthFocus)
},reset:function(){this._selectedDate=null;
this._currentMonthFocus=new Date();
this._currentMonthFocus.setDate(1);
this._validDate=true;
if(this._popupOpen){this.render()
}if(this._inputTarget){this._inputTarget.value="";
this._inputTarget.style.backgroundColor=""
}},validDate:function(){return this._validDate
},onDateChange:function(){},onMonthChange:function(){},_initClickToClose:function(){var A=this;
plaxo.util.listener.addListener("windowClick",function(B){if(A._popupOpen){A.close()
}})
},_getFirstDayOfWeek:function(A){var C=new Date(A);
var B=A.getDay()-this._firstDayOfWeek;
if(B<0){B+=7
}plaxo.util.date.addDays(C,-B);
return C
},_updateSelectedDate:function(){for(var D=0;
D<this._monthGridCells.length;
D++){plaxo.style.removeClass(this._monthGridCells[D],"selected")
}if(this._selectedDate){var B=this._getFirstDayOfWeek(this._currentMonthFocus);
var A=plaxo.util.date.daysBetween(this._today,B);
var C=plaxo.util.date.daysBetween(this._selectedDate,B);
if(0<=C&&C<this.NUM_ROWS*7&&C!=A){plaxo.style.addClass(this._monthGridCells[C],"selected");
plaxo.style.removeClass(this._monthGridCells[C],"hover")
}}},_initContent:function(){var C=[];
var B=0;
C.push('<div class="datePickerContent">');
C.push('<div class="month">');
C.push('<div class="header"><table width="100%" cellspacing="0" cellpadding="0"><tr>');
C.push('<td width="20"><span class="previous"><img width="11" height="11" src="/webapps/common/img/arrow_left.gif"></span></td>');
C.push('<td width="20"><span class="next"><img width="11" height="11" src="/webapps/common/img/arrow_right.gif"></span></td>');
C.push('<td class="monthName">&nbsp;</td>');
if(this._mode!=this.modes.STATIC){C.push('<td width="20" align="right"><div class="closeX"><img width="13" height="13" src="/webapps/common/img/close.png"></div></td>')
}C.push("</tr></table></div>");
C.push('<table width="100%" class="grid" cellpadding="0" cellspacing="0">');
C.push('<tr class="dow">');
var E=this._firstDayOfWeek;
for(B=0;
B<7;
B++){if(E>6){E=0
}C.push("<td>"+plaxo.i18n.res.com.dow_short[E]+"</td>");
E++
}C.push("</tr>");
for(B=0;
B<this.NUM_ROWS;
B++){C.push("<tr>");
for(var G=0;
G<7;
G++){C.push('<td valign="middle"><div class="day">&nbsp;</div></td>')
}C.push("</tr>")
}C.push("</table>");
C.push("</div>");
C.push("</div>");
this._contentDiv.innerHTML=C.join("");
var D=plaxo.util.html.findElem;
var I=this;
this._monthNameHandle=D(this._contentDiv,"td","monthName");
this._monthGrid=D(this._contentDiv,"table","grid");
var H=D(this._contentDiv,"span","previous");
H.onclick=function(J){I._handleDoPreviousMonth(J)
};
var A=D(this._contentDiv,"span","next");
A.onclick=function(J){I._handleDoNextMonth(J)
};
if(this._mode!=this.modes.STATIC){var F=plaxo.util.html.findElem(this._contentDiv,"div","closeX");
F.onclick=function(J){I.close()
}
}this._monthGridCells=plaxo.util.html.findElems(this._monthGrid,"div","day");
for(B=0;
B<this._monthGridCells.length;
B++){this._monthGridCells[B].setAttribute("index",B);
this._monthGridCells[B].onclick=function(J){I._handleDateSelect(J)
};
this._monthGridCells[B].onmouseover=function(J){I._handleCellMouseover(J)
};
this._monthGridCells[B].onmouseout=function(J){I._handleCellMouseout(J)
}
}},_updateInputBox:function(){if(this._selectedDate===null&&this._validDate){this._inputTarget.value=""
}else{if(this._selectedDate!==null){this._inputTarget.value=plaxo.i18n.stringDate(plaxo.i18n.res.date_long,this._selectedDate)
}}this._inputTarget.style.backgroundColor=this._validDate?"":this.STYLE_ERROR_COLOR
},_handleDateSelect:function(C){C=plaxo.event.fixEvent(C);
var B=this._getFirstDayOfWeek(this._currentMonthFocus);
var A=parseInt(C.target.getAttribute("index"),10);
plaxo.util.date.addDays(B,A);
this._selectedDate=new Date(B);
this._validDate=true;
this._updateSelectedDate();
if(this._inputTarget){this._updateInputBox();
this._inputTarget.focus()
}if(this._popupDiv){this.close()
}this.onDateChange()
},_handleDoPreviousMonth:function(A){this._currentMonthFocus.setMonth(this._currentMonthFocus.getMonth()-1);
if(this._popupOpen){this.render()
}this.onMonthChange()
},_handleDoNextMonth:function(A){this._currentMonthFocus.setMonth(this._currentMonthFocus.getMonth()+1);
if(this._popupOpen){this.render()
}this.onMonthChange()
},_parseInput:function(){var B=this._inputTarget.value;
if(B){var A=plaxo.i18n.parseDate(B);
if(A!==null){this.setSelectedDate(A);
this.onDateChange();
this._validDate=true
}else{this._selectedDate=null;
this._validDate=false
}}else{this._selectedDate=null;
this._validDate=true
}this._updateInputBox()
},_handleCellMouseover:function(A){A=plaxo.event.fixEvent(A);
if(!plaxo.style.hasClass(A.target,"selected")){plaxo.style.addClass(A.target,"hover")
}},_handleCellMouseout:function(A){A=plaxo.event.fixEvent(A);
plaxo.style.removeClass(A.target,"hover")
},_handleKeyDown:function(C){C=plaxo.event.fixEvent(C);
var B=!C.ctrlKey;
var D=C.keyCode;
var A=new Date(this._selectedDate);
var E=true;
if(!this._popupOpen){return 
}if(D==38){plaxo.util.date.addDays(A,-7);
this.setSelectedDate(A)
}else{if(D==40){plaxo.util.date.addDays(A,7);
this.setSelectedDate(A)
}else{if(D==37){if(C.ctrlKey){A.setMonth(A.getMonth()-1);
this.setSelectedDate(A)
}else{plaxo.util.date.addDays(A,-1);
this.setSelectedDate(A)
}}else{if(D==39){if(C.ctrlKey){A.setMonth(A.getMonth()+1);
this.setSelectedDate(A)
}else{plaxo.util.date.addDays(A,1);
this.setSelectedDate(A)
}}else{if(D==13||D==27){this._parseInput();
this.close()
}else{E=false
}}}}}if(E){plaxo.event.stopEvent(C)
}},__END__:{}});
plaxo.provide("plaxo.cal.js.share.js");
plaxo.provide("plaxo.common.js.util.html");
plaxo.util.html={fastFindElems:function(E,B,G,A){if(!B){B="*"
}var H;
if(!A){H=[]
}var C=E.getElementsByTagName(B);
var F,D=0;
while(F=C[D++]){if(F.className.indexOf(G)!=-1){if(A){return F
}else{H.push(F)
}}}return A?null:H
},findElem:function(A,B,C){return plaxo.util.html.fastFindElems(A,B,C,true)
},findElems:function(A,B,C){return plaxo.util.html.fastFindElems(A,B,C,false)
},makeDiv:function(A){return plaxo.util.html.makeElem("div",A)
},makeElem:function(A,C){var B=document.createElement(A);
if(typeof C!="undefined"){B.className=C
}return B
},getTotalHeight:function(B){var D=0;
for(var C=0;
C<B.length;
C++){var E=B[C];
if(E){var A=plaxo.style.getMarginBoxHeight(E);
D+=A
}}return D
},getTotalWidth:function(B){var A=0;
for(var C=0;
C<B.length;
C++){var E=B[C];
if(E){var D=plaxo.style.getMarginBoxWidth(E);
A+=D
}}return A
},setBackgroundPNG:function(C,B){if(plaxo.browser.is_ie&&plaxo.browser.version<7){var A=C.style;
A.background="";
A.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+B+"', sizingMethod='scale')"
}else{C.style.background='url("'+B+'")'
}},fixPNGs:function(B){if(plaxo.browser.is_ie&&plaxo.browser.version<7){var A=B.getElementsByTagName("img");
for(var C=0;
C<A.length;
C++){var D=A[C];
var E=D.getAttribute("src");
if(E){pngfix_xform(D,E)
}}}},fitHeightOnScreen:function(D){var C=plaxo.logger;
D.style.height="";
var A=plaxo.style.getAbsolutePosition(D,true).y;
var B=plaxo.style.getMarginBoxHeight(D);
var G=50;
var E=plaxo.util.lang.getQueryArray();
if(E&&E.t=="sz"){G=0
}var F=plaxo.style.getViewportHeight()-G;
C.trace("making sure elem fits",[A,B,F],"fitHeightOnScreen",this);
if(A+B>F){C.debug("adding scrollbar to elem to make it fit on screen",null,"fitHeightOnScreen",this);
D.style.height=(F-A)+"px"
}else{C.trace("elem fits without scrollbars",null,"fitHeightOnScreen",this)
}},prompt:function(D,F,E,C,B){plaxo.requireOnDemand("plaxo.common.js.ui.widget.prompt");
var A=new plaxo.ui.widget.prompt(D,F,E,C,B)
},getSelectValue:function(A){return A.options[A.selectedIndex].value
},setSelectValue:function(C,D){var B=C.options;
for(var A=0;
A<B.length;
A++){if(B[A].value==D){C.selectedIndex=A;
return 
}}},_imageCache:{},cacheImage:function(B){var C=plaxo.util.html._imageCache;
if(!C[B]){var A=B;
C[B]=new Image();
setTimeout(function(){C[A].src=A
},0)
}},attachMouseScrollEvent:function(A,B){if(window.addEventListener){A.addEventListener("DOMMouseScroll",B,false);
A.addEventListener("mousewheel",B,false)
}else{A.onmousewheel=B
}},__END__:{}};
var url="/axis/json/calendar";
var ws=new PlaxoWebServices("","calendar",true);
plaxo.i18n.overrideFormats(plaxo.i18n.res.date_format,plaxo.i18n.res.time_format,plaxo.i18n._locale);
var pickerDiv=plaxo.byId("date_picker");
var datePicker=new plaxo.ui.widget.date_picker("eventStartDate");
datePicker.bindStatic(pickerDiv);
datePicker.onDateChange=function(){handleDateSelect()
};
datePicker.onMonthChange=function(){handleMonthChange()
};
datePicker.setSelectedDate(new Date());
var eventCache=[];
function dateKey(A){var B=A.getMonth()+1;
return A.getFullYear()+"-"+B+"-"+A.getDate()
}function daysInMonth(C,B){var A=[31,28,31,30,31,30,31,31,30,31,30,31];
if(C!==2){return A[C-1]
}if(B%4!==0){return A[1]
}if(B%100===0&&B%400!==0){return A[1]
}return A[1]+1
}function getMonthStartString(A){A.setDate(1);
return A.getUTCFullYear()+"-"+(A.getUTCMonth()+1)+"-"+A.getUTCDate()+"T"+A.getUTCHours()+":"+A.getUTCMinutes()+":00Z"
}function getMonthEndString(A){A.setDate(1);
A.setMonth(A.getMonth()+1);
return A.getUTCFullYear()+"-"+(A.getUTCMonth()+1)+"-"+A.getUTCDate()+"T"+A.getUTCHours()+":"+A.getUTCMinutes()+":00Z"
}function handleDateSelect(){var C=datePicker.getSelectedDate();
var B=C.getMonth();
var A=C.getFullYear();
if(B!=_currentMonth||A!=_currentYear){setMonth(C.getDate(),C.getMonth(),C.getFullYear())
}else{location.hash=""+C.getFullYear()+C.getMonth()+C.getDate()
}}function handleMonthChange(){var C=datePicker.getCurrentMonth();
var B=C.getMonth();
var A=C.getFullYear();
if(B!=_currentMonth||A!=_currentYear){setMonth(C.getDate(),C.getMonth(),C.getFullYear())
}else{location.hash=""+C.getFullYear()+C.getMonth()+C.getDate()
}datePicker.setSelectedDate(C)
}function setMonth(D,F,E){var G=plaxo.byId("shared_cal_content");
G.innerHTML='<table class="loadingEvents"><tr><td valign="middle">'+plaxo.i18n.res.com.loading_dots+"</td></tr></table>";
_currentDate=D;
_currentMonth=F;
_currentYear=E;
var A=new Date();
A.setFullYear(E);
A.setMonth(F);
A.setDate(D);
A.setHours(0);
A.setMinutes(0);
A.setSeconds(0);
var C={"authInfo":{"authByTicket":{"ticket":ticket,"isPublic":isPublic}},"dateTimeRange":{"byTime":{"start":getMonthStartString(A),"end":getMonthEndString(A)}}};
var B=function(H){plaxo.byId("ical_subscribe").innerHTML="";
plaxo.style.hide("loading");
plaxo.style.show("loaded");
plaxo.byId("shared_cal_content").innerHTML='<table class="loadingEvents"><tr><td valign="middle">'+plaxo.i18n.res.cal.shared_cal.data_failure+"</td></tr></table></div>"
};
ws.sendRequest("getOccurrences",C,drawCal,B,false)
}function drawDateHeader(A,C,B){C.push("</div>");
C.push('<div class="dateBox" style="background-color: '+B+'">');
C.push('<div class="dateHeader">');
C.push('<a name="'+A.getFullYear()+A.getMonth()+A.getDate()+'"></a>');
C.push(plaxo.i18n.res.com.dow_long[A.getDay()]+", ");
C.push(plaxo.i18n.res.com.months_long[A.getMonth()]+" ");
C.push(A.getDate());
C.push("</div>");
curDate=A.getDate()
}function drawEvent(C,E,D){var F,A;
if(C.allDay){F=plaxo.util.date.toDateObject(C.start);
A=plaxo.util.date.toDateObject(C.end)
}else{F=toLocalTime(C.start);
A=toLocalTime(C.end)
}var B=(C.subject?C.subject:plaxo.i18n.res.cal.shared_cal.busy);
E.push('<div class="vevent"><table border="0" cell-padding="0" cell-spacing="0"><tr>');
if(C.allDay){E.push('<td class="eventTime"><abbr class="dtstart" title="'+C.start+'">'+plaxo.i18n.res.cal.shared_cal.all_day_event+'<span style="display: none"><abbr class="dtend" title="'+C.end+'"></abbr></span></td>')
}else{E.push('<td class="eventTime"><abbr class="dtstart" title="'+C.start+'">'+plaxo.i18n.stringStdTime(F)+'</abbr><span style="display: none"><abbr class="dtend" title="'+C.end+'"></abbr></span></td>')
}E.push('<td class="eventName summary">'+B+"</td>");
E.push("</tr></table></div>")
}function dateSort(B,A){return B.date.getTime()-A.date.getTime()
}function drawCal(Q){eventCache=[];
var I=[];
var C=plaxo.byId("shared_cal_content");
if(!Q.events||!Q.events.event){return 
}var B=Q.events.event;
var L=B.length;
var G="#ebf2e8";
var F,E;
for(var O=0;
O<L;
O++){if(B[O].allDay){F=plaxo.util.date.toDateObject(B[O].start);
E=plaxo.util.date.toDateObject(B[O].end)
}else{F=toLocalTime(B[O].start);
E=toLocalTime(B[O].end)
}var R=dateKey(F);
var D=B[O].allDay?"allday":"events";
var A=(E.getTime()-F.getTime())/86400000;
if(A>1){var J=dateKey(E);
var H=new Date(F);
do{if(H.getMonth()!=_currentMonth){plaxo.util.date.addDays(H,1);
R=dateKey(H);
continue
}if(!eventCache[R]){eventCache[R]=[];
eventCache[R]["date"]=H;
eventCache[R]["events"]=[];
eventCache[R]["allday"]=[]
}eventCache[R][D].push(B[O]);
H=new Date(H);
plaxo.util.date.addDays(H,1);
R=dateKey(H)
}while(R!=J)
}else{if(F.getMonth()==_currentMonth){if(!eventCache[R]){eventCache[R]=[];
eventCache[R]["date"]=F;
eventCache[R]["events"]=[];
eventCache[R]["allday"]=[]
}eventCache[R][D].push(B[O])
}}}var P=[];
for(R in eventCache){P.push(eventCache[R])
}P.sort(dateSort);
for(R in P){drawDateHeader(P[R]["date"],I,G);
for(var N=0;
N<P[R]["allday"].length;
N++){drawEvent(P[R]["allday"][N],I,G)
}for(var M=0;
M<P[R]["events"].length;
M++){drawEvent(P[R]["events"][M],I,G)
}G=(G=="#ffffff"?"#ddeedc":"#ffffff")
}if(P.length>0){I.push("</div>")
}else{I.push('<table class="loadingEvents"><tr><td valign="middle">'+plaxo.i18n.res.cal.shared_cal.no_events_found+"</td></tr></table>")
}C.innerHTML=I.join("");
location.hash=""+_currentYear+_currentMonth+_currentDate;
var K=plaxo.byId("ical_subscribe");
K.innerHTML='<a href="'+url+'">'+plaxo.i18n.res.cal.shared_cal.get_ical+"</a>";
plaxo.style.hide("loading");
plaxo.style.show("loaded")
}plaxo.provide("plaxo.cal.js.cal_share")
