/*
	Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
 
		http://www.apache.org/licenses/LICENSE-2.0
 
	Unless required by applicable law or agreed to in writing, software
	distributed under the License is distributed on an "AS IS" BASIS,
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	See the License for the specific language governing permissions and
	limitations under the License.
	
	Portions copyright (c) 2004-2007, The Dojo Foundation
	All Rights Reserved.

	Dojo portions are licensed under the Academic Free License version 
	2.1 or above OR the modified BSD license. For more information on 
	Dojo licensing, see:

		http://dojotoolkit.org/community/licensing.shtml

	These portions constitute a compiled version of Dojo, built for deploy- 
	ment and not for development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.	
	
 	Portions copyright 2005 Google Inc.
 	All Rights Reserved

 	Google portions are licensed under the BSD license, for
 	which see:
		http://www.opensource.org/licenses/bsd-license.php 		
 
 */

/*
	This is a compiled version of XAP, built for deployment.
*/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:0,patch:0,flag:"dev",revision:Number("$Rev: 6824 $".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(_d,_e){
if(typeof _d!="string"){
return dojo.global();
}
if(_d.indexOf(".")==-1){
return dojo.evalProp(_d,dojo.global(),_e);
}
var _f=dojo.parseObjPath(_d,dojo.global(),_e);
if(_f){
return dojo.evalProp(_f.prop,_f.obj,_e);
}
return null;
};
dojo.errorToString=function(_10){
if(!dj_undef("message",_10)){
return _10.message;
}else{
if(!dj_undef("description",_10)){
return _10.description;
}else{
return _10;
}
}
};
dojo.raise=function(_11,_12){
if(_12){
_11=_11+": "+dojo.errorToString(_12);
}else{
_11=dojo.errorToString(_11);
}
try{
if(djConfig.isDebug){
dojo.hostenv.println("FATAL exception raised: "+_11);
}
}
catch(e){
}
throw _12||Error(_11);
};
dojo.debug=function(){
};
dojo.debugShallow=function(obj){
};
dojo.profile={start:function(){
},end:function(){
},stop:function(){
},dump:function(){
}};
function dj_eval(_14){
return dj_global.eval?dj_global.eval(_14):eval(_14);
}
dojo.unimplemented=function(_15,_16){
var _17="'"+_15+"' not implemented";
if(_16!=null){
_17+=" "+_16;
}
dojo.raise(_17);
};
dojo.deprecated=function(_18,_19,_1a){
var _1b="DEPRECATED: "+_18;
if(_19){
_1b+=" "+_19;
}
if(_1a){
_1b+=" -- will be removed in version: "+_1a;
}
dojo.debug(_1b);
};
dojo.render=(function(){
function vscaffold(_1c,_1d){
var tmp={capable:false,support:{builtin:false,plugin:false},prefixes:_1c};
for(var i=0;i<_1d.length;i++){
tmp[_1d[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 _20={isDebug:false,allowQueryConfig:false,baseScriptUri:"",baseRelativePath:"",libraryScriptUri:"",iePreventClobber:false,ieClobberMinimal:true,preventBackButtonFix:true,delayMozLoadingFix:false,searchIds:[],parseWidgets:true};
if(typeof djConfig=="undefined"){
djConfig=_20;
}else{
for(var _21 in _20){
if(typeof djConfig[_21]=="undefined"){
djConfig[_21]=_20[_21];
}
}
}
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 _24=uri.lastIndexOf("/");
djConfig.baseScriptUri=djConfig.baseRelativePath;
return djConfig.baseScriptUri;
};
(function(){
var _25={pkgFileName:"__package__",loading_modules_:{},loaded_modules_:{},addedToLoadingCount:[],removedFromLoadingCount:[],inFlightCount:0,modulePrefixes_:{dojo:{name:"dojo",value:"src"}},setModulePrefix:function(_26,_27){
this.modulePrefixes_[_26]={name:_26,value:_27};
},moduleHasPrefix:function(_28){
var mp=this.modulePrefixes_;
return Boolean(mp[_28]&&mp[_28].value);
},getModulePrefix:function(_2a){
if(this.moduleHasPrefix(_2a)){
return this.modulePrefixes_[_2a].value;
}
return _2a;
},getTextStack:[],loadUriStack:[],loadedUris:[],post_load_:false,modulesLoadedListeners:[],unloadListeners:[],loadNotifying:false};
for(var _2b in _25){
dojo.hostenv[_2b]=_25[_2b];
}
})();
dojo.hostenv.loadPath=function(_2c,_2d,cb){
var uri;
if(_2c.charAt(0)=="/"||_2c.match(/^\w+:/)){
uri=_2c;
}else{
uri=this.getBaseScriptUri()+_2c;
}
if(djConfig.cacheBust&&dojo.render.html.capable){
uri+="?"+String(djConfig.cacheBust).replace(/\W+/g,"");
}
try{
return !_2d?this.loadUri(uri,cb):this.loadUriAndCheck(uri,_2d,cb);
}
catch(e){
dojo.debug(e);
return false;
}
};
dojo.hostenv.loadUri=function(uri,cb){
if(this.loadedUris[uri]){
return true;
}
var _32=this.getText(uri,null,true);
if(!_32){
return false;
}
this.loadedUris[uri]=true;
if(cb){
_32="("+_32+")";
}
var _33=dj_eval(_32);
if(cb){
cb(_33);
}
return true;
};
dojo.hostenv.loadUriAndCheck=function(uri,_35,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(_35,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,_3c){
var dh=dojo.hostenv;
if(arguments.length==1){
dh.modulesLoadedListeners.push(obj);
}else{
if(arguments.length>1){
dh.modulesLoadedListeners.push(function(){
obj[_3c]();
});
}
}
if(dh.post_load_&&dh.inFlightCount==0&&!dh.loadNotifying){
dh.callLoaded();
}
};
dojo.addOnUnload=function(obj,_3f){
var dh=dojo.hostenv;
if(arguments.length==1){
dh.unloadListeners.push(obj);
}else{
if(arguments.length>1){
dh.unloadListeners.push(function(){
obj[_3f]();
});
}
}
};
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"){
setTimeout("dojo.hostenv.loaded();",0);
}else{
dojo.hostenv.loaded();
}
};
dojo.hostenv.getModuleSymbols=function(_41){
var _42=_41.split(".");
for(var i=_42.length;i>0;i--){
var _44=_42.slice(0,i).join(".");
if((i==1)&&!this.moduleHasPrefix(_44)){
_42[0]="../"+_42[0];
}else{
var _45=this.getModulePrefix(_44);
if(_45!=_44){
_42.splice(0,i,_45);
break;
}
}
}
return _42;
};
dojo.hostenv._global_omit_module_check=false;
dojo.hostenv.loadModule=function(_46,_47,_48){
if(!_46){
return;
}
_48=this._global_omit_module_check||_48;
var _49=this.findModule(_46,false);
if(_49){
return _49;
}
if(dj_undef(_46,this.loading_modules_)){
this.addedToLoadingCount.push(_46);
}
this.loading_modules_[_46]=1;
var _4a=_46.replace(/\./g,"/")+".js";
var _4b=_46.split(".");
var _4c=this.getModuleSymbols(_46);
var _4d=((_4c[0].charAt(0)!="/")&&!_4c[0].match(/^\w+:/));
var _4e=_4c[_4c.length-1];
var ok;
if(_4e=="*"){
_46=_4b.slice(0,-1).join(".");
while(_4c.length){
_4c.pop();
_4c.push(this.pkgFileName);
_4a=_4c.join("/")+".js";
if(_4d&&_4a.charAt(0)=="/"){
_4a=_4a.slice(1);
}
ok=this.loadPath(_4a,!_48?_46:null);
if(ok){
break;
}
_4c.pop();
}
}else{
_4a=_4c.join("/")+".js";
_46=_4b.join(".");
var _50=!_48?_46:null;
ok=this.loadPath(_4a,_50);
if(!ok&&!_47){
_4c.pop();
while(_4c.length){
_4a=_4c.join("/")+".js";
ok=this.loadPath(_4a,_50);
if(ok){
break;
}
_4c.pop();
_4a=_4c.join("/")+"/"+this.pkgFileName+".js";
if(_4d&&_4a.charAt(0)=="/"){
_4a=_4a.slice(1);
}
ok=this.loadPath(_4a,_50);
if(ok){
break;
}
}
}
if(!ok&&!_48){
dojo.raise("Could not load '"+_46+"'; last tried '"+_4a+"'");
}
}
if(!_48&&!this["isXDomain"]){
_49=this.findModule(_46,false);
if(!_49){
dojo.raise("symbol '"+_46+"' is not defined after loading '"+_4a+"'");
}
}
return _49;
};
dojo.hostenv.startPackage=function(_51){
var _52=String(_51);
var _53=_52;
var _54=_51.split(/\./);
if(_54[_54.length-1]=="*"){
_54.pop();
_53=_54.join(".");
}
var _55=dojo.evalObjPath(_53,true);
this.loaded_modules_[_52]=_55;
this.loaded_modules_[_53]=_55;
return _55;
};
dojo.hostenv.findModule=function(_56,_57){
var lmn=String(_56);
if(this.loaded_modules_[lmn]){
return this.loaded_modules_[lmn];
}
if(_57){
dojo.raise("no loaded module named '"+_56+"'");
}
return null;
};
dojo.kwCompoundRequire=function(_59){
var _5a=_59["common"]||[];
var _5b=_59[dojo.hostenv.name_]?_5a.concat(_59[dojo.hostenv.name_]||[]):_5a.concat(_59["default"]||[]);
for(var x=0;x<_5b.length;x++){
var _5d=_5b[x];
if(_5d.constructor==Array){
dojo.hostenv.loadModule.apply(dojo.hostenv,_5d);
}else{
dojo.hostenv.loadModule(_5d);
}
}
};
dojo.require=function(_5e){
dojo.hostenv.loadModule.apply(dojo.hostenv,arguments);
};
dojo.requireIf=function(_5f,_60){
var _61=arguments[0];
if((_61===true)||(_61=="common")||(_61&&dojo.render[_61].capable)){
var _62=[];
for(var i=1;i<arguments.length;i++){
_62.push(arguments[i]);
}
dojo.require.apply(dojo,_62);
}
};
dojo.requireAfterIf=dojo.requireIf;
dojo.provide=function(_64){
return dojo.hostenv.startPackage.apply(dojo.hostenv,arguments);
};
dojo.registerModulePath=function(_65,_66){
return dojo.hostenv.setModulePrefix(_65,_66);
};
dojo.setModulePrefix=function(_67,_68){
dojo.deprecated("dojo.setModulePrefix(\""+_67+"\", \""+_68+"\")","replaced by dojo.registerModulePath","0.5");
return dojo.registerModulePath(_67,_68);
};
dojo.exists=function(obj,_6a){
var p=_6a.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(_6d){
var _6e=_6d?_6d.toLowerCase():dojo.locale;
if(_6e=="root"){
_6e="ROOT";
}
return _6e;
};
dojo.hostenv.searchLocalePath=function(_6f,_70,_71){
_6f=dojo.hostenv.normalizeLocale(_6f);
var _72=_6f.split("-");
var _73=[];
for(var i=_72.length;i>0;i--){
_73.push(_72.slice(0,i).join("-"));
}
_73.push(false);
if(_70){
_73.reverse();
}
for(var j=_73.length-1;j>=0;j--){
var loc=_73[j]||"ROOT";
var _77=_71(loc);
if(_77){
break;
}
}
};
dojo.hostenv.localesGenerated;
dojo.hostenv.registerNlsPrefix=function(){
dojo.registerModulePath("nls","nls");
};
dojo.hostenv.preloadLocalizations=function(){
if(dojo.hostenv.localesGenerated){
dojo.hostenv.registerNlsPrefix();
function preload(_78){
_78=dojo.hostenv.normalizeLocale(_78);
dojo.hostenv.searchLocalePath(_78,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 _7b=djConfig.extraLocale||[];
for(var i=0;i<_7b.length;i++){
preload(_7b[i]);
}
}
dojo.hostenv.preloadLocalizations=function(){
};
};
dojo.requireLocalization=function(_7d,_7e,_7f,_80){
dojo.hostenv.preloadLocalizations();
var _81=dojo.hostenv.normalizeLocale(_7f);
var _82=[_7d,"nls",_7e].join(".");
var _83="";
if(_80){
var _84=_80.split(",");
for(var i=0;i<_84.length;i++){
if(_81.indexOf(_84[i])==0){
if(_84[i].length>_83.length){
_83=_84[i];
}
}
}
if(!_83){
_83="ROOT";
}
}
var _86=_80?_83:_81;
var _87=dojo.hostenv.findModule(_82);
var _88=null;
if(_87){
if(djConfig.localizationComplete&&_87._built){
return;
}
var _89=_86.replace("-","_");
var _8a=_82+"."+_89;
_88=dojo.hostenv.findModule(_8a);
}
if(!_88){
_87=dojo.hostenv.startPackage(_82);
var _8b=dojo.hostenv.getModuleSymbols(_7d);
var _8c=_8b.concat("nls").join("/");
var _8d;
dojo.hostenv.searchLocalePath(_86,_80,function(loc){
var _8f=loc.replace("-","_");
var _90=_82+"."+_8f;
var _91=false;
if(!dojo.hostenv.findModule(_90)){
dojo.hostenv.startPackage(_90);
var _92=[_8c];
if(loc!="ROOT"){
_92.push(loc);
}
_92.push(_7e);
var _93=_92.join("/")+".js";
_91=dojo.hostenv.loadPath(_93,null,function(_94){
var _95=function(){
};
_95.prototype=_8d;
_87[_8f]=new _95();
for(var j in _94){
_87[_8f][j]=_94[j];
}
});
}else{
_91=true;
}
if(_91&&_87[_8f]){
_8d=_87[_8f];
}else{
_87[_8f]=_8d;
}
if(_80){
return true;
}
});
}
if(_80&&_81!=_83){
_87[_81.replace("-","_")]=_87[_83.replace("-","_")];
}
};
(function(){
var _97=djConfig.extraLocale;
if(_97){
if(!_97 instanceof Array){
_97=[_97];
}
var req=dojo.requireLocalization;
dojo.requireLocalization=function(m,b,_9b,_9c){
req(m,b,_9b,_9c);
if(_9b){
return;
}
for(var i=0;i<_97.length;i++){
req(m,b,_97[i],_9c);
}
};
}
})();
}
if(typeof window!="undefined"){
(function(){
if(djConfig.allowQueryConfig){
var _9e=document.location.toString();
var _9f=_9e.split("?",2);
if(_9f.length>1){
var _a0=_9f[1];
var _a1=_a0.split("&");
for(var x in _a1){
var sp=_a1[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 _a5=document.getElementsByTagName("script");
var _a6=/(__package__|dojo|bootstrap1)\.js([\?\.]|$)/i;
for(var i=0;i<_a5.length;i++){
var src=_a5[i].getAttribute("src");
if(!src){
continue;
}
var m=src.match(_a6);
if(m){
var _aa=src.substring(0,m.index);
if(src.indexOf("bootstrap1")>-1){
_aa+="../";
}
if(!this["djConfig"]){
djConfig={};
}
if(djConfig["baseScriptUri"]==""){
djConfig["baseScriptUri"]=_aa;
}
if(djConfig["baseRelativePath"]==""){
djConfig["baseRelativePath"]=_aa;
}
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 _b2=dua.indexOf("Gecko");
drh.mozilla=drh.moz=(_b2>=0)&&(!drh.khtml);
if(drh.mozilla){
drh.geckoVersion=dua.substring(_b2+6,_b2+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 _b4=window["document"];
var tdi=_b4["implementation"];
if((tdi)&&(tdi["hasFeature"])&&(tdi.hasFeature("org.w3c.dom.svg","1.0"))){
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 _b8=null;
var _b9=null;
try{
_b8=new XMLHttpRequest();
}
catch(e){
}
if(!_b8){
for(var i=0;i<3;++i){
var _bb=dojo.hostenv._XMLHTTP_PROGIDS[i];
try{
_b8=new ActiveXObject(_bb);
}
catch(e){
_b9=e;
}
if(_b8){
dojo.hostenv._XMLHTTP_PROGIDS=[_bb];
break;
}
}
}
if(!_b8){
return dojo.raise("XMLHTTP not available",_b9);
}
return _b8;
};
dojo.hostenv._blockAsync=false;
dojo.hostenv.getText=function(uri,_bd,_be){
if(!_bd){
this._blockAsync=true;
}
var _bf=this.getXmlhttpObject();
function isDocumentOk(_c0){
var _c1=_c0["status"];
return Boolean((!_c1)||((200<=_c1)&&(300>_c1))||(_c1==304));
}
if(_bd){
var _c2=this,timer=null,gbl=dojo.global();
var xhr=dojo.evalObjPath("dojo.io.XMLHTTPTransport");
_bf.onreadystatechange=function(){
if(timer){
gbl.clearTimeout(timer);
timer=null;
}
if(_c2._blockAsync||(xhr&&xhr._blockAsync)){
timer=gbl.setTimeout(function(){
_bf.onreadystatechange.apply(this);
},10);
}else{
if(4==_bf.readyState){
if(isDocumentOk(_bf)){
_bd(_bf.responseText);
}
}
}
};
}
_bf.open("GET",uri,_bd?true:false);
try{
_bf.send(null);
if(_bd){
return null;
}
if(!isDocumentOk(_bf)){
var err=Error("Unable to load "+uri+" status:"+_bf.status);
err.status=_bf.status;
err.responseText=_bf.responseText;
throw err;
}
}
catch(e){
this._blockAsync=false;
if((_be)&&(!_bd)){
return null;
}else{
throw e;
}
}
this._blockAsync=false;
return _bf.responseText;
};
dojo.hostenv.defaultDebugContainerId="dojoDebug";
dojo.hostenv._println_buffer=[];
dojo.hostenv._println_safe=false;
dojo.hostenv.println=function(_c5){
if(!dojo.hostenv._println_safe){
dojo.hostenv._println_buffer.push(_c5);
}else{
try{
var _c6=document.getElementById(djConfig.debugContainerId?djConfig.debugContainerId:dojo.hostenv.defaultDebugContainerId);
if(!_c6){
_c6=dojo.body();
}
var div=document.createElement("div");
div.appendChild(document.createTextNode(_c5));
_c6.appendChild(div);
}
catch(e){
try{
document.write("<div>"+_c5+"</div>");
}
catch(e2){
window.status=_c5;
}
}
}
};
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(_c8,_c9,fp){
var _cb=_c8["on"+_c9]||function(){
};
_c8["on"+_c9]=function(){
fp.apply(_c8,arguments);
_cb.apply(_c8,arguments);
};
return true;
}
function dj_load_init(e){
var _cd=(e&&e.type)?e.type.toLowerCase():"load";
if(arguments.callee.initialized||(_cd!="domcontentloaded"&&_cd!="load")){
return;
}
arguments.callee.initialized=true;
if(typeof (_timer)!="undefined"){
clearInterval(_timer);
delete _timer;
}
var _ce=function(){
if(dojo.render.html.ie){
dojo.hostenv.makeWidgets();
}
};
if(dojo.hostenv.inFlightCount==0){
_ce();
dojo.hostenv.modulesLoaded();
}else{
dojo.hostenv.modulesLoadedListeners.unshift(_ce);
}
}
if(document.addEventListener){
if(dojo.render.html.opera||(dojo.render.html.moz&&!djConfig.delayMozLoadingFix)){
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 _d0=[];
if(djConfig.searchIds&&djConfig.searchIds.length>0){
_d0=_d0.concat(djConfig.searchIds);
}
if(dojo.hostenv.searchIds&&dojo.hostenv.searchIds.length>0){
_d0=_d0.concat(dojo.hostenv.searchIds);
}
if((djConfig.parseWidgets)||(_d0.length>0)){
if(dojo.evalObjPath("dojo.widget.Parse")){
var _d1=new dojo.xml.Parse();
if(_d0.length>0){
for(var x=0;x<_d0.length;x++){
var _d3=document.getElementById(_d0[x]);
if(!_d3){
continue;
}
var _d4=_d1.parseElement(_d3,null,true);
dojo.widget.getParser().createComponents(_d4);
}
}else{
if(djConfig.parseWidgets){
var _d4=_d1.parseElement(dojo.body(),null,true);
dojo.widget.getParser().createComponents(_d4);
}
}
}
}
};
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(_d9,_da){
dj_currentContext=_d9;
dj_currentDocument=_da;
};
dojo._fireCallback=function(_db,_dc,_dd){
if((_dc)&&((typeof _db=="string")||(_db instanceof String))){
_db=_dc[_db];
}
return (_dc?_db.apply(_dc,_dd||[]):_db());
};
dojo.withGlobal=function(_de,_df,_e0,_e1){
var _e2;
var _e3=dj_currentContext;
var _e4=dj_currentDocument;
try{
dojo.setContext(_de,_de.document);
_e2=dojo._fireCallback(_df,_e0,_e1);
}
finally{
dojo.setContext(_e3,_e4);
}
return _e2;
};
dojo.withDoc=function(_e5,_e6,_e7,_e8){
var _e9;
var _ea=dj_currentDocument;
try{
dj_currentDocument=_e5;
_e9=dojo._fireCallback(_e6,_e7,_e8);
}
finally{
dj_currentDocument=_ea;
}
return _e9;
};
}
(function(){
if(typeof dj_usingBootstrap!="undefined"){
return;
}
var _eb=false;
var _ec=false;
var _ed=false;
if((typeof this["load"]=="function")&&((typeof this["Packages"]=="function")||(typeof this["Packages"]=="object"))){
_eb=true;
}else{
if(typeof this["load"]=="function"){
_ec=true;
}else{
if(window.widget){
_ed=true;
}
}
}
var _ee=[];
if((this["djConfig"])&&((djConfig["isDebug"])||(djConfig["debugAtAllCosts"]))){
_ee.push("debug.js");
}
if((this["djConfig"])&&(djConfig["debugAtAllCosts"])&&(!_eb)&&(!_ed)){
_ee.push("browser_debug.js");
}
var _ef=djConfig["baseScriptUri"];
if((this["djConfig"])&&(djConfig["baseLoaderUri"])){
_ef=djConfig["baseLoaderUri"];
}
for(var x=0;x<_ee.length;x++){
var _f1=_ef+"src/"+_ee[x];
if(_eb||_ec){
load(_f1);
}else{
try{
document.write("<scr"+"ipt type='text/javascript' src='"+_f1+"'></scr"+"ipt>");
}
catch(e){
var _f2=document.createElement("script");
_f2.src=_f1;
document.getElementsByTagName("head")[0].appendChild(_f2);
}
}
}
})();
dojo.provide("xap.util.Utils");
xap.util.Utils=function(){
};
xap.util.Utils.oneLevelObjectDump=function(obj,_f4,_f5){
var s="";
var _f7=new Array(0);
var _f8=new Array(0);
if(typeof obj!="object"){
s="<not an object>";
}else{
for(var _f9 in obj){
if(!_f4&&typeof obj[_f9]=="function"){
continue;
}
var _fa=""+obj[_f9];
if(_f5&&(_fa.length>_f5)){
var _fb="";
var _fc=_fa.length-_f5;
_fb+=_fa.substring(0,Math.round((2*_f5)/3));
_fb+="...<"+_fc+" characters>...";
_fb+=_fa.substring(_fa.length-Math.round((1*_f5)/3));
_fa=_fb;
}
if(typeof obj[_f9]=="function"){
_f8.push(""+_f9+":"+_fa);
}else{
_f7.push(""+_f9+":"+_fa);
}
}
_f7=_f7.sort();
_f8=_f8.sort();
var _fd=Array.concat(_f7,_f8);
s=_fd.join("\n");
}
return s;
};
xap.util.Utils.interrogate=function(obj,_ff,_100){
var s=xap.util.Utils.oneLevelObjectDump(obj,_ff,_100);
prompt("",s.replace(/[\r\n]/g,"^"));
};
Xap={};
Xap._override=function(){
if(dojo.hostenv.getBaseScriptUri!=Xap.dojo_hostenv_getBaseScriptUri){
dojo.hostenv.getBaseScriptUri=Xap.dojo_hostenv_getBaseScriptUri;
}
if(dojo.uri.dojoUri!=Xap.dojo_uri_dojoUri){
dojo.uri.dojoUri=Xap.dojo_uri_dojoUri;
}
dojo.hostenv.setModulePrefix("dojo.i18n.calendar",djConfig.baseRelativePath+"src/i18n/calendar");
};
Xap.createApplication=function(_102){
Xap._override();
Xap.require("xap.application.Application");
var _103=new xap.application.Application(_102);
_103.create();
return _103;
};
Xap.createEmbeddedApplications=function(){
Xap._override();
Xap.require("xap.html.HtmlConnector");
xap.html.HtmlConnector.scanPage();
xap.html.HtmlConnector.createEmbeddedApplications();
return window.xapApplications;
};
if(!djConfig){
djConfig={baseRelativePath:"../../src/dojo/"};
}else{
if(!djConfig.baseRelativePath){
djConfig.baseRelativePath="../../src/dojo/";
}
}
dojo.hostenv.setModulePrefix("dojo",djConfig.baseRelativePath+"src");
dojo.hostenv.setModulePrefix("dojo.i18n.calendar","src/i18n/calendar");
dojo.hostenv.setModulePrefix("xap",djConfig.baseRelativePath+"../xap");
dojo.hostenv.setModulePrefix("google",djConfig.baseRelativePath+"../google");
Xap.dojo_hostenv_getBaseScriptUri=function(){
return "";
};
Xap.dojo_uri_dojoUri=function(uri){
return new dojo.uri.Uri(djConfig.baseRelativePath,uri);
};
Xap.ourDebugLoadClasses={};
Xap.kwCompoundRequire=function(){
dojo.kwCompoundRequire.apply(dojo,arguments);
};
Xap.provide=function(){
return dojo.provide.apply(dojo,arguments);
};
Xap.require=function(){
var _105=false;
dojo.require("xap.util.Debug");
var _106=Xap.getDebuggingObject();
var _107=arguments[0];
var _108=(_107.search(xap.util.Debug.anyAsteriskRegexp)==-1);
var _109=(Xap.ourDebugLoadClasses[_107])?true:false;
var _10a=_106&&_108&&(xap.util.Debug._debugAll||(xap.util.Debug._debugLoad&&xap.util.Debug._debuggables[_107]));
try{
dojo.require.apply(dojo,arguments);
if(_10a&&!_109){
if(!_106.preloaded){
_106.addDebuggables(_107);
}else{
_106.loadDebuggables([_107]);
}
Xap.ourDebugLoadClasses[_107]=true;
}
_105=true;
}
catch(ee){
_105=false;
}
return _105;
};
Xap.resolveConstructor=function(_10b){
var _10c;
var _10d=dj_global;
if(typeof _10d[_10b]!=="undefined"){
_10c=_10d[_10b];
}else{
var arr=_10b.split(".");
for(var kk=0;kk<arr.length-1;++kk){
_10d=_10d[arr[kk]];
if(typeof _10d=="undefined"){
return _10d;
}
}
_10c=_10d[arr[arr.length-1]];
}
return _10c;
};
Xap.setupClassAsSubclassOf=function(_110,_111){
var _112=Xap.resolveConstructor(_110);
var _113=Xap.resolveConstructor(_111);
_112.prototype=new _113();
_112.superclass=_113.prototype;
_112.prototype.constructor=_112;
_112.prototype.toString=function(){
return "[a "+_110+"]";
};
_112.toString=function(){
return "[class "+_110+"]";
};
};
Xap.getDebuggingObject=function(){
if(!xap.util.Debug){
return null;
}else{
return xap.util.Debug;
}
};
if(typeof OpenAjax!="undefined"){
OpenAjax.registerLibrary("xap","http://openxal.org/xap","0.3");
OpenAjax.registerGlobals("xap",["xap","google","Xap"]);
OpenAjax.addOnLoad(Xap.createEmbeddedApplications,null,"application");
}
dojo.provide("dojo.lang.common");
dojo.lang.inherits=function(_114,_115){
if(!dojo.lang.isFunction(_115)){
dojo.raise("dojo.inherits: superclass argument ["+_115+"] must be a function (subclass: ["+_114+"']");
}
_114.prototype=new _115();
_114.prototype.constructor=_114;
_114.superclass=_115.prototype;
_114["super"]=_115.prototype;
};
dojo.lang._mixin=function(obj,_117){
var tobj={};
for(var x in _117){
if((typeof tobj[x]=="undefined")||(tobj[x]!=_117[x])){
obj[x]=_117[x];
}
}
if(dojo.render.html.ie&&(typeof (_117["toString"])=="function")&&(_117["toString"]!=obj["toString"])&&(_117["toString"]!=tobj["toString"])){
obj.toString=_117.toString;
}
return obj;
};
dojo.lang.mixin=function(obj,_11b){
for(var i=1,l=arguments.length;i<l;i++){
dojo.lang._mixin(obj,arguments[i]);
}
return obj;
};
dojo.lang.extend=function(_11d,_11e){
for(var i=1,l=arguments.length;i<l;i++){
dojo.lang._mixin(_11d.prototype,arguments[i]);
}
return _11d;
};
dojo.inherits=dojo.lang.inherits;
dojo.mixin=dojo.lang.mixin;
dojo.extend=dojo.lang.extend;
dojo.lang.find=function(_120,_121,_122,_123){
if(!dojo.lang.isArrayLike(_120)&&dojo.lang.isArrayLike(_121)){
dojo.deprecated("dojo.lang.find(value, array)","use dojo.lang.find(array, value) instead","0.5");
var temp=_120;
_120=_121;
_121=temp;
}
var _125=dojo.lang.isString(_120);
if(_125){
_120=_120.split("");
}
if(_123){
var step=-1;
var i=_120.length-1;
var end=-1;
}else{
var step=1;
var i=0;
var end=_120.length;
}
if(_122){
while(i!=end){
if(_120[i]===_121){
return i;
}
i+=step;
}
}else{
while(i!=end){
if(_120[i]==_121){
return i;
}
i+=step;
}
}
return -1;
};
dojo.lang.indexOf=dojo.lang.find;
dojo.lang.findLast=function(_129,_12a,_12b){
return dojo.lang.find(_129,_12a,_12b,true);
};
dojo.lang.lastIndexOf=dojo.lang.findLast;
dojo.lang.inArray=function(_12c,_12d){
return dojo.lang.find(_12c,_12d)>-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(_138,_139){
var fcn=(dojo.lang.isString(_139)?_138[_139]:_139)||function(){
};
return function(){
return fcn.apply(_138,arguments);
};
};
dojo.lang.anonCtr=0;
dojo.lang.anon={};
dojo.lang.nameAnonFunc=function(_13b,_13c,_13d){
var nso=(_13c||dojo.lang.anon);
if((_13d)||((dj_global["djConfig"])&&(djConfig["slowAnonFuncLookups"]==true))){
for(var x in nso){
try{
if(nso[x]===_13b){
return x;
}
}
catch(e){
}
}
}
var ret="__"+dojo.lang.anonCtr++;
while(typeof nso[ret]!="undefined"){
ret="__"+dojo.lang.anonCtr++;
}
nso[ret]=_13b;
return ret;
};
dojo.lang.forward=function(_141){
return function(){
return this[_141].apply(this,arguments);
};
};
dojo.lang.curry=function(_142,func){
var _144=[];
_142=_142||dj_global;
if(dojo.lang.isString(func)){
func=_142[func];
}
for(var x=2;x<arguments.length;x++){
_144.push(arguments[x]);
}
var _146=(func["__preJoinArity"]||func.length)-_144.length;
function gather(_147,_148,_149){
var _14a=_149;
var _14b=_148.slice(0);
for(var x=0;x<_147.length;x++){
_14b.push(_147[x]);
}
_149=_149-_147.length;
if(_149<=0){
var res=func.apply(_142,_14b);
_149=_14a;
return res;
}else{
return function(){
return gather(arguments,_14b,_149);
};
}
}
return gather([],_144,_146);
};
dojo.lang.curryArguments=function(_14e,func,args,_151){
var _152=[];
var x=_151||0;
for(x=_151;x<args.length;x++){
_152.push(args[x]);
}
return dojo.lang.curry.apply(dojo.lang,[_14e,func].concat(_152));
};
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,_158,_159){
if(!farr.length){
if(typeof _159=="function"){
_159();
}
return;
}
if((typeof _158=="undefined")&&(typeof cb=="number")){
_158=cb;
cb=function(){
};
}else{
if(!cb){
cb=function(){
};
if(!_158){
_158=0;
}
}
}
setTimeout(function(){
(farr.shift())();
cb();
dojo.lang.delayThese(farr,cb,_158,_159);
},_158);
};
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,_160,_161){
var out="";
for(var i=0;i<_160;i++){
out+=str;
if(_161&&i<_160-1){
out+=_161;
}
}
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.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 _173=0;
for(var x in obj){
if(obj[x]&&(!tmp[x])){
_173++;
break;
}
}
return _173==0;
}else{
if(dojo.lang.isArrayLike(obj)||dojo.lang.isString(obj)){
return obj.length==0;
}
}
},map:function(arr,obj,_177){
var _178=dojo.lang.isString(arr);
if(_178){
arr=arr.split("");
}
if(dojo.lang.isFunction(obj)&&(!_177)){
_177=obj;
obj=dj_global;
}else{
if(dojo.lang.isFunction(obj)&&_177){
var _179=obj;
obj=_177;
_177=_179;
}
}
if(Array.map){
var _17a=Array.map(arr,_177,obj);
}else{
var _17a=[];
for(var i=0;i<arr.length;++i){
_17a.push(_177.call(obj,arr[i]));
}
}
if(_178){
return _17a.join("");
}else{
return _17a;
}
},reduce:function(arr,_17d,obj,_17f){
var _180=_17d;
if(arguments.length==1){
dojo.debug("dojo.lang.reduce called with too few arguments!");
return false;
}else{
if(arguments.length==2){
_17f=_17d;
_180=arr.shift();
}else{
if(arguments.lenght==3){
if(dojo.lang.isFunction(obj)){
_17f=obj;
obj=null;
}
}else{
if(dojo.lang.isFunction(obj)){
var tmp=_17f;
_17f=obj;
obj=tmp;
}
}
}
}
var ob=obj?obj:dj_global;
dojo.lang.map(arr,function(val){
_180=_17f.call(ob,_180,val);
});
return _180;
},forEach:function(_184,_185,_186){
if(dojo.lang.isString(_184)){
_184=_184.split("");
}
if(Array.forEach){
Array.forEach(_184,_185,_186);
}else{
if(!_186){
_186=dj_global;
}
for(var i=0,l=_184.length;i<l;i++){
_185.call(_186,_184[i],i,_184);
}
}
},_everyOrSome:function(_188,arr,_18a,_18b){
if(dojo.lang.isString(arr)){
arr=arr.split("");
}
if(Array.every){
return Array[_188?"every":"some"](arr,_18a,_18b);
}else{
if(!_18b){
_18b=dj_global;
}
for(var i=0,l=arr.length;i<l;i++){
var _18d=_18a.call(_18b,arr[i],i,arr);
if(_188&&!_18d){
return false;
}else{
if((!_188)&&(_18d)){
return true;
}
}
}
return Boolean(_188);
}
},every:function(arr,_18f,_190){
return this._everyOrSome(true,arr,_18f,_190);
},some:function(arr,_192,_193){
return this._everyOrSome(false,arr,_192,_193);
},filter:function(arr,_195,_196){
var _197=dojo.lang.isString(arr);
if(_197){
arr=arr.split("");
}
var _198;
if(Array.filter){
_198=Array.filter(arr,_195,_196);
}else{
if(!_196){
if(arguments.length>=3){
dojo.raise("thisObject doesn't exist!");
}
_196=dj_global;
}
_198=[];
for(var i=0;i<arr.length;i++){
if(_195.call(_196,arr[i],i,arr)){
_198.push(arr[i]);
}
}
}
if(_197){
return _198.join("");
}else{
return _198;
}
},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(_19d,_19e){
var _19f=[];
for(var i=_19e||0;i<_19d.length;i++){
_19f.push(_19d[i]);
}
return _19f;
}});
dojo.provide("dojo.string.extras");
dojo.string.substituteParams=function(_1a1,hash){
var map=(typeof hash=="object")?hash:dojo.lang.toArray(arguments,1);
return _1a1.replace(/\%\{(\w+)\}/g,function(_1a4,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 _1a7=str.split(" ");
for(var i=0;i<_1a7.length;i++){
_1a7[i]=_1a7[i].charAt(0).toUpperCase()+_1a7[i].substring(1);
}
return _1a7.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 _1ac=escape(str);
var _1ad,re=/%u([0-9A-F]{4})/i;
while((_1ad=_1ac.match(re))){
var num=Number("0x"+_1ad[1]);
var _1af=escape("&#"+num+";");
ret+=_1ac.substring(0,_1ad.index)+_1af;
_1ac=_1ac.substring(_1ad.index+_1ad[0].length);
}
ret+=_1ac.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,_1b4){
str=str.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
if(!_1b4){
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,_1bd){
if(_1bd){
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,_1c1,_1c2){
if(_1c2){
str=str.toLowerCase();
_1c1=_1c1.toLowerCase();
}
return str.indexOf(_1c1)==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,_1c8){
if(_1c8=="\n"){
text=text.replace(/\r\n/g,"\n");
text=text.replace(/\r/g,"\n");
}else{
if(_1c8=="\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,_1ca){
var _1cb=[];
for(var i=0,prevcomma=0;i<str.length;i++){
if(str.charAt(i)=="\\"){
i++;
continue;
}
if(str.charAt(i)==_1ca){
_1cb.push(str.substring(prevcomma,i));
prevcomma=i+1;
}
}
_1cb.push(str.substr(prevcomma));
return _1cb;
};
dojo.provide("dojo.AdapterRegistry");
dojo.AdapterRegistry=function(_1cd){
this.pairs=[];
this.returnWrappers=_1cd||false;
};
dojo.lang.extend(dojo.AdapterRegistry,{register:function(name,_1cf,wrap,_1d1,_1d2){
var type=(_1d2)?"unshift":"push";
this.pairs[type]([name,_1cf,wrap,_1d1]);
},match:function(){
for(var i=0;i<this.pairs.length;i++){
var pair=this.pairs[i];
if(pair[1].apply(this,arguments)){
if((pair[3])||(this.returnWrappers)){
return pair[2];
}else{
return pair[2].apply(this,arguments);
}
}
}
throw new Error("No match found");
},unregister:function(name){
for(var i=0;i<this.pairs.length;i++){
var pair=this.pairs[i];
if(pair[0]==name){
this.pairs.splice(i,1);
return true;
}
}
return false;
}});
dojo.provide("dojo.json");
dojo.json={jsonRegistry:new dojo.AdapterRegistry(),register:function(name,_1da,wrap,_1dc){
dojo.json.jsonRegistry.register(name,_1da,wrap,_1dc);
},evalJson:function(json){
try{
return eval("("+json+")");
}
catch(e){
dojo.debug(e);
return json;
}
},serialize:function(o){
var _1df=typeof (o);
if(_1df=="undefined"){
return "undefined";
}else{
if((_1df=="number")||(_1df=="boolean")){
return o+"";
}else{
if(o===null){
return "null";
}
}
}
if(_1df=="string"){
return dojo.string.escapeString(o);
}
var me=arguments.callee;
var _1e1;
if(typeof (o.__json__)=="function"){
_1e1=o.__json__();
if(o!==_1e1){
return me(_1e1);
}
}
if(typeof (o.json)=="function"){
_1e1=o.json();
if(o!==_1e1){
return me(_1e1);
}
}
if(_1df!="function"&&typeof (o.length)=="number"){
var res=[];
for(var i=0;i<o.length;i++){
var val=me(o[i]);
if(typeof (val)!="string"){
val="undefined";
}
res.push(val);
}
return "["+res.join(",")+"]";
}
try{
window.o=o;
_1e1=dojo.json.jsonRegistry.match(o);
return me(_1e1);
}
catch(e){
}
if(_1df=="function"){
return null;
}
res=[];
for(var k in o){
var _1e6;
if(typeof (k)=="number"){
_1e6="\""+k+"\"";
}else{
if(typeof (k)=="string"){
_1e6=dojo.string.escapeString(k);
}else{
continue;
}
}
val=me(o[k]);
if(typeof (val)!="string"){
continue;
}
res.push(_1e6+":"+val);
}
return "{"+res.join(",")+"}";
}};
Xap.provide("xap.util.Debug");
xap.util.Debug._sourceRootDir="../../src";
xap.util.Debug.setSourceRootDir=function(_1e7){
xap.util.Debug._sourceRootDir=_1e7;
};
xap.util.Debug.addDebuggables=function(dbs){
if(!xap.util.Debug._debuggables){
xap.util.Debug._debuggables=new Object();
}
if(typeof dbs=="string"){
return xap.util.Debug.addDebuggables([dbs]);
}
for(var ii=0;ii<dbs.length;++ii){
xap.util.Debug._debuggables[dbs[ii]]=true;
}
};
xap.util.Debug.preloadDebuggables=function(){
xap.util.Debug.loadDebuggables.apply(arguments);
xap.util.Debug.preloaded=true;
};
xap.util.Debug.loadDebuggables=function(){
if(arguments.length==0){
if(xap.util.Debug._debuggables){
xap.util.Debug.loadDebuggables(xap.util.Debug._debuggables);
}
return;
}else{
if((typeof arguments[0])!="string"){
for(var nom in arguments[0]){
xap.util.Debug._loadDebuggable(nom);
}
}else{
xap.util.Debug._loadDebuggable(arg[0]);
}
}
};
xap.util.Debug.trailingSlashRegexp=/^.*\/$/;
xap.util.Debug.allFullstopsRegexp=/\./g;
xap.util.Debug.anyAsteriskRegexp=/\*/g;
xap.util.Debug.initialDoubleDots=new RegExp("^../");
xap.util.Debug.ourModuleMap={};
for(var prefx in dojo.hostenv.modulePrefixes_){
var path=dojo.hostenv.modulePrefixes_[prefx].value;
path=path.replace(/^\.\./,"");
path=xap.util.Debug._sourceRootDir+path;
xap.util.Debug.ourModuleMap[prefx]=path;
}
xap.util.Debug._loadDebuggable=function(str){
var path=str.replace(xap.util.Debug.allFullstopsRegexp,"/");
var arr=str.split(".");
if(arr[0]=="dojo"){
if(typeof eval(str)!="undefined"){
return;
}
}
var _1ee=xap.util.Debug.ourModuleMap[arr[0]];
if(!_1ee){
return;
}
arr.shift();
path=_1ee+"/"+arr.join("/")+".js";
xap.util.Debug.importFile(path);
};
xap.util.Debug.setDebug=function(tf){
xap.util.Debug._debugLoad=tf;
};
xap.util.Debug.HEAD=null;
xap.util.Debug.importFile=function(path){
if(xap.util.Debug.s_pathCache==null){
xap.util.Debug.s_pathCache=new Object();
}
if(xap.util.Debug.s_pathCache[path]){
return;
}
xap.util.Debug.s_pathCache[path]=true;
if(!document.body){
var _1f1="<script language=\"JavaScript\" "+"type=\"text/javascript\" src=\""+path+"\"></script>";
document.write(_1f1);
}else{
var _1f2=document.createElement("SCRIPT");
_1f2.type="text/javascript";
_1f2.language="JavaScript";
_1f2.src=path;
if(!xap.util.Debug.HEAD){
xap.util.Debug.HEAD=document.getElementsByTagName("head")[0];
}
xap.util.Debug.HEAD.appendChild(_1f2);
}
};
xap.util.Debug.s_pathCache=null;
xap.util.Debug.setDebugAll=function(tf){
xap.util.Debug._debugAll=true;
};
if(window.debug_config){
for(var key in window.debug_config){
xap.util.Debug[key]=window.debug_config[key];
}
if(xap.util.Debug._debugList){
xap.util.Debug._debugLoad=true;
xap.util.Debug.addDebuggables(xap.util.Debug._debugList);
}
}
Xap.provide("xap.util.Exception");
xap.util.Exception=function(_1f4,_1f5,_1f6){
this._message=_1f4;
this._cause=_1f5;
this._location=_1f6;
};
xap.util.Exception.prototype.getLocation=function(){
return this._location;
};
xap.util.Exception.prototype.getMessage=function(){
return this._message;
};
xap.util.Exception.prototype.getCause=function(){
return this._cause;
};
xap.util.Exception.prototype.toString=function(){
var buf="Message:"+this._message;
if(this._cause!=null){
buf+="\nCause:"+this._cause.toString();
}
return buf;
};
dojo.provide("dojo.lang");
dojo.deprecated("dojo.lang","replaced by dojo.lang.common","0.5");
Xap.provide("xap.util.MessageFormat");
Xap.require("dojo.lang");
xap.util.MessageFormat=function(){
};
xap.util.MessageFormat.format=function(_1f8,args){
if(!_1f8){
return null;
}
if(!dojo.lang.isArray(args)){
args=[args];
}
for(var i=0;args&&i<args.length;i++){
var _1fb="\\{"+i+"\\}";
var _1fc=new RegExp(_1fb,"gm");
_1f8=_1f8.replace(_1fc,""+args[i]);
}
return _1f8;
};
Xap.provide("xap.util.Hashtable");
Xap.require("xap.util.Exception");
xap.util.Hashtable=function(){
this._hashtable=new Object();
this._size=0;
};
xap.util.Hashtable.s_uniqueKey=1;
xap.util.Hashtable.prototype.clear=function(){
this._hashtable=new Object();
};
xap.util.Hashtable.prototype.containsKey=function(key){
if(key===null){
throw new xap.util.Exception("key cannot be null in xap.util.Hashtable.containsKey()");
}
key=this._computeKey(key);
var _1fe=this._hashtable[key];
return (_1fe!=null&&(typeof _1fe!="undefined"));
};
xap.util.Hashtable.prototype.containsValue=function(_1ff){
if(_1ff==null){
throw new xap.util.Exception("value cannot be null at xap.util.Hashtable.containsValue()");
}
for(var i in this._hashtable){
if(this._hashtable[i]==_1ff){
return true;
}
}
return false;
};
xap.util.Hashtable.prototype.get=function(key){
if(key==null){
throw new xap.util.Exception("key cannot be null at xap.util.Hashtable.get()");
}
key=this._computeKey(key);
return this._hashtable[key];
};
xap.util.Hashtable.prototype.put=function(key,_203){
key=this._computeKey(key);
var o=this._hashtable[key];
this._hashtable[key]=_203;
if(o==null){
this._size++;
}
return o;
};
xap.util.Hashtable.prototype.remove=function(key){
if(key==null){
throw new xap.util.Exception("key cannot be null at xap.util.Hashtable.remove()");
}
key=this._computeKey(key);
var rtn=this._hashtable[key];
delete (this._hashtable[key]);
if(rtn!=null){
this._size--;
}
return rtn;
};
xap.util.Hashtable.prototype.size=function(){
return this._size;
};
xap.util.Hashtable.prototype.toString=function(){
var _207="{";
for(var i in this._hashtable){
if(this._hashtable[i]!=null){
_207+=i+"=>"+this._hashtable[i]+"\n";
}
}
_207+="}";
return _207;
};
xap.util.Hashtable.prototype.keys=function(){
var keys=new Array(this.size());
var _20a=0;
for(var i in this._hashtable){
if(this._hashtable[i]!=null){
keys[_20a]=i;
_20a++;
}
}
return keys;
};
xap.util.Hashtable.prototype.values=function(){
var _20c=new Array(this.size());
var _20d=0;
for(var i in this._hashtable){
if(this._hashtable[i]!=null){
_20c[_20d]=this._hashtable[i];
_20d++;
}
}
return _20c;
};
xap.util.Hashtable.prototype._computeKey=function(x){
if(typeof (x)!="object"){
return x.toString();
}
if(x.constructor==Number||x.constructor==String){
return x.toString();
}
if(!x._xapHashKey){
x._xapHashKey=xap.util.Hashtable.s_uniqueKey++;
}
return x._xapHashKey.toString();
};
Xap.provide("xap.util.ResourceDictionary");
Xap.require("xap.util.MessageFormat");
Xap.require("xap.util.Hashtable");
xap.util.ResourceDictionary=function(){
};
xap.util.ResourceDictionary.s_classnameToResourceObject=new xap.util.Hashtable();
xap.util.ResourceDictionary.s_log=null;
xap.util.ResourceDictionary.getMessage=function(_210,_211,args){
var _213="xap.log.Logger";
Xap.require(_213);
var _214=xap.util.ResourceDictionary.s_classnameToResourceObject.get(_211);
if(!_214){
try{
Xap.require(_211+"Res");
_214=eval("new "+_211+"Res();");
xap.util.ResourceDictionary.s_classnameToResourceObject.put(_211,_214);
}
catch(e){
if(!xap.util.ResourceDictionary.s_log){
xap.util.ResourceDictionary.s_log=xap.log.Logger.getLogger("xap.util.ResourceDictionary");
}
xap.util.ResourceDictionary.s_log.error("Exception getting message:"+"id="+_210+",classname="+_211+", args:"+args+", exception:"+e,e);
}
}
if(_214){
var _215=_214.messages[_210];
return xap.util.MessageFormat.format(_215,args);
}
return "MsgId:"+_210+",class:"+_211+",args:"+args;
};
Xap.provide("xap.util.XapExceptionRes");
xap.util.XapExceptionRes=function(){
};
Xap.provide("xap.util.XapException");
Xap.require("xap.util.ResourceDictionary");
Xap.require("xap.util.XapExceptionRes");
xap.util.XapException=function(_216,args,_218,_219){
if(_216){
this._msgId=_216;
this._localizedMessage=xap.util.ResourceDictionary.getMessage(_216,this.getClassName(),args);
this._cause=_218;
this._location=_219;
}
};
xap.util.XapException.CLASSNAME="xap.util.XapException";
xap.util.XapException.prototype.getCause=function(){
return this._cause;
};
xap.util.XapException.prototype.getLocation=function(){
return this._location;
};
xap.util.XapException.prototype.getMessageId=function(){
return this._msgId;
};
xap.util.XapException.prototype.getMessage=function(){
return this._localizedMessage;
};
xap.util.XapException.prototype.toString=function(){
return this._localizedMessage;
};
xap.util.XapException.prototype.getClassName=function(){
return xap.util.XapException.CLASSNAME;
};
xap.util.XapException.exceptionToString=function(_21a){
var s=new String();
if(!_21a){
return s;
}
if(_21a.name&&_21a.message){
s+="Exception: "+_21a.name+" - "+_21a.message+"\n";
}else{
if(_21a.getMessage){
s+="Exception: "+_21a.getMessage()+"\n";
}
}
if(_21a.getLocation&&_21a.getLocation()){
s+="Occurred at: "+_21a.getLocation()+"\n";
}
if(_21a.getCause&&_21a.getCause()){
s+="Caused by:\n"+xap.util.XapException.exceptionToString(_21a.getCause());
}
if(s.length==0&&_21a.toString){
s=_21a.toString();
}
if(s.length==0){
s=""+_21a;
}
return s;
};
Xap.provide("xap.xml.sax.ParserException");
Xap.require("xap.util.XapException");
xap.xml.sax.ParserException=function(_21c,args,_21e){
xap.util.XapException.call(this,_21c,args,_21e);
};
xap.xml.sax.ParserException.prototype=new xap.util.XapException;
xap.xml.sax.ParserException.DOCUMENT_HANDLER_MISSING="documentHandlerMissing";
xap.xml.sax.ParserException.FAILURE_TO_EXECUTE_INSTRUCTION="failedToExecuteInstruction";
xap.xml.sax.ParserException.NAMESPACE_HANDLER_FAILURE="namespaceHandlerFailure";
xap.xml.sax.ParserException.IOEXCEPTION_PARSING="ioexceptionParsing";
xap.xml.sax.ParserException.UNEXPECTED_EOF="unexpectedEOF";
xap.xml.sax.ParserException.WRONG_EVENT_TYPE="wrongEventType";
xap.xml.sax.ParserException.DEFINED_ENTITY_AFTER_SETINPUT="cantDefineEntitiesAfterSetInput";
xap.xml.sax.ParserException.UNEXPECTED_TAG="unexpectedTag";
xap.xml.sax.ParserException.UNSUPPORTED_FEATURE="unsupportedFeature";
xap.xml.sax.ParserException.EMPTY_NAMESPACES_NOT_ALLOWED="emptyNamespacesNotAllowed";
xap.xml.sax.ParserException.ILLEGAL_ATTRIBUTE_NAME="illegalAttributeName";
xap.xml.sax.ParserException.UNDEFINED_PREFIX="undefinedPrefix";
xap.xml.sax.ParserException.ILLEGAL_TAG_NAME="illegalTagName";
xap.xml.sax.ParserException.NO_INPUT_SPECIFIED="noInputSpecified";
xap.xml.sax.ParserException.PROCESSING_INSTR_CANNOT_START_WITH_XML="processingInstructionMustNotStartWithXml";
xap.xml.sax.ParserException.XML_VERSION_EXPECTED="xmlVersionExpected";
xap.xml.sax.ParserException.ILLEGAL_STANDALONE_VALUE="illegalStandaloneValue";
xap.xml.sax.ParserException.ILLEGAL_XML_DECLARATION="illegalXmlDeclaration";
xap.xml.sax.ParserException.ILLEGAL_OPENING_TAG="illegalOpeningTag";
xap.xml.sax.ParserException.ILLEGAL_COMMENT_DELIMITER="illegalCommentDelimiter";
xap.xml.sax.ParserException.ELEMENT_STACK_EMPTY="elementStackEmpty";
xap.xml.sax.ParserException.UNEXPECTED_END_TAG="unexpectedEndTag";
xap.xml.sax.ParserException.ATTRIBUTE_NAME_EXPECTED="attributeNameWasExpected";
xap.xml.sax.ParserException.ATTRIBUTE_VALUE_MISSING="attributeValueWasNotFound";
xap.xml.sax.ParserException.ATTRIBUTE_DELIMITER_MISSING="attributeValueDelimiterMissing";
xap.xml.sax.ParserException.UNTERMINATED_ENTITY="unterminatedEntityReference";
xap.xml.sax.ParserException.UNDEFINED_ENTITY="undefinedEntity";
xap.xml.sax.ParserException.ILLEGAL_END_OF_PROCESSING_INSTRUCTION="illegalEndOfProcessingInstruction";
xap.xml.sax.ParserException.UNEXPECTED_CHARACTER="unexpectedCharacter";
xap.xml.sax.ParserException.INVALID_XML_NAME_CHARACTERS="invalidXmlNameCharacters";
xap.xml.sax.ParserException.PARSER_MUST_BE_PARSERIMPL="parserMustBeParserImpl";
xap.xml.sax.ParserException.CHANGE_REJECTED_DURING_PARSE="changeRejectedDuringParse";
xap.xml.sax.ParserException.ONLY_ONE_ROOT_ELEMENT_PER_DOC="onlyOneRootElementCanExist";
xap.xml.sax.ParserException.CLASSNAME="xap.xml.sax.ParserException";
xap.xml.sax.ParserException.prototype.getClassName=function(){
return xap.xml.sax.ParserException.CLASSNAME;
};
Xap.provide("xap.log.Logger");
Xap.provide("xap.log.LoggingEvent");
Xap.provide("xap.log.ConsoleAppender");
Xap.require("xap.util.XapException");
xap.log.Logger=function(_21f){
this._name=_21f;
this._appenders=[];
this._childLogs={};
this._inheritedLevel=0;
this._level=0;
};
xap.log.Logger.prototype.addAppender=function(_220){
this._appenders.push(_220);
};
xap.log.Logger.prototype.setLevel=function(_221){
this._level=_221;
for(var i in this._childLogs){
this._childLogs[i]._setParent(this);
}
};
xap.log.Logger.prototype.getEffectiveLevel=function(){
return (this._level?this._level:(this._inheritedLevel?this._inheritedLevel:0));
};
xap.log.Logger.prototype.log=function(_223,_224,_225){
if(_223<this.getEffectiveLevel()){
return;
}
var _226=new xap.log.LoggingEvent(this._name,this,new Date(),_223,_224,_225);
this._dispatchLogEvent(_226);
};
xap.log.Logger.prototype.trace=function(_227,_228){
this.log(xap.log.Logger.TRACE,_227,_228);
};
xap.log.Logger.prototype.debug=function(_229,_22a){
this.log(xap.log.Logger.DEBUG,_229,_22a);
};
xap.log.Logger.prototype.info=function(_22b,_22c){
this.log(xap.log.Logger.INFO,_22b,_22c);
};
xap.log.Logger.prototype.warn=function(_22d,_22e){
this.log(xap.log.Logger.WARN,_22d,_22e);
};
xap.log.Logger.prototype.error=function(_22f,_230){
this.log(xap.log.Logger.ERROR,_22f,_230);
};
xap.log.Logger.prototype.fatal=function(_231,_232){
this.log(xap.log.Logger.FATAL,_231,_232);
};
xap.log.Logger.prototype.isEnabledFor=function(_233){
return (_233>=this.getEffectiveLevel());
};
xap.log.Logger.prototype.isTrace=function(){
return (xap.log.Logger.TRACE>=this.getEffectiveLevel());
};
xap.log.Logger.prototype.isDebug=function(){
return (xap.log.Logger.DEBUG>=this.getEffectiveLevel());
};
xap.log.Logger.prototype.isInfo=function(){
return (xap.log.Logger.INFO>=this.getEffectiveLevel());
};
xap.log.Logger.prototype.isWarn=function(){
return (xap.log.Logger.WARN>=this.getEffectiveLevel());
};
xap.log.Logger.prototype.isError=function(){
return (xap.log.Logger.ERROR>=this.getEffectiveLevel());
};
xap.log.Logger.prototype.isFatal=function(){
return (xap.log.Logger.FATAL>=this.getEffectiveLevel());
};
xap.log.Logger.prototype._dispatchLogEvent=function(_234){
for(var i=0;i<this._appenders.length;i++){
this._appenders[i].doAppend(_234);
}
if(this._parent){
this._parent._dispatchLogEvent(_234);
}
};
xap.log.Logger.prototype._setParent=function(_236){
this._parent=_236;
_236._childLogs[this._name]=this;
this._inheritedLevel=_236.getEffectiveLevel();
for(var i in this._childLogs){
this._childLogs[i]._setParent(this);
}
};
xap.log.Logger._rootLog=new xap.log.Logger("root");
xap.log.Logger._namesToLogs={};
xap.log.Logger.TRACE=1;
xap.log.Logger.DEBUG=2;
xap.log.Logger.INFO=3;
xap.log.Logger.WARN=4;
xap.log.Logger.ERROR=5;
xap.log.Logger.FATAL=6;
xap.log.Logger.NONE=7;
xap.log.Logger.LEVEL_NAMES=["","TRACE","DEBUG","INFO","WARN","ERROR","FATAL","NONE"];
xap.log.Logger.getRootLogger=function(){
return xap.log.Logger._rootLog;
};
xap.log.Logger.getLogger=function(_238){
var _239=xap.log.Logger._namesToLogs[_238];
if(!_239){
var _23a=_238.split(".");
var _23b=xap.log.Logger._rootLog;
for(var i=0;i<_23a.length;i++){
var _23d=_23a.slice(0,i+1).join(".");
_239=_23b._childLogs[_23d];
if(!_239){
_239=new xap.log.Logger(_23d);
xap.log.Logger._namesToLogs[_23d]=_239;
_239._setParent(_23b);
}
_23b=_239;
}
}
return _239;
};
xap.log.LoggingEvent=function(_23e,_23f,date,_241,_242,_243){
this.logName=_23e;
this.logger=_23f;
this.date=date;
this.level=_241;
this.message=_242;
this.exception=_243;
this._renderedMessage="["+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()+" "+xap.log.Logger.LEVEL_NAMES[_241]+" "+_23e+"] "+_242;
if(_243){
this._renderedMessage+=xap.util.XapException.exceptionToString(_243);
}
};
xap.log.LoggingEvent.prototype.getRenderedMessage=function(){
return this._renderedMessage;
};
xap.log.AlertAppender=function(){
};
xap.log.AlertAppender.prototype.doAppend=function(_244){
if(_244.level<xap.log.Logger.ERROR){
return;
}
alert(_244.getRenderedMessage());
};
xap.log.ConsoleAppender=function(){
xap.log.ConsoleAppender._log=this;
};
xap.log.ConsoleAppender.prototype.doAppend=function(_245){
this._logEvent(_245.getRenderedMessage(),true);
};
xap.log.ConsoleAppender.prototype._logEvent=function(text){
if(!this._logDiv){
var l=document.createElement("div");
l.style.position="absolute";
l.style.right="5px";
l.style.top="5px";
l.style.width="200px";
l.style.height="350px";
l.style.overflow="auto";
l.style.backgroundColor="#f0f0f0";
l.style.border="1px solid gray";
l.style.fontSize="10px";
l.style.padding="5px";
document.body.appendChild(l);
this._logDiv=l;
}
this._logDiv.style.display="block";
if(this._logDiv.innerHTML==""){
this._logDiv.innerHTML="<A HREF=\"javascript:xap.log.ConsoleAppender._log._clear()\">Clear</A><br/><A HREF=\"javascript:xap.log.ConsoleAppender._log._resizeOutput(true)\">Bigger</A> | <A HREF=\"javascript:xap.log.ConsoleAppender._log._resizeOutput(false)\">Smaller</A>";
}
this._logDiv.appendChild(document.createElement("br"));
this._logDiv.appendChild(document.createElement("br"));
this._logDiv.appendChild(document.createTextNode(text));
this._logDiv.scrollTop=this._logDiv.scrollHeight;
};
xap.log.ConsoleAppender.prototype._resizeOutput=function(_248){
if(_248){
this._logDiv.style.width=(parseInt(this._logDiv.style.width)+100)+"px";
this._logDiv.style.height=(parseInt(this._logDiv.style.height)+100)+"px";
}else{
this._logDiv.style.width=Math.max(parseInt(this._logDiv.style.width)-100,150)+"px";
this._logDiv.style.height=Math.max(parseInt(this._logDiv.style.height)-100,100)+"px";
}
};
xap.log.ConsoleAppender.prototype._clear=function(){
if(this._logDiv){
this._logDiv.style.display="none";
this._logDiv.innerHTML="";
}
};
Xap.provide("xap.xml.NamespaceHandlerManager");
Xap.require("xap.xml.sax.ParserException");
Xap.require("xap.util.Hashtable");
Xap.require("xap.util.Exception");
Xap.require("xap.log.Logger");
xap.xml.NamespaceHandlerManager=function(_249){
this._session=_249;
this._namespaceToHandlersMap=new xap.util.Hashtable();
};
xap.xml.NamespaceHandlerManager.s_log=xap.log.Logger.getLogger("xap.xml.NamespaceHandler");
xap.xml.NamespaceHandlerManager.prototype.dispatch=function(_24a){
var _24b=this._namespaceToHandlersMap.get(_24a.getNamespaceUri());
if(!_24b){
throw new xap.util.Exception("The namespace supplied ["+_24a.getNamespaceUri()+"] is not valid.");
}
try{
_24b.receiveDispatch(_24a);
}
catch(e){
xap.xml.NamespaceHandlerManager.s_log.error("Error dispatching element to namespace handler for namespace URI "+_24a.getNamespaceUri(),e);
}
};
xap.xml.NamespaceHandlerManager.prototype.addHandler=function(_24c,_24d){
this._namespaceToHandlersMap.put(_24c,_24d);
};
Xap.provide("xap.xml.dom.events.DomChangeEvent");
xap.xml.dom.events.DomChangeEvent=function(_24e){
this._sourceElement=_24e;
};
xap.xml.dom.events.DomChangeEvent.prototype.getSourceElement=function(){
return this._sourceElement;
};
Xap.provide("google.misc");
with(google){
google.xmlValue=function(node){
if(!node){
return "";
}
var ret="";
if(node.nodeType==DOM_TEXT_NODE||node.nodeType==DOM_CDATA_SECTION_NODE||node.nodeType==DOM_ATTRIBUTE_NODE){
ret+=node.nodeValue;
}else{
if(node.nodeType==DOM_ELEMENT_NODE||node.nodeType==DOM_DOCUMENT_NODE||node.nodeType==DOM_DOCUMENT_FRAGMENT_NODE){
for(var i=0;i<node.childNodes.length;++i){
ret+=arguments.callee(node.childNodes[i]);
}
}
}
return ret;
};
google.xmlText=function(node){
var ret="";
if(node.nodeType==DOM_TEXT_NODE){
ret+=xmlEscapeText(node.nodeValue);
}else{
if(node.nodeType==DOM_ELEMENT_NODE){
ret+="<"+node.nodeName;
for(var i=0;i<node.attributes.length;++i){
var a=node.attributes[i];
if(a&&a.nodeName&&a.nodeValue){
ret+=" "+a.nodeName;
ret+="=\""+xmlEscapeAttr(a.nodeValue)+"\"";
}
}
if(node.childNodes.length==0){
ret+="/>";
}else{
ret+=">";
for(var i=0;i<node.childNodes.length;++i){
ret+=arguments.callee(node.childNodes[i]);
}
ret+="</"+node.nodeName+">";
}
}else{
if(node.nodeType==DOM_DOCUMENT_NODE||node.nodeType==DOM_DOCUMENT_FRAGMENT_NODE){
for(var i=0;i<node.childNodes.length;++i){
ret+=arguments.callee(node.childNodes[i]);
}
}
}
}
return ret;
};
google.mapExec=function(_256,func){
for(var i=0;i<_256.length;++i){
func(_256[i]);
}
};
google.mapExpr=function(_259,func){
var ret=[];
for(var i=0;i<_259.length;++i){
ret.push(func(_259[i]));
}
return ret;
};
google.reverseInplace=function(_25d){
for(var i=0;i<_25d.length/2;++i){
var h=_25d[i];
var ii=_25d.length-i-1;
_25d[i]=_25d[ii];
_25d[ii]=h;
}
};
google.copyArray=function(dst,src){
for(var i=0;i<src.length;++i){
dst.push(src[i]);
}
};
google.assert=function(b){
if(!b){
throw "assertion failed";
}
};
google.DOM_ELEMENT_NODE=1;
google.DOM_ATTRIBUTE_NODE=2;
google.DOM_TEXT_NODE=3;
google.DOM_CDATA_SECTION_NODE=4;
google.DOM_ENTITY_REFERENCE_NODE=5;
google.DOM_ENTITY_NODE=6;
google.DOM_PROCESSING_INSTRUCTION_NODE=7;
google.DOM_COMMENT_NODE=8;
google.DOM_DOCUMENT_NODE=9;
google.DOM_DOCUMENT_TYPE_NODE=10;
google.DOM_DOCUMENT_FRAGMENT_NODE=11;
google.DOM_NOTATION_NODE=12;
google.xpathdebug=false;
google.xsltdebug=false;
google.xmlEscapeText=function(s){
return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
};
google.xmlEscapeAttr=function(s){
return xmlEscapeText(s).replace(/\"/g,"&quot;");
};
google.xmlEscapeTags=function(s){
return s.replace(/</g,"&lt;").replace(/>/g,"&gt;");
};
google.logging__=false;
google.Log=function(){
};
Log.lines=[];
Log.write=function(s){
if(logging__){
this.lines.push(xmlEscapeText(s));
this.show();
}
};
Log.writeXML=function(xml){
if(logging__){
var s0=xml.replace(/</g,"\n<");
var s1=xmlEscapeText(s0);
var s2=s1.replace(/\s*\n(\s|\n)*/g,"<br/>");
this.lines.push(s2);
this.show();
}
};
Log.writeRaw=function(s){
if(logging__){
this.lines.push(s);
this.show();
}
};
Log.clear=function(){
if(logging__){
var l=this.div();
l.innerHTML="";
this.lines=[];
}
};
Log.show=function(){
var l=this.div();
l.innerHTML+=this.lines.join("<br/>")+"<br/>";
this.lines=[];
l.scrollTop=l.scrollHeight;
};
Log.div=function(){
var l=document.getElementById("log");
if(!l){
l=document.createElement("div");
l.id="log";
l.style.position="absolute";
l.style.right="5px";
l.style.top="5px";
l.style.width="250px";
l.style.height="150px";
l.style.overflow="auto";
l.style.backgroundColor="#f0f0f0";
l.style.border="1px solid gray";
l.style.fontSize="10px";
l.style.padding="5px";
document.body.appendChild(l);
}
return l;
};
}
Xap.require("google.misc");
Xap.provide("google.dom");
google.XNode=function(type,name,_273,_274){
this.attributes=[];
this.childNodes=[];
google.XNode.init.call(this,type,name,_273,_274);
};
with(google){
XNode.init=function(type,name,_277,_278){
this.nodeType=type-0;
this.nodeName=""+name;
this.nodeValue=""+_277;
this.ownerDocument=_278;
this.firstChild=null;
this.lastChild=null;
this.nextSibling=null;
this.previousSibling=null;
this.parentNode=null;
};
XNode.unused_=[];
XNode.recycle=function(node){
if(!node){
return;
}
if(node.constructor==google.XDocument){
XNode.recycle(node.documentElement);
return;
}
if(node.constructor!=this){
return;
}
XNode.unused_.push(node);
for(var a=0;a<node.attributes.length;++a){
XNode.recycle(node.attributes[a]);
}
for(var c=0;c<node.childNodes.length;++c){
XNode.recycle(node.childNodes[c]);
}
node.attributes.length=0;
node.childNodes.length=0;
XNode.init.call(node,0,"","",null);
};
XNode.create=function(type,name,_27e,_27f){
if(XNode.unused_.length>0){
var node=XNode.unused_.pop();
XNode.init.call(node,type,name,_27e,_27f);
return node;
}else{
return new XNode(type,name,_27e,_27f);
}
};
XNode.prototype.appendChild=function(node){
if(this.childNodes.length==0){
this.firstChild=node;
}
node.previousSibling=this.lastChild;
node.nextSibling=null;
if(this.lastChild){
this.lastChild.nextSibling=node;
}
node.parentNode=this;
this.lastChild=node;
this.childNodes.push(node);
};
XNode.prototype.replaceChild=function(_282,_283){
if(_283==_282){
return;
}
for(var i=0;i<this.childNodes.length;++i){
if(this.childNodes[i]==_283){
this.childNodes[i]=_282;
var p=_283.parentNode;
_283.parentNode=null;
_282.parentNode=p;
p=_283.previousSibling;
_283.previousSibling=null;
_282.previousSibling=p;
if(_282.previousSibling){
_282.previousSibling.nextSibling=_282;
}
p=_283.nextSibling;
_283.nextSibling=null;
_282.nextSibling=p;
if(_282.nextSibling){
_282.nextSibling.previousSibling=_282;
}
if(this.firstChild==_283){
this.firstChild=_282;
}
if(this.lastChild==_283){
this.lastChild=_282;
}
break;
}
}
};
XNode.prototype.insertBefore=function(_286,_287){
if(_287==_286){
return;
}
if(_287.parentNode!=this){
return;
}
if(_286.parentNode){
_286.parentNode.removeChild(_286);
}
var _288=[];
for(var i=0;i<this.childNodes.length;++i){
var c=this.childNodes[i];
if(c==_287){
_288.push(_286);
_286.parentNode=this;
_286.previousSibling=_287.previousSibling;
_287.previousSibling=_286;
if(_286.previousSibling){
_286.previousSibling.nextSibling=_286;
}
_286.nextSibling=_287;
if(this.firstChild==_287){
this.firstChild=_286;
}
}
_288.push(c);
}
this.childNodes=_288;
};
XNode.prototype.removeChild=function(node){
var c;
for(var i=this.childNodes.length-1;i>=0;i--){
c=this.childNodes[i];
if(c===node){
this.childNodes.splice(i,1);
if(c.previousSibling){
c.previousSibling.nextSibling=c.nextSibling;
}
if(c.nextSibling){
c.nextSibling.previousSibling=c.previousSibling;
}
if(this.firstChild==c){
this.firstChild=c.nextSibling;
}
if(this.lastChild==c){
this.lastChild=c.previousSibling;
}
break;
}
}
};
XNode.prototype.hasAttributes=function(){
return this.attributes.length>0;
};
XNode.prototype.setAttribute=function(name,_28f,_290){
for(var i=0;i<this.attributes.length;++i){
if(this.attributes[i].nodeName==name){
this.attributes[i].nodeValue=""+_28f;
if(_290){
this.attributes[i].baseUrl=_290;
}else{
if(this.attributes[i].baseUrl){
delete this.attributes[i].baseUrl;
}
}
return;
}
}
var _292=new XNode(DOM_ATTRIBUTE_NODE,name,_28f);
_292.ownerElement=this;
if(_290){
_292.baseUrl=_290;
}
this.attributes.push(_292);
};
XNode.prototype.getAttribute=function(name){
for(var i=0;i<this.attributes.length;++i){
if(this.attributes[i].nodeName==name){
return this.attributes[i].nodeValue;
}
}
return null;
};
XNode.prototype.removeAttribute=function(name){
var a=[];
for(var i=0;i<this.attributes.length;++i){
if(this.attributes[i].nodeName!=name){
a.push(this.attributes[i]);
}
}
this.attributes=a;
};
XNode.prototype.getElementsByTagName=function(name,list){
if(!list){
list=[];
}
if(this.nodeName==name){
list.push(this);
}
for(var i=0;i<this.childNodes.length;++i){
this.childNodes[i].getElementsByTagName(name,list);
}
return list;
};
}
google.XDocument=function(){
google.XNode.call(this,google.DOM_DOCUMENT_NODE,"#document",null,this);
this.documentElement=null;
};
with(google){
XDocument.prototype=new XNode(DOM_DOCUMENT_NODE,"#document");
XDocument.prototype.clear=function(){
XNode.recycle(this.documentElement);
this.documentElement=null;
};
XDocument.prototype.appendChild=function(node){
XNode.prototype.appendChild.call(this,node);
this.documentElement=this.childNodes[0];
};
XDocument.prototype.createElement=function(name){
return XNode.create(DOM_ELEMENT_NODE,name,null,this);
};
XDocument.prototype.createDocumentFragment=function(){
return XNode.create(DOM_DOCUMENT_FRAGMENT_NODE,"#document-fragment",null,this);
};
XDocument.prototype.createTextNode=function(_29d){
return XNode.create(DOM_TEXT_NODE,"#text",_29d,this);
};
XDocument.prototype.createAttribute=function(name){
return XNode.create(DOM_ATTRIBUTE_NODE,name,null,this);
};
XDocument.prototype.createComment=function(data){
return XNode.create(DOM_COMMENT_NODE,"#comment",data,this);
};
}
Xap.provide("xap.xml.dom.events.StructureChangeEvent");
Xap.require("xap.xml.dom.events.DomChangeEvent");
Xap.require("google.dom");
xap.xml.dom.events.StructureChangeEvent=function(_2a0,_2a1,_2a2){
xap.xml.dom.events.DomChangeEvent.call(this,_2a0);
this._change=_2a1;
this._index=_2a2;
if(_2a0==null){
this._eventType=xap.xml.dom.events.StructureChangeEvent.ROOT_NODE;
}else{
if(_2a1.nodeType==google.DOM_ELEMENT_NODE){
this._eventType=xap.xml.dom.events.StructureChangeEvent.ELEMENT_NODE;
}else{
this._eventType=xap.xml.dom.events.StructureChangeEvent.TEXT_NODE;
}
}
};
xap.xml.dom.events.StructureChangeEvent.prototype=new xap.xml.dom.events.DomChangeEvent;
xap.xml.dom.events.StructureChangeEvent.ELEMENT_NODE=0;
xap.xml.dom.events.StructureChangeEvent.TEXT_NODE=1;
xap.xml.dom.events.StructureChangeEvent.ROOT_NODE=2;
xap.xml.dom.events.StructureChangeEvent.prototype.getIndex=function(){
return this._index;
};
xap.xml.dom.events.StructureChangeEvent.prototype.getType=function(){
return this._eventType;
};
xap.xml.dom.events.StructureChangeEvent.prototype.getChange=function(){
return this._change;
};
xap.xml.dom.events.StructureChangeEvent.prototype.setChange=function(_2a3){
if(this._eventType==xap.xml.dom.events.StructureChangeEvent.ROOT_NODE){
if(_2a3.nodeType!=google.DOM_ELEMENT_NODE){
throw new xap.util.Exception("The root element of xap.xml.dom.Documents must be of type Element");
}
}else{
if(_2a3.nodeType==google.DOM_ELEMENT_NODE){
this._eventType=xap.xml.dom.events.StructureChangeEvent.ELEMENT_NODE;
}else{
this._eventType=xap.xml.dom.events.StructureChangeEvent.TEXT_NODE;
}
}
this._change=_2a3;
};
Xap.provide("xap.xml.dom.events.AttributeChangeEvent");
Xap.require("xap.xml.dom.events.DomChangeEvent");
xap.xml.dom.events.AttributeChangeEvent=function(_2a4,name,_2a6){
xap.xml.dom.events.DomChangeEvent.call(this,_2a4);
this._attributeName=name;
this._oldValue=_2a4.getAttribute(this._attributeName);
this._newValue=_2a6;
};
xap.xml.dom.events.AttributeChangeEvent.prototype=new xap.xml.dom.events.DomChangeEvent;
xap.xml.dom.events.AttributeChangeEvent.prototype.getName=function(){
return this._attributeName;
};
xap.xml.dom.events.AttributeChangeEvent.prototype.getOldValue=function(){
return this._oldValue;
};
xap.xml.dom.events.AttributeChangeEvent.prototype.getNewValue=function(){
return this._newValue;
};
xap.xml.dom.events.AttributeChangeEvent.prototype.setNewValue=function(_2a7){
if(_2a7==null){
throw new xap.util.Exception("Can't set the attribute value as null");
}
var _2a8=this.getSourceElement().getAttribute(this.getName());
if(_2a8!=null&&_2a8!=this._oldValue){
throw new xap.util.Exception("You may only change the new value of attributes "+"before the change has been committed (accepted by "+"all registered xap.xml.dom.events.AttributeChangeListener objects)");
}
if(this._newValue!=null&&this._newValue==this._oldValue){
}
this._newValue=_2a7;
};
Xap.provide("xap.util.Character");
xap.util.Character=function(){
};
xap.util.Character._reLetter=/^[a-zA-Z]$/;
xap.util.Character._reDigit=/^\d/;
xap.util.Character._reLetterOrDigit=/^([a-zA-Z]|\d)$/;
xap.util.Character._reWhitespace=/^(\s)*$/;
xap.util.Character.isLetter=function(c){
return xap.util.Character._reLetter.test(c);
};
xap.util.Character.isDigit=function(c){
return xap.util.Character._reDigit.test(c);
};
xap.util.Character.isLetterOrDigit=function(c){
return xap.util.Character._reLetterOrDigit.test(c);
};
xap.util.Character.isWhiteSpaceChar=function(c){
return (c==" "||c=="\n"||c=="\t"||c=="\r");
};
xap.util.Character.isWhiteSpace=function(str){
return xap.util.Character._reWhitespace.test(str);
};
Xap.provide("xap.util.XmlUtils");
Xap.require("xap.util.Character");
xap.util.XmlUtils=function(){
};
xap.util.XmlUtils.encode=function(s){
if(s==null){
return "";
}
var _2af=new Array(s.length);
var c;
for(var i=0;i<s.length;i++){
c=s.charAt(i);
if(c=="&"){
_2af[i]="&amp;";
}else{
if(c=="<"){
_2af[i]="&lt;";
}else{
if(c==">"){
_2af[i]="&gt;";
}else{
if(c=="'"){
_2af[i]="&apos;";
}else{
if(c=="\""){
_2af[i]="&quot;";
}else{
_2af[i]=c;
}
}
}
}
}
}
return _2af.join("");
};
xap.util.XmlUtils.encodeDoubleQuotes=function(s){
if(s==null){
return "";
}
var _2b3=new Array(s.length);
var c;
for(var i=0;i<s.length;i++){
c=s.charAt(i);
if(c=="\""){
_2b3[i]="&quot;";
}else{
_2b3[i]=c;
}
}
return _2b3.join("");
};
xap.util.XmlUtils.decode=function(str){
if(str==null){
return "";
}
var _2b7=new Array(str.length);
var s=str.toLowerCase();
var c;
for(var i=0;i<s.length;i++){
c=s.charAt(i);
if(c=="&"){
if(s.indexOf("&amp;",i)!=-1){
_2b7[i]="&";
i+=4;
}else{
if(s.indexOf("&lt;",i)!=-1){
_2b7[i]="<";
i+=3;
}else{
if(s.indexOf("&gt;",i)!=-1){
_2b7[i]=">";
i+=3;
}else{
if(s.indexOf("&apos;",i)!=-1){
_2b7[i]="'";
i+=5;
}else{
if(s.indexOf("&quot;",i)!=-1){
_2b7[i]="\"";
i+=5;
}else{
_2b7[i]=c;
}
}
}
}
}
}else{
_2b7[i]=c;
}
}
return _2b7.join("");
};
Xap.provide("xap.util.UidProvider");
xap.util.UidProvider.XAP_ID_PREFIX="xap";
xap.util.UidProvider.s_count=0;
xap.util.UidProvider.s_seed=new Date().getTime();
xap.util.UidProvider.createId=function(){
return new String(xap.util.UidProvider.XAP_ID_PREFIX+xap.util.UidProvider.s_seed+(xap.util.UidProvider.s_count++));
};
Xap.provide("xap.util.ArrayHelper");
xap.util.ArrayHelper=function(){
};
xap.util.ArrayHelper.insertElementAt=function(_2bb,_2bc,_2bd){
return _2bb.splice(_2bd,0,_2bc);
};
xap.util.ArrayHelper.removeElement=function(_2be,_2bf){
var i=xap.util.ArrayHelper.indexOf(_2be,_2bf);
if(i<0){
return _2be;
}
_2be.splice(i,1);
return _2be;
};
xap.util.ArrayHelper.removeElementAt=function(_2c1,_2c2){
return _2c1.splice(_2c2,1);
};
xap.util.ArrayHelper.indexOf=function(_2c3,_2c4){
for(var i=_2c3.length-1;i>=0;i--){
if(_2c3[i]==_2c4){
return i;
}
}
return -1;
};
xap.util.ArrayHelper.contains=function(_2c6,_2c7){
return xap.util.ArrayHelper.indexOf(_2c6,_2c7)>=0;
};
xap.util.ArrayHelper.clone=function(_2c8){
var _2c9=new Array(_2c8.length);
for(var i=0;i<_2c8.length;i++){
_2c9[i]=_2c8[i];
}
return _2c9;
};
xap.util.ArrayHelper.pushAll=function(_2cb,_2cc){
for(var i=0;i<_2cc.length;i++){
_2cb.push(_2cc[i]);
}
return _2cb;
};
xap.util.ArrayHelper.unique=function(arr){
if(!arr){
return arr;
}
var _2cf=new Object();
var _2d0=[];
for(var ii=0;ii<arr.length;++ii){
var elem=arr[ii];
if(!_2cf[elem]){
_2d0.push(elem);
_2cf[elem]=true;
}
}
return _2d0;
};
Xap.provide("xap.xml.dom.events.ChangeRejectedExceptionRes");
xap.xml.dom.events.ChangeRejectedExceptionRes=function(){
this.messages=new Object();
this.messages[xap.xml.dom.events.ChangeRejectedException.CHANGE_ATTRIBUTE_TO_NULL_MSGID]="One of the xap.xml.dom.events.AttributeChangeListeners set the attribute value to null which is not allowed.";
this.messages[xap.xml.dom.events.ChangeRejectedException.CHANGE_CHILD_TO_NULL_MSGID]="One of the xap.xml.dom.events.StructureChangeListeners set the child to null which cannot be placed in the DOM.";
this.messages[xap.xml.dom.events.ChangeRejectedException.REJECTED_WITH_REASON_MSGID]="The change was rejected because {0}";
this.messages[xap.xml.dom.events.ChangeRejectedException.ROOT_NODE_CHANGE_DISALLOWED_MSGID]="This document does not support setting the root node.";
};
Xap.provide("xap.xml.dom.events.ChangeRejectedException");
Xap.require("xap.xml.dom.events.ChangeRejectedExceptionRes");
Xap.require("xap.util.XapException");
xap.xml.dom.events.ChangeRejectedException=function(_2d3,args,_2d5,_2d6){
xap.util.XapException.call(this,_2d3,args,_2d5);
this._event=_2d6;
};
xap.xml.dom.events.ChangeRejectedException.prototype=new xap.util.XapException;
xap.xml.dom.events.ChangeRejectedException.CLASSNAME="xap.xml.dom.events.ChangeRejectedException";
xap.xml.dom.events.ChangeRejectedException.CHANGE_ATTRIBUTE_TO_NULL_MSGID="listenerChangedAttributeToNull";
xap.xml.dom.events.ChangeRejectedException.CHANGE_CHILD_TO_NULL_MSGID="listenerChangedChildToNull";
xap.xml.dom.events.ChangeRejectedException.REJECTED_WITH_REASON_MSGID="rejectedWithReason";
xap.xml.dom.events.ChangeRejectedException.ROOT_NODE_CHANGE_DISALLOWED_MSGID="rootNodeChangeDisallowed";
xap.xml.dom.events.ChangeRejectedException.prototype.getEvent=function(){
return this._event;
};
xap.xml.dom.events.ChangeRejectedException.prototype.getClassName=function(){
return xap.xml.dom.events.ChangeRejectedException.CLASSNAME;
};
Xap.provide("xap.xml.dom.XapElement");
Xap.require("xap.xml.dom.events.StructureChangeEvent");
Xap.require("xap.xml.dom.events.AttributeChangeEvent");
Xap.require("xap.util.XmlUtils");
Xap.require("xap.util.UidProvider");
Xap.require("xap.util.ResourceDictionary");
Xap.require("google.dom");
Xap.require("xap.util.ArrayHelper");
Xap.require("xap.xml.dom.events.ChangeRejectedException");
Xap.require("xap.log.Logger");
xap.xml.dom.XapElement=function(_2d7,_2d8,_2d9,id){
google.XNode.call(this,google.DOM_ELEMENT_NODE,_2d7,null,_2d8);
this._namespaceUri=null;
this._prefix=null;
this._documentOwnershipListeners=[];
this._attributeChangeListeners=[];
this._structureChangeListeners=[];
if(id){
this.setAttribute("id",id);
}else{
this.setAttribute("id",xap.util.UidProvider.createId());
}
};
xap.xml.dom.XapElement.prototype=new google.XNode();
xap.xml.dom.XapElement.prototype.constructor=xap.xml.dom.XapElement;
xap.xml.dom.XapElement.CANNOT_SET_ID_ATTRIBUTE_WHEN_PART_OF_DOCUMENT="cannotSetIdAttributeWhenPartOfOwnerDocument";
xap.xml.dom.XapElement.DOC_OWNERSHIP_FAILURE="docOwnershipNotificationFailure";
xap.xml.dom.XapElement.CLASSNAME="xap.xml.dom.XapElement";
xap.xml.dom.XapElement.INDENT="  ";
xap.xml.dom.XapElement.s_log=xap.log.Logger.getLogger("xap.xml.dom.DocumentObjectModel");
xap.xml.dom.XapElement.isGeneratedId=function(id){
return (id&&id.indexOf(xap.util.UidProvider.XAP_ID_PREFIX,0)===0);
};
xap.xml.dom.XapElement._writeIndent=function(sbuf,_2dd){
for(var i=0;i<_2dd;i++){
sbuf+=xap.xml.dom.XapElement.INDENT;
}
};
xap.xml.dom.XapElement.prototype.getAttributeAsUrl=function(name){
var att=null;
for(var i=0;i<this.attributes.length;++i){
if(this.attributes[i].nodeName==name){
att=this.attributes[i];
}
}
if(att===null){
return null;
}
var _2e2=att.nodeValue;
var _2e3=att.baseUrl;
_2e3=_2e3||this.baseUrl||"";
return (_2e3+_2e2);
};
xap.xml.dom.XapElement.prototype.setAttribute=function(name,_2e5,_2e6){
var doc=this.ownerDocument;
if("id"==name){
if(doc){
throw new xap.util.Exception(xap.util.ResourceDictionary.getMessage(xap.xml.dom.XapElement.CANNOT_SET_ID_ATTRIBUTE_WHEN_PART_OF_DOCUMENT,xap.xml.dom.XapElement.CLASSNAME));
}
}
if(this._doAnyAttributeChangeListenersExist(doc)){
var _2e8=new xap.xml.dom.events.AttributeChangeEvent(this,name,_2e5);
this._fireAttributeChangeEvent(doc,_2e8,"beforeAttributeSet");
_2e5=_2e8.getNewValue();
if(_2e5===null){
throw new xap.xml.dom.events.ChangeRejectedException(xap.xml.dom.events.ChangeRejectedException.CHANGE_ATTRIBUTE_TO_NULL_MSGID,null,null,_2e8);
}
google.XNode.prototype.setAttribute.call(this,name,_2e5,_2e6);
this._fireAttributeChangeEvent(doc,_2e8,"onAttributeSet");
}else{
google.XNode.prototype.setAttribute.call(this,name,_2e5,_2e6);
}
};
xap.xml.dom.XapElement.prototype.removeAttribute=function(name){
var doc=this.ownerDocument;
if(doc&&(name=="id")){
throw new xap.util.Exception(xap.util.ResourceDictionary.getMessage(xap.xml.dom.XapElement.CANNOT_SET_ID_ATTRIBUTE_WHEN_PART_OF_DOCUMENT,xap.xml.dom.XapElement.CLASSNAME));
}
var _2eb=new xap.xml.dom.events.AttributeChangeEvent(this,name,null);
this._fireAttributeChangeEvent(doc,_2eb,"beforeAttributeRemoved");
google.XNode.prototype.removeAttribute.call(this,name);
this._fireAttributeChangeEvent(doc,_2eb,"onAttributeRemoved");
if(name=="id"){
setAttribute("id",xap.util.UidProvider.createId());
}
};
xap.xml.dom.XapElement.prototype.insertBefore=function(_2ec,_2ed){
return this._insertBefore(_2ec,_2ed);
};
xap.xml.dom.XapElement.prototype.appendChild=function(_2ee){
return this._insertBefore(_2ee,null);
};
xap.xml.dom.XapElement.prototype.insertChildAt=function(_2ef,_2f0){
var _2f1=this.childNodes.length;
if(_2ef>_2f1){
var _2f2=new xap.xml.dom.events.StructureChangeEvent(this,_2f0,_2ef);
throw new xap.xml.dom.events.ChangeRejectedException(xap.xml.dom.events.ChangeRejectedException.REJECTED_WITH_REASON_MSGID,["Attempted to insert at invalid index: "+_2ef+", last child is at "+_2f1],null,_2f2);
}
var _2f3=null;
if(_2ef==_2f1){
_2f3=this.appendChild(_2f0);
}else{
_2f3=this.insertBefore(_2f0,this.childNodes[_2ef]);
}
return _2f3;
};
xap.xml.dom.XapElement.prototype.removeChild=function(_2f4){
var doc=this.ownerDocument;
var _2f6=this._doAnyStructureChangeListenersExist(doc);
var _2f7=null;
if(_2f6){
_2f7=new xap.xml.dom.events.StructureChangeEvent(this,_2f4,0);
}
google.XNode.prototype.removeChild.call(this,_2f4);
if(_2f4.nodeType==google.DOM_ELEMENT_NODE){
if(doc){
doc._removeDocumentFragmentFromIdMap(_2f4);
}
}
if(_2f6){
this._fireStructureChangeEvent(doc,_2f7,"onChildRemoved");
}
return _2f4;
};
xap.xml.dom.XapElement.prototype.getParent=function(){
if(!this.parentNode||(this.parentNode.nodeType!=google.DOM_ELEMENT_NODE)){
return null;
}
return this.parentNode;
};
xap.xml.dom.XapElement.prototype.getPrefix=function(){
return this._prefix;
};
xap.xml.dom.XapElement.prototype.getNamespaceUri=function(){
return this._namespaceUri;
};
xap.xml.dom.XapElement.prototype.getLocalName=function(){
return this.nodeName;
};
xap.xml.dom.XapElement.prototype.toXml=function(_2f8){
var sbuf="";
sbuf=this._toStringHelper(this,sbuf,0,_2f8,true);
return sbuf;
};
xap.xml.dom.XapElement.prototype.toXmlWithoutAutoAssignedIds=function(_2fa){
var sbuf="";
sbuf=this._toStringHelper(this,sbuf,0,_2fa,false);
return sbuf;
};
xap.xml.dom.XapElement.prototype.addAttributeChangeListener=function(_2fc){
this._getAttributeChangeListeners().push(_2fc);
};
xap.xml.dom.XapElement.prototype.removeAttributeChangeListener=function(_2fd){
xap.util.ArrayHelper.removeElement(this._getAttributeChangeListeners(),_2fd);
};
xap.xml.dom.XapElement.prototype.addStructureChangeListener=function(_2fe){
this._getStructureChangeListeners().push(_2fe);
};
xap.xml.dom.XapElement.prototype.removeStructureChangeListener=function(_2ff){
xap.util.ArrayHelper.removeElement(this._getStructureChangeListeners(),_2ff);
};
xap.xml.dom.XapElement.prototype.addDocumentOwnershipListener=function(_300){
this._getDocumentOwnershipListeners().push(_300);
};
xap.xml.dom.XapElement.prototype.removeDocumentOwnershipListener=function(_301){
xap.util.ArrayHelper.removeElement(this._getDocumentOwnershipListeners(),_301);
};
xap.xml.dom.XapElement.prototype.clone=function(){
return this._cloneHelper(false);
};
xap.xml.dom.XapElement.prototype.deepClone=function(){
return this._cloneHelper(true);
};
xap.xml.dom.XapElement.prototype._insertBefore=function(_302,_303){
var _304=this.childNodes.length;
if(_303){
_304=xap.util.ArrayHelper.indexOf(this.childNodes,_303);
if(_304==-1){
throw new xap.xml.dom.events.ChangeRejectedException(xap.xml.dom.events.ChangeRejectedException.REJECTED_WITH_REASON_MSGID,["Attempted to insert before at invalid node"],null,null);
}
}
var doc=this.ownerDocument;
var _306=this._doAnyStructureChangeListenersExist(doc);
var _307=null;
if(_306){
_307=new xap.xml.dom.events.StructureChangeEvent(this,_302,_304);
this._fireStructureChangeEvent(doc,_307,"beforeChildAdded");
_302=_307.getChange();
if(!_302){
throw new xap.xml.dom.events.ChangeRejectedException(xap.xml.dom.events.ChangeRejectedException.CHANGE_CHILD_TO_NULL_MSGID,null,null,_307);
}
}
var _308=(_302.nodeType==google.DOM_ELEMENT_NODE);
if(_308){
if(_302.ownerDocument){
if(_302.ownerDocument.getRootElement()==_302){
_302.ownerDocument.setRootElement(null);
}
delete _302.ownerDocument;
}
if(doc){
doc._addDocumentFragmentToIdMapAndCheckForPrefixCollisions(_302);
}
}
if(_303){
google.XNode.prototype.insertBefore.call(this,_302,_303);
}else{
google.XNode.prototype.appendChild.call(this,_302);
}
if(_306){
this._fireStructureChangeEvent(doc,_307,"onChildAdded");
}
return _302;
};
xap.xml.dom.XapElement.prototype._setNamespaceUri=function(ns){
this._namespaceUri=ns;
};
xap.xml.dom.XapElement.prototype._setPrefix=function(_30a){
this._prefix=_30a;
};
xap.xml.dom.XapElement.prototype._notifyListenersOnRemovedFromDocument=function(doc){
var _30c=this._getDocumentOwnershipListeners();
for(var i=0;i<_30c.length;i++){
var _30e=_30c[i];
try{
_30e.onRemovedFromDocument(doc);
if(_30c[i]!=_30e){
i=i-1;
}
}
catch(t){
xap.xml.dom.XapElement.s_log.error(xap.util.ResourceDictionary.getMessage(xap.xml.dom.XapElement.DOC_OWNERSHIP_FAILURE,xap.xml.dom.XapElement.CLASSNAME),t);
}
}
};
xap.xml.dom.XapElement.prototype._notifyListenersOnAddedToDocument=function(doc){
var _310=this._getDocumentOwnershipListeners();
for(var i=0;i<_310.length;i++){
var _312=_310[i];
try{
_312.onAddedToDocument(doc);
if(_310[i]!=_312){
i=i-1;
}
}
catch(e){
xap.xml.dom.XapElement.s_log.error(xap.util.ResourceDictionary.getMessage(xap.xml.dom.XapElement.DOC_OWNERSHIP_FAILURE,xap.xml.dom.XapElement.CLASSNAME),e);
}
}
};
xap.xml.dom.XapElement.prototype._getAttributeChangeListeners=function(){
return this._attributeChangeListeners;
};
xap.xml.dom.XapElement.prototype._getStructureChangeListeners=function(){
return this._structureChangeListeners;
};
xap.xml.dom.XapElement.prototype._getDocumentOwnershipListeners=function(){
return this._documentOwnershipListeners;
};
xap.xml.dom.XapElement.prototype._toStringHelper=function(node,sbuf,_315,_316,_317){
if(node.nodeType==google.DOM_TEXT_NODE){
sbuf+=xap.util.XmlUtils.encode(node.nodeValue);
}else{
if(_316&&node.getParent()){
var _318=xap.util.ArrayHelper.indexOf(node.getParent().childNodes,node);
if(_318==-1){
}else{
if(_318===0||(node.getParent().childNodes[_318-1].nodeType==google.DOM_ELEMENT_NODE)){
sbuf+="\n";
xap.xml.dom.XapElement._writeIndent(sbuf,_315);
}
}
}
sbuf+="<";
if(node.getPrefix()){
sbuf+=node.getPrefix()+":";
}
sbuf+=node.getLocalName();
var _319=false;
if(node.getNamespaceUri()!==null){
if(node.getParent()){
var myNS=node.getNamespaceUri();
var _31b=node.getParent().getNamespaceUri();
if(_31b===null||myNS!=_31b){
_319=true;
}
}else{
_319=true;
}
}
if(_319===true){
sbuf+=" ";
if(node.getPrefix()){
sbuf+="xmlns:"+node.getPrefix();
}else{
sbuf+="xmlns";
}
sbuf+="=\""+xap.util.XmlUtils.encode(node.getNamespaceUri())+"\"";
}
for(var i=0;i<node.attributes.length;i++){
var key=node.attributes[i].nodeName;
var _31e=node.attributes[i].nodeValue;
if(!_317){
if("id"==key&&xap.xml.dom.XapElement.isGeneratedId(_31e)){
continue;
}
}
sbuf+=" "+key+"=\"";
sbuf+=xap.util.XmlUtils.encode(_31e);
sbuf+="\"";
}
if(node.childNodes.length===0){
sbuf+="/>";
}else{
sbuf+=">";
var _31f=false;
for(var j=0;j<node.childNodes.length;j++){
var _321=node.childNodes[j];
if(_321.nodeType==google.DOM_TEXT_NODE){
_31f=true;
}
sbuf=this._toStringHelper(_321,sbuf,_315+1,_316,_317);
}
if(_316&&(_31f===false)){
sbuf+="\n";
xap.xml.dom.XapElement._writeIndent(sbuf,_315);
}
sbuf+="</";
if(node.getPrefix()){
sbuf+=node.getPrefix()+":";
}
sbuf+=node.getLocalName()+">";
}
}
return sbuf;
};
xap.xml.dom.XapElement.prototype._fireStructureChangeEvent=function(doc,_323,_324){
if(doc){
this._notifyListeners(doc._structureChangeListeners,_323,_324);
}
this._notifyListeners(this._getStructureChangeListeners(),_323,_324);
};
xap.xml.dom.XapElement.prototype._fireAttributeChangeEvent=function(doc,_326,_327){
if(doc){
this._notifyListeners(doc._attributeChangeListeners,_326,_327);
}
this._notifyListeners(this._getAttributeChangeListeners(),_326,_327);
};
xap.xml.dom.XapElement.prototype._notifyListeners=function(_328,_329,_32a){
if(!_328){
return;
}
for(var i=0;i<_328.length;i++){
var _32c=_328[i];
if(_32c[_32a]){
_32c[_32a].call(_32c,_329);
if(_328[i]!=_32c){
i=i-1;
}
}
}
};
xap.xml.dom.XapElement.prototype._doAnyAttributeChangeListenersExist=function(doc){
return ((doc&&doc._attributeChangeListeners.length>0)||(this._getAttributeChangeListeners().length>0));
};
xap.xml.dom.XapElement.prototype._doAnyStructureChangeListenersExist=function(doc){
return ((doc&&doc._structureChangeListeners.length>0)||(this._getStructureChangeListeners().length>0));
};
xap.xml.dom.XapElement.prototype.indexOfChild=function(_32f){
return xap.util.ArrayHelper.indexOf(this.childNodes,_32f);
};
xap.xml.dom.XapElement.prototype.getChildCount=function(){
return this.childNodes.length;
};
xap.xml.dom.XapElement.prototype.getChildAt=function(_330){
if(_330<this.childNodes.length){
return this.childNodes[_330];
}
return null;
};
xap.xml.dom.XapElement.getFirstTextChild=function(node){
var _332=node.childNodes;
if(!_332){
return null;
}
for(var i=0;_332.length;i++){
if(_332[i].nodeType==google.DOM_TEXT_NODE){
return (_332[i]);
}
}
return null;
};
xap.xml.dom.XapElement.prototype._cloneHelper=function(deep){
var e=new xap.xml.dom.XapElement(this.nodeName);
e._setNamespaceUri(this._namespaceUri);
e._setPrefix(this._prefix);
for(var i=0;i<this.attributes.length;i++){
e.setAttribute(this.attributes[i].nodeName,this.attributes[i].nodeValue,this.attributes[i].baseUrl);
}
if(this.baseUrl){
e.baseUrl=this.baseUrl;
}
var id=e.getAttribute("id");
if(xap.xml.dom.XapElement.isGeneratedId(id)){
e.setAttribute("id",xap.util.UidProvider.createId());
}
if(deep===false){
return e;
}
for(var j=0;j<this.childNodes.length;j++){
var o=this.childNodes[j];
if(o.nodeType==google.DOM_ELEMENT_NODE){
e.appendChild(o._cloneHelper(deep));
}else{
if(o.nodeType==google.DOM_TEXT_NODE){
var _33a=google.XNode.create(google.DOM_TEXT_NODE,null,o.nodeValue,null);
e.appendChild(_33a);
}
}
}
return e;
};
Xap.provide("xap.xml.InvalidXmlException");
Xap.require("xap.util.XapException");
xap.xml.InvalidXmlException=function(_33b,args,_33d){
xap.util.XapException.call(this,_33b,args,_33d);
};
xap.xml.InvalidXmlException.prototype=new xap.util.XapException;
xap.xml.InvalidXmlException.CLASSNAME="xap.xml.InvalidXmlException";
xap.xml.InvalidXmlException.MISSING_ATTRIBUTE_MSGID="missingAttribute";
xap.xml.InvalidXmlException.NULL_LOCALNAME_MSGID="nullLocalName";
xap.xml.InvalidXmlException.ID_CONFLICT_MSGID="idConflict";
xap.xml.InvalidXmlException.PREFIX_CONFLICT_MSGID="prefixConflict";
xap.xml.InvalidXmlException.BAD_ATTRIBUTE_WITH_ROOT_CAUSE="badAttributeCausedBy";
xap.xml.InvalidXmlException.prototype.toString=function(){
var buf="[InvalidXmlException:\t"+xap.util.XapException.prototype.toString.call(this)+"]";
return buf;
};
xap.xml.InvalidXmlException.prototype.getClassName=function(){
return xap.xml.InvalidXmlException.CLASSNAME;
};
Xap.provide("xap.xml.dom.Document");
Xap.require("xap.xml.dom.events.StructureChangeEvent");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.xml.InvalidXmlException");
Xap.require("google.dom");
Xap.require("xap.util.ArrayHelper");
xap.xml.dom.Document=function(_33f){
google.XDocument.call(this);
this._rootElement=_33f;
this._structureChangeListeners=[];
this._attributeChangeListeners=[];
this._idToElementMap={};
this._prefixToNamespaceMap={};
};
xap.xml.dom.Document.prototype=new google.XDocument();
xap.xml.dom.Document.XML_DECL_WITHOUT_ENC="<?xml version=\"1.0\"?>";
xap.xml.dom.Document.prototype.createElement=function(_340,ns,_342){
if(!_340){
throw new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.NULL_LOCALNAME_MSGID,["xap.xml.dom.Document.createElement"]);
}
var e=new xap.xml.dom.XapElement(_340,null,null,null);
e._setNamespaceUri(ns?ns:"");
e._setPrefix(_342);
return e;
};
xap.xml.dom.Document.prototype.getRootElement=function(){
return this._rootElement;
};
xap.xml.dom.Document.prototype.addAttributeChangeListener=function(_344){
this._attributeChangeListeners.push(_344);
};
xap.xml.dom.Document.prototype.removeAttributeChangeListener=function(_345){
return xap.util.ArrayHelper.removeElement(this._attributeChangeListeners,_345);
};
xap.xml.dom.Document.prototype.addStructureChangeListener=function(_346){
this._structureChangeListeners.push(_346);
};
xap.xml.dom.Document.prototype.removeStructureChangeListener=function(_347){
return xap.util.ArrayHelper.removeElement(this._structureChangeListeners,_347);
};
xap.xml.dom.Document.prototype.getElementById=function(id){
return this._idToElementMap[id];
};
xap.xml.dom.Document.prototype.setRootElement=function(root){
if(!root&&!this._rootElement){
return;
}
this._removeExistingRoot();
if(root){
var _34a=new xap.xml.dom.events.StructureChangeEvent(null,root);
this._notifyListenersOfStructureChange(this._structureChangeListeners,_34a,"beforeChildAdded");
this._rootElement=_34a.getChange();
if(this._rootElement.getParent()){
this._rootElement.getParent().removeChild(this._rootElement);
}else{
if(this._rootElement.ownerDocument&&this._rootElement.ownerDocument.getRootElement()==this._rootElement){
this._rootElement.ownerDocument.setRootElement(null);
}
}
this.appendChild(this._rootElement);
this._addDocumentFragmentToIdMapAndCheckForPrefixCollisions(this._rootElement);
this._notifyListenersOfStructureChange(this._structureChangeListeners,_34a,"onChildAdded");
}else{
this._rootElement=null;
}
};
xap.xml.dom.Document.prototype.toXml=function(_34b){
return this._toStringHelper(_34b,true);
};
xap.xml.dom.Document.prototype.toXmlWithoutAutoAssignedIds=function(_34c){
return this._toStringHelper(_34c,false);
};
xap.xml.dom.Document.prototype.toString=function(){
return this._toStringHelper(true,false);
};
xap.xml.dom.Document.prototype._addDocumentFragmentToIdMapAndCheckForPrefixCollisions=function(e){
e.ownerDocument=this;
this._addIdToElementMapping(e.getAttribute("id"),e);
this._checkPrefixForCollisionAndRegister(e);
e._notifyListenersOnAddedToDocument(this);
for(var i=0;i<e.childNodes.length;i++){
var o=e.childNodes[i];
if(o.nodeType==google.DOM_ELEMENT_NODE){
this._addDocumentFragmentToIdMapAndCheckForPrefixCollisions(o);
}
}
};
xap.xml.dom.Document.prototype._removeDocumentFragmentFromIdMap=function(e){
delete e.ownerDocument;
delete (this._idToElementMap[e.getAttribute("id")]);
e._notifyListenersOnRemovedFromDocument(this);
for(var i=0;i<e.childNodes.length;i++){
var o=e.childNodes[i];
if(o.nodeType==google.DOM_ELEMENT_NODE){
this._removeDocumentFragmentFromIdMap(o);
}
}
};
xap.xml.dom.Document.prototype._removeExistingRoot=function(){
if(this._rootElement){
var _353=new xap.xml.dom.events.StructureChangeEvent(null,this._rootElement);
this._notifyListenersOfStructureChange(this._structureChangeListeners,"beforeChildRemoved");
this.removeChild(this._rootElement);
this._removeDocumentFragmentFromIdMap(this._rootElement);
this._notifyListenersOfStructureChange(this._structureChangeListeners,_353,"onChildRemoved");
}
};
xap.xml.dom.Document.prototype._notifyListenersOfStructureChange=function(_354,_355,_356){
if(_354){
for(var i=0;i<_354.length;i++){
var _358=_354[i];
if(_358[_356]){
_358[_356].call(_358,_355);
if(_354[i]!=_358){
i=i-1;
}
}
}
}
};
xap.xml.dom.Document.prototype._addIdToElementMapping=function(id,_35a){
if(this._idToElementMap[id]){
throw new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.ID_CONFLICT_MSGID,[id,_35a.toXml(),this._idToElementMap[id].toXml()]);
}
this._idToElementMap[id]=_35a;
};
xap.xml.dom.Document.prototype._checkPrefixForCollisionAndRegister=function(_35b){
if(!_35b.getPrefix()){
return;
}
if(this._prefixToNamespaceMap[_35b.getPrefix()]){
var _35c=this._prefixToNamespaceMap[_35b.getPrefix()];
var _35d=_35b.getNamespaceUri();
if(_35c!=_35d){
throw new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.PREFIX_CONFLICT_MSGID,[_35b.getPrefix(),_35c,_35b.getPrefix(),_35d]);
}
}else{
this._prefixToNamespaceMap[_35b.getPrefix()]=_35b.getNamespaceUri();
}
};
xap.xml.dom.Document.prototype._toStringHelper=function(_35e,_35f){
var _360="";
if(this._rootElement){
if(_35f){
_360=this._rootElement.toXml(_35e);
}else{
_360=this._rootElement.toXmlWithoutAutoAssignedIds(_35e);
}
}
var sbuf=xap.xml.dom.Document.XML_DECL_WITHOUT_ENC;
if(_35e){
sbuf+="\n";
}
sbuf+=_360;
return sbuf;
};
Xap.provide("xap.session.Container");
Xap.require("xap.util.Hashtable");
xap.session.Container=function(_362){
this._clientSession=_362;
this._namesToObjects=new xap.util.Hashtable();
this._objectsToNames=new xap.util.Hashtable();
};
xap.session.Container.UNNAMED=new Object();
xap.session.Container.prototype.getSession=function(){
return this._clientSession;
};
xap.session.Container.prototype.get=function(name){
return this._namesToObjects.get(name);
};
xap.session.Container.prototype.put=function(name,obj){
var _366=null;
if(name!=null){
_366=this.remove(name);
this._namesToObjects.put(name,obj);
this._objectsToNames.put(obj,name);
}else{
this._objectsToNames.put(obj,xap.session.Container.UNNAMED);
}
if(obj.addedToContainer){
obj.addedToContainer(this,name);
}
var self=this;
if(!obj.getSession){
obj.getSession=function(){
return self._clientSession;
};
}
return _366;
};
xap.session.Container.prototype.getName=function(obj){
var name=this._objectsToNames.get(obj);
if(name==xap.session.Container.UNNAMED){
name=null;
}
return name;
};
xap.session.Container.prototype.getNames=function(){
return this._namesToObjects.keys();
};
xap.session.Container.prototype.containsValue=function(obj){
return this._objectsToNames.containsKey(obj);
};
xap.session.Container.prototype.removeValue=function(obj){
var name=this._objectsToNames.remove(obj);
if(name!=null){
if(name!=xap.session.Container.UNNAMED){
this._namesToObjects.remove(name);
}
if(obj.removedFromContainer){
obj.removedFromContainer(this,name==xap.session.Container.UNNAMED?null:name);
}
}else{
return false;
}
return true;
};
xap.session.Container.prototype.remove=function(name){
var obj=null;
if(name!=null){
obj=this._namesToObjects.get(name);
if(obj!=null){
this._namesToObjects.remove(name);
this._objectsToNames.remove(obj);
if(obj.removedFromContainer){
obj.removedFromContainer(this,name);
}
}
}
return obj;
};
xap.session.Container.prototype.getObjects=function(){
return this._objectsToNames.keys();
};
xap.session.Container.prototype.size=function(){
return this._objectsToNames.size();
};
xap.session.Container.prototype.destroy=function(){
var mcos=getObjects();
for(var i=0;i<mcos.length;i++){
removeValue(mcos[i]);
}
};
Xap.provide("xap.xml.DocumentContainer");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.session.Container");
xap.xml.DocumentContainer=function(_371){
xap.session.Container.call(this,_371);
for(var i=0;i<xap.xml.DocumentContainer.RESERVED_DOCUMENT_NAMES.length;i++){
var doc=new xap.xml.dom.Document(null);
var root=doc.createElement(xap.xml.DocumentContainer.RESERVED_DOCUMENT_NAMES[i]);
doc.setRootElement(root);
this.put(xap.xml.DocumentContainer.RESERVED_DOCUMENT_NAMES[i],doc);
}
};
xap.xml.DocumentContainer.prototype=new xap.session.Container;
xap.xml.DocumentContainer.UI_DOCUMENT_NAME="ui";
xap.xml.DocumentContainer.RESERVED_DOCUMENT_NAMES=[xap.xml.DocumentContainer.UI_DOCUMENT_NAME];
xap.xml.DocumentContainer.prototype.getUiDocument=function(){
return this.get(xap.xml.DocumentContainer.UI_DOCUMENT_NAME);
};
Xap.require("google.misc");
Xap.require("google.dom");
Xap.provide("google.xpath");
with(google){
google.xpathParse=function(expr){
if(xpathdebug){
Log.write("XPath parse "+expr);
}
xpathParseInit();
var _376=xpathCacheLookup(expr);
if(_376){
if(xpathdebug){
Log.write(" ... cached");
}
return _376;
}
if(expr.match(/^(\$|@)?\w+$/i)){
var ret=makeSimpleExpr(expr);
xpathParseCache[expr]=ret;
if(xpathdebug){
Log.write(" ... simple");
}
return ret;
}
if(expr.match(/^\w+(\/\w+)*$/i)){
var ret=makeSimpleExpr2(expr);
xpathParseCache[expr]=ret;
if(xpathdebug){
Log.write(" ... simple 2");
}
return ret;
}
var _378=expr;
var _379=[];
var _37a=null;
var _37b=null;
var done=false;
var _37d=0;
var _37e=0;
var _37f=0;
while(!done){
_37d++;
expr=expr.replace(/^\s*/,"");
_37b=_37a;
_37a=null;
var rule=null;
var _381="";
for(var i=0;i<xpathTokenRules.length;++i){
var _383=xpathTokenRules[i].re.exec(expr);
_37e++;
if(_383&&_383.length>0&&_383[0].length>_381.length){
rule=xpathTokenRules[i];
_381=_383[0];
break;
}
}
if(rule&&(rule==TOK_DIV||rule==TOK_MOD||rule==TOK_AND||rule==TOK_OR)&&(!_37b||_37b.tag==TOK_AT||_37b.tag==TOK_DSLASH||_37b.tag==TOK_SLASH||_37b.tag==TOK_AXIS||_37b.tag==TOK_DOLLAR)){
rule=TOK_QNAME;
}
if(rule){
expr=expr.substr(_381.length);
if(xpathdebug){
Log.write("token: "+_381+" -- "+rule.label);
}
_37a={tag:rule,match:_381,prec:rule.prec?rule.prec:0,expr:makeTokenExpr(_381)};
}else{
if(xpathdebug){
Log.write("DONE");
}
done=true;
}
while(xpathReduce(_379,_37a)){
_37f++;
if(xpathdebug){
Log.write("stack: "+stackToString(_379));
}
}
}
if(xpathdebug){
Log.write(stackToString(_379));
}
if(_379.length!=1){
throw "XPath parse error "+_378+":\n"+stackToString(_379);
}
var _383=_379[0].expr;
xpathParseCache[_378]=_383;
if(xpathdebug){
Log.write("XPath parse: "+_37d+" / "+_37e+" / "+_37f);
}
return _383;
};
xpathParseCache={};
google.xpathCacheLookup=function(expr){
return xpathParseCache[expr];
};
google.xpathReduce=function(_385,_386){
var cand=null;
if(_385.length>0){
var top=_385[_385.length-1];
var _389=xpathRules[top.tag.key];
if(_389){
for(var i=0;i<_389.length;++i){
var rule=_389[i];
var _38c=xpathMatchStack(_385,rule[1]);
if(_38c.length){
cand={tag:rule[0],rule:rule,match:_38c};
cand.prec=xpathGrammarPrecedence(cand);
break;
}
}
}
}
var ret;
if(cand&&(!_386||cand.prec>_386.prec||(_386.tag.left&&cand.prec>=_386.prec))){
for(var i=0;i<cand.match.matchlength;++i){
_385.pop();
}
if(xpathdebug){
Log.write("reduce "+cand.tag.label+" "+cand.prec+" ahead "+(_386?_386.tag.label+" "+_386.prec+(_386.tag.left?" left":""):" none "));
}
var _38e=mapExpr(cand.match,function(m){
return m.expr;
});
cand.expr=cand.rule[3].apply(null,_38e);
_385.push(cand);
ret=true;
}else{
if(_386){
if(xpathdebug){
Log.write("shift "+_386.tag.label+" "+_386.prec+(_386.tag.left?" left":"")+" over "+(cand?cand.tag.label+" "+cand.prec:" none"));
}
_385.push(_386);
}
ret=false;
}
return ret;
};
google.xpathMatchStack=function(_390,_391){
var S=_390.length;
var P=_391.length;
var p,s;
var _395=[];
_395.matchlength=0;
var ds=0;
for(p=P-1,s=S-1;p>=0&&s>=0;--p,s-=ds){
ds=0;
var _397=[];
if(_391[p]==Q_MM){
p-=1;
_395.push(_397);
while(s-ds>=0&&_390[s-ds].tag==_391[p]){
_397.push(_390[s-ds]);
ds+=1;
_395.matchlength+=1;
}
}else{
if(_391[p]==Q_01){
p-=1;
_395.push(_397);
while(s-ds>=0&&ds<2&&_390[s-ds].tag==_391[p]){
_397.push(_390[s-ds]);
ds+=1;
_395.matchlength+=1;
}
}else{
if(_391[p]==Q_1M){
p-=1;
_395.push(_397);
if(_390[s].tag==_391[p]){
while(s-ds>=0&&_390[s-ds].tag==_391[p]){
_397.push(_390[s-ds]);
ds+=1;
_395.matchlength+=1;
}
}else{
return [];
}
}else{
if(_390[s].tag==_391[p]){
_395.push(_390[s]);
ds+=1;
_395.matchlength+=1;
}else{
return [];
}
}
}
}
reverseInplace(_397);
_397.expr=mapExpr(_397,function(m){
return m.expr;
});
}
reverseInplace(_395);
if(p==-1){
return _395;
}else{
return [];
}
};
google.xpathTokenPrecedence=function(tag){
return tag.prec||2;
};
google.xpathGrammarPrecedence=function(_39a){
var ret=0;
if(_39a.rule){
if(_39a.rule.length>=3&&_39a.rule[2]>=0){
ret=_39a.rule[2];
}else{
for(var i=0;i<_39a.rule[1].length;++i){
var p=xpathTokenPrecedence(_39a.rule[1][i]);
ret=Math.max(ret,p);
}
}
}else{
if(_39a.tag){
ret=xpathTokenPrecedence(_39a.tag);
}else{
if(_39a.length){
for(var j=0;j<_39a.length;++j){
var p=xpathGrammarPrecedence(_39a[j]);
ret=Math.max(ret,p);
}
}
}
}
return ret;
};
google.stackToString=function(_39f){
var ret="";
for(var i=0;i<_39f.length;++i){
if(ret){
ret+="\n";
}
ret+=_39f[i].tag.label;
}
return ret;
};
google.ExprContext=function(node,_3a3,_3a4,_3a5){
this.node=node;
this.position=_3a3||0;
this.nodelist=_3a4||[node];
this.variables={};
this.parent=_3a5||null;
this.root=_3a5?_3a5.root:(node.ownerDocument?node.ownerDocument:node);
};
ExprContext.prototype.clone=function(node,_3a7,_3a8){
return new ExprContext(node||this.node,typeof _3a7!="undefined"?_3a7:this.position,_3a8||this.nodelist,this);
};
ExprContext.prototype.setVariable=function(name,_3aa){
this.variables[name]=_3aa;
};
ExprContext.prototype.getVariable=function(name){
if(typeof this.variables[name]!="undefined"){
return this.variables[name];
}else{
if(this.parent){
return this.parent.getVariable(name);
}else{
return null;
}
}
};
ExprContext.prototype.setNode=function(node,_3ad){
this.node=node;
this.position=_3ad;
};
google.StringValue=function(_3ae){
this.value=_3ae;
this.type="string";
};
StringValue.prototype.stringValue=function(){
return this.value;
};
StringValue.prototype.booleanValue=function(){
return this.value.length>0;
};
StringValue.prototype.numberValue=function(){
return this.value-0;
};
StringValue.prototype.nodeSetValue=function(){
throw this+" "+Error().stack;
};
google.BooleanValue=function(_3af){
this.value=_3af;
this.type="boolean";
};
BooleanValue.prototype.stringValue=function(){
return ""+this.value;
};
BooleanValue.prototype.booleanValue=function(){
return this.value;
};
BooleanValue.prototype.numberValue=function(){
return this.value?1:0;
};
BooleanValue.prototype.nodeSetValue=function(){
throw this+" "+Error().stack;
};
google.NumberValue=function(_3b0){
this.value=_3b0;
this.type="number";
};
NumberValue.prototype.stringValue=function(){
return ""+this.value;
};
NumberValue.prototype.booleanValue=function(){
return !!this.value;
};
NumberValue.prototype.numberValue=function(){
return this.value-0;
};
NumberValue.prototype.nodeSetValue=function(){
throw this+" "+Error().stack;
};
google.NodeSetValue=function(_3b1){
this.value=_3b1;
this.type="node-set";
};
NodeSetValue.prototype.stringValue=function(){
if(this.value.length==0){
return "";
}else{
return xmlValue(this.value[0]);
}
};
NodeSetValue.prototype.booleanValue=function(){
return this.value.length>0;
};
NodeSetValue.prototype.numberValue=function(){
return this.stringValue()-0;
};
NodeSetValue.prototype.nodeSetValue=function(){
return this.value;
};
google.TokenExpr=function(m){
this.value=m;
};
TokenExpr.prototype.evaluate=function(){
return new StringValue(this.value);
};
google.LocationExpr=function(){
this.absolute=false;
this.steps=[];
};
LocationExpr.prototype.appendStep=function(s){
this.steps.push(s);
};
LocationExpr.prototype.prependStep=function(s){
var _3b5=this.steps;
this.steps=[s];
for(var i=0;i<_3b5.length;++i){
this.steps.push(_3b5[i]);
}
};
LocationExpr.prototype.evaluate=function(ctx){
var _3b8;
if(this.absolute){
_3b8=ctx.root;
}else{
_3b8=ctx.node;
}
var _3b9=[];
xPathStep(_3b9,this.steps,0,_3b8,ctx);
return new NodeSetValue(_3b9);
};
google.xPathStep=function(_3ba,_3bb,step,_3bd,ctx){
var s=_3bb[step];
var ctx2=ctx.clone(_3bd);
var _3c1=s.evaluate(ctx2).nodeSetValue();
for(var i=0;i<_3c1.length;++i){
if(step==_3bb.length-1){
_3ba.push(_3c1[i]);
}else{
xPathStep(_3ba,_3bb,step+1,_3c1[i],ctx);
}
}
};
google.StepExpr=function(axis,_3c4,_3c5){
this.axis=axis;
this.nodetest=_3c4;
this.predicate=_3c5||[];
};
StepExpr.prototype.appendPredicate=function(p){
this.predicate.push(p);
};
StepExpr.prototype.evaluate=function(ctx){
var _3c8=ctx.node;
var _3c9=[];
if(this.axis==xpathAxis.ANCESTOR_OR_SELF){
_3c9.push(_3c8);
for(var n=_3c8.parentNode;n;n=_3c8.parentNode){
_3c9.push(n);
}
}else{
if(this.axis==xpathAxis.ANCESTOR){
for(var n=_3c8.parentNode;n;n=_3c8.parentNode){
_3c9.push(n);
}
}else{
if(this.axis==xpathAxis.ATTRIBUTE){
copyArray(_3c9,_3c8.attributes);
}else{
if(this.axis==xpathAxis.CHILD){
copyArray(_3c9,_3c8.childNodes);
}else{
if(this.axis==xpathAxis.DESCENDANT_OR_SELF){
_3c9.push(_3c8);
xpathCollectDescendants(_3c9,_3c8);
}else{
if(this.axis==xpathAxis.DESCENDANT){
xpathCollectDescendants(_3c9,_3c8);
}else{
if(this.axis==xpathAxis.FOLLOWING){
for(var n=_3c8.parentNode;n;n=n.parentNode){
for(var nn=n.nextSibling;nn;nn=nn.nextSibling){
_3c9.push(nn);
xpathCollectDescendants(_3c9,nn);
}
}
}else{
if(this.axis==xpathAxis.FOLLOWING_SIBLING){
for(var n=_3c8.nextSibling;n;n=_3c8.nextSibling){
_3c9.push(n);
}
}else{
if(this.axis==xpathAxis.NAMESPACE){
alert("not implemented: axis namespace");
}else{
if(this.axis==xpathAxis.PARENT){
if(_3c8.parentNode){
_3c9.push(_3c8.parentNode);
}
}else{
if(this.axis==xpathAxis.PRECEDING){
for(var n=_3c8.parentNode;n;n=n.parentNode){
for(var nn=n.previousSibling;nn;nn=nn.previousSibling){
_3c9.push(nn);
xpathCollectDescendantsReverse(_3c9,nn);
}
}
}else{
if(this.axis==xpathAxis.PRECEDING_SIBLING){
for(var n=_3c8.previousSibling;n;n=_3c8.previousSibling){
_3c9.push(n);
}
}else{
if(this.axis==xpathAxis.SELF){
_3c9.push(_3c8);
}else{
throw "ERROR -- NO SUCH AXIS: "+this.axis;
}
}
}
}
}
}
}
}
}
}
}
}
}
var _3cc=_3c9;
_3c9=[];
for(var i=0;i<_3cc.length;++i){
var n=_3cc[i];
if(this.nodetest.evaluate(ctx.clone(n,i,_3cc)).booleanValue()){
_3c9.push(n);
}
}
for(var i=0;i<this.predicate.length;++i){
var _3cc=_3c9;
_3c9=[];
for(var ii=0;ii<_3cc.length;++ii){
var n=_3cc[ii];
if(this.predicate[i].evaluate(ctx.clone(n,ii,_3cc)).booleanValue()){
_3c9.push(n);
}
}
}
return new NodeSetValue(_3c9);
};
google.NodeTestAny=function(){
this.value=new BooleanValue(true);
};
NodeTestAny.prototype.evaluate=function(ctx){
return this.value;
};
google.NodeTestElement=function(){
};
NodeTestElement.prototype.evaluate=function(ctx){
return new BooleanValue(ctx.node.nodeType==DOM_ELEMENT_NODE);
};
google.NodeTestText=function(){
};
NodeTestText.prototype.evaluate=function(ctx){
return new BooleanValue(ctx.node.nodeType==DOM_TEXT_NODE);
};
google.NodeTestComment=function(){
};
NodeTestComment.prototype.evaluate=function(ctx){
return new BooleanValue(ctx.node.nodeType==DOM_COMMENT_NODE);
};
google.NodeTestPI=function(_3d3){
this.target=_3d3;
};
NodeTestPI.prototype.evaluate=function(ctx){
return new BooleanValue(ctx.node.nodeType==DOM_PROCESSING_INSTRUCTION_NODE&&(!this.target||ctx.node.nodeName==this.target));
};
google.NodeTestNC=function(_3d5){
this.regex=new RegExp("^"+_3d5+":");
this.nsprefix=_3d5;
};
NodeTestNC.prototype.evaluate=function(ctx){
var n=ctx.node;
return new BooleanValue(this.regex.match(n.nodeName));
};
google.NodeTestName=function(name){
this.name=name;
};
NodeTestName.prototype.evaluate=function(ctx){
var n=ctx.node;
return new BooleanValue(n.nodeName==this.name);
};
google.PredicateExpr=function(expr){
this.expr=expr;
};
PredicateExpr.prototype.evaluate=function(ctx){
var v=this.expr.evaluate(ctx);
if(v.type=="number"){
return new BooleanValue(ctx.position==v.numberValue()-1);
}else{
return new BooleanValue(v.booleanValue());
}
};
google.FunctionCallExpr=function(name){
this.name=name;
this.args=[];
};
FunctionCallExpr.prototype.appendArg=function(arg){
this.args.push(arg);
};
FunctionCallExpr.prototype.evaluate=function(ctx){
var fn=""+this.name.value;
var f=this.xpathfunctions[fn];
if(f){
return f.call(this,ctx);
}else{
Log.write("XPath NO SUCH FUNCTION "+fn);
return new BooleanValue(false);
}
};
FunctionCallExpr.prototype.xpathfunctions={"last":function(ctx){
assert(this.args.length==0);
return new NumberValue(ctx.nodelist.length);
},"position":function(ctx){
assert(this.args.length==0);
return new NumberValue(ctx.position+1);
},"count":function(ctx){
assert(this.args.length==1);
var v=this.args[0].evaluate(ctx);
return new NumberValue(v.nodeSetValue().length);
},"id":function(ctx){
assert(this.args.length==1);
var e=this.args[0].evaluate(ctx);
var ret=[];
var ids;
if(e.type=="node-set"){
ids=[];
for(var i=0;i<e.length;++i){
var v=xmlValue(e[i]).split(/\s+/);
for(var ii=0;ii<v.length;++ii){
ids.push(v[ii]);
}
}
}else{
ids=e.stringValue().split(/\s+/);
}
var d=ctx.node.ownerDocument;
if(!d&&ctx.node.getElementById){
d=ctx.node;
}
for(var i=0;i<ids.length;++i){
var n=d.getElementById(ids[i]);
if(n){
ret.push(n);
}
}
return new NodeSetValue(ret);
},"local-name":function(ctx){
alert("not implmented yet: XPath function local-name()");
},"namespace-uri":function(ctx){
alert("not implmented yet: XPath function namespace-uri()");
},"name":function(ctx){
assert(this.args.length==1||this.args.length==0);
var n;
if(this.args.length==0){
n=[ctx.node];
}else{
n=this.args[0].evaluate(ctx).nodeSetValue();
}
if(n.length==0){
return new StringValue("");
}else{
return new StringValue(n[0].nodeName);
}
},"string":function(ctx){
assert(this.args.length==1||this.args.length==0);
if(this.args.length==0){
return new StringValue(new NodeSetValue([ctx.node]).stringValue());
}else{
return new StringValue(this.args[0].evaluate(ctx).stringValue());
}
},"concat":function(ctx){
var ret="";
for(var i=0;i<this.args.length;++i){
ret+=this.args[i].evaluate(ctx).stringValue();
}
return new StringValue(ret);
},"starts-with":function(ctx){
assert(this.args.length==2);
var s0=this.args[0].evaluate(ctx).stringValue();
var s1=this.args[1].evaluate(ctx).stringValue();
return new BooleanValue(s0.indexOf(s1)==0);
},"contains":function(ctx){
assert(this.args.length==2);
var s0=this.args[0].evaluate(ctx).stringValue();
var s1=this.args[1].evaluate(ctx).stringValue();
return new BooleanValue(s0.indexOf(s1)!=-1);
},"substring-before":function(ctx){
assert(this.args.length==2);
var s0=this.args[0].evaluate(ctx).stringValue();
var s1=this.args[1].evaluate(ctx).stringValue();
var i=s0.indexOf(s1);
var ret;
if(i==-1){
ret="";
}else{
ret=s0.substr(0,i);
}
return new StringValue(ret);
},"substring-after":function(ctx){
assert(this.args.length==2);
var s0=this.args[0].evaluate(ctx).stringValue();
var s1=this.args[1].evaluate(ctx).stringValue();
var i=s0.indexOf(s1);
var ret;
if(i==-1){
ret="";
}else{
ret=s0.substr(i+s1.length);
}
return new StringValue(ret);
},"substring":function(ctx){
assert(this.args.length==2||this.args.length==3);
var s0=this.args[0].evaluate(ctx).stringValue();
var s1=this.args[1].evaluate(ctx).numberValue();
var ret;
if(this.args.length==2){
var i1=Math.max(0,Math.round(s1)-1);
ret=s0.substr(i1);
}else{
var s2=this.args[2].evaluate(ctx).numberValue();
var i0=Math.round(s1)-1;
var i1=Math.max(0,i0);
var i2=Math.round(s2)-Math.max(0,-i0);
ret=s0.substr(i1,i2);
}
return new StringValue(ret);
},"string-length":function(ctx){
var s;
if(this.args.length>0){
s=this.args[0].evaluate(ctx).stringValue();
}else{
s=new NodeSetValue([ctx.node]).stringValue();
}
return new NumberValue(s.length);
},"normalize-space":function(ctx){
var s;
if(this.args.length>0){
s=this.args[0].evaluate(ctx).stringValue();
}else{
s=new NodeSetValue([ctx.node]).stringValue();
}
s=s.replace(/^\s*/,"").replace(/\s*$/,"").replace(/\s+/g," ");
return new StringValue(s);
},"translate":function(ctx){
assert(this.args.length==3);
var s0=this.args[0].evaluate(ctx).stringValue();
var s1=this.args[1].evaluate(ctx).stringValue();
var s2=this.args[2].evaluate(ctx).stringValue();
for(var i=0;i<s1.length;++i){
s0=s0.replace(new RegExp(s1.charAt(i),"g"),s2.charAt(i));
}
return new StringValue(s0);
},"boolean":function(ctx){
assert(this.args.length==1);
return new BooleanValue(this.args[0].evaluate(ctx).booleanValue());
},"not":function(ctx){
assert(this.args.length==1);
var ret=!this.args[0].evaluate(ctx).booleanValue();
return new BooleanValue(ret);
},"true":function(ctx){
assert(this.args.length==0);
return new BooleanValue(true);
},"false":function(ctx){
assert(this.args.length==0);
return new BooleanValue(false);
},"lang":function(ctx){
assert(this.args.length==1);
var lang=this.args[0].evaluate(ctx).stringValue();
var _420;
var n=ctx.node;
while(n&&n!=n.parentNode){
_420=n.getAttribute("xml:lang");
if(_420){
break;
}
n=n.parentNode;
}
if(!_420){
return new BooleanValue(false);
}else{
var re=new RegExp("^"+lang+"$","i");
return new BooleanValue(_420.match(re)||_420.replace(/_.*$/,"").match(re));
}
},"number":function(ctx){
assert(this.args.length==1||this.args.length==0);
if(this.args.length==1){
return new NumberValue(this.args[0].evaluate(ctx).numberValue());
}else{
return new NumberValue(new NodeSetValue([ctx.node]).numberValue());
}
},"sum":function(ctx){
assert(this.args.length==1);
var n=this.args[0].evaluate(ctx).nodeSetValue();
var sum=0;
for(var i=0;i<n.length;++i){
sum+=xmlValue(n[i])-0;
}
return new NumberValue(sum);
},"floor":function(ctx){
assert(this.args.length==1);
var num=this.args[0].evaluate(ctx).numberValue();
return new NumberValue(Math.floor(num));
},"ceiling":function(ctx){
assert(this.args.length==1);
var num=this.args[0].evaluate(ctx).numberValue();
return new NumberValue(Math.ceil(num));
},"round":function(ctx){
assert(this.args.length==1);
var num=this.args[0].evaluate(ctx).numberValue();
return new NumberValue(Math.round(num));
},"ext-join":function(ctx){
assert(this.args.length==2);
var _42f=this.args[0].evaluate(ctx).nodeSetValue();
var _430=this.args[1].evaluate(ctx).stringValue();
var ret="";
for(var i=0;i<_42f.length;++i){
if(ret){
ret+=_430;
}
ret+=xmlValue(_42f[i]);
}
return new StringValue(ret);
},"ext-if":function(ctx){
assert(this.args.length==3);
if(this.args[0].evaluate(ctx).booleanValue()){
return this.args[1].evaluate(ctx);
}else{
return this.args[2].evaluate(ctx);
}
},"ext-sprintf":function(ctx){
assert(this.args.length>=1);
var args=[];
for(var i=0;i<this.args.length;++i){
args.push(this.args[i].evaluate(ctx).stringValue());
}
return new StringValue(sprintf.apply(null,args));
},"ext-cardinal":function(ctx){
assert(this.args.length>=1);
var c=this.args[0].evaluate(ctx).numberValue();
var ret=[];
for(var i=0;i<c;++i){
ret.push(ctx.node);
}
return new NodeSetValue(ret);
}};
google.UnionExpr=function(_43b,_43c){
this.expr1=_43b;
this.expr2=_43c;
};
UnionExpr.prototype.evaluate=function(ctx){
var _43e=this.expr1.evaluate(ctx).nodeSetValue();
var _43f=this.expr2.evaluate(ctx).nodeSetValue();
var I1=_43e.length;
for(var i2=0;i2<_43f.length;++i2){
for(var i1=0;i1<I1;++i1){
if(_43e[i1]==_43f[i2]){
i1=I1;
}
}
_43e.push(_43f[i2]);
}
return new NodeSetValue(_43f);
};
google.PathExpr=function(_443,rel){
this.filter=_443;
this.rel=rel;
};
PathExpr.prototype.evaluate=function(ctx){
var _446=this.filter.evaluate(ctx).nodeSetValue();
var _447=[];
for(var i=0;i<_446.length;++i){
var _449=this.rel.evaluate(ctx.clone(_446[i],i,_446)).nodeSetValue();
for(var ii=0;ii<_449.length;++ii){
_447.push(_449[ii]);
}
}
return new NodeSetValue(_447);
};
google.FilterExpr=function(expr,_44c){
this.expr=expr;
this.predicate=_44c;
};
FilterExpr.prototype.evaluate=function(ctx){
var _44e=this.expr.evaluate(ctx).nodeSetValue();
for(var i=0;i<this.predicate.length;++i){
var _450=_44e;
_44e=[];
for(var j=0;j<_450.length;++j){
var n=_450[j];
if(this.predicate[i].evaluate(ctx.clone(n,j,_450)).booleanValue()){
_44e.push(n);
}
}
}
return new NodeSetValue(_44e);
};
google.UnaryMinusExpr=function(expr){
this.expr=expr;
};
UnaryMinusExpr.prototype.evaluate=function(ctx){
return new NumberValue(-this.expr.evaluate(ctx).numberValue());
};
google.BinaryExpr=function(_455,op,_457){
this.expr1=_455;
this.expr2=_457;
this.op=op;
};
BinaryExpr.prototype.evaluate=function(ctx){
var ret;
switch(this.op.value){
case "or":
ret=new BooleanValue(this.expr1.evaluate(ctx).booleanValue()||this.expr2.evaluate(ctx).booleanValue());
break;
case "and":
ret=new BooleanValue(this.expr1.evaluate(ctx).booleanValue()&&this.expr2.evaluate(ctx).booleanValue());
break;
case "+":
ret=new NumberValue(this.expr1.evaluate(ctx).numberValue()+this.expr2.evaluate(ctx).numberValue());
break;
case "-":
ret=new NumberValue(this.expr1.evaluate(ctx).numberValue()-this.expr2.evaluate(ctx).numberValue());
break;
case "*":
ret=new NumberValue(this.expr1.evaluate(ctx).numberValue()*this.expr2.evaluate(ctx).numberValue());
break;
case "mod":
ret=new NumberValue(this.expr1.evaluate(ctx).numberValue()%this.expr2.evaluate(ctx).numberValue());
break;
case "div":
ret=new NumberValue(this.expr1.evaluate(ctx).numberValue()/this.expr2.evaluate(ctx).numberValue());
break;
case "=":
ret=this.compare(ctx,function(x1,x2){
return x1==x2;
});
break;
case "!=":
ret=this.compare(ctx,function(x1,x2){
return x1!=x2;
});
break;
case "<":
ret=this.compare(ctx,function(x1,x2){
return x1<x2;
});
break;
case "<=":
ret=this.compare(ctx,function(x1,x2){
return x1<=x2;
});
break;
case ">":
ret=this.compare(ctx,function(x1,x2){
return x1>x2;
});
break;
case ">=":
ret=this.compare(ctx,function(x1,x2){
return x1>=x2;
});
break;
default:
alert("BinaryExpr.evaluate: "+this.op.value);
}
return ret;
};
BinaryExpr.prototype.compare=function(ctx,cmp){
var v1=this.expr1.evaluate(ctx);
var v2=this.expr2.evaluate(ctx);
var ret;
if(v1.type=="node-set"&&v2.type=="node-set"){
var n1=v1.nodeSetValue();
var n2=v2.nodeSetValue();
ret=false;
for(var i1=0;i1<n1.length;++i1){
for(var i2=0;i2<n2.length;++i2){
if(cmp(xmlValue(n1[i1]),xmlValue(n2[i2]))){
ret=true;
i2=n2.length;
i1=n1.length;
}
}
}
}else{
if(v1.type=="node-set"||v2.type=="node-set"){
if(v1.type=="number"){
var s=v1.numberValue();
var n=v2.nodeSetValue();
ret=false;
for(var i=0;i<n.length;++i){
var nn=xmlValue(n[i])-0;
if(cmp(s,nn)){
ret=true;
break;
}
}
}else{
if(v2.type=="number"){
var n=v1.nodeSetValue();
var s=v2.numberValue();
ret=false;
for(var i=0;i<n.length;++i){
var nn=xmlValue(n[i])-0;
if(cmp(nn,s)){
ret=true;
break;
}
}
}else{
if(v1.type=="string"){
var s=v1.stringValue();
var n=v2.nodeSetValue();
ret=false;
for(var i=0;i<n.length;++i){
var nn=xmlValue(n[i]);
if(cmp(s,nn)){
ret=true;
break;
}
}
}else{
if(v2.type=="string"){
var n=v1.nodeSetValue();
var s=v2.stringValue();
ret=false;
for(var i=0;i<n.length;++i){
var nn=xmlValue(n[i]);
if(cmp(nn,s)){
ret=true;
break;
}
}
}else{
ret=cmp(v1.booleanValue(),v2.booleanValue());
}
}
}
}
}else{
if(v1.type=="boolean"||v2.type=="boolean"){
ret=cmp(v1.booleanValue(),v2.booleanValue());
}else{
if(v1.type=="number"||v2.type=="number"){
ret=cmp(v1.numberValue(),v2.numberValue());
}else{
ret=cmp(v1.stringValue(),v2.stringValue());
}
}
}
}
return new BooleanValue(ret);
};
google.LiteralExpr=function(_473){
this.value=_473;
};
LiteralExpr.prototype.evaluate=function(ctx){
return new StringValue(this.value);
};
google.NumberExpr=function(_475){
this.value=_475;
};
NumberExpr.prototype.evaluate=function(ctx){
return new NumberValue(this.value);
};
google.VariableExpr=function(name){
this.name=name;
};
VariableExpr.prototype.evaluate=function(ctx){
return ctx.getVariable(this.name);
};
google.makeTokenExpr=function(m){
return new TokenExpr(m);
};
google.passExpr=function(e){
return e;
};
google.makeLocationExpr1=function(_47b,rel){
rel.absolute=true;
return rel;
};
google.makeLocationExpr2=function(_47d,rel){
rel.absolute=true;
rel.prependStep(makeAbbrevStep(_47d.value));
return rel;
};
google.makeLocationExpr3=function(_47f){
var ret=new LocationExpr();
ret.appendStep(makeAbbrevStep("."));
ret.absolute=true;
return ret;
};
google.makeLocationExpr4=function(_481){
var ret=new LocationExpr();
ret.absolute=true;
ret.appendStep(makeAbbrevStep(_481.value));
return ret;
};
google.makeLocationExpr5=function(step){
var ret=new LocationExpr();
ret.appendStep(step);
return ret;
};
google.makeLocationExpr6=function(rel,_486,step){
rel.appendStep(step);
return rel;
};
google.makeLocationExpr7=function(rel,_489,step){
rel.appendStep(makeAbbrevStep(_489.value));
return rel;
};
google.makeStepExpr1=function(dot){
return makeAbbrevStep(dot.value);
};
google.makeStepExpr2=function(ddot){
return makeAbbrevStep(ddot.value);
};
google.makeStepExpr3=function(_48d,axis,_48f){
return new StepExpr(_48d.value,_48f);
};
google.makeStepExpr4=function(at,_491){
return new StepExpr("attribute",_491);
};
google.makeStepExpr5=function(_492){
return new StepExpr("child",_492);
};
google.makeStepExpr6=function(step,_494){
step.appendPredicate(_494);
return step;
};
google.makeAbbrevStep=function(_495){
switch(_495){
case "//":
return new StepExpr("descendant-or-self",new NodeTestAny);
case ".":
return new StepExpr("self",new NodeTestAny);
case "..":
return new StepExpr("parent",new NodeTestAny);
}
};
google.makeNodeTestExpr1=function(_496){
return new NodeTestElement;
};
google.makeNodeTestExpr2=function(_497,_498,_499){
return new NodeTestNC(_497.value);
};
google.makeNodeTestExpr3=function(_49a){
return new NodeTestName(_49a.value);
};
google.makeNodeTestExpr4=function(_49b,_49c){
var type=_49b.value.replace(/\s*\($/,"");
switch(type){
case "node":
return new NodeTestAny;
case "text":
return new NodeTestText;
case "comment":
return new NodeTestComment;
case "processing-instruction":
return new NodeTestPI;
}
};
google.makeNodeTestExpr5=function(_49e,_49f,_4a0){
var type=_49e.replace(/\s*\($/,"");
if(type!="processing-instruction"){
throw type+" "+Error().stack;
}
return new NodeTestPI(_49f.value);
};
google.makePredicateExpr=function(_4a2,expr,_4a4){
return new PredicateExpr(expr);
};
google.makePrimaryExpr=function(_4a5,expr,_4a7){
return expr;
};
google.makeFunctionCallExpr1=function(name,_4a9,_4aa){
return new FunctionCallExpr(name);
};
google.makeFunctionCallExpr2=function(name,_4ac,arg1,args,_4af){
var ret=new FunctionCallExpr(name);
ret.appendArg(arg1);
for(var i=0;i<args.length;++i){
ret.appendArg(args[i]);
}
return ret;
};
google.makeArgumentExpr=function(_4b2,expr){
return expr;
};
google.makeUnionExpr=function(_4b4,pipe,_4b6){
return new UnionExpr(_4b4,_4b6);
};
google.makePathExpr1=function(_4b7,_4b8,rel){
return new PathExpr(_4b7,rel);
};
google.makePathExpr2=function(_4ba,_4bb,rel){
rel.prependStep(makeAbbrevStep(_4bb.value));
return new PathExpr(_4ba,rel);
};
google.makeFilterExpr=function(expr,_4be){
if(_4be.length>0){
return new FilterExpr(expr,_4be);
}else{
return expr;
}
};
google.makeUnaryMinusExpr=function(_4bf,expr){
return new UnaryMinusExpr(expr);
};
google.makeBinaryExpr=function(_4c1,op,_4c3){
return new BinaryExpr(_4c1,op,_4c3);
};
google.makeLiteralExpr=function(_4c4){
var _4c5=_4c4.value.substring(1,_4c4.value.length-1);
return new LiteralExpr(_4c5);
};
google.makeNumberExpr=function(_4c6){
return new NumberExpr(_4c6.value);
};
google.makeVariableReference=function(_4c7,name){
return new VariableExpr(name.value);
};
google.makeSimpleExpr=function(expr){
if(expr.charAt(0)=="$"){
return new VariableExpr(expr.substr(1));
}else{
if(expr.charAt(0)=="@"){
var a=new NodeTestName(expr.substr(1));
var b=new StepExpr("attribute",a);
var c=new LocationExpr();
c.appendStep(b);
return c;
}else{
if(expr.match(/^[0-9]+$/)){
return new NumberExpr(expr);
}else{
var a=new NodeTestName(expr);
var b=new StepExpr("child",a);
var c=new LocationExpr();
c.appendStep(b);
return c;
}
}
}
};
google.makeSimpleExpr2=function(expr){
var _4ce=expr.split("/");
var c=new LocationExpr();
for(var i=0;i<_4ce.length;i++){
var a=new NodeTestName(_4ce[i]);
var b=new StepExpr("child",a);
c.appendStep(b);
}
return c;
};
google.xpathAxis={ANCESTOR_OR_SELF:"ancestor-or-self",ANCESTOR:"ancestor",ATTRIBUTE:"attribute",CHILD:"child",DESCENDANT_OR_SELF:"descendant-or-self",DESCENDANT:"descendant",FOLLOWING_SIBLING:"following-sibling",FOLLOWING:"following",NAMESPACE:"namespace",PARENT:"parent",PRECEDING_SIBLING:"preceding-sibling",PRECEDING:"preceding",SELF:"self"};
google.xpathAxesRe=[xpathAxis.ANCESTOR_OR_SELF,xpathAxis.ANCESTOR,xpathAxis.ATTRIBUTE,xpathAxis.CHILD,xpathAxis.DESCENDANT_OR_SELF,xpathAxis.DESCENDANT,xpathAxis.FOLLOWING_SIBLING,xpathAxis.FOLLOWING,xpathAxis.NAMESPACE,xpathAxis.PARENT,xpathAxis.PRECEDING_SIBLING,xpathAxis.PRECEDING,xpathAxis.SELF].join("|");
google.TOK_PIPE={label:"|",prec:17,re:new RegExp("^\\|")};
google.TOK_DSLASH={label:"//",prec:19,re:new RegExp("^//")};
google.TOK_SLASH={label:"/",prec:30,re:new RegExp("^/")};
google.TOK_AXIS={label:"::",prec:20,re:new RegExp("^::")};
google.TOK_COLON={label:":",prec:1000,re:new RegExp("^:")};
google.TOK_AXISNAME={label:"[axis]",re:new RegExp("^("+xpathAxesRe+")")};
google.TOK_PARENO={label:"(",prec:34,re:new RegExp("^\\(")};
google.TOK_PARENC={label:")",re:new RegExp("^\\)")};
google.TOK_DDOT={label:"..",prec:34,re:new RegExp("^\\.\\.")};
google.TOK_DOT={label:".",prec:34,re:new RegExp("^\\.")};
google.TOK_AT={label:"@",prec:34,re:new RegExp("^@")};
google.TOK_COMMA={label:",",re:new RegExp("^,")};
google.TOK_OR={label:"or",prec:10,re:new RegExp("^or\\b")};
google.TOK_AND={label:"and",prec:11,re:new RegExp("^and\\b")};
google.TOK_EQ={label:"=",prec:12,re:new RegExp("^=")};
google.TOK_NEQ={label:"!=",prec:12,re:new RegExp("^!=")};
google.TOK_GE={label:">=",prec:13,re:new RegExp("^>=")};
google.TOK_GT={label:">",prec:13,re:new RegExp("^>")};
google.TOK_LE={label:"<=",prec:13,re:new RegExp("^<=")};
google.TOK_LT={label:"<",prec:13,re:new RegExp("^<")};
google.TOK_PLUS={label:"+",prec:14,re:new RegExp("^\\+"),left:true};
google.TOK_MINUS={label:"-",prec:14,re:new RegExp("^\\-"),left:true};
google.TOK_DIV={label:"div",prec:15,re:new RegExp("^div\\b"),left:true};
google.TOK_MOD={label:"mod",prec:15,re:new RegExp("^mod\\b"),left:true};
google.TOK_BRACKO={label:"[",prec:32,re:new RegExp("^\\[")};
google.TOK_BRACKC={label:"]",re:new RegExp("^\\]")};
google.TOK_DOLLAR={label:"$",re:new RegExp("^\\$")};
google.TOK_NCNAME={label:"[ncname]",re:new RegExp("^[a-z][-\\w]*","i")};
google.TOK_ASTERISK={label:"*",prec:15,re:new RegExp("^\\*"),left:true};
google.TOK_LITERALQ={label:"[litq]",prec:20,re:new RegExp("^'[^\\']*'")};
google.TOK_LITERALQQ={label:"[litqq]",prec:20,re:new RegExp("^\"[^\\\"]*\"")};
google.TOK_NUMBER={label:"[number]",prec:35,re:new RegExp("^\\d+(\\.\\d*)?")};
google.TOK_QNAME={label:"[qname]",re:new RegExp("^([a-z][-\\w]*:)?[a-z][-\\w]*","i")};
google.TOK_NODEO={label:"[nodetest-start]",re:new RegExp("^(processing-instruction|comment|text|node)\\(")};
google.xpathTokenRules=[TOK_DSLASH,TOK_SLASH,TOK_DDOT,TOK_DOT,TOK_AXIS,TOK_COLON,TOK_AXISNAME,TOK_NODEO,TOK_PARENO,TOK_PARENC,TOK_BRACKO,TOK_BRACKC,TOK_AT,TOK_COMMA,TOK_OR,TOK_AND,TOK_NEQ,TOK_EQ,TOK_GE,TOK_GT,TOK_LE,TOK_LT,TOK_PLUS,TOK_MINUS,TOK_ASTERISK,TOK_PIPE,TOK_MOD,TOK_DIV,TOK_LITERALQ,TOK_LITERALQQ,TOK_NUMBER,TOK_QNAME,TOK_NCNAME,TOK_DOLLAR];
google.XPathLocationPath={label:"LocationPath"};
google.XPathRelativeLocationPath={label:"RelativeLocationPath"};
google.XPathAbsoluteLocationPath={label:"AbsoluteLocationPath"};
google.XPathStep={label:"Step"};
google.XPathNodeTest={label:"NodeTest"};
google.XPathPredicate={label:"Predicate"};
google.XPathLiteral={label:"Literal"};
google.XPathExpr={label:"Expr"};
google.XPathPrimaryExpr={label:"PrimaryExpr"};
google.XPathVariableReference={label:"Variablereference"};
google.XPathNumber={label:"Number"};
google.XPathFunctionCall={label:"FunctionCall"};
google.XPathArgumentRemainder={label:"ArgumentRemainder"};
google.XPathPathExpr={label:"PathExpr"};
google.XPathUnionExpr={label:"UnionExpr"};
google.XPathFilterExpr={label:"FilterExpr"};
google.XPathDigits={label:"Digits"};
google.xpathNonTerminals=[XPathLocationPath,XPathRelativeLocationPath,XPathAbsoluteLocationPath,XPathStep,XPathNodeTest,XPathPredicate,XPathLiteral,XPathExpr,XPathPrimaryExpr,XPathVariableReference,XPathNumber,XPathFunctionCall,XPathArgumentRemainder,XPathPathExpr,XPathUnionExpr,XPathFilterExpr,XPathDigits];
google.Q_01={label:"?"};
google.Q_MM={label:"*"};
google.Q_1M={label:"+"};
google.ASSOC_LEFT=true;
google.xpathGrammarRules=[[XPathLocationPath,[XPathRelativeLocationPath],18,passExpr],[XPathLocationPath,[XPathAbsoluteLocationPath],18,passExpr],[XPathAbsoluteLocationPath,[TOK_SLASH,XPathRelativeLocationPath],18,makeLocationExpr1],[XPathAbsoluteLocationPath,[TOK_DSLASH,XPathRelativeLocationPath],18,makeLocationExpr2],[XPathAbsoluteLocationPath,[TOK_SLASH],0,makeLocationExpr3],[XPathAbsoluteLocationPath,[TOK_DSLASH],0,makeLocationExpr4],[XPathRelativeLocationPath,[XPathStep],31,makeLocationExpr5],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_SLASH,XPathStep],31,makeLocationExpr6],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_DSLASH,XPathStep],31,makeLocationExpr7],[XPathStep,[TOK_DOT],33,makeStepExpr1],[XPathStep,[TOK_DDOT],33,makeStepExpr2],[XPathStep,[TOK_AXISNAME,TOK_AXIS,XPathNodeTest],33,makeStepExpr3],[XPathStep,[TOK_AT,XPathNodeTest],33,makeStepExpr4],[XPathStep,[XPathNodeTest],33,makeStepExpr5],[XPathStep,[XPathStep,XPathPredicate],33,makeStepExpr6],[XPathNodeTest,[TOK_ASTERISK],33,makeNodeTestExpr1],[XPathNodeTest,[TOK_NCNAME,TOK_COLON,TOK_ASTERISK],33,makeNodeTestExpr2],[XPathNodeTest,[TOK_QNAME],33,makeNodeTestExpr3],[XPathNodeTest,[TOK_NODEO,TOK_PARENC],33,makeNodeTestExpr4],[XPathNodeTest,[TOK_NODEO,XPathLiteral,TOK_PARENC],33,makeNodeTestExpr5],[XPathPredicate,[TOK_BRACKO,XPathExpr,TOK_BRACKC],33,makePredicateExpr],[XPathPrimaryExpr,[XPathVariableReference],33,passExpr],[XPathPrimaryExpr,[TOK_PARENO,XPathExpr,TOK_PARENC],33,makePrimaryExpr],[XPathPrimaryExpr,[XPathLiteral],30,passExpr],[XPathPrimaryExpr,[XPathNumber],30,passExpr],[XPathPrimaryExpr,[XPathFunctionCall],30,passExpr],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,TOK_PARENC],-1,makeFunctionCallExpr1],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,XPathExpr,XPathArgumentRemainder,Q_MM,TOK_PARENC],-1,makeFunctionCallExpr2],[XPathArgumentRemainder,[TOK_COMMA,XPathExpr],-1,makeArgumentExpr],[XPathUnionExpr,[XPathPathExpr],20,passExpr],[XPathUnionExpr,[XPathUnionExpr,TOK_PIPE,XPathPathExpr],20,makeUnionExpr],[XPathPathExpr,[XPathLocationPath],20,passExpr],[XPathPathExpr,[XPathFilterExpr],19,passExpr],[XPathPathExpr,[XPathFilterExpr,TOK_SLASH,XPathRelativeLocationPath],20,makePathExpr1],[XPathPathExpr,[XPathFilterExpr,TOK_DSLASH,XPathRelativeLocationPath],20,makePathExpr2],[XPathPathExpr,[XPathFunctionCall,TOK_SLASH,XPathRelativeLocationPath],20,makePathExpr1],[XPathPathExpr,[XPathFunctionCall,TOK_DSLASH,XPathRelativeLocationPath],20,makePathExpr2],[XPathFilterExpr,[XPathPrimaryExpr,XPathPredicate,Q_MM],20,makeFilterExpr],[XPathExpr,[XPathPrimaryExpr],16,passExpr],[XPathExpr,[XPathUnionExpr],16,passExpr],[XPathExpr,[TOK_MINUS,XPathExpr],-1,makeUnaryMinusExpr],[XPathExpr,[XPathExpr,TOK_OR,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_AND,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_EQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_NEQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_PLUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MINUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_ASTERISK,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_DIV,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MOD,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathLiteral,[TOK_LITERALQ],-1,makeLiteralExpr],[XPathLiteral,[TOK_LITERALQQ],-1,makeLiteralExpr],[XPathNumber,[TOK_NUMBER],-1,makeNumberExpr],[XPathVariableReference,[TOK_DOLLAR,TOK_QNAME],200,makeVariableReference]];
google.xpathRules=[];
google.xpathParseInit=function(){
if(xpathRules.length){
return;
}
xpathGrammarRules.sort(function(a,b){
var la=a[1].length;
var lb=b[1].length;
if(la<lb){
return 1;
}else{
if(la>lb){
return -1;
}else{
return 0;
}
}
});
var k=1;
for(var i=0;i<xpathNonTerminals.length;++i){
xpathNonTerminals[i].key=k++;
}
for(i=0;i<xpathTokenRules.length;++i){
xpathTokenRules[i].key=k++;
}
Log.write("XPath parse INIT: "+k+" rules");
function push_(_4d9,_4da,_4db){
if(!_4d9[_4da]){
_4d9[_4da]=[];
}
_4d9[_4da].push(_4db);
}
for(i=0;i<xpathGrammarRules.length;++i){
var rule=xpathGrammarRules[i];
var _4dd=rule[1];
for(var j=_4dd.length-1;j>=0;--j){
if(_4dd[j]==Q_1M){
push_(xpathRules,_4dd[j-1].key,rule);
break;
}else{
if(_4dd[j]==Q_MM||_4dd[j]==Q_01){
push_(xpathRules,_4dd[j-1].key,rule);
--j;
}else{
push_(xpathRules,_4dd[j].key,rule);
break;
}
}
}
}
Log.write("XPath parse INIT: "+xpathRules.length+" rule bins");
var sum=0;
mapExec(xpathRules,function(i){
if(i){
sum+=i.length;
}
});
Log.write("XPath parse INIT: "+(sum/xpathRules.length)+" average bin size");
};
google.xpathCollectDescendants=function(_4e1,node){
for(var n=node.firstChild;n;n=n.nextSibling){
_4e1.push(n);
arguments.callee(_4e1,n);
}
};
google.xpathCollectDescendantsReverse=function(_4e4,node){
for(var n=node.lastChild;n;n=n.previousSibling){
_4e4.push(n);
arguments.callee(_4e4,n);
}
};
google.xpathDomEval=function(expr,node){
var _4e9=xpathParse(expr);
var ret=_4e9.evaluate(new ExprContext(node));
return ret;
};
google.xpathSort=function(_4eb,sort){
if(sort.length==0){
return;
}
var _4ed=[];
for(var i=0;i<_4eb.nodelist.length;++i){
var node=_4eb.nodelist[i];
var _4f0={node:node,key:[]};
var _4f1=_4eb.clone(node,0,[node]);
for(var j=0;j<sort.length;++j){
var s=sort[j];
var _4f4=s.expr.evaluate(_4f1);
var _4f5;
if(s.type=="text"){
_4f5=_4f4.stringValue();
}else{
if(s.type=="number"){
_4f5=_4f4.numberValue();
}
}
_4f0.key.push({value:_4f5,order:s.order});
}
_4f0.key.push({value:i,order:"ascending"});
_4ed.push(_4f0);
}
_4ed.sort(xpathSortByKey);
var _4f6=[];
for(var i=0;i<_4ed.length;++i){
_4f6.push(_4ed[i].node);
}
_4eb.nodelist=_4f6;
_4eb.setNode(_4f6[0],0);
};
google.xpathSortByKey=function(v1,v2){
for(var i=0;i<v1.key.length;++i){
var o=v1.key[i].order=="descending"?-1:1;
if(v1.key[i].value>v2.key[i].value){
return +1*o;
}else{
if(v1.key[i].value<v2.key[i].value){
return -1*o;
}
}
}
return 0;
};
}
Xap.provide("xap.xml.sax.SaxContentHandler");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.util.Hashtable");
Xap.require("xap.util.Character");
xap.xml.sax.SaxContentHandler=function(){
this._root=null;
this._currentParent=null;
this._document=null;
this._currentElement=new Array();
this._prefixToNamespace=new xap.util.Hashtable();
this._namespaceStackFrames=new Array();
};
xap.xml.sax.SaxContentHandler.prototype.startDocument=function(){
this._document=new xap.xml.dom.Document(null);
};
xap.xml.sax.SaxContentHandler.prototype.endDocument=function(){
this._document.setRootElement(this._root);
};
xap.xml.sax.SaxContentHandler.prototype.getDocument=function(){
return this._document;
};
xap.xml.sax.SaxContentHandler.prototype.startElement=function(name,_4fc,_4fd){
var _4fe=this._processNamespaceDeclarations(_4fc);
if(_4fe!=null){
this._namespaceStackFrames.push(_4fe);
}
var _4ff=null;
var _500=null;
var j=name.indexOf(":",0);
if(j!=-1){
_4ff=name.substring(0,j);
name=name.substring(j+1,name.length);
}
if(_4ff!=null){
_500=this._getNamespaceForPrefix(_4ff);
}else{
_500=this._getDefaultNamespace();
}
var el=this._document.createElement(name,_500,_4ff);
if(_4fd){
el.baseUrl=_4fd;
}
if(_4fe!=null){
_4fe._element=el;
}
this._currentElement.push(el);
var id=_4fc["id"];
if(id!=null&&id!=""){
el.setAttribute("id",id);
}
if(this._root==null){
this._root=el;
}
if(this._currentParent!=null){
this._currentParent.appendChild(el);
}
this._currentParent=el;
for(var attr in _4fc){
el.setAttribute(attr,_4fc[attr]);
}
};
xap.xml.sax.SaxContentHandler.prototype.endElement=function(name){
if(this._currentParent!=null){
this._currentParent=this._currentParent.getParent();
}
var _506=this._currentElement.pop();
var _507=this._namespaceStackFrames.length;
if(_507>0&&this._namespaceStackFrames[_507-1]._element==_506){
this._namespaceStackFrames.pop();
}
};
xap.xml.sax.SaxContentHandler.prototype.characters=function(data){
if(this._currentParent!=null){
if(!xap.util.Character.isWhiteSpace(data)){
var _509=this._document.createTextNode(data);
this._currentParent.appendChild(_509);
}
}
};
xap.xml.sax.SaxContentHandler.prototype._getDefaultNamespace=function(){
for(var i=this._namespaceStackFrames.length-1;i>=0;i--){
if(this._namespaceStackFrames[i]._defaultNamespace!=null){
return this._namespaceStackFrames[i]._defaultNamespace;
}
}
return null;
};
xap.xml.sax.SaxContentHandler.prototype._getNamespaceForPrefix=function(_50b){
for(var i=this._namespaceStackFrames.length-1;i>=0;i--){
if(this._namespaceStackFrames[i]._prefixToNamespaces&&this._namespaceStackFrames[i]._prefixToNamespaces[_50b]!=null){
return this._namespaceStackFrames[i]._prefixToNamespaces[_50b];
}
}
return null;
};
xap.xml.sax.SaxContentHandler.prototype._processNamespaceDeclarations=function(_50d){
var _50e=null;
for(var attr in _50d){
if(attr.indexOf("xmlns")==0){
if(_50e==null){
_50e=new xap.xml.sax.SaxContentHandler.NamespaceStackFrame();
}
if(attr=="xmlns"){
_50e.setDefaultNamespace(_50d[attr]);
}else{
var _510=attr.substring(attr.indexOf(":")+1);
_50e.addNamespacePrefix(_510,_50d[attr]);
}
}
}
return _50e;
};
xap.xml.sax.SaxContentHandler.prototype._parsePrefix=function(name){
var _512=null;
var j=name.indexOf(":",0);
if(j!=-1){
_512=name.substring(0,j);
}
return _512;
};
xap.xml.sax.SaxContentHandler.NamespaceStackFrame=function(){
this._defaultNamespace=null;
this._prefixToNamespaces=null;
};
xap.xml.sax.SaxContentHandler.NamespaceStackFrame.prototype.setDefaultNamespace=function(_514){
this._defaultNamespace=_514;
};
xap.xml.sax.SaxContentHandler.NamespaceStackFrame.prototype.addNamespacePrefix=function(_515,_516){
if(!this._prefixToNamespaces){
this._prefixToNamespaces=new Object();
}
this._prefixToNamespaces[_515]=_516;
};
xap.xml.sax.SaxContentHandler.NamespaceStackFrame.prototype.toString=function(){
var _517="Default namespace:"+this._defaultNamespace+"\n";
if(this._prefixToNamespaces){
for(var i in this._prefixToNamespaces){
_517+=i+":"+this._prefixToNamespaces[i]+"\n";
}
}
return _517;
};
Xap.provide("xap.xml.sax.SaxParser");
Xap.require("xap.xml.sax.ParserException");
Xap.require("xap.util.Hashtable");
Xap.require("xap.util.Character");
xap.xml.sax.SaxParser=function(_519){
this.doc=false;
this.handler=_519;
this._cursor=-1;
this._data=null;
this._parseModeStack=new Array(xap.xml.sax.SaxParser.START_DOCUMENT);
this._setParseMode(xap.xml.sax.SaxParser.START_DOCUMENT);
this._documentEnded=false;
this._inContent=false;
this._atEndOfLine=false;
this._currentLine=-1;
this._currentColumn=-1;
};
xap.xml.sax.SaxParser.NO_NAMESPACE=18;
xap.xml.sax.SaxParser.START_DOCUMENT=0;
xap.xml.sax.SaxParser.END_DOCUMENT=1;
xap.xml.sax.SaxParser.START_TAG=2;
xap.xml.sax.SaxParser.END_TAG=3;
xap.xml.sax.SaxParser.TEXT=4;
xap.xml.sax.SaxParser.CDSECT=5;
xap.xml.sax.SaxParser.ENTITY_REF=6;
xap.xml.sax.SaxParser.IGNORABLE_WHITESPACE=7;
xap.xml.sax.SaxParser.PROCESSING_INSTRUCTION=8;
xap.xml.sax.SaxParser.COMMENT=9;
xap.xml.sax.SaxParser.DOCDECL=10;
xap.xml.sax.SaxParser.OPEN_TAG=11;
xap.xml.sax.SaxParser.IN_TAG=12;
xap.xml.sax.SaxParser.SELF_CONTAINED_TAG=13;
xap.xml.sax.SaxParser.IN_ATTR_KEY=14;
xap.xml.sax.SaxParser.AT_ATTR_EQUALS_SIGN=15;
xap.xml.sax.SaxParser.IN_ATTR_VALUE=16;
xap.xml.sax.SaxParser.QUOTE=17;
xap.xml.sax.SaxParser._parseModeStrings=new Array(0);
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.NO_NAMESPACE]="NO_NAMESPACE";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.START_DOCUMENT]="START_DOCUMENT";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.END_DOCUMENT]="END_DOCUMENT";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.START_TAG]="START_TAG";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.END_TAG]="END_TAG";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.TEXT]="TEXT";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.CDSECT]="CDSECT";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.ENTITY_REF]="ENTITY_REF";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.IGNORABLE_WHITESPACE]="IGNORABLE_WHITESPACE";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.PROCESSING_INSTRUCTION]="PROCESSING_INSTRUCTION";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.COMMENT]="COMMENT";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.DOCDECL]="DOCDECL";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.OPEN_TAG]="OPEN_TAG";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.IN_TAG]="IN_TAG";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.SELF_CONTAINED_TAG]="SELF_CONTAINED_TAG";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.IN_ATTR_KEY]="IN_ATTR_KEY";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.AT_ATTR_EQUALS_SIGN]="AT_ATTR_EQUALS_SIGN";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.IN_ATTR_VALUE]="IN_ATTR_VALUE";
xap.xml.sax.SaxParser._parseModeStrings[xap.xml.sax.SaxParser.QUOTE]="QUOTE";
xap.xml.sax.SaxParser._entityMap=new Object();
xap.xml.sax.SaxParser._entityMap["amp"]="&";
xap.xml.sax.SaxParser._entityMap["apos"]="'";
xap.xml.sax.SaxParser._entityMap["gt"]=">";
xap.xml.sax.SaxParser._entityMap["lt"]="<";
xap.xml.sax.SaxParser._entityMap["quot"]="\"";
xap.xml.sax.SaxParser.prototype.setDocumentHandler=function(_51a){
this.handler=_51a;
};
xap.xml.sax.SaxParser.prototype._getParseMode=function(){
return this._parseMode;
};
xap.xml.sax.SaxParser.prototype._setParseMode=function(_51b){
this._parseMode=_51b;
};
xap.xml.sax.SaxParser.prototype.getDocumentHandler=function(){
return this.handler;
};
xap.xml.sax.SaxParser.prototype._startDocument=function(){
this.handler.startDocument();
};
xap.xml.sax.SaxParser.prototype._endDocument=function(){
this.handler.endDocument();
};
xap.xml.sax.SaxParser.prototype._startElement=function(_51c,_51d,_51e){
this.handler.startElement(_51c,_51d,_51e);
};
xap.xml.sax.SaxParser.prototype._endElement=function(_51f,_520){
this.handler.endElement(_51f,_520);
};
xap.xml.sax.SaxParser.prototype._characters=function(text){
this.handler.characters(text);
};
xap.xml.sax.SaxParser.prototype._logString="";
xap.xml.sax.SaxParser.prototype._printStack=function(){
var _522="";
_522+="\n";
_522+="\nSTACK:"+this._parseModeStack.length;
_522+="\n========";
var j=-1;
for(j in this._parseModeStack){
_522+="\n"+xap.xml.sax.SaxParser._parseModeStrings[this._parseModeStack[j]];
}
_522+="\n--------------";
_522+="\n"+xap.xml.sax.SaxParser._parseModeStrings[this._getParseMode()];
return _522;
};
xap.xml.sax.SaxParser.prototype._logStack=function(){
this._logString+=this._printStack();
};
xap.xml.sax.SaxParser.prototype.parse=function(_524,_525){
this._data=_524;
if(this.handler==null){
this._throwParserException(xap.xml.sax.ParserException.DOCUMENT_HANDLER_MISSING,[]);
}
var _526=0;
var _527=0;
var _528="\"";
var _529="";
var _52a="";
var _52b=null;
var _52c=null;
var _52d=null;
var _52e=null;
this._startDocument();
this._cursor=-1;
while(_524.length>++this._cursor){
if(this._documentEnded){
this._throwParserException(xap.xml.sax.ParserException.ONLY_ONE_ROOT_ELEMENT_PER_DOC,[]);
}
var _52f=_527;
_527=_524.charAt(this._cursor);
this._currentLine=1;
this._currentColumn=0;
this._atEndOfLine=false;
if(_527=="\n"&&this._atEndOfLine){
this._atEndOfLine=false;
continue;
}else{
if(this._atEndOfLine){
this._atEndOfLine=false;
}else{
if(_527=="\n"){
++this._currentLine;
this._currentColumn=0;
}else{
if(_527=="\r"){
this._atEndOfLine=true;
_527="\n";
++this._currentLine;
this._currentColumn=0;
}else{
++this._currentColumn;
}
}
}
}
if(this._getParseMode()==xap.xml.sax.SaxParser.END_DOCUMENT){
this._endDocument();
return this.handler.getDocument();
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.TEXT){
if(_527=="<"){
this._parseModeStack.push(this._getParseMode());
this._setParseMode(xap.xml.sax.SaxParser.START_TAG);
if(_529.length>0){
this._characters(_529);
_529="";
}
}else{
if(_527=="&"){
this._parseModeStack.push(this._getParseMode());
this._setParseMode(xap.xml.sax.SaxParser.ENTITY_REF);
_52a="";
}else{
_529+=_527;
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.END_TAG){
if(_527==">"){
this._setParseMode(this._parseModeStack.pop());
_52c=_529;
_529="";
_526--;
if(_526==0){
this._setParseMode(xap.xml.sax.SaxParser.END_DOCUMENT);
}
this._endElement(_52c);
}else{
_529+=_527;
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.CDSECT){
if(_527==">"&&xap.xml.sax.SaxParser._endsWith(_529,"]]")){
_529=_529.substring(0,_529.length-2);
this._characters(_529);
_529="";
this._setParseMode(this._parseModeStack.pop());
}else{
_529+=_527;
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.COMMENT){
if(_527==">"&&xap.xml.sax.SaxParser._endsWith(_529,"--")){
if(xap.xml.sax.SaxParser._endsWith(_529,"---")){
this._throwParserException(xap.xml.sax.ParserException.ILLEGAL_COMMENT_DELIMITER,[],null);
}else{
_529="";
this._setParseMode(this._parseModeStack.pop());
}
}else{
_529+=_527;
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.START_DOCUMENT){
if(_527=="<"){
this._setParseMode(xap.xml.sax.SaxParser.TEXT);
this._parseModeStack.push(this._getParseMode());
this._setParseMode(xap.xml.sax.SaxParser.START_TAG);
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.DOCDECL){
if(_527==">"){
this._setParseMode(xap.xml.sax.SaxParser.START_DOCUMENT);
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.PROCESSING_INSTRUCTION){
if(_527==">"){
if(_52f=="?"){
this._setParseMode(xap.xml.sax.SaxParser.START_DOCUMENT);
}else{
this._throwParserException(xap.xml.sax.ParserException.UNEXPECTED_END_TAG,["?>",""+_52f+">"],null);
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.START_TAG){
this._setParseMode(this._parseModeStack.pop());
if(_527=="/"){
this._parseModeStack.push(this._getParseMode());
this._setParseMode(xap.xml.sax.SaxParser.END_TAG);
}else{
if(_527=="?"){
this._setParseMode(xap.xml.sax.SaxParser.PROCESSING_INSTRUCTION);
}else{
this._parseModeStack.push(this._getParseMode());
this._setParseMode(xap.xml.sax.SaxParser.OPEN_TAG);
_52c=null;
_52b=new Object();
_529+=_527;
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.ENTITY_REF){
if(_527==";"){
this._setParseMode(this._parseModeStack.pop());
var _530=_52a;
_52a="";
var _531=xap.xml.sax.SaxParser._entityMap[_530];
if(_531!=null){
_529+=_531;
}else{
if(_530.charAt(0)=="#"){
var _532=xap.xml.sax.SaxParser._validateNumericEntity(_530);
if(!_532){
var typ="decimal";
var _534=xap.xml.sax.SaxParser._excludeDecimalRegexp;
if(_530.substring(1)=="x"){
typ="hexidecimal";
_534=xap.xml.sax.SaxParser._excludeHexRegexp;
}
var _535=_530.substring(2).match(_534);
this._throwParserException(xap.xml.sax.ParserException.UNDEFINED_ENTITY,[("[&"+_530+";] "+": "+_535+((_535.length==1)?" is not a legal character ":" are not legal characters ")+" for a "+typ+" numeric entity code.")]);
}
_529+="&"+_530+";";
}else{
this._throwParserException(xap.xml.sax.ParserException.UNDEFINED_ENTITY,["[&"+_530+";]"]);
}
}
}else{
_52a+=_527;
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.SELF_CONTAINED_TAG){
if(_52c==null){
_52c=_529;
}
if(_527!=">"){
this._throwParserException(xap.xml.sax.ParserException.UNEXPECTED_END_TAG,[">",_527]);
}
this._startElement(_52c,_52b,_525);
this._endElement(_52c);
if(_526==0){
this._endDocument();
return this.handler.getDocument();
}
_529="";
_52b=new Object();
_52c=null;
this._setParseMode(this._parseModeStack.pop());
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.OPEN_TAG){
if(_527==">"){
if(_52c==null){
_52c=_529;
}
_529="";
_526++;
this._startElement(_52c,_52b,_525);
_52c=null;
_52b=new xap.util.Hashtable();
this._setParseMode(this._parseModeStack.pop());
}else{
if(_527=="/"){
this._setParseMode(xap.xml.sax.SaxParser.SELF_CONTAINED_TAG);
}else{
if(_527=="-"&&_529==("!-")){
this._setParseMode(xap.xml.sax.SaxParser.COMMENT);
}else{
if(_527=="["&&_529==("![CDATA")){
this._setParseMode(xap.xml.sax.SaxParser.CDSECT);
_529="";
}else{
if(_527=="E"&&_529==("!DOCTYP")){
_529="";
this._setParseMode(xap.xml.sax.SaxParser.DOCDECL);
}else{
if(xap.util.Character.isWhiteSpace(_527)){
_52c=_529;
_529="";
this._setParseMode(xap.xml.sax.SaxParser.IN_TAG);
}else{
_529+=_527;
}
}
}
}
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.QUOTE){
if(_527==_528){
_52e=_529;
_529="";
_52b[_52d]=_52e;
this._setParseMode(xap.xml.sax.SaxParser.IN_TAG);
}else{
if(xap.util.Character.isWhiteSpace(_527)){
_529+=(" ");
}else{
if(_527=="&"){
this._parseModeStack.push(this._getParseMode());
this._setParseMode(xap.xml.sax.SaxParser.ENTITY_REF);
_52a="";
}else{
_529+=(_527);
}
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.IN_ATTR_VALUE){
if(_527=="\""||_527=="'"){
_528=_527;
this._setParseMode(xap.xml.sax.SaxParser.QUOTE);
}else{
if(xap.util.Character.isWhiteSpace(_527)){
}else{
this._throwParserException(xap.xml.sax.ParserException.ATTRIBUTE_DELIMITER_MISSING,[]);
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.IN_ATTR_KEY){
if(xap.util.Character.isWhiteSpace(_527)){
_52d=_529;
_529="";
this._setParseMode(xap.xml.sax.SaxParser.AT_ATTR_EQUALS_SIGN);
}else{
if(_527=="="){
_52d=_529;
_529="";
this._setParseMode(xap.xml.sax.SaxParser.IN_ATTR_VALUE);
}else{
_529+=_527;
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.AT_ATTR_EQUALS_SIGN){
if(_527=="="){
this._setParseMode(xap.xml.sax.SaxParser.IN_ATTR_VALUE);
}else{
if(xap.util.Character.isWhiteSpace(_527)){
}else{
this._throwParserException(xap.xml.sax.ParserException.ATTRIBUTE_DELIMITER_MISSING,[]);
}
}
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.IN_TAG){
if(!this._inContent){
this._inContent;
}
if(_527==">"){
this._setParseMode(this._parseModeStack.pop());
this._startElement(_52c,_52b,_525);
_526++;
_52c=null;
_52b=new Object();
}else{
if(_527=="/"){
this._setParseMode(xap.xml.sax.SaxParser.SELF_CONTAINED_TAG);
}else{
if(xap.util.Character.isWhiteSpace(_527)){
}else{
this._setParseMode(xap.xml.sax.SaxParser.IN_ATTR_KEY);
_529+=_527;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
if(this._getParseMode()==xap.xml.sax.SaxParser.END_DOCUMENT){
this._endDocument();
}else{
if(this._getParseMode()==xap.xml.sax.SaxParser.ENTITY_REF){
this._throwParserException(xap.xml.sax.ParserException.UNTERMINATED_ENTITY,[],null);
}else{
this._throwParserException(xap.xml.sax.ParserException.UNEXPECTED_EOF,[],null);
}
}
if(this.handler!=null){
return this.handler.getDocument();
}
};
xap.xml.sax.SaxParser._endsWith=function(_536,_537){
len=_536.length;
lenCandidate=_537.length;
if(len<lenCandidate){
return false;
}
return (_536.substring(len-lenCandidate,len)==_537);
};
xap.xml.sax.SaxParser._excludeDecimalRegexp=/[^01232456789]+/g;
xap.xml.sax.SaxParser._excludeHexRegexp=/[^01232456789ABCDEFabcdef]+/g;
xap.xml.sax.SaxParser._validateNumericEntity=function(_538){
var _539=false;
var _53a=_538.substring(1);
var _53b=xap.xml.sax.SaxParser._excludeDecimalRegexp;
if(_53a.charAt(0)=="x"){
_53b=xap.xml.sax.SaxParser._excludeHexRegexp;
_53a=_53a.substring(1);
}
var _53c=_53a.match(_53b);
if(_53c!=null){
_539=false;
}else{
_539=true;
}
return _539;
};
xap.xml.sax.SaxParser.prototype._throwParserException=function(_53d,_53e){
var _53f=new Array(0);
for(var i=0;i<_53e.length;++i){
_53f.push(_53e[i]);
}
_53f.push(this._currentLine);
_53f.push(this._currentColumn);
var _541="";
if(this._data!=null){
var len=this._data.length;
var min=0;
var max=len;
min=Math.max(min,this._cursor-10);
max=Math.min(max,this._cursor+10);
_541+=": Stopped in string:    ..."+this._data.substring(min,this._cursor)+"[STOP]"+this._data.substring(this._cursor,max)+"...."+"\nLast parser mode :"+xap.xml.sax.SaxParser._parseModeStrings[this._getParseMode()];
}
var e=new xap.xml.sax.ParserException(_53d,_53f,_541);
throw e;
};
Xap.provide("xap.xml.ie.ParserException");
Xap.require("xap.util.XapException");
xap.xml.ie.ParserException=function(_546,args,_548){
xap.util.XapException.call(this,_546,args,_548);
};
xap.xml.ie.ParserException.prototype=new xap.util.XapException;
xap.xml.ie.ParserException.PARSER_EXCEPTION="parserException";
xap.xml.ie.ParserException.CLASSNAME="xap.xml.ie.ParserException";
xap.xml.ie.ParserException.prototype.getClassName=function(){
return xap.xml.ie.ParserException.CLASSNAME;
};
Xap.provide("xap.xml.ie.Parser");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.xml.ie.ParserException");
xap.xml.ie.Parser=function(){
};
xap.xml.ie.Parser.prototype.parse=function(_549,_54a){
var _54b=new ActiveXObject("Microsoft.XMLDOM");
_54b.async="false";
_54b.loadXML(_549);
return this.importNativeDocument(_54b,_54a);
};
xap.xml.ie.Parser.prototype.importNativeDocument=function(_54c,_54d){
if(_54c.parseError.errorCode!=0){
throw new xap.xml.ie.ParserException(xap.xml.ie.ParserException.PARSER_EXCEPTION,[_54c.parseError.line,_54c.parseError.linepos,_54c.parseError.reason,_54c.parseError.errorCode,_54c.parseError.srcText],null);
}else{
var _54e=new xap.xml.dom.Document(null);
this._importNativeDocument(_54e,_54c,_54d);
return _54e;
}
};
xap.xml.ie.Parser.prototype._importNativeDocument=function(_54f,_550,_551){
var _552=this._createElement(_550.documentElement,_54f);
this._importNativeElement(_552,_550.documentElement,_54f,_551);
_54f.setRootElement(_552);
};
xap.xml.ie.Parser.prototype._importNativeElement=function(_553,_554,_555,_556){
var _557=_554.attributes.length;
for(var _558=0;_558<_557;_558++){
var _559=_554.attributes[_558];
if(_559.name.indexOf("xmlns")!=0){
_553.setAttribute(_559.name,_559.value);
}
}
if(_556){
_553.baseUrl=_556;
}
_557=_554.childNodes.length;
for(var _558=0;_558<_557;_558++){
var _55a=_554.childNodes[_558];
if(_55a.nodeType==google.DOM_ELEMENT_NODE){
var _55b=this._createElement(_55a,_555);
this._importNativeElement(_55b,_55a,_555,_556);
_553.appendChild(_55b);
}else{
if(_55a.nodeType==google.DOM_TEXT_NODE||_55a.nodeType==google.DOM_CDATA_SECTION_NODE){
if(_55a.nodeValue!=null&&_55a.nodeValue!=""){
var _55c=google.XNode.create(google.DOM_TEXT_NODE,null,_55a.nodeValue,null);
_553.appendChild(_55c);
}
}
}
}
};
xap.xml.ie.Parser.prototype._createElement=function(_55d,_55e){
var _55f=null;
if(_55d.namespaceURI==null||_55d.namespaceURI==""){
_55f=_55e.createElement(_55d.nodeName);
}else{
var _560=_55d.nodeName.indexOf(":");
var _561=_55d.nodeName;
var _562=null;
if(_560!=-1){
_562=_561.substring(0,_560);
_561=_561.substring(_560+1);
}
_55f=_55e.createElement(_561,_55d.namespaceURI,_562);
}
return _55f;
};
Xap.provide("xap.xml.firefox.ParserException");
Xap.require("xap.util.XapException");
xap.xml.firefox.ParserException=function(_563,args,_565){
xap.util.XapException.call(this,_563,args,_565);
};
xap.xml.firefox.ParserException.prototype=new xap.util.XapException();
xap.xml.firefox.ParserException.PARSER_EXCEPTION="parserException";
xap.xml.firefox.ParserException.CLASSNAME="xap.xml.firefox.ParserException";
xap.xml.firefox.ParserException.prototype.getClassName=function(){
return xap.xml.firefox.ParserException.CLASSNAME;
};
Xap.provide("xap.xml.firefox.Parser");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.xml.firefox.ParserException");
xap.xml.firefox.Parser=function(){
};
xap.xml.firefox.Parser.prototype.parse=function(_566,_567){
var _568=new DOMParser();
var _569=null;
try{
_569=_568.parseFromString(_566,"text/xml");
}
catch(exception){
throw new xap.xml.firefox.ParserException(xap.xml.firefox.ParserException.PARSER_EXCEPTION,["Parser Exception Occured",exception],null);
}
return this.importNativeDocument(_569,_567);
};
xap.xml.firefox.Parser.prototype.importNativeDocument=function(_56a,_56b){
var _56c="http://www.mozilla.org/newlayout/xml/parsererror.xml";
if(_56a===null){
throw new xap.xml.firefox.ParserException(xap.xml.firefox.ParserException.PARSER_EXCEPTION,["Document Null"],null);
}else{
if(_56a.documentElement.nodeName=="parsererror"&&_56a.documentElement.namespaceURI==_56c){
var _56d=_56a.documentElement.getElementsByTagNameNS(_56c,"sourcetext")[0];
if(_56d!==null){
_56d=_56d.firstChild.data;
}
throw new xap.xml.firefox.ParserException(xap.xml.firefox.ParserException.PARSER_EXCEPTION,[_56a.documentElement.firstChild.data,_56d],null);
}else{
var _56e=new xap.xml.dom.Document(null);
this._importNativeDocument(_56e,_56a,_56b);
return _56e;
}
}
};
xap.xml.firefox.Parser.prototype._importNativeDocument=function(_56f,_570,_571){
var _572=this._createElement(_570.documentElement,_56f);
this._importNativeElement(_572,_570.documentElement,_56f,_571);
_56f.setRootElement(_572);
};
xap.xml.firefox.Parser.prototype._importNativeElement=function(_573,_574,_575,_576){
var _577=_574.attributes.length;
for(var _578=0;_578<_577;_578++){
var _579=_574.attributes[_578];
if(_579.name.indexOf("xmlns")!=0){
_573.setAttribute(_579.name,_579.value);
}
}
if(_576){
_573.baseUrl=_576;
}
_577=_574.childNodes.length;
for(var _578=0;_578<_577;_578++){
var _57a=_574.childNodes[_578];
if(_57a.nodeType==google.DOM_ELEMENT_NODE){
var _57b=this._createElement(_57a,_575);
this._importNativeElement(_57b,_57a,_575,_576);
_573.appendChild(_57b);
}else{
if(_57a.nodeType==google.DOM_TEXT_NODE||_57a.nodeType==google.DOM_CDATA_SECTION_NODE){
if(_57a.nodeValue!=null&&this.trim(_57a.nodeValue)!=""){
var _57c=google.XNode.create(google.DOM_TEXT_NODE,null,_57a.nodeValue,null);
_573.appendChild(_57c);
}
}
}
}
};
xap.xml.firefox.Parser.prototype.trim=function(_57d){
return _57d.replace(/^\s+|\s+$/,"");
};
xap.xml.firefox.Parser.prototype._createElement=function(_57e,_57f){
var _580=null;
if(_57e.namespaceURI==null||_57e.namespaceURI==""){
_580=_57f.createElement(_57e.nodeName);
}else{
var _581=_57e.nodeName.indexOf(":");
var _582=_57e.nodeName;
var _583=null;
if(_581!=-1){
_583=_582.substring(0,_581);
_582=_582.substring(_581+1);
}
_580=_57f.createElement(_582,_57e.namespaceURI,_583);
}
return _580;
};
Xap.provide("xap.xml.ParserFactory");
Xap.require("xap.xml.sax.SaxContentHandler");
Xap.require("xap.xml.sax.SaxParser");
Xap.require("xap.xml.ie.Parser");
Xap.require("xap.xml.firefox.Parser");
xap.xml.ParserFactory=function(){
};
xap.xml.ParserFactory.getParser=function(){
if(dojo.render.html.ie){
var _584=new xap.xml.ie.Parser();
return _584;
}else{
if(document.implementation&&document.implementation.createDocument){
var _584=new xap.xml.firefox.Parser();
return _584;
}else{
var _584=new xap.xml.sax.SaxParser(new xap.xml.sax.SaxContentHandler());
return _584;
}
}
};
Xap.provide("xap.xml.UiNamespaceShortcutHandler");
Xap.require("xap.log.Logger");
xap.xml.UiNamespaceShortcutHandler=function(_585){
this._session=_585;
};
xap.xml.UiNamespaceShortcutHandler.s_log=xap.log.Logger.getLogger("xap.xml.UiNamespaceShortcutHandler");
xap.xml.UiNamespaceShortcutHandler.prototype.receiveDispatch=function(_586){
if(xap.xml.UiNamespaceShortcutHandler.s_log.isTrace()){
xap.xml.UiNamespaceShortcutHandler.s_log.trace("receiveDispatch:"+_586);
}
var _587=this._session.getDocumentContainer().getUiDocument();
var _588=_587.getRootElement();
_588.appendChild(_586);
};
Xap.provide("xap.taghandling.PluginRegistryImpl");
Xap.require("xap.xml.DocumentContainer");
Xap.require("xap.util.Hashtable");
Xap.require("google.xpath");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.log.Logger");
Xap.require("xap.xml.UiNamespaceShortcutHandler");
xap.taghandling.PluginRegistryImpl=function(_589){
this._pluginLifecycleObjects=[];
this._tagDefinitions=new xap.util.Hashtable();
this._tagMappings=new xap.util.Hashtable();
this._tagLocations=new xap.util.Hashtable();
this._session=_589;
this._uiShortcutNamespaceHandler=new xap.xml.UiNamespaceShortcutHandler(_589);
};
xap.taghandling.PluginRegistryImpl.s_log=xap.log.Logger.getLogger("xap.taghandling.PluginRegistryImpl");
xap.taghandling.PluginRegistryImpl.TAG_MAPPINGS_PATH="/plugin/tag-mappings";
xap.taghandling.PluginRegistryImpl.UNMAPPED_TAGS_PATH="/plugin/unmapped-tags";
xap.taghandling.PluginRegistryImpl.PLUGIN_LIFECYCLE_CLASS_PATH="/plugin/@class";
xap.taghandling.PluginRegistryImpl.NO_MAPPED_CLASS=new Object();
xap.taghandling.PluginRegistryImpl.prototype.addPluginDescription=function(_58a,_58b){
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace("Add plugin description");
}
var _58c=xap.xml.ParserFactory.getParser();
var _58d=null;
try{
_58d=_58c.parse(_58a);
}
catch(exception){
this._session.handleException(exception);
return;
}
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace("Parse mapped tags");
}
var _58e=google.xpathDomEval(xap.taghandling.PluginRegistryImpl.TAG_MAPPINGS_PATH,_58d);
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace(_58e.value.length+" mapped tags");
}
this._parseTagMappingElements(_58e.value,true,_58b);
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace("Parse unmapped tags");
}
_58e=google.xpathDomEval(xap.taghandling.PluginRegistryImpl.UNMAPPED_TAGS_PATH,_58d);
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace(_58e.value.length+" unmapped tags");
}
this._parseTagMappingElements(_58e.value,false,_58b);
var _58f=google.xpathDomEval(xap.taghandling.PluginRegistryImpl.PLUGIN_LIFECYCLE_CLASS_PATH,_58d).value[0];
if(_58f&&_58f.length>0){
this.loadLifecycleObject(_58f);
}
};
xap.taghandling.PluginRegistryImpl.prototype.loadLifecycleObject=function(_590){
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace("lifecycle class = "+_590);
}
if(_590){
try{
var _591=null;
if(Xap.require(_590)){
_591=eval(_590);
}
if(!_591){
throw new Error("Unable to load class "+_590);
}
var _592=new _591(this._session);
if(_592.pluginLoaded){
_592.pluginLoaded(this._session);
}
this._pluginLifecycleObjects.push(_592);
}
catch(exception){
this._session.handleException(exception);
}
}
};
xap.taghandling.PluginRegistryImpl.prototype.getPluginDefinition=function(_593,_594,_595){
var _596=xap.taghandling.PluginRegistryImpl._createHashtableKey(_593,_594,_595);
return this._tagDefinitions.get(_596);
};
xap.taghandling.PluginRegistryImpl.prototype.getTagMapping=function(_597,_598,_599){
return this._tagMappings.get(xap.taghandling.PluginRegistryImpl._createHashtableKey(_597,_598,_599));
};
xap.taghandling.PluginRegistryImpl.prototype.getPluginRoot=function(_59a,_59b,_59c){
return this._tagLocations.get(xap.taghandling.PluginRegistryImpl._createHashtableKey(_59a,_59b,_59c));
};
xap.taghandling.PluginRegistryImpl.prototype._parseTagMappingElements=function(_59d,_59e,_59f){
for(var _5a0=0;_5a0<_59d.length;_5a0++){
var _5a1=_59d[_5a0];
var _5a2=_5a1.getAttribute("document");
if(_5a2==null){
_5a2=xap.xml.DocumentContainer.UI_DOCUMENT_NAME;
}
var _5a3=_5a1.getAttribute("namespace");
var _5a4=_5a3.split(" ");
for(var _5a5=0;_5a5<_5a4.length;_5a5++){
_5a3=_5a4[_5a5];
if(!_5a3&&_59e){
continue;
}
if(_5a2==xap.xml.DocumentContainer.UI_DOCUMENT_NAME){
if(this._session&&!this._session.getNamespaceHandlerManager()._namespaceToHandlersMap.get(_5a3)){
this._session.getNamespaceHandlerManager().addHandler(_5a3,this._uiShortcutNamespaceHandler);
}
}
for(var i=0;i<_5a1.childNodes.length;i++){
var _5a7=_5a1.childNodes[i];
var _5a8=null;
var _5a9=null;
if(_5a7.getLocalName()=="mapping"){
_5a9=_5a7.getAttribute("name");
if(_5a9==null||_5a9.length==0){
if(xap.taghandling.PluginRegistryImpl.s_log.isError()){
xap.taghandling.PluginRegistryImpl.s_log.error("Missing tag name (\"local name\") from tag element:\n"+_5a7+"\n...; mapping will continue for other tag defs.");
}
continue;
}
if(_59e){
_5a8=_5a7.getAttribute("class");
if(_5a8==null||_5a8.length==0){
continue;
}
}else{
_5a8=xap.taghandling.PluginRegistryImpl.NO_MAPPED_CLASS;
}
}else{
}
if(xap.taghandling.PluginRegistryImpl.s_log.isTrace()){
xap.taghandling.PluginRegistryImpl.s_log.trace("Add tag mapping:"+_5a9+":"+_5a8);
}
this._addTagMapping(_5a9,_5a8,_5a3,_5a2,_5a7,_59f);
}
}
}
};
xap.taghandling.PluginRegistryImpl.prototype.toString=function(){
return this._tagMappings.toString();
};
xap.taghandling.PluginRegistryImpl.prototype._addTagMapping=function(_5aa,_5ab,_5ac,_5ad,_5ae,_5af){
if(this.getTagMapping(_5aa,_5ac,_5ad)!=null){
}
var _5b0=xap.taghandling.PluginRegistryImpl._createHashtableKey(_5aa,_5ac,_5ad);
this._tagMappings.put(_5b0,_5ab);
this._tagDefinitions.put(_5b0,_5ae);
if(_5af){
this._tagLocations.put(_5b0,_5af.substring(0,_5af.lastIndexOf("/")));
}
};
xap.taghandling.PluginRegistryImpl._createHashtableKey=function(_5b1,_5b2,_5b3){
return _5b1+":"+_5b2+":"+_5b3;
};
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(_5b5,uri){
var loc=dojo.hostenv.getModuleSymbols(_5b5).join("/");
if(!loc){
return null;
}
if(loc.lastIndexOf("/")!=loc.length-1){
loc+="/";
}
return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri()+loc,uri);
};
this.Uri=function(){
var uri=arguments[0];
for(var i=1;i<arguments.length;i++){
if(!arguments[i]){
continue;
}
var _5ba=new dojo.uri.Uri(arguments[i].toString());
var _5bb=new dojo.uri.Uri(uri.toString());
if((_5ba.path=="")&&(_5ba.scheme==null)&&(_5ba.authority==null)&&(_5ba.query==null)){
if(_5ba.fragment!=null){
_5bb.fragment=_5ba.fragment;
}
_5ba=_5bb;
}else{
if(_5ba.scheme==null){
_5ba.scheme=_5bb.scheme;
if(_5ba.authority==null){
_5ba.authority=_5bb.authority;
if(_5ba.path.charAt(0)!="/"){
var path=_5bb.path.substring(0,_5bb.path.lastIndexOf("/")+1)+_5ba.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;
}
}
}
}
_5ba.path=segs.join("/");
}
}
}
}
uri="";
if(_5ba.scheme!=null){
uri+=_5ba.scheme+":";
}
if(_5ba.authority!=null){
uri+="//"+_5ba.authority;
}
uri+=_5ba.path;
if(_5ba.query!=null){
uri+="?"+_5ba.query;
}
if(_5ba.fragment!=null){
uri+="#"+_5ba.fragment;
}
}
this.uri=uri.toString();
var _5bf="^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
var r=this.uri.match(new RegExp(_5bf));
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){
_5bf="^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$";
r=this.authority.match(new RegExp(_5bf));
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;
};
};
};
Xap.kwCompoundRequire({common:["google.dom","google.misc","google.xpath"]});
Xap.provide("google.*");
Xap.provide("xap.taghandling.PluginDocumentHandler");
Xap.require("dojo.uri.Uri");
Xap.require("xap.xml.dom.events.StructureChangeEvent");
Xap.require("xap.util.Hashtable");
Xap.require("google.*");
xap.taghandling.PluginDocumentHandler=function(_5c1,doc,_5c3){
this._elementsToBridges=new xap.util.Hashtable();
this._peersToBridges=new xap.util.Hashtable();
this._clientSession=_5c1;
this._documentName=_5c3;
doc.addStructureChangeListener(this);
};
xap.taghandling.PluginDocumentHandler.s_log=xap.log.Logger.getLogger("xap.taghandling.PluginDocumentHandler");
xap.taghandling.PluginDocumentHandler.prototype.onChildAdded=function(e){
if(e.getType()==xap.xml.dom.events.StructureChangeEvent.TEXT_NODE){
return;
}
this.parseChild(e.getChange(),e);
};
xap.taghandling.PluginDocumentHandler.prototype.onChildRemoved=function(e){
};
xap.taghandling.PluginDocumentHandler.prototype.beforeChildAdded=function(_5c6){
};
xap.taghandling.PluginDocumentHandler.prototype.beforeChildRemoved=function(_5c7){
};
xap.taghandling.PluginDocumentHandler.prototype.deregister=function(el){
var _5c9=this.getHandlerForElement(el);
if(_5c9){
this._elementsToBridges.remove(el);
if(_5c9.unload){
_5c9.unload();
}
el.removeAttributeChangeListener(_5c9);
el.removeStructureChangeListener(_5c9);
}
for(var i=0;i<el.childNodes.length;i++){
var _5cb=el.childNodes[i];
if(_5cb.nodeType==google.DOM_ELEMENT_NODE){
this.deregister(_5cb);
}
}
};
xap.taghandling.PluginDocumentHandler.prototype.obtainHandler=function(_5cc,_5cd){
var _5ce=Xap.resolveConstructor(_5cc);
try{
if(!_5ce){
if(_5cd){
var _5cf=_5cc.substring(0,_5cc.lastIndexOf("."));
if(!dojo.hostenv.moduleHasPrefix(_5cf)){
var path=_5cd+"/"+_5cf.replace(/\./g,"/");
dojo.hostenv.setModulePrefix(_5cf,path);
}
}
Xap.require(_5cc);
_5ce=Xap.resolveConstructor(_5cc);
}
}
catch(classNotLoadableException){
xap.taghandling.PluginDocumentHandler.s_log.error("Exception while loading: "+_5cc,classNotLoadableException);
throw classNotLoadableException;
}
return new _5ce();
};
xap.taghandling.PluginDocumentHandler.prototype.parseChild=function(_5d1,_5d2){
var _5d3=this._clientSession.getPluginRegistry();
try{
var _5d4=_5d1.getLocalName();
var _5d5=_5d1.getNamespaceUri();
var _5d6=_5d3.getTagMapping(_5d4,_5d5,this._documentName);
var _5d7=_5d3.getPluginRoot(_5d4,_5d5,this._documentName);
if(_5d6===undefined){
if(xap.taghandling.PluginDocumentHandler.s_log.isWarn()){
xap.taghandling.PluginDocumentHandler.s_log.warn("No mapping for tag name ["+_5d4+"] with namespace ["+_5d5+"] on document ["+this._documentName+"]");
}
return null;
}else{
if((typeof _5d6)!="string"){
return null;
}
}
var _5d8=null;
try{
_5d8=this.obtainHandler(_5d6,_5d7);
}
catch(ex){
xap.taghandling.PluginDocumentHandler.s_log.error("Exception during eval",ex);
}
this.setHandlerForElement(_5d1,_5d8);
_5d8.setSession(this._clientSession);
_5d1.addStructureChangeListener(_5d8);
_5d1.addAttributeChangeListener(_5d8);
_5d8.setElement(_5d1,_5d2);
_5d8.init();
_5d8.fireEvent("onCreate");
}
catch(ex){
this._clientSession.handleException(ex);
}
return _5d8;
};
xap.taghandling.PluginDocumentHandler.prototype.getHandlerForElement=function(el){
return this._elementsToBridges.get(el);
};
xap.taghandling.PluginDocumentHandler.prototype.setHandlerForElement=function(el,_5db){
this._elementsToBridges.put(el,_5db);
};
xap.taghandling.PluginDocumentHandler.prototype.setHandlerForPeer=function(peer,_5dd){
this._peersToBridges.put(peer,_5dd);
};
xap.taghandling.PluginDocumentHandler.prototype.removeHandlerForPeer=function(peer){
this._peersToBridges.remove(peer);
};
xap.taghandling.PluginDocumentHandler.prototype.getHandlerForPeer=function(peer){
return this._peersToBridges.get(peer);
};
Xap.provide("xap.session.ClientEvent");
xap.session.ClientEvent=function(_5e0,_5e1){
this.source=_5e0;
this.session=_5e1;
};
xap.session.ClientEvent.prototype.toString=function(){
var _5e2="xap.session.ClientEvent:";
for(var i in this){
if(typeof (this[i])!="function"){
_5e2+="\n"+i+" : "+this[i];
}
}
return _5e2;
};
Xap.provide("xap.resolver.ResolutionInfo");
xap.resolver.ResolutionInfo=function(){
};
xap.resolver.ResolutionInfo.WHOLE_ATTRIBUTE=1;
xap.resolver.ResolutionInfo.WHOLE_TEXT_NODE=2;
xap.resolver.ResolutionInfo.createWholeAttributeReplacement=function(_5e4,_5e5){
var info=new xap.resolver.ResolutionInfo();
info._resolutionType=xap.resolver.ResolutionInfo.WHOLE_ATTRIBUTE;
info._attributeName=_5e5;
info._sourceElement=_5e4;
return info;
};
Xap.provide("xap.util.TypeUtils");
Xap.require("google.*");
xap.util.TypeUtils=function(){
};
xap.util.TypeUtils.convertToString=function(obj){
obj=xap.util.TypeUtils._unwrapCollection(obj);
obj=xap.util.TypeUtils._unwrapDomType(obj);
if(obj){
return ""+obj;
}
return obj;
};
xap.util.TypeUtils.convertToNumber=function(obj){
if(typeof obj!="number"){
obj=xap.util.TypeUtils.convertToString(obj);
return parseFloat(obj);
}
return obj;
};
xap.util.TypeUtils.convertToArray=function(obj){
var _5ea=new Array();
if(obj instanceof Array){
for(var i=0;i<obj.length;i++){
_5ea.push(xap.util.TypeUtils._unwrapDomType(obj[i]));
}
}else{
_5ea.push(xap.util.TypeUtils._unwrapDomType(obj));
}
return _5ea;
};
xap.util.TypeUtils._unwrapDomType=function(obj){
if(obj instanceof google.XNode){
if(obj.nodeType==google.DOM_TEXT_NODE){
return obj.nodeValue;
}else{
if(obj.nodeType==google.DOM_ATTRIBUTE_NODE){
return obj.nodeValue;
}else{
if(obj.nodeType==google.DOM_ELEMENT_NODE){
if(obj.firstChild&&obj.firstChild.nodeType==google.DOM_TEXT_NODE){
return obj.firstChild.nodeValue;
}
return null;
}
}
}
}
return obj;
};
xap.util.TypeUtils._unwrapCollection=function(obj){
if(obj instanceof Array){
if(obj.length>0){
return obj[0];
}
}
return obj;
};
Xap.provide("xap.util.EscapeSyntaxParser");
Xap.require("xap.util.Exception");
xap.util.EscapeSyntaxParser=function(_5ee,_5ef,_5f0,_5f1){
this._escapeLead=_5ee;
this._escapeSequenceCharacters=_5ef;
this._resolvedCharacters=_5f0;
this._reportUnknownEscapeSequencesAsErrors=_5f1;
};
xap.util.EscapeSyntaxParser.UNRESOLVED_CHARACTER=new Object();
xap.util.EscapeSyntaxParser.prototype.getResolvedCharacter=function(s,_5f3){
var c=s.charAt(_5f3);
if(c!=this._escapeLead){
return xap.util.EscapeSyntaxParser.UNRESOLVED_CHARACTER;
}
if(_5f3+1>=s.length&&this._reportUnknownEscapeSequencesAsErrors){
throw new xap.util.Exception("Invalid escape sequence: "+this._escapeLead+" at index "+_5f3+" in string: "+s);
}
var _5f5=s.charAt(_5f3+1);
for(var i=0;i<this._escapeSequenceCharacters.length;i++){
if(_5f5==this._escapeSequenceCharacters[i]){
return this._resolvedCharacters[i];
}
}
if(this._reportUnknownEscapeSequencesAsErrors){
throw new xap.util.Exception("Invalid escape sequence: "+this._escapeLead+_5f5+" at index "+_5f3+" in string: "+s);
}
return xap.util.EscapeSyntaxParser.UNRESOLVED_CHARACTER;
};
xap.util.EscapeSyntaxParser.prototype.escape=function(s){
var b=new String();
for(var i=0;i<s.length;i++){
var c=s.charAt(i);
var _5fb=false;
for(var j=0;j<this._resolvedCharacters.length;j++){
if(c==this._resolvedCharacters[j]){
b+=this._escapeLead;
b+=this._escapeSequenceCharacters[j];
_5fb=true;
break;
}
}
if(!_5fb){
b+=c;
}
}
return b;
};
xap.util.EscapeSyntaxParser.prototype.parse=function(s){
var _5fe=null;
for(var i=0;i<s.length;i++){
var c=this.getResolvedCharacter(s,i);
if(c==xap.util.EscapeSyntaxParser.UNRESOLVED_CHARACTER){
if(_5fe!=null){
_5fe+=s.charAt(i);
}
}else{
if(_5fe==null){
_5fe=s.substring(0,i);
}
_5fe+=c;
i++;
}
}
return _5fe==null?s:_5fe;
};
Xap.provide("xap.resolver.ResolutionHandler");
Xap.require("xap.session.ClientEvent");
Xap.require("xap.resolver.ResolutionInfo");
Xap.require("xap.util.TypeUtils");
Xap.require("xap.util.EscapeSyntaxParser");
xap.resolver.ResolutionHandler=function(_601){
this._session=_601;
};
xap.resolver.ResolutionHandler.escapeSyntax=new xap.util.EscapeSyntaxParser("\\",["\\","{","}"],["\\","{","}"],false);
xap.resolver.ResolutionHandler.prototype.unescape=function(_602){
if(_602&&_602.length>0&&_602.charAt(0)=="\\"){
return xap.resolver.ResolutionHandler.escapeSyntax.parse(_602);
}
return _602;
};
xap.resolver.ResolutionHandler.prototype.resolveAttribute=function(_603,_604){
var _605=_603.getNewValue();
_605=_605.substring(1,_605.length-1);
var info=xap.resolver.ResolutionInfo.createWholeAttributeReplacement(_604,_603.getName());
var _607=new xap.session.ClientEvent(_604,this._session);
_607._resolverInfo=info;
this._clientEvent=_607;
var _608=this._session.getEventHandler();
try{
var _609=this._session.getDeclarativeArgumentParser();
var _60a=_609.parseArgument(_605,0,_604,_607);
delete this._clientEvent;
if(!_60a._resultObject){
return "";
}
return xap.util.TypeUtils.convertToString(_60a._resultObject);
}
catch(anException){
this._session.handleException(anException);
}
};
xap.resolver.ResolutionHandler.prototype.needsResolving=function(_60b){
return (_60b!=null&&_60b.length>=2&&_60b.charAt(0)==="{"&&_60b.charAt(_60b.length-1)==="}");
};
Xap.provide("xap.taghandling.AbstractTagImpl");
Xap.require("xap.xml.dom.events.StructureChangeEvent");
Xap.require("xap.xml.dom.events.AttributeChangeEvent");
Xap.require("xap.session.ClientEvent");
Xap.require("google.*");
Xap.require("xap.xml.InvalidXmlException");
xap.taghandling.AbstractTagImpl=function(){
this._element=null;
this._peer=null;
this._clientSession=null;
};
xap.taghandling.AbstractTagImpl.TAIL_RECURSION=false;
xap.taghandling.AbstractTagImpl.prototype.getElement=function(){
return this._element;
};
xap.taghandling.AbstractTagImpl.prototype.setElement=function(el,_60d){
this._element=el;
if(_60d&&_60d.getIndex()>=0){
this._index=_60d.getIndex();
}
};
xap.taghandling.AbstractTagImpl.prototype.getPeer=function(){
return this._peer;
};
xap.taghandling.AbstractTagImpl.prototype.setPeer=function(obj){
this._peer=obj;
this.getUiContentHandler().setHandlerForPeer(obj,this);
};
xap.taghandling.AbstractTagImpl.prototype.init=function(){
};
xap.taghandling.AbstractTagImpl.prototype.unload=function(){
if(this._peer){
this.getUiContentHandler().removeHandlerForPeer(this._peer);
}
};
xap.taghandling.AbstractTagImpl.prototype.getUiDocument=function(){
return this.getSession().getDocumentContainer().getUiDocument();
};
xap.taghandling.AbstractTagImpl.prototype.parseInitialAttributes=function(e){
var _610=e.attributes;
for(var i=0;i<_610.length;i++){
var _612=_610[i].nodeName;
var _613=e.getAttribute(_612);
var _614=new xap.xml.dom.events.AttributeChangeEvent(e,_612,_613);
this.beforeAttributeSet(_614);
if(_614.getNewValue()!=_614.getOldValue()){
this.writeBackAttribute(_612,_614.getNewValue());
}
this.onAttributeSet(_614);
}
};
xap.taghandling.AbstractTagImpl.prototype.parseInitialChildren=function(e){
if(!xap.taghandling.AbstractTagImpl.TAIL_RECURSION){
var _616=this.getElement().parentNode;
var _617=this.getUiContentHandler().getHandlerForElement(_616);
var _618=this._index>=0?this._index:-1;
var _619=new xap.xml.dom.events.StructureChangeEvent(e,this.getElement(),_618);
_617.beforeChildAdded(_619);
_617.childAdded(_619);
if(this._index>=0){
delete this._index;
}
}
var _61a=this.getSession();
var _61b=_61a.getUiDocumentHandler();
var _61c=e.childNodes.length;
if(!_61c){
return;
}
var _61d=new Array(_61c);
for(var i=0;i<_61c;i++){
_61d[i]=e.childNodes[i];
}
for(var i=0;i<_61d.length;i++){
var _61f=_61d[i];
if(_61f.nodeType==google.DOM_ELEMENT_NODE){
_61b.parseChild(_61f);
if(xap.taghandling.AbstractTagImpl.TAIL_RECURSION){
var _619=new xap.xml.dom.events.StructureChangeEvent(e,_61f,-1);
this.beforeChildAdded(_619);
this.onChildAdded(_619);
}
}
if(_61f.nodeType==google.DOM_TEXT_NODE){
if(xap.taghandling.AbstractTagImpl.TAIL_RECURSION){
var _619=new xap.xml.dom.events.StructureChangeEvent(e,_61f,-1);
this.beforeChildAdded(_619);
this.onChildAdded(_619);
}
}
}
};
xap.taghandling.AbstractTagImpl.prototype.fireEvent=function(_620,_621,_622,_623){
var _624=this.getSession();
if(_622==null){
_622=this.getElement();
}
if(_621==null){
_621=_622.getAttribute(_620);
if(_621&&_624.getEventHandler().isUrlEvent(_621)){
_621=_622.getAttributeAsUrl(_620);
}
}
if(_621==null){
return null;
}
if(_623==null){
_623=new xap.session.ClientEvent(_622,this.getSession());
}
_623.id=_622.getAttribute("id");
_623.event=_620;
return _624.getEventHandler().fireEvent(_620,_621,_622,_623);
};
xap.taghandling.AbstractTagImpl.prototype.getUiContentHandler=function(){
return this.getSession().getUiDocumentHandler();
};
xap.taghandling.AbstractTagImpl.prototype.writeBackTextNode=function(_625){
var _626=this.getElement();
_626.removeStructureChangeListener(this);
var _627=_626.firstChild;
if(!_627){
_626.appendChild(_626.ownerDocument.createTextNode(_625));
}else{
if(_627.nodeType==google.DOM_TEXT_NODE){
_627.nodeValue=_625;
}
}
_626.addStructureChangeListener(this);
};
xap.taghandling.AbstractTagImpl.prototype.writeBackAttribute=function(name,_629){
this.getElement().removeAttributeChangeListener(this);
this.getElement().setAttribute(name,_629);
this.getElement().addAttributeChangeListener(this);
};
xap.taghandling.AbstractTagImpl.prototype.writeBackRemoveAttribute=function(name){
this.getElement().removeAttributeChangeListener(this);
this.getElement().removeAttribute(name);
this.getElement().addAttributeChangeListener(this);
};
xap.taghandling.AbstractTagImpl.prototype.attributeSet=function(_62b){
};
xap.taghandling.AbstractTagImpl.prototype.onChildAdded=function(e){
if(xap.taghandling.AbstractTagImpl.TAIL_RECURSION){
this.childAdded(e);
}
};
xap.taghandling.AbstractTagImpl.prototype.childAdded=function(e){
};
xap.taghandling.AbstractTagImpl.prototype.beforeChildAdded=function(e){
};
xap.taghandling.AbstractTagImpl.prototype.beforeChildRemoved=function(e){
};
xap.taghandling.AbstractTagImpl.prototype.onChildRemoved=function(e){
if(e.getType()==xap.xml.dom.events.StructureChangeEvent.ELEMENT_NODE){
this.getUiContentHandler().deregister(e.getChange());
}
};
xap.taghandling.AbstractTagImpl.prototype.afterChildRemoved=function(e){
if(e.getType()==xap.xml.dom.events.StructureChangeEvent.ELEMENT_NODE){
this.getUiContentHandler().deregister(e.getChange());
}
};
xap.taghandling.AbstractTagImpl.prototype.onAttributeSet=function(e){
try{
this.attributeSet(e);
}
catch(ex){
this.reportInvalidXmlException(e.getName(),e.getNewValue(),this.getElement(),ex);
}
};
xap.taghandling.AbstractTagImpl.prototype.onAttributeRemoved=function(e){
};
xap.taghandling.AbstractTagImpl.prototype.beforeAttributeSet=function(_634){
var _635=this.getSession().getResolutionHandler();
if(_635.needsResolving(_634.getNewValue())){
_634.setNewValue(_635.resolveAttribute(_634,this.getElement()));
}else{
_634.setNewValue(_635.unescape(_634.getNewValue()));
}
};
xap.taghandling.AbstractTagImpl.prototype.reportInvalidXmlException=function(_636,_637,el,ex){
var _63a=this.constructInvalidXmlException(_636,_637,el,ex);
this.getSession().handleException(_63a);
};
xap.taghandling.AbstractTagImpl.prototype.constructInvalidXmlException=function(_63b,_63c,e,ex){
var _63f=new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.BAD_ATTRIBUTE_WITH_ROOT_CAUSE,[_63b,_63c,e.toXml(),xap.util.XapException.exceptionToString(ex)]);
return _63f;
};
xap.taghandling.AbstractTagImpl.prototype.getSession=function(){
return this._clientSession;
};
xap.taghandling.AbstractTagImpl.prototype.setSession=function(_640){
this._clientSession=_640;
};
Xap.provide("xap.session.EventHandler");
Xap.require("xap.util.Exception");
Xap.require("xap.util.XapException");
xap.session.EventHandler=function(_641){
this._session=_641;
};
xap.session.EventHandler.prototype.fireEvent=function(_642,_643,_644,_645){
if(this.isObjectEvent(_643)){
try{
return this._handleObjectEvent(_643,_644,_645);
}
catch(exception){
this._session.handleException(exception);
}
}else{
if(this.isJavascriptEvent(_643)){
try{
_643=_643.substr(11);
var o=eval(_643);
if(typeof (o)=="function"){
return o.call(null,_645);
}else{
return o;
}
}
catch(exception){
this._session.handleException(exception);
}
}else{
try{
this._session.getRequestService().retrieveAndProcessAsynchronously(_643,this);
}
catch(exception){
this._session.handleException(exception);
}
}
}
return null;
};
xap.session.EventHandler.prototype.requestCompleted=function(){
};
xap.session.EventHandler.prototype.requestFailed=function(url,_648,_649){
this._session.handleException(_649);
};
xap.session.EventHandler.prototype._handleObjectEvent=function(_64a,_64b,_64c){
var _64d=_64a.indexOf("(");
var _64e=_64a.indexOf(")");
var _64f=_64a.indexOf(".");
if(_64d==-1||_64e==-1||_64f==-1||!(_64f<_64d&&_64d<_64e)){
throw new xap.util.Exception(" bad parens and period or something",null,null,"xap.session.EventHandler._handleObjectEvent");
}
var _650=this._session.getDeclarativeArgumentParser().parseArgument(_64a,0,_64b,_64c);
return _650._resultObject;
};
xap.session.EventHandler.prototype.isObjectEvent=function(_651){
var _652=_651.indexOf(":");
if(_652==-1){
return false;
}
var _653=_651.substring(0,_652);
return (this._session.getContainer(_653)!=null);
};
xap.session.EventHandler.prototype.isJavascriptEvent=function(_654){
return _654.indexOf("javascript:")==0;
};
xap.session.EventHandler.prototype.isUrlEvent=function(_655){
return !this.isJavascriptEvent(_655)&&!this.isObjectEvent(_655);
};
Xap.provide("xap.session.DeclarativeArgumentParser");
Xap.require("xap.util.Exception");
Xap.require("xap.util.Character");
Xap.require("xap.log.Logger");
Xap.require("xap.util.Hashtable");
Xap.require("xap.util.EscapeSyntaxParser");
xap.session.DeclarativeArgumentParser=function(_656){
this._log=xap.session.DeclarativeArgumentParser.s_log;
this._session=_656;
this._functionShortcuts=new xap.util.Hashtable();
this._session.getSystemContainer().put("McoArgumentParser",this);
};
xap.session.DeclarativeArgumentParser.s_stringArgumentParser=new xap.util.EscapeSyntaxParser("\\",["\\","\""],["\\","\""],false);
xap.session.DeclarativeArgumentParser.s_stringApostropheArgumentParser=new xap.util.EscapeSyntaxParser("\\",["\\","'"],["\\","'"],false);
xap.session.DeclarativeArgumentParser.s_log=xap.log.Logger.getLogger("xap.session.DeclarativeArgumentParser");
String.prototype.trim=function(){
return this.replace(/^\s+|\s+$/g,"");
};
xap.session.DeclarativeArgumentParser.prototype.parseArgument=function(args,_658,_659,_65a){
var arg=new String();
var _65c=null;
for(var _65d=_658;_65d<args.length;_65d++){
var c=args.charAt(_65d);
if(_65c!=null){
if(c==","){
_65c._terminatingIndex=_65d;
_65c._parseStatus=this._ParseResult.COMMA_ENCOUNTERED;
return _65c;
}else{
if(c==")"){
_65c._terminatingIndex=_65d;
_65c._parseStatus=this._ParseResult.CLOSING_PAREN;
return _65c;
}else{
if(xap.util.Character.isWhiteSpace(c)){
}else{
this._log.trace("Hit a character after the full arg:"+arg);
throw new xap.util.Exception("Bad parameter trailing characters");
}
}
}
}else{
if(_65c==null){
if((c=="\""||c=="'")&&arg.trim().length==0){
_65c=this._parseString(args,_65d,c);
_65d=_65c._terminatingIndex;
}else{
if(c=="("){
var _65f=this._parseArguments(args,_659,_65d+1,_65a);
var mco=arg.trim();
var _661=this._functionShortcuts.get(mco);
if(_661!=null){
mco=_661;
}
var _662=mco.indexOf(":");
var _663=null;
if(_662!=-1){
_663=mco.substring(0,_662);
mco=mco.substring(_662+1);
}
var _664=mco.lastIndexOf(".");
if(_664==-1||_664==0||_664==mco.length-1){
throw new xap.util.Exception("Missing period in: '"+mco+"'.");
}
var _665=mco.substring(0,_664);
var _666=mco.substring(_664+1);
var _667=this._fireObjectEvent(_663,_665,_666,_65f._resultObject);
_65c=new this._ParseResult(_667,_65f._terminatingIndex);
_65d=_65f._terminatingIndex;
}else{
if(c==","){
return new this._ParseResult(this._stringToMcoArgument(arg,_659,_65a),_65d,this._ParseResult.COMMA_ENCOUNTERED);
}else{
if(c==")"){
if(arg.trim().length==0){
return new this._ParseResult(null,_65d,this._ParseResult.CLOSING_PAREN);
}else{
return new this._ParseResult(this._stringToMcoArgument(arg,_659,_65a),_65d,this._ParseResult.CLOSING_PAREN);
}
}else{
arg+=c;
}
}
}
}
}
}
}
if(_65c==null){
return new this._ParseResult(this._stringToMcoArgument(arg,_659,_65a),args.length-1,this._ParseResult.END_OF_STRING);
}else{
_65c._terminatingIndex=args.length-1;
_65c._parseStatus=this._ParseResult.END_OF_STRING;
return _65c;
}
};
xap.session.DeclarativeArgumentParser.prototype._parseArguments=function(_668,_669,_66a,_66b){
var args=new Array();
var _66d=_66a-1;
while(true){
var _66e=this.parseArgument(_668,_66d+1,_669,_66b);
if(_66e._resultObject!=null){
args.push(_66e._resultObject);
_66d=_66e._terminatingIndex;
if(_66e._parseStatus==this._ParseResult.CLOSING_PAREN){
break;
}
}else{
if(_66e._parseStatus!=this._ParseResult.CLOSING_PAREN){
throw new xap.util.Exception("Bad paramter string "+_668);
}
break;
}
}
return new this._ParseResult(args,_66d);
};
xap.session.DeclarativeArgumentParser.prototype._stringToMcoArgument=function(arg,_670,_671){
arg=arg.trim();
if(arg.indexOf(":")!=-1){
var _672=arg.indexOf(":");
var _673=arg.substring(0,_672);
var _674=arg.substring(_672+1);
var _675=this._session.getContainer(_673);
if(!_675){
throw new xap.util.Exception("No container with name: "+_673);
}
var bean=_675.get(_674);
if(!bean){
throw new xap.util.Exception("No bean with name: "+_674);
}
return bean;
}else{
if(arg=="true"){
return true;
}else{
if(arg=="false"){
return false;
}else{
var num=parseFloat(arg);
if(!isNaN(num)){
return num;
}
}
}
}
if(arg=="event"){
return _671;
}
try{
var _678=arg;
var _679=null;
if(arg.indexOf(".")>0){
_678=arg.substring(0,arg.indexOf("."));
_679=arg.substring(arg.indexOf(".")+1);
}
var _67a=this._session.getDocumentContainer().getUiDocument().getElementById(_678);
if(!_67a&&_678=="this"){
_67a=_670;
}
if(_67a){
if(!_679){
return _67a;
}
var _67b=_67a.getAttribute(_679);
if(!_67b){
_67b="";
}
return _67b;
}
}
catch(e){
_session.handleException(e);
}
throw new xap.util.Exception("Could not convert to mco arg:"+arg);
};
xap.session.DeclarativeArgumentParser.prototype._fireObjectEvent=function(_67c,_67d,_67e,args){
var _680=this._session.getSystemContainer();
if((typeof _67c)!="undefined"&&_67c!=null&&_67c.length>0){
_680=this._session.getContainer(_67c);
}
if(_680==null){
throw new xap.util.Exception("Could not find container: "+_67c);
}
var o=_680.get(_67d);
if(o==null){
throw new xap.util.Exception("Could not find object: "+_67d);
}
if(!o[_67e]){
throw new xap.util.Exception("Could not find method: "+_67e);
}
try{
return o[_67e].apply(o,args);
}
catch(exception){
throw new xap.util.Exception("Error calling method :"+_67e,exception);
}
return null;
};
xap.session.DeclarativeArgumentParser.prototype._parseString=function(args,_683,_684){
var _685=new this._ParseResult(null,_683);
var arg=[];
_683++;
var _687=_684=="\""?xap.session.DeclarativeArgumentParser.s_stringArgumentParser:xap.session.DeclarativeArgumentParser.s_stringApostropheArgumentParser;
var _688=xap.util.EscapeSyntaxParser.UNRESOLVED_CHARACTER;
var _689=args.length;
for(var _68a=_683;_68a<_689;_68a++){
var c=args.charAt(_68a);
if(c==_684){
_685._resultObject=arg.join("");
_685._terminatingIndex=_68a;
break;
}else{
var _68c=_687.getResolvedCharacter(args,_68a);
if(_68c===_688){
arg.push(c);
}else{
arg.push(_68c);
_68a++;
}
}
}
if(_685._resultObject==null){
throw new xap.util.Exception("Bad string that we parsed: "+args+" at index "+_683--);
}
return _685;
};
xap.session.DeclarativeArgumentParser.prototype.addFunctionShortcut=function(_68d,_68e){
this._functionShortcuts.put(_68d,_68e);
};
xap.session.DeclarativeArgumentParser.prototype._ParseResult=function(_68f,_690,_691){
this._resultObject=_68f;
this._terminatingIndex=_690;
this._parseStatus=_691;
};
xap.session.DeclarativeArgumentParser.prototype._ParseResult.CLOSING_PAREN=1;
xap.session.DeclarativeArgumentParser.prototype._ParseResult.END_OF_STRING=2;
xap.session.DeclarativeArgumentParser.prototype._ParseResult.NO_INFORMATION=0;
xap.session.DeclarativeArgumentParser.prototype._ParseResult.COMMA_ENCOUNTERED=3;
Xap.provide("xap.requestservice.HttpRequest");
xap.requestservice.HttpRequest=function(url,_693){
this._url=url;
this._method=_693||"GET";
this._headers={};
this._content=null;
};
xap.requestservice.HttpRequest.prototype.setRequestHeader=function(name,_695){
this._headers[name]=_695;
};
xap.requestservice.HttpRequest.prototype.getHeader=function(name){
return this._headers[name]||"";
};
xap.requestservice.HttpRequest.prototype.getHeaderNames=function(){
var _697=Array();
for(var i in this._headers){
_697[_697.length]=i;
}
return _697;
};
xap.requestservice.HttpRequest.prototype.setContent=function(_699){
this._content=_699;
};
xap.requestservice.HttpRequest.prototype.getContent=function(){
return this._content;
};
xap.requestservice.HttpRequest.prototype.setRequestMethod=function(_69a){
this._method=_69a;
};
xap.requestservice.HttpRequest.prototype.getRequestMethod=function(){
return this._method;
};
xap.requestservice.HttpRequest.prototype.setUri=function(uri){
this._url=uri;
};
xap.requestservice.HttpRequest.prototype.getUri=function(){
return this._url;
};
Xap.provide("xap.util.HttpUtils");
Xap.require("xap.requestservice.HttpRequest");
xap.util.HttpUtils=function(){
};
xap.util.HttpUtils.OK=200;
if(window.XMLHttpRequest){
xap.util.HttpUtils.createHttpRequest=function(){
return new XMLHttpRequest();
};
}else{
xap.util.HttpUtils.createHttpRequest=function(){
return new ActiveXObject("Microsoft.XMLHTTP");
};
}
xap.util.HttpUtils._sendHttpRequest=function(type,url,_69e,_69f){
var _6a0=xap.util.HttpUtils.createHttpRequest();
var _6a1=typeof url=="object"&&url.constructor==xap.requestservice.HttpRequest;
if(_6a1){
_6a0.open(url.getRequestMethod()||type,url.getUri(),_69e?true:false);
var _6a2=url.getHeaderNames();
for(var i=0;i<_6a2.length;i++){
var _6a4=_6a2[i];
var _6a5=url.getHeader(_6a4);
if(_6a5){
_6a0.setRequestHeader(_6a4,_6a5);
}
}
}else{
_6a0.open(type,url,_69e?true:false);
}
if(_69e){
_6a0.onreadystatechange=function(){
if(_6a0.readyState==4){
_6a0.onreadystatechange=xap.util.HttpUtils.emptyFunction;
_69e(_6a0);
}
};
}
if(_6a1){
_6a0.send(url.getContent());
}else{
_6a0.send(_69f);
}
return _6a0;
};
xap.util.HttpUtils.emptyFunction=function(){
};
xap.util.HttpUtils.get=function(url,_6a7){
return xap.util.HttpUtils._sendHttpRequest("GET",url,_6a7);
};
xap.util.HttpUtils.post=function(url,_6a9,_6aa){
return xap.util.HttpUtils._sendHttpRequest("POST",url,_6a9,_6aa);
};
Xap.provide("xap.requestservice.RequestService");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.util.HttpUtils");
Xap.require("xap.util.Exception");
xap.requestservice.RequestService=function(_6ab){
this._clientSession=_6ab;
};
xap.requestservice.RequestService.prototype.retrieveAndProcess=function(url){
var _6ad=this.retrieve(url);
this._processXmlString(_6ad.responseText,url);
return _6ad;
};
xap.requestservice.RequestService.prototype.retrieveStartPage=function(url){
this.retrieveAndProcess(url);
};
xap.requestservice.RequestService.prototype.retrieveAndProcessAsynchronously=function(url,_6b0){
var self=this;
var _6b2=function(_6b3){
if(_6b0){
if(_6b3.status==xap.util.HttpUtils.OK){
try{
self._processXmlString(_6b3.responseText,url);
_6b0.requestCompleted(url,_6b3);
}
catch(e){
_6b0.requestFailed(url,_6b3,e);
}
}else{
_6b0.requestFailed(url,_6b3,new xap.util.Exception("Bad response: "+_6b3.status+" - "+_6b3.statusText));
}
}
};
xap.util.HttpUtils.get(url,_6b2);
};
xap.requestservice.RequestService.prototype.retrieve=function(url){
var _6b5=xap.util.HttpUtils.get(url);
if(_6b5.status!=xap.util.HttpUtils.OK){
var uri=url.getUri?url.getUri():url;
throw new xap.util.Exception("The requested page "+uri+" is not available");
}
return _6b5;
};
xap.requestservice.RequestService.prototype.retrieveAsynchronously=function(url,_6b8){
var _6b9=function(_6ba){
if(_6b8){
if(_6ba.status==xap.util.HttpUtils.OK){
_6b8.requestCompleted(url,_6ba);
}else{
_6b8.requestFailed(url,_6ba,new xap.util.Exception("Bad response: "+_6ba.status+" - "+_6ba.statusText));
}
}
};
xap.util.HttpUtils.get(url,_6b9);
};
xap.requestservice.RequestService.prototype._processXmlString=function(_6bb,uri){
if(uri.getUri){
uri=uri.getUri();
}
if(!_6bb||_6bb.search(/^\s*$/)>=0){
return;
}
var _6bd=xap.xml.ParserFactory.getParser();
this._clientSession.processDocument(_6bd.parse(_6bb,xap.requestservice.RequestService.urlToPath(uri)));
};
xap.requestservice.RequestService.urlToPath=function(url){
var _6bf=url.indexOf("?");
if(_6bf>0){
url=url.substring(0,_6bf);
}
var _6bf=url.lastIndexOf("/");
if(_6bf>0){
url=url.substring(0,_6bf+1);
}else{
url=null;
}
return url;
};
Xap.provide("xap.session.ClientSession");
Xap.require("xap.xml.NamespaceHandlerManager");
Xap.require("xap.xml.DocumentContainer");
Xap.require("xap.util.XapException");
Xap.require("xap.util.Hashtable");
Xap.require("xap.taghandling.PluginRegistryImpl");
Xap.require("xap.taghandling.PluginDocumentHandler");
Xap.require("xap.resolver.ResolutionHandler");
Xap.require("xap.taghandling.AbstractTagImpl");
Xap.require("xap.session.EventHandler");
Xap.require("xap.session.DeclarativeArgumentParser");
Xap.require("xap.session.Container");
Xap.require("xap.requestservice.RequestService");
Xap.require("xap.log.Logger");
xap.session.ClientSession=function(_6c0){
this._application=_6c0;
this._namesToContainers=new xap.util.Hashtable();
this._mcoContainer=new xap.session.Container(this);
this.addContainer("mco",this._mcoContainer);
this._macroContainer=new xap.session.Container(this);
this.addContainer("macro",this._macroContainer);
this._documentContainer=new xap.xml.DocumentContainer(this);
this.addContainer("document",this._documentContainer);
this._systemContainer=new xap.session.Container(this);
this._requestService=new xap.requestservice.RequestService(this);
this._eventHandler=new xap.session.EventHandler(this);
this._declarativeArgumentParser=new xap.session.DeclarativeArgumentParser(this);
this._pluginRegistry=new xap.taghandling.PluginRegistryImpl(this);
this._namespaceHandlerManager=new xap.xml.NamespaceHandlerManager(this);
this._resolutionHandler=new xap.resolver.ResolutionHandler(this);
var _6c1=this._documentContainer.getUiDocument();
this._uiDocumentHandler=new xap.taghandling.PluginDocumentHandler(this,_6c1,xap.xml.DocumentContainer.UI_DOCUMENT_NAME);
};
xap.session.ClientSession.prototype.getPluginRegistry=function(){
return this._pluginRegistry;
};
xap.session.ClientSession.prototype.getNamespaceHandlerManager=function(){
return this._namespaceHandlerManager;
};
xap.session.ClientSession.prototype.getResolutionHandler=function(){
return this._resolutionHandler;
};
xap.session.ClientSession.prototype.getApplication=function(){
return this._application;
};
xap.session.ClientSession.prototype.getMcoContainer=function(){
return this._mcoContainer;
};
xap.session.ClientSession.prototype.getDocumentContainer=function(){
return this._documentContainer;
};
xap.session.ClientSession.prototype.getSystemContainer=function(){
return this._systemContainer;
};
xap.session.ClientSession.prototype.getMacroContainer=function(){
return this._macroContainer;
};
xap.session.ClientSession.prototype.getRequestService=function(){
return this._requestService;
};
xap.session.ClientSession.prototype.getEventHandler=function(){
return this._eventHandler;
};
xap.session.ClientSession.prototype.getDeclarativeArgumentParser=function(){
return this._declarativeArgumentParser;
};
xap.session.ClientSession.prototype.getContainer=function(name){
return this._namesToContainers.get(name);
};
xap.session.ClientSession.prototype.addContainer=function(name,_6c4){
this._namesToContainers.put(name,_6c4);
};
xap.session.ClientSession.prototype.handleException=function(_6c5){
xap.log.Logger.getLogger("exception").error(xap.util.XapException.exceptionToString(_6c5));
};
xap.session.ClientSession.prototype.processDocument=function(doc){
var _6c7=this.getNamespaceHandlerManager();
var root=doc.getRootElement();
if(!root){
return;
}
for(var i=0;i<root.childNodes.length;i++){
var _6ca=root.childNodes[i];
if(_6ca.nodeType===google.DOM_ELEMENT_NODE&&_6ca.getNamespaceUri()){
_6c7.dispatch(_6ca);
}
}
};
xap.session.ClientSession.prototype.getUiDocumentHandler=function(){
return this._uiDocumentHandler;
};
xap.session.ClientSession.prototype._start=function(){
if(this.getApplication().getConfiguration().pluginFiles){
this._processPluginConfigurationFiles(this.getApplication().getConfiguration().pluginFiles);
}
if(this.getApplication().getConfiguration().pluginClasses){
this._processPluginConfigurationClasses(this.getApplication().getConfiguration().pluginClasses);
}
var _6cb=this.getApplication().getConfiguration().element;
var _6cc=this.getApplication().getConfiguration().createInitialDocumentOffscreen;
var _6cd=_6cc?document.createElement("div"):_6cb;
if(_6cb){
this._createInitialDocument(this.getApplication().getConfiguration().toolkitType,_6cd);
}
var _6ce=this.getRequestService();
try{
if(this.getApplication().getConfiguration().startPage){
_6ce.retrieveStartPage(this.getApplication().getConfiguration().startPage);
}
}
catch(exception){
this.handleException(exception);
}
if(_6cb&&_6cc){
this.getApplication().getConfiguration().element.appendChild(_6cd);
if(dojo.render.html.mozilla){
window.onresize();
}
}
};
xap.session.ClientSession.prototype._processPluginConfigurationFiles=function(_6cf){
var _6d0=this.getRequestService();
for(var i=0;i<_6cf.length;i++){
var _6d2=_6cf[i];
var _6d3=this.getApplication().getConfiguration().context+_6d2;
var _6d4=_6d0.retrieve(_6d3);
this._pluginRegistry.addPluginDescription(_6d4.responseText,_6d3);
}
};
xap.session.ClientSession.prototype._processPluginConfigurationClasses=function(_6d5){
for(var i=0;i<_6d5.length;i++){
var _6d7=_6d5[i];
this._pluginRegistry.loadLifecycleObject(_6d7);
}
};
xap.session.ClientSession.prototype._createInitialDocument=function(_6d8,_6d9){
var _6da="xap.bridges.basic.HtmlHostBridge";
Xap.require(_6da);
var _6db=new xap.bridges.basic.HtmlHostBridge();
var _6dc=this.getDocumentContainer().getUiDocument();
_6db.setElement(_6dc.getRootElement());
_6db.setSession(this);
_6db.init();
_6db.createHost(_6d9,_6d8);
this.getUiDocumentHandler().setHandlerForElement(_6db.getElement(),_6db);
_6dc.getRootElement().addStructureChangeListener(_6db);
};
Xap.provide("xap.application.Application");
Xap.require("xap.util.Exception");
Xap.require("xap.session.ClientSession");
Xap.require("xap.log.Logger");
xap.application.Application=function(_6dd){
if(_6dd!=null){
this._applicationConfig=_6dd;
}else{
this._applicationConfig={};
}
};
xap.application.Application.prototype.create=function(){
this._processConfiguration();
if(this._applicationConfig==null){
throw new xap.util.Exception(" bad argument, no configuration object supplied to the Xap.createApplication",null,null,"xap.application.Application.prototype.create");
}
var _6de=xap.util.ArrayHelper.indexOf(xap.log.Logger.LEVEL_NAMES,this._applicationConfig.logLevel);
if(_6de>=0){
xap.log.Logger.getRootLogger().setLevel(_6de);
}
var _6df=this._applicationConfig.logAppenders;
if(_6df){
for(var i=0;i<_6df.length;i++){
xap.log.Logger.getRootLogger().addAppender(eval("new "+_6df[i]+"();"));
}
}
if(this._applicationConfig.context==null){
this._applicationConfig.context="../../";
}
if(this._applicationConfig.srcPath==null){
this._applicationConfig.srcPath="../../";
}
this._session=new xap.session.ClientSession(this);
this._session._start();
};
xap.application.Application.prototype.getSession=function(){
return this._session;
};
xap.application.Application.prototype.getConfiguration=function(){
return this._applicationConfig;
};
xap.application.Application.prototype.fireEvent=function(_6e1){
var _6e2=new xap.session.ClientEvent(null,this.getSession());
return this._session.getEventHandler().fireEvent("",_6e1,null,_6e2);
};
xap.application.Application.prototype._processConfiguration=function(){
if(this._applicationConfig.configFilePath==null){
if(this._applicationConfig.context!=null){
this._applicationConfig.configFilePath=this._applicationConfig.context+"XapConfig.js";
}else{
this._applicationConfig.configFilePath="../../XapConfig.js";
}
}
var _6e3=new xap.requestservice.RequestService(null);
var _6e4=_6e3.retrieve(this._applicationConfig.configFilePath).responseText;
if(_6e4&&_6e4!=null){
var _6e5=eval("("+_6e4+")");
for(property in _6e5){
if(!this._applicationConfig[property]){
this._applicationConfig[property]=_6e5[property];
}
}
}
};
Xap.provide("xap.html.HtmlConnector");
xap.html.HtmlConnector=function(){
};
xap.html.HtmlConnector._findAppElements=function(){
var _6e6=new google.ExprContext(document);
var _6e7=google.xpathParse("//");
var _6e8=_6e7.evaluate(_6e6);
var _6e9=_6e8.nodeSetValue();
return _6e9;
};
xap.html.HtmlConnector.xapletCount=0;
xap.html.HtmlConnector.getNextXapLabel=function(){
return "xapApplication_"+(++xap.html.HtmlConnector.xapApplication);
};
xap.html.HtmlConnector.APPLICATION_CONTEXT_ATTRIBUTE__NAME="context";
xap.html.HtmlConnector.APPLICATION_SRC_PATH_ATTRIBUTE__NAME="srcPath";
xap.html.HtmlConnector.APPLICATION_ID_ATTRIBUTE__NAME="applicationName";
xap.html.HtmlConnector.APPLICATION_SOURCE_ATTRIBUTE__NAME="startPage";
xap.html.HtmlConnector.APPLICATION_TOOLKIT_ATTRIBUTE__NAME="toolkitType";
xap.html.HtmlConnector.APPLICATION_CONFIGFILEPATH_ATTRIBUTE__NAME="configFilePath";
xap.html.HtmlConnector.APPLICATION_CONTEXT_DEFAULT=null;
xap.html.HtmlConnector.APPLICATION_TOOLKITTYPE_DEFAULT="dojo";
xap.html.HtmlConnector.APPLICATION_CONFIGFILEPATH_DEFAULT=null;
xap.html.HtmlConnector.scanPage=function(){
var _6ea=xap.html.HtmlConnector._findAppElements();
if(window.xapApplications==null){
window.xapApplications=new Array(0);
}
if(Xap.embeddedApplications==null){
Xap.embeddedApplications=new Array(0);
}
for(var i=0;i<_6ea.length;++i){
var _6ec=_6ea[i];
if(!_6ec.getAttribute){
continue;
}
var _6ed=_6ec.getAttribute(xap.html.HtmlConnector.APPLICATION_SOURCE_ATTRIBUTE__NAME);
if(!_6ed){
continue;
}
var _6ee=_6ec.getAttribute(xap.html.HtmlConnector.APPLICATION_ID_ATTRIBUTE__NAME);
if(!_6ee){
_6ee=xap.html.HtmlConnector.getNextXapLabel();
}
var _6ef=_6ec.getAttribute(xap.html.HtmlConnector.APPLICATION_CONTEXT_ATTRIBUTE__NAME);
if(_6ef==null){
_6ef=xap.html.HtmlConnector.APPLICATION_CONTEXT_DEFAULT;
}
var _6f0=_6ec.getAttribute(xap.html.HtmlConnector.APPLICATION_SRC_PATH_ATTRIBUTE__NAME);
if(_6f0==null){
_6f0=xap.html.HtmlConnector.APPLICATION_CONTEXT_DEFAULT;
}
var _6f1=_6ec.getAttribute(xap.html.HtmlConnector.APPLICATION_CONFIGFILEPATH_ATTRIBUTE__NAME);
if(_6f1==null){
_6f1=xap.html.HtmlConnector.APPLICATION_CONFIGFILEPATH_DEFAULT;
}
var _6f2=_6ec.getAttribute(xap.html.HtmlConnector.APPLICATION_TOOLKIT_ATTRIBUTE__NAME);
if(_6f2==null){
_6f2=xap.html.HtmlConnector.APPLICATION_TOOLKITTYPE_DEFAULT;
}
var _6f3={applicationName:_6ee,startPage:_6ed,context:_6ef,srcPath:_6f0,scanPage:false,element:_6ec,configFilePath:_6f1};
Xap.embeddedApplications.push(_6f3);
}
};
xap.html.HtmlConnector.createEmbeddedApplications=function(){
for(var j=0;j<Xap.embeddedApplications.length;++j){
var _6f5=Xap.embeddedApplications[j];
var app=Xap.createApplication(_6f5);
window.xapApplications[_6f5.applicationName]=app;
}
};
Xap.provide("xap.data.controller.BindingType");
xap.data.controller.BindingType=function(_6f7,_6f8){
this._typeName=_6f7;
this._typeId=_6f8;
};
xap.data.controller.BindingType.ONE_TIME=new xap.data.controller.BindingType("One Time","ONE_TIME");
xap.data.controller.BindingType.ONE_WAY=new xap.data.controller.BindingType("One Way","ONE_WAY");
xap.data.controller.BindingType.prototype._typeName=null;
xap.data.controller.BindingType.prototype._typeId=null;
xap.data.controller.BindingType.prototype.getTypeName=function(){
return this._typeName;
};
xap.data.controller.BindingType.prototype.getTypeId=function(){
return this._typeId;
};
xap.data.controller.BindingType.getBindingType=function(type){
if(this.ONE_WAY._typeId==type){
return this.ONE_WAY;
}
if(this.ONE_TIME._typeId==type){
return this.ONE_TIME;
}
return null;
};
Xap.provide("xap.data.controller.XmlLocation");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.xml.dom.XapElement");
xap.data.controller.XmlLocation=function(_6fa){
this._element=_6fa;
if(_6fa){
this._element.addDocumentOwnershipListener(this);
}
};
xap.data.controller.XmlLocation.prototype.onRemovedFromDocument=function(_6fb){
this.invalidate();
};
xap.data.controller.XmlLocation.prototype.onAddedToDocument=function(_6fc){
};
xap.data.controller.XmlLocation.prototype.remove=function(){
this.invalidate();
};
xap.data.controller.XmlLocation.prototype.setLocationListener=function(_6fd){
this._locationListener=_6fd;
};
xap.data.controller.XmlLocation.prototype.invalidate=function(){
if(this._locationListener){
this._locationListener.locationInvalidated(this);
delete this._locationListener;
}
this._element.removeDocumentOwnershipListener(this);
};
Xap.provide("xap.data.controller.AttributeValueLocation");
Xap.require("xap.data.controller.XmlLocation");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.xml.dom.XapElement");
xap.data.controller.AttributeValueLocation=function(_6fe,_6ff){
xap.data.controller.XmlLocation.call(this,_6fe);
this._attributeName=_6ff;
};
Xap.setupClassAsSubclassOf("xap.data.controller.AttributeValueLocation","xap.data.controller.XmlLocation");
xap.data.controller.AttributeValueLocation.prototype.setData=function(data){
if(this._attributeName){
this._element.setAttribute(this._attributeName,data);
}
};
xap.data.controller.AttributeValueLocation.prototype.remove=function(){
this._element.removeAttribute(_attributeName);
xap.data.controller.XmlLocation.remove.call(this);
};
Xap.provide("xap.data.controller.Binding");
Xap.require("xap.util.TypeUtils");
Xap.require("xap.data.controller.BindingType");
Xap.require("xap.data.controller.AttributeValueLocation");
Xap.require("xap.util.ArrayHelper");
xap.data.controller.Binding=function(){
this._defaultValue="";
this._targets=[];
};
xap.data.controller.Binding.createDataSourceBinding=function(_701,_702,_703,_704,_705){
var _706=new xap.data.controller.Binding();
_706._source=_701;
_706._select=_702;
_706._session=_703;
_706._bindingType=_704;
if(_705!=null){
_706._defaultValue=_705;
}
_706._currentValue=_706._defaultValue;
return _706;
};
xap.data.controller.Binding.createIteratorBinding=function(_707,_708,_709,name,_70b,_70c,_70d){
var _70e=new xap.data.controller.Binding();
_70e._select=_709;
_70e._session=_70b;
_70e._bindingType=_70c;
if(name&&name.length>0){
_70e._source=_708.get(name);
if(!_70e._source){
_70e._context=_707.getContext(name);
if(_70e._context==null){
throw new xap.util.Exception("Named context for quick binding not found for '"+name+"'.");
}
_70e._source=_70e._context.getDataSource();
}
}else{
_70e._context=_707.getCurrentContext();
if(_70e._context==null){
throw new xap.util.Exception("Attempted a relative binding without a parent: '"+_709+"'.");
}
_70e._source=_70e._context.getDataSource();
}
if(_70d!=null){
_70e._defaultValue=_70d;
}
_70e._currentValue=_70e._defaultValue;
return _70e;
};
xap.data.controller.Binding.prototype.resolveAttribute=function(e,_710){
if(this._bindingType==xap.data.controller.BindingType.ONE_TIME){
this._currentValue=this._defaultValue;
}
this.requestData();
if((this._bindingType!=xap.data.controller.BindingType.ONE_TIME)||(this._currentValue===this._defaultValue)){
this.addBindTarget(new xap.data.controller.AttributeValueLocation(e,_710));
}
return this._currentValue;
};
xap.data.controller.Binding.prototype.resolveTextNode=function(e,_712,_713){
var _714=false;
if(_713==-1){
_713=e.indexOfChild(_712);
_714=true;
}
if(this._bindingType==xap.data.controller.Binding.BindingType.ONE_TIME){
this._currentValue=this._defaultValue;
}
this.requestData();
if((this._bindingType!=xap.data.controller.BindingType.ONE_TIME)||((this._bindingType==xap.data.controller.BindingType.ONE_TIME)&&(this._currentValue===this._defaultValue))){
}
return this._currentValue;
};
xap.data.controller.Binding.prototype.resolve=function(){
this.requestData();
return this._currentValue;
};
xap.data.controller.Binding.prototype.setData=function(){
for(var i=0;i<this._targets.length;i++){
var _716=this._targets[i];
_716.setData(this._currentValue,this._session);
if(this._bindingType==xap.data.controller.BindingType.ONE_TIME){
_716.invalidate();
}
}
};
xap.data.controller.Binding.prototype.setFormatter=function(f){
this._formatter=f;
};
xap.data.controller.Binding.prototype.formatObject=function(data){
if(this._formatter!=null){
data=this._formatter.format(data);
}
return data;
};
xap.data.controller.Binding.prototype.addBindTarget=function(_719){
this._targets.push(_719);
_719.setLocationListener(this);
};
xap.data.controller.Binding.prototype.removeBindTarget=function(_71a){
xap.util.ArrayHelper.removeElement(this._targets,_71a);
if(this._bindingType!=xap.data.controller.BindingType.ONE_TIME&&this._targets.length==0){
this._source.removeListener(this);
}
};
xap.data.controller.Binding.prototype.locationInvalidated=function(_71b){
this.removeBindTarget(_71b);
};
xap.data.controller.Binding.prototype.dataRetrieved=function(_71c,data,_71e){
this._currentValue=this._defaultValue;
if(data!=null){
try{
var _71f=this.formatObject(data);
if(_71f){
this._currentValue=xap.util.TypeUtils.convertToString(_71f);
if(!this._currentValue){
this._currentValue=this._defaultValue;
}
}else{
this._currentValue=this._defaultValue;
}
}
catch(dataException){
this._session.handleException(dataException);
}
}
this.setData();
};
xap.data.controller.Binding.prototype.getBindingType=function(){
return this._bindingType;
};
xap.data.controller.Binding.prototype.requestData=function(){
if(this._targets.length==0||this._bindingType==xap.data.controller.BindingType.ONE_TIME){
this._source.getData(this._select,this,this._context);
}
};
Xap.provide("xap.data.bridge.XmlDataTokens");
xap.data.bridge.XmlDataTokens=function(){
};
xap.data.bridge.XmlDataTokens.DATA_SOURCE="dataSource";
xap.data.bridge.XmlDataTokens.BINDING_TYPE="type";
xap.data.bridge.XmlDataTokens.DEFAULT_VALUE="defaultValue";
xap.data.bridge.XmlDataTokens.ID="id";
xap.data.bridge.XmlDataTokens.SELECT="select";
xap.data.bridge.XmlDataTokens.CLASS="class";
xap.data.bridge.XmlDataTokens.FORMATTER="formatter";
xap.data.bridge.XmlDataTokens.NAME="name";
Xap.provide("xap.data.controller.ContextStack");
Xap.require("xap.util.ArrayHelper");
xap.data.controller.ContextStack=function(){
this._contextStack=[];
};
xap.data.controller.ContextStack.prototype.pushContext=function(_720){
this._contextStack.push(_720);
};
xap.data.controller.ContextStack.prototype.popContext=function(){
var _721=this._contextStack[(this._contextStack.length-1)];
xap.util.ArrayHelper.removeElementAt(this._contextStack,this._contextStack.length-1);
return _721;
};
xap.data.controller.ContextStack.prototype.getContext=function(name){
if(name==null||name.length==0){
return this.getCurrentContext();
}
for(var i=0;i<this._contextStack.length;i++){
var _724=this._contextStack[i];
if(name==_724.getName()){
return _724;
}
}
return null;
};
xap.data.controller.ContextStack.prototype.getCurrentContext=function(){
if(this._contextStack.length==0){
return null;
}
return this._contextStack[this._contextStack.length-1];
};
xap.data.controller.ContextStack.prototype.getDataSet=function(){
return this.getCurrentContext().getDataSet();
};
xap.data.controller.ContextStack.prototype.getIndex=function(){
return this.getCurrentContext().getIndex();
};
xap.data.controller.ContextStack.prototype.getData=function(){
return this.getCurrentContext().getData();
};
xap.data.controller.ContextStack.prototype.clone=function(){
var _725=new xap.data.controller.ContextStack();
_725._contextStack=xap.util.ArrayHelper.clone(this._contextStack);
return _725;
};
Xap.provide("xap.data.controller.BindingResolver");
Xap.require("xap.session.ClientSession");
Xap.require("xap.data.bridge.XmlDataTokens");
Xap.require("xap.util.EscapeSyntaxParser");
Xap.require("xap.data.controller.ContextStack");
Xap.require("xap.data.controller.Binding");
xap.data.controller.BindingResolver=function(sess){
this._session=sess;
};
xap.data.controller.BindingResolver.ESCAPE_CHAR="\\";
xap.data.controller.BindingResolver.DELIMITER_CHAR=";";
xap.data.controller.BindingResolver.EQUALS_CHAR="=";
xap.data.controller.BindingResolver.ESCAPABLE_CHARACTERS=[xap.data.controller.BindingResolver.ESCAPE_CHAR,xap.data.controller.BindingResolver.DELIMITER_CHAR];
xap.data.controller.BindingResolver.PARSER=new xap.util.EscapeSyntaxParser(xap.data.controller.BindingResolver.ESCAPABLE_CHARACTERS,xap.data.controller.BindingResolver.ESCAPABLE_CHARACTERS);
xap.data.controller.BindingResolver.prototype._contextStack=new xap.data.controller.ContextStack();
xap.data.controller.BindingResolver.prototype.getContextStack=function(){
return this._contextStack;
};
xap.data.controller.BindingResolver.prototype.setContextStack=function(_727){
this._contextStack=_727;
};
xap.data.controller.BindingResolver.prototype.createBindingFromParameterString=function(_728,_729,_72a){
var _72b=null;
var _72c=xap.data.controller.BindingType.ONE_TIME;
var _72d=null;
var done=false;
var _72f=0;
var _730=[];
var _731=null;
var _732=null;
var _733=null;
var _734=null;
var _735=xap.data.controller.BindingResolver.PARSER;
while(!done){
var _736=null;
var _737=false;
if(_72f==_728.length){
done=true;
_736=xap.data.controller.BindingResolver.DELIMITER_CHAR;
}else{
_736=_735.getResolvedCharacter(_728,_72f);
if(_736==xap.util.EscapeSyntaxParser.UNRESOLVED_CHARACTER){
_736=_728.charAt(_72f);
_72f++;
}else{
_72f+=2;
_737=true;
}
}
if(!_737){
if(_736==xap.data.controller.BindingResolver.DELIMITER_CHAR){
if(_731==null){
if(_730){
_731=_730.join("").trim();
}
}else{
if(_730!=null){
_732=_730.join("").trim();
}
}
if(xap.data.bridge.XmlDataTokens.FORMATTER==_731){
if(_732!=null){
_72b=_72a.get(_732);
}
}else{
if(xap.data.bridge.XmlDataTokens.BINDING_TYPE==_731){
if(_732!=null){
_72c=xap.data.controller.BindingType.getBindingType(_732);
if(_72c==null){
var args=[_731,_732,xap.data.controller.BindingType.ONE_TIME.getTypeId()+" or "+xap.data.controller.BindingType.ONE_WAY.getTypeId()];
throw new DataControllerException(DataControllerException.PARAMETERIZED_BINDING_INVALID_ARGUMENT_VALUE,args);
}
}
}else{
if(xap.data.bridge.XmlDataTokens.SELECT==_731){
_72d=_732;
}else{
if(xap.data.bridge.XmlDataTokens.DATA_SOURCE==_731){
if(_732!=null){
_733=_732;
}
}else{
if(xap.data.bridge.XmlDataTokens.DEFAULT_VALUE==_731){
_734=_732;
}
}
}
}
}
_730=[];
_731=null;
_732=null;
continue;
}else{
if(_731==null&&_736==this.constructor.EQUALS_CHAR){
_731=_730.join("").trim();
_730=[];
continue;
}
}
}
_730.push(_736);
}
var _739=xap.data.controller.Binding.createIteratorBinding(this.getContextStack(),_729,_72d,_733,this._session,_72c,_734);
if(_72b!=null){
_739.setFormatter(_72b);
}
return _739;
};
Xap.provide("xap.data.controller.IteratorContainerImpl");
Xap.require("xap.session.ClientSession");
Xap.require("xap.session.Container");
Xap.require("xap.util.ArrayHelper");
xap.data.controller.IteratorContainerImpl=function(_73a){
xap.session.Container.call(this,_73a);
};
Xap.setupClassAsSubclassOf("xap.data.controller.IteratorContainerImpl","xap.session.Container");
xap.data.controller.IteratorContainerImpl.prototype.addIterator=function(name,_73c){
var v=this.get(name);
if(v==null){
v=[];
this.put(name,v);
}
v.push(_73c);
};
xap.data.controller.IteratorContainerImpl.prototype.getIterator=function(name,ds){
var v=this.get(name);
if(v!=null){
for(var i=0;i<v.length;i++){
var _742=v[i];
if(_742.getDataSet()==ds){
return _742;
}
}
}
return null;
};
xap.data.controller.IteratorContainerImpl.prototype.getIterators=function(name){
return this.get(name);
};
xap.data.controller.IteratorContainerImpl.prototype.removeIterator=function(_744){
var v=this.getIterators(_744.getName());
if(v!=null){
xap.util.ArrayHelper.removeElement(v,_744);
if(v.length==0){
this.removeValue(v);
}
}
};
xap.data.controller.IteratorContainerImpl.prototype.removeIterators=function(name){
this.remove.call(name);
};
Xap.provide("xap.data.DataFramework");
Xap.require("xap.data.controller.Binding");
Xap.require("xap.data.controller.BindingResolver");
Xap.require("xap.session.Container");
Xap.require("xap.data.controller.BindingType");
Xap.require("xap.resolver.ResolutionInfo");
Xap.require("xap.data.controller.IteratorContainerImpl");
xap.data.DataFramework=function(sess){
this._session=sess;
this._dataSourceContainer=new xap.session.Container(sess);
this._bindingContainer=new xap.session.Container(sess);
this._formatterContainer=new xap.session.Container(sess);
this._iteratorContainer=new xap.data.controller.IteratorContainerImpl(sess);
this._session.addContainer("dataSource",this._dataSourceContainer);
this._session.addContainer("formatter",this._formatterContainer);
this._session.addContainer("binding",this._bindingContainer);
};
xap.data.DataFramework.getDataService=function(sess){
var _749=sess.getSystemContainer().get("DataService");
if(!_749){
_749=new xap.data.DataFramework(sess);
sess.getSystemContainer().put("DataService",_749);
mcoParser=sess.getSystemContainer().get("McoArgumentParser");
mcoParser.addFunctionShortcut("*","DataService.relativeBind");
mcoParser.addFunctionShortcut("bind","DataService.bind");
}
return _749;
};
xap.data.DataFramework.prototype.getBindingResolver=function(){
return this._bindingResolver;
};
xap.data.DataFramework.prototype.setBindingResolver=function(b){
this._bindingResolver=b;
};
xap.data.DataFramework.prototype.getBindingContainer=function(){
return this._bindingContainer;
};
xap.data.DataFramework.prototype.getIteratorContainer=function(){
return this._iteratorContainer;
};
xap.data.DataFramework.prototype.getFormatterContainer=function(){
return this._formatterContainer;
};
xap.data.DataFramework.prototype.getDataSourceContainer=function(){
return this._dataSourceContainer;
};
xap.data.DataFramework.prototype.removedFromContainer=function(){
this._bindingContainer.destroy();
this._formatterContainer.destroy();
this._dataSourceContainer.destroy();
this._iteratorContainer.destroy();
};
xap.data.DataFramework.prototype.relativeBind=function(){
var _74b=null;
var _74c=null;
if(arguments.length==2){
_74b=arguments[0];
_74c=arguments[1];
}else{
if(arguments.length==1){
_74c=arguments[0];
}
}
var _74d=xap.data.controller.Binding.createIteratorBinding(this._bindingResolver.getContextStack(),this.getDataSourceContainer(),_74c,_74b,this._session,xap.data.controller.BindingType.ONE_TIME,null);
return this.bindBinding(_74d);
};
xap.data.DataFramework.prototype.bind=function(_74e){
if(typeof _74e=="string"){
var _74f=this._bindingResolver.createBindingFromParameterString(_74e,this.getDataSourceContainer(),this.getFormatterContainer());
return this.bindBinding(_74f);
}else{
return this.bindBinding(_74e);
}
};
xap.data.DataFramework.prototype.bindBinding=function(_750){
var _751=this._session.getResolutionHandler()._clientEvent;
var info=_751._resolverInfo;
if(!info){
return _750.resolve();
}else{
if(info._resolutionType==xap.resolver.ResolutionInfo.WHOLE_ATTRIBUTE){
return _750.resolveAttribute(info._sourceElement,info._attributeName);
}
}
return _750.resolve();
};
Xap.provide("xap.data.DataNamespaceHandler");
Xap.require("xap.data.DataFramework");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.taghandling.PluginDocumentHandler");
Xap.require("xap.data.controller.BindingResolver");
xap.data.DataNamespaceHandler=function(){
};
xap.data.DataNamespaceHandler.DOCUMENT_NAMES=["bindings","dataSources","formatters"];
xap.data.DataNamespaceHandler.prototype.pluginLoaded=function(_753){
this._session=_753;
var _754=xap.xml.ParserFactory.getParser();
for(var i=0;i<xap.data.DataNamespaceHandler.DOCUMENT_NAMES.length;i++){
var _756=xap.data.DataNamespaceHandler.DOCUMENT_NAMES[i];
try{
var _757="<"+_756+"/>";
var _758=_754.parse(_757);
_753.getDocumentContainer().put(_756,_758);
var p=new xap.taghandling.PluginDocumentHandler(_753,_758,xap.data.DataNamespaceHandler.DOCUMENT_NAMES[i]);
}
catch(ex){
_753.handleException(ex);
}
}
_753.getNamespaceHandlerManager().addHandler("http://openxal.org/core/data",this);
var _75a=new xap.data.controller.BindingResolver(_753);
var _75b=xap.data.DataFramework.getDataService(_753);
_75b.setBindingResolver(_75a);
};
xap.data.DataNamespaceHandler.prototype.receiveDispatch=function(_75c){
var _75d=this._session;
for(var i=0;i<xap.data.DataNamespaceHandler.DOCUMENT_NAMES.length;i++){
var _75f=xap.data.DataNamespaceHandler.DOCUMENT_NAMES[i];
var _760=_75d.getPluginRegistry().getPluginDefinition(_75c.getLocalName(),_75c.getNamespaceUri(),_75f);
if((typeof _760!="undefined")&&(_760!=null)){
var _761=this._session.getDocumentContainer().get(_75f);
if(_761!=null){
_761.getRootElement().appendChild(_75c);
_761.getRootElement().removeChild(_75c);
}
return;
}
}
var _760=_75d.getPluginRegistry().getPluginDefinition(_75c.getLocalName(),_75c.getNamespaceUri(),"ui");
if(_760){
var _762=this._session.getDocumentContainer().getUiDocument();
var _763=_762.getRootElement();
_763.appendChild(_75c);
}else{
var ex=new xap.util.Exception("Unhandled data tag in namespace:  "+_75c.getNamespaceUri()+", "+_75c.getLocalName());
_75d.handleException(ex);
}
};
Xap.provide("xap.macro.Macro");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.util.MessageFormat");
xap.macro.Macro=function(_765,_766){
this._macroText=_765;
this._session=_766;
};
xap.macro.Macro.prototype.execute=function(){
var _767=this._macroText;
if(arguments&&arguments.length>0){
var args=new Array(arguments.length);
for(var i=0;i<arguments.length;i++){
args[i]=arguments[i];
}
_767=xap.util.MessageFormat.format(this._macroText,args);
}
var _76a=xap.xml.ParserFactory.getParser();
this._session.processDocument(_76a.parse(_767));
};
Xap.provide("xap.macro.MacroNamespaceHandler");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.xml.InvalidXmlException");
Xap.require("xap.macro.Macro");
Xap.require("xap.log.Logger");
xap.macro.MacroNamespaceHandler=function(){
};
xap.macro.MacroNamespaceHandler.s_log=xap.log.Logger.getLogger("xap.macro.MacroNamespaceHandler");
xap.macro.MacroNamespaceHandler.prototype.pluginLoaded=function(_76b){
_76b.getNamespaceHandlerManager().addHandler("http://openxal.org/core/macro",this);
this._session=_76b;
};
xap.macro.MacroNamespaceHandler.prototype.receiveDispatch=function(_76c){
var _76d=this._session;
var name=_76c.getAttribute("name");
if(name==null||name==""){
name=_76c.getAttribute("id");
if(name==null||name==""||xap.xml.dom.XapElement.isGeneratedId(name)){
_76d.handleException(new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.MISSING_ATTRIBUTE_MSGID,new Array("name",_76c.toXml(true))));
}
}
if(xap.macro.MacroNamespaceHandler.s_log.isDebug()){
xap.macro.MacroNamespaceHandler.s_log.debug("Create macro name: ["+name+"] from element: ["+_76c.toXml()+"]");
}
var _76f=new xap.macro.Macro("<xap>"+_76c.childNodes[0].toXmlWithoutAutoAssignedIds()+"</xap>",_76d);
var _770=_76d.getMacroContainer();
if(_770.get(name)!=null){
xap.macro.MacroNamespaceHandler.s_log.info("Replacing an existing macro registered"+" with name:"+name+". Element:"+_76c.toXml());
}
_770.put(name,_76f);
};
Xap.provide("xap.mco.McoNamespaceHandler");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.xml.InvalidXmlException");
Xap.require("xap.log.Logger");
xap.mco.McoNamespaceHandler=function(){
};
xap.mco.McoNamespaceHandler.s_log=xap.log.Logger.getLogger("xap.mco.McoNamespaceHandler");
xap.mco.McoNamespaceHandler.prototype.pluginLoaded=function(_771){
_771.getNamespaceHandlerManager().addHandler("http://openxal.org/core/mco",this);
this._session=_771;
};
xap.mco.McoNamespaceHandler.prototype.receiveDispatch=function(_772){
var name=_772.getLocalName();
if(name=="execute"){
this._handleExecute(_772);
}else{
if(name=="mco"){
this._handleMcoDeclaration(_772);
}
}
};
xap.mco.McoNamespaceHandler.prototype._handleExecute=function(_774){
var _775=this._session;
var _776=_774.firstChild;
if(!_776||_776.nodeType!=google.DOM_TEXT_NODE){
return;
}
var _777=_776.nodeValue;
_775.getEventHandler().fireEvent("execute",_777,_774,null);
};
xap.mco.McoNamespaceHandler.prototype._handleMcoDeclaration=function(_778){
var _779=this._session;
var id=_778.getAttribute("id");
if(!id||id==""||xap.xml.dom.XapElement.isGeneratedId(id)){
_779.handleException(new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.MISSING_ATTRIBUTE_MSGID,new Array("id",_778.toXml(true))));
}
var src=_778.getAttribute("src");
var _77c=_778.getAttribute("class");
if(!_77c||_77c==""){
_779.handleException(new xap.xml.InvalidXmlException(xap.xml.InvalidXmlException.MISSING_ATTRIBUTE_MSGID,new Array("class",_778.toXml(true))));
}
var _77d=Xap.resolveConstructor(_77c);
if(!_77d){
if(src){
var _77e=null;
try{
var _77f=this._session.getRequestService();
_77e=_77f.retrieve(src).responseText;
}
catch(eRetrieve){
throw new xap.util.Exception("Problem getting data from location "+src+";\n"+eRetrieve);
}
try{
dj_eval(_77e);
_77d=Xap.resolveConstructor(_77c);
}
catch(eEvaluation){
throw new xap.util.Exception("Problem evaluating data from location "+src+":\n"+_77e+"\n"+eEvaluation);
}
}
}
if(xap.mco.McoNamespaceHandler.s_log.isDebug()){
xap.mco.McoNamespaceHandler.s_log.debug("Creating mco id: ["+id+"] from class: ["+_77c+"]");
}
if(!_77d){
var _780=Xap.require(_77c);
if(!_780){
throw new xap.util.Exception("Cannot load constructor for "+"'.");
}else{
_77d=Xap.resolveConstructor(_77c);
}
}
try{
var mco=new _77d;
if(xap.mco.McoNamespaceHandler.s_log.isDebug()){
xap.mco.McoNamespaceHandler.s_log.debug("Created mco: "+mco);
}
_779.getMcoContainer().put(id,mco);
var _782=_778.getAttribute("onLoad");
if(_782){
_779.getEventHandler().fireEvent("onLoad",_782,null,new xap.session.ClientEvent(mco,_779));
}
}
catch(e){
_779.handleException(e);
}
};
Xap.provide("xap.xml.xmodify.XmodifyException");
xap.xml.xmodify.XmodifyException=function(){
var _783=arguments[0];
for(var i=1;i<arguments.length;i++){
_783=_783.replace("%s",arguments[i]);
}
this._message=_783;
};
xap.xml.xmodify.XmodifyException.prototype.toString=function(){
return this._message;
};
xap.xml.xmodify.XmodifyException.SET_ROOT_ELEMENT_EXPECTS_ONE_ARG="setRootElement() expects one argument";
xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_TARGETS="Command %s expects target node(s)";
xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_ONE_ARG="Command %s expects exactly one argument";
xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND="Invalid node %s for command %s";
xap.xml.xmodify.XmodifyException.ATTRIBUTE_ARGUMENT_NOT_ATTRIB_DIRECTIVE="Attribute argument (%s) is not an attribute directive!";
xap.xml.xmodify.XmodifyException.UNKNOWN_COMMAND="Directive %s is unrecognized";
xap.xml.xmodify.XmodifyException.INVALID_INSERT_AFTER_BECAUSE_OF_PARENT="The XPath statement resolved to type %s which does not have a parent. Therefore an insert after cannot be performed.";
xap.xml.xmodify.XmodifyException.INVALID_INSERT_BEFORE_BECAUSE_OF_PARENT="The XPath statement resolved to type %s which does not have a parent. Therefore an insert before cannot be performed.";
xap.xml.xmodify.XmodifyException.CHILDREN_CANT_BE_ADDED="The XPath statement returned a node to which children may not be added: %s";
xap.xml.xmodify.XmodifyException.CANNOT_REPLACE="Some problem replacing node <%s/> with node <%s/>:  %s";
xap.xml.xmodify.XmodifyException.CANNOT_REPLACE__REMOVAL="Some problem removing old node <%s/>: %s";
xap.xml.xmodify.XmodifyException.CANNOT_REPLACE__INSERTION="Some problem inserting new node <%s/>: %s";
xap.xml.xmodify.XmodifyException.CANNOT_REPLACE__ORIGINAL_INVALID="Can't replace the selected element with the indicated element, the selected element was null or otherwise not an XNode instance: %s.";
xap.xml.xmodify.XmodifyException.ZERO_RESULTS="The XPath statement %s returned 0 results.";
xap.xml.xmodify.XmodifyException.UNSPECIFIED_EXCEPTION="Unspecified xap.xml.xmodify.Xmodify exception.";
Xap.provide("xap.xml.xmodify.UpdateDirective");
Xap.require("xap.xml.xmodify.XmodifyException");
xap.xml.xmodify.UpdateDirective=function(){
};
xap.xml.xmodify.UpdateDirective.DIRECTIVE_VARIABLE=0;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_ATTRIBUTE=1;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_VALUE_OF=2;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_AFTER=3;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_BEFORE=4;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_APPEND=5;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_ATTRIBUTE=6;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_REPLACE=7;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_REPLACE_CHILDREN=8;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_REMOVE_ELEMENT=9;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_REMOVE_ATTRIBUTE=10;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_AT=11;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_CLONE=12;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_CREATE_DOCUMENT=13;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_EMBED_XAL=14;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_INNER_HTML=15;
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES=[];
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_VARIABLE]="variable";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_ATTRIBUTE]="attribute";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_VALUE_OF]="value-of";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_AFTER]="insert-after";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_BEFORE]="insert-before";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_APPEND]="append";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_ATTRIBUTE]="set-attribute";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_REPLACE]="replace";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_REPLACE_CHILDREN]="replace-children";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_REMOVE_ELEMENT]="remove-element";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_REMOVE_ATTRIBUTE]="remove-attribute";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_AT]="insert-at";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_CLONE]="clone";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_CREATE_DOCUMENT]="create-document";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_EMBED_XAL]="embed-xal";
xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_INNER_HTML]="set-innerhtml";
xap.xml.xmodify.UpdateDirective.getType=function(_785){
for(var i=0;i<xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES.length;i++){
if(xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[i]==_785){
return (i);
}
}
throw (new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.UNKNOWN_COMMAND,_785));
};
Xap.provide("xap.bridges.basic.HtmlHostBridge");
Xap.require("xap.taghandling.AbstractTagImpl");
xap.bridges.basic.HtmlHostBridge=function(){
xap.taghandling.AbstractTagImpl.call(this);
};
Xap.setupClassAsSubclassOf("xap.bridges.basic.HtmlHostBridge","xap.taghandling.AbstractTagImpl");
xap.bridges.basic.HtmlHostBridge.prototype.toString=function(){
return "xap.bridges.basic.HtmlHostBridge";
};
xap.bridges.basic.HtmlHostBridge.prototype.init=function(){
var _787=this.getElement();
this.parseInitialAttributes(_787);
if(_787&&_787.getAttribute("htmlElementId")){
this.createPeer(_787.getAttribute("htmlElementId"));
var _788=this.getSession().getUiDocumentHandler();
var _789=this.getElement().childNodes;
if(!xap.taghandling.AbstractTagImpl.TAIL_RECURSION){
for(var i=0;i<_789.length;i++){
if(_789[i].nodeType==google.DOM_ELEMENT_NODE){
_788.parseChild(_789[i]);
}
}
}
}
};
xap.bridges.basic.HtmlHostBridge.prototype.createPeer=function(_78b){
var _78c=document.getElementById(_78b);
this.createHost(_78c,"dojo");
};
xap.bridges.basic.HtmlHostBridge.prototype.createHost=function(_78d,_78e){
var _78f=null;
if(_78e&&_78e=="dojo"){
_78f=(_78d!=null)?_78d:document.body;
}
this.setPeer(_78f);
};
xap.bridges.basic.HtmlHostBridge.prototype.childAdded=function(e){
var _791=e.getChange();
var _792=this.getUiContentHandler().getHandlerForElement(_791);
this.addChild(_792,e.getIndex());
};
xap.bridges.basic.HtmlHostBridge.prototype.addChild=function(_793,_794){
if(_793.getRootDomNode){
this.getRootDomNode().appendChild(_793.getRootDomNode());
}
};
xap.bridges.basic.HtmlHostBridge.prototype.getRootDomNode=function(){
return this.getPeer();
};
Xap.provide("xap.xml.xmodify.CommandDirective");
Xap.require("xap.log.Logger");
Xap.require("xap.xml.xmodify.XmodifyException");
Xap.require("xap.xml.xmodify.UpdateDirective");
Xap.require("xap.xml.dom.Document");
Xap.require("xap.util.MessageFormat");
Xap.require("xap.util.XapException");
Xap.require("google.xpath");
xap.xml.xmodify.CommandDirective=function(_795,_796,_797){
this._type=xap.xml.xmodify.UpdateDirective.getType(_795.getLocalName());
this._commandArguments=_795.childNodes;
this._nameAttr=_795.getAttribute("name");
this._selectAttr=_795.getAttribute("select");
this._cloneAttr=_795.getAttribute("clone");
this._indexAttr=_795.getAttribute("index");
var _798=xap.xml.xmodify.CommandDirective.checkArguments(this._type,this._commandArguments.length);
if(_798!==null){
throw (_798);
}
this._session=_796;
this._directiveSet=_797;
this._log=xap.xml.xmodify.CommandDirective.s_log;
};
xap.xml.xmodify.CommandDirective.s_log=xap.log.Logger.getLogger("xap.xml.xmodify.Xmodify");
xap.xml.xmodify.CommandDirective.isTargetExpected=function(_799){
var _79a=(_799!=xap.xml.xmodify.UpdateDirective.DIRECTIVE_CREATE_DOCUMENT);
return (_79a);
};
xap.xml.xmodify.CommandDirective.checkArguments=function(_79b,_79c){
if((_79c===0)&&(_79b==xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_ATTRIBUTE)){
return new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_ONE_ARG,"set-attribute");
}
return (null);
};
xap.xml.xmodify.CommandDirective.replaceElement=function(_79d,_79e){
if((!_79d)||(!_79d.parentNode)){
return;
}
var _79f=_79d.parentNode;
var _7a0=_79d.nextSibling;
_79f.removeChild(_79d);
var n=null;
if(_7a0){
for(n=0;n<_79e.length;n++){
_79f.insertBefore(_79e[n],_7a0);
}
}else{
for(n=0;n<_79e.length;n++){
_79f.appendChild(_79e[n]);
}
}
};
xap.xml.xmodify.CommandDirective.insertElement=function(_7a2,_7a3,_7a4){
if((!_7a2)||(!_7a2.parentNode)){
return;
}
var _7a5=_7a2.parentNode;
var n=null;
if(_7a4){
for(n=0;n<_7a3.length;n++){
_7a5.insertBefore(_7a3[n],_7a2);
}
}else{
if(_7a2.nextSibling){
for(n=0;n<_7a3.length;n++){
_7a5.insertBefore(_7a3[n],_7a2.nextSibling);
}
}else{
for(n=0;n<_7a3.length;n++){
_7a5.appendChild(_7a3[n]);
}
}
}
};
xap.xml.xmodify.CommandDirective.selectMatchingNodes=function(_7a7,_7a8){
var _7a9=[];
if(_7a8&&(_7a8.charAt(0)=="#")){
var id=_7a8.substring(1);
var _7ab=_7a7.getElementById(id);
if(_7ab){
_7a9.push(_7ab);
}
}else{
var _7ac=google.xpathParse(_7a8);
var _7ad=new google.ExprContext(_7a7);
var _7ae=_7ac.evaluate(_7ad);
_7a9=_7ae.nodeSetValue();
}
return _7a9;
};
xap.xml.xmodify.CommandDirective.prototype.execute=function(_7af,_7b0){
var _7b1=xap.xml.xmodify.CommandDirective.selectMatchingNodes(_7af,this._selectAttr);
var _7b2=(_7af instanceof xap.xml.dom.Document);
if((_7b1.length===0)&&xap.xml.xmodify.CommandDirective.isTargetExpected(this.getType())){
var ex=new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.ZERO_RESULTS,this._selectAttr);
if(this._log.isDebug()){
this._log.debug(xap.util.XapException.exceptionToString(ex));
}
return;
}
switch(this.getType()){
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_VARIABLE:
this._handleVariable(_7af,_7b1,(this._cloneAttr&&this._cloneAttr=="true"));
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_APPEND:
this._handleAppend(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_ATTRIBUTE:
this._handleSetAttribute(_7af,_7b0,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_REMOVE_ELEMENT:
this._handleRemoveElement(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_REMOVE_ATTRIBUTE:
this._handleRemoveAttribute(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_BEFORE:
this._handleInsert(_7af,_7b1,true);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_AFTER:
this._handleInsert(_7af,_7b1,false);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_INSERT_AT:
this._handleInsertAt(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_REPLACE:
this._handleReplace(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_REPLACE_CHILDREN:
this._handleReplaceChildren(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_CLONE:
this._handleClone(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_EMBED_XAL:
this._handleEmbedXal(_7af,_7b1);
break;
case xap.xml.xmodify.UpdateDirective.DIRECTIVE_SET_INNER_HTML:
this._handleSetInnerHtml(_7af,_7b1);
break;
default:
if(this._log.isDebug()){
var _7b4=xap.util.MessageFormat.format("Unhandled command : {0}",[this.getType()]);
this._log.debug(_7b4);
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleVariable=function(_7b5,_7b6,_7b7){
if(!this._nameAttr){
this._log.debug("Variable element requires a name.");
return;
}
if(!this._directiveSet.variables){
this._directiveSet.variables={};
}
var _7b8=[];
for(var n=0;n<_7b6.length;n++){
var _7ba=_7b6[n];
this._log.debug("Variable node: "+_7ba.nodeName);
_7b8.push(_7ba);
}
_7b8.needClone=_7b7;
this._directiveSet.variables[this._nameAttr]=_7b8;
};
xap.xml.xmodify.CommandDirective.prototype._handleAppend=function(_7bb,_7bc){
var _7bd=this._commandArguments;
if(this._log.isDebug()){
var _7be=xap.util.MessageFormat.format("We have {0} children to append to {1}:{2}",[_7bd.length,this._selectAttr,this.formatDocument(_7bb)]);
this._log.debug(_7be);
}
for(var i=0;i<_7bc.length;i++){
var _7c0=_7bc[i];
if(_7c0.nodeType==google.DOM_DOCUMENT_NODE){
if(this._log.isDebug()){
this._log.debug("We have 1 elem to append as new root : "+_7bd[0]);
}
if(_7bd.length!=1){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.SET_ROOT_ELEMENT_EXPECTS_ONE_ARG);
}else{
_7c0.setRootElement(_7bd[0]);
return;
}
}else{
if(_7c0.nodeType==google.DOM_ELEMENT_NODE){
for(var j=0;j<_7bd.length;j++){
try{
var _7c2=this._createNode(_7bb,_7bd[j]);
var _7c3=xap.util.MessageFormat.format("Appending {0} nodes to {1}",[_7c2.length,_7c0.nodeName]);
this._log.debug(_7c3);
for(var k=0;k<_7c2.length;k++){
_7c0.appendChild(_7c2[k]);
}
}
catch(e){
if(this._log.isDebug()){
this._log.debug("Exception: "+e.message);
}
}
}
}else{
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND,_7c0.nodeType,"append");
}
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleSetAttribute=function(_7c5,_7c6,_7c7){
if((!_7c7.length)||(_7c7.length===0)){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_TARGETS,"set-attribute");
}
var _7c8=this._commandArguments;
for(var i=0;i<_7c7.length;i++){
var _7ca=_7c7[i];
if(_7ca.nodeType==google.DOM_ELEMENT_NODE){
for(var j=0;j<_7c8.length;j++){
var _7cc=_7c8[j];
if(_7cc.getLocalName&&(_7cc.getLocalName()==xap.xml.xmodify.UpdateDirective.DIRECTIVE_NAMES[xap.xml.xmodify.UpdateDirective.DIRECTIVE_ATTRIBUTE])){
var name=_7cc.getAttribute("name");
var _7ce=_7cc.getAttribute("value");
_7ca.setAttribute(name,_7ce,_7c6);
}else{
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.ATTRIBUTE_ARGUMENT_NOT_ATTRIB_DIRECTIVE,_7cc.nodeName);
}
}
}else{
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND,_7ca.nodeType,"set-attribute");
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleReplaceChildren=function(_7cf,_7d0){
var _7d1=this._commandArguments;
for(var i=0;i<_7d0.length;i++){
var node=_7d0[i];
if(node.nodeType!=google.DOM_ELEMENT_NODE){
continue;
}
while(node.childNodes.length>0){
node.removeChild(node.childNodes[0]);
}
for(var j=0;j<_7d1.length;j++){
var _7d5=this._createNode(_7cf,_7d1[j]);
for(var k=0;k<_7d5.length;k++){
node.appendChild(_7d5[k]);
}
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleRemoveElement=function(_7d7,_7d8){
if((!_7d8.length)||(_7d8.length===0)){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_TARGETS,"remove");
}
var _7d9=this._selectAttr;
if(this._log.isDebug()){
var _7da=xap.util.MessageFormat.format("Removing the element at XPath {0} : results : {1}",[_7d9,_7d8.length]);
this._log.debug(_7da);
}
for(var i=0;i<_7d8.length;i++){
var _7dc=_7d8[i];
if(!_7dc){
continue;
}
switch(_7dc.nodeType){
case (google.DOM_ELEMENT_NODE):
if(_7dc.parentNode){
_7dc.parentNode.removeChild(_7dc);
}else{
if(_7dc===_7d7.getRootElement()){
_7d7.setRootElement(null);
return;
}else{
}
}
break;
case (google.DOM_TEXT_NODE):
var _7dd=xap.util.MessageFormat.format("Removing text node ({0})",[_7dc.nodeValue()]);
if(this._log.isDebug()){
this._log.debug(_7dd);
}
if(_7dc.parentNode){
_7dc.parentNode.removeChild(_7dc);
}
break;
default:
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND,_7dc.nodeName,"remove-element");
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleRemoveAttribute=function(_7de,_7df){
if((!_7df.length)||(_7df.length===0)){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_TARGETS,"remove-attriute");
}
for(var i=0;i<_7df.length;i++){
var _7e1=_7df[i];
if(_7e1.nodeType==google.DOM_ATTRIBUTE_NODE){
var _7e2=_7e1.ownerElement||_7e1.parentNode;
if(_7e2){
_7e2.removeAttribute(_7e1.nodeName);
}
}else{
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND,"remove-attribute",_7e1.nodeType);
}
}
if(this._log.isDebug()){
this._log.debug("Completed remove-attribute: "+this.formatDocument(_7de));
}
};
xap.xml.xmodify.CommandDirective.prototype._handleInsert=function(_7e3,_7e4,_7e5){
var _7e6=this._commandArguments;
for(var i=0;i<_7e4.length;i++){
var _7e8=_7e4[i];
var _7e9=[];
if((!_7e8)||(!_7e8.parentNode)){
this._log.debug("Node undefined or does not have a parent node");
continue;
}
if(_7e8.nodeType==google.DOM_ATTRIBUTE_NODE){
this._log.debug("Can't insert non-attribute node before an attribute node");
continue;
}
if(_7e8.nodeType==google.DOM_ELEMENT_NODE||_7e8.nodeType==google.DOM_TEXT_NODE){
for(var j=0;j<_7e6.length;j++){
var _7eb=this._createNode(_7e3,_7e6[j]);
for(var k=0;k<_7eb.length;k++){
_7e9.push(_7eb[k]);
}
}
xap.xml.xmodify.CommandDirective.insertElement(_7e8,_7e9,_7e5);
}else{
this._log.debug("Can't do insert before for this type of node");
continue;
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleInsertAt=function(_7ed,_7ee){
var _7ef=parseInt(this._indexAttr,10);
if(isNaN(_7ef)){
throw new xap.xml.xmodify.XmodifyException("Expected \"index\" attribute with integer value");
}
if(_7ee.length===0&&_7ee[0].nodeType==google.DOM_DOCUMENT_NODE){
if(this._commandArguments.length!==0){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.SET_ROOT_ELEMENT_EXPECTS_ONE_ARG);
}
_7ee[0].setRootElement(this._commandArguments[0]);
return;
}
var _7f0=[];
for(var n=0;n<_7ee.length;n++){
var _7f2=_7ee[n].childNodes[_7ef];
if(!_7f2){
throw new xap.xml.xmodify.XmodifyException("Index out of range");
}
if(_7f2.nodeType!=google.DOM_ELEMENT_NODE){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND,_7f2.nodeType,"insert-at");
}
_7f0.push(_7f2);
}
this._handleInsert(_7ed,_7f0,true);
};
xap.xml.xmodify.CommandDirective.prototype._handleReplace=function(_7f3,_7f4){
if((!_7f4.length)||(_7f4.length===0)){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.COMMAND_EXPECTS_TARGETS,"replace");
}
var _7f5=this._commandArguments;
var _7f6=[];
for(var i=0;i<_7f4.length;i++){
var _7f8=_7f4[i];
if((!_7f8)){
return;
}
var _7f9=_7f8.parentNode;
if((!_7f9)){
if(_7f5.length!=1||_7f4.length!=1||i!==0){
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.SET_ROOT_ELEMENT_EXPECTS_ONE_ARG);
}else{
_7f3.setRootElement(_7f5[0]);
return;
}
}
for(var j=0;j<_7f5.length;j++){
var _7fb=this._createNode(_7f3,_7f5[j]);
for(var k=0;k<_7fb.length;k++){
_7f6.push(_7fb[k]);
}
}
xap.xml.xmodify.CommandDirective.replaceElement(_7f8,_7f6);
}
};
xap.xml.xmodify.CommandDirective.prototype._handleClone=function(_7fd,_7fe){
var _7ff=[];
for(var n=0;n<_7fe.length;n++){
var _801=_7fe[n];
if(_801.nodeType==google.DOM_ELEMENT_NODE){
var _802=null;
if(_801 instanceof google.XNode){
_802=_801.deepClone();
}else{
_802=this.makeHtmlNode(_801);
}
_7ff[n]=_802;
}else{
throw new xap.xml.xmodify.XmodifyException(xap.xml.xmodify.XmodifyException.INVALID_NODE_FOR_COMMAND,"clone",currentNode.nodeType);
}
}
return _7ff;
};
xap.xml.xmodify.CommandDirective.prototype._handleEmbedXal=function(_803,_804){
Xap.require("xap.bridges.basic.HtmlHostBridge");
var _805=this._commandArguments;
var _806=this._session.getDocumentContainer().getUiDocument();
for(var i=0;i<_804.length;i++){
var _808=_804[i];
var _809=_806.createElement("htmlHost","http://openxal.org/ui");
_806.getRootElement().appendChild(_809);
var _80a=this._session.getUiDocumentHandler().getHandlerForElement(_809);
_80a.createHost(_808,"dojo");
for(var j=0;j<_805.length;j++){
_809.appendChild(_805[j]);
}
}
};
xap.xml.xmodify.CommandDirective.prototype._handleSetInnerHtml=function(_80c,_80d){
var _80e=this._commandArguments;
for(var i=0;i<_80d.length;i++){
var _810=_80d[i];
for(var j=0;j<_80e.length;j++){
if(_80e[j].nodeType==google.DOM_TEXT_NODE&&_80e[j].nodeValue){
_810.innerHTML=_80e[j].nodeValue;
}
}
}
};
xap.xml.xmodify.CommandDirective.prototype._createNode=function(_812,_813){
var _814=(_812 instanceof xap.xml.dom.Document);
var _815=null,resultNodes=[];
if(_813.nodeName=="value-of"){
var name=_813.getAttribute("name");
var _817=this._directiveSet.variables[name];
if(!_817){
throw new xap.xml.xmodify.XmodifyException("Unknown variable : "+name);
}
if(_817.needClone===true){
_815=_817;
this._log.debug("Need to clone "+_815.length+" nodes from var "+name);
}else{
return _817;
}
}else{
_815=[_813];
}
if(_813.nodeName=="clone"){
var _818=_813.getAttribute("select");
_815=xap.xml.xmodify.CommandDirective.selectMatchingNodes(_812,_818);
}
var n=null;
if(_814){
for(n=0;n<_815.length;n++){
resultNodes.push(_815[n].deepClone());
}
}else{
for(n=0;n<_815.length;n++){
resultNodes.push(this.makeHtmlNode(_815[n]));
}
}
this._log.debug("Created "+resultNodes.length+" nodes ");
return resultNodes;
};
xap.xml.xmodify.CommandDirective.prototype.getType=function(){
return (this._type);
};
xap.xml.xmodify.CommandDirective.prototype.formatDocument=function(_81a){
return "<"+_81a.nodeName+">";
};
xap.xml.xmodify.CommandDirective.prototype.makeHtmlNode=function(_81b){
if((_81b.nodeType==google.DOM_TEXT_NODE)){
if(_81b.nodeValue){
return (document.createTextNode(_81b.nodeValue));
}
return document.createTextNode();
}else{
if(_81b instanceof google.XNode){
var _81c=document.createElement(_81b.nodeName);
for(var i=0;i<_81b.attributes.length;i++){
var key=_81b.attributes[i].nodeName;
var _81f=_81b.attributes[i].nodeValue;
_81c.setAttribute(key,_81f);
}
for(var j=0;j<_81b.childNodes.length;j++){
var _821=_81b.childNodes[j];
if((_821.nodeType==google.DOM_TEXT_NODE)){
if(_821.nodeValue){
_81c.appendChild(document.createTextNode(_821.nodeValue));
}
}else{
_81c.appendChild(this.makeHtmlNode(_821));
}
}
}else{
_81c=_81b.cloneNode(true);
}
}
return _81c;
};
Xap.provide("xap.xml.xmodify.DirectiveSet");
Xap.require("xap.xml.xmodify.CommandDirective");
xap.xml.xmodify.DirectiveSet=function(_822,_823){
this._directives=this._createDirectives(_822.childNodes,_823);
};
xap.xml.xmodify.DirectiveSet.prototype.execute=function(_824,_825){
for(var i=0;i<this._directives.length;i++){
this._directives[i].execute(_824,_825);
}
};
xap.xml.xmodify.DirectiveSet.prototype._createDirectives=function(_827,_828){
var _829=[];
for(var i=0;i<_827.length;i++){
var _82b=new xap.xml.xmodify.CommandDirective(_827[i],_828,this);
_829.push(_82b);
}
return (_829);
};
Xap.provide("xap.xml.xmodify.Xmodify");
Xap.require("xap.xml.xmodify.DirectiveSet");
xap.xml.xmodify.Xmodify=function(_82c,_82d){
this._modificationsElement=_82c;
this._session=_82d;
this._directiveSet=new xap.xml.xmodify.DirectiveSet(_82c,_82d);
};
xap.xml.xmodify.Xmodify.prototype.execute=function(){
var _82e=this._modificationsElement.getAttribute("document");
var _82f=null;
if(_82e===null||_82e=="ui"){
_82f=this._session.getDocumentContainer().getUiDocument();
}else{
if(_82e=="html"){
_82f=document;
}
}
this._directiveSet.execute(_82f,this._modificationsElement.baseUrl);
};
Xap.provide("xap.xml.xmodify.XmodifyNamespaceHandler");
Xap.require("xap.xml.xmodify.Xmodify");
xap.xml.xmodify.XmodifyNamespaceHandler=function(){
};
xap.xml.xmodify.XmodifyNamespaceHandler.MODIFICATIONS_TAG="modifications";
xap.xml.xmodify.XmodifyNamespaceHandler.prototype.pluginLoaded=function(_830){
_830.getNamespaceHandlerManager().addHandler("http://openxal.org/core/xmodify",this);
this._session=_830;
};
xap.xml.xmodify.XmodifyNamespaceHandler.prototype.receiveDispatch=function(_831){
var _832=new xap.xml.xmodify.Xmodify(_831,this._session);
_832.execute();
};
Xap.provide("xap.requestservice.NetServiceListener");
xap.requestservice.NetServiceListener=function(){
};
xap.requestservice.NetServiceListener.prototype.requestCompleted=function(url,_834){
};
xap.requestservice.NetServiceListener.prototype.requestFailed=function(url,_836,_837){
};
Xap.provide("xap.data.datasource.QueryRecord");
xap.data.datasource.QueryRecord=function(_838,_839,_83a,_83b){
this._query=_838;
this._context=_839;
this._listener=_83a;
this._isDataSetQuery=_83b;
};
xap.data.datasource.QueryRecord.prototype.getQuery=function(){
return this._query;
};
xap.data.datasource.QueryRecord.prototype.getContext=function(){
return this._context;
};
xap.data.datasource.QueryRecord.prototype.getListener=function(){
return this._listener;
};
xap.data.datasource.QueryRecord.prototype.isDataSetQuery=function(){
return this._isDataSetQuery;
};
Xap.provide("xap.data.datasource.ArrayDataSet");
xap.data.datasource.ArrayDataSet=function(_83c,_83d,data){
this._query=_83c;
this._dataSource=_83d;
if(!data){
this._data=[];
}else{
if(data instanceof Array){
this._data=data;
}else{
this._data=[data];
}
}
};
xap.data.datasource.ArrayDataSet.prototype.getQuery=function(){
return this._query;
};
xap.data.datasource.ArrayDataSet.prototype.getDataSource=function(){
return this._dataSource;
};
xap.data.datasource.ArrayDataSet.prototype.getData=function(_83f){
return this._data[_83f];
};
xap.data.datasource.ArrayDataSet.prototype.size=function(){
if(!this._data){
return 0;
}
return this._data.length;
};
Xap.provide("xap.data.datasource.AbstractDataSource");
Xap.require("xap.requestservice.NetServiceListener");
Xap.require("xap.requestservice.RequestService");
Xap.require("xap.session.ClientSession");
Xap.require("xap.session.Container");
Xap.require("xap.log.Logger");
Xap.require("xap.util.ResourceDictionary");
Xap.require("xap.util.ArrayHelper");
Xap.require("xap.data.datasource.QueryRecord");
Xap.require("xap.data.datasource.ArrayDataSet");
xap.data.datasource.AbstractDataSource=function(_840){
this._clientSession=_840;
this._boundQueries=[];
this._postponedQueries=[];
this._asynchronousDataSourceListeners=[];
this._dataChangeListeners=[];
};
xap.data.datasource.AbstractDataSource.prototype.destroy=function(){
this._boundQueries=[];
this._postponedQueries=[];
this._asynchronousDataSourceListeners=[];
this._dataChangeListeners=[];
};
xap.data.datasource.AbstractDataSource.prototype.getDataSet=function(_841,_842,_843){
if(_842&&_842.getBindingType()!=xap.data.controller.BindingType.ONE_TIME){
var _844=new xap.data.datasource.QueryRecord(_841,_843,_842,true);
this._boundQueries.push(_844);
}else{
if(!this.getSource()){
this.addPostponedQuery(_841,_843,_842,true);
}
}
if(this.getSource()){
this.handleQuery(_841,_843,_842,true);
}
};
xap.data.datasource.AbstractDataSource.prototype.getData=function(_845,_846,_847){
if(_846&&_846.getBindingType()!=xap.data.controller.BindingType.ONE_TIME){
var _848=new xap.data.datasource.QueryRecord(_845,_847,_846,false);
this._boundQueries.push(_848);
}else{
if(!this.getSource()){
this.addPostponedQuery(_845,_847,_846,false);
}
}
if(this.getSource()){
this.handleQuery(_845,_847,_846,false);
}
};
xap.data.datasource.AbstractDataSource.prototype.removeListener=function(_849){
for(var i=0;i<this._boundQueries.length;i++){
var _84b=this._boundQueries[i];
if(_84b.getListener()==_849){
xap.util.ArrayHelper.removeElementAt(this._boundQueries,i--);
}
}
for(var i=0;i<this._postponedQueries.length;i++){
var _84b=this._postponedQueries[i];
if(_84b.getListener()==_849){
xap.util.ArrayHelper.removeElementAt(this._postponedQueries,i--);
}
}
};
xap.data.datasource.AbstractDataSource.prototype.addDataChangeListener=function(l){
if(!xap.util.ArrayHelper.contains(this._dataChangeListeners,l)){
this._dataChangeListeners.push(l);
}
};
xap.data.datasource.AbstractDataSource.prototype.removeDataChangeListener=function(l){
xap.util.ArrayHelper.removeElement(this._dataChangeListeners,l);
};
xap.data.datasource.AbstractDataSource.prototype.fireDataChanged=function(){
for(var i=0;i<this._dataChangeListeners.length;i++){
this._dataChangeListeners[i].onDataChanged(this);
}
};
xap.data.datasource.AbstractDataSource.prototype.addAsynchronousDataSourceListener=function(l){
if(!xap.util.ArrayHelper.contains(this._asynchronousDataSourceListeners,l)){
this._asynchronousDataSourceListeners.push(l);
}
};
xap.data.datasource.AbstractDataSource.prototype.removeAsynchronousDataSourceListener=function(l){
xap.util.ArrayHelper.removeElement(this._asynchronousDataSourceListeners,l);
};
xap.data.datasource.AbstractDataSource.prototype.fireOnDataRetrieveSucess=function(){
for(var i=0;i<this._asynchronousDataSourceListeners.length;i++){
this._asynchronousDataSourceListeners[i].onDataRequestCompleted(this);
}
};
xap.data.datasource.AbstractDataSource.prototype.fireOnDataRetrieveFailure=function(_852){
for(var i=0;i<this._asynchronousDataSourceListeners.length;i++){
this._asynchronousDataSourceListeners[i].onDataRequestFailed(this,_852);
}
};
xap.data.datasource.AbstractDataSource.prototype.removedFromContainer=function(_854,name){
this.destroy();
};
xap.data.datasource.AbstractDataSource.prototype.refresh=function(){
this.fireDataChanged();
this.executeQueries(this._boundQueries);
this.executeQueries(this._postponedQueries);
this._postponedQueries=[];
};
xap.data.datasource.AbstractDataSource.prototype.handleDataQuery=function(_856,_857,_858){
var _859=this.executeQuery(_856,_857);
_858.dataRetrieved(_856,_859,_857);
};
xap.data.datasource.AbstractDataSource.prototype.handleDataSetQuery=function(_85a,_85b,_85c){
var _85d=this.executeQuery(_85a,_85b);
var _85e=new xap.data.datasource.ArrayDataSet(_85a,this,_85d);
_85c.dataSetRetrieved(_85a,_85e,_85b);
};
xap.data.datasource.AbstractDataSource.prototype.executeQuery=function(_85f,_860){
};
xap.data.datasource.AbstractDataSource.prototype.responseToDataSource=function(_861){
};
xap.data.datasource.AbstractDataSource.prototype.requestCompleted=function(url,_863){
try{
var _864=this.responseToDataSource(_863);
this.setSource(_864);
this.fireOnDataRetrieveSucess();
}
catch(e){
this.getSession().handleException(e);
this.fireOnDataRetrieveFailure(e);
}
};
xap.data.datasource.AbstractDataSource.prototype.requestFailed=function(a,_866,e){
this.getSession().handleException(e);
this.fireOnDataRetrieveFailure(e);
};
xap.data.datasource.AbstractDataSource.prototype.getSession=function(){
return this._clientSession;
};
xap.data.datasource.AbstractDataSource.prototype.getSource=function(){
return this._source;
};
xap.data.datasource.AbstractDataSource.prototype.loadSourceFromServer=function(_868){
var _869=this.getSession();
var _86a=_869.getRequestService();
_86a.retrieveAsynchronously(_868,this);
};
xap.data.datasource.AbstractDataSource.prototype.setSource=function(_86b){
this._source=_86b;
this.refresh();
};
xap.data.datasource.AbstractDataSource.prototype.addPostponedQuery=function(_86c,_86d,_86e,_86f){
var _870=new xap.data.datasource.QueryRecord(_86c,_86d,_86e,_86f);
this._postponedQueries.push(_870);
};
xap.data.datasource.AbstractDataSource.prototype.executeQueries=function(_871){
for(var i=0;i<_871.length;i++){
var rec=_871[i];
try{
this.handleQuery(rec.getQuery(),rec.getContext(),rec.getListener(),rec.isDataSetQuery());
}
catch(e){
this.getLog().error("Error executing databound query:"+rec.getQuery(),e);
}
}
};
xap.data.datasource.AbstractDataSource.prototype.getLog=function(){
return xap.log.Logger.getLogger("DataSource");
};
xap.data.datasource.AbstractDataSource.prototype.handleQuery=function(_874,_875,_876,_877){
if(_877){
this.handleDataSetQuery(_874,_875,_876);
}else{
this.handleDataQuery(_874,_875,_876);
}
};
Xap.provide("xap.data.datasource.ObjectDataSource");
Xap.require("xap.data.datasource.AbstractDataSource");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.xml.dom.Document");
Xap.require("google.xpath");
xap.data.datasource.ObjectDataSource=function(_878){
xap.data.datasource.AbstractDataSource.call(this,_878);
};
xap.data.datasource.ObjectDataSource.prototype=new xap.data.datasource.AbstractDataSource();
Xap.setupClassAsSubclassOf("xap.data.datasource.ObjectDataSource","xap.data.datasource.AbstractDataSource");
xap.data.datasource.ObjectDataSource.prototype.responseToDataSource=function(_879){
var _87a=dj_eval("("+_879.responseText+")");
return _87a;
};
xap.data.datasource.ObjectDataSource.prototype.evalOnObject=function(_87b,_87c){
if(_87c===null){
return null;
}else{
if(_87b==="this"){
return _87c;
}else{
if(!_87c._eval){
_87c._eval=function(text){
return eval(text);
};
}
}
}
return _87c._eval(_87b);
};
xap.data.datasource.ObjectDataSource.prototype.executeQuery=function(_87e,_87f){
var _880=this.getSource();
if(_87f){
_880=_87f.getData();
}
return this.evalOnObject(_87e,_880);
};
Xap.provide("xap.data.bridge.DataFrameworkBridge");
Xap.require("xap.taghandling.AbstractTagImpl");
Xap.require("xap.data.DataFramework");
xap.data.bridge.DataFrameworkBridge=function(){
xap.taghandling.AbstractTagImpl.call(this);
};
Xap.setupClassAsSubclassOf("xap.data.bridge.DataFrameworkBridge","xap.taghandling.AbstractTagImpl");
xap.data.bridge.DataFrameworkBridge.prototype.getDataService=function(){
return xap.data.DataFramework.getDataService(this.getSession());
};
xap.data.bridge.DataFrameworkBridge.prototype.getDataSourceContainer=function(){
return this.getDataService().getDataSourceContainer();
};
xap.data.bridge.DataFrameworkBridge.prototype.getFormatterContainer=function(){
return this.getDataService().getFormatterContainer();
};
xap.data.bridge.DataFrameworkBridge.prototype.init=function(){
};
xap.data.bridge.DataFrameworkBridge.prototype.getLog=function(){
return xap.log.Logger.getLogger("DataFrameworkBridge");
};
Xap.provide("xap.data.bridge.DataSourceBridge");
Xap.require("xap.data.bridge.DataFrameworkBridge");
Xap.require("xap.session.ClientEvent");
Xap.require("xap.data.bridge.XmlDataTokens");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.util.Exception");
xap.data.bridge.DataSourceBridge=function(){
xap.data.bridge.DataFrameworkBridge.call(this);
};
Xap.setupClassAsSubclassOf("xap.data.bridge.DataSourceBridge","xap.data.bridge.DataFrameworkBridge");
xap.data.bridge.DataSourceBridge.SOURCE_ATTRIBUTE="source";
xap.data.bridge.DataSourceBridge.PATH_ATTRIBUTE="path";
xap.data.bridge.DataSourceBridge.NULL_SOURCE_MSGID="nullSourceObject";
xap.data.bridge.DataSourceBridge.prototype.getDataSource=function(){
return this._dataSource;
};
xap.data.bridge.DataSourceBridge.prototype.onDataChanged=function(_881){
this.fireEvent("onDataChanged",null,null,null);
};
xap.data.bridge.DataSourceBridge.prototype.onDataRequestFailed=function(_882,_883){
var e=new xap.session.ClientEvent(this.getElement());
this.fireEvent("onDataRequestFailed");
};
xap.data.bridge.DataSourceBridge.prototype.onDataRequestCompleted=function(_885){
this.fireEvent("onDataRequestCompleted");
};
xap.data.bridge.DataSourceBridge.prototype.getLog=function(){
return xap.log.Logger.getLogger("xap.data.bridge.DataSourceBridge");
};
xap.data.bridge.DataSourceBridge.prototype.initializeDataSource=function(){
var id=this.getElement().getAttribute("id");
if(!id||xap.xml.dom.XapElement.isGeneratedId(id)){
throw new xap.util.Exception("Data source did not have an id: "+this.getElement().toXml());
}
this.getDataSourceContainer().put(id,this._dataSource);
};
xap.data.bridge.DataSourceBridge.prototype.createDataSource=function(){
var _887=this.getElement().getAttribute(xap.data.bridge.XmlDataTokens.CLASS);
var _888=null;
return _888;
};
xap.data.bridge.DataSourceBridge.prototype.init=function(){
xap.data.bridge.DataFrameworkBridge.prototype.init.call(this);
this._dataSource=this.createDataSource();
if(!this._dataSource){
return;
}
this._dataSource.addAsynchronousDataSourceListener(this);
this._dataSource.addDataChangeListener(this);
this.initializeDataSource();
};
Xap.provide("xap.data.bridge.ObjectDataSourceBridge");
Xap.require("xap.data.datasource.ObjectDataSource");
Xap.require("xap.data.bridge.DataSourceBridge");
xap.data.bridge.ObjectDataSourceBridge=function(){
xap.data.bridge.DataSourceBridge.call(this);
};
Xap.setupClassAsSubclassOf("xap.data.bridge.ObjectDataSourceBridge","xap.data.bridge.DataSourceBridge");
xap.data.bridge.ObjectDataSourceBridge.prototype.createDataSource=function(){
return new xap.data.datasource.ObjectDataSource(this.getSession());
};
xap.data.bridge.ObjectDataSourceBridge.prototype.initializeDataSource=function(){
xap.data.bridge.DataSourceBridge.prototype.initializeDataSource.call(this);
var uri=this.getElement().getAttribute(xap.data.bridge.DataSourceBridge.SOURCE_ATTRIBUTE);
if(uri){
this._dataSource.loadSourceFromServer(uri);
}
};
Xap.provide("xap.data.datasource.SimpleDocumentDataSource");
Xap.require("xap.data.datasource.AbstractDataSource");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.xml.dom.Document");
Xap.require("google.xpath");
xap.data.datasource.SimpleDocumentDataSource=function(_88a){
xap.data.datasource.AbstractDataSource.call(this,_88a);
};
xap.data.datasource.SimpleDocumentDataSource.prototype=new xap.data.datasource.AbstractDataSource();
Xap.setupClassAsSubclassOf("xap.data.datasource.SimpleDocumentDataSource","xap.data.datasource.AbstractDataSource");
xap.data.datasource.SimpleDocumentDataSource.prototype.setSource=function(_88b){
if(!(_88b instanceof xap.xml.dom.Document)){
throw new xap.util.Exception("Source for a document source must be a document");
}
xap.data.datasource.SimpleDocumentDataSource.superclass.setSource.call(this,_88b);
};
xap.data.datasource.SimpleDocumentDataSource.prototype.responseToDataSource=function(_88c){
var doc=null;
var _88e=xap.xml.ParserFactory.getParser();
if(_88c.responseXML&&_88e.importNativeDocument){
doc=_88e.importNativeDocument(_88c.responseXML);
}else{
doc=_88e.parse(_88c.responseText);
}
return doc;
};
xap.data.datasource.SimpleDocumentDataSource.prototype.executeQuery=function(_88f,_890){
var _891=this.getSource();
if(_890){
_891=_890.getData();
}
var _892=_88f;
var _893=null;
try{
var _894=new google.ExprContext(_891);
var _895=google.xpathParse(_892);
var _896=_895.evaluate(_894);
if(_896.type=="node-set"){
_893=_896.nodeSetValue();
}else{
if(_896.type=="string"){
_893=_896.stringValue();
}else{
if(_896.type=="number"){
_893=_896.numberValue();
}else{
if(_896.type=="boolean"){
_893=_896.booleanValue();
}
}
}
}
}
catch(ex){
throw new xap.util.Exception("SimpleDocumentDataSource.executeQuery::source: '"+_891+_892+"'\n"+ex);
}
return _893;
};
Xap.provide("xap.data.bridge.SimpleDocumentDataSourceBridge");
Xap.require("xap.data.datasource.SimpleDocumentDataSource");
Xap.require("xap.data.bridge.DataSourceBridge");
xap.data.bridge.SimpleDocumentDataSourceBridge=function(){
xap.data.bridge.DataSourceBridge.call(this);
};
Xap.setupClassAsSubclassOf("xap.data.bridge.SimpleDocumentDataSourceBridge","xap.data.bridge.DataSourceBridge");
xap.data.bridge.SimpleDocumentDataSourceBridge.prototype.createDataSource=function(){
return new xap.data.datasource.SimpleDocumentDataSource(this.getSession());
};
xap.data.bridge.SimpleDocumentDataSourceBridge.prototype.initializeDataSource=function(){
xap.data.bridge.DataSourceBridge.prototype.initializeDataSource.call(this);
var uri=this.getElement().getAttribute(xap.data.bridge.DataSourceBridge.SOURCE_ATTRIBUTE);
if(uri){
this._dataSource.loadSourceFromServer(uri);
}
};
Xap.provide("xap.data.formatter.AbstractFormatter");
xap.data.formatter.AbstractFormatter=function(){
};
xap.data.formatter.AbstractFormatter.prototype.setFormat=function(_898){
this._format=_898;
};
xap.data.formatter.AbstractFormatter.prototype.getFormat=function(){
return this._format;
};
xap.data.formatter.AbstractFormatter.prototype.format=function(_899){
return null;
};
Xap.provide("xap.taghandling.AttributeConversionException");
Xap.require("xap.util.XapException");
xap.taghandling.AttributeConversionException=function(args,_89b){
xap.util.XapException.call(this,xap.taghandling.AttributeConversionException.COULD_NOT_CONVERT,args,_89b);
};
xap.taghandling.AttributeConversionException.prototype=new xap.util.XapException;
xap.taghandling.AttributeConversionException.COULD_NOT_CONVERT="couldNotConvert";
Xap.provide("xap.taghandling.AttributeConverter");
Xap.require("xap.taghandling.AttributeConversionException");
xap.taghandling.AttributeConverter=function(){
};
xap.taghandling.AttributeConverter.toObjectFromEnum=function(s,_89d,_89e){
for(var i=0;i<_89e.length;++i){
if(_89d[i]==s){
return _89e[i];
}
}
var _8a0="enumeration of{ ";
for(var i=0;i<_89d.length;i++){
_8a0+=_89d[i]+" ";
}
_8a0+="}";
throw new xap.taghandling.AttributeConversionException([s,_8a0]);
};
Xap.provide("xap.data.bridge.DataAttributeConverter");
Xap.require("xap.taghandling.AttributeConversionException");
Xap.require("xap.taghandling.AttributeConverter");
Xap.require("xap.data.controller.BindingType");
Xap.require("xap.data.bridge.XmlDataTokens");
Xap.require("xap.data.formatter.AbstractFormatter");
xap.data.bridge.DataAttributeConverter=function(){
};
xap.data.bridge.DataAttributeConverter.toBindingType=function(s){
return xap.taghandling.AttributeConverter.toObjectFromEnum(s,xap.data.bridge.DataAttributeConverter.BINDING_NAMES,xap.data.bridge.DataAttributeConverter.BINDING_VALUES);
};
xap.data.bridge.DataAttributeConverter.toDataSource=function(s,_8a3){
var _8a4=null;
if(s!=null){
_8a4=_8a3.getDataSourceContainer().get(s);
}
if(!_8a4){
throw new xap.taghandling.AttributeConversionException([s,xap.data.bridge.XmlDataTokens.DATA_SOURCE]);
}
return _8a4;
};
xap.data.bridge.DataAttributeConverter.toFormatter=function(s,_8a6){
var _8a7=null;
if(s!=null){
_8a7=_8a6.getFormatterContainer().get(s);
}
if(_8a7==null){
throw new xap.taghandling.AttributeConversionException([s,xap.data.bridge.XmlDataTokens.FORMATTER]);
}
return _8a7;
};
xap.data.bridge.DataAttributeConverter.toLocale=function(s){
if(s==null){
throw new xap.taghandling.AttributeConversionException([s,"locale"]);
}
var iof=s.indexOf("_");
var _8aa="";
try{
if(iof>0){
_8aa=s.substring(iof+1);
s=s.substring(0,iof);
}
return {s:s,country:_8aa};
}
catch(e){
throw new xap.taghandling.AttributeConversionException([s,"locale"],e);
}
};
xap.data.bridge.DataAttributeConverter.toTimeZone=function(s){
if(s==null){
throw new xap.taghandling.AttributeConversionException([s,"TimeZone"]);
}
var zone=TimeZone.getTimeZone(s);
if(zone==null){
throw new xap.taghandling.AttributeConversionException([s,"TimeZone"]);
}
return zone;
};
xap.data.bridge.DataAttributeConverter.BINDING_NAMES=[xap.data.controller.BindingType.ONE_WAY.getTypeId(),xap.data.controller.BindingType.ONE_TIME.getTypeId()];
xap.data.bridge.DataAttributeConverter.BINDING_VALUES=[xap.data.controller.BindingType.ONE_WAY,xap.data.controller.BindingType.ONE_TIME];
Xap.provide("xap.data.bridge.BindingBridge");
Xap.require("xap.data.DataFramework");
Xap.require("xap.data.controller.Binding");
Xap.require("xap.data.controller.BindingType");
Xap.require("xap.data.formatter.AbstractFormatter");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.data.bridge.XmlDataTokens");
Xap.require("xap.data.bridge.DataAttributeConverter");
Xap.require("xap.data.bridge.DataFrameworkBridge");
xap.data.bridge.BindingBridge=function(){
xap.data.bridge.DataFrameworkBridge.call(this);
};
Xap.setupClassAsSubclassOf("xap.data.bridge.BindingBridge","xap.data.bridge.DataFrameworkBridge");
xap.data.bridge.BindingBridge.prototype.init=function(){
xap.data.bridge.BindingBridge.superclass.init(this);
var me=this.getElement();
var _8ae=me.getAttribute(xap.data.bridge.XmlDataTokens.SELECT);
var id=me.getAttribute(xap.data.bridge.XmlDataTokens.ID);
var _8b0=me.getAttribute(xap.data.bridge.XmlDataTokens.DATA_SOURCE);
var _8b1=me.getAttribute(xap.data.bridge.XmlDataTokens.FORMATTER);
var _8b2=me.getAttribute(xap.data.bridge.XmlDataTokens.BINDING_TYPE);
var _8b3=me.getAttribute(xap.data.bridge.XmlDataTokens.DEFAULT_VALUE);
if(_8b3==null){
_8b3="";
}
var _8b4=xap.data.controller.BindingType.ONE_TIME;
if(_8b2!=null){
try{
_8b4=xap.data.bridge.DataAttributeConverter.toBindingType(_8b2);
}
catch(e){
this.reportInvalidXmlException(xap.data.bridge.XmlDataTokens.BINDING_TYPE,_8b2,me,e);
}
}
var _8b5=null;
try{
var ds=xap.data.bridge.DataAttributeConverter.toDataSource(_8b0,this.getDataService());
var sess=this.getSession();
_8b5=xap.data.controller.Binding.createDataSourceBinding(ds,_8ae,sess,_8b4,_8b3);
(this.getDataService()).getBindingContainer().put(id,_8b5);
}
catch(e){
this.reportInvalidXmlException(xap.data.bridge.XmlDataTokens.DATA_SOURCE,_8b0,me,e);
}
if(_8b5!=null){
this.addFormatters(_8b1,_8b5);
}
};
xap.data.bridge.BindingBridge.prototype.addFormatters=function(_8b8,_8b9){
if(_8b8==null){
return;
}
try{
var f=xap.data.bridge.DataAttributeConverter.toFormatter(_8b8,this.getDataService());
_8b9.setFormatter(f);
}
catch(e){
this.reportInvalidXmlException(xap.data.bridge.XmlDataTokens.FORMATTER,_8b8,this.getElement(),e);
}
};
Xap.provide("xap.data.controller.ElementLocation");
Xap.require("xap.data.controller.XmlLocation");
Xap.require("xap.xml.dom.XapElement");
xap.data.controller.ElementLocation=function(_8bb){
xap.data.controller.XmlLocation.call(this,_8bb);
};
Xap.setupClassAsSubclassOf("xap.data.controller.ElementLocation","xap.data.controller.XmlLocation");
xap.data.controller.ElementLocation.prototype.getIndex=function(){
return this._element.getParent().indexOfChild(this._element);
};
xap.data.controller.ElementLocation.prototype.remove=function(){
this._element.getParent().removeChild(this._element);
xap.data.controller.ElementLocation.superclass.remove.call(this);
};
Xap.provide("xap.data.controller.ContextFrame");
Xap.require("xap.data.datasource.AbstractDataSource");
xap.data.controller.ContextFrame=function(_8bc,_8bd,name){
this._dataSet=_8bc;
this._index=_8bd;
this._name=name;
};
Xap.setupClassAsSubclassOf("xap.data.controller.ContextFrame","Object");
xap.data.controller.ContextFrame.prototype._dataSet=new Array(0);
xap.data.controller.ContextFrame.prototype._index=-1;
xap.data.controller.ContextFrame.prototype._name=null;
xap.data.controller.ContextFrame.prototype.getDataSource=function(){
return this._dataSet.getDataSource();
};
xap.data.controller.ContextFrame.prototype.getData=function(){
return this._dataSet.getData(this._index);
};
xap.data.controller.ContextFrame.prototype.getDataSet=function(){
return this._dataSet;
};
xap.data.controller.ContextFrame.prototype.getIndex=function(){
return this._index;
};
xap.data.controller.ContextFrame.prototype.getName=function(){
return this._name;
};
Xap.provide("xap.data.controller.Iterator");
Xap.require("xap.data.controller.IteratorContainerImpl");
Xap.require("xap.data.controller.ElementLocation");
Xap.require("xap.session.ClientSession");
Xap.require("xap.util.Exception");
Xap.require("xap.data.DataFramework");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.data.controller.BindingResolver");
Xap.require("xap.data.controller.ContextFrame");
Xap.require("xap.util.ArrayHelper");
xap.data.controller.Iterator=function(_8bf,type,_8c1,name,_8c3,_8c4){
this._select=_8bf;
this._bindingType=type;
this._iteratorElement=_8c1;
this._iteratorPlaceHolderElement=_8c1.ownerDocument.createElement("iteratorPlaceHolder");
this._parentElement=_8c1.getParent();
this._parentLocation=new xap.data.controller.ElementLocation(_8c1.getParent());
this._parentLocation.setLocationListener(this);
this._name=name;
this._session=_8c3;
this._iterating=false;
var _8c5=new xap.data.controller.ElementLocation(this._iteratorElement);
_8c5.setLocationListener(this);
this._iteratedLocations=[];
this._iteratedLocations.push(_8c5);
var svc=xap.data.DataFramework.getDataService(this._session);
var _8c7=svc.getBindingResolver();
var _8c8=_8c7.getContextStack();
this._contextStack=_8c8.clone();
var _8c9=this._contextStack.getCurrentContext();
if(_8c9!=null){
var _8ca=svc.getIteratorContainer().getIterator(_8c9.getName(),_8c9.getDataSet());
if(_8ca!=null){
_8ca.registerIteratorLocation(this._iteratorElement,this);
}
this._context=_8c9;
}
svc.getIteratorContainer().addIterator(this._name,this);
if(typeof _8c4!="undefined"){
var _8c9=this._contextStack.getContext(_8c4);
if(_8c9==null){
this._session.handleException(new xap.util.Exception("No ancestor iterator"));
this.invalidate();
return;
}
this._context=_8c9;
try{
_8c9.getDataSource().getDataSet(this._select,this,_8c9);
}
catch(e){
this._session.handleException(e);
}
}
};
xap.data.controller.Iterator.prototype.getName=function(){
return this._name;
};
xap.data.controller.Iterator.prototype.registerIteratorLocation=function(_8cb,_8cc){
var _8cd=this.getChildLocation(_8cb);
if(_8cd!=null){
var _8ce=xap.util.ArrayHelper.indexOf(this._iteratedLocations,_8cd);
xap.util.ArrayHelper.removeElementAt(this._iteratedLocations,_8ce);
xap.util.ArrayHelper.insertElementAt(this._iteratedLocations,_8cc,_8ce);
_8cc.setLocationListener(this);
_8cd.setLocationListener(null);
}
};
xap.data.controller.Iterator.prototype.getChildLocation=function(e){
for(var i=0;i<this._iteratedLocations.length;i++){
var l=this._iteratedLocations[i];
if(l instanceof xap.data.controller.ElementLocation){
if((l)._element==e){
return l;
}
}
}
return null;
};
xap.data.controller.Iterator.prototype.getDataSet=function(){
return this._dataSet;
};
xap.data.controller.Iterator.prototype._iterateOverSpecifiedSource=function(_8d2){
try{
this._context=_8d2;
_8d2.getDataSet(this._select,this);
}
catch(e){
_8d2.removeListener(this);
this._session.handleException(e);
}
};
xap.data.controller.Iterator.prototype.iterate=function(){
if(arguments.length>0){
this._iterateOverSpecifiedSource.apply(this,arguments);
return;
}
try{
var _8d3=this._contextStack.getCurrentContext();
if(_8d3==null){
this._session.handleException(new xap.util.Exception("Relative iterator without parent:"+this._iteratorElement));
this.invalidate();
return;
}
this._context=_8d3;
_8d3.getDataSource().getDataSet(this._select,this,_8d3);
}
catch(e){
this._session.handleException(e);
}
};
xap.data.controller.Iterator.prototype.cleanupCreation=function(){
var _8d4=-1;
for(var i=this._iteratedLocations.length-1;i>=0;i--){
var _8d6=this._iteratedLocations[i];
if(i==0){
if(_8d6 instanceof xap.data.controller.ElementLocation){
_8d4=(_8d6).getIndex();
}else{
if(_8d6 instanceof TextNodeLocation){
_8d4=(_8d6).getIndex();
}else{
if(_8d6 instanceof xap.data.controller.Iterator){
_8d4=(_8d6).cleanupCreation();
}
}
}
}
_8d6.remove();
}
return _8d4;
};
xap.data.controller.Iterator.prototype.iterateOverDataSet=function(_8d7){
this._context=_8d7.getDataSource();
if(this._iteratedLocations.length==0){
this.invalidate();
return;
}
var _8d8=xap.data.DataFramework.getDataService(this._session).getBindingResolver();
var _8d9=_8d8.getContextStack();
this._iterating=true;
try{
var _8da=this._session.getUiDocumentHandler().getHandlerForElement(this._parentElement);
var _8db=(_8da===undefined)?null:_8da.getPeer();
if(_8db&&_8db.beginChildrenChanges){
_8db.beginChildrenChanges();
}
var _8dc=this.cleanupCreation();
this._dataSet=_8d7;
_8d8.setContextStack(this._contextStack);
if(this._dataSet.size()>0){
for(var _8dd=0;_8dd<this._dataSet.size();_8dd++){
this._contextStack.pushContext(new xap.data.controller.ContextFrame(this._dataSet,_8dd,this._name));
try{
for(var _8de=0;_8de<this._iteratorElement.getChildCount();_8de++){
var _8df=this._iteratorElement.getChildAt(_8de);
var _8e0=null;
if(_8df instanceof xap.xml.dom.XapElement){
var _8e1=_8df.deepClone();
if(this._bindingType!=xap.data.controller.BindingType.ONE_TIME){
_8e0=new xap.data.controller.ElementLocation(_8e1);
this._iteratedLocations.push(_8e0);
}
this._parentElement.insertChildAt(_8dc,_8e1);
}else{
if(_8df instanceof String){
this._parentElement.insertChildAt(_8dc,_8df);
if(this._bindingType!=xap.data.controller.BindingType.ONE_TIME){
_8e0=new TextNodeLocation(this._parentElement,_8dc,false);
this._iteratedLocations.push(_8e0);
}
}
}
if(_8e0!=null){
_8e0.setLocationListener(this);
}
_8dc++;
}
}
finally{
this._contextStack.popContext();
}
}
}else{
if(this._bindingType!=xap.data.controller.BindingType.ONE_TIME){
this._parentElement.insertChildAt(_8dc,this._iteratorPlaceHolderElement);
_8e0=new xap.data.controller.ElementLocation(this._iteratorPlaceHolderElement);
this._iteratedLocations.push(_8e0);
_8e0.setLocationListener(this);
_8dc++;
}
}
if(this._bindingType==xap.data.controller.BindingType.ONE_TIME){
this.clearListenersAndIterator();
}
}
catch(e){
this.invalidate();
this._session.handleException(e);
}
finally{
this._iterating=false;
_8d8.setContextStack(_8d9);
if(_8db&&_8db.endChildrenChanges){
_8db.endChildrenChanges();
}
}
};
xap.data.controller.Iterator.prototype.setBindingType=function(_8e2){
this._bindingType=_8e2;
};
xap.data.controller.Iterator.prototype.dataSetRetrieved=function(_8e3,_8e4,ctx){
this._dataSet=_8e4;
try{
this.iterateOverDataSet(_8e4);
}
catch(e){
this._session.handleException(e);
}
};
xap.data.controller.Iterator.prototype.getBindingType=function(){
return this._bindingType;
};
xap.data.controller.Iterator.prototype.clearListenersAndIterator=function(){
for(var i=this._iteratedLocations.length-1;i>=0;i--){
var loc=this._iteratedLocations[i];
if(loc instanceof xap.data.controller.Iterator){
loc.setLocationListener(null);
}else{
if(loc instanceof xap.data.controller.XmlLocation){
(loc).invalidate();
}
}
}
this._parentLocation.setLocationListener(null);
this._parentLocation.invalidate();
this._parentLocation=null;
xap.data.DataFramework.getDataService(this._session).getIteratorContainer().removeIterator(this);
};
xap.data.controller.Iterator.prototype.invalidate=function(){
this.cleanupCreation();
if(this._context instanceof xap.data.datasource.AbstractDataSource){
(this._context).removeListener(this);
}else{
if(this._context instanceof xap.data.controller.ContextFrame){
(this._context).getDataSource().removeListener(this);
}
}
this._context=null;
if(this._locationListener!=null){
this._locationListener.locationInvalidated(this);
this._locationListener=null;
}
this._parentLocation.setLocationListener(null);
this._parentLocation.invalidate();
xap.data.DataFramework.getDataService(this._session).getIteratorContainer().removeIterator(this);
};
xap.data.controller.Iterator.prototype.locationInvalidated=function(_8e8){
if(_8e8==this._parentLocation){
this.invalidate();
}
xap.util.ArrayHelper.removeElement(this._iteratedLocations,_8e8);
if(this._iteratedLocations.length==0){
if(!this._iterating){
this.invalidate();
}
}
};
xap.data.controller.Iterator.prototype.setLocationListener=function(_8e9){
this._locationListener=_8e9;
};
xap.data.controller.Iterator.prototype.remove=function(){
this.invalidate();
};
Xap.provide("xap.data.bridge.IteratorBridge");
Xap.require("xap.data.controller.BindingType");
Xap.require("xap.data.controller.Iterator");
Xap.require("xap.data.bridge.XmlDataTokens");
Xap.require("xap.xml.dom.XapElement");
Xap.require("xap.data.bridge.DataAttributeConverter");
xap.data.bridge.IteratorBridge=function(){
xap.data.bridge.DataFrameworkBridge.call(this);
};
Xap.setupClassAsSubclassOf("xap.data.bridge.IteratorBridge","xap.data.bridge.DataFrameworkBridge");
xap.data.bridge.IteratorBridge.prototype.init=function(){
var _8ea=xap.data.bridge.XmlDataTokens;
xap.data.bridge.IteratorBridge.superclass.init.call(this);
var _8eb=this.getElement();
var _8ec=_8eb.getAttribute(_8ea.DATA_SOURCE);
var _8ed=_8eb.getAttribute(_8ea.SELECT);
var _8ee=_8eb.getAttribute(_8ea.BINDING_TYPE);
var _8ef=xap.data.controller.BindingType.ONE_TIME;
if(_8ee!=null){
try{
_8ef=xap.data.bridge.DataAttributeConverter.toBindingType(_8ee);
}
catch(e){
this.reportInvalidXmlException(_8ea.BINDING_TYPE,_8ee,_8eb,e);
}
}
var i=null;
var _8f1=null;
var name=_8eb.getAttribute(_8ea.NAME);
if(name==null){
name=_8eb.getAttribute(_8ea.ID);
}
if(_8ec!=null){
_8f1=this.getDataSourceContainer().get(_8ec);
}
if(_8f1){
i=new xap.data.controller.Iterator(_8ed,_8ef,_8eb,name,this.getSession());
i.iterate(_8f1);
}else{
if(_8ec==null||_8ec.length==0){
i=new xap.data.controller.Iterator(_8ed,_8ef,_8eb,name,this.getSession());
i.iterate();
}else{
i=new xap.data.controller.Iterator(_8ed,_8ef,_8eb,name,this.getSession(),_8ec);
}
}
};
Xap.provide("xap.data.bridge.FormatterBridge");
Xap.require("xap.data.bridge.DataFrameworkBridge");
Xap.require("xap.util.Exception");
Xap.require("xap.xml.InvalidXmlException");
Xap.require("xap.data.formatter.AbstractFormatter");
Xap.require("xap.data.bridge.XmlDataTokens");
xap.data.bridge.FormatterBridge=function(){
xap.data.bridge.DataFrameworkBridge.call(this);
this._formatter=null;
};
xap.data.bridge.FormatterBridge.prototype=new xap.data.bridge.DataFrameworkBridge();
Xap.setupClassAsSubclassOf("xap.data.bridge.FormatterBridge","xap.data.bridge.DataFrameworkBridge");
xap.data.bridge.FormatterBridge.prototype.getFormatter=function(){
return this._formatter;
};
xap.data.bridge.FormatterBridge.prototype.init=function(){
xap.data.bridge.DataFrameworkBridge.prototype.init.call(this);
try{
this._formatter=this.createFormatter();
this.initializeFormatter();
}
catch(e){
this.getSession().handleException(e);
}
};
xap.data.bridge.FormatterBridge.prototype.initializeFormatter=function(){
var id=this.getElement().getAttribute(xap.data.bridge.XmlDataTokens.ID);
this.getFormatterContainer().put(id,this._formatter);
};
xap.data.bridge.FormatterBridge.prototype.createFormatter=function(){
var _8f4=this.getElement().getAttribute(xap.data.bridge.XmlDataTokens.CLASS);
try{
return eval("new "+_8f4+"()");
}
catch(e){
throw this.constructInvalidXmlException(xap.data.bridge.XmlDataTokens.CLASS,_8f4,this.getElement(),e);
}
};
xap.data.bridge.FormatterBridge.prototype.getFormatPattern=function(){
return this.getElement().getAttribute("format");
};
Xap.provide("xap.data.formatter.DecimalFormatter");
Xap.require("xap.data.formatter.AbstractFormatter");
Xap.require("xap.util.TypeUtils");
xap.data.formatter.DecimalFormatter=function(){
};
xap.data.formatter.DecimalFormatter.prototype=new xap.data.formatter.AbstractFormatter();
Xap.setupClassAsSubclassOf("xap.data.formatter.DecimalFormatter","xap.data.formatter.AbstractFormatter");
xap.data.formatter.DecimalFormatter.prototype.format=function(_8f5){
var _8f6=xap.util.TypeUtils.convertToNumber(_8f5);
var _8f7=this.getFormat();
var _8f8=_8f7.length-_8f7.indexOf(".")-1;
return _8f6.toFixed(_8f8);
};
Xap.provide("xap.data.bridge.DecimalFormatterBridge");
Xap.require("xap.data.bridge.FormatterBridge");
Xap.require("xap.util.Exception");
Xap.require("xap.data.formatter.DecimalFormatter");
xap.data.bridge.DecimalFormatterBridge=function(){
xap.data.bridge.FormatterBridge.call(this);
};
xap.data.bridge.DecimalFormatterBridge.prototype=new xap.data.bridge.FormatterBridge();
Xap.setupClassAsSubclassOf("xap.data.bridge.DecimalFormatterBridge","xap.data.bridge.FormatterBridge");
xap.data.bridge.DecimalFormatterBridge.prototype.createFormatter=function(){
return new xap.data.formatter.DecimalFormatter();
};
xap.data.bridge.DecimalFormatterBridge.prototype.initializeFormatter=function(){
xap.data.bridge.FormatterBridge.prototype.initializeFormatter.call(this);
var _8f9=this.getFormatPattern();
if(!_8f9){
throw new xap.util.Exception("Error creating  decimal formatter, expected 'format' attribute: "+this.getElement().toXml());
}
this.getFormatter().setFormat(_8f9);
};
Xap.provide("xap.data.formatter.MessageFormatter");
Xap.require("xap.data.formatter.AbstractFormatter");
Xap.require("xap.util.MessageFormat");
Xap.require("xap.util.TypeUtils");
xap.data.formatter.MessageFormatter=function(){
xap.data.formatter.AbstractFormatter.call(this);
};
xap.data.formatter.MessageFormatter.prototype=new xap.data.formatter.AbstractFormatter();
Xap.setupClassAsSubclassOf("xap.data.formatter.MessageFormatter","xap.data.formatter.AbstractFormatter");
xap.data.formatter.MessageFormatter.prototype.format=function(_8fa){
_8fa=xap.util.TypeUtils.convertToArray(_8fa);
return xap.util.MessageFormat.format(this.getFormat(),_8fa);
};
Xap.provide("xap.data.bridge.MessageFormatterBridge");
Xap.require("xap.data.bridge.FormatterBridge");
Xap.require("xap.util.Exception");
Xap.require("xap.data.formatter.MessageFormatter");
xap.data.bridge.MessageFormatterBridge=function(){
xap.data.bridge.FormatterBridge.call(this);
};
xap.data.bridge.MessageFormatterBridge.prototype=new xap.data.bridge.FormatterBridge();
Xap.setupClassAsSubclassOf("xap.data.bridge.MessageFormatterBridge","xap.data.bridge.FormatterBridge");
xap.data.bridge.MessageFormatterBridge.prototype.createFormatter=function(){
return new xap.data.formatter.MessageFormatter();
};
xap.data.bridge.MessageFormatterBridge.prototype.initializeFormatter=function(){
xap.data.bridge.FormatterBridge.prototype.initializeFormatter.call(this);
var _8fb=this.getFormatPattern();
if(!_8fb){
throw new xap.util.Exception("Error creating  message formatter, expected 'format' attribute: "+this.getElement().toXml());
}
this.getFormatter().setFormat(_8fb);
};
Xap.provide("xap.data.formatter.FormatterChain");
Xap.require("xap.data.formatter.AbstractFormatter");
xap.data.formatter.FormatterChain=function(){
xap.data.formatter.AbstractFormatter.call(this);
this.setFormat([]);
};
xap.data.formatter.FormatterChain.prototype=new xap.data.formatter.AbstractFormatter();
Xap.setupClassAsSubclassOf("xap.data.formatter.FormatterChain","xap.data.formatter.AbstractFormatter");
xap.data.formatter.FormatterChain.prototype.format=function(_8fc){
var _8fd=this.getFormat();
for(var i=0;i<_8fd.length;i++){
_8fc=_8fd[i].format(_8fc);
}
return _8fc;
};
xap.data.formatter.FormatterChain.prototype.appendFormatter=function(_8ff){
this.getFormat().push(_8ff);
};
Xap.provide("xap.data.bridge.FormatterChainBridge");
Xap.require("xap.data.bridge.FormatterBridge");
Xap.require("xap.util.Exception");
Xap.require("xap.data.formatter.FormatterChain");
Xap.require("xap.xml.dom.XapElement");
xap.data.bridge.FormatterChainBridge=function(){
xap.data.bridge.FormatterBridge.call(this);
};
xap.data.bridge.FormatterChainBridge.prototype=new xap.data.bridge.FormatterBridge();
Xap.setupClassAsSubclassOf("xap.data.bridge.FormatterChainBridge","xap.data.bridge.FormatterBridge");
xap.data.bridge.FormatterChainBridge.prototype.createFormatter=function(){
return new xap.data.formatter.FormatterChain();
};
xap.data.bridge.FormatterChainBridge.prototype.initializeFormatter=function(){
xap.data.bridge.FormatterChainBridge.superclass.initializeFormatter.call(this);
var _900=this.getFormatter();
var _901=this.getElement().childNodes;
for(var i=0;i<_901.length;i++){
var _903=_901[i];
if(_903 instanceof xap.xml.dom.XapElement){
this._appendFormatter(_900,_903);
}else{
throw new xap.util.Exception("Error creating formatter chain from :"+this.getElement().toXml());
}
}
};
xap.data.bridge.FormatterChainBridge.prototype._appendFormatter=function(_904,_905){
if(_905.nodeName!="formatterReference"){
throw new xap.util.Exception("Error creating formatter chain, "+"expected child node named 'formatterReference': "+this.getElement().toXml());
}
var _906=_905.getAttribute("formatter");
if(!_906){
throw new xap.util.Exception("Error creating formatter chain, "+"expected attribute named 'formatter': "+this.getElement().toXml());
}
var f=this.getFormatterContainer().get(_906);
if(!f){
throw new xap.util.Exception("Error creating formatter chain, "+"bad reference to formatter with id '"+_906+"': "+this.getElement().toXml());
}
_904.appendFormatter(f);
};
Xap.provide("xap.bridges.basic.DefsBridge");
Xap.require("xap.taghandling.AbstractTagImpl");
xap.bridges.basic.DefsBridge=function(){
xap.taghandling.AbstractTagImpl.call(this);
};
Xap.setupClassAsSubclassOf("xap.bridges.basic.DefsBridge","xap.taghandling.AbstractTagImpl");
xap.bridges.basic.DefsBridge.prototype.init=function(){
this.parseInitialChildren(this.getElement());
xap.taghandling.AbstractTagImpl.prototype.init.call(this);
};
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 _909=dojo.doc();
do{
var id="dj_unique_"+(++arguments.callee._idIncrement);
}while(_909.getElementById(id));
return id;
};
dojo.dom.getUniqueId._idIncrement=0;
dojo.dom.firstElement=dojo.dom.getFirstChildElement=function(_90b,_90c){
var node=_90b.firstChild;
while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE){
node=node.nextSibling;
}
if(_90c&&node&&node.tagName&&node.tagName.toLowerCase()!=_90c.toLowerCase()){
node=dojo.dom.nextElement(node,_90c);
}
return node;
};
dojo.dom.lastElement=dojo.dom.getLastChildElement=function(_90e,_90f){
var node=_90e.lastChild;
while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE){
node=node.previousSibling;
}
if(_90f&&node&&node.tagName&&node.tagName.toLowerCase()!=_90f.toLowerCase()){
node=dojo.dom.prevElement(node,_90f);
}
return node;
};
dojo.dom.nextElement=dojo.dom.getNextSiblingElement=function(node,_912){
if(!node){
return null;
}
do{
node=node.nextSibling;
}while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE);
if(node&&_912&&_912.toLowerCase()!=node.tagName.toLowerCase()){
return dojo.dom.nextElement(node,_912);
}
return node;
};
dojo.dom.prevElement=dojo.dom.getPreviousSiblingElement=function(node,_914){
if(!node){
return null;
}
if(_914){
_914=_914.toLowerCase();
}
do{
node=node.previousSibling;
}while(node&&node.nodeType!=dojo.dom.ELEMENT_NODE);
if(node&&_914&&_914.toLowerCase()!=node.tagName.toLowerCase()){
return dojo.dom.prevElement(node,_914);
}
return node;
};
dojo.dom.moveChildren=function(_915,_916,trim){
var _918=0;
if(trim){
while(_915.hasChildNodes()&&_915.firstChild.nodeType==dojo.dom.TEXT_NODE){
_915.removeChild(_915.firstChild);
}
while(_915.hasChildNodes()&&_915.lastChild.nodeType==dojo.dom.TEXT_NODE){
_915.removeChild(_915.lastChild);
}
}
while(_915.hasChildNodes()){
_916.appendChild(_915.firstChild);
_918++;
}
return _918;
};
dojo.dom.copyChildren=function(_919,_91a,trim){
var _91c=_919.cloneNode(true);
return this.moveChildren(_91c,_91a,trim);
};
dojo.dom.replaceChildren=function(node,_91e){
var _91f=[];
if(dojo.render.html.ie){
for(var i=0;i<node.childNodes.length;i++){
_91f.push(node.childNodes[i]);
}
}
dojo.dom.removeChildren(node);
node.appendChild(_91e);
for(var i=0;i<_91f.length;i++){
dojo.dom.destroyNode(_91f[i]);
}
};
dojo.dom.removeChildren=function(node){
var _922=node.childNodes.length;
while(node.hasChildNodes()){
dojo.dom.removeNode(node.firstChild);
}
return _922;
};
dojo.dom.replaceNode=function(node,_924){
return node.parentNode.replaceChild(_924,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,_928,_929){
var _92a=[];
var _92b=(_928&&(_928 instanceof Function||typeof _928=="function"));
while(node){
if(!_92b||_928(node)){
_92a.push(node);
}
if(_929&&_92a.length>0){
return _92a[0];
}
node=node.parentNode;
}
if(_929){
return null;
}
return _92a;
};
dojo.dom.getAncestorsByTag=function(node,tag,_92e){
tag=tag.toLowerCase();
return dojo.dom.getAncestors(node,function(el){
return ((el.tagName)&&(el.tagName.toLowerCase()==tag));
},_92e);
};
dojo.dom.getFirstAncestorByTag=function(node,tag){
return dojo.dom.getAncestorsByTag(node,tag,true);
};
dojo.dom.isDescendantOf=function(node,_933,_934){
if(!node){
return false;
}
if(node.ancestor==_933){
return true;
}
var _935=_934?node.parentNode:node;
while(_935){
if(_935==_933){
node.ancestor=_933;
return true;
}
_935=_935.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 _938=dojo.doc();
if(!dj_undef("ActiveXObject")){
var _939=["MSXML2","Microsoft","MSXML","MSXML3"];
for(var i=0;i<_939.length;i++){
try{
doc=new ActiveXObject(_939[i]+".XMLDOM");
}
catch(e){
}
if(doc){
break;
}
}
}else{
if((_938.implementation)&&(_938.implementation.createDocument)){
doc=_938.implementation.createDocument("","",null);
}
}
return doc;
};
dojo.dom.createDocumentFromText=function(str,_93c){
if(!_93c){
_93c="text/xml";
}
if(!dj_undef("DOMParser")){
var _93d=new DOMParser();
return _93d.parseFromString(str,_93c);
}else{
if(!dj_undef("ActiveXObject")){
var _93e=dojo.dom.createDocument();
if(_93e){
_93e.async=false;
_93e.loadXML(str);
return _93e;
}else{
dojo.debug("toXml didn't work?");
}
}else{
var _93f=dojo.doc();
if(_93f.createElement){
var tmp=_93f.createElement("xml");
tmp.innerHTML=str;
if(_93f.implementation&&_93f.implementation.createDocument){
var _941=_93f.implementation.createDocument("foo","",null);
for(var i=0;i<tmp.childNodes.length;i++){
_941.importNode(tmp.childNodes.item(i),true);
}
return _941;
}
return ((tmp.document)&&(tmp.document.firstChild?tmp.document.firstChild:tmp));
}
}
}
return null;
};
dojo.dom.prependChild=function(node,_944){
if(_944.firstChild){
_944.insertBefore(node,_944.firstChild);
}else{
_944.appendChild(node);
}
return true;
};
dojo.dom.insertBefore=function(node,ref,_947){
if((_947!=true)&&(node===ref||node.nextSibling===ref)){
return false;
}
var _948=ref.parentNode;
_948.insertBefore(node,ref);
return true;
};
dojo.dom.insertAfter=function(node,ref,_94b){
var pn=ref.parentNode;
if(ref==pn.lastChild){
if((_94b!=true)&&(node===ref)){
return false;
}
pn.appendChild(node);
}else{
return this.insertBefore(node,ref.nextSibling,_94b);
}
return true;
};
dojo.dom.insertAtPosition=function(node,ref,_94f){
if((!node)||(!ref)||(!_94f)){
return false;
}
switch(_94f.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,_951,_952){
var _953=_951.childNodes;
if(!_953.length||_953.length==_952){
_951.appendChild(node);
return true;
}
if(_952==0){
return dojo.dom.prependChild(node,_951);
}
return dojo.dom.insertAfter(node,_953[_952-1]);
};
dojo.dom.textContent=function(node,text){
if(arguments.length>1){
var _956=dojo.doc();
dojo.dom.replaceChildren(node,_956.createTextNode(text));
return text;
}else{
if(node.textContent!=undefined){
return node.textContent;
}
var _957="";
if(node==null){
return _957;
}
for(var i=0;i<node.childNodes.length;i++){
switch(node.childNodes[i].nodeType){
case 1:
case 5:
_957+=dojo.dom.textContent(node.childNodes[i]);
break;
case 3:
case 2:
case 4:
_957+=node.childNodes[i].nodeValue;
break;
default:
break;
}
}
return _957;
}
};
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,_95d,_95e,_95f){
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(_95d,_95e,_95f);
}else{
var _960=elem.ownerDocument;
var _961=_960.createNode(2,_95e,_95d);
_961.nodeValue=_95f;
elem.setAttributeNode(_961);
}
};
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 _965=getTagName(node);
if(!_965){
return "";
}
if((dojo.widget)&&(dojo.widget.tags[_965])){
return _965;
}
var p=_965.indexOf(":");
if(p>=0){
return _965;
}
if(_965.substr(0,5)=="dojo:"){
return _965;
}
if(dojo.render.html.capable&&dojo.render.html.ie&&node.scopeName!="HTML"){
return node.scopeName.toLowerCase()+":"+_965;
}
if(_965.substr(0,4)=="dojo"){
return "dojo:"+_965.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 _968=node.className||node.getAttribute("class");
if((_968)&&(_968.indexOf)&&(_968.indexOf("dojo-")!=-1)){
var _969=_968.split(" ");
for(var x=0,c=_969.length;x<c;x++){
if(_969[x].slice(0,5)=="dojo-"){
return "dojo:"+_969[x].substr(5).toLowerCase();
}
}
}
}
return "";
}
this.parseElement=function(node,_96c,_96d,_96e){
var _96f=getTagName(node);
if(isIE&&_96f.indexOf("/")==0){
return null;
}
try{
var attr=node.getAttribute("parseWidgets");
if(attr&&attr.toLowerCase()=="false"){
return {};
}
}
catch(e){
}
var _971=true;
if(_96d){
var _972=getDojoTagName(node);
_96f=_972||_96f;
_971=Boolean(_972);
}
var _973={};
_973[_96f]=[];
var pos=_96f.indexOf(":");
if(pos>0){
var ns=_96f.substring(0,pos);
_973["ns"]=ns;
if((dojo.ns)&&(!dojo.ns.allow(ns))){
_971=false;
}
}
if(_971){
var _976=this.parseAttributes(node);
for(var attr in _976){
if((!_973[_96f][attr])||(typeof _973[_96f][attr]!="array")){
_973[_96f][attr]=[];
}
_973[_96f][attr].push(_976[attr]);
}
_973[_96f].nodeRef=node;
_973.tagName=_96f;
_973.index=_96e||0;
}
var _977=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(!_973[ctn]){
_973[ctn]=[];
}
_973[ctn].push(this.parseElement(tcn,true,_96d,_977));
if((tcn.childNodes.length==1)&&(tcn.childNodes.item(0).nodeType==dojo.dom.TEXT_NODE)){
_973[ctn][_973[ctn].length-1].value=tcn.childNodes.item(0).nodeValue;
}
_977++;
break;
case dojo.dom.TEXT_NODE:
if(node.childNodes.length==1){
_973[_96f].push({value:node.childNodes.item(0).nodeValue});
}
break;
default:
break;
}
}
return _973;
};
this.parseAttributes=function(node){
var _97c={};
var atts=node.attributes;
var _97e,i=0;
while((_97e=atts[i++])){
if(isIE){
if(!_97e){
continue;
}
if((typeof _97e=="object")&&(typeof _97e.nodeValue=="undefined")||(_97e.nodeValue==null)||(_97e.nodeValue=="")){
continue;
}
}
var nn=_97e.nodeName.split(":");
nn=(nn.length==2)?nn[1]:_97e.nodeName;
_97c[nn]={value:_97e.nodeValue};
}
return _97c;
};
};
dojo.provide("dojo.lang.extras");
dojo.lang.setTimeout=function(func,_981){
var _982=window,argsStart=2;
if(!dojo.lang.isFunction(func)){
_982=func;
func=_981;
_981=arguments[2];
argsStart++;
}
if(dojo.lang.isString(func)){
func=_982[func];
}
var args=[];
for(var i=argsStart;i<arguments.length;i++){
args.push(arguments[i]);
}
return dojo.global().setTimeout(function(){
func.apply(_982,args);
},_981);
};
dojo.lang.clearTimeout=function(_985){
dojo.global().clearTimeout(_985);
};
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(_98d,_98e,_98f){
with(dojo.parseObjPath(_98d,_98e,_98f)){
return dojo.evalProp(prop,obj,_98f);
}
};
dojo.lang.setObjPathValue=function(_990,_991,_992,_993){
dojo.deprecated("dojo.lang.setObjPathValue","use dojo.parseObjPath and the '=' operator","0.6");
if(arguments.length<4){
_993=true;
}
with(dojo.parseObjPath(_990,_992,_993)){
if(obj&&(_993||(prop in obj))){
obj[prop]=_991;
}
}
};
dojo.provide("dojo.lang.declare");
dojo.lang.declare=function(_994,_995,init,_997){
if((dojo.lang.isFunction(_997))||((!_997)&&(!dojo.lang.isFunction(init)))){
var temp=_997;
_997=init;
init=temp;
}
var _999=[];
if(dojo.lang.isArray(_995)){
_999=_995;
_995=_999.shift();
}
if(!init){
init=dojo.evalObjPath(_994,false);
if((init)&&(!dojo.lang.isFunction(init))){
init=null;
}
}
var ctor=dojo.lang.declare._makeConstructor();
var scp=(_995?_995.prototype:null);
if(scp){
scp.prototyping=true;
ctor.prototype=new _995();
scp.prototyping=false;
}
ctor.superclass=scp;
ctor.mixins=_999;
for(var i=0,l=_999.length;i<l;i++){
dojo.lang.extend(ctor,_999[i].prototype);
}
ctor.prototype.initializer=null;
ctor.prototype.declaredClass=_994;
if(dojo.lang.isArray(_997)){
dojo.lang.extend.apply(dojo.lang,[ctor].concat(_997));
}else{
dojo.lang.extend(ctor,(_997)||{});
}
dojo.lang.extend(ctor,dojo.lang.declare._common);
ctor.prototype.constructor=ctor;
ctor.prototype.initializer=(ctor.prototype.initializer)||(init)||(function(){
});
var _99d=dojo.parseObjPath(_994,null,true);
_99d.obj[_99d.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(_9a2,_9a3,args){
var _9a5,stack=this.___proto;
this.___proto=_9a2;
try{
_9a5=_9a2[_9a3].apply(this,(args||[]));
}
catch(e){
throw e;
}
finally{
this.___proto=stack;
}
return _9a5;
},_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.ns");
dojo.ns={namespaces:{},failed:{},loading:{},loaded:{},register:function(name,_9ac,_9ad,_9ae){
if(!_9ae||!this.namespaces[name]){
this.namespaces[name]=new dojo.ns.Ns(name,_9ac,_9ad);
}
},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,_9b5,_9b6){
this.name=name;
this.module=_9b5;
this.resolver=_9b6;
this._loaded=[];
this._failed=[];
};
dojo.ns.Ns.prototype.resolve=function(name,_9b8,_9b9){
if(!this.resolver||djConfig["skipAutoRequire"]){
return false;
}
var _9ba=this.resolver(name,_9b8);
if((_9ba)&&(!this._loaded[_9ba])&&(!this._failed[_9ba])){
var req=dojo.require;
req(_9ba,false,true);
if(dojo.hostenv.findModule(_9ba,false)){
this._loaded[_9ba]=true;
}else{
if(!_9b9){
dojo.raise("dojo.ns.Ns.resolve: module '"+_9ba+"' not found after loading via namespace '"+this.name+"'");
}
this._failed[_9ba]=true;
}
}
return Boolean(this._loaded[_9ba]);
};
dojo.registerNamespace=function(name,_9bd,_9be){
dojo.ns.register.apply(dojo.ns,arguments);
};
dojo.registerNamespaceResolver=function(name,_9c0){
var n=dojo.ns.namespaces[name];
if(n){
n.resolver=_9c0;
}
};
dojo.registerNamespaceManifest=function(_9c2,path,name,_9c5,_9c6){
dojo.registerModulePath(name,path);
dojo.registerNamespace(name,_9c5,_9c6);
};
dojo.registerNamespace("dojo","dojo.widget");
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,_9c8){
var dl=dojo.lang;
var ao={srcObj:dj_global,srcFunc:null,adviceObj:dj_global,adviceFunc:null,aroundObj:null,aroundFunc:null,adviceType:(args.length>2)?args[0]:"after",precedence:"last",once:false,delay:null,rate:0,adviceMsg:false};
switch(args.length){
case 0:
return;
case 1:
return;
case 2:
ao.srcFunc=args[0];
ao.adviceFunc=args[1];
break;
case 3:
if((dl.isObject(args[0]))&&(dl.isString(args[1]))&&(dl.isString(args[2]))){
ao.adviceType="after";
ao.srcObj=args[0];
ao.srcFunc=args[1];
ao.adviceFunc=args[2];
}else{
if((dl.isString(args[1]))&&(dl.isString(args[2]))){
ao.srcFunc=args[1];
ao.adviceFunc=args[2];
}else{
if((dl.isObject(args[0]))&&(dl.isString(args[1]))&&(dl.isFunction(args[2]))){
ao.adviceType="after";
ao.srcObj=args[0];
ao.srcFunc=args[1];
var _9cb=dl.nameAnonFunc(args[2],ao.adviceObj,_9c8);
ao.adviceFunc=_9cb;
}else{
if((dl.isFunction(args[0]))&&(dl.isObject(args[1]))&&(dl.isString(args[2]))){
ao.adviceType="after";
ao.srcObj=dj_global;
var _9cb=dl.nameAnonFunc(args[0],ao.srcObj,_9c8);
ao.srcFunc=_9cb;
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 _9cb=dl.nameAnonFunc(args[1],dj_global,_9c8);
ao.srcFunc=_9cb;
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 _9cb=dl.nameAnonFunc(args[3],dj_global,_9c8);
ao.adviceObj=dj_global;
ao.adviceFunc=_9cb;
}else{
if(dl.isObject(args[1])){
ao.srcObj=args[1];
ao.srcFunc=args[2];
ao.adviceObj=dj_global;
ao.adviceFunc=args[3];
}else{
if(dl.isObject(args[2])){
ao.srcObj=dj_global;
ao.srcFunc=args[1];
ao.adviceObj=args[2];
ao.adviceFunc=args[3];
}else{
ao.srcObj=ao.adviceObj=ao.aroundObj=dj_global;
ao.srcFunc=args[1];
ao.adviceFunc=args[2];
ao.aroundFunc=args[3];
}
}
}
}
}
}
break;
case 6:
ao.srcObj=args[1];
ao.srcFunc=args[2];
ao.adviceObj=args[3];
ao.adviceFunc=args[4];
ao.aroundFunc=args[5];
ao.aroundObj=dj_global;
break;
default:
ao.srcObj=args[1];
ao.srcFunc=args[2];
ao.adviceObj=args[3];
ao.adviceFunc=args[4];
ao.aroundObj=args[5];
ao.aroundFunc=args[6];
ao.once=args[7];
ao.delay=args[8];
ao.rate=args[9];
ao.adviceMsg=args[10];
break;
}
if(dl.isFunction(ao.aroundFunc)){
var _9cb=dl.nameAnonFunc(ao.aroundFunc,ao.aroundObj,_9c8);
ao.aroundFunc=_9cb;
}
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.isString(ao.srcFunc)&&(ao.srcFunc.toLowerCase()=="onkey")){
if(dojo.render.html.ie){
ao.srcFunc="onkeydown";
this.connect(ao);
}
ao.srcFunc="onkeypress";
}
if(dojo.lang.isArray(ao.srcObj)&&ao.srcObj!=""){
var _9cd={};
for(var x in ao){
_9cd[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);
}
_9cd.srcObj=src;
mjps.push(dojo.event.connect.call(dojo.event,_9cd));
});
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 _9d5;
if((arguments.length==1)&&(typeof a1=="object")){
_9d5=a1;
}else{
_9d5={srcObj:a1,srcFunc:a2};
}
_9d5.adviceFunc=function(){
var _9d6=[];
for(var x=0;x<arguments.length;x++){
_9d6.push(arguments[x]);
}
dojo.debug("("+_9d5.srcObj+")."+_9d5.srcFunc,":",_9d6.join(", "));
};
this.kwConnect(_9d5);
};
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._kwConnectImpl=function(_9dd,_9de){
var fn=(_9de)?"disconnect":"connect";
if(typeof _9dd["srcFunc"]=="function"){
_9dd.srcObj=_9dd["srcObj"]||dj_global;
var _9e0=dojo.lang.nameAnonFunc(_9dd.srcFunc,_9dd.srcObj,true);
_9dd.srcFunc=_9e0;
}
if(typeof _9dd["adviceFunc"]=="function"){
_9dd.adviceObj=_9dd["adviceObj"]||dj_global;
var _9e0=dojo.lang.nameAnonFunc(_9dd.adviceFunc,_9dd.adviceObj,true);
_9dd.adviceFunc=_9e0;
}
_9dd.srcObj=_9dd["srcObj"]||dj_global;
_9dd.adviceObj=_9dd["adviceObj"]||_9dd["targetObj"]||dj_global;
_9dd.adviceFunc=_9dd["adviceFunc"]||_9dd["targetFunc"];
return dojo.event[fn](_9dd);
};
this.kwConnect=function(_9e1){
return this._kwConnectImpl(_9e1,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(_9e4){
return this._kwConnectImpl(_9e4,true);
};
};
dojo.event.MethodInvocation=function(_9e5,obj,args){
this.jp_=_9e5;
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,_9ed){
this.object=obj||dj_global;
this.methodname=_9ed;
this.methodfunc=this.object[_9ed];
this.squelch=false;
};
dojo.event.MethodJoinPoint.getForMethod=function(obj,_9ef){
if(!obj){
obj=dj_global;
}
if(!obj[_9ef]){
obj[_9ef]=function(){
};
if(!obj[_9ef]){
dojo.raise("Cannot set do-nothing method on that object "+_9ef);
}
}else{
if((!dojo.lang.isFunction(obj[_9ef]))&&(!dojo.lang.isAlien(obj[_9ef]))){
return null;
}
}
var _9f0=_9ef+"$joinpoint";
var _9f1=_9ef+"$joinpoint$method";
var _9f2=obj[_9f0];
if(!_9f2){
var _9f3=false;
if(dojo.event["browser"]){
if((obj["attachEvent"])||(obj["nodeType"])||(obj["addEventListener"])){
_9f3=true;
dojo.event.browser.addClobberNodeAttrs(obj,[_9f0,_9f1,_9ef]);
}
}
var _9f4=obj[_9ef].length;
obj[_9f1]=obj[_9ef];
_9f2=obj[_9f0]=new dojo.event.MethodJoinPoint(obj,_9f1);
obj[_9ef]=function(){
var args=[];
if((_9f3)&&(!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)&&(_9f3)&&(dojo.event.browser.isEvent(arguments[x]))){
args.push(dojo.event.browser.fixEvent(arguments[x],this));
}else{
args.push(arguments[x]);
}
}
}
return _9f2.run.apply(_9f2,args);
};
obj[_9ef].__preJoinArity=_9f4;
}
return _9f2;
};
dojo.lang.extend(dojo.event.MethodJoinPoint,{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 _9fa=[];
for(var x=0;x<args.length;x++){
_9fa[x]=args[x];
}
var _9fc=function(marr){
if(!marr){
dojo.debug("Null argument to unrollAdvice()");
return;
}
var _9fe=marr[0]||dj_global;
var _9ff=marr[1];
if(!_9fe[_9ff]){
dojo.raise("function \""+_9ff+"\" does not exist on \""+_9fe+"\"");
}
var _a00=marr[2]||dj_global;
var _a01=marr[3];
var msg=marr[6];
var _a03;
var to={args:[],jp_:this,object:obj,proceed:function(){
return _9fe[_9ff].apply(_9fe,to.args);
}};
to.args=_9fa;
var _a05=parseInt(marr[4]);
var _a06=((!isNaN(_a05))&&(marr[4]!==null)&&(typeof marr[4]!="undefined"));
if(marr[5]){
var rate=parseInt(marr[5]);
var cur=new Date();
var _a09=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;
_9fc(mcpy);
},tod);
}
return;
}else{
marr.last=cur;
}
}
if(_a01){
_a00[_a01].call(_a00,to);
}else{
if((_a06)&&((dojo.render.html)||(dojo.render.svg))){
dj_global["setTimeout"](function(){
if(msg){
_9fe[_9ff].call(_9fe,to);
}else{
_9fe[_9ff].apply(_9fe,args);
}
},_a05);
}else{
if(msg){
_9fe[_9ff].call(_9fe,to);
}else{
_9fe[_9ff].apply(_9fe,args);
}
}
}
};
var _a0c=function(){
if(this.squelch){
try{
return _9fc.apply(this,arguments);
}
catch(e){
dojo.debug(e);
}
}else{
return _9fc.apply(this,arguments);
}
};
if((this["before"])&&(this.before.length>0)){
dojo.lang.forEach(this.before.concat(new Array()),_a0c);
}
var _a0d;
try{
if((this["around"])&&(this.around.length>0)){
var mi=new dojo.event.MethodInvocation(this,obj,args);
_a0d=mi.proceed();
}else{
if(this.methodfunc){
_a0d=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()),_a0c);
}
return (this.methodfunc)?_a0d: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"]);
},addAdvice:function(_a12,_a13,_a14,_a15,_a16,_a17,once,_a19,rate,_a1b){
var arr=this.getArr(_a16);
if(!arr){
dojo.raise("bad this: "+this);
}
var ao=[_a12,_a13,_a14,_a15,_a19,rate,_a1b];
if(once){
if(this.hasAdvice(_a12,_a13,_a16,arr)>=0){
return;
}
}
if(_a17=="first"){
arr.unshift(ao);
}else{
arr.push(ao);
}
},hasAdvice:function(_a1e,_a1f,_a20,arr){
if(!arr){
arr=this.getArr(_a20);
}
var ind=-1;
for(var x=0;x<arr.length;x++){
var aao=(typeof _a1f=="object")?(new String(_a1f)).toString():_a1f;
var a1o=(typeof arr[x][1]=="object")?(new String(arr[x][1])).toString():arr[x][1];
if((arr[x][0]==_a1e)&&(a1o==aao)){
ind=x;
}
}
return ind;
},removeAdvice:function(_a26,_a27,_a28,once){
var arr=this.getArr(_a28);
var ind=this.hasAdvice(_a26,_a27,_a28,arr);
if(ind==-1){
return false;
}
while(ind!=-1){
arr.splice(ind,1);
if(once){
break;
}
ind=this.hasAdvice(_a26,_a27,_a28,arr);
}
return true;
}});
dojo.provide("dojo.event.topic");
dojo.event.topic=new function(){
this.topics={};
this.getTopic=function(_a2c){
if(!this.topics[_a2c]){
this.topics[_a2c]=new this.TopicImpl(_a2c);
}
return this.topics[_a2c];
};
this.registerPublisher=function(_a2d,obj,_a2f){
var _a2d=this.getTopic(_a2d);
_a2d.registerPublisher(obj,_a2f);
};
this.subscribe=function(_a30,obj,_a32){
var _a30=this.getTopic(_a30);
_a30.subscribe(obj,_a32);
};
this.unsubscribe=function(_a33,obj,_a35){
var _a33=this.getTopic(_a33);
_a33.unsubscribe(obj,_a35);
};
this.destroy=function(_a36){
this.getTopic(_a36).destroy();
delete this.topics[_a36];
};
this.publishApply=function(_a37,args){
var _a37=this.getTopic(_a37);
_a37.sendMessage.apply(_a37,args);
};
this.publish=function(_a39,_a3a){
var _a39=this.getTopic(_a39);
var args=[];
for(var x=1;x<arguments.length;x++){
args.push(arguments[x]);
}
_a39.sendMessage.apply(_a39,args);
};
};
dojo.event.topic.TopicImpl=function(_a3d){
this.topicName=_a3d;
this.subscribe=function(_a3e,_a3f){
var tf=_a3f||_a3e;
var to=(!_a3f)?dj_global:_a3e;
return dojo.event.kwConnect({srcObj:this,srcFunc:"sendMessage",adviceObj:to,adviceFunc:tf});
};
this.unsubscribe=function(_a42,_a43){
var tf=(!_a43)?_a42:_a43;
var to=(!_a43)?null:_a42;
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(_a46){
this._getJoinPoint().squelch=_a46;
};
this.destroy=function(){
this._getJoinPoint().disconnect();
};
this.registerPublisher=function(_a47,_a48){
dojo.event.connect(_a47,_a48,this,"sendMessage");
};
this.sendMessage=function(_a49){
};
};
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(_a4c){
var na;
var tna;
if(_a4c){
tna=_a4c.all||_a4c.getElementsByTagName("*");
na=[_a4c];
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 _a50={};
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.onbeforeunload=null;
}
catch(e){
}
try{
window.onload=null;
}
catch(e){
}
try{
window.onunload=null;
}
catch(e){
}
try{
delete (window.onbeforeunload);
}
catch(e){
}
try{
delete (window.onunload);
}
catch(e){
}
try{
delete (window.onload);
}
catch(e){
}
dojo._ie_clobber.clobberNodes=[];
});
}
dojo.event.browser=new function(){
var _a55=0;
this.normalizedEventName=function(_a56){
switch(_a56){
case "CheckboxStateChange":
case "DOMAttrModified":
case "DOMMenuItemActive":
case "DOMMenuItemInactive":
case "DOMMouseScroll":
case "DOMNodeInserted":
case "DOMNodeRemoved":
case "RadioStateChange":
return _a56;
break;
default:
return _a56.toLowerCase();
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,_a5a){
if(!dojo.render.html.ie){
return;
}
this.addClobberNode(node);
for(var x=0;x<_a5a.length;x++){
node.__clobberAttrs__.push(_a5a[x]);
}
};
this.removeListener=function(node,_a5d,fp,_a5f){
if(!_a5f){
var _a5f=false;
}
_a5d=dojo.event.browser.normalizedEventName(_a5d);
if((_a5d=="onkey")||(_a5d=="key")){
if(dojo.render.html.ie){
this.removeListener(node,"onkeydown",fp,_a5f);
}
_a5d="onkeypress";
}
if(_a5d.substr(0,2)=="on"){
_a5d=_a5d.substr(2);
}
if(node.removeEventListener){
node.removeEventListener(_a5d,fp,_a5f);
}
};
this.addListener=function(node,_a61,fp,_a63,_a64){
if(!node){
return;
}
if(!_a63){
var _a63=false;
}
_a61=dojo.event.browser.normalizedEventName(_a61);
if((_a61=="onkey")||(_a61=="key")){
if(dojo.render.html.ie){
this.addListener(node,"onkeydown",fp,_a63,_a64);
}
_a61="onkeypress";
}
if(_a61.substr(0,2)!="on"){
_a61="on"+_a61;
}
if(!_a64){
var _a65=function(evt){
if(!evt){
evt=window.event;
}
var ret=fp(dojo.event.browser.fixEvent(evt,this));
if(_a63){
dojo.event.browser.stopEvent(evt);
}
return ret;
};
}else{
_a65=fp;
}
if(node.addEventListener){
node.addEventListener(_a61.substr(2),_a65,_a63);
return _a65;
}else{
if(typeof node[_a61]=="function"){
var _a68=node[_a61];
node[_a61]=function(e){
_a68(e);
return _a65(e);
};
}else{
node[_a61]=_a65;
}
if(dojo.render.html.ie){
this.addClobberNodeAttrs(node,[_a61]);
}
return _a65;
}
};
this.isEvent=function(obj){
return (typeof obj!="undefined")&&(obj)&&(typeof Event!="undefined")&&(obj.eventPhase);
};
this.currentEvent=null;
this.callListener=function(_a6b,_a6c){
if(typeof _a6b!="function"){
dojo.raise("listener not a function: "+_a6b);
}
dojo.event.browser.currentEvent.currentTarget=_a6c;
return _a6b.call(_a6c,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,_a6f){
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 _a71=evt.keyCode;
if(_a71>=65&&_a71<=90&&evt.shiftKey==false){
_a71+=32;
}
if(_a71>=1&&_a71<=26&&evt.ctrlKey){
_a71+=96;
}
evt.key=String.fromCharCode(_a71);
}
}
}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 _a71=evt.which;
if((evt.ctrlKey||evt.altKey||evt.metaKey)&&(evt.which>=65&&evt.which<=90&&evt.shiftKey==false)){
_a71+=32;
}
evt.key=String.fromCharCode(_a71);
}
}
}
}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=(_a6f?_a6f: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 _a73=((dojo.render.html.ie55)||(doc["compatMode"]=="BackCompat"))?doc.body:doc.documentElement;
if(!evt.pageX){
evt.pageX=evt.clientX+(_a73.scrollLeft||0);
}
if(!evt.pageY){
evt.pageY=evt.clientY+(_a73.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.*");
dojo.provide("dojo.widget.Manager");
dojo.widget.manager=new function(){
this.widgets=[];
this.widgetIds=[];
this.topWidgets={};
var _a75={};
var _a76=[];
this.getUniqueId=function(_a77){
var _a78;
do{
_a78=_a77+"_"+(_a75[_a77]!=undefined?++_a75[_a77]:_a75[_a77]=0);
}while(this.getWidgetById(_a78));
return _a78;
};
this.add=function(_a79){
this.widgets.push(_a79);
if(!_a79.extraArgs["id"]){
_a79.extraArgs["id"]=_a79.extraArgs["ID"];
}
if(_a79.widgetId==""){
if(_a79["id"]){
_a79.widgetId=_a79["id"];
}else{
if(_a79.extraArgs["id"]){
_a79.widgetId=_a79.extraArgs["id"];
}else{
_a79.widgetId=this.getUniqueId(_a79.ns+"_"+_a79.widgetType);
}
}
}
if(this.widgetIds[_a79.widgetId]){
dojo.debug("widget ID collision on ID: "+_a79.widgetId);
}
this.widgetIds[_a79.widgetId]=_a79;
};
this.destroyAll=function(){
for(var x=this.widgets.length-1;x>=0;x--){
try{
var _a7b=widgets[x];
if(_a7b.uninitialize){
_a7b.uninitialize();
}
if(_a7b.destroyRendering){
_a7b.destroyRendering(true);
}
delete this.widgets[x];
}
catch(e){
}
}
};
this.remove=function(_a7c){
if(dojo.lang.isNumber(_a7c)){
var tw=this.widgets[_a7c].widgetId;
delete this.widgetIds[tw];
this.widgets.splice(_a7c,1);
}else{
this.removeById(_a7c);
}
};
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 _a83=(type.indexOf(":")<0?function(x){
return x.widgetType.toLowerCase();
}:function(x){
return x.getNamespacedType();
});
var ret=[];
dojo.lang.forEach(this.widgets,function(x){
if(_a83(x)==lt){
ret.push(x);
}
});
return ret;
};
this.getWidgetsByFilter=function(_a88,_a89){
var ret=[];
dojo.lang.every(this.widgets,function(x){
if(_a88(x)){
ret.push(x);
if(_a89){
return false;
}
}
return true;
});
return (_a89?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 _a8f={};
var _a90=["dojo.widget"];
for(var i=0;i<_a90.length;i++){
_a90[_a90[i]]=true;
}
this.registerWidgetPackage=function(_a92){
if(!_a90[_a92]){
_a90[_a92]=true;
_a90.push(_a92);
}
};
this.getWidgetPackageList=function(){
return dojo.lang.map(_a90,function(elt){
return (elt!==true?elt:undefined);
});
};
this.getImplementation=function(_a94,_a95,_a96,ns){
var impl=this.getImplementationName(_a94,ns);
if(impl){
var ret=_a95?new impl(_a95):new impl();
return ret;
}
};
function buildPrefixCache(){
for(var _a9a in dojo.render){
if(dojo.render[_a9a]["capable"]===true){
var _a9b=dojo.render[_a9a].prefixes;
for(var i=0;i<_a9b.length;i++){
_a76.push(_a9b[i].toLowerCase());
}
}
}
}
var _a9d=function(_a9e,_a9f){
if(!_a9f){
return null;
}
for(var i=0,l=_a76.length,widgetModule;i<=l;i++){
widgetModule=(i<l?_a9f[_a76[i]]:_a9f);
if(!widgetModule){
continue;
}
for(var name in widgetModule){
if(name.toLowerCase()==_a9e){
return widgetModule[name];
}
}
}
return null;
};
var _aa2=function(_aa3,_aa4){
var _aa5=dojo.evalObjPath(_aa4,false);
return (_aa5?_a9d(_aa3,_aa5):null);
};
this.getImplementationName=function(_aa6,ns){
var _aa8=_aa6.toLowerCase();
ns=ns||"dojo";
var imps=_a8f[ns]||(_a8f[ns]={});
var impl=imps[_aa8];
if(impl){
return impl;
}
if(!_a76.length){
buildPrefixCache();
}
var _aab=dojo.ns.get(ns);
if(!_aab){
dojo.ns.register(ns,ns+".widget");
_aab=dojo.ns.get(ns);
}
if(_aab){
_aab.resolve(_aa6);
}
impl=_aa2(_aa8,_aab.module);
if(impl){
return (imps[_aa8]=impl);
}
_aab=dojo.ns.require(ns);
if((_aab)&&(_aab.resolver)){
_aab.resolve(_aa6);
impl=_aa2(_aa8,_aab.module);
if(impl){
return (imps[_aa8]=impl);
}
}
dojo.deprecated("dojo.widget.Manager.getImplementationName","Could not locate widget implementation for \""+_aa6+"\" in \""+_aab.module+"\" registered to namespace \""+_aab.name+"\". "+"Developers must specify correct namespaces for all non-Dojo widgets","0.5");
for(var i=0;i<_a90.length;i++){
impl=_aa2(_aa8,_a90[i]);
if(impl){
return (imps[_aa8]=impl);
}
}
throw new Error("Could not locate widget implementation for \""+_aa6+"\" in \""+_aab.module+"\" registered to namespace \""+_aab.name+"\"");
};
this.resizing=false;
this.onWindowResized=function(){
if(this.resizing){
return;
}
try{
this.resizing=true;
for(var id in this.topWidgets){
var _aae=this.topWidgets[id];
if(_aae.checkSize){
_aae.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(_ab3,_ab4){
dw[(_ab4||_ab3)]=h(_ab3);
};
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 _ab6=dwm.getAllWidgets.apply(dwm,arguments);
if(arguments.length>0){
return _ab6[n];
}
return _ab6;
};
g("registerWidgetPackage");
g("getImplementation","getWidgetImplementation");
g("getImplementationName","getWidgetImplementationName");
dw.widgets=dwm.widgets;
dw.widgetIds=dwm.widgetIds;
dw.root=dwm.root;
})();
dojo.provide("dojo.uri.*");
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 _ab9=dojo.global();
var _aba=dojo.doc();
var w=0;
var h=0;
if(dojo.render.html.mozilla){
w=_aba.documentElement.clientWidth;
h=_ab9.innerHeight;
}else{
if(!dojo.render.html.opera&&_ab9.innerWidth){
w=_ab9.innerWidth;
h=_ab9.innerHeight;
}else{
if(!dojo.render.html.opera&&dojo.exists(_aba,"documentElement.clientWidth")){
var w2=_aba.documentElement.clientWidth;
if(!w||w2&&w2<w){
w=w2;
}
h=_aba.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 _abe=dojo.global();
var _abf=dojo.doc();
var top=_abe.pageYOffset||_abf.documentElement.scrollTop||dojo.body().scrollTop||0;
var left=_abe.pageXOffset||_abf.documentElement.scrollLeft||dojo.body().scrollLeft||0;
return {top:top,left:left,offset:{x:left,y:top}};
};
dojo.html.getParentByType=function(node,type){
var _ac4=dojo.doc();
var _ac5=dojo.byId(node);
type=type.toLowerCase();
while((_ac5)&&(_ac5.nodeName.toLowerCase()!=type)){
if(_ac5==(_ac4["body"]||_ac4["documentElement"])){
return null;
}
_ac5=_ac5.parentNode;
}
return _ac5;
};
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 _acd={x:0,y:0};
if(e.pageX||e.pageY){
_acd.x=e.pageX;
_acd.y=e.pageY;
}else{
var de=dojo.doc().documentElement;
var db=dojo.body();
_acd.x=e.clientX+((de||db)["scrollLeft"])-((de||db)["clientLeft"]);
_acd.y=e.clientY+((de||db)["scrollTop"])-((de||db)["clientTop"]);
}
return _acd;
};
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 _ad2=dojo.doc().createElement("script");
_ad2.src="javascript:'dojo.html.createExternalElement=function(doc, tag){ return doc.createElement(tag); }'";
dojo.doc().getElementsByTagName("head")[0].appendChild(_ad2);
})();
}
}else{
dojo.html.createExternalElement=function(doc,tag){
return doc.createElement(tag);
};
}
dojo.html._callDeprecated=function(_ad5,_ad6,args,_ad8,_ad9){
dojo.deprecated("dojo.html."+_ad5,"replaced by dojo.html."+_ad6+"("+(_ad8?"node, {"+_ad8+": "+_ad8+"}":"")+")"+(_ad9?"."+_ad9:""),"0.5");
var _ada=[];
if(_ad8){
var _adb={};
_adb[_ad8]=args[1];
_ada.push(args[0]);
_ada.push(_adb);
}else{
_ada=args;
}
var ret=dojo.html[_ad6].apply(dojo.html,args);
if(_ad9){
return ret[_ad9];
}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.a11y");
dojo.a11y={imgPath:dojo.uri.dojoUri("src/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=document.createElement("div");
div.style.backgroundImage="url(\""+this.imgPath+"/tab_close.gif\")";
dojo.body().appendChild(div);
var _ade=null;
if(window.getComputedStyle){
var _adf=getComputedStyle(div,"");
_ade=_adf.getPropertyValue("background-image");
}else{
_ade=div.currentStyle.backgroundImage;
}
var _ae0=false;
if(_ade!=null&&(_ade=="none"||_ade=="url(invalid-url:)")){
this.accessible=true;
}
dojo.body().removeChild(div);
}
return this.accessible;
},setCheckAccessible:function(_ae1){
this.doAccessibleCheck=_ae1;
},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 _ae3=this.children[i];
if(_ae3.onResized){
_ae3.onResized();
}
}
},create:function(args,_ae5,_ae6,ns){
if(ns){
this.ns=ns;
}
this.satisfyPropertySets(args,_ae5,_ae6);
this.mixInProperties(args,_ae5,_ae6);
this.postMixInProperties(args,_ae5,_ae6);
dojo.widget.manager.add(this);
this.buildRendering(args,_ae5,_ae6);
this.initialize(args,_ae5,_ae6);
this.postInitialize(args,_ae5,_ae6);
this.postCreate(args,_ae5,_ae6);
return this;
},destroy:function(_ae8){
if(this.parent){
this.parent.removeChild(this);
}
this.destroyChildren();
this.uninitialize();
this.destroyRendering(_ae8);
dojo.widget.manager.removeById(this.widgetId);
},destroyChildren:function(){
var _ae9;
var i=0;
while(this.children.length>i){
_ae9=this.children[i];
if(_ae9 instanceof dojo.widget.Widget){
this.removeChild(_ae9);
_ae9.destroy();
continue;
}
i++;
}
},getChildrenOfType:function(type,_aec){
var ret=[];
var _aee=dojo.lang.isFunction(type);
if(!_aee){
type=type.toLowerCase();
}
for(var x=0;x<this.children.length;x++){
if(_aee){
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(_aec){
ret=ret.concat(this.children[x].getChildrenOfType(type,_aec));
}
}
return ret;
},getDescendants:function(){
var _af0=[];
var _af1=[this];
var elem;
while((elem=_af1.pop())){
_af0.push(elem);
if(elem.children){
dojo.lang.forEach(elem.children,function(elem){
_af1.push(elem);
});
}
}
return _af0;
},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 _af8;
var _af9=dojo.widget.lcArgsCache[this.widgetType];
if(_af9==null){
_af9={};
for(var y in this){
_af9[((new String(y)).toLowerCase())]=y;
}
dojo.widget.lcArgsCache[this.widgetType]=_af9;
}
var _afb={};
for(var x in args){
if(!this[x]){
var y=_af9[(new String(x)).toLowerCase()];
if(y){
args[y]=args[x];
x=y;
}
}
if(_afb[x]){
continue;
}
_afb[x]=true;
if((typeof this[x])!=(typeof _af8)){
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 _afd=args[x].split(";");
for(var y=0;y<_afd.length;y++){
var si=_afd[y].indexOf(":");
if((si!=-1)&&(_afd[y].length>si)){
this[x][_afd[y].substr(0,si).replace(/^\s+|\s+$/g,"")]=_afd[y].substr(si+1);
}
}
}
}else{
this[x]=args[x];
}
}
}
}
}
}
}
}
}else{
this.extraArgs[x.toLowerCase()]=args[x];
}
}
},postMixInProperties:function(args,frag,_b01){
},initialize:function(args,frag,_b04){
return false;
},postInitialize:function(args,frag,_b07){
return false;
},postCreate:function(args,frag,_b0a){
return false;
},uninitialize:function(){
return false;
},buildRendering:function(args,frag,_b0d){
dojo.unimplemented("dojo.widget.Widget.buildRendering, on "+this.toString()+", ");
return false;
},destroyRendering:function(){
dojo.unimplemented("dojo.widget.Widget.destroyRendering");
return false;
},addedTo:function(_b0e){
},addChild:function(_b0f){
dojo.unimplemented("dojo.widget.Widget.addChild");
return false;
},removeChild:function(_b10){
for(var x=0;x<this.children.length;x++){
if(this.children[x]===_b10){
this.children.splice(x,1);
_b10.parent=null;
break;
}
}
return _b10;
},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(_b15,_b16,_b17){
var _b18=_b16.parseProperties(_b15["dojo:propertyset"]);
};
dojo.widget.tags["dojo:connect"]=function(_b19,_b1a,_b1b){
var _b1c=_b1a.parseProperties(_b19["dojo:connect"]);
};
dojo.widget.buildWidgetFromParseTree=function(type,frag,_b1f,_b20,_b21,_b22){
dojo.a11y.setAccessibleMode();
var _b23=type.split(":");
_b23=(_b23.length==2)?_b23[1]:type;
var _b24=_b22||_b1f.parseProperties(frag[frag["ns"]+":"+_b23]);
var _b25=dojo.widget.manager.getImplementation(_b23,null,null,frag["ns"]);
if(!_b25){
throw new Error("cannot find \""+type+"\" widget");
}else{
if(!_b25.create){
throw new Error("\""+type+"\" widget object has no \"create\" method and does not appear to implement *Widget");
}
}
_b24["dojoinsertionindex"]=_b21;
var ret=_b25.create(_b24,frag,_b20,frag["ns"]);
return ret;
};
dojo.widget.defineWidget=function(_b27,_b28,_b29,init,_b2b){
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(_b2d,_b2e,_b2f,init,_b31){
var _b32=_b2d.split(".");
var type=_b32.pop();
var regx="\\.("+(_b2e?_b2e+"|":"")+dojo.widget.defineWidget.renderers+")\\.";
var r=_b2d.search(new RegExp(regx));
_b32=(r<0?_b32.join("."):_b2d.substr(0,r));
dojo.widget.manager.registerWidgetPackage(_b32);
var pos=_b32.indexOf(".");
var _b37=(pos>-1)?_b32.substring(0,pos):_b32;
_b31=(_b31)||{};
_b31.widgetType=type;
if((!init)&&(_b31["classConstructor"])){
init=_b31.classConstructor;
delete _b31.classConstructor;
}
dojo.declare(_b2d,_b2f,init,_b31);
};
dojo.provide("dojo.widget.Parse");
dojo.widget.Parse=function(_b38){
this.propertySetsList=[];
this.fragment=_b38;
this.createComponents=function(frag,_b3a){
var _b3b=[];
var _b3c=false;
try{
if(frag&&frag.tagName&&(frag!=frag.nodeRef)){
var _b3d=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(_b3d[ltn]){
_b3c=true;
ret=_b3d[ltn](frag,this,_b3a,frag.index);
_b3b.push(ret);
}else{
if(ltn.indexOf(":")==-1){
ltn="dojo:"+ltn;
}
ret=dojo.widget.buildWidgetFromParseTree(ltn,frag,this,_b3a,frag.index);
if(ret){
_b3c=true;
_b3b.push(ret);
}
}
}
}
}
catch(e){
dojo.debug("dojo.widget.Parse: error:",e);
}
if(!_b3c){
_b3b=_b3b.concat(this.createSubComponents(frag,_b3a));
}
return _b3b;
};
this.createSubComponents=function(_b42,_b43){
var frag,comps=[];
for(var item in _b42){
frag=_b42[item];
if(frag&&typeof frag=="object"&&(frag!=_b42.nodeRef)&&(frag!=_b42.tagName)&&(!dojo.dom.isNode(frag))){
comps=comps.concat(this.createComponents(frag,_b43));
}
}
return comps;
};
this.parsePropertySets=function(_b46){
return [];
};
this.parseProperties=function(_b47){
var _b48={};
for(var item in _b47){
if((_b47[item]==_b47.tagName)||(_b47[item]==_b47.nodeRef)){
}else{
var frag=_b47[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 _b4b=this;
this.getDataProvider(_b4b,frag[0].value);
_b48.dataProvider=this.dataProvider;
}
_b48[item]=frag[0].value;
var _b4c=this.parseProperties(frag);
for(var _b4d in _b4c){
_b48[_b4d]=_b4c[_b4d];
}
}
catch(e){
dojo.debug(e);
}
}
}
switch(item.toLowerCase()){
case "checked":
case "disabled":
if(typeof _b48[item]!="boolean"){
_b48[item]=true;
}
break;
}
}
}
return _b48;
};
this.getDataProvider=function(_b4e,_b4f){
dojo.io.bind({url:_b4f,load:function(type,_b51){
if(type=="load"){
_b4e.dataProvider=_b51;
}
},mimetype:"text/javascript",sync:true});
};
this.getPropertySetById=function(_b52){
for(var x=0;x<this.propertySetsList.length;x++){
if(_b52==this.propertySetsList[x]["id"][0].value){
return this.propertySetsList[x];
}
}
return "";
};
this.getPropertySetsByType=function(_b54){
var _b55=[];
for(var x=0;x<this.propertySetsList.length;x++){
var cpl=this.propertySetsList[x];
var cpcc=cpl.componentClass||cpl.componentType||null;
var _b59=this.propertySetsList[x]["id"][0].value;
if(cpcc&&(_b59==cpcc[0].value)){
_b55.push(cpl);
}
}
return _b55;
};
this.getPropertySets=function(_b5a){
var ppl="dojo:propertyproviderlist";
var _b5c=[];
var _b5d=_b5a.tagName;
if(_b5a[ppl]){
var _b5e=_b5a[ppl].value.split(" ");
for(var _b5f in _b5e){
if((_b5f.indexOf("..")==-1)&&(_b5f.indexOf("://")==-1)){
var _b60=this.getPropertySetById(_b5f);
if(_b60!=""){
_b5c.push(_b60);
}
}else{
}
}
}
return this.getPropertySetsByType(_b5d).concat(_b5c);
};
this.createComponentFromScript=function(_b61,_b62,_b63,ns){
_b63.fastMixIn=true;
var ltn=(ns||"dojo")+":"+_b62.toLowerCase();
if(dojo.widget.tags[ltn]){
return [dojo.widget.tags[ltn](_b63,this,null,null,_b63)];
}
return [dojo.widget.buildWidgetFromParseTree(ltn,_b63,this,null,null,_b63)];
};
};
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,_b68,_b69,_b6a){
var _b6b=false;
var _b6c=(typeof name=="string");
if(_b6c){
var pos=name.indexOf(":");
var ns=(pos>-1)?name.substring(0,pos):"dojo";
if(pos>-1){
name=name.substring(pos+1);
}
var _b6f=name.toLowerCase();
var _b70=ns+":"+_b6f;
_b6b=(dojo.byId(name)&&!dojo.widget.tags[_b70]);
}
if((arguments.length==1)&&(_b6b||!_b6c)){
var xp=new dojo.xml.Parse();
var tn=_b6b?dojo.byId(name):name;
return dojo.widget.getParser().createComponents(xp.parseElement(tn,null,true))[0];
}
function fromScript(_b73,name,_b75,ns){
_b75[_b70]={dojotype:[{value:_b6f}],nodeRef:_b73,fastMixIn:true};
_b75.ns=ns;
return dojo.widget.getParser().createComponentFromScript(_b73,name,_b75,ns);
}
_b68=_b68||{};
var _b77=false;
var tn=null;
var h=dojo.render.html.capable;
if(h){
tn=document.createElement("span");
}
if(!_b69){
_b77=true;
_b69=tn;
if(h){
dojo.body().appendChild(_b69);
}
}else{
if(_b6a){
dojo.dom.insertAtPosition(tn,_b69,_b6a);
}else{
tn=_b69;
}
}
var _b79=fromScript(tn,name.toLowerCase(),_b68,ns);
if((!_b79)||(!_b79[0])||(typeof _b79[0].widgetType=="undefined")){
throw new Error("createWidget: Creation of \""+name+"\" widget failed.");
}
try{
if(_b77&&_b79[0].domNode.parentNode){
_b79[0].domNode.parentNode.removeChild(_b79[0].domNode);
}
}
catch(e){
dojo.debug(e);
}
return _b79[0];
};
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,_b7f){
return (new RegExp("(^|\\s+)"+_b7f+"(\\s+|$)")).test(dojo.html.getClass(node));
};
dojo.html.prependClass=function(node,_b81){
_b81+=" "+dojo.html.getClass(node);
return dojo.html.setClass(node,_b81);
};
dojo.html.addClass=function(node,_b83){
if(dojo.html.hasClass(node,_b83)){
return false;
}
_b83=(dojo.html.getClass(node)+" "+_b83).replace(/^\s+|\s+$/g,"");
return dojo.html.setClass(node,_b83);
};
dojo.html.setClass=function(node,_b85){
node=dojo.byId(node);
var cs=new String(_b85);
try{
if(typeof node.className=="string"){
node.className=cs;
}else{
if(node.setAttribute){
node.setAttribute("class",_b85);
node.className=cs;
}else{
return false;
}
}
}
catch(e){
dojo.debug("dojo.html.setClass() failed",e);
}
return true;
};
dojo.html.removeClass=function(node,_b88,_b89){
try{
if(!_b89){
var _b8a=dojo.html.getClass(node).replace(new RegExp("(^|\\s+)"+_b88+"(\\s+|$)"),"$1$2");
}else{
var _b8a=dojo.html.getClass(node).replace(_b88,"");
}
dojo.html.setClass(node,_b8a);
}
catch(e){
dojo.debug("dojo.html.removeClass() failed",e);
}
return true;
};
dojo.html.replaceClass=function(node,_b8c,_b8d){
dojo.html.removeClass(node,_b8d);
dojo.html.addClass(node,_b8c);
};
dojo.html.classMatchType={ContainsAll:0,ContainsAny:1,IsOnly:2};
dojo.html.getElementsByClass=function(_b8e,_b8f,_b90,_b91,_b92){
_b92=false;
var _b93=dojo.doc();
_b8f=dojo.byId(_b8f)||_b93;
var _b94=_b8e.split(/\s+/g);
var _b95=[];
if(_b91!=1&&_b91!=2){
_b91=0;
}
var _b96=new RegExp("(\\s|^)(("+_b94.join(")|(")+"))(\\s|$)");
var _b97=_b94.join(" ").length;
var _b98=[];
if(!_b92&&_b93.evaluate){
var _b99=".//"+(_b90||"*")+"[contains(";
if(_b91!=dojo.html.classMatchType.ContainsAny){
_b99+="concat(' ',@class,' '), ' "+_b94.join(" ') and contains(concat(' ',@class,' '), ' ")+" ')";
if(_b91==2){
_b99+=" and string-length(@class)="+_b97+"]";
}else{
_b99+="]";
}
}else{
_b99+="concat(' ',@class,' '), ' "+_b94.join(" ') or contains(concat(' ',@class,' '), ' ")+" ')]";
}
var _b9a=_b93.evaluate(_b99,_b8f,null,XPathResult.ANY_TYPE,null);
var _b9b=_b9a.iterateNext();
while(_b9b){
try{
_b98.push(_b9b);
_b9b=_b9a.iterateNext();
}
catch(e){
break;
}
}
return _b98;
}else{
if(!_b90){
_b90="*";
}
_b98=_b8f.getElementsByTagName(_b90);
var node,i=0;
outer:
while(node=_b98[i++]){
var _b9d=dojo.html.getClasses(node);
if(_b9d.length==0){
continue outer;
}
var _b9e=0;
for(var j=0;j<_b9d.length;j++){
if(_b96.test(_b9d[j])){
if(_b91==dojo.html.classMatchType.ContainsAny){
_b95.push(node);
continue outer;
}else{
_b9e++;
}
}else{
if(_b91==dojo.html.classMatchType.IsOnly){
continue outer;
}
}
}
if(_b9e==_b94.length){
if((_b91==dojo.html.classMatchType.IsOnly)&&(_b9e==_b9d.length)){
_b95.push(node);
}else{
if(_b91==dojo.html.classMatchType.ContainsAll){
_b95.push(node);
}
}
}
}
return _b95;
}
};
dojo.html.getElementsByClassName=dojo.html.getElementsByClass;
dojo.html.toCamelCase=function(_ba0){
var arr=_ba0.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(_ba3){
if(!dojo.html.toSelectorCase.re){
dojo.html.toSelectorCase.re=/([A-Z])/g;
}
return _ba3.replace(dojo.html.toSelectorCase.re,"-$1").toLowerCase();
};
dojo.html.getComputedStyle2=function(node,_ba5,_ba6,_ba7){
if(node.currentStyle){
return node.currentStyle[_ba6];
}else{
if(document.defaultView&&dojo.html.isDescendantOf(node,node.ownerDocument)){
try{
var cs=document.defaultView.getComputedStyle(node,"");
if(cs){
return cs.getPropertyValue(_ba5);
}
}
catch(e){
if(node.style&&node.style.getPropertyValue){
return node.style.getPropertyValue(_ba5);
}else{
return _ba7;
}
}
}
}
if(node.style&&node.style.getPropertyValue){
return node.style.getPropertyValue(_ba5);
}else{
return _ba7;
}
};
dojo.html.getComputedStyle=function(node,_baa,_bab){
node=dojo.byId(node);
var _baa=dojo.html.toSelectorCase(_baa);
var _bac=dojo.html.toCamelCase(_baa);
if(!node||!node.style){
return _bab;
}else{
if(document.defaultView&&dojo.html.isDescendantOf(node,node.ownerDocument)){
try{
var cs=document.defaultView.getComputedStyle(node,"");
if(cs){
return cs.getPropertyValue(_baa);
}
}
catch(e){
if(node.style.getPropertyValue){
return node.style.getPropertyValue(_baa);
}else{
return _bab;
}
}
}else{
if(node.currentStyle){
return node.currentStyle[_bac];
}
}
}
if(node.style.getPropertyValue){
return node.style.getPropertyValue(_baa);
}else{
return _bab;
}
};
dojo.html.getStyleProperty=function(node,_baf){
node=dojo.byId(node);
return (node&&node.style?node.style[dojo.html.toCamelCase(_baf)]:undefined);
};
dojo.html.getStyleProperty2=function(node,_bb1,_bb2){
node=dojo.byId(node);
return (node&&node.style?node.style[_bb2]:undefined);
};
dojo.html.getStyle=function(node,_bb4){
var _bb5=dojo.html.getStyleProperty(node,_bb4);
return (_bb5?_bb5:dojo.html.getComputedStyle(node,_bb4));
};
dojo.html.getStyle2=function(node,_bb7,_bb8){
var _bb9=dojo.html.getStyleProperty2(node,_bb7,_bb8);
return (_bb9?_bb9:dojo.html.getComputedStyle2(node,_bb7,_bb8));
};
dojo.html.setStyle=function(node,_bbb,_bbc){
node=dojo.byId(node);
if(node&&node.style){
var _bbd=dojo.html.toCamelCase(_bbb);
node.style[_bbd]=_bbc;
}
};
dojo.html.setStyleText=function(_bbe,text){
try{
_bbe.style.cssText=text;
}
catch(e){
_bbe.setAttribute("style",text);
}
};
dojo.html.copyStyle=function(_bc0,_bc1){
if(!_bc1.style.cssText){
_bc0.setAttribute("style",_bc1.getAttribute("style"));
}else{
_bc0.style.cssText=_bc1.style.cssText;
}
dojo.html.addClass(_bc0,dojo.html.getClass(_bc1));
};
dojo.html.getUnitValue2=function(node,_bc3,_bc4,_bc5){
var s=dojo.html.getComputedStyle2(node,_bc3,_bc5);
if((!s)||((s=="auto")&&(_bc4))){
return {value:0,units:"px"};
}
var _bc7=s.match(/(\-?[\d.]+)([a-z%]*)/i);
if(!_bc7){
return dojo.html.getUnitValue.bad;
}
return {value:Number(_bc7[1]),units:_bc7[2].toLowerCase()};
};
dojo.html.getUnitValue=function(node,_bc9,_bca){
var s=dojo.html.getComputedStyle(node,_bc9);
if((!s)||((s=="auto")&&(_bca))){
return {value:0,units:"px"};
}
var _bcc=s.match(/(\-?[\d.]+)([a-z%]*)/i);
if(!_bcc){
return dojo.html.getUnitValue.bad;
}
return {value:Number(_bcc[1]),units:_bcc[2].toLowerCase()};
};
dojo.html.getUnitValue.bad={value:NaN,units:""};
dojo.html.getPixelValue=function(node,_bce,_bcf){
var _bd0=dojo.html.getUnitValue(node,_bce,_bcf);
if(isNaN(_bd0.value)){
return 0;
}
if((_bd0.value)&&(_bd0.units!="px")){
return NaN;
}
return _bd0.value;
};
dojo.html.getPixelValue2=function(node,_bd2,_bd3,_bd4){
var _bd5=dojo.html.getUnitValue2(node,_bd2,_bd3,_bd4);
if(isNaN(_bd5.value)){
return 0;
}
if((_bd5.value)&&(_bd5.units!="px")){
return NaN;
}
return _bd5.value;
};
dojo.html.setPositivePixelValue=function(node,_bd7,_bd8){
if(isNaN(_bd8)){
return false;
}
node.style[_bd7]=Math.max(0,_bd8)+"px";
return true;
};
dojo.html.styleSheet=null;
dojo.html.insertCssRule=function(_bd9,_bda,_bdb){
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){
_bdb=dojo.html.styleSheet.cssRules.length;
}else{
if(dojo.html.styleSheet.rules){
_bdb=dojo.html.styleSheet.rules.length;
}else{
return null;
}
}
}
if(dojo.html.styleSheet.insertRule){
var rule=_bd9+" { "+_bda+" }";
return dojo.html.styleSheet.insertRule(rule,_bdb);
}else{
if(dojo.html.styleSheet.addRule){
return dojo.html.styleSheet.addRule(_bd9,_bda,_bdb);
}else{
return null;
}
}
};
dojo.html.removeCssRule=function(_bdd){
if(!dojo.html.styleSheet){
dojo.debug("no stylesheet defined for removing rules");
return false;
}
if(dojo.render.html.ie){
if(!_bdd){
_bdd=dojo.html.styleSheet.rules.length;
dojo.html.styleSheet.removeRule(_bdd);
}
}else{
if(document.styleSheets[0]){
if(!_bdd){
_bdd=dojo.html.styleSheet.cssRules.length;
}
dojo.html.styleSheet.deleteRule(_bdd);
}
}
return true;
};
dojo.html._insertedCssFiles=[];
dojo.html.insertCssFile=function(URI,doc,_be0,_be1){
if(!URI){
return;
}
if(!doc){
doc=document;
}
var _be2=dojo.hostenv.getText(URI,false,_be1);
if(_be2===null){
return;
}
_be2=dojo.html.fixPathsInCssText(_be2,URI);
if(_be0){
var idx=-1,node,ent=dojo.html._insertedCssFiles;
for(var i=0;i<ent.length;i++){
if((ent[i].doc==doc)&&(ent[i].cssText==_be2)){
idx=i;
node=ent[i].nodeRef;
break;
}
}
if(node){
var _be5=doc.getElementsByTagName("style");
for(var i=0;i<_be5.length;i++){
if(_be5[i]==node){
return;
}
}
dojo.html._insertedCssFiles.shift(idx,1);
}
}
var _be6=dojo.html.insertCssText(_be2,doc);
dojo.html._insertedCssFiles.push({"doc":doc,"cssText":_be2,"nodeRef":_be6});
if(_be6&&djConfig.isDebug){
_be6.setAttribute("dbgHref",URI);
}
return _be6;
};
dojo.html.insertCssText=function(_be7,doc,URI){
if(!_be7){
return;
}
if(!doc){
doc=document;
}
if(URI){
_be7=dojo.html.fixPathsInCssText(_be7,URI);
}
var _bea=doc.createElement("style");
_bea.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(_bea);
}
if(_bea.styleSheet){
var _bec=function(){
try{
_bea.styleSheet.cssText=_be7;
}
catch(e){
dojo.debug(e);
}
};
if(_bea.styleSheet.disabled){
setTimeout(_bec,10);
}else{
_bec();
}
}else{
var _bed=doc.createTextNode(_be7);
_bea.appendChild(_bed);
}
return _bea;
};
dojo.html.fixPathsInCssText=function(_bee,URI){
if(!_bee||!URI){
return;
}
var _bf0,str="",url="",urlChrs="[\\t\\s\\w\\(\\)\\/\\.\\\\'\"-:#=&?~]+";
var _bf1=new RegExp("url\\(\\s*("+urlChrs+")\\s*\\)");
var _bf2=/(file|https?|ftps?):\/\//;
regexTrim=new RegExp("^[\\s]*(['\"]?)("+urlChrs+")\\1[\\s]*?$");
if(dojo.render.html.ie55||dojo.render.html.ie60){
var _bf3=new RegExp("AlphaImageLoader\\((.*)src=['\"]("+urlChrs+")['\"]");
while(_bf0=_bf3.exec(_bee)){
url=_bf0[2].replace(regexTrim,"$2");
if(!_bf2.exec(url)){
url=(new dojo.uri.Uri(URI,url).toString());
}
str+=_bee.substring(0,_bf0.index)+"AlphaImageLoader("+_bf0[1]+"src='"+url+"'";
_bee=_bee.substr(_bf0.index+_bf0[0].length);
}
_bee=str+_bee;
str="";
}
while(_bf0=_bf1.exec(_bee)){
url=_bf0[1].replace(regexTrim,"$2");
if(!_bf2.exec(url)){
url=(new dojo.uri.Uri(URI,url).toString());
}
str+=_bee.substring(0,_bf0.index)+"url("+url+")";
_bee=_bee.substr(_bf0.index+_bf0[0].length);
}
return str+_bee;
};
dojo.html.setActiveStyleSheet=function(_bf4){
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")==_bf4){
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 _bfa={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 _bfa){
if(_bfa[p]){
dojo.html.addClass(node,p);
}
}
};
dojo.provide("dojo.widget.DomWidget");
dojo.widget._cssFiles={};
dojo.widget._cssStrings={};
dojo.widget._templateCache={};
dojo.widget.defaultStrings={dojoRoot:dojo.hostenv.getBaseScriptUri(),baseScriptUri:dojo.hostenv.getBaseScriptUri()};
dojo.widget.fillFromTemplateCache=function(obj,_bfd,_bfe,_bff){
var _c00=_bfd||obj.templatePath;
var _c01=dojo.widget._templateCache;
if(!_c00&&!obj["widgetType"]){
do{
var _c02="__dummyTemplate__"+dojo.widget._templateCache.dummyCount++;
}while(_c01[_c02]);
obj.widgetType=_c02;
}
var wt=_c00?_c00.toString():obj.widgetType;
var ts=_c01[wt];
if(!ts){
_c01[wt]={"string":null,"node":null};
if(_bff){
ts={};
}else{
ts=_c01[wt];
}
}
if((!obj.templateString)&&(!_bff)){
obj.templateString=_bfe||ts["string"];
}
if((!obj.templateNode)&&(!_bff)){
obj.templateNode=ts["node"];
}
if((!obj.templateNode)&&(!obj.templateString)&&(_c00)){
var _c05=dojo.hostenv.getText(_c00);
if(_c05){
_c05=_c05.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");
var _c06=_c05.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
if(_c06){
_c05=_c06[1];
}
}else{
_c05="";
}
obj.templateString=_c05;
if(!_bff){
_c01[wt]["string"]=_c05;
}
}
if((!ts["string"])&&(!_bff)){
ts.string=obj.templateString;
}
};
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,_c0a){
if(dojo.render.html.ie){
node.setAttribute(this[ns].alias+":"+attr,this[ns].prefix+_c0a);
}else{
node.setAttributeNS(this[ns]["namespace"],attr,this[ns].prefix+_c0a);
}
},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 _c11=true;
if(dojo.render.html.ie){
_c11=node.removeAttribute(this[ns].alias+":"+attr);
}else{
node.removeAttributeNS(this[ns]["namespace"],attr);
}
return _c11;
}};
dojo.widget.attachTemplateNodes=function(_c12,_c13,_c14){
var _c15=dojo.dom.ELEMENT_NODE;
function trim(str){
return str.replace(/^\s+|\s+$/g,"");
}
if(!_c12){
_c12=_c13.domNode;
}
if(_c12.nodeType!=_c15){
return;
}
var _c17=_c12.all||_c12.getElementsByTagName("*");
var _c18=_c13;
for(var x=-1;x<_c17.length;x++){
var _c1a=(x==-1)?_c12:_c17[x];
var _c1b=[];
if(!_c13.widgetsInTemplate||!_c1a.getAttribute("dojoType")){
for(var y=0;y<this.attachProperties.length;y++){
var _c1d=_c1a.getAttribute(this.attachProperties[y]);
if(_c1d){
_c1b=_c1d.split(";");
for(var z=0;z<_c1b.length;z++){
if(dojo.lang.isArray(_c13[_c1b[z]])){
_c13[_c1b[z]].push(_c1a);
}else{
_c13[_c1b[z]]=_c1a;
}
}
break;
}
}
var _c1f=_c1a.getAttribute(this.eventAttachProperty);
if(_c1f){
var evts=_c1f.split(";");
for(var y=0;y<evts.length;y++){
if((!evts[y])||(!evts[y].length)){
continue;
}
var _c21=null;
var tevt=trim(evts[y]);
if(evts[y].indexOf(":")>=0){
var _c23=tevt.split(":");
tevt=trim(_c23[0]);
_c21=trim(_c23[1]);
}
if(!_c21){
_c21=tevt;
}
var tf=function(){
var ntf=new String(_c21);
return function(evt){
if(_c18[ntf]){
_c18[ntf](dojo.event.browser.fixEvent(evt,this));
}
};
}();
dojo.event.browser.addListener(_c1a,tevt,tf,false,true);
}
}
for(var y=0;y<_c14.length;y++){
var _c27=_c1a.getAttribute(_c14[y]);
if((_c27)&&(_c27.length)){
var _c21=null;
var _c28=_c14[y].substr(4);
_c21=trim(_c27);
var _c29=[_c21];
if(_c21.indexOf(";")>=0){
_c29=dojo.lang.map(_c21.split(";"),trim);
}
for(var z=0;z<_c29.length;z++){
if(!_c29[z].length){
continue;
}
var tf=function(){
var ntf=new String(_c29[z]);
return function(evt){
if(_c18[ntf]){
_c18[ntf](dojo.event.browser.fixEvent(evt,this));
}
};
}();
dojo.event.browser.addListener(_c1a,_c28,tf,false,true);
}
}
}
}
var _c2c=_c1a.getAttribute(this.templateProperty);
if(_c2c){
_c13[_c2c]=_c1a;
}
dojo.lang.forEach(dojo.widget.waiNames,function(name){
var wai=dojo.widget.wai[name];
var val=_c1a.getAttribute(wai.name);
if(val){
if(val.indexOf("-")==-1){
dojo.widget.wai.setAttr(_c1a,wai.name,"role",val);
}else{
var _c30=val.split("-");
dojo.widget.wai.setAttr(_c1a,wai.name,_c30[0],_c30[1]);
}
}
},this);
var _c31=_c1a.getAttribute(this.onBuildProperty);
if(_c31){
eval("var node = baseNode; var widget = targetObj; "+_c31);
}
}
};
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(_c39,_c3a,pos,ref,_c3d){
if(!this.isContainer){
dojo.debug("dojo.widget.DomWidget.addChild() attempted on non-container widget");
return null;
}else{
if(_c3d==undefined){
_c3d=this.children.length;
}
this.addWidgetAsDirectChild(_c39,_c3a,pos,ref,_c3d);
this.registerChild(_c39,_c3d);
}
return _c39;
},addWidgetAsDirectChild:function(_c3e,_c3f,pos,ref,_c42){
if((!this.containerNode)&&(!_c3f)){
this.containerNode=this.domNode;
}
var cn=(_c3f)?_c3f:this.containerNode;
if(!pos){
pos="after";
}
if(!ref){
if(!cn){
cn=dojo.body();
}
ref=cn.lastChild;
}
if(!_c42){
_c42=0;
}
_c3e.domNode.setAttribute("dojoinsertionindex",_c42);
if(!ref){
cn.appendChild(_c3e.domNode);
}else{
if(pos=="insertAtIndex"){
dojo.dom.insertAtIndex(_c3e.domNode,ref.parentNode,_c42);
}else{
if((pos=="after")&&(ref===cn.lastChild)){
cn.appendChild(_c3e.domNode);
}else{
dojo.dom.insertAtPosition(_c3e.domNode,cn,pos);
}
}
}
},registerChild:function(_c44,_c45){
_c44.dojoInsertionIndex=_c45;
var idx=-1;
for(var i=0;i<this.children.length;i++){
if(this.children[i].dojoInsertionIndex<=_c45){
idx=i;
}
}
this.children.splice(idx+1,0,_c44);
_c44.parent=this;
_c44.addedTo(this,idx+1);
delete dojo.widget.manager.topWidgets[_c44.widgetId];
},removeChild:function(_c48){
dojo.dom.removeNode(_c48.domNode);
return dojo.widget.DomWidget.superclass.removeChild.call(this,_c48);
},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,_c4c){
var _c4d=this.getFragNodeRef(frag);
if(_c4c&&(_c4c.snarfChildDomOutput||!_c4d)){
_c4c.addWidgetAsDirectChild(this,"","insertAtIndex","",args["dojoinsertionindex"],_c4d);
}else{
if(_c4d){
if(this.domNode&&(this.domNode!==_c4d)){
this._sourceNodeRef=dojo.dom.replaceNode(_c4d,this.domNode);
}
}
}
if(_c4c){
_c4c.registerChild(this,args.dojoinsertionindex);
}else{
dojo.widget.manager.topWidgets[this.widgetId]=this;
}
if(this.widgetsInTemplate){
var _c4e=new dojo.xml.Parse();
var _c4f;
var _c50=this.domNode.getElementsByTagName("*");
for(var i=0;i<_c50.length;i++){
if(_c50[i].getAttribute("dojoAttachPoint")=="subContainerWidget"){
_c4f=_c50[i];
}
if(_c50[i].getAttribute("dojoType")){
_c50[i].setAttribute("isSubWidget",true);
}
}
if(this.isContainer&&!this.containerNode){
if(_c4f){
var src=this.getFragNodeRef(frag);
if(src){
dojo.dom.moveChildren(src,_c4f);
frag["dojoDontFollow"]=true;
}
}else{
dojo.debug("No subContainerWidget node can be found in template file for widget "+this);
}
}
var _c53=_c4e.parseElement(this.domNode,null,true);
dojo.widget.getParser().createSubComponents(_c53,this);
var _c54=[];
var _c55=[this];
var w;
while((w=_c55.pop())){
for(var i=0;i<w.children.length;i++){
var _c57=w.children[i];
if(_c57._processedSubWidgets||!_c57.extraArgs["issubwidget"]){
continue;
}
_c54.push(_c57);
if(_c57.isContainer){
_c55.push(_c57);
}
}
}
for(var i=0;i<_c54.length;i++){
var _c58=_c54[i];
if(_c58._processedSubWidgets){
dojo.debug("This should not happen: widget._processedSubWidgets is already true!");
return;
}
_c58._processedSubWidgets=true;
if(_c58.extraArgs["dojoattachevent"]){
var evts=_c58.extraArgs["dojoattachevent"].split(";");
for(var j=0;j<evts.length;j++){
var _c5b=null;
var tevt=dojo.string.trim(evts[j]);
if(tevt.indexOf(":")>=0){
var _c5d=tevt.split(":");
tevt=dojo.string.trim(_c5d[0]);
_c5b=dojo.string.trim(_c5d[1]);
}
if(!_c5b){
_c5b=tevt;
}
if(dojo.lang.isFunction(_c58[tevt])){
dojo.event.kwConnect({srcObj:_c58,srcFunc:tevt,targetObj:this,targetFunc:_c5b});
}else{
alert(tevt+" is not a function in widget "+_c58);
}
}
}
if(_c58.extraArgs["dojoattachpoint"]){
this[_c58.extraArgs["dojoattachpoint"]]=_c58;
}
}
}
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 _c61=args["templateCssPath"]||this.templateCssPath;
if(_c61&&!dojo.widget._cssFiles[_c61.toString()]){
if((!this.templateCssString)&&(_c61)){
this.templateCssString=dojo.hostenv.getText(_c61);
this.templateCssPath=null;
}
dojo.widget._cssFiles[_c61.toString()]=true;
}
if((this["templateCssString"])&&(!dojo.widget._cssStrings[this.templateCssString])){
dojo.html.insertCssText(this.templateCssString,null,_c61);
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 _c64=false;
if(args["templatepath"]){
args["templatePath"]=args["templatepath"];
}
dojo.widget.fillFromTemplateCache(this,args["templatePath"],null,_c64);
var ts=dojo.widget._templateCache[this.templatePath?this.templatePath.toString():this.widgetType];
if((ts)&&(!_c64)){
if(!this.templateString.length){
this.templateString=ts["string"];
}
if(!this.templateNode){
this.templateNode=ts["node"];
}
}
var _c66=false;
var node=null;
var tstr=this.templateString;
if((!this.templateNode)&&(this.templateString)){
_c66=this.templateString.match(/\$\{([^\}]+)\}/g);
if(_c66){
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<_c66.length;i++){
var key=_c66[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 _c6d;
if((kval)||(dojo.lang.isString(kval))){
_c6d=new String((dojo.lang.isFunction(kval))?kval.call(this,key,this.templateString):kval);
while(_c6d.indexOf("\"")>-1){
_c6d=_c6d.replace("\"","&quot;");
}
tstr=tstr.replace(_c66[i],_c6d);
}
}
}else{
this.templateNode=this.createNodesFromText(this.templateString,true)[0];
if(!_c64){
ts.node=this.templateNode;
}
}
}
if((!this.templateNode)&&(!_c66)){
dojo.debug("DomWidget.buildFromTemplate: could not create template");
return false;
}else{
if(!_c66){
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(_c6f,_c70){
if(!_c6f){
_c6f=this.domNode;
}
if(!_c70){
_c70=this;
}
return dojo.widget.attachTemplateNodes(_c6f,_c70,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.display");
dojo.html._toggle=function(node,_c72,_c73){
node=dojo.byId(node);
_c73(node,!_c72(node));
return _c72(node);
};
dojo.html.show=function(node){
node=dojo.byId(node);
if(dojo.html.getStyleProperty2(node,"display","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.getStyleProperty2(node,"display","display");
if(d!="none"){
node.dojoDisplayCache=d;
}
}
dojo.html.setStyle(node,"display","none");
};
dojo.html.setShowing=function(node,_c78){
dojo.html[(_c78?"show":"hide")](node);
};
dojo.html.isShowing=function(node){
return (dojo.html.getStyleProperty2(node,"display","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,_c7e){
dojo.html.setStyle(node,"display",((_c7e instanceof String||typeof _c7e=="string")?_c7e:(_c7e?dojo.html.suggestDisplayByTagName(node):"none")));
};
dojo.html.isDisplayed=function(node){
return (dojo.html.getComputedStyle2(node,"display","display")!="none");
};
dojo.html.toggleDisplay=function(node){
return dojo.html._toggle(node,dojo.html.isDisplayed,dojo.html.setDisplay);
};
dojo.html.setVisibility=function(node,_c82){
dojo.html.setStyle(node,"visibility",((_c82 instanceof String||typeof _c82=="string")?_c82:(_c82?"visible":"hidden")));
};
dojo.html.isVisible=function(node){
return (dojo.html.getComputedStyle2(node,"visibility","visibility")!="hidden");
};
dojo.html.toggleVisibility=function(node){
return dojo.html._toggle(node,dojo.html.isVisible,dojo.html.setVisibility);
};
dojo.html.setOpacity=function(node,_c86,_c87){
node=dojo.byId(node);
var h=dojo.render.html;
if(!_c87){
if(_c86>=1){
if(h.ie){
dojo.html.clearOpacity(node);
return;
}else{
_c86=0.999999;
}
}else{
if(_c86<0){
_c86=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="+_c86*100+")";
}
}
node.style.filter="Alpha(Opacity="+_c86*100+")";
}else{
if(h.moz){
node.style.opacity=_c86;
node.style.MozOpacity=_c86;
}else{
if(h.safari){
node.style.opacity=_c86;
node.style.KhtmlOpacity=_c86;
}else{
node.style.opacity=_c86;
}
}
}
};
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 _c93=0;
while(node){
if(dojo.html.getComputedStyle2(node,"position","position")=="fixed"){
return 0;
}
var val=node[prop];
if(val){
_c93+=val-0;
if(node==dojo.body()){
break;
}
}
node=node.parentNode;
}
return _c93;
};
dojo.html.setStyleAttributes=function(node,_c96){
node=dojo.byId(node);
var _c97=_c96.replace(/(;)?\s*$/,"").split(";");
for(var i=0;i<_c97.length;i++){
var _c99=_c97[i].split(":");
var name=_c99[0].replace(/\s*$/,"").replace(/^\s*/,"").toLowerCase();
var _c9b=_c99[1].replace(/\s*$/,"").replace(/^\s*/,"");
switch(name){
case "opacity":
dojo.html.setOpacity(node,_c9b);
break;
case "content-height":
dojo.html.setContentBox(node,{height:_c9b});
break;
case "content-width":
dojo.html.setContentBox(node,{width:_c9b});
break;
case "outer-height":
dojo.html.setMarginBox(node,{height:_c9b});
break;
case "outer-width":
dojo.html.setMarginBox(node,{width:_c9b});
break;
default:
node.style[dojo.html.toCamelCase(name)]=_c9b;
}
}
};
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,_c9d,_c9e){
node=dojo.byId(node,node.ownerDocument);
var ret={x:0,y:0};
var bs=dojo.html.boxSizing;
if(!_c9e){
_c9e=bs.CONTENT_BOX;
}
var _ca1=2;
var _ca2;
switch(_c9e){
case bs.MARGIN_BOX:
_ca2=3;
break;
case bs.BORDER_BOX:
_ca2=2;
break;
case bs.PADDING_BOX:
default:
_ca2=1;
break;
case bs.CONTENT_BOX:
_ca2=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){
_ca1=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 _ca6;
if((h.safari)&&(node.style.getPropertyValue("position")=="absolute")&&(node.parentNode==db)){
_ca6=db;
}else{
_ca6=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 _ca8=node;
do{
var n=_ca8["offsetLeft"];
if(!h.opera||n>0){
ret.x+=isNaN(n)?0:n;
}
var m=_ca8["offsetTop"];
ret.y+=isNaN(m)?0:m;
_ca8=_ca8.offsetParent;
}while((_ca8!=_ca6)&&(_ca8!=null));
}else{
if(node["x"]&&node["y"]){
ret.x+=isNaN(node.x)?0:node.x;
ret.y+=isNaN(node.y)?0:node.y;
}
}
}
}
if(_c9d){
var _cab=dojo.html.getScroll();
ret.y+=_cab.top;
ret.x+=_cab.left;
}
var _cac=[dojo.html.getPaddingExtent,dojo.html.getBorderExtent,dojo.html.getMarginExtent];
if(_ca1>_ca2){
for(var i=_ca2;i<_ca1;++i){
ret.y+=_cac[i](node,"top");
ret.x+=_cac[i](node,"left");
}
}else{
if(_ca1<_ca2){
for(var i=_ca2;i>_ca1;--i){
ret.y-=_cac[i-1](node,"top");
ret.x-=_cac[i-1](node,"left");
}
}
}
ret.top=ret.y;
ret.left=ret.x;
return ret;
};
dojo.html.isPositionAbsolute=function(node){
return (dojo.html.getComputedStyle2(node,"position","position")=="absolute");
};
dojo.html._sumPixelValues=function(node,_cb0,_cb1){
var _cb2=0;
for(var x=0;x<_cb0.length;x++){
_cb2+=dojo.html.getPixelValue(node,_cb0[x],_cb1);
}
return _cb2;
};
dojo.html.getMargin=function(node){
var _cb5=(dojo.html.getComputedStyle2(node,"position","position")=="absolute");
return {width:dojo.html._sumPixelValues2(node,["margin-left","margin-right"],_cb5,["marginLeft","marginRight"]),height:dojo.html._sumPixelValues2(node,["margin-top","margin-bottom"],_cb5,["marginTop","marginBottom"])};
};
dojo.html.getBorder=function(node){
return {width:dojo.html.getBorderExtent2(node,["border-left-style","border-left-width"],["borderLeftStyle","borderLeftWidth"])+dojo.html.getBorderExtent2(node,["border-right-style","border-right-width"],["borderRightStyle","borderRightWidth"]),height:dojo.html.getBorderExtent2(node,["border-top-style","border-top-width"],["borderTopStyle","borderTopWidth"])+dojo.html.getBorderExtent2(node,["border-bottom-style","border-bottom-width"],["borderBottomStyle","borderBottomWidth"])};
};
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._sumPixelValues2=function(node,_cbe,_cbf,_cc0){
var _cc1=0;
for(var x=0;x<_cbe.length;x++){
_cc1+=dojo.html.getPixelValue2(node,_cbe[x],_cbf,_cc0[x]);
}
return _cc1;
};
dojo.html.getBorderExtent2=function(node,_cc4,_cc5){
return (dojo.html.getStyle2(node,_cc4[0],_cc5[0])=="none"?0:dojo.html.getPixelValue2(node,_cc4[1],true,_cc5[1]));
};
dojo.html.getPadding=function(node){
return {width:dojo.html._sumPixelValues2(node,["padding-left","padding-right"],true,["paddingLeft","paddingRight"]),height:dojo.html._sumPixelValues2(node,["padding-top","padding-bottom"],true,["paddingTop","paddingBottom"])};
};
dojo.html.getPadBorder=function(node){
var pad=dojo.html.getPadding(node);
var _cc9=dojo.html.getBorder(node);
return {width:pad.width+_cc9.width,height:pad.height+_cc9.height};
};
dojo.html.getBoxSizing=function(node){
var h=dojo.render.html;
var bs=dojo.html.boxSizing;
if(((h.ie)||(h.opera))&&node.nodeName!="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 _cce=dojo.html.getStyle(node,"-moz-box-sizing");
if(!_cce){
_cce=dojo.html.getStyle(node,"box-sizing");
}
return (_cce?_cce: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 _cd3=dojo.html.getBorder(node);
return {width:box.width-_cd3.width,height:box.height-_cd3.height};
};
dojo.html.getContentBox=function(node){
node=dojo.byId(node);
var _cd5=dojo.html.getPadBorder(node);
return {width:node.offsetWidth-_cd5.width,height:node.offsetHeight-_cd5.height};
};
dojo.html.setContentBox=function(node,args){
node=dojo.byId(node);
var _cd8=0;
var _cd9=0;
var isbb=dojo.html.isBorderBox(node);
var _cdb=(isbb?dojo.html.getPadBorder(node):{width:0,height:0});
var ret={};
if(typeof args.width!="undefined"){
_cd8=args.width+_cdb.width;
ret.width=dojo.html.setPositivePixelValue(node,"width",_cd8);
}
if(typeof args.height!="undefined"){
_cd9=args.height+_cdb.height;
ret.height=dojo.html.setPositivePixelValue(node,"height",_cd9);
}
return ret;
};
dojo.html.getMarginBox=function(node){
var _cde=dojo.html.getBorderBox(node);
var _cdf=dojo.html.getMargin(node);
return {width:_cde.width+_cdf.width,height:_cde.height+_cdf.height};
};
dojo.html.setMarginBox=function(node,args){
node=dojo.byId(node);
var _ce2=0;
var _ce3=0;
var isbb=dojo.html.isBorderBox(node);
var _ce5=(!isbb?dojo.html.getPadBorder(node):{width:0,height:0});
var _ce6=dojo.html.getMargin(node);
var ret={};
if(typeof args.width!="undefined"){
_ce2=args.width-_ce5.width;
_ce2-=_ce6.width;
ret.width=dojo.html.setPositivePixelValue(node,"width",_ce2);
}
if(typeof args.height!="undefined"){
_ce3=args.height-_ce5.height;
_ce3-=_ce6.height;
ret.height=dojo.html.setPositivePixelValue(node,"height",_ce3);
}
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(_ceb,_cec,_ced){
if(_ceb instanceof Array||typeof _ceb=="array"){
dojo.deprecated("dojo.html.toCoordinateArray","use dojo.html.toCoordinateObject({left: , top: , width: , height: }) instead","0.5");
while(_ceb.length<4){
_ceb.push(0);
}
while(_ceb.length>4){
_ceb.pop();
}
var ret={left:_ceb[0],top:_ceb[1],width:_ceb[2],height:_ceb[3]};
}else{
if(!_ceb.nodeType&&!(_ceb instanceof String||typeof _ceb=="string")&&("width" in _ceb||"height" in _ceb||"left" in _ceb||"x" in _ceb||"top" in _ceb||"y" in _ceb)){
var ret={left:_ceb.left||_ceb.x||0,top:_ceb.top||_ceb.y||0,width:_ceb.width||0,height:_ceb.height||0};
}else{
var node=dojo.byId(_ceb);
var pos=dojo.html.abs(node,_cec,_ced);
var _cf1=dojo.html.getMarginBox(node);
var ret={left:pos.left,top:pos.top,width:_cf1.width,height:_cf1.height};
}
}
ret.x=ret.left;
ret.y=ret.top;
return ret;
};
dojo.html.setMarginBoxWidth=dojo.html.setOuterWidth=function(node,_cf3){
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,_cf6){
return dojo.html._callDeprecated("getTotalOffset","getAbsolutePosition",arguments,null,type);
};
dojo.html.getAbsoluteX=function(node,_cf8){
return dojo.html._callDeprecated("getAbsoluteX","getAbsolutePosition",arguments,null,"x");
};
dojo.html.getAbsoluteY=function(node,_cfa){
return dojo.html._callDeprecated("getAbsoluteY","getAbsolutePosition",arguments,null,"y");
};
dojo.html.totalOffsetLeft=function(node,_cfc){
return dojo.html._callDeprecated("totalOffsetLeft","getAbsolutePosition",arguments,null,"left");
};
dojo.html.totalOffsetTop=function(node,_cfe){
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,_d08){
return dojo.html._callDeprecated("setContentBoxWidth","setContentBox",arguments,"width");
};
dojo.html.setContentBoxHeight=dojo.html.setContentHeight=function(node,_d0a){
return dojo.html._callDeprecated("setContentBoxHeight","setContentBox",arguments,"height");
};
dojo.provide("dojo.html.util");
dojo.html.getElementWindow=function(_d0b){
return dojo.html.getDocumentWindow(_d0b.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 _d13=dojo.html.getCursorPosition(e);
with(dojo.html){
var _d14=getAbsolutePosition(node,true);
var bb=getBorderBox(node);
var _d16=_d14.x+(bb.width/2);
var _d17=_d14.y+(bb.height/2);
}
with(dojo.html.gravity){
return ((_d13.x<_d16?WEST:EAST)|(_d13.y<_d17?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(_d18,e){
_d18=dojo.byId(_d18);
var _d1a=dojo.html.getCursorPosition(e);
var bb=dojo.html.getBorderBox(_d18);
var _d1c=dojo.html.getAbsolutePosition(_d18,true,dojo.html.boxSizing.BORDER_BOX);
var top=_d1c.y;
var _d1e=top+bb.height;
var left=_d1c.x;
var _d20=left+bb.width;
return (_d1a.x>=left&&_d1a.x<=_d20&&_d1a.y>=top&&_d1a.y<=_d1e);
};
dojo.html.renderedTextContent=function(node){
node=dojo.byId(node);
var _d22="";
if(node==null){
return _d22;
}
for(var i=0;i<node.childNodes.length;i++){
switch(node.childNodes[i].nodeType){
case 1:
case 5:
var _d24="unknown";
try{
_d24=dojo.html.getStyle2(node.childNodes[i],"display","display");
}
catch(E){
}
switch(_d24){
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":
_d22+="\n";
_d22+=dojo.html.renderedTextContent(node.childNodes[i]);
_d22+="\n";
break;
case "none":
break;
default:
if(node.childNodes[i].tagName&&node.childNodes[i].tagName.toLowerCase()=="br"){
_d22+="\n";
}else{
_d22+=dojo.html.renderedTextContent(node.childNodes[i]);
}
break;
}
break;
case 3:
case 2:
case 4:
var text=node.childNodes[i].nodeValue;
var _d26="unknown";
try{
_d26=dojo.html.getStyle(node,"text-transform");
}
catch(E){
}
switch(_d26){
case "capitalize":
var _d27=text.split(" ");
for(var i=0;i<_d27.length;i++){
_d27[i]=_d27[i].charAt(0).toUpperCase()+_d27[i].substring(1);
}
text=_d27.join(" ");
break;
case "uppercase":
text=text.toUpperCase();
break;
case "lowercase":
text=text.toLowerCase();
break;
default:
break;
}
switch(_d26){
case "nowrap":
break;
case "pre-wrap":
break;
case "pre-line":
break;
case "pre":
break;
default:
text=text.replace(/\s+/," ");
if(/\s$/.test(_d22)){
text.replace(/^\s/,"");
}
break;
}
_d22+=text;
break;
default:
break;
}
}
return _d22;
};
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 _d2b="none";
if((/^<t[dh][\s\r\n>]/i).test(txt.replace(/^\s+/))){
txt="<table><tbody><tr>"+txt+"</tr></tbody></table>";
_d2b="cell";
}else{
if((/^<tr[\s\r\n>]/i).test(txt.replace(/^\s+/))){
txt="<table><tbody>"+txt+"</tbody></table>";
_d2b="row";
}else{
if((/^<(thead|tbody|tfoot)[\s\r\n>]/i).test(txt.replace(/^\s+/))){
txt="<table>"+txt+"</table>";
_d2b="section";
}
}
}
tn.innerHTML=txt;
if(tn["normalize"]){
tn.normalize();
}
var _d2c=null;
switch(_d2b){
case "cell":
_d2c=tn.getElementsByTagName("tr")[0];
break;
case "row":
_d2c=tn.getElementsByTagName("tbody")[0];
break;
case "section":
_d2c=tn.getElementsByTagName("table")[0];
break;
default:
_d2c=tn;
break;
}
var _d2d=[];
for(var x=0;x<_d2c.childNodes.length;x++){
_d2d.push(_d2c.childNodes[x].cloneNode(true));
}
tn.style.display="none";
dojo.html.destroyNode(tn);
return _d2d;
};
dojo.html.placeOnScreen=function(node,_d30,_d31,_d32,_d33,_d34,_d35){
node.style.top="-1000px";
if(_d30 instanceof Array||typeof _d30=="array"){
_d35=_d34;
_d34=_d33;
_d33=_d32;
_d32=_d31;
_d31=_d30[1];
_d30=_d30[0];
}
if(_d34 instanceof String||typeof _d34=="string"){
_d34=_d34.split(",");
}
if(!isNaN(_d32)){
_d32=[Number(_d32),Number(_d32)];
}else{
if(!(_d32 instanceof Array||typeof _d32=="array")){
_d32=[0,0];
}
}
var _d36=dojo.html.getScroll().offset;
var view=dojo.html.getViewport();
node=dojo.byId(node);
var _d38=node.style.display;
node.style.display="";
var bb=dojo.html.getBorderBox(node);
var w=bb.width;
var h=bb.height;
node.style.display=_d38;
if(!(_d34 instanceof Array||typeof _d34=="array")){
_d34=["TL"];
}
var _d3c,besty,bestDistance=Infinity,bestCorner;
for(var _d3d=0;_d3d<_d34.length;++_d3d){
var _d3e=_d34[_d3d];
var _d3f=true;
var tryX=_d30-(_d3e.charAt(1)=="L"?0:w)+_d32[0]*(_d3e.charAt(1)=="L"?1:-1);
var tryY=_d31-(_d3e.charAt(0)=="T"?0:h)+_d32[1]*(_d3e.charAt(0)=="T"?1:-1);
if(_d33){
tryX-=_d36.x;
tryY-=_d36.y;
}
if(tryX<0){
tryX=0;
_d3f=false;
}
if(tryY<0){
tryY=0;
_d3f=false;
}
var x=tryX+w;
if(x>view.width){
x=view.width-w;
_d3f=false;
}else{
x=tryX;
}
x=Math.max(_d32[0],x)+_d36.x;
var y=tryY+h;
if(y>view.height){
y=view.height-h;
_d3f=false;
}else{
y=tryY;
}
y=Math.max(_d32[1],y)+_d36.y;
if(_d3f){
_d3c=x;
besty=y;
bestDistance=0;
bestCorner=_d3e;
break;
}else{
var dist=Math.pow(x-tryX-_d36.x,2)+Math.pow(y-tryY-_d36.y,2);
if(bestDistance>dist){
bestDistance=dist;
_d3c=x;
besty=y;
bestCorner=_d3e;
}
}
}
if(!_d35){
node.style.left=_d3c+"px";
node.style.top=besty+"px";
}
return {left:_d3c,top:besty,x:_d3c,y:besty,dist:bestDistance,corner:bestCorner};
};
dojo.html.placeOnScreenPoint=function(node,_d46,_d47,_d48,_d49){
dojo.deprecated("dojo.html.placeOnScreenPoint","use dojo.html.placeOnScreen() instead","0.5");
return dojo.html.placeOnScreen(node,_d46,_d47,_d48,_d49,["TL","TR","BL","BR"]);
};
dojo.html.placeOnScreenAroundElement=function(node,_d4b,_d4c,_d4d,_d4e,_d4f){
var best,bestDistance=Infinity;
_d4b=dojo.byId(_d4b);
var _d51=_d4b.style.display;
_d4b.style.display="";
var mb=dojo.html.getElementBox(_d4b,_d4d);
var _d53=mb.width;
var _d54=mb.height;
var _d55=dojo.html.getAbsolutePosition(_d4b,true,_d4d);
_d4b.style.display=_d51;
for(var _d56 in _d4e){
var pos,desiredX,desiredY;
var _d58=_d4e[_d56];
desiredX=_d55.x+(_d56.charAt(1)=="L"?0:_d53);
desiredY=_d55.y+(_d56.charAt(0)=="T"?0:_d54);
pos=dojo.html.placeOnScreen(node,desiredX,desiredY,_d4c,true,_d58,true);
if(pos.dist==0){
best=pos;
break;
}else{
if(bestDistance>pos.dist){
bestDistance=pos.dist;
best=pos;
}
}
}
if(!_d4f){
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 _d5a=node.parentNode;
var _d5b=_d5a.scrollTop+dojo.html.getBorderBox(_d5a).height;
var _d5c=node.offsetTop+dojo.html.getMarginBox(node).height;
if(_d5b<_d5c){
_d5a.scrollTop+=(_d5c-_d5b);
}else{
if(_d5a.scrollTop>node.offsetTop){
_d5a.scrollTop-=(_d5a.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(_d63){
if(_d63){
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(_d64,_d65){
var rgb=null;
if(dojo.lang.isArray(_d64)){
rgb=_d64;
}else{
if(_d64 instanceof dojo.gfx.color.Color){
rgb=_d64.toRgb();
}else{
rgb=new dojo.gfx.color.Color(_d64).toRgb();
}
}
return dojo.gfx.color.blend(this.toRgb(),rgb,_d65);
}});
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,_d69){
if(typeof a=="string"){
return dojo.gfx.color.blendHex(a,b,_d69);
}
if(!_d69){
_d69=0;
}
_d69=Math.min(Math.max(-1,_d69),1);
_d69=((_d69+1)/2);
var c=[];
for(var x=0;x<3;x++){
c[x]=parseInt(b[x]+((a[x]-b[x])*_d69));
}
return c;
};
dojo.gfx.color.blendHex=function(a,b,_d6e){
return dojo.gfx.color.rgb2hex(dojo.gfx.color.blend(dojo.gfx.color.hex2rgb(a),dojo.gfx.color.hex2rgb(b),_d6e));
};
dojo.gfx.color.extractRGB=function(_d6f){
var hex="0123456789abcdef";
_d6f=_d6f.toLowerCase();
if(_d6f.indexOf("rgb")==0){
var _d71=_d6f.match(/rgba*\((\d+), *(\d+), *(\d+)/i);
var ret=_d71.splice(1,3);
return ret;
}else{
var _d73=dojo.gfx.color.hex2rgb(_d6f);
if(_d73){
return _d73;
}else{
return dojo.gfx.color.named[_d6f]||[255,255,255];
}
}
};
dojo.gfx.color.hex2rgb=function(hex){
var _d75="0123456789ABCDEF";
var rgb=new Array(3);
if(hex.indexOf("#")==0){
hex=hex.substring(1);
}
hex=hex.toUpperCase();
if(hex.replace(new RegExp("["+_d75+"]","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]=_d75.indexOf(rgb[i].charAt(0))*16+_d75.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.lfx.Animation");
dojo.lfx.Line=function(_d7e,end){
this.start=_d7e;
this.end=end;
if(dojo.lang.isArray(_d7e)){
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-_d7e;
this.getValue=function(n){
return (diff*n)+this.start;
};
}
};
dojo.lfx.easeDefault=function(n){
if(dojo.render.html.khtml){
return (parseFloat("0.5")+((Math.sin((n+parseFloat("1.5"))*Math.PI))/2));
}else{
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:25,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,_d8d,_d8e){
if(!_d8e){
_d8e=_d8d;
_d8d=this;
}
_d8e=dojo.lang.hitch(_d8d,_d8e);
var _d8f=this[evt]||function(){
};
this[evt]=function(){
var ret=_d8f.apply(this,arguments);
_d8e.apply(this,arguments);
return ret;
};
return this;
},fire:function(evt,args){
if(this[evt]){
this[evt].apply(this,(args||[]));
}
return this;
},repeat:function(_d93){
this.repeatCount=_d93;
return this;
},_active:false,_paused:false});
dojo.lfx.Animation=function(_d94,_d95,_d96,_d97,_d98,rate){
dojo.lfx.IAnimation.call(this);
if(dojo.lang.isNumber(_d94)||(!_d94&&_d95.getValue)){
rate=_d98;
_d98=_d97;
_d97=_d96;
_d96=_d95;
_d95=_d94;
_d94=null;
}else{
if(_d94.getValue||dojo.lang.isArray(_d94)){
rate=_d97;
_d98=_d96;
_d97=_d95;
_d96=_d94;
_d95=null;
_d94=null;
}
}
if(dojo.lang.isArray(_d96)){
this.curve=new dojo.lfx.Line(_d96[0],_d96[1]);
}else{
this.curve=_d96;
}
if(_d95!=null&&_d95>0){
this.duration=_d95;
}
if(_d98){
this.repeatCount=_d98;
}
if(rate){
this.rate=rate;
}
if(_d94){
dojo.lang.forEach(["handler","beforeBegin","onBegin","onEnd","onPlay","onStop","onAnimate"],function(item){
if(_d94[item]){
this.connect(item,_d94[item]);
}
},this);
}
if(_d97&&dojo.lang.isFunction(_d97)){
this.easing=_d97;
}
};
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(_d9b,_d9c){
if(_d9c){
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(_d9b>0){
setTimeout(dojo.lang.hitch(this,function(){
this.play(null,_d9c);
}),_d9b);
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 _d9e=this.curve.getValue(step);
if(this._percent==0){
if(!this._startRepeatCount){
this._startRepeatCount=this.repeatCount;
}
this.fire("handler",["begin",_d9e]);
this.fire("onBegin",[_d9e]);
}
this.fire("handler",["play",_d9e]);
this.fire("onPlay",[_d9e]);
this._cycle();
return this;
},pause:function(){
clearTimeout(this._timer);
if(!this._active){
return this;
}
this._paused=true;
var _d9f=this.curve.getValue(this._percent/100);
this.fire("handler",["pause",_d9f]);
this.fire("onPause",[_d9f]);
return this;
},gotoPercent:function(pct,_da1){
clearTimeout(this._timer);
this._active=true;
this._paused=true;
this._percent=pct;
if(_da1){
this.play();
}
return this;
},stop:function(_da2){
clearTimeout(this._timer);
var step=this._percent/100;
if(_da2){
step=1;
}
var _da4=this.curve.getValue(step);
this.fire("handler",["stop",_da4]);
this.fire("onStop",[_da4]);
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 _da7=this.curve.getValue(step);
this.fire("handler",["animate",_da7]);
this.fire("onAnimate",[_da7]);
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(_da8){
dojo.lfx.IAnimation.call(this);
this._anims=[];
this._animsEnded=0;
var _da9=arguments;
if(_da9.length==1&&(dojo.lang.isArray(_da9[0])||dojo.lang.isArrayLike(_da9[0]))){
_da9=_da9[0];
}
dojo.lang.forEach(_da9,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(_dab,_dac){
if(!this._anims.length){
return this;
}
this.fire("beforeBegin");
if(_dab>0){
setTimeout(dojo.lang.hitch(this,function(){
this.play(null,_dac);
}),_dab);
return this;
}
if(_dac||this._anims[0].percent==0){
this.fire("onBegin");
}
this.fire("onPlay");
this._animsCall("play",null,_dac);
return this;
},pause:function(){
this.fire("onPause");
this._animsCall("pause");
return this;
},stop:function(_dad){
this.fire("onStop");
this._animsCall("stop",_dad);
return this;
},_onAnimsEnded:function(){
this._animsEnded++;
if(this._animsEnded>=this._anims.length){
this.fire("onEnd");
}
return this;
},_animsCall:function(_dae){
var args=[];
if(arguments.length>1){
for(var i=1;i<arguments.length;i++){
args.push(arguments[i]);
}
}
var _db1=this;
dojo.lang.forEach(this._anims,function(anim){
anim[_dae](args);
},_db1);
return this;
}});
dojo.lfx.Chain=function(_db3){
dojo.lfx.IAnimation.call(this);
this._anims=[];
this._currAnim=-1;
var _db4=arguments;
if(_db4.length==1&&(dojo.lang.isArray(_db4[0])||dojo.lang.isArrayLike(_db4[0]))){
_db4=_db4[0];
}
var _db5=this;
dojo.lang.forEach(_db4,function(anim,i,_db8){
this._anims.push(anim);
if(i<_db8.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(_db9,_dba){
if(!this._anims.length){
return this;
}
if(_dba||!this._anims[this._currAnim]){
this._currAnim=0;
}
var _dbb=this._anims[this._currAnim];
this.fire("beforeBegin");
if(_db9>0){
setTimeout(dojo.lang.hitch(this,function(){
this.play(null,_dba);
}),_db9);
return this;
}
if(_dbb){
if(this._currAnim==0){
this.fire("handler",["begin",this._currAnim]);
this.fire("onBegin",[this._currAnim]);
}
this.fire("onPlay",[this._currAnim]);
_dbb.play(null,_dba);
}
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 _dbc=this._anims[this._currAnim];
if(_dbc){
if(!_dbc._active||_dbc._paused){
this.play();
}else{
this.pause();
}
}
return this;
},stop:function(){
var _dbd=this._anims[this._currAnim];
if(_dbd){
_dbd.stop();
this.fire("onStop",[this._currAnim]);
}
return _dbd;
},_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(_dbe){
var _dbf=arguments;
if(dojo.lang.isArray(arguments[0])){
_dbf=arguments[0];
}
if(_dbf.length==1){
return _dbf[0];
}
return new dojo.lfx.Combine(_dbf);
};
dojo.lfx.chain=function(_dc0){
var _dc1=arguments;
if(dojo.lang.isArray(arguments[0])){
_dc1=arguments[0];
}
if(_dc1.length==1){
return _dc1[0];
}
return new dojo.lfx.Chain(_dc1);
};
dojo.provide("dojo.html.color");
dojo.html.getBackgroundColor=function(node){
node=dojo.byId(node);
var _dc3;
do{
_dc3=dojo.html.getStyle2(node,"background-color","backgroundColor");
if(_dc3.toLowerCase()=="rgba(0, 0, 0, 0)"){
_dc3="transparent";
}
if(node==document.getElementsByTagName("body")[0]){
node=null;
break;
}
node=node.parentNode;
}while(node&&dojo.lang.inArray(["transparent",""],_dc3));
if(_dc3=="transparent"){
_dc3=[255,255,255,0];
}else{
_dc3=dojo.gfx.color.extractRGB(_dc3);
}
return _dc3;
};
dojo.provide("dojo.lfx.html");
dojo.lfx.html._byId=function(_dc4){
if(!_dc4){
return [];
}
if(dojo.lang.isArrayLike(_dc4)){
if(!_dc4.alreadyChecked){
var n=[];
dojo.lang.forEach(_dc4,function(node){
n.push(dojo.byId(node));
});
n.alreadyChecked=true;
return n;
}else{
return _dc4;
}
}else{
var n=[];
n.push(dojo.byId(_dc4));
n.alreadyChecked=true;
return n;
}
};
dojo.lfx.html.propertyAnimation=function(_dc7,_dc8,_dc9,_dca,_dcb){
_dc7=dojo.lfx.html._byId(_dc7);
var _dcc={"propertyMap":_dc8,"nodes":_dc7,"duration":_dc9,"easing":_dca||dojo.lfx.easeDefault};
var _dcd=function(args){
if(args.nodes.length==1){
var pm=args.propertyMap;
if(!dojo.lang.isArray(args.propertyMap)){
var parr=[];
for(var _dd1 in pm){
pm[_dd1].property=_dd1;
parr.push(pm[_dd1]);
}
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 _dd3=function(_dd4){
var _dd5=[];
dojo.lang.forEach(_dd4,function(c){
_dd5.push(Math.round(c));
});
return _dd5;
};
var _dd7=function(n,_dd9){
n=dojo.byId(n);
if(!n||!n.style){
return;
}
for(var s in _dd9){
try{
if(s=="opacity"){
dojo.html.setOpacity(n,_dd9[s]);
}else{
n.style[s]=_dd9[s];
}
}
catch(e){
dojo.debug(e);
}
}
};
var _ddb=function(_ddc){
this._properties=_ddc;
this.diffs=new Array(_ddc.length);
dojo.lang.forEach(_ddc,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 _de3=null;
if(dojo.lang.isArray(prop.start)){
}else{
if(prop.start instanceof dojo.gfx.color.Color){
_de3=(prop.units||"rgb")+"(";
for(var j=0;j<prop.startRgb.length;j++){
_de3+=Math.round(((prop.endRgb[j]-prop.startRgb[j])*n)+prop.startRgb[j])+(j<prop.startRgb.length-1?",":"");
}
_de3+=")";
}else{
_de3=((this.diffs[i])*n)+prop.start+(prop.property!="opacity"?prop.units||"px":"");
}
}
ret[dojo.html.toCamelCase(prop.property)]=_de3;
},this);
return ret;
};
};
var anim=new dojo.lfx.Animation({beforeBegin:function(){
_dcd(_dcc);
anim.curve=new _ddb(_dcc.propertyMap);
},onAnimate:function(_de6){
dojo.lang.forEach(_dcc.nodes,function(node){
_dd7(node,_de6);
});
}},_dcc.duration,null,_dcc.easing);
if(_dcb){
for(var x in _dcb){
if(dojo.lang.isFunction(_dcb[x])){
anim.connect(x,anim,_dcb[x]);
}
}
}
return anim;
};
dojo.lfx.html._makeFadeable=function(_de9){
var _dea=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(_de9)){
dojo.lang.forEach(_de9,_dea);
}else{
_dea(_de9);
}
};
dojo.lfx.html.fade=function(_dec,_ded,_dee,_def,_df0){
_dec=dojo.lfx.html._byId(_dec);
var _df1={property:"opacity"};
if(!dj_undef("start",_ded)){
_df1.start=_ded.start;
}else{
_df1.start=function(){
return dojo.html.getOpacity(_dec[0]);
};
}
if(!dj_undef("end",_ded)){
_df1.end=_ded.end;
}else{
dojo.raise("dojo.lfx.html.fade needs an end value");
}
var anim=dojo.lfx.propertyAnimation(_dec,[_df1],_dee,_def);
anim.connect("beforeBegin",function(){
dojo.lfx.html._makeFadeable(_dec);
});
if(_df0){
anim.connect("onEnd",function(){
_df0(_dec,anim);
});
}
return anim;
};
dojo.lfx.html.fadeIn=function(_df3,_df4,_df5,_df6){
return dojo.lfx.html.fade(_df3,{end:1},_df4,_df5,_df6);
};
dojo.lfx.html.fadeOut=function(_df7,_df8,_df9,_dfa){
return dojo.lfx.html.fade(_df7,{end:0},_df8,_df9,_dfa);
};
dojo.lfx.html.fadeShow=function(_dfb,_dfc,_dfd,_dfe){
_dfb=dojo.lfx.html._byId(_dfb);
dojo.lang.forEach(_dfb,function(node){
dojo.html.setOpacity(node,0);
});
var anim=dojo.lfx.html.fadeIn(_dfb,_dfc,_dfd,_dfe);
anim.connect("beforeBegin",function(){
if(dojo.lang.isArrayLike(_dfb)){
dojo.lang.forEach(_dfb,dojo.html.show);
}else{
dojo.html.show(_dfb);
}
});
return anim;
};
dojo.lfx.html.fadeHide=function(_e01,_e02,_e03,_e04){
var anim=dojo.lfx.html.fadeOut(_e01,_e02,_e03,function(){
if(dojo.lang.isArrayLike(_e01)){
dojo.lang.forEach(_e01,dojo.html.hide);
}else{
dojo.html.hide(_e01);
}
if(_e04){
_e04(_e01,anim);
}
});
return anim;
};
dojo.lfx.html.wipeIn=function(_e06,_e07,_e08,_e09){
_e06=dojo.lfx.html._byId(_e06);
var _e0a=[];
dojo.lang.forEach(_e06,function(node){
var _e0c={};
var _e0d,origLeft,origPosition;
with(node.style){
_e0d=top;
origLeft=left;
origPosition=position;
top="-9999px";
left="-9999px";
position="absolute";
display="";
}
var _e0e=dojo.html.getBorderBox(node).height;
with(node.style){
top=_e0d;
left=origLeft;
position=origPosition;
display="none";
}
var anim=dojo.lfx.propertyAnimation(node,{"height":{start:1,end:function(){
return _e0e;
}}},_e07,_e08);
anim.connect("beforeBegin",function(){
_e0c.overflow=node.style.overflow;
_e0c.height=node.style.height;
with(node.style){
overflow="hidden";
_e0e="1px";
}
dojo.html.show(node);
});
anim.connect("onEnd",function(){
with(node.style){
overflow=_e0c.overflow;
_e0e=_e0c.height;
}
if(_e09){
_e09(node,anim);
}
});
_e0a.push(anim);
});
return dojo.lfx.combine(_e0a);
};
dojo.lfx.html.wipeOut=function(_e10,_e11,_e12,_e13){
_e10=dojo.lfx.html._byId(_e10);
var _e14=[];
dojo.lang.forEach(_e10,function(node){
var _e16={};
var anim=dojo.lfx.propertyAnimation(node,{"height":{start:function(){
return dojo.html.getContentBox(node).height;
},end:1}},_e11,_e12,{"beforeBegin":function(){
_e16.overflow=node.style.overflow;
_e16.height=node.style.height;
with(node.style){
overflow="hidden";
}
dojo.html.show(node);
},"onEnd":function(){
dojo.html.hide(node);
with(node.style){
overflow=_e16.overflow;
height=_e16.height;
}
if(_e13){
_e13(node,anim);
}
}});
_e14.push(anim);
});
return dojo.lfx.combine(_e14);
};
dojo.lfx.html.slideTo=function(_e18,_e19,_e1a,_e1b,_e1c){
_e18=dojo.lfx.html._byId(_e18);
var _e1d=[];
var _e1e=dojo.html.getComputedStyle;
if(dojo.lang.isArray(_e19)){
dojo.deprecated("dojo.lfx.html.slideTo(node, array)","use dojo.lfx.html.slideTo(node, {top: value, left: value});","0.5");
_e19={top:_e19[0],left:_e19[1]};
}
dojo.lang.forEach(_e18,function(node){
var top=null;
var left=null;
var init=(function(){
var _e23=node;
return function(){
var pos=_e1e(_e23,"position");
top=(pos=="absolute"?node.offsetTop:parseInt(_e1e(node,"top"))||0);
left=(pos=="absolute"?node.offsetLeft:parseInt(_e1e(node,"left"))||0);
if(!dojo.lang.inArray(["absolute","relative"],pos)){
var ret=dojo.html.abs(_e23,true);
dojo.html.setStyleAttributes(_e23,"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:(_e19.top||0)},"left":{start:left,end:(_e19.left||0)}},_e1a,_e1b,{"beforeBegin":init});
if(_e1c){
anim.connect("onEnd",function(){
_e1c(_e18,anim);
});
}
_e1d.push(anim);
});
return dojo.lfx.combine(_e1d);
};
dojo.lfx.html.slideBy=function(_e27,_e28,_e29,_e2a,_e2b){
_e27=dojo.lfx.html._byId(_e27);
var _e2c=[];
var _e2d=dojo.html.getComputedStyle;
if(dojo.lang.isArray(_e28)){
dojo.deprecated("dojo.lfx.html.slideBy(node, array)","use dojo.lfx.html.slideBy(node, {top: value, left: value});","0.5");
_e28={top:_e28[0],left:_e28[1]};
}
dojo.lang.forEach(_e27,function(node){
var top=null;
var left=null;
var init=(function(){
var _e32=node;
return function(){
var pos=_e2d(_e32,"position");
top=(pos=="absolute"?node.offsetTop:parseInt(_e2d(node,"top"))||0);
left=(pos=="absolute"?node.offsetLeft:parseInt(_e2d(node,"left"))||0);
if(!dojo.lang.inArray(["absolute","relative"],pos)){
var ret=dojo.html.abs(_e32,true);
dojo.html.setStyleAttributes(_e32,"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+(_e28.top||0)},"left":{start:left,end:left+(_e28.left||0)}},_e29,_e2a).connect("beforeBegin",init);
if(_e2b){
anim.connect("onEnd",function(){
_e2b(_e27,anim);
});
}
_e2c.push(anim);
});
return dojo.lfx.combine(_e2c);
};
dojo.lfx.html.explode=function(_e36,_e37,_e38,_e39,_e3a){
var h=dojo.html;
_e36=dojo.byId(_e36);
_e37=dojo.byId(_e37);
var _e3c=h.toCoordinateObject(_e36,true);
var _e3d=document.createElement("div");
h.copyStyle(_e3d,_e37);
if(_e37.explodeClassName){
_e3d.className=_e37.explodeClassName;
}
with(_e3d.style){
position="absolute";
display="none";
var _e3e=h.getStyle(_e36,"background-color");
backgroundColor=_e3e?_e3e.toLowerCase():"transparent";
backgroundColor=(backgroundColor=="transparent")?"rgb(221, 221, 221)":backgroundColor;
}
dojo.body().appendChild(_e3d);
with(_e37.style){
visibility="hidden";
display="block";
}
var _e3f=h.toCoordinateObject(_e37,true);
with(_e37.style){
display="none";
visibility="visible";
}
var _e40={opacity:{start:0.5,end:1}};
dojo.lang.forEach(["height","width","top","left"],function(type){
_e40[type]={start:_e3c[type],end:_e3f[type]};
});
var anim=new dojo.lfx.propertyAnimation(_e3d,_e40,_e38,_e39,{"beforeBegin":function(){
h.setDisplay(_e3d,"block");
},"onEnd":function(){
h.setDisplay(_e37,"block");
_e3d.parentNode.removeChild(_e3d);
}});
if(_e3a){
anim.connect("onEnd",function(){
_e3a(_e37,anim);
});
}
return anim;
};
dojo.lfx.html.implode=function(_e43,end,_e45,_e46,_e47){
var h=dojo.html;
_e43=dojo.byId(_e43);
end=dojo.byId(end);
var _e49=dojo.html.toCoordinateObject(_e43,true);
var _e4a=dojo.html.toCoordinateObject(end,true);
var _e4b=document.createElement("div");
dojo.html.copyStyle(_e4b,_e43);
if(_e43.explodeClassName){
_e4b.className=_e43.explodeClassName;
}
dojo.html.setOpacity(_e4b,0.3);
with(_e4b.style){
position="absolute";
display="none";
backgroundColor=h.getStyle(_e43,"background-color").toLowerCase();
}
dojo.body().appendChild(_e4b);
var _e4c={opacity:{start:1,end:0.5}};
dojo.lang.forEach(["height","width","top","left"],function(type){
_e4c[type]={start:_e49[type],end:_e4a[type]};
});
var anim=new dojo.lfx.propertyAnimation(_e4b,_e4c,_e45,_e46,{"beforeBegin":function(){
dojo.html.hide(_e43);
dojo.html.show(_e4b);
},"onEnd":function(){
_e4b.parentNode.removeChild(_e4b);
}});
if(_e47){
anim.connect("onEnd",function(){
_e47(_e43,anim);
});
}
return anim;
};
dojo.lfx.html.highlight=function(_e4f,_e50,_e51,_e52,_e53){
_e4f=dojo.lfx.html._byId(_e4f);
var _e54=[];
dojo.lang.forEach(_e4f,function(node){
var _e56=dojo.html.getBackgroundColor(node);
var bg=dojo.html.getStyle(node,"background-color").toLowerCase();
var _e58=dojo.html.getStyle(node,"background-image");
var _e59=(bg=="transparent"||bg=="rgba(0, 0, 0, 0)");
while(_e56.length>3){
_e56.pop();
}
var rgb=new dojo.gfx.color.Color(_e50);
var _e5b=new dojo.gfx.color.Color(_e56);
var anim=dojo.lfx.propertyAnimation(node,{"background-color":{start:rgb,end:_e5b}},_e51,_e52,{"beforeBegin":function(){
if(_e58){
node.style.backgroundImage="none";
}
node.style.backgroundColor="rgb("+rgb.toRgb().join(",")+")";
},"onEnd":function(){
if(_e58){
node.style.backgroundImage=_e58;
}
if(_e59){
node.style.backgroundColor="transparent";
}
if(_e53){
_e53(node,anim);
}
}});
_e54.push(anim);
});
return dojo.lfx.combine(_e54);
};
dojo.lfx.html.unhighlight=function(_e5d,_e5e,_e5f,_e60,_e61){
_e5d=dojo.lfx.html._byId(_e5d);
var _e62=[];
dojo.lang.forEach(_e5d,function(node){
var _e64=new dojo.gfx.color.Color(dojo.html.getBackgroundColor(node));
var rgb=new dojo.gfx.color.Color(_e5e);
var _e66=dojo.html.getStyle(node,"background-image");
var anim=dojo.lfx.propertyAnimation(node,{"background-color":{start:_e64,end:rgb}},_e5f,_e60,{"beforeBegin":function(){
if(_e66){
node.style.backgroundImage="none";
}
node.style.backgroundColor="rgb("+_e64.toRgb().join(",")+")";
},"onEnd":function(){
if(_e61){
_e61(node,anim);
}
}});
_e62.push(anim);
});
return dojo.lfx.combine(_e62);
};
dojo.lang.mixin(dojo.lfx,dojo.lfx.html);
dojo.provide("dojo.lfx.*");
dojo.provide("dojo.lfx.toggle");
dojo.lfx.toggle.plain={show:function(node,_e69,_e6a,_e6b){
dojo.html.show(node);
if(dojo.lang.isFunction(_e6b)){
_e6b();
}
},hide:function(node,_e6d,_e6e,_e6f){
dojo.html.hide(node);
if(dojo.lang.isFunction(_e6f)){
_e6f();
}
}};
dojo.lfx.toggle.fade={show:function(node,_e71,_e72,_e73){
dojo.lfx.fadeShow(node,_e71,_e72,_e73).play();
},hide:function(node,_e75,_e76,_e77){
dojo.lfx.fadeHide(node,_e75,_e76,_e77).play();
}};
dojo.lfx.toggle.wipe={show:function(node,_e79,_e7a,_e7b){
dojo.lfx.wipeIn(node,_e79,_e7a,_e7b).play();
},hide:function(node,_e7d,_e7e,_e7f){
dojo.lfx.wipeOut(node,_e7d,_e7e,_e7f).play();
}};
dojo.lfx.toggle.explode={show:function(node,_e81,_e82,_e83,_e84){
dojo.lfx.explode(_e84||{x:0,y:0,width:0,height:0},node,_e81,_e82,_e83).play();
},hide:function(node,_e86,_e87,_e88,_e89){
dojo.lfx.implode(node,_e89||{x:0,y:0,width:0,height:0},_e86,_e87,_e88).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(_e90){
try{
if(this.bgIframe){
this.bgIframe.remove();
delete this.bgIframe;
}
if(!_e90&&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 _e94=w||wh.width;
var _e95=h||wh.height;
if(this.width==_e94&&this.height==_e95){
return false;
}
this.width=_e94;
this.height=_e95;
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(_e98){
if(_e98.checkSize){
_e98.checkSize();
}
});
}});
dojo.provide("dojo.widget.*");
dojo.provide("dojo.string");
dojo.provide("dojo.io.common");
dojo.io.transports=[];
dojo.io.hdlrFuncNames=["load","error","timeout"];
dojo.io.Request=function(url,_e9a,_e9b,_e9c){
if((arguments.length==1)&&(arguments[0].constructor==Object)){
this.fromKwArgs(arguments[0]);
}else{
this.url=url;
if(_e9a){
this.mimetype=_e9a;
}
if(_e9b){
this.transport=_e9b;
}
if(arguments.length>=4){
this.changeUrl=_e9c;
}
}
};
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,_e9f,_ea0){
},error:function(type,_ea2,_ea3,_ea4){
},timeout:function(type,_ea6,_ea7,_ea8){
},handle:function(type,data,_eab,_eac){
},timeoutSeconds:0,abort:function(){
},fromKwArgs:function(_ead){
if(_ead["url"]){
_ead.url=_ead.url.toString();
}
if(_ead["formNode"]){
_ead.formNode=dojo.byId(_ead.formNode);
}
if(!_ead["method"]&&_ead["formNode"]&&_ead["formNode"].method){
_ead.method=_ead["formNode"].method;
}
if(!_ead["handle"]&&_ead["handler"]){
_ead.handle=_ead.handler;
}
if(!_ead["load"]&&_ead["loaded"]){
_ead.load=_ead.loaded;
}
if(!_ead["changeUrl"]&&_ead["changeURL"]){
_ead.changeUrl=_ead.changeURL;
}
_ead.encoding=dojo.lang.firstValued(_ead["encoding"],djConfig["bindEncoding"],"");
_ead.sendTransport=dojo.lang.firstValued(_ead["sendTransport"],djConfig["ioSendTransport"],false);
var _eae=dojo.lang.isFunction;
for(var x=0;x<dojo.io.hdlrFuncNames.length;x++){
var fn=dojo.io.hdlrFuncNames[x];
if(_ead[fn]&&_eae(_ead[fn])){
continue;
}
if(_ead["handle"]&&_eae(_ead["handle"])){
_ead[fn]=_ead.handle;
}
}
dojo.lang.mixin(this,_ead);
}});
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(_eb5){
if(!(_eb5 instanceof dojo.io.Request)){
try{
_eb5=new dojo.io.Request(_eb5);
}
catch(e){
dojo.debug(e);
}
}
var _eb6="";
if(_eb5["transport"]){
_eb6=_eb5["transport"];
if(!this[_eb6]){
dojo.io.sendBindError(_eb5,"No dojo.io.bind() transport with name '"+_eb5["transport"]+"'.");
return _eb5;
}
if(!this[_eb6].canHandle(_eb5)){
dojo.io.sendBindError(_eb5,"dojo.io.bind() transport with name '"+_eb5["transport"]+"' cannot handle this type of request.");
return _eb5;
}
}else{
for(var x=0;x<dojo.io.transports.length;x++){
var tmp=dojo.io.transports[x];
if((this[tmp])&&(this[tmp].canHandle(_eb5))){
_eb6=tmp;
break;
}
}
if(_eb6==""){
dojo.io.sendBindError(_eb5,"None of the loaded transports for dojo.io.bind()"+" can handle the request.");
return _eb5;
}
}
this[_eb6].bind(_eb5);
_eb5.bindSuccess=true;
return _eb5;
};
dojo.io.sendBindError=function(_eb9,_eba){
if((typeof _eb9.error=="function"||typeof _eb9.handle=="function")&&(typeof setTimeout=="function"||typeof setTimeout=="object")){
var _ebb=new dojo.io.Error(_eba);
setTimeout(function(){
_eb9[(typeof _eb9.error=="function")?"error":"handle"]("error",_ebb,null,_eb9);
},50);
}else{
dojo.raise(_eba);
}
};
dojo.io.queueBind=function(_ebc){
if(!(_ebc instanceof dojo.io.Request)){
try{
_ebc=new dojo.io.Request(_ebc);
}
catch(e){
dojo.debug(e);
}
}
var _ebd=_ebc.load;
_ebc.load=function(){
dojo.io._queueBindInFlight=false;
var ret=_ebd.apply(this,arguments);
dojo.io._dispatchNextQueueBind();
return ret;
};
var _ebf=_ebc.error;
_ebc.error=function(){
dojo.io._queueBindInFlight=false;
var ret=_ebf.apply(this,arguments);
dojo.io._dispatchNextQueueBind();
return ret;
};
dojo.io._bindQueue.push(_ebc);
dojo.io._dispatchNextQueueBind();
return _ebc;
};
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,_ec2,last){
var enc=/utf/i.test(_ec2||"")?encodeURIComponent:dojo.string.encodeAscii;
var _ec5=[];
var _ec6=new Object();
for(var name in map){
var _ec8=function(elt){
var val=enc(name)+"="+enc(elt);
_ec5[(last==name)?"push":"unshift"](val);
};
if(!_ec6[name]){
var _ecb=map[name];
if(dojo.lang.isArray(_ecb)){
dojo.lang.forEach(_ecb,_ec8);
}else{
_ec8(_ecb);
}
}
}
return _ec5.join("&");
};
dojo.io.setIFrameSrc=function(_ecc,src,_ece){
try{
var r=dojo.render.html;
if(!_ece){
if(r.safari){
_ecc.location=src;
}else{
frames[_ecc.name].location=src;
}
}else{
var idoc;
if(r.ie){
idoc=_ecc.contentWindow.document;
}else{
if(r.safari){
idoc=_ecc.document;
}else{
idoc=_ecc.contentWindow;
}
}
if(!idoc){
_ecc.location=src;
return;
}else{
idoc.location.replace(src);
}
}
}
catch(e){
dojo.debug(e);
dojo.debug("setIFrameSrc: "+e);
}
};
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='"+(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){
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 _ed5=args["back"]||args["backButton"]||args["handle"];
var tcb=function(_ed7){
if(window.location.hash!=""){
setTimeout("window.location.href = '"+hash+"';",1);
}
_ed5.apply(this,[_ed7]);
};
if(args["back"]){
args.back=tcb;
}else{
if(args["backButton"]){
args.backButton=tcb;
}else{
if(args["handle"]){
args.handle=tcb;
}
}
}
var _ed8=args["forward"]||args["forwardButton"]||args["handle"];
var tfw=function(_eda){
if(window.location.hash!=""){
window.location.href=hash;
}
if(_ed8){
_ed8.apply(this,[_eda]);
}
};
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,_edd){
if(!dojo.render.html.opera){
var _ede=this._getUrlQuery(_edd.href);
if(_ede==null){
if(this.historyStack.length==1){
this.handleBackButton();
}
return;
}
if(this.moveForward){
this.moveForward=false;
return;
}
if(this.historyStack.length>=2&&_ede==this._getUrlQuery(this.historyStack[this.historyStack.length-2].url)){
this.handleBackButton();
}else{
if(this.forwardStack.length>0&&_ede==this._getUrlQuery(this.forwardStack[this.forwardStack.length-1].url)){
this.handleForwardButton();
}
}
}
},handleBackButton:function(){
var _edf=this.historyStack.pop();
if(!_edf){
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(_edf);
},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 _ee6=url.split("?");
if(_ee6.length<2){
return null;
}else{
return _ee6[1];
}
},_loadIframeHistory:function(){
var url=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 _ee9=false;
var _eea=node.getElementsByTagName("input");
dojo.lang.forEach(_eea,function(_eeb){
if(_ee9){
return;
}
if(_eeb.getAttribute("type")=="file"){
_ee9=true;
}
});
return _ee9;
};
dojo.io.formHasFile=function(_eec){
return dojo.io.checkChildrenForFile(_eec);
};
dojo.io.updateNode=function(node,_eee){
node=dojo.byId(node);
var args=_eee;
if(dojo.lang.isString(_eee)){
args={url:_eee};
}
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(_ef5,_ef6,_ef7){
if((!_ef5)||(!_ef5.tagName)||(!_ef5.tagName.toLowerCase()=="form")){
dojo.raise("Attempted to encode a non-form element.");
}
if(!_ef7){
_ef7=dojo.io.formFilter;
}
var enc=/utf/i.test(_ef6||"")?encodeURIComponent:dojo.string.encodeAscii;
var _ef9=[];
for(var i=0;i<_ef5.elements.length;i++){
var elm=_ef5.elements[i];
if(!elm||elm.tagName.toLowerCase()=="fieldset"||!_ef7(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){
_ef9.push(name+"="+enc(elm.options[j].value));
}
}
}else{
if(dojo.lang.inArray(["radio","checkbox"],type)){
if(elm.checked){
_ef9.push(name+"="+enc(elm.value));
}
}else{
_ef9.push(name+"="+enc(elm.value));
}
}
}
var _eff=_ef5.getElementsByTagName("input");
for(var i=0;i<_eff.length;i++){
var _f00=_eff[i];
if(_f00.type.toLowerCase()=="image"&&_f00.form==_ef5&&_ef7(_f00)){
var name=enc(_f00.name);
_ef9.push(name+"="+enc(_f00.value));
_ef9.push(name+".x=0");
_ef9.push(name+".y=0");
}
}
return _ef9.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 _f06=form.getElementsByTagName("input");
for(var i=0;i<_f06.length;i++){
var _f07=_f06[i];
if(_f07.type.toLowerCase()=="image"&&_f07.form==form){
this.connect(_f07,"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 _f0e=false;
if(node.disabled||!node.name){
_f0e=false;
}else{
if(dojo.lang.inArray(["submit","button","image"],type)){
if(!this.clickedButton){
this.clickedButton=node;
}
_f0e=node==this.clickedButton;
}else{
_f0e=!dojo.lang.inArray(["file","submit","reset","button"],type);
}
}
return _f0e;
},connect:function(_f0f,_f10,_f11){
if(dojo.evalObjPath("dojo.event.connect")){
dojo.event.connect(_f0f,_f10,this,_f11);
}else{
var fcn=dojo.lang.hitch(this,_f11);
_f0f[_f10]=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 _f14=this;
var _f15={};
this.useCache=false;
this.preventCache=false;
function getCacheKey(url,_f17,_f18){
return url+"|"+_f17+"|"+_f18.toLowerCase();
}
function addToCache(url,_f1a,_f1b,http){
_f15[getCacheKey(url,_f1a,_f1b)]=http;
}
function getFromCache(url,_f1e,_f1f){
return _f15[getCacheKey(url,_f1e,_f1f)];
}
this.clearCache=function(){
_f15={};
};
function doLoad(_f20,http,url,_f23,_f24){
if(((http.status>=200)&&(http.status<300))||(http.status==304)||(location.protocol=="file:"&&(http.status==0||http.status==undefined))||(location.protocol=="chrome:"&&(http.status==0||http.status==undefined))){
var ret;
if(_f20.method.toLowerCase()=="head"){
var _f26=http.getAllResponseHeaders();
ret={};
ret.toString=function(){
return _f26;
};
var _f27=_f26.split(/[\r\n]+/g);
for(var i=0;i<_f27.length;i++){
var pair=_f27[i].match(/^([^:]+)\s*:\s*(.+)$/i);
if(pair){
ret[pair[1]]=pair[2];
}
}
}else{
if(_f20.mimetype=="text/javascript"){
try{
ret=dj_eval(http.responseText);
}
catch(e){
dojo.debug(e);
dojo.debug(http.responseText);
ret=null;
}
}else{
if(_f20.mimetype=="text/json"||_f20.mimetype=="application/json"){
try{
ret=dj_eval("("+http.responseText+")");
}
catch(e){
dojo.debug(e);
dojo.debug(http.responseText);
ret=false;
}
}else{
if((_f20.mimetype=="application/xml")||(_f20.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(_f24){
addToCache(url,_f23,_f20.method,http);
}
_f20[(typeof _f20.load=="function")?"load":"handle"]("load",ret,http,_f20);
}else{
var _f2a=new dojo.io.Error("XMLHttpTransport Error: "+http.status+" "+http.statusText);
_f20[(typeof _f20.error=="function")?"error":"handle"]("error",_f2a,http,_f20);
}
}
function setHeaders(http,_f2c){
if(_f2c["headers"]){
for(var _f2d in _f2c["headers"]){
if(_f2d.toLowerCase()=="content-type"&&!_f2c["contentType"]){
_f2c["contentType"]=_f2c["headers"][_f2d];
}else{
http.setRequestHeader(_f2d,_f2c["headers"][_f2d]);
}
}
}
}
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&&!_f14._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 _f31=new dojo.io.Error("XMLHttpTransport.watchInFlight Error: "+e);
tif.req[(typeof tif.req.error=="function")?"error":"handle"]("error",_f31,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 _f32=dojo.hostenv.getXmlhttpObject()?true:false;
this.canHandle=function(_f33){
return _f32&&dojo.lang.inArray(["text/plain","text/html","application/xml","text/xml","text/javascript","text/json","application/json"],(_f33["mimetype"].toLowerCase()||""))&&!(_f33["formNode"]&&dojo.io.formHasFile(_f33["formNode"]));
};
this.multipartBoundary="45309FFF-BD65-4d50-99C9-36986896A96F";
this.bind=function(_f34){
if(!_f34["url"]){
if(!_f34["formNode"]&&(_f34["backButton"]||_f34["back"]||_f34["changeUrl"]||_f34["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(_f34);
return true;
}
}
var url=_f34.url;
var _f36="";
if(_f34["formNode"]){
var ta=_f34.formNode.getAttribute("action");
if((ta)&&(!_f34["url"])){
url=ta;
}
var tp=_f34.formNode.getAttribute("method");
if((tp)&&(!_f34["method"])){
_f34.method=tp;
}
_f36+=dojo.io.encodeForm(_f34.formNode,_f34.encoding,_f34["formFilter"]);
}
if(url.indexOf("#")>-1){
dojo.debug("Warning: dojo.io.bind: stripping hash values from url:",url);
url=url.split("#")[0];
}
if(_f34["file"]){
_f34.method="post";
}
if(!_f34["method"]){
_f34.method="get";
}
if(_f34.method.toLowerCase()=="get"){
_f34.multipart=false;
}else{
if(_f34["file"]){
_f34.multipart=true;
}else{
if(!_f34["multipart"]){
_f34.multipart=false;
}
}
}
if(_f34["backButton"]||_f34["back"]||_f34["changeUrl"]){
dojo.undo.browser.addToHistory(_f34);
}
var _f39=_f34["content"]||{};
if(_f34.sendTransport){
_f39["dojo.transport"]="xmlhttp";
}
do{
if(_f34.postContent){
_f36=_f34.postContent;
break;
}
if(_f39){
_f36+=dojo.io.argsFromMap(_f39,_f34.encoding);
}
if(_f34.method.toLowerCase()=="get"||!_f34.multipart){
break;
}
var t=[];
if(_f36.length){
var q=_f36.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(_f34.file){
if(dojo.lang.isArray(_f34.file)){
for(var i=0;i<_f34.file.length;++i){
var o=_f34.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=_f34.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+"--","");
_f36=t.join("\r\n");
}
}while(false);
var _f3f=_f34["sync"]?false:true;
var _f40=_f34["preventCache"]||(this.preventCache==true&&_f34["preventCache"]!=false);
var _f41=_f34["useCache"]==true||(this.useCache==true&&_f34["useCache"]!=false);
if(!_f40&&_f41){
var _f42=getFromCache(url,_f36,_f34.method);
if(_f42){
doLoad(_f34,_f42,url,_f36,false);
return;
}
}
var http=dojo.hostenv.getXmlhttpObject(_f34);
var _f44=false;
if(_f3f){
var _f45=this.inFlight.push({"req":_f34,"http":http,"url":url,"query":_f36,"useCache":_f41,"startTime":_f34.timeoutSeconds?(new Date()).getTime():0});
this.startWatchingInFlight();
}else{
_f14._blockAsync=true;
}
if(_f34.method.toLowerCase()=="post"){
if(!_f34.user){
http.open("POST",url,_f3f);
}else{
http.open("POST",url,_f3f,_f34.user,_f34.password);
}
setHeaders(http,_f34);
http.setRequestHeader("Content-Type",_f34.multipart?("multipart/form-data; boundary="+this.multipartBoundary):(_f34.contentType||"application/x-www-form-urlencoded"));
try{
http.send(_f36);
}
catch(e){
if(typeof http.abort=="function"){
http.abort();
}
doLoad(_f34,{status:404},url,_f36,_f41);
}
}else{
var _f46=url;
if(_f36!=""){
_f46+=(_f46.indexOf("?")>-1?"&":"?")+_f36;
}
if(_f40){
_f46+=(dojo.string.endsWithAny(_f46,"?","&")?"":(_f46.indexOf("?")>-1?"&":"?"))+"dojo.preventCache="+new Date().valueOf();
}
if(!_f34.user){
http.open(_f34.method.toUpperCase(),_f46,_f3f);
}else{
http.open(_f34.method.toUpperCase(),_f46,_f3f,_f34.user,_f34.password);
}
setHeaders(http,_f34);
try{
http.send(null);
}
catch(e){
if(typeof http.abort=="function"){
http.abort();
}
doLoad(_f34,{status:404},url,_f36,_f41);
}
}
if(!_f3f){
doLoad(_f34,http,url,_f36,_f41);
_f14._blockAsync=false;
}
_f34.abort=function(){
try{
http._aborted=true;
}
catch(e){
}
return http.abort();
};
return;
};
dojo.io.transports.addTransport("XMLHTTPTransport");
};
}
dojo.provide("dojo.io.cookie");
dojo.io.cookie.setCookie=function(name,_f48,days,path,_f4b,_f4c){
var _f4d=-1;
if((typeof days=="number")&&(days>=0)){
var d=new Date();
d.setTime(d.getTime()+(days*24*60*60*1000));
_f4d=d.toGMTString();
}
_f48=escape(_f48);
document.cookie=name+"="+_f48+";"+(_f4d!=-1?" expires="+_f4d+";":"")+(path?"path="+path:"")+(_f4b?"; domain="+_f4b:"")+(_f4c?"; secure":"");
};
dojo.io.cookie.set=dojo.io.cookie.setCookie;
dojo.io.cookie.getCookie=function(name){
var idx=document.cookie.lastIndexOf(name+"=");
if(idx==-1){
return null;
}
var _f51=document.cookie.substring(idx+name.length+1);
var end=_f51.indexOf(";");
if(end==-1){
end=_f51.length;
}
_f51=_f51.substring(0,end);
_f51=unescape(_f51);
return _f51;
};
dojo.io.cookie.get=dojo.io.cookie.getCookie;
dojo.io.cookie.deleteCookie=function(name){
dojo.io.cookie.setCookie(name,"-",0);
};
dojo.io.cookie.setObjectCookie=function(name,obj,days,path,_f58,_f59,_f5a){
if(arguments.length==5){
_f5a=_f58;
_f58=null;
_f59=null;
}
var _f5b=[],cookie,value="";
if(!_f5a){
cookie=dojo.io.cookie.getObjectCookie(name);
}
if(days>=0){
if(!cookie){
cookie={};
}
for(var prop in obj){
if(obj[prop]==null){
delete cookie[prop];
}else{
if((typeof obj[prop]=="string")||(typeof obj[prop]=="number")){
cookie[prop]=obj[prop];
}
}
}
prop=null;
for(var prop in cookie){
_f5b.push(escape(prop)+"="+escape(cookie[prop]));
}
value=_f5b.join("&");
}
dojo.io.cookie.setCookie(name,value,days,path,_f58,_f59);
};
dojo.io.cookie.getObjectCookie=function(name){
var _f5e=null,cookie=dojo.io.cookie.getCookie(name);
if(cookie){
_f5e={};
var _f5f=cookie.split("&");
for(var i=0;i<_f5f.length;i++){
var pair=_f5f[i].split("=");
var _f62=pair[1];
if(isNaN(_f62)){
_f62=unescape(pair[1]);
}
_f5e[unescape(pair[0])]=_f62;
}
}
return _f5e;
};
dojo.io.cookie.isSupported=function(){
if(typeof navigator.cookieEnabled!="boolean"){
dojo.io.cookie.setCookie("__TestingYourBrowserForCookieSupport__","CookiesAllowed",90,null);
var _f63=dojo.io.cookie.getCookie("__TestingYourBrowserForCookieSupport__");
navigator.cookieEnabled=(_f63=="CookiesAllowed");
if(navigator.cookieEnabled){
this.deleteCookie("__TestingYourBrowserForCookieSupport__");
}
}
return navigator.cookieEnabled;
};
if(!dojo.io.cookies){
dojo.io.cookies=dojo.io.cookie;
}
dojo.provide("dojo.io.*");
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,_f66){
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,_f6a){
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();
}
}},_f6a));
},_cacheSetting:function(_f70,_f71){
for(var x in this.bindArgs){
if(dojo.lang.isUndefined(_f70[x])){
_f70[x]=this.bindArgs[x];
}
}
if(dojo.lang.isUndefined(_f70.useCache)){
_f70.useCache=_f71;
}
if(dojo.lang.isUndefined(_f70.preventCache)){
_f70.preventCache=!_f71;
}
if(dojo.lang.isUndefined(_f70.mimetype)){
_f70.mimetype="text/html";
}
return _f70;
},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(_f76){
var st=this[_f76];
var err="";
var _f79=this.scriptScope||window;
for(var i=0;i<st.length;i++){
try{
st[i].call(_f79);
}
catch(e){
err+="\n"+st[i]+" failed: "+e.description;
}
}
this[_f76]=[];
if(err.length){
var name=(_f76=="_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(_f80,obj,func){
if(typeof func=="undefined"){
_f80.push(obj);
}else{
_f80.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,_f8a,_f8b){
if(!_f8a){
_f8a="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[_f8a](e);
if(e.returnValue){
switch(_f8b){
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 _f8e=[],scripts=[],tmp=[];
var _f8f=[],requires=[],attr=[],styles=[];
var str="",path="",fix="",tagFix="",tag="",origPath="";
if(!url){
url="./";
}
if(s){
var _f91=/<title[^>]*>([\s\S]*?)<\/title>/i;
while(_f8f=_f91.exec(s)){
_f8e.push(_f8f[1]);
s=s.substring(0,_f8f.index)+s.substr(_f8f.index+_f8f[0].length);
}
if(this.adjustPaths){
var _f92=/<[a-z][a-z0-9]*[^>]*\s(?:(?:src|href|style)=[^>])+[^>]*>/i;
var _f93=/\s(src|href|style)=(['"]?)([\w()\[\]\/.,\\'"-:;#=&?\s@]+?)\2/i;
var _f94=/^(?:[#]|(?:(?:https?|ftps?|file|javascript|mailto|news):))/;
while(tag=_f92.exec(s)){
str+=s.substring(0,tag.index);
s=s.substring((tag.index+tag[0].length),s.length);
tag=tag[0];
tagFix="";
while(attr=_f93.exec(tag)){
path="";
origPath=attr[3];
switch(attr[1].toLowerCase()){
case "src":
case "href":
if(_f94.exec(origPath)){
path=origPath;
}else{
path=(new dojo.uri.Uri(url,origPath).toString());
}
break;
case "style":
path=dojo.html.fixPathsInCssText(origPath,url);
break;
default:
path=origPath;
}
fix=" "+attr[1]+"="+attr[2]+path+attr[2];
tagFix+=tag.substring(0,attr.index)+fix;
tag=tag.substring((attr.index+attr[0].length),tag.length);
}
str+=tagFix+tag;
}
s=str+s;
}
_f91=/(?:<(style)[^>]*>([\s\S]*?)<\/style>|<link ([^>]*rel=['"]?stylesheet['"]?[^>]*)>)/i;
while(_f8f=_f91.exec(s)){
if(_f8f[1]&&_f8f[1].toLowerCase()=="style"){
styles.push(dojo.html.fixPathsInCssText(_f8f[2],url));
}else{
if(attr=_f8f[3].match(/href=(['"]?)([^'">]*)\1/i)){
styles.push({path:attr[2]});
}
}
s=s.substring(0,_f8f.index)+s.substr(_f8f.index+_f8f[0].length);
}
var _f91=/<script([^>]*)>([\s\S]*?)<\/script>/i;
var _f95=/src=(['"]?)([^"']*)\1/i;
var _f96=/.*(\bdojo\b\.js(?:\.uncompressed\.js)?)$/;
var _f97=/(?:var )?\bdjConfig\b(?:[\s]*=[\s]*\{[^}]+\}|\.[\w]*[\s]*=[\s]*[^;\n]*)?;?|dojo\.hostenv\.writeIncludes\(\s*\);?/g;
var _f98=/dojo\.(?:(?:require(?:After)?(?:If)?)|(?:widget\.(?:manager\.)?registerWidgetPackage)|(?:(?:hostenv\.)?setModulePrefix|registerModulePath)|defineNamespace)\((['"]).*?\1\)\s*;?/;
while(_f8f=_f91.exec(s)){
if(this.executeScripts&&_f8f[1]){
if(attr=_f95.exec(_f8f[1])){
if(_f96.exec(attr[2])){
dojo.debug("Security note! inhibit:"+attr[2]+" from  being loaded again.");
}else{
scripts.push({path:attr[2]});
}
}
}
if(_f8f[2]){
var sc=_f8f[2].replace(_f97,"");
if(!sc){
continue;
}
while(tmp=_f98.exec(sc)){
requires.push(tmp[0]);
sc=sc.substring(0,tmp.index)+sc.substr(tmp.index+tmp[0].length);
}
if(this.executeScripts){
scripts.push(sc);
}
}
s=s.substr(0,_f8f.index)+s.substr(_f8f.index+_f8f[0].length);
}
if(this.extractContent){
_f8f=s.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
if(_f8f){
s=_f8f[1];
}
}
if(this.executeScripts&&this.scriptSeparation){
var _f91=/(<[a-zA-Z][a-zA-Z0-9]*\s[^>]*?\S=)((['"])[^>]*scriptScope[^>]*>)/;
var _f9a=/([\s'";:\(])scriptScope(.*)/;
str="";
while(tag=_f91.exec(s)){
tmp=((tag[3]=="'")?"\"":"'");
fix="";
str+=s.substring(0,tag.index)+tag[1];
while(attr=_f9a.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":styles,"titles":_f8e,"requires":requires,"scripts":scripts,"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 _fa0=this;
function asyncParse(){
if(_fa0.executeScripts){
_fa0._executeScripts(data.scripts);
}
if(_fa0.parseContent){
var node=_fa0.containerNode||_fa0.domNode;
var _fa2=new dojo.xml.Parse();
var frag=_fa2.parseElement(node,null,true);
dojo.widget.getParser().createSubComponents(frag,_fa0);
}
_fa0.onResized();
_fa0.onLoad();
}
if(dojo.hostenv.isXDomain&&data.requires.length){
dojo.addOnLoad(asyncParse);
}else{
asyncParse();
}
}
},setHandler:function(_fa4){
var fcn=dojo.lang.isFunction(_fa4)?_fa4:window[_fa4];
if(!dojo.lang.isFunction(fcn)){
this._handleDefaults("Unable to set handler, '"+_fa4+"' 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(_fa7){
var self=this;
var tmp="",code="";
for(var i=0;i<_fa7.length;i++){
if(_fa7[i].path){
dojo.io.bind(this._cacheSetting({"url":_fa7[i].path,"load":function(type,_fac){
dojo.lang.hitch(self,tmp=";"+_fac);
},"error":function(type,_fae){
_fae.text=type+" downloading remote script";
self._handleDefaults.call(self,_fae,"onExecError","debug");
},"mimetype":"text/plain","sync":true},this.cacheContent));
code+=tmp;
}else{
code+=_fa7[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("dojo.html.selection");
dojo.html.selectionType={NONE:0,TEXT:1,CONTROL:2};
dojo.html.clearSelection=function(){
var _fb2=dojo.global();
var _fb3=dojo.doc();
try{
if(_fb2["getSelection"]){
if(dojo.render.html.safari){
_fb2.getSelection().collapse();
}else{
_fb2.getSelection().removeAllRanges();
}
}else{
if(_fb3.selection){
if(_fb3.selection.empty){
_fb3.selection.empty();
}else{
if(_fb3.selection.clear){
_fb3.selection.clear();
}
}
}
}
return true;
}
catch(e){
dojo.debug(e);
return false;
}
};
dojo.html.disableSelection=function(_fb4){
_fb4=dojo.byId(_fb4)||dojo.body();
var h=dojo.render.html;
if(h.mozilla){
_fb4.style.MozUserSelect="none";
}else{
if(h.safari){
_fb4.style.KhtmlUserSelect="none";
}else{
if(h.ie){
_fb4.unselectable="on";
}else{
return false;
}
}
}
return true;
};
dojo.html.enableSelection=function(_fb6){
_fb6=dojo.byId(_fb6)||dojo.body();
var h=dojo.render.html;
if(h.mozilla){
_fb6.style.MozUserSelect="";
}else{
if(h.safari){
_fb6.style.KhtmlUserSelect="";
}else{
if(h.ie){
_fb6.unselectable="off";
}else{
return false;
}
}
}
return true;
};
dojo.html.selectElement=function(_fb8){
dojo.deprecated("dojo.html.selectElement","replaced by dojo.html.selection.selectElementChildren",0.5);
};
dojo.html.selectInputText=function(_fb9){
var _fba=dojo.global();
var _fbb=dojo.doc();
_fb9=dojo.byId(_fb9);
if(_fbb["selection"]&&dojo.body()["createTextRange"]){
var _fbc=_fb9.createTextRange();
_fbc.moveStart("character",0);
_fbc.moveEnd("character",_fb9.value.length);
_fbc.select();
}else{
if(_fba["getSelection"]){
var _fbd=_fba.getSelection();
_fb9.setSelectionRange(0,_fb9.value.length);
}
}
_fb9.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 _fbe=dojo.html.selectionType.TEXT;
var oSel;
try{
oSel=dojo.global().getSelection();
}
catch(e){
}
if(oSel&&oSel.rangeCount==1){
var _fc0=oSel.getRangeAt(0);
if(_fc0.startContainer==_fc0.endContainer&&(_fc0.endOffset-_fc0.startOffset)==1&&_fc0.startContainer.nodeType!=dojo.dom.TEXT_NODE){
_fbe=dojo.html.selectionType.CONTROL;
}
}
return _fbe;
}
},isCollapsed:function(){
var _fc1=dojo.global();
var _fc2=dojo.doc();
if(_fc2["selection"]){
return _fc2.selection.createRange().text=="";
}else{
if(_fc1["getSelection"]){
var _fc3=_fc1.getSelection();
if(dojo.lang.isString(_fc3)){
return _fc3=="";
}else{
return _fc3.isCollapsed||_fc3.toString()=="";
}
}
}
},getSelectedElement:function(){
if(dojo.html.selection.getType()==dojo.html.selectionType.CONTROL){
if(dojo.doc()["selection"]){
var _fc4=dojo.doc().selection.createRange();
if(_fc4&&_fc4.item){
return dojo.doc().selection.createRange().item(0);
}
}else{
var _fc5=dojo.global().getSelection();
return _fc5.anchorNode.childNodes[_fc5.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 _fc7=dojo.global().getSelection();
if(_fc7){
var node=_fc7.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 _fc9=dojo.global().getSelection();
if(_fc9){
return _fc9.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 _fca=dojo.global().getSelection();
if(_fca&&_fca.rangeCount){
var frag=_fca.getRangeAt(0).cloneContents();
var div=document.createElement("div");
div.appendChild(frag);
return div.innerHTML;
}
return null;
}
},hasAncestorElement:function(_fcd){
return (dojo.html.selection.getAncestorElement.apply(this,arguments)!=null);
},getAncestorElement:function(_fce){
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(_fd3){
var _fd4=dojo.global();
var _fd5=dojo.doc();
_fd3=dojo.byId(_fd3);
if(_fd5.selection&&dojo.body().createTextRange){
try{
var _fd6=dojo.body().createControlRange();
_fd6.addElement(_fd3);
_fd6.select();
}
catch(e){
dojo.html.selection.selectElementChildren(_fd3);
}
}else{
if(_fd4["getSelection"]){
var _fd7=_fd4.getSelection();
if(_fd7["removeAllRanges"]){
var _fd6=_fd5.createRange();
_fd6.selectNode(_fd3);
_fd7.removeAllRanges();
_fd7.addRange(_fd6);
}
}
}
},selectElementChildren:function(_fd8){
var _fd9=dojo.global();
var _fda=dojo.doc();
_fd8=dojo.byId(_fd8);
if(_fda.selection&&dojo.body().createTextRange){
var _fdb=dojo.body().createTextRange();
_fdb.moveToElementText(_fd8);
_fdb.select();
}else{
if(_fd9["getSelection"]){
var _fdc=_fd9.getSelection();
if(_fdc["setBaseAndExtent"]){
_fdc.setBaseAndExtent(_fd8,0,_fd8,_fd8.innerText.length-1);
}else{
if(_fdc["selectAllChildren"]){
_fdc.selectAllChildren(_fd8);
}
}
}
}
},getBookmark:function(){
var _fdd;
var _fde=dojo.doc();
if(_fde["selection"]){
var _fdf=_fde.selection.createRange();
_fdd=_fdf.getBookmark();
}else{
var _fe0;
try{
_fe0=dojo.global().getSelection();
}
catch(e){
}
if(_fe0){
var _fdf=_fe0.getRangeAt(0);
_fdd=_fdf.cloneRange();
}else{
dojo.debug("No idea how to store the current selection for this browser!");
}
}
return _fdd;
},moveToBookmark:function(_fe1){
var _fe2=dojo.doc();
if(_fe2["selection"]){
var _fe3=_fe2.selection.createRange();
_fe3.moveToBookmark(_fe1);
_fe3.select();
}else{
var _fe4;
try{
_fe4=dojo.global().getSelection();
}
catch(e){
}
if(_fe4&&_fe4["removeAllRanges"]){
_fe4.removeAllRanges();
_fe4.addRange(_fe1);
}else{
dojo.debug("No idea how to restore selection for this browser!");
}
}
},collapse:function(_fe5){
if(dojo.global()["getSelection"]){
var _fe6=dojo.global().getSelection();
if(_fe6.removeAllRanges){
if(_fe5){
_fe6.collapseToStart();
}else{
_fe6.collapseToEnd();
}
}else{
dojo.global().getSelection().collapse(_fe5);
}
}else{
if(dojo.doc().selection){
var _fe7=dojo.doc().selection.createRange();
_fe7.collapse(_fe5);
_fe7.select();
}
}
},remove:function(){
if(dojo.doc().selection){
var _fe8=dojo.doc().selection;
if(_fe8.type.toUpperCase()!="NONE"){
_fe8.clear();
}
return _fe8;
}else{
var _fe8=dojo.global().getSelection();
for(var i=0;i<_fe8.rangeCount;i++){
_fe8.getRangeAt(i).deleteContents();
}
return _fe8;
}
}});
dojo.provide("dojo.html.iframe");
dojo.html.iframeContentWindow=function(_fea){
var win=dojo.html.getDocumentWindow(dojo.html.iframeContentDocument(_fea))||dojo.html.iframeContentDocument(_fea).__parent__||(_fea.name&&document.frames[_fea.name])||null;
return win;
};
dojo.html.iframeContentDocument=function(_fec){
var doc=_fec.contentDocument||((_fec.contentWindow)&&(_fec.contentWindow.document))||((_fec.name)&&(document.frames[_fec.name])&&(document.frames[_fec.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 _ff0=dojo.html.getMarginBox(this.domNode);
if(_ff0.width==0||_ff0.height==0){
dojo.lang.setTimeout(this,this.onResized,100);
return;
}
this.iframe.style.width=_ff0.width+"px";
this.iframe.style.height=_ff0.height+"px";
}
},size:function(node){
if(!this.iframe){
return;
}
var _ff2=dojo.html.toCoordinateObject(node,true,dojo.html.boxSizing.BORDER_BOX);
with(this.iframe.style){
width=_ff2.width+"px";
height=_ff2.height+"px";
left=_ff2.left+"px";
top=_ff2.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=[];
},{isContainer:true,templateString:"<div dojoAttachPoint=\"containerNode\" style=\"display:none;position:absolute;\" class=\"dojoPopupContainer\" ></div>",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,_ff7,_ff8,_ff9,_ffa){
if(this.isShowingNow){
return;
}
if(this.animationInProgress){
this.queueOnAnimationFinish.push(this.open,arguments);
return;
}
this.aboutToShow();
var _ffb=false,node,aroundOrient;
if(typeof x=="object"){
node=x;
aroundOrient=_ff8;
_ff8=_ff7;
_ff7=y;
_ffb=true;
}
this.parent=_ff7;
dojo.body().appendChild(this.domNode);
_ff8=_ff8||_ff7["domNode"]||[];
var _ffc=null;
this.isTopLevel=true;
while(_ff7){
if(_ff7!==this&&(_ff7.setOpenedSubpopup!=undefined&&_ff7.applyPopupBasicStyle!=undefined)){
_ffc=_ff7;
this.isTopLevel=false;
_ffc.setOpenedSubpopup(this);
break;
}
_ff7=_ff7.parent;
}
this.parentPopup=_ffc;
this.popupIndex=_ffc?_ffc.popupIndex+1:1;
if(this.isTopLevel){
var _ffd=dojo.html.isNode(_ff8)?_ff8:null;
dojo.widget.PopupManager.opened(this,_ffd);
}
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(_ff8 instanceof Array){
_ff8={left:_ff8[0],top:_ff8[1],width:0,height:0};
}
with(this.domNode.style){
display="";
zIndex=this.beginZIndex+this.popupIndex;
}
if(_ffb){
this.move(node,_ffa,aroundOrient);
}else{
this.move(x,y,_ffa,_ff9);
}
this.domNode.style.display="none";
this.explodeSrc=_ff8;
this.show();
this.isShowingNow=true;
},move:function(x,y,_1000,_1001){
var _1002=(typeof x=="object");
if(_1002){
var _1003=_1000;
var node=x;
_1000=y;
if(!_1003){
_1003={"BL":"TL","TL":"BL"};
}
dojo.html.placeOnScreenAroundElement(this.domNode,node,_1000,this.aroundBox,_1003);
}else{
if(!_1001){
_1001="TL,TR,BL,BR";
}
dojo.html.placeOnScreen(this.domNode,x,y,_1000,true,_1001);
}
},close:function(force){
if(force){
this.domNode.style.display="none";
}
if(this.animationInProgress){
this.queueOnAnimationFinish.push(this.close,[]);
return;
}
this.closeSubpopup(force);
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(force){
if(this.parentPopup){
this.parentPopup.closeAll(force);
}else{
this.close(force);
}
},setOpenedSubpopup:function(popup){
this.currentSubpopup=popup;
},closeSubpopup:function(force){
if(this.currentSubpopup==null){
return;
}
this.currentSubpopup.close(force);
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],{});
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(_100c){
if(!_100c){
_100c=dojo.html.getDocumentWindow(window.top&&window.top.document||window.document);
}
this.registerWin(_100c);
for(var i=0;i<_100c.frames.length;i++){
try{
var win=dojo.html.getDocumentWindow(_100c.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,_1013){
if(menu==this.currentMenu){
return;
}
if(this.currentMenu){
this.currentMenu.close();
}
this.currentMenu=menu;
this.currentFocusMenu=menu;
this.currentButton=_1013;
};
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;
}
},this.onClick=function(e){
if(!this.currentMenu){
return;
}
var _1018=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.close();
};
};
dojo.provide("dojo.widget.Tooltip");
dojo.widget.defineWidget("dojo.widget.Tooltip",[dojo.widget.ContentPane,dojo.widget.PopupContainerBase],{caption:"",showDelay:500,hideDelay:100,connectId:"",templateCssPath:dojo.uri.dojoUri("src/widget/templates/TooltipTemplate.css"),fillInTemplate:function(args,frag){
if(this.caption!=""){
this.domNode.appendChild(document.createTextNode(this.caption));
}
this._connectNode=dojo.byId(this.connectId);
dojo.widget.Tooltip.superclass.fillInTemplate.call(this,args,frag);
this.addOnLoad(this,"_loadedContent");
dojo.html.addClass(this.domNode,"dojoTooltip");
var _101c=this.getFragNodeRef(frag);
dojo.html.copyStyle(this.domNode,_101c);
this.applyPopupBasicStyle();
},postCreate:function(args,frag){
dojo.event.connect(this._connectNode,"onmouseover",this,"_onMouseOver");
dojo.widget.Tooltip.superclass.postCreate.call(this,args,frag);
},_onMouseOver:function(e){
this._mouse={x:e.pageX,y:e.pageY};
if(!this._tracking){
dojo.event.connect(document.documentElement,"onmousemove",this,"_onMouseMove");
this._tracking=true;
}
this._onHover(e);
},_onMouseMove:function(e){
this._mouse={x:e.pageX,y:e.pageY};
if(dojo.html.overElement(this._connectNode,e)||dojo.html.overElement(this.domNode,e)){
this._onHover(e);
}else{
this._onUnHover(e);
}
},_onHover:function(e){
if(this._hover){
return;
}
this._hover=true;
if(this._hideTimer){
clearTimeout(this._hideTimer);
delete this._hideTimer;
}
if(!this.isShowingNow&&!this._showTimer){
this._showTimer=setTimeout(dojo.lang.hitch(this,"open"),this.showDelay);
}
},_onUnHover:function(e){
if(!this._hover){
return;
}
this._hover=false;
if(this._showTimer){
clearTimeout(this._showTimer);
delete this._showTimer;
}
if(this.isShowingNow&&!this._hideTimer){
this._hideTimer=setTimeout(dojo.lang.hitch(this,"close"),this.hideDelay);
}
if(!this.isShowingNow){
dojo.event.disconnect(document.documentElement,"onmousemove",this,"_onMouseMove");
this._tracking=false;
}
},open:function(){
if(this.isShowingNow){
return;
}
dojo.widget.PopupContainerBase.prototype.open.call(this,this._mouse.x,this._mouse.y,null,[this._mouse.x,this._mouse.y],"TL,TR,BL,BR",[10,15]);
},close:function(){
if(this.isShowingNow){
if(this._showTimer){
clearTimeout(this._showTimer);
delete this._showTimer;
}
if(this._hideTimer){
clearTimeout(this._hideTimer);
delete this._hideTimer;
}
dojo.event.disconnect(document.documentElement,"onmousemove",this,"_onMouseMove");
this._tracking=false;
dojo.widget.PopupContainerBase.prototype.close.call(this);
}
},_position:function(){
this.move(this._mouse.x,this._mouse.y,[10,15],"TL,TR,BL,BR");
},_loadedContent:function(){
if(this.isShowingNow){
this._position();
}
},checkSize:function(){
},uninitialize:function(){
this.close();
dojo.event.disconnect(this._connectNode,"onmouseover",this,"_onMouseOver");
}});
dojo.provide("dojo.html.*");
dojo.provide("dojo.html");
dojo.deprecated("dojo.html","replaced by dojo.html.*","0.5");
dojo.provide("dojo.style");
dojo.deprecated("dojo.style","replaced by dojo.html.style","0.5");
dojo.lang.mixin(dojo.style,dojo.html);
Xap.provide("xap.widgets.dojo.RichtextTooltip");
dojo.widget.manager.registerWidgetPackage("xap.widgets.dojo");
dojo.widget.tags.addParseTreeHandler("dojo:RichtextTooltip");
xap.widgets.dojo.RichtextTooltip=function(){
dojo.widget.Tooltip.call(this);
this.widgetType="RichtextTooltip";
this.showDelay=500;
this.hideDelay=200;
this.fillInTemplate=function(args,frag){
if(this.caption!=""){
var text=this.caption.split(/\\[rn]/g).join("<br/>");
this.domNode.innerHTML=text;
}
this._connectNode=dojo.byId(this.connectId);
if(!this._connectNode&&args._connectNode){
this._connectNode=args._connectNode;
}
dojo.widget.Tooltip.superclass.fillInTemplate.call(this,args,frag);
this.addOnLoad(this,"_loadedContent");
dojo.html.addClass(this.domNode,"dojoTooltip");
var _1026=this.getFragNodeRef(frag);
dojo.html.copyStyle(this.domNode,_1026);
this.applyPopupBasicStyle();
};
this.postCreate=function(args,frag){
dojo.event.connect(this._connectNode,"onmouseover",this,"_onMouseOver");
dojo.widget.Tooltip.superclass.postCreate.call(this,args,frag);
this.domNode.style.border="1px solid rgb(10,10,35)";
};
};
dojo.inherits(xap.widgets.dojo.RichtextTooltip,dojo.widget.Tooltip);
dojo.lang.extend(xap.widgets.dojo.RichtextTooltip,new dojo.widget.Tooltip());
Xap.provide("xap.util.CssUtils");
xap.util.CssUtils.getCSSRule=function(_1029){
sel=_1029.toLowerCase();
if(document.styleSheets){
var i=document.styleSheets.length;
while(i){
var _102b=document.styleSheets[--i];
if(!_102b){
continue;
}
var rule=xap.util.CssUtils.getCSSRuleFromStyleSheet(sel,_102b);
if(rule!==null){
return rule;
}
if(_102b.imports&&_102b.imports.length>0){
var j=_102b.imports.length;
while(j){
var _102e=_102b.imports[--j];
if(!_102e){
continue;
}
rule=xap.util.CssUtils.getCSSRuleFromStyleSheet(sel,_102e);
if(rule!==null){
return rule;
}
}
}
}
}
return null;
};
xap.util.CssUtils.getCSSRuleFromStyleSheet=function(_102f,_1030){
if(_1030){
var _1031=_1030.cssRules?_1030.cssRules:_1030.rules;
if(!_1031){
return null;
}
var i=_1031.length;
while(i){
var rule=_1031[--i];
if(rule.type==3){
rule=xap.util.CssUtils.getCSSRuleFromStyleSheet(_102f,rule.styleSheet);
}
if(rule&&rule.selectorText&&rule.selectorText.toLowerCase()==_102f){
return rule;
}
}
}
return null;
};
xap.util.CssUtils.RE_LEADING_SPACES=/^\s*/;
xap.util.CssUtils.RE_TRAILING_SPACES=/\s*$/;
xap.util.CssUtils.RE_BOTH_ENDS_SPACES=/^\s+|\s+$/g;
xap.util.CssUtils.getClass=function(node){
if(!node){
return "";
}
var cs=node.className;
if(!cs){
cs=node.getAttribute("class");
}
if(cs){
return cs.replace(this.RE_BOTH_ENDS_SPACES,"");
}else{
return "";
}
};
xap.util.CssUtils.setClass=function(node,_1037){
node.className=_1037.replace(this.RE_BOTH_ENDS_SPACES,"");
};
xap.util.CssUtils.getClasses=function(node){
var cs=this.getClass(node);
return (cs==="")?[]:cs.replace(this.RE_BOTH_ENDS_SPACES,"").split(/\s+/g);
};
xap.util.CssUtils.hasClass=function(node,_103b){
var _103c=_103b.replace(this.RE_LEADING_SPACES,"").replace(this.RE_TRAILING_SPACES," ");
var _103d=this.getClass(node).replace(this.RE_TRAILING_SPACES," ");
return (_103d.indexOf(_103c)>=0);
};
xap.util.CssUtils.addClass=function(node,_103f){
var _1040=_103f.replace(this.RE_LEADING_SPACES,"").replace(this.RE_TRAILING_SPACES," ");
var _1041=this.getClass(node).replace(this.RE_TRAILING_SPACES," ");
if(_1041.indexOf(_1040)==-1){
this.setClass(node,_1041+_1040);
return true;
}
return false;
};
xap.util.CssUtils.removeClass=function(node,_1043){
var cs=_1043.replace(this.RE_BOTH_ENDS_SPACES,"");
this.setClass(node,this.getClass(node).replace(cs,""));
};
Xap.provide("xap.bridges.basic.AbstractWidgetBridge");
Xap.require("xap.util.Exception");
Xap.require("xap.taghandling.AbstractTagImpl");
Xap.require("xap.widgets.dojo.RichtextTooltip");
Xap.require("dojo.event.*");
Xap.require("xap.session.ClientEvent");
Xap.require("dojo.html.*");
Xap.require("xap.util.ArrayHelper");
Xap.require("xap.util.CssUtils");
xap.bridges.basic.AbstractWidgetBridge=function(){
this._disabled=false;
xap.taghandling.AbstractTagImpl.call(this);
};
xap.bridges.basic.AbstractWidgetBridge.prototype=new xap.taghandling.AbstractTagImpl();
Xap.setupClassAsSubclassOf("xap.bridges.basic.AbstractWidgetBridge","xap.taghandling.AbstractTagImpl");
xap.bridges.basic.AbstractWidgetBridge.cleanNode=function(node){
var tna=node.all||node.getElementsByTagName("*");
dojo._ie_clobber.clobber(node);
xap.util.ArrayHelper.removeElement(dojo._ie_clobber.clobberNodes,node);
for(var i=0;i<tna.length;i++){
xap.util.ArrayHelper.removeElement(dojo._ie_clobber.clobberNodes,tna[i]);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.init=function(){
if(!this._getNameToSetterMap()){
this.initialiseAttributeMaps();
}
this.createPeer();
this.setStyleClassNames([]);
if(this.getCssStyleName()){
this.setClassAttribute(this.getCssStyleName());
}
this.parseInitialAttributes(this.getElement());
this.parseInitialChildren(this.getElement());
this.resetSize();
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getStylingNodesMap=function(){
if(!this._stylingNodeMap){
this._stylingNodeMap={"":this.getRootDomNode()};
}
return this._stylingNodeMap;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.unload=function(){
var _1048=this.getRootDomNode();
if(_1048){
xap.bridges.basic.AbstractWidgetBridge.cleanNode(_1048);
}
xap.taghandling.AbstractTagImpl.prototype.unload.call(this);
};
xap.bridges.basic.AbstractWidgetBridge.FUNCTION="function";
xap.bridges.basic.AbstractWidgetBridge.ON="on";
xap.bridges.basic.AbstractWidgetBridge.s_IsFunction=function(_1049){
var typ=typeof _1049;
var eqq=(typ==xap.bridges.basic.AbstractWidgetBridge.FUNCTION);
return eqq;
};
xap.bridges.basic.AbstractWidgetBridge.prototype._trackMouseOver=function(){
if(!this._mouseTracking){
var _104c=this.getRootDomNode();
dojo.event.connect(_104c,this._onEnter,this,"onMouseOver");
dojo.event.connect(_104c,this._onLeave,this,"onMouseOut");
this._mouseTracking=true;
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.createPeer=function(){
this.obtainPeer();
var _104d=this.getRootDomNode();
if(_104d){
if(dojo.render.html.ie){
this._onEnter="onmouseenter";
this._onLeave="onmouseleave";
}else{
this._onEnter="onmouseover";
this._onLeave="onmouseout";
}
if(this._wantsMouseEvents){
this._trackMouseOver();
dojo.event.connect(_104d,"onmousedown",this,"onMouseDown");
dojo.event.connect(_104d,"onmouseup",this,"onMouseUp");
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getNodeForChildren=function(){
return null;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getRootDomNode=function(){
return null;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getStyleClassNames=function(){
return this._styleClassNames;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setStyleClassNames=function(_104e){
this._styleClassNames=_104e;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getCssStyleName=function(){
var _104f=this.getElement().nodeName;
return "xap"+_104f.substring(0,1).toUpperCase()+_104f.substring(1);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.addStyleState=function(_1050){
var _1051=this.getStylingNodesMap();
for(var _1052 in _1051){
var node=_1051[_1052];
if(!node){
continue;
}
this._addStyleStateToOneNode(_1050,node,_1052);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.removeStyleState=function(_1054){
var _1055=this.getStylingNodesMap();
for(var _1056 in _1055){
var node=_1055[_1056];
if(!node){
continue;
}
this._removeStyleStateFromOneNode(_1054,_1055[_1056],_1056);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype._addStyleStateToOneNode=function(_1058,pNode,_105a){
var _105b=this.getStyleClassNames();
if(_105b){
for(var ii=0;ii<_105b.length;++ii){
xap.util.CssUtils.addClass(pNode,_105b[ii]+_105a+_1058);
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype._removeStyleStateFromOneNode=function(_105d,pNode,_105f){
var _1060=this.getStyleClassNames();
if(_1060){
for(var ii=0;ii<_1060.length;++ii){
xap.util.CssUtils.removeClass(pNode,_1060[ii]+_105f+_105d);
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getOnXFunction=function(str){
return function(_1063){
var _1064=new xap.session.ClientEvent(this.getElement(),this.getSession());
_1064.eventObject=_1063;
return this.fireEvent(str,null,null,_1064);
};
};
xap.bridges.basic.AbstractWidgetBridge.prototype.childAdded=function(e){
var _1066=e.getChange();
var _1067=this.getUiContentHandler().getHandlerForElement(_1066);
this.addChild(_1067,e.getIndex());
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onChildRemoved=function(e){
var _1069=e.getChange();
var _106a=this.getUiContentHandler().getHandlerForElement(_1069);
if(_106a){
this.removeChild(_106a);
}
xap.taghandling.AbstractTagImpl.prototype.onChildRemoved.call(this,e);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.addChild=function(_106b,index){
if(this.getNodeForChildren&&this.getNodeForChildren()&&_106b.getRootDomNode&&_106b.getRootDomNode()){
this.getNodeForChildren().appendChild(_106b.getRootDomNode());
}else{
throw new xap.util.Exception("Problem inserting component managed by "+_106b.toString()+" into a container managed by "+this.toString()+"; parent doesn't have a suitable container.");
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.removeChild=function(_106d){
if(this.getNodeForChildren&&this.getNodeForChildren()&&_106d.getRootDomNode&&_106d.getRootDomNode()){
this.getNodeForChildren().removeChild(_106d.getRootDomNode());
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.findPeerEvents=function(){
if(!this.eventTriggers){
var _106e=new Object();
for(var _106f in this._peer){
var _1070=this._peer[_106f];
if(!xap.bridges.basic.AbstractWidgetBridge.s_IsFunction(_1070)){
continue;
}
if(_106f.substring(0,2)==xap.bridges.basic.AbstractWidgetBridge.ON){
_106e[_106f]={src:this._peer,methodName:_106f};
}
}
this.eventTriggers=_106e;
}
return this.eventTriggers;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getSpecifiedDisplayNode=function(){
var _1071=this.getElement().getAttribute("displayerId");
return document.getElementById(_1071);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.attributeSet=function(event){
var name=event.getName();
var value=event.getNewValue();
var _1075=this.getSetterFunctionForAttribute(name);
if(_1075){
_1075.call(this,value);
}else{
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.autoAttachBridgeEventsToPeerEvents=function(){
var _1076=this.findPeerEvents();
for(var aKey in _1076){
var _1078=_1076[aKey].src;
var _1079=_1076[aKey].methodName.split(".");
var _107a=_1079[_1079.length-1];
if(!this[_107a]){
this[_107a]=this.getOnXFunction(_107a);
}
dojo.event.connect(_1078,_107a,this,_107a);
}
if(!this._onCommandEvent){
this._onCommandEvent=this.getOnXFunction("onCommand");
}
dojo.event.connect(this.getPeer(),this.getPeerOnCommandEvent(),this,"_onCommandEvent");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getAllowedAttributes=function(){
var _107b=this.constructor;
var _107c=_107b.superclass;
if(_107b._allowedAttributes){
return _107b._allowedAttributes;
}else{
var _107d=[];
if(this.getNewAllowedAttributes!=_107c.getNewAllowedAttributes){
_107d=this.getNewAllowedAttributes();
}
if(_107c&&_107c&&_107c.getAllowedAttributes){
_107d=_107d.concat(_107c.getAllowedAttributes());
}
_107b._allowedAttributes=_107d.sort();
return _107d;
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setHtmlDomLocation=function(_107e){
var _107f=_107e;
if(this.getSpecifiedDisplayNode){
var _1080=this.getSpecifiedDisplayNode();
if(_1080){
_107f=_1080;
}
}
_107f.appendChild(this.getRootDomNode());
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getSetterFunctionForAttribute=function(name){
return this._getNameToSetterMap()[name];
};
xap.bridges.basic.AbstractWidgetBridge.prototype.initialiseAttributeMaps=function(){
this.constructor._nameToSetterMap={};
var _1082=this.getAllowedAttributes();
for(var i=0;i<_1082.length;i++){
var _1084=_1082[i];
var _1085=_1084.substring(0,1).toUpperCase();
if(_1084.length>1){
_1085+=_1084.substring(1);
}
this._getNameToSetterMap()[_1084]=this["set"+_1085+"Attribute"];
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getNewAllowedAttributes=function(){
return ["id","x","y","width","height","backgroundColor","backgroundImage","class","borderWidth","borderColor","borderStyle","margin","padding","color","cursor","textDecoration","fontFamily","fontStyle","fontWeight","fontSize","textAlign","popup","tooltip","focused","disabled","visible","onActiveGained","onActiveLost","onDoubleClick","onKeyDown","onKeyUp","onKeyChar","onMouseDown","onMouseUp","onMouseMove","onMouseOver","onMouseOut"];
};
xap.bridges.basic.AbstractWidgetBridge.prototype._getNameToSetterMap=function(){
return this.constructor._nameToSetterMap;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setIdAttribute=function(value){
if(this.getRootDomNode()){
this.getRootDomNode().setAttribute("id",value);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setBackgroundImageAttribute=function(value){
if(this.getRootDomNode()){
this.getRootDomNode().style.backgroundImage="url("+value+")";
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setCursorAttribute=function(value){
if(this.getRootDomNode()){
this.getRootDomNode().style.cursor=value;
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setVisibleAttribute=function(value){
var _108a=this.getRootDomNode();
if(!_108a){
return;
}
if(value=="false"){
if(_108a.style.visibility!="hidden"){
_108a.style.visibility="hidden";
this._oldDisplay=_108a.style.display;
_108a.style.display="none";
}
}else{
if(value=="true"){
if(_108a.style.visibility!="visible"){
_108a.style.visibility="visible";
if(this._oldDisplay){
_108a.style.display=this._oldDisplay;
delete this.oldDisplay;
}else{
_108a.style.display="";
}
}
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnActiveGainedAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"onfocus",this,"onActiveGained");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnActiveLostAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"onblur",this,"onActiveLost");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnDoubleClickAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"ondblclick",this,"onDblClick");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnKeyDownAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"onkeydown",this,"onKeyDown");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnKeyUpAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"onkeyup",this,"onKeyUp");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnKeyCharAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"onkeypress",this,"onKeyChar");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnMouseDownAttribute=function(value){
if(!this._wantsMouseEvents){
dojo.event.connectOnce(this.getRootDomNode(),"onmousedown",this,"onMouseDown");
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnMouseUpAttribute=function(value){
if(!this._wantsMouseEvents){
dojo.event.connectOnce(this.getRootDomNode(),"onmouseup",this,"onMouseUp");
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnMouseMoveAttribute=function(value){
dojo.event.connectOnce(this.getRootDomNode(),"onmousemove",this,"onMouseMove");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnMouseOverAttribute=function(value){
this._trackMouseOver();
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setOnMouseOutAttribute=function(value){
this._trackMouseOver();
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setXAttribute=function(value){
this.getRootDomNode().style.left=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setYAttribute=function(value){
this.getRootDomNode().style.top=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setWidthAttribute=function(value){
if(value.indexOf("px")!=-1){
dojo.html.setMarginBox(this.getRootDomNode(),{width:parseInt(value)});
}else{
this.getRootDomNode().style.width=value;
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setHeightAttribute=function(value){
if(value.indexOf("px")!=-1){
dojo.html.setMarginBox(this.getRootDomNode(),{height:parseInt(value)});
}else{
this.getRootDomNode().style.height=value;
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setBackgroundColorAttribute=function(value){
this.getRootDomNode().style.backgroundColor=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.resetSize=function(){
if(!this.getRootDomNode()||!this.getRootDomNode().parentNode){
return;
}
var size=this.getElement().getAttribute("width");
if(size){
this.setWidthAttribute(size);
}
size=this.getElement().getAttribute("height");
if(size){
this.setHeightAttribute(size);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setBorderWidthAttribute=function(value){
this.getRootDomNode().style.borderWidth=value;
this.resetSize();
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setBorderStyleAttribute=function(value){
this.getRootDomNode().style.borderStyle=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setBorderColorAttribute=function(value){
this.getRootDomNode().style.borderColor=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setColorAttribute=function(value){
this.getRootDomNode().style.color=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setFontFamilyAttribute=function(value){
this.getRootDomNode().style.fontFamily=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setFontSizeAttribute=function(value){
this.getRootDomNode().style.fontSize=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setFontStyleAttribute=function(value){
this.getRootDomNode().style.fontStyle=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setFontWeightAttribute=function(value){
this.getRootDomNode().style.fontWeight=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setMarginAttribute=function(value){
this.getRootDomNode().style.margin=value;
this.resetSize();
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setTextDecorationAttribute=function(value){
this.getRootDomNode().style.textDecoration=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setPaddingAttribute=function(value){
this.getRootDomNode().style.padding=value;
this.resetSize();
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setTextAlignAttribute=function(value){
this.getRootDomNode().style.textAlign=value;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setDisabledAttribute=function(value){
this._disabled=value=="true"?true:false;
if(this.getRootDomNode()){
this.getRootDomNode().disabled=this._disabled;
}
if(this._disabled){
this.addStyleState("Disabled");
}else{
this.removeStyleState("Disabled");
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setPopupAttribute=function(_10a9){
var _10aa="xap.bridges.dojo.PopupMenuBridge";
Xap.require(_10aa);
_10a9=_10a9.substring(1);
var _10ab=this.getUiDocument().getElementById(_10a9);
if(!_10ab){
return;
}
var _10ac=this.getUiContentHandler().getHandlerForElement(_10ab);
if(_10ac&&xap.bridges.dojo.PopupMenuBridge){
if(_10ac instanceof xap.bridges.dojo.PopupMenuBridge){
_10ac.bindDomNode(this.getRootDomNode());
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setTooltipAttribute=function(text){
var tmp=document.createElement("span");
document.body.appendChild(tmp);
var _10af=this.getRootDomNode();
if(!_10af.id){
_10af.id="rootNode_"+(this.getElement().getAttribute("id")).replace(":","_");
}
var args={connectId:_10af.id,caption:text};
if(!dojo.byId(_10af.id)){
args._connectNode=_10af;
}
var _10b1=dojo.widget.createWidget("richtexttooltip",args,tmp);
_10b1.domNode.enabled=false;
dojo.event.disconnect(_10b1.connectNode,"onmouseover",_10b1,"onMouseOver");
_10b1.connectNode=this.getRootDomNode();
dojo.event.connect(_10b1.connectNode,"onmouseover",_10b1,"onMouseOver");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setFocusedAttribute=function(text){
if(text=="true"){
this._requestFocus();
dojo.lang.setTimeout(this,"_requestFocus",0);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.addClassAttribute=function(_10b3){
var _10b4=_10b3.replace(/^\s+|\s+$/,"").replace(/\s+/," ");
var _10b5=_10b4.split(" ");
this.setStyleClassNames(this.getStyleClassNames().concat(_10b5));
var _10b6=this.getStylingNodesMap();
for(var _10b7 in _10b6){
var node=_10b6[_10b7];
if(!node){
continue;
}
for(var idx=0;idx<_10b5.length;++idx){
xap.util.CssUtils.addClass(node,_10b5[idx]+_10b7);
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.setClassAttribute=function(_10ba){
this.removeAllStyleClasses();
this.addClassAttribute(this.getCssStyleName());
this.addClassAttribute(_10ba);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getAllowedStyleStates=function(){
return ["","Disabled","Focused","MouseDown","MouseOver"];
};
xap.bridges.basic.AbstractWidgetBridge.prototype.removeStyleClass=function(_10bb){
var _10bc=_10bb.replace(/^\s+|\s+$/,"").replace(/\s+/," ");
var _10bd=_10bc.split(" ");
var _10be=this.getStyleClassNames();
var _10bf=[];
for(var _10c0=0;_10c0<_10be.length;++_10c0){
if(_10be[_10c0]!=_10bc){
_10bf.push(_10be[_10c0]);
}
}
this.setStyleClassNames(_10bf);
var _10c1=this.getStylingNodesMap();
var _10c2=this.getAllowedStyleStates();
for(var _10c3 in _10c1){
for(var ii=0;ii<_10c2.length;++_10c2){
xap.util.CssUtils.removeClass(_10c1[_10c3],_10bc+_10c3+_10c2[ii]);
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.removeAllStyleClasses=function(){
var _10c5=this.getStyleClassNames();
var _10c6=this.getStylingNodesMap();
var _10c7=this.getAllowedStyleStates();
for(var _10c8 in _10c6){
var node=_10c6[_10c8];
if(!node){
continue;
}
for(var jj=0;jj<_10c5.length;++jj){
for(var ii=0;ii<_10c7.length;++ii){
xap.util.CssUtils.removeClass(node,_10c5[jj]+_10c8+_10c7[ii]);
}
}
}
this.setStyleClassNames([]);
};
xap.bridges.basic.AbstractWidgetBridge.prototype._requestFocus=function(){
var _10cc=this.getRootDomNode();
if(_10cc&&_10cc.focus){
this._settingFocus=true;
_10cc.focus();
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onActiveGained=function(e){
if(!this._settingFocus){
this.addStyleState("Focused");
this.fireEvent("onActiveGained");
}else{
delete this._settingFocus;
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onActiveLost=function(e){
this.removeStyleState("Focused");
this.fireEvent("onActiveLost");
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onDblClick=function(e){
this.fireMouseEvent("onDoubleClick",e);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onMouseDown=function(e){
if(!this._disabled){
this.addStyleState("MouseDown");
this.fireMouseEvent("onMouseDown",e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onMouseUp=function(e){
if(!this._disabled){
this.removeStyleState("MouseDown");
this.fireMouseEvent("onMouseUp",e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onMouseMove=function(e){
if(!this._disabled){
this.fireMouseEvent("onMouseMove",e);
this.stopEvent(e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onMouseOver=function(e){
if(!this._disabled&&!this._isMouseOver){
if(this._wantsMouseEvents){
this.addStyleState("MouseOver");
}
this._isMouseOver=true;
dojo.event.disconnect(this.getRootDomNode(),this._onEnter,this,"onMouseOver");
this.fireMouseEvent("onMouseOver",e);
this.stopEvent(e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onMouseOut=function(e){
if(!this._disabled&&this._isMouseOver){
if(e.relatedTarget){
if(e.relatedTarget===e.currentTarget){
return;
}
try{
var _10d5=e.relatedTarget.parentNode;
while(_10d5!=null){
if(_10d5===e.currentTarget){
return;
}
_10d5=_10d5.parentNode;
}
}
catch(error){
_10d5=null;
}
}
this._isMouseOver=false;
if(this._wantsMouseEvents){
this.removeStyleState("MouseOver");
}
dojo.event.connect(this.getRootDomNode(),this._onEnter,this,"onMouseOver");
this.fireMouseEvent("onMouseOut",e);
this.stopEvent(e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onKeyDown=function(e){
if(!this._disabled){
this.fireKeyEvent("onKeyDown",e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onKeyUp=function(e){
if(!this._disabled){
this.fireKeyEvent("onKeyUp",e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.onKeyChar=function(e){
if(!this._disabled){
this.fireKeyEvent("onKeyChar",e);
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.stopEvent=function(evt){
if(window.event){
window.event.returnValue=false;
window.event.cancelBubble=true;
}else{
if(evt.preventDefault){
evt.preventDefault();
evt.stopPropagation();
}
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype._addKeyMods=function(event,_10db){
if(!_10db||!event){
return;
}
event.mods="";
var comma="";
if(_10db.shiftKey==1){
event.mods+="Shift";
comma=",";
}
if(_10db.ctrlKey==1){
event.mods+=comma+"Ctrl";
comma=",";
}
if(_10db.altKey==1){
event.mods+=comma+"Alt";
}
};
xap.bridges.basic.AbstractWidgetBridge.prototype.getMouseButtonNumber=function(_10dd){
var _10de=null;
var _10df=_10dd.button;
if(typeof _10df!="undefined"){
if(dojo.render.html.ie){
if(_10df==4){
_10de=3;
}else{
_10de=_10df;
}
}else{
if(_10df==0){
_10de=1;
}else{
if(_10df==1){
_10de=3;
}else{
_10de=_10df;
}
}
}
}
return _10de;
};
xap.bridges.basic.AbstractWidgetBridge.prototype.fireMouseEvent=function(_10e0,_10e1){
if(!this.getElement().getAttribute(_10e0)){
return;
}
var _10e2=new xap.session.ClientEvent(this.getElement(),this.getSession());
_10e2.htmlEvent=_10e1;
_10e2.clickX=_10e1.layerX;
_10e2.clickY=_10e1.layerY;
_10e2.buttonNumber=this.getMouseButtonNumber(_10e1);
this._addKeyMods(_10e2,_10e1);
this.fireEvent(_10e0,null,null,_10e2);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.fireKeyEvent=function(_10e3,_10e4){
if(!this.getElement().getAttribute(_10e3)){
return;
}
var _10e5=new xap.session.ClientEvent(this.getElement(),this.getSession());
_10e5.htmlEvent=_10e4;
var code;
if(_10e4.keyCode){
code=_10e4.keyCode;
}else{
if(_10e4.which){
code=_10e4.which;
}
}
var _10e7=String.fromCharCode(code);
_10e5.keyCode=code;
_10e5.keyChar=_10e7;
this._addKeyMods(_10e5,_10e4);
this.fireEvent(_10e3,null,null,_10e5);
};
xap.bridges.basic.AbstractWidgetBridge.prototype.attributeRemovers=new Object();
xap.bridges.basic.AbstractWidgetBridge.prototype.onAttributeRemoved=function(event){
var node=this.getRootDomNode();
var _10ea=event.getName();
if(this.attributeRemovers[_10ea]){
this.attributeRemovers[_10ea].call(this,event);
return;
}
if(node&&_10ea&&node.style&&node.style[_10ea]){
node.style[_10ea]="";
}
};
dojo.html.getBoxSizing=function(node){
if(dojo.render.html.ie){
if(node.nodeName=="input"||node.nodeName=="INPUT"||node.nodeName=="textarea"||node.nodeName=="TEXTAREA"){
return dojo.html.boxSizing.CONTENT_BOX;
}else{
if(node.nodeName=="table"||node.nodeName=="TABLE"||node.nodeName=="select"||node.nodeName=="SELECT"){
return dojo.html.boxSizing.BORDER_BOX;
}
}
return dojo.html.boxSizing.CONTENT_BOX;
}else{
if(node.nodeName=="input"||node.nodeName=="INPUT"||node.nodeName=="textarea"||node.nodeName=="TEXTAREA"){
return dojo.html.boxSizing.CONTENT_BOX;
}else{
if(node.nodeName=="table"||node.nodeName=="TABLE"){
return dojo.html.boxSizing.BORDER_BOX;
}
}
}
if((dojo.render.html.ie)||(dojo.render.html.opera)){
var cm=document["compatMode"];
if((cm=="BackCompat")||(cm=="QuirksMode")){
return dojo.html.boxSizing.BORDER_BOX;
}else{
return dojo.html.boxSizing.CONTENT_BOX;
}
}else{
if(arguments.length==0){
node=document.documentElement;
}
var _10ed=dojo.html.getStyle2(node,"-moz-box-sizing","MoxBoxSizing");
if(!_10ed){
_10ed=dojo.html.getStyle2(node,"box-sizing","boxSizing");
}
return (_10ed?_10ed:dojo.html.boxSizing.CONTENT_BOX);
}
};
Xap.provide("xap.bridges.basic.HtmlViewBridge");
Xap.require("xap.bridges.basic.AbstractWidgetBridge");
Xap.require("google.*");
xap.bridges.basic.HtmlViewBridge=function(){
};
Xap.setupClassAsSubclassOf("xap.bridges.basic.HtmlViewBridge","xap.bridges.basic.AbstractWidgetBridge");
xap.bridges.basic.HtmlViewBridge.prototype.init=function(){
xap.bridges.basic.AbstractWidgetBridge.prototype.init.call(this);
this.updatePeer(this.getPeer());
};
xap.bridges.basic.HtmlViewBridge.prototype.obtainPeer=function(){
var myDiv=document.createElement("div");
myDiv.style.overflow="auto";
this.setPeer(myDiv);
};
xap.bridges.basic.HtmlViewBridge.prototype.updatePeer=function(peer){
var _10f0="";
var _10f1=this.getElement().childNodes;
for(var n=0;n<_10f1.length;n++){
var _10f3=_10f1[n];
if(_10f3.nodeType==google.DOM_TEXT_NODE){
_10f0+=_10f3.nodeValue;
}else{
if(_10f3.nodeType==google.DOM_ELEMENT_NODE){
if(!this.getUiContentHandler().getHandlerForElement(_10f3)){
_10f0+=_10f3.toXmlWithoutAutoAssignedIds();
}
}
}
}
peer.innerHTML=_10f0;
};
xap.bridges.basic.HtmlViewBridge.prototype.onChildAdded=function(e){
xap.bridges.basic.AbstractWidgetBridge.prototype.onChildAdded.call(this,e);
var _10f5=e.getChange();
if(this.getUiContentHandler().getHandlerForElement(_10f5)){
return;
}
this.updatePeer(this.getPeer());
};
xap.bridges.basic.HtmlViewBridge.prototype.onChildRemoved=function(e){
xap.bridges.basic.AbstractWidgetBridge.prototype.onChildRemoved.call(this,e);
var _10f7=e.getChange();
if(this.getUiContentHandler().getHandlerForElement(_10f7)){
return;
}
this.updatePeer(this.getPeer());
};
xap.bridges.basic.HtmlViewBridge.prototype.getRootDomNode=function(){
return this.getPeer();
};
Xap.provide("xap.bridges.basic.XInclude");
Xap.require("xap.taghandling.AbstractTagImpl");
Xap.require("xap.xml.ParserFactory");
Xap.require("xap.util.Exception");
Xap.require("xap.requestservice.RequestService");
xap.bridges.basic.XInclude=function(){
xap.taghandling.AbstractTagImpl.call(this);
};
xap.bridges.basic.XInclude.prototype=new xap.taghandling.AbstractTagImpl;
xap.bridges.basic.XInclude.prototype.toString=function(){
return "xap.bridges.basic.XInclude";
};
xap.bridges.basic.XInclude.prototype.init=function(){
var href=this.getElement().getAttribute("href");
xap.taghandling.AbstractTagImpl.prototype.init.call(this);
if(href){
this.getSession().getRequestService().retrieveAsynchronously(href,this);
}
};
xap.bridges.basic.XInclude.prototype.requestFailed=function(url,_10fa){
this.getSession().handleException(new xap.util.Exception("Error loading xinclude with href "+this.getElement().getAttribute("href")));
};
xap.bridges.basic.XInclude.prototype.requestCompleted=function(url,_10fc){
try{
var _10fd=this.getElement();
var text=_10fc.responseText;
var _10ff=_10fd.getAttribute("parse");
var _1100=null;
if("text"==_10ff){
_1100=_10fd.ownerDocument.createTextNode(text);
}else{
var _1101=xap.xml.ParserFactory.getParser();
var _1102=_1101.parse(text,xap.requestservice.RequestService.urlToPath(url));
_1100=_1102.childNodes[0];
}
var index=_10fd.parentNode.indexOfChild(_10fd);
_10fd.parentNode.removeChild(_10fd);
_10fd.parentNode.insertChildAt(index,_1100);
}
catch(e){
this.getSession().handleException(new xap.util.Exception("Error loading xinclude with href "+this.getElement().getAttribute("href"),e));
}
};
Xap.provide("xap.widgets.Label");
xap.widgets.Label=function(){
this.table=document.createElement("table");
this._rootDomNode=this.table;
this.table.cellPadding="0px";
this.table.cellSpacing="0px";
this.td=document.createElement("td");
this.td.style.textAlign="left";
this.br=document.createElement("br");
var tbody=document.createElement("tbody");
var tr=document.createElement("tr");
this.table.appendChild(tbody);
tbody.appendChild(tr);
tr.appendChild(this.td);
this.div=document.createElement("div");
this.td.appendChild(this.div);
this.span=document.createElement("span");
this.span.style.verticalAlign="middle";
this.img=document.createElement("img");
this.img.style.verticalAlign="middle";
this.img.style.display="none";
this.div.appendChild(this.img);
this.div.appendChild(this.span);
xap.widgets.styleSet(this._rootDomNode,{overflow:"hidden"});
this.enabled=true;
this.text="";
this.imgURL="";
this.imgDisabledURL="";
this.richText="false";
this.textPlacementVertical="";
this.textPlacementHorizontal="";
this.setSelectable("false");
this.setEnabled("true");
this.setAutoWrap("false");
};
xap.widgets.Label.prototype._createHintImg=function(){
if(!this.hintImg){
this.hintImg=document.createElement("span");
this.hintImg
