if (typeof djConfig == 'undefined') var djConfig = {};
djConfig.baseScriptUri='/rhoen/am_js/dojo/';
djConfig.locale='de';
djConfig.modulePaths={"nls":"../portal/nls"};
var am = {};
/*
	This is a compiled version of Dojo, built for deployment and not for
	development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.
*/

if(typeof dojo=="undefined"){
var dj_global=this;
var dj_currentContext=this;
function dj_undef(_1,_2){
return (typeof (_2||dj_currentContext)[_1]=="undefined");
}
if(dj_undef("djConfig",this)){
var djConfig={};
}
if(dj_undef("dojo",this)){
var dojo={};
}
dojo.global=function(){
return dj_currentContext;
};
dojo.locale=djConfig.locale;
dojo.version={major:0,minor:4,patch:1372,flag:"M",revision:Number("$Rev: 7480 $".match(/[0-9]+/)[0]),toString:function(){
with(dojo.version){
return major+"."+minor+"."+patch+flag+" ("+revision+")";
}
}};
dojo.evalProp=function(_3,_4,_5){
if((!_4)||(!_3)){
return undefined;
}
if(!dj_undef(_3,_4)){
return _4[_3];
}
return (_5?(_4[_3]={}):undefined);
};
dojo.parseObjPath=function(_6,_7,_8){
var _9=(_7||dojo.global());
var _a=_6.split(".");
var _b=_a.pop();
for(var i=0,l=_a.length;i<l&&_9;i++){
_9=dojo.evalProp(_a[i],_9,_8);
}
return {obj:_9,prop:_b};
};
dojo.evalObjPath=function(_e,_f){
if(typeof _e!="string"){
return dojo.global();
}
if(_e.indexOf(".")==-1){
return dojo.evalProp(_e,dojo.global(),_f);
}
var ref=dojo.parseObjPath(_e,dojo.global(),_f);
if(ref){
return dojo.evalProp(ref.prop,ref.obj,_f);
}
return null;
};
dojo.errorToString=function(_11){
if(!dj_undef("message",_11)){
return _11.message;
}else{
if(!dj_undef("description",_11)){
return _11.description;
}else{
return _11;
}
}
};
dojo.raise=function(_12,_13){
if(_13){
_12=_12+": "+dojo.errorToString(_13);
}else{
_12=dojo.errorToString(_12);
}
try{
if(djConfig.isDebug){
dojo.hostenv.println("FATAL exception raised: "+_12);
}
}
catch(e){
}
throw _13||Error(_12);
};
dojo.debug=function(){
};
dojo.debugShallow=function(obj){
};
dojo.profile={start:function(){
},end:function(){
},stop:function(){
},dump:function(){
}};
function dj_eval(_15){
return dj_global.eval?dj_global.eval(_15):eval(_15);
}
dojo.unimplemented=function(_16,_17){
var _18="'"+_16+"' not implemented";
if(_17!=null){
_18+=" "+_17;
}
dojo.raise(_18);
};
dojo.deprecated=function(_19,_1a,_1b){
var _1c="DEPRECATED: "+_19;
if(_1a){
_1c+=" "+_1a;
}
if(_1b){
_1c+=" -- will be removed in version: "+_1b;
}
dojo.debug(_1c);
};
dojo.render=(function(){
function vscaffold(_1d,_1e){
var tmp={capable:false,support:{builtin:false,plugin:false},prefixes:_1d};
for(var i=0;i<_1e.length;i++){
tmp[_1e[i]]=false;
}
return tmp;
}
return {name:"",ver:dojo.version,os:{win:false,linux:false,osx:false},html:vscaffold(["html"],["ie","opera","khtml","safari","moz"]),svg:vscaffold(["svg"],["corel","adobe","batik"]),vml:vscaffold(["vml"],["ie"]),swf:vscaffold(["Swf","Flash","Mm"],["mm"]),swt:vscaffold(["Swt"],["ibm"])};
})();
dojo.hostenv=(function(){
var _21={isDebug:false,allowQueryConfig:false,baseScriptUri:"",baseRelativePath:"",libraryScriptUri:"",iePreventClobber:false,ieClobberMinimal:true,preventBackButtonFix:true,delayMozLoadingFix:false,searchIds:[],parseWidgets:true};
if(typeof djConfig=="undefined"){
djConfig=_21;
}else{
for(var _22 in _21){
if(typeof djConfig[_22]=="undefined"){
djConfig[_22]=_21[_22];
}
}
}
return {name_:"(unset)",version_:"(unset)",getName:function(){
return this.name_;
},getVersion:function(){
return this.version_;
},getText:function(uri){
dojo.unimplemented("getText","uri="+uri);
}};
})();
dojo.hostenv.getBaseScriptUri=function(){
if(djConfig.baseScriptUri.length){
return djConfig.baseScriptUri;
}
var uri=new String(djConfig.libraryScriptUri||djConfig.baseRelativePath);
if(!uri){
dojo.raise("Nothing returned by getLibraryScriptUri(): "+uri);
}
var _25=uri.lastIndexOf("/");
djConfig.baseScriptUri=djConfig.baseRelativePath;
return djConfig.baseScriptUri;
};
(function(){
var _26={pkgFileName:"__package__",loading_modules_:{},loaded_modules_:{},addedToLoadingCount:[],removedFromLoadingCount:[],inFlightCount:0,modulePrefixes_:{dojo:{name:"dojo",value:"src"}},setModulePrefix:function(_27,_28){
this.modulePrefixes_[_27]={name:_27,value:_28};
},moduleHasPrefix:function(_29){
var mp=this.modulePrefixes_;
return Boolean(mp[_29]&&mp[_29].value);
},getModulePrefix:function(_2b){
if(this.moduleHasPrefix(_2b)){
return this.modulePrefixes_[_2b].value;
}
return _2b;
},getTextStack:[],loadUriStack:[],loadedUris:[],post_load_:false,modulesLoadedListeners:[],unloadListeners:[],loadNotifying:false};
for(var _2c in _26){
dojo.hostenv[_2c]=_26[_2c];
}
})();
dojo.hostenv.loadPath=function(_2d,_2e,cb){
var uri;
if(_2d.charAt(0)=="/"||_2d.match(/^\w+:/)){
uri=_2d;
}else{
uri=this.getBaseScriptUri()+_2d;
}
if(djConfig.cacheBust&&dojo.render.html.capable){
uri+="?"+String(djConfig.cacheBust).replace(/\W+/g,"");
}
try{
return !_2e?this.loadUri(uri,cb):this.loadUriAndCheck(uri,_2e,cb);
}
catch(e){
dojo.debug(e);
return false;
}
};
dojo.hostenv.loadUri=function(uri,cb){
if(this.loadedUris[uri]){
return true;
}
var _33=this.getText(uri,null,true);
if(!_33){
return false;
}
this.loadedUris[uri]=true;
if(cb){
_33="("+_33+")";
}
var _34=dj_eval(_33);
if(cb){
cb(_34);
}
return true;
};
dojo.hostenv.loadUriAndCheck=function(uri,_36,cb){
var ok=true;
try{
ok=this.loadUri(uri,cb);
}
catch(e){
dojo.debug("failed loading ",uri," with error: ",e);
}
return Boolean(ok&&this.findModule(_36,false));
};
dojo.loaded=function(){
};
dojo.unloaded=function(){
};
dojo.hostenv.loaded=function(){
this.loadNotifying=true;
this.post_load_=true;
var mll=this.modulesLoadedListeners;
for(var x=0;x<mll.length;x++){
mll[x]();
}
this.modulesLoadedListeners=[];
this.loadNotifying=false;
dojo.loaded();
};
dojo.hostenv.unloaded=function(){
var mll=this.unloadListeners;
while(mll.length){
(mll.pop())();
}
dojo.unloaded();
};
dojo.addOnLoad=function(obj,_3d){
var dh=dojo.hostenv;
if(arguments.length==1){
dh.modulesLoadedListeners.push(obj);
}else{
if(arguments.length>1){
dh.modulesLoadedListeners.push(function(){
obj[_3d]();
});
}
}
if(dh.post_load_&&dh.inFlightCount==0&&!dh.loadNotifying){
dh.callLoaded();
}
};
dojo.addOnUnload=function(obj,_40){
var dh=dojo.hostenv;
if(arguments.length==1){
dh.unloadListeners.push(obj);
}else{
if(arguments.length>1){
dh.unloadListeners.push(function(){
obj[_40]();
});
}
}
};
dojo.hostenv.modulesLoaded=function(){
if(this.post_load_){
return;
}
if(this.loadUriStack.length==0&&this.getTextStack.length==0){
if(this.inFlightCount>0){
dojo.debug("files still in flight!");
return;
}
dojo.hostenv.callLoaded();
}
};
dojo.hostenv.callLoaded=function(){
if(typeof setTimeout=="object"||(djConfig["useXDomain"]&&dojo.render.html.opera)){
setTimeout("dojo.hostenv.loaded();",0);
}else{
dojo.hostenv.loaded();
}
};
dojo.hostenv.getModuleSymbols=function(_42){
var _43=_42.split(".");
for(var i=_43.length;i>0;i--){
var _45=_43.slice(0,i).join(".");
if((i==1)&&!this.moduleHasPrefix(_45)){
_43[0]="../"+_43[0];
}else{
var _46=this.getModulePrefix(_45);
if(_46!=_45){
_43.splice(0,i,_46);
break;
}
}
}
return _43;
};
dojo.hostenv._global_omit_module_check=false;
dojo.hostenv.loadModule=function(_47,_48,_49){
if(!_47){
return;
}
_49=this._global_omit_module_check||_49;
var _4a=this.findModule(_47,false);
if(_4a){
return _4a;
}
if(dj_undef(_47,this.loading_modules_)){
this.addedToLoadingCount.push(_47);
}
this.loading_modules_[_47]=1;
var _4b=_47.replace(/\./g,"/")+".js";
var _4c=_47.split(".");
var _4d=this.getModuleSymbols(_47);
var _4e=((_4d[0].charAt(0)!="/")&&!_4d[0].match(/^\w+:/));
var _4f=_4d[_4d.length-1];
var ok;
if(_4f=="*"){
_47=_4c.slice(0,-1).join(".");
while(_4d.length){
_4d.pop();
_4d.push(this.pkgFileName);
_4b=_4d.join("/")+".js";
if(_4e&&_4b.charAt(0)=="/"){
_4b=_4b.slice(1);
}
ok=this.loadPath(_4b,!_49?_47:null);
if(ok){
break;
}
_4d.pop();
}
}else{
_4b=_4d.join("/")+".js";
_47=_4c.join(".");
var _51=!_49?_47:null;
ok=this.loadPath(_4b,_51);
if(!ok&&!_48){
_4d.pop();
while(_4d.length){
_4b=_4d.join("/")+".js";
ok=this.loadPath(_4b,_51);
if(ok){
break;
}
_4d.pop();
_4b=_4d.join("/")+"/"+this.pkgFileName+".js";
if(_4e&&_4b.charAt(0)=="/"){
_4b=_4b.slice(1);
}
ok=this.loadPath(_4b,_51);
if(ok){
break;
}
}
}
if(!ok&&!_49){
dojo.raise("Could not load '"+_47+"'; last tried '"+_4b+"'");
}
}
if(!_49&&!this["isXDomain"]){
_4a=this.findModule(_47,false);
if(!_4a){
dojo.raise("symbol '"+_47+"' is not defined after loading '"+_4b+"'");
}
}
return _4a;
};
dojo.hostenv.startPackage=function(_52){
var _53=String(_52);
var _54=_53;
var _55=_52.split(/\./);
if(_55[_55.length-1]=="*"){
_55.pop();
_54=_55.join(".");
}
var _56=dojo.evalObjPath(_54,true);
this.loaded_modules_[_53]=_56;
this.loaded_modules_[_54]=_56;
return _56;
};
dojo.hostenv.findModule=function(_57,_58){
var lmn=String(_57);
if(this.loaded_modules_[lmn]){
return this.loaded_modules_[lmn];
}
if(_58){
dojo.raise("no loaded module named '"+_57+"'");
}
return null;
};
dojo.kwCompoundRequire=function(_5a){
var _5b=_5a["common"]||[];
var _5c=_5a[dojo.hostenv.name_]?_5b.concat(_5a[dojo.hostenv.name_]||[]):_5b.concat(_5a["default"]||[]);
for(var x=0;x<_5c.length;x++){
var _5e=_5c[x];
if(_5e.constructor==Array){
dojo.hostenv.loadModule.apply(dojo.hostenv,_5e);
}else{
dojo.hostenv.loadModule(_5e);
}
}
};
dojo.require=function(_5f){
dojo.hostenv.loadModule.apply(dojo.hostenv,arguments);
};
dojo.requireIf=function(_60,_61){
var _62=arguments[0];
if((_62===true)||(_62=="common")||(_62&&dojo.render[_62].capable)){
var _63=[];
for(var i=1;i<arguments.length;i++){
_63.push(arguments[i]);
}
dojo.require.apply(dojo,_63);
}
};
dojo.requireAfterIf=dojo.requireIf;
dojo.provide=function(_65){
return dojo.hostenv.startPackage.apply(dojo.hostenv,arguments);
};
dojo.registerModulePath=function(_66,_67){
return dojo.hostenv.setModulePrefix(_66,_67);
};
if(djConfig["modulePaths"]){
for(var param in djConfig["modulePaths"]){
dojo.registerModulePath(param,djConfig["modulePaths"][param]);
}
}
dojo.setModulePrefix=function(_68,_69){
dojo.deprecated("dojo.setModulePrefix(\""+_68+"\", \""+_69+"\")","replaced by dojo.registerModulePath","0.5");
return dojo.registerModulePath(_68,_69);
};
dojo.exists=function(obj,_6b){
var p=_6b.split(".");
for(var i=0;i<p.length;i++){
if(!obj[p[i]]){
return false;
}
obj=obj[p[i]];
}
return true;
};
dojo.hostenv.normalizeLocale=function(_6e){
var _6f=_6e?_6e.toLowerCase():dojo.locale;
if(_6f=="root"){
_6f="ROOT";
}
return _6f;
};
dojo.hostenv.searchLocalePath=function(_70,_71,_72){
_70=dojo.hostenv.normalizeLocale(_70);
var _73=_70.split("-");
var _74=[];
for(var i=_73.length;i>0;i--){
_74.push(_73.slice(0,i).join("-"));
}
_74.push(false);
if(_71){
_74.reverse();
}
for(var j=_74.length-1;j>=0;j--){
var loc=_74[j]||"ROOT";
var _78=_72(loc);
if(_78){
break;
}
}
};
dojo.hostenv.localesGenerated=["ROOT","es-es","es","it-it","pt-br","de","fr-fr","zh-cn","pt","en-us","zh","fr","zh-tw","it","en-gb","xx","de-de","ko-kr","ja-jp","ko","en","ja"];
dojo.hostenv.registerNlsPrefix=function(){
if(!dojo.hostenv.moduleHasPrefix("nls")){
dojo.registerModulePath("nls","nls");
}
};
dojo.hostenv.preloadLocalizations=function(){
if(dojo.hostenv.localesGenerated){
dojo.hostenv.registerNlsPrefix();
function preload(_79){
_79=dojo.hostenv.normalizeLocale(_79);
dojo.hostenv.searchLocalePath(_79,true,function(loc){
for(var i=0;i<dojo.hostenv.localesGenerated.length;i++){
if(dojo.hostenv.localesGenerated[i]==loc){
dojo["require"]("nls.dojo_"+loc);
return true;
}
}
return false;
});
}
preload();
var _7c=djConfig.extraLocale||[];
for(var i=0;i<_7c.length;i++){
preload(_7c[i]);
}
}
dojo.hostenv.preloadLocalizations=function(){
};
};
dojo.requireLocalization=function(_7e,_7f,_80,_81){
dojo.hostenv.preloadLocalizations();
var _82=dojo.hostenv.normalizeLocale(_80);
var _83=[_7e,"nls",_7f].join(".");
var _84="";
if(_81){
var _85=_81.split(",");
for(var i=0;i<_85.length;i++){
if(_82.indexOf(_85[i])==0){
if(_85[i].length>_84.length){
_84=_85[i];
}
}
}
if(!_84){
_84="ROOT";
}
}
var _87=_81?_84:_82;
var _88=dojo.hostenv.findModule(_83);
var _89=null;
if(_88){
if(djConfig.localizationComplete&&_88._built){
return;
}
var _8a=_87.replace("-","_");
var _8b=_83+"."+_8a;
_89=dojo.hostenv.findModule(_8b);
}
if(!_89){
_88=dojo.hostenv.startPackage(_83);
var _8c=dojo.hostenv.getModuleSymbols(_7e);
var _8d=_8c.concat("nls").join("/");
var _8e;
dojo.hostenv.searchLocalePath(_87,_81,function(loc){
var _90=loc.replace("-","_");
var _91=_83+"."+_90;
var _92=false;
if(!dojo.hostenv.findModule(_91)){
dojo.hostenv.startPackage(_91);
var _93=[_8d];
if(loc!="ROOT"){
_93.push(loc);
}
_93.push(_7f);
var _94=_93.join("/")+".js";
_92=dojo.hostenv.loadPath(_94,null,function(_95){
var _96=function(){
};
_96.prototype=_8e;
_88[_90]=new _96();
for(var j in _95){
_88[_90][j]=_95[j];
}
});
}else{
_92=true;
}
if(_92&&_88[_90]){
_8e=_88[_90];
}else{
_88[_90]=_8e;
}
if(_81){
return true;
}
});
}
if(_81&&_82!=_84){
_88[_82.replace("-","_")]=_88[_84.replace("-","_")];
}
};
(function(){
var _98=djConfig.extraLocale;
if(_98){
if(!_98 instanceof Array){
_98=[_98];
}
var req=dojo.requireLocalization;
dojo.requireLocalization=function(m,b,_9c,_9d){
req(m,b,_9c,_9d);
if(_9c){
return;
}
for(var i=0;i<_98.length;i++){
req(m,b,_98[i],_9d);
}
};
}
})();
}
if(typeof window!="undefined"){
(function(){
if(djConfig.allowQueryConfig){
var _9f=document.location.toString();
var _a0=_9f.split("?",2);
if(_a0.length>1){
var _a1=_a0[1];
var _a2=_a1.split("&");
for(var x in _a2){
var sp=_a2[x].split("=");
if((sp[0].length>9)&&(sp[0].substr(0,9)=="djConfig.")){
var opt=sp[0].substr(9);
try{
djConfig[opt]=eval(sp[1]);
}
catch(e){
djConfig[opt]=sp[1];
}
}
}
}
}
if(((djConfig["baseScriptUri"]=="")||(djConfig["baseRelativePath"]==""))&&(document&&document.getElementsByTagName)){
var _a6=document.getElementsByTagName("script");
var _a7=/(__package__|dojo|bootstrap1)\.js([\?\.]|$)/i;
for(var i=0;i<_a6.length;i++){
var src=_a6[i].getAttribute("src");
if(!src){
continue;
}
var m=src.match(_a7);
if(m){
var _ab=src.substring(0,m.index);
if(src.indexOf("bootstrap1")>-1){
_ab+="../";
}
if(!this["djConfig"]){
djConfig={};
}
if(djConfig["baseScriptUri"]==""){
djConfig["baseScriptUri"]=_ab;
}
if(djConfig["baseRelativePath"]==""){
djConfig["baseRelativePath"]=_ab;
}
break;
}
}
}
var dr=dojo.render;
var drh=dojo.render.html;
var drs=dojo.render.svg;
var dua=(drh.UA=navigator.userAgent);
var dav=(drh.AV=navigator.appVersion);
var t=true;
var f=false;
drh.capable=t;
drh.support.builtin=t;
dr.ver=parseFloat(drh.AV);
dr.os.mac=dav.indexOf("Macintosh")>=0;
dr.os.win=dav.indexOf("Windows")>=0;
dr.os.linux=dav.indexOf("X11")>=0;
drh.opera=dua.indexOf("Opera")>=0;
drh.khtml=(dav.indexOf("Konqueror")>=0)||(dav.indexOf("Safari")>=0);
drh.safari=dav.indexOf("Safari")>=0;
var _b3=dua.indexOf("Gecko");
drh.mozilla=drh.moz=(_b3>=0)&&(!drh.khtml);
if(drh.mozilla){
drh.geckoVersion=dua.substring(_b3+6,_b3+14);
}
drh.ie=(document.all)&&(!drh.opera);
drh.ie50=drh.ie&&dav.indexOf("MSIE 5.0")>=0;
drh.ie55=drh.ie&&dav.indexOf("MSIE 5.5")>=0;
drh.ie60=drh.ie&&dav.indexOf("MSIE 6.0")>=0;
drh.ie70=drh.ie&&dav.indexOf("MSIE 7.0")>=0;
var cm=document["compatMode"];
drh.quirks=(cm=="BackCompat")||(cm=="QuirksMode")||drh.ie55||drh.ie50;
dojo.locale=dojo.locale||(drh.ie?navigator.userLanguage:navigator.language).toLowerCase();
dr.vml.capable=drh.ie;
drs.capable=f;
drs.support.plugin=f;
drs.support.builtin=f;
var _b5=window["document"];
var tdi=_b5["implementation"];
if((tdi)&&(tdi["hasFeature"])&&(tdi.hasFeature("http://www.w3.org/TR/SVG11/feature#Shape","1.1"))){
drs.capable=t;
drs.support.builtin=t;
drs.support.plugin=f;
}
if(drh.safari){
var tmp=dua.split("AppleWebKit/")[1];
var ver=parseFloat(tmp.split(" ")[0]);
if(ver>=420){
drs.capable=t;
drs.support.builtin=t;
drs.support.plugin=f;
}
}else{
}
})();
dojo.hostenv.startPackage("dojo.hostenv");
dojo.render.name=dojo.hostenv.name_="browser";
dojo.hostenv.searchIds=[];
dojo.hostenv._XMLHTTP_PROGIDS=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];
dojo.hostenv.getXmlhttpObject=function(){
var _b9=null;
var _ba=null;
try{
_b9=new XMLHttpRequest();
}
catch(e){
}
if(!_b9){
for(var i=0;i<3;++i){
var _bc=dojo.hostenv._XMLHTTP_PROGIDS[i];
try{
_b9=new ActiveXObject(_bc);
}
catch(e){
_ba=e;
}
if(_b9){
dojo.hostenv._XMLHTTP_PROGIDS=[_bc];
break;
}
}
}
if(!_b9){
return dojo.raise("XMLHTTP not available",_ba);
}
return _b9;
};
dojo.hostenv._blockAsync=false;
dojo.hostenv.getText=function(uri,_be,_bf){
if(!_be){
this._blockAsync=true;
}
var _c0=this.getXmlhttpObject();
function isDocumentOk(_c1){
var _c2=_c1["status"];
return Boolean((!_c2)||((200<=_c2)&&(300>_c2))||(_c2==304));
}
if(_be){
var _c3=this,_c4=null,gbl=dojo.global();
var xhr=dojo.evalObjPath("dojo.io.XMLHTTPTransport");
_c0.onreadystatechange=function(){
if(_c4){
gbl.clearTimeout(_c4);
_c4=null;
}
if(_c3._blockAsync||(xhr&&xhr._blockAsync)){
_c4=gbl.setTimeout(function(){
_c0.onreadystatechange.apply(this);
},10);
}else{
if(4==_c0.readyState){
if(isDocumentOk(_c0)){
_be(_c0.responseText);
}
}
}
};
}
_c0.open("GET",uri,_be?true:false);
try{
_c0.send(null);
if(_be){
return null;
}
if(!isDocumentOk(_c0)){
var err=Error("Unable to load "+uri+" status:"+_c0.status);
err.status=_c0.status;
err.responseText=_c0.responseText;
throw err;
}
}
catch(e){
this._blockAsync=false;
if((_bf)&&(!_be)){
return null;
}else{
throw e;
}
}
this._blockAsync=false;
return _c0.responseText;
};
dojo.hostenv.defaultDebugContainerId="dojoDebug";
dojo.hostenv._println_buffer=[];
dojo.hostenv._println_safe=false;
dojo.hostenv.println=function(_c8){
if(!dojo.hostenv._println_safe){
dojo.hostenv._println_buffer.push(_c8);
}else{
try{
var _c9=document.getElementById(djConfig.debugContainerId?djConfig.debugContainerId:dojo.hostenv.defaultDebugContainerId);
if(!_c9){
_c9=dojo.body();
}
var div=document.createElement("div");
div.appendChild(document.createTextNode(_c8));
_c9.appendChild(div);
}
catch(e){
try{
document.write("<div>"+_c8+"</div>");
}
catch(e2){
window.status=_c8;
}
}
}
};
dojo.addOnLoad(function(){
dojo.hostenv._println_safe=true;
while(dojo.hostenv._println_buffer.length>0){
dojo.hostenv.println(dojo.hostenv._println_buffer.shift());
}
});
function dj_addNodeEvtHdlr(_cb,_cc,fp){
var _ce=_cb["on"+_cc]||function(){
};
_cb["on"+_cc]=function(){
fp.apply(_cb,arguments);
_ce.apply(_cb,arguments);
};
return true;
}
dojo.hostenv._djInitFired=false;
function dj_load_init(e){
dojo.hostenv._djInitFired=true;
var _d0=(e&&e.type)?e.type.toLowerCase():"load";
if(arguments.callee.initialized||(_d0!="domcontentloaded"&&_d0!="load")){
return;
}
arguments.callee.initialized=true;
if(typeof (_timer)!="undefined"){
clearInterval(_timer);
delete _timer;
}
var _d1=function(){
if(dojo.render.html.ie){
dojo.hostenv.makeWidgets();
}
};
if(dojo.hostenv.inFlightCount==0){
_d1();
dojo.hostenv.modulesLoaded();
}else{
dojo.hostenv.modulesLoadedListeners.unshift(_d1);
}
}
if(document.addEventListener){
if(dojo.render.html.opera||(dojo.render.html.moz&&(djConfig["enableMozDomContentLoaded"]===true))){
document.addEventListener("DOMContentLoaded",dj_load_init,null);
}
window.addEventListener("load",dj_load_init,null);
}
if(dojo.render.html.ie&&dojo.render.os.win){
document.attachEvent("onreadystatechange",function(e){
if(document.readyState=="complete"){
dj_load_init();
}
});
}
if(/(WebKit|khtml)/i.test(navigator.userAgent)){
var _timer=setInterval(function(){
if(/loaded|complete/.test(document.readyState)){
dj_load_init();
}
},10);
}
if(dojo.render.html.ie){
dj_addNodeEvtHdlr(window,"beforeunload",function(){
dojo.hostenv._unloading=true;
window.setTimeout(function(){
dojo.hostenv._unloading=false;
},0);
});
}
dj_addNodeEvtHdlr(window,"unload",function(){
dojo.hostenv.unloaded();
if((!dojo.render.html.ie)||(dojo.render.html.ie&&dojo.hostenv._unloading)){
dojo.hostenv.unloaded();
}
});
dojo.hostenv.makeWidgets=function(){
var _d3=[];
if(djConfig.searchIds&&djConfig.searchIds.length>0){
_d3=_d3.concat(djConfig.searchIds);
}
if(dojo.hostenv.searchIds&&dojo.hostenv.searchIds.length>0){
_d3=_d3.concat(dojo.hostenv.searchIds);
}
if((djConfig.parseWidgets)||(_d3.length>0)){
if(dojo.evalObjPath("dojo.widget.Parse")){
var _d4=new dojo.xml.Parse();
if(_d3.length>0){
for(var x=0;x<_d3.length;x++){
var _d6=document.getElementById(_d3[x]);
if(!_d6){
continue;
}
var _d7=_d4.parseElement(_d6,null,true);
dojo.widget.getParser().createComponents(_d7);
}
}else{
if(djConfig.parseWidgets){
var _d7=_d4.parseElement(dojo.body(),null,true);
dojo.widget.getParser().createComponents(_d7);
}
}
}
}
};
dojo.addOnLoad(function(){
if(!dojo.render.html.ie){
dojo.hostenv.makeWidgets();
}
});
try{
if(dojo.render.html.ie){
document.namespaces.add("v","urn:schemas-microsoft-com:vml");
document.createStyleSheet().addRule("v\\:*","behavior:url(#default#VML)");
}
}
catch(e){
}
dojo.hostenv.writeIncludes=function(){
};
if(!dj_undef("document",this)){
dj_currentDocument=this.document;
}
dojo.doc=function(){
return dj_currentDocument;
};
dojo.body=function(){
return dojo.doc().body||dojo.doc().getElementsByTagName("body")[0];
};
dojo.byId=function(id,doc){
if((id)&&((typeof id=="string")||(id instanceof String))){
if(!doc){
doc=dj_currentDocument;
}
var ele=doc.getElementById(id);
if(ele&&(ele.id!=id)&&doc.all){
ele=null;
eles=doc.all[id];
if(eles){
if(eles.length){
for(var i=0;i<eles.length;i++){
if(eles[i].id==id){
ele=eles[i];
break;
}
}
}else{
ele=eles;
}
}
}
return ele;
}
return id;
};
dojo.setContext=function(_dc,_dd){
dj_currentContext=_dc;
dj_currentDocument=_dd;
};
dojo._fireCallback=function(_de,_df,_e0){
if((_df)&&((typeof _de=="string")||(_de instanceof String))){
_de=_df[_de];
}
return (_df?_de.apply(_df,_e0||[]):_de());
};
dojo.withGlobal=function(_e1,_e2,_e3,_e4){
var _e5;
var _e6=dj_currentContext;
var _e7=dj_currentDocument;
try{
dojo.setContext(_e1,_e1.document);
_e5=dojo._fireCallback(_e2,_e3,_e4);
}
finally{
dojo.setContext(_e6,_e7);
}
return _e5;
};
dojo.withDoc=function(_e8,_e9,_ea,_eb){
var _ec;
var _ed=dj_currentDocument;
try{
dj_currentDocument=_e8;
_ec=dojo._fireCallback(_e9,_ea,_eb);
}
finally{
dj_currentDocument=_ed;
}
return _ec;
};
}
dojo.requireIf((djConfig["isDebug"]||djConfig["debugAtAllCosts"]),"dojo.debug");
dojo.requireIf(djConfig["debugAtAllCosts"]&&!window.widget&&!djConfig["useXDomain"],"dojo.browser_debug");
dojo.requireIf(djConfig["debugAtAllCosts"]&&!window.widget&&djConfig["useXDomain"],"dojo.browser_debug_xd");
dojo.provide("dojo.i18n.common");
dojo.i18n.getLocalization=function(_ee,_ef,_f0){
dojo.hostenv.preloadLocalizations();
_f0=dojo.hostenv.normalizeLocale(_f0);
var _f1=_f0.split("-");
var _f2=[_ee,"nls",_ef].join(".");
var _f3=dojo.hostenv.findModule(_f2,true);
var _f4;
for(var i=_f1.length;i>0;i--){
var loc=_f1.slice(0,i).join("_");
if(_f3[loc]){
_f4=_f3[loc];
break;
}
}
if(!_f4){
_f4=_f3.ROOT;
}
if(_f4){
var _f7=function(){
};
_f7.prototype=_f4;
return new _f7();
}
dojo.raise("Bundle not found: "+_ef+" in "+_ee+" , locale="+_f0);
};
dojo.i18n.isLTR=function(_f8){
var _f9=dojo.hostenv.normalizeLocale(_f8).split("-")[0];
var RTL={ar:true,fa:true,he:true,ur:true,yi:true};
return !RTL[_f9];
};
dojo.provide("otm.map.util");
otm.map.strings={};
dojo.addOnLoad(function(){
otm.map.strings=dojo.i18n.getLocalization("otm.map","strings");
});
otm.map.isCompatibleBrowser=function(){
var dr=dojo.render.html;
var ver=parseFloat(dr.AV);
dojo.debug("drh.UA=",dr.UA,"drh.AV=",dr.AV);
return ((dr.opera&&ver>=9)||(dr.moz&&ver>=1.5)||(dr.ie60||dr.ie70)||(dr.khtml&&ver>0));
};
otm.map.createCallback=function(_fd,_fe){
var _ff=arguments;
return function(){
var _100=[];
for(var i=2;i<_ff.length;i++){
_100.push(_ff[i]);
}
for(var i=0;i<arguments.length;i++){
_100.push(arguments[i]);
}
_fd.apply(_fe,_100);
};
};
otm.map.shallowCopy=function(obj){
var ret={},key;
for(key in obj){
if(dojo.lang.isUndefined(ret[key])){
ret[key]=obj[key];
}
}
return ret;
};
otm.map.disableSelection=function(_105){
_105=dojo.byId(_105)||dojo.body();
var h=dojo.render.html;
if(h.mozilla){
_105.style.MozUserSelect="none";
}else{
if(h.safari){
_105.style.KhtmlUserSelect="none";
}else{
if(h.ie){
_105.unselectable="on";
}else{
return false;
}
}
}
return true;
};
otm.map.enableSelection=function(_107){
_107=dojo.byId(_107)||dojo.body();
var h=dojo.render.html;
if(h.mozilla){
_107.style.MozUserSelect="";
}else{
if(h.safari){
_107.style.KhtmlUserSelect="";
}else{
if(h.ie){
_107.unselectable="off";
}else{
return false;
}
}
}
return true;
};
dojo.provide("dojo.lang.common");
dojo.lang.inherits=function(_109,_10a){
if(!dojo.lang.isFunction(_10a)){
dojo.raise("dojo.inherits: superclass argument ["+_10a+"] must be a function (subclass: ["+_109+"']");
}
_109.prototype=new _10a();
_109.prototype.constructor=_109;
_109.superclass=_10a.prototype;
_109["super"]=_10a.prototype;
};
dojo.lang._mixin=function(obj,_10c){
var tobj={};
for(var x in _10c){
if((typeof tobj[x]=="undefined")||(tobj[x]!=_10c[x])){
obj[x]=_10c[x];
}
}
if(dojo.render.html.ie&&(typeof (_10c["toString"])=="function")&&(_10c["toString"]!=obj["toString"])&&(_10c["toString"]!=tobj["toString"])){
obj.toString=_10c.toString;
}
return obj;
};
dojo.lang.mixin=function(obj,_110){
for(var i=1,l=arguments.length;i<l;i++){
dojo.lang._mixin(obj,arguments[i]);
}
return obj;
};
dojo.lang.extend=function(_113,_114){
for(var i=1,l=arguments.length;i<l;i++){
dojo.lang._mixin(_113.prototype,arguments[i]);
}
return _113;
};
dojo.inherits=dojo.lang.inherits;
dojo.mixin=dojo.lang.mixin;
dojo.extend=dojo.lang.extend;
dojo.lang.find=function(_117,_118,_119,_11a){
if(!dojo.lang.isArrayLike(_117)&&dojo.lang.isArrayLike(_118)){
dojo.deprecated("dojo.lang.find(value, array)","use dojo.lang.find(array, value) instead","0.5");
var temp=_117;
_117=_118;
_118=temp;
}
var _11c=dojo.lang.isString(_117);
if(_11c){
_117=_117.split("");
}
if(_11a){
var step=-1;
var i=_117.length-1;
var end=-1;
}else{
var step=1;
var i=0;
var end=_117.length;
}
if(_119){
while(i!=end){
if(_117[i]===_118){
return i;
}
i+=step;
}
}else{
while(i!=end){
if(_117[i]==_118){
return i;
}
i+=step;
}
}
return -1;
};
dojo.lang.indexOf=dojo.lang.find;
dojo.lang.findLast=function(_120,_121,_122){
return dojo.lang.find(_120,_121,_122,true);
};
dojo.lang.lastIndexOf=dojo.lang.findLast;
dojo.lang.inArray=function(_123,_124){
return dojo.lang.find(_123,_124)>-1;
};
dojo.lang.isObject=function(it){
if(typeof it=="undefined"){
return false;
}
return (typeof it=="object"||it===null||dojo.lang.isArray(it)||dojo.lang.isFunction(it));
};
dojo.lang.isArray=function(it){
return (it&&it instanceof Array||typeof it=="array");
};
dojo.lang.isArrayLike=function(it){
if((!it)||(dojo.lang.isUndefined(it))){
return false;
}
if(dojo.lang.isString(it)){
return false;
}
if(dojo.lang.isFunction(it)){
return false;
}
if(dojo.lang.isArray(it)){
return true;
}
if((it.tagName)&&(it.tagName.toLowerCase()=="form")){
return false;
}
if(dojo.lang.isNumber(it.length)&&isFinite(it.length)){
return true;
}
return false;
};
dojo.lang.isFunction=function(it){
return (it instanceof Function||typeof it=="function");
};
(function(){
if((dojo.render.html.capable)&&(dojo.render.html["safari"])){
dojo.lang.isFunction=function(it){
if((typeof (it)=="function")&&(it=="[object NodeList]")){
return false;
}
return (it instanceof Function||typeof it=="function");
};
}
})();
dojo.lang.isString=function(it){
return (typeof it=="string"||it instanceof String);
};
dojo.lang.isAlien=function(it){
if(!it){
return false;
}
return !dojo.lang.isFunction(it)&&/\{\s*\[native code\]\s*\}/.test(String(it));
};
dojo.lang.isBoolean=function(it){
return (it instanceof Boolean||typeof it=="boolean");
};
dojo.lang.isNumber=function(it){
return (it instanceof Number||typeof it=="number");
};
dojo.lang.isUndefined=function(it){
return ((typeof (it)=="undefined")&&(it==undefined));
};
dojo.provide("dojo.lang.func");
dojo.lang.hitch=function(_12f,_130){
var fcn=(dojo.lang.isString(_130)?_12f[_130]:_130)||function(){
};
return function(){
return fcn.apply(_12f,arguments);
};
};
dojo.lang.anonCtr=0;
dojo.lang.anon={};
dojo.lang.nameAnonFunc=function(_132,_133,_134){
var nso=(_133||dojo.lang.anon);
if((_134)||((dj_global["djConfig"])&&(djConfig["slowAnonFuncLookups"]==true))){
for(var x in nso){
try{
if(nso[x]===_132){
return x;
}
}
catch(e){
}
}
}
var ret="__"+dojo.lang.anonCtr++;
while(typeof nso[ret]!="undefined"){
ret="__"+dojo.lang.anonCtr++;
}
nso[ret]=_132;
return ret;
};
dojo.lang.forward=function(_138){
return function(){
return this[_138].apply(this,arguments);
};
};
dojo.lang.curry=function(_139,func){
var _13b=[];
_139=_139||dj_global;
if(dojo.lang.isString(func)){
func=_139[func];
}
for(var x=2;x<arguments.length;x++){
_13b.push(arguments[x]);
}
var _13d=(func["__preJoinArity"]||func.length)-_13b.length;
function gather(_13e,_13f,_140){
var _141=_140;
var _142=_13f.slice(0);
for(var x=0;x<_13e.length;x++){
_142.push(_13e[x]);
}
_140=_140-_13e.length;
if(_140<=0){
var res=func.apply(_139,_142);
_140=_141;
return res;
}else{
return function(){
return gather(arguments,_142,_140);
};
}
}
return gather([],_13b,_13d);
};
dojo.lang.curryArguments=function(_145,func,args,_148){
var _149=[];
var x=_148||0;
for(x=_148;x<args.length;x++){
_149.push(args[x]);
}
return dojo.lang.curry.apply(dojo.lang,[_145,func].concat(_149));
};
dojo.lang.tryThese=function(){
for(var x=0;x<arguments.length;x++){
try{
if(typeof arguments[x]=="function"){
var ret=(arguments[x]());
if(ret){
return ret;
}
}
}
catch(e){
dojo.debug(e);
}
}
};
dojo.lang.delayThese=function(farr,cb,_14f,_150){
if(!farr.length){
if(typeof _150=="function"){
_150();
}
return;
}
if((typeof _14f=="undefined")&&(typeof cb=="number")){
_14f=cb;
cb=function(){
};
}else{
if(!cb){
cb=function(){
};
if(!_14f){
_14f=0;
}
}
}
setTimeout(function(){
(farr.shift())();
cb();
dojo.lang.delayThese(farr,cb,_14f,_150);
},_14f);
};
dojo.provide("dojo.lang.extras");
dojo.lang.setTimeout=function(func,_152){
var _153=window,_154=2;
if(!dojo.lang.isFunction(func)){
_153=func;
func=_152;
_152=arguments[2];
_154++;
}
if(dojo.lang.isString(func)){
func=_153[func];
}
var args=[];
for(var i=_154;i<arguments.length;i++){
args.push(arguments[i]);
}
return dojo.global().setTimeout(function(){
func.apply(_153,args);
},_152);
};
dojo.lang.clearTimeout=function(_157){
dojo.global().clearTimeout(_157);
};
dojo.lang.getNameInObj=function(ns,item){
if(!ns){
ns=dj_global;
}
for(var x in ns){
if(ns[x]===item){
return new String(x);
}
}
return null;
};
dojo.lang.shallowCopy=function(obj,deep){
var i,ret;
if(obj===null){
return null;
}
if(dojo.lang.isObject(obj)){
ret=new obj.constructor();
for(i in obj){
if(dojo.lang.isUndefined(ret[i])){
ret[i]=deep?dojo.lang.shallowCopy(obj[i],deep):obj[i];
}
}
}else{
if(dojo.lang.isArray(obj)){
ret=[];
for(i=0;i<obj.length;i++){
ret[i]=deep?dojo.lang.shallowCopy(obj[i],deep):obj[i];
}
}else{
ret=obj;
}
}
return ret;
};
dojo.lang.firstValued=function(){
for(var i=0;i<arguments.length;i++){
if(typeof arguments[i]!="undefined"){
return arguments[i];
}
}
return undefined;
};
dojo.lang.getObjPathValue=function(_160,_161,_162){
with(dojo.parseObjPath(_160,_161,_162)){
return dojo.evalProp(prop,obj,_162);
}
};
dojo.lang.setObjPathValue=function(_163,_164,_165,_166){
dojo.deprecated("dojo.lang.setObjPathValue","use dojo.parseObjPath and the '=' operator","0.6");
if(arguments.length<4){
_166=true;
}
with(dojo.parseObjPath(_163,_165,_166)){
if(obj&&(_166||(prop in obj))){
obj[prop]=_164;
}
}
};
dojo.provide("dojo.lang.declare");
dojo.lang.declare=function(_167,_168,init,_16a){
if((dojo.lang.isFunction(_16a))||((!_16a)&&(!dojo.lang.isFunction(init)))){
var temp=_16a;
_16a=init;
init=temp;
}
var _16c=[];
if(dojo.lang.isArray(_168)){
_16c=_168;
_168=_16c.shift();
}
if(!init){
init=dojo.evalObjPath(_167,false);
if((init)&&(!dojo.lang.isFunction(init))){
init=null;
}
}
var ctor=dojo.lang.declare._makeConstructor();
var scp=(_168?_168.prototype:null);
if(scp){
scp.prototyping=true;
ctor.prototype=new _168();
scp.prototyping=false;
}
ctor.superclass=scp;
ctor.mixins=_16c;
for(var i=0,l=_16c.length;i<l;i++){
dojo.lang.extend(ctor,_16c[i].prototype);
}
ctor.prototype.initializer=null;
ctor.prototype.declaredClass=_167;
if(dojo.lang.isArray(_16a)){
dojo.lang.extend.apply(dojo.lang,[ctor].concat(_16a));
}else{
dojo.lang.extend(ctor,(_16a)||{});
}
dojo.lang.extend(ctor,dojo.lang.declare._common);
ctor.prototype.constructor=ctor;
ctor.prototype.initializer=(ctor.prototype.initializer)||(init)||(function(){
});
var _171=dojo.parseObjPath(_167,null,true);
_171.obj[_171.prop]=ctor;
return ctor;
};
dojo.lang.declare._makeConstructor=function(){
return function(){
var self=this._getPropContext();
var s=self.constructor.superclass;
if((s)&&(s.constructor)){
if(s.constructor==arguments.callee){
this._inherited("constructor",arguments);
}else{
this._contextMethod(s,"constructor",arguments);
}
}
var ms=(self.constructor.mixins)||([]);
for(var i=0,m;(m=ms[i]);i++){
(((m.prototype)&&(m.prototype.initializer))||(m)).apply(this,arguments);
}
if((!this.prototyping)&&(self.initializer)){
self.initializer.apply(this,arguments);
}
};
};
dojo.lang.declare._common={_getPropContext:function(){
return (this.___proto||this);
},_contextMethod:function(_177,_178,args){
var _17a,_17b=this.___proto;
this.___proto=_177;
try{
_17a=_177[_178].apply(this,(args||[]));
}
catch(e){
throw e;
}
finally{
this.___proto=_17b;
}
return _17a;
},_inherited:function(prop,args){
var p=this._getPropContext();
do{
if((!p.constructor)||(!p.constructor.superclass)){
return;
}
p=p.constructor.superclass;
}while(!(prop in p));
return (dojo.lang.isFunction(p[prop])?this._contextMethod(p,prop,args):p[prop]);
},inherited:function(prop,args){
dojo.deprecated("'inherited' method is dangerous, do not up-call! 'inherited' is slated for removal in 0.5; name your super class (or use superclass property) instead.","0.5");
this._inherited(prop,args);
}};
dojo.declare=dojo.lang.declare;
dojo.provide("dojo.dom");
dojo.dom.ELEMENT_NODE=1;
dojo.dom.ATTRIBUTE_NODE=2;
dojo.dom.TEXT_NODE=3;
dojo.dom.CDATA_SECTION_NODE=4;
dojo.dom.ENTITY_REFERENCE_NODE=5;
dojo.dom.ENTITY_NODE=6;
dojo.dom.PROCESSING_INSTRUCTION_NODE=7;
dojo.dom.COMMENT_NODE=8;
dojo.dom.DOCUMENT_NODE=9;
dojo.dom.DOCUMENT_TYPE_NODE=10;
dojo.dom.DOCUMENT_FRAGMENT_NODE=11;
dojo.dom.NOTATION_NODE=12;
dojo.dom.dojoml="http://www.dojotoolkit.org/2004/dojoml";
dojo.dom.xmlns={svg:"http://www.w3.org/2000/svg",smil:"http://www.w3.org/2001/SMIL20/",mml:"http://www.w3.org/1998/Math/MathML",cml:"http://www.xml-cml.org",xlink:"http://www.w3.org/1999/xlink",xhtml:"http://www.w3.org/1999/xhtml",xul:"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",xbl:"http://www.mozilla.org/xbl",fo:"http://www.w3.org/1999/XSL/Format",xsl:"http://www.w3.org/1999/XSL/Transform",xslt:"http://www.w3.org/1999/XSL/Transform",xi:"http://www.w3.org/2001/XInclude",xforms:"http://www.w3.org/2002/01/xforms",saxon:"http://icl.com/saxon",xalan:"http://xml.apache.org/xslt",xsd:"http://www.w3.org/2001/XMLSchema",dt:"http://www.w3.org/2001/XMLSchema-datatypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcq:"http://purl.org/dc/qualifiers/1.0","soap-env":"http://schemas.xmlsoap.org/soap/envelope/",wsdl:"http://schemas.xmlsoap.org/wsdl/",AdobeExtensions:"http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"};
dojo.dom.isNode=function(wh){
if(typeof Element=="function"){
try{
return wh instanceof Element;
}
catch(e){
}
}else{
return wh&&!isNaN(wh.nodeType);
}
};
dojo.dom.getUniqueId=function(){
var _182=dojo.doc();
do{
var id="dj_unique_"+(++arguments.callee._idIncrement);
}while(_182.getElementById(id));
return id;
};
dojo.dom.getUniqueId._idIncrement=0;
dojo.dom.firstElement=dojo.dom.getFirstChildElement=function(_184,_185){
var node=_184.firstChild;
while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE){
node=node.nextSibling;
}
if(_185&&node&&node.tagName&&node.tagName.toLowerCase()!=_185.toLowerCase()){
node=dojo.dom.nextElement(node,_185);
}
return node;
};
dojo.dom.lastElement=dojo.dom.getLastChildElement=function(_187,_188){
var node=_187.lastChild;
while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE){
node=node.previousSibling;
}
if(_188&&node&&node.tagName&&node.tagName.toLowerCase()!=_188.toLowerCase()){
node=dojo.dom.prevElement(node,_188);
}
return node;
};
dojo.dom.nextElement=dojo.dom.getNextSiblingElement=function(node,_18b){
if(!node){
return null;
}
do{
node=node.nextSibling;
}while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE);
if(node&&_18b&&_18b.toLowerCase()!=node.tagName.toLowerCase()){
return dojo.dom.nextElement(node,_18b);
}
return node;
};
dojo.dom.prevElement=dojo.dom.getPreviousSiblingElement=function(node,_18d){
if(!node){
return null;
}
if(_18d){
_18d=_18d.toLowerCase();
}
do{
node=node.previousSibling;
}while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE);
if(node&&_18d&&_18d.toLowerCase()!=node.tagName.toLowerCase()){
return dojo.dom.prevElement(node,_18d);
}
return node;
};
dojo.dom.moveChildren=function(_18e,_18f,trim){
var _191=0;
if(trim){
while(_18e.hasChildNodes()&&_18e.firstChild.nodeType==dojo.dom.TEXT_NODE){
_18e.removeChild(_18e.firstChild);
}
while(_18e.hasChildNodes()&&_18e.lastChild.nodeType==dojo.dom.TEXT_NODE){
_18e.removeChild(_18e.lastChild);
}
}
while(_18e.hasChildNodes()){
_18f.appendChild(_18e.firstChild);
_191++;
}
return _191;
};
dojo.dom.copyChildren=function(_192,_193,trim){
var _195=_192.cloneNode(true);
return this.moveChildren(_195,_193,trim);
};
dojo.dom.replaceChildren=function(node,_197){
var _198=[];
if(dojo.render.html.ie){
for(var i=0;i<node.childNodes.length;i++){
_198.push(node.childNodes[i]);
}
}
dojo.dom.removeChildren(node);
node.appendChild(_197);
for(var i=0;i<_198.length;i++){
dojo.dom.destroyNode(_198[i]);
}
};
dojo.dom.removeChildren=function(node){
var _19b=node.childNodes.length;
while(node.hasChildNodes()){
dojo.dom.removeNode(node.firstChild);
}
return _19b;
};
dojo.dom.replaceNode=function(node,_19d){
return node.parentNode.replaceChild(_19d,node);
};
dojo.dom.destroyNode=function(node){
if(node.parentNode){
node=dojo.dom.removeNode(node);
}
if(node.nodeType!=3){
if(dojo.evalObjPath("dojo.event.browser.clean",false)){
dojo.event.browser.clean(node);
}
if(dojo.render.html.ie){
node.outerHTML="";
}
}
};
dojo.dom.removeNode=function(node){
if(node&&node.parentNode){
return node.parentNode.removeChild(node);
}
};
dojo.dom.getAncestors=function(node,_1a1,_1a2){
var _1a3=[];
var _1a4=(_1a1&&(_1a1 instanceof Function||typeof _1a1=="function"));
while(node){
if(!_1a4||_1a1(node)){
_1a3.push(node);
}
if(_1a2&&_1a3.length>0){
return _1a3[0];
}
node=node.parentNode;
}
if(_1a2){
return null;
}
return _1a3;
};
dojo.dom.getAncestorsByTag=function(node,tag,_1a7){
tag=tag.toLowerCase();
return dojo.dom.getAncestors(node,function(el){
return ((el.tagName)&&(el.tagName.toLowerCase()==tag));
},_1a7);
};
dojo.dom.getFirstAncestorByTag=function(node,tag){
return dojo.dom.getAncestorsByTag(node,tag,true);
};
dojo.dom.isDescendantOf=function(node,_1ac,_1ad){
if(_1ad&&node){
node=node.parentNode;
}
while(node){
if(node==_1ac){
return true;
}
node=node.parentNode;
}
return false;
};
dojo.dom.innerXML=function(node){
if(node.innerXML){
return node.innerXML;
}else{
if(node.xml){
return node.xml;
}else{
if(typeof XMLSerializer!="undefined"){
return (new XMLSerializer()).serializeToString(node);
}
}
}
};
dojo.dom.createDocument=function(){
var doc=null;
var _1b0=dojo.doc();
if(!dj_undef("ActiveXObject")){
var _1b1=["MSXML2","Microsoft","MSXML","MSXML3"];
for(var i=0;i<_1b1.length;i++){
try{
doc=new ActiveXObject(_1b1[i]+".XMLDOM");
}
catch(e){
}
if(doc){
break;
}
}
}else{
if((_1b0.implementation)&&(_1b0.implementation.createDocument)){
doc=_1b0.implementation.createDocument("","",null);
}
}
return doc;
};
dojo.dom.createDocumentFromText=function(str,_1b4){
if(!_1b4){
_1b4="text/xml";
}
if(!dj_undef("DOMParser")){
var _1b5=new DOMParser();
return _1b5.parseFromString(str,_1b4);
}else{
if(!dj_undef("ActiveXObject")){
var _1b6=dojo.dom.createDocument();
if(_1b6){
_1b6.async=false;
_1b6.loadXML(str);
return _1b6;
}else{
dojo.debug("toXml didn't work?");
}
}else{
var _1b7=dojo.doc();
if(_1b7.createElement){
var tmp=_1b7.createElement("xml");
tmp.innerHTML=str;
if(_1b7.implementation&&_1b7.implementation.createDocument){
var _1b9=_1b7.implementation.createDocument("foo","",null);
for(var i=0;i<tmp.childNodes.length;i++){
_1b9.importNode(tmp.childNodes.item(i),true);
}
return _1b9;
}
return ((tmp.document)&&(tmp.document.firstChild?tmp.document.firstChild:tmp));
}
}
}
return null;
};
dojo.dom.prependChild=function(node,_1bc){
if(_1bc.firstChild){
_1bc.insertBefore(node,_1bc.firstChild);
}else{
_1bc.appendChild(node);
}
return true;
};
dojo.dom.insertBefore=function(node,ref,_1bf){
if((_1bf!=true)&&(node===ref||node.nextSibling===ref)){
return false;
}
var _1c0=ref.parentNode;
_1c0.insertBefore(node,ref);
return true;
};
dojo.dom.insertAfter=function(node,ref,_1c3){
var pn=ref.parentNode;
if(ref==pn.lastChild){
if((_1c3!=true)&&(node===ref)){
return false;
}
pn.appendChild(node);
}else{
return this.insertBefore(node,ref.nextSibling,_1c3);
}
return true;
};
dojo.dom.insertAtPosition=function(node,ref,_1c7){
if((!node)||(!ref)||(!_1c7)){
return false;
}
switch(_1c7.toLowerCase()){
case "before":
return dojo.dom.insertBefore(node,ref);
case "after":
return dojo.dom.insertAfter(node,ref);
case "first":
if(ref.firstChild){
return dojo.dom.insertBefore(node,ref.firstChild);
}else{
ref.appendChild(node);
return true;
}
break;
default:
ref.appendChild(node);
return true;
}
};
dojo.dom.insertAtIndex=function(node,_1c9,_1ca){
var _1cb=_1c9.childNodes;
if(!_1cb.length||_1cb.length==_1ca){
_1c9.appendChild(node);
return true;
}
if(_1ca==0){
return dojo.dom.prependChild(node,_1c9);
}
return dojo.dom.insertAfter(node,_1cb[_1ca-1]);
};
dojo.dom.textContent=function(node,text){
if(arguments.length>1){
var _1ce=dojo.doc();
dojo.dom.replaceChildren(node,_1ce.createTextNode(text));
return text;
}else{
if(node.textContent!=undefined){
return node.textContent;
}
var _1cf="";
if(node==null){
return _1cf;
}
for(var i=0;i<node.childNodes.length;i++){
switch(node.childNodes[i].nodeType){
case 1:
case 5:
_1cf+=dojo.dom.textContent(node.childNodes[i]);
break;
case 3:
case 2:
case 4:
_1cf+=node.childNodes[i].nodeValue;
break;
default:
break;
}
}
return _1cf;
}
};
dojo.dom.hasParent=function(node){
return Boolean(node&&node.parentNode&&dojo.dom.isNode(node.parentNode));
};
dojo.dom.isTag=function(node){
if(node&&node.tagName){
for(var i=1;i<arguments.length;i++){
if(node.tagName==String(arguments[i])){
return String(arguments[i]);
}
}
}
return "";
};
dojo.dom.setAttributeNS=function(elem,_1d5,_1d6,_1d7){
if(elem==null||((elem==undefined)&&(typeof elem=="undefined"))){
dojo.raise("No element given to dojo.dom.setAttributeNS");
}
if(!((elem.setAttributeNS==undefined)&&(typeof elem.setAttributeNS=="undefined"))){
elem.setAttributeNS(_1d5,_1d6,_1d7);
}else{
var _1d8=elem.ownerDocument;
var _1d9=_1d8.createNode(2,_1d6,_1d5);
_1d9.nodeValue=_1d7;
elem.setAttributeNode(_1d9);
}
};
dojo.provide("dojo.html.common");
dojo.lang.mixin(dojo.html,dojo.dom);
dojo.html.body=function(){
dojo.deprecated("dojo.html.body() moved to dojo.body()","0.5");
return dojo.body();
};
dojo.html.getEventTarget=function(evt){
if(!evt){
evt=dojo.global().event||{};
}
var t=(evt.srcElement?evt.srcElement:(evt.target?evt.target:null));
while((t)&&(t.nodeType!=1)){
t=t.parentNode;
}
return t;
};
dojo.html.getViewport=function(){
var _1dc=dojo.global();
var _1dd=dojo.doc();
var w=0;
var h=0;
if(dojo.render.html.mozilla){
w=_1dd.documentElement.clientWidth;
h=_1dc.innerHeight;
}else{
if(!dojo.render.html.opera&&_1dc.innerWidth){
w=_1dc.innerWidth;
h=_1dc.innerHeight;
}else{
if(!dojo.render.html.opera&&dojo.exists(_1dd,"documentElement.clientWidth")){
var w2=_1dd.documentElement.clientWidth;
if(!w||w2&&w2<w){
w=w2;
}
h=_1dd.documentElement.clientHeight;
}else{
if(dojo.body().clientWidth){
w=dojo.body().clientWidth;
h=dojo.body().clientHeight;
}
}
}
}
return {width:w,height:h};
};
dojo.html.getScroll=function(){
var _1e1=dojo.global();
var _1e2=dojo.doc();
var top=_1e1.pageYOffset||_1e2.documentElement.scrollTop||dojo.body().scrollTop||0;
var left=_1e1.pageXOffset||_1e2.documentElement.scrollLeft||dojo.body().scrollLeft||0;
return {top:top,left:left,offset:{x:left,y:top}};
};
dojo.html.getParentByType=function(node,type){
var _1e7=dojo.doc();
var _1e8=dojo.byId(node);
type=type.toLowerCase();
while((_1e8)&&(_1e8.nodeName.toLowerCase()!=type)){
if(_1e8==(_1e7["body"]||_1e7["documentElement"])){
return null;
}
_1e8=_1e8.parentNode;
}
return _1e8;
};
dojo.html.getAttribute=function(node,attr){
node=dojo.byId(node);
if((!node)||(!node.getAttribute)){
return null;
}
var ta=typeof attr=="string"?attr:new String(attr);
var v=node.getAttribute(ta.toUpperCase());
if((v)&&(typeof v=="string")&&(v!="")){
return v;
}
if(v&&v.value){
return v.value;
}
if((node.getAttributeNode)&&(node.getAttributeNode(ta))){
return (node.getAttributeNode(ta)).value;
}else{
if(node.getAttribute(ta)){
return node.getAttribute(ta);
}else{
if(node.getAttribute(ta.toLowerCase())){
return node.getAttribute(ta.toLowerCase());
}
}
}
return null;
};
dojo.html.hasAttribute=function(node,attr){
return dojo.html.getAttribute(dojo.byId(node),attr)?true:false;
};
dojo.html.getCursorPosition=function(e){
e=e||dojo.global().event;
var _1f0={x:0,y:0};
if(e.pageX||e.pageY){
_1f0.x=e.pageX;
_1f0.y=e.pageY;
}else{
var de=dojo.doc().documentElement;
var db=dojo.body();
_1f0.x=e.clientX+((de||db)["scrollLeft"])-((de||db)["clientLeft"]);
_1f0.y=e.clientY+((de||db)["scrollTop"])-((de||db)["clientTop"]);
}
return _1f0;
};
dojo.html.isTag=function(node){
node=dojo.byId(node);
if(node&&node.tagName){
for(var i=1;i<arguments.length;i++){
if(node.tagName.toLowerCase()==String(arguments[i]).toLowerCase()){
return String(arguments[i]).toLowerCase();
}
}
}
return "";
};
if(dojo.render.html.ie&&!dojo.render.html.ie70){
if(window.location.href.substr(0,6).toLowerCase()!="https:"){
(function(){
var _1f5=dojo.doc().createElement("script");
_1f5.src="javascript:'dojo.html.createExternalElement=function(doc, tag){ return doc.createElement(tag); }'";
dojo.doc().getElementsByTagName("head")[0].appendChild(_1f5);
})();
}
}else{
dojo.html.createExternalElement=function(doc,tag){
return doc.createElement(tag);
};
}
dojo.html._callDeprecated=function(_1f8,_1f9,args,_1fb,_1fc){
dojo.deprecated("dojo.html."+_1f8,"replaced by dojo.html."+_1f9+"("+(_1fb?"node, {"+_1fb+": "+_1fb+"}":"")+")"+(_1fc?"."+_1fc:""),"0.5");
var _1fd=[];
if(_1fb){
var _1fe={};
_1fe[_1fb]=args[1];
_1fd.push(args[0]);
_1fd.push(_1fe);
}else{
_1fd=args;
}
var ret=dojo.html[_1f9].apply(dojo.html,args);
if(_1fc){
return ret[_1fc];
}else{
return ret;
}
};
dojo.html.getViewportWidth=function(){
return dojo.html._callDeprecated("getViewportWidth","getViewport",arguments,null,"width");
};
dojo.html.getViewportHeight=function(){
return dojo.html._callDeprecated("getViewportHeight","getViewport",arguments,null,"height");
};
dojo.html.getViewportSize=function(){
return dojo.html._callDeprecated("getViewportSize","getViewport",arguments);
};
dojo.html.getScrollTop=function(){
return dojo.html._callDeprecated("getScrollTop","getScroll",arguments,null,"top");
};
dojo.html.getScrollLeft=function(){
return dojo.html._callDeprecated("getScrollLeft","getScroll",arguments,null,"left");
};
dojo.html.getScrollOffset=function(){
return dojo.html._callDeprecated("getScrollOffset","getScroll",arguments,null,"offset");
};
dojo.provide("dojo.uri.Uri");
dojo.uri=new function(){
this.dojoUri=function(uri){
return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri(),uri);
};
this.moduleUri=function(_201,uri){
var loc=dojo.hostenv.getModuleSymbols(_201).join("/");
if(!loc){
return null;
}
if(loc.lastIndexOf("/")!=loc.length-1){
loc+="/";
}
var _204=loc.indexOf(":");
var _205=loc.indexOf("/");
if(loc.charAt(0)!="/"&&(_204==-1||_204>_205)){
loc=dojo.hostenv.getBaseScriptUri()+loc;
}
return new dojo.uri.Uri(loc,uri);
};
this.Uri=function(){
var uri=arguments[0];
for(var i=1;i<arguments.length;i++){
if(!arguments[i]){
continue;
}
var _208=new dojo.uri.Uri(arguments[i].toString());
var _209=new dojo.uri.Uri(uri.toString());
if((_208.path=="")&&(_208.scheme==null)&&(_208.authority==null)&&(_208.query==null)){
if(_208.fragment!=null){
_209.fragment=_208.fragment;
}
_208=_209;
}else{
if(_208.scheme==null){
_208.scheme=_209.scheme;
if(_208.authority==null){
_208.authority=_209.authority;
if(_208.path.charAt(0)!="/"){
var path=_209.path.substring(0,_209.path.lastIndexOf("/")+1)+_208.path;
var segs=path.split("/");
for(var j=0;j<segs.length;j++){
if(segs[j]=="."){
if(j==segs.length-1){
segs[j]="";
}else{
segs.splice(j,1);
j--;
}
}else{
if(j>0&&!(j==1&&segs[0]=="")&&segs[j]==".."&&segs[j-1]!=".."){
if(j==segs.length-1){
segs.splice(j,1);
segs[j-1]="";
}else{
segs.splice(j-1,2);
j-=2;
}
}
}
}
_208.path=segs.join("/");
}
}
}
}
uri="";
if(_208.scheme!=null){
uri+=_208.scheme+":";
}
if(_208.authority!=null){
uri+="//"+_208.authority;
}
uri+=_208.path;
if(_208.query!=null){
uri+="?"+_208.query;
}
if(_208.fragment!=null){
uri+="#"+_208.fragment;
}
}
this.uri=uri.toString();
var _20d="^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
var r=this.uri.match(new RegExp(_20d));
this.scheme=r[2]||(r[1]?"":null);
this.authority=r[4]||(r[3]?"":null);
this.path=r[5];
this.query=r[7]||(r[6]?"":null);
this.fragment=r[9]||(r[8]?"":null);
if(this.authority!=null){
_20d="^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$";
r=this.authority.match(new RegExp(_20d));
this.user=r[3]||null;
this.password=r[4]||null;
this.host=r[5];
this.port=r[7]||null;
}
this.toString=function(){
return this.uri;
};
};
};
dojo.provide("dojo.html.style");
dojo.html.getClass=function(node){
node=dojo.byId(node);
if(!node){
return "";
}
var cs="";
if(node.className){
cs=node.className;
}else{
if(dojo.html.hasAttribute(node,"class")){
cs=dojo.html.getAttribute(node,"class");
}
}
return cs.replace(/^\s+|\s+$/g,"");
};
dojo.html.getClasses=function(node){
var c=dojo.html.getClass(node);
return (c=="")?[]:c.split(/\s+/g);
};
dojo.html.hasClass=function(node,_214){
return (new RegExp("(^|\\s+)"+_214+"(\\s+|$)")).test(dojo.html.getClass(node));
};
dojo.html.prependClass=function(node,_216){
_216+=" "+dojo.html.getClass(node);
return dojo.html.setClass(node,_216);
};
dojo.html.addClass=function(node,_218){
if(dojo.html.hasClass(node,_218)){
return false;
}
_218=(dojo.html.getClass(node)+" "+_218).replace(/^\s+|\s+$/g,"");
return dojo.html.setClass(node,_218);
};
dojo.html.setClass=function(node,_21a){
node=dojo.byId(node);
var cs=new String(_21a);
try{
if(typeof node.className=="string"){
node.className=cs;
}else{
if(node.setAttribute){
node.setAttribute("class",_21a);
node.className=cs;
}else{
return false;
}
}
}
catch(e){
dojo.debug("dojo.html.setClass() failed",e);
}
return true;
};
dojo.html.removeClass=function(node,_21d,_21e){
try{
if(!_21e){
var _21f=dojo.html.getClass(node).replace(new RegExp("(^|\\s+)"+_21d+"(\\s+|$)"),"$1$2");
}else{
var _21f=dojo.html.getClass(node).replace(_21d,"");
}
dojo.html.setClass(node,_21f);
}
catch(e){
dojo.debug("dojo.html.removeClass() failed",e);
}
return true;
};
dojo.html.replaceClass=function(node,_221,_222){
dojo.html.removeClass(node,_222);
dojo.html.addClass(node,_221);
};
dojo.html.classMatchType={ContainsAll:0,ContainsAny:1,IsOnly:2};
dojo.html.getElementsByClass=function(_223,_224,_225,_226,_227){
_227=false;
var _228=dojo.doc();
_224=dojo.byId(_224)||_228;
var _229=_223.split(/\s+/g);
var _22a=[];
if(_226!=1&&_226!=2){
_226=0;
}
var _22b=new RegExp("(\\s|^)(("+_229.join(")|(")+"))(\\s|$)");
var _22c=_229.join(" ").length;
var _22d=[];
if(!_227&&_228.evaluate){
var _22e=".//"+(_225||"*")+"[contains(";
if(_226!=dojo.html.classMatchType.ContainsAny){
_22e+="concat(' ',@class,' '), ' "+_229.join(" ') and contains(concat(' ',@class,' '), ' ")+" ')";
if(_226==2){
_22e+=" and string-length(@class)="+_22c+"]";
}else{
_22e+="]";
}
}else{
_22e+="concat(' ',@class,' '), ' "+_229.join(" ') or contains(concat(' ',@class,' '), ' ")+" ')]";
}
var _22f=_228.evaluate(_22e,_224,null,XPathResult.ANY_TYPE,null);
var _230=_22f.iterateNext();
while(_230){
try{
_22d.push(_230);
_230=_22f.iterateNext();
}
catch(e){
break;
}
}
return _22d;
}else{
if(!_225){
_225="*";
}
_22d=_224.getElementsByTagName(_225);
var node,i=0;
outer:
while(node=_22d[i++]){
var _233=dojo.html.getClasses(node);
if(_233.length==0){
continue outer;
}
var _234=0;
for(var j=0;j<_233.length;j++){
if(_22b.test(_233[j])){
if(_226==dojo.html.classMatchType.ContainsAny){
_22a.push(node);
continue outer;
}else{
_234++;
}
}else{
if(_226==dojo.html.classMatchType.IsOnly){
continue outer;
}
}
}
if(_234==_229.length){
if((_226==dojo.html.classMatchType.IsOnly)&&(_234==_233.length)){
_22a.push(node);
}else{
if(_226==dojo.html.classMatchType.ContainsAll){
_22a.push(node);
}
}
}
}
return _22a;
}
};
dojo.html.getElementsByClassName=dojo.html.getElementsByClass;
dojo.html.toCamelCase=function(_236){
var arr=_236.split("-"),cc=arr[0];
for(var i=1;i<arr.length;i++){
cc+=arr[i].charAt(0).toUpperCase()+arr[i].substring(1);
}
return cc;
};
dojo.html.toSelectorCase=function(_23a){
return _23a.replace(/([A-Z])/g,"-$1").toLowerCase();
};
if(dojo.render.html.ie){
dojo.html.getComputedStyle=function(node,_23c,_23d){
node=dojo.byId(node);
if(!node||!node.currentStyle){
return _23d;
}
return node.currentStyle[dojo.html.toCamelCase(_23c)];
};
dojo.html.getComputedStyles=function(node){
return node.currentStyle;
};
}else{
dojo.html.getComputedStyle=function(node,_240,_241){
node=dojo.byId(node);
if(!node||!node.style){
return _241;
}
var s=document.defaultView.getComputedStyle(node,null);
return (s&&s[dojo.html.toCamelCase(_240)])||"";
};
dojo.html.getComputedStyles=function(node){
return document.defaultView.getComputedStyle(node,null);
};
}
dojo.html.getStyleProperty=function(node,_245){
node=dojo.byId(node);
return (node&&node.style?node.style[dojo.html.toCamelCase(_245)]:undefined);
};
dojo.html.getStyle=function(node,_247){
var _248=dojo.html.getStyleProperty(node,_247);
return (_248?_248:dojo.html.getComputedStyle(node,_247));
};
dojo.html.setStyle=function(node,_24a,_24b){
node=dojo.byId(node);
if(node&&node.style){
var _24c=dojo.html.toCamelCase(_24a);
node.style[_24c]=_24b;
}
};
dojo.html.setStyleText=function(_24d,text){
try{
_24d.style.cssText=text;
}
catch(e){
_24d.setAttribute("style",text);
}
};
dojo.html.copyStyle=function(_24f,_250){
if(!_250.style.cssText){
_24f.setAttribute("style",_250.getAttribute("style"));
}else{
_24f.style.cssText=_250.style.cssText;
}
dojo.html.addClass(_24f,dojo.html.getClass(_250));
};
dojo.html.getUnitValue=function(node,_252,_253){
var s=dojo.html.getComputedStyle(node,_252);
if((!s)||((s=="auto")&&(_253))){
return {value:0,units:"px"};
}
var _255=s.match(/(\-?[\d.]+)([a-z%]*)/i);
if(!_255){
return dojo.html.getUnitValue.bad;
}
return {value:Number(_255[1]),units:_255[2].toLowerCase()};
};
dojo.html.getUnitValue.bad={value:NaN,units:""};
if(dojo.render.html.ie){
dojo.html.toPixelValue=function(_256,_257){
if(!_257){
return 0;
}
if(_257.slice(-2)=="px"){
return parseFloat(_257);
}
var _258=0;
with(_256){
var _259=style.left;
var _25a=runtimeStyle.left;
runtimeStyle.left=currentStyle.left;
try{
style.left=_257||0;
_258=style.pixelLeft;
style.left=_259;
runtimeStyle.left=_25a;
}
catch(e){
}
}
return _258;
};
}else{
dojo.html.toPixelValue=function(_25b,_25c){
return (_25c&&(_25c.slice(-2)=="px")?parseFloat(_25c):0);
};
}
dojo.html.getPixelValue=function(node,_25e,_25f){
return dojo.html.toPixelValue(node,dojo.html.getComputedStyle(node,_25e));
};
dojo.html.setPositivePixelValue=function(node,_261,_262){
if(isNaN(_262)){
return false;
}
node.style[_261]=Math.max(0,_262)+"px";
return true;
};
dojo.html.styleSheet=null;
dojo.html.insertCssRule=function(_263,_264,_265){
if(!dojo.html.styleSheet){
if(document.createStyleSheet){
dojo.html.styleSheet=document.createStyleSheet();
}else{
if(document.styleSheets[0]){
dojo.html.styleSheet=document.styleSheets[0];
}else{
return null;
}
}
}
if(arguments.length<3){
if(dojo.html.styleSheet.cssRules){
_265=dojo.html.styleSheet.cssRules.length;
}else{
if(dojo.html.styleSheet.rules){
_265=dojo.html.styleSheet.rules.length;
}else{
return null;
}
}
}
if(dojo.html.styleSheet.insertRule){
var rule=_263+" { "+_264+" }";
return dojo.html.styleSheet.insertRule(rule,_265);
}else{
if(dojo.html.styleSheet.addRule){
return dojo.html.styleSheet.addRule(_263,_264,_265);
}else{
return null;
}
}
};
dojo.html.removeCssRule=function(_267){
if(!dojo.html.styleSheet){
dojo.debug("no stylesheet defined for removing rules");
return false;
}
if(dojo.render.html.ie){
if(!_267){
_267=dojo.html.styleSheet.rules.length;
dojo.html.styleSheet.removeRule(_267);
}
}else{
if(document.styleSheets[0]){
if(!_267){
_267=dojo.html.styleSheet.cssRules.length;
}
dojo.html.styleSheet.deleteRule(_267);
}
}
return true;
};
dojo.html._insertedCssFiles=[];
dojo.html.insertCssFile=function(URI,doc,_26a,_26b){
if(!URI){
return;
}
if(!doc){
doc=document;
}
var _26c=dojo.hostenv.getText(URI,false,_26b);
if(_26c===null){
return;
}
_26c=dojo.html.fixPathsInCssText(_26c,URI);
if(_26a){
var idx=-1,node,ent=dojo.html._insertedCssFiles;
for(var i=0;i<ent.length;i++){
if((ent[i].doc==doc)&&(ent[i].cssText==_26c)){
idx=i;
node=ent[i].nodeRef;
break;
}
}
if(node){
var _271=doc.getElementsByTagName("style");
for(var i=0;i<_271.length;i++){
if(_271[i]==node){
return;
}
}
dojo.html._insertedCssFiles.shift(idx,1);
}
}
var _272=dojo.html.insertCssText(_26c,doc);
dojo.html._insertedCssFiles.push({"doc":doc,"cssText":_26c,"nodeRef":_272});
if(_272&&djConfig.isDebug){
_272.setAttribute("dbgHref",URI);
}
return _272;
};
dojo.html.insertCssText=function(_273,doc,URI){
if(!_273){
return;
}
if(!doc){
doc=document;
}
if(URI){
_273=dojo.html.fixPathsInCssText(_273,URI);
}
var _276=doc.createElement("style");
_276.setAttribute("type","text/css");
var head=doc.getElementsByTagName("head")[0];
if(!head){
dojo.debug("No head tag in document, aborting styles");
return;
}else{
head.appendChild(_276);
}
if(_276.styleSheet){
var _278=function(){
try{
_276.styleSheet.cssText=_273;
}
catch(e){
dojo.debug(e);
}
};
if(_276.styleSheet.disabled){
setTimeout(_278,10);
}else{
_278();
}
}else{
var _279=doc.createTextNode(_273);
_276.appendChild(_279);
}
return _276;
};
dojo.html.fixPathsInCssText=function(_27a,URI){
if(!_27a||!URI){
return;
}
var _27c,str="",url="";
var _27f=/url\(\s*([\t\s\w()\/.\\'"-:#=&?]+)\s*\)/;
var _280=/(file|https?|ftps?):\/\//;
var _281=/^[\s]*(['"]?)([\w()\/.\\'"-:#=&?]*)\1[\s]*?$/;
if(dojo.render.html.ie55||dojo.render.html.ie60){
var _282=/AlphaImageLoader\((.*)src\=['"]([\t\s\w()\/.\\#-:=&?]*?)['"](.*\))/;
var _283=/.*cssPathOffset\=['"]([\t\s\w()\/.\\#-:=&?]*)['"]/;
while(_27c=_282.exec(_27a)){
url=_27c[2].replace(_281,"$2");
if(!_280.exec(url)){
var _284=_283.exec(_27c[1])||_283.exec(_27c[3]);
if(_284){
url=(new dojo.uri.Uri(URI,_284[1],url).toString());
}else{
url=(new dojo.uri.Uri(URI,url).toString());
}
}
str+=_27a.substring(0,_27c.index)+"AlphaImageLoader("+_27c[1]+"src='"+url+"'"+_27c[3];
_27a=_27a.substr(_27c.index+_27c[0].length);
}
_27a=str+_27a;
}
while(_27c=_27f.exec(_27a)){
url=_27c[1].replace(_281,"$2");
if(!_280.exec(url)){
url=(new dojo.uri.Uri(URI,url).toString());
}
str+=_27a.substring(0,_27c.index)+"url("+url+")";
_27a=_27a.substr(_27c.index+_27c[0].length);
}
return str+_27a;
};
dojo.html.setActiveStyleSheet=function(_285){
var i=0,a,els=dojo.doc().getElementsByTagName("link");
while(a=els[i++]){
if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title")){
a.disabled=true;
if(a.getAttribute("title")==_285){
a.disabled=false;
}
}
}
};
dojo.html.getActiveStyleSheet=function(){
var i=0,a,els=dojo.doc().getElementsByTagName("link");
while(a=els[i++]){
if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title")&&!a.disabled){
return a.getAttribute("title");
}
}
return null;
};
dojo.html.getPreferredStyleSheet=function(){
var i=0,a,els=dojo.doc().getElementsByTagName("link");
while(a=els[i++]){
if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("rel").indexOf("alt")==-1&&a.getAttribute("title")){
return a.getAttribute("title");
}
}
return null;
};
dojo.html.applyBrowserClass=function(node){
var drh=dojo.render.html;
var _291={dj_ie:drh.ie,dj_ie55:drh.ie55,dj_ie6:drh.ie60,dj_ie7:drh.ie70,dj_iequirks:drh.ie&&drh.quirks,dj_opera:drh.opera,dj_opera8:drh.opera&&(Math.floor(dojo.render.version)==8),dj_opera9:drh.opera&&(Math.floor(dojo.render.version)==9),dj_khtml:drh.khtml,dj_safari:drh.safari,dj_gecko:drh.mozilla};
for(var p in _291){
if(_291[p]){
dojo.html.addClass(node,p);
}
}
};
dojo.provide("dojo.html.display");
dojo.html._toggle=function(node,_294,_295){
node=dojo.byId(node);
_295(node,!_294(node));
return _294(node);
};
dojo.html.show=function(node){
node=dojo.byId(node);
if(dojo.html.getStyleProperty(node,"display")=="none"){
dojo.html.setStyle(node,"display",(node.dojoDisplayCache||""));
node.dojoDisplayCache=undefined;
}
};
dojo.html.hide=function(node){
node=dojo.byId(node);
if(typeof node["dojoDisplayCache"]=="undefined"){
var d=dojo.html.getStyleProperty(node,"display");
if(d!="none"){
node.dojoDisplayCache=d;
}
}
dojo.html.setStyle(node,"display","none");
};
dojo.html.setShowing=function(node,_29a){
dojo.html[(_29a?"show":"hide")](node);
};
dojo.html.isShowing=function(node){
return (dojo.html.getStyleProperty(node,"display")!="none");
};
dojo.html.toggleShowing=function(node){
return dojo.html._toggle(node,dojo.html.isShowing,dojo.html.setShowing);
};
dojo.html.displayMap={tr:"",td:"",th:"",img:"inline",span:"inline",input:"inline",button:"inline"};
dojo.html.suggestDisplayByTagName=function(node){
node=dojo.byId(node);
if(node&&node.tagName){
var tag=node.tagName.toLowerCase();
return (tag in dojo.html.displayMap?dojo.html.displayMap[tag]:"block");
}
};
dojo.html.setDisplay=function(node,_2a0){
dojo.html.setStyle(node,"display",((_2a0 instanceof String||typeof _2a0=="string")?_2a0:(_2a0?dojo.html.suggestDisplayByTagName(node):"none")));
};
dojo.html.isDisplayed=function(node){
return (dojo.html.getComputedStyle(node,"display")!="none");
};
dojo.html.toggleDisplay=function(node){
return dojo.html._toggle(node,dojo.html.isDisplayed,dojo.html.setDisplay);
};
dojo.html.setVisibility=function(node,_2a4){
dojo.html.setStyle(node,"visibility",((_2a4 instanceof String||typeof _2a4=="string")?_2a4:(_2a4?"visible":"hidden")));
};
dojo.html.isVisible=function(node){
return (dojo.html.getComputedStyle(node,"visibility")!="hidden");
};
dojo.html.toggleVisibility=function(node){
return dojo.html._toggle(node,dojo.html.isVisible,dojo.html.setVisibility);
};
dojo.html.setOpacity=function(node,_2a8,_2a9){
node=dojo.byId(node);
var h=dojo.render.html;
if(!_2a9){
if(_2a8>=1){
if(h.ie){
dojo.html.clearOpacity(node);
return;
}else{
_2a8=0.999999;
}
}else{
if(_2a8<0){
_2a8=0;
}
}
}
if(h.ie){
if(node.nodeName.toLowerCase()=="tr"){
var tds=node.getElementsByTagName("td");
for(var x=0;x<tds.length;x++){
tds[x].style.filter="Alpha(Opacity="+_2a8*100+")";
}
}
node.style.filter="Alpha(Opacity="+_2a8*100+")";
}else{
if(h.moz){
node.style.opacity=_2a8;
node.style.MozOpacity=_2a8;
}else{
if(h.safari){
node.style.opacity=_2a8;
node.style.KhtmlOpacity=_2a8;
}else{
node.style.opacity=_2a8;
}
}
}
};
dojo.html.clearOpacity=function(node){
node=dojo.byId(node);
var ns=node.style;
var h=dojo.render.html;
if(h.ie){
try{
if(node.filters&&node.filters.alpha){
ns.filter="";
}
}
catch(e){
}
}else{
if(h.moz){
ns.opacity=1;
ns.MozOpacity=1;
}else{
if(h.safari){
ns.opacity=1;
ns.KhtmlOpacity=1;
}else{
ns.opacity=1;
}
}
}
};
dojo.html.getOpacity=function(node){
node=dojo.byId(node);
var h=dojo.render.html;
if(h.ie){
var opac=(node.filters&&node.filters.alpha&&typeof node.filters.alpha.opacity=="number"?node.filters.alpha.opacity:100)/100;
}else{
var opac=node.style.opacity||node.style.MozOpacity||node.style.KhtmlOpacity||1;
}
return opac>=0.999999?1:Number(opac);
};
dojo.provide("dojo.html.layout");
dojo.html.sumAncestorProperties=function(node,prop){
node=dojo.byId(node);
if(!node){
return 0;
}
var _2b5=0;
while(node){
if(dojo.html.getComputedStyle(node,"position")=="fixed"){
return 0;
}
var val=node[prop];
if(val){
_2b5+=val-0;
if(node==dojo.body()){
break;
}
}
node=node.parentNode;
}
return _2b5;
};
dojo.html.setStyleAttributes=function(node,_2b8){
node=dojo.byId(node);
var _2b9=_2b8.replace(/(;)?\s*$/,"").split(";");
for(var i=0;i<_2b9.length;i++){
var _2bb=_2b9[i].split(":");
var name=_2bb[0].replace(/\s*$/,"").replace(/^\s*/,"").toLowerCase();
var _2bd=_2bb[1].replace(/\s*$/,"").replace(/^\s*/,"");
switch(name){
case "opacity":
dojo.html.setOpacity(node,_2bd);
break;
case "content-height":
dojo.html.setContentBox(node,{height:_2bd});
break;
case "content-width":
dojo.html.setContentBox(node,{width:_2bd});
break;
case "outer-height":
dojo.html.setMarginBox(node,{height:_2bd});
break;
case "outer-width":
dojo.html.setMarginBox(node,{width:_2bd});
break;
default:
node.style[dojo.html.toCamelCase(name)]=_2bd;
}
}
};
dojo.html.boxSizing={MARGIN_BOX:"margin-box",BORDER_BOX:"border-box",PADDING_BOX:"padding-box",CONTENT_BOX:"content-box"};
dojo.html.getAbsolutePosition=dojo.html.abs=function(node,_2bf,_2c0){
node=dojo.byId(node,node.ownerDocument);
var ret={x:0,y:0};
var bs=dojo.html.boxSizing;
if(!_2c0){
_2c0=bs.CONTENT_BOX;
}
var _2c3=2;
var _2c4;
switch(_2c0){
case bs.MARGIN_BOX:
_2c4=3;
break;
case bs.BORDER_BOX:
_2c4=2;
break;
case bs.PADDING_BOX:
default:
_2c4=1;
break;
case bs.CONTENT_BOX:
_2c4=0;
break;
}
var h=dojo.render.html;
var db=document["body"]||document["documentElement"];
if(h.ie){
with(node.getBoundingClientRect()){
ret.x=left-2;
ret.y=top-2;
}
}else{
if(document.getBoxObjectFor){
_2c3=1;
try{
var bo=document.getBoxObjectFor(node);
ret.x=bo.x-dojo.html.sumAncestorProperties(node,"scrollLeft");
ret.y=bo.y-dojo.html.sumAncestorProperties(node,"scrollTop");
}
catch(e){
}
}else{
if(node["offsetParent"]){
var _2c8;
if((h.safari)&&(node.style.getPropertyValue("position")=="absolute")&&(node.parentNode==db)){
_2c8=db;
}else{
_2c8=db.parentNode;
}
if(node.parentNode!=db){
var nd=node;
if(dojo.render.html.opera){
nd=db;
}
ret.x-=dojo.html.sumAncestorProperties(nd,"scrollLeft");
ret.y-=dojo.html.sumAncestorProperties(nd,"scrollTop");
}
var _2ca=node;
do{
var n=_2ca["offsetLeft"];
if(!h.opera||n>0){
ret.x+=isNaN(n)?0:n;
}
var m=_2ca["offsetTop"];
ret.y+=isNaN(m)?0:m;
_2ca=_2ca.offsetParent;
}while((_2ca!=_2c8)&&(_2ca!=null));
}else{
if(node["x"]&&node["y"]){
ret.x+=isNaN(node.x)?0:node.x;
ret.y+=isNaN(node.y)?0:node.y;
}
}
}
}
if(_2bf){
var _2cd=dojo.html.getScroll();
ret.y+=_2cd.top;
ret.x+=_2cd.left;
}
var _2ce=[dojo.html.getPaddingExtent,dojo.html.getBorderExtent,dojo.html.getMarginExtent];
if(_2c3>_2c4){
for(var i=_2c4;i<_2c3;++i){
ret.y+=_2ce[i](node,"top");
ret.x+=_2ce[i](node,"left");
}
}else{
if(_2c3<_2c4){
for(var i=_2c4;i>_2c3;--i){
ret.y-=_2ce[i-1](node,"top");
ret.x-=_2ce[i-1](node,"left");
}
}
}
ret.top=ret.y;
ret.left=ret.x;
return ret;
};
dojo.html.isPositionAbsolute=function(node){
return (dojo.html.getComputedStyle(node,"position")=="absolute");
};
dojo.html._sumPixelValues=function(node,_2d2,_2d3){
var _2d4=0;
for(var x=0;x<_2d2.length;x++){
_2d4+=dojo.html.getPixelValue(node,_2d2[x],_2d3);
}
return _2d4;
};
dojo.html.getMargin=function(node){
return {width:dojo.html._sumPixelValues(node,["margin-left","margin-right"],(dojo.html.getComputedStyle(node,"position")=="absolute")),height:dojo.html._sumPixelValues(node,["margin-top","margin-bottom"],(dojo.html.getComputedStyle(node,"position")=="absolute"))};
};
dojo.html.getBorder=function(node){
return {width:dojo.html.getBorderExtent(node,"left")+dojo.html.getBorderExtent(node,"right"),height:dojo.html.getBorderExtent(node,"top")+dojo.html.getBorderExtent(node,"bottom")};
};
dojo.html.getBorderExtent=function(node,side){
return (dojo.html.getStyle(node,"border-"+side+"-style")=="none"?0:dojo.html.getPixelValue(node,"border-"+side+"-width"));
};
dojo.html.getMarginExtent=function(node,side){
return dojo.html._sumPixelValues(node,["margin-"+side],dojo.html.isPositionAbsolute(node));
};
dojo.html.getPaddingExtent=function(node,side){
return dojo.html._sumPixelValues(node,["padding-"+side],true);
};
dojo.html.getPadding=function(node){
return {width:dojo.html._sumPixelValues(node,["padding-left","padding-right"],true),height:dojo.html._sumPixelValues(node,["padding-top","padding-bottom"],true)};
};
dojo.html.getPadBorder=function(node){
var pad=dojo.html.getPadding(node);
var _2e1=dojo.html.getBorder(node);
return {width:pad.width+_2e1.width,height:pad.height+_2e1.height};
};
dojo.html.getBoxSizing=function(node){
var h=dojo.render.html;
var bs=dojo.html.boxSizing;
if(((h.ie)||(h.opera))&&node.nodeName.toLowerCase()!="img"){
var cm=document["compatMode"];
if((cm=="BackCompat")||(cm=="QuirksMode")){
return bs.BORDER_BOX;
}else{
return bs.CONTENT_BOX;
}
}else{
if(arguments.length==0){
node=document.documentElement;
}
var _2e6;
if(!h.ie){
_2e6=dojo.html.getStyle(node,"-moz-box-sizing");
if(!_2e6){
_2e6=dojo.html.getStyle(node,"box-sizing");
}
}
return (_2e6?_2e6:bs.CONTENT_BOX);
}
};
dojo.html.isBorderBox=function(node){
return (dojo.html.getBoxSizing(node)==dojo.html.boxSizing.BORDER_BOX);
};
dojo.html.getBorderBox=function(node){
node=dojo.byId(node);
return {width:node.offsetWidth,height:node.offsetHeight};
};
dojo.html.getPaddingBox=function(node){
var box=dojo.html.getBorderBox(node);
var _2eb=dojo.html.getBorder(node);
return {width:box.width-_2eb.width,height:box.height-_2eb.height};
};
dojo.html.getContentBox=function(node){
node=dojo.byId(node);
var _2ed=dojo.html.getPadBorder(node);
return {width:node.offsetWidth-_2ed.width,height:node.offsetHeight-_2ed.height};
};
dojo.html.setContentBox=function(node,args){
node=dojo.byId(node);
var _2f0=0;
var _2f1=0;
var isbb=dojo.html.isBorderBox(node);
var _2f3=(isbb?dojo.html.getPadBorder(node):{width:0,height:0});
var ret={};
if(typeof args.width!="undefined"){
_2f0=args.width+_2f3.width;
ret.width=dojo.html.setPositivePixelValue(node,"width",_2f0);
}
if(typeof args.height!="undefined"){
_2f1=args.height+_2f3.height;
ret.height=dojo.html.setPositivePixelValue(node,"height",_2f1);
}
return ret;
};
dojo.html.getMarginBox=function(node){
var _2f6=dojo.html.getBorderBox(node);
var _2f7=dojo.html.getMargin(node);
return {width:_2f6.width+_2f7.width,height:_2f6.height+_2f7.height};
};
dojo.html.setMarginBox=function(node,args){
node=dojo.byId(node);
var _2fa=0;
var _2fb=0;
var isbb=dojo.html.isBorderBox(node);
var _2fd=(!isbb?dojo.html.getPadBorder(node):{width:0,height:0});
var _2fe=dojo.html.getMargin(node);
var ret={};
if(typeof args.width!="undefined"){
_2fa=args.width-_2fd.width;
_2fa-=_2fe.width;
ret.width=dojo.html.setPositivePixelValue(node,"width",_2fa);
}
if(typeof args.height!="undefined"){
_2fb=args.height-_2fd.height;
_2fb-=_2fe.height;
ret.height=dojo.html.setPositivePixelValue(node,"height",_2fb);
}
return ret;
};
dojo.html.getElementBox=function(node,type){
var bs=dojo.html.boxSizing;
switch(type){
case bs.MARGIN_BOX:
return dojo.html.getMarginBox(node);
case bs.BORDER_BOX:
return dojo.html.getBorderBox(node);
case bs.PADDING_BOX:
return dojo.html.getPaddingBox(node);
case bs.CONTENT_BOX:
default:
return dojo.html.getContentBox(node);
}
};
dojo.html.toCoordinateObject=dojo.html.toCoordinateArray=function(_303,_304,_305){
if(_303 instanceof Array||typeof _303=="array"){
dojo.deprecated("dojo.html.toCoordinateArray","use dojo.html.toCoordinateObject({left: , top: , width: , height: }) instead","0.5");
while(_303.length<4){
_303.push(0);
}
while(_303.length>4){
_303.pop();
}
var ret={left:_303[0],top:_303[1],width:_303[2],height:_303[3]};
}else{
if(!_303.nodeType&&!(_303 instanceof String||typeof _303=="string")&&("width" in _303||"height" in _303||"left" in _303||"x" in _303||"top" in _303||"y" in _303)){
var ret={left:_303.left||_303.x||0,top:_303.top||_303.y||0,width:_303.width||0,height:_303.height||0};
}else{
var node=dojo.byId(_303);
var pos=dojo.html.abs(node,_304,_305);
var _309=dojo.html.getMarginBox(node);
var ret={left:pos.left,top:pos.top,width:_309.width,height:_309.height};
}
}
ret.x=ret.left;
ret.y=ret.top;
return ret;
};
dojo.html.setMarginBoxWidth=dojo.html.setOuterWidth=function(node,_30b){
return dojo.html._callDeprecated("setMarginBoxWidth","setMarginBox",arguments,"width");
};
dojo.html.setMarginBoxHeight=dojo.html.setOuterHeight=function(){
return dojo.html._callDeprecated("setMarginBoxHeight","setMarginBox",arguments,"height");
};
dojo.html.getMarginBoxWidth=dojo.html.getOuterWidth=function(){
return dojo.html._callDeprecated("getMarginBoxWidth","getMarginBox",arguments,null,"width");
};
dojo.html.getMarginBoxHeight=dojo.html.getOuterHeight=function(){
return dojo.html._callDeprecated("getMarginBoxHeight","getMarginBox",arguments,null,"height");
};
dojo.html.getTotalOffset=function(node,type,_30e){
return dojo.html._callDeprecated("getTotalOffset","getAbsolutePosition",arguments,null,type);
};
dojo.html.getAbsoluteX=function(node,_310){
return dojo.html._callDeprecated("getAbsoluteX","getAbsolutePosition",arguments,null,"x");
};
dojo.html.getAbsoluteY=function(node,_312){
return dojo.html._callDeprecated("getAbsoluteY","getAbsolutePosition",arguments,null,"y");
};
dojo.html.totalOffsetLeft=function(node,_314){
return dojo.html._callDeprecated("totalOffsetLeft","getAbsolutePosition",arguments,null,"left");
};
dojo.html.totalOffsetTop=function(node,_316){
return dojo.html._callDeprecated("totalOffsetTop","getAbsolutePosition",arguments,null,"top");
};
dojo.html.getMarginWidth=function(node){
return dojo.html._callDeprecated("getMarginWidth","getMargin",arguments,null,"width");
};
dojo.html.getMarginHeight=function(node){
return dojo.html._callDeprecated("getMarginHeight","getMargin",arguments,null,"height");
};
dojo.html.getBorderWidth=function(node){
return dojo.html._callDeprecated("getBorderWidth","getBorder",arguments,null,"width");
};
dojo.html.getBorderHeight=function(node){
return dojo.html._callDeprecated("getBorderHeight","getBorder",arguments,null,"height");
};
dojo.html.getPaddingWidth=function(node){
return dojo.html._callDeprecated("getPaddingWidth","getPadding",arguments,null,"width");
};
dojo.html.getPaddingHeight=function(node){
return dojo.html._callDeprecated("getPaddingHeight","getPadding",arguments,null,"height");
};
dojo.html.getPadBorderWidth=function(node){
return dojo.html._callDeprecated("getPadBorderWidth","getPadBorder",arguments,null,"width");
};
dojo.html.getPadBorderHeight=function(node){
return dojo.html._callDeprecated("getPadBorderHeight","getPadBorder",arguments,null,"height");
};
dojo.html.getBorderBoxWidth=dojo.html.getInnerWidth=function(){
return dojo.html._callDeprecated("getBorderBoxWidth","getBorderBox",arguments,null,"width");
};
dojo.html.getBorderBoxHeight=dojo.html.getInnerHeight=function(){
return dojo.html._callDeprecated("getBorderBoxHeight","getBorderBox",arguments,null,"height");
};
dojo.html.getContentBoxWidth=dojo.html.getContentWidth=function(){
return dojo.html._callDeprecated("getContentBoxWidth","getContentBox",arguments,null,"width");
};
dojo.html.getContentBoxHeight=dojo.html.getContentHeight=function(){
return dojo.html._callDeprecated("getContentBoxHeight","getContentBox",arguments,null,"height");
};
dojo.html.setContentBoxWidth=dojo.html.setContentWidth=function(node,_320){
return dojo.html._callDeprecated("setContentBoxWidth","setContentBox",arguments,"width");
};
dojo.html.setContentBoxHeight=dojo.html.setContentHeight=function(node,_322){
return dojo.html._callDeprecated("setContentBoxHeight","setContentBox",arguments,"height");
};
dojo.provide("dojo.lang.array");
dojo.lang.mixin(dojo.lang,{has:function(obj,name){
try{
return typeof obj[name]!="undefined";
}
catch(e){
return false;
}
},isEmpty:function(obj){
if(dojo.lang.isObject(obj)){
var tmp={};
var _327=0;
for(var x in obj){
if(obj[x]&&(!tmp[x])){
_327++;
break;
}
}
return _327==0;
}else{
if(dojo.lang.isArrayLike(obj)||dojo.lang.isString(obj)){
return obj.length==0;
}
}
},map:function(arr,obj,_32b){
var _32c=dojo.lang.isString(arr);
if(_32c){
arr=arr.split("");
}
if(dojo.lang.isFunction(obj)&&(!_32b)){
_32b=obj;
obj=dj_global;
}else{
if(dojo.lang.isFunction(obj)&&_32b){
var _32d=obj;
obj=_32b;
_32b=_32d;
}
}
if(Array.map){
var _32e=Array.map(arr,_32b,obj);
}else{
var _32e=[];
for(var i=0;i<arr.length;++i){
_32e.push(_32b.call(obj,arr[i]));
}
}
if(_32c){
return _32e.join("");
}else{
return _32e;
}
},reduce:function(arr,_331,obj,_333){
var _334=_331;
if(arguments.length==2){
_333=_331;
_334=arr[0];
arr=arr.slice(1);
}else{
if(arguments.length==3){
if(dojo.lang.isFunction(obj)){
_333=obj;
obj=null;
}
}else{
if(dojo.lang.isFunction(obj)){
var tmp=_333;
_333=obj;
obj=tmp;
}
}
}
var ob=obj||dj_global;
dojo.lang.map(arr,function(val){
_334=_333.call(ob,_334,val);
});
return _334;
},forEach:function(_338,_339,_33a){
if(dojo.lang.isString(_338)){
_338=_338.split("");
}
if(Array.forEach){
Array.forEach(_338,_339,_33a);
}else{
if(!_33a){
_33a=dj_global;
}
for(var i=0,l=_338.length;i<l;i++){
_339.call(_33a,_338[i],i,_338);
}
}
},_everyOrSome:function(_33d,arr,_33f,_340){
if(dojo.lang.isString(arr)){
arr=arr.split("");
}
if(Array.every){
return Array[_33d?"every":"some"](arr,_33f,_340);
}else{
if(!_340){
_340=dj_global;
}
for(var i=0,l=arr.length;i<l;i++){
var _343=_33f.call(_340,arr[i],i,arr);
if(_33d&&!_343){
return false;
}else{
if((!_33d)&&(_343)){
return true;
}
}
}
return Boolean(_33d);
}
},every:function(arr,_345,_346){
return this._everyOrSome(true,arr,_345,_346);
},some:function(arr,_348,_349){
return this._everyOrSome(false,arr,_348,_349);
},filter:function(arr,_34b,_34c){
var _34d=dojo.lang.isString(arr);
if(_34d){
arr=arr.split("");
}
var _34e;
if(Array.filter){
_34e=Array.filter(arr,_34b,_34c);
}else{
if(!_34c){
if(arguments.length>=3){
dojo.raise("thisObject doesn't exist!");
}
_34c=dj_global;
}
_34e=[];
for(var i=0;i<arr.length;i++){
if(_34b.call(_34c,arr[i],i,arr)){
_34e.push(arr[i]);
}
}
}
if(_34d){
return _34e.join("");
}else{
return _34e;
}
},unnest:function(){
var out=[];
for(var i=0;i<arguments.length;i++){
if(dojo.lang.isArrayLike(arguments[i])){
var add=dojo.lang.unnest.apply(this,arguments[i]);
out=out.concat(add);
}else{
out.push(arguments[i]);
}
}
return out;
},toArray:function(_353,_354){
var _355=[];
for(var i=_354||0;i<_353.length;i++){
_355.push(_353[i]);
}
return _355;
}});
dojo.provide("dojo.event.common");
dojo.event=new function(){
this._canTimeout=dojo.lang.isFunction(dj_global["setTimeout"])||dojo.lang.isAlien(dj_global["setTimeout"]);
function interpolateArgs(args,_358){
var dl=dojo.lang;
var ao={srcObj:dj_global,srcFunc:null,adviceObj:dj_global,adviceFunc:null,aroundObj:null,aroundFunc:null,adviceType:(args.length>2)?args[0]:"after",precedence:"last",once:false,delay:null,rate:0,adviceMsg:false,maxCalls:-1};
switch(args.length){
case 0:
return;
case 1:
return;
case 2:
ao.srcFunc=args[0];
ao.adviceFunc=args[1];
break;
case 3:
if((dl.isObject(args[0]))&&(dl.isString(args[1]))&&(dl.isString(args[2]))){
ao.adviceType="after";
ao.srcObj=args[0];
ao.srcFunc=args[1];
ao.adviceFunc=args[2];
}else{
if((dl.isString(args[1]))&&(dl.isString(args[2]))){
ao.srcFunc=args[1];
ao.adviceFunc=args[2];
}else{
if((dl.isObject(args[0]))&&(dl.isString(args[1]))&&(dl.isFunction(args[2]))){
ao.adviceType="after";
ao.srcObj=args[0];
ao.srcFunc=args[1];
var _35b=dl.nameAnonFunc(args[2],ao.adviceObj,_358);
ao.adviceFunc=_35b;
}else{
if((dl.isFunction(args[0]))&&(dl.isObject(args[1]))&&(dl.isString(args[2]))){
ao.adviceType="after";
ao.srcObj=dj_global;
var _35b=dl.nameAnonFunc(args[0],ao.srcObj,_358);
ao.srcFunc=_35b;
ao.adviceObj=args[1];
ao.adviceFunc=args[2];
}
}
}
}
break;
case 4:
if((dl.isObject(args[0]))&&(dl.isObject(args[2]))){
ao.adviceType="after";
ao.srcObj=args[0];
ao.srcFunc=args[1];
ao.adviceObj=args[2];
ao.adviceFunc=args[3];
}else{
if((dl.isString(args[0]))&&(dl.isString(args[1]))&&(dl.isObject(args[2]))){
ao.adviceType=args[0];
ao.srcObj=dj_global;
ao.srcFunc=args[1];
ao.adviceObj=args[2];
ao.adviceFunc=args[3];
}else{
if((dl.isString(args[0]))&&(dl.isFunction(args[1]))&&(dl.isObject(args[2]))){
ao.adviceType=args[0];
ao.srcObj=dj_global;
var _35b=dl.nameAnonFunc(args[1],dj_global,_358);
ao.srcFunc=_35b;
ao.adviceObj=args[2];
ao.adviceFunc=args[3];
}else{
if((dl.isString(args[0]))&&(dl.isObject(args[1]))&&(dl.isString(args[2]))&&(dl.isFunction(args[3]))){
ao.srcObj=args[1];
ao.srcFunc=args[2];
var _35b=dl.nameAnonFunc(args[3],dj_global,_358);
ao.adviceObj=dj_global;
ao.adviceFunc=_35b;
}else{
if(dl.isObject(args[1])){
ao.srcObj=args[1];
ao.srcFunc=args[2];
ao.adviceObj=dj_global;
ao.adviceFunc=args[3];
}else{
if(dl.isObject(args[2])){
ao.srcObj=dj_global;
ao.srcFunc=args[1];
ao.adviceObj=args[2];
ao.adviceFunc=args[3];
}else{
ao.srcObj=ao.adviceObj=ao.aroundObj=dj_global;
ao.srcFunc=args[1];
ao.adviceFunc=args[2];
ao.aroundFunc=args[3];
}
}
}
}
}
}
break;
case 6:
ao.srcObj=args[1];
ao.srcFunc=args[2];
ao.adviceObj=args[3];
ao.adviceFunc=args[4];
ao.aroundFunc=args[5];
ao.aroundObj=dj_global;
break;
default:
ao.srcObj=args[1];
ao.srcFunc=args[2];
ao.adviceObj=args[3];
ao.adviceFunc=args[4];
ao.aroundObj=args[5];
ao.aroundFunc=args[6];
ao.once=args[7];
ao.delay=args[8];
ao.rate=args[9];
ao.adviceMsg=args[10];
ao.maxCalls=(!isNaN(parseInt(args[11])))?args[11]:-1;
break;
}
if(dl.isFunction(ao.aroundFunc)){
var _35b=dl.nameAnonFunc(ao.aroundFunc,ao.aroundObj,_358);
ao.aroundFunc=_35b;
}
if(dl.isFunction(ao.srcFunc)){
ao.srcFunc=dl.getNameInObj(ao.srcObj,ao.srcFunc);
}
if(dl.isFunction(ao.adviceFunc)){
ao.adviceFunc=dl.getNameInObj(ao.adviceObj,ao.adviceFunc);
}
if((ao.aroundObj)&&(dl.isFunction(ao.aroundFunc))){
ao.aroundFunc=dl.getNameInObj(ao.aroundObj,ao.aroundFunc);
}
if(!ao.srcObj){
dojo.raise("bad srcObj for srcFunc: "+ao.srcFunc);
}
if(!ao.adviceObj){
dojo.raise("bad adviceObj for adviceFunc: "+ao.adviceFunc);
}
if(!ao.adviceFunc){
dojo.debug("bad adviceFunc for srcFunc: "+ao.srcFunc);
dojo.debugShallow(ao);
}
return ao;
}
this.connect=function(){
if(arguments.length==1){
var ao=arguments[0];
}else{
var ao=interpolateArgs(arguments,true);
}
if(dojo.lang.isArray(ao.srcObj)&&ao.srcObj!=""){
var _35d={};
for(var x in ao){
_35d[x]=ao[x];
}
var mjps=[];
dojo.lang.forEach(ao.srcObj,function(src){
if((dojo.render.html.capable)&&(dojo.lang.isString(src))){
src=dojo.byId(src);
}
_35d.srcObj=src;
mjps.push(dojo.event.connect.call(dojo.event,_35d));
});
return mjps;
}
var mjp=dojo.event.MethodJoinPoint.getForMethod(ao.srcObj,ao.srcFunc);
if(ao.adviceFunc){
var mjp2=dojo.event.MethodJoinPoint.getForMethod(ao.adviceObj,ao.adviceFunc);
}
mjp.kwAddAdvice(ao);
return mjp;
};
this.log=function(a1,a2){
var _365;
if((arguments.length==1)&&(typeof a1=="object")){
_365=a1;
}else{
_365={srcObj:a1,srcFunc:a2};
}
_365.adviceFunc=function(){
var _366=[];
for(var x=0;x<arguments.length;x++){
_366.push(arguments[x]);
}
dojo.debug("("+_365.srcObj+")."+_365.srcFunc,":",_366.join(", "));
};
this.kwConnect(_365);
};
this.connectBefore=function(){
var args=["before"];
for(var i=0;i<arguments.length;i++){
args.push(arguments[i]);
}
return this.connect.apply(this,args);
};
this.connectAround=function(){
var args=["around"];
for(var i=0;i<arguments.length;i++){
args.push(arguments[i]);
}
return this.connect.apply(this,args);
};
this.connectOnce=function(){
var ao=interpolateArgs(arguments,true);
ao.once=true;
return this.connect(ao);
};
this.connectRunOnce=function(){
var ao=interpolateArgs(arguments,true);
ao.maxCalls=1;
return this.connect(ao);
};
this._kwConnectImpl=function(_36e,_36f){
var fn=(_36f)?"disconnect":"connect";
if(typeof _36e["srcFunc"]=="function"){
_36e.srcObj=_36e["srcObj"]||dj_global;
var _371=dojo.lang.nameAnonFunc(_36e.srcFunc,_36e.srcObj,true);
_36e.srcFunc=_371;
}
if(typeof _36e["adviceFunc"]=="function"){
_36e.adviceObj=_36e["adviceObj"]||dj_global;
var _371=dojo.lang.nameAnonFunc(_36e.adviceFunc,_36e.adviceObj,true);
_36e.adviceFunc=_371;
}
_36e.srcObj=_36e["srcObj"]||dj_global;
_36e.adviceObj=_36e["adviceObj"]||_36e["targetObj"]||dj_global;
_36e.adviceFunc=_36e["adviceFunc"]||_36e["targetFunc"];
return dojo.event[fn](_36e);
};
this.kwConnect=function(_372){
return this._kwConnectImpl(_372,false);
};
this.disconnect=function(){
if(arguments.length==1){
var ao=arguments[0];
}else{
var ao=interpolateArgs(arguments,true);
}
if(!ao.adviceFunc){
return;
}
if(dojo.lang.isString(ao.srcFunc)&&(ao.srcFunc.toLowerCase()=="onkey")){
if(dojo.render.html.ie){
ao.srcFunc="onkeydown";
this.disconnect(ao);
}
ao.srcFunc="onkeypress";
}
if(!ao.srcObj[ao.srcFunc]){
return null;
}
var mjp=dojo.event.MethodJoinPoint.getForMethod(ao.srcObj,ao.srcFunc,true);
mjp.removeAdvice(ao.adviceObj,ao.adviceFunc,ao.adviceType,ao.once);
return mjp;
};
this.kwDisconnect=function(_375){
return this._kwConnectImpl(_375,true);
};
};
dojo.event.MethodInvocation=function(_376,obj,args){
this.jp_=_376;
this.object=obj;
this.args=[];
for(var x=0;x<args.length;x++){
this.args[x]=args[x];
}
this.around_index=-1;
};
dojo.event.MethodInvocation.prototype.proceed=function(){
this.around_index++;
if(this.around_index>=this.jp_.around.length){
return this.jp_.object[this.jp_.methodname].apply(this.jp_.object,this.args);
}else{
var ti=this.jp_.around[this.around_index];
var mobj=ti[0]||dj_global;
var meth=ti[1];
return mobj[meth].call(mobj,this);
}
};
dojo.event.MethodJoinPoint=function(obj,_37e){
this.object=obj||dj_global;
this.methodname=_37e;
this.methodfunc=this.object[_37e];
this.squelch=false;
};
dojo.event.MethodJoinPoint.getForMethod=function(obj,_380){
if(!obj){
obj=dj_global;
}
var ofn=obj[_380];
if(!ofn){
ofn=obj[_380]=function(){
};
if(!obj[_380]){
dojo.raise("Cannot set do-nothing method on that object "+_380);
}
}else{
if((typeof ofn!="function")&&(!dojo.lang.isFunction(ofn))&&(!dojo.lang.isAlien(ofn))){
return null;
}
}
var _382=_380+"$joinpoint";
var _383=_380+"$joinpoint$method";
var _384=obj[_382];
if(!_384){
var _385=false;
if(dojo.event["browser"]){
if((obj["attachEvent"])||(obj["nodeType"])||(obj["addEventListener"])){
_385=true;
dojo.event.browser.addClobberNodeAttrs(obj,[_382,_383,_380]);
}
}
var _386=ofn.length;
obj[_383]=ofn;
_384=obj[_382]=new dojo.event.MethodJoinPoint(obj,_383);
if(!_385){
obj[_380]=function(){
return _384.run.apply(_384,arguments);
};
}else{
obj[_380]=function(){
var args=[];
if(!arguments.length){
var evt=null;
try{
if(obj.ownerDocument){
evt=obj.ownerDocument.parentWindow.event;
}else{
if(obj.documentElement){
evt=obj.documentElement.ownerDocument.parentWindow.event;
}else{
if(obj.event){
evt=obj.event;
}else{
evt=window.event;
}
}
}
}
catch(e){
evt=window.event;
}
if(evt){
args.push(dojo.event.browser.fixEvent(evt,this));
}
}else{
for(var x=0;x<arguments.length;x++){
if((x==0)&&(dojo.event.browser.isEvent(arguments[x]))){
args.push(dojo.event.browser.fixEvent(arguments[x],this));
}else{
args.push(arguments[x]);
}
}
}
return _384.run.apply(_384,args);
};
}
obj[_380].__preJoinArity=_386;
}
return _384;
};
dojo.lang.extend(dojo.event.MethodJoinPoint,{squelch:false,unintercept:function(){
this.object[this.methodname]=this.methodfunc;
this.before=[];
this.after=[];
this.around=[];
},disconnect:dojo.lang.forward("unintercept"),run:function(){
var obj=this.object||dj_global;
var args=arguments;
var _38c=[];
for(var x=0;x<args.length;x++){
_38c[x]=args[x];
}
var _38e=function(marr){
if(!marr){
dojo.debug("Null argument to unrollAdvice()");
return;
}
var _390=marr[0]||dj_global;
var _391=marr[1];
if(!_390[_391]){
dojo.raise("function \""+_391+"\" does not exist on \""+_390+"\"");
}
var _392=marr[2]||dj_global;
var _393=marr[3];
var msg=marr[6];
var _395=marr[7];
if(_395>-1){
if(_395==0){
return;
}
marr[7]--;
}
var _396;
var to={args:[],jp_:this,object:obj,proceed:function(){
return _390[_391].apply(_390,to.args);
}};
to.args=_38c;
var _398=parseInt(marr[4]);
var _399=((!isNaN(_398))&&(marr[4]!==null)&&(typeof marr[4]!="undefined"));
if(marr[5]){
var rate=parseInt(marr[5]);
var cur=new Date();
var _39c=false;
if((marr["last"])&&((cur-marr.last)<=rate)){
if(dojo.event._canTimeout){
if(marr["delayTimer"]){
clearTimeout(marr.delayTimer);
}
var tod=parseInt(rate*2);
var mcpy=dojo.lang.shallowCopy(marr);
marr.delayTimer=setTimeout(function(){
mcpy[5]=0;
_38e(mcpy);
},tod);
}
return;
}else{
marr.last=cur;
}
}
if(_393){
_392[_393].call(_392,to);
}else{
if((_399)&&((dojo.render.html)||(dojo.render.svg))){
dj_global["setTimeout"](function(){
if(msg){
_390[_391].call(_390,to);
}else{
_390[_391].apply(_390,args);
}
},_398);
}else{
if(msg){
_390[_391].call(_390,to);
}else{
_390[_391].apply(_390,args);
}
}
}
};
var _39f=function(){
if(this.squelch){
try{
return _38e.apply(this,arguments);
}
catch(e){
dojo.debug(e);
}
}else{
return _38e.apply(this,arguments);
}
};
if((this["before"])&&(this.before.length>0)){
dojo.lang.forEach(this.before.concat(new Array()),_39f);
}
var _3a0;
try{
if((this["around"])&&(this.around.length>0)){
var mi=new dojo.event.MethodInvocation(this,obj,args);
_3a0=mi.proceed();
}else{
if(this.methodfunc){
_3a0=this.object[this.methodname].apply(this.object,args);
}
}
}
catch(e){
if(!this.squelch){
dojo.debug(e,"when calling",this.methodname,"on",this.object,"with arguments",args);
dojo.raise(e);
}
}
if((this["after"])&&(this.after.length>0)){
dojo.lang.forEach(this.after.concat(new Array()),_39f);
}
return (this.methodfunc)?_3a0:null;
},getArr:function(kind){
var type="after";
if((typeof kind=="string")&&(kind.indexOf("before")!=-1)){
type="before";
}else{
if(kind=="around"){
type="around";
}
}
if(!this[type]){
this[type]=[];
}
return this[type];
},kwAddAdvice:function(args){
this.addAdvice(args["adviceObj"],args["adviceFunc"],args["aroundObj"],args["aroundFunc"],args["adviceType"],args["precedence"],args["once"],args["delay"],args["rate"],args["adviceMsg"],args["maxCalls"]);
},addAdvice:function(_3a5,_3a6,_3a7,_3a8,_3a9,_3aa,once,_3ac,rate,_3ae,_3af){
var arr=this.getArr(_3a9);
if(!arr){
dojo.raise("bad this: "+this);
}
var ao=[_3a5,_3a6,_3a7,_3a8,_3ac,rate,_3ae,_3af];
if(once){
if(this.hasAdvice(_3a5,_3a6,_3a9,arr)>=0){
return;
}
}
if(_3aa=="first"){
arr.unshift(ao);
}else{
arr.push(ao);
}
},hasAdvice:function(_3b2,_3b3,_3b4,arr){
if(!arr){
arr=this.getArr(_3b4);
}
var ind=-1;
for(var x=0;x<arr.length;x++){
var aao=(typeof _3b3=="object")?(new String(_3b3)).toString():_3b3;
var a1o=(typeof arr[x][1]=="object")?(new String(arr[x][1])).toString():arr[x][1];
if((arr[x][0]==_3b2)&&(a1o==aao)){
ind=x;
}
}
return ind;
},removeAdvice:function(_3ba,_3bb,_3bc,once){
var arr=this.getArr(_3bc);
var ind=this.hasAdvice(_3ba,_3bb,_3bc,arr);
if(ind==-1){
return false;
}
while(ind!=-1){
arr.splice(ind,1);
if(once){
break;
}
ind=this.hasAdvice(_3ba,_3bb,_3bc,arr);
}
return true;
}});
dojo.provide("dojo.event.browser");
dojo._ie_clobber=new function(){
this.clobberNodes=[];
function nukeProp(node,prop){
try{
node[prop]=null;
}
catch(e){
}
try{
delete node[prop];
}
catch(e){
}
try{
node.removeAttribute(prop);
}
catch(e){
}
}
this.clobber=function(_3c2){
var na;
var tna;
if(_3c2){
tna=_3c2.all||_3c2.getElementsByTagName("*");
na=[_3c2];
for(var x=0;x<tna.length;x++){
if(tna[x]["__doClobber__"]){
na.push(tna[x]);
}
}
}else{
try{
window.onload=null;
}
catch(e){
}
na=(this.clobberNodes.length)?this.clobberNodes:document.all;
}
tna=null;
var _3c6={};
for(var i=na.length-1;i>=0;i=i-1){
var el=na[i];
try{
if(el&&el["__clobberAttrs__"]){
for(var j=0;j<el.__clobberAttrs__.length;j++){
nukeProp(el,el.__clobberAttrs__[j]);
}
nukeProp(el,"__clobberAttrs__");
nukeProp(el,"__doClobber__");
}
}
catch(e){
}
}
na=null;
};
};
if(dojo.render.html.ie){
dojo.addOnUnload(function(){
dojo._ie_clobber.clobber();
try{
if((dojo["widget"])&&(dojo.widget["manager"])){
dojo.widget.manager.destroyAll();
}
}
catch(e){
}
if(dojo.widget){
for(var name in dojo.widget._templateCache){
if(dojo.widget._templateCache[name].node){
dojo.dom.destroyNode(dojo.widget._templateCache[name].node);
dojo.widget._templateCache[name].node=null;
delete dojo.widget._templateCache[name].node;
}
}
}
try{
window.onload=null;
}
catch(e){
}
try{
window.onunload=null;
}
catch(e){
}
dojo._ie_clobber.clobberNodes=[];
});
}
dojo.event.browser=new function(){
var _3cb=0;
this.normalizedEventName=function(_3cc){
switch(_3cc){
case "CheckboxStateChange":
case "DOMAttrModified":
case "DOMMenuItemActive":
case "DOMMenuItemInactive":
case "DOMMouseScroll":
case "DOMNodeInserted":
case "DOMNodeRemoved":
case "RadioStateChange":
return _3cc;
break;
default:
var lcn=_3cc.toLowerCase();
return (lcn.indexOf("on")==0)?lcn.substr(2):lcn;
break;
}
};
this.clean=function(node){
if(dojo.render.html.ie){
dojo._ie_clobber.clobber(node);
}
};
this.addClobberNode=function(node){
if(!dojo.render.html.ie){
return;
}
if(!node["__doClobber__"]){
node.__doClobber__=true;
dojo._ie_clobber.clobberNodes.push(node);
node.__clobberAttrs__=[];
}
};
this.addClobberNodeAttrs=function(node,_3d1){
if(!dojo.render.html.ie){
return;
}
this.addClobberNode(node);
for(var x=0;x<_3d1.length;x++){
node.__clobberAttrs__.push(_3d1[x]);
}
};
this.removeListener=function(node,_3d4,fp,_3d6){
if(!_3d6){
var _3d6=false;
}
_3d4=dojo.event.browser.normalizedEventName(_3d4);
if(_3d4=="key"){
if(dojo.render.html.ie){
this.removeListener(node,"onkeydown",fp,_3d6);
}
_3d4="keypress";
}
if(node.removeEventListener){
node.removeEventListener(_3d4,fp,_3d6);
}
};
this.addListener=function(node,_3d8,fp,_3da,_3db){
if(!node){
return;
}
if(!_3da){
var _3da=false;
}
_3d8=dojo.event.browser.normalizedEventName(_3d8);
if(_3d8=="key"){
if(dojo.render.html.ie){
this.addListener(node,"onkeydown",fp,_3da,_3db);
}
_3d8="keypress";
}
if(!_3db){
var _3dc=function(evt){
if(!evt){
evt=window.event;
}
var ret=fp(dojo.event.browser.fixEvent(evt,this));
if(_3da){
dojo.event.browser.stopEvent(evt);
}
return ret;
};
}else{
_3dc=fp;
}
if(node.addEventListener){
node.addEventListener(_3d8,_3dc,_3da);
return _3dc;
}else{
_3d8="on"+_3d8;
if(typeof node[_3d8]=="function"){
var _3df=node[_3d8];
node[_3d8]=function(e){
_3df(e);
return _3dc(e);
};
}else{
node[_3d8]=_3dc;
}
if(dojo.render.html.ie){
this.addClobberNodeAttrs(node,[_3d8]);
}
return _3dc;
}
};
this.isEvent=function(obj){
return (typeof obj!="undefined")&&(obj)&&(typeof Event!="undefined")&&(obj.eventPhase);
};
this.currentEvent=null;
this.callListener=function(_3e2,_3e3){
if(typeof _3e2!="function"){
dojo.raise("listener not a function: "+_3e2);
}
dojo.event.browser.currentEvent.currentTarget=_3e3;
return _3e2.call(_3e3,dojo.event.browser.currentEvent);
};
this._stopPropagation=function(){
dojo.event.browser.currentEvent.cancelBubble=true;
};
this._preventDefault=function(){
dojo.event.browser.currentEvent.returnValue=false;
};
this.keys={KEY_BACKSPACE:8,KEY_TAB:9,KEY_CLEAR:12,KEY_ENTER:13,KEY_SHIFT:16,KEY_CTRL:17,KEY_ALT:18,KEY_PAUSE:19,KEY_CAPS_LOCK:20,KEY_ESCAPE:27,KEY_SPACE:32,KEY_PAGE_UP:33,KEY_PAGE_DOWN:34,KEY_END:35,KEY_HOME:36,KEY_LEFT_ARROW:37,KEY_UP_ARROW:38,KEY_RIGHT_ARROW:39,KEY_DOWN_ARROW:40,KEY_INSERT:45,KEY_DELETE:46,KEY_HELP:47,KEY_LEFT_WINDOW:91,KEY_RIGHT_WINDOW:92,KEY_SELECT:93,KEY_NUMPAD_0:96,KEY_NUMPAD_1:97,KEY_NUMPAD_2:98,KEY_NUMPAD_3:99,KEY_NUMPAD_4:100,KEY_NUMPAD_5:101,KEY_NUMPAD_6:102,KEY_NUMPAD_7:103,KEY_NUMPAD_8:104,KEY_NUMPAD_9:105,KEY_NUMPAD_MULTIPLY:106,KEY_NUMPAD_PLUS:107,KEY_NUMPAD_ENTER:108,KEY_NUMPAD_MINUS:109,KEY_NUMPAD_PERIOD:110,KEY_NUMPAD_DIVIDE:111,KEY_F1:112,KEY_F2:113,KEY_F3:114,KEY_F4:115,KEY_F5:116,KEY_F6:117,KEY_F7:118,KEY_F8:119,KEY_F9:120,KEY_F10:121,KEY_F11:122,KEY_F12:123,KEY_F13:124,KEY_F14:125,KEY_F15:126,KEY_NUM_LOCK:144,KEY_SCROLL_LOCK:145};
this.revKeys=[];
for(var key in this.keys){
this.revKeys[this.keys[key]]=key;
}
this.fixEvent=function(evt,_3e6){
if(!evt){
if(window["event"]){
evt=window.event;
}
}
if((evt["type"])&&(evt["type"].indexOf("key")==0)){
evt.keys=this.revKeys;
for(var key in this.keys){
evt[key]=this.keys[key];
}
if(evt["type"]=="keydown"&&dojo.render.html.ie){
switch(evt.keyCode){
case evt.KEY_SHIFT:
case evt.KEY_CTRL:
case evt.KEY_ALT:
case evt.KEY_CAPS_LOCK:
case evt.KEY_LEFT_WINDOW:
case evt.KEY_RIGHT_WINDOW:
case evt.KEY_SELECT:
case evt.KEY_NUM_LOCK:
case evt.KEY_SCROLL_LOCK:
case evt.KEY_NUMPAD_0:
case evt.KEY_NUMPAD_1:
case evt.KEY_NUMPAD_2:
case evt.KEY_NUMPAD_3:
case evt.KEY_NUMPAD_4:
case evt.KEY_NUMPAD_5:
case evt.KEY_NUMPAD_6:
case evt.KEY_NUMPAD_7:
case evt.KEY_NUMPAD_8:
case evt.KEY_NUMPAD_9:
case evt.KEY_NUMPAD_PERIOD:
break;
case evt.KEY_NUMPAD_MULTIPLY:
case evt.KEY_NUMPAD_PLUS:
case evt.KEY_NUMPAD_ENTER:
case evt.KEY_NUMPAD_MINUS:
case evt.KEY_NUMPAD_DIVIDE:
break;
case evt.KEY_PAUSE:
case evt.KEY_TAB:
case evt.KEY_BACKSPACE:
case evt.KEY_ENTER:
case evt.KEY_ESCAPE:
case evt.KEY_PAGE_UP:
case evt.KEY_PAGE_DOWN:
case evt.KEY_END:
case evt.KEY_HOME:
case evt.KEY_LEFT_ARROW:
case evt.KEY_UP_ARROW:
case evt.KEY_RIGHT_ARROW:
case evt.KEY_DOWN_ARROW:
case evt.KEY_INSERT:
case evt.KEY_DELETE:
case evt.KEY_F1:
case evt.KEY_F2:
case evt.KEY_F3:
case evt.KEY_F4:
case evt.KEY_F5:
case evt.KEY_F6:
case evt.KEY_F7:
case evt.KEY_F8:
case evt.KEY_F9:
case evt.KEY_F10:
case evt.KEY_F11:
case evt.KEY_F12:
case evt.KEY_F12:
case evt.KEY_F13:
case evt.KEY_F14:
case evt.KEY_F15:
case evt.KEY_CLEAR:
case evt.KEY_HELP:
evt.key=evt.keyCode;
break;
default:
if(evt.ctrlKey||evt.altKey){
var _3e8=evt.keyCode;
if(_3e8>=65&&_3e8<=90&&evt.shiftKey==false){
_3e8+=32;
}
if(_3e8>=1&&_3e8<=26&&evt.ctrlKey){
_3e8+=96;
}
evt.key=String.fromCharCode(_3e8);
}
}
}else{
if(evt["type"]=="keypress"){
if(dojo.render.html.opera){
if(evt.which==0){
evt.key=evt.keyCode;
}else{
if(evt.which>0){
switch(evt.which){
case evt.KEY_SHIFT:
case evt.KEY_CTRL:
case evt.KEY_ALT:
case evt.KEY_CAPS_LOCK:
case evt.KEY_NUM_LOCK:
case evt.KEY_SCROLL_LOCK:
break;
case evt.KEY_PAUSE:
case evt.KEY_TAB:
case evt.KEY_BACKSPACE:
case evt.KEY_ENTER:
case evt.KEY_ESCAPE:
evt.key=evt.which;
break;
default:
var _3e8=evt.which;
if((evt.ctrlKey||evt.altKey||evt.metaKey)&&(evt.which>=65&&evt.which<=90&&evt.shiftKey==false)){
_3e8+=32;
}
evt.key=String.fromCharCode(_3e8);
}
}
}
}else{
if(dojo.render.html.ie){
if(!evt.ctrlKey&&!evt.altKey&&evt.keyCode>=evt.KEY_SPACE){
evt.key=String.fromCharCode(evt.keyCode);
}
}else{
if(dojo.render.html.safari){
switch(evt.keyCode){
case 25:
evt.key=evt.KEY_TAB;
evt.shift=true;
break;
case 63232:
evt.key=evt.KEY_UP_ARROW;
break;
case 63233:
evt.key=evt.KEY_DOWN_ARROW;
break;
case 63234:
evt.key=evt.KEY_LEFT_ARROW;
break;
case 63235:
evt.key=evt.KEY_RIGHT_ARROW;
break;
case 63236:
evt.key=evt.KEY_F1;
break;
case 63237:
evt.key=evt.KEY_F2;
break;
case 63238:
evt.key=evt.KEY_F3;
break;
case 63239:
evt.key=evt.KEY_F4;
break;
case 63240:
evt.key=evt.KEY_F5;
break;
case 63241:
evt.key=evt.KEY_F6;
break;
case 63242:
evt.key=evt.KEY_F7;
break;
case 63243:
evt.key=evt.KEY_F8;
break;
case 63244:
evt.key=evt.KEY_F9;
break;
case 63245:
evt.key=evt.KEY_F10;
break;
case 63246:
evt.key=evt.KEY_F11;
break;
case 63247:
evt.key=evt.KEY_F12;
break;
case 63250:
evt.key=evt.KEY_PAUSE;
break;
case 63272:
evt.key=evt.KEY_DELETE;
break;
case 63273:
evt.key=evt.KEY_HOME;
break;
case 63275:
evt.key=evt.KEY_END;
break;
case 63276:
evt.key=evt.KEY_PAGE_UP;
break;
case 63277:
evt.key=evt.KEY_PAGE_DOWN;
break;
case 63302:
evt.key=evt.KEY_INSERT;
break;
case 63248:
case 63249:
case 63289:
break;
default:
evt.key=evt.charCode>=evt.KEY_SPACE?String.fromCharCode(evt.charCode):evt.keyCode;
}
}else{
evt.key=evt.charCode>0?String.fromCharCode(evt.charCode):evt.keyCode;
}
}
}
}
}
}
if(dojo.render.html.ie){
if(!evt.target){
evt.target=evt.srcElement;
}
if(!evt.currentTarget){
evt.currentTarget=(_3e6?_3e6:evt.srcElement);
}
if(!evt.layerX){
evt.layerX=evt.offsetX;
}
if(!evt.layerY){
evt.layerY=evt.offsetY;
}
var doc=(evt.srcElement&&evt.srcElement.ownerDocument)?evt.srcElement.ownerDocument:document;
var _3ea=((dojo.render.html.ie55)||(doc["compatMode"]=="BackCompat"))?doc.body:doc.documentElement;
if(!evt.pageX){
evt.pageX=evt.clientX+(_3ea.scrollLeft||0);
}
if(!evt.pageY){
evt.pageY=evt.clientY+(_3ea.scrollTop||0);
}
if(evt.type=="mouseover"){
evt.relatedTarget=evt.fromElement;
}
if(evt.type=="mouseout"){
evt.relatedTarget=evt.toElement;
}
this.currentEvent=evt;
evt.callListener=this.callListener;
evt.stopPropagation=this._stopPropagation;
evt.preventDefault=this._preventDefault;
}
return evt;
};
this.stopEvent=function(evt){
if(window.event){
evt.cancelBubble=true;
evt.returnValue=false;
}else{
evt.preventDefault();
evt.stopPropagation();
}
};
};
dojo.provide("dojo.event.topic");
dojo.event.topic=new function(){
this.topics={};
this.getTopic=function(_3ec){
if(!this.topics[_3ec]){
this.topics[_3ec]=new this.TopicImpl(_3ec);
}
return this.topics[_3ec];
};
this.registerPublisher=function(_3ed,obj,_3ef){
var _3ed=this.getTopic(_3ed);
_3ed.registerPublisher(obj,_3ef);
};
this.subscribe=function(_3f0,obj,_3f2){
var _3f0=this.getTopic(_3f0);
_3f0.subscribe(obj,_3f2);
};
this.unsubscribe=function(_3f3,obj,_3f5){
var _3f3=this.getTopic(_3f3);
_3f3.unsubscribe(obj,_3f5);
};
this.destroy=function(_3f6){
this.getTopic(_3f6).destroy();
delete this.topics[_3f6];
};
this.publishApply=function(_3f7,args){
var _3f7=this.getTopic(_3f7);
_3f7.sendMessage.apply(_3f7,args);
};
this.publish=function(_3f9,_3fa){
var _3f9=this.getTopic(_3f9);
var args=[];
for(var x=1;x<arguments.length;x++){
args.push(arguments[x]);
}
_3f9.sendMessage.apply(_3f9,args);
};
};
dojo.event.topic.TopicImpl=function(_3fd){
this.topicName=_3fd;
this.subscribe=function(_3fe,_3ff){
var tf=_3ff||_3fe;
var to=(!_3ff)?dj_global:_3fe;
return dojo.event.kwConnect({srcObj:this,srcFunc:"sendMessage",adviceObj:to,adviceFunc:tf});
};
this.unsubscribe=function(_402,_403){
var tf=(!_403)?_402:_403;
var to=(!_403)?null:_402;
return dojo.event.kwDisconnect({srcObj:this,srcFunc:"sendMessage",adviceObj:to,adviceFunc:tf});
};
this._getJoinPoint=function(){
return dojo.event.MethodJoinPoint.getForMethod(this,"sendMessage");
};
this.setSquelch=function(_406){
this._getJoinPoint().squelch=_406;
};
this.destroy=function(){
this._getJoinPoint().disconnect();
};
this.registerPublisher=function(_407,_408){
dojo.event.connect(_407,_408,this,"sendMessage");
};
this.sendMessage=function(_409){
};
};
dojo.provide("dojo.string.common");
dojo.string.trim=function(str,wh){
if(!str.replace){
return str;
}
if(!str.length){
return str;
}
var re=(wh>0)?(/^\s+/):(wh<0)?(/\s+$/):(/^\s+|\s+$/g);
return str.replace(re,"");
};
dojo.string.trimStart=function(str){
return dojo.string.trim(str,1);
};
dojo.string.trimEnd=function(str){
return dojo.string.trim(str,-1);
};
dojo.string.repeat=function(str,_410,_411){
var out="";
for(var i=0;i<_410;i++){
out+=str;
if(_411&&i<_410-1){
out+=_411;
}
}
return out;
};
dojo.string.pad=function(str,len,c,dir){
var out=String(str);
if(!c){
c="0";
}
if(!dir){
dir=1;
}
while(out.length<len){
if(dir>0){
out=c+out;
}else{
out+=c;
}
}
return out;
};
dojo.string.padLeft=function(str,len,c){
return dojo.string.pad(str,len,c,1);
};
dojo.string.padRight=function(str,len,c){
return dojo.string.pad(str,len,c,-1);
};
dojo.provide("dojo.collections.Collections");
dojo.collections.DictionaryEntry=function(k,v){
this.key=k;
this.value=v;
this.valueOf=function(){
return this.value;
};
this.toString=function(){
return String(this.value);
};
};
dojo.collections.Iterator=function(arr){
var a=arr;
var _423=0;
this.element=a[_423]||null;
this.atEnd=function(){
return (_423>=a.length);
};
this.get=function(){
if(this.atEnd()){
return null;
}
this.element=a[_423++];
return this.element;
};
this.map=function(fn,_425){
var s=_425||dj_global;
if(Array.map){
return Array.map(a,fn,s);
}else{
var arr=[];
for(var i=0;i<a.length;i++){
arr.push(fn.call(s,a[i]));
}
return arr;
}
};
this.reset=function(){
_423=0;
this.element=a[_423];
};
};
dojo.collections.DictionaryIterator=function(obj){
var a=[];
var _42b={};
for(var p in obj){
if(!_42b[p]){
a.push(obj[p]);
}
}
var _42d=0;
this.element=a[_42d]||null;
this.atEnd=function(){
return (_42d>=a.length);
};
this.get=function(){
if(this.atEnd()){
return null;
}
this.element=a[_42d++];
return this.element;
};
this.map=function(fn,_42f){
var s=_42f||dj_global;
if(Array.map){
return Array.map(a,fn,s);
}else{
var arr=[];
for(var i=0;i<a.length;i++){
arr.push(fn.call(s,a[i]));
}
return arr;
}
};
this.reset=function(){
_42d=0;
this.element=a[_42d];
};
};
dojo.provide("dojo.collections.ArrayList");
dojo.collections.ArrayList=function(arr){
var _434=[];
if(arr){
_434=_434.concat(arr);
}
this.count=_434.length;
this.add=function(obj){
_434.push(obj);
this.count=_434.length;
};
this.addRange=function(a){
if(a.getIterator){
var e=a.getIterator();
while(!e.atEnd()){
this.add(e.get());
}
this.count=_434.length;
}else{
for(var i=0;i<a.length;i++){
_434.push(a[i]);
}
this.count=_434.length;
}
};
this.clear=function(){
_434.splice(0,_434.length);
this.count=0;
};
this.clone=function(){
return new dojo.collections.ArrayList(_434);
};
this.contains=function(obj){
for(var i=0;i<_434.length;i++){
if(_434[i]==obj){
return true;
}
}
return false;
};
this.forEach=function(fn,_43c){
var s=_43c||dj_global;
if(Array.forEach){
Array.forEach(_434,fn,s);
}else{
for(var i=0;i<_434.length;i++){
fn.call(s,_434[i],i,_434);
}
}
};
this.getIterator=function(){
return new dojo.collections.Iterator(_434);
};
this.indexOf=function(obj){
for(var i=0;i<_434.length;i++){
if(_434[i]==obj){
return i;
}
}
return -1;
};
this.insert=function(i,obj){
_434.splice(i,0,obj);
this.count=_434.length;
};
this.item=function(i){
return _434[i];
};
this.remove=function(obj){
var i=this.indexOf(obj);
if(i>=0){
_434.splice(i,1);
}
this.count=_434.length;
};
this.removeAt=function(i){
_434.splice(i,1);
this.count=_434.length;
};
this.reverse=function(){
_434.reverse();
};
this.sort=function(fn){
if(fn){
_434.sort(fn);
}else{
_434.sort();
}
};
this.setByIndex=function(i,obj){
_434[i]=obj;
this.count=_434.length;
};
this.toArray=function(){
return [].concat(_434);
};
this.toString=function(_44a){
return _434.join((_44a||","));
};
};
dojo.provide("dojo.collections.Dictionary");
dojo.collections.Dictionary=function(_44b){
var _44c={};
this.count=0;
var _44d={};
this.add=function(k,v){
var b=(k in _44c);
_44c[k]=new dojo.collections.DictionaryEntry(k,v);
if(!b){
this.count++;
}
};
this.clear=function(){
_44c={};
this.count=0;
};
this.clone=function(){
return new dojo.collections.Dictionary(this);
};
this.contains=this.containsKey=function(k){
if(_44d[k]){
return false;
}
return (_44c[k]!=null);
};
this.containsValue=function(v){
var e=this.getIterator();
while(e.get()){
if(e.element.value==v){
return true;
}
}
return false;
};
this.entry=function(k){
return _44c[k];
};
this.forEach=function(fn,_456){
var a=[];
for(var p in _44c){
if(!_44d[p]){
a.push(_44c[p]);
}
}
var s=_456||dj_global;
if(Array.forEach){
Array.forEach(a,fn,s);
}else{
for(var i=0;i<a.length;i++){
fn.call(s,a[i],i,a);
}
}
};
this.getKeyList=function(){
return (this.getIterator()).map(function(_45b){
return _45b.key;
});
};
this.getValueList=function(){
return (this.getIterator()).map(function(_45c){
return _45c.value;
});
};
this.item=function(k){
if(k in _44c){
return _44c[k].valueOf();
}
return undefined;
};
this.getIterator=function(){
return new dojo.collections.DictionaryIterator(_44c);
};
this.remove=function(k){
if(k in _44c&&!_44d[k]){
delete _44c[k];
this.count--;
return true;
}
return false;
};
if(_44b){
var e=_44b.getIterator();
while(e.get()){
this.add(e.element.key,e.element.value);
}
}
};
dojo.provide("dojo.string");
dojo.provide("dojo.io.common");
dojo.io.transports=[];
dojo.io.hdlrFuncNames=["load","error","timeout"];
dojo.io.Request=function(url,_461,_462,_463){
if((arguments.length==1)&&(arguments[0].constructor==Object)){
this.fromKwArgs(arguments[0]);
}else{
this.url=url;
if(_461){
this.mimetype=_461;
}
if(_462){
this.transport=_462;
}
if(arguments.length>=4){
this.changeUrl=_463;
}
}
};
dojo.lang.extend(dojo.io.Request,{url:"",mimetype:"text/plain",method:"GET",content:undefined,transport:undefined,changeUrl:undefined,formNode:undefined,sync:false,bindSuccess:false,useCache:false,preventCache:false,load:function(type,data,_466,_467){
},error:function(type,_469,_46a,_46b){
},timeout:function(type,_46d,_46e,_46f){
},handle:function(type,data,_472,_473){
},timeoutSeconds:0,abort:function(){
},fromKwArgs:function(_474){
if(_474["url"]){
_474.url=_474.url.toString();
}
if(_474["formNode"]){
_474.formNode=dojo.byId(_474.formNode);
}
if(!_474["method"]&&_474["formNode"]&&_474["formNode"].method){
_474.method=_474["formNode"].method;
}
if(!_474["handle"]&&_474["handler"]){
_474.handle=_474.handler;
}
if(!_474["load"]&&_474["loaded"]){
_474.load=_474.loaded;
}
if(!_474["changeUrl"]&&_474["changeURL"]){
_474.changeUrl=_474.changeURL;
}
_474.encoding=dojo.lang.firstValued(_474["encoding"],djConfig["bindEncoding"],"");
_474.sendTransport=dojo.lang.firstValued(_474["sendTransport"],djConfig["ioSendTransport"],false);
var _475=dojo.lang.isFunction;
for(var x=0;x<dojo.io.hdlrFuncNames.length;x++){
var fn=dojo.io.hdlrFuncNames[x];
if(_474[fn]&&_475(_474[fn])){
continue;
}
if(_474["handle"]&&_475(_474["handle"])){
_474[fn]=_474.handle;
}
}
dojo.lang.mixin(this,_474);
}});
dojo.io.Error=function(msg,type,num){
this.message=msg;
this.type=type||"unknown";
this.number=num||0;
};
dojo.io.transports.addTransport=function(name){
this.push(name);
this[name]=dojo.io[name];
};
dojo.io.bind=function(_47c){
if(!(_47c instanceof dojo.io.Request)){
try{
_47c=new dojo.io.Request(_47c);
}
catch(e){
dojo.debug(e);
}
}
var _47d="";
if(_47c["transport"]){
_47d=_47c["transport"];
if(!this[_47d]){
dojo.io.sendBindError(_47c,"No dojo.io.bind() transport with name '"+_47c["transport"]+"'.");
return _47c;
}
if(!this[_47d].canHandle(_47c)){
dojo.io.sendBindError(_47c,"dojo.io.bind() transport with name '"+_47c["transport"]+"' cannot handle this type of request.");
return _47c;
}
}else{
for(var x=0;x<dojo.io.transports.length;x++){
var tmp=dojo.io.transports[x];
if((this[tmp])&&(this[tmp].canHandle(_47c))){
_47d=tmp;
break;
}
}
if(_47d==""){
dojo.io.sendBindError(_47c,"None of the loaded transports for dojo.io.bind()"+" can handle the request.");
return _47c;
}
}
this[_47d].bind(_47c);
_47c.bindSuccess=true;
return _47c;
};
dojo.io.sendBindError=function(_480,_481){
if((typeof _480.error=="function"||typeof _480.handle=="function")&&(typeof setTimeout=="function"||typeof setTimeout=="object")){
var _482=new dojo.io.Error(_481);
setTimeout(function(){
_480[(typeof _480.error=="function")?"error":"handle"]("error",_482,null,_480);
},50);
}else{
dojo.raise(_481);
}
};
dojo.io.queueBind=function(_483){
if(!(_483 instanceof dojo.io.Request)){
try{
_483=new dojo.io.Request(_483);
}
catch(e){
dojo.debug(e);
}
}
var _484=_483.load;
_483.load=function(){
dojo.io._queueBindInFlight=false;
var ret=_484.apply(this,arguments);
dojo.io._dispatchNextQueueBind();
return ret;
};
var _486=_483.error;
_483.error=function(){
dojo.io._queueBindInFlight=false;
var ret=_486.apply(this,arguments);
dojo.io._dispatchNextQueueBind();
return ret;
};
dojo.io._bindQueue.push(_483);
dojo.io._dispatchNextQueueBind();
return _483;
};
dojo.io._dispatchNextQueueBind=function(){
if(!dojo.io._queueBindInFlight){
dojo.io._queueBindInFlight=true;
if(dojo.io._bindQueue.length>0){
dojo.io.bind(dojo.io._bindQueue.shift());
}else{
dojo.io._queueBindInFlight=false;
}
}
};
dojo.io._bindQueue=[];
dojo.io._queueBindInFlight=false;
dojo.io.argsFromMap=function(map,_489,last){
var enc=/utf/i.test(_489||"")?encodeURIComponent:dojo.string.encodeAscii;
var _48c=[];
var _48d=new Object();
for(var name in map){
var _48f=function(elt){
var val=enc(name)+"="+enc(elt);
_48c[(last==name)?"push":"unshift"](val);
};
if(!_48d[name]){
var _492=map[name];
if(dojo.lang.isArray(_492)){
dojo.lang.forEach(_492,_48f);
}else{
_48f(_492);
}
}
}
return _48c.join("&");
};
dojo.io.setIFrameSrc=function(_493,src,_495){
try{
var r=dojo.render.html;
if(!_495){
if(r.safari){
_493.location=src;
}else{
frames[_493.name].location=src;
}
}else{
var idoc;
if(r.ie){
idoc=_493.contentWindow.document;
}else{
if(r.safari){
idoc=_493.document;
}else{
idoc=_493.contentWindow;
}
}
if(!idoc){
_493.location=src;
return;
}else{
idoc.location.replace(src);
}
}
}
catch(e){
dojo.debug(e);
dojo.debug("setIFrameSrc: "+e);
}
};
dojo.provide("dojo.string.extras");
dojo.string.substituteParams=function(_498,hash){
var map=(typeof hash=="object")?hash:dojo.lang.toArray(arguments,1);
return _498.replace(/\%\{(\w+)\}/g,function(_49b,key){
if(typeof (map[key])!="undefined"&&map[key]!=null){
return map[key];
}
dojo.raise("Substitution not found: "+key);
});
};
dojo.string.capitalize=function(str){
if(!dojo.lang.isString(str)){
return "";
}
if(arguments.length==0){
str=this;
}
var _49e=str.split(" ");
for(var i=0;i<_49e.length;i++){
_49e[i]=_49e[i].charAt(0).toUpperCase()+_49e[i].substring(1);
}
return _49e.join(" ");
};
dojo.string.isBlank=function(str){
if(!dojo.lang.isString(str)){
return true;
}
return (dojo.string.trim(str).length==0);
};
dojo.string.encodeAscii=function(str){
if(!dojo.lang.isString(str)){
return str;
}
var ret="";
var _4a3=escape(str);
var _4a4,re=/%u([0-9A-F]{4})/i;
while((_4a4=_4a3.match(re))){
var num=Number("0x"+_4a4[1]);
var _4a7=escape("&#"+num+";");
ret+=_4a3.substring(0,_4a4.index)+_4a7;
_4a3=_4a3.substring(_4a4.index+_4a4[0].length);
}
ret+=_4a3.replace(/\+/g,"%2B");
return ret;
};
dojo.string.escape=function(type,str){
var args=dojo.lang.toArray(arguments,1);
switch(type.toLowerCase()){
case "xml":
case "html":
case "xhtml":
return dojo.string.escapeXml.apply(this,args);
case "sql":
return dojo.string.escapeSql.apply(this,args);
case "regexp":
case "regex":
return dojo.string.escapeRegExp.apply(this,args);
case "javascript":
case "jscript":
case "js":
return dojo.string.escapeJavaScript.apply(this,args);
case "ascii":
return dojo.string.encodeAscii.apply(this,args);
default:
return str;
}
};
dojo.string.escapeXml=function(str,_4ac){
str=str.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
if(!_4ac){
str=str.replace(/'/gm,"&#39;");
}
return str;
};
dojo.string.escapeSql=function(str){
return str.replace(/'/gm,"''");
};
dojo.string.escapeRegExp=function(str){
return str.replace(/\\/gm,"\\\\").replace(/([\f\b\n\t\r[\^$|?*+(){}])/gm,"\\$1");
};
dojo.string.escapeJavaScript=function(str){
return str.replace(/(["'\f\b\n\t\r])/gm,"\\$1");
};
dojo.string.escapeString=function(str){
return ("\""+str.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");
};
dojo.string.summary=function(str,len){
if(!len||str.length<=len){
return str;
}
return str.substring(0,len).replace(/\.+$/,"")+"...";
};
dojo.string.endsWith=function(str,end,_4b5){
if(_4b5){
str=str.toLowerCase();
end=end.toLowerCase();
}
if((str.length-end.length)<0){
return false;
}
return str.lastIndexOf(end)==str.length-end.length;
};
dojo.string.endsWithAny=function(str){
for(var i=1;i<arguments.length;i++){
if(dojo.string.endsWith(str,arguments[i])){
return true;
}
}
return false;
};
dojo.string.startsWith=function(str,_4b9,_4ba){
if(_4ba){
str=str.toLowerCase();
_4b9=_4b9.toLowerCase();
}
return str.indexOf(_4b9)==0;
};
dojo.string.startsWithAny=function(str){
for(var i=1;i<arguments.length;i++){
if(dojo.string.startsWith(str,arguments[i])){
return true;
}
}
return false;
};
dojo.string.has=function(str){
for(var i=1;i<arguments.length;i++){
if(str.indexOf(arguments[i])>-1){
return true;
}
}
return false;
};
dojo.string.normalizeNewlines=function(text,_4c0){
if(_4c0=="\n"){
text=text.replace(/\r\n/g,"\n");
text=text.replace(/\r/g,"\n");
}else{
if(_4c0=="\r"){
text=text.replace(/\r\n/g,"\r");
text=text.replace(/\n/g,"\r");
}else{
text=text.replace(/([^\r])\n/g,"$1\r\n").replace(/\r([^\n])/g,"\r\n$1");
}
}
return text;
};
dojo.string.splitEscaped=function(str,_4c2){
var _4c3=[];
for(var i=0,_4c5=0;i<str.length;i++){
if(str.charAt(i)=="\\"){
i++;
continue;
}
if(str.charAt(i)==_4c2){
_4c3.push(str.substring(_4c5,i));
_4c5=i+1;
}
}
_4c3.push(str.substr(_4c5));
return _4c3;
};
dojo.provide("dojo.undo.browser");
try{
if((!djConfig["preventBackButtonFix"])&&(!dojo.hostenv.post_load_)){
document.write("<iframe style='border: 0px; width: 1px; height: 1px; position: absolute; bottom: 0px; right: 0px; visibility: visible;' name='djhistory' id='djhistory' src='"+(djConfig["dojoIframeHistoryUrl"]||dojo.hostenv.getBaseScriptUri()+"iframe_history.html")+"'></iframe>");
}
}
catch(e){
}
if(dojo.render.html.opera){
dojo.debug("Opera is not supported with dojo.undo.browser, so back/forward detection will not work.");
}
dojo.undo.browser={initialHref:(!dj_undef("window"))?window.location.href:"",initialHash:(!dj_undef("window"))?window.location.hash:"",moveForward:false,historyStack:[],forwardStack:[],historyIframe:null,bookmarkAnchor:null,locationTimer:null,setInitialState:function(args){
this.initialState=this._createState(this.initialHref,args,this.initialHash);
},addToHistory:function(args){
this.forwardStack=[];
var hash=null;
var url=null;
if(!this.historyIframe){
if(djConfig["useXDomain"]&&!djConfig["dojoIframeHistoryUrl"]){
dojo.debug("dojo.undo.browser: When using cross-domain Dojo builds,"+" please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl"+" to the path on your domain to iframe_history.html");
}
this.historyIframe=window.frames["djhistory"];
}
if(!this.bookmarkAnchor){
this.bookmarkAnchor=document.createElement("a");
dojo.body().appendChild(this.bookmarkAnchor);
this.bookmarkAnchor.style.display="none";
}
if(args["changeUrl"]){
hash="#"+((args["changeUrl"]!==true)?args["changeUrl"]:(new Date()).getTime());
if(this.historyStack.length==0&&this.initialState.urlHash==hash){
this.initialState=this._createState(url,args,hash);
return;
}else{
if(this.historyStack.length>0&&this.historyStack[this.historyStack.length-1].urlHash==hash){
this.historyStack[this.historyStack.length-1]=this._createState(url,args,hash);
return;
}
}
this.changingUrl=true;
setTimeout("window.location.href = '"+hash+"'; dojo.undo.browser.changingUrl = false;",1);
this.bookmarkAnchor.href=hash;
if(dojo.render.html.ie){
url=this._loadIframeHistory();
var _4ca=args["back"]||args["backButton"]||args["handle"];
var tcb=function(_4cc){
if(window.location.hash!=""){
setTimeout("window.location.href = '"+hash+"';",1);
}
_4ca.apply(this,[_4cc]);
};
if(args["back"]){
args.back=tcb;
}else{
if(args["backButton"]){
args.backButton=tcb;
}else{
if(args["handle"]){
args.handle=tcb;
}
}
}
var _4cd=args["forward"]||args["forwardButton"]||args["handle"];
var tfw=function(_4cf){
if(window.location.hash!=""){
window.location.href=hash;
}
if(_4cd){
_4cd.apply(this,[_4cf]);
}
};
if(args["forward"]){
args.forward=tfw;
}else{
if(args["forwardButton"]){
args.forwardButton=tfw;
}else{
if(args["handle"]){
args.handle=tfw;
}
}
}
}else{
if(dojo.render.html.moz){
if(!this.locationTimer){
this.locationTimer=setInterval("dojo.undo.browser.checkLocation();",200);
}
}
}
}else{
url=this._loadIframeHistory();
}
this.historyStack.push(this._createState(url,args,hash));
},checkLocation:function(){
if(!this.changingUrl){
var hsl=this.historyStack.length;
if((window.location.hash==this.initialHash||window.location.href==this.initialHref)&&(hsl==1)){
this.handleBackButton();
return;
}
if(this.forwardStack.length>0){
if(this.forwardStack[this.forwardStack.length-1].urlHash==window.location.hash){
this.handleForwardButton();
return;
}
}
if((hsl>=2)&&(this.historyStack[hsl-2])){
if(this.historyStack[hsl-2].urlHash==window.location.hash){
this.handleBackButton();
return;
}
}
}
},iframeLoaded:function(evt,_4d2){
if(!dojo.render.html.opera){
var _4d3=this._getUrlQuery(_4d2.href);
if(_4d3==null){
if(this.historyStack.length==1){
this.handleBackButton();
}
return;
}
if(this.moveForward){
this.moveForward=false;
return;
}
if(this.historyStack.length>=2&&_4d3==this._getUrlQuery(this.historyStack[this.historyStack.length-2].url)){
this.handleBackButton();
}else{
if(this.forwardStack.length>0&&_4d3==this._getUrlQuery(this.forwardStack[this.forwardStack.length-1].url)){
this.handleForwardButton();
}
}
}
},handleBackButton:function(){
var _4d4=this.historyStack.pop();
if(!_4d4){
return;
}
var last=this.historyStack[this.historyStack.length-1];
if(!last&&this.historyStack.length==0){
last=this.initialState;
}
if(last){
if(last.kwArgs["back"]){
last.kwArgs["back"]();
}else{
if(last.kwArgs["backButton"]){
last.kwArgs["backButton"]();
}else{
if(last.kwArgs["handle"]){
last.kwArgs.handle("back");
}
}
}
}
this.forwardStack.push(_4d4);
},handleForwardButton:function(){
var last=this.forwardStack.pop();
if(!last){
return;
}
if(last.kwArgs["forward"]){
last.kwArgs.forward();
}else{
if(last.kwArgs["forwardButton"]){
last.kwArgs.forwardButton();
}else{
if(last.kwArgs["handle"]){
last.kwArgs.handle("forward");
}
}
}
this.historyStack.push(last);
},_createState:function(url,args,hash){
return {"url":url,"kwArgs":args,"urlHash":hash};
},_getUrlQuery:function(url){
var _4db=url.split("?");
if(_4db.length<2){
return null;
}else{
return _4db[1];
}
},_loadIframeHistory:function(){
var url=(djConfig["dojoIframeHistoryUrl"]||dojo.hostenv.getBaseScriptUri()+"iframe_history.html")+"?"+(new Date()).getTime();
this.moveForward=true;
dojo.io.setIFrameSrc(this.historyIframe,url,false);
return url;
}};
dojo.provide("dojo.io.BrowserIO");
if(!dj_undef("window")){
dojo.io.checkChildrenForFile=function(node){
var _4de=false;
var _4df=node.getElementsByTagName("input");
dojo.lang.forEach(_4df,function(_4e0){
if(_4de){
return;
}
if(_4e0.getAttribute("type")=="file"){
_4de=true;
}
});
return _4de;
};
dojo.io.formHasFile=function(_4e1){
return dojo.io.checkChildrenForFile(_4e1);
};
dojo.io.updateNode=function(node,_4e3){
node=dojo.byId(node);
var args=_4e3;
if(dojo.lang.isString(_4e3)){
args={url:_4e3};
}
args.mimetype="text/html";
args.load=function(t,d,e){
while(node.firstChild){
dojo.dom.destroyNode(node.firstChild);
}
node.innerHTML=d;
};
dojo.io.bind(args);
};
dojo.io.formFilter=function(node){
var type=(node.type||"").toLowerCase();
return !node.disabled&&node.name&&!dojo.lang.inArray(["file","submit","image","reset","button"],type);
};
dojo.io.encodeForm=function(_4ea,_4eb,_4ec){
if((!_4ea)||(!_4ea.tagName)||(!_4ea.tagName.toLowerCase()=="form")){
dojo.raise("Attempted to encode a non-form element.");
}
if(!_4ec){
_4ec=dojo.io.formFilter;
}
var enc=/utf/i.test(_4eb||"")?encodeURIComponent:dojo.string.encodeAscii;
var _4ee=[];
for(var i=0;i<_4ea.elements.length;i++){
var elm=_4ea.elements[i];
if(!elm||elm.tagName.toLowerCase()=="fieldset"||!_4ec(elm)){
continue;
}
var name=enc(elm.name);
var type=elm.type.toLowerCase();
if(type=="select-multiple"){
for(var j=0;j<elm.options.length;j++){
if(elm.options[j].selected){
_4ee.push(name+"="+enc(elm.options[j].value));
}
}
}else{
if(dojo.lang.inArray(["radio","checkbox"],type)){
if(elm.checked){
_4ee.push(name+"="+enc(elm.value));
}
}else{
_4ee.push(name+"="+enc(elm.value));
}
}
}
var _4f4=_4ea.getElementsByTagName("input");
for(var i=0;i<_4f4.length;i++){
var _4f5=_4f4[i];
if(_4f5.type.toLowerCase()=="image"&&_4f5.form==_4ea&&_4ec(_4f5)){
var name=enc(_4f5.name);
_4ee.push(name+"="+enc(_4f5.value));
_4ee.push(name+".x=0");
_4ee.push(name+".y=0");
}
}
return _4ee.join("&")+"&";
};
dojo.io.FormBind=function(args){
this.bindArgs={};
if(args&&args.formNode){
this.init(args);
}else{
if(args){
this.init({formNode:args});
}
}
};
dojo.lang.extend(dojo.io.FormBind,{form:null,bindArgs:null,clickedButton:null,init:function(args){
var form=dojo.byId(args.formNode);
if(!form||!form.tagName||form.tagName.toLowerCase()!="form"){
throw new Error("FormBind: Couldn't apply, invalid form");
}else{
if(this.form==form){
return;
}else{
if(this.form){
throw new Error("FormBind: Already applied to a form");
}
}
}
dojo.lang.mixin(this.bindArgs,args);
this.form=form;
this.connect(form,"onsubmit","submit");
for(var i=0;i<form.elements.length;i++){
var node=form.elements[i];
if(node&&node.type&&dojo.lang.inArray(["submit","button"],node.type.toLowerCase())){
this.connect(node,"onclick","click");
}
}
var _4fb=form.getElementsByTagName("input");
for(var i=0;i<_4fb.length;i++){
var _4fc=_4fb[i];
if(_4fc.type.toLowerCase()=="image"&&_4fc.form==form){
this.connect(_4fc,"onclick","click");
}
}
},onSubmit:function(form){
return true;
},submit:function(e){
e.preventDefault();
if(this.onSubmit(this.form)){
dojo.io.bind(dojo.lang.mixin(this.bindArgs,{formFilter:dojo.lang.hitch(this,"formFilter")}));
}
},click:function(e){
var node=e.currentTarget;
if(node.disabled){
return;
}
this.clickedButton=node;
},formFilter:function(node){
var type=(node.type||"").toLowerCase();
var _503=false;
if(node.disabled||!node.name){
_503=false;
}else{
if(dojo.lang.inArray(["submit","button","image"],type)){
if(!this.clickedButton){
this.clickedButton=node;
}
_503=node==this.clickedButton;
}else{
_503=!dojo.lang.inArray(["file","submit","reset","button"],type);
}
}
return _503;
},connect:function(_504,_505,_506){
if(dojo.evalObjPath("dojo.event.connect")){
dojo.event.connect(_504,_505,this,_506);
}else{
var fcn=dojo.lang.hitch(this,_506);
_504[_505]=function(e){
if(!e){
e=window.event;
}
if(!e.currentTarget){
e.currentTarget=e.srcElement;
}
if(!e.preventDefault){
e.preventDefault=function(){
window.event.returnValue=false;
};
}
fcn(e);
};
}
}});
dojo.io.XMLHTTPTransport=new function(){
var _509=this;
var _50a={};
this.useCache=false;
this.preventCache=false;
function getCacheKey(url,_50c,_50d){
return url+"|"+_50c+"|"+_50d.toLowerCase();
}
function addToCache(url,_50f,_510,http){
_50a[getCacheKey(url,_50f,_510)]=http;
}
function getFromCache(url,_513,_514){
return _50a[getCacheKey(url,_513,_514)];
}
this.clearCache=function(){
_50a={};
};
function doLoad(_515,http,url,_518,_519){
if(((http.status>=200)&&(http.status<300))||(http.status==304)||(http.status==1223)||(location.protocol=="file:"&&(http.status==0||http.status==undefined))||(location.protocol=="chrome:"&&(http.status==0||http.status==undefined))){
var ret;
if(_515.method.toLowerCase()=="head"){
var _51b=http.getAllResponseHeaders();
ret={};
ret.toString=function(){
return _51b;
};
var _51c=_51b.split(/[\r\n]+/g);
for(var i=0;i<_51c.length;i++){
var pair=_51c[i].match(/^([^:]+)\s*:\s*(.+)$/i);
if(pair){
ret[pair[1]]=pair[2];
}
}
}else{
if(_515.mimetype=="text/javascript"){
try{
ret=dj_eval(http.responseText);
}
catch(e){
dojo.debug(e);
dojo.debug(http.responseText);
ret=null;
}
}else{
if(_515.mimetype=="text/json"||_515.mimetype=="application/json"){
try{
ret=dj_eval("("+http.responseText+")");
}
catch(e){
dojo.debug(e);
dojo.debug(http.responseText);
ret=false;
}
}else{
if((_515.mimetype=="application/xml")||(_515.mimetype=="text/xml")){
ret=http.responseXML;
if(!ret||typeof ret=="string"||!http.getResponseHeader("Content-Type")){
ret=dojo.dom.createDocumentFromText(http.responseText);
}
}else{
ret=http.responseText;
}
}
}
}
if(_519){
addToCache(url,_518,_515.method,http);
}
_515[(typeof _515.load=="function")?"load":"handle"]("load",ret,http,_515);
}else{
var _51f=new dojo.io.Error("XMLHttpTransport Error: "+http.status+" "+http.statusText);
_515[(typeof _515.error=="function")?"error":"handle"]("error",_51f,http,_515);
}
}
function setHeaders(http,_521){
if(_521["headers"]){
for(var _522 in _521["headers"]){
if(_522.toLowerCase()=="content-type"&&!_521["contentType"]){
_521["contentType"]=_521["headers"][_522];
}else{
http.setRequestHeader(_522,_521["headers"][_522]);
}
}
}
}
this.inFlight=[];
this.inFlightTimer=null;
this.startWatchingInFlight=function(){
if(!this.inFlightTimer){
this.inFlightTimer=setTimeout("dojo.io.XMLHTTPTransport.watchInFlight();",10);
}
};
this.watchInFlight=function(){
var now=null;
if(!dojo.hostenv._blockAsync&&!_509._blockAsync){
for(var x=this.inFlight.length-1;x>=0;x--){
try{
var tif=this.inFlight[x];
if(!tif||tif.http._aborted||!tif.http.readyState){
this.inFlight.splice(x,1);
continue;
}
if(4==tif.http.readyState){
this.inFlight.splice(x,1);
doLoad(tif.req,tif.http,tif.url,tif.query,tif.useCache);
}else{
if(tif.startTime){
if(!now){
now=(new Date()).getTime();
}
if(tif.startTime+(tif.req.timeoutSeconds*1000)<now){
if(typeof tif.http.abort=="function"){
tif.http.abort();
}
this.inFlight.splice(x,1);
tif.req[(typeof tif.req.timeout=="function")?"timeout":"handle"]("timeout",null,tif.http,tif.req);
}
}
}
}
catch(e){
try{
var _526=new dojo.io.Error("XMLHttpTransport.watchInFlight Error: "+e);
tif.req[(typeof tif.req.error=="function")?"error":"handle"]("error",_526,tif.http,tif.req);
}
catch(e2){
dojo.debug("XMLHttpTransport error callback failed: "+e2);
}
}
}
}
clearTimeout(this.inFlightTimer);
if(this.inFlight.length==0){
this.inFlightTimer=null;
return;
}
this.inFlightTimer=setTimeout("dojo.io.XMLHTTPTransport.watchInFlight();",10);
};
var _527=dojo.hostenv.getXmlhttpObject()?true:false;
this.canHandle=function(_528){
return _527&&dojo.lang.inArray(["text/plain","text/html","application/xml","text/xml","text/javascript","text/json","application/json"],(_528["mimetype"].toLowerCase()||""))&&!(_528["formNode"]&&dojo.io.formHasFile(_528["formNode"]));
};
this.multipartBoundary="45309FFF-BD65-4d50-99C9-36986896A96F";
this.bind=function(_529){
if(!_529["url"]){
if(!_529["formNode"]&&(_529["backButton"]||_529["back"]||_529["changeUrl"]||_529["watchForURL"])&&(!djConfig.preventBackButtonFix)){
dojo.deprecated("Using dojo.io.XMLHTTPTransport.bind() to add to browser history without doing an IO request","Use dojo.undo.browser.addToHistory() instead.","0.4");
dojo.undo.browser.addToHistory(_529);
return true;
}
}
var url=_529.url;
var _52b="";
if(_529["formNode"]){
var ta=_529.formNode.getAttribute("action");
if((ta)&&(!_529["url"])){
url=ta;
}
var tp=_529.formNode.getAttribute("method");
if((tp)&&(!_529["method"])){
_529.method=tp;
}
_52b+=dojo.io.encodeForm(_529.formNode,_529.encoding,_529["formFilter"]);
}
if(url.indexOf("#")>-1){
dojo.debug("Warning: dojo.io.bind: stripping hash values from url:",url);
url=url.split("#")[0];
}
if(_529["file"]){
_529.method="post";
}
if(!_529["method"]){
_529.method="get";
}
if(_529.method.toLowerCase()=="get"){
_529.multipart=false;
}else{
if(_529["file"]){
_529.multipart=true;
}else{
if(!_529["multipart"]){
_529.multipart=false;
}
}
}
if(_529["backButton"]||_529["back"]||_529["changeUrl"]){
dojo.undo.browser.addToHistory(_529);
}
var _52e=_529["content"]||{};
if(_529.sendTransport){
_52e["dojo.transport"]="xmlhttp";
}
do{
if(_529.postContent){
_52b=_529.postContent;
break;
}
if(_52e){
_52b+=dojo.io.argsFromMap(_52e,_529.encoding);
}
if(_529.method.toLowerCase()=="get"||!_529.multipart){
break;
}
var t=[];
if(_52b.length){
var q=_52b.split("&");
for(var i=0;i<q.length;++i){
if(q[i].length){
var p=q[i].split("=");
t.push("--"+this.multipartBoundary,"Content-Disposition: form-data; name=\""+p[0]+"\"","",p[1]);
}
}
}
if(_529.file){
if(dojo.lang.isArray(_529.file)){
for(var i=0;i<_529.file.length;++i){
var o=_529.file[i];
t.push("--"+this.multipartBoundary,"Content-Disposition: form-data; name=\""+o.name+"\"; filename=\""+("fileName" in o?o.fileName:o.name)+"\"","Content-Type: "+("contentType" in o?o.contentType:"application/octet-stream"),"",o.content);
}
}else{
var o=_529.file;
t.push("--"+this.multipartBoundary,"Content-Disposition: form-data; name=\""+o.name+"\"; filename=\""+("fileName" in o?o.fileName:o.name)+"\"","Content-Type: "+("contentType" in o?o.contentType:"application/octet-stream"),"",o.content);
}
}
if(t.length){
t.push("--"+this.multipartBoundary+"--","");
_52b=t.join("\r\n");
}
}while(false);
var _534=_529["sync"]?false:true;
var _535=_529["preventCache"]||(this.preventCache==true&&_529["preventCache"]!=false);
var _536=_529["useCache"]==true||(this.useCache==true&&_529["useCache"]!=false);
if(!_535&&_536){
var _537=getFromCache(url,_52b,_529.method);
if(_537){
doLoad(_529,_537,url,_52b,false);
return;
}
}
var http=dojo.hostenv.getXmlhttpObject(_529);
var _539=false;
if(_534){
var _53a=this.inFlight.push({"req":_529,"http":http,"url":url,"query":_52b,"useCache":_536,"startTime":_529.timeoutSeconds?(new Date()).getTime():0});
this.startWatchingInFlight();
}else{
_509._blockAsync=true;
}
if(_529.method.toLowerCase()=="post"){
if(!_529.user){
http.open("POST",url,_534);
}else{
http.open("POST",url,_534,_529.user,_529.password);
}
setHeaders(http,_529);
http.setRequestHeader("Content-Type",_529.multipart?("multipart/form-data; boundary="+this.multipartBoundary):(_529.contentType||"application/x-www-form-urlencoded"));
try{
http.send(_52b);
}
catch(e){
if(typeof http.abort=="function"){
http.abort();
}
doLoad(_529,{status:404},url,_52b,_536);
}
}else{
var _53b=url;
if(_52b!=""){
_53b+=(_53b.indexOf("?")>-1?"&":"?")+_52b;
}
if(_535){
_53b+=(dojo.string.endsWithAny(_53b,"?","&")?"":(_53b.indexOf("?")>-1?"&":"?"))+"dojo.preventCache="+new Date().valueOf();
}
if(!_529.user){
http.open(_529.method.toUpperCase(),_53b,_534);
}else{
http.open(_529.method.toUpperCase(),_53b,_534,_529.user,_529.password);
}
setHeaders(http,_529);
try{
http.send(null);
}
catch(e){
if(typeof http.abort=="function"){
http.abort();
}
doLoad(_529,{status:404},url,_52b,_536);
}
}
if(!_534){
doLoad(_529,http,url,_52b,_536);
_509._blockAsync=false;
}
_529.abort=function(){
try{
http._aborted=true;
}
catch(e){
}
return http.abort();
};
return;
};
dojo.io.transports.addTransport("XMLHTTPTransport");
};
}
dojo.provide("dojo.io.ScriptSrcIO");
dojo.io.ScriptSrcTransport=new function(){
this.preventCache=false;
this.maxUrlLength=1000;
this.inFlightTimer=null;
this.DsrStatusCodes={Continue:100,Ok:200,Error:500};
this.startWatchingInFlight=function(){
if(!this.inFlightTimer){
this.inFlightTimer=setInterval("dojo.io.ScriptSrcTransport.watchInFlight();",100);
}
};
this.watchInFlight=function(){
var _53c=0;
var _53d=0;
for(var _53e in this._state){
_53c++;
var _53f=this._state[_53e];
if(_53f.isDone){
_53d++;
delete this._state[_53e];
}else{
if(!_53f.isFinishing){
var _540=_53f.kwArgs;
try{
if(_53f.checkString&&eval("typeof("+_53f.checkString+") != 'undefined'")){
_53f.isFinishing=true;
this._finish(_53f,"load");
_53d++;
delete this._state[_53e];
}else{
if(_540.timeoutSeconds&&_540.timeout){
if(_53f.startTime+(_540.timeoutSeconds*1000)<(new Date()).getTime()){
_53f.isFinishing=true;
this._finish(_53f,"timeout");
_53d++;
delete this._state[_53e];
}
}else{
if(!_540.timeoutSeconds){
_53d++;
}
}
}
}
catch(e){
_53f.isFinishing=true;
this._finish(_53f,"error",{status:this.DsrStatusCodes.Error,response:e});
}
}
}
}
if(_53d>=_53c){
clearInterval(this.inFlightTimer);
this.inFlightTimer=null;
}
};
this.canHandle=function(_541){
return dojo.lang.inArray(["text/javascript","text/json","application/json"],(_541["mimetype"].toLowerCase()))&&(_541["method"].toLowerCase()=="get")&&!(_541["formNode"]&&dojo.io.formHasFile(_541["formNode"]))&&(!_541["sync"]||_541["sync"]==false)&&!_541["file"]&&!_541["multipart"];
};
this.removeScripts=function(){
var _542=document.getElementsByTagName("script");
for(var i=0;_542&&i<_542.length;i++){
var _544=_542[i];
if(_544.className=="ScriptSrcTransport"){
var _545=_544.parentNode;
_545.removeChild(_544);
i--;
}
}
};
this.bind=function(_546){
var url=_546.url;
var _548="";
if(_546["formNode"]){
var ta=_546.formNode.getAttribute("action");
if((ta)&&(!_546["url"])){
url=ta;
}
var tp=_546.formNode.getAttribute("method");
if((tp)&&(!_546["method"])){
_546.method=tp;
}
_548+=dojo.io.encodeForm(_546.formNode,_546.encoding,_546["formFilter"]);
}
if(url.indexOf("#")>-1){
dojo.debug("Warning: dojo.io.bind: stripping hash values from url:",url);
url=url.split("#")[0];
}
var _54b=url.split("?");
if(_54b&&_54b.length==2){
url=_54b[0];
_548+=(_548?"&":"")+_54b[1];
}
if(_546["backButton"]||_546["back"]||_546["changeUrl"]){
dojo.undo.browser.addToHistory(_546);
}
var id=_546["apiId"]?_546["apiId"]:"id"+this._counter++;
var _54d=_546["content"];
var _54e=_546.jsonParamName;
if(_546.sendTransport||_54e){
if(!_54d){
_54d={};
}
if(_546.sendTransport){
_54d["dojo.transport"]="scriptsrc";
}
if(_54e){
_54d[_54e]="dojo.io.ScriptSrcTransport._state."+id+".jsonpCall";
}
}
if(_546.postContent){
_548=_546.postContent;
}else{
if(_54d){
_548+=((_548)?"&":"")+dojo.io.argsFromMap(_54d,_546.encoding,_54e);
}
}
if(_546["apiId"]){
_546["useRequestId"]=true;
}
var _54f={"id":id,"idParam":"_dsrid="+id,"url":url,"query":_548,"kwArgs":_546,"startTime":(new Date()).getTime(),"isFinishing":false};
if(!url){
this._finish(_54f,"error",{status:this.DsrStatusCodes.Error,statusText:"url.none"});
return;
}
if(_54d&&_54d[_54e]){
_54f.jsonp=_54d[_54e];
_54f.jsonpCall=function(data){
if(data["Error"]||data["error"]){
if(dojo["json"]&&dojo["json"]["serialize"]){
dojo.debug(dojo.json.serialize(data));
}
dojo.io.ScriptSrcTransport._finish(this,"error",data);
}else{
dojo.io.ScriptSrcTransport._finish(this,"load",data);
}
};
}
if(_546["useRequestId"]||_546["checkString"]||_54f["jsonp"]){
this._state[id]=_54f;
}
if(_546["checkString"]){
_54f.checkString=_546["checkString"];
}
_54f.constantParams=(_546["constantParams"]==null?"":_546["constantParams"]);
if(_546["preventCache"]||(this.preventCache==true&&_546["preventCache"]!=false)){
_54f.nocacheParam="dojo.preventCache="+new Date().valueOf();
}else{
_54f.nocacheParam="";
}
var _551=_54f.url.length+_54f.query.length+_54f.constantParams.length+_54f.nocacheParam.length+this._extraPaddingLength;
if(_546["useRequestId"]){
_551+=_54f.idParam.length;
}
if(!_546["checkString"]&&_546["useRequestId"]&&!_54f["jsonp"]&&!_546["forceSingleRequest"]&&_551>this.maxUrlLength){
if(url>this.maxUrlLength){
this._finish(_54f,"error",{status:this.DsrStatusCodes.Error,statusText:"url.tooBig"});
return;
}else{
this._multiAttach(_54f,1);
}
}else{
var _552=[_54f.constantParams,_54f.nocacheParam,_54f.query];
if(_546["useRequestId"]&&!_54f["jsonp"]){
_552.unshift(_54f.idParam);
}
var _553=this._buildUrl(_54f.url,_552);
_54f.finalUrl=_553;
this._attach(_54f.id,_553);
}
this.startWatchingInFlight();
};
this._counter=1;
this._state={};
this._extraPaddingLength=16;
this._buildUrl=function(url,_555){
var _556=url;
var _557="?";
for(var i=0;i<_555.length;i++){
if(_555[i]){
_556+=_557+_555[i];
_557="&";
}
}
return _556;
};
this._attach=function(id,url){
var _55b=document.createElement("script");
_55b.type="text/javascript";
_55b.src=url;
_55b.id=id;
_55b.className="ScriptSrcTransport";
document.getElementsByTagName("head")[0].appendChild(_55b);
};
this._multiAttach=function(_55c,part){
if(_55c.query==null){
this._finish(_55c,"error",{status:this.DsrStatusCodes.Error,statusText:"query.null"});
return;
}
if(!_55c.constantParams){
_55c.constantParams="";
}
var _55e=this.maxUrlLength-_55c.idParam.length-_55c.constantParams.length-_55c.url.length-_55c.nocacheParam.length-this._extraPaddingLength;
var _55f=_55c.query.length<_55e;
var _560;
if(_55f){
_560=_55c.query;
_55c.query=null;
}else{
var _561=_55c.query.lastIndexOf("&",_55e-1);
var _562=_55c.query.lastIndexOf("=",_55e-1);
if(_561>_562||_562==_55e-1){
_560=_55c.query.substring(0,_561);
_55c.query=_55c.query.substring(_561+1,_55c.query.length);
}else{
_560=_55c.query.substring(0,_55e);
var _563=_560.substring((_561==-1?0:_561+1),_562);
_55c.query=_563+"="+_55c.query.substring(_55e,_55c.query.length);
}
}
var _564=[_560,_55c.idParam,_55c.constantParams,_55c.nocacheParam];
if(!_55f){
_564.push("_part="+part);
}
var url=this._buildUrl(_55c.url,_564);
this._attach(_55c.id+"_"+part,url);
};
this._finish=function(_566,_567,_568){
if(_567!="partOk"&&!_566.kwArgs[_567]&&!_566.kwArgs["handle"]){
if(_567=="error"){
_566.isDone=true;
throw _568;
}
}else{
switch(_567){
case "load":
var _569=_568?_568.response:null;
if(!_569){
_569=_568;
}
_566.kwArgs[(typeof _566.kwArgs.load=="function")?"load":"handle"]("load",_569,_568,_566.kwArgs);
_566.isDone=true;
break;
case "partOk":
var part=parseInt(_568.response.part,10)+1;
if(_568.response.constantParams){
_566.constantParams=_568.response.constantParams;
}
this._multiAttach(_566,part);
_566.isDone=false;
break;
case "error":
_566.kwArgs[(typeof _566.kwArgs.error=="function")?"error":"handle"]("error",_568.response,_568,_566.kwArgs);
_566.isDone=true;
break;
default:
_566.kwArgs[(typeof _566.kwArgs[_567]=="function")?_567:"handle"](_567,_568,_568,_566.kwArgs);
_566.isDone=true;
}
}
};
dojo.io.transports.addTransport("ScriptSrcTransport");
};
window.onscriptload=function(_56b){
var _56c=null;
var _56d=dojo.io.ScriptSrcTransport;
if(_56d._state[_56b.id]){
_56c=_56d._state[_56b.id];
}else{
var _56e;
for(var _56f in _56d._state){
_56e=_56d._state[_56f];
if(_56e.finalUrl&&_56e.finalUrl==_56b.id){
_56c=_56e;
break;
}
}
if(_56c==null){
var _570=document.getElementsByTagName("script");
for(var i=0;_570&&i<_570.length;i++){
var _572=_570[i];
if(_572.getAttribute("class")=="ScriptSrcTransport"&&_572.src==_56b.id){
_56c=_56d._state[_572.id];
break;
}
}
}
if(_56c==null){
throw "No matching state for onscriptload event.id: "+_56b.id;
}
}
var _573="error";
switch(_56b.status){
case dojo.io.ScriptSrcTransport.DsrStatusCodes.Continue:
_573="partOk";
break;
case dojo.io.ScriptSrcTransport.DsrStatusCodes.Ok:
_573="load";
break;
}
_56d._finish(_56c,_573,_56b);
};
dojo.provide("dojo.lfx.Animation");
dojo.lfx.Line=function(_574,end){
this.start=_574;
this.end=end;
if(dojo.lang.isArray(_574)){
var diff=[];
dojo.lang.forEach(this.start,function(s,i){
diff[i]=this.end[i]-s;
},this);
this.getValue=function(n){
var res=[];
dojo.lang.forEach(this.start,function(s,i){
res[i]=(diff[i]*n)+s;
},this);
return res;
};
}else{
var diff=end-_574;
this.getValue=function(n){
return (diff*n)+this.start;
};
}
};
if((dojo.render.html.khtml)&&(!dojo.render.html.safari)){
dojo.lfx.easeDefault=function(n){
return (parseFloat("0.5")+((Math.sin((n+parseFloat("1.5"))*Math.PI))/2));
};
}else{
dojo.lfx.easeDefault=function(n){
return (0.5+((Math.sin((n+1.5)*Math.PI))/2));
};
}
dojo.lfx.easeIn=function(n){
return Math.pow(n,3);
};
dojo.lfx.easeOut=function(n){
return (1-Math.pow(1-n,3));
};
dojo.lfx.easeInOut=function(n){
return ((3*Math.pow(n,2))-(2*Math.pow(n,3)));
};
dojo.lfx.IAnimation=function(){
};
dojo.lang.extend(dojo.lfx.IAnimation,{curve:null,duration:1000,easing:null,repeatCount:0,rate:10,handler:null,beforeBegin:null,onBegin:null,onAnimate:null,onEnd:null,onPlay:null,onPause:null,onStop:null,play:null,pause:null,stop:null,connect:function(evt,_584,_585){
if(!_585){
_585=_584;
_584=this;
}
_585=dojo.lang.hitch(_584,_585);
var _586=this[evt]||function(){
};
this[evt]=function(){
var ret=_586.apply(this,arguments);
_585.apply(this,arguments);
return ret;
};
return this;
},fire:function(evt,args){
if(this[evt]){
this[evt].apply(this,(args||[]));
}
return this;
},repeat:function(_58a){
this.repeatCount=_58a;
return this;
},_active:false,_paused:false});
dojo.lfx.Animation=function(_58b,_58c,_58d,_58e,_58f,rate){
dojo.lfx.IAnimation.call(this);
if(dojo.lang.isNumber(_58b)||(!_58b&&_58c.getValue)){
rate=_58f;
_58f=_58e;
_58e=_58d;
_58d=_58c;
_58c=_58b;
_58b=null;
}else{
if(_58b.getValue||dojo.lang.isArray(_58b)){
rate=_58e;
_58f=_58d;
_58e=_58c;
_58d=_58b;
_58c=null;
_58b=null;
}
}
if(dojo.lang.isArray(_58d)){
this.curve=new dojo.lfx.Line(_58d[0],_58d[1]);
}else{
this.curve=_58d;
}
if(_58c!=null&&_58c>0){
this.duration=_58c;
}
if(_58f){
this.repeatCount=_58f;
}
if(rate){
this.rate=rate;
}
if(_58b){
dojo.lang.forEach(["handler","beforeBegin","onBegin","onEnd","onPlay","onStop","onAnimate"],function(item){
if(_58b[item]){
this.connect(item,_58b[item]);
}
},this);
}
if(_58e&&dojo.lang.isFunction(_58e)){
this.easing=_58e;
}
};
dojo.inherits(dojo.lfx.Animation,dojo.lfx.IAnimation);
dojo.lang.extend(dojo.lfx.Animation,{_startTime:null,_endTime:null,_timer:null,_percent:0,_startRepeatCount:0,play:function(_592,_593){
if(_593){
clearTimeout(this._timer);
this._active=false;
this._paused=false;
this._percent=0;
}else{
if(this._active&&!this._paused){
return this;
}
}
this.fire("handler",["beforeBegin"]);
this.fire("beforeBegin");
if(_592>0){
setTimeout(dojo.lang.hitch(this,function(){
this.play(null,_593);
}),_592);
return this;
}
this._startTime=new Date().valueOf();
if(this._paused){
this._startTime-=(this.duration*this._percent/100);
}
this._endTime=this._startTime+this.duration;
this._active=true;
this._paused=false;
var step=this._percent/100;
var _595=this.curve.getValue(step);
if(this._percent==0){
if(!this._startRepeatCount){
this._startRepeatCount=this.repeatCount;
}
this.fire("handler",["begin",_595]);
this.fire("onBegin",[_595]);
}
this.fire("handler",["play",_595]);
this.fire("onPlay",[_595]);
this._cycle();
return this;
},pause:function(){
clearTimeout(this._timer);
if(!this._active){
return this;
}
this._paused=true;
var _596=this.curve.getValue(this._percent/100);
this.fire("handler",["pause",_596]);
this.fire("onPause",[_596]);
return this;
},gotoPercent:function(pct,_598){
clearTimeout(this._timer);
this._active=true;
this._paused=true;
this._percent=pct;
if(_598){
this.play();
}
return this;
},stop:function(_599){
clearTimeout(this._timer);
var step=this._percent/100;
if(_599){
step=1;
}
var _59b=this.curve.getValue(step);
this.fire("handler",["stop",_59b]);
this.fire("onStop",[_59b]);
this._active=false;
this._paused=false;
return this;
},status:function(){
if(this._active){
return this._paused?"paused":"playing";
}else{
return "stopped";
}
return this;
},_cycle:function(){
clearTimeout(this._timer);
if(this._active){
var curr=new Date().valueOf();
var step=(curr-this._startTime)/(this._endTime-this._startTime);
if(step>=1){
step=1;
this._percent=100;
}else{
this._percent=step*100;
}
if((this.easing)&&(dojo.lang.isFunction(this.easing))){
step=this.easing(step);
}
var _59e=this.curve.getValue(step);
this.fire("handler",["animate",_59e]);
this.fire("onAnimate",[_59e]);
if(step<1){
this._timer=setTimeout(dojo.lang.hitch(this,"_cycle"),this.rate);
}else{
this._active=false;
this.fire("handler",["end"]);
this.fire("onEnd");
if(this.repeatCount>0){
this.repeatCount--;
this.play(null,true);
}else{
if(this.repeatCount==-1){
this.play(null,true);
}else{
if(this._startRepeatCount){
this.repeatCount=this._startRepeatCount;
this._startRepeatCount=0;
}
}
}
}
}
return this;
}});
dojo.lfx.Combine=function(_59f){
dojo.lfx.IAnimation.call(this);
this._anims=[];
this._animsEnded=0;
var _5a0=arguments;
if(_5a0.length==1&&(dojo.lang.isArray(_5a0[0])||dojo.lang.isArrayLike(_5a0[0]))){
_5a0=_5a0[0];
}
dojo.lang.forEach(_5a0,function(anim){
this._anims.push(anim);
anim.connect("onEnd",dojo.lang.hitch(this,"_onAnimsEnded"));
},this);
};
dojo.inherits(dojo.lfx.Combine,dojo.lfx.IAnimation);
dojo.lang.extend(dojo.lfx.Combine,{_animsEnded:0,play:function(_5a2,_5a3){
if(!this._anims.length){
return this;
}
this.fire("beforeBegin");
if(_5a2>0){
setTimeout(dojo.lang.hitch(this,function(){
this.play(null,_5a3);
}),_5a2);
return this;
}
if(_5a3||this._anims[0].percent==0){
this.fire("onBegin");
}
this.fire("onPlay");
this._animsCall("play",null,_5a3);
return this;
},pause:function(){
this.fire("onPause");
this._animsCall("pause");
return this;
},stop:function(_5a4){
this.fire("onStop");
this._animsCall("stop",_5a4);
return this;
},_onAnimsEnded:function(){
this._animsEnded++;
if(this._animsEnded>=this._anims.length){
this.fire("onEnd");
}
return this;
},_animsCall:function(_5a5){
var args=[];
if(arguments.length>1){
for(var i=1;i<arguments.length;i++){
args.push(arguments[i]);
}
}
var _5a8=this;
dojo.lang.forEach(this._anims,function(anim){
anim[_5a5](args);
},_5a8);
return this;
}});
dojo.lfx.Chain=function(_5aa){
dojo.lfx.IAnimation.call(this);
this._anims=[];
this._currAnim=-1;
var _5ab=arguments;
if(_5ab.length==1&&(dojo.lang.isArray(_5ab[0])||dojo.lang.isArrayLike(_5ab[0]))){
_5ab=_5ab[0];
}
var _5ac=this;
dojo.lang.forEach(_5ab,function(anim,i,_5af){
this._anims.push(anim);
if(i<_5af.length-1){
anim.connect("onEnd",dojo.lang.hitch(this,"_playNext"));
}else{
anim.connect("onEnd",dojo.lang.hitch(this,function(){
this.fire("onEnd");
}));
}
},this);
};
dojo.inherits(dojo.lfx.Chain,dojo.lfx.IAnimation);
dojo.lang.extend(dojo.lfx.Chain,{_currAnim:-1,play:function(_5b0,_5b1){
if(!this._anims.length){
return this;
}
if(_5b1||!this._anims[this._currAnim]){
this._currAnim=0;
}
var _5b2=this._anims[this._currAnim];
this.fire("beforeBegin");
if(_5b0>0){
setTimeout(dojo.lang.hitch(this,function(){
this.play(null,_5b1);
}),_5b0);
return this;
}
if(_5b2){
if(this._currAnim==0){
this.fire("handler",["begin",this._currAnim]);
this.fire("onBegin",[this._currAnim]);
}
this.fire("onPlay",[this._currAnim]);
_5b2.play(null,_5b1);
}
return this;
},pause:function(){
if(this._anims[this._currAnim]){
this._anims[this._currAnim].pause();
this.fire("onPause",[this._currAnim]);
}
return this;
},playPause:function(){
if(this._anims.length==0){
return this;
}
if(this._currAnim==-1){
this._currAnim=0;
}
var _5b3=this._anims[this._currAnim];
if(_5b3){
if(!_5b3._active||_5b3._paused){
this.play();
}else{
this.pause();
}
}
return this;
},stop:function(){
var _5b4=this._anims[this._currAnim];
if(_5b4){
_5b4.stop();
this.fire("onStop",[this._currAnim]);
}
return _5b4;
},_playNext:function(){
if(this._currAnim==-1||this._anims.length==0){
return this;
}
this._currAnim++;
if(this._anims[this._currAnim]){
this._anims[this._currAnim].play(null,true);
}
return this;
}});
dojo.lfx.combine=function(_5b5){
var _5b6=arguments;
if(dojo.lang.isArray(arguments[0])){
_5b6=arguments[0];
}
if(_5b6.length==1){
return _5b6[0];
}
return new dojo.lfx.Combine(_5b6);
};
dojo.lfx.chain=function(_5b7){
var _5b8=arguments;
if(dojo.lang.isArray(arguments[0])){
_5b8=arguments[0];
}
if(_5b8.length==1){
return _5b8[0];
}
return new dojo.lfx.Chain(_5b8);
};
dojo.provide("dojo.ns");
dojo.ns={namespaces:{},failed:{},loading:{},loaded:{},register:function(name,_5ba,_5bb,_5bc){
if(!_5bc||!this.namespaces[name]){
this.namespaces[name]=new dojo.ns.Ns(name,_5ba,_5bb);
}
},allow:function(name){
if(this.failed[name]){
return false;
}
if((djConfig.excludeNamespace)&&(dojo.lang.inArray(djConfig.excludeNamespace,name))){
return false;
}
return ((name==this.dojo)||(!djConfig.includeNamespace)||(dojo.lang.inArray(djConfig.includeNamespace,name)));
},get:function(name){
return this.namespaces[name];
},require:function(name){
var ns=this.namespaces[name];
if((ns)&&(this.loaded[name])){
return ns;
}
if(!this.allow(name)){
return false;
}
if(this.loading[name]){
dojo.debug("dojo.namespace.require: re-entrant request to load namespace \""+name+"\" must fail.");
return false;
}
var req=dojo.require;
this.loading[name]=true;
try{
if(name=="dojo"){
req("dojo.namespaces.dojo");
}else{
if(!dojo.hostenv.moduleHasPrefix(name)){
dojo.registerModulePath(name,"../"+name);
}
req([name,"manifest"].join("."),false,true);
}
if(!this.namespaces[name]){
this.failed[name]=true;
}
}
finally{
this.loading[name]=false;
}
return this.namespaces[name];
}};
dojo.ns.Ns=function(name,_5c3,_5c4){
this.name=name;
this.module=_5c3;
this.resolver=_5c4;
this._loaded=[];
this._failed=[];
};
dojo.ns.Ns.prototype.resolve=function(name,_5c6,_5c7){
if(!this.resolver||djConfig["skipAutoRequire"]){
return false;
}
var _5c8=this.resolver(name,_5c6);
if((_5c8)&&(!this._loaded[_5c8])&&(!this._failed[_5c8])){
var req=dojo.require;
req(_5c8,false,true);
if(dojo.hostenv.findModule(_5c8,false)){
this._loaded[_5c8]=true;
}else{
if(!_5c7){
dojo.raise("dojo.ns.Ns.resolve: module '"+_5c8+"' not found after loading via namespace '"+this.name+"'");
}
this._failed[_5c8]=true;
}
}
return Boolean(this._loaded[_5c8]);
};
dojo.registerNamespace=function(name,_5cb,_5cc){
dojo.ns.register.apply(dojo.ns,arguments);
};
dojo.registerNamespaceResolver=function(name,_5ce){
var n=dojo.ns.namespaces[name];
if(n){
n.resolver=_5ce;
}
};
dojo.registerNamespaceManifest=function(_5d0,path,name,_5d3,_5d4){
dojo.registerModulePath(name,path);
dojo.registerNamespace(name,_5d3,_5d4);
};
dojo.registerNamespace("dojo","dojo.widget");
dojo.provide("dojo.namespaces.dojo");
(function(){
var map={html:{"accordioncontainer":"dojo.widget.AccordionContainer","animatedpng":"dojo.widget.AnimatedPng","button":"dojo.widget.Button","chart":"dojo.widget.Chart","checkbox":"dojo.widget.Checkbox","clock":"dojo.widget.Clock","colorpalette":"dojo.widget.ColorPalette","combobox":"dojo.widget.ComboBox","combobutton":"dojo.widget.Button","contentpane":"dojo.widget.ContentPane","currencytextbox":"dojo.widget.CurrencyTextbox","datepicker":"dojo.widget.DatePicker","datetextbox":"dojo.widget.DateTextbox","debugconsole":"dojo.widget.DebugConsole","dialog":"dojo.widget.Dialog","dropdownbutton":"dojo.widget.Button","dropdowndatepicker":"dojo.widget.DropdownDatePicker","dropdowntimepicker":"dojo.widget.DropdownTimePicker","emaillisttextbox":"dojo.widget.InternetTextbox","emailtextbox":"dojo.widget.InternetTextbox","editor":"dojo.widget.Editor","editor2":"dojo.widget.Editor2","filteringtable":"dojo.widget.FilteringTable","fisheyelist":"dojo.widget.FisheyeList","fisheyelistitem":"dojo.widget.FisheyeList","floatingpane":"dojo.widget.FloatingPane","modalfloatingpane":"dojo.widget.FloatingPane","form":"dojo.widget.Form","googlemap":"dojo.widget.GoogleMap","inlineeditbox":"dojo.widget.InlineEditBox","integerspinner":"dojo.widget.Spinner","integertextbox":"dojo.widget.IntegerTextbox","ipaddresstextbox":"dojo.widget.InternetTextbox","layoutcontainer":"dojo.widget.LayoutContainer","linkpane":"dojo.widget.LinkPane","popupmenu2":"dojo.widget.Menu2","menuitem2":"dojo.widget.Menu2","menuseparator2":"dojo.widget.Menu2","menubar2":"dojo.widget.Menu2","menubaritem2":"dojo.widget.Menu2","pagecontainer":"dojo.widget.PageContainer","pagecontroller":"dojo.widget.PageContainer","popupcontainer":"dojo.widget.PopupContainer","progressbar":"dojo.widget.ProgressBar","radiogroup":"dojo.widget.RadioGroup","realnumbertextbox":"dojo.widget.RealNumberTextbox","regexptextbox":"dojo.widget.RegexpTextbox","repeater":"dojo.widget.Repeater","resizabletextarea":"dojo.widget.ResizableTextarea","richtext":"dojo.widget.RichText","select":"dojo.widget.Select","show":"dojo.widget.Show","showaction":"dojo.widget.ShowAction","showslide":"dojo.widget.ShowSlide","slidervertical":"dojo.widget.Slider","sliderhorizontal":"dojo.widget.Slider","slider":"dojo.widget.Slider","slideshow":"dojo.widget.SlideShow","sortabletable":"dojo.widget.SortableTable","splitcontainer":"dojo.widget.SplitContainer","tabcontainer":"dojo.widget.TabContainer","tabcontroller":"dojo.widget.TabContainer","taskbar":"dojo.widget.TaskBar","textbox":"dojo.widget.Textbox","timepicker":"dojo.widget.TimePicker","timetextbox":"dojo.widget.DateTextbox","titlepane":"dojo.widget.TitlePane","toaster":"dojo.widget.Toaster","toggler":"dojo.widget.Toggler","toolbar":"dojo.widget.Toolbar","toolbarcontainer":"dojo.widget.Toolbar","toolbaritem":"dojo.widget.Toolbar","toolbarbuttongroup":"dojo.widget.Toolbar","toolbarbutton":"dojo.widget.Toolbar","toolbardialog":"dojo.widget.Toolbar","toolbarmenu":"dojo.widget.Toolbar","toolbarseparator":"dojo.widget.Toolbar","toolbarspace":"dojo.widget.Toolbar","toolbarselect":"dojo.widget.Toolbar","toolbarcolordialog":"dojo.widget.Toolbar","tooltip":"dojo.widget.Tooltip","tree":"dojo.widget.Tree","treebasiccontroller":"dojo.widget.TreeBasicController","treecontextmenu":"dojo.widget.TreeContextMenu","treedisablewrapextension":"dojo.widget.TreeDisableWrapExtension","treedociconextension":"dojo.widget.TreeDocIconExtension","treeeditor":"dojo.widget.TreeEditor","treeemphasizeonselect":"dojo.widget.TreeEmphasizeOnSelect","treeexpandtonodeonselect":"dojo.widget.TreeExpandToNodeOnSelect","treelinkextension":"dojo.widget.TreeLinkExtension","treeloadingcontroller":"dojo.widget.TreeLoadingController","treemenuitem":"dojo.widget.TreeContextMenu","treenode":"dojo.widget.TreeNode","treerpccontroller":"dojo.widget.TreeRPCController","treeselector":"dojo.widget.TreeSelector","treetoggleonselect":"dojo.widget.TreeToggleOnSelect","treev3":"dojo.widget.TreeV3","treebasiccontrollerv3":"dojo.widget.TreeBasicControllerV3","treecontextmenuv3":"dojo.widget.TreeContextMenuV3","treedndcontrollerv3":"dojo.widget.TreeDndControllerV3","treeloadingcontrollerv3":"dojo.widget.TreeLoadingControllerV3","treemenuitemv3":"dojo.widget.TreeContextMenuV3","treerpccontrollerv3":"dojo.widget.TreeRpcControllerV3","treeselectorv3":"dojo.widget.TreeSelectorV3","urltextbox":"dojo.widget.InternetTextbox","usphonenumbertextbox":"dojo.widget.UsTextbox","ussocialsecuritynumbertextbox":"dojo.widget.UsTextbox","usstatetextbox":"dojo.widget.UsTextbox","usziptextbox":"dojo.widget.UsTextbox","validationtextbox":"dojo.widget.ValidationTextbox","treeloadingcontroller":"dojo.widget.TreeLoadingController","wizardcontainer":"dojo.widget.Wizard","wizardpane":"dojo.widget.Wizard","yahoomap":"dojo.widget.YahooMap"},svg:{"chart":"dojo.widget.svg.Chart"},vml:{"chart":"dojo.widget.vml.Chart"}};
dojo.addDojoNamespaceMapping=function(_5d6,_5d7){
map[_5d6]=_5d7;
};
function dojoNamespaceResolver(name,_5d9){
if(!_5d9){
_5d9="html";
}
if(!map[_5d9]){
return null;
}
return map[_5d9][name];
}
dojo.registerNamespaceResolver("dojo",dojoNamespaceResolver);
})();
dojo.provide("otm.map.geometry");
otm.map.Geometry=function(){
};
otm.map.Geometry.prototype.declaredClass="otm.map.Geometry";
otm.map.Geometry.prototype.geometry="GEOMETRY";
otm.map.Geometry.prototype.clone=function(){
return otm.map.shallowCopy(this);
};
otm.map.Point=function(){
if(arguments.length==1){
if(dojo.lang.isArray(arguments[0])&&arguments[0].length>=2){
this.x=parseFloat(arguments[0][0]);
this.y=parseFloat(arguments[0][1]);
}else{
if(dojo.lang.isString(arguments[0])){
var _5da=dojo.string.trim(arguments[0]).split(" ");
this.x=parseFloat(_5da[0]);
this.y=parseFloat(_5da[1]);
}
}
}else{
if(arguments.length==2){
this.x=parseFloat(arguments[0]);
this.y=parseFloat(arguments[1]);
}
}
};
otm.map.Point.prototype=new otm.map.Geometry();
otm.map.Point.prototype.declaredClass="otm.map.Point";
otm.map.Point.prototype.geometry="POINT";
otm.map.Point.prototype.x=0;
otm.map.Point.prototype.y=0;
otm.map.Point.prototype._bbox=null;
otm.map.Point.prototype.radius=1;
otm.map.Point.prototype.toString=function(_5db){
if(dojo.lang.isUndefined(_5db)){
var _5db=" ";
}
return "POINT("+this.x+_5db+this.y+")";
};
otm.map.Point.prototype.distance=function(pt){
var _5dd;
var x=Math.abs(pt.x-this.x);
var y=Math.abs(pt.y-this.y);
_5dd=Math.sqrt(x*x+y*y);
return _5dd;
};
otm.map.Point.prototype.getBoundingBox=function(){
if(!this._bbox){
var bb=new otm.map.BaseBoundingBox(this);
this._bbox=bb;
}
return this._bbox;
};
otm.map.Point.prototype.equals=function(_5e1){
return ((this.x==_5e1.x)&&(this.y==_5e1.y));
};
otm.map.Polygon=function(){
this.points=[];
if((arguments.length==1)&&dojo.lang.isString(arguments[0])){
var s=dojo.string.trim(arguments[0]).split(" ");
for(var i=0;i<s.length;i+=2){
var pt=new otm.map.Point(s[i],s[i+1]);
this.points.push(pt);
}
}else{
if((arguments.length==1)&&dojo.lang.isArray(arguments[0])){
this.points=arguments[0];
}else{
if(arguments.length>=1){
if(arguments[0].declaredClass="otm.map.Point"){
this.points=arguments;
}
}
}
}
};
otm.map.Polygon.prototype=new otm.map.Geometry();
otm.map.Polygon.prototype.declaredClass="otm.map.Polygon";
otm.map.Polygon.prototype.geometry="POLYGON";
otm.map.Polygon.prototype.points=null;
otm.map.Polygon.prototype._bbox=null;
otm.map.Polygon.prototype._bbox_len=-1;
otm.map.Polygon.prototype.getIterator=function(){
return new dojo.collections.Iterator(this.points);
};
otm.map.Polygon.prototype.getBoundingBox=function(){
if((!this._bbox)||(this._bbox_len!=this.points.length)){
if(this.points.length==0){
return new otm.map.BaseBoundingBox();
}
var bb=new otm.map.BaseBoundingBox(this.points[0]);
for(var i=1;i<this.points.length;i++){
bb.expandToInclude(this.points[i]);
}
this._bbox=bb;
this._bbox_len=this.points.length;
}
return this._bbox;
};
otm.map.Polygon.prototype.intersects=function(_5e7){
switch(_5e7.declaredClass){
case "otm.map.Point":
var pt=_5e7;
for(var i=0;i<this.points.length-1;i++){
var line=new otm.map.Line(this.points[i],this.points[i+1]);
line.width=this.lineWidth;
var _5eb=line.intersects(pt);
if(_5eb){
_5eb.startIndex=i;
_5eb.endIndex=i+1;
_5eb.points=[this.points[i],this.points[i+1]];
return _5eb;
}
}
return false;
default:
throw new Error(otm.map.strings.geometry_error_unsupported_geometry_type);
}
};
otm.map.Polygon.prototype.toString=function(_5ec,_5ed){
if(dojo.lang.isUndefined(_5ec)){
var _5ec=",";
}
if(dojo.lang.isUndefined(_5ed)){
var _5ed=" ";
}
var s="POLYGON((";
for(var i=0;i<this.points.length;i++){
s+=this.points[i].x+_5ed+this.points[i].y+_5ec;
}
return s.slice(0,-1)+"))";
};
otm.map.Line=function(){
otm.map.Polygon.apply(this,arguments);
};
otm.map.Line.prototype=new otm.map.Polygon();
otm.map.Line.prototype.declaredClass="otm.map.Line";
otm.map.Line.prototype.geometry="LINE";
otm.map.Line.prototype.width=1;
otm.map.Line.prototype._pointxLine=function(p3,p1,p2){
var minX=Math.min(p1.x,p2.x);
var maxX=Math.max(p1.x,p2.x);
var minY=Math.min(p1.y,p2.y);
var maxY=Math.max(p1.y,p2.y);
var half=this.width/2;
var box=new otm.map.BaseBoundingBox(minX-half,minY-half,maxX+half,maxY+half);
if(!box.intersects(p3)){
return false;
}
var u=((p3.x-p1.x)*(p2.x-p1.x)+(p3.y-p1.y)*(p2.y-p1.y))/(Math.pow((p2.x-p1.x),2)+Math.pow((p2.y-p1.y),2));
var x=p1.x+u*(p2.x-p1.x);
var y=p1.y+u*(p2.y-p1.y);
var _5fc=Math.sqrt(Math.pow((p3.x-x),2)+Math.pow((p3.y-y),2));
var d=_5fc-p3.radius/2-this.width/2;
if(d<0){
return {};
}
return false;
};
otm.map.Line.prototype.intersects=function(_5fe){
switch(_5fe.declaredClass){
case "otm.map.Point":
if(this.lineWidth){
this.width=this.lineWidth;
}
var pt=_5fe;
for(var i=0;i<this.points.length-1;i++){
var _601=this._pointxLine(pt,this.points[i],this.points[i+1]);
if(_601){
_601.startIndex=i;
_601.endIndex=i+1;
_601.points=[this.points[i],this.points[i+1]];
return _601;
}
}
return false;
default:
throw new Error(otm.map.strings.geometry_error_unsupported_geometry_type);
}
};
otm.map.Line.prototype.toString=function(_602,_603){
if(dojo.lang.isUndefined(_602)){
var _602=",";
}
if(dojo.lang.isUndefined(_603)){
var _603=" ";
}
var pp=[];
for(var i=0;i<this.points.length;i++){
pp.push(this.points[i].x+_603+this.points[i].y);
}
var s="LINESTRING("+pp.join(_602)+")";
return s;
};
otm.map.GeometryCollection=function(){
this.geometries=[];
};
otm.map.GeometryCollection.prototype=new otm.map.Geometry();
otm.map.GeometryCollection.prototype.declaredClass="otm.map.GeometryCollection";
otm.map.GeometryCollection.prototype.geometry="GEOMETRYCOLLECTION";
otm.map.GeometryCollection.prototype._bbox=null;
otm.map.GeometryCollection.prototype.toString=function(_607,_608){
var s="GEOMETRYCOLLECTION(";
var _60a;
for(var i=0;i<this.geometries.length;i++){
s+=this.geometries[i].toString(_607,_608,_60a);
}
s=s.slice(0,-1)+")";
return s;
};
otm.map.GeometryCollection.prototype.getBoundingBox=function(){
if(this.geometries.length>0){
this._bbox=this.geometries[0].getBoundingBox();
for(var i=1;i<this.geometries.length;i++){
this._bbox.merge(this.geometries[i].getBoundingBox);
}
if(!this._bbox){
var bb=new otm.map.BaseBoundingBox(this);
this._bbox=bb;
}
return this._bbox;
}
};
otm.map.Size=function(){
if((arguments.length==1)&&dojo.lang.isArray(arguments[0])&&(arguments[0].length==2)){
this.width=arguments[0][0];
this.height=arguments[0][1];
}else{
if(arguments.length==2){
this.width=arguments[0];
this.height=arguments[1];
}
}
};
otm.map.Size.prototype.declaredClass="otm.map.Size.";
otm.map.Size.prototype.width=0;
otm.map.Size.prototype.height=0;
otm.map.Size.prototype.equals=function(size){
return ((size.width==this.width)&&(size.height==this.height));
};
otm.map.Size.prototype.toString=function(_60f){
if(dojo.lang.isUndefined(_60f)){
var _60f=" ";
}
return this.width+_60f+this.height;
};
otm.map.BaseBoundingBox=function(x1,y1,x2,y2){
if(arguments.length==4){
this._x1=parseFloat(arguments[0]);
this._y1=parseFloat(arguments[1]);
this._x2=parseFloat(arguments[2]);
this._y2=parseFloat(arguments[3]);
}else{
if(arguments.length==1&&dojo.lang.isArray(arguments[0])&&arguments[0].length>=4){
this._x1=parseFloat(arguments[0][0]);
this._y1=parseFloat(arguments[0][1]);
this._x2=parseFloat(arguments[0][2]);
this._y2=parseFloat(arguments[0][3]);
}else{
if((arguments.length==2)&&(arguments[0].declaredClass=="otm.map.Point")&&(arguments[1].declaredClass=="otm.map.Point")){
this._x1=arguments[0].x;
this._y1=arguments[0].y;
this._x2=arguments[1].x;
this._y2=arguments[1].y;
}else{
if(arguments.length==1&&arguments[0].declaredClass=="otm.map.Point"){
this._x1=arguments[0].x;
this._y1=arguments[0].y;
this._x2=arguments[0].x;
this._y2=arguments[0].y;
}else{
if((arguments.length==1)&&dojo.lang.isString(arguments[0])){
var sa=dojo.string.trim(arguments[0].replace(/[(BOX\()\)]/g,"").replace(/[, ]+/g," ")).split(" ");
if(sa.length==4){
this._x1=parseFloat(sa[0]);
this._y1=parseFloat(sa[1]);
this._x2=parseFloat(sa[2]);
this._y2=parseFloat(sa[3]);
}
}
}
}
}
}
if(this._x1>this._x2){
dojo.debug("Bad X coords, fixing");
var tmp=this._x1;
this._x1=this._x2;
this._x2=tmp;
}
if(this._y1>this._y2){
dojo.debug("Bad Y coords, fixing");
var tmp=this._y1;
this._y1=this._y2;
this._y2=tmp;
}
};
otm.map.BaseBoundingBox.prototype.declaredClass="otm.map.BaseBoundingBox";
otm.map.BaseBoundingBox.prototype._x1=0;
otm.map.BaseBoundingBox.prototype._x2=0;
otm.map.BaseBoundingBox.prototype._y1=0;
otm.map.BaseBoundingBox.prototype._y2=0;
otm.map.BaseBoundingBox.prototype.clone=function(){
return new otm.map.BaseBoundingBox(this._x1,this._y1,this._x2,this._y2);
};
otm.map.BaseBoundingBox.prototype.width=function(){
return this._x2-this._x1;
};
otm.map.BaseBoundingBox.prototype.height=function(){
return this._y2-this._y1;
};
otm.map.BaseBoundingBox.prototype.setWidth=function(_616){
this._x2=this._x1+_616;
};
otm.map.BaseBoundingBox.prototype.area=function(){
return (this.width()*this.height());
};
otm.map.BaseBoundingBox.prototype.center=function(){
var pt=new otm.map.Point();
pt.x=this.width()/2+this._x1;
pt.y=this.height()/2+this._y1;
return pt;
};
otm.map.BaseBoundingBox.prototype.addPadding=function(_618){
var padX=this.width()*_618;
var padY=this.height()*_618;
this._x1-=padX;
this._x2+=padX;
this._y1-=padY;
this._y2+=padY;
return this;
};
otm.map.BaseBoundingBox.prototype.contains=function(_61b){
return (this._x1<=_61b.x&&this._x2>=_61b.x&&this._y1<=_61b.y&&this._y2>=_61b.y);
};
otm.map.BaseBoundingBox.prototype.equals=function(bbox){
return (this._x1==bbox._x1&&this._x2==bbox._x2&&this._y1==bbox._y1&&this._y2==bbox._y2);
};
otm.map.BaseBoundingBox.prototype.lockTo=function(_61d){
var temp=new otm.map.Point(_61d.x,_61d.y);
temp.x=Math.max(temp.x,this._x1);
temp.x=Math.min(temp.x,this._x2);
temp.y=Math.max(temp.y,this._y1);
temp.y=Math.min(temp.y,this._y2);
return temp;
};
otm.map.BaseBoundingBox.prototype.intersects=function(_61f){
switch(_61f.declaredClass){
case "otm.map.Point":
var iset=!((_61f.x<this._x1)||(_61f.x>this._x2)||(_61f.y<this._y1)||(_61f.y>this._y2));
return iset;
case "otm.map.BaseBoundingBox":
case "otm.map.GeomBoundingBox":
case "otm.map.ScreenBoundingBox":
var _621=(!((_61f._x1>this._x2)||(_61f._x2<this._x1)||(_61f._y1>this._y2)||(_61f._y2<this._y1)));
return _621;
default:
throw new Error(otm.map.strings.geometry_error_unsupported_geometry_type);
}
};
otm.map.BaseBoundingBox.prototype.expandToInclude=function(_622){
this._x1=Math.min(this._x1,_622.x);
this._x2=Math.max(this._x2,_622.x);
this._y1=Math.min(this._y1,_622.y);
this._y2=Math.max(this._y2,_622.y);
};
otm.map.BaseBoundingBox.prototype.merge=function(_623){
this.expandToInclude({x:_623._x1,y:_623._y1});
this.expandToInclude({x:_623._x2,y:_623._y2});
};
otm.map.BaseBoundingBox.prototype.toString=function(_624){
if(dojo.lang.isUndefined(_624)){
var _624=" ";
}
return this._x1+_624+this._y1+_624+this._x2+_624+this._y2;
};
otm.map.ScreenBoundingBox=function(){
otm.map.BaseBoundingBox.apply(this,arguments);
};
otm.map.ScreenBoundingBox.prototype=new otm.map.BaseBoundingBox();
otm.map.ScreenBoundingBox.prototype.declaredClass="otm.map.ScreenBoundingBox";
otm.map.ScreenBoundingBox.prototype.clone=function(){
return new otm.map.ScreenBoundingBox(this._x1,this._y1,this._x2,this._y2);
};
otm.map.ScreenBoundingBox.prototype.upperLeft=function(){
return new otm.map.Point(this._x1,this._y1);
};
otm.map.ScreenBoundingBox.prototype.upperRight=function(){
return new otm.map.Point(this._x2,this._y1);
};
otm.map.ScreenBoundingBox.prototype.lowerRight=function(){
return new otm.map.Point(this._x2,this._y2);
};
otm.map.ScreenBoundingBox.prototype.lowerLeft=function(){
return new otm.map.Point(this._x1,this._y2);
};
otm.map.ScreenBoundingBox.prototype.topLeft=function(){
return new otm.map.Point(this._x1,this._y1);
};
otm.map.ScreenBoundingBox.prototype.bottomRight=function(){
return new otm.map.Point(this._x2,this._y2);
};
otm.map.ScreenBoundingBox.prototype.left=function(){
return this._x1;
};
otm.map.ScreenBoundingBox.prototype.right=function(){
return this._x2;
};
otm.map.ScreenBoundingBox.prototype.top=function(){
return this._y1;
};
otm.map.ScreenBoundingBox.prototype.bottom=function(){
return this._y2;
};
otm.map.ScreenBoundingBox.prototype.setUpperLeft=function(pt){
this._x1=pt.x;
this._y1=pt.y;
};
otm.map.ScreenBoundingBox.prototype.setLowerRight=function(pt){
this._x2=pt.x;
this._y2=pt.y;
};
otm.map.ScreenBoundingBox.prototype.setTopLeft=function(pt){
this._x1=pt.x;
this._y1=pt.y;
};
otm.map.ScreenBoundingBox.prototype.setBottomRight=function(pt){
this._x2=pt.x;
this._y2=pt.y;
};
otm.map.ScreenBoundingBox.prototype.setLeft=function(_629){
this._x1=_629;
};
otm.map.ScreenBoundingBox.prototype.setRight=function(_62a){
this._x2=_62a;
};
otm.map.ScreenBoundingBox.prototype.setTop=function(_62b){
this._y1=_62b;
};
otm.map.ScreenBoundingBox.prototype.setBottom=function(_62c){
this._y2=_62c;
};
otm.map.ScreenBoundingBox.prototype.setHeight=function(_62d){
this.setTop(this.bottom()-_62d);
};
otm.map.GeomBoundingBox=function(){
otm.map.BaseBoundingBox.apply(this,arguments);
};
otm.map.GeomBoundingBox.prototype=new otm.map.BaseBoundingBox();
otm.map.GeomBoundingBox.prototype.declaredClass="otm.map.GeomBoundingBox";
otm.map.GeomBoundingBox.prototype.clone=function(){
return new otm.map.GeomBoundingBox(this._x1,this._y2,this._x2,this._y1);
};
otm.map.GeomBoundingBox.prototype.upperLeft=function(){
return new otm.map.Point(this._x1,this._y2);
};
otm.map.GeomBoundingBox.prototype.upperRight=function(){
return new otm.map.Point(this._x2,this._y2);
};
otm.map.GeomBoundingBox.prototype.lowerRight=function(){
return new otm.map.Point(this._x2,this._y1);
};
otm.map.GeomBoundingBox.prototype.lowerLeft=function(){
return new otm.map.Point(this._x1,this._y1);
};
otm.map.GeomBoundingBox.prototype.topLeft=function(){
return new otm.map.Point(this._x1,this._y2);
};
otm.map.GeomBoundingBox.prototype.bottomRight=function(){
return new otm.map.Point(this._x2,this._y1);
};
otm.map.GeomBoundingBox.prototype.left=function(){
return this._x1;
};
otm.map.GeomBoundingBox.prototype.right=function(){
return this._x2;
};
otm.map.GeomBoundingBox.prototype.top=function(){
return this._y2;
};
otm.map.GeomBoundingBox.prototype.bottom=function(){
return this._y1;
};
otm.map.GeomBoundingBox.prototype.setUpperLeft=function(pt){
this._x1=pt.x;
this._y2=pt.y;
};
otm.map.GeomBoundingBox.prototype.setLowerRight=function(pt){
this._x2=pt.x;
this._y1=pt.y;
};
otm.map.GeomBoundingBox.prototype.setTopLeft=function(pt){
this._x1=pt.x;
this._y2=pt.y;
};
otm.map.GeomBoundingBox.prototype.setBottomRight=function(pt){
this._x2=pt.x;
this._y1=pt.y;
};
otm.map.GeomBoundingBox.prototype.setLeft=function(_632){
this._x1=_632;
};
otm.map.GeomBoundingBox.prototype.setRight=function(_633){
this._x2=_633;
};
otm.map.GeomBoundingBox.prototype.setTop=function(_634){
this._y2=_634;
};
otm.map.GeomBoundingBox.prototype.setBottom=function(_635){
this._y1=_635;
};
otm.map.GeomBoundingBox.prototype.setHeight=function(_636){
this.setTop(this.bottom()+_636);
};
otm.map.geometryFromWKT=function(_637,_638){
var s=dojo.string.trim(_637);
var geom=null;
if(s.indexOf(";")>=0){
s=s.substr(s.indexOf(";")+1);
}
var type=dojo.string.trim(s.substr(0,s.indexOf("(")));
if(type!=""){
var _63c=s.substring(s.indexOf("(")+1,s.lastIndexOf(")"));
_63c=_63c.replace(/[, ]+/g," ");
switch(type){
case "POINT":
geom=new otm.map.Point(_63c);
break;
case "LINESTRING":
geom=new otm.map.Line(_63c);
break;
case "POLYGON":
var _63c=_63c.substring(_63c.indexOf("(")+1,_63c.indexOf(")"));
geom=new otm.map.Polygon(_63c);
break;
case "MULTILINESTRING":
geom=new otm.map.GeometryCollection();
for(var _63d=_63c.indexOf(")");_63d!=-1;_63d=_63c.indexOf(")")){
linestring=_63c.substring(_63c.indexOf("(")+1,_63d);
_63c=_63c.substring(_63d+1);
geom.geometries.push(new otm.map.Line(linestring));
}
break;
case "GEOMETRYCOLLECTION":
geom=new otm.map.GeometryCollection();
var _63e=0;
var _63f=0;
for(var ii=0;ii<_63c.length;++ii){
if(_63c.charAt(ii)=="("){
++_63e;
}else{
if(_63c.charAt(ii)==")"){
if(--_63e==0){
++ii;
var _641=_63c.substring(_63f,ii);
geom.geometries.push(this.geometryFromWKT(_641));
_63f=ii;
}
}
}
}
break;
}
}
if(_638&&!geom){
var _63c=s.replace(/[, ]+/g," ");
switch(_638){
case "POINT":
var a=_63c.split(" ");
geom=new otm.map.Point(a[0],a[1]);
break;
case "LINE":
geom=new otm.map.Line(_63c);
break;
case "POLYGON":
geom=new otm.map.Polygon(_63c);
break;
}
}
return geom;
};
dojo.provide("dojo.xml.Parse");
dojo.xml.Parse=function(){
var isIE=((dojo.render.html.capable)&&(dojo.render.html.ie));
function getTagName(node){
try{
return node.tagName.toLowerCase();
}
catch(e){
return "";
}
}
function getDojoTagName(node){
var _646=getTagName(node);
if(!_646){
return "";
}
if((dojo.widget)&&(dojo.widget.tags[_646])){
return _646;
}
var p=_646.indexOf(":");
if(p>=0){
return _646;
}
if(_646.substr(0,5)=="dojo:"){
return _646;
}
if(dojo.render.html.capable&&dojo.render.html.ie&&node.scopeName&&node.scopeName!="HTML"){
return node.scopeName.toLowerCase()+":"+_646;
}
if(_646.substr(0,4)=="dojo"){
return "dojo:"+_646.substring(4);
}
var djt=node.getAttribute("dojoType")||node.getAttribute("dojotype");
if(djt){
if(djt.indexOf(":")<0){
djt="dojo:"+djt;
}
return djt.toLowerCase();
}
djt=node.getAttributeNS&&node.getAttributeNS(dojo.dom.dojoml,"type");
if(djt){
return "dojo:"+djt.toLowerCase();
}
try{
djt=node.getAttribute("dojo:type");
}
catch(e){
}
if(djt){
return "dojo:"+djt.toLowerCase();
}
if((dj_global["djConfig"])&&(!djConfig["ignoreClassNames"])){
var _649=node.className||node.getAttribute("class");
if((_649)&&(_649.indexOf)&&(_649.indexOf("dojo-")!=-1)){
var _64a=_649.split(" ");
for(var x=0,c=_64a.length;x<c;x++){
if(_64a[x].slice(0,5)=="dojo-"){
return "dojo:"+_64a[x].substr(5).toLowerCase();
}
}
}
}
return "";
}
this.parseElement=function(node,_64e,_64f,_650){
var _651=getTagName(node);
if(isIE&&_651.indexOf("/")==0){
return null;
}
try{
var attr=node.getAttribute("parseWidgets");
if(attr&&attr.toLowerCase()=="false"){
return {};
}
}
catch(e){
}
var _653=true;
if(_64f){
var _654=getDojoTagName(node);
_651=_654||_651;
_653=Boolean(_654);
}
var _655={};
_655[_651]=[];
var pos=_651.indexOf(":");
if(pos>0){
var ns=_651.substring(0,pos);
_655["ns"]=ns;
if((dojo.ns)&&(!dojo.ns.allow(ns))){
_653=false;
}
}
if(_653){
var _658=this.parseAttributes(node);
for(var attr in _658){
if((!_655[_651][attr])||(typeof _655[_651][attr]!="array")){
_655[_651][attr]=[];
}
_655[_651][attr].push(_658[attr]);
}
_655[_651].nodeRef=node;
_655.tagName=_651;
_655.index=_650||0;
}
var _659=0;
for(var i=0;i<node.childNodes.length;i++){
var tcn=node.childNodes.item(i);
switch(tcn.nodeType){
case dojo.dom.ELEMENT_NODE:
var ctn=getDojoTagName(tcn)||getTagName(tcn);
if(!_655[ctn]){
_655[ctn]=[];
}
_655[ctn].push(this.parseElement(tcn,true,_64f,_659));
if((tcn.childNodes.length==1)&&(tcn.childNodes.item(0).nodeType==dojo.dom.TEXT_NODE)){
_655[ctn][_655[ctn].length-1].value=tcn.childNodes.item(0).nodeValue;
}
_659++;
break;
case dojo.dom.TEXT_NODE:
if(node.childNodes.length==1){
_655[_651].push({value:node.childNodes.item(0).nodeValue});
}
break;
default:
break;
}
}
return _655;
};
this.parseAttributes=function(node){
var _65e={};
var atts=node.attributes;
var _660,i=0;
while((_660=atts[i++])){
if(isIE){
if(!_660){
continue;
}
if((typeof _660=="object")&&(typeof _660.nodeValue=="undefined")||(_660.nodeValue==null)||(_660.nodeValue=="")){
continue;
}
}
var nn=_660.nodeName.split(":");
nn=(nn.length==2)?nn[1]:_660.nodeName;
_65e[nn]={value:_660.nodeValue};
}
return _65e;
};
};
dojo.kwCompoundRequire({common:["dojo.event.common","dojo.event.topic"],browser:["dojo.event.browser"],dashboard:["dojo.event.browser"]});
dojo.provide("dojo.event.*");
dojo.provide("dojo.widget.Manager");
dojo.widget.manager=new function(){
this.widgets=[];
this.widgetIds=[];
this.topWidgets={};
var _663={};
var _664=[];
this.getUniqueId=function(_665){
var _666;
do{
_666=_665+"_"+(_663[_665]!=undefined?++_663[_665]:_663[_665]=0);
}while(this.getWidgetById(_666));
return _666;
};
this.add=function(_667){
this.widgets.push(_667);
if(!_667.extraArgs["id"]){
_667.extraArgs["id"]=_667.extraArgs["ID"];
}
if(_667.widgetId==""){
if(_667["id"]){
_667.widgetId=_667["id"];
}else{
if(_667.extraArgs["id"]){
_667.widgetId=_667.extraArgs["id"];
}else{
_667.widgetId=this.getUniqueId(_667.ns+"_"+_667.widgetType);
}
}
}
if(this.widgetIds[_667.widgetId]){
dojo.debug("widget ID collision on ID: "+_667.widgetId);
}
this.widgetIds[_667.widgetId]=_667;
};
this.destroyAll=function(){
for(var x=this.widgets.length-1;x>=0;x--){
try{
this.widgets[x].destroy(true);
delete this.widgets[x];
}
catch(e){
}
}
};
this.remove=function(_669){
if(dojo.lang.isNumber(_669)){
var tw=this.widgets[_669].widgetId;
delete this.topWidgets[tw];
delete this.widgetIds[tw];
this.widgets.splice(_669,1);
}else{
this.removeById(_669);
}
};
this.removeById=function(id){
if(!dojo.lang.isString(id)){
id=id["widgetId"];
if(!id){
dojo.debug("invalid widget or id passed to removeById");
return;
}
}
for(var i=0;i<this.widgets.length;i++){
if(this.widgets[i].widgetId==id){
this.remove(i);
break;
}
}
};
this.getWidgetById=function(id){
if(dojo.lang.isString(id)){
return this.widgetIds[id];
}
return id;
};
this.getWidgetsByType=function(type){
var lt=type.toLowerCase();
var _670=(type.indexOf(":")<0?function(x){
return x.widgetType.toLowerCase();
}:function(x){
return x.getNamespacedType();
});
var ret=[];
dojo.lang.forEach(this.widgets,function(x){
if(_670(x)==lt){
ret.push(x);
}
});
return ret;
};
this.getWidgetsByFilter=function(_675,_676){
var ret=[];
dojo.lang.every(this.widgets,function(x){
if(_675(x)){
ret.push(x);
if(_676){
return false;
}
}
return true;
});
return (_676?ret[0]:ret);
};
this.getAllWidgets=function(){
return this.widgets.concat();
};
this.getWidgetByNode=function(node){
var w=this.getAllWidgets();
node=dojo.byId(node);
for(var i=0;i<w.length;i++){
if(w[i].domNode==node){
return w[i];
}
}
return null;
};
this.byId=this.getWidgetById;
this.byType=this.getWidgetsByType;
this.byFilter=this.getWidgetsByFilter;
this.byNode=this.getWidgetByNode;
var _67c={};
var _67d=["dojo.widget"];
for(var i=0;i<_67d.length;i++){
_67d[_67d[i]]=true;
}
this.registerWidgetPackage=function(_67f){
if(!_67d[_67f]){
_67d[_67f]=true;
_67d.push(_67f);
}
};
this.getWidgetPackageList=function(){
return dojo.lang.map(_67d,function(elt){
return (elt!==true?elt:undefined);
});
};
this.getImplementation=function(_681,_682,_683,ns){
var impl=this.getImplementationName(_681,ns);
if(impl){
var ret=_682?new impl(_682):new impl();
return ret;
}
};
function buildPrefixCache(){
for(var _687 in dojo.render){
if(dojo.render[_687]["capable"]===true){
var _688=dojo.render[_687].prefixes;
for(var i=0;i<_688.length;i++){
_664.push(_688[i].toLowerCase());
}
}
}
}
var _68a=function(_68b,_68c){
if(!_68c){
return null;
}
for(var i=0,l=_664.length,_68f;i<=l;i++){
_68f=(i<l?_68c[_664[i]]:_68c);
if(!_68f){
continue;
}
for(var name in _68f){
if(name.toLowerCase()==_68b){
return _68f[name];
}
}
}
return null;
};
var _691=function(_692,_693){
var _694=dojo.evalObjPath(_693,false);
return (_694?_68a(_692,_694):null);
};
this.getImplementationName=function(_695,ns){
var _697=_695.toLowerCase();
ns=ns||"dojo";
var imps=_67c[ns]||(_67c[ns]={});
var impl=imps[_697];
if(impl){
return impl;
}
if(!_664.length){
buildPrefixCache();
}
var _69a=dojo.ns.get(ns);
if(!_69a){
dojo.ns.register(ns,ns+".widget");
_69a=dojo.ns.get(ns);
}
if(_69a){
_69a.resolve(_695);
}
impl=_691(_697,_69a.module);
if(impl){
return (imps[_697]=impl);
}
_69a=dojo.ns.require(ns);
if((_69a)&&(_69a.resolver)){
_69a.resolve(_695);
impl=_691(_697,_69a.module);
if(impl){
return (imps[_697]=impl);
}
}
dojo.deprecated("dojo.widget.Manager.getImplementationName","Could not locate widget implementation for \""+_695+"\" in \""+_69a.module+"\" registered to namespace \""+_69a.name+"\". "+"Developers must specify correct namespaces for all non-Dojo widgets","0.5");
for(var i=0;i<_67d.length;i++){
impl=_691(_697,_67d[i]);
if(impl){
return (imps[_697]=impl);
}
}
throw new Error("Could not locate widget implementation for \""+_695+"\" in \""+_69a.module+"\" registered to namespace \""+_69a.name+"\"");
};
this.resizing=false;
this.onWindowResized=function(){
if(this.resizing){
return;
}
try{
this.resizing=true;
for(var id in this.topWidgets){
var _69d=this.topWidgets[id];
if(_69d.checkSize){
_69d.checkSize();
}
}
}
catch(e){
}
finally{
this.resizing=false;
}
};
if(typeof window!="undefined"){
dojo.addOnLoad(this,"onWindowResized");
dojo.event.connect(window,"onresize",this,"onWindowResized");
}
};
(function(){
var dw=dojo.widget;
var dwm=dw.manager;
var h=dojo.lang.curry(dojo.lang,"hitch",dwm);
var g=function(_6a2,_6a3){
dw[(_6a3||_6a2)]=h(_6a2);
};
g("add","addWidget");
g("destroyAll","destroyAllWidgets");
g("remove","removeWidget");
g("removeById","removeWidgetById");
g("getWidgetById");
g("getWidgetById","byId");
g("getWidgetsByType");
g("getWidgetsByFilter");
g("getWidgetsByType","byType");
g("getWidgetsByFilter","byFilter");
g("getWidgetByNode","byNode");
dw.all=function(n){
var _6a5=dwm.getAllWidgets.apply(dwm,arguments);
if(arguments.length>0){
return _6a5[n];
}
return _6a5;
};
g("registerWidgetPackage");
g("getImplementation","getWidgetImplementation");
g("getImplementationName","getWidgetImplementationName");
dw.widgets=dwm.widgets;
dw.widgetIds=dwm.widgetIds;
dw.root=dwm.root;
})();
dojo.kwCompoundRequire({common:[["dojo.uri.Uri",false,false]]});
dojo.provide("dojo.uri.*");
dojo.provide("dojo.a11y");
dojo.a11y={imgPath:dojo.uri.moduleUri("dojo.widget","templates/images"),doAccessibleCheck:true,accessible:null,checkAccessible:function(){
if(this.accessible===null){
this.accessible=false;
if(this.doAccessibleCheck==true){
this.accessible=this.testAccessible();
}
}
return this.accessible;
},testAccessible:function(){
this.accessible=false;
if(dojo.render.html.ie||dojo.render.html.mozilla){
var div=dojo.doc().createElement("div");
div.style.backgroundImage="url(\""+this.imgPath+"/tab_close.gif\")";
dojo.body().appendChild(div);
var _6a7=null;
if(window.getComputedStyle){
var _6a8=getComputedStyle(div,"");
if(_6a8){
_6a7=_6a8.getPropertyValue("background-image");
}
}else{
_6a7=div.currentStyle.backgroundImage;
}
var _6a9=false;
if(_6a7!=null&&(_6a7=="none"||_6a7=="url(invalid-url:)")){
this.accessible=true;
}
dojo.body().removeChild(div);
}
return this.accessible;
},setCheckAccessible:function(_6aa){
this.doAccessibleCheck=_6aa;
},setAccessibleMode:function(){
if(this.accessible===null){
if(this.checkAccessible()){
dojo.render.html.prefixes.unshift("a11y");
}
}
return this.accessible;
}};
dojo.provide("dojo.widget.Widget");
dojo.declare("dojo.widget.Widget",null,function(){
this.children=[];
this.extraArgs={};
},{parent:null,isTopLevel:false,disabled:false,isContainer:false,widgetId:"",widgetType:"Widget",ns:"dojo",getNamespacedType:function(){
return (this.ns?this.ns+":"+this.widgetType:this.widgetType).toLowerCase();
},toString:function(){
return "[Widget "+this.getNamespacedType()+", "+(this.widgetId||"NO ID")+"]";
},repr:function(){
return this.toString();
},enable:function(){
this.disabled=false;
},disable:function(){
this.disabled=true;
},onResized:function(){
this.notifyChildrenOfResize();
},notifyChildrenOfResize:function(){
for(var i=0;i<this.children.length;i++){
var _6ac=this.children[i];
if(_6ac.onResized){
_6ac.onResized();
}
}
},create:function(args,_6ae,_6af,ns){
if(ns){
this.ns=ns;
}
this.satisfyPropertySets(args,_6ae,_6af);
this.mixInProperties(args,_6ae,_6af);
this.postMixInProperties(args,_6ae,_6af);
dojo.widget.manager.add(this);
this.buildRendering(args,_6ae,_6af);
this.initialize(args,_6ae,_6af);
this.postInitialize(args,_6ae,_6af);
this.postCreate(args,_6ae,_6af);
return this;
},destroy:function(_6b1){
if(this.parent){
this.parent.removeChild(this);
}
this.destroyChildren();
this.uninitialize();
this.destroyRendering(_6b1);
dojo.widget.manager.removeById(this.widgetId);
},destroyChildren:function(){
var _6b2;
var i=0;
while(this.children.length>i){
_6b2=this.children[i];
if(_6b2 instanceof dojo.widget.Widget){
this.removeChild(_6b2);
_6b2.destroy();
continue;
}
i++;
}
},getChildrenOfType:function(type,_6b5){
var ret=[];
var _6b7=dojo.lang.isFunction(type);
if(!_6b7){
type=type.toLowerCase();
}
for(var x=0;x<this.children.length;x++){
if(_6b7){
if(this.children[x] instanceof type){
ret.push(this.children[x]);
}
}else{
if(this.children[x].widgetType.toLowerCase()==type){
ret.push(this.children[x]);
}
}
if(_6b5){
ret=ret.concat(this.children[x].getChildrenOfType(type,_6b5));
}
}
return ret;
},getDescendants:function(){
var _6b9=[];
var _6ba=[this];
var elem;
while((elem=_6ba.pop())){
_6b9.push(elem);
if(elem.children){
dojo.lang.forEach(elem.children,function(elem){
_6ba.push(elem);
});
}
}
return _6b9;
},isFirstChild:function(){
return this===this.parent.children[0];
},isLastChild:function(){
return this===this.parent.children[this.parent.children.length-1];
},satisfyPropertySets:function(args){
return args;
},mixInProperties:function(args,frag){
if((args["fastMixIn"])||(frag["fastMixIn"])){
for(var x in args){
this[x]=args[x];
}
return;
}
var _6c1;
var _6c2=dojo.widget.lcArgsCache[this.widgetType];
if(_6c2==null){
_6c2={};
for(var y in this){
_6c2[((new String(y)).toLowerCase())]=y;
}
dojo.widget.lcArgsCache[this.widgetType]=_6c2;
}
var _6c4={};
for(var x in args){
if(!this[x]){
var y=_6c2[(new String(x)).toLowerCase()];
if(y){
args[y]=args[x];
x=y;
}
}
if(_6c4[x]){
continue;
}
_6c4[x]=true;
if((typeof this[x])!=(typeof _6c1)){
if(typeof args[x]!="string"){
this[x]=args[x];
}else{
if(dojo.lang.isString(this[x])){
this[x]=args[x];
}else{
if(dojo.lang.isNumber(this[x])){
this[x]=new Number(args[x]);
}else{
if(dojo.lang.isBoolean(this[x])){
this[x]=(args[x].toLowerCase()=="false")?false:true;
}else{
if(dojo.lang.isFunction(this[x])){
if(args[x].search(/[^\w\.]+/i)==-1){
this[x]=dojo.evalObjPath(args[x],false);
}else{
var tn=dojo.lang.nameAnonFunc(new Function(args[x]),this);
dojo.event.kwConnect({srcObj:this,srcFunc:x,adviceObj:this,adviceFunc:tn});
}
}else{
if(dojo.lang.isArray(this[x])){
this[x]=args[x].split(";");
}else{
if(this[x] instanceof Date){
this[x]=new Date(Number(args[x]));
}else{
if(typeof this[x]=="object"){
if(this[x] instanceof dojo.uri.Uri){
this[x]=dojo.uri.dojoUri(args[x]);
}else{
var _6c6=args[x].split(";");
for(var y=0;y<_6c6.length;y++){
var si=_6c6[y].indexOf(":");
if((si!=-1)&&(_6c6[y].length>si)){
this[x][_6c6[y].substr(0,si).replace(/^\s+|\s+$/g,"")]=_6c6[y].substr(si+1);
}
}
}
}else{
this[x]=args[x];
}
}
}
}
}
}
}
}
}else{
this.extraArgs[x.toLowerCase()]=args[x];
}
}
},postMixInProperties:function(args,frag,_6ca){
},initialize:function(args,frag,_6cd){
return false;
},postInitialize:function(args,frag,_6d0){
return false;
},postCreate:function(args,frag,_6d3){
return false;
},uninitialize:function(){
return false;
},buildRendering:function(args,frag,_6d6){
dojo.unimplemented("dojo.widget.Widget.buildRendering, on "+this.toString()+", ");
return false;
},destroyRendering:function(){
dojo.unimplemented("dojo.widget.Widget.destroyRendering");
return false;
},addedTo:function(_6d7){
},addChild:function(_6d8){
dojo.unimplemented("dojo.widget.Widget.addChild");
return false;
},removeChild:function(_6d9){
for(var x=0;x<this.children.length;x++){
if(this.children[x]===_6d9){
this.children.splice(x,1);
_6d9.parent=null;
break;
}
}
return _6d9;
},getPreviousSibling:function(){
var idx=this.getParentIndex();
if(idx<=0){
return null;
}
return this.parent.children[idx-1];
},getSiblings:function(){
return this.parent.children;
},getParentIndex:function(){
return dojo.lang.indexOf(this.parent.children,this,true);
},getNextSibling:function(){
var idx=this.getParentIndex();
if(idx==this.parent.children.length-1){
return null;
}
if(idx<0){
return null;
}
return this.parent.children[idx+1];
}});
dojo.widget.lcArgsCache={};
dojo.widget.tags={};
dojo.widget.tags.addParseTreeHandler=function(type){
dojo.deprecated("addParseTreeHandler",". ParseTreeHandlers are now reserved for components. Any unfiltered DojoML tag without a ParseTreeHandler is assumed to be a widget","0.5");
};
dojo.widget.tags["dojo:propertyset"]=function(_6de,_6df,_6e0){
var _6e1=_6df.parseProperties(_6de["dojo:propertyset"]);
};
dojo.widget.tags["dojo:connect"]=function(_6e2,_6e3,_6e4){
var _6e5=_6e3.parseProperties(_6e2["dojo:connect"]);
};
dojo.widget.buildWidgetFromParseTree=function(type,frag,_6e8,_6e9,_6ea,_6eb){
dojo.a11y.setAccessibleMode();
var _6ec=type.split(":");
_6ec=(_6ec.length==2)?_6ec[1]:type;
var _6ed=_6eb||_6e8.parseProperties(frag[frag["ns"]+":"+_6ec]);
var _6ee=dojo.widget.manager.getImplementation(_6ec,null,null,frag["ns"]);
if(!_6ee){
throw new Error("cannot find \""+type+"\" widget");
}else{
if(!_6ee.create){
throw new Error("\""+type+"\" widget object has no \"create\" method and does not appear to implement *Widget");
}
}
_6ed["dojoinsertionindex"]=_6ea;
var ret=_6ee.create(_6ed,frag,_6e9,frag["ns"]);
return ret;
};
dojo.widget.defineWidget=function(_6f0,_6f1,_6f2,init,_6f4){
if(dojo.lang.isString(arguments[3])){
dojo.widget._defineWidget(arguments[0],arguments[3],arguments[1],arguments[4],arguments[2]);
}else{
var args=[arguments[0]],p=3;
if(dojo.lang.isString(arguments[1])){
args.push(arguments[1],arguments[2]);
}else{
args.push("",arguments[1]);
p=2;
}
if(dojo.lang.isFunction(arguments[p])){
args.push(arguments[p],arguments[p+1]);
}else{
args.push(null,arguments[p]);
}
dojo.widget._defineWidget.apply(this,args);
}
};
dojo.widget.defineWidget.renderers="html|svg|vml";
dojo.widget._defineWidget=function(_6f7,_6f8,_6f9,init,_6fb){
var _6fc=_6f7.split(".");
var type=_6fc.pop();
var regx="\\.("+(_6f8?_6f8+"|":"")+dojo.widget.defineWidget.renderers+")\\.";
var r=_6f7.search(new RegExp(regx));
_6fc=(r<0?_6fc.join("."):_6f7.substr(0,r));
dojo.widget.manager.registerWidgetPackage(_6fc);
var pos=_6fc.indexOf(".");
var _701=(pos>-1)?_6fc.substring(0,pos):_6fc;
_6fb=(_6fb)||{};
_6fb.widgetType=type;
if((!init)&&(_6fb["classConstructor"])){
init=_6fb.classConstructor;
delete _6fb.classConstructor;
}
dojo.declare(_6f7,_6f9,init,_6fb);
};
dojo.provide("dojo.widget.Parse");
dojo.widget.Parse=function(_702){
this.propertySetsList=[];
this.fragment=_702;
this.createComponents=function(frag,_704){
var _705=[];
var _706=false;
try{
if(frag&&frag.tagName&&(frag!=frag.nodeRef)){
var _707=dojo.widget.tags;
var tna=String(frag.tagName).split(";");
for(var x=0;x<tna.length;x++){
var ltn=tna[x].replace(/^\s+|\s+$/g,"").toLowerCase();
frag.tagName=ltn;
var ret;
if(_707[ltn]){
_706=true;
ret=_707[ltn](frag,this,_704,frag.index);
_705.push(ret);
}else{
if(ltn.indexOf(":")==-1){
ltn="dojo:"+ltn;
}
ret=dojo.widget.buildWidgetFromParseTree(ltn,frag,this,_704,frag.index);
if(ret){
_706=true;
_705.push(ret);
}
}
}
}
}
catch(e){
dojo.debug("dojo.widget.Parse: error:",e);
}
if(!_706){
_705=_705.concat(this.createSubComponents(frag,_704));
}
return _705;
};
this.createSubComponents=function(_70c,_70d){
var frag,_70f=[];
for(var item in _70c){
frag=_70c[item];
if(frag&&typeof frag=="object"&&(frag!=_70c.nodeRef)&&(frag!=_70c.tagName)&&(!dojo.dom.isNode(frag))){
_70f=_70f.concat(this.createComponents(frag,_70d));
}
}
return _70f;
};
this.parsePropertySets=function(_711){
return [];
};
this.parseProperties=function(_712){
var _713={};
for(var item in _712){
if((_712[item]==_712.tagName)||(_712[item]==_712.nodeRef)){
}else{
var frag=_712[item];
if(frag.tagName&&dojo.widget.tags[frag.tagName.toLowerCase()]){
}else{
if(frag[0]&&frag[0].value!=""&&frag[0].value!=null){
try{
if(item.toLowerCase()=="dataprovider"){
var _716=this;
this.getDataProvider(_716,frag[0].value);
_713.dataProvider=this.dataProvider;
}
_713[item]=frag[0].value;
var _717=this.parseProperties(frag);
for(var _718 in _717){
_713[_718]=_717[_718];
}
}
catch(e){
dojo.debug(e);
}
}
}
switch(item.toLowerCase()){
case "checked":
case "disabled":
if(typeof _713[item]!="boolean"){
_713[item]=true;
}
break;
}
}
}
return _713;
};
this.getDataProvider=function(_719,_71a){
dojo.io.bind({url:_71a,load:function(type,_71c){
if(type=="load"){
_719.dataProvider=_71c;
}
},mimetype:"text/javascript",sync:true});
};
this.getPropertySetById=function(_71d){
for(var x=0;x<this.propertySetsList.length;x++){
if(_71d==this.propertySetsList[x]["id"][0].value){
return this.propertySetsList[x];
}
}
return "";
};
this.getPropertySetsByType=function(_71f){
var _720=[];
for(var x=0;x<this.propertySetsList.length;x++){
var cpl=this.propertySetsList[x];
var cpcc=cpl.componentClass||cpl.componentType||null;
var _724=this.propertySetsList[x]["id"][0].value;
if(cpcc&&(_724==cpcc[0].value)){
_720.push(cpl);
}
}
return _720;
};
this.getPropertySets=function(_725){
var ppl="dojo:propertyproviderlist";
var _727=[];
var _728=_725.tagName;
if(_725[ppl]){
var _729=_725[ppl].value.split(" ");
for(var _72a in _729){
if((_72a.indexOf("..")==-1)&&(_72a.indexOf("://")==-1)){
var _72b=this.getPropertySetById(_72a);
if(_72b!=""){
_727.push(_72b);
}
}else{
}
}
}
return this.getPropertySetsByType(_728).concat(_727);
};
this.createComponentFromScript=function(_72c,_72d,_72e,ns){
_72e.fastMixIn=true;
var ltn=(ns||"dojo")+":"+_72d.toLowerCase();
if(dojo.widget.tags[ltn]){
return [dojo.widget.tags[ltn](_72e,this,null,null,_72e)];
}
return [dojo.widget.buildWidgetFromParseTree(ltn,_72e,this,null,null,_72e)];
};
};
dojo.widget._parser_collection={"dojo":new dojo.widget.Parse()};
dojo.widget.getParser=function(name){
if(!name){
name="dojo";
}
if(!this._parser_collection[name]){
this._parser_collection[name]=new dojo.widget.Parse();
}
return this._parser_collection[name];
};
dojo.widget.createWidget=function(name,_733,_734,_735){
var _736=false;
var _737=(typeof name=="string");
if(_737){
var pos=name.indexOf(":");
var ns=(pos>-1)?name.substring(0,pos):"dojo";
if(pos>-1){
name=name.substring(pos+1);
}
var _73a=name.toLowerCase();
var _73b=ns+":"+_73a;
_736=(dojo.byId(name)&&!dojo.widget.tags[_73b]);
}
if((arguments.length==1)&&(_736||!_737)){
var xp=new dojo.xml.Parse();
var tn=_736?dojo.byId(name):name;
return dojo.widget.getParser().createComponents(xp.parseElement(tn,null,true))[0];
}
function fromScript(_73e,name,_740,ns){
_740[_73b]={dojotype:[{value:_73a}],nodeRef:_73e,fastMixIn:true};
_740.ns=ns;
return dojo.widget.getParser().createComponentFromScript(_73e,name,_740,ns);
}
_733=_733||{};
var _742=false;
var tn=null;
var h=dojo.render.html.capable;
if(h){
tn=document.createElement("span");
}
if(!_734){
_742=true;
_734=tn;
if(h){
dojo.body().appendChild(_734);
}
}else{
if(_735){
dojo.dom.insertAtPosition(tn,_734,_735);
}else{
tn=_734;
}
}
var _744=fromScript(tn,name.toLowerCase(),_733,ns);
if((!_744)||(!_744[0])||(typeof _744[0].widgetType=="undefined")){
throw new Error("createWidget: Creation of \""+name+"\" widget failed.");
}
try{
if(_742&&_744[0].domNode.parentNode){
_744[0].domNode.parentNode.removeChild(_744[0].domNode);
}
}
catch(e){
dojo.debug(e);
}
return _744[0];
};
dojo.provide("dojo.widget.DomWidget");
dojo.widget._cssFiles={};
dojo.widget._cssStrings={};
dojo.widget._templateCache={};
dojo.widget.defaultStrings={dojoRoot:dojo.hostenv.getBaseScriptUri(),dojoWidgetModuleUri:dojo.uri.moduleUri("dojo.widget"),baseScriptUri:dojo.hostenv.getBaseScriptUri()};
dojo.widget.fillFromTemplateCache=function(obj,_746,_747,_748){
var _749=_746||obj.templatePath;
var _74a=dojo.widget._templateCache;
if(!_749&&!obj["widgetType"]){
do{
var _74b="__dummyTemplate__"+dojo.widget._templateCache.dummyCount++;
}while(_74a[_74b]);
obj.widgetType=_74b;
}
var wt=_749?_749.toString():obj.widgetType;
var ts=_74a[wt];
if(!ts){
_74a[wt]={"string":null,"node":null};
if(_748){
ts={};
}else{
ts=_74a[wt];
}
}
if((!obj.templateString)&&(!_748)){
obj.templateString=_747||ts["string"];
}
if(obj.templateString){
obj.templateString=this._sanitizeTemplateString(obj.templateString);
}
if((!obj.templateNode)&&(!_748)){
obj.templateNode=ts["node"];
}
if((!obj.templateNode)&&(!obj.templateString)&&(_749)){
var _74e=this._sanitizeTemplateString(dojo.hostenv.getText(_749));
obj.templateString=_74e;
if(!_748){
_74a[wt]["string"]=_74e;
}
}
if((!ts["string"])&&(!_748)){
ts.string=obj.templateString;
}
};
dojo.widget._sanitizeTemplateString=function(_74f){
if(_74f){
_74f=_74f.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");
var _750=_74f.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
if(_750){
_74f=_750[1];
}
}else{
_74f="";
}
return _74f;
};
dojo.widget._templateCache.dummyCount=0;
dojo.widget.attachProperties=["dojoAttachPoint","id"];
dojo.widget.eventAttachProperty="dojoAttachEvent";
dojo.widget.onBuildProperty="dojoOnBuild";
dojo.widget.waiNames=["waiRole","waiState"];
dojo.widget.wai={waiRole:{name:"waiRole","namespace":"http://www.w3.org/TR/xhtml2",alias:"x2",prefix:"wairole:"},waiState:{name:"waiState","namespace":"http://www.w3.org/2005/07/aaa",alias:"aaa",prefix:""},setAttr:function(node,ns,attr,_754){
if(dojo.render.html.ie){
node.setAttribute(this[ns].alias+":"+attr,this[ns].prefix+_754);
}else{
node.setAttributeNS(this[ns]["namespace"],attr,this[ns].prefix+_754);
}
},getAttr:function(node,ns,attr){
if(dojo.render.html.ie){
return node.getAttribute(this[ns].alias+":"+attr);
}else{
return node.getAttributeNS(this[ns]["namespace"],attr);
}
},removeAttr:function(node,ns,attr){
var _75b=true;
if(dojo.render.html.ie){
_75b=node.removeAttribute(this[ns].alias+":"+attr);
}else{
node.removeAttributeNS(this[ns]["namespace"],attr);
}
return _75b;
}};
dojo.widget.attachTemplateNodes=function(_75c,_75d,_75e){
var _75f=dojo.dom.ELEMENT_NODE;
function trim(str){
return str.replace(/^\s+|\s+$/g,"");
}
if(!_75c){
_75c=_75d.domNode;
}
if(_75c.nodeType!=_75f){
return;
}
var _761=_75c.all||_75c.getElementsByTagName("*");
var _762=_75d;
for(var x=-1;x<_761.length;x++){
var _764=(x==-1)?_75c:_761[x];
var _765=[];
if(!_75d.widgetsInTemplate||!_764.getAttribute("dojoType")){
for(var y=0;y<this.attachProperties.length;y++){
var _767=_764.getAttribute(this.attachProperties[y]);
if(_767){
_765=_767.split(";");
for(var z=0;z<_765.length;z++){
if(dojo.lang.isArray(_75d[_765[z]])){
_75d[_765[z]].push(_764);
}else{
_75d[_765[z]]=_764;
}
}
break;
}
}
var _769=_764.getAttribute(this.eventAttachProperty);
if(_769){
var evts=_769.split(";");
for(var y=0;y<evts.length;y++){
if((!evts[y])||(!evts[y].length)){
continue;
}
var _76b=null;
var tevt=trim(evts[y]);
if(evts[y].indexOf(":")>=0){
var _76d=tevt.split(":");
tevt=trim(_76d[0]);
_76b=trim(_76d[1]);
}
if(!_76b){
_76b=tevt;
}
var tf=function(){
var ntf=new String(_76b);
return function(evt){
if(_762[ntf]){
_762[ntf](dojo.event.browser.fixEvent(evt,this));
}
};
}();
dojo.event.browser.addListener(_764,tevt,tf,false,true);
}
}
for(var y=0;y<_75e.length;y++){
var _771=_764.getAttribute(_75e[y]);
if((_771)&&(_771.length)){
var _76b=null;
var _772=_75e[y].substr(4);
_76b=trim(_771);
var _773=[_76b];
if(_76b.indexOf(";")>=0){
_773=dojo.lang.map(_76b.split(";"),trim);
}
for(var z=0;z<_773.length;z++){
if(!_773[z].length){
continue;
}
var tf=function(){
var ntf=new String(_773[z]);
return function(evt){
if(_762[ntf]){
_762[ntf](dojo.event.browser.fixEvent(evt,this));
}
};
}();
dojo.event.browser.addListener(_764,_772,tf,false,true);
}
}
}
}
var _776=_764.getAttribute(this.templateProperty);
if(_776){
_75d[_776]=_764;
}
dojo.lang.forEach(dojo.widget.waiNames,function(name){
var wai=dojo.widget.wai[name];
var val=_764.getAttribute(wai.name);
if(val){
if(val.indexOf("-")==-1){
dojo.widget.wai.setAttr(_764,wai.name,"role",val);
}else{
var _77a=val.split("-");
dojo.widget.wai.setAttr(_764,wai.name,_77a[0],_77a[1]);
}
}
},this);
var _77b=_764.getAttribute(this.onBuildProperty);
if(_77b){
eval("var node = baseNode; var widget = targetObj; "+_77b);
}
}
};
dojo.widget.getDojoEventsFromStr=function(str){
var re=/(dojoOn([a-z]+)(\s?))=/gi;
var evts=str?str.match(re)||[]:[];
var ret=[];
var lem={};
for(var x=0;x<evts.length;x++){
if(evts[x].length<1){
continue;
}
var cm=evts[x].replace(/\s/,"");
cm=(cm.slice(0,cm.length-1));
if(!lem[cm]){
lem[cm]=true;
ret.push(cm);
}
}
return ret;
};
dojo.declare("dojo.widget.DomWidget",dojo.widget.Widget,function(){
if((arguments.length>0)&&(typeof arguments[0]=="object")){
this.create(arguments[0]);
}
},{templateNode:null,templateString:null,templateCssString:null,preventClobber:false,domNode:null,containerNode:null,widgetsInTemplate:false,addChild:function(_783,_784,pos,ref,_787){
if(!this.isContainer){
dojo.debug("dojo.widget.DomWidget.addChild() attempted on non-container widget");
return null;
}else{
if(_787==undefined){
_787=this.children.length;
}
this.addWidgetAsDirectChild(_783,_784,pos,ref,_787);
this.registerChild(_783,_787);
}
return _783;
},addWidgetAsDirectChild:function(_788,_789,pos,ref,_78c){
if((!this.containerNode)&&(!_789)){
this.containerNode=this.domNode;
}
var cn=(_789)?_789:this.containerNode;
if(!pos){
pos="after";
}
if(!ref){
if(!cn){
cn=dojo.body();
}
ref=cn.lastChild;
}
if(!_78c){
_78c=0;
}
_788.domNode.setAttribute("dojoinsertionindex",_78c);
if(!ref){
cn.appendChild(_788.domNode);
}else{
if(pos=="insertAtIndex"){
dojo.dom.insertAtIndex(_788.domNode,ref.parentNode,_78c);
}else{
if((pos=="after")&&(ref===cn.lastChild)){
cn.appendChild(_788.domNode);
}else{
dojo.dom.insertAtPosition(_788.domNode,cn,pos);
}
}
}
},registerChild:function(_78e,_78f){
_78e.dojoInsertionIndex=_78f;
var idx=-1;
for(var i=0;i<this.children.length;i++){
if(this.children[i].dojoInsertionIndex<=_78f){
idx=i;
}
}
this.children.splice(idx+1,0,_78e);
_78e.parent=this;
_78e.addedTo(this,idx+1);
delete dojo.widget.manager.topWidgets[_78e.widgetId];
},removeChild:function(_792){
dojo.dom.removeNode(_792.domNode);
return dojo.widget.DomWidget.superclass.removeChild.call(this,_792);
},getFragNodeRef:function(frag){
if(!frag){
return null;
}
if(!frag[this.getNamespacedType()]){
dojo.raise("Error: no frag for widget type "+this.getNamespacedType()+", id "+this.widgetId+" (maybe a widget has set it's type incorrectly)");
}
return frag[this.getNamespacedType()]["nodeRef"];
},postInitialize:function(args,frag,_796){
var _797=this.getFragNodeRef(frag);
if(_796&&(_796.snarfChildDomOutput||!_797)){
_796.addWidgetAsDirectChild(this,"","insertAtIndex","",args["dojoinsertionindex"],_797);
}else{
if(_797){
if(this.domNode&&(this.domNode!==_797)){
this._sourceNodeRef=dojo.dom.replaceNode(_797,this.domNode);
}
}
}
if(_796){
_796.registerChild(this,args.dojoinsertionindex);
}else{
dojo.widget.manager.topWidgets[this.widgetId]=this;
}
if(this.widgetsInTemplate){
var _798=new dojo.xml.Parse();
var _799;
var _79a=this.domNode.getElementsByTagName("*");
for(var i=0;i<_79a.length;i++){
if(_79a[i].getAttribute("dojoAttachPoint")=="subContainerWidget"){
_799=_79a[i];
}
if(_79a[i].getAttribute("dojoType")){
_79a[i].setAttribute("isSubWidget",true);
}
}
if(this.isContainer&&!this.containerNode){
if(_799){
var src=this.getFragNodeRef(frag);
if(src){
dojo.dom.moveChildren(src,_799);
frag["dojoDontFollow"]=true;
}
}else{
dojo.debug("No subContainerWidget node can be found in template file for widget "+this);
}
}
var _79d=_798.parseElement(this.domNode,null,true);
dojo.widget.getParser().createSubComponents(_79d,this);
var _79e=[];
var _79f=[this];
var w;
while((w=_79f.pop())){
for(var i=0;i<w.children.length;i++){
var _7a1=w.children[i];
if(_7a1._processedSubWidgets||!_7a1.extraArgs["issubwidget"]){
continue;
}
_79e.push(_7a1);
if(_7a1.isContainer){
_79f.push(_7a1);
}
}
}
for(var i=0;i<_79e.length;i++){
var _7a2=_79e[i];
if(_7a2._processedSubWidgets){
dojo.debug("This should not happen: widget._processedSubWidgets is already true!");
return;
}
_7a2._processedSubWidgets=true;
if(_7a2.extraArgs["dojoattachevent"]){
var evts=_7a2.extraArgs["dojoattachevent"].split(";");
for(var j=0;j<evts.length;j++){
var _7a5=null;
var tevt=dojo.string.trim(evts[j]);
if(tevt.indexOf(":")>=0){
var _7a7=tevt.split(":");
tevt=dojo.string.trim(_7a7[0]);
_7a5=dojo.string.trim(_7a7[1]);
}
if(!_7a5){
_7a5=tevt;
}
if(dojo.lang.isFunction(_7a2[tevt])){
dojo.event.kwConnect({srcObj:_7a2,srcFunc:tevt,targetObj:this,targetFunc:_7a5});
}else{
alert(tevt+" is not a function in widget "+_7a2);
}
}
}
if(_7a2.extraArgs["dojoattachpoint"]){
this[_7a2.extraArgs["dojoattachpoint"]]=_7a2;
}
}
}
if(this.isContainer&&!frag["dojoDontFollow"]){
dojo.widget.getParser().createSubComponents(frag,this);
}
},buildRendering:function(args,frag){
var ts=dojo.widget._templateCache[this.widgetType];
if(args["templatecsspath"]){
args["templateCssPath"]=args["templatecsspath"];
}
var _7ab=args["templateCssPath"]||this.templateCssPath;
if(_7ab&&!dojo.widget._cssFiles[_7ab.toString()]){
if((!this.templateCssString)&&(_7ab)){
this.templateCssString=dojo.hostenv.getText(_7ab);
this.templateCssPath=null;
}
dojo.widget._cssFiles[_7ab.toString()]=true;
}
if((this["templateCssString"])&&(!dojo.widget._cssStrings[this.templateCssString])){
dojo.html.insertCssText(this.templateCssString,null,_7ab);
dojo.widget._cssStrings[this.templateCssString]=true;
}
if((!this.preventClobber)&&((this.templatePath)||(this.templateNode)||((this["templateString"])&&(this.templateString.length))||((typeof ts!="undefined")&&((ts["string"])||(ts["node"]))))){
this.buildFromTemplate(args,frag);
}else{
this.domNode=this.getFragNodeRef(frag);
}
this.fillInTemplate(args,frag);
},buildFromTemplate:function(args,frag){
var _7ae=false;
if(args["templatepath"]){
args["templatePath"]=args["templatepath"];
}
dojo.widget.fillFromTemplateCache(this,args["templatePath"],null,_7ae);
var ts=dojo.widget._templateCache[this.templatePath?this.templatePath.toString():this.widgetType];
if((ts)&&(!_7ae)){
if(!this.templateString.length){
this.templateString=ts["string"];
}
if(!this.templateNode){
this.templateNode=ts["node"];
}
}
var _7b0=false;
var node=null;
var tstr=this.templateString;
if((!this.templateNode)&&(this.templateString)){
_7b0=this.templateString.match(/\$\{([^\}]+)\}/g);
if(_7b0){
var hash=this.strings||{};
for(var key in dojo.widget.defaultStrings){
if(dojo.lang.isUndefined(hash[key])){
hash[key]=dojo.widget.defaultStrings[key];
}
}
for(var i=0;i<_7b0.length;i++){
var key=_7b0[i];
key=key.substring(2,key.length-1);
var kval=(key.substring(0,5)=="this.")?dojo.lang.getObjPathValue(key.substring(5),this):hash[key];
var _7b7;
if((kval)||(dojo.lang.isString(kval))){
_7b7=new String((dojo.lang.isFunction(kval))?kval.call(this,key,this.templateString):kval);
while(_7b7.indexOf("\"")>-1){
_7b7=_7b7.replace("\"","&quot;");
}
tstr=tstr.replace(_7b0[i],_7b7);
}
}
}else{
this.templateNode=this.createNodesFromText(this.templateString,true)[0];
if(!_7ae){
ts.node=this.templateNode;
}
}
}
if((!this.templateNode)&&(!_7b0)){
dojo.debug("DomWidget.buildFromTemplate: could not create template");
return false;
}else{
if(!_7b0){
node=this.templateNode.cloneNode(true);
if(!node){
return false;
}
}else{
node=this.createNodesFromText(tstr,true)[0];
}
}
this.domNode=node;
this.attachTemplateNodes();
if(this.isContainer&&this.containerNode){
var src=this.getFragNodeRef(frag);
if(src){
dojo.dom.moveChildren(src,this.containerNode);
}
}
},attachTemplateNodes:function(_7b9,_7ba){
if(!_7b9){
_7b9=this.domNode;
}
if(!_7ba){
_7ba=this;
}
return dojo.widget.attachTemplateNodes(_7b9,_7ba,dojo.widget.getDojoEventsFromStr(this.templateString));
},fillInTemplate:function(){
},destroyRendering:function(){
try{
dojo.dom.destroyNode(this.domNode);
delete this.domNode;
}
catch(e){
}
if(this._sourceNodeRef){
try{
dojo.dom.destroyNode(this._sourceNodeRef);
}
catch(e){
}
}
},createNodesFromText:function(){
dojo.unimplemented("dojo.widget.DomWidget.createNodesFromText");
}});
dojo.provide("dojo.html.util");
dojo.html.getElementWindow=function(_7bb){
return dojo.html.getDocumentWindow(_7bb.ownerDocument);
};
dojo.html.getDocumentWindow=function(doc){
if(dojo.render.html.safari&&!doc._parentWindow){
var fix=function(win){
win.document._parentWindow=win;
for(var i=0;i<win.frames.length;i++){
fix(win.frames[i]);
}
};
fix(window.top);
}
if(dojo.render.html.ie&&window!==document.parentWindow&&!doc._parentWindow){
doc.parentWindow.execScript("document._parentWindow = window;","Javascript");
var win=doc._parentWindow;
doc._parentWindow=null;
return win;
}
return doc._parentWindow||doc.parentWindow||doc.defaultView;
};
dojo.html.gravity=function(node,e){
node=dojo.byId(node);
var _7c3=dojo.html.getCursorPosition(e);
with(dojo.html){
var _7c4=getAbsolutePosition(node,true);
var bb=getBorderBox(node);
var _7c6=_7c4.x+(bb.width/2);
var _7c7=_7c4.y+(bb.height/2);
}
with(dojo.html.gravity){
return ((_7c3.x<_7c6?WEST:EAST)|(_7c3.y<_7c7?NORTH:SOUTH));
}
};
dojo.html.gravity.NORTH=1;
dojo.html.gravity.SOUTH=1<<1;
dojo.html.gravity.EAST=1<<2;
dojo.html.gravity.WEST=1<<3;
dojo.html.overElement=function(_7c8,e){
_7c8=dojo.byId(_7c8);
var _7ca=dojo.html.getCursorPosition(e);
var bb=dojo.html.getBorderBox(_7c8);
var _7cc=dojo.html.getAbsolutePosition(_7c8,true,dojo.html.boxSizing.BORDER_BOX);
var top=_7cc.y;
var _7ce=top+bb.height;
var left=_7cc.x;
var _7d0=left+bb.width;
return (_7ca.x>=left&&_7ca.x<=_7d0&&_7ca.y>=top&&_7ca.y<=_7ce);
};
dojo.html.renderedTextContent=function(node){
node=dojo.byId(node);
var _7d2="";
if(node==null){
return _7d2;
}
for(var i=0;i<node.childNodes.length;i++){
switch(node.childNodes[i].nodeType){
case 1:
case 5:
var _7d4="unknown";
try{
_7d4=dojo.html.getStyle(node.childNodes[i],"display");
}
catch(E){
}
switch(_7d4){
case "block":
case "list-item":
case "run-in":
case "table":
case "table-row-group":
case "table-header-group":
case "table-footer-group":
case "table-row":
case "table-column-group":
case "table-column":
case "table-cell":
case "table-caption":
_7d2+="\n";
_7d2+=dojo.html.renderedTextContent(node.childNodes[i]);
_7d2+="\n";
break;
case "none":
break;
default:
if(node.childNodes[i].tagName&&node.childNodes[i].tagName.toLowerCase()=="br"){
_7d2+="\n";
}else{
_7d2+=dojo.html.renderedTextContent(node.childNodes[i]);
}
break;
}
break;
case 3:
case 2:
case 4:
var text=node.childNodes[i].nodeValue;
var _7d6="unknown";
try{
_7d6=dojo.html.getStyle(node,"text-transform");
}
catch(E){
}
switch(_7d6){
case "capitalize":
var _7d7=text.split(" ");
for(var i=0;i<_7d7.length;i++){
_7d7[i]=_7d7[i].charAt(0).toUpperCase()+_7d7[i].substring(1);
}
text=_7d7.join(" ");
break;
case "uppercase":
text=text.toUpperCase();
break;
case "lowercase":
text=text.toLowerCase();
break;
default:
break;
}
switch(_7d6){
case "nowrap":
break;
case "pre-wrap":
break;
case "pre-line":
break;
case "pre":
break;
default:
text=text.replace(/\s+/," ");
if(/\s$/.test(_7d2)){
text.replace(/^\s/,"");
}
break;
}
_7d2+=text;
break;
default:
break;
}
}
return _7d2;
};
dojo.html.createNodesFromText=function(txt,trim){
if(trim){
txt=txt.replace(/^\s+|\s+$/g,"");
}
var tn=dojo.doc().createElement("div");
tn.style.visibility="hidden";
dojo.body().appendChild(tn);
var _7db="none";
if((/^<t[dh][\s\r\n>]/i).test(txt.replace(/^\s+/))){
txt="<table><tbody><tr>"+txt+"</tr></tbody></table>";
_7db="cell";
}else{
if((/^<tr[\s\r\n>]/i).test(txt.replace(/^\s+/))){
txt="<table><tbody>"+txt+"</tbody></table>";
_7db="row";
}else{
if((/^<(thead|tbody|tfoot)[\s\r\n>]/i).test(txt.replace(/^\s+/))){
txt="<table>"+txt+"</table>";
_7db="section";
}
}
}
tn.innerHTML=txt;
if(tn["normalize"]){
tn.normalize();
}
var _7dc=null;
switch(_7db){
case "cell":
_7dc=tn.getElementsByTagName("tr")[0];
break;
case "row":
_7dc=tn.getElementsByTagName("tbody")[0];
break;
case "section":
_7dc=tn.getElementsByTagName("table")[0];
break;
default:
_7dc=tn;
break;
}
var _7dd=[];
for(var x=0;x<_7dc.childNodes.length;x++){
_7dd.push(_7dc.childNodes[x].cloneNode(true));
}
tn.style.display="none";
dojo.html.destroyNode(tn);
return _7dd;
};
dojo.html.placeOnScreen=function(node,_7e0,_7e1,_7e2,_7e3,_7e4,_7e5){
if(_7e0 instanceof Array||typeof _7e0=="array"){
_7e5=_7e4;
_7e4=_7e3;
_7e3=_7e2;
_7e2=_7e1;
_7e1=_7e0[1];
_7e0=_7e0[0];
}
if(_7e4 instanceof String||typeof _7e4=="string"){
_7e4=_7e4.split(",");
}
if(!isNaN(_7e2)){
_7e2=[Number(_7e2),Number(_7e2)];
}else{
if(!(_7e2 instanceof Array||typeof _7e2=="array")){
_7e2=[0,0];
}
}
var _7e6=dojo.html.getScroll().offset;
var view=dojo.html.getViewport();
node=dojo.byId(node);
var _7e8=node.style.display;
node.style.display="";
var bb=dojo.html.getBorderBox(node);
var w=bb.width;
var h=bb.height;
node.style.display=_7e8;
if(!(_7e4 instanceof Array||typeof _7e4=="array")){
_7e4=["TL"];
}
var _7ec,_7ed,_7ee=Infinity,_7ef;
for(var _7f0=0;_7f0<_7e4.length;++_7f0){
var _7f1=_7e4[_7f0];
var _7f2=true;
var tryX=_7e0-(_7f1.charAt(1)=="L"?0:w)+_7e2[0]*(_7f1.charAt(1)=="L"?1:-1);
var tryY=_7e1-(_7f1.charAt(0)=="T"?0:h)+_7e2[1]*(_7f1.charAt(0)=="T"?1:-1);
if(_7e3){
tryX-=_7e6.x;
tryY-=_7e6.y;
}
if(tryX<0){
tryX=0;
_7f2=false;
}
if(tryY<0){
tryY=0;
_7f2=false;
}
var x=tryX+w;
if(x>view.width){
x=view.width-w;
_7f2=false;
}else{
x=tryX;
}
x=Math.max(_7e2[0],x)+_7e6.x;
var y=tryY+h;
if(y>view.height){
y=view.height-h;
_7f2=false;
}else{
y=tryY;
}
y=Math.max(_7e2[1],y)+_7e6.y;
if(_7f2){
_7ec=x;
_7ed=y;
_7ee=0;
_7ef=_7f1;
break;
}else{
var dist=Math.pow(x-tryX-_7e6.x,2)+Math.pow(y-tryY-_7e6.y,2);
if(_7ee>dist){
_7ee=dist;
_7ec=x;
_7ed=y;
_7ef=_7f1;
}
}
}
if(!_7e5){
node.style.left=_7ec+"px";
node.style.top=_7ed+"px";
}
return {left:_7ec,top:_7ed,x:_7ec,y:_7ed,dist:_7ee,corner:_7ef};
};
dojo.html.placeOnScreenPoint=function(node,_7f9,_7fa,_7fb,_7fc){
dojo.deprecated("dojo.html.placeOnScreenPoint","use dojo.html.placeOnScreen() instead","0.5");
return dojo.html.placeOnScreen(node,_7f9,_7fa,_7fb,_7fc,["TL","TR","BL","BR"]);
};
dojo.html.placeOnScreenAroundElement=function(node,_7fe,_7ff,_800,_801,_802){
var best,_804=Infinity;
_7fe=dojo.byId(_7fe);
var _805=_7fe.style.display;
_7fe.style.display="";
var mb=dojo.html.getElementBox(_7fe,_800);
var _807=mb.width;
var _808=mb.height;
var _809=dojo.html.getAbsolutePosition(_7fe,true,_800);
_7fe.style.display=_805;
for(var _80a in _801){
var pos,_80c,_80d;
var _80e=_801[_80a];
_80c=_809.x+(_80a.charAt(1)=="L"?0:_807);
_80d=_809.y+(_80a.charAt(0)=="T"?0:_808);
pos=dojo.html.placeOnScreen(node,_80c,_80d,_7ff,true,_80e,true);
if(pos.dist==0){
best=pos;
break;
}else{
if(_804>pos.dist){
_804=pos.dist;
best=pos;
}
}
}
if(!_802){
node.style.left=best.left+"px";
node.style.top=best.top+"px";
}
return best;
};
dojo.html.scrollIntoView=function(node){
if(!node){
return;
}
if(dojo.render.html.ie){
if(dojo.html.getBorderBox(node.parentNode).height<=node.parentNode.scrollHeight){
node.scrollIntoView(false);
}
}else{
if(dojo.render.html.mozilla){
node.scrollIntoView(false);
}else{
var _810=node.parentNode;
var _811=_810.scrollTop+dojo.html.getBorderBox(_810).height;
var _812=node.offsetTop+dojo.html.getMarginBox(node).height;
if(_811<_812){
_810.scrollTop+=(_812-_811);
}else{
if(_810.scrollTop>node.offsetTop){
_810.scrollTop-=(_810.scrollTop-node.offsetTop);
}
}
}
}
};
dojo.provide("dojo.gfx.color");
dojo.gfx.color.Color=function(r,g,b,a){
if(dojo.lang.isArray(r)){
this.r=r[0];
this.g=r[1];
this.b=r[2];
this.a=r[3]||1;
}else{
if(dojo.lang.isString(r)){
var rgb=dojo.gfx.color.extractRGB(r);
this.r=rgb[0];
this.g=rgb[1];
this.b=rgb[2];
this.a=g||1;
}else{
if(r instanceof dojo.gfx.color.Color){
this.r=r.r;
this.b=r.b;
this.g=r.g;
this.a=r.a;
}else{
this.r=r;
this.g=g;
this.b=b;
this.a=a;
}
}
}
};
dojo.gfx.color.Color.fromArray=function(arr){
return new dojo.gfx.color.Color(arr[0],arr[1],arr[2],arr[3]);
};
dojo.extend(dojo.gfx.color.Color,{toRgb:function(_819){
if(_819){
return this.toRgba();
}else{
return [this.r,this.g,this.b];
}
},toRgba:function(){
return [this.r,this.g,this.b,this.a];
},toHex:function(){
return dojo.gfx.color.rgb2hex(this.toRgb());
},toCss:function(){
return "rgb("+this.toRgb().join()+")";
},toString:function(){
return this.toHex();
},blend:function(_81a,_81b){
var rgb=null;
if(dojo.lang.isArray(_81a)){
rgb=_81a;
}else{
if(_81a instanceof dojo.gfx.color.Color){
rgb=_81a.toRgb();
}else{
rgb=new dojo.gfx.color.Color(_81a).toRgb();
}
}
return dojo.gfx.color.blend(this.toRgb(),rgb,_81b);
}});
dojo.gfx.color.named={white:[255,255,255],black:[0,0,0],red:[255,0,0],green:[0,255,0],lime:[0,255,0],blue:[0,0,255],navy:[0,0,128],gray:[128,128,128],silver:[192,192,192]};
dojo.gfx.color.blend=function(a,b,_81f){
if(typeof a=="string"){
return dojo.gfx.color.blendHex(a,b,_81f);
}
if(!_81f){
_81f=0;
}
_81f=Math.min(Math.max(-1,_81f),1);
_81f=((_81f+1)/2);
var c=[];
for(var x=0;x<3;x++){
c[x]=parseInt(b[x]+((a[x]-b[x])*_81f));
}
return c;
};
dojo.gfx.color.blendHex=function(a,b,_824){
return dojo.gfx.color.rgb2hex(dojo.gfx.color.blend(dojo.gfx.color.hex2rgb(a),dojo.gfx.color.hex2rgb(b),_824));
};
dojo.gfx.color.extractRGB=function(_825){
_825=_825.toLowerCase();
if(_825.indexOf("rgb")==0){
var _826=_825.match(/rgba*\((\d+), *(\d+), *(\d+)/i);
var ret=_826.splice(1,3);
return ret;
}else{
var _828=dojo.gfx.color.hex2rgb(_825);
if(_828){
return _828;
}else{
return dojo.gfx.color.named[_825]||[255,255,255];
}
}
};
dojo.gfx.color.hex2rgb=function(hex){
var _82a="0123456789ABCDEF";
var rgb=new Array(3);
if(hex.indexOf("#")==0){
hex=hex.substring(1);
}
hex=hex.toUpperCase();
if(hex.replace(new RegExp("["+_82a+"]","g"),"")!=""){
return null;
}
if(hex.length==3){
rgb[0]=hex.charAt(0)+hex.charAt(0);
rgb[1]=hex.charAt(1)+hex.charAt(1);
rgb[2]=hex.charAt(2)+hex.charAt(2);
}else{
rgb[0]=hex.substring(0,2);
rgb[1]=hex.substring(2,4);
rgb[2]=hex.substring(4);
}
for(var i=0;i<rgb.length;i++){
rgb[i]=_82a.indexOf(rgb[i].charAt(0))*16+_82a.indexOf(rgb[i].charAt(1));
}
return rgb;
};
dojo.gfx.color.rgb2hex=function(r,g,b){
if(dojo.lang.isArray(r)){
g=r[1]||0;
b=r[2]||0;
r=r[0]||0;
}
var ret=dojo.lang.map([r,g,b],function(x){
x=new Number(x);
var s=x.toString(16);
while(s.length<2){
s="0"+s;
}
return s;
});
ret.unshift("#");
return ret.join("");
};
dojo.provide("dojo.html.color");
dojo.html.getBackgroundColor=function(node){
node=dojo.byId(node);
var _834;
do{
_834=dojo.html.getStyle(node,"background-color");
if(_834.toLowerCase()=="rgba(0, 0, 0, 0)"){
_834="transparent";
}
if(node==document.getElementsByTagName("body")[0]){
node=null;
break;
}
node=node.parentNode;
}while(node&&dojo.lang.inArray(["transparent",""],_834));
if(_834=="transparent"){
_834=[255,255,255,0];
}else{
_834=dojo.gfx.color.extractRGB(_834);
}
return _834;
};
dojo.provide("dojo.lfx.html");
dojo.lfx.html._byId=function(_835){
if(!_835){
return [];
}
if(dojo.lang.isArrayLike(_835)){
if(!_835.alreadyChecked){
var n=[];
dojo.lang.forEach(_835,function(node){
n.push(dojo.byId(node));
});
n.alreadyChecked=true;
return n;
}else{
return _835;
}
}else{
var n=[];
n.push(dojo.byId(_835));
n.alreadyChecked=true;
return n;
}
};
dojo.lfx.html.propertyAnimation=function(_838,_839,_83a,_83b,_83c){
_838=dojo.lfx.html._byId(_838);
var _83d={"propertyMap":_839,"nodes":_838,"duration":_83a,"easing":_83b||dojo.lfx.easeDefault};
var _83e=function(args){
if(args.nodes.length==1){
var pm=args.propertyMap;
if(!dojo.lang.isArray(args.propertyMap)){
var parr=[];
for(var _842 in pm){
pm[_842].property=_842;
parr.push(pm[_842]);
}
pm=args.propertyMap=parr;
}
dojo.lang.forEach(pm,function(prop){
if(dj_undef("start",prop)){
if(prop.property!="opacity"){
prop.start=parseInt(dojo.html.getComputedStyle(args.nodes[0],prop.property));
}else{
prop.start=dojo.html.getOpacity(args.nodes[0]);
}
}
});
}
};
var _844=function(_845){
var _846=[];
dojo.lang.forEach(_845,function(c){
_846.push(Math.round(c));
});
return _846;
};
var _848=function(n,_84a){
n=dojo.byId(n);
if(!n||!n.style){
return;
}
for(var s in _84a){
try{
if(s=="opacity"){
dojo.html.setOpacity(n,_84a[s]);
}else{
n.style[s]=_84a[s];
}
}
catch(e){
dojo.debug(e);
}
}
};
var _84c=function(_84d){
this._properties=_84d;
this.diffs=new Array(_84d.length);
dojo.lang.forEach(_84d,function(prop,i){
if(dojo.lang.isFunction(prop.start)){
prop.start=prop.start(prop,i);
}
if(dojo.lang.isFunction(prop.end)){
prop.end=prop.end(prop,i);
}
if(dojo.lang.isArray(prop.start)){
this.diffs[i]=null;
}else{
if(prop.start instanceof dojo.gfx.color.Color){
prop.startRgb=prop.start.toRgb();
prop.endRgb=prop.end.toRgb();
}else{
this.diffs[i]=prop.end-prop.start;
}
}
},this);
this.getValue=function(n){
var ret={};
dojo.lang.forEach(this._properties,function(prop,i){
var _854=null;
if(dojo.lang.isArray(prop.start)){
}else{
if(prop.start instanceof dojo.gfx.color.Color){
_854=(prop.units||"rgb")+"(";
for(var j=0;j<prop.startRgb.length;j++){
_854+=Math.round(((prop.endRgb[j]-prop.startRgb[j])*n)+prop.startRgb[j])+(j<prop.startRgb.length-1?",":"");
}
_854+=")";
}else{
_854=((this.diffs[i])*n)+prop.start+(prop.property!="opacity"?prop.units||"px":"");
}
}
ret[dojo.html.toCamelCase(prop.property)]=_854;
},this);
return ret;
};
};
var anim=new dojo.lfx.Animation({beforeBegin:function(){
_83e(_83d);
anim.curve=new _84c(_83d.propertyMap);
},onAnimate:function(_857){
dojo.lang.forEach(_83d.nodes,function(node){
_848(node,_857);
});
}},_83d.duration,null,_83d.easing);
if(_83c){
for(var x in _83c){
if(dojo.lang.isFunction(_83c[x])){
anim.connect(x,anim,_83c[x]);
}
}
}
return anim;
};
dojo.lfx.html._makeFadeable=function(_85a){
var _85b=function(node){
if(dojo.render.html.ie){
if((node.style.zoom.length==0)&&(dojo.html.getStyle(node,"zoom")=="normal")){
node.style.zoom="1";
}
if((node.style.width.length==0)&&(dojo.html.getStyle(node,"width")=="auto")){
node.style.width="auto";
}
}
};
if(dojo.lang.isArrayLike(_85a)){
dojo.lang.forEach(_85a,_85b);
}else{
_85b(_85a);
}
};
dojo.lfx.html.fade=function(_85d,_85e,_85f,_860,_861){
_85d=dojo.lfx.html._byId(_85d);
var _862={property:"opacity"};
if(!dj_undef("start",_85e)){
_862.start=_85e.start;
}else{
_862.start=function(){
return dojo.html.getOpacity(_85d[0]);
};
}
if(!dj_undef("end",_85e)){
_862.end=_85e.end;
}else{
dojo.raise("dojo.lfx.html.fade needs an end value");
}
var anim=dojo.lfx.propertyAnimation(_85d,[_862],_85f,_860);
anim.connect("beforeBegin",function(){
dojo.lfx.html._makeFadeable(_85d);
});
if(_861){
anim.connect("onEnd",function(){
_861(_85d,anim);
});
}
return anim;
};
dojo.lfx.html.fadeIn=function(_864,_865,_866,_867){
return dojo.lfx.html.fade(_864,{end:1},_865,_866,_867);
};
dojo.lfx.html.fadeOut=function(_868,_869,_86a,_86b){
return dojo.lfx.html.fade(_868,{end:0},_869,_86a,_86b);
};
dojo.lfx.html.fadeShow=function(_86c,_86d,_86e,_86f){
_86c=dojo.lfx.html._byId(_86c);
dojo.lang.forEach(_86c,function(node){
dojo.html.setOpacity(node,0);
});
var anim=dojo.lfx.html.fadeIn(_86c,_86d,_86e,_86f);
anim.connect("beforeBegin",function(){
if(dojo.lang.isArrayLike(_86c)){
dojo.lang.forEach(_86c,dojo.html.show);
}else{
dojo.html.show(_86c);
}
});
return anim;
};
dojo.lfx.html.fadeHide=function(_872,_873,_874,_875){
var anim=dojo.lfx.html.fadeOut(_872,_873,_874,function(){
if(dojo.lang.isArrayLike(_872)){
dojo.lang.forEach(_872,dojo.html.hide);
}else{
dojo.html.hide(_872);
}
if(_875){
_875(_872,anim);
}
});
return anim;
};
dojo.lfx.html.wipeIn=function(_877,_878,_879,_87a){
_877=dojo.lfx.html._byId(_877);
var _87b=[];
dojo.lang.forEach(_877,function(node){
var _87d={};
var _87e,_87f,_880;
with(node.style){
_87e=top;
_87f=left;
_880=position;
top="-9999px";
left="-9999px";
position="absolute";
display="";
}
var _881=dojo.html.getBorderBox(node).height;
with(node.style){
top=_87e;
left=_87f;
position=_880;
display="none";
}
var anim=dojo.lfx.propertyAnimation(node,{"height":{start:1,end:function(){
return _881;
}}},_878,_879);
anim.connect("beforeBegin",function(){
_87d.overflow=node.style.overflow;
_87d.height=node.style.height;
with(node.style){
overflow="hidden";
height="1px";
}
dojo.html.show(node);
});
anim.connect("onEnd",function(){
with(node.style){
overflow=_87d.overflow;
height=_87d.height;
}
if(_87a){
_87a(node,anim);
}
});
_87b.push(anim);
});
return dojo.lfx.combine(_87b);
};
dojo.lfx.html.wipeOut=function(_883,_884,_885,_886){
_883=dojo.lfx.html._byId(_883);
var _887=[];
dojo.lang.forEach(_883,function(node){
var _889={};
var anim=dojo.lfx.propertyAnimation(node,{"height":{start:function(){
return dojo.html.getContentBox(node).height;
},end:1}},_884,_885,{"beforeBegin":function(){
_889.overflow=node.style.overflow;
_889.height=node.style.height;
with(node.style){
overflow="hidden";
}
dojo.html.show(node);
},"onEnd":function(){
dojo.html.hide(node);
with(node.style){
overflow=_889.overflow;
height=_889.height;
}
if(_886){
_886(node,anim);
}
}});
_887.push(anim);
});
return dojo.lfx.combine(_887);
};
dojo.lfx.html.slideTo=function(_88b,_88c,_88d,_88e,_88f){
_88b=dojo.lfx.html._byId(_88b);
var _890=[];
var _891=dojo.html.getComputedStyle;
if(dojo.lang.isArray(_88c)){
dojo.deprecated("dojo.lfx.html.slideTo(node, array)","use dojo.lfx.html.slideTo(node, {top: value, left: value});","0.5");
_88c={top:_88c[0],left:_88c[1]};
}
dojo.lang.forEach(_88b,function(node){
var top=null;
var left=null;
var init=(function(){
var _896=node;
return function(){
var pos=_891(_896,"position");
top=(pos=="absolute"?node.offsetTop:parseInt(_891(node,"top"))||0);
left=(pos=="absolute"?node.offsetLeft:parseInt(_891(node,"left"))||0);
if(!dojo.lang.inArray(["absolute","relative"],pos)){
var ret=dojo.html.abs(_896,true);
dojo.html.setStyleAttributes(_896,"position:absolute;top:"+ret.y+"px;left:"+ret.x+"px;");
top=ret.y;
left=ret.x;
}
};
})();
init();
var anim=dojo.lfx.propertyAnimation(node,{"top":{start:top,end:(_88c.top||0)},"left":{start:left,end:(_88c.left||0)}},_88d,_88e,{"beforeBegin":init});
if(_88f){
anim.connect("onEnd",function(){
_88f(_88b,anim);
});
}
_890.push(anim);
});
return dojo.lfx.combine(_890);
};
dojo.lfx.html.slideBy=function(_89a,_89b,_89c,_89d,_89e){
_89a=dojo.lfx.html._byId(_89a);
var _89f=[];
var _8a0=dojo.html.getComputedStyle;
if(dojo.lang.isArray(_89b)){
dojo.deprecated("dojo.lfx.html.slideBy(node, array)","use dojo.lfx.html.slideBy(node, {top: value, left: value});","0.5");
_89b={top:_89b[0],left:_89b[1]};
}
dojo.lang.forEach(_89a,function(node){
var top=null;
var left=null;
var init=(function(){
var _8a5=node;
return function(){
var pos=_8a0(_8a5,"position");
top=(pos=="absolute"?node.offsetTop:parseInt(_8a0(node,"top"))||0);
left=(pos=="absolute"?node.offsetLeft:parseInt(_8a0(node,"left"))||0);
if(!dojo.lang.inArray(["absolute","relative"],pos)){
var ret=dojo.html.abs(_8a5,true);
dojo.html.setStyleAttributes(_8a5,"position:absolute;top:"+ret.y+"px;left:"+ret.x+"px;");
top=ret.y;
left=ret.x;
}
};
})();
init();
var anim=dojo.lfx.propertyAnimation(node,{"top":{start:top,end:top+(_89b.top||0)},"left":{start:left,end:left+(_89b.left||0)}},_89c,_89d).connect("beforeBegin",init);
if(_89e){
anim.connect("onEnd",function(){
_89e(_89a,anim);
});
}
_89f.push(anim);
});
return dojo.lfx.combine(_89f);
};
dojo.lfx.html.explode=function(_8a9,_8aa,_8ab,_8ac,_8ad){
var h=dojo.html;
_8a9=dojo.byId(_8a9);
_8aa=dojo.byId(_8aa);
var _8af=h.toCoordinateObject(_8a9,true);
var _8b0=document.createElement("div");
h.copyStyle(_8b0,_8aa);
if(_8aa.explodeClassName){
_8b0.className=_8aa.explodeClassName;
}
with(_8b0.style){
position="absolute";
display="none";
var _8b1=h.getStyle(_8a9,"background-color");
backgroundColor=_8b1?_8b1.toLowerCase():"transparent";
backgroundColor=(backgroundColor=="transparent")?"rgb(221, 221, 221)":backgroundColor;
}
dojo.body().appendChild(_8b0);
with(_8aa.style){
visibility="hidden";
display="block";
}
var _8b2=h.toCoordinateObject(_8aa,true);
with(_8aa.style){
display="none";
visibility="visible";
}
var _8b3={opacity:{start:0.5,end:1}};
dojo.lang.forEach(["height","width","top","left"],function(type){
_8b3[type]={start:_8af[type],end:_8b2[type]};
});
var anim=new dojo.lfx.propertyAnimation(_8b0,_8b3,_8ab,_8ac,{"beforeBegin":function(){
h.setDisplay(_8b0,"block");
},"onEnd":function(){
h.setDisplay(_8aa,"block");
_8b0.parentNode.removeChild(_8b0);
}});
if(_8ad){
anim.connect("onEnd",function(){
_8ad(_8aa,anim);
});
}
return anim;
};
dojo.lfx.html.implode=function(_8b6,end,_8b8,_8b9,_8ba){
var h=dojo.html;
_8b6=dojo.byId(_8b6);
end=dojo.byId(end);
var _8bc=dojo.html.toCoordinateObject(_8b6,true);
var _8bd=dojo.html.toCoordinateObject(end,true);
var _8be=document.createElement("div");
dojo.html.copyStyle(_8be,_8b6);
if(_8b6.explodeClassName){
_8be.className=_8b6.explodeClassName;
}
dojo.html.setOpacity(_8be,0.3);
with(_8be.style){
position="absolute";
display="none";
backgroundColor=h.getStyle(_8b6,"background-color").toLowerCase();
}
dojo.body().appendChild(_8be);
var _8bf={opacity:{start:1,end:0.5}};
dojo.lang.forEach(["height","width","top","left"],function(type){
_8bf[type]={start:_8bc[type],end:_8bd[type]};
});
var anim=new dojo.lfx.propertyAnimation(_8be,_8bf,_8b8,_8b9,{"beforeBegin":function(){
dojo.html.hide(_8b6);
dojo.html.show(_8be);
},"onEnd":function(){
_8be.parentNode.removeChild(_8be);
}});
if(_8ba){
anim.connect("onEnd",function(){
_8ba(_8b6,anim);
});
}
return anim;
};
dojo.lfx.html.highlight=function(_8c2,_8c3,_8c4,_8c5,_8c6){
_8c2=dojo.lfx.html._byId(_8c2);
var _8c7=[];
dojo.lang.forEach(_8c2,function(node){
var _8c9=dojo.html.getBackgroundColor(node);
var bg=dojo.html.getStyle(node,"background-color").toLowerCase();
var _8cb=dojo.html.getStyle(node,"background-image");
var _8cc=(bg=="transparent"||bg=="rgba(0, 0, 0, 0)");
while(_8c9.length>3){
_8c9.pop();
}
var rgb=new dojo.gfx.color.Color(_8c3);
var _8ce=new dojo.gfx.color.Color(_8c9);
var anim=dojo.lfx.propertyAnimation(node,{"background-color":{start:rgb,end:_8ce}},_8c4,_8c5,{"beforeBegin":function(){
if(_8cb){
node.style.backgroundImage="none";
}
node.style.backgroundColor="rgb("+rgb.toRgb().join(",")+")";
},"onEnd":function(){
if(_8cb){
node.style.backgroundImage=_8cb;
}
if(_8cc){
node.style.backgroundColor="transparent";
}
if(_8c6){
_8c6(node,anim);
}
}});
_8c7.push(anim);
});
return dojo.lfx.combine(_8c7);
};
dojo.lfx.html.unhighlight=function(_8d0,_8d1,_8d2,_8d3,_8d4){
_8d0=dojo.lfx.html._byId(_8d0);
var _8d5=[];
dojo.lang.forEach(_8d0,function(node){
var _8d7=new dojo.gfx.color.Color(dojo.html.getBackgroundColor(node));
var rgb=new dojo.gfx.color.Color(_8d1);
var _8d9=dojo.html.getStyle(node,"background-image");
var anim=dojo.lfx.propertyAnimation(node,{"background-color":{start:_8d7,end:rgb}},_8d2,_8d3,{"beforeBegin":function(){
if(_8d9){
node.style.backgroundImage="none";
}
node.style.backgroundColor="rgb("+_8d7.toRgb().join(",")+")";
},"onEnd":function(){
if(_8d4){
_8d4(node,anim);
}
}});
_8d5.push(anim);
});
return dojo.lfx.combine(_8d5);
};
dojo.lang.mixin(dojo.lfx,dojo.lfx.html);
dojo.kwCompoundRequire({browser:["dojo.lfx.html"],dashboard:["dojo.lfx.html"]});
dojo.provide("dojo.lfx.*");
dojo.provide("dojo.lfx.toggle");
dojo.lfx.toggle.plain={show:function(node,_8dc,_8dd,_8de){
dojo.html.show(node);
if(dojo.lang.isFunction(_8de)){
_8de();
}
},hide:function(node,_8e0,_8e1,_8e2){
dojo.html.hide(node);
if(dojo.lang.isFunction(_8e2)){
_8e2();
}
}};
dojo.lfx.toggle.fade={show:function(node,_8e4,_8e5,_8e6){
dojo.lfx.fadeShow(node,_8e4,_8e5,_8e6).play();
},hide:function(node,_8e8,_8e9,_8ea){
dojo.lfx.fadeHide(node,_8e8,_8e9,_8ea).play();
}};
dojo.lfx.toggle.wipe={show:function(node,_8ec,_8ed,_8ee){
dojo.lfx.wipeIn(node,_8ec,_8ed,_8ee).play();
},hide:function(node,_8f0,_8f1,_8f2){
dojo.lfx.wipeOut(node,_8f0,_8f1,_8f2).play();
}};
dojo.lfx.toggle.explode={show:function(node,_8f4,_8f5,_8f6,_8f7){
dojo.lfx.explode(_8f7||{x:0,y:0,width:0,height:0},node,_8f4,_8f5,_8f6).play();
},hide:function(node,_8f9,_8fa,_8fb,_8fc){
dojo.lfx.implode(node,_8fc||{x:0,y:0,width:0,height:0},_8f9,_8fa,_8fb).play();
}};
dojo.provide("dojo.widget.HtmlWidget");
dojo.declare("dojo.widget.HtmlWidget",dojo.widget.DomWidget,{templateCssPath:null,templatePath:null,lang:"",toggle:"plain",toggleDuration:150,initialize:function(args,frag){
},postMixInProperties:function(args,frag){
if(this.lang===""){
this.lang=null;
}
this.toggleObj=dojo.lfx.toggle[this.toggle.toLowerCase()]||dojo.lfx.toggle.plain;
},createNodesFromText:function(txt,wrap){
return dojo.html.createNodesFromText(txt,wrap);
},destroyRendering:function(_903){
try{
if(this.bgIframe){
this.bgIframe.remove();
delete this.bgIframe;
}
if(!_903&&this.domNode){
dojo.event.browser.clean(this.domNode);
}
dojo.widget.HtmlWidget.superclass.destroyRendering.call(this);
}
catch(e){
}
},isShowing:function(){
return dojo.html.isShowing(this.domNode);
},toggleShowing:function(){
if(this.isShowing()){
this.hide();
}else{
this.show();
}
},show:function(){
if(this.isShowing()){
return;
}
this.animationInProgress=true;
this.toggleObj.show(this.domNode,this.toggleDuration,null,dojo.lang.hitch(this,this.onShow),this.explodeSrc);
},onShow:function(){
this.animationInProgress=false;
this.checkSize();
},hide:function(){
if(!this.isShowing()){
return;
}
this.animationInProgress=true;
this.toggleObj.hide(this.domNode,this.toggleDuration,null,dojo.lang.hitch(this,this.onHide),this.explodeSrc);
},onHide:function(){
this.animationInProgress=false;
},_isResized:function(w,h){
if(!this.isShowing()){
return false;
}
var wh=dojo.html.getMarginBox(this.domNode);
var _907=w||wh.width;
var _908=h||wh.height;
if(this.width==_907&&this.height==_908){
return false;
}
this.width=_907;
this.height=_908;
return true;
},checkSize:function(){
if(!this._isResized()){
return;
}
this.onResized();
},resizeTo:function(w,h){
dojo.html.setMarginBox(this.domNode,{width:w,height:h});
if(this.isShowing()){
this.onResized();
}
},resizeSoon:function(){
if(this.isShowing()){
dojo.lang.setTimeout(this,this.onResized,0);
}
},onResized:function(){
dojo.lang.forEach(this.children,function(_90b){
if(_90b.checkSize){
_90b.checkSize();
}
});
}});
dojo.kwCompoundRequire({common:["dojo.xml.Parse","dojo.widget.Widget","dojo.widget.Parse","dojo.widget.Manager"],browser:["dojo.widget.DomWidget","dojo.widget.HtmlWidget"],dashboard:["dojo.widget.DomWidget","dojo.widget.HtmlWidget"],svg:["dojo.widget.SvgWidget"],rhino:["dojo.widget.SwtWidget"]});
dojo.provide("dojo.widget.*");
dojo.provide("dojo.widget.ContentPane");
dojo.widget.defineWidget("dojo.widget.ContentPane",dojo.widget.HtmlWidget,function(){
this._styleNodes=[];
this._onLoadStack=[];
this._onUnloadStack=[];
this._callOnUnload=false;
this._ioBindObj;
this.scriptScope;
this.bindArgs={};
},{isContainer:true,adjustPaths:true,href:"",extractContent:true,parseContent:true,cacheContent:true,preload:false,refreshOnShow:false,handler:"",executeScripts:false,scriptSeparation:true,loadingMessage:"Loading...",isLoaded:false,postCreate:function(args,frag,_90e){
if(this.handler!==""){
this.setHandler(this.handler);
}
if(this.isShowing()||this.preload){
this.loadContents();
}
},show:function(){
if(this.refreshOnShow){
this.refresh();
}else{
this.loadContents();
}
dojo.widget.ContentPane.superclass.show.call(this);
},refresh:function(){
this.isLoaded=false;
this.loadContents();
},loadContents:function(){
if(this.isLoaded){
return;
}
if(dojo.lang.isFunction(this.handler)){
this._runHandler();
}else{
if(this.href!=""){
this._downloadExternalContent(this.href,this.cacheContent&&!this.refreshOnShow);
}
}
},setUrl:function(url){
this.href=url;
this.isLoaded=false;
if(this.preload||this.isShowing()){
this.loadContents();
}
},abort:function(){
var bind=this._ioBindObj;
if(!bind||!bind.abort){
return;
}
bind.abort();
delete this._ioBindObj;
},_downloadExternalContent:function(url,_912){
this.abort();
this._handleDefaults(this.loadingMessage,"onDownloadStart");
var self=this;
this._ioBindObj=dojo.io.bind(this._cacheSetting({url:url,mimetype:"text/html",handler:function(type,data,xhr){
delete self._ioBindObj;
if(type=="load"){
self.onDownloadEnd.call(self,url,data);
}else{
var e={responseText:xhr.responseText,status:xhr.status,statusText:xhr.statusText,responseHeaders:xhr.getAllResponseHeaders(),text:"Error loading '"+url+"' ("+xhr.status+" "+xhr.statusText+")"};
self._handleDefaults.call(self,e,"onDownloadError");
self.onLoad();
}
}},_912));
},_cacheSetting:function(_918,_919){
for(var x in this.bindArgs){
if(dojo.lang.isUndefined(_918[x])){
_918[x]=this.bindArgs[x];
}
}
if(dojo.lang.isUndefined(_918.useCache)){
_918.useCache=_919;
}
if(dojo.lang.isUndefined(_918.preventCache)){
_918.preventCache=!_919;
}
if(dojo.lang.isUndefined(_918.mimetype)){
_918.mimetype="text/html";
}
return _918;
},onLoad:function(e){
this._runStack("_onLoadStack");
this.isLoaded=true;
},onUnLoad:function(e){
dojo.deprecated(this.widgetType+".onUnLoad, use .onUnload (lowercased load)",0.5);
},onUnload:function(e){
this._runStack("_onUnloadStack");
delete this.scriptScope;
if(this.onUnLoad!==dojo.widget.ContentPane.prototype.onUnLoad){
this.onUnLoad.apply(this,arguments);
}
},_runStack:function(_91e){
var st=this[_91e];
var err="";
var _921=this.scriptScope||window;
for(var i=0;i<st.length;i++){
try{
st[i].call(_921);
}
catch(e){
err+="\n"+st[i]+" failed: "+e.description;
}
}
this[_91e]=[];
if(err.length){
var name=(_91e=="_onLoadStack")?"addOnLoad":"addOnUnLoad";
this._handleDefaults(name+" failure\n "+err,"onExecError","debug");
}
},addOnLoad:function(obj,func){
this._pushOnStack(this._onLoadStack,obj,func);
},addOnUnload:function(obj,func){
this._pushOnStack(this._onUnloadStack,obj,func);
},addOnUnLoad:function(){
dojo.deprecated(this.widgetType+".addOnUnLoad, use addOnUnload instead. (lowercased Load)",0.5);
this.addOnUnload.apply(this,arguments);
},_pushOnStack:function(_928,obj,func){
if(typeof func=="undefined"){
_928.push(obj);
}else{
_928.push(function(){
obj[func]();
});
}
},destroy:function(){
this.onUnload();
dojo.widget.ContentPane.superclass.destroy.call(this);
},onExecError:function(e){
},onContentError:function(e){
},onDownloadError:function(e){
},onDownloadStart:function(e){
},onDownloadEnd:function(url,data){
data=this.splitAndFixPaths(data,url);
this.setContent(data);
},_handleDefaults:function(e,_932,_933){
if(!_932){
_932="onContentError";
}
if(dojo.lang.isString(e)){
e={text:e};
}
if(!e.text){
e.text=e.toString();
}
e.toString=function(){
return this.text;
};
if(typeof e.returnValue!="boolean"){
e.returnValue=true;
}
if(typeof e.preventDefault!="function"){
e.preventDefault=function(){
this.returnValue=false;
};
}
this[_932](e);
if(e.returnValue){
switch(_933){
case true:
case "alert":
alert(e.toString());
break;
case "debug":
dojo.debug(e.toString());
break;
default:
if(this._callOnUnload){
this.onUnload();
}
this._callOnUnload=false;
if(arguments.callee._loopStop){
dojo.debug(e.toString());
}else{
arguments.callee._loopStop=true;
this._setContent(e.toString());
}
}
}
arguments.callee._loopStop=false;
},splitAndFixPaths:function(s,url){
var _936=[],_937=[],tmp=[];
var _939=[],_93a=[],attr=[],_93c=[];
var str="",path="",fix="",_940="",tag="",_942="";
if(!url){
url="./";
}
if(s){
var _943=/<title[^>]*>([\s\S]*?)<\/title>/i;
while(_939=_943.exec(s)){
_936.push(_939[1]);
s=s.substring(0,_939.index)+s.substr(_939.index+_939[0].length);
}
if(this.adjustPaths){
var _944=/<[a-z][a-z0-9]*[^>]*\s(?:(?:src|href|style)=[^>])+[^>]*>/i;
var _945=/\s(src|href|style)=(['"]?)([\w()\[\]\/.,\\'"-:;#=&?\s@]+?)\2/i;
var _946=/^(?:[#]|(?:(?:https?|ftps?|file|javascript|mailto|news):))/;
while(tag=_944.exec(s)){
str+=s.substring(0,tag.index);
s=s.substring((tag.index+tag[0].length),s.length);
tag=tag[0];
_940="";
while(attr=_945.exec(tag)){
path="";
_942=attr[3];
switch(attr[1].toLowerCase()){
case "src":
case "href":
if(_946.exec(_942)){
path=_942;
}else{
path=(new dojo.uri.Uri(url,_942).toString());
}
break;
case "style":
path=dojo.html.fixPathsInCssText(_942,url);
break;
default:
path=_942;
}
fix=" "+attr[1]+"="+attr[2]+path+attr[2];
_940+=tag.substring(0,attr.index)+fix;
tag=tag.substring((attr.index+attr[0].length),tag.length);
}
str+=_940+tag;
}
s=str+s;
}
_943=/(?:<(style)[^>]*>([\s\S]*?)<\/style>|<link ([^>]*rel=['"]?stylesheet['"]?[^>]*)>)/i;
while(_939=_943.exec(s)){
if(_939[1]&&_939[1].toLowerCase()=="style"){
_93c.push(dojo.html.fixPathsInCssText(_939[2],url));
}else{
if(attr=_939[3].match(/href=(['"]?)([^'">]*)\1/i)){
_93c.push({path:attr[2]});
}
}
s=s.substring(0,_939.index)+s.substr(_939.index+_939[0].length);
}
var _943=/<script([^>]*)>([\s\S]*?)<\/script>/i;
var _947=/src=(['"]?)([^"']*)\1/i;
var _948=/.*(\bdojo\b\.js(?:\.uncompressed\.js)?)$/;
var _949=/(?:var )?\bdjConfig\b(?:[\s]*=[\s]*\{[^}]+\}|\.[\w]*[\s]*=[\s]*[^;\n]*)?;?|dojo\.hostenv\.writeIncludes\(\s*\);?/g;
var _94a=/dojo\.(?:(?:require(?:After)?(?:If)?)|(?:widget\.(?:manager\.)?registerWidgetPackage)|(?:(?:hostenv\.)?setModulePrefix|registerModulePath)|defineNamespace)\((['"]).*?\1\)\s*;?/;
while(_939=_943.exec(s)){
if(this.executeScripts&&_939[1]){
if(attr=_947.exec(_939[1])){
if(_948.exec(attr[2])){
dojo.debug("Security note! inhibit:"+attr[2]+" from  being loaded again.");
}else{
_937.push({path:attr[2]});
}
}
}
if(_939[2]){
var sc=_939[2].replace(_949,"");
if(!sc){
continue;
}
while(tmp=_94a.exec(sc)){
_93a.push(tmp[0]);
sc=sc.substring(0,tmp.index)+sc.substr(tmp.index+tmp[0].length);
}
if(this.executeScripts){
_937.push(sc);
}
}
s=s.substr(0,_939.index)+s.substr(_939.index+_939[0].length);
}
if(this.extractContent){
_939=s.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
if(_939){
s=_939[1];
}
}
if(this.executeScripts&&this.scriptSeparation){
var _943=/(<[a-zA-Z][a-zA-Z0-9]*\s[^>]*?\S=)((['"])[^>]*scriptScope[^>]*>)/;
var _94c=/([\s'";:\(])scriptScope(.*)/;
str="";
while(tag=_943.exec(s)){
tmp=((tag[3]=="'")?"\"":"'");
fix="";
str+=s.substring(0,tag.index)+tag[1];
while(attr=_94c.exec(tag[2])){
tag[2]=tag[2].substring(0,attr.index)+attr[1]+"dojo.widget.byId("+tmp+this.widgetId+tmp+").scriptScope"+attr[2];
}
str+=tag[2];
s=s.substr(tag.index+tag[0].length);
}
s=str+s;
}
}
return {"xml":s,"styles":_93c,"titles":_936,"requires":_93a,"scripts":_937,"url":url};
},_setContent:function(cont){
this.destroyChildren();
for(var i=0;i<this._styleNodes.length;i++){
if(this._styleNodes[i]&&this._styleNodes[i].parentNode){
this._styleNodes[i].parentNode.removeChild(this._styleNodes[i]);
}
}
this._styleNodes=[];
try{
var node=this.containerNode||this.domNode;
while(node.firstChild){
dojo.html.destroyNode(node.firstChild);
}
if(typeof cont!="string"){
node.appendChild(cont);
}else{
node.innerHTML=cont;
}
}
catch(e){
e.text="Couldn't load content:"+e.description;
this._handleDefaults(e,"onContentError");
}
},setContent:function(data){
this.abort();
if(this._callOnUnload){
this.onUnload();
}
this._callOnUnload=true;
if(!data||dojo.html.isNode(data)){
this._setContent(data);
this.onResized();
this.onLoad();
}else{
if(typeof data.xml!="string"){
this.href="";
data=this.splitAndFixPaths(data);
}
this._setContent(data.xml);
for(var i=0;i<data.styles.length;i++){
if(data.styles[i].path){
this._styleNodes.push(dojo.html.insertCssFile(data.styles[i].path,dojo.doc(),false,true));
}else{
this._styleNodes.push(dojo.html.insertCssText(data.styles[i]));
}
}
if(this.parseContent){
for(var i=0;i<data.requires.length;i++){
try{
eval(data.requires[i]);
}
catch(e){
e.text="ContentPane: error in package loading calls, "+(e.description||e);
this._handleDefaults(e,"onContentError","debug");
}
}
}
var _952=this;
function asyncParse(){
if(_952.executeScripts){
_952._executeScripts(data.scripts);
}
if(_952.parseContent){
var node=_952.containerNode||_952.domNode;
var _954=new dojo.xml.Parse();
var frag=_954.parseElement(node,null,true);
dojo.widget.getParser().createSubComponents(frag,_952);
}
_952.onResized();
_952.onLoad();
}
if(dojo.hostenv.isXDomain&&data.requires.length){
dojo.addOnLoad(asyncParse);
}else{
asyncParse();
}
}
},setHandler:function(_956){
var fcn=dojo.lang.isFunction(_956)?_956:window[_956];
if(!dojo.lang.isFunction(fcn)){
this._handleDefaults("Unable to set handler, '"+_956+"' not a function.","onExecError",true);
return;
}
this.handler=function(){
return fcn.apply(this,arguments);
};
},_runHandler:function(){
var ret=true;
if(dojo.lang.isFunction(this.handler)){
this.handler(this,this.domNode);
ret=false;
}
this.onLoad();
return ret;
},_executeScripts:function(_959){
var self=this;
var tmp="",code="";
for(var i=0;i<_959.length;i++){
if(_959[i].path){
dojo.io.bind(this._cacheSetting({"url":_959[i].path,"load":function(type,_95f){
dojo.lang.hitch(self,tmp=";"+_95f);
},"error":function(type,_961){
_961.text=type+" downloading remote script";
self._handleDefaults.call(self,_961,"onExecError","debug");
},"mimetype":"text/plain","sync":true},this.cacheContent));
code+=tmp;
}else{
code+=_959[i];
}
}
try{
if(this.scriptSeparation){
delete this.scriptScope;
this.scriptScope=new (new Function("_container_",code+"; return this;"))(self);
}else{
var djg=dojo.global();
if(djg.execScript){
djg.execScript(code);
}else{
var djd=dojo.doc();
var sc=djd.createElement("script");
sc.appendChild(djd.createTextNode(code));
(this.containerNode||this.domNode).appendChild(sc);
}
}
}
catch(e){
e.text="Error running scripts from content:\n"+e.description;
this._handleDefaults(e,"onExecError","debug");
}
}});
dojo.provide("otm.map.widget.BasicInfoWindow");
dojo.widget.defineWidget("otm.map.widget.BasicInfoWindow",dojo.widget.ContentPane,{widgetType:"BasicInfoWindow",templateString:"<div dojoAttachPoint=\"domNode\" class=\"infowinbasic\">\n\t<div dojoAttachPoint=\"bgNode\" class=\"iwb-bg\"></div>\n\t<div dojoAttachPoint=\"closeButtonNode\" class=\"iwb-closeIcon\" dojoAttachEvent=\"onclick:close; onmouseover:iehover; onmouseout:iehover;\"></div>\n\t<div dojoAttachPoint=\"outerNode\">\n\t\t<div dojoAttachPoint=\"containerNode\"></div>\n\t</div>\n</div>\n",templateCssString:".infowinbasic {\n\tposition: absolute;\n\tcursor: auto;\n}\n\n.iwb-bg {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: -1;\n}\n.iwb-loadingMessage {\n\tcolor: white;\n\tpadding: 5px;\n}\n.iwb-closeIcon {\n\tposition: absolute;\n\tright: 4px;\n\ttop: 0px;\n\twidth: 15px;\n\theight: 24px;\n\tcursor: pointer;\n\tz-index: 10;\n\t\n\tbackground: url(\"images/info_close.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='otm/map/widget/templates/images/info_close.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.iwb-closeIcon:hover, .iwb-closeIconhover {\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='otm/map/widget/templates/images/info_close_OVA.png', cssPathOffset='../../../../');\n\tbackground-position: -15px 0;\n}\n\n/* Cluster Info-Window styling */\n.mapClusterIW {\n\tpadding: 5px;\n\tmargin: 22px 0 18px 0;\n\twidth: 220px;\n\tbackground-color: white;\n\tfont: 9pt Helvetica,Arial,sans-serif;\n}\n.mapClusterIWHeader {\n\tposition: absolute;\n\ttop: 0;\n\twidth: 220px;\n\tfont: 11pt Helvetica,Arial,sans-serif;\n\tletter-spacing: 0.3pt;\n\tcolor: white;\n\tline-height: 22px;\n}\n.mapClusterIWHeader SPAN {\n\tvertical-align: middle;\n}\n.mapClusterIW TABLE {\n\tborder-collapse: collapse;\n\tborder-bottom: hidden;\n\twidth: 100%;\n}\n.mapClusterIW TABLE TBODY TR {\n\tborder-bottom: 1px solid black;\n}\n.mapClusterIWIcon {\n\tcursor: pointer;\n\tvertical-align: middle;\n\tmargin: 4px 0;\n}\n.mapClusterIWText {\n\tvertical-align: middle;\n\tcursor:pointer;\n\tcolor: black;\n}\n.mapClusterIWFooter {\n\tposition: absolute;\n\tbottom: 0;\n\twidth: 220px;\n\tfont: 9pt Helvetica,Arial,sans-serif;\n\tcolor: white;\n\tline-height: 18px;\n\ttext-align: center;\n}\n.mapClusterIWFooterText {\n\tvertical-align: middle;\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/BasicInfoWindow.css"),closeButtonNode:null,bgNode:null,executeScripts:true,showCloseButton:true,isHidden:true,maxWidth:0,backgroundColor:"#cccccc",borderColor:"#cccccc",backgroundOpacity:1,padding:"0px",border:"2px",offset:null,useScriptSrcIO:false,loadingMessage:"",initializer:function(){
this.loadingMessage="<span class='iwb-loadingMessage'>"+otm.map.strings.basicinfowindow_loading+"</span>";
},fillInTemplate:function(){
this.hide();
this._applyOptions();
if(dojo.render.html.ie60){
dojo.event.connect(this,"onResized",this,"ieBackgroundSize");
}
},_applyOptions:function(){
this.closeButtonNode.style.display=(this.showCloseButton)?"block":"none";
this.domNode.style.maxWidth=(this.maxWidth>0)?(this.maxWidth+"px"):"";
if(dojo.lang.isNumber(this.padding)){
this.padding=this.padding+"px";
}
this.outerNode.style.padding=this.padding;
if(dojo.lang.isNumber(this.border)){
this.border=this.border+"px";
}
if(this.border!="0px"){
this.domNode.style.border=this.border+" solid "+this.borderColor;
}else{
this.domNode.style.border="0";
}
this.bgNode.style.backgroundColor=this.backgroundColor;
dojo.html.setOpacity(this.bgNode,this.backgroundOpacity);
},postCreate:function(){
otm.map.enableSelection(this.domNode);
},setOptions:function(_965){
if(!dojo.lang.isUndefined(_965.showCloseButton)){
this.showCloseButton=_965.showCloseButton;
}
if(!dojo.lang.isUndefined(_965.maxWidth)){
this.maxWidth=_965.maxWidth;
}
if(!dojo.lang.isUndefined(_965.padding)){
this.padding=_965.padding;
}
if(!dojo.lang.isUndefined(_965.backgroundColor)){
this.backgroundColor=_965.backgroundColor;
}
if(!dojo.lang.isUndefined(_965.backgroundOpacity)){
this.backgroundOpacity=_965.backgroundOpacity;
}
if(!dojo.lang.isUndefined(_965.offset)){
this.offset=_965.offset;
}
if(!dojo.lang.isUndefined(_965.useScriptSrcIO)){
this.useScriptSrcIO=_965.useScriptSrcIO;
}
this._applyOptions();
},open:function(){
this.show();
},close:function(evt){
this.hide();
this.onclose((evt&&(evt.target==this.closeButtonNode)));
},position:function(_967){
var pos=_967;
pos.y=-pos.y;
if(this.offset){
pos.x+=this.offset.x;
pos.y+=this.offset.y;
}
this.domNode.style.left=pos.x+"px";
this.domNode.style.bottom=pos.y+"px";
},iehover:function(evt){
if(!dojo.render.html.ie60){
return;
}
var _96a=dojo.html.getClasses(evt.target);
if(evt.type=="mouseout"){
dojo.html.removeClass(evt.target,_96a[1]);
}else{
if(evt.type=="mouseover"){
dojo.html.addClass(evt.target,_96a[0]+"hover");
}
}
},ieBackgroundSize:function(){
var _96b=dojo.html.getMarginBox(this.domNode);
this.bgNode.style.width=_96b.width+"px";
this.bgNode.style.height=_96b.height+"px";
},_downloadExternalContent:function(url,_96d){
this._handleDefaults(otm.map.strings.basicinfowindow_loading,"onDownloadStart");
var self=this;
var req={url:url,useCache:_96d,preventCache:!_96d,mimetype:"text/html",handler:function(type,data,e){
if(type=="load"){
self.onDownloadEnd.call(self,url,data);
}else{
self._handleDefaults.call(self,otm.map.strings.basicinfowindow_error_loading+" '"+url+"' ("+e.status+" "+e.statusText+")","onDownloadError");
self.onLoad();
}
}};
if(this.useScriptSrcIO){
req.transport="ScriptSrcTransport";
req.jsonParamName="jsonp";
req.mimetype="text/json";
}
dojo.io.bind(req);
},onclose:function(){
},getExtent:function(){
var bb=new otm.map.ScreenBoundingBox();
bb.setLeft(parseInt(this.domNode.style.left));
bb.setBottom(-parseInt(this.domNode.style.bottom));
var _974=dojo.html.getMarginBox(this.domNode);
bb.setWidth(parseInt(_974.width));
bb.setHeight(parseInt(_974.height));
return bb;
}});
dojo.provide("otm.map.InfoWindowController");
dojo.declare("otm.map.InfoWindowController",null,{window:null,isOpen:false,map:null,div:null,initializer:function(map,div){
this.map=map;
this.div=div;
},open:function(_977,_978,_979){
if(this.isOpen){
this.close();
}
if(dojo.lang.isUndefined(_979)||!_979){
var _979={};
}
this._createWindow(_979);
if(dojo.lang.isArray(_978)){
throw new Error("otm.map.InfoWindowController: "+otm.map.strings.infowindowcontroller_tabbed_not_supported);
}
if(dojo.dom.isNode(_978)){
this.window.setContent(_978);
}else{
if(dojo.lang.isString(_978)&&(_978.length>0)&&(_978.charAt(0)=="<")){
this.window.setContent(_978);
}else{
if(dojo.lang.isString(_978)){
this.window.setUrl(_978);
}
}
}
if(_977.declaredClass=="otm.map.Marker"){
var _97a=_977;
if(dojo.lang.isUndefined(_979.offset)){
var icon=_97a.getIcon();
if(!icon){
icon=_97a.layer.getIcon(_97a.state);
}
_979.offset=icon.infoWindowOffset;
}
_977=_97a.point;
if(_97a.layer.infoWindowOptions){
this.window.setOptions(_97a.layer.infoWindowOptions);
}
}
var _97c=this.map.convertGeoToPx(_977);
dojo.debug("iwController: geo=",_977,"px=",_97c);
this.window.setOptions(_979);
this.window.position(_97c);
this.isOpen=true;
this.window.open();
this.map._panToIncludePx(this.window.getExtent());
},_createWindow:function(_97d){
if(_97d){
}
if(!this.window){
this.window=dojo.widget.createWidget("otm.map:BasicInfoWindow",{backgroundColor:this.map.controlColorBg,borderColor:this.map.controlColorBd},this.div,"last");
dojo.event.connect(this.window,"onclose",this,"onclose");
dojo.event.connect(this.window,"onResized",this,"onResized");
}
this.window.useScriptSrcIO=false;
},getNode:function(){
if(!this.window||!this.isOpen){
return null;
}else{
return this.window.containerNode;
}
},changeZoomLevel:function(){
this.close();
},close:function(){
if(this.window){
this.window.close();
}
},onclose:function(){
this.isOpen=false;
},onResized:function(){
if(!dojo.lang.isUndefined(this.map)&&this.isOpen){
dojo.debug("panning to include px: ",this.window.getExtent());
this.map._panToIncludePx(this.window.getExtent());
}
},openClusterWindow:function(_97e,_97f){
var _980=new otm.map.Point(_97e.point);
var _981="<div class='mapClusterIWHeader'><span>%{0}</span></div><table><tbody></tbody></table><div class='mapClusterIWFooter'><span class='mapClusterIWFooterText'>"+otm.map.strings.infowindowcontroller_footer+"</span></div>";
_981=dojo.string.substituteParams(_981,_97e.title);
var _982=document.createElement("div");
_982.innerHTML=_981;
dojo.html.addClass(_982,"mapClusterIW");
var _983=_982.childNodes[1].firstChild;
var _984=_97f.infoWindowOffset;
var self=this;
var cil=_97e.items.length;
for(var i=0;i<cil;i++){
var o=_97e.items[i];
var _989=this.map.layers.get(o.layer);
var _98a=document.createElement("tr");
var _98b=document.createElement("td");
var _98c=document.createElement("td");
if(_989){
var icon=_989.getIcon();
var img=(dojo.render.html.ie55||dojo.render.html.ie60)?document.createElement("span"):document.createElement("img");
dojo.html.addClass(img,"mapClusterIWIcon");
if(o.title){
img.title=o.title;
img.alttext=o.title;
}
if(dojo.render.html.ie55||dojo.render.html.ie60){
img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+icon.image+"',sizingMethod='scale')";
img.style.display="inline-block";
}else{
img.src=icon.image;
}
img.style.width=icon.iconSize.width;
img.style.height=icon.iconSize.height;
_98b.appendChild(img);
}
if(o.title){
var _98f=document.createElement("span");
dojo.html.addClass(_98f,"mapClusterIWText");
_98f.innerHTML=o.title;
_98c.appendChild(_98f);
}
dojo.event.browser.addListener(_98a,"onclick",(function(_990,o){
return function(){
_990.onmarkerclick(o);
};
})(_989,o));
_98a.appendChild(_98b);
_98a.appendChild(_98c);
_983.appendChild(_98a);
}
this.open(_980,_982,{offset:_984});
}});
dojo.provide("otm.map.LayerController");
dojo.declare("otm.map.LayerController",null,{_map:null,_mapdiv:null,vectorMgr:null,markerMgr:null,rasterMgr:null,_layercache:null,initializer:function(map,_993){
this._map=map;
this._mapdiv=_993;
},_getManager:function(_994){
var lm=null;
switch(_994.layerType){
case "RASTER":
lm=this.rasterMgr;
break;
case "VECTOR":
lm=this.vectorMgr;
break;
case "MARKER":
lm=this.markerMgr;
break;
default:
throw new Error("LayerController.getManager: "+otm.map.strings.layercontroller_error_unknown_layer_type+_994.layerType);
}
if(!lm){
throw new Error(otm.map.strings.layercontroller_error_not_loaded_for+_994.layerType);
}
return lm;
},add:function(_996,_997,_998){
if(this.get(_996)){
throw new Error("LayerController.add: "+otm.map.strings.layercontroller_error_layer_already_exists+_996.id);
}
this._getManager(_996).add(_996,_997);
this._layercache=null;
this._queueOnLayerChange(_998);
},_queueOnLayerChange:function(_999){
this.onlayerchange(_999);
},get:function(id){
var _99b=(this.markerMgr)?this.markerMgr.get(id):null;
if(_99b){
return _99b;
}
_99b=(this.vectorMgr)?this.vectorMgr.get(id):null;
if(_99b){
return _99b;
}
_99b=(this.rasterMgr)?this.rasterMgr.get(id):null;
return _99b;
},remove:function(_99c,_99d){
if(dojo.lang.isString(_99c)){
_99c=this.get(_99c);
}
this._getManager(_99c).remove(_99c);
this._layercache=null;
this.onlayerchange(_99d);
},move:function(_99e,_99f,_9a0){
if(dojo.lang.isString(_99e)){
_99e=this.get(_99e);
}
this._getManager(_99e).move(_99e,_99f);
this._layercache=null;
this.onlayerchange(_9a0);
},count:function(){
return ((this.markerMgr)?this.markerMgr.count():0)+((this.vectorMgr)?this.vectorMgr.count():0)+((this.rasterMgr)?this.rasterMgr.count():0);
},getIterator:function(){
return new dojo.collections.Iterator(this.getList());
},getReverseIterator:function(){
return new dojo.collections.Iterator(this.getList().reverse());
},getList:function(){
if(!this._layercache){
this._layercache=[].concat((this.markerMgr)?this.markerMgr.toArray():[],(this.vectorMgr)?this.vectorMgr.toArray():[],(this.rasterMgr)?this.rasterMgr.toArray():[]);
}
return this._layercache;
},render:function(){
if(this.rasterMgr){
this.rasterMgr.render();
}
if(this.vectorMgr){
this.vectorMgr.render();
}
if(this.markerMgr){
this.markerMgr.render();
}
},changeZoomLevel:function(){
if(this.rasterMgr){
this.rasterMgr.changeZoomLevel();
}
if(this.vectorMgr){
this.vectorMgr.changeZoomLevel();
}
if(this.markerMgr){
this.markerMgr.changeZoomLevel();
}
},onlayerchange:function(_9a1){
if(dojo.lang.isUndefined(_9a1)||_9a1){
this._map.render();
}
},startEditing:function(_9a2,_9a3,_9a4){
if(!_9a4){
_9a4={canAdd:true,canEdit:true,canDelete:true};
}
if(!_9a4.idHandler){
_9a4.idHandler=function(){
return new Date().valueOf().toString();
};
}
if(!_9a3){
_9a3=["POINT","LINE","POLYGON"];
}
this.onStartEditing(_9a2,_9a3,_9a4);
},stopEditing:function(undo){
this.onStopEditing(undo);
},onStartEditing:function(_9a6,_9a7,_9a8){
},onStopEditing:function(undo){
}});
dojo.provide("otm.map.LayerManager");
dojo.provide("otm.map.DataLayerManager");
dojo.provide("otm.map.RasterLayerManager");
dojo.declare("otm.map.LayerManager",null,{map:null,layers:null,_layerscache:null,initializer:function(map){
this.map=map;
this.layers=new dojo.collections.ArrayList();
},get:function(key){
var iter=this.getIterator();
while(!iter.atEnd()){
var _9ad=iter.get();
if(_9ad.id==key){
return _9ad;
}
}
return null;
},add:function(_9ae,_9af){
var k=_9ae.id;
if(this.get(k)){
throw new Error("Layer '"+k+"' "+otm.map.strings.layer_already_exists);
}
if(dojo.lang.isUndefined(_9af)){
var _9af=0;
}
dojo.event.connect(_9ae,"ondatachange",this,"layerdatachange");
this.layers.insert(_9af,_9ae);
this._layerscache=null;
this._addLayerToMap(_9ae);
this.onlayerchange();
},_addLayerToMap:function(_9b1){
_9b1.mapadd(this.map);
},remove:function(_9b2){
this.layers.remove(_9b2);
this._layerscache=null;
this._removeLayerFromMap(_9b2);
this.onlayerchange();
},_removeLayerFromMap:function(_9b3){
_9b3.destroy();
},move:function(_9b4,_9b5){
this.layers.remove(_9b4);
this.layers.insert(_9b5,_9b4);
this._layerscache=null;
this.onlayerchange();
},indexOf:function(_9b6){
return this.layers.indexOf(_9b6);
},toArray:function(){
return this.layers.toArray();
},count:function(){
return this.layers.toArray().length;
},render:function(){
if(this.map.isMoving){
this.doRender_quick();
}else{
this.doRender();
}
},getIterator:function(){
return this.layers.getIterator();
},getReverseIterator:function(){
if(!this._layerscache){
this._layerscache=this.layers.toArray().reverse();
}
return new dojo.collections.Iterator(this._layerscache);
},doRender_quick:function(){
this.doRender();
},doRender:function(){
var iter=this.getReverseIterator();
while(!iter.atEnd()){
var _9b8=iter.get();
_9b8.render();
}
},changeZoomLevel:function(){
},onlayerchange:function(){
},layerdatachange:function(_9b9){
if(!(this.map.isMoving)){
this.doRender();
}
}});
dojo.declare("otm.map.RasterLayerManager",otm.map.LayerManager,{changeZoomLevel:function(){
var iter=this.getIterator();
while(!iter.atEnd()){
var _9bb=iter.get();
_9bb.changeZoomLevel();
}
},onlayerchange:function(){
var zidx=100;
var iter=this.getIterator();
while(!iter.atEnd()){
var _9be=iter.get();
_9be.setZIndex(zidx--);
}
},add:function(_9bf,_9c0){
var k=_9bf.id;
if(this.get(k)){
throw new Error("Layer '"+k+"' "+otm.map.strings.layer_already_exists);
}
if(dojo.lang.isUndefined(_9c0)){
var _9c0=0;
}
this.layers.insert(_9c0,_9bf);
this._layerscache=null;
this._addLayerToMap(_9bf);
this.onlayerchange();
},_addLayerToMap:function(_9c2){
_9c2.mapadd(this.map);
}});
dojo.declare("otm.map.DataLayerManager",otm.map.LayerManager,{div:null,promoted:null,initializer:function(map,div){
this.div=div;
this.promoted=new dojo.collections.Dictionary();
},doRender_quick:function(){
this.doRender();
},doRender:function(){
this.promoted.clear();
var iter=this.getReverseIterator();
while(!iter.atEnd()){
var _9c6=iter.get();
this.onrender_prelayer(_9c6);
var _9c7=_9c6.getIterator();
var ii=0;
while(!_9c7.atEnd()){
var itm=_9c7.get();
var id=_9c6.id+"__"+itm.id;
if(itm.promoted){
this.promoted.add(id,{item:itm,layer:_9c6});
}else{
this.promoted.remove(id);
this.renderItemBase(itm,_9c6);
}
ii++;
}
this.onrender_postlayer(_9c6);
}
this.onrender_postbase();
var iter=this.promoted.getIterator();
iter.map(this.renderItemPromotedMap,this);
},renderItemBase:function(itm,_9cc){
throw new Error("LayerManager.renderItemBase: "+otm.map.strings.layermanager_must_override);
},renderItemPromoted:function(itm,_9ce){
throw new Error("LayerManager.renderItemPromoted: "+otm.map.strings.layermanager_must_override);
},renderItemPromotedMap:function(o){
this.renderItemPromoted(o.value.item,o.value.layer);
},onrender_prelayer:function(_9d0){
},onrender_postlayer:function(_9d1){
},onrender_postbase:function(){
}});
dojo.provide("otm.map.BoxTool");
dojo.declare("otm.map.BoxTool",null,{initializer:function(map){
this._map=map;
this._MODES={nothing:0,drawing:1,resizing:2};
this._mode=this._MODES.nothing;
this._size={};
this._createBox();
this.offset={};
this.setStyle("white","yellow");
},start:function(){
this._map._eventManager=this;
this.show();
dojo.event.connect(this._map.getContainerDiv(),"onmousemove",this,"_onmousemove");
dojo.event.connect(this._map.getContainerDiv(),"onmouseup",this,"_onmouseup");
dojo.event.connect(this._rectangleDiv,"onmousemove",this,"_onmousemove");
dojo.event.connect(this._rectangleDiv,"onmouseup",this,"_onmouseup");
dojo.event.connect(this._rectangleDiv,"onmousedown",this,"_startresize");
},mouseDown:function(_9d3){
if(_9d3.target==this._rectangleDiv){
this._startresize(_9d3);
return;
}
this._dragStartMouseX=_9d3.clientX;
this._dragStartMouseY=_9d3.clientY;
_9d3.preventDefault();
this.offset=dojo.html.getAbsolutePosition(this._rectangleDiv.parentNode);
this._mode=this._MODES.drawing;
},_createBox:function(){
this._rectangleDiv=document.createElement("div");
var rds=this._rectangleDiv.style;
rds.position="absolute";
rds.left="0px";
rds.top="0px";
rds.width="0px";
rds.height="0px";
rds.borderColor="white";
rds.borderWidth="1px";
rds.borderStyle="solid";
rds.zIndex=4000;
rds.cursor="crosshair";
var _9d5=this._map.getMapDiv();
_9d5.appendChild(this._rectangleDiv);
},_startresize:function(_9d6){
this._mode=this._MODES.resizing;
this._dragStartMouseX=_9d6.clientX;
this._dragStartMouseY=_9d6.clientY;
this._resizeMode=this._getMousePosType(_9d6);
this._orgLeft=this._left;
this._orgTop=this._top;
this._orgWidth=this._width;
this._orgHeight=this._height;
_9d6.preventDefault();
},_getMousePosType:function(_9d7){
var _9d8={};
_9d8.setLeft=Math.abs(_9d7.clientX-this._left)<5;
_9d8.setRight=Math.abs(_9d7.clientX-(this._left+this._width))<5;
_9d8.setTop=Math.abs(_9d7.clientY-this._top)<5;
_9d8.setBottom=Math.abs(_9d7.clientY-(this._top+this._height))<5;
return _9d8;
},_onmousemove:function(_9d9){
var left=this._left;
var top=this._top;
var _9dc=this._width;
var _9dd=this._height;
if(this._mode==this._MODES.drawing){
if(_9d9.clientX<this._dragStartMouseX){
left=(_9d9.clientX);
}else{
left=(this._dragStartMouseX);
}
_9dc=Math.abs(_9d9.clientX-this._dragStartMouseX);
if(_9d9.clientY<this._dragStartMouseY){
top=(_9d9.clientY);
}else{
top=(this._dragStartMouseY);
}
_9dd=Math.abs(_9d9.clientY-this._dragStartMouseY);
this._setSize(left,top,_9dc,_9dd);
}else{
if(this._mode==this._MODES.resizing){
var _9de=_9d9.clientX-this._dragStartMouseX;
var _9df=_9d9.clientY-this._dragStartMouseY;
if(this._resizeMode.setRight){
_9dc=_9de+this._orgWidth;
}else{
if(this._resizeMode.setLeft){
if(_9de>this._orgWidth){
_9de=this._orgWidth-1;
}
_9dc=this._orgWidth-(_9de);
left=_9de+this._orgLeft;
}
}
if(this._resizeMode.setBottom){
_9dd=_9df+this._orgHeight;
}else{
if(this._resizeMode.setTop){
if(_9df>this._orgHeight){
_9df=this._orgHeight-1;
}
_9dd=this._orgHeight-(_9df);
top=_9df+this._orgTop;
}
}
this._setSize(left,top,_9dc,_9dd);
}else{
if(this._mode==this._MODES.nothing){
var type=this._getMousePosType(_9d9);
if((type.setRight&&type.setTop)||(type.setLeft&&type.setBottom)){
this._rectangleDiv.style.cursor="ne-resize";
}else{
if((type.setRight&&type.setBottom)||(type.setLeft&&type.setTop)){
this._rectangleDiv.style.cursor="nw-resize";
}else{
if(type.setRight||type.setLeft){
this._rectangleDiv.style.cursor="e-resize";
}else{
if(type.setBottom||type.setTop){
this._rectangleDiv.style.cursor="n-resize";
}else{
this._rectangleDiv.style.cursor="crosshair";
}
}
}
}
}
}
}
},_setSize:function(left,top,_9e3,_9e4){
if(_9e3<1){
_9e3=1;
}
if(_9e4<1){
_9e4=1;
}
this._rectangleDiv.style.left=(left-this.offset.left)+"px";
this._rectangleDiv.style.width=_9e3+"px";
this._rectangleDiv.style.top=(top-this.offset.top)+"px";
this._rectangleDiv.style.height=_9e4+"px";
this._left=left;
this._top=top;
this._width=_9e3;
this._height=_9e4;
},_onmouseup:function(_9e5){
this._mode=this._MODES.nothing;
},end:function(){
this._map._eventManager=null;
dojo.event.disconnect(this._map.getContainerDiv(),"onmousemove",this,"_onmousemove");
dojo.event.disconnect(this._map.getContainerDiv(),"onmouseup",this,"_onmouseup");
dojo.event.disconnect(this._rectangleDiv,"onmousemove",this,"_onmousemove");
dojo.event.disconnect(this._rectangleDiv,"onmouseup",this,"_onmouseup");
dojo.event.disconnect(this._rectangleDiv,"onmousedown",this,"_startresize");
},getSelection:function(){
return new otm.map.ScreenBoundingBox(this._left,this._top,this._left+this._width,this._top+this._height);
},setSelection:function(_9e6){
this._setSize(_9e6.left(),_9e6.top(),_9e6.width(),_9e6.height());
},show:function(){
this._rectangleDiv.style.display="";
},hide:function(){
this._rectangleDiv.style.display="none";
},setStyle:function(_9e7,_9e8){
var rds=this._rectangleDiv.style;
rds.borderColor=_9e7;
var _9ea=_9e8?0.3:1;
if(!_9e8){
_9e8="";
}
rds.backgroundColor=_9e8;
dojo.html.setOpacity(this._rectangleDiv,_9ea);
}});
dojo.provide("otm.map.styles");
otm.map.ITEM_STATE={BASE:"BASE",HOVER:"HOVER",ACTIVE:"ACTIVE",RESTORE:"RESTORE"};
dojo.declare("otm.map.VectorStyle",null,{id:"",fillColor:"",fillOpacity:1,strokeColor:"",strokeWidth:1,strokeOpacity:1,drawVertices:false,pointRadius:4,lineCap:"round",lineJoin:"round",showArrow:false,initializer:function(o){
if(dojo.lang.isUndefined(o)||!o){
throw new Error(otm.map.strings.styles_error_vectorstyle_id_not_unique);
}
if(o.vectorstyle){
var ov=o.vectorstyle;
this.id=ov.id[0].value;
if(ov.fillcolor){
this.fillColor=ov.fillcolor[0].value;
}
if(ov.fillopacity){
this.fillOpacity=parseFloat(ov.fillopacity[0].value);
}
if(ov.strokecolor){
this.strokeColor=ov.strokecolor[0].value;
}
if(ov.strokewidth){
this.strokeWidth=parseInt(ov.strokewidth[0].value);
}
if(ov.strokeopacity){
this.strokeOpacity=parseFloat(ov.strokeopacity[0].value);
}
if(ov.drawVertices){
var dv=ov.drawVertices[0].value;
this.drawVertices=(dv=="true"||dv=="1");
}
if(ov.pointradius){
this.pointRadius=parseInt(ov.pointradius[0].value);
}
if(ov.linecap){
this.lineCap=ov.linecap[0].value;
}
if(ov.linejoin){
this.lineJoin=ov.linejoin[0].value;
}
}else{
this.id=o;
}
},toString:function(){
return "VectorStyle: "+this.id;
},clone:function(){
return otm.map.shallowCopy(this);
}});
dojo.declare("otm.map.Icon",null,{id:"",image:null,shadow:null,iconSize:null,shadowSize:null,iconOffset:null,shadowOffset:null,infoWindowOffset:null,infoWindowSupport:false,textSize:0,textOffset:null,initializer:function(o,_9ef,_9f0,_9f1,_9f2,_9f3,_9f4,_9f5){
if(dojo.lang.isUndefined(o)||!o){
throw new Error(otm.map.strings.styles_error_icon_id_not_unique);
}
if(o.icon){
this.id=o.icon.id[0].value;
this.image=o.icon.image[0].value;
this.iconSize=new otm.map.Size(parseInt(o.icon.width[0].value),parseInt(o.icon.height[0].value));
this.iconOffset=new otm.map.Point(parseInt(o.icon.offsetx[0].value),parseInt(o.icon.offsety[0].value));
if(o.icon.shadow){
this.shadow=o.icon.shadow[0].value;
this.shadowSize=new otm.map.Size(parseInt(o.icon.shadowwidth[0].value),parseInt(o.icon.shadowheight[0].value));
this.shadowOffset=new otm.map.Point(parseInt(o.icon.shadowoffsetx[0].value),parseInt(o.icon.shadowoffsety[0].value));
}
if(o.icon.infowinsupport){
var iws=o.icon.infowinsupport[0].value;
this.infoWindowSupport=(iws=="true"||iws=="1");
}
if(o.icon.infowinoffsetx&&o.icon.infowinoffsety){
this.infoWindowOffset=new otm.map.Point(parseInt(o.icon.infowinoffsetx[0].value),parseInt(o.icon.infowinoffsety[0].value));
}
if(o.icon.textsize){
this.textSize=parseInt(o.icon.textsize[0].value);
this.textOffset=new otm.map.Point(parseInt(o.icon.textoffsetx[0].value),parseInt(o.icon.textoffsety[0].value));
}
}else{
this.id=o;
this.image=dojo.lang.isUndefined(_9ef)?null:_9ef;
this.shadow=dojo.lang.isUndefined(_9f2)?null:_9f2;
this.iconSize=new otm.map.Size(_9f0);
this.shadowSize=new otm.map.Size(_9f3);
this.iconOffset=new otm.map.Point(_9f1);
this.shadowOffset=new otm.map.Point(_9f4);
this.infoWindowOffset=new otm.map.Point(_9f5);
this.textOffset=new otm.map.Point();
}
},toString:function(){
return "Icon: "+this.id;
},clone:function(){
return otm.map.shallowCopy(this);
}});
dojo.declare("otm.map.StyleSet",null,{_base:null,_others:null,initializer:function(base,_9f8){
if(base){
this._base=base;
}
if(_9f8){
this._others=_9f8;
}else{
this._others={};
}
},get:function(_9f9){
if(dojo.lang.isUndefined(_9f9)||(_9f9==otm.map.ITEM_STATE.BASE)){
return this._base;
}
var _9fa=this._others[_9f9];
return (_9fa)?_9fa:this._base;
},set:function(_9fb,_9fc){
if(_9fb==otm.map.ITEM_STATE.BASE){
this._base=_9fc;
}else{
this._others[_9fb]=_9fc;
}
},clone:function(){
var ss=new otm.map.StyleSet(this._base.clone());
ss._others={};
for(i in this._others){
ss._others[i]=this._others[i].clone();
}
return ss;
}});
dojo.declare("otm.map.IconSet",otm.map.StyleSet,{initializer:function(o){
if(o.declaredClass&&o.declaredClass=="otm.map.Icon"){
}else{
if(o.iconset){
for(var i=0;i<o.icon.length;i++){
var _a00=o.icon[i];
var id=_a00.icon.id[0].value;
var _a02=otm.map.ITEM_STATE.BASE;
if(_a00.icon.state){
var _a03=_a00.icon.state[0].value;
_a02=_a03;
}
this.set(_a02,otm.map.markericons[id]);
}
}
}
}});
dojo.declare("otm.map.VectorStyleSet",otm.map.StyleSet,{initializer:function(o){
if(o.declaredClass&&o.declaredClass=="otm.map.VectorStyle"){
}else{
if(o.vectorstyleset){
for(var i=0;i<o.vectorstyle.length;i++){
var _a06=o.vectorstyle[i];
var id=_a06.vectorstyle.id[0].value;
var _a08=otm.map.ITEM_STATE.BASE;
if(_a06.vectorstyle.state){
var _a09=_a06.vectorstyle.state[0].value;
_a08=_a09;
}
this.set(_a08,otm.map.vectorstyles[id]);
}
}
}
}});
otm.map.markericons=new function(){
this.ICON_RED=new otm.map.Icon("ICON_RED",dojo.uri.moduleUri("otm.map","markers/icon_red.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_RED_OVR=new otm.map.Icon("ICON_RED_OVR",dojo.uri.moduleUri("otm.map","markers/icon_red_OVR.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_GREEN=new otm.map.Icon("ICON_GREEN",dojo.uri.moduleUri("otm.map","markers/icon_green.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_GREEN_OVR=new otm.map.Icon("ICON_GREEN_OVR",dojo.uri.moduleUri("otm.map","markers/icon_green_OVR.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_BLUE=new otm.map.Icon("ICON_BLUE",dojo.uri.moduleUri("otm.map","markers/icon_blue.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_BLUE_OVR=new otm.map.Icon("ICON_BLUE_OVR",dojo.uri.moduleUri("otm.map","markers/icon_blue_OVR.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_ORANGE=new otm.map.Icon("ICON_ORANGE",dojo.uri.moduleUri("otm.map","markers/icon_orng.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_ORANGE_OVR=new otm.map.Icon("ICON_ORANGE_OVR",dojo.uri.moduleUri("otm.map","markers/icon_orng_OVR.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_TEAL=new otm.map.Icon("ICON_TEAL",dojo.uri.moduleUri("otm.map","markers/icon_teal.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_TEAL_OVR=new otm.map.Icon("ICON_TEAL_OVR",dojo.uri.moduleUri("otm.map","markers/icon_teal_OVR.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_YELLOW=new otm.map.Icon("ICON_YELLOW",dojo.uri.moduleUri("otm.map","markers/icon_yellow.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_YELLOW_OVR=new otm.map.Icon("ICON_YELLOW_OVR",dojo.uri.moduleUri("otm.map","markers/icon_yellow_OVR.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.ICON_WHITE=new otm.map.Icon("ICON_WHITE",dojo.uri.moduleUri("otm.map","markers/icon_white.png"),[13,26],[-7,-26],dojo.uri.moduleUri("otm.map","markers/icon_shadow.png"),[21,14],[-7,-14],[-7,26]);
this.RED=new otm.map.IconSet(this.ICON_RED,{HOVER:this.ICON_RED_OVR,ACTIVE:this.ICON_WHITE});
this.GREEN=new otm.map.IconSet(this.ICON_GREEN,{HOVER:this.ICON_GREEN_OVR,ACTIVE:this.ICON_WHITE});
this.BLUE=new otm.map.IconSet(this.ICON_BLUE,{HOVER:this.ICON_BLUE_OVR,ACTIVE:this.ICON_WHITE});
this.ORANGE=new otm.map.IconSet(this.ICON_ORANGE,{HOVER:this.ICON_ORANGE_OVR,ACTIVE:this.ICON_WHITE});
this.TEAL=new otm.map.IconSet(this.ICON_TEAL,{HOVER:this.ICON_TEAL_OVR,ACTIVE:this.ICON_WHITE});
this.YELLOW=new otm.map.IconSet(this.ICON_YELLOW,{HOVER:this.ICON_YELLOW_OVR,ACTIVE:this.ICON_WHITE});
this.WHITE=new otm.map.IconSet(this.ICON_WHITE);
this.DEFAULT=this.RED;
this.clusters=new function(){
this.available=[2,3,4,5,6,7,8,9,10,20,50];
this.get=function(_a0a){
idx=this.available.length-1;
while((this.available[idx]>_a0a)&&(idx>=0)){
idx--;
}
return (idx>=0)?this[this.available[idx].toString()]:null;
};
};
for(i=0;i<this.clusters.available.length;i++){
var clid=this.clusters.available[i].toString();
var base=this["ICON_CLUSTER_"+clid]=new otm.map.Icon("ICON_CLUSTER_"+clid,dojo.uri.moduleUri("otm.map","markers/clusters/"+clid+".png"),[23,26],[-12,-26],dojo.uri.moduleUri("otm.map","markers/clusters/shadow.png"),[35,26],[-12,-26],[-12,26]);
var _a0d=this["ICON_CLUSTER_"+clid+"_OVR"]=new otm.map.Icon("ICON_CLUSTER_"+clid+"_OVR",dojo.uri.moduleUri("otm.map","markers/clusters/"+clid+"_OVR.png"),[23,26],[-12,-26],dojo.uri.moduleUri("otm.map","markers/clusters/shadow.png"),[35,26],[-12,-26],[-12,26]);
this.clusters[clid]=new otm.map.IconSet(base,{HOVER:_a0d});
}
};
otm.map.vectorstyles=new function(){
this.LINE_RED=new otm.map.VectorStyle("LINE_RED");
with(this.LINE_RED){
strokeColor="#ff0000";
strokeWidth=2;
}
this.LINE_BLUE=new otm.map.VectorStyle("LINE_BLUE");
with(this.LINE_BLUE){
strokeColor="#0000ff";
strokeWidth=2;
}
this.LINE_PURPLE=new otm.map.VectorStyle("LINE_PURPLE");
with(this.LINE_PURPLE){
strokeColor="#ff00ff";
strokeWidth=2;
}
this.LINE_RULER=new otm.map.VectorStyle("LINE_RULER");
with(this.LINE_RULER){
strokeColor="#ff8a00";
strokeWidth=4;
strokeOpacity=1;
drawVertices=true;
}
this.DEFAULT=new otm.map.VectorStyleSet(this.LINE_RED);
this.DEFAULT.set(otm.map.ITEM_STATE.HOVER,this.LINE_BLUE);
this.DEFAULT.set(otm.map.ITEM_STATE.ACTIVE,this.LINE_PURPLE);
this.RULER=new otm.map.VectorStyleSet(this.LINE_RULER);
};
dojo.provide("otm.map.markers");
otm.map.DataItem=function(){
};
otm.map.DataItem.prototype.declaredClass="otm.map.DataItem";
otm.map.DataItem.prototype.id=null;
otm.map.DataItem.prototype.title="";
otm.map.DataItem.prototype.styleSet=null;
otm.map.DataItem.prototype.state=otm.map.ITEM_STATE.BASE;
otm.map.DataItem.prototype.promoted=false;
otm.map.DataItem.prototype._style_prehover=otm.map.ITEM_STATE.BASE;
otm.map.DataItem.prototype._in_hover=false;
otm.map.DataItem.prototype.layer=null;
otm.map.DataItem.prototype.mapadd=function(_a0e){
this.layer=_a0e;
this.layer.map.addEventListener("ooistatechange",this,"handleitemstatechange");
};
otm.map.DataItem.prototype.mapremove=function(){
if(this.layer){
this.layer.map.removeEventListener("ooistatechange",this,"handleitemstatechange");
this.layer=null;
}
};
otm.map.DataItem.prototype.setPromoted=function(_a0f){
this.promoted=_a0f;
};
otm.map.DataItem.prototype.setStyle=function(_a10,_a11,_a12){
if(dojo.lang.isUndefined(_a10)){
_a10=otm.map.ITEM_STATE.BASE;
}
if(_a10==this.state){
return;
}
if(dojo.lang.isUndefined(_a12)){
_a12=true;
}
this.state=_a10;
if(this._in_hover&&this.state!=otm.map.ITEM_STATE.HOVER){
this._style_prehover=this.state;
if(this.state==otm.map.ITEM_STATE.BASE){
this.state=otm.map.ITEM_STATE.HOVER;
}else{
this._in_hover=false;
}
}
this.nodeIcon=null;
if(_a10!=otm.map.ITEM_STATE.BASE){
this.setPromoted(true);
}else{
this.setPromoted(false);
}
if(_a12&&this.layer){
dojo.event.topic.publish("/otm/map/Map/"+this.layer.map._mapKey+"/ooistatechange",this);
}
if(dojo.lang.isUndefined(_a11)||_a11){
this.applyStyle();
}
};
otm.map.DataItem.prototype.applyStyle=function(){
};
otm.map.DataItem.prototype.getStyle=function(){
if(this.styleSet){
return this.styleSet.get(this.state);
}else{
return null;
}
};
otm.map.DataItem.prototype.click=function(evt){
return this.onclick(this);
};
otm.map.DataItem.prototype.mouseover=function(evt){
return this.onmouseover(this);
};
otm.map.DataItem.prototype.mouseout=function(evt){
return this.onmouseout(this);
};
otm.map.DataItem.prototype.onclick=function(item){
this.layer.onmarkerclick(this);
};
otm.map.DataItem.prototype.onmouseover=function(item){
if(!this._in_hover&&this.state==otm.map.ITEM_STATE.BASE){
this._style_prehover=this.state;
this.setStyle(otm.map.ITEM_STATE.HOVER);
this._in_hover=true;
return true;
}
return false;
};
otm.map.DataItem.prototype.onmouseout=function(_a18){
if(this._in_hover){
this._in_hover=false;
this.setStyle(this._style_prehover);
}
return true;
};
otm.map.DataItem.prototype.handleitemstatechange=function(){
if(this.layer==null){
dojo.debug("no layer so returning");
return;
}
if(arguments.length==0||dojo.lang.isUndefined(arguments[0])){
this.setStyle(otm.map.ITEM_STATE.BASE,true,false);
return;
}
if(arguments.length==1){
if(arguments[0]===this){
return;
}
var _a19=arguments[0].state;
var id=arguments[0].id;
var _a1b=false;
}else{
if(arguments.length==3){
var _a1b=arguments[2];
var id=arguments[1];
var _a19=arguments[0];
}
}
var IS=otm.map.ITEM_STATE;
if(this.id==id){
if(arguments.length==3){
if(_a19==IS.HOVER){
this.onmouseover();
return;
}else{
if(_a19==IS.RESTORE){
this.onmouseout();
return;
}
}
}
this.setStyle(_a19,true,false);
}else{
if(((_a19!=IS.BASE&&_a19!=IS.HOVER&&_a19!=IS.RESTORE)&&(!_a1b))||(this.state==IS.HOVER&&_a19==IS.HOVER)){
if(this.state!=IS.BASE){
this.setStyle(IS.BASE,true,false);
}
}
}
};
otm.map.DataItem.prototype.toString=function(){
return this.id+": "+this.title;
};
otm.map.Marker=function(id,_a1e,_a1f,url,_a21){
this.id=id;
this.point=_a1e;
this.title=_a1f;
this.url=dojo.lang.isUndefined(url)?null:url;
if(dojo.lang.isUndefined(_a21)){
this.styleSet=null;
}else{
if(_a21.declaredClass=="otm.map.Icon"){
this.styleSet=new otm.map.IconSet(_a21);
}else{
if(_a21.declaredClass=="otm.map.IconSet"){
this.styleSet=_a21;
}
}
}
otm.map.DataItem.call(this);
};
otm.map.Marker.prototype=new otm.map.DataItem();
otm.map.Marker.prototype.declaredClass="otm.map.Marker";
otm.map.Marker.prototype.point=null;
otm.map.Marker.prototype.url=null;
otm.map.Marker.prototype.infoWindowOptions=null;
otm.map.Marker.prototype.node=null;
otm.map.Marker.prototype.shadowNode=null;
otm.map.Marker.prototype.nodeIcon=null;
otm.map.Marker.prototype.applyStyle=function(_a22,_a23){
this.layer.onmarkericonchange(this);
};
otm.map.Marker.prototype.toString=function(){
return this.id+": "+this.title+" @ ("+this.point+")";
};
otm.map.Marker.prototype.getIcon=function(){
return this.getStyle();
};
otm.map.Marker.prototype.setIcon=function(icon,_a25){
return this.setStyle(icon,_a25);
};
otm.map.Marker.prototype.destroyNode=function(){
this.mapremove();
if(this.node){
this.node.parentNode.removeChild(this.node);
this.node=null;
}
if(this.shadowNode){
this.shadowNode.parentNode.removeChild(this.shadowNode);
this.shadowNode=null;
}
this.nodeIcon=null;
};
otm.map.Vector=function(id,_a27,_a28,_a29){
this.id=id;
this.geometry=_a27;
this.title=_a28;
if(dojo.lang.isUndefined(_a29)||_a29==null){
this.styleSet=null;
}else{
if(_a29.declaredClass=="otm.map.VectorStyle"){
this.styleSet=new otm.map.VectorStyleSet(_a29);
}else{
if(_a29.declaredClass=="otm.map.VectorStyleSet"){
this.styleSet=_a29;
}
}
}
otm.map.DataItem.call(this);
};
otm.map.Vector.prototype=new otm.map.DataItem();
otm.map.Vector.prototype.declaredClass="otm.map.Vector";
otm.map.Vector.prototype.geometry=null;
otm.map.Vector.prototype.applyStyle=function(_a2a,_a2b){
this.layer.onvectorstylechange(this);
};
otm.map.Vector.prototypeclone=function(){
return otm.map.shallowCopy(this);
};
dojo.provide("otm.map.scales.*");
dojo.provide("otm.map.scales.*");
otm.map.scales.BaseScale=function(){
};
dojo.declare("otm.map.scales.BaseScale",null,{_SCALE_BASE_MPX:1,initializer:function(){
},initialise:function(map){
this._map=map;
this._mppCache={};
},getMapUnitsPerPixel:function(_a2d){
if(arguments.length==0){
_a2d=this._map.getZoomLevel();
}
if(!this._mppCache[_a2d]){
this._mppCache[_a2d]=this._SCALE_BASE_MPX/Math.pow(2,_a2d);
}
return this._mppCache[_a2d];
},getMetersPerPixel:function(_a2e){
dojo.deprecated("getMetersPerPixel is deprecated use getMapUnitsPerPixel instead, map.GetCurrentMetersPerPixel if that is what is actually intended");
return this.getMapUnitsPerPixel(_a2e);
},getClosestZoomLevel:function(_a2f){
var zm=Math.log(this._SCALE_BASE_MPX/_a2f)/Math.LN2;
zm=(Math.ceil(zm)-zm<0.1)?Math.ceil(zm):Math.floor(zm);
if(zm>this._maxZoom){
return this._maxZoom;
}
if(zm<this._minZoom){
return this._minZoom;
}
return zm;
},getMaxZoomLevel:function(){
return this._maxZoom;
},getMinZoomLevel:function(){
return this._minZoom;
}});
dojo.declare("otm.map.scales.TmsGlobalMercator",otm.map.scales.BaseScale,{initializer:function(){
this._SCALE_BASE_MPX=78271.516;
if(arguments.length==1){
if(dojo.lang.isObject(arguments[0])){
this._maxZoom=parseInt(arguments[0].tmsglobalmercator.maxscale[0].value);
this._minZoom=parseInt(arguments[0].tmsglobalmercator.minscale[0].value);
}else{
if(dojo.lang.isArray(arguments[0])&&arguments[0].length>=2){
this._maxZoom=parseInt(arguments[0][0]);
this._minZoom=parseInt(arguments[0][1]);
}else{
if(dojo.lang.isString(arguments[0])){
var _a31=dojo.string.trim(arguments[0]).split(" ");
this._maxZoom=parseInt(_a31[0]);
this._minZoom=parseInt(_a31[1]);
}else{
if(arguments.length==2){
this._maxZoom=parseInt(arguments[0]);
this._minZoom=parseInt(arguments[1]);
}
}
}
}
}
}});
dojo.declare("otm.map.scales.TmsGlobalGeodetic",otm.map.scales.BaseScale,{initializer:function(){
this._SCALE_BASE_MPX=0.703125;
if(arguments.length==1){
if(dojo.lang.isObject(arguments[0])){
this._maxZoom=parseInt(arguments[0].tmsglobalgeodetic.maxscale[0].value);
this._minZoom=parseInt(arguments[0].tmsglobalgeodetic.minscale[0].value);
}else{
if(dojo.lang.isArray(arguments[0])&&arguments[0].length>=2){
this._maxZoom=parseInt(arguments[0][0]);
this._minZoom=parseInt(arguments[0][1]);
}else{
if(dojo.lang.isString(arguments[0])){
var _a32=dojo.string.trim(arguments[0]).split(" ");
this._maxZoom=parseInt(_a32[0]);
this._minZoom=parseInt(_a32[1]);
}else{
if(arguments.length==2){
this._maxZoom=parseInt(arguments[0]);
this._minZoom=parseInt(arguments[1]);
}
}
}
}
}
}});
dojo.declare("otm.map.scales.Google",otm.map.scales.BaseScale,{initializer:function(){
this._SCALE_BASE_MPX=78271.516*2;
if(arguments.length==1){
if(dojo.lang.isObject(arguments[0])){
this._maxZoom=parseInt(arguments[0].google.maxscale[0].value);
this._minZoom=parseInt(arguments[0].google.minscale[0].value);
}else{
if(dojo.lang.isArray(arguments[0])&&arguments[0].length>=2){
this._maxZoom=parseInt(arguments[0][0]);
this._minZoom=parseInt(arguments[0][1]);
}else{
if(dojo.lang.isString(arguments[0])){
var _a33=dojo.string.trim(arguments[0]).split(" ");
this._maxZoom=parseInt(_a33[0]);
this._minZoom=parseInt(_a33[1]);
}else{
if(arguments.length==2){
this._maxZoom=parseInt(arguments[0]);
this._minZoom=parseInt(arguments[1]);
}
}
}
}
}
}});
dojo.declare("otm.map.scales.OtmScale",otm.map.scales.BaseScale,{initializer:function(){
this._SCALE_BASE=524288000;
this._SCALE_MPX=0.00028;
this._SCALE_BASE_MPX=this._SCALE_BASE*this._SCALE_MPX;
if(arguments.length==1){
if(dojo.lang.isObject(arguments[0])){
this._maxZoom=parseInt(arguments[0].otmscale.maxscale[0].value);
this._minZoom=parseInt(arguments[0].otmscale.minscale[0].value);
}else{
if(dojo.lang.isArray(arguments[0])&&arguments[0].length>=2){
this._maxZoom=parseInt(arguments[0][0]);
this._minZoom=parseInt(arguments[0][1]);
}else{
if(dojo.lang.isString(arguments[0])){
var _a34=dojo.string.trim(arguments[0]).split(" ");
this._maxZoom=parseInt(_a34[0]);
this._minZoom=parseInt(_a34[1]);
}else{
if(arguments.length==2){
this._maxZoom=parseInt(arguments[0]);
this._minZoom=parseInt(arguments[1]);
}
}
}
}
}
}});
dojo.declare("otm.map.scales.FixedScale",otm.map.scales.BaseScale,{initializer:function(){
if(dojo.lang.isObject(arguments[0])){
this._scales=new Array();
for(var ii=0;ii<arguments[0].scale.length;ii++){
this._scales[ii]=parseFloat(arguments[0].scale[ii].value);
dojo.debug("Added Scale: ",ii,"=>",this._scales[ii]);
}
}else{
if(dojo.lang.isArray(arguments[0])){
this._scales=arguments[0];
}else{
if(dojo.lang.isString(arguments[0])){
this._scales=arguments[0].split(" ");
for(var ii=0;ii<this._scales.length;ii++){
this._scales[ii]=parseFloat(this._scales[ii]);
}
}else{
throw new Error("FixedScale: "+otm.map.strings.scales_incorrect_parameters);
}
}
}
this._minZoom=0;
this._maxZoom=this._scales.length-1;
},getMapUnitsPerPixel:function(_a36){
var mpx=0;
if(dojo.lang.isUndefined(_a36)){
_a36=this._map.getZoomLevel();
}
if(_a36-Math.floor(_a36)>0){
var _a38=_a36-Math.floor(_a36);
_a36=Math.floor(_a36);
mpx=this._scales[_a36]-_a38*(this._scales[_a36]-this._scales[_a36+1]);
}else{
mpx=this._scales[_a36];
}
return mpx;
},getClosestZoomLevel:function(_a39){
for(var ii=this._scales.length-1;ii>=0;ii--){
if(_a39-this._scales[ii]<0.001){
return ii;
}
}
return 0;
}});
dojo.provide("otm.map.ruler");
dojo.declare("otm.map.Ruler",null,{layerId:"otmRulerEditor",map:null,isMeasuring:false,isActive:false,layer:null,vector:null,distanceDiv:null,initializer:function(map){
this.map=map;
this.vector=new otm.map.Vector("ruler",new otm.map.Line());
var dv=document.createElement("div");
with(dv.style){
position="absolute";
backgroundColor="#ff8a00";
opacity=0.7;
border="1px solid black";
font="11pt Helvetica,Arial,sans-serif";
padding="4px";
color="black";
zIndex=1;
display="none";
}
this.distanceDiv=dv;
},_onmaprender:function(){
if(this.layer){
this.renderDistance();
}
},begin:function(){
if(this.isMeasuring||this.layer){
this.end();
}
this.layer=new otm.map.layers.BaseVectorLayer(this.layerId,otm.map.vectorstyles.RULER);
this.layer.addData(this.vector);
this.map.layers.add(this.layer);
this.map.setUseHandCursor(false);
this.map.panOnDoubleClick=false;
this.map.zoomOnDoubleClick=false;
this.map.toolsDiv.appendChild(this.distanceDiv);
dojo.event.connect(this.map,"onclick",this,"onmapclick");
dojo.event.connect(this.layer,"ondatachange",this,"renderDistance");
this.map.addEventListener("onrender",this,"_onmaprender");
this.isActive=true;
this.isMeasuring=false;
},end:function(){
dojo.event.disconnect(this.map,"onclick",this,"onmapclick");
dojo.event.disconnect(this.map._containerDiv,"onmousemove",this,"onmapmousemove");
dojo.event.disconnect(this.layer,"ondatachange",this,"renderDistance");
this.map.removeEventListener("onrender",this,"_onmaprender");
this.map.setUseHandCursor(true);
this.map.panOnDoubleClick=true;
this.map.zoomOnDoubleClick=true;
this.map.layers.remove(this.layer);
this.layer=null;
this.isMeasuring=false;
this.isActive=false;
this.distanceDiv.style.display="none";
this.map.toolsDiv.removeChild(this.distanceDiv);
},onmapmousemove:function(_a3d){
this.vector.geometry.points[1]=this.map.convertMouseToGeo(_a3d.clientX,_a3d.clientY);
dojo.debug("ruler drag from: ",this.vector.geometry.points[0].x,this.vector.geometry.points[1].x);
this.layer.ondatachange(this.layer);
},onmapclick:function(_a3e){
if((dojo.render.html.ie&&_a3e.button!=1)||(!dojo.render.html.ie&&_a3e.button!=0)){
return;
}
this.isMeasuring=!this.isMeasuring;
if(this.isMeasuring){
dojo.event.connect(this.map._containerDiv,"onmousemove",this,"onmapmousemove");
var _a3f=this.map.convertMouseToGeo(_a3e.clientX,_a3e.clientY);
this.vector.geometry.points[0]=_a3f;
this.vector.geometry.points[1]=_a3f;
dojo.debug("ruler click on: ",_a3f.x);
}else{
dojo.event.disconnect(this.map._containerDiv,"onmousemove",this,"onmapmousemove");
}
this.layer.ondatachange(this.layer);
},getDistance:function(_a40,_a41){
var _a42=6371008;
var p1=this.map.convertToLatLon(_a40);
var p2=this.map.convertToLatLon(_a41);
var _a45=function(deg){
return deg*Math.PI/180;
};
var d=_a42*Math.acos(Math.sin(_a45(p1.y))*Math.sin(_a45(p2.y))+Math.cos(_a45(p1.y))*Math.cos(_a45(p2.y))*Math.cos(_a45(p2.x)-_a45(p1.x)));
return d;
},renderDistance:function(){
if(this.vector.geometry.points.length<2){
return;
}
this.vector._bbox=null;
var bb=this.vector.geometry.getBoundingBox();
var geom=this.vector.geometry.points;
var dist=this.getDistance(geom[0],geom[1]);
var _a4b=this.map.convertGeoToPx(bb.center());
this.distanceDiv.innerHTML=Math.round(dist)+"<span style='font-size:9pt;'>M</span>";
this.distanceDiv.style.left=(_a4b.x)+"px";
this.distanceDiv.style.top=(_a4b.y)+"px";
this.distanceDiv.style.display="block";
}});
dojo.provide("otm.map.MapState");
dojo.declare("otm.map.MapState",null,{initializer:function(map,ekey){
this.map=map;
this.extentKey=(ekey)?ekey:map.getCurrentExtentKey();
this.viewID=map.getCurrentViewID();
this.valid=true;
this.changeUrlStr=this.extentKey;
},handle:function(type){
dojo.debug(type+" clicked changing view");
this.map.saveStateEnabled=false;
if(!dojo.lang.isUndefined(this.viewID)){
dojo.debug("Setting view to :"+this.viewID);
this.map.setView(this.viewID);
}
this.map.setExtentFromKey(this.extentKey);
this.map.saveStateEnabled=true;
}});
otm.map.MapState.create=function(map,_a50,hash){
var _a52=otm.map.MapState.getParser(hash);
return _a52.create(map,_a50.bookmarkHandlers?_a50.bookmarkHandlers:[],hash);
};
otm.map.MapState.getParser=function(hash){
if(hash==null){
return new otm.map.MapState.V2Parser();
}
if(hash.substring(0,2)=="1Z"){
return new otm.map.MapState.V1Parser();
}
return new otm.map.MapState.V2Parser();
};
otm.map.MapState.V2Parser=function(){
};
otm.map.MapState.V2Parser.prototype.create=function(map,_a55,hash){
return new otm.map.MapState2(map,_a55,hash);
};
dojo.declare("otm.map.MapState2",null,{initializer:function(map,_a58,hash){
this.map=map;
this.extentKey=map.getCurrentExtentKey();
this.viewID=map.getCurrentViewID();
this.valid=true;
this._addonConstructors=_a58;
this._addons=[];
this._parseString(hash);
this.changeUrlStr=this.toString();
},_parseString:function(hash){
var data=[];
var i;
if(hash){
var s=hash.split("~");
this.extentKey=s[1];
var _a5e=s[2].split(",");
var _a5f=0;
for(i=0;i<_a5e.length;i++){
data[i]=s[3].substring(_a5f,_a5f+_a5e[i]);
_a5f+=_a5e[i];
}
}
for(i=0;i<this._addonConstructors.length;i++){
var con=this._addonConstructors[i];
var cc=con.create(data[i]);
this._addons[i]=cc;
}
},toString:function(){
var _a62=[];
var data=[];
for(var i=0;i<this._addons.length;i++){
var d=this._addons[i].toString();
data.push(d);
_a62.push(d.length);
}
return "2Z~"+this.extentKey+"~"+_a62.join(",")+"~"+data.join("");
},handle:function(type){
dojo.debug(type+" clicked changing view");
this.map.saveStateEnabled=false;
if(!dojo.lang.isUndefined(this.viewID)){
dojo.debug("Setting view to :"+this.viewID);
this.map.setView(this.viewID);
}
this.map.setExtentFromKey(this.extentKey);
this.map.saveStateEnabled=true;
for(var i=0;i<this._addons.length;i++){
this._addons[i].handle(type);
}
}});
otm.map.MapState.V1Parser=function(){
};
otm.map.MapState.V1Parser.prototype.create=function(map,_a69,hash){
return new otm.map.MapState(map,hash);
};
dojo.provide("otm.map.MapView");
dojo.declare("otm.map.MapView",null,{id:null,name:null,title:null,layerList:null,overview_id:null,removeUserLayers:false,initializer:function(id,name,_a6d,_a6e){
this.id=id;
this.name=name;
this.title=_a6d;
this.overview_id=_a6e;
this.layerList=new dojo.collections.Dictionary();
this.layerSettings=new dojo.collections.Dictionary();
},addLayer:function(_a6f,_a70,_a71){
if(dojo.lang.isUndefined(_a70)||_a70){
_a6f.userLayer=true;
}else{
_a6f.userLayer=false;
}
this.layerList.add(_a6f.id,_a6f);
this.layerSettings.add(_a6f.id,{param:_a71});
},getLayerSettings:function(id){
return this.layerSettings.item(id);
},getLayer:function(id){
return this.layerList.item(id);
}});
dojo.provide("otm.map.thirdparty.mapbuilder.proj");
window.Proj=function(srs){
this.srs=srs.toUpperCase();
switch(this.srs){
case "EPSG:GMAPS":
this.Forward=identity;
this.Inverse=identity;
this.units="degrees";
this.title="Google Maps";
break;
case "EPSG:4326":
case "EPSG:4269":
case "CRS:84":
case "EPSG:4965":
case new String("http://www.opengis.net/gml/srs/epsg.xml#4326").toUpperCase():
this.Forward=identity;
this.Inverse=identity;
this.units="degrees";
this.title="Lat/Long";
break;
case "EPSG:42101":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378137,6356752.314245,49,77,-95,0,0,-8000000));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:42304":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378137,6356752.314,49,77,-95,49,0,0));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:26986":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378137,6356752.314,42.68333333333333,41.71666666666667,-71.5,41,200000,750000));
this.units="meters";
this.title="Massachusetts Mainland (LCC)";
break;
case "EPSG:32761":
case "EPSG:32661":
this.Init=psinit;
this.Forward=ll2ps;
this.Inverse=ps2ll;
this.Init(new Array(6378137,6356752.314245,0,-90,2000000,2000000));
this.units="meters";
this.title="Polar Stereographic";
break;
case "EPSG:27561":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378249.2,6356515,49.5,49.5,2.33722916655,49.5,600000,200000));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:27562":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378249.2,6356515,46.8,46.8,2.33722916655,46.8,600000,200000));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:27563":
case new String("http://www.opengis.net/gml/srs/epsg.xml#27563").toUpperCase():
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378249.2,6356515,44.1,44.1,2.33722916655,44.1,600000,200000));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:27564":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378249.2,6356515,42.17,42.17,2.33722916655,42.17,234.358,185861.369));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:27572":
case "EPSG:27582":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378249.2,6356515,46.8,46.8,2.33722916655,46.8,600000,2200000));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:9804":
case "EPSG:41001":
case "EPSG:54004":
this.Init=minit;
this.Forward=ll2m;
this.Inverse=m2ll;
this.Init(new Array(wgs84[0],wgs84[1],0,0,0,0));
this.units="meters";
this.title="Mercator";
break;
case "EPSG:2154":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6378137,6356752.3141,44,49,3.00000000001,46.5,700000,6600000));
this.units="meters";
this.title="Lambert Conformal Conic";
break;
case "EPSG:4326":
case "EPSG:4269":
case "CRS:84":
case "EPSG:4965":
case new String("http://www.opengis.net/gml/srs/epsg.xml#4326").toUpperCase():
this.Forward=identity;
this.Inverse=identity;
this.units="degrees";
this.title="Lat/Long";
break;
case "EPSG:102758":
this.title="NAD 1983 StatePlane Wyoming West FIPS 4904 US Survey Feet";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(grs80[0],grs80[1],0.9999375,-110.0833333333333,40.5,800000,100000));
this.units="usfeet";
break;
case "EPSG:32158":
this.title="NAD 1983 StatePlane Wyoming West meters";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(grs80[0],grs80[1],0.9999375,-110.0833333333333,40.5,800000,100000));
this.units="meters";
break;
case "EPSG:28992":
this.title="Amersfoort / RD New";
this.Init=stint;
this.Forward=ll2st;
this.Inverse=st2ll;
this.Init(new Array(6377397.155,5.38763888888889,52.15616055555555,155000,463000));
this.units="meters";
break;
case "EPSG:26903":
case "EPSG:26904":
case "EPSG:26905":
case "EPSG:26906":
case "EPSG:26907":
case "EPSG:26908":
case "EPSG:26909":
case "EPSG:26910":
case "EPSG:26911":
case "EPSG:26912":
case "EPSG:26913":
case "EPSG:26914":
case "EPSG:26915":
case "EPSG:26916":
case "EPSG:26917":
case "EPSG:26918":
case "EPSG:26919":
case "EPSG:26920":
case "EPSG:26921":
case "EPSG:26922":
case "EPSG:26923":
this.title="NAD83 / UTM zone "+srs.substr(8,2)+"N";
this.Init=utminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(grs80[0],grs80[1],0.9996,srs.substr(8,2)));
this.units="meters";
break;
case "EPSG:32601":
case "EPSG:32602":
case "EPSG:32603":
case "EPSG:32604":
case "EPSG:32605":
case "EPSG:32606":
case "EPSG:32607":
case "EPSG:32608":
case "EPSG:32609":
case "EPSG:32610":
case "EPSG:32611":
case "EPSG:32612":
case "EPSG:32613":
case "EPSG:32614":
case "EPSG:32615":
case "EPSG:32616":
case "EPSG:32617":
case "EPSG:32618":
case "EPSG:32619":
case "EPSG:32620":
case "EPSG:32621":
case "EPSG:32622":
case "EPSG:32623":
case "EPSG:32624":
case "EPSG:32625":
case "EPSG:32626":
case "EPSG:32627":
case "EPSG:32628":
case "EPSG:32629":
case "EPSG:32630":
case "EPSG:32631":
case "EPSG:32632":
case "EPSG:32633":
case "EPSG:32634":
case "EPSG:32635":
case "EPSG:32636":
case "EPSG:32637":
case "EPSG:32638":
case "EPSG:32639":
case "EPSG:32640":
case "EPSG:32641":
case "EPSG:32642":
case "EPSG:32643":
case "EPSG:32644":
case "EPSG:32645":
case "EPSG:32646":
case "EPSG:32647":
case "EPSG:32648":
case "EPSG:32649":
case "EPSG:32650":
case "EPSG:32651":
case "EPSG:32652":
case "EPSG:32653":
case "EPSG:32654":
case "EPSG:32655":
case "EPSG:32656":
case "EPSG:32657":
case "EPSG:32658":
case "EPSG:32659":
case "EPSG:32660":
this.title="WGS84 / UTM zone "+srs.substr(8,2)+"N";
this.Init=utminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(wgs84[0],wgs84[1],0.9996,srs.substr(8,2)));
this.units="meters";
break;
case "EPSG:32701":
case "EPSG:32702":
case "EPSG:32703":
case "EPSG:32704":
case "EPSG:32705":
case "EPSG:32706":
case "EPSG:32707":
case "EPSG:32708":
case "EPSG:32709":
case "EPSG:32710":
case "EPSG:32711":
case "EPSG:32712":
case "EPSG:32713":
case "EPSG:32714":
case "EPSG:32715":
case "EPSG:32716":
case "EPSG:32717":
case "EPSG:32718":
case "EPSG:32719":
case "EPSG:32720":
case "EPSG:32721":
case "EPSG:32722":
case "EPSG:32723":
case "EPSG:32724":
case "EPSG:32725":
case "EPSG:32726":
case "EPSG:32727":
case "EPSG:32728":
case "EPSG:32729":
case "EPSG:32730":
case "EPSG:32731":
case "EPSG:32732":
case "EPSG:32733":
case "EPSG:32734":
case "EPSG:32735":
case "EPSG:32736":
case "EPSG:32737":
case "EPSG:32738":
case "EPSG:32739":
case "EPSG:32740":
case "EPSG:32741":
case "EPSG:32742":
case "EPSG:32743":
case "EPSG:32744":
case "EPSG:32745":
case "EPSG:32746":
case "EPSG:32747":
case "EPSG:32748":
case "EPSG:32749":
case "EPSG:32750":
case "EPSG:32751":
case "EPSG:32752":
case "EPSG:32753":
case "EPSG:32754":
case "EPSG:32755":
case "EPSG:32756":
case "EPSG:32757":
case "EPSG:32758":
case "EPSG:32759":
case "EPSG:32760":
this.title="WGS84 / UTM zone "+srs.substr(8,2)+"S";
this.Init=utminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(wgs84[0],wgs84[1],0.9996,"-"+srs.substr(8,2)));
this.units="meters";
break;
case "EPSG:26591":
this.title="Monte Mario (Rome) / Italy zone 1";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(6378388,6356911.94612795,0.9996,9,0,1500000,0));
this.units="meters";
break;
case "EPSG:31294":
case "EPSG:31284":
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(6377397.155,6356078.963,1,10.3333333333,0,150000,0));
this.units="meters";
this.title="MGI / M28";
break;
case "EPSG:31295":
case "EPSG:31285":
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(6377397.155,6356078.963,1,13.3333333333,0,450000,0));
this.units="meters";
this.title="MGI / M31";
break;
case "EPSG:31296":
case "EPSG:31286":
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(6377397.155,6356078.963,1,16.3333333333,0,750000,0));
this.units="meters";
this.title="MGI / M34";
break;
case "EPSG:31297":
case "EPSG:31287":
this.Init=lccinit;
this.Forward=ll2lcc;
this.Inverse=lcc2ll;
this.Init(new Array(6377397.155,6356078.963,49,46,13.3333333333,47.5,400000,400000));
this.units="meters";
this.title="MGI / Austria Lambert";
break;
case "SCENE":
this.Init=sceneInit;
this.Forward=ll2scene;
this.Inverse=scene2ll;
this.GetXYCoords=identity;
this.GetPLCoords=identity;
break;
case "PIXEL":
this.Forward=ll2pixel;
this.Inverse=pixel2ll;
this.units="pixels";
this.GetXYCoords=identity;
this.GetPLCoords=identity;
break;
case "EPSG:2193":
this.title="New Zealand Transverse Mercator";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(grs80[0],grs80[1],0.9996,173,0,1600000,10000000));
this.units="meters";
break;
case "EPSG:31468":
this.title="Gauss-Kruger zone 4";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(bessel[0],bessel[1],1,12,0,4500000,0));
this.units="meters";
break;
case "EPSG:31467":
this.title="Gauss-Kruger zone 3";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(bessel[0],bessel[1],1,9,0,3500000,0));
this.units="meters";
break;
case "EPSG:31466":
this.title="Gauss-Kruger zone 2";
this.Init=tminit;
this.Forward=ll2tm;
this.Inverse=tm2ll;
this.Init(new Array(bessel[0],bessel[1],1,6,0,2500000,0));
this.units="meters";
break;
case "OSGEO:41001":
case "EPSG:54004":
case "EPSG:900913":
this.title="WGS84 / Simple Mercator";
this.Init=minit;
this.Forward=ll2m;
this.Inverse=m2ll;
this.Init(new Array(wgs84[0],wgs84[1],0,0,0,0));
this.units="meters";
this.title="Mercator";
break;
default:
throw "unsupported map projection: "+this.srs;
}
this.matchSrs=function(_a75){
if(this.srs==_a75.toUpperCase()){
return true;
}
return false;
};
};
function gmap_forward(_a76){
return config.objects.googleMapTools.getPixelsFromLatLong(_a76);
}
function gmap_inverse(_a77){
return config.objects.googleMapTools.getLatLongFromPixels(_a77);
}
function identity(_a78){
return _a78;
}
function ll2scene(_a79){
throw "ll2scene not defined";
return null;
}
function scene2ll(_a7a){
var xpct=(_a7a[0]-this.ul[0])/(this.lr[0]-this.ul[0]);
var ypct=(_a7a[1]-this.ul[1])/(this.lr[1]-this.ul[1]);
var lon=bilinterp(xpct,ypct,this.cul[0],this.cur[0],this.cll[0],this.clr[0]);
var lat=bilinterp(xpct,ypct,this.cul[1],this.cur[1],this.cll[1],this.clr[1]);
return new Array(lon,lat);
}
function sceneInit(_a7f){
this.cul=_a7f[0];
this.cur=_a7f[1];
this.cll=_a7f[2];
this.clr=_a7f[3];
}
function bilinterp(x,y,a,b,c,d){
var top=x*(b-a)+a;
var bot=x*(d-c)+c;
return y*(bot-top)+top;
}
function ll2pixel(_a88){
throw "ll2pixel not defined";
return null;
}
function pixel2ll(_a89){
throw "pixel2ll not defined";
return null;
}
var PI=Math.PI;
var HALF_PI=PI*0.5;
var TWO_PI=PI*2;
var EPSLN=1e-10;
var R2D=57.2957795131;
var D2R=0.0174532925199;
var R=6370997;
function lccinit(_a8a){
this.r_major=_a8a[0];
this.r_minor=_a8a[1];
var lat1=_a8a[2]*D2R;
var lat2=_a8a[3]*D2R;
this.center_lon=_a8a[4]*D2R;
this.center_lat=_a8a[5]*D2R;
this.false_easting=_a8a[6];
this.false_northing=_a8a[7];
if(Math.abs(lat1+lat2)<EPSLN){
throw "Equal Latitiudes for St. Parallels on opposite sides of equator - lccinit";
return;
}
var temp=this.r_minor/this.r_major;
this.e=Math.sqrt(1-temp*temp);
var sin1=Math.sin(lat1);
var cos1=Math.cos(lat1);
var ms1=msfnz(this.e,sin1,cos1);
var ts1=tsfnz(this.e,lat1,sin1);
var sin2=Math.sin(lat2);
var cos2=Math.cos(lat2);
var ms2=msfnz(this.e,sin2,cos2);
var ts2=tsfnz(this.e,lat2,sin2);
var ts0=tsfnz(this.e,this.center_lat,Math.sin(this.center_lat));
if(Math.abs(lat1-lat2)>EPSLN){
this.ns=Math.log(ms1/ms2)/Math.log(ts1/ts2);
}else{
this.ns=sin1;
}
this.f0=ms1/(this.ns*Math.pow(ts1,this.ns));
this.rh=this.r_major*this.f0*Math.pow(ts0,this.ns);
}
function ll2lcc(_a97){
var lon=_a97[0];
var lat=_a97[1];
if(lat<=90&&lat>=-90&&lon<=180&&lon>=-180){
lat*=D2R;
lon*=D2R;
}else{
throw "*** Input out of range ***: lon: "+lon+" - lat: "+lat;
return null;
}
var con=Math.abs(Math.abs(lat)-HALF_PI);
var ts;
if(con>EPSLN){
ts=tsfnz(this.e,lat,Math.sin(lat));
rh1=this.r_major*this.f0*Math.pow(ts,this.ns);
}else{
con=lat*this.ns;
if(con<=0){
throw "Point can not be projected - ll2lcc";
return null;
}
rh1=0;
}
var _a9c=this.ns*adjust_lon(lon-this.center_lon);
var x=rh1*Math.sin(_a9c)+this.false_easting;
var y=this.rh-rh1*Math.cos(_a9c)+this.false_northing;
return new Array(x,y);
}
function lcc2ll(_a9f){
var rh1,con,ts;
var lat,lon;
x=_a9f[0]-this.false_easting;
y=this.rh-_a9f[1]+this.false_northing;
if(this.ns>0){
rh1=Math.sqrt(x*x+y*y);
con=1;
}else{
rh1=-Math.sqrt(x*x+y*y);
con=-1;
}
var _aa5=0;
if(rh1!=0){
_aa5=Math.atan2((con*x),(con*y));
}
if((rh1!=0)||(this.ns>0)){
con=1/this.ns;
ts=Math.pow((rh1/(this.r_major*this.f0)),con);
lat=phi2z(this.e,ts);
if(lat==-9999){
return null;
}
}else{
lat=-HALF_PI;
}
lon=adjust_lon(_aa5/this.ns+this.center_lon);
return new Array(R2D*lon,R2D*lat);
}
function psinit(_aa6){
this.r_major=_aa6[0];
this.r_minor=_aa6[1];
this.center_lon=_aa6[2]*D2R;
this.center_lat=_aa6[3]*D2R;
this.false_easting=_aa6[4];
this.false_northing=_aa6[5];
var temp=this.r_minor/this.r_major;
this.e=1-temp*temp;
this.e=Math.sqrt(this.e);
var con=1+this.e;
var com=1-this.e;
this.e4=Math.sqrt(Math.pow(con,con)*Math.pow(com,com));
this.fac=(this.center_lat<0)?-1:1;
this.ind=0;
if(Math.abs(Math.abs(this.center_lat)-HALF_PI)>EPSLN){
this.ind=1;
var con1=this.fac*this.center_lat;
var _aab=Math.sin(con1);
this.mcs=msfnz(this.e,_aab,Math.cos(con1));
this.tcs=tsfnz(this.e,con1,_aab);
}
}
function ll2ps(_aac){
var lon=_aac[0];
var lat=_aac[1];
var con1=this.fac*adjust_lon(lon-this.center_lon);
var con2=this.fac*lat;
var _ab1=Math.sin(con2);
var ts=tsfnz(this.e,con2,_ab1);
if(this.ind!=0){
rh=this.r_major*this.mcs*ts/this.tcs;
}else{
rh=2*this.r_major*ts/this.e4;
}
var x=this.fac*rh*Math.sin(con1)+this.false_easting;
var y=-this.fac*rh*Math.cos(con1)+this.false_northing;
return new Array(x,y);
}
function ps2ll(_ab5){
x=(_ab5[0]-this.false_easting)*this.fac;
y=(_ab5[1]-this.false_northing)*this.fac;
var rh=Math.sqrt(x*x+y*y);
if(this.ind!=0){
ts=rh*this.tcs/(this.r_major*this.mcs);
}else{
ts=rh*this.e4/(this.r_major*2);
}
var lat=this.fac*phi2z(this.e,ts);
if(lat==-9999){
return null;
}
var lon=0;
if(rh==0){
lon=this.fac*this.center_lon;
}else{
lon=adjust_lon(this.fac*Math.atan2(x,-y)+this.center_lon);
}
return new Array(R2D*lon,R2D*lat);
}
function semi_minor(a,f){
return a-(a*(1/f));
}
var grs80=new Array(6378137,6356752.31414036);
var wgs84=new Array(6378137,6356752.31424518);
var wgs72=new Array(6378135,6356750.52001609);
var intl=new Array(6378388,6356911.94612795);
var bessel=new Array(6377397.155,6356078.96281819);
var usfeet=1200/3937;
var feet=0.3048;
function e0fn(x){
return (1-0.25*x*(1+x/16*(3+1.25*x)));
}
function e1fn(x){
return (0.375*x*(1+0.25*x*(1+0.46875*x)));
}
function e2fn(x){
return (0.05859375*x*x*(1+0.75*x));
}
function e3fn(x){
return (x*x*x*(35/3072));
}
function mlfn(e0,e1,e2,e3,phi){
return (e0*phi-e1*Math.sin(2*phi)+e2*Math.sin(4*phi)-e3*Math.sin(6*phi));
}
function tminit(_ac4){
this.r_maj=_ac4[0];
this.r_min=_ac4[1];
this.scale_fact=_ac4[2];
this.lon_center=_ac4[3]*D2R;
this.lat_origin=_ac4[4]*D2R;
this.false_easting=_ac4[5];
this.false_northing=_ac4[6];
var temp=this.r_min/this.r_maj;
this.es=1-Math.pow(temp,2);
this.e0=e0fn(this.es);
this.e1=e1fn(this.es);
this.e2=e2fn(this.es);
this.e3=e3fn(this.es);
this.ml0=this.r_maj*mlfn(this.e0,this.e1,this.e2,this.e3,this.lat_origin);
this.esp=this.es/(1-this.es);
this.ind=(this.es<0.00001)?1:0;
}
function utminit(_ac6){
this.r_maj=_ac6[0];
this.r_min=_ac6[1];
this.scale_fact=_ac6[2];
var zone=_ac6[3];
this.lat_origin=0;
this.lon_center=((6*Math.abs(zone))-183)*D2R;
this.false_easting=500000;
this.false_northing=(zone<0)?10000000:0;
var temp=this.r_min/this.r_maj;
this.es=1-Math.pow(temp,2);
this.e0=e0fn(this.es);
this.e1=e1fn(this.es);
this.e2=e2fn(this.es);
this.e3=e3fn(this.es);
this.ml0=this.r_maj*mlfn(this.e0,this.e1,this.e2,this.e3,this.lat_origin);
this.esp=this.es/(1-this.es);
this.ind=(this.es<0.00001)?1:0;
}
function ll2tm(_ac9){
var lon=_ac9[0]*D2R;
var lat=_ac9[1]*D2R;
var _acc=adjust_lon(lon-this.lon_center);
var con;
var x,y;
var _ad0=Math.sin(lat);
var _ad1=Math.cos(lat);
if(this.ind!=0){
var b=_ad1*Math.sin(_acc);
if((Math.abs(Math.abs(b)-1))<1e-10){
throw "Error in ll2tm(): Point projects into infinity";
return (93);
}else{
x=0.5*this.r_maj*this.scale_fact*Math.log((1+b)/(1-b));
con=Math.acos(_ad1*Math.cos(_acc)/Math.sqrt(1-b*b));
if(lat<0){
con=-con;
}
y=this.r_maj*this.scale_fact*(con-this.lat_origin);
}
}else{
var al=_ad1*_acc;
var als=Math.pow(al,2);
var c=this.esp*Math.pow(_ad1,2);
var tq=Math.tan(lat);
var t=Math.pow(tq,2);
con=1-this.es*Math.pow(_ad0,2);
var n=this.r_maj/Math.sqrt(con);
var ml=this.r_maj*mlfn(this.e0,this.e1,this.e2,this.e3,lat);
x=this.scale_fact*n*al*(1+als/6*(1-t+c+als/20*(5-18*t+Math.pow(t,2)+72*c-58*this.esp)))+this.false_easting;
y=this.scale_fact*(ml-this.ml0+n*tq*(als*(0.5+als/24*(5-t+9*c+4*Math.pow(c,2)+als/30*(61-58*t+Math.pow(t,2)+600*c-330*this.esp)))))+this.false_northing;
switch(this.units){
case "usfeet":
x/=usfeet;
y/=usfeet;
break;
case "feet":
x=x/feet;
y=y/feet;
break;
}
}
return new Array(x,y);
}
function tm2ll(_ada){
var x=_ada[0];
var y=_ada[1];
var con,phi;
var _adf;
var i;
var _ae1=6;
var lat,lon;
if(this.ind!=0){
var f=exp(x/(this.r_maj*this.scale_fact));
var g=0.5*(f-1/f);
var temp=this.lat_origin+y/(this.r_maj*this.scale_fact);
var h=cos(temp);
con=sqrt((1-h*h)/(1+g*g));
lat=asinz(con);
if(temp<0){
lat=-lat;
}
if((g==0)&&(h==0)){
lon=this.lon_center;
}else{
lon=adjust_lon(atan2(g,h)+this.lon_center);
}
}else{
x=x-this.false_easting;
y=y-this.false_northing;
con=(this.ml0+y/this.scale_fact)/this.r_maj;
phi=con;
for(i=0;;i++){
_adf=((con+this.e1*Math.sin(2*phi)-this.e2*Math.sin(4*phi)+this.e3*Math.sin(6*phi))/this.e0)-phi;
phi+=_adf;
if(Math.abs(_adf)<=EPSLN){
break;
}
if(i>=_ae1){
throw "Error in tm2ll(): Latitude failed to converge";
return (95);
}
}
if(Math.abs(phi)<HALF_PI){
var _ae8=Math.sin(phi);
var _ae9=Math.cos(phi);
var _aea=Math.tan(phi);
var c=this.esp*Math.pow(_ae9,2);
var cs=Math.pow(c,2);
var t=Math.pow(_aea,2);
var ts=Math.pow(t,2);
con=1-this.es*Math.pow(_ae8,2);
var n=this.r_maj/Math.sqrt(con);
var r=n*(1-this.es)/con;
var d=x/(n*this.scale_fact);
var ds=Math.pow(d,2);
lat=phi-(n*_aea*ds/r)*(0.5-ds/24*(5+3*t+10*c-4*cs-9*this.esp-ds/30*(61+90*t+298*c+45*ts-252*this.esp-3*cs)));
lon=adjust_lon(this.lon_center+(d*(1-ds/6*(1+2*t+c-ds/20*(5-2*c+28*t-3*cs+8*this.esp+24*ts)))/_ae9));
}else{
lat=HALF_PI*sign(y);
lon=this.lon_center;
}
}
return new Array(lon*R2D,lat*R2D);
}
function msfnz(_af3,_af4,_af5){
var con=_af3*_af4;
return _af5/(Math.sqrt(1-con*con));
}
function tsfnz(_af7,phi,_af9){
var con=_af7*_af9;
var com=0.5*_af7;
con=Math.pow(((1-con)/(1+con)),com);
return (Math.tan(0.5*(HALF_PI-phi))/con);
}
function phi2z(_afc,ts){
var _afe=0.5*_afc;
var con,dphi;
var phi=HALF_PI-2*Math.atan(ts);
for(i=0;i<=15;i++){
con=_afc*Math.sin(phi);
dphi=HALF_PI-2*Math.atan(ts*(Math.pow(((1-con)/(1+con)),_afe)))-phi;
phi+=dphi;
if(Math.abs(dphi)<=1e-10){
return phi;
}
}
throw "Convergence error - phi2z";
return -9999;
}
function sign(x){
if(x<0){
return (-1);
}else{
return (1);
}
}
function adjust_lon(x){
x=(Math.abs(x)<PI)?x:(x-(sign(x)*TWO_PI));
return (x);
}
function stint(_b04){
this.r_major=_b04[0];
this.lon_center=_b04[1]*D2R;
this.lat_center=_b04[2]*D2R;
this.false_easting=_b04[3];
this.false_northing=_b04[4];
this.sin_p10=Math.sin(this.lat_center);
this.cos_p10=Math.cos(this.lat_center);
}
function ll2st(_b05){
var lon=_b05[0];
var lat=_b05[1];
var ksp;
if(lat<=90&&lat>=-90&&lon<=180&&lon>=-180){
lat*=D2R;
lon*=D2R;
}else{
throw "llInputOutOfRange"+lon+" "+lat;
return null;
}
var dlon=adjust_lon(lon-this.lon_center);
var _b0a=Math.sin(lat);
var _b0b=Math.cos(lat);
var _b0c=Math.cos(dlon);
var g=this.sin_p10*_b0a+this.cos_p10*_b0b*_b0c;
if(Math.abs(g+1)<=EPSLN){
throw "ll2stInfiniteProjection";
return null;
}else{
ksp=2/(1+g);
var x=this.false_easting+this.r_major*ksp*_b0b*Math.sin(dlon);
var y=this.false_northing+this.r_major*ksp*(this.cos_p10*_b0a-this.sin_p10*_b0b*_b0c);
return new Array(x,y);
}
}
function st2ll(_b10){
var x=(_b10[0]-this.false_easting);
var y=(_b10[1]-this.false_northing);
var rh=Math.sqrt(x*x+y*y);
var z=2*Math.atan(rh/(2*this.r_major));
var sinz=Math.sin(z);
var cosz=Math.cos(z);
var lat;
var lon=this.lon_center;
if(Math.abs(rh)<=EPSLN){
lat=this.lat_center;
}else{
lat=Math.asin(cosz*this.sin_p10+(y*sinz*this.cos_p10)/rh);
var con=Math.abs(this.lat_center)-HALF_PI;
if(Math.abs(con)<=EPSLN){
if(this.lat_center>=0){
lon=adjust_lon(lon_center+atan2(x,-y));
}else{
lon=adjust_lon(lon_center-atan2(-x,y));
}
}else{
con=cosz-this.sin_p10*Math.sin(lat);
if((Math.abs(con)<EPSLN)&&(Math.abs(x)<EPSLN)){
}else{
lon=adjust_lon(this.lon_center+Math.atan2((x*sinz*this.cos_p10),(con*rh)));
}
}
}
return new Array(R2D*lon,R2D*lat);
}
function minit(_b1a){
this.r_major=_b1a[0];
this.r_minor=_b1a[1];
this.lon_center=_b1a[2];
this.lat_origin=_b1a[3];
this.false_northing=_b1a[4];
this.false_easting=_b1a[5];
this.temp=this.r_minor/this.r_major;
this.es=1-(this.temp*this.temp);
this.e=Math.sqrt(this.es);
this.m1=Math.cos(this.lat_origin)/(Math.sqrt(1-this.es*Math.sin(this.lat_origin)*Math.sin(this.lat_origin)));
}
function ll2m(_b1b){
var lon=_b1b[0];
var lat=_b1b[1];
if(lat<=90&&lat>=-90&&lon<=180&&lon>=-180){
lat*=D2R;
lon*=D2R;
}else{
throw "llInputOutOfRange: "+lon+" "+lat;
return null;
}
if(Math.abs(Math.abs(lat)-HALF_PI)<=EPSLN){
throw "ll2mAtPoles";
return null;
}else{
var _b1e=Math.sin(lat);
var ts=tsfnz(this.e,lat,_b1e);
var x=this.false_easting+this.r_major*this.m1*adjust_lon(lon-this.lon_center);
var y=this.false_northing-this.r_major*this.m1*Math.log(ts);
}
return new Array(x,y);
}
function m2ll(_b22){
var x=_b22[0];
var y=_b22[1];
x-=this.false_easting;
y-=this.false_northing;
var ts=Math.exp(-y/(this.r_major*this.m1));
var lat=phi2z(this.e,ts);
if(lat==-9999){
alert("lat = -9999");
return null;
}
var lon=adjust_lon(this.lon_center+x/(this.r_major*this.m1));
return new Array(R2D*lon,R2D*lat);
}
dojo.provide("otm.map.widget.MapOverview");
dojo.widget.defineWidget("otm.map.widget.MapOverview",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapOverviewContainer\">\n\t<div dojoAttachPoint=\"innerNode\" class=\"mapOverviewInner\"\n\t\t\tdojoAttachEvent=\"ondblclick:click; onclick:click; onmousedown:dragstart; onmousemove:dragmove; onmouseup:dragstop;\">\n\t\t<div dojoAttachPoint=\"mapNode\" class=\"mapOverviewImage\" id=\"overviewMap\"></div>\n\t\t<div dojoAttachPoint=\"selectNode\" class=\"mapOverviewSelection\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeT\" class=\"mapOverviewSurround\" style=\"left: 0px; top:0px;\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeB\" class=\"mapOverviewSurround\" style=\"left: 0px; bottom:0px;\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeL\" class=\"mapOverviewSurround\" style=\"left: 0px;\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeR\" class=\"mapOverviewSurround\" style=\"right: 0px;\" ></div>\n\t</div>\n</div>\n",templateCssString:"@media screen{\n.mapOverviewContainer {\n\tcursor: auto;\n\tposition: relative;\n\n\tpadding: 0px;\n\tmargin:  0px;\n}\n\n.mapOverviewInner {\n\tposition: relative;\n\tborder: 0px;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.mapOverviewImage {\n\tborder: 0px;\n\tmargin: 0px;\n\tpadding: 0px;\n\tz-index: 0;\n}\n\n.mapOverviewSelection {\n\tposition: absolute;\n\tborder: 1px solid white;\n\tmargin: 0px;\n\tpadding: 0px;\n\tz-index: 2;\n\tline-height: 0px;\n\tfont-size: 0px;\n}\n\n.mapOverviewSurround {\n\tposition: absolute;\n\tborder: 0px;\n\tmargin: 0px;\n\tpadding: 0px;\n\tline-height: 0px;\n\tfont-size: 0px;\n\tbackground-color: black;\n\tz-index: 1;\n\topacity: 0.35;\n\tfilter:alpha(opacity=35);\n}\n}\n\n@media print{\n.mapOverviewImage {\ndisplay:none;\n\n}\n\n\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapOverview.css"),widgetType:"MapOverview",overviewImage:null,map:null,parent:null,xmlConfig:null,innerNode:null,selectNode:null,mapNode:null,srNodeT:null,srNodeB:null,srNodeL:null,srNodeR:null,bbox:null,_snWidth:-1,_snHeight:-1,initializer:function(){
this._dragStartMouseX=null;
this._dragStartMouseY=null;
this._dragStartTop=null;
this._dragStartLeft=null;
this._dragging=false;
this._dragHasMoved=false;
this._divSize={x:110,y:98};
this._lastDragEnd=0;
this._lastZoom=0;
},parseConfig:function(){
if(this.xmlConfig){
this._overviewMap=new otm.map.Map(this.mapNode,this.map._configObject,true);
if(!dojo.lang.isUndefined(this.xmlConfig.overview_width)&&!dojo.lang.isUndefined(this.xmlConfig.overview_width[0].value)){
this._divSize.x=parseInt(this.xmlConfig.overview_width[0].value);
}
if(!dojo.lang.isUndefined(this.xmlConfig.overview_height)&&!dojo.lang.isUndefined(this.xmlConfig.overview_height[0].value)){
this._divSize.x=parseInt(this.xmlConfig.overview_height[0].value);
}
if(!dojo.lang.isUndefined(this.xmlConfig.default_view)){
this._overviewMap.setView(this.xmlConfig.default_view[0].value);
}
if(!dojo.lang.isUndefined(this.xmlConfig.min_scale)){
this._overviewMap.scale._minZoom=parseInt(this.xmlConfig.min_scale[0].value);
}else{
this._overviewMap.scale._minZoom-=4;
}
}
},fillInTemplate:function(){
this.parseConfig();
this.setSizes(false);
dojo.event.connect(this.map,"onMapViewChange",this,"_onMapViewChange");
this.map.addEventListener("onresize",this,"update");
},setSizes:function(_b28){
this.mapNode.style.width=this._divSize.x+"px";
this.mapNode.style.height=this._divSize.y+"px";
this.innerNode.style.width=this._divSize.x+"px";
this.innerNode.style.height=this._divSize.y+"px";
this.srNodeT.style.width=this._divSize.x+"px";
this.srNodeB.style.width=this._divSize.x+"px";
if(typeof _b28=="undefined"||_b28){
this.update();
}
},_onMapViewChange:function(view){
if(!dojo.lang.isUndefined(view.overview_id)&&view.overview_id){
this._overviewMap.setView(view.overview_id);
}
},_draw:function(left,top,_b2c,_b2d){
if(dojo.lang.isUndefined(_b2c)){
var _b2c=(this._snWidth>=0)?this._snWidth:dojo.html.getContentBox(this.selectNode).width;
}
if(dojo.lang.isUndefined(_b2d)){
var _b2d=(this._snHeight>=0)?this._snHeight:dojo.html.getContentBox(this.selectNode).height;
}
this._snWidth=_b2c;
this._snHeight=_b2d;
var sns=this.selectNode.style;
sns.width=_b2c+"px";
sns.height=_b2d+"px";
sns.left=left+"px";
sns.top=top+"px";
var _b2f=top+_b2d;
var _b30=left+_b2c;
this.srNodeT.style.height=top+"px";
this.srNodeB.style.height=(this._divSize.y-_b2f)+"px";
this.srNodeL.style.width=left+"px";
this.srNodeL.style.height=_b2d+"px";
this.srNodeL.style.top=top+"px";
this.srNodeR.style.width=(this._divSize.x-_b30)+"px";
this.srNodeR.style.height=_b2d+"px";
this.srNodeR.style.top=top+"px";
},_undraw:function(){
this.selectNode.style.width=0+"px";
this.selectNode.style.height=0+"px";
this._snWidth=0;
this._snHeight=0;
this.srNodeT.style.height=0+"px";
this.srNodeB.style.height=0+"px";
var _b31=this.srNodeL.style;
_b31.width=0+"px";
_b31.height=0+"px";
_b31.top=0+"px";
var _b32=this.srNodeR.style;
_b32.width=0+"px";
_b32.height=0+"px";
_b32.top=0+"px";
},update:function(_b33){
if((this._divSize.x<=0)||(this._divSize.y<=0)){
this.setSizes(false);
}
if(this.bbox==null&&!this.map.getExtentBounds()){
return;
}
var view=(dojo.lang.isUndefined(_b33))?this.map.getMapBoundingBox():_b33;
if(!(this.map.isMoving)){
if(this.map.getZoomLevel()!=this._lastZoom){
this._lastZoom=this.map.getZoomLevel();
var _b35=view.clone();
_b35.expandToInclude(new otm.map.Point(_b35.left()-view.width(),_b35.top()+view.height()));
_b35.expandToInclude(new otm.map.Point(_b35.right()+view.width(),_b35.bottom()-view.height()));
this._overviewMap.setMapExtent(_b35,false);
dojo.debug("Map zoom was: "+this.map.getZoomLevel()+"  set overview zoom to "+this._overviewMap.getZoomLevel());
}else{
this._overviewMap.centerMap(this.map.getCenter());
}
}
this.bbox=this._overviewMap.getMapBoundingBox();
var pcX=(view.left()-this.bbox.left())/this.bbox.width();
var pcY=1-((view.bottom()-this.bbox.bottom())/this.bbox.height());
var pcW=view.width()/this.bbox.width();
var pcH=view.height()/this.bbox.height();
var pxW=Math.round(this._divSize.x*pcW);
var pxH=Math.round(this._divSize.y*pcH);
var pxX=Math.round(this._divSize.x*pcX);
var pxY=Math.round(this._divSize.y*pcY)-pxH;
if(pxW>this._divSize.x||pxH>this._divSize.y){
this._undraw();
}else{
this._draw(pxX,pxY,pxW,pxH);
}
},dragstart:function(_b3e){
this._dragStartMouseX=_b3e.clientX;
this._dragStartMouseY=_b3e.clientY;
this._dragStartTop=parseInt(this.selectNode.style.top);
this._dragStartLeft=parseInt(this.selectNode.style.left);
this._dragging=true;
this._dragHasMoved=false;
dojo.debug("Overview: ondragstart:");
this.innerNode.style.cursor=(dojo.render.html.moz)?"-moz-grabbing":"move";
dojo.event.browser.stopEvent(_b3e);
return false;
},dragmove:function(_b3f){
if(this._dragging){
if(!this._dragHasMoved){
this.map._createDragConnections();
dojo.event.connect(this.map,"mouselost",this,"dragstop");
dojo.event.connect(document.body,"onmouseup",this,"dragstop");
}
this._dragHasMoved=true;
var _b40=new otm.map.Point();
_b40.x=(this._dragStartLeft+(_b3f.clientX-this._dragStartMouseX));
_b40.y=(this._dragStartTop+(_b3f.clientY-this._dragStartMouseY));
if(_b40.x<0){
_b40.x=0;
}
if(_b40.x+dojo.html.getContentBox(this.selectNode).width>this._divSize.x){
_b40.x=this._divSize.x-dojo.html.getContentBox(this.selectNode).width;
}
if(_b40.y<0){
_b40.y=0;
}
if(_b40.y+dojo.html.getContentBox(this.selectNode).height>this._divSize.y){
_b40.y=this._divSize.y-dojo.html.getContentBox(this.selectNode).height;
}
this._draw(_b40.x,_b40.y);
}
},dragstop:function(_b41){
if(this._dragging){
this.innerNode.style.cursor="default";
this._dragging=false;
if(!this._dragHasMoved){
return;
}
dojo.event.disconnect(this.map,"mouselost",this,"dragstop");
dojo.event.disconnect(document.body,"onmouseup",this,"dragstop");
this.map._removeDragConnections();
var pcX=parseInt(this.selectNode.style.left)/this._divSize.x;
var pcY=1-(parseInt(this.selectNode.style.top)/this._divSize.y);
var _b44=this._overviewMap.getMapBoundingBox();
var view=this.map.getMapBoundingBox();
var _b46=new otm.map.Point();
_b46.x=_b44.width()*pcX+_b44.left()+view.width()/2;
_b46.y=_b44.height()*pcY+_b44.bottom()-view.height()/2;
this.map.centerMap(_b46);
this._lastDragEnd=new Date();
if(_b41){
dojo.event.browser.stopEvent(_b41);
}
}
},click:function(_b47){
if((new Date()).valueOf()-this._lastDragEnd.valueOf()<1000){
return;
}
var pcX=(_b47.clientX-dojo.html.totalOffsetLeft(this.innerNode))/this._divSize.x;
var pcY=1-(_b47.clientY-dojo.html.totalOffsetTop(this.innerNode))/this._divSize.y;
this.dragging=false;
var _b4a=this._overviewMap.getMapBoundingBox();
var _b4b=new otm.map.Point();
_b4b.x=_b4a.width()*pcX+_b4a.left();
_b4b.y=_b4a.height()*pcY+_b4a.bottom();
this.map.centerMap(_b4b);
dojo.event.browser.stopEvent(_b47);
return false;
}});
dojo.provide("otm.map.widget.MapOverviewStatic");
dojo.widget.defineWidget("otm.map.widget.MapOverviewStatic",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapOverviewStaticContainer\" dojoAttachEvent=\"onmouseout:dragstop;\">\n\t<div dojoAttachPoint=\"innerNode\" class=\"mapOverviewStaticInner\"\n\t\t\tdojoAttachEvent=\"ondblclick:click; onclick:click; onmousedown:dragstart; onmousemove:dragmove; onmouseup:dragstop; onmouseout:dragstop;\">\n\t\t<img dojoAttachPoint=\"imageNode\" class=\"mapOverviewStaticImage\" />\n\t\t<div dojoAttachPoint=\"selectNode\" class=\"mapOverviewStaticSelection\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeT\" class=\"mapOverviewStaticSurround\" style=\"left: 0px; top:0px;\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeB\" class=\"mapOverviewStaticSurround\" style=\"left: 0px; bottom:0px;\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeL\" class=\"mapOverviewStaticSurround\" style=\"left: 0px;\" ></div>\n\t\t<div dojoAttachPoint=\"srNodeR\" class=\"mapOverviewStaticSurround\" style=\"right: 0px;\" ></div>\n\t</div>\n</div>\n",templateCssString:".mapOverviewStaticContainer {\n\tcursor: auto;\n\tposition: relative;\n\n\tpadding: 0px;\n\tmargin:  0px;\n\tbackground-color: white;\n}\n\n.mapOverviewStaticInner {\n\toverflow: hidden;\n\tposition: relative;\n\tborder: 0px;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.mapOverviewStaticImage {\n\tborder: 0px;\n\tmargin: 0px;\n\tpadding: 0px;\n\tz-index: 0;\n}\n\n.mapOverviewStaticSelection {\n\tposition: absolute;\n\tborder: 1px solid white;\n\tmargin: 0px;\n\tpadding: 0px;\n\tz-index: 2;\n\tline-height: 0px;\n\tfont-size: 0px;\n}\n\n.mapOverviewStaticSurround {\n\tposition: absolute;\n\tborder: 0px;\n\tmargin: 0px;\n\tpadding: 0px;\n\tline-height: 0px;\n\tfont-size: 0px;\n\tbackground-color: white;\n\tz-index: 1;\n\topacity: 0.2;\n\tfilter:alpha(opacity=20);\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapOverviewStatic.css"),widgetType:"MapOverviewStatic",overviewImage:null,map:null,parent:null,xmlConfig:null,innerNode:null,selectNode:null,imageNode:null,srNodeT:null,srNodeB:null,srNodeL:null,srNodeR:null,initializer:function(){
this._dragStartMouseX=null;
this._dragStartMouseY=null;
this._dragStartTop=null;
this._dragStartLeft=null;
this._dragging=false;
this._dragHasMoved=false;
this._divSize={x:-1,y:-1};
this._lastDragEnd=0;
},parseConfig:function(){
if(this.xmlConfig){
if(!dojo.lang.isUndefined(this.xmlConfig.overviewmap.imageurl)){
this.overviewImage=this.xmlConfig.overviewmap.imageurl[0].value;
}
}
},fillInTemplate:function(){
this.parseConfig();
this.imageNode.src=this.overviewImage;
dojo.event.connect(this.imageNode,"onload",this,"setSizes");
},setSizes:function(_b4c){
this._divSize.x=this.imageNode.width;
this._divSize.y=this.imageNode.height;
this.domNode.style.width=this._divSize.x+"px";
this.domNode.style.height=this._divSize.y+"px";
this.innerNode.style.width=this._divSize.x+"px";
this.innerNode.style.height=this._divSize.y+"px";
this.srNodeT.style.width=this._divSize.x+"px";
this.srNodeB.style.width=this._divSize.x+"px";
if(typeof _b4c=="undefined"||_b4c){
this.update();
}
},_draw:function(left,_top,_b4f,_b50){
if(dojo.lang.isUndefined(_b4f)){
var _b4f=dojo.html.getContentBox(this.selectNode).width;
}
if(dojo.lang.isUndefined(_b50)){
var _b50=dojo.html.getContentBox(this.selectNode).height;
}
this.selectNode.style.width=_b4f+"px";
this.selectNode.style.height=_b50+"px";
this.selectNode.style.left=left+"px";
this.selectNode.style.top=_top+"px";
var _b51=_top+_b50;
var _b52=left+_b4f;
this.srNodeT.style.height=_top+"px";
this.srNodeB.style.height=(this._divSize.y-_b51)+"px";
this.srNodeL.style.width=left+"px";
this.srNodeL.style.height=_b50+"px";
this.srNodeL.style.top=_top+"px";
this.srNodeR.style.width=(this._divSize.x-_b52)+"px";
this.srNodeR.style.height=_b50+"px";
this.srNodeR.style.top=_top+"px";
},update:function(_b53){
if((this._divSize.x<=0)||(this._divSize.y<=0)){
this.setSizes(false);
}
var _b54=this.map.getExtentBounds();
if(!_b54){
return;
}
var view=(dojo.lang.isUndefined(_b53))?this.map.getMapBoundingBox():_b53;
var pcX=(view.left()-_b54.left())/_b54.width();
var pcY=1-((view.bottom()-_b54.bottom())/_b54.height());
var pcW=view.width()/_b54.width();
var pcH=view.height()/_b54.height();
var pxX=Math.round(this._divSize.x*pcX);
var pxW=Math.round(this._divSize.x*pcW);
var pxH=Math.round(this._divSize.y*pcH);
var pxY=Math.round(this._divSize.y*pcY)-pxH;
this._draw(pxX,pxY,pxW,pxH);
},dragstart:function(_b5e){
this._dragStartMouseX=_b5e.clientX;
this._dragStartMouseY=_b5e.clientY;
this._dragStartTop=parseInt(this.selectNode.style.top);
this._dragStartLeft=parseInt(this.selectNode.style.left);
this._dragging=true;
this._dragHasMoved=false;
this.innerNode.style.cursor=(dojo.render.html.moz)?"-moz-grabbing":"move";
dojo.event.browser.stopEvent(_b5e);
return false;
},dragmove:function(_b5f){
if(this._dragging){
this._dragHasMoved=true;
var _b60=new otm.map.Point();
_b60.x=(this._dragStartLeft+(_b5f.clientX-this._dragStartMouseX));
_b60.y=(this._dragStartTop+(_b5f.clientY-this._dragStartMouseY));
if(_b60.x<0){
_b60.x=0;
}
if(_b60.x+dojo.html.getContentBox(this.selectNode).width>this._divSize.x){
_b60.x=this._divSize.x-dojo.html.getContentBox(this.selectNode).width;
}
if(_b60.y<0){
_b60.y=0;
}
if(_b60.y+dojo.html.getContentBox(this.selectNode).height>this._divSize.y){
_b60.y=this._divSize.y-dojo.html.getContentBox(this.selectNode).height;
}
this._draw(_b60.x,_b60.y);
}
},dragstop:function(_b61){
if(_b61.type=="mouseout"){
if((_b61.relatedTarget!=this.domNode)&&(_b61.relatedTarget!=this.innerNode)){
return;
}
}
if(this._dragging){
this.innerNode.style.cursor="default";
this._dragging=false;
if(!this._dragHasMoved){
return;
}
var pcX=parseInt(this.selectNode.style.left)/this._divSize.x;
var pcY=1-(parseInt(this.selectNode.style.top)/this._divSize.y);
var _b64=this.map.getExtentBounds();
var view=this.map.getMapBoundingBox();
var _b66=new otm.map.Point();
_b66.x=_b64.width()*pcX+_b64.left()+view.width()/2;
_b66.y=_b64.height()*pcY+_b64.bottom()-view.height()/2;
this.map.centerMap(_b66);
this._lastDragEnd=new Date();
dojo.event.browser.stopEvent(_b61);
}
},click:function(_b67){
if((new Date()).valueOf()-this._lastDragEnd.valueOf()<1000){
return;
}
var pcX=(_b67.clientX-dojo.html.totalOffsetLeft(this.innerNode))/this._divSize.x;
var pcY=1-(_b67.clientY-dojo.html.totalOffsetTop(this.innerNode))/this._divSize.y;
this.dragging=false;
var _b6a=this.map.getExtentBounds();
var _b6b=new otm.map.Point();
_b6b.x=_b6a.width()*pcX+_b6a.left();
_b6b.y=_b6a.height()*pcY+_b6a.bottom();
this.map.centerMap(_b6b);
dojo.event.browser.stopEvent(_b67);
return false;
}});
dojo.provide("otm.map.widget.MapPanel2");
dojo.provide("otm.map.widget.MapPanel2Button");
dojo.widget.defineWidget("otm.map.widget.MapPanel2",dojo.widget.HtmlWidget,{widgetType:"MapPanel2",templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapPanel\">\n\t<div dojoAttachPoint=\"toggleBarNode\" class=\"mapPanelToggleBar otmColBg\">\n\t\t<div dojoAttachPoint=\"toggleSpinNode\" style=\"display:none;\" class=\"mapPanelToggleSpin\" dojoAttachEvent=\"onclick:spinner; onmouseover:iehover; onmouseout:iehover;\"></div>\n\t</div>\n\n\t<div dojoAttachPoint=\"buttonBarNode\" style=\"display:none;\" class=\"mapPanelButtonBar otmColBg\">\n\t</div>\n\t\n\t<div class=\"mapPanelNaviShadow\"></div>\n\t<div dojoAttachPoint=\"navBarLNode\" style=\"display:none;\" class=\"mapPanelControl\" dojoAttachEvent=\"onmousemove:zoomdragend;\">\n\t\t<div class=\"otmColBg mapPanelBg\"></div>\n\t\t<div dojoAttachEvent=\"onclick:panclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelPanN\" ></div>\n\t\t<div dojoAttachEvent=\"onclick:panclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelPanW\" ></div>\n\t\t<div dojoAttachEvent=\"onclick:homeclick; onmouseover:iehover; onmouseout:iehover;\" dojoAttachPoint=\"homeButtonNode\" class=\"mapPanelHome\" ></div>\n\t\t<div dojoAttachEvent=\"onclick:panclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelPanE\" ></div>\n\t\t<div dojoAttachEvent=\"onclick:panclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelPanS\" ></div>\n\n\t\t<div dojoAttachEvent=\"onclick:zoomclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelZoomIn\" ></div>\n\t\t<div dojoAttachEvent=\"onclick:zoomclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelZoomOut\" ></div>\n\n\t\t<div class=\"mapPanelZoomSlide\" dojoAttachPoint=\"zoomSlideNode\" dojoAttachEvent=\"onmousemove:zoomdragmove; onmouseup:zoomdragend\" >\n\t\t\t<div class=\"mapPanelZoomSlideBg\"></div>\n\t\t\t<div dojoAttachPoint='zoomSliderNode' class='mapPanelZoomSlider' dojoAttachEvent=\"onmousedown:zoomdragstart; onmouseover:iehover; onmouseout:iehover;\"></div>\n\t\t</div>\n\n\t\t<div dojoAttachPoint=\"overviewMapNode\" class=\"mapPanelOverview\" ></div>\n\t</div>\n\t<div dojoAttachPoint=\"navBarSNode\" style=\"display:none;\" class=\"mapPanelSControl\" dojoAttachEvent=\"onmousemove:zoomdragend;\">\n\t\t<div class=\"otmColBg mapPanelBg mapPanelBgS\"></div>\n\t\t<div dojoAttachEvent=\"onclick:zoomclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelZoomIn\" ></div>\n\t\t<div dojoAttachEvent=\"onclick:zoomclick; onmouseover:iehover; onmouseout:iehover;\" class=\"mapPanelZoomOut\" ></div>\n\t\t<div class=\"mapPanelSZoom\" ></div>\n\t\t<div class=\"mapPanelSZoomSlide\" dojoAttachPoint=\"zoomSlideNodeS\" dojoAttachEvent=\"onmousemove:zoomdragmove; onmouseup:zoomdragend\" >\n\t\t\t<div class=\"mapPanelSZoomSlideBg\"></div>\n\t\t\t<div dojoAttachPoint='zoomSliderNodeS' class='mapPanelSZoomSlider' dojoAttachEvent=\"onmousedown:zoomdragstart; onmouseover:iehover; onmouseout:iehover;\"></div>\n\t\t</div>\n\t</div>\n\t\n\t<div dojoAttachPoint=\"viewSwitcherNode\" style=\"display:none;\" class=\"mapPanelViewsBar otmColBg\">\n\t</div> \n</div>\n",templateCssString:"@media screen{\n.mapPanel {\n\twidth: 200px;\n\tborder: 0;\n\tpadding: 0;\n\tmargin: 0;\n\tline-height: 0px;\n\tfont-size: 0;\t\n\t\n\tposition: absolute;\n\tright: 15px;\n\ttop: 0px;\n\tz-index: 500;\n\tcursor: default;\n\toverflow: hidden;\n}\n\n.mapPanelBg {\n\tposition: absolute;\n\tz-index: -1;\n\tleft: 0px;\n\twidth: 200px;\n\theight: 106px;\n\topacity: 0.8;\n\tfilter:alpha(opacity=80);\n}\n\n.mapPanelToggleBar {\n\tposition: relative;\n\theight: 15px;\n}\n.mapPanelToggleSpin {\n\tposition: absolute;\n\twidth: 11px;\n\theight: 12px;\n\tleft: 4px;\n\ttop: 2px;\n\tbackground: url('images/panel/Toggle_arrow_up.png') no-repeat;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='otm/map/widget/templates/images/panel/Toggle_arrow_up.png', cssPathOffset='../../../../');\n\t_background: none;\n\tcursor: pointer;\n}\n.mapPanelToggleSpin:hover, .mapPanelToggleSpinHover {\n\tbackground: url('images/panel/Toggle_arrow_right.png') no-repeat;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='otm/map/widget/templates/images/panel/Toggle_arrow_right.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelButtonBar {\n\tposition: relative;\n\theight: 26px;\n}\n\n.mapPanelNaviShadow {\n\tposition: relative;\n\theight: 3px;\n\tbackground-image: url('images/panel/navi_shadow.png');\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='otm/map/widget/templates/images/panel/navi_shadow.png', cssPathOffset='../../../../');\n\t_background-image: none;\t\n}\n\n.mapPanelControl {\n\tposition: relative;\n\theight: 106px;\n}\n\n.mapPanelSControl {\n\tposition: relative;\n\theight: 31px; \n}\n.mapPanelBgS {\n\theight: 31px;\n}\n\n.mapPanelViewsBar {\n\tposition: relative;\n\tmargin-top: 4px;\n\theight: 26px;\n}\n\n.mapPanelOverview {\n\tfloat: right;\n\twidth: 110px;\n\theight: 98px;\n\tdisplay: none;\t\n\tmargin: 4px 5px 4px 5px;\n\toverflow: hidden;\n}\n\n.mapPanelZoomSlide {\n\tposition: absolute;\n\ttop: 4px;\n\tleft: 64px;\n\twidth: 15px;\n\theight: 98px;\n}\n.mapPanelZoomSlideBg {\n\tposition: absolute;\n\twidth: 15px;\n\theight: 98px;\n\tbackground: url(\"images/panel/Zoom_slide_bg.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_slide_bg.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n.mapPanelZoomSlider {\n\tposition: relative;\n\tcursor: pointer;\n\twidth: 15px;\n\theight: 15px;\n\tz-index: 1;\n\tbackground: url(\"images/panel/Zoom_slide_bars.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_slide_bar.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelZoomSlider:hover, .mapPanelZoomSliderhover, .mapPanelZoomSliderOver {\n\tbackground-position: 0 -15px;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_slide_bar_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelPanN {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 4px;\n\tleft: 23px;\n\twidth: 19px;\n\theight: 15px;\n\tbackground: url(\"images/panel/Dnavi_arrow_up.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_up.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelPanN:hover, .mapPanelPanNhover {\n\tbackground: url(\"images/panel/Dnavi_arrow_up_OVA.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_up_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelPanW {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 23px;\n\tleft: 5px;\n\twidth: 15px;\n\theight: 19px;\n\tbackground: url(\"images/panel/Dnavi_arrow_left.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_left.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelPanW:hover, .mapPanelPanWhover {\n\tbackground: url(\"images/panel/Dnavi_arrow_left_OVA.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_left_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelHome {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 23px;\n\tleft: 23px;\n\twidth: 19px;\n\theight: 19px;\n\tbackground-position: -19px 0px;\n\tbackground: url(\"images/panel/Dnavi_center.png\") no-repeat;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='otm/map/widget/templates/images/panel/Dnavi_center.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelHome:hover, .mapPanelHomehover {\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='otm/map/widget/templates/images/panel/Dnavi_center_OVA.png', cssPathOffset='../../../../');\n\tbackground-position: -57px 0px;\n}\n\n.mapPanelPanE {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 23px;\n\tleft: 45px;\n\twidth: 15px;\n\theight: 19px;\n\tbackground: url(\"images/panel/Dnavi_arrow_right.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_right.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelPanE:hover, .mapPanelPanEhover {\n\tbackground: url(\"images/panel/Dnavi_arrow_right_OVA.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_right_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelPanS {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 45px;\n\tleft: 23px;\n\twidth: 19px;\n\theight: 15px;\n\tbackground: url(\"images/panel/Dnavi_arrow_down.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_down.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelPanS:hover, .mapPanelPanShover {\n\tbackground: url(\"images/panel/Dnavi_arrow_down_OVA.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Dnavi_arrow_down_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelZoomIn {\n\tposition: absolute;\n\tcursor: pointer;\n\tbottom: 4px;\n\tleft: 5px;\n\twidth: 24px;\n\theight: 23px;\n\tbackground: url(\"images/panel/Zoom_in.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_in.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelZoomIn:hover, .mapPanelZoomInhover {\n\tbackground: url(\"images/panel/Zoom_in_OVA.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_in_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelZoomOut {\n\tposition: absolute;\n\tcursor: pointer;\n\tbottom: 4px;\n\tleft: 34px;\n\twidth: 24px;\n\theight: 23px;\n\tbackground: url(\"images/panel/Zoom_out.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_out.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n.mapPanelZoomOut:hover, .mapPanelZoomOuthover {\n\tbackground: url(\"images/panel/Zoom_out_OVA.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/Zoom_out_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapPanelSZoom {\n\tposition: absolute;\n\tbottom: 8px;\n\tleft: 69px;\n\twidth: 16px;\n\theight: 14px;\n\tbackground: url(\"images/panel/navi_compact_zoom.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/navi_compact_zoom.png', cssPathOffset='../../../../');\n\t_background: none;\n\t_cursor: pointer;\n}\n\n.mapPanelSZoomSlide {\n\tposition: absolute;\n\tbottom: 8px;\n\tright: 5px;\n\twidth: 98px;\n\theight: 15px;\n}\n.mapPanelSZoomSlideBg {\n\tposition: absolute;\n\twidth: 98px;\n\theight: 15px;\n\tbackground: url(\"images/panel/navi_compact_slider_bg.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/navi_compact_slider_bg.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n.mapPanelSZoomSlider {\n\tposition: absolute;\n\tcursor: pointer;\n\twidth: 15px;\n\theight: 15px;\n\tz-index: 1;\n\tbackground: url(\"images/panel/navi_compact_slider_bars.png\") no-repeat 0 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/navi_compact_slider_bar.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n.mapPanelSZoomSlider:hover, .mapPanelSZoomSliderhover, .mapPanelSZoomSliderOver {\n\tbackground-position: -15px 0;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='otm/map/widget/templates/images/panel/navi_compact_slider_bar_OVA.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n}\n\n@media print{\n.mapPanel {\ndisplay:none;\n\n}\n\n\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapPanel2.css"),MAX:1,MIN:0,map:null,xmlConfig:null,state:1,canToggle:true,buttonsShowMin:false,viewsShowMin:true,viewsShowIcons:false,help:true,overviewMapClass:"MapOverview",buttons:null,views:null,overviewMap:null,toolPanel:null,_z_isDragging:false,_z_targetLevel:-1,domNode:null,toggleBarNode:null,toggleSpinNode:null,buttonBarNode:null,navBarLNode:null,homeButtonNode:null,zoomSlideNode:null,zoomSliderNode:null,zoomSlideNodeS:null,zoomSliderNodeS:null,overviewMapNode:null,navBarSNode:null,viewSwitcherNode:null,fillInTemplate:function(){
var c=this.xmlConfig.mappanel2[0];
if(!dojo.lang.isUndefined(c.mappanel2.canToggle)){
this.canToggle=(c.mappanel2.canToggle[0].value.toLowerCase()=="true");
}
if(!dojo.lang.isUndefined(c.mappanel2.initialState)){
this.state=(c.mappanel2.initialState[0].value.toLowerCase()=="max")?this.MAX:this.MIN;
}
if(!dojo.lang.isUndefined(c.mappanel2.help)){
this.help=(c.mappanel2.help[0].value.toLowerCase()=="true");
}
this.buttons=[];
if(!dojo.lang.isUndefined(c.buttons)){
var b=c.buttons[0];
if(!dojo.lang.isUndefined(b.buttons.shownMin)){
this.buttonsShowMin=(b.buttons.shownMin[0].value.toLowerCase()=="true");
}
for(var ii=0;ii<b.button.length;ii++){
var _b6f={parent:this};
_b6f.id=b.button[ii].button.id[0].value;
_b6f.label=b.button[ii].button.label[0].value;
_b6f.icon=dojo.lang.isUndefined(b.button[ii].button.icon)?"":b.button[ii].button.icon[0].value;
this.buttons.push(dojo.widget.createWidget("otm.map:MapPanel2Button",_b6f,this.buttonBarNode,"last"));
}
}
this.views=[];
if(!dojo.lang.isUndefined(c.viewswitch)){
var v=c.viewswitch[0];
if(!dojo.lang.isUndefined(v.viewswitch.shownMin)){
this.viewsShowMin=(v.viewswitch.shownMin[0].value.toLowerCase()=="true");
}
if(!dojo.lang.isUndefined(v.viewswitch.showIcons)){
this.viewsShowIcons=(v.viewswitch.showIcons[0].value.toLowerCase()=="true");
}
for(var ii=0;ii<v.view.length;ii++){
var _b71={parent:this};
_b71.id=v.view[ii].view.id[0].value;
_b71.label=this.map.getViews().item(_b71.id).name;
_b71.icon=dojo.lang.isUndefined(v.view[ii].view.icon)?"":v.view[ii].view.icon[0].value;
_b71.fullSize=this.viewsShowIcons;
this.views.push(dojo.widget.createWidget("otm.map:MapPanel2Button",_b71,this.viewSwitcherNode,"last"));
}
}
dojo.debug("testing for overview map");
if(!dojo.lang.isUndefined(c.overviewmap)){
dojo.debug("We have a overview map config");
var _b72=new Array("MapOverviewStatic","MapOverview","CustomMapOverview");
for(var ii=0;ii<_b72.length;++ii){
var _b73=_b72[ii].toLowerCase();
dojo.debug("Testing if we have a overview map of type: ",_b73);
if(c.overviewmap[0][_b73]){
dojo.debug("Yes");
if(c.overviewmap[0][_b73].classname){
var _b74=c.overviewmap[0][_b73].classname[0].value;
}else{
var _b74=_b72[ii];
}
var _b75={map:this.map,parent:this,xmlConfig:c.overviewmap[0][_b73][0]};
this.overviewMap=dojo.widget.createWidget("otm.map:"+_b74,_b75,this.overviewMapNode,"first");
this.overviewMapNode.style.display="block";
break;
}
}
}
},postCreate:function(){
this._setButtonSizes();
if(this.canToggle){
dojo.html.show(this.toggleSpinNode);
}
switch(this.state){
case this.MIN:
if((this.views.length>0)&&this.viewsShowMin){
dojo.html.show(this.viewSwitcherNode);
}
if((this.buttons.length>0)&&this.buttonsShowMin){
dojo.html.show(this.buttonBarNode);
}
dojo.html.show(this.navBarSNode);
break;
case this.MAX:
if(this.views.length>0){
dojo.html.show(this.viewSwitcherNode);
}
if(this.buttons.length>0){
dojo.html.show(this.buttonBarNode);
}
dojo.html.show(this.navBarLNode);
break;
}
if(this.overviewMap){
dojo.event.connect(this.overviewMap,"setSizes",this,"onresize");
}
for(var i=0;i<this.buttons.length;i++){
dojo.event.connect(this.buttons[i],"onclick",this,"onbuttonclick");
}
for(var i=0;i<this.views.length;i++){
dojo.event.connect(this.views[i],"onclick",this,"onviewswitch");
}
this._z_range=this.map.scale.getMaxZoomLevel()-this.map.scale.getMinZoomLevel()+1;
switch(this.state){
case this.MIN:
this._z_slideLength=dojo.html.getContentBox(this.zoomSlideNodeS).width-dojo.html.getMarginBox(this.zoomSliderNodeS).width;
break;
case this.MAX:
this._z_slideLength=dojo.html.getContentBox(this.zoomSlideNode).height-dojo.html.getMarginBox(this.zoomSliderNode).height;
break;
}
this._z_delta=this._z_slideLength/(this._z_range-1);
dojo.event.connect(this.map,"onrender",this,"mapviewchange");
this.mapviewchange();
this.map._setDeadZoneFromNode("mappanel",this.domNode);
this._preloadImages();
this.map.addEventListener("onresize",this,"onresize");
},panclick:function(evt){
var c=dojo.html.getClasses(evt.target);
var _b79=0;
if(dojo.lang.inArray(c,"mapPanelPanN")){
_b79=otm.map.DIRECTION.NORTH;
}else{
if(dojo.lang.inArray(c,"mapPanelPanS")){
_b79=otm.map.DIRECTION.SOUTH;
}else{
if(dojo.lang.inArray(c,"mapPanelPanE")){
_b79=otm.map.DIRECTION.EAST;
}else{
if(dojo.lang.inArray(c,"mapPanelPanW")){
_b79=otm.map.DIRECTION.WEST;
}else{
throw new Error(otm.map.strings.mappanel2_error_unknown_pan_direction);
}
}
}
}
this.onpan(_b79);
return false;
},zoomclick:function(evt){
var c=dojo.html.getClasses(evt.target);
var _b7c=0;
if(dojo.lang.inArray(c,"mapPanelZoomIn")){
_b7c=1;
}else{
if(dojo.lang.inArray(c,"mapPanelZoomOut")){
_b7c=-1;
}else{
throw new Error(otm.map.strings.mappanel2_error_unknown_zoom_direction);
}
}
this.onzoom(_b7c);
return false;
},homeclick:function(evt){
this.onhome();
return false;
},zoomdragstart:function(evt){
this._z_isDragging=true;
this._z_slider=evt.target;
if(this._z_slider==this.zoomSliderNode){
this._z_startMouse=evt.clientY;
this._z_startVal=dojo.html.getPixelValue(this.zoomSliderNode,"top",true);
}else{
this._z_startMouse=evt.clientX;
this._z_startVal=dojo.html.getPixelValue(this.zoomSliderNodeS,"right",true);
}
this._z_dragVal=this.map.getZoomLevel();
dojo.html.addClass(this.zoomSliderNode,"mapPanelZoomSliderOver");
dojo.html.addClass(this.zoomSliderNodeS,"mapPanelSZoomSliderOver");
},zoomdragmove:function(evt){
if(this._z_isDragging){
if(this._z_slider==this.zoomSliderNode){
var _b80=(this._z_startVal+(evt.clientY-this._z_startMouse));
}else{
var _b80=(this._z_startVal-(evt.clientX-this._z_startMouse));
}
_b80=(_b80<0)?0:_b80;
_b80=(_b80>this._z_slideLength)?this._z_slideLength:_b80;
var z=this.map.scale.getMaxZoomLevel()-(_b80/this._z_delta);
this._z_dragVal=z;
this.zoomSliderNode.style.top=Math.round(_b80)+"px";
this.zoomSliderNodeS.style.right=Math.round(_b80)+"px";
if(this.overviewMap){
var _b82=this.map.getMapBoundingBox().center();
var mpx=this.map.scale.getMapUnitsPerPixel(z);
var _b84=[this.map._getContainerWidth()*mpx/2,this.map._getContainerHeight()*mpx/2];
var view=new otm.map.GeomBoundingBox();
view.setLeft(_b82.x-_b84[0]);
view.setTop(_b82.y+_b84[1]);
view.setRight(_b82.x+_b84[0]);
view.setBottom(_b82.y-_b84[1]);
this.overviewMap.update(view);
}
evt.stopPropagation();
}
},zoomdragend:function(evt){
if(this._z_isDragging){
evt.stopPropagation();
this._z_isDragging=false;
dojo.html.removeClass(this.zoomSliderNode,"mapPanelZoomSliderOver");
dojo.html.removeClass(this.zoomSliderNodeS,"mapPanelSZoomSliderOver");
var _b87=Math.round(this._z_dragVal);
this._z_targetLevel=_b87;
if(!this.map.setZoomLevel(_b87,true)){
this.mapviewchange();
}
}
},mapviewchange:function(){
var _b88=this.map.getZoomLevel();
if(this.map.isMoving&&(this._z_targetLevel>0)){
return;
}
if(this.overviewMap&&(this.state==this.MAX)){
this.overviewMap.update();
}
var _b89=(this.map.scale.getMaxZoomLevel()-_b88);
this.zoomSliderNode.style.top=(_b89*this._z_delta)+"px";
this.zoomSliderNodeS.style.right=(_b89*this._z_delta)+"px";
this._z_targetLevel=-1;
},spinner:function(){
switch(this.state){
case this.MIN:
if(this.overviewMap){
this.overviewMap.update();
}
if(this.views.length>0){
dojo.html.show(this.viewSwitcherNode);
}
if(this.buttons.length>0){
dojo.html.show(this.buttonBarNode);
}
dojo.html.show(this.navBarLNode);
dojo.html.hide(this.navBarSNode);
this.state=this.MAX;
break;
case this.MAX:
if(!this.viewsShowMin){
dojo.html.hide(this.viewSwitcherNode);
}
if(!this.buttonsShowMin){
dojo.html.hide(this.buttonBarNode);
}
dojo.html.show(this.navBarSNode);
dojo.html.hide(this.navBarLNode);
this.state=this.MIN;
break;
}
this.onresize();
},onresize:function(){
this.map._setDeadZoneFromNode("mappanel",this.domNode);
this._setButtonSizes();
},iehover:function(evt){
if(!dojo.render.html.ie60){
return;
}
var _b8b=dojo.html.getClasses(evt.target);
switch(evt.type){
case "mouseout":
if(evt.target.mpHasIEHover){
dojo.html.removeClass(evt.target,_b8b[1]);
evt.target.mpHasIEHover=false;
}
break;
case "mouseover":
if(dojo.lang.isUndefined(evt.target.mpHasIEHover)||!evt.target.mpHasIEHover){
dojo.html.addClass(evt.target,_b8b[0]+"hover");
evt.target.mpHasIEHover=true;
}
break;
}
},_setButtonSizes:function(){
var ow=dojo.html.getContentBox(this.domNode).width;
var cnt=this.buttons.length;
if(cnt>0){
var bw=Math.ceil(ow/cnt);
for(var i=0;i<cnt;i++){
dojo.html.setMarginBox(this.buttons[i].domNode,{width:bw});
this.buttons[i].domNode.style.left=(bw*i)+"px";
}
}
cnt=this.views.length;
if(cnt>0){
var vw=Math.ceil(ow/cnt);
for(var i=0;i<cnt;i++){
dojo.html.setMarginBox(this.views[i].domNode,{width:vw});
this.views[i].domNode.style.left=(vw*i)+"px";
}
}
},_preloadImages:function(){
this._preloadImageSet=[];
var pis=this._preloadImageSet;
var pl=function(src){
var i=new Image();
i.src=dojo.uri.moduleUri("otm.map.widget","templates/images/panel/"+src);
pis.push(i);
};
pl("Zoom_slide_bar_OVA.png");
pl("Dnavi_arrow_up_OVA.png");
pl("Dnavi_arrow_left_OVA.png");
pl("Dnavi_center_OVA.png");
pl("Dnavi_arrow_right_OVA.png");
pl("Dnavi_arrow_down_OVA.png");
pl("Zoom_in_OVA.png");
pl("Zoom_out_OVA.png");
pl("navi_compact_slider_bar_OVA.png");
pl("Dnavi_arrow_down.png");
if(this.state==this.MAX){
pl("navi_compact_zoom.png");
pl("navi_compact_slider_bar.png");
pl("navi_compact_slider_bg.png");
}else{
pl("Zoom_slide_bar.png");
pl("Dnavi_arrow_up.png");
pl("Dnavi_arrow_left.png");
pl("Dnavi_center.png");
pl("Dnavi_arrow_right.png");
pl("Dnavi_arrow_down.png");
pl("Zoom_in.png");
pl("Zoom_out.png");
}
},onpan:function(_b95){
},onzoom:function(_b96){
},onhome:function(){
},onbuttonclick:function(_b97){
},onviewswitch:function(_b98){
this.map.setView(_b98.id);
}});
dojo.widget.defineWidget("otm.map.widget.MapPanel2Button",dojo.widget.HtmlWidget,{widgetType:"MapPanel2Button",templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapPanelButton mapPanelButtonLarge\" dojoAttachEvent=\"onclick:onmouse;onmouseover:onmouse;onmouseout:onmouse;\">\n\t<div class=\"mapPanelButtonContent\">\n\t\t<div dojoAttachPoint=\"iconNode\" class=\"mapPanelButtonIcon\"></div>\n\t\t<span class=\"mapPanelButtonLabel\">${this.label}</span>\n\t</div>\n</div>\n",templateCssString:"@media screen{\n\n.mapPanelButton {\n\tposition: absolute;\n\tmargin-right: 1px;\n\tbackground-repeat: repeat-x;\n\tcursor: pointer;\n\toverflow: hidden;\n}\n\n.mapPanelButtonContent {\n\tmargin: 0 auto;\n}\n.mapPanelButtonNoIcon {\n\ttext-align: center;\n}\n\n.mapPanelButtonIcon {\n\tfloat: left;\n\twidth: 20px;\n\theight: 18px;\n\tmargin-right: 3px;\n}\n.mapPanelButtonNoIcon .mapPanelButtonIcon {\n\tdisplay: none;\n}\n\n.mapPanelButtonLabel {\n\tcolor: white;\n \twhite-space: nowrap;\n\tfont: 8pt Helvetica, Arial, sans-serif;\n\t/*letter-spacing: 0.3pt;*/\n\toverflow: hidden;\n\tline-height: 18px;\n\tvertical-align: middle;\n}\n\n.mapPanelButtonLarge {\n\theight: 18px;\n\tline-height: 18px;\n\tpadding: 4px 5px 4px 5px;\n\tbackground-image: url('images/panel/bar_dark_1.png');\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='otm/map/widget/templates/images/panel/bar_dark_1.png', cssPathOffset='../../../../');\n\t_background-image: none;\n}\n\n\n.mapPanelButtonON {\n\tbackground-image: url('images/panel/bar_light_1.png');\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='otm/map/widget/templates/images/panel/bar_light_1.png', cssPathOffset='../../../../');\n\t_background-image: none;\n}\n\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapPanel2_button.css"),id:"",fullSize:true,icon:"",label:"",iconNode:null,fillInTemplate:function(){
if(this.fullSize&&this.icon.length>0){
if(dojo.render.html.ie60){
this.iconNode.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='"+this.icon+"')";
}else{
this.iconNode.style.background="url("+this.icon+") no-repeat";
}
}else{
dojo.html.addClass(this.domNode,"mapPanelButtonNoIcon");
}
},onmouse:function(evt){
switch(evt.type){
case "click":
this.onclick(this);
break;
case "mouseover":
dojo.html.addClass(this.domNode,"mapPanelButtonON");
break;
case "mouseout":
dojo.html.removeClass(this.domNode,"mapPanelButtonON");
break;
}
},onclick:function(_b9a){
}});
dojo.provide("otm.map.widget.MapScaleBar");
dojo.widget.defineWidget("otm.map.widget.MapScaleBar",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapScaleBar\">\n\t<div class=\"mapScaleText\">\n\t\t<span class=\"mapScaleValue\" dojoAttachPoint=\"valueNodeA\"></span>\n\t\t<span class=\"mapScaleUnit\" dojoAttachPoint=\"unitNodeA\"></span>\n\t\t<span class=\"mapScaleShadow\">\n\t\t\t<span class=\"mapScaleValue\" dojoAttachPoint=\"valueNodeB\"></span>\n\t\t\t<span class=\"mapScaleUnit\" dojoAttachPoint=\"unitNodeB\"></span>\n\t\t</span>\n\t</div>\n\t<div class=\"mapScaleRuler\" dojoAttachPoint=\"rulerNode\">\n\t\t<div class=\"mapScaleLB\"></div>\n\t\t<div class=\"mapScaleCB\"></div>\n\t\t<div class=\"mapScaleRB\"></div>\n\t\t<div class=\"mapScaleLF\"></div>\n\t\t<div class=\"mapScaleRF\"></div>\n\t</div>\n</div>\n",templateCssString:".mapScaleBar {\n\tposition: absolute;\n\tleft: 15px;\n\tbottom: 41px;\n\tz-index : 500;\n}\n\n.mapScaleBg {\n\tposition: absolute;\n\ttop: 0px;\n\tleft: 0px;\n\topacity: 0.6;\n\tfilter:alpha(opacity=60);\n\tz-index: -1;\n}\n\n.mapScaleRuler {\n\tposition: relative;\n\tmargin-top: -7px;\n\twidth: 0px;\n\theight: 9px;\n\tfont-size: 0px;\n}\n\n.mapScaleText {\n\tposition: relative;\n    color: white;\n\tletter-spacing: 1px;\n\tpadding-left: 7px;\n\tfont-family: Helvetica, Arial, sans-serif;\n}\n\n.mapScaleValue {\n    font-size: 10pt;\n}\n\n.mapScaleUnit {\n    font-size: 8pt;\n}\n\n.mapScaleShadow {\n\tposition: absolute;\n\ttop: 1px;\n\tleft: 8px;\n\t_left: 1px;\n\tmargin: 0 -1px -1px 0;\n\tcolor: black;\n\tz-index: -1;\n}\n\n.mapScaleLB {\n\tposition: absolute;\n\tbackground-color: white;\n\tborder: 1px solid black;\t\n\twidth: 1px;\t\n\theight: 7px;\t\n\ttop: 0px;\n\tleft: 0px;\n}\n.mapScaleCB {\n\tposition: relative;\n\ttop: 6px;\n\theight: 1px;\n\tbackground-color: white;\n\tborder: 1px solid black;\n\tz-index: 5;\t\n}\n.mapScaleRB {\n\tposition: absolute;\n\tbackground-color: white;\n\tborder: 1px solid black;\n\twidth: 1px;\n\theight: 7px;\t\n\ttop: 0px;\n\tright: 0px;\n}\n\n.mapScaleLF {\n\tposition: absolute;\n\ttop: 1px;\n\tleft: 1px;\n\tz-index: 10;\n\tbackground-color: white;\n\twidth: 1px;\n\theight: 7px;\n}\n.mapScaleRF {\n\tposition: absolute;\n\ttop: 1px;\n\tright: 1px;\n\tz-index: 10;\n\tbackground-color: white;\n\twidth: 1px;\n\theight: 7px;\n}\n\n\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapScaleBar.css"),widgetType:"MapScaleBar",valueNodeA:null,unitNodeA:null,valueNodeB:null,unitNodeB:null,rulerNode:null,scales:null,maxWidth:200,initializer:function(){
var m=otm.map.strings.scalebar_meter;
var km=otm.map.strings.scalebar_kilometer;
this.scales=[[20,"20",m],[50,"50",m],[100,"100",m],[200,"200",m],[500,"500",m],[1000,"1",km],[2000,"2",km],[5000,"5",km],[10000,"10",km],[20000,"20",km],[50000,"50",km],[100000,"100",km],[200000,"200",km],[500000,"500",km],[1000000,"1000",km]];
},update:function(_b9d){
var _b9e=0;
var _b9f="";
var _ba0="";
for(var ii=0;ii<this.scales.length;ii++){
var ss=this.scales[ii];
var len=ss[0]/_b9d;
if((len>_b9e)&&(len<this.maxWidth)){
_b9e=len;
_b9f=ss[1];
_ba0=ss[2];
}
}
dojo.dom.textContent(this.valueNodeA,_b9f);
dojo.dom.textContent(this.valueNodeB,_b9f);
dojo.dom.textContent(this.unitNodeA,_ba0);
dojo.dom.textContent(this.unitNodeB,_ba0);
dojo.html.setMarginBox(this.rulerNode,{width:Math.round(_b9e)});
}});
dojo.provide("otm.map.widget.MapCoordinates");
dojo.widget.defineWidget("otm.map.widget.MapCoordinates",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapCoordinates\">\n\t<span dojoAttachPoint=\"textNodeA\"></span>\n\t<span dojoAttachPoint=\"textNodeB\" class=\"mapCoordinatesShadow\"></span>\n</div>\n",templateCssString:".mapCoordinates {\n\tposition : absolute;\n\tleft : 21px;\n\tbottom : 75px;\n\tz-index : 500;\n\n\tcolor : white;\n\tfont : 9pt Helvetica, Arial, sans-serif;\n\tletter-spacing: 1px;\n}\n\n.mapCoordinatesShadow {\n\tposition: absolute;\n\ttop: 1px;\n\tleft: 1px;\n\tmargin: 0 -1px -1px 0;\n\tcolor: black;\n\tz-index: -1;\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapCoordinates.css"),widgetType:"MapCoordinates",precision:4,textNodeA:null,textNodeB:null,update:function(_ba4){
var _ba5=Math.abs(_ba4.y).toFixed(this.precision)+((_ba4.y>=0)?"N":"S")+" "+Math.abs(_ba4.x).toFixed(this.precision)+((_ba4.x>=0)?"E":"W");
dojo.dom.textContent(this.textNodeA,_ba5);
dojo.dom.textContent(this.textNodeB,_ba5);
}});
dojo.provide("otm.map.widget.MapCopyrights");
dojo.widget.defineWidget("otm.map.widget.MapCopyrights",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapCopyrights\">\n</div>\n",templateCssString:"@media print,screen{\n\n\n.mapCopyrights {\n\tposition: absolute;\n\tleft: 15px;\n\tbottom: 15px;\n\tz-index: 500;\n\n\tcolor :  white;\n\tfont : 7pt Helvetica, Arial, sans-serif;\n}\n\n.mapCopyrights A:hover {\n\tcolor : white;\n\ttext-decoration: underline;\n}\n\n.mapCopyrights A:visited {\n\tcolor: white;\n}\n\n.mapCopyrights A {\n\tcolor : white;\n\ttext-decoration: none;\n}\n}\n\n@media print{\n\n.mapCopyrights {\n\tcolor :\t#ffffff; /* red works, white doesn't, color close to white appears as dark grey.... (ff bug?)*/\n\tfont : 7pt Helvetica, Arial, sans-serif;\n}\n\n.mapCopyrights A:hover {\n\tcolor : white;\n\ttext-decoration: underline;\n}\n\n.mapCopyrights A:visited {\n\tcolor: white;\n}\n\n.mapCopyrights A {\n\tcolor : white;\n\ttext-decoration: none;\n}\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapCopyrights.css"),widgetType:"MapCopyrights",TYPE_MAP:0,TYPE_MAPDATA:1,TYPE_AERIAL:2,TYPE_OTHER:3,TYPENAMES:null,list:null,initializer:function(){
this.TYPENAMES=[otm.map.strings.copyright_map,otm.map.strings.copyright_map_data,otm.map.strings.copyright_aerial_photographs,""];
this.clear();
},lookupType:function(_ba6){
for(var ii=this.TYPE_MAP;ii<=this.TYPE_OTHER;++ii){
if(this.TYPENAMES[ii]==_ba6){
return ii;
}
}
return this.TYPE_OTHER;
},add:function(_ba8){
this.remove(_ba8.type,_ba8.name);
this.list[_ba8.type].push(_ba8);
this.generate();
},remove:function(type,name){
if(!dojo.lang.isNumber(type)||type<this.TYPE_MAP||type>this.TYPE_OTHER){
return;
}
for(var ii=0;ii<this.list[type].length;ii++){
var itm=this.list[type][ii];
if(itm.name==name){
this.list[type].splice(ii,1);
return true;
}
}
return false;
},clear:function(){
this.list=[[],[],[],[]];
},generate:function(){
var msg="";
for(var ii=0;ii<this.TYPENAMES.length;ii++){
if(this.list[ii].length==0){
continue;
}
if(ii!=0){
msg+=" - ";
}
msg+=this.TYPENAMES[ii];
for(var jj=0;jj<this.list[ii].length;jj++){
var itm=this.list[ii][jj];
if(ii!=this.TYPE_OTHER){
msg+=" &copy;"+itm.year+" ";
}
if(itm.url.length>0){
msg+="<a href='"+itm.url+"' target='_blank'>"+itm.title+"</a>";
}else{
msg+=itm.title;
}
if(jj!=this.list[ii].length-1){
msg+=",";
}
}
}
this.domNode.innerHTML=msg;
}});
dojo.provide("otm.map.Map");
otm.map.VERSION="1346.4";
dojo.kwCompoundRequire({common:["dojo.i18n.common","otm.map.util","dojo.lang.common","dojo.lang.func","dojo.lang.extras","dojo.lang.declare","dojo.html.common","dojo.html.display","dojo.html.layout","dojo.html.style","dojo.i18n.common","dojo.event.browser","dojo.event.topic","dojo.string.common","dojo.collections.Collections","dojo.collections.ArrayList","dojo.collections.Dictionary","dojo.io.BrowserIO","dojo.io.ScriptSrcIO","dojo.lfx.Animation","dojo.undo.browser","dojo.namespaces.dojo","otm.map.geometry","otm.map.InfoWindowController","otm.map.LayerController","otm.map.LayerManager","otm.map.BoxTool","otm.map.styles","otm.map.markers","otm.map.scales","otm.map.ruler","otm.map.MapState","otm.map.MapView","otm.map.thirdparty.mapbuilder.proj","otm.map.widget.MapPanel2","otm.map.widget.MapScaleBar","otm.map.widget.MapCoordinates","otm.map.widget.MapCopyrights"]});
otm.map.DIRECTION={NORTH:1,SOUTH:2,WEST:4,EAST:8};
otm.map.addOnPageLoad=dojo.addOnLoad;
dojo.declare("otm.map.Map",null,{useMouseWheel:true,zoomOnDoubleClick:true,panOnDoubleClick:true,rectangleZoomEnabled:false,controlColorBg:"#696969",controlColorBd:null,fade:false,backgroundColor:"#e9e9e9",_disableRendering:false,_standalone:false,_extentBounds:null,_pxBounds:null,_useHandCursor:"-moz-grab",_rectangleDiv:undefined,_minimumRectangle:50,_dragStartLeft:0,_dragStartTop:0,_dragStartMouseX:0,_dragStartMouseY:0,_dragIsReady:false,_dragDx:0,_dragDy:0,isDragging:false,isMoving:false,isZooming:false,_zoomTime:700,_stateChangeDelay:3000,_lastState:null,saveStateEnabled:true,_resizeEventId:null,_currentAnimation:null,_mapKey:0,_initialised:false,initializer:function(_bb1,_bb2,_bb3){
if(dojo.lang.isUndefined(window.otm_map_key)){
window.otm_map_key=0;
}
this._mapKey=window.otm_map_key++;
dojo.debug("Test String: ",otm.map.strings.test_string);
if(!_bb1||!dojo.dom.isNode(_bb1)){
throw new Error(otm.map.strings.map_error_invalid_div);
}
this._containerDiv=_bb1;
this._cache={};
var _bb4=dojo.lang.toArray(this._containerDiv.childNodes);
this.zoomWasComplete=true;
this._containerDiv.style.overflow="hidden";
if(dojo.html.getStyle(this._containerDiv,"position")=="static"){
this._containerDiv.style.position="relative";
}
otm.map.disableSelection(this._containerDiv);
var md=document.createElement("div");
md.style.position="absolute";
md.style.left="0px";
md.style.top="0px";
this._containerDiv.appendChild(md);
this._mapDiv=md;
if(dojo.render.html.moz&&this._useHandCursor){
this._mapDiv.style.cursor=this._useHandCursor;
}
this._mapViews=new dojo.collections.Dictionary();
this._deadZones=new dojo.collections.Dictionary();
dojo.debug("parsing map configuration...");
this._configObject=_bb2;
if(this._configObject.tagName!="otm_map"){
if(this._configObject.tagName=="parsererror"){
throw new Error(otm.map.strings.map_error_config_xml_parse_error+this._configObject.tagName);
}else{
throw new Error(otm.map.strings.map_error_invalid_config_block+this._configObject.tagName);
}
}
if(!dojo.lang.isUndefined(_bb3)&&_bb3){
this._standalone=true;
this.saveStateEnabled=false;
}
this.layers=new otm.map.LayerController(this,this._mapDiv);
this.layers.rasterMgr=new otm.map.RasterLayerManager(this);
var _bb6=(dojo.lang.isUndefined(this._configObject.vectorlayermanager))?null:this._configObject.vectorlayermanager[0];
var _bb7=(_bb6)?_bb6.vectorlayermanager["classname"][0].value:(this._standalone)?"none":"GfxVectorLayerManager";
if(_bb7!="none"){
var _bb8=this._createLayerDiv();
_bb8.style.zIndex=101;
_bb8.style.backgroundColor="white";
this._mapDiv.appendChild(_bb8);
_bb7="otm.map."+_bb7;
var _bb9=dojo.evalObjPath(_bb7,false);
if(!_bb9){
throw new Error(otm.map.strings.map_error_vector_manager_not_loaded+_bb7);
}
this.layers.vectorMgr=new _bb9(this,_bb8,_bb6);
}
var _bba=(dojo.lang.isUndefined(this._configObject.markerlayermanager))?null:this._configObject.markerlayermanager[0];
var _bbb=(_bba)?_bba.markerlayermanager["classname"][0].value:(this._standalone)?"none":"MarkerLayerManager";
if(_bbb!="none"){
var _bbc=this._createLayerDiv();
_bbc.style.zIndex=102;
this._suppressEvents(_bbc);
this._mapDiv.appendChild(_bbc);
_bbb="otm.map."+_bbb;
var _bbd=dojo.evalObjPath(_bbb,false);
if(!_bbd){
throw new Error(otm.map.strings.map_error_marker_manager_not_loaded+_bbb);
}
this.layers.markerMgr=new _bbd(this,_bbc,_bba);
}
var _bbe=this._createLayerDiv();
_bbe.style.zIndex=104;
this._suppressEvents(_bbe);
otm.map.enableSelection(_bbe);
this._mapDiv.appendChild(_bbe);
this._infoWindowController=new otm.map.InfoWindowController(this,_bbe);
dojo.event.connect(this._infoWindowController,"onclose",this,"oninfowindowclose");
var _bbf=this._createLayerDiv();
_bbf.style.zIndex=103;
this._suppressEvents(_bbf);
otm.map.enableSelection(_bbf);
this._mapDiv.appendChild(_bbf);
this.toolsDiv=_bbf;
if(dojo.lang.isUndefined(this._configObject.resources)){
dojo.debug("No resources block");
}else{
dojo.debug("Loading style resources...");
if(this._configObject.resources[0].icon){
for(var ii=0;ii<this._configObject.resources[0].icon.length;++ii){
var _bc1=this._configObject.resources[0].icon[ii];
otm.map.markericons[_bc1.icon.id[0].value]=new otm.map.Icon(_bc1);
}
}
if(this._configObject.resources[0].vectorstyle){
for(var ii=0;ii<this._configObject.resources[0].vectorstyle.length;++ii){
var _bc2=this._configObject.resources[0].vectorstyle[ii];
otm.map.vectorstyles[_bc2.vectorstyle.id[0].value]=new otm.map.VectorStyle(_bc2);
}
}
if(this._configObject.resources[0].iconset){
for(var ii=0;ii<this._configObject.resources[0].iconset.length;++ii){
var _bc3=this._configObject.resources[0].iconset[ii];
otm.map.markericons[_bc3.iconset.id[0].value]=new otm.map.IconSet(_bc3);
}
}
if(this._configObject.resources[0].vectorstyleset){
for(var ii=0;ii<this._configObject.resources[0].vectorstyleset.length;++ii){
var _bc4=this._configObject.resources[0].vectorstyleset[ii];
otm.map.vectorstyles[_bc4.vectorstyleset.id[0].value]=new otm.map.VectorStyleSet(_bc4);
}
}
}
var _bc5=function(_bc6,_bc7){
var _bc8=new Array("BaseMarkerLayer","BaseVectorLayer","JSONMarkerLayer","JSONVectorLayer","RasterTileLayer","WMSLayer","RSSMarkerLayer","GoogleLayer","CustomLayer");
for(var kk=0;kk<_bc8.length;++kk){
var _bca=_bc8[kk].toLowerCase();
var _bcb=_bc6[_bca];
if(_bcb){
for(var ll=0;ll<_bcb.length;++ll){
var id=_bcb[ll][_bca].id[0].value;
if(_bc7[id]){
dojo.debug("Previously defined layer: "+id+" overwritten with new value");
}
if(dojo.lang.isUndefined(_bcb[ll][_bca].classname)){
_bcb[ll].classname=_bc8[kk];
}else{
_bcb[ll].classname=_bcb[ll][_bca].classname[0].value;
}
_bc7[id]=_bcb[ll];
dojo.debug("Adding Layer",id,_bc8[kk]);
}
}
}
};
var _bce={};
if(typeof otm_map_predefinedLayers!="undefined"){
var _bcf=dojo.dom.createDocumentFromText(otm_map_predefinedLayers);
var tree=(new dojo.xml.Parse()).parseElement(_bcf.documentElement);
_bc5(tree,_bce);
}
if(this._configObject.views&&this._configObject.views[0]&&this._configObject.views[0].layers){
_bc5(this._configObject.views[0].layers[0],_bce);
}
if(dojo.lang.isUndefined(this._configObject.views)||dojo.lang.isUndefined(this._configObject.views[0].view)){
dojo.debug("Using default views");
this._defaultView=0;
this._mapViews.add("default",new otm.map.MapView("default","Default","Default map view"));
}else{
dojo.debug("Loading Views...");
this._defaultView=this._configObject.views[0].views.defaultid[0].value;
for(var ii=0;ii<this._configObject.views[0].view.length;++ii){
var _bd1=this._configObject.views[0].view[ii];
dojo.debug("Loading View: ",_bd1.view.id[0].value);
var _bd2=null;
if(!dojo.lang.isUndefined(_bd1.view.overviewid)){
_bd2=_bd1.view.overviewid[0].value;
}
this._mapViews.add(_bd1.view.id[0].value,new otm.map.MapView(_bd1.view.id[0].value,_bd1.view.name[0].value,dojo.lang.isUndefined(_bd1.view.description)?"":_bd1.view.description[0].value,_bd2));
var _bd3=this._mapViews.item(_bd1.view.id[0].value);
if(!dojo.lang.isUndefined(_bd1.view.removeuserlayers)&&_bd1.view.removeuserlayers[0].value){
_bd3.removeUserLayers=true;
}
if(!dojo.lang.isUndefined(this._configObject.views[0].layers)&&!dojo.lang.isUndefined(_bd1.layer)){
for(var jj=0;jj<_bd1.layer.length;++jj){
var _bd5=_bd1.layer[jj].layer.id[0].value;
var _bd6=_bce[_bd5];
if(!_bd6){
throw new Error(otm.map.strings.map_error_layer_not_found+_bd5);
}
_bd6._target_id=_bd5;
var _bd7="otm.map.layers."+_bd6["classname"];
dojo.debug("Found target layer",_bd5," Type=",_bd7);
var _bd8=dojo.evalObjPath(_bd7,false);
if(!_bd8){
throw new Error(otm.map.strings.map_error_layer_not_loaded+_bd7);
}
dojo.debug("instantiating layer",_bd7);
var _bd9=new _bd8(_bd6);
dojo.debug("Instantiated layer");
if(!dojo.lang.isUndefined(_bd6[_bd6["classname"].toLowerCase()].caption)){
_bd9.legend_caption=_bd6[_bd6["classname"].toLowerCase()].caption[0].value;
}
_bd3.addLayer(_bd9,false,dojo.lang.isUndefined(_bd1.layer[jj].layer.param)?"":_bd1.layer[jj].layer.param[0].value);
dojo.debug("Raster layer count: ",this.layers.rasterMgr.count());
}
}
}
}
if(!this._standalone){
if(dojo.lang.isUndefined(this._configObject.copyrights)||dojo.lang.isUndefined(this._configObject.copyrights[0].copyright)){
this._createCopyrights();
}else{
this._createCopyrights(!dojo.lang.isUndefined(this._configObject.copyrights[0].copyrights.noOTM));
for(var ii=0;ii<this._configObject.copyrights[0].copyright.length;++ii){
var cr=this._configObject.copyrights[0].copyright[ii];
var _bdb=cr.copyright.nodeRef.attributes;
var _bdc={};
for(var kk=0;kk<_bdb.length;++kk){
_bdc[_bdb[kk].nodeName]=_bdb[kk].nodeValue;
}
if(dojo.lang.isString(_bdc.type)){
_bdc.type=this._copyrights.lookupType(_bdc.type);
}else{
continue;
}
this._copyrights.add(_bdc);
}
}
}
if(!this._standalone&&!dojo.lang.isUndefined(this._configObject.boxzoom)&&parseInt(this._configObject.boxzoom[0].value)==1){
this.rectangleZoomEnabled=true;
}
if(this._standalone||(!dojo.lang.isUndefined(this._configObject.wheelzoom)&&parseInt(this._configObject.wheelzoom[0].value)!=1)){
this.useMouseWheel=false;
}
if(!dojo.lang.isUndefined(this._configObject.backgroundcolor)){
this.backgroundColor=this._configObject.backgroundcolor[0].value;
}
this._containerDiv.style.backgroundColor=this.backgroundColor;
this._baseProjectionCode=this._configObject.projection[0].value;
this._mapCenter=new otm.map.Point(this._configObject.initialcenter[0].initialcenter.x[0].value,this._configObject.initialcenter[0].initialcenter.y[0].value);
if(dojo.lang.isUndefined(this._configObject.scale)){
dojo.debug("No scale block");
this.scale=new otm.map.scales.OtmScale(18,11);
}else{
var sc=this._configObject.scale[0];
if(!dojo.lang.isUndefined(sc.otmscale)){
this.scale=new otm.map.scales.OtmScale(sc.otmscale[0]);
}else{
if(!dojo.lang.isUndefined(sc.tmsglobalmercator)){
this.scale=new otm.map.scales.TmsGlobalMercator(sc.tmsglobalmercator[0]);
}else{
if(!dojo.lang.isUndefined(sc.tmsglobalgeodetic)){
this.scale=new otm.map.scales.TmsGlobalGeodetic(sc.tmsglobalgeodetic[0]);
}else{
if(!dojo.lang.isUndefined(sc.google)){
this.scale=new otm.map.scales.Google(sc.google[0]);
}else{
if(!dojo.lang.isUndefined(sc.fixedscale)){
this.scale=new otm.map.scales.FixedScale(sc.fixedscale[0]);
}else{
if(!dojo.lang.isUndefined(sc.customscale)){
var _bdf=sc.customscale[0].classname[0].value;
dojo.debug("Creating scale: ",_bdf);
var _be0=dojo.evalObjPath(_bdf);
if(!_be0){
throw new Error(otm.map.strings.map_error_scale_not_loaded+_bdf);
}
this.scale=new _be0(sc.customscale[0]);
}else{
dojo.debug("Invalid scale block");
}
}
}
}
}
}
}
this._zoomLevel=parseInt(this._configObject.initialzoom[0].value);
this.targetZoom=this.initialZoom=this._zoomLevel;
if(dojo.lang.isUndefined(this._baseProjectionCode)){
dojo.debug("No Projection Specified...");
}else{
dojo.debug("Initialising projection "+this._baseProjectionCode);
this._projection=new Proj(this._baseProjectionCode);
}
this.scale.initialise(this);
this._editors={};
this.initialView=new otm.map.Point(this._mapCenter.x,this._mapCenter.y);
this.origin=new otm.map.Point();
this.origin.x=this.initialView.x-(this._getContainerWidth()*0.5)*this.scale.getMapUnitsPerPixel();
this.origin.y=this.initialView.y+(this._getContainerHeight()*0.5)*this.scale.getMapUnitsPerPixel();
dojo.debug("home center point="+this.initialView+", origin (UL)="+this.origin);
dojo.debug("MUPP=",this.scale.getMapUnitsPerPixel()," ",this.scale.getMapUnitsPerPixel(0)," ",this.scale.getMapUnitsPerPixel(1));
if(!dojo.lang.isUndefined(this._configObject)&&!dojo.lang.isUndefined(this._configObject.mapboundingbox)){
this.setExtentBounds(new otm.map.GeomBoundingBox(parseFloat(this._configObject.mapboundingbox[0].mapboundingbox.left[0].value),parseFloat(this._configObject.mapboundingbox[0].mapboundingbox.bottom[0].value),parseFloat(this._configObject.mapboundingbox[0].mapboundingbox.right[0].value),parseFloat(this._configObject.mapboundingbox[0].mapboundingbox.top[0].value)));
}
var _be1=this.saveStateEnabled;
this.saveStateEnabled=false;
if(!this._standalone&&_be1){
this.saveStateEnabled=true;
if(this._lastState){
this._lastState.valid=false;
}
this._lastState=otm.map.MapState.create(this,this._configObject,this._configObject.hash?this._configObject.hash[0].value:null);
this._lastState.handle();
dojo.undo.browser.setInitialState(this._lastState);
}
if(!this._standalone){
if(dojo.lang.isUndefined(this._configObject.controls)){
this._createControlColor();
this._createControls();
}else{
if(!dojo.lang.isUndefined(this._configObject.controls[0].controls.bgcolor)){
this.controlColorBg=this._configObject.controls[0].controls.bgcolor[0].value;
}
if(!dojo.lang.isUndefined(this._configObject.controls[0].controls.bdcolor)){
this.controlColorBd=this._configObject.controls[0].controls.bdcolor[0].value;
}
this._createControlColor();
var _be2=(dojo.lang.isUndefined(this._configObject.controls[0].controls["classname"]))?"MapPanel2":this._configObject.controls[0].controls["classname"][0].value;
if(_be2!="none"){
this._createControls(_be2,this._configObject.controls[0]);
}
}
}
if(typeof this._mapViews.item(this._defaultView)!="undefined"){
this.setView(this._defaultView);
}
if(!this._standalone&&((dojo.lang.isUndefined(this._configObject.displaycoordinates)||(parseInt(this._configObject.displaycoordinates[0].value))!=0))){
this._createCoordinates();
}
if(!this._standalone&&(dojo.lang.isUndefined(this._configObject.scalebar)||(parseInt(this._configObject.scalebar[0].value)!=0))){
this._createScaleBar();
}
this._updateScaleBar();
if(!this._standalone&&!dojo.lang.isUndefined(this._configObject.toolbar)){
this._createToolbar(this._configObject.toolbar[0]);
}
if(!this._standalone&&(!dojo.lang.isUndefined(this._configObject.displaylegend)&&(parseInt(this._configObject.displaylegend[0].value)!=0))){
this._createLegend();
this._legend.update();
}
this._createContextMenu();
if(!this._standalone){
dojo.event.browser.addListener(this._containerDiv,"onmousedown",dojo.lang.hitch(this,"_onmousedown"));
dojo.event.browser.addListener(window,"onkeydown",dojo.lang.hitch(this,"_onkeypress"));
dojo.event.kwConnect({srcObj:this._containerDiv,srcFunc:"ondblclick",targetObj:this,targetFunc:"ondblclick",once:true});
}
dojo.event.browser.addListener(window,"onresize",dojo.lang.hitch(this,"_onwindowresize"));
this.onresize();
if(dojo.render.html.ie){
dojo.event.browser.addListener(this._containerDiv,"ondragstart",function(_be3){
dojo.event.browser.stopEvent(_be3);
return false;
});
}
if(this.useMouseWheel){
if(dojo.render.html.moz){
dojo.event.browser.addListener(this._containerDiv,"DOMMouseScroll",dojo.lang.hitch(this,"_onmousewheel"));
}else{
dojo.event.browser.addListener(this._containerDiv,"onmousewheel",dojo.lang.hitch(this,"_onmousewheel"));
}
}
dojo.lang.setTimeout(this,function(){
for(var i=0;i<_bb4.length;i++){
this._containerDiv.removeChild(_bb4[i]);
}
},0);
dojo.debug("Map Initialisation finished");
this._initialised=true;
},_createLayerDiv:function(){
var div=document.createElement("div");
with(div){
style.position="absolute";
style.width="100%";
style.height="100%";
style.left="0px";
style.top="0px";
}
return div;
},_onmousewheel:function(_be6){
dojo.event.browser.stopEvent(_be6);
if(this.isMoving){
return;
}
var d;
if(dojo.render.html.moz){
d=_be6.detail>0?-1:1;
}else{
d=_be6.wheelDelta/120;
}
this.zoomByDelta(d);
},getBoxTool:function(){
return new otm.map.BoxTool(this);
},_onmousedown:function(_be8){
var _be9=(_be8.button==0);
if(dojo.render.html.ie&&(_be8.button&1)){
_be9=true;
}
if(_be8.altKey&&_be8.shiftKey&&_be8.ctrlKey){
alert("Map Version: "+otm.map.VERSION+"\nDojo Version: "+dojo.version);
return;
}
var _bea=!this._eventManager;
if(this._eventManager){
_bea=this._eventManager.mouseDown(_be8);
}
if(_be9&&_bea){
this._ondragstart(_be8);
this.publishEvent("_onmousedown",_be8);
}
},_createDragConnections:function(){
if(!this._standalone){
dojo.debug("createDragConnections");
dojo.event.connect(this._containerDiv,"onmousemove",this,"_onmousemove");
dojo.event.connect(this._containerDiv,"onmouseup",this,"_onmouseup");
dojo.event.connect(document.body,"onmouseout",this,"_onmouseout");
dojo.event.connect(document.body,"onmouseup",this,"_onmouseup");
}
},_removeDragConnections:function(){
if(!this._standalone){
dojo.debug("removeDragConnections");
dojo.event.disconnect(this._containerDiv,"onmousemove",this,"_onmousemove");
dojo.event.disconnect(this._containerDiv,"onmouseup",this,"_onmouseup");
dojo.event.disconnect(document.body,"onmouseout",this,"_onmouseout");
dojo.event.disconnect(document.body,"onmouseup",this,"_onmouseup");
}
},_ondragstart:function(_beb){
if(this._currentAnimation){
this.stopTransform();
var _bec=this.convertMouseToGeo(_beb.clientX,_beb.clientY);
this._setZoomLevelInternal(this.targetZoom);
this._centerMap(_bec);
this.zoomWasComplete=true;
this.render();
}
this._dragStartMouseX=_beb.clientX;
this._dragStartMouseY=_beb.clientY;
this._dragStartTop=this.getMapTop();
this._dragStartLeft=this.getMapLeft();
var _bed=dojo.html.getAbsolutePosition(this._containerDiv);
this._containerLeft=_bed.left;
this._containerTop=_bed.top;
this._dragDistance=0;
this._dragDx=0;
this._dragDy=0;
this._dragStartTime=new Date();
this._dragCounts=0;
this._dragIsReady=true;
this.isDragging=false;
if(this._useHandCursor){
if(dojo.render.html.moz){
this._mapDiv.style.cursor="-moz-grabbing";
}else{
this._mapDiv.style.cursor="move";
}
}
this._createDragConnections();
_beb.preventDefault();
return false;
},_onmousemove:function(_bee){
this._cropped=false;
this._ondragmove(_bee);
var _bef={clientX:_bee.clientX,clientY:_bee.clientY};
if(this._cropped){
_bef.clientX=this._dragStartLeft+this._dragStartMouseX-this._cropped.x;
_bef.clientY=this._dragStartTop+this._dragStartMouseY-this._cropped.y;
}
this.publishEvent("_onmousemove",[_bee,_bef]);
},_ondragmove:function(_bf0){
if(this._dragIsReady&&!this.isDragging){
if(this.rectangleZoomEnabled){
this._mapDiv.style.cursor="crosshair";
}else{
if(dojo.render.html.moz){
this._mapDiv.style.cursor="-moz-grabbing";
}else{
this._mapDiv.style.cursor="move";
}
}
this.isDragging=true;
this.isMoving=true;
}
if(this.isDragging){
this._dragDx=_bf0.clientX-this._dragStartMouseX;
this._dragDy=_bf0.clientY-this._dragStartMouseY;
if(this.rectangleZoomEnabled){
if(dojo.lang.isUndefined(this._rectangleDiv)){
this._rectangleDiv=document.createElement("div");
var rds=this._rectangleDiv.style;
rds.position="absolute";
rds.left=(this._dragStartMouseX-this._containerLeft)+"px";
rds.top=(this._dragStartMouseY-this._containerTop)+"px";
rds.width="1px";
rds.height="1px";
rds.borderColor="white";
rds.borderWidth="1px";
rds.borderStyle="solid";
rds.zIndex=4000;
rds.cursor="crosshair";
this._containerDiv.appendChild(this._rectangleDiv);
}else{
if(_bf0.clientX<this._dragStartMouseX){
this._rectangleDiv.style.left=(_bf0.clientX-this._containerLeft)+"px";
}else{
this._rectangleDiv.style.left=(this._dragStartMouseX-this._containerLeft)+"px";
}
this._rectangleDiv.style.width=Math.abs(_bf0.clientX-this._dragStartMouseX)+"px";
if(_bf0.clientY<this._dragStartMouseY){
this._rectangleDiv.style.top=(_bf0.clientY-this._containerTop)+"px";
}else{
this._rectangleDiv.style.top=(this._dragStartMouseY-this._containerTop)+"px";
}
this._rectangleDiv.style.height=Math.abs(_bf0.clientY-this._dragStartMouseY)+"px";
}
}else{
var _bf2={};
_bf2.x=(this._dragStartLeft-this._dragDx);
_bf2.y=(this._dragStartTop-this._dragDy);
var me=this;
me._dragCounts++;
me._positionMap(_bf2);
me.render();
}
}
},_positionMap:function(_bf4){
var _bf5=this._fixBoundsExtentPx(_bf4);
if(!(_bf5.x==_bf4.x&&_bf5.y==_bf4.y)){
this._mapCenter=this.getMapBoundingBox().center();
this._cropped=_bf5;
}
var me=this;
me._mapDiv.style.left=-_bf5.x+"px";
me._mapDiv.style.top=-_bf5.y+"px";
},_getDragDx:function(){
return this._dragDx;
},_getDragDy:function(){
return this._dragDy;
},_onmouseup:function(_bf7){
dojo.debug("onmouseup");
var _bf8=this._ondragstop(_bf7);
if(_bf8){
dojo.event.browser.stopEvent(_bf7);
}
return false;
},onmouseout:function(_bf9){
if(!_bf9.relatedTarget){
return;
}
var etn=_bf9.relatedTarget.tagName;
if(etn=="HTML"||etn=="xul:thumb"||etn=="BODY"){
dojo.debug("onmouseout");
return this._onmouseup(_bf9);
}
},_ondragstop:function(_bfb){
dojo.debug("_ondragstop");
this._removeDragConnections();
if(this.isDragging||this._dragIsReady){
if(dojo.render.html.moz&&this._useHandCursor){
this._mapDiv.style.cursor=this._useHandCursor;
}else{
this._mapDiv.style.cursor="";
}
}
if(this.isDragging){
this.isDragging=false;
this._dragIsReady=false;
this.isMoving=false;
if(this.rectangleZoomEnabled){
this._containerDiv.removeChild(this._rectangleDiv);
this._rectangleDiv=undefined;
var _bfc=Math.abs(this._dragStartMouseX-_bfb.clientX);
var _bfd=Math.abs(this._dragStartMouseY-_bfb.clientY);
if(_bfc>this._minimumRectangle&&_bfd>this._minimumRectangle){
var _bfe=new otm.map.ScreenBoundingBox(this.convertMouseToGeo(_bfb.clientX,_bfb.clientY),this.convertMouseToGeo(this._dragStartMouseX,this._dragStartMouseY));
this.setMapExtent(_bfe,true);
}
}else{
this._mapCenter=this.getMapBoundingBox().center();
this._updateScaleBar();
this.render();
}
return true;
}else{
if(this._dragIsReady){
this._dragIsReady=false;
this.onclick(_bfb);
}
}
},ondblclick:function(_bff){
var _c00=this.convertMouseToGeo(_bff.clientX,_bff.clientY);
if(this.panOnDoubleClick){
if(this.zoomOnDoubleClick){
this.transform(_c00,this._getTargetZoomLevel()+1,true);
}else{
this.transform(_c00,this._getTargetZoomLevel(),true);
}
}
this.publishEvent("ondblclick",_c00);
},_handle_onanimate:function(_c01){
this._mapCenter.x=_c01[0];
this._mapCenter.y=_c01[1];
if(this.isZooming){
this.zoomWasComplete=this._setZoomLevelInternal(_c01[2],false);
}
this._centerMap();
this._forceRender();
if(!window._cy){
window._cy=[];
window._animateCounts=0;
window._animateSum=0;
}
window._cy.push(new Date());
var ll=window._cy.length;
if(ll>1){
var val=window._cy[ll-1]-window._cy[ll-2];
window._animateCounts++;
window._animateSum+=val;
window._cy[ll-2]=val;
}
},_handle_onanimate_end_post:function(_c04){
var ave=window._animateSum/window._animateCounts;
window._cy=null;
this._currentAnimation=null;
this._updateScaleBar();
this.centerMap();
this.isMoving=false;
},_handle_onanimate_end:function(_c06){
dojo.debug("handle_onanimate_end");
this._disableRendering=false;
this.isZooming=false;
this.zoomWasComplete=true;
dojo.lang.setTimeout(this,this._handle_onanimate_end_post,0,_c06);
},onclick:function(_c07){
var _c08=this.convertMouseToGeo(_c07.clientX,_c07.clientY);
dojo.debug("Map: onclick @ "+_c08);
this.publishEvent("onclick",_c08);
},_getMapDivAbsPos:function(){
return {x:this._cache._containerDivPos.x+parseInt(this._mapDiv.style.left),y:this._cache._containerDivPos.y+parseInt(this._mapDiv.style.top)};
},getContainerDiv:function(){
return this._containerDiv;
},_getContainerWidth:function(){
if(!(this.isMoving)){
if(!this._cache._ContainerWidth){
this._cache._ContainerWidth=dojo.html.getContentBox(this._containerDiv).width;
}
}
return this._cache._ContainerWidth;
},_getContainerHeight:function(){
if(!(this.isMoving)){
if(!this._cache._ContainerHeight){
this._cache._ContainerHeight=dojo.html.getContentBox(this._containerDiv).height;
}
}
return this._cache._ContainerHeight;
},getMapDiv:function(){
return this._mapDiv;
},getMapTop:function(){
return -parseInt(this._mapDiv.style.top);
},getMapLeft:function(){
return -parseInt(this._mapDiv.style.left);
},getMapBottom:function(){
return (this.getMapTop()+this._getContainerHeight());
},getMapRight:function(){
return (this.getMapLeft()+this._getContainerWidth());
},getMapBoundingBox:function(){
var bb=new otm.map.GeomBoundingBox();
bb.setTopLeft(this.convertPxToGeo({x:this.getMapLeft(),y:this.getMapTop()}));
bb.setBottomRight(this.convertPxToGeo({x:this.getMapRight(),y:this.getMapBottom()}));
return bb;
},_getMapBoundingBoxPx:function(){
var bb=new otm.map.ScreenBoundingBox();
bb.setTopLeft(new otm.map.Point(this.getMapLeft(),this.getMapTop()));
bb.setBottomRight(new otm.map.Point(this.getMapRight(),this.getMapBottom()));
return bb;
},getCenter:function(){
return this._mapCenter;
},getZoomLevel:function(){
return this._zoomLevel;
},_getTargetZoomLevel:function(){
return this.targetZoom;
},setZoomLevel:function(zoom,_c0c){
return this.transform(this._mapCenter,zoom,_c0c);
},_setZoomLevelInternal:function(zoom){
var _c0e=this._zoomLevel;
var _c0f=parseFloat(zoom);
if(_c0f==_c0e){
return true;
}
this._zoomLevel=_c0f;
this._updateBoundsExtent();
this.layers.changeZoomLevel();
this._infoWindowController.changeZoomLevel();
if(!this.isMoving){
this._updateScaleBar();
}
return false;
},zoomByDelta:function(_c10){
return this.setZoomLevel(this._getTargetZoomLevel()+_c10,true,true);
},getNewStateObject:function(hash){
return otm.map.MapState.create(this,this._configObject,hash);
},saveState:function(_c12,_c13){
if(this.isMoving||this._standalone){
return;
}
var _c14;
if(dojo.lang.isUndefined(_c12)){
if(!_c13&&((this._lastState&&this._lastState.valid==false)||this.saveStateEnabled==false)){
return;
}
_c14=otm.map.MapState.create(this,this._configObject);
}else{
_c14=_c12;
}
if(_c14.valid){
dojo.debug("Save state now");
if(this._lastState){
this._lastState.valid=false;
}
if(this._configObject.autobookmark&&this._configObject.autobookmark[0].value){
_c14.changeUrl=_c14.changeUrlStr;
}
dojo.undo.browser.addToHistory(_c14);
return _c14.toString();
}
},onrender:function(map){
if(!(this.isMoving)){
if(this._lastState){
this._lastState.valid=false;
}
if(this.saveStateEnabled){
var _c16=otm.map.MapState.create(map,map._configObject);
dojo.lang.setTimeout(map,map.saveState,map._stateChangeDelay,_c16);
this._lastState=_c16;
}
}
},centerMap:function(_c17,_c18){
return this.transform(_c17,this._getTargetZoomLevel(),_c18);
},_centerMap:function(_c19){
var px;
if(!dojo.lang.isUndefined(_c19)){
this._mapCenter.x=_c19.x;
this._mapCenter.y=_c19.y;
}
px=this.convertGeoToPx(this._mapCenter);
var _c1b={};
_c1b.x=Math.round(px.x-this._getContainerWidth()/2);
_c1b.y=Math.round(px.y-this._getContainerHeight()/2);
this._positionMap(_c1b);
},_animate:function(_c1c,_c1d){
var px=this.convertGeoToPx(_c1c);
var _c1f={};
_c1f.x=(px.x-Math.floor(this._getContainerWidth()/2));
_c1f.y=(px.y-Math.floor(this._getContainerHeight()/2));
var _c20=Math.max(this._zoomTime,Math.floor(3.25*Math.sqrt(Math.pow(this.getMapLeft()-_c1f.x,2)+Math.pow(this.getMapTop()-_c1f.y,2))));
var _c21=this.getZoomLevel()+(0.0001*(_c1d-this.getZoomLevel()));
this._currentAnimation=new dojo.lfx.Animation(_c20,[[this._mapCenter.x,this._mapCenter.y,_c21],[_c1c.x,_c1c.y,_c1d]]);
dojo.event.connect(this._currentAnimation,"onAnimate",this,"_handle_onanimate");
dojo.event.connect(this._currentAnimation,"onEnd",this,"_handle_onanimate_end");
if(_c1d!=this.getZoomLevel()){
this.isZooming=true;
}
this.isMoving=true;
this._disableRendering=true;
this._currentAnimation.play(true);
},stopTransform:function(){
if(this._currentAnimation!=null){
dojo.debug("Stopping current Animation");
this._currentAnimation.stop();
this._currentAnimation=null;
dojo.debug("Animation stopped");
}
this._disableRendering=false;
this.isZooming=false;
this.isMoving=false;
},transform:function(_c22,_c23,_c24){
if(dojo.lang.isUndefined(_c22)){
_c22=this._mapCenter;
}
if(dojo.lang.isUndefined(_c23)){
_c23=this._getTargetZoomLevel();
}
if(_c23<this.scale.getMinZoomLevel()){
_c23=this.scale.getMinZoomLevel();
}else{
if(_c23>this.scale.getMaxZoomLevel()){
_c23=this.scale.getMaxZoomLevel();
}
}
this.stopTransform();
this.targetZoom=_c23;
if(!this._standalone&&this._initialised&&!dojo.lang.isUndefined(_c24)&&_c24&&!this._doNotAnimate){
this._animate(_c22,_c23);
}else{
this.isMoving=true;
this.zoomWasComplete=true;
this._setZoomLevelInternal(_c23);
this._centerMap(_c22);
this.isMoving=false;
this.render();
}
},setView:function(_c25){
this.saveState();
var _c26=this._mapViews.item(_c25);
if(!_c26){
dojo.debug("View ID not found:",_c25);
return;
}
var iter=this.layers.getIterator();
while(!iter.atEnd()){
var _c28=iter.get();
if(_c26.layerList.contains(_c28.id)){
continue;
}
if((!_c28.userLayer)||_c26.removeUserLayers){
this.layers.remove(_c28);
}
}
this._mapView=_c26;
var _c29=_c26.layerList.getIterator();
while(!_c29.atEnd()){
var nl=_c29.get().value;
var ol=this.layers.get(nl.id);
if(ol){
this.layers.move(ol,0);
}else{
this.layers.add(nl,0);
}
}
var iter=this.layers.getReverseIterator();
while(!iter.atEnd()){
var _c28=iter.get();
var _c2c=_c26.getLayerSettings(_c28.id);
var _c2d=_c2c?_c2c.param:"";
_c28.setParam(_c2d);
if((_c28.userLayer)){
this.layers.move(_c28,0);
}
}
this.fade=true;
this.render();
this.fade=false;
this.onMapViewChange(this._mapView);
},onMapViewChange:function(view){
this.publishEvent("onMapViewChange",view);
},getViews:function(){
return this._mapViews;
},_getCurrentView:function(){
return this._mapView;
},getCurrentViewID:function(){
if(dojo.lang.isObject(this._mapView)){
return this._mapView.id;
}else{
return undefined;
}
},render:function(){
if(this._disableRendering){
return;
}
this._forceRender();
},_forceRender:function(){
this.layers.render();
this.onrender(this);
this.publishEvent("onrender");
},_onwindowresize:function(){
if(this._resizeEventId){
window.clearTimeout(this._resizeEventId);
}
this._resizeEventId=window.setTimeout(dojo.lang.hitch(this,"onresize"),50);
},_updateCache:function(){
this._cache._containerDivPos=dojo.html.getAbsolutePosition(this._containerDiv,false);
var box=dojo.html.getContentBox(this._containerDiv);
this._cache._ContainerWidth=box.width;
this._cache._ContainerHeight=box.height;
},onresize:function(){
this._resizeEventId=null;
this._updateCache();
var _c30=this._mapCenter;
var zoom=this.getZoomLevel();
if(this._currentAnimation!=null){
_c30.x=this._currentAnimation.curve.getValue(1)[0];
_c30.y=this._currentAnimation.curve.getValue(1)[1];
zoom=this._currentAnimation.curve.getValue(1)[2];
}
this.transform(_c30,zoom,true);
this.publishEvent("onresize");
},_updateScaleBar:function(){
if(!dojo.lang.isUndefined(this._scaleBar)){
this._scaleBar.update(this.getCurrentMetersPerPixel());
}
},getCurrentMetersPerPixel:function(){
var _c32=this.convertToLatLon(this.getCenter());
var _c33=new otm.map.Point(_c32.x,_c32.y+0.0089993);
var _c34=this.convertFromLatLon(_c33);
dojo.debug("Current Meters Per Pixel: ",1/(Math.abs(_c34.y-this.getCenter().y)/1000)*this.scale.getMapUnitsPerPixel());
return 1/(Math.abs(_c34.y-this.getCenter().y)/1000)*this.scale.getMapUnitsPerPixel();
},convertMouseToGeo:function(_c35,_c36,_c37){
var pxPt={};
var _c39=this._getMapDivAbsPos();
pxPt.x=(_c35-_c39.x);
pxPt.y=(_c36-_c39.y);
var _c3a=this.convertPxToGeo(pxPt,_c37);
return _c3a;
},convertScreenToPx:function(_c3b){
var pxPt=new otm.map.Point();
var _c3d=dojo.html.getAbsolutePosition(this._mapDiv,false);
pxPt.x=_c3b.x-_c3d.x;
pxPt.y=_c3b.y-_c3d.y;
return pxPt;
},convertPxToScreen:function(_c3e){
var _c3f=new otm.map.Point();
var _c40=dojo.html.getAbsolutePosition(this._mapDiv,false);
_c3f.x=_c3e.x+_c40.x;
_c3f.y=_c3e.y+_c40.y;
return _c3f;
},convertPxToGeo:function(_c41){
var geo=new otm.map.Point();
var mpp=this.scale.getMapUnitsPerPixel();
geo.x=this.origin.x+(_c41.x*mpp);
geo.y=this.origin.y+(-_c41.y*mpp);
return geo;
},convertGeoToPx:function(_c44){
var px={};
px.x=Math.round((_c44.x-this.origin.x)/this.scale.getMapUnitsPerPixel());
px.y=-Math.round((_c44.y-this.origin.y)/this.scale.getMapUnitsPerPixel());
return px;
},convertToLatLon:function(_c46){
if(!this._projection){
dojo.debug("convertToLatLon: No projection defined for this map");
return new otm.map.Point();
}
if(isNaN(_c46.x)||isNaN(_c46.y)){
dojo.debug("convertToLatLon: NaN passed in");
return new otm.map.Point();
}
var _c47=this._projection.Inverse([_c46.x,_c46.y]);
var pt=new otm.map.Point(_c47[0],_c47[1]);
return pt;
},convertFromLatLon:function(_c49){
if(!this._projection){
dojo.debug("convertFromLatLon: No projection defined for this map");
return new otm.map.Point();
}
if(isNaN(_c49.x)||isNaN(_c49.y)){
dojo.debug("convertFromLatLon: NaN passed in");
return new otm.map.Point();
}
var _c4a=this._projection.Forward([_c49.x,_c49.y]);
var pt=new otm.map.Point(_c4a[0],_c4a[1]);
return pt;
},convertPxBBToGeoBB:function(pxBB){
var _c4d=this.convertPxToGeo(pxBB.topLeft(true));
var _c4e=this.convertPxToGeo(pxBB.bottomRight(true));
return new otm.map.GeomBoundingBox(_c4d.x,_c4e.y,_c4e.x,_c4d.y);
},convertGeoBBToPxBB:function(_c4f){
var _c50=this.convertGeoToPx(_c4f.topLeft(true));
var _c51=this.convertGeoToPx(_c4f.bottomRight(true));
return new otm.map.ScreenBoundingBox(_c50.x,_c50.y,_c51.x,_c51.y);
},convertScreenBBToPxBB:function(_c52){
var _c53=this.convertScreenToPx(_c52.topLeft(true));
var _c54=this.convertScreenToPx(_c52.bottomRight(true));
return new otm.map.ScreenBoundingBox(_c53.x,_c53.y,_c54.x,_c54.y);
},convertPxBBToScreenBB:function(pxBB){
var _c56=this.convertPxToScreen(pxBB.topLeft(true));
var _c57=this.convertPxToScreen(pxBB.bottomRight(true));
return new otm.map.ScreenBoundingBox(_c56.x,_c56.y,_c57.x,_c57.y);
},getProjection:function(){
return this._baseProjectionCode;
},setExtentBounds:function(_c58){
this._extentBounds=_c58;
this._updateBoundsExtent();
},_updateBoundsExtent:function(){
if(this._extentBounds){
this._pxBounds=this.convertGeoBBToPxBB(this._extentBounds);
}
},getExtentBounds:function(){
return this._extentBounds;
},_fixBoundsExtentPx:function(pt){
if(this._standalone){
return pt;
}
if(!this._pxBounds){
return pt;
}
var _c5a=this._pxBounds.clone();
if(this._pxBounds.width()<this._getContainerWidth()){
_c5a.setRight(_c5a.left());
_c5a.setLeft(_c5a.right()-(this._getContainerWidth()-this._pxBounds.width()));
}else{
_c5a.setRight(_c5a.right()-this._getContainerWidth());
}
if(this._pxBounds.height()<this._getContainerHeight()){
_c5a.setBottom(_c5a.top());
_c5a.setTop(_c5a.bottom()-(this._getContainerHeight()-this._pxBounds.height()));
}else{
_c5a.setBottom(_c5a.bottom()-this._getContainerHeight());
}
return _c5a.lockTo(pt,true);
},setUseHandCursor:function(_c5b){
this._useHandCursor=_c5b;
if(!this._dragIsReady){
if(dojo.render.html.moz&&(this._useHandCursor==true)){
this._mapDiv.style.cursor="-moz-grab";
}else{
this._mapDiv.style.cursor=_c5b.length?_c5b:"";
}
}
},setPanOnDoubleClick:function(_c5c){
dojo.deprecated("otm.map.Map.setPanOnDoubleClick","use panOnDoubleClick property instead");
this.panOnDoubleClick=_c5c;
},addEventListener:function(_c5d,_c5e,_c5f){
dojo.event.topic.subscribe(this._getEventString()+"/"+_c5d,_c5e,_c5f);
},_getEventString:function(){
return "/otm/map/Map/"+this._mapKey;
},removeEventListener:function(_c60,_c61,_c62){
dojo.event.topic.unsubscribe(this._getEventString()+"/"+_c60,_c61,_c62);
},publishEvent:function(_c63,_c64){
if(dojo.lang.isArray(_c64)){
dojo.event.topic.publishApply(this._getEventString()+"/"+_c63,_c64);
}else{
dojo.event.topic.publish(this._getEventString()+"/"+_c63,_c64);
}
},_addCancelableEventListener:function(_c65,_c66){
if(!this._cancelEvents){
this._cancelEvents={};
}
if(!this._cancelEvents[_c65]){
this._cancelEvents[_c65]=[];
}
this._cancelEvents[_c65].push(_c66);
},_fireCancelableEvent:function(_c67){
if(!this._cancelEvents||!this._cancelEvents[_c67]){
return false;
}
var _c68=false;
var arr=this._cancelEvents[_c67];
for(var i=0;i<arr.length;i++){
var _c6b=arr[i].apply(null,arguments);
_c68=_c68|_c6b;
}
return _c68;
},getCurrentExtentKey:function(){
var bb=this.getMapBoundingBox();
var _c6d=this.convertToLatLon(bb.upperLeft(true));
var _c6e=this.convertToLatLon(bb.lowerRight(true));
var ul_y=Math.round(Math.abs(_c6d.y)*Math.pow(10,4))+((_c6d.y>=0)?"N":"S");
var ul_x=Math.round(Math.abs(_c6d.x)*Math.pow(10,5))+((_c6d.x>=0)?"E":"W");
var lr_y=Math.round(Math.abs(_c6e.y)*Math.pow(10,4))+((_c6e.y>=0)?"N":"S");
var lr_x=Math.round(Math.abs(_c6e.x)*Math.pow(10,5))+((_c6e.x>=0)?"E":"W");
var _c73="1Z"+this._getTargetZoomLevel()+"B"+ul_y+ul_x+lr_y+lr_x;
return _c73;
},setExtentFromKey:function(_c74){
dojo.debug("Loading key: ["+_c74+"]");
var ek=_c74.toUpperCase().split("Z");
if(ek.length<2){
dojo.debug("Couldn't find version separator...");
return false;
}
if(ek[0]=="1"){
var re=/^(\d+)B(\d+)([NS])(\d+)([EW])(\d+)([NS])(\d+)([EW])$/;
var _c77=re.exec(ek[1]);
if(!_c77){
dojo.debug("RegExp match failed: ["+ek[1]+"]");
return false;
}
var _c78=parseInt(_c77[1]);
var _c79=new otm.map.GeomBoundingBox();
_c79.setTop(parseInt(_c77[2])/Math.pow(10,4)*((_c77[3]=="S")?-1:1));
_c79.setLeft(parseInt(_c77[4])/Math.pow(10,5)*((_c77[5]=="W")?-1:1));
_c79.setBottom(parseInt(_c77[6])/Math.pow(10,4)*((_c77[7]=="S")?-1:1));
_c79.setRight(parseInt(_c77[8])/Math.pow(10,5)*((_c77[9]=="W")?-1:1));
var bb=new otm.map.GeomBoundingBox();
bb.setUpperLeft(this.convertFromLatLon(_c79.upperLeft(true)));
bb.setLowerRight(this.convertFromLatLon(_c79.lowerRight(true)));
dojo.debug("Successfully loaded map extent key: ver="+ek[0]+", zoom="+_c78+" bb="+bb);
this.setMapExtent(bb);
return true;
}
dojo.debug("No matching key version:"+ek[0]);
return false;
},setMapExtent:function(_c7b,_c7c,_c7d){
dojo.debug("setting map bounding box to: "+_c7b);
if(dojo.lang.isUndefined(_c7d)||_c7d===null||_c7d===false){
var _c7d=[0,0];
}else{
if(_c7d.length){
if(_c7d.length==1){
_c7d=[_c7d[0],_c7d[0]];
}else{
if(_c7d.length!=2){
throw new Error(otm.map.strings.map_error_illegal_padding);
}
}
}else{
_c7d=[_c7d,_c7d];
}
}
var mpx=Math.max((_c7b.width()/(this._getContainerWidth()-2*_c7d[1])),(_c7b.height()/(this._getContainerHeight()-2*_c7d[0])));
if(!isFinite(mpx)){
dojo.debug("non finite value for mpx, do we have a map container?");
return;
}
var _c7f=this.scale.getClosestZoomLevel(mpx);
dojo.debug("Calculated best zoom level="+_c7f);
if(isNaN(_c7f)){
return;
}
var _c80=Math.round(this.getZoomLevel());
if(_c80==_c7f){
this.transform(_c7b.center(),_c7f,_c7c);
}else{
var inc=(_c80>_c7f)?-1:1;
for(var step=_c80;step!=_c7f;step+=inc){
this.transform(_c7b.center(),step+inc,_c7c);
}
}
},_calcOverlapAxis:function(o1,o2,d1,d2,dc,c){
if((o1<d1&&o2>d2)||(o1>d1&&o2<d2)){
if(dc>c){
return d1-o2;
}else{
return d2-o1;
}
}else{
if(o1<d2&&dc<c){
return d2-o1;
}else{
if(o2>d1&&dc>c){
return d1-o2;
}
}
}
return 0;
},_calcOverlap:function(_c89,_c8a,_c8b,_c8c){
var move=new otm.map.Point;
if(_c8c){
move.x=(_c89.left()<_c8a.left())?(_c8a.left()-_c89.left):move.x;
move.x=(_c89.right()>_c8a.right())?(_c8a.right()-_c89.right()):move.x;
move.y=(_c89.top()<_c8a.top())?(_c8a.top()-_c89.top()):move.y;
move.y=(_c89.bottom()>_c8a.bottom())?(_c8a.bottom()-_c89.bottom()):move.y;
}else{
var _c8e=this.convertScreenBBToPxBB(_c8a);
var _c8f=_c8e.center();
move.x=this._calcOverlapAxis(_c89.left(),_c89.right(),_c8e.left(),_c8e.right(),_c8f.x,_c8b.x);
move.y=this._calcOverlapAxis(_c89.top(),_c89.bottom(),_c8e.top(),_c8e.bottom(),_c8f.y,_c8b.y);
if(move.x==0||move.y==0){
move.x=move.y=0;
}
}
return move;
},_panToIncludePx:function(_c90,_c91){
var _c92=this._getMapBoundingBoxPx();
if(dojo.lang.isUndefined(_c91)){
var _c91=0;
}
var _c93=this._calcOverlap(_c90,_c92,_c92.center(),true);
var _c94=new otm.map.Point;
var dz=this._getDeadZones();
var _c96=1;
var _c97=1;
for(var ii=0;ii<dz.length;++ii){
var _c99=this._calcOverlap(_c90,dz[ii],_c92.center(),false);
if(_c96>0){
_c96=(_c99.x*_c94.x);
}
if(_c97>0){
_c97=(_c99.y*_c94.y);
}
if(Math.abs(_c99.x)>Math.abs(_c94.x)){
_c94.x=_c99.x;
}
if(Math.abs(_c99.y)>Math.abs(_c94.y)){
_c94.y=_c99.y;
}
}
if(_c96<0||(Math.abs(_c94.x)>Math.abs(_c94.y)&&_c94.y!=0&&_c97>0)){
_c94.x=0;
}else{
if(_c97<0||_c94.x!=0){
_c94.y=0;
}
}
if(_c96<0&&_c97<0){
_c94=_c93;
}
if(_c93.x*_c94.x<0||_c93.y*_c94.y<0){
_c94=_c93;
}
if(Math.abs(_c93.x)>Math.abs(_c94.x)){
_c94.x=_c93.x;
}
if(Math.abs(_c93.y)>Math.abs(_c94.y)){
_c94.y=_c93.y;
}
if((_c94.x!=0)||(_c94.y!=0)){
if(_c94.x<0){
_c94.x-=_c91;
}
if(_c94.x>0){
_c94.x+=_c91;
}
if(_c94.y<0){
_c94.y-=_c91;
}
if(_c94.y>0){
_c94.y+=_c91;
}
var mpx=this.scale.getMapUnitsPerPixel();
var _c9b=this._mapCenter;
var _c9c=new otm.map.Point();
_c9c.x=_c9b.x-(_c94.x*mpx);
_c9c.y=_c9b.y-(-_c94.y*mpx);
this.transform(_c9c,this._getTargetZoomLevel(),true);
}
},panToHome:function(evt){
this.saveState();
this.transform(this.initialView,this.initialZoom,false);
},panByDelta:function(_c9e,_c9f){
var ctr=this.getMapBoundingBox().center();
if(dojo.lang.isUndefined(_c9f)){
var _c9f=0.3;
}
if(_c9e&otm.map.DIRECTION.NORTH){
ctr.y+=this._getContainerHeight()*_c9f*this.scale.getMapUnitsPerPixel();
}else{
if(_c9e&otm.map.DIRECTION.SOUTH){
ctr.y-=this._getContainerHeight()*_c9f*this.scale.getMapUnitsPerPixel();
}
}
if(_c9e&otm.map.DIRECTION.EAST){
ctr.x+=this._getContainerWidth()*_c9f*this.scale.getMapUnitsPerPixel();
}else{
if(_c9e&otm.map.DIRECTION.WEST){
ctr.x-=this._getContainerWidth()*_c9f*this.scale.getMapUnitsPerPixel();
}
}
this.transform(ctr,this.getZoomLevel(),true);
return true;
},_onkeypress:function(evt){
dojo.debug("handle_onkeypress: keyCode="+evt.keyCode+", which="+evt.which);
var kc=true;
switch(evt.keyCode){
case evt.KEY_UP_ARROW:
case 104:
this.panByDelta(otm.map.DIRECTION.NORTH);
break;
case evt.KEY_DOWN_ARROW:
case 98:
this.panByDelta(otm.map.DIRECTION.SOUTH);
break;
case evt.KEY_LEFT_ARROW:
case 100:
this.panByDelta(otm.map.DIRECTION.WEST);
break;
case evt.KEY_RIGHT_ARROW:
case 102:
this.panByDelta(otm.map.DIRECTION.EAST);
break;
case 103:
case 36:
this.panByDelta(otm.map.DIRECTION.NORTH|otm.map.DIRECTION.WEST);
break;
case 105:
case 33:
this.panByDelta(otm.map.DIRECTION.NORTH|otm.map.DIRECTION.EAST);
break;
case 97:
case 35:
this.panByDelta(otm.map.DIRECTION.SOUTH|otm.map.DIRECTION.WEST);
break;
case 99:
case 34:
this.panByDelta(otm.map.DIRECTION.SOUTH|otm.map.DIRECTION.EAST);
break;
case evt.KEY_HOME:
case 101:
case 12:
this.panToHome();
break;
case 107:
case 187:
this.zoomByDelta(1);
break;
case 109:
case 189:
this.zoomByDelta(-1);
break;
default:
kc=false;
}
var wh=true;
if(!kc){
switch(evt.which){
case 38:
case 40:
this.zoomByDelta(1);
break;
case 45:
case 95:
this.zoomByDelta(-1);
break;
default:
wh=false;
}
}
if(kc||wh){
evt.preventDefault();
evt.stopPropagation();
}
},_createControlColor:function(){
if(!this.controlColorBd){
this.controlColorBd=this.controlColorBg;
}
dojo.html.insertCssText(".otmColBg {background-color: "+this.controlColorBg+";}");
dojo.html.insertCssText(".otmColBd {border-color: "+this.controlColorBd+";}");
},_createControls:function(_ca4,_ca5){
var cp=dojo.widget.createWidget("otm.map:"+_ca4,{map:this,xmlConfig:_ca5},this._containerDiv,"last");
dojo.event.connect(cp,"onzoom",this,"zoomByDelta");
dojo.event.connect(cp,"onpan",this,"panByDelta");
dojo.event.connect(cp,"onhome",this,"panToHome");
dojo.event.connect(cp,"onbuttonclick",this,"ontoolbarexec");
this._suppressEvents(cp.domNode);
this._controlPanel=cp;
},_createToolbar:function(_ca7){
var tb=dojo.widget.createWidget("otm.map:MapToolbar",{map:this,xmlConfig:_ca7},this._containerDiv,"last");
dojo.event.connect(tb,"onbuttonclick",this,"ontoolbarexec");
dojo.event.connect(tb,"onHide",this,"ontoolbarhide");
this.mapToolbar=tb;
},_createScaleBar:function(){
this._scaleBar=dojo.widget.createWidget("otm.map:MapScaleBar",{},this._containerDiv,"last");
},_createContextMenu:function(){
},_suppressEvents:function(node){
var fn=function(evt){
evt.stopPropagation();
};
dojo.event.browser.addListener(node,"onclick",fn,false,false);
dojo.event.browser.addListener(node,"onmousedown",fn,false,false);
dojo.event.browser.addListener(node,"ondblclick",fn,false,false);
dojo.event.browser.addListener(node,"oncontextmenu",fn,false,false);
if(this.useMouseWheel){
if(dojo.render.html.moz){
dojo.event.browser.addListener(node,"DOMMouseScroll",fn,false,false);
}else{
dojo.event.browser.addListener(node,"onmousewheel",fn,false,false);
}
}
},ontoolbarexec:function(tool){
dojo.debug("ontoolbarexec:",tool.id);
switch(tool.id){
case "otm_map_ruler":
var _cad=this.getRuler();
if(!_cad.isActive){
_cad.begin();
}else{
_cad.end();
}
tool.setHighlight(_cad.isActive);
break;
case "otm_map_email":
alert("TODO: Email");
break;
case "otm_map_print":
alert("TODO: Printing");
break;
case "otm_map_rectzoom":
this.rectangleZoomEnabled=!this.rectangleZoomEnabled;
this.setUseHandCursor(!this.rectangleZoomEnabled);
tool.setHighlight(this.rectangleZoomEnabled);
break;
case "otm_map_toolbar":
if(this.mapToolbar){
this.mapToolbar.show();
}
break;
}
this.publishEvent("oncmdexec",tool);
},ontoolbarhide:function(tool){
dojo.debug("ontoolbarhide");
var _caf=this.getRuler();
var _cb0=this.mapToolbar.getButton("otm_map_ruler");
if(!dojo.lang.isUndefined(_caf)&&!dojo.lang.isUndefined(_cb0)&&_caf.isActive){
_caf.end();
_cb0.setHighlight(false);
}
},_createCoordinates:function(){
this._coordinates=dojo.widget.createWidget("otm.map:MapCoordinates",{},this._containerDiv,"last");
dojo.event.connect(this._containerDiv,"onmousemove",this,"_updatecoordinates");
},_updatecoordinates:function(_cb1){
var locn=null;
try{
var locn=this.convertToLatLon(this.convertMouseToGeo(_cb1.clientX,_cb1.clientY));
}
catch(e){
dojo.debug("error converting to latlon");
}
if(locn){
this._coordinates.update(locn);
}
},_createCopyrights:function(_cb3){
this._copyrights=dojo.widget.createWidget("otm.map:MapCopyrights",{},this._containerDiv,"last");
if(dojo.lang.isUndefined(_cb3)||!_cb3){
this._copyrights.add({type:this._copyrights.TYPE_MAP,name:"onetrackmind",title:"One Track Mind",year:2006,url:"http://www.onetrackmind.co.nz/"});
}
},_createLegend:function(){
this._legend=dojo.widget.createWidget("otm.map:MapLegend",{},this._containerDiv,"last");
this._legend.map=this;
dojo.event.connect(this._legend,"ondelete",this.layers,"remove");
dojo.event.connect(this.layers,"onlayerchange",this._legend,"update");
},_setDeadZoneFromNode:function(name,_cb5){
var left=dojo.html.getAbsolutePosition(_cb5).left;
var top=dojo.html.getAbsolutePosition(_cb5).top;
var box=dojo.html.getContentBox(_cb5);
var _cb9=box.width;
var _cba=box.height;
var bb=new otm.map.ScreenBoundingBox(left,top,left+_cb9,top+_cba);
this._setDeadZone(name,bb);
},_setDeadZone:function(name,_cbd){
dojo.debug("set dz "+name+": ",_cbd);
this._deadZones.add(name,_cbd);
},_removeDeadZone:function(name){
this._deadZones.remove(name);
},_getDeadZones:function(){
return this._deadZones.getValueList();
},getRuler:function(){
if(dojo.lang.isUndefined(this._editors.ruler)){
this._editors.ruler=new otm.map.Ruler(this);
}
return this._editors.ruler;
},openInfoWindow:function(_cbf,_cc0,_cc1){
return this._infoWindowController.open(_cbf,_cc0,_cc1);
},closeInfoWindow:function(){
return this._infoWindowController.close();
},oninfowindowclose:function(){
this.publishEvent("oninfowindowclose");
}});
otm.map.createMap=function(_cc2,_cc3,_cc4,_cc5){
if(typeof _cc2=="string"){
var div=dojo.byId(_cc2);
}else{
var div=_cc2;
}
if(!div||!dojo.dom.isNode(div)){
throw new Error(otm.map.strings.map_error_div_not_found);
}
if(div.nodeName!="DIV"){
throw new Error(otm.map.strings.map_error_container_not_div);
}
dojo.io.bind({url:_cc3,handle:function(type,data,evt){
if(type=="load"){
setTimeout(function(){
otm.map._createMapInternal(_cc2,_cc3,_cc4,_cc5,data,div);
},10);
}else{
dojo.debug("Failed to load map config:",data);
alert("Failed to load map config: "+data.message);
throw new Error(otm.map.strings.map_error_config_load_failed+data+" "+data.message);
}
},mimetype:"text/xml"});
};
function _onerror(msg,url,line){
var _ccd=msg+"\n URL:"+url+"\n Lines:"+line;
dojo.debug(_ccd);
alert(_ccd);
}
otm.map._createMapInternal=function(_cce,_ccf,_cd0,_cd1,data,div){
var imap;
var _cd5;
window.onerror=_onerror;
if(data.documentElement){
_cd5=(new dojo.xml.Parse()).parseElement(data.documentElement);
}else{
alert(otm.map.strings.map_error_config_xml_parse_error);
return;
}
for(var key in _cd1){
_cd5[key.toLowerCase()]=[{value:_cd1[key]}];
}
imap=new otm.map.Map(div,_cd5);
if(typeof imap=="undefined"||typeof imap=="null"){
alert(otm.map.strings.map_error_failed_create_map);
}
if(!dojo.lang.isUndefined(_cd0)){
_cd0(imap);
}
};
dojo.provide("otm.map.widget.MapToolbar");
dojo.widget.defineWidget("otm.map.widget.MapToolbar",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapToolbar\">\n\t<div dojoAttachPoint=\"headNode\" class=\"mapToolbarHead otmColBg\">\n\t\t<div dojoAttachPoint=\"closeNode\" class=\"mapToolbarClose\" dojoAttachEvent=\"onmouseover:iehover;onmouseout:iehover;\"><div dojoAttachEvent=\"onclick:hide;\"></div></div>\n\t\t<span dojoAttachPoint=\"textNode\"></span>\n\t</div>\n\t<div dojoAttachPoint=\"containerNode\" class=\"mapToolbarContainer\"></div>\n</div>\n",templateCssString:"\n@media screen{\n.mapToolbar {\n\tposition: absolute;\n\ttop: 0px;\n\tleft: 15px;\n\tz-index: 500;\n}\n\n.mapToolbarHead {\n\theight: 15px;\n\tpadding: 0px 4px 0 4px;\n}\n\n.mapToolbarHead span {\n\tcolor: white;\n\tfont: 7pt Helvetica, Arial, sans-serif;\n\toverflow: hidden;\n\t/*letter-spacing: 0.3pt;*/\n}\n\n.mapToolbarClose {\n\tfloat: right;\n\tpadding-top: 2px;\n\topacity: 0.6;\n\tfilter:alpha(opacity=60);\n}\n\n.mapToolbarClose:hover, .mapToolbarClosehover {\n\topacity: 1.0;\n\tfilter:alpha(opacity=100);\n}\n\n.mapToolbarClose div {\n\twidth: 9px;\n\theight: 10px;\n\tcursor: pointer;\n\tbackground: url('images/toolbar/tools_close.png') no-repeat;\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='otm/map/widget/templates/images/toolbar/tools_close.png', cssPathOffset='../../../../');\n\t_background: none;\n}\n\n.mapToolbarContainer {\n\toverflow: hidden;\n\tposition: relative;\n}\n\n.mapToolbarBtn {\n\tposition: absolute;\n\theight: 32px;\n\twidth: 30px;\n\tpadding: 0 1px 1px 0;\n}\n\n.mapToolbarBtnBg {\n\tposition: absolute;\n\tz-index: -2;\n\tleft: 0px;\n\theight: 32px;\n\twidth: 30px;\n\topacity: 0.8;\n\t_ilter:alpha(opacity=80);\n}\n\n.mapToolbarBtnBg2 {\n\tposition: absolute;\n\tz-index: -1;\n\tleft: 0px;\n\theight: 32px;\n\twidth: 30px;\n\tbackground: url('images/toolbar/tools_bar_dark_1.png') no-repeat;\n\t/*\t\n\t_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src='otm/map/widget/templates/images/toolbar/tools_bar_dark_1.png', cssPathOffset='../../../../');\n\t*/\n\t_background: none;\n}\n\n.mapToolbarBtnInner  {\n\tz-index: 0;\n\theight: 32px;\n\twidth: 30px;\n\tcursor: pointer;\n\topacity: 0.6;\n\tfilter:alpha(opacity=60);\n}\n\n.mapToolbarBtnON, .mapToolbarBtnInner:hover  {\n\topacity: 1.0;\n\tfilter:alpha(opacity=100);\n}\n\n.mapToolbarBtnIcon {\n\theight: 32px;\n\twidth: 30px;\n\tcursor: pointer;\n}\n}\n\n@media print{\n.mapToolbar{\ndisplay:hidden;\n/*left: 999px;*/\n}\n}\n",templateCssPath:dojo.uri.moduleUri("otm.map.widget","templates/MapToolbar.css"),widgetType:"MapToolbar",domNode:null,closeNode:null,containerNode:null,headNode:null,textNode:null,closeNode:null,label:null,xmlConfig:null,map:null,buttons:null,toolbarWidth:4,initializer:function(){
this.label=otm.map.strings.maptoolbar_label;
},postCreate:function(){
var c=this.xmlConfig;
if(!dojo.lang.isUndefined(c.toolbar.canClose)){
if(c.toolbar.canClose[0].value.toLowerCase()!="true"){
this.closeNode.style.display="none";
}
}
if(!dojo.lang.isUndefined(c.toolbar.label)){
this.label=c.toolbar.label[0].value;
}
if(!dojo.lang.isUndefined(c.toolbar.width)){
this.toolbarWidth=parseInt(c.toolbar.width[0].value);
if(this.toolbarWidth<=0){
throw new Error(otm.map.strings.maptoolbar_error_invalid_width+this.toolbarWidth);
}
}
this.buttons=[];
if(!dojo.lang.isUndefined(c.button)){
for(var ii=0;ii<c.button.length;ii++){
var _cd9={parent:this};
_cd9.id=c.button[ii].button.id[0].value;
_cd9.label=dojo.lang.isUndefined(c.button[ii].button.label)?"":c.button[ii].button.label[0].value;
_cd9.icon=c.button[ii].button.icon[0].value;
_cd9.highlight=dojo.lang.isUndefined(c.button[ii].button.highlight)?false:(c.button[ii].button.highlight[0].value.toLowerCase()=="true");
var btn=dojo.widget.createWidget("otm.map:MapToolbarButton",_cd9,this.containerNode,"last");
this.buttons.push(btn);
dojo.event.connect(btn,"onclick",this,"onbuttonclick");
}
}
if(!dojo.lang.isUndefined(c.toolbar.visible)){
var vis=(c.toolbar.visible[0].value.toLowerCase()=="true");
if(!vis){
this.hide();
}
}
this.textNode.innerHTML=this.label;
this._layout();
this.map.addEventListener("onresize",this,"_layout");
},_layout:function(){
if(this.buttons.length==0){
return;
}
var box=dojo.html.getContentBox(this.buttons[0].domNode);
var _cdd=box.width;
var _cde=box.height;
var rows=Math.ceil(this.buttons.length/this.toolbarWidth);
this.domNode.style.width=((this.toolbarWidth*_cdd)+(this.toolbarWidth-1))+"px";
this.containerNode.style.height=((rows*_cde)+(rows-1))+"px";
for(var i=0;i<this.buttons.length;i++){
var btn=this.buttons[i];
var row=Math.floor(i/this.toolbarWidth);
var col=i%this.toolbarWidth;
btn.domNode.style.left=(col*_cdd+col)+"px";
btn.domNode.style.top=(row*_cde+row)+"px";
}
},getButton:function(_ce4){
for(var i=0;i<this.buttons.length;i++){
if(this.buttons[i].id==_ce4){
return this.buttons[i];
}
}
return null;
},iehover:function(evt){
if(!(dojo.render.html.ie60||dojo.render.html.ie55)){
return;
}
switch(evt.type){
case "mouseover":
dojo.html.addClass(evt.currentTarget,dojo.html.getClasses(evt.currentTarget)[0]+"hover");
break;
case "mouseout":
dojo.html.removeClass(evt.currentTarget,dojo.html.getClasses(evt.currentTarget)[0]+"hover");
break;
}
},onbuttonclick:function(_ce7){
}});
dojo.widget.defineWidget("otm.map.widget.MapToolbarButton",dojo.widget.HtmlWidget,{templateString:"<div dojoAttachPoint=\"domNode\" class=\"mapToolbarBtn\">\n\t<div class=\"mapToolbarBtnBg otmColBg\"></div>\n\t<div class=\"mapToolbarBtnBg2 otmColBg\"></div>\n\t<div dojoAttachPoint=\"innerNode\" class=\"mapToolbarBtnInner\" dojoAttachEvent=\"onclick:onmouse;onmouseover:onmouse;onmouseout:onmouse;\" >\n\t\t<div dojoAttachPoint=\"iconNode\" class=\"mapToolbarBtnIcon\"></div>\n\t</div>\n</div>\n",templateCssPath:null,widgetType:"MapToolbarButton",domNode:null,innerNode:null,iconNode:null,parent:null,id:"",icon:"",label:"",highlight:false,postCreate:function(){
this.setHighlight(this.highlight);
this.setIcon(this.icon);
this.setLabel(this.label);
},onmouse:function(evt){
switch(evt.type){
case "click":
this.onclick(this);
break;
case "mouseover":
if(!this.highlight){
dojo.html.addClass(this.innerNode,"mapToolbarBtnON");
}
break;
case "mouseout":
if(!this.highlight){
dojo.html.removeClass(this.innerNode,"mapToolbarBtnON");
}
break;
}
},onclick:function(_ce9){
},setIcon:function(_cea){
if(dojo.render.html.ie55||dojo.render.html.ie60){
this.iconNode.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src='"+_cea+"')";
}else{
this.iconNode.style.background="url("+_cea+") no-repeat";
}
this.icon=_cea;
},setLabel:function(_ceb){
this.label=_ceb;
},setHighlight:function(_cec){
if(_cec){
dojo.html.addClass(this.innerNode,"mapToolbarBtnON");
}else{
dojo.html.removeClass(this.innerNode,"mapToolbarBtnON");
}
this.highlight=_cec;
}});
dojo.provide("otm.map.MarkerLayerManager");
dojo.declare("otm.map.MarkerLayerManager",otm.map.DataLayerManager,{_hasRendered:false,promoteZ:0,initializer:function(map,div){
dojo.event.browser.addListener(this.div,"onclick",dojo.lang.hitch(this,"onclick"));
dojo.event.browser.addListener(this.div,"onmouseover",dojo.lang.hitch(this,"onmouseover"));
dojo.event.browser.addListener(this.div,"onmouseout",dojo.lang.hitch(this,"onmouseout"));
this._renderShadow=true;
},_addLayerToMap:function(_cef){
_cef.mapadd(this.map,this.div,this);
},_removeLayerFromMap:function(_cf0){
var _cf1=_cf0.getIterator();
while(!_cf1.atEnd()){
var m=_cf1.get();
if(m.node){
m.destroyNode();
}
}
},renderItemBase:function(itm,_cf4){
this.renderMarker(itm,_cf4);
},renderItemPromoted:function(itm,_cf6){
this.renderMarker(itm,_cf6);
itm.node.style.zIndex=this.promoteZ++;
},changeZoomLevel:function(){
var iter=this.layers.getIterator();
while(!iter.atEnd()){
var _cf8=iter.get();
_cf8.changeZoomLevel();
}
this._hasRendered=false;
},doRender_quick:function(){
this.doRender();
},doRender:function(){
if(!this._hasRendered){
this.promoteZ=0;
var _cf9=0;
var _cfa=0;
var iter=this.getReverseIterator();
while(!iter.atEnd()){
var _cfc=iter.get();
var _cfd=_cfc.getIterator();
var ii=0;
while(!_cfd.atEnd()){
var item=_cfd.get();
var icon=item.getIcon();
if(!icon){
icon=_cfc.getIcon(item.state);
}
item.__iconCache=icon;
if(item.node&&(item.nodeIcon==icon.id)){
_cf9++;
}else{
_cfa++;
}
}
}
var hide=false;
if(_cfa/(_cfa+_cf9+1)>0.8){
hide=true;
}
var sib;
var _d03;
if(hide){
dojo.debug("MarkerLayerManager - removing DIV from document...",(new Date()).valueOf());
_d03=this.div.parentNode;
sib=this.div.nextSibling;
_d03.removeChild(this.div);
}
otm.map.MarkerLayerManager.superclass.doRender.apply(this,arguments);
if(hide){
_d03.insertBefore(this.div,sib);
dojo.debug("MarkerLayerManager - re-added DIV to document...",(new Date()).valueOf());
}
this._hasRendered=true;
}
},layerdatachange:function(_d04){
this._hasRendered=false;
otm.map.MarkerLayerManager.superclass.layerdatachange.apply(this,arguments);
},onlayerchange:function(){
this._hasRendered=false;
otm.map.MarkerLayerManager.superclass.onlayerchange.apply(this,arguments);
},onclick:function(evt){
var _d06=evt.target.getAttribute("otm_layerid");
var _d07=evt.target.getAttribute("otm_markerid");
var _d08=this.get(_d06);
if(_d08){
var _d09=_d08.get(_d07);
if(_d09){
_d09.click();
}
}
},onmouseover:function(evt){
var _d0b=this.get(evt.target.getAttribute("otm_layerid"));
if(_d0b){
var _d0c=_d0b.get(evt.target.getAttribute("otm_markerid"));
if(_d0c){
_d0c.mouseover();
}
}
},onmouseout:function(evt){
var _d0e=this.get(evt.target.getAttribute("otm_layerid"));
if(_d0e){
var _d0f=_d0e.get(evt.target.getAttribute("otm_markerid"));
if(_d0f){
_d0f.mouseout();
}
}
},renderMarker:function(item,_d11,_d12){
if(_d12){
var icon=item.getIcon();
if(!icon){
icon=_d11.getIcon(item.state);
}
}else{
var icon=item.__iconCache;
}
if(item.node&&(item.nodeIcon==icon.id)){
var pos=this.map.convertGeoToPx(item.point);
var _d15=item.node.style;
_d15.left=(pos.x+icon.iconOffset.x)+"px";
_d15.top=(pos.y+icon.iconOffset.y)+"px";
if(icon.shadow&&this._renderShadow){
var _d16=item.shadowNode.style;
_d16.left=(pos.x+icon.shadowOffset.x)+"px";
_d16.top=(pos.y+icon.shadowOffset.y)+"px";
}
}else{
var _d17=null;
if(item.node){
var img=item.node;
var _d17=item.shadowNode;
}else{
if(dojo.render.html.ie55||dojo.render.html.ie60){
img=document.createElement("div");
}else{
img=document.createElement("img");
}
}
if(icon.shadow&&!_d17&&this._renderShadow){
if(dojo.render.html.ie55||dojo.render.html.ie60){
_d17=document.createElement("div");
}else{
_d17=document.createElement("img");
}
}
var _d15=img.style;
var pos=this.map.convertGeoToPx(item.point);
_d15.left=(pos.x+icon.iconOffset.x)+"px";
_d15.top=(pos.y+icon.iconOffset.y)+"px";
if(icon.shadow&&this._renderShadow){
var _d16=_d17.style;
_d16.left=(pos.x+icon.shadowOffset.x)+"px";
_d16.top=(pos.y+icon.shadowOffset.y)+"px";
}
if(dojo.render.html.ie55||dojo.render.html.ie60){
_d15.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+icon.image+"',sizingMethod='scale')";
}else{
img.src=icon.image;
}
_d15.position="absolute";
_d15.width=icon.iconSize.width+"px";
_d15.height=icon.iconSize.height+"px";
_d15.cursor="pointer";
if(item.title){
img.title=item.title;
img.alttext=item.title;
}
if(icon.shadow&&this._renderShadow){
_d16.zIndex=-1;
_d16.position="absolute";
_d16.width=icon.shadowSize.width+"px";
_d16.height=icon.shadowSize.height+"px";
if(dojo.render.html.ie55||dojo.render.html.ie60){
_d16.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+icon.shadow+"',sizingMethod='scale')";
}else{
_d17.src=icon.shadow;
}
}else{
if(item.shadowNode){
item.shadowNode.parentNode.removeChild(item.shadowNode);
item.shadowNode=null;
}
}
if(!item.node){
item.node=img;
item.node.setAttribute("otm_markerid",item.id);
item.node.setAttribute("otm_layerid",_d11.id);
this.div.appendChild(img);
}
if(icon.shadow&&!item.shadowNode&&this._renderShadow){
item.shadowNode=_d17;
this.div.appendChild(_d17);
}
item.nodeIcon=icon.id;
item.node.style.zIndex=0;
}
}});
dojo.provide("dojo.html.selection");
dojo.html.selectionType={NONE:0,TEXT:1,CONTROL:2};
dojo.html.clearSelection=function(){
var _d19=dojo.global();
var _d1a=dojo.doc();
try{
if(_d19["getSelection"]){
if(dojo.render.html.safari){
_d19.getSelection().collapse();
}else{
_d19.getSelection().removeAllRanges();
}
}else{
if(_d1a.selection){
if(_d1a.selection.empty){
_d1a.selection.empty();
}else{
if(_d1a.selection.clear){
_d1a.selection.clear();
}
}
}
}
return true;
}
catch(e){
dojo.debug(e);
return false;
}
};
dojo.html.disableSelection=function(_d1b){
_d1b=dojo.byId(_d1b)||dojo.body();
var h=dojo.render.html;
if(h.mozilla){
_d1b.style.MozUserSelect="none";
}else{
if(h.safari){
_d1b.style.KhtmlUserSelect="none";
}else{
if(h.ie){
_d1b.unselectable="on";
}else{
return false;
}
}
}
return true;
};
dojo.html.enableSelection=function(_d1d){
_d1d=dojo.byId(_d1d)||dojo.body();
var h=dojo.render.html;
if(h.mozilla){
_d1d.style.MozUserSelect="";
}else{
if(h.safari){
_d1d.style.KhtmlUserSelect="";
}else{
if(h.ie){
_d1d.unselectable="off";
}else{
return false;
}
}
}
return true;
};
dojo.html.selectElement=function(_d1f){
dojo.deprecated("dojo.html.selectElement","replaced by dojo.html.selection.selectElementChildren",0.5);
};
dojo.html.selectInputText=function(_d20){
var _d21=dojo.global();
var _d22=dojo.doc();
_d20=dojo.byId(_d20);
if(_d22["selection"]&&dojo.body()["createTextRange"]){
var _d23=_d20.createTextRange();
_d23.moveStart("character",0);
_d23.moveEnd("character",_d20.value.length);
_d23.select();
}else{
if(_d21["getSelection"]){
var _d24=_d21.getSelection();
_d20.setSelectionRange(0,_d20.value.length);
}
}
_d20.focus();
};
dojo.html.isSelectionCollapsed=function(){
dojo.deprecated("dojo.html.isSelectionCollapsed","replaced by dojo.html.selection.isCollapsed",0.5);
return dojo.html.selection.isCollapsed();
};
dojo.lang.mixin(dojo.html.selection,{getType:function(){
if(dojo.doc()["selection"]){
return dojo.html.selectionType[dojo.doc().selection.type.toUpperCase()];
}else{
var _d25=dojo.html.selectionType.TEXT;
var oSel;
try{
oSel=dojo.global().getSelection();
}
catch(e){
}
if(oSel&&oSel.rangeCount==1){
var _d27=oSel.getRangeAt(0);
if(_d27.startContainer==_d27.endContainer&&(_d27.endOffset-_d27.startOffset)==1&&_d27.startContainer.nodeType!=dojo.dom.TEXT_NODE){
_d25=dojo.html.selectionType.CONTROL;
}
}
return _d25;
}
},isCollapsed:function(){
var _d28=dojo.global();
var _d29=dojo.doc();
if(_d29["selection"]){
return _d29.selection.createRange().text=="";
}else{
if(_d28["getSelection"]){
var _d2a=_d28.getSelection();
if(dojo.lang.isString(_d2a)){
return _d2a=="";
}else{
return _d2a.isCollapsed||_d2a.toString()=="";
}
}
}
},getSelectedElement:function(){
if(dojo.html.selection.getType()==dojo.html.selectionType.CONTROL){
if(dojo.doc()["selection"]){
var _d2b=dojo.doc().selection.createRange();
if(_d2b&&_d2b.item){
return dojo.doc().selection.createRange().item(0);
}
}else{
var _d2c=dojo.global().getSelection();
return _d2c.anchorNode.childNodes[_d2c.anchorOffset];
}
}
},getParentElement:function(){
if(dojo.html.selection.getType()==dojo.html.selectionType.CONTROL){
var p=dojo.html.selection.getSelectedElement();
if(p){
return p.parentNode;
}
}else{
if(dojo.doc()["selection"]){
return dojo.doc().selection.createRange().parentElement();
}else{
var _d2e=dojo.global().getSelection();
if(_d2e){
var node=_d2e.anchorNode;
while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE){
node=node.parentNode;
}
return node;
}
}
}
},getSelectedText:function(){
if(dojo.doc()["selection"]){
if(dojo.html.selection.getType()==dojo.html.selectionType.CONTROL){
return null;
}
return dojo.doc().selection.createRange().text;
}else{
var _d30=dojo.global().getSelection();
if(_d30){
return _d30.toString();
}
}
},getSelectedHtml:function(){
if(dojo.doc()["selection"]){
if(dojo.html.selection.getType()==dojo.html.selectionType.CONTROL){
return null;
}
return dojo.doc().selection.createRange().htmlText;
}else{
var _d31=dojo.global().getSelection();
if(_d31&&_d31.rangeCount){
var frag=_d31.getRangeAt(0).cloneContents();
var div=document.createElement("div");
div.appendChild(frag);
return div.innerHTML;
}
return null;
}
},hasAncestorElement:function(_d34){
return (dojo.html.selection.getAncestorElement.apply(this,arguments)!=null);
},getAncestorElement:function(_d35){
var node=dojo.html.selection.getSelectedElement()||dojo.html.selection.getParentElement();
while(node){
if(dojo.html.selection.isTag(node,arguments).length>0){
return node;
}
node=node.parentNode;
}
return null;
},isTag:function(node,tags){
if(node&&node.tagName){
for(var i=0;i<tags.length;i++){
if(node.tagName.toLowerCase()==String(tags[i]).toLowerCase()){
return String(tags[i]).toLowerCase();
}
}
}
return "";
},selectElement:function(_d3a){
var _d3b=dojo.global();
var _d3c=dojo.doc();
_d3a=dojo.byId(_d3a);
if(_d3c.selection&&dojo.body().createTextRange){
try{
var _d3d=dojo.body().createControlRange();
_d3d.addElement(_d3a);
_d3d.select();
}
catch(e){
dojo.html.selection.selectElementChildren(_d3a);
}
}else{
if(_d3b["getSelection"]){
var _d3e=_d3b.getSelection();
if(_d3e["removeAllRanges"]){
var _d3d=_d3c.createRange();
_d3d.selectNode(_d3a);
_d3e.removeAllRanges();
_d3e.addRange(_d3d);
}
}
}
},selectElementChildren:function(_d3f){
var _d40=dojo.global();
var _d41=dojo.doc();
_d3f=dojo.byId(_d3f);
if(_d41.selection&&dojo.body().createTextRange){
var _d42=dojo.body().createTextRange();
_d42.moveToElementText(_d3f);
_d42.select();
}else{
if(_d40["getSelection"]){
var _d43=_d40.getSelection();
if(_d43["setBaseAndExtent"]){
_d43.setBaseAndExtent(_d3f,0,_d3f,_d3f.innerText.length-1);
}else{
if(_d43["selectAllChildren"]){
_d43.selectAllChildren(_d3f);
}
}
}
}
},getBookmark:function(){
var _d44;
var _d45=dojo.doc();
if(_d45["selection"]){
var _d46=_d45.selection.createRange();
_d44=_d46.getBookmark();
}else{
var _d47;
try{
_d47=dojo.global().getSelection();
}
catch(e){
}
if(_d47){
var _d46=_d47.getRangeAt(0);
_d44=_d46.cloneRange();
}else{
dojo.debug("No idea how to store the current selection for this browser!");
}
}
return _d44;
},moveToBookmark:function(_d48){
var _d49=dojo.doc();
if(_d49["selection"]){
var _d4a=_d49.selection.createRange();
_d4a.moveToBookmark(_d48);
_d4a.select();
}else{
var _d4b;
try{
_d4b=dojo.global().getSelection();
}
catch(e){
}
if(_d4b&&_d4b["removeAllRanges"]){
_d4b.removeAllRanges();
_d4b.addRange(_d48);
}else{
dojo.debug("No idea how to restore selection for this browser!");
}
}
},collapse:function(_d4c){
if(dojo.global()["getSelection"]){
var _d4d=dojo.global().getSelection();
if(_d4d.removeAllRanges){
if(_d4c){
_d4d.collapseToStart();
}else{
_d4d.collapseToEnd();
}
}else{
dojo.global().getSelection().collapse(_d4c);
}
}else{
if(dojo.doc().selection){
var _d4e=dojo.doc().selection.createRange();
_d4e.collapse(_d4c);
_d4e.select();
}
}
},remove:function(){
if(dojo.doc().selection){
var _d4f=dojo.doc().selection;
if(_d4f.type.toUpperCase()!="NONE"){
_d4f.clear();
}
return _d4f;
}else{
var _d4f=dojo.global().getSelection();
for(var i=0;i<_d4f.rangeCount;i++){
_d4f.getRangeAt(i).deleteContents();
}
return _d4f;
}
}});
dojo.provide("dojo.html.iframe");
dojo.html.iframeContentWindow=function(_d51){
var win=dojo.html.getDocumentWindow(dojo.html.iframeContentDocument(_d51))||dojo.html.iframeContentDocument(_d51).__parent__||(_d51.name&&document.frames[_d51.name])||null;
return win;
};
dojo.html.iframeContentDocument=function(_d53){
var doc=_d53.contentDocument||((_d53.contentWindow)&&(_d53.contentWindow.document))||((_d53.name)&&(document.frames[_d53.name])&&(document.frames[_d53.name].document))||null;
return doc;
};
dojo.html.BackgroundIframe=function(node){
if(dojo.render.html.ie55||dojo.render.html.ie60){
var html="<iframe src='javascript:false'"+" style='position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;"+"z-index: -1; filter:Alpha(Opacity=\"0\");' "+">";
this.iframe=dojo.doc().createElement(html);
this.iframe.tabIndex=-1;
if(node){
node.appendChild(this.iframe);
this.domNode=node;
}else{
dojo.body().appendChild(this.iframe);
this.iframe.style.display="none";
}
}
};
dojo.lang.extend(dojo.html.BackgroundIframe,{iframe:null,onResized:function(){
if(this.iframe&&this.domNode&&this.domNode.parentNode){
var _d57=dojo.html.getMarginBox(this.domNode);
if(_d57.width==0||_d57.height==0){
dojo.lang.setTimeout(this,this.onResized,100);
return;
}
this.iframe.style.width=_d57.width+"px";
this.iframe.style.height=_d57.height+"px";
}
},size:function(node){
if(!this.iframe){
return;
}
var _d59=dojo.html.toCoordinateObject(node,true,dojo.html.boxSizing.BORDER_BOX);
with(this.iframe.style){
width=_d59.width+"px";
height=_d59.height+"px";
left=_d59.left+"px";
top=_d59.top+"px";
}
},setZIndex:function(node){
if(!this.iframe){
return;
}
if(dojo.dom.isNode(node)){
this.iframe.style.zIndex=dojo.html.getStyle(node,"z-index")-1;
}else{
if(!isNaN(node)){
this.iframe.style.zIndex=node;
}
}
},show:function(){
if(this.iframe){
this.iframe.style.display="block";
}
},hide:function(){
if(this.iframe){
this.iframe.style.display="none";
}
},remove:function(){
if(this.iframe){
dojo.html.removeNode(this.iframe,true);
delete this.iframe;
this.iframe=null;
}
}});
dojo.provide("dojo.widget.PopupContainer");
dojo.declare("dojo.widget.PopupContainerBase",null,function(){
this.queueOnAnimationFinish=[];
},{isShowingNow:false,currentSubpopup:null,beginZIndex:1000,parentPopup:null,parent:null,popupIndex:0,aroundBox:dojo.html.boxSizing.BORDER_BOX,openedForWindow:null,processKey:function(evt){
return false;
},applyPopupBasicStyle:function(){
with(this.domNode.style){
display="none";
position="absolute";
}
},aboutToShow:function(){
},open:function(x,y,_d5e,_d5f,_d60,_d61){
if(this.isShowingNow){
return;
}
if(this.animationInProgress){
this.queueOnAnimationFinish.push(this.open,arguments);
return;
}
this.aboutToShow();
var _d62=false,node,_d64;
if(typeof x=="object"){
node=x;
_d64=_d5f;
_d5f=_d5e;
_d5e=y;
_d62=true;
}
this.parent=_d5e;
dojo.body().appendChild(this.domNode);
_d5f=_d5f||_d5e["domNode"]||[];
var _d65=null;
this.isTopLevel=true;
while(_d5e){
if(_d5e!==this&&(_d5e.setOpenedSubpopup!=undefined&&_d5e.applyPopupBasicStyle!=undefined)){
_d65=_d5e;
this.isTopLevel=false;
_d65.setOpenedSubpopup(this);
break;
}
_d5e=_d5e.parent;
}
this.parentPopup=_d65;
this.popupIndex=_d65?_d65.popupIndex+1:1;
if(this.isTopLevel){
var _d66=dojo.html.isNode(_d5f)?_d5f:null;
dojo.widget.PopupManager.opened(this,_d66);
}
if(this.isTopLevel&&!dojo.withGlobal(this.openedForWindow||dojo.global(),dojo.html.selection.isCollapsed)){
this._bookmark=dojo.withGlobal(this.openedForWindow||dojo.global(),dojo.html.selection.getBookmark);
}else{
this._bookmark=null;
}
if(_d5f instanceof Array){
_d5f={left:_d5f[0],top:_d5f[1],width:0,height:0};
}
with(this.domNode.style){
display="";
zIndex=this.beginZIndex+this.popupIndex;
}
if(_d62){
this.move(node,_d61,_d64);
}else{
this.move(x,y,_d61,_d60);
}
this.domNode.style.display="none";
this.explodeSrc=_d5f;
this.show();
this.isShowingNow=true;
},move:function(x,y,_d69,_d6a){
var _d6b=(typeof x=="object");
if(_d6b){
var _d6c=_d69;
var node=x;
_d69=y;
if(!_d6c){
_d6c={"BL":"TL","TL":"BL"};
}
dojo.html.placeOnScreenAroundElement(this.domNode,node,_d69,this.aroundBox,_d6c);
}else{
if(!_d6a){
_d6a="TL,TR,BL,BR";
}
dojo.html.placeOnScreen(this.domNode,x,y,_d69,true,_d6a);
}
},close:function(_d6e){
if(_d6e){
this.domNode.style.display="none";
}
if(this.animationInProgress){
this.queueOnAnimationFinish.push(this.close,[]);
return;
}
this.closeSubpopup(_d6e);
this.hide();
if(this.bgIframe){
this.bgIframe.hide();
this.bgIframe.size({left:0,top:0,width:0,height:0});
}
if(this.isTopLevel){
dojo.widget.PopupManager.closed(this);
}
this.isShowingNow=false;
if(this.parent){
setTimeout(dojo.lang.hitch(this,function(){
try{
if(this.parent["focus"]){
this.parent.focus();
}else{
this.parent.domNode.focus();
}
}
catch(e){
dojo.debug("No idea how to focus to parent",e);
}
}),10);
}
if(this._bookmark&&dojo.withGlobal(this.openedForWindow||dojo.global(),dojo.html.selection.isCollapsed)){
if(this.openedForWindow){
this.openedForWindow.focus();
}
try{
dojo.withGlobal(this.openedForWindow||dojo.global(),"moveToBookmark",dojo.html.selection,[this._bookmark]);
}
catch(e){
}
}
this._bookmark=null;
},closeAll:function(_d6f){
if(this.parentPopup){
this.parentPopup.closeAll(_d6f);
}else{
this.close(_d6f);
}
},setOpenedSubpopup:function(_d70){
this.currentSubpopup=_d70;
},closeSubpopup:function(_d71){
if(this.currentSubpopup==null){
return;
}
this.currentSubpopup.close(_d71);
this.currentSubpopup=null;
},onShow:function(){
dojo.widget.PopupContainer.superclass.onShow.apply(this,arguments);
this.openedSize={w:this.domNode.style.width,h:this.domNode.style.height};
if(dojo.render.html.ie){
if(!this.bgIframe){
this.bgIframe=new dojo.html.BackgroundIframe();
this.bgIframe.setZIndex(this.domNode);
}
this.bgIframe.size(this.domNode);
this.bgIframe.show();
}
this.processQueue();
},processQueue:function(){
if(!this.queueOnAnimationFinish.length){
return;
}
var func=this.queueOnAnimationFinish.shift();
var args=this.queueOnAnimationFinish.shift();
func.apply(this,args);
},onHide:function(){
dojo.widget.HtmlWidget.prototype.onHide.call(this);
if(this.openedSize){
with(this.domNode.style){
width=this.openedSize.w;
height=this.openedSize.h;
}
}
this.processQueue();
}});
dojo.widget.defineWidget("dojo.widget.PopupContainer",[dojo.widget.HtmlWidget,dojo.widget.PopupContainerBase],{isContainer:true,fillInTemplate:function(){
this.applyPopupBasicStyle();
dojo.widget.PopupContainer.superclass.fillInTemplate.apply(this,arguments);
}});
dojo.widget.PopupManager=new function(){
this.currentMenu=null;
this.currentButton=null;
this.currentFocusMenu=null;
this.focusNode=null;
this.registeredWindows=[];
this.registerWin=function(win){
if(!win.__PopupManagerRegistered){
dojo.event.connect(win.document,"onmousedown",this,"onClick");
dojo.event.connect(win,"onscroll",this,"onClick");
dojo.event.connect(win.document,"onkey",this,"onKey");
win.__PopupManagerRegistered=true;
this.registeredWindows.push(win);
}
};
this.registerAllWindows=function(_d75){
if(!_d75){
try{
_d75=dojo.html.getDocumentWindow(window.top&&window.top.document||window.document);
}
catch(e){
_d75=window;
}
}
this.registerWin(_d75);
for(var i=0;i<_d75.frames.length;i++){
try{
var win=dojo.html.getDocumentWindow(_d75.frames[i].document);
if(win){
this.registerAllWindows(win);
}
}
catch(e){
}
}
};
this.unRegisterWin=function(win){
if(win.__PopupManagerRegistered){
dojo.event.disconnect(win.document,"onmousedown",this,"onClick");
dojo.event.disconnect(win,"onscroll",this,"onClick");
dojo.event.disconnect(win.document,"onkey",this,"onKey");
win.__PopupManagerRegistered=false;
}
};
this.unRegisterAllWindows=function(){
for(var i=0;i<this.registeredWindows.length;++i){
this.unRegisterWin(this.registeredWindows[i]);
}
this.registeredWindows=[];
};
dojo.addOnLoad(this,"registerAllWindows");
dojo.addOnUnload(this,"unRegisterAllWindows");
this.closed=function(menu){
if(this.currentMenu==menu){
this.currentMenu=null;
this.currentButton=null;
this.currentFocusMenu=null;
}
};
this.opened=function(menu,_d7c){
if(menu==this.currentMenu){
return;
}
if(this.currentMenu){
this.currentMenu.close();
}
this.currentMenu=menu;
this.currentFocusMenu=menu;
this.currentButton=_d7c;
};
this.setFocusedMenu=function(menu){
this.currentFocusMenu=menu;
};
this.onKey=function(e){
if(!e.key){
return;
}
if(!this.currentMenu||!this.currentMenu.isShowingNow){
return;
}
var m=this.currentFocusMenu;
while(m){
if(m.processKey(e)){
e.preventDefault();
e.stopPropagation();
break;
}
m=m.parentPopup||m.parentMenu;
}
},this.onClick=function(e){
if(!this.currentMenu){
return;
}
var _d81=dojo.html.getScroll().offset;
var m=this.currentMenu;
while(m){
if(dojo.html.overElement(m.domNode,e)||dojo.html.isDescendantOf(e.target,m.domNode)){
return;
}
m=m.currentSubpopup;
}
if(this.currentButton&&dojo.html.overElement(this.currentButton,e)){
return;
}
this.currentMenu.closeAll(true);
};
};
dojo.provide("dojo.widget.Menu2");
dojo.declare("dojo.widget.MenuBase",null,function(){
this.eventNames={open:""};
},{isContainer:true,isMenu:true,eventNaming:"default",templateCssString:"\n.dojoPopupMenu2 {\n\tposition: absolute;\n\tborder: 1px solid #7298d0;\n\tbackground:#85aeec url(images/soriaMenuBg.gif) repeat-x bottom left !important;\n\tpadding: 1px;\n\tmargin-top: 1px;\n\tmargin-bottom: 1px;\n}\n\n.dojoMenuItem2{\n\twhite-space: nowrap;\n\tfont: menu;\n\tmargin: 0;\n}\n\n.dojoMenuItem2Hover {\n\tbackground-color: #D2E4FD;\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n.dojoMenuItem2Icon {\n\tposition: relative;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n\tpadding-right: 3px;\n}\n\n.dojoMenuItem2Label {\n\tposition: relative;\n\tvertical-align: middle;\n}\n\n/* main label text */\n.dojoMenuItem2Label {\n\tposition: relative;\n\tvertical-align: middle;\n}\n\n.dojoMenuItem2Accel {\n\tposition: relative;\n\tvertical-align: middle;\n\tpadding-left: 3px;\n}\n\n.dojoMenuItem2Disabled .dojoMenuItem2Label,\n.dojoMenuItem2Disabled .dojoMenuItem2Accel {\n\tcolor: #607a9e;\n}\n\n.dojoMenuItem2Submenu {\n\tposition: relative;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-image: url(images/submenu_off.gif);\n\twidth: 5px;\n\theight: 9px;\n\tpadding-left: 3px;\n}\n.dojoMenuItem2Hover .dojoMenuItem2Submenu {\n\tbackground-image: url(images/submenu_on.gif);\n}\n\n.dojoMenuItem2Disabled .dojoMenuItem2Submenu {\n\tbackground-image: url(images/submenu_disabled.gif);\n}\n\n.dojoMenuSeparator2 {\n\tfont-size: 1px;\n\tmargin: 0;\n}\n\n.dojoMenuSeparator2Top {\n\theight: 50%;\n\tborder-bottom: 1px solid #7a98c4;\n\tmargin: 0px 2px;\n\tfont-size: 1px;\n}\n\n.dojoMenuSeparator2Bottom {\n\theight: 50%;\n\tborder-top: 1px solid #c9deff;\n\tmargin: 0px 2px;\n\tfont-size: 1px;\n}\n\n.dojoMenuBar2 {\n\tbackground:#85aeec url(images/soriaBarBg.gif) repeat-x top left;\n\t/*border-bottom:1px solid #6b9fec;*/\n\tpadding: 1px;\n}\n\n.dojoMenuBar2 .dojoMenuItem2 {\n\twhite-space: nowrap;\n\tfont: menu;\n\tmargin: 0;\n\tposition: relative;\n\tvertical-align: middle;\n\tz-index: 1;\n\tpadding: 3px 8px;\n\tdisplay: inline;/* needed in khtml to display correctly */\n\tdisplay: -moz-inline-box;/* needed in firefox */\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n.dojoMenuBar2 .dojoMenuItem2Hover {\n\tbackground-color:#d2e4fd;\n}\n\n.dojoMenuBar2 .dojoMenuItem2Disabled span {\n\tcolor: #4f6582;\n}\n",templateCssPath:dojo.uri.moduleUri("dojo.widget","templates/Menu2.css"),submenuDelay:500,initialize:function(args,frag){
if(this.eventNaming=="default"){
for(var _d85 in this.eventNames){
this.eventNames[_d85]=this.widgetId+"/"+_d85;
}
}
},_moveToNext:function(evt){
this._highlightOption(1);
return true;
},_moveToPrevious:function(evt){
this._highlightOption(-1);
return true;
},_moveToParentMenu:function(evt){
if(this._highlighted_option&&this.parentMenu){
if(evt._menu2UpKeyProcessed){
return true;
}else{
this._highlighted_option.onUnhover();
this.closeSubmenu();
evt._menu2UpKeyProcessed=true;
}
}
return false;
},_moveToChildMenu:function(evt){
if(this._highlighted_option&&this._highlighted_option.submenuId){
this._highlighted_option._onClick(true);
return true;
}
return false;
},_selectCurrentItem:function(evt){
if(this._highlighted_option){
this._highlighted_option._onClick();
return true;
}
return false;
},processKey:function(evt){
if(evt.ctrlKey||evt.altKey||!evt.key){
return false;
}
var rval=false;
switch(evt.key){
case evt.KEY_DOWN_ARROW:
rval=this._moveToNext(evt);
break;
case evt.KEY_UP_ARROW:
rval=this._moveToPrevious(evt);
break;
case evt.KEY_RIGHT_ARROW:
rval=this._moveToChildMenu(evt);
break;
case evt.KEY_LEFT_ARROW:
rval=this._moveToParentMenu(evt);
break;
case " ":
case evt.KEY_ENTER:
if(rval=this._selectCurrentItem(evt)){
break;
}
case evt.KEY_ESCAPE:
case evt.KEY_TAB:
this.close(true);
rval=true;
break;
}
return rval;
},_findValidItem:function(dir,_d8e){
if(_d8e){
_d8e=dir>0?_d8e.getNextSibling():_d8e.getPreviousSibling();
}
for(var i=0;i<this.children.length;++i){
if(!_d8e){
_d8e=dir>0?this.children[0]:this.children[this.children.length-1];
}
if(_d8e.onHover&&_d8e.isShowing()){
return _d8e;
}
_d8e=dir>0?_d8e.getNextSibling():_d8e.getPreviousSibling();
}
},_highlightOption:function(dir){
var item;
if((!this._highlighted_option)){
item=this._findValidItem(dir);
}else{
item=this._findValidItem(dir,this._highlighted_option);
}
if(item){
if(this._highlighted_option){
this._highlighted_option.onUnhover();
}
item.onHover();
dojo.html.scrollIntoView(item.domNode);
try{
var node=dojo.html.getElementsByClass("dojoMenuItem2Label",item.domNode)[0];
node.focus();
}
catch(e){
}
}
},onItemClick:function(item){
},closeSubmenu:function(_d94){
if(this.currentSubmenu==null){
return;
}
this.currentSubmenu.close(_d94);
this.currentSubmenu=null;
this.currentSubmenuTrigger.is_open=false;
this.currentSubmenuTrigger._closedSubmenu(_d94);
this.currentSubmenuTrigger=null;
}});
dojo.widget.defineWidget("dojo.widget.PopupMenu2",[dojo.widget.HtmlWidget,dojo.widget.PopupContainerBase,dojo.widget.MenuBase],function(){
this.targetNodeIds=[];
},{templateString:"<table class=\"dojoPopupMenu2\" border=0 cellspacing=0 cellpadding=0 style=\"display: none; position: absolute;\">"+"<tbody dojoAttachPoint=\"containerNode\"></tbody>"+"</table>",submenuOverlap:5,contextMenuForWindow:false,parentMenu:null,postCreate:function(){
if(this.contextMenuForWindow){
var doc=dojo.body();
this.bindDomNode(doc);
}else{
if(this.targetNodeIds.length>0){
dojo.lang.forEach(this.targetNodeIds,this.bindDomNode,this);
}
}
this._subscribeSubitemsOnOpen();
},_subscribeSubitemsOnOpen:function(){
var _d96=this.getChildrenOfType(dojo.widget.MenuItem2);
for(var i=0;i<_d96.length;i++){
dojo.event.topic.subscribe(this.eventNames.open,_d96[i],"menuOpen");
}
},getTopOpenEvent:function(){
var menu=this;
while(menu.parentMenu){
menu=menu.parentMenu;
}
return menu.openEvent;
},bindDomNode:function(node){
node=dojo.byId(node);
var win=dojo.html.getElementWindow(node);
if(dojo.html.isTag(node,"iframe")=="iframe"){
win=dojo.html.iframeContentWindow(node);
node=dojo.withGlobal(win,dojo.body);
}
dojo.widget.Menu2.OperaAndKonqFixer.fixNode(node);
dojo.event.kwConnect({srcObj:node,srcFunc:"oncontextmenu",targetObj:this,targetFunc:"onOpen",once:true});
if(dojo.render.html.moz&&win.document.designMode.toLowerCase()=="on"){
dojo.event.browser.addListener(node,"contextmenu",dojo.lang.hitch(this,"onOpen"));
}
dojo.widget.PopupManager.registerWin(win);
},unBindDomNode:function(_d9b){
var node=dojo.byId(_d9b);
dojo.event.kwDisconnect({srcObj:node,srcFunc:"oncontextmenu",targetObj:this,targetFunc:"onOpen",once:true});
dojo.widget.Menu2.OperaAndKonqFixer.cleanNode(node);
},_openAsSubmenu:function(_d9d,_d9e,_d9f){
if(this.isShowingNow){
return;
}
this.parentMenu=_d9d;
this.open(_d9e,_d9d,_d9e,_d9f);
},close:function(_da0){
if(this.animationInProgress){
dojo.widget.PopupContainerBase.prototype.close.call(this,_da0);
return;
}
if(this._highlighted_option){
this._highlighted_option.onUnhover();
}
dojo.widget.PopupContainerBase.prototype.close.call(this,_da0);
this.parentMenu=null;
},closeAll:function(_da1){
if(this.parentMenu){
this.parentMenu.closeAll(_da1);
}else{
this.close(_da1);
}
},_openSubmenu:function(_da2,_da3){
_da2._openAsSubmenu(this,_da3.arrow,{"TR":"TL","TL":"TR"});
this.currentSubmenu=_da2;
this.currentSubmenuTrigger=_da3;
this.currentSubmenuTrigger.is_open=true;
},focus:function(){
if(this.currentSubmenuTrigger){
if(this.currentSubmenuTrigger.caption){
try{
this.currentSubmenuTrigger.caption.focus();
}
catch(e){
}
}else{
try{
this.currentSubmenuTrigger.domNode.focus();
}
catch(e){
}
}
}
},onOpen:function(e){
this.openEvent=e;
if(e["target"]){
this.openedForWindow=dojo.html.getElementWindow(e.target);
}else{
this.openedForWindow=null;
}
var x=e.pageX,y=e.pageY;
var win=dojo.html.getElementWindow(e.target);
var _da8=win._frameElement||win.frameElement;
if(_da8){
var cood=dojo.html.abs(_da8,true);
x+=cood.x-dojo.withGlobal(win,dojo.html.getScroll).left;
y+=cood.y-dojo.withGlobal(win,dojo.html.getScroll).top;
}
this.open(x,y,null,[x,y]);
dojo.event.browser.stopEvent(e);
}});
dojo.widget.defineWidget("dojo.widget.MenuItem2",dojo.widget.HtmlWidget,function(){
this.eventNames={engage:""};
},{templateString:"<tr class=\"dojoMenuItem2\" dojoAttachEvent=\"onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick; onKey:onKey;\">"+"<td><div class=\"${this.iconClass}\" style=\"${this.iconStyle}\"></div></td>"+"<td tabIndex=\"-1\" class=\"dojoMenuItem2Label\" dojoAttachPoint=\"caption\">${this.caption}</td>"+"<td class=\"dojoMenuItem2Accel\">${this.accelKey}</td>"+"<td><div class=\"dojoMenuItem2Submenu\" style=\"display:${this.arrowDisplay};\" dojoAttachPoint=\"arrow\"></div></td>"+"</tr>",is_hovering:false,hover_timer:null,is_open:false,topPosition:0,caption:"Untitled",accelKey:"",iconSrc:"",disabledClass:"dojoMenuItem2Disabled",iconClass:"dojoMenuItem2Icon",submenuId:"",eventNaming:"default",highlightClass:"dojoMenuItem2Hover",postMixInProperties:function(){
this.iconStyle="";
if(this.iconSrc){
if((this.iconSrc.toLowerCase().substring(this.iconSrc.length-4)==".png")&&(dojo.render.html.ie55||dojo.render.html.ie60)){
this.iconStyle="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.iconSrc+"', sizingMethod='image')";
}else{
this.iconStyle="background-image: url("+this.iconSrc+")";
}
}
this.arrowDisplay=this.submenuId?"block":"none";
dojo.widget.MenuItem2.superclass.postMixInProperties.apply(this,arguments);
},fillInTemplate:function(){
dojo.html.disableSelection(this.domNode);
if(this.disabled){
this.setDisabled(true);
}
if(this.eventNaming=="default"){
for(var _daa in this.eventNames){
this.eventNames[_daa]=this.widgetId+"/"+_daa;
}
}
},onHover:function(){
this.onUnhover();
if(this.is_hovering){
return;
}
if(this.is_open){
return;
}
if(this.parent._highlighted_option){
this.parent._highlighted_option.onUnhover();
}
this.parent.closeSubmenu();
this.parent._highlighted_option=this;
dojo.widget.PopupManager.setFocusedMenu(this.parent);
this._highlightItem();
if(this.is_hovering){
this._stopSubmenuTimer();
}
this.is_hovering=true;
this._startSubmenuTimer();
},onUnhover:function(){
if(!this.is_open){
this._unhighlightItem();
}
this.is_hovering=false;
this.parent._highlighted_option=null;
if(this.parent.parentMenu){
dojo.widget.PopupManager.setFocusedMenu(this.parent.parentMenu);
}
this._stopSubmenuTimer();
},_onClick:function(_dab){
var _dac=false;
if(this.disabled){
return false;
}
if(this.submenuId){
if(!this.is_open){
this._stopSubmenuTimer();
this._openSubmenu();
}
_dac=true;
}else{
this.onUnhover();
this.parent.closeAll(true);
}
this.onClick();
dojo.event.topic.publish(this.eventNames.engage,this);
if(_dac&&_dab){
dojo.widget.getWidgetById(this.submenuId)._highlightOption(1);
}
return;
},onClick:function(){
this.parent.onItemClick(this);
},_highlightItem:function(){
dojo.html.addClass(this.domNode,this.highlightClass);
},_unhighlightItem:function(){
dojo.html.removeClass(this.domNode,this.highlightClass);
},_startSubmenuTimer:function(){
this._stopSubmenuTimer();
if(this.disabled){
return;
}
var self=this;
var _dae=function(){
return function(){
self._openSubmenu();
};
}();
this.hover_timer=dojo.lang.setTimeout(_dae,this.parent.submenuDelay);
},_stopSubmenuTimer:function(){
if(this.hover_timer){
dojo.lang.clearTimeout(this.hover_timer);
this.hover_timer=null;
}
},_openSubmenu:function(){
if(this.disabled){
return;
}
this.parent.closeSubmenu();
var _daf=dojo.widget.getWidgetById(this.submenuId);
if(_daf){
this.parent._openSubmenu(_daf,this);
}
},_closedSubmenu:function(){
this.onUnhover();
},setDisabled:function(_db0){
this.disabled=_db0;
if(this.disabled){
dojo.html.addClass(this.domNode,this.disabledClass);
}else{
dojo.html.removeClass(this.domNode,this.disabledClass);
}
},enable:function(){
this.setDisabled(false);
},disable:function(){
this.setDisabled(true);
},menuOpen:function(_db1){
}});
dojo.widget.defineWidget("dojo.widget.MenuSeparator2",dojo.widget.HtmlWidget,{templateString:"<tr class=\"dojoMenuSeparator2\"><td colspan=4>"+"<div class=\"dojoMenuSeparator2Top\"></div>"+"<div class=\"dojoMenuSeparator2Bottom\"></div>"+"</td></tr>",postCreate:function(){
dojo.html.disableSelection(this.domNode);
}});
dojo.widget.defineWidget("dojo.widget.MenuBar2",[dojo.widget.HtmlWidget,dojo.widget.MenuBase],{menuOverlap:2,templateString:"<div class=\"dojoMenuBar2\" dojoAttachPoint=\"containerNode\" tabIndex=\"0\"></div>",close:function(_db2){
if(this._highlighted_option){
this._highlighted_option.onUnhover();
}
this.closeSubmenu(_db2);
},closeAll:function(_db3){
this.close(_db3);
},processKey:function(evt){
if(evt.ctrlKey||evt.altKey){
return false;
}
var rval=false;
switch(evt.key){
case evt.KEY_DOWN_ARROW:
rval=this._moveToChildMenu(evt);
break;
case evt.KEY_UP_ARROW:
rval=this._moveToParentMenu(evt);
break;
case evt.KEY_RIGHT_ARROW:
rval=this._moveToNext(evt);
break;
case evt.KEY_LEFT_ARROW:
rval=this._moveToPrevious(evt);
break;
default:
rval=dojo.widget.MenuBar2.superclass.processKey.apply(this,arguments);
break;
}
return rval;
},postCreate:function(){
dojo.widget.MenuBar2.superclass.postCreate.apply(this,arguments);
this.isShowingNow=true;
},_openSubmenu:function(_db6,_db7){
_db6._openAsSubmenu(this,_db7.domNode,{"BL":"TL","TL":"BL"});
this.currentSubmenu=_db6;
this.currentSubmenuTrigger=_db7;
this.currentSubmenuTrigger.is_open=true;
}});
dojo.widget.defineWidget("dojo.widget.MenuBarItem2",dojo.widget.MenuItem2,{templateString:"<span class=\"dojoMenuItem2\" dojoAttachEvent=\"onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick;\">${this.caption}</span>"});
dojo.widget.Menu2.OperaAndKonqFixer=new function(){
var _db8=true;
var _db9=false;
if(!dojo.lang.isFunction(dojo.doc().oncontextmenu)){
dojo.doc().oncontextmenu=function(){
_db8=false;
_db9=true;
};
}
if(dojo.doc().createEvent){
try{
var e=dojo.doc().createEvent("MouseEvents");
e.initMouseEvent("contextmenu",1,1,dojo.global(),1,0,0,0,0,0,0,0,0,0,null);
dojo.doc().dispatchEvent(e);
}
catch(e){
}
}else{
_db8=false;
}
if(_db9){
delete dojo.doc().oncontextmenu;
}
this.fixNode=function(node){
if(_db8){
if(!dojo.lang.isFunction(node.oncontextmenu)){
node.oncontextmenu=function(e){
};
}
if(dojo.render.html.opera){
node._menufixer_opera=function(e){
if(e.ctrlKey){
this.oncontextmenu(e);
}
};
dojo.event.connect(node,"onclick",node,"_menufixer_opera");
}else{
node._menufixer_konq=function(e){
if(e.button==2){
e.preventDefault();
this.oncontextmenu(e);
}
};
dojo.event.connect(node,"onmousedown",node,"_menufixer_konq");
}
}
};
this.cleanNode=function(node){
if(_db8){
if(node._menufixer_opera){
dojo.event.disconnect(node,"onclick",node,"_menufixer_opera");
delete node._menufixer_opera;
}else{
if(node._menufixer_konq){
dojo.event.disconnect(node,"onmousedown",node,"_menufixer_konq");
delete node._menufixer_konq;
}
}
if(node.oncontextmenu){
delete node.oncontextmenu;
}
}
};
};
dojo.provide("dojo.gfx.common");
dojo.lang.mixin(dojo.gfx,{defaultPath:{type:"path",path:""},defaultPolyline:{type:"polyline",points:[]},defaultRect:{type:"rect",x:0,y:0,width:100,height:100,r:0},defaultEllipse:{type:"ellipse",cx:0,cy:0,rx:200,ry:100},defaultCircle:{type:"circle",cx:0,cy:0,r:100},defaultLine:{type:"line",x1:0,y1:0,x2:100,y2:100},defaultImage:{type:"image",x:0,y:0,width:0,height:0,src:""},defaultText:{type:"text",x:0,y:0,text:"",align:"left",decoration:"none",rotated:false,kerning:true},defaultTextPath:{type:"textpath",text:"",align:"left",decoration:"none",rotated:false,kerning:true},defaultStroke:{color:"black",width:1,cap:"butt",join:4},defaultLinearGradient:{type:"linear",x1:0,y1:0,x2:100,y2:100,colors:[{offset:0,color:"black"},{offset:1,color:"white"}]},defaultRadialGradient:{type:"radial",cx:0,cy:0,r:100,colors:[{offset:0,color:"black"},{offset:1,color:"white"}]},defaultPattern:{type:"pattern",x:0,y:0,width:0,height:0,src:""},defaultFont:{type:"font",style:"normal",variant:"normal",weight:"normal",size:"10pt",family:"serif"},normalizeColor:function(_dc0){
return (_dc0 instanceof dojo.gfx.color.Color)?_dc0:new dojo.gfx.color.Color(_dc0);
},normalizeParameters:function(_dc1,_dc2){
if(_dc2){
var _dc3={};
for(var x in _dc1){
if(x in _dc2&&!(x in _dc3)){
_dc1[x]=_dc2[x];
}
}
}
return _dc1;
},makeParameters:function(_dc5,_dc6){
if(!_dc6){
return dojo.lang.shallowCopy(_dc5,true);
}
var _dc7={};
for(var i in _dc5){
if(!(i in _dc7)){
_dc7[i]=dojo.lang.shallowCopy((i in _dc6)?_dc6[i]:_dc5[i],true);
}
}
return _dc7;
},formatNumber:function(x,_dca){
var val=x.toString();
if(val.indexOf("e")>=0){
val=x.toFixed(4);
}else{
var _dcc=val.indexOf(".");
if(_dcc>=0&&val.length-_dcc>5){
val=x.toFixed(4);
}
}
if(x<0){
return val;
}
return _dca?" "+val:val;
},makeFontString:function(font){
return font.style+" "+font.variant+" "+font.weight+" "+font.size+" "+font.family;
},splitFontString:function(str){
var font=dojo.lang.shallowCopy(dojo.gfx.defaultFont);
var t=str.split(/\s+/);
do{
if(t.length<5){
break;
}
font.style=t[0];
font.varian=t[1];
font.weight=t[2];
var i=t[3].indexOf("/");
font.size=i<0?t[3]:t[3].substring(0,i);
var j=4;
if(i<0){
if(t[4]=="/"){
j=6;
break;
}
if(t[4].substr(0,1)=="/"){
j=5;
break;
}
}
if(j+3>t.length){
break;
}
font.size=t[j];
font.family=t[j+1];
}while(false);
return font;
},pathRegExp:/([A-Za-z]+)|(\d+(\.\d+)?)|(\.\d+)|(-\d+(\.\d+)?)|(-\.\d+)/g});
dojo.declare("dojo.gfx.Surface",null,function(){
this.rawNode=null;
},{getEventSource:function(){
return this.rawNode;
}});
dojo.declare("dojo.gfx.Point",null,{});
dojo.declare("dojo.gfx.Rectangle",null,{});
dojo.provide("dojo.gfx.shape");
dojo.declare("dojo.gfx.Shape",null,function(){
this.rawNode=null;
this.shape=null;
this.matrix=null;
this.fillStyle=null;
this.strokeStyle=null;
this.bbox=null;
this.parent=null;
this.parentMatrix=null;
},{getNode:function(){
return this.rawNode;
},getShape:function(){
return this.shape;
},getTransform:function(){
return this.matrix;
},getFill:function(){
return this.fillStyle;
},getStroke:function(){
return this.strokeStyle;
},getParent:function(){
return this.parent;
},getBoundingBox:function(){
return this.bbox;
},getEventSource:function(){
return this.rawNode;
},setShape:function(_dd3){
return this;
},setFill:function(fill){
return this;
},setStroke:function(_dd5){
return this;
},moveToFront:function(){
return this;
},moveToBack:function(){
return this;
},setTransform:function(_dd6){
this.matrix=dojo.gfx.matrix.clone(_dd6?dojo.gfx.matrix.normalize(_dd6):dojo.gfx.identity,true);
return this._applyTransform();
},applyRightTransform:function(_dd7){
return _dd7?this.setTransform([this.matrix,_dd7]):this;
},applyLeftTransform:function(_dd8){
return _dd8?this.setTransform([_dd8,this.matrix]):this;
},applyTransform:function(_dd9){
return _dd9?this.setTransform([this.matrix,_dd9]):this;
},remove:function(_dda){
if(this.parent){
this.parent.remove(this,_dda);
}
return this;
},_setParent:function(_ddb,_ddc){
this.parent=_ddb;
return this._updateParentMatrix(_ddc);
},_updateParentMatrix:function(_ddd){
this.parentMatrix=_ddd?dojo.gfx.matrix.clone(_ddd):null;
return this._applyTransform();
},_getRealMatrix:function(){
return this.parentMatrix?new dojo.gfx.matrix.Matrix2D([this.parentMatrix,this.matrix]):this.matrix;
}});
dojo.declare("dojo.gfx.shape.VirtualGroup",dojo.gfx.Shape,function(){
this.children=[];
},{add:function(_dde){
var _ddf=_dde.getParent();
if(_ddf){
_ddf.remove(_dde,true);
}
this.children.push(_dde);
return _dde._setParent(this,this._getRealMatrix());
},remove:function(_de0,_de1){
for(var i=0;i<this.children.length;++i){
if(this.children[i]==_de0){
if(_de1){
}else{
_de0._setParent(null,null);
}
this.children.splice(i,1);
break;
}
}
return this;
},clear:function(){
this.children=[];
return this;
},_applyTransform:function(){
var _de3=this._getRealMatrix();
for(var i=0;i<this.children.length;++i){
this.children[i]._updateParentMatrix(_de3);
}
return this;
}});
dojo.declare("dojo.gfx.shape.Rect",dojo.gfx.Shape,function(_de5){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultRect,true);
this.attach(_de5);
},{getBoundingBox:function(){
return this.shape;
}});
dojo.declare("dojo.gfx.shape.Ellipse",dojo.gfx.Shape,function(_de6){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultEllipse,true);
this.attach(_de6);
},{getBoundingBox:function(){
if(!this.bbox){
var _de7=this.shape;
this.bbox={x:_de7.cx-_de7.rx,y:_de7.cy-_de7.ry,width:2*_de7.rx,height:2*_de7.ry};
}
return this.bbox;
}});
dojo.declare("dojo.gfx.shape.Circle",dojo.gfx.Shape,function(_de8){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultCircle,true);
this.attach(_de8);
},{getBoundingBox:function(){
if(!this.bbox){
var _de9=this.shape;
this.bbox={x:_de9.cx-_de9.r,y:_de9.cy-_de9.r,width:2*_de9.r,height:2*_de9.r};
}
return this.bbox;
}});
dojo.declare("dojo.gfx.shape.Line",dojo.gfx.Shape,function(_dea){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultLine,true);
this.attach(_dea);
},{getBoundingBox:function(){
if(!this.bbox){
var _deb=this.shape;
this.bbox={x:Math.min(_deb.x1,_deb.x2),y:Math.min(_deb.y1,_deb.y2),width:Math.abs(_deb.x2-_deb.x1),height:Math.abs(_deb.y2-_deb.y1)};
}
return this.bbox;
}});
dojo.declare("dojo.gfx.shape.Polyline",dojo.gfx.Shape,function(_dec){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultPolyline,true);
this.attach(_dec);
},{getBoundingBox:function(){
if(!this.bbox&&this.shape.points.length){
var p=this.shape.points;
var l=p.length;
var t=p[0];
var bbox={l:t.x,t:t.y,r:t.x,b:t.y};
for(var i=1;i<l;++i){
t=p[i];
if(bbox.l>t.x){
bbox.l=t.x;
}
if(bbox.r<t.x){
bbox.r=t.x;
}
if(bbox.t>t.y){
bbox.t=t.y;
}
if(bbox.b<t.y){
bbox.b=t.y;
}
}
this.bbox={x:bbox.l,y:bbox.t,width:bbox.r-bbox.l,height:bbox.b-bbox.t};
}
return this.bbox;
}});
dojo.declare("dojo.gfx.shape.Image",dojo.gfx.Shape,function(_df2){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultImage,true);
this.attach(_df2);
},{getBoundingBox:function(){
if(!this.bbox){
var _df3=this.shape;
this.bbox={x:0,y:0,width:_df3.width,height:_df3.height};
}
return this.bbox;
}});
dojo.declare("dojo.gfx.shape.Text",dojo.gfx.Shape,function(_df4){
this.fontStyle=null;
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultText,true);
this.attach(_df4);
},{setFont:function(_df5){
this.fontStyle=typeof _df5=="string"?dojo.gfx.splitFontString(_df5):dojo.gfx.makeParameters(dojo.gfx.defaultFont,_df5);
this._setFont();
}});
dojo.provide("dojo.math");
dojo.math.degToRad=function(x){
return (x*Math.PI)/180;
};
dojo.math.radToDeg=function(x){
return (x*180)/Math.PI;
};
dojo.math.factorial=function(n){
if(n<1){
return 0;
}
var _df9=1;
for(var i=1;i<=n;i++){
_df9*=i;
}
return _df9;
};
dojo.math.permutations=function(n,k){
if(n==0||k==0){
return 1;
}
return (dojo.math.factorial(n)/dojo.math.factorial(n-k));
};
dojo.math.combinations=function(n,r){
if(n==0||r==0){
return 1;
}
return (dojo.math.factorial(n)/(dojo.math.factorial(n-r)*dojo.math.factorial(r)));
};
dojo.math.bernstein=function(t,n,i){
return (dojo.math.combinations(n,i)*Math.pow(t,i)*Math.pow(1-t,n-i));
};
dojo.math.gaussianRandom=function(){
var k=2;
do{
var i=2*Math.random()-1;
var j=2*Math.random()-1;
k=i*i+j*j;
}while(k>=1);
k=Math.sqrt((-2*Math.log(k))/k);
return i*k;
};
dojo.math.mean=function(){
var _e05=dojo.lang.isArray(arguments[0])?arguments[0]:arguments;
var mean=0;
for(var i=0;i<_e05.length;i++){
mean+=_e05[i];
}
return mean/_e05.length;
};
dojo.math.round=function(_e08,_e09){
if(!_e09){
var _e0a=1;
}else{
var _e0a=Math.pow(10,_e09);
}
return Math.round(_e08*_e0a)/_e0a;
};
dojo.math.sd=dojo.math.standardDeviation=function(){
var _e0b=dojo.lang.isArray(arguments[0])?arguments[0]:arguments;
return Math.sqrt(dojo.math.variance(_e0b));
};
dojo.math.variance=function(){
var _e0c=dojo.lang.isArray(arguments[0])?arguments[0]:arguments;
var mean=0,_e0e=0;
for(var i=0;i<_e0c.length;i++){
mean+=_e0c[i];
_e0e+=Math.pow(_e0c[i],2);
}
return (_e0e/_e0c.length)-Math.pow(mean/_e0c.length,2);
};
dojo.math.range=function(a,b,step){
if(arguments.length<2){
b=a;
a=0;
}
if(arguments.length<3){
step=1;
}
var _e13=[];
if(step>0){
for(var i=a;i<b;i+=step){
_e13.push(i);
}
}else{
if(step<0){
for(var i=a;i>b;i+=step){
_e13.push(i);
}
}else{
throw new Error("dojo.math.range: step must be non-zero");
}
}
return _e13;
};
dojo.provide("dojo.gfx.path");
dojo.declare("dojo.gfx.path.Path",dojo.gfx.Shape,function(_e15){
this.shape=dojo.lang.shallowCopy(dojo.gfx.defaultPath,true);
this.segments=[];
this.absolute=true;
this.last={};
this.attach(_e15);
},{setAbsoluteMode:function(mode){
this.absolute=typeof (mode)=="string"?(mode=="absolute"):mode;
return this;
},getAbsoluteMode:function(){
return this.absolute;
},getBoundingBox:function(){
return (this.bbox&&("l" in this.bbox))?{x:this.bbox.l,y:this.bbox.t,width:this.bbox.r-this.bbox.l,height:this.bbox.b-this.bbox.t}:null;
},getLastPosition:function(){
return "x" in this.last?this.last:null;
},_updateBBox:function(x,y){
if(this.bbox&&("l" in this.bbox)){
if(this.bbox.l>x){
this.bbox.l=x;
}
if(this.bbox.r<x){
this.bbox.r=x;
}
if(this.bbox.t>y){
this.bbox.t=y;
}
if(this.bbox.b<y){
this.bbox.b=y;
}
}else{
this.bbox={l:x,b:y,r:x,t:y};
}
},_updateWithSegment:function(_e19){
var n=_e19.args;
var l=n.length;
switch(_e19.action){
case "M":
case "L":
case "C":
case "S":
case "Q":
case "T":
for(var i=0;i<l;i+=2){
this._updateBBox(n[i],n[i+1]);
}
this.last.x=n[l-2];
this.last.y=n[l-1];
this.absolute=true;
break;
case "H":
for(var i=0;i<l;++i){
this._updateBBox(n[i],this.last.y);
}
this.last.x=n[l-1];
this.absolute=true;
break;
case "V":
for(var i=0;i<l;++i){
this._updateBBox(this.last.x,n[i]);
}
this.last.y=n[l-1];
this.absolute=true;
break;
case "m":
var _e1d=0;
if(!("x" in this.last)){
this._updateBBox(this.last.x=n[0],this.last.y=n[1]);
_e1d=2;
}
for(var i=_e1d;i<l;i+=2){
this._updateBBox(this.last.x+=n[i],this.last.y+=n[i+1]);
}
this.absolute=false;
break;
case "l":
case "t":
for(var i=0;i<l;i+=2){
this._updateBBox(this.last.x+=n[i],this.last.y+=n[i+1]);
}
this.absolute=false;
break;
case "h":
for(var i=0;i<l;++i){
this._updateBBox(this.last.x+=n[i],this.last.y);
}
this.absolute=false;
break;
case "v":
for(var i=0;i<l;++i){
this._updateBBox(this.last.x,this.last.y+=n[i]);
}
this.absolute=false;
break;
case "c":
for(var i=0;i<l;i+=6){
this._updateBBox(this.last.x+n[i],this.last.y+n[i+1]);
this._updateBBox(this.last.x+n[i+2],this.last.y+n[i+3]);
this._updateBBox(this.last.x+=n[i+4],this.last.y+=n[i+5]);
}
this.absolute=false;
break;
case "s":
case "q":
for(var i=0;i<l;i+=4){
this._updateBBox(this.last.x+n[i],this.last.y+n[i+1]);
this._updateBBox(this.last.x+=n[i+2],this.last.y+=n[i+3]);
}
this.absolute=false;
break;
case "A":
for(var i=0;i<l;i+=7){
this._updateBBox(n[i+5],n[i+6]);
}
this.last.x=n[l-2];
this.last.y=n[l-1];
this.absolute=true;
break;
case "a":
for(var i=0;i<l;i+=7){
this._updateBBox(this.last.x+=n[i+5],this.last.y+=n[i+6]);
}
this.absolute=false;
break;
}
var path=[_e19.action];
for(var i=0;i<l;++i){
path.push(dojo.gfx.formatNumber(n[i],true));
}
if(typeof (this.shape.path)=="string"){
this.shape.path+=path.join("");
}else{
for(var i=0;i<path.length;i++){
this.shape.path.push(path[i]);
}
}
},_validSegments:{m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7,z:0},_pushSegment:function(_e1f,args){
var _e21=this._validSegments[_e1f.toLowerCase()];
if(typeof (_e21)=="number"){
if(_e21){
if(args.length>=_e21){
var _e22={action:_e1f,args:args.slice(0,args.length-args.length%_e21)};
this.segments.push(_e22);
this._updateWithSegment(_e22);
}
}else{
var _e22={action:_e1f,args:[]};
this.segments.push(_e22);
this._updateWithSegment(_e22);
}
}
},_collectArgs:function(_e23,args){
for(var i=0;i<args.length;++i){
var t=args[i];
if(typeof (t)=="boolean"){
_e23.push(t?1:0);
}else{
if(typeof (t)=="number"){
_e23.push(t);
}else{
if(t instanceof Array){
this._collectArgs(_e23,t);
}else{
if("x" in t&&"y" in t){
_e23.push(t.x);
_e23.push(t.y);
}
}
}
}
}
},moveTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"M":"m",args);
return this;
},lineTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"L":"l",args);
return this;
},hLineTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"H":"h",args);
return this;
},vLineTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"V":"v",args);
return this;
},curveTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"C":"c",args);
return this;
},smoothCurveTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"S":"s",args);
return this;
},qCurveTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"Q":"q",args);
return this;
},qSmoothCurveTo:function(){
var args=[];
this._collectArgs(args,arguments);
this._pushSegment(this.absolute?"T":"t",args);
return this;
},arcTo:function(){
var args=[];
this._collectArgs(args,arguments);
for(var i=2;i<args.length;i+=7){
args[i]=-args[i];
}
this._pushSegment(this.absolute?"A":"a",args);
return this;
},closePath:function(){
this._pushSegment("Z",[]);
return this;
},_setPath:function(path){
var p=dojo.lang.isArray(path)?path:path.match(dojo.gfx.pathRegExp);
this.segments=[];
this.absolute=true;
this.bbox={};
this.last={};
if(!p){
return;
}
var _e33="";
var args=[];
var ll=p.length;
for(var i=0;i<ll;++i){
var t=p[i];
var x=parseFloat(t);
if(isNaN(x)){
if(_e33){
this._pushSegment(_e33,args);
}
args.length=0;
_e33=t;
}else{
args.push(x);
}
}
this._pushSegment(_e33,args);
},setShape:function(_e39){
this.shape=dojo.gfx.makeParameters(this.shape,typeof (_e39)=="string"?{path:_e39}:_e39);
var path=this.shape.path;
this.shape.path=[];
this._setPath(path);
this.shape.path=this.shape.path.join("");
return this;
},_2PI:Math.PI*2});
dojo.declare("dojo.gfx.path.TextPath",dojo.gfx.path.Path,function(_e3b){
if(!("text" in this)){
this.text=dojo.lang.shallowCopy(dojo.gfx.defaultTextPath,true);
}
if(!("fontStyle" in this)){
this.fontStyle=dojo.lang.shallowCopy(dojo.gfx.defaultFont,true);
}
},{setText:function(_e3c){
this.text=dojo.gfx.makeParameters(this.text,typeof (_e3c)=="string"?{text:_e3c}:_e3c);
this._setText();
return this;
},setFont:function(_e3d){
this.fontStyle=typeof _e3d=="string"?dojo.gfx.splitFontString(_e3d):dojo.gfx.makeParameters(dojo.gfx.defaultFont,_e3d);
this._setFont();
return this;
}});
dojo.provide("dojo.math.curves");
dojo.math.curves={Line:function(_e3e,end){
this.start=_e3e;
this.end=end;
this.dimensions=_e3e.length;
for(var i=0;i<_e3e.length;i++){
_e3e[i]=Number(_e3e[i]);
}
for(var i=0;i<end.length;i++){
end[i]=Number(end[i]);
}
this.getValue=function(n){
var _e42=new Array(this.dimensions);
for(var i=0;i<this.dimensions;i++){
_e42[i]=((this.end[i]-this.start[i])*n)+this.start[i];
}
return _e42;
};
return this;
},Bezier:function(pnts){
this.getValue=function(step){
if(step>=1){
return this.p[this.p.length-1];
}
if(step<=0){
return this.p[0];
}
var _e46=new Array(this.p[0].length);
for(var k=0;j<this.p[0].length;k++){
_e46[k]=0;
}
for(var j=0;j<this.p[0].length;j++){
var C=0;
var D=0;
for(var i=0;i<this.p.length;i++){
C+=this.p[i][j]*this.p[this.p.length-1][0]*dojo.math.bernstein(step,this.p.length,i);
}
for(var l=0;l<this.p.length;l++){
D+=this.p[this.p.length-1][0]*dojo.math.bernstein(step,this.p.length,l);
}
_e46[j]=C/D;
}
return _e46;
};
this.p=pnts;
return this;
},CatmullRom:function(pnts,c){
this.getValue=function(step){
var _e50=step*(this.p.length-1);
var node=Math.floor(_e50);
var _e52=_e50-node;
var i0=node-1;
if(i0<0){
i0=0;
}
var i=node;
var i1=node+1;
if(i1>=this.p.length){
i1=this.p.length-1;
}
var i2=node+2;
if(i2>=this.p.length){
i2=this.p.length-1;
}
var u=_e52;
var u2=_e52*_e52;
var u3=_e52*_e52*_e52;
var _e5a=new Array(this.p[0].length);
for(var k=0;k<this.p[0].length;k++){
var x1=(-this.c*this.p[i0][k])+((2-this.c)*this.p[i][k])+((this.c-2)*this.p[i1][k])+(this.c*this.p[i2][k]);
var x2=(2*this.c*this.p[i0][k])+((this.c-3)*this.p[i][k])+((3-2*this.c)*this.p[i1][k])+(-this.c*this.p[i2][k]);
var x3=(-this.c*this.p[i0][k])+(this.c*this.p[i1][k]);
var x4=this.p[i][k];
_e5a[k]=x1*u3+x2*u2+x3*u+x4;
}
return _e5a;
};
if(!c){
this.c=0.7;
}else{
this.c=c;
}
this.p=pnts;
return this;
},Arc:function(_e60,end,ccw){
var _e63=dojo.math.points.midpoint(_e60,end);
var _e64=dojo.math.points.translate(dojo.math.points.invert(_e63),_e60);
var rad=Math.sqrt(Math.pow(_e64[0],2)+Math.pow(_e64[1],2));
var _e66=dojo.math.radToDeg(Math.atan(_e64[1]/_e64[0]));
if(_e64[0]<0){
_e66-=90;
}else{
_e66+=90;
}
dojo.math.curves.CenteredArc.call(this,_e63,rad,_e66,_e66+(ccw?-180:180));
},CenteredArc:function(_e67,_e68,_e69,end){
this.center=_e67;
this.radius=_e68;
this.start=_e69||0;
this.end=end;
this.getValue=function(n){
var _e6c=new Array(2);
var _e6d=dojo.math.degToRad(this.start+((this.end-this.start)*n));
_e6c[0]=this.center[0]+this.radius*Math.sin(_e6d);
_e6c[1]=this.center[1]-this.radius*Math.cos(_e6d);
return _e6c;
};
return this;
},Circle:function(_e6e,_e6f){
dojo.math.curves.CenteredArc.call(this,_e6e,_e6f,0,360);
return this;
},Path:function(){
var _e70=[];
var _e71=[];
var _e72=[];
var _e73=0;
this.add=function(_e74,_e75){
if(_e75<0){
dojo.raise("dojo.math.curves.Path.add: weight cannot be less than 0");
}
_e70.push(_e74);
_e71.push(_e75);
_e73+=_e75;
computeRanges();
};
this.remove=function(_e76){
for(var i=0;i<_e70.length;i++){
if(_e70[i]==_e76){
_e70.splice(i,1);
_e73-=_e71.splice(i,1)[0];
break;
}
}
computeRanges();
};
this.removeAll=function(){
_e70=[];
_e71=[];
_e73=0;
};
this.getValue=function(n){
var _e79=false,_e7a=0;
for(var i=0;i<_e72.length;i++){
var r=_e72[i];
if(n>=r[0]&&n<r[1]){
var subN=(n-r[0])/r[2];
_e7a=_e70[i].getValue(subN);
_e79=true;
break;
}
}
if(!_e79){
_e7a=_e70[_e70.length-1].getValue(1);
}
for(var j=0;j<i;j++){
_e7a=dojo.math.points.translate(_e7a,_e70[j].getValue(1));
}
return _e7a;
};
function computeRanges(){
var _e7f=0;
for(var i=0;i<_e71.length;i++){
var end=_e7f+_e71[i]/_e73;
var len=end-_e7f;
_e72[i]=[_e7f,end,len];
_e7f=end;
}
}
return this;
}};
dojo.provide("dojo.math.points");
dojo.math.points={translate:function(a,b){
if(a.length!=b.length){
dojo.raise("dojo.math.translate: points not same size (a:["+a+"], b:["+b+"])");
}
var c=new Array(a.length);
for(var i=0;i<a.length;i++){
c[i]=a[i]+b[i];
}
return c;
},midpoint:function(a,b){
if(a.length!=b.length){
dojo.raise("dojo.math.midpoint: points not same size (a:["+a+"], b:["+b+"])");
}
var c=new Array(a.length);
for(var i=0;i<a.length;i++){
c[i]=(a[i]+b[i])/2;
}
return c;
},invert:function(a){
var b=new Array(a.length);
for(var i=0;i<a.length;i++){
b[i]=-a[i];
}
return b;
},distance:function(a,b){
return Math.sqrt(Math.pow(b[0]-a[0],2)+Math.pow(b[1]-a[1],2));
}};
dojo.kwCompoundRequire({common:[["dojo.math",false,false],["dojo.math.curves",false,false],["dojo.math.points",false,false]]});
dojo.provide("dojo.math.*");
dojo.provide("dojo.gfx.matrix");
dojo.gfx.matrix.Matrix2D=function(arg){
if(arg){
if(typeof arg=="number"){
this.xx=this.yy=arg;
}else{
if(arg instanceof Array){
if(arg.length>0){
var m=dojo.gfx.matrix.normalize(arg[0]);
for(var i=1;i<arg.length;++i){
var l=m;
var r=dojo.gfx.matrix.normalize(arg[i]);
m=new dojo.gfx.matrix.Matrix2D();
m.xx=l.xx*r.xx+l.xy*r.yx;
m.xy=l.xx*r.xy+l.xy*r.yy;
m.yx=l.yx*r.xx+l.yy*r.yx;
m.yy=l.yx*r.xy+l.yy*r.yy;
m.dx=l.xx*r.dx+l.xy*r.dy+l.dx;
m.dy=l.yx*r.dx+l.yy*r.dy+l.dy;
}
dojo.mixin(this,m);
}
}else{
dojo.mixin(this,arg);
}
}
}
};
dojo.extend(dojo.gfx.matrix.Matrix2D,{xx:1,xy:0,yx:0,yy:1,dx:0,dy:0});
dojo.mixin(dojo.gfx.matrix,{identity:new dojo.gfx.matrix.Matrix2D(),flipX:new dojo.gfx.matrix.Matrix2D({xx:-1}),flipY:new dojo.gfx.matrix.Matrix2D({yy:-1}),flipXY:new dojo.gfx.matrix.Matrix2D({xx:-1,yy:-1}),translate:function(a,b){
if(arguments.length>1){
return new dojo.gfx.matrix.Matrix2D({dx:a,dy:b});
}
return new dojo.gfx.matrix.Matrix2D({dx:a.x,dy:a.y});
},scale:function(a,b){
if(arguments.length>1){
return new dojo.gfx.matrix.Matrix2D({xx:a,yy:b});
}
if(typeof a=="number"){
return new dojo.gfx.matrix.Matrix2D({xx:a,yy:a});
}
return new dojo.gfx.matrix.Matrix2D({xx:a.x,yy:a.y});
},rotate:function(_e99){
var c=Math.cos(_e99);
var s=Math.sin(_e99);
return new dojo.gfx.matrix.Matrix2D({xx:c,xy:s,yx:-s,yy:c});
},rotateg:function(_e9c){
return dojo.gfx.matrix.rotate(dojo.math.degToRad(_e9c));
},skewX:function(_e9d){
return new dojo.gfx.matrix.Matrix2D({xy:Math.tan(_e9d)});
},skewXg:function(_e9e){
return dojo.gfx.matrix.skewX(dojo.math.degToRad(_e9e));
},skewY:function(_e9f){
return new dojo.gfx.matrix.Matrix2D({yx:-Math.tan(_e9f)});
},skewYg:function(_ea0){
return dojo.gfx.matrix.skewY(dojo.math.degToRad(_ea0));
},normalize:function(_ea1){
return (_ea1 instanceof dojo.gfx.matrix.Matrix2D)?_ea1:new dojo.gfx.matrix.Matrix2D(_ea1);
},clone:function(_ea2){
var obj=new dojo.gfx.matrix.Matrix2D();
for(var i in _ea2){
if(typeof (_ea2[i])=="number"&&typeof (obj[i])=="number"&&obj[i]!=_ea2[i]){
obj[i]=_ea2[i];
}
}
return obj;
},invert:function(_ea5){
var m=dojo.gfx.matrix.normalize(_ea5);
var D=m.xx*m.yy-m.xy*m.yx;
var M=new dojo.gfx.matrix.Matrix2D({xx:m.yy/D,xy:-m.xy/D,yx:-m.yx/D,yy:m.xx/D,dx:(m.yx*m.dy-m.yy*m.dx)/D,dy:(m.xy*m.dx-m.xx*m.dy)/D});
return M;
},_multiplyPoint:function(m,x,y){
return {x:m.xx*x+m.xy*y+m.dx,y:m.yx*x+m.yy*y+m.dy};
},multiplyPoint:function(_eac,a,b){
var m=dojo.gfx.matrix.normalize(_eac);
if(typeof a=="number"&&typeof b=="number"){
return dojo.gfx.matrix._multiplyPoint(m,a,b);
}
return dojo.gfx.matrix._multiplyPoint(m,a.x,a.y);
},multiply:function(_eb0){
var m=dojo.gfx.matrix.normalize(_eb0);
for(var i=1;i<arguments.length;++i){
var l=m;
var r=dojo.gfx.matrix.normalize(arguments[i]);
m=new dojo.gfx.matrix.Matrix2D();
m.xx=l.xx*r.xx+l.xy*r.yx;
m.xy=l.xx*r.xy+l.xy*r.yy;
m.yx=l.yx*r.xx+l.yy*r.yx;
m.yy=l.yx*r.xy+l.yy*r.yy;
m.dx=l.xx*r.dx+l.xy*r.dy+l.dx;
m.dy=l.yx*r.dx+l.yy*r.dy+l.dy;
}
return m;
},_sandwich:function(m,x,y){
return dojo.gfx.matrix.multiply(dojo.gfx.matrix.translate(x,y),m,dojo.gfx.matrix.translate(-x,-y));
},scaleAt:function(a,b,c,d){
switch(arguments.length){
case 4:
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a,b),c,d);
case 3:
if(typeof c=="number"){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a),b,c);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a,b),c.x,c.y);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.scale(a),b.x,b.y);
},rotateAt:function(_ebc,a,b){
if(arguments.length>2){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotate(_ebc),a,b);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotate(_ebc),a.x,a.y);
},rotategAt:function(_ebf,a,b){
if(arguments.length>2){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotateg(_ebf),a,b);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.rotateg(_ebf),a.x,a.y);
},skewXAt:function(_ec2,a,b){
if(arguments.length>2){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewX(_ec2),a,b);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewX(_ec2),a.x,a.y);
},skewXgAt:function(_ec5,a,b){
if(arguments.length>2){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewXg(_ec5),a,b);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewXg(_ec5),a.x,a.y);
},skewYAt:function(_ec8,a,b){
if(arguments.length>2){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewY(_ec8),a,b);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewY(_ec8),a.x,a.y);
},skewYgAt:function(_ecb,a,b){
if(arguments.length>2){
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewYg(_ecb),a,b);
}
return dojo.gfx.matrix._sandwich(dojo.gfx.matrix.skewYg(_ecb),a.x,a.y);
}});
dojo.gfx.Matrix2D=dojo.gfx.matrix.Matrix2D;
dojo.kwCompoundRequire({common:["dojo.gfx.color","dojo.gfx.matrix","dojo.gfx.common"]});
dojo.requireIf(dojo.render.svg.capable,"dojo.gfx.svg");
dojo.requireIf(dojo.render.vml.capable,"dojo.gfx.vml");
dojo.provide("dojo.gfx.*");
dojo.provide("dojo.experimental");
dojo.experimental=function(_ece,_ecf){
var _ed0="EXPERIMENTAL: "+_ece;
_ed0+=" -- Not yet ready for use.  APIs subject to change without notice.";
if(_ecf){
_ed0+=" "+_ecf;
}
dojo.debug(_ed0);
};
dojo.provide("otm.map.GfxVectorLayerManager");
function SVGCoordsystem(vm){
this.vm=vm;
this.doNotRenderDrag=true;
}
SVGCoordsystem.prototype.convert=function(pt){
var px={};
var _ed4=this.vm.map.origin;
px.x=pt.x-_ed4.x;
px.y=_ed4.y-pt.y;
return px;
};
SVGCoordsystem.prototype.move=function(_ed5,map){
var mpp=_ed5.mpp;
var _ed8=_ed5.surface.getEventSource();
var w;
var h=mpp*_ed5.size[1];
var _edb=_ed5.mapBounds.upperLeft(true);
var _edc=_ed5.mapBounds.lowerRight(true);
function transX(oldX){
return oldX-map.origin.x;
}
var x=transX(_edb.x);
var y=map.origin.y-_edb.y;
w=transX(_edc.x)-x;
_ed5.setCoordinate(_ed5.size[0],_ed5.size[1],x,y,w,h,true);
var _ee0=_ed8.style;
_ee0.left=(_ed5.offset.x)+"px";
_ee0.top=(_ed5.offset.y)+"px";
};
function VMLCoordsystem(vm){
this.vm=vm;
this.doNotRenderDrag=true;
this.doNotRenderZoom=true;
this.coorChanges=true;
}
VMLCoordsystem.prototype.move=function(me){
};
VMLCoordsystem.prototype.convert=function(pt){
return this.vm.map.convertGeoToPx(pt);
};
otm.map.Graphics=function(_ee4){
this.coord=_ee4;
};
otm.map.Graphics.prototype.getCoordSystem=function(){
return this.coord;
};
otm.map.Graphics.prototype.converter=function(pt){
return this.coord.convert(pt);
};
otm.map.Graphics.prototype.reset=function(){
this._prevWidth=null;
this._prevHeight=null;
};
otm.map.Graphics.prototype.setCoordinate=function(_ee6,_ee7,x,y,w,h,svg){
var _eed=this.surface.rawNode;
if(!svg){
_eed.coordsize=w+" "+h;
_eed.coordorigin=x+" "+y;
var _eee=_eed.style;
_eee.width=_ee6;
_eee.height=_ee7;
}else{
_eed.setAttribute("viewBox",x+" "+y+" "+w+" "+h);
if(this._prevWidth!=_ee6){
_eed.setAttribute("width",_ee6);
this._prevWidth=_ee6;
}
if(this._prevHeight!=_ee7){
_eed.setAttribute("height",_ee7);
this._prevHeight=_ee7;
}
}
};
otm.map.Graphics.prototype._getColor=function(obj,key,_ef1){
if(!obj[key]){
obj[key]={};
}
var o=obj[key];
if(o.val!=_ef1){
o.val=_ef1;
o.obj=new dojo.gfx.color.Color(_ef1);
}
return o.obj;
};
otm.map.Graphics.prototype.setShapeStyle=function(_ef3,_ef4){
if(_ef4.fillColor&&_ef4.fillColor.length>0){
if(_ef3.__fillOpacity!=_ef4.fillOpacity||_ef3.__fillColor!=_ef4.fillColor){
var _ef5=this._getColor(_ef4,"__fillColor",_ef4.fillColor);
_ef5.a=_ef4.fillOpacity;
_ef3.setFill(_ef5);
_ef3.__fillOpacity=_ef4.fillOpacity;
_ef3.__fillColor=_ef4.fillColor;
}
}
if(_ef4.strokeColor&&_ef4.strokeColor.length>0){
var _ef5=this._getColor(_ef4,"__strokeColor",_ef4.strokeColor);
_ef5.a=_ef4.strokeOpacity;
var _ef6=_ef4.strokeWidth*this.browserMpp;
var _ef7={color:_ef5,width:_ef6,cap:_ef4.lineCap,join:_ef4.lineJoin};
if(!_ef3.__prevStroke){
_ef3.__prevStroke={};
}
var _ef8=_ef3.__prevStroke.width/_ef6;
var pC=_ef3.__prevStroke.color;
if(!pC||pC.r!=_ef5.r||pC.g!=_ef5.g||pC.b!=_ef5.b||pC.a!=_ef5.a||_ef8>1.2||_ef8<0.8){
_ef3.setStroke(_ef7);
_ef3.__prevStroke.color=_ef5;
_ef3.__prevStroke.width=_ef6;
}
}
};
dojo.declare("otm.map.GfxVectorLayerManager",otm.map.DataLayerManager,{_offset:null,_size:null,_mapBounds:null,initializer:function(){
dojo.event.connect(this,"add",this,"createSurface");
dojo.event.connect(this,"remove",this,"destroySurface");
this._idCounter=0;
if(!dojo.render.html.ie){
this.coordsystem=new SVGCoordsystem(this);
}else{
this.coordsystem=new VMLCoordsystem(this);
}
this.graphics=new otm.map.Graphics(this.coordsystem);
this.primitives=new otm.map.PrimitiveManager(this.graphics,this.map);
},layerdatachange:function(_efa){
this.primitives.markChanged(_efa);
this.doRender();
},_renderItem:function(itm){
if(itm.geometry.geometry=="GEOMETRYCOLLECTION"){
for(var i=0;i<itm.geometry.geometries.length;++i){
var geo=itm.geometry.geometries[i];
if(!geo.__itm){
var _efe=function(geo,_f00,idx){
geo.__itm=_f00;
_f00.layer=itm.layer;
var lpos=new LayerPosition(itm,geo,idx);
_f00.__removeFromLayer=dojo.lang.hitch(lpos,lpos.removeLayerFunc);
_f00.__addToLayer=dojo.lang.hitch(lpos,lpos.addLayerFunc);
};
function LayerPosition(itm,geo,_f05){
this._findCurrentPosition=function(){
for(var i=0;i<itm.geometry.geometries.length;i++){
if(itm.geometry.geometries[i]==geo){
return i;
}
}
};
this.removeLayerFunc=function(){
this.removedPos=this._findCurrentPosition();
itm.geometry.geometries.splice(this.removedPos,1);
};
this.addLayerFunc=function(_f07){
if(_f07.geometry==geo){
var idx=this.removedPos==undefined?_f05:this.removedPos;
if(itm.geometry.geometries[idx]!=_f07.geometry){
itm.geometry.geometries.splice(idx,0,_f07.geometry);
}
}else{
var idx=this._findCurrentPosition();
_efe(_f07.geometry,_f07,idx+1);
_f07.__addToLayer(_f07);
}
};
}
_efe(geo,new otm.map.Vector("_hack_"+this._idCounter++,geo,itm.title,itm.styleSet?itm.styleSet:undefined),i);
}
this._renderItem(geo.__itm);
}
}else{
if(!itm.__addToLayer){
itm.__addToLayer=function(_f09){
if(!itm.layer.get(_f09.id)){
itm.layer.addData(_f09);
}
};
}
if(!itm.__removeFromLayer){
itm.__removeFromLayer=function(){
if(itm.layer){
itm.layer.remove(itm);
}
};
}
otm.map.ItemControllerFactory.initController(itm,this.primitives);
}
},_addLayerToMap:function(_f0a){
_f0a.mapadd(this.map);
dojo.event.connect(_f0a,"onvectorstylechange",this,"doRender");
dojo.event.connect(_f0a,"onvectorremoved",this.primitives,"deleteShape");
dojo.event.connect(_f0a,"_beforeClearData",this,"_clearLayer");
},_clearLayer:function(_f0b){
var _f0c=_f0b.getIterator();
while(!_f0c.atEnd()){
var itm=_f0c.get();
this.primitives.deleteShape(itm);
}
},_removeLayerFromMap:function(_f0e){
this._clearLayer(_f0e);
_f0e.destroy();
dojo.event.disconnect(_f0e,"onvectorstylechange",this,"doRender");
dojo.event.connect(_f0e,"onvectorremoved",this.primitives,"deleteShape");
},destroySurface:function(){
if(this.count()==0){
var _f0f=this.graphics.surface.getEventSource();
this.div.removeChild(_f0f);
dojo.html.destroyNode(_f0f);
for(var key in this._eventListenerCleanUp){
if(dojo.render.html.ie){
document.body[key]=null;
}else{
dojo.event.browser.removeListener(document.body,key,this._eventListenerCleanUp[key]);
}
}
this.graphics.surface=null;
this.graphics.reset();
}
},createSurface:function(){
if(this.graphics.surface){
return;
}
var _f11=dojo.gfx.createSurface(this.div,500,500);
var _f12=_f11.getEventSource();
_f12.style.position="absolute";
this.graphics.surface=_f11;
var _f12=_f11.getEventSource();
this._eventListenersHitched=dojo.lang.hitch(this.primitives,this.primitives.dispatchEvent);
dojo.event.browser.addListener(_f12,"onmouseover",this._eventListenersHitched);
dojo.event.browser.addListener(_f12,"onmouseout",this._eventListenersHitched);
dojo.event.browser.addListener(_f12,"onmousedown",this._eventListenersHitched);
dojo.event.browser.addListener(_f12,"onmouseup",this._eventListenersHitched);
dojo.event.browser.addListener(_f12,"onselectstart",function(evt){
evt.preventDefault();
evt.stopPropagation();
});
dojo.event.browser.addListener(_f12,"onselect",function(evt){
evt.preventDefault();
evt.stopPropagation();
});
this._eventListenerCleanUp={};
this._eventListenerCleanUp.oncontextmenu=dojo.event.browser.addListener(document.body,"oncontextmenu",this._eventListenersHitched);
this._eventListenerCleanUp.onmousemove=dojo.event.browser.addListener(document.body,"onmousemove",this._eventListenersHitched);
this._eventListenerCleanUp.onmousedown=dojo.event.browser.addListener(document.body,"onmousedown",this._eventListenersHitched);
this._eventListenerCleanUp.onmouseup=dojo.event.browser.addListener(document.body,"onmouseup",this._eventListenersHitched);
},_addEvent:function(obj,_f16,func){
var _f18=dojo.event.browser.addListener(obj,_f16,func);
this._eventListenerCleanUp.push({obj:obj,name:_f16,func:_f18});
},_removeEvents:function(){
for(var i=0;i<this._eventListenerCleanUp.length;i++){
var e=this._eventListenerCleanUp[i];
}
},renderItemBase:function(itm,_f1c){
this._renderItem(itm);
},renderItemPromoted:function(itm,_f1e){
this._renderItem(itm,true);
},doRender_quick:function(){
if(this.map.isZooming){
if(this.coordsystem.doNotRenderZoom){
this.div.style.display="none";
}else{
this.doRender();
}
}else{
if(!this.coordsystem.doNotRenderDrag){
this.doRender();
}
}
},doRender:function(_f1f){
var _f20=this.graphics;
if(!_f20.surface){
return;
}
_f20.mpp=this.map.scale.getMapUnitsPerPixel();
_f20.browserMpp=(dojo.render.html.ie)?1:_f20.mpp;
_f20.offset={x:this.map.getMapLeft(),y:this.map.getMapTop()};
_f20.mapBounds=this.map.getMapBoundingBox();
_f20.size=[Math.round(_f20.mapBounds.width()/_f20.mpp),Math.round(_f20.mapBounds.height()/_f20.mpp)];
if(this.div.style.display!="block"){
this.div.style.display="block";
}
this.coordsystem.move(_f20,this.map);
otm.map.GfxVectorLayerManager.superclass.doRender.apply(this);
this.primitives.render(_f1f);
_f20.prevMpp=_f20.mpp;
}});
dojo.declare("otm.map.ItemControllerFactory",null,{initializer:function(itm){
}});
dojo.declare("otm.map.editing.PolylineDrawerController",null,{initializer:function(_f22,itm,args){
this._primitives=_f22;
this._primitives.setOperation(this);
if(itm){
this._extend=true;
this._itm=itm;
this._created=true;
}else{
this._extend=false;
if(args&&args.type=="LINE"){
this._itm=new otm.map.Vector(this._primitives.options.idHandler(),new otm.map.Line());
}else{
this._itm=new otm.map.Vector(this._primitives.options.idHandler(),new otm.map.Polygon());
}
this._created=false;
this._primitives.getDrawingLayer().addData(this._itm);
}
var _f25=otm.map.ItemControllerFactory.initController(this._itm,_f22);
this._poly=_f25.getBasicPolyline();
this._orgCount=this._poly.getLength();
this._controller=_f25;
this._extendFirst=false;
if(itm){
if(args&&args.extendFirst){
this._extendFirst=true;
this._poly.addVertice(0,this._poly.getVertice(0));
}else{
this._poly.appendVertice(this._poly.getVertice(this._poly.getLength()-1));
}
}
this._primitives.setcursor(this._primitives.getGraphics().surface,"crosshair");
},mouseDown:function(_f26){
},onEvent:function(_f27,evt){
var menu=evt.menu;
var _f2a=evt.snappedGeoPoint;
var _f2b={};
switch(_f27){
case "mousemove":
if(this._extendFirst){
this._poly.setVertice(0,_f2a);
}else{
this._poly.setLastVertice(_f2a);
}
break;
case "mouseup":
if(evt.buttonType=="right"){
break;
}
if(this._extendFirst){
var prev=this._poly.getVertice(1);
if(prev.x==_f2a.x&&prev.y==_f2a.y){
return;
}
this._poly.addVertice(0,_f2a);
}else{
if(!this._created){
this._poly.appendVertice(_f2a);
this._poly.appendVertice(_f2a);
this._created=true;
}else{
var prev=this._poly.getVertice(this._poly.getLength()-2);
if(prev.x==_f2a.x&&prev.y==_f2a.y){
return;
}
this._poly.appendVertice(_f2a);
}
}
break;
case "contextmenu":
_f2b.cleanupFunc=[];
_f2b.openContext=true;
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_end,onClick:otm.map.createCallback(this._primitives.setOperation,this._primitives)}));
break;
}
return _f2b;
},end:function(){
this._primitives.setcursor(this._primitives.getGraphics().surface,"");
if(this._poly.getLength()>0){
if(this._extendFirst){
var _f2d=0;
var prev=this._poly.getVertice(1);
var last=this._poly.getVertice(_f2d);
}else{
var _f2d=this._poly.getLength()-2;
var prev=this._poly.getVertice(this._poly.getLength()-1);
var last=this._poly.getVertice(_f2d);
}
if(prev.x==last.x&&prev.y==last.y){
this._poly.delVertice(_f2d);
}
var undo;
if(!this._extend){
undo=new otm.map.undo.VectorCreationCommand(this._controller._id,this._itm,this._primitives,false);
}else{
var mods=[];
var idx=this._orgCount;
var _f33=this._poly.getLength();
if(this._extendFirst){
idx=0;
_f33=_f33-this._orgCount;
}
for(var i=idx;i<_f33;i++){
mods.push(this._poly.getVertice(i));
}
undo=new otm.map.undo.VerticeModCommand(this._controller._id,idx,mods,false);
}
this._primitives.getUndoManager().addUndo(undo);
}
if(this._poly.getLength()==0){
this._controller.deleteShape();
}
this._primitives.setSelectionDispatcher();
}});
dojo.declare("otm.map.editing.PointDrawerController",null,{initializer:function(_f35,itm,args){
this._primitives=_f35;
this._primitives.setOperation(this);
this._itm=new otm.map.Vector(this._primitives.options.idHandler(),new otm.map.Point());
this._itm.__layerHint=this._primitives.getDrawingLayer();
var _f38=otm.map.ItemControllerFactory.initController(this._itm,_f35);
this._controller=_f38;
this._primitives.setcursor(this._primitives.getGraphics().surface,"crosshair");
},mouseDown:function(_f39){
},onEvent:function(_f3a,evt){
var menu=evt.menu;
var _f3d=evt.snappedGeoPoint;
var _f3e={};
switch(_f3a){
case "mouseup":
if(evt.buttonType=="right"){
break;
}
this._controller.setPoint({x:_f3d.x,y:_f3d.y});
this._primitives.setOperation();
break;
case "contextmenu":
_f3e.cleanupFunc=[];
_f3e.openContext=true;
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_end,onClick:otm.map.createCallback(this._primitives.setOperation,this._primitives)}));
break;
}
return _f3e;
},end:function(){
this._primitives.setcursor(this._primitives.getGraphics().surface,"");
this._primitives.getDrawingLayer().addData(this._itm);
this._itm.__layerHint=null;
undo=new otm.map.undo.VectorCreationCommand(this._controller._id,this._itm,this._primitives,false);
this._primitives.getUndoManager().addUndo(undo);
this._primitives.setSelectionDispatcher();
}});
dojo.declare("otm.map.shapes.PointsCollection",null,{_RAWPOINT:"rawpoint",initializer:function(_f3f,itm,_f41,show,_f43){
this._primitives=_f3f;
this._points=[];
this._controller=_f41;
this._itm=itm;
this._show=show;
this._baseAttrs=_f43?_f43:{};
},getLength:function(){
return this._points.length;
},deleteShape:function(){
if(this._points){
this._primitives.remove(this._points);
this._points=null;
}
},forceRender:function(){
this._forceRender(this._points);
},_forceRender:function(pts){
if(!this._show){
return;
}
this._primitives.renderThis(pts,this._changed);
this._changed=false;
},setShow:function(val,_f46){
if(_f46){
this.setStyle(_f46);
}
if(val==this._show){
return;
}
this._show=val;
if(val){
this._primitives.add(this._controller,this._points);
this._forceRender(this._points);
}else{
this._primitives.hide(this._points);
}
},appendPoint:function(pt){
this.addPoint(this._points.length,pt);
},sync:function(pts){
var _f49=Math.min(pts.length,this._points.length);
for(var i=0;i<_f49;i++){
this._points[i].data={x:pts[i].x,y:pts[i].y};
}
if(this._points.length==pts.length){
return;
}
if(this._points.length<pts.length){
var tmp=[];
for(var i=_f49;i<pts.length;i++){
tmp.push(pts[i]);
}
this.addPoint(i,tmp);
}else{
this.delPoint(pts.length,this._points.length);
}
},_getClones:function(idx,pts){
var _f4e=[];
var _f4f=this._RAWPOINT;
for(var i=0;i<pts.length;i++){
var o={type:_f4f,idx:idx+i,data:{x:pts[i].x,y:pts[i].y},itm:this._itm};
_f4e.push(o);
if(this._baseAttrs){
this._baseAttrs(o);
}
}
return _f4e;
},addPoint:function(idx,pts){
if(isNaN(pts.length)){
pts=[pts];
}
var _f54=this._getClones(idx,pts);
if(this._show){
this._primitives.add(this._controller,_f54);
}
if(idx==0&&this._points.length==0){
var ll=_f54.length;
for(var i=0;i<ll;i++){
this._points.push(_f54[i]);
}
}else{
var args=[idx,0].concat(_f54);
this._points.splice.apply(this._points,args);
}
for(var i=idx+pts.length;i<this._points.length;i++){
this._points[i].idx=i;
}
this._changed=true;
if(!this._delayRender){
this._forceRender(_f54);
}
},delPoint:function(idx,_f59){
if(!isFinite(_f59)){
_f59=1;
}
_f59=Math.min(_f59,this._points.length-idx);
for(var i=0;i<_f59;i++){
this._primitives.remove(this._points[idx+i]);
}
this._points.splice(idx,_f59);
for(var i=idx;i<this._points.length;i++){
this._points[i].idx=i;
}
this._changed=true;
},setLastPoint:function(pt){
if(this._points.length==0){
return;
}
this.setPoint(this._points.length-1,pt);
},setPoint:function(idx,pt){
this._points[idx].data.x=pt.x;
this._points[idx].data.y=pt.y;
this._changed=true;
this._forceRender(this._points[idx]);
},getPoint:function(idx,_f5f){
if(!_f5f){
var pt=this._points[idx].data;
return {x:pt.x,y:pt.y};
}else{
var _f61=[];
for(var i=0;i<_f5f;i++){
var pt=this._points[idx+i].data;
_f61.push({x:pt.x,y:pt.y});
}
return _f61;
}
},setStyle:function(_f63){
for(var i=0;i<this._points.length;i++){
this._points[i].itm.getStyle=function(){
return _f63;
};
}
this._changed=true;
this._forceRender(this._points);
},attachToBasicPolyline:function(poly){
dojo.event.connect(poly,poly.deleteShape,this,this.deleteShape);
dojo.event.connect(poly,poly.addVertice,this,this.addPoint);
dojo.event.connect(poly,poly.delVertice,this,this.delPoint);
dojo.event.connect(poly,poly.setVertice,this,this.setPoint);
dojo.event.connect(poly,poly.forceRender,this,this.forceRender);
this._delayRender=true;
this.appendPoint(poly._originalPoints);
this._delayRender=false;
},getRows:function(){
return this._points;
}});
dojo.declare("otm.map.shapes.BasicPolyline",null,{initializer:function(_f66,itm,_f68,_f69){
this._itm=itm;
this._primitives=_f66;
this._originalPoints=_f69?_f69:[];
this._poly=_f66.add(_f68,[{type:"rawpoly",data:this._originalPoints,itm:itm}]);
},getLength:function(){
return this._originalPoints.length;
},deleteShape:function(){
this._primitives.remove(this._poly);
},forceRender:function(){
this._forceRender();
},_forceRender:function(){
this._primitives.renderThis(this._poly,true);
},appendVertice:function(pt,_f6b){
this.addVertice(this._originalPoints.length,pt,_f6b);
},addVertice:function(idx,pts,_f6e){
var _f6f=[];
if(!pts.length){
pts=[pts];
}
for(var i=0;i<pts.length;i++){
_f6f[i]={x:pts[i].x,y:pts[i].y};
}
var args=[idx,0].concat(_f6f);
this._originalPoints.splice.apply(this._originalPoints,args);
if(!_f6e){
this._forceRender();
}
},delVertice:function(idx,_f73){
if(!isFinite(_f73)){
_f73=1;
}
this._originalPoints.splice(idx,_f73);
this._forceRender();
},setLastVertice:function(pt){
if(this._originalPoints.length==0){
return;
}
this.setVertice(this._originalPoints.length-1,pt);
},setVertice:function(idx,pt,_f77){
if(!this._originalPoints[idx]){
this._originalPoints[idx]={};
}
this._originalPoints[idx].x=pt.x;
this._originalPoints[idx].y=pt.y;
if(!_f77){
this._forceRender();
}
},getVertice:function(idx,_f79){
if(!_f79){
var pt=this._originalPoints[idx];
return {x:pt.x,y:pt.y};
}else{
var _f7b=[];
for(var i=0;i<_f79;i++){
var pt=this._originalPoints[idx+i];
_f7b.push({x:pt.x,y:pt.y});
}
return _f7b;
}
},getRow:function(){
return this._poly;
},getShape:function(){
return this._primitives.getShape(this._poly[0]);
}});
dojo.declare("otm.map.Arrow",null,{initializer:function(itm,_f7e,_f7f,_f80){
this._poly=new otm.map.shapes.BasicPolyline(_f7e,itm,_f7f);
var pt={x:0,y:0};
this._poly.appendVertice([pt,pt,pt,pt,pt,pt,pt]);
var row=this._poly.getRow();
row[0].updater=dojo.lang.hitch(this,this.update);
this._graphics=_f80;
this._primitives=_f7e;
},update:function(){
if(!this._pWidth){
return;
}
this.initByPoint(this._pt,this._pWidth);
this._orientateWithPoly(true);
},init:function(_f83,_f84,_f85,_f86,_f87){
var _f88=_f83.x;
var _f89=_f88+_f84;
var _f8a=_f89+_f85;
var _f8b=_f83.y;
var _f8c=(_f86-_f87)/2;
var _f8d=_f8b-_f8c;
var _f8e=_f8d-(_f86-_f8c*2);
var _f8f=_f8e-_f8c;
var bump=_f85/5;
var _f91=_f8b-_f86/2;
this._poly.setVertice(0,{x:_f88,y:_f8d},true);
this._poly.setVertice(1,{x:_f89+bump,y:_f8d},true);
this._poly.setVertice(2,{x:_f89,y:_f8b},true);
this._poly.setVertice(3,{x:_f8a,y:_f91},true);
this._poly.setVertice(4,{x:_f89,y:_f8f},true);
this._poly.setVertice(5,{x:_f89+bump,y:_f8e},true);
this._poly.setVertice(6,{x:_f88,y:_f8e},true);
},initByPoint:function(pt,_f93){
this._pWidth=_f93;
this._pt=pt;
var w=_f93*this._graphics.mpp;
this.init(pt,w*0.7,w*0.3,w*0.5,w*0.1);
},forceRender:function(){
this._poly.forceRender();
},rotate:function(_f95){
var pt=this._graphics.getCoordSystem().convert(this._pt);
this._poly.getShape().setTransform(dojo.gfx.matrix.rotateAt(_f95,pt.x,pt.y));
},angle:function(_f97,p1,p2){
var dx1=_f97.x-p1.x;
var dx2=_f97.x-p2.x;
var dy1=_f97.y-p1.y;
var dy2=_f97.y-p2.y;
var rad=Math.atan2((dy2-dy1),(dx2-dx1));
return rad;
},deleteShape:function(){
this._poly.deleteShape();
var poly=this._attachedPoly;
dojo.event.disconnect(poly,poly.deleteShape,this,this.deleteShape);
dojo.event.disconnect(poly,poly.addVertice,this,this._polyChanged);
dojo.event.disconnect(poly,poly.delVertice,this,this._polyChanged);
dojo.event.disconnect(poly,poly.setVertice,this,this._polyChanged);
dojo.event.disconnect(poly,poly.forceRender,this,this.forceRender);
},_polyChanged:function(){
this._orientateWithPoly();
},_orientateWithPoly:function(_fa0){
var poly=this._attachedPoly;
var _fa2=poly.getLength();
if(_fa2>1){
this.initByPoint(poly.getVertice(poly.getLength()-1),15);
var pz=poly.getVertice(_fa2-1);
var pa=poly.getVertice(_fa2-2);
var pa2={x:pa.x+0.1,y:pa.y};
var _fa6=this.angle(pa,pz,pa2);
this.rotate(_fa6);
if(!_fa0){
this.forceRender();
}
}
},attachToBasicPolyline:function(poly,_fa8){
this._attachedPoly=poly;
dojo.event.connect(poly,poly.deleteShape,this,this.deleteShape);
dojo.event.connect(poly,poly.addVertice,this,this._polyChanged);
dojo.event.connect(poly,poly.delVertice,this,this._polyChanged);
dojo.event.connect(poly,poly.setVertice,this,this._polyChanged);
dojo.event.connect(poly,poly.forceRender,this,this.forceRender);
this._orientateWithPoly(!_fa8);
}});
dojo.declare("otm.map.PolylineController",null,{initializer:function(itm,_faa,poly){
this.type="POLY";
this._itm=itm;
this._primitives=_faa;
this._graphics=_faa.getGraphics();
var _fac=new otm.map.VectorStyle("temp");
_fac.strokeColor="black";
_fac.pointRadius=3;
_fac.fillColor="#808000";
this._verticStyle=_fac.clone();
this._originalVerticStyle=_fac.clone();
with(_fac){
strokeColor="#ff8a00";
strokeWidth=4;
strokeOpacity=1;
drawVertices=true;
}
this._selectedVerticStyle=_fac.clone();
this._poly2=poly?poly:new otm.map.shapes.BasicPolyline(_faa,itm,this,itm.geometry.points);
this._vertices2=new otm.map.shapes.PointsCollection(this._primitives,otm.map.gfx.getItm(this._verticStyle),this,otm.map.gfx.getStyle(itm).drawVertices,function(o){
o.isVertice=true;
});
this._vertices2.attachToBasicPolyline(this._poly2);
},getShape:function(){
return this._poly2.getShape();
},forceRender:function(){
this._poly2.forceRender();
},getBasicPolyline:function(){
return this._poly2;
},deleteShape:function(){
this._poly2.deleteShape();
otm.map.ItemControllerFactory.remove(this._itm,this);
},dragstart:function(_fae,evt,_fb0){
dojo.debug("poly drag start "+" ");
},setVertice:function(idx,pt){
this._poly2.setVertice(idx,pt);
},dragend:function(_fb3,evt,_fb5){
dojo.debug("poly drag end "+" ");
var row=_fb5.rowData;
if(!row.isVertice){
return;
}
var pt={x:row.data.x,y:row.data.y};
var undo=new otm.map.undo.VerticeDragCommand(this._id,row.idx,this._poly2.getVertice(row.idx),pt);
evt.undoManager.addUndo(undo);
this._poly2.setVertice(row.idx,row.data);
if(_fb5.__dragLines){
this._primitives.remove(_fb5.__dragLines);
}
},dragmove:function(_fb9,evt,_fbb){
var _fbc=_fbb.dragShape;
var row=_fbb.rowData;
if(!row.isVertice){
return;
}
var _fbe=this._primitives._map._fireCancelableEvent("ondragvertice",this._itm,row.idx);
if(_fbe){
return;
}
row.data.x=evt.snappedGeoPoint.x;
row.data.y=evt.snappedGeoPoint.y;
this._primitives.renderThis(row,true);
if(!_fbb.__dragLines){
var _fbf=new otm.map.VectorStyle("pointselectedStyle");
with(_fbf){
strokeColor="#ff8a00";
strokeWidth=2;
strokeOpacity=1;
drawVertices=true;
}
_fbb.__dragLines=[];
if(row.idx>0){
var pt=this._poly2.getVertice(row.idx-1);
var _fc1={x:pt.x,y:pt.y};
_fbb.__dragLines.push({type:"rawpoly",data:[_fc1,{}],itm:otm.map.gfx.getItm(_fbf)});
}
if(row.idx+1<this._poly2.getLength()){
var pt=this._poly2.getVertice(row.idx+1);
var _fc1={x:pt.x,y:pt.y};
_fbb.__dragLines.push({type:"rawpoly",data:[_fc1,{}],itm:otm.map.gfx.getItm(_fbf)});
}
}
var _fc2=_fbb.__dragLines;
for(var i=0;i<_fc2.length;i++){
_fc2[i].data[1].x=row.data.x;
_fc2[i].data[1].y=row.data.y;
}
this._primitives.renderThis(_fc2,true);
},deselect:function(){
this._selected=false;
if(!otm.map.gfx.getStyle(this._itm).drawVertices){
this._vertices2.setShow(false);
}else{
var _fc4=this._originalVerticStyle.clone();
this._vertices2.setStyle(_fc4);
}
this._primitives.setcursor(this._vertices2.getRows(),"");
this._primitives.setcursor(this._poly2.getRow(),"");
if(this._arrow){
this._arrow.deleteShape();
this._arrow=null;
}
},sync:function(){
this._vertices2.sync(this._poly2._originalPoints);
},select:function(){
this._selected=true;
this._vertices2.setShow(true,this._selectedVerticStyle);
this._primitives.setcursor(this._vertices2.getRows(),"crosshair");
this._primitives.setcursor(this._poly2.getRow(),"crosshair");
if(!this._arrow&&this._primitives.options.features.directionArrow){
var _fc5=new otm.map.VectorStyle("temp");
_fc5.strokeWidth=1;
_fc5.strokeColor="#ff8a00";
_fc5.fillColor="#ff8a00";
this._arrow=new otm.map.Arrow(otm.map.gfx.getItm(_fc5),this._primitives,this,this._graphics);
this._arrow.attachToBasicPolyline(this._poly2,true);
}
},_highlightLine:function(pt,_fc7,_fc8){
var _fc9=this._checkIntersect(_fc7);
if(this._temphighlight&&(!_fc9||(_fc9.startIndex!=this._temphighlight.startIndex))){
this._primitives.remove(this._temphighlight);
this._temphighlight=null;
}
if(_fc9&&(!this._temphighlight||_fc9.startIndex!=this._temphighlight.startIndex)){
var _fca=otm.map.gfx.getStyle(this._itm).clone();
_fca.lineCap="butt";
_fca.strokeColor="red";
_fca.strokeWidth=_fc8.getStroke().width/this._graphics.browserMpp;
var data=_fc9.points;
this._temphighlight=this._primitives.add(this,{type:"rawpoly",data:data,itm:otm.map.gfx.getItm(_fca)});
this._temphighlight.startIndex=_fc9.startIndex;
this._primitives.renderThis(this._temphighlight,true);
this._primitives.setcursor(this._temphighlight,"crosshair");
}
},onMouseMove:function(pt,_fcd,_fce){
if(!this._selected){
return false;
}
if(_fce!=this._poly2.getShape()){
return false;
}
this._highlightLine(pt,_fcd,_fce);
},onMouseOver:function(pt,_fd0,_fd1){
if(!this._selected){
return false;
}
if(this._temphighlight&&_fd1==this._primitives.getShape(this._temphighlight[0])){
return true;
}
if(_fd1!=this._poly2.getShape()){
return false;
}
this._highlightLine(pt,_fd0,_fd1);
return true;
},onMouseOut:function(pt,_fd3,_fd4,_fd5){
if(this._temphighlight&&_fd5!=this._primitives.getShape(this._temphighlight[0])){
this._primitives.remove(this._temphighlight);
this._temphighlight=null;
}
if(!this._selected){
return false;
}
if(_fd4!=this._poly2.getShape()){
return false;
}
if(this._temphighlight&&_fd4==this._primitives.getShape(this._temphighlight[0])){
return false;
}
return true;
},_onAddVertice:function(_fd6,_fd7){
var idx=_fd6.startIndex+1;
var undo=new otm.map.undo.VerticeModCommand(this._id,idx,[_fd7]);
this._primitives.getUndoManager().addUndo(undo);
undo.redo();
this._primitives.setcursor(this._vertices2.getRows(),"crosshair");
},addVertice:function(idx,_fdb){
this._addVertice(idx,_fdb);
},_addVertice:function(idx,_fdd){
if(isNaN(_fdd.length)){
_fdd=[_fdd];
}
this._poly2.addVertice(idx,_fdd);
},delVertice:function(idx,_fdf){
this._delVertice(idx,_fdf);
},_delVertice:function(idx,_fe1){
this._poly2.delVertice(idx,_fe1);
},_onDelVertice:function(row){
var idx=row.idx;
var undo=new otm.map.undo.VerticeModCommand(this._id,idx,this._poly2.getVertice(idx),true);
this._primitives.getUndoManager().addUndo(undo);
undo.redo();
},_onSplitVertice:function(row){
var _fe6=[];
for(var i=row.idx;i<this._poly2.getLength();i++){
_fe6.push(this._poly2.getVertice(i));
}
var itm=new otm.map.Vector(this._primitives.options.idHandler(),new otm.map.Polygon(_fe6));
this._itm.__addToLayer(itm);
var _fe9=otm.map.ItemControllerFactory.initController(itm,this._primitives);
var undo=new otm.map.undo.PolylineSplitCommand(_fe9._id,this._id,itm,row.idx,this._primitives,false);
this._primitives.getUndoManager().addUndo(undo);
undo.redo();
},_checkIntersect:function(_feb){
this._itm.geometry.lineWidth=(this._poly2.getShape().getStroke().width/this._graphics.browserMpp+4)*this._graphics.mpp;
return this._itm.geometry.intersects(new otm.map.Point(_feb.x,_feb.y));
},_onExtend:function(row){
var _fed=row.idx==0;
this.deselect();
Commands.startDrawPolyline(this._primitives,this._itm,{extendFirst:_fed});
},getNearestPoint:function(pt,_fef){
var _ff0;
var min=Number.MAX_VALUE;
for(var i=0;i<this._poly2.getLength();i++){
var v=this._poly2.getVertice(i);
v=new otm.map.Point(v.x,v.y);
var _ff4=v.distance(pt);
if(_ff4<=_fef&&_ff4<min){
_ff0=v;
min=_ff4;
}
}
return _ff0;
},_onMerge:function(con){
if(this==con){
dojo.debug("this==con");
return;
}
var poly=con.getBasicPolyline();
var d1=poly.getVertice(0).distance(this._poly2.getVertice(this._poly2.getLength()-1));
var d2=poly.getVertice(poly.getLength()-1).distance(this._poly2.getVertice(0));
if(d1>d2){
return con._onMerge(this);
}
var undo=new otm.map.undo.PolylineSplitCommand(con._id,this._id,con._itm,this._poly2.getLength()-1,this._primitives,true);
this._primitives.getUndoManager().addUndo(undo);
undo.redo();
},_onReverse:function(){
var undo=new otm.map.undo.PolyReverseCommand(this._id);
this._primitives.getUndoManager().addUndo(undo);
undo.redo();
},reverse:function(){
var _ffb=this._poly2.getLength();
for(var i=0;i<_ffb/2;i++){
var a=this._poly2.getVertice(_ffb-i-1);
var b=this._poly2.getVertice(i);
this._poly2.setVertice(i,a);
this._poly2.setVertice(_ffb-i-1,b);
}
},onContextMenu:function(menu,pt,geopt,shape,row){
var _1004;
if(row.isVertice){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_delete_node,onClick:otm.map.createCallback(this._onDelVertice,this,row)}));
if(this._primitives.options.features.splitLine&&row.idx!=(this._poly2.getLength()-1)&&row.idx!=0){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_split_at_node,onClick:otm.map.createCallback(this._onSplitVertice,this,row)}));
}
var _1005=otm.map.ItemControllerFactory.getControllerList();
var _1006=[];
for(var key in _1005){
var con=_1005[key];
if(con==this){
continue;
}
if(con.type&&con.type=="POLY"){
var range=15*this._graphics.mpp;
var point=con.getNearestPoint(geopt,range);
if(point){
_1006.push({pt:point,con:con});
}
}
}
if(_1006.length==1){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_merge_two_poly,onClick:otm.map.createCallback(this._onMerge,this,_1006[0].con)}));
}else{
if(_1006.length>1){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_can_not_merge}));
}
}
if(row.idx==0||row.idx==this._itm.geometry.points.length-1){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_extend,onClick:otm.map.createCallback(this._onExtend,this,row)}));
}
}else{
var _100b=this._checkIntersect(geopt);
if(_100b){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_create_node,onClick:otm.map.createCallback(this._onAddVertice,this,_100b,geopt)}));
}
var data=[{type:"rawpoint",data:geopt,key:{},itm:otm.map.gfx.getItm(this._verticStyle)}];
var _100d=this._primitives;
var me=this;
_100d.renderThis(data);
_100d.getShape(data[0]).getNode().style.cursor="default";
_1004=function(){
_100d.remove(data);
if(me._temphighlight){
_100d.remove(me._temphighlight);
me._temphighlight=null;
}
};
}
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_reverse_direction,onClick:otm.map.createCallback(this._onReverse,this,row)}));
return _1004;
}});
dojo.declare("otm.map.undo.ReversibleCommand",null,{initializer:function(_100f){
this._controller_id=_100f;
},process:function(_1010){
if(_1010){
this.create();
}else{
this.destroy();
}
},_getController:function(){
return otm.map.ItemControllerFactory.getController(this._controller_id);
},undo:function(){
this.process(this._createFirst);
},redo:function(){
this.process(!this._createFirst);
}});
dojo.declare("otm.map.undo.PolyReverseCommand",otm.map.undo.ReversibleCommand,{initializer:function(_1011){
this._controller_id=_1011;
},create:function(){
var _1012=this._getController();
_1012.reverse();
},destroy:function(){
var _1013=this._getController();
_1013.reverse();
}});
dojo.declare("otm.map.undo.PointDragCommand",null,{initializer:function(from,to,_1016){
this._controller_id=_1016;
this._from=from;
this._to=to;
},_getController:function(){
return otm.map.ItemControllerFactory.getController(this._controller_id);
},undo:function(){
var _1017=this._getController();
_1017.setPoint(this._from);
},redo:function(){
var _1018=this._getController();
_1018.setPoint(this._to);
}});
dojo.declare("otm.map.undo.VerticeModCommand",otm.map.undo.ReversibleCommand,{initializer:function(_1019,idx,pts,_101c){
var _101d=[];
if(isNaN(pts.length)){
pts=[pts];
}
for(var i=0;i<pts.length;i++){
_101d[i]=otm.map.shallowCopy(pts[i]);
}
this._controller_id=_1019;
this._pts=_101d;
this._idx=idx;
this._createFirst=_101c;
},create:function(){
var _101f=this._getController();
_101f.addVertice(this._idx,this._pts);
},destroy:function(){
var _1020=this._getController();
_1020.delVertice(this._idx,this._pts.length);
}});
dojo.declare("otm.map.undo.VerticeDragCommand",null,{initializer:function(_1021,idx,from,to){
this._controller_id=_1021;
this._from=from;
this._to=to;
this._idx=idx;
},_getController:function(){
return otm.map.ItemControllerFactory.getController(this._controller_id);
},undo:function(){
var _1025=this._getController();
_1025.setVertice(this._idx,this._from);
},redo:function(){
var _1026=this._getController();
_1026.setVertice(this._idx,this._to);
}});
dojo.declare("otm.map.undo.PolylineSplitCommand",otm.map.undo.ReversibleCommand,{initializer:function(_1027,_1028,itm,idx,_102b,_102c){
this._controller_id=_1027;
this._itm=itm;
this._createFirst=_102c;
this._primitives=_102b;
this._create=new otm.map.undo.VectorCreationCommand(_1027,itm,_102b,_102c);
var pts=[];
for(var i=1;i<itm.geometry.points.length;i++){
pts.push(otm.map.shallowCopy(itm.geometry.points[i]));
}
this._mod=new otm.map.undo.VerticeModCommand(_1028,idx+1,pts,true);
},create:function(){
this._create.create();
this._mod.destroy();
},destroy:function(){
this._create.destroy();
this._mod.create();
}});
dojo.declare("otm.map.undo.VectorCreationCommand",otm.map.undo.ReversibleCommand,{initializer:function(_102f,itm,_1031,_1032){
this._controller_id=_102f;
this._itm=itm;
this._createFirst=_1032;
this._primitives=_1031;
},create:function(){
var _1033=otm.map.ItemControllerFactory.initController(this._itm,this._primitives,this._controller_id);
this._itm.__addToLayer(this._itm);
this._restoreObjectMarks(_1033);
_1033.forceRender();
},_cloneObjectMarks:function(obj){
this._objMarks=[];
for(var key in obj){
if(key.length>2&&key.substring(0,2)=="__"){
this._objMarks.push({key:key,val:obj[key]});
}
}
},_restoreObjectMarks:function(obj){
if(!this._objMarks){
return;
}
for(var i=0;i<this._objMarks.length;i++){
var o=this._objMarks[i];
obj[o.key]=o.val;
}
},destroy:function(){
var _1039=this._getController();
this._cloneObjectMarks(_1039);
_1039.deleteShape();
}});
dojo.declare("otm.map.PointController",null,{initializer:function(itm,_103b){
this._itm=itm;
this._primitives=_103b;
this._graphics=_103b.getGraphics();
this.selectedStyle=new otm.map.VectorStyle("pointselectedStyle");
with(this.selectedStyle){
strokeColor="#ff8a00";
strokeWidth=2;
strokeOpacity=1;
drawVertices=true;
}
this._pointData=_103b.add(this,[{type:"rawpoint",data:itm.geometry,itm:this._itm}])[0];
this._originalPoint={x:this._pointData.data.x,y:this._pointData.data.y};
},forceRender:function(){
this._primitives.renderThis(this._pointData,true);
},deleteShape:function(){
this._primitives.remove(this._pointData);
this._pointData=null;
otm.map.ItemControllerFactory.remove(this._itm,this);
},update:function(_103c){
},handleEvent:function(_103d,evt,shape){
},dragstart:function(_1040,evt,_1042){
},dragend:function(_1043,evt,shape){
dojo.debug("drag end "+" "+shape);
var undo=new otm.map.undo.PointDragCommand({x:this._originalPoint.x,y:this._originalPoint.y},{x:this._pointData.data.x,y:this._pointData.data.y},this._id);
evt.undoManager.addUndo(undo);
this._originalPoint={x:this._pointData.data.x,y:this._pointData.data.y};
},setPoint:function(pt){
this._pointData.data.x=pt.x;
this._pointData.data.y=pt.y;
this._originalPoint={x:this._pointData.data.x,y:this._pointData.data.y};
this._primitives.renderThis(this._pointData,true);
},dragmove:function(_1048,evt,_104a){
this._pointData.data.x=evt.snappedGeoPoint.x;
this._pointData.data.y=evt.snappedGeoPoint.y;
this._primitives.renderThis(this._pointData,true);
},deselect:function(){
this._pointData.itm.__overrideStyle=null;
this._primitives.renderThis(this._pointData,true);
this._primitives.getShape(this._pointData).getNode().style.cursor="";
},select:function(){
this._pointData.itm.__overrideStyle=this.selectedStyle;
this._primitives.renderThis(this._pointData,true);
this._primitives.getShape(this._pointData).getNode().style.cursor="crosshair";
}});
function Commands(){
}
Commands.startDraw=function(_104b,_104c){
var dis=new otm.map.editing.eventdispatch.Drawing(null,null,_104b);
_104b.switchDispatcher(dis);
dis.setDrawer(_104c);
};
Commands.startDrawPolyline=function(_104e,itm,args){
Commands.startDraw(_104e,new otm.map.editing.PolylineDrawerController(_104e,itm,args));
};
Commands.startDrawPoint=function(_1051,itm,args){
Commands.startDraw(_1051,new otm.map.editing.PointDrawerController(_1051,itm,args));
};
dojo.declare("otm.map.editing.eventdispatch.Drawing",null,{initializer:function(map,_1055,_1056){
this._map=map;
this._graphics=_1055;
this._primitives=_1056;
},setDrawer:function(_1057){
this._drawer=_1057;
},dispatchEvent:function(_1058,evt){
return this._drawer.onEvent(_1058,evt);
}});
dojo.declare("otm.map.editing.eventdispatch.Selection",null,{initializer:function(map,_105b,_105c){
this._map=map;
this._dragState={};
this._eventState={};
this._graphics=_105b;
this._primitives=_105c;
},_restoreShapeWidth:function(shape){
if(!shape.__oldWidth){
return;
}
var st=shape.getStroke();
st.width=shape.__oldWidth;
delete shape.__oldWidth;
shape.setStroke(st);
},dispatchEvent:function(_105f,evt){
var state=this._eventState;
var _1062=this._dragState;
var _1063={};
var pt=evt.point;
var geopt=evt.geoPoint;
var shape=evt.shape;
var _1067=evt.curController;
var menu=evt.menu;
var _1069=this._primitives.selection;
var _106a=_1069.getSelected();
switch(_105f){
case "mouseover":
if(_1067){
var _106b=false;
if(_1067.onMouseOver){
_106b=_1067.onMouseOver(pt,geopt,shape);
}
_1069.select(_1067);
}
break;
case "mouseout":
if(_1067){
var _106b=false;
var _106c=evt.toElement?evt.toElement.__shape:null;
_106c=evt.relatedTarget?evt.relatedTarget.__shape:_106c;
if(_1067.onMouseOut){
_106b=_1067.onMouseOut(pt,geopt,shape,_106c);
}
break;
}
break;
case "mousedown":
state.mouseMoved=false;
if(_106a&&evt.buttonType=="left"){
if(_1067==_106a){
_1062.dragging=true;
_1062.dragShape=shape;
_1062.rowData=shape.__row;
_1062.startX=evt.clientX;
_1062.startY=evt.clientY;
_1067.dragstart(_105f,evt,_1062);
if(_1067.mouseDown){
_1067.mouseDown(geopt);
}
}else{
_1069.deselect();
}
}
break;
case "mousemove":
if(_1062.dragging){
_106a.dragmove(_105f,evt,_1062);
state.mouseMoved=true;
}else{
if(_106a&&_106a.onMouseMove){
_106a.onMouseMove(pt,geopt,shape);
}
}
break;
case "mouseup":
if(!state.mouseMoved){
if(_1067){
_1069.select(_1067);
}
}
if(_1062.dragging&&state.mouseMoved){
_106a.dragend(_105f,evt,_1062);
}
state.mouseMoved=false;
this._dragState={};
if(_1067){
_1067._itm.layer.onvectorclick(_1067._itm);
}
break;
case "contextmenu":
_1062.dragging=false;
_1063.cleanupFunc=[];
_1063.openContext=true;
if(_1067&&_1067.onContextMenu){
_1063.cleanupFunc.push(_1067.onContextMenu(menu,pt,geopt,shape,shape.__row));
}else{
var _106d=dojo.lang.isFunction(this._primitives.options.canAdd)?this._primitives.options.canAdd():this._primitives.options.canAdd;
if(_106d){
if(this._primitives.options.vector_type.POLYGON){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_create_polygon,onClick:otm.map.createCallback(Commands.startDrawPolyline,Commands,this._primitives)}));
}
if(this._primitives.options.vector_type.LINE){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_create_line,onClick:otm.map.createCallback(Commands.startDrawPolyline,Commands,this._primitives,null,{type:"LINE"})}));
}
if(this._primitives.options.vector_type.POINT){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_create_point,onClick:otm.map.createCallback(Commands.startDrawPoint,Commands,this._primitives)}));
}
}
}
var _106e=evt.undoManager;
if(_106e.canUndo()||_106e.canRedo()){
menu.addChild(dojo.widget.createWidget("MenuSeparator2"));
}
if(_106e.canUndo()){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_undo,onClick:otm.map.createCallback(_106e.undo,_106e,_1067)}));
}
if(_106e.canRedo()){
menu.addChild(dojo.widget.createWidget("MenuItem2",{caption:otm.map.strings.gfx_redo,onClick:otm.map.createCallback(_106e.redo,_106e,_1067)}));
}
_1069.select(_1067);
break;
}
if(_1062.dragging){
evt.preventDefault();
evt.stopPropagation();
}
return _1063;
}});
otm.map.editing.SelectionManager=function(){
};
otm.map.editing.SelectionManager.prototype.select=function(obj){
var _1070;
if(obj){
_1070=obj.select?obj:obj.__controller;
}
var _1071=this.getSelected();
if(_1071!=_1070){
this.deselect();
}
if(_1070){
this._selectedController=_1070;
this._selectedController.select();
}
};
otm.map.editing.SelectionManager.prototype.getSelected=function(_1072){
if(this._selectedController&&this._selectedController.__deleted){
this._selectedController=null;
}
return this._selectedController;
};
otm.map.editing.SelectionManager.prototype.deselect=function(_1073){
var _1074=this.getSelected();
if(_1073&&_1073!=_1074){
return;
}
try{
if(_1074){
_1074.deselect();
}
}
catch(e){
}
};
dojo.declare("otm.map.Snapper",null,{initializer:function(_1075,_1076){
this.setGrid(_1075,_1076);
},setGrid:function(_1077,_1078){
this._xspacing=_1077;
this._yspacing=_1078;
},getGrid:function(){
return {xspacing:this._xspacing,yspacing:this._yspacing};
},snap:function(pt,arg){
if(!arg){
arg={};
}
var _107b=arg.spacing?arg.spacing:this._xspacing;
var _107c=arg.spacing?arg.spacing:this._yspacing;
var _107d={};
var xbase=Math.floor(pt.x/_107b)*_107b;
var ybase=Math.floor(pt.y/_107c)*_107c;
var _1080=pt.x%_107b;
var _1081=pt.y%_107c;
_107d.x=(_1080>(_107b/2))?xbase+_107b:xbase;
_107d.y=(_1081>(_107c/2))?ybase+_107c: