You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by sm...@apache.org on 2007/12/18 20:42:26 UTC

svn commit: r605312 - in /portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed: common.js common.src.js

Author: smilek
Date: Tue Dec 18 11:42:25 2007
New Revision: 605312

URL: http://svn.apache.org/viewvc?rev=605312&view=rev
Log:
change ajax requests to set encoding to "utf-8" - fixes JS2-820 http://issues.apache.org/jira/browse/JS2-820

added jetspeed.widget.openDialog to common.js so that it can be used by dojo admin portlets (openDialog fixes the mozilla problem where text fields in dialog boxes would not show insertion point)


The following revision comments are from branches/JETSPEED-2.1.3 revisions which were not individually checked-in to trunk
=== ---------------------------------------------------------------- ===
[ from branches/JETSPEED-2.1.3 r598982 ] | ate | 2007-11-28 05:32:42 -0700 (Wed, 28 Nov 2007) | 2 lines

Fix for JS2-816: Jetspeed common javascript doesn't support running the portal under ROOT context
See: https://issues.apache.org/jira/browse/JS2-816
=== ---------------------------------------------------------------- ===
[ from branches/JETSPEED-2.1.3 r595411 ] | smilek | 2007-11-15 13:06:54 -0700 (Thu, 15 Nov 2007) | 1 line

major improvements to page editor (UI, config options, flow, no action layouts); support for create-new-page-on-edit
=== ---------------------------------------------------------------- ===
[ from branches/JETSPEED-2.1.3 r588399 ] | smilek | 2007-10-25 18:00:25 -0600 (Thu, 25 Oct 2007) | 1 line

added a second approach to loading indicator (jetspeed.url.loadingIndicatorStep) which uses separate images - this allows for the loading indicator to show progress when the browser is too bogged down to render the animated gif used in the normal loading indicator
=== ---------------------------------------------------------------- ===
[ from branches/JETSPEED-2.1.3 r584888 ] | smilek | 2007-10-15 14:15:45 -0600 (Mon, 15 Oct 2007) | 1 line

added try/catch block in stopEvent function for IE
=== ---------------------------------------------------------------- ===
[ from branches/JETSPEED-2.1.3 r583999 ] | smilek | 2007-10-11 18:36:47 -0600 (Thu, 11 Oct 2007) | 1 line

continuation of desktop overhaul
=== ---------------------------------------------------------------- ===
[ from branches/JETSPEED-2.1.3 r578915 ] | smilek | 2007-09-24 13:13:21 -0600 (Mon, 24 Sep 2007) | 1 line

desktop overhaul; moved debug code to debug.js
=== ---------------------------------------------------------------- ===

Modified:
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.js
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.src.js

Modified: portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.js
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.js?rev=605312&r1=605311&r2=605312&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.js (original)
+++ portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.js Tue Dec 18 11:42:25 2007
@@ -9,234 +9,203 @@
 if(!jetspeed.url){
 jetspeed.url={};
 }
+if(!jetspeed.om){
+jetspeed.om={};
+}
+if(!jetspeed.widget){
+jetspeed.widget={};
+}
 jetspeed.version={major:2,minor:1,patch:0,flag:"dev",revision:"",toString:function(){
 with(jetspeed.version){
 return major+"."+minor+"."+patch+flag+" ("+revision+")";
 }
 }};
+jetspeed.initcommon=function(){
+var _1=jetspeed;
 if(!window.dojo){
-jetspeed.no_dojo_load_notifying=false;
-jetspeed.no_dojo_post_load=false;
-jetspeed.pageLoadedListeners=[];
+var _1=jetspeed;
+_1.no_dojo_load_notifying=false;
+_1.no_dojo_post_load=false;
+_1.pageLoadedListeners=[];
 window.onload=function(){
 if(!window.dojo){
-jetspeed.no_dojo_load_notifying=true;
-jetspeed.no_dojo_post_load=true;
-var _1=jetspeed.pageLoadedListeners;
-for(var x=0;x<_1.length;x++){
-_1[x]();
+var _2=jetspeed;
+_2.no_dojo_load_notifying=true;
+_2.no_dojo_post_load=true;
+var _3=_2.pageLoadedListeners;
+for(var x=0;x<_3.length;x++){
+_3[x]();
 }
-jetspeed.pageLoadedListeners=[];
+_2.pageLoadedListeners=[];
 }
 };
-}
-jetspeed.addOnLoad=function(_3,_4){
-if(window.dojo){
-if(arguments.length==1){
-dojo.addOnLoad(_3);
-}else{
-dojo.addOnLoad(_3,_4);
-}
 }else{
-if(arguments.length==1){
-jetspeed.pageLoadedListeners.push(_3);
-}else{
-if(arguments.length>1){
-jetspeed.pageLoadedListeners.push(function(){
-_3[_4]();
-});
-}
+var _5=dojo.render.html;
+if(_5.ie){
+_1.UAie=true;
+if(_5.ie60||_5.ie50||_5.ie55){
+_1.UAie6=true;
 }
-if(jetspeed.no_dojo_post_load&&!jetspeed.no_dojo_load_notifying){
-jetspeed.callPageLoaded();
-}
-}
-};
-jetspeed.callPageLoaded=function(){
-if(typeof setTimeout=="object"){
-setTimeout("jetspeed.pageLoaded();",0);
-}else{
-jetspeed.pageLoaded();
-}
-};
-jetspeed.printobj=function(_5,_6,_7,_8){
-var _9=[];
-for(var _a in _5){
+_1.stopEvent=function(_6,_7){
 try{
-var _b=_5[_a];
-if(_8){
-if(dojo.lang.isArray(_b)){
-_b="["+_b.length+"]";
-}
-}
-_b=_b+"";
-if(!_7||_b.length>0){
-_9.push(_a+": "+_b);
+_6=_6||window.event;
+if(_6){
+_6.cancelBubble=true;
+_6.returnValue=false;
 }
 }
-catch(E){
-_9.push(_a+": ERROR - "+E.message);
+catch(ex){
+if(!_7&&djConfig.isDebug){
+dojo.debug("stopEvent ("+(typeof _6)+") failure: "+jetspeed.formatError(ex));
 }
 }
-_9.sort();
-var _c="";
-for(var i=0;i<_9.length;i++){
-if(_c.length>0){
-_c+=(_6?", ":"\r\n");
-}
-_c+=_9[i];
-}
-return _c;
 };
-jetspeed.println=function(_e){
-try{
-var _f=jetspeed.getDebugElement();
-if(!_f){
-_f=document.getElementsByTagName("body")[0]||document.body;
-}
-var div=document.createElement("div");
-div.appendChild(document.createTextNode(_e));
-_f.appendChild(div);
-}
-catch(e){
-try{
-document.write("<div>"+_e+"</div>");
-}
-catch(e2){
-window.status=_e;
-}
-}
+_1._stopEvent=function(_8){
+jetspeed.stopEvent(_8);
 };
-jetspeed.debugNodeTree=function(_11,_12){
-if(!_11){
-return;
-}
-if(_12){
-if(_12.length>0){
-jetspeed.println(_12);
-}
 }else{
-jetspeed.println("node: ");
-}
-if(_11.nodeType!=1&&_11.nodeType!=3){
-if(_11.length&&_11.length>0&&(_11[0].nodeType==1||_11[0].nodeType==3)){
-for(var i=0;i<_11.length;i++){
-jetspeed.debugNodeTree(_11[i]," ["+i+"]");
-}
+if(_5.mozilla){
+_1.UAmoz=true;
 }else{
-jetspeed.println(" node is not a node! "+_11.length);
+if(_5.safari){
+_1.UAsaf=true;
+}else{
+if(_5.opera){
+_1.UAope=true;
 }
-return;
 }
-if(_11.innerXML){
-jetspeed.println(_11.innerXML);
-}else{
-if(_11.xml){
-jetspeed.println(_11.xml);
-}else{
-if(typeof XMLSerializer!="undefined"){
-jetspeed.println((new XMLSerializer()).serializeToString(_11));
-}else{
-jetspeed.println(" node != null (IE no XMLSerializer)");
 }
+_1.stopEvent=function(_9){
+_9.preventDefault();
+_9.stopPropagation();
+};
+_1._stopEvent=function(_a){
+jetspeed.stopEvent(_a);
+};
 }
 }
 };
-jetspeed.debugShallow=function(obj,_15){
-if(_15){
-jetspeed.println(_15);
+jetspeed.addOnLoad=function(_b,_c){
+if(window.dojo){
+if(arguments.length==1){
+dojo.addOnLoad(_b);
 }else{
-jetspeed.println("Object: "+obj);
+dojo.addOnLoad(_b,_c);
 }
-var _16=[];
-for(var _17 in obj){
-try{
-_16.push(_17+": "+obj[_17]);
+}else{
+if(arguments.length==1){
+jetspeed.pageLoadedListeners.push(_b);
+}else{
+if(arguments.length>1){
+jetspeed.pageLoadedListeners.push(function(){
+_b[_c]();
+});
 }
-catch(E){
-_16.push(_17+": ERROR - "+E.message);
 }
+if(jetspeed.no_dojo_post_load&&!jetspeed.no_dojo_load_notifying){
+jetspeed.callPageLoaded();
 }
-_16.sort();
-for(var i=0;i<_16.length;i++){
-jetspeed.println(_16[i]);
 }
 };
-jetspeed.getDebugElement=function(_19){
-var _1a=null;
-try{
-var _1a=document.getElementById("debug_container");
-if(!_1a){
-var _1b=document.getElementsByTagName("body")[0]||document.body;
-var _1a=document.createElement("div");
-_1a.setAttribute("id","debug_container");
-_1b.appendChild(_1a);
+jetspeed.callPageLoaded=function(){
+if(typeof setTimeout=="object"){
+setTimeout("jetspeed.pageLoaded();",0);
 }else{
-if(_19){
-_1a.innerHTML="";
-}
-}
+jetspeed.pageLoaded();
 }
-catch(e){
-try{
+};
+jetspeed.getBody=function(){
+var _d=jetspeed;
+if(_d.docBody==null){
+_d.docBody=document.body||document.getElementsByTagName("body")[0];
 }
-catch(e2){
+return _d.docBody;
+};
+jetspeed.formatError=function(ex){
+if(ex==null){
+return "";
 }
+var _f=" error:";
+if(ex.message!=null){
+_f+=" "+ex.message;
+}
+var _10=ex.number||ex.lineNumber||ex.lineNo;
+if(_10==null||_10=="0"||_10.length==0){
+_10=null;
+}
+var _11=ex.fileName;
+if(_11!=null){
+var _12=_11.lastIndexOf("/");
+if(_12!=-1&&_12<(_11.length-1)){
+_11=_11.substring(_12+1);
+}
+}
+if(_11==null||_11.length==0){
+_11=null;
+}
+var _13=ex.type;
+if(_13==null||_13.length==0||_13=="unknown"){
+_13=null;
+}
+if(_10!=null||_11!=null||_13!=null){
+_f+=" ("+(_11!=null?(" "+_11):"");
+_f+=(_10!=null?(" line "+_10):"");
+_f+=(_13!=null?(" type "+_13):"");
+_f+=" )";
 }
-return _1a;
+return _f;
 };
-if(window.djConfig!=null&&window.djConfig.isDebug){
-var ch=String.fromCharCode(160);
-jetspeed.debugindentch=ch;
-jetspeed.debugindentH=ch+ch;
-jetspeed.debugindent=ch+ch+ch+ch;
-jetspeed.debugindent2=jetspeed.debugindent+jetspeed.debugindent;
-jetspeed.debugindent3=jetspeed.debugindent+jetspeed.debugindent+jetspeed.debugindent;
-}
 jetspeed.url.LOADING_INDICATOR_ID="js-showloading";
+jetspeed.url.LOADING_INDICATOR_IMG_ID="js-showloading-img";
 jetspeed.url.path={SERVER:null,JETSPEED:null,AJAX_API:null,DESKTOP:null,PORTAL:null,PORTLET:null,ACTION:null,RENDER:null,initialized:false};
-jetspeed.url.pathInitialize=function(_1c){
-if(!_1c&&jetspeed.url.path.initialized){
+jetspeed.url.pathInitialize=function(_14){
+var jsU=jetspeed.url;
+var _16=jsU.path;
+if(!_14&&_16.initialized){
 return;
 }
-var _1d=document.getElementsByTagName("base");
-var _1e=null;
-if(_1d&&_1d.length==1){
-_1e=_1d[0].href;
-}else{
-_1e=window.location.href;
-}
-var _1f=jetspeed.url.parse(_1e);
-var _20=_1f.path;
-var _21=-1;
-for(var _22=1;_21<=_22;_22++){
-_21=_20.indexOf("/",_22);
-if(_21==-1){
+var _17=document.getElementsByTagName("base");
+var _18=null;
+if(_17&&_17.length==1){
+_18=_17[0].href;
+}else{
+_18=window.location.href;
+}
+var _19=jsU.parse(_18);
+var _1a=_19.path;
+var _1b="";
+if(_19.scheme!=null){
+_1b+=_19.scheme+":";
+}
+if(_19.authority!=null){
+_1b+="//"+_19.authority;
+}
+var _1c=null;
+if(djConfig.jetspeed.rootContext){
+_1c="";
+}else{
+var _1d=-1;
+for(var _1e=1;_1d<=_1e;_1e++){
+_1d=_1a.indexOf("/",_1e);
+if(_1d==-1){
 break;
 }
 }
-var _23="";
-if(_1f.scheme!=null){
-_23+=_1f.scheme+":";
-}
-if(_1f.authority!=null){
-_23+="//"+_1f.authority;
-}
-var _24=null;
-if(_21==-1){
-_24=_20;
-}else{
-_24=_20.substring(0,_21);
-}
-jetspeed.url.path.JETSPEED=_24;
-jetspeed.url.path.SERVER=_23;
-jetspeed.url.path.AJAX_API=jetspeed.url.path.JETSPEED+"/ajaxapi";
-jetspeed.url.path.DESKTOP=jetspeed.url.path.JETSPEED+"/desktop";
-jetspeed.url.path.PORTAL=jetspeed.url.path.JETSPEED+"/portal";
-jetspeed.url.path.PORTLET=jetspeed.url.path.JETSPEED+"/portlet";
-jetspeed.url.path.ACTION=jetspeed.url.path.JETSPEED+"/action";
-jetspeed.url.path.RENDER=jetspeed.url.path.JETSPEED+"/render";
-jetspeed.url.path.initialized=true;
+if(_1d==-1){
+_1c=_1a;
+}else{
+_1c=_1a.substring(0,_1d);
+}
+}
+_16.JETSPEED=_1c;
+_16.SERVER=_1b;
+_16.AJAX_API=_16.JETSPEED+"/ajaxapi";
+_16.DESKTOP=_16.JETSPEED+"/desktop";
+_16.PORTAL=_16.JETSPEED+"/portal";
+_16.PORTLET=_16.JETSPEED+"/portlet";
+_16.ACTION=_16.JETSPEED+"/action";
+_16.RENDER=_16.JETSPEED+"/render";
+_16.initialized=true;
 };
 jetspeed.url.parse=function(url){
 if(url==null){
@@ -250,9 +219,9 @@
 jetspeed.url.JSUri=function(url){
 if(url!=null){
 if(!url.path){
-var _27="^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
-var r=url.toString().match(new RegExp(_27));
-var _29={};
+var _21="^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
+var r=url.toString().match(new RegExp(_21));
+var _23={};
 this.scheme=r[2]||(r[1]?"":null);
 this.authority=r[4]||(r[3]?"":null);
 this.path=r[5];
@@ -279,8 +248,8 @@
 jetspeed.url.scheme={HTTP_PREFIX:"http://",HTTP_PREFIX_LEN:"http://".length,HTTPS_PREFIX:"https://",HTTPS_PREFIX_LEN:"https://".length};
 jetspeed.url.isPortal=function(){
 if(window.djConfig&&window.djConfig.jetspeed){
-var _2b=window.djConfig.jetspeed.servletPath;
-if(_2b!=null&&_2b.toLowerCase().indexOf("/desktop")==0){
+var _25=window.djConfig.jetspeed.servletPath;
+if(_25!=null&&_25.toLowerCase().indexOf("/desktop")==0){
 return false;
 }
 }
@@ -308,247 +277,276 @@
 }
 return jetspeed.url.basePortalUrl()+jetspeed.url.path.JETSPEED;
 };
-jetspeed.url.addPath=function(url,_2d){
-if(_2d==null||_2d.length==0){
+jetspeed.url.addPath=function(url,_27){
+if(_27==null||_27.length==0){
 return url;
 }
-var _2e=new jetspeed.url.JSUri(url);
-var _2f=_2e.path;
-if(_2f!=null&&_2f.length>0){
-if(_2e.path.charCodeAt(_2f.length-1)==47){
-if(_2d.charCodeAt(0)==47){
-if(_2d.length>1){
-_2e.path+=_2d.substring(1);
+var _28=new jetspeed.url.JSUri(url);
+var _29=_28.path;
+if(_29!=null&&_29.length>0){
+if(_28.path.charCodeAt(_29.length-1)==47){
+if(_27.charCodeAt(0)==47){
+if(_27.length>1){
+_28.path+=_27.substring(1);
 }
 }else{
-_2e.path+=_2d;
+_28.path+=_27;
 }
 }else{
-if(_2d.charCodeAt(0)==47){
-_2e.path+=_2d;
+if(_27.charCodeAt(0)==47){
+_28.path+=_27;
 }else{
-if(_2d.length>1){
-_2e.path+="/"+_2d;
+if(_27.length>1){
+_28.path+="/"+_27;
 }
 }
 }
 }
-var _30=jetspeed.url.parse(_2e);
-return _30.toString();
+var _2a=jetspeed.url.parse(_28);
+return _2a.toString();
 };
-jetspeed.url.validateUrlStartsWithHttp=function(url){
+jetspeed.url.urlStartsWithHttp=function(url){
 if(url){
 var len=url.length;
-var _33=jetspeed.url.scheme.HTTPS_PREFIX_LEN;
-if(len>_33){
-var _34=jetspeed.url.scheme.HTTP_PREFIX_LEN;
-if(url.substring(0,_34)==jetspeed.url.scheme.HTTP_PREFIX){
+var _2d=jetspeed.url.scheme.HTTPS_PREFIX_LEN;
+if(len>_2d){
+var _2e=jetspeed.url.scheme.HTTP_PREFIX_LEN;
+if(url.substring(0,_2e)==jetspeed.url.scheme.HTTP_PREFIX){
 return true;
 }
-if(url.substring(0,_33)==jetspeed.url.scheme.HTTPS_PREFIX){
+if(url.substring(0,_2d)==jetspeed.url.scheme.HTTPS_PREFIX){
 return true;
 }
 }
 }
 return false;
 };
-jetspeed.url.addQueryParameter=function(_35,_36,_37,_38){
-if(_35==null){
-return _35;
+jetspeed.url.addQueryParameter=function(_2f,_30,_31,_32){
+if(_2f==null){
+return _2f;
 }
-if(!_35.path){
-_35=jetspeed.url.parse(_35);
+if(!_2f.path){
+_2f=jetspeed.url.parse(_2f);
 }
-if(_35==null){
+if(_2f==null){
 return null;
 }
-if(_36==null){
-return _35;
+if(_30==null){
+return _2f;
 }
-_35.jsQParamN=null;
-if(_38){
-_35=jetspeed.url.removeQueryParameter(_35,_36,false);
-}
-var _39=_35.query;
-if(_39==null){
-_39="";
-}
-var _3a=_39.length;
-if(_3a>0){
-_39+="&";
-}
-_39+=_36+"="+(_37!=null?_37:"");
-_35.query=_39;
-var _3b=new jetspeed.url.JSUri(_35);
-_35=jetspeed.url.parse(_3b);
-return _35;
-};
-jetspeed.url.removeAllQueryParameters=function(_3c){
-return jetspeed.url.removeQueryParameter(_3c,null,true);
-};
-jetspeed.url.removeQueryParameter=function(_3d,_3e,_3f){
-if(_3d==null){
-return _3d;
+_2f.jsQParamN=null;
+if(_32){
+_2f=jetspeed.url.removeQueryParameter(_2f,_30,false);
+}
+var _33=_2f.query;
+if(_33==null){
+_33="";
+}
+var _34=_33.length;
+if(_34>0){
+_33+="&";
+}
+_33+=_30+"="+(_31!=null?_31:"");
+_2f.query=_33;
+var _35=new jetspeed.url.JSUri(_2f);
+_2f=jetspeed.url.parse(_35);
+return _2f;
+};
+jetspeed.url.removeAllQueryParameters=function(_36){
+return jetspeed.url.removeQueryParameter(_36,null,true);
+};
+jetspeed.url.removeQueryParameter=function(_37,_38,_39){
+if(_37==null){
+return _37;
 }
-if(!_3d.path){
-_3d=jetspeed.url.parse(_3d);
+if(!_37.path){
+_37=jetspeed.url.parse(_37);
 }
-if(_3d==null){
+if(_37==null){
 return null;
 }
-_3d.jsQParamN=null;
-var _40=_3d.query;
-var _41=((_40!=null)?_40.length:0);
-if(_41>0){
-if(_3f){
-_40=null;
-}else{
-if(_3e==null){
-return _3d;
-}else{
-var _42=_3e;
-var _43=_40.indexOf(_42);
-if(_43==0){
-_40=jetspeed.url._removeQP(_40,_41,_42,_43);
+_37.jsQParamN=null;
+var _3a=_37.query;
+var _3b=((_3a!=null)?_3a.length:0);
+if(_3b>0){
+if(_39){
+_3a=null;
+}else{
+if(_38==null){
+return _37;
+}else{
+var _3c=_38;
+var _3d=_3a.indexOf(_3c);
+if(_3d==0){
+_3a=jetspeed.url._removeQP(_3a,_3b,_3c,_3d);
 }
-_42="&"+_3e;
+_3c="&"+_38;
 while(true){
-_41=((_40!=null)?_40.length:0);
-_43=_40.indexOf(_42,0);
-if(_43==-1){
+_3b=((_3a!=null)?_3a.length:0);
+_3d=_3a.indexOf(_3c,0);
+if(_3d==-1){
 break;
 }
-var _44=jetspeed.url._removeQP(_40,_41,_42,_43);
-if(_44==_40){
+var _3e=jetspeed.url._removeQP(_3a,_3b,_3c,_3d);
+if(_3e==_3a){
 break;
 }
-_40=_44;
+_3a=_3e;
 }
-if(_40.length>0){
-if(_40.charCodeAt(0)==38){
-_40=((_40.length>1)?_40.substring(1):"");
+if(_3a.length>0){
+if(_3a.charCodeAt(0)==38){
+_3a=((_3a.length>1)?_3a.substring(1):"");
 }
-if(_40.length>0&&_40.charCodeAt(0)==63){
-_40=((_40.length>1)?_40.substring(1):"");
+if(_3a.length>0&&_3a.charCodeAt(0)==63){
+_3a=((_3a.length>1)?_3a.substring(1):"");
 }
 }
 }
 }
-_3d.query=_40;
-var _45=new jetspeed.url.JSUri(_3d);
-_3d=jetspeed.url.parse(_45);
+_37.query=_3a;
+var _3f=new jetspeed.url.JSUri(_37);
+_37=jetspeed.url.parse(_3f);
 }
-return _3d;
+return _37;
 };
-jetspeed.url._removeQP=function(_46,_47,_48,_49){
-if(_49==-1){
-return _46;
+jetspeed.url._removeQP=function(_40,_41,_42,_43){
+if(_43==-1){
+return _40;
 }
-if(_47>(_49+_48.length)){
-var _4a=_46.charCodeAt(_49+_48.length);
-if(_4a==61){
-var _4b=_46.indexOf("&",_49+_48.length+1);
-if(_4b!=-1){
-if(_49>0){
-_46=_46.substring(0,_49)+_46.substring(_4b);
+if(_41>(_43+_42.length)){
+var _44=_40.charCodeAt(_43+_42.length);
+if(_44==61){
+var _45=_40.indexOf("&",_43+_42.length+1);
+if(_45!=-1){
+if(_43>0){
+_40=_40.substring(0,_43)+_40.substring(_45);
 }else{
-_46=((_4b<(_47-1))?_46.substring(_4b):"");
+_40=((_45<(_41-1))?_40.substring(_45):"");
 }
 }else{
-if(_49>0){
-_46=_46.substring(0,_49);
+if(_43>0){
+_40=_40.substring(0,_43);
 }else{
-_46="";
+_40="";
 }
 }
 }else{
-if(_4a==38){
-if(_49>0){
-_46=_46.substring(0,_49)+_46.substring(_49+_48.length);
+if(_44==38){
+if(_43>0){
+_40=_40.substring(0,_43)+_40.substring(_43+_42.length);
 }else{
-_46=_46.substring(_49+_48.length);
+_40=_40.substring(_43+_42.length);
 }
 }
 }
 }else{
-if(_47==(_49+_48.length)){
-_46="";
+if(_41==(_43+_42.length)){
+_40="";
 }
 }
-return _46;
+return _40;
 };
-jetspeed.url.getQueryParameter=function(_4c,_4d){
-if(_4c==null){
+jetspeed.url.getQueryParameter=function(_46,_47){
+if(_46==null){
 return null;
 }
-if(!_4c.authority||!_4c.scheme){
-_4c=jetspeed.url.parse(_4c);
+if(!_46.authority||!_46.scheme){
+_46=jetspeed.url.parse(_46);
 }
-if(_4c==null){
+if(_46==null){
 return null;
 }
-if(_4c.jsQParamN==null&&_4c.query){
-var _4e=new Array();
-var _4f=_4c.query.split("&");
-for(var i=0;i<_4f.length;i++){
-if(_4f[i]==null){
-_4f[i]="";
-}
-var _51=_4f[i].indexOf("=");
-if(_51>0&&_51<(_4f[i].length-1)){
-_4e[i]=unescape(_4f[i].substring(_51+1));
-_4f[i]=unescape(_4f[i].substring(0,_51));
-}else{
-_4e[i]="";
-}
-}
-_4c.jsQParamN=_4f;
-_4c.jsQParamV=_4e;
-}
-if(_4c.jsQParamN!=null){
-for(var i=0;i<_4c.jsQParamN.length;i++){
-if(_4c.jsQParamN[i]==_4d){
-return _4c.jsQParamV[i];
+if(_46.jsQParamN==null&&_46.query){
+var _48=new Array();
+var _49=_46.query.split("&");
+for(var i=0;i<_49.length;i++){
+if(_49[i]==null){
+_49[i]="";
+}
+var _4b=_49[i].indexOf("=");
+if(_4b>0&&_4b<(_49[i].length-1)){
+_48[i]=unescape(_49[i].substring(_4b+1));
+_49[i]=unescape(_49[i].substring(0,_4b));
+}else{
+_48[i]="";
+}
+}
+_46.jsQParamN=_49;
+_46.jsQParamV=_48;
+}
+if(_46.jsQParamN!=null){
+for(var i=0;i<_46.jsQParamN.length;i++){
+if(_46.jsQParamN[i]==_47){
+return _46.jsQParamV[i];
 }
 }
 }
 return null;
 };
+jetspeed.om.Id=function(){
+var _4c="";
+for(var i=0;i<arguments.length;i++){
+if(dojo.lang.isString(arguments[i])){
+if(_4c.length>0){
+_4c+="-";
+}
+_4c+=arguments[i];
+}else{
+if(dojo.lang.isObject(arguments[i])){
+for(var _4e in arguments[i]){
+this[_4e]=arguments[i][_4e];
+}
+}
+}
+}
+this.id=_4c;
+};
+jetspeed.om.Id.prototype={getId:function(){
+return this.id;
+}};
 if(window.dojo){
-jetspeed.url.BindArgs=function(_52){
-dojo.lang.mixin(this,_52);
+jetspeed.url.BindArgs=function(_4f){
+dojo.lang.mixin(this,_4f);
 if(!this.mimetype){
 this.mimetype="text/html";
 }
+if(!this.encoding){
+this.encoding="utf-8";
+}
 };
 dojo.lang.extend(jetspeed.url.BindArgs,{createIORequest:function(){
-var _53=new dojo.io.Request(this.url,this.mimetype);
-_53.fromKwArgs(this);
-return _53;
-},load:function(_54,_55,_56){
+var _50=new dojo.io.Request(this.url,this.mimetype);
+_50.fromKwArgs(this);
+return _50;
+},load:function(_51,_52,_53){
 try{
-var _57=null;
+var _54=null;
 if(this.debugContentDumpIds){
-_57=((this.domainModelObject&&dojo.lang.isFunction(this.domainModelObject.getId))?this.domainModelObject.getId():"");
-for(var _58=0;_58<this.debugContentDumpIds.length;_58++){
-if(_57.match(new RegExp(this.debugContentDumpIds[_58]))){
-if(dojo.lang.isString(_55)){
-dojo.debug("retrieveContent ["+(_57?_57:this.url)+"] content: "+_55);
-}else{
-var _59=dojo.dom.innerXML(_55);
-if(!_59){
-_59=(_55!=null?"!= null (IE no XMLSerializer)":"null");
+_54=((this.domainModelObject&&dojo.lang.isFunction(this.domainModelObject.getId))?this.domainModelObject.getId():((this.domainModelObject&&this.domainModelObject.id)?String(this.domainModelObject.id):""));
+var _55=false;
+for(var _56=0;_56<this.debugContentDumpIds.length;_56++){
+if(_54.match(new RegExp(this.debugContentDumpIds[_56]))){
+_55=true;
+break;
+}
 }
-dojo.debug("retrieveContent ["+(_57?_57:this.url)+"] xml-content: "+_59);
+if(_55){
+if(dojo.lang.isString(_52)){
+dojo.debug("retrieveContent ["+(_54?_54:this.url)+"] content: "+_52);
+}else{
+var _57=dojo.dom.innerXML(_52);
+if(!_57){
+_57=(_52!=null?"!= null (IE no XMLSerializer)":"null");
 }
+dojo.debug("retrieveContent ["+(_54?_54:this.url)+"] xml-content: "+_57);
 }
 }
 }
 if(this.contentListener&&dojo.lang.isFunction(this.contentListener.notifySuccess)){
-this.contentListener.notifySuccess(_55,this.url,this.domainModelObject,_56);
+this.contentListener.notifySuccess(_52,this.url,this.domainModelObject,_53);
 }else{
-_57=((this.domainModelObject&&dojo.lang.isFunction(this.domainModelObject.getId))?this.domainModelObject.getId():"");
-dojo.debug("retrieveContent ["+(_57?_57:this.url)+"] no valid contentListener");
+_54=((this.domainModelObject&&dojo.lang.isFunction(this.domainModelObject.getId))?this.domainModelObject.getId():"");
+dojo.debug("retrieveContent ["+(_54?_54:this.url)+"] no valid contentListener");
 }
 if(this.hideLoadingIndicator){
 jetspeed.url.loadingIndicatorHide();
@@ -558,12 +556,12 @@
 if(this.hideLoadingIndicator){
 jetspeed.url.loadingIndicatorHide();
 }
-throw e;
+dojo.raise("dojo.io.bind "+jetspeed.formatError(e));
 }
-},error:function(_5a,_5b){
+},error:function(_58,_59){
 try{
 if(this.contentListener&&dojo.lang.isFunction(this.contentListener.notifyFailure)){
-this.contentListener.notifyFailure(_5a,_5b,this.url,this.domainModelObject);
+this.contentListener.notifyFailure(_58,_59,this.url,this.domainModelObject);
 }
 if(this.hideLoadingIndicator){
 jetspeed.url.loadingIndicatorHide();
@@ -576,84 +574,140 @@
 throw e;
 }
 }});
-jetspeed.url.retrieveContent=function(_5c,_5d,_5e,_5f){
-if(!_5c){
-_5c={};
-}
-_5c.contentListener=_5d;
-_5c.domainModelObject=_5e;
-_5c.debugContentDumpIds=_5f;
-var _60=new jetspeed.url.BindArgs(_5c);
-if(_5c.showLoadingIndicator||(_5d&&!_5d.suppressLoadingIndicator&&_5c.showLoadingIndicator!=false)){
+jetspeed.url.retrieveContent=function(_5a,_5b,_5c,_5d){
+if(!_5a){
+_5a={};
+}
+_5a.contentListener=_5b;
+_5a.domainModelObject=_5c;
+_5a.debugContentDumpIds=_5d;
+var _5e=new jetspeed.url.BindArgs(_5a);
+if(_5a.showLoadingIndicator||(_5b&&!_5b.suppressLoadingIndicator&&_5a.showLoadingIndicator!=false)){
 if(jetspeed.url.loadingIndicatorShow()){
-_60.hideLoadingIndicator=true;
+_5e.hideLoadingIndicator=true;
 }
 }
-dojo.io.bind(_60.createIORequest());
+dojo.io.bind(_5e.createIORequest());
 };
-jetspeed.url.checkAjaxApiResponse=function(_61,_62,_63,_64,_65){
-var _66=false;
-var _67=_62.getElementsByTagName("status");
-if(_67!=null){
-var _68=_67[0].firstChild.nodeValue;
-if(_68=="success"){
-_66=true;
+jetspeed.url.checkAjaxApiResponse=function(_5f,_60,_61,_62,_63,_64){
+var _65=false;
+var _66=_60.getElementsByTagName("status");
+if(_66!=null){
+var _67=_66[0].firstChild.nodeValue;
+if(_67=="success"){
+_65=_67;
+}else{
+if(_61&&_61.length>0){
+for(var i=0;i<_61.length;i++){
+if(_67==_61[i]){
+_65=_67;
+break;
+}
 }
 }
-if((!_66&&_63)||_65){
-var _69=dojo.dom.innerXML(_62);
+}
+}
+if((!_65&&_62)||_64){
+var _69=dojo.dom.innerXML(_60);
 if(!_69){
-_69=(_62!=null?"!= null (IE no XMLSerializer)":"null");
+_69=(_60!=null?"!= null (IE no XMLSerializer)":"null");
 }
-if(_64==null){
-_64="ajax-api";
+if(_63==null){
+_63="ajax-api";
 }
-if(_66){
-dojo.debug(_64+" success  url="+_61+"  xml-content="+_69);
+if(_65){
+dojo.debug(_63+" success  url="+_5f+"  xml-content="+_69);
 }else{
-dojo.raise(_64+" failure  url="+_61+"  xml-content="+_69);
+dojo.raise(_63+" failure  url="+_5f+"  xml-content="+_69);
 }
 }
-return _66;
+return _65;
 };
-jetspeed.url.formatBindError=function(_6a){
-if(_6a==null){
-return "";
+jetspeed.url._loadingImgUpdate=function(_6a,_6b,_6c,doc,_6e,_6f){
+var _70=_6e.loadingImgProps;
+if(_70){
+var _71=doc.getElementById(_6f.LOADING_INDICATOR_ID);
+if(_71==null||!_71.style||_71.style.display=="none"){
+return;
+}
+var _72=_70.imganimated;
+var _73=doc.getElementById(_6f.LOADING_INDICATOR_IMG_ID);
+if(_72&&_73){
+var _74=_70._imgBaseUrl;
+if(_74==null){
+var _75=_70.imgdir;
+if(_75==null||_75.length==0){
+_74=false;
+}else{
+_74=_6e.getLayoutRootUrl()+_75;
+}
+_70._imgBaseUrl=_74;
+}
+if(_74){
+var _76=false;
+if((_6a||_6c)&&!_70._stepDisabled){
+var _77=_70.imgstepprefix;
+var _78=_70.imgstepextension;
+var _79=_70.imgsteps;
+if(_77&&_78&&_79){
+var _7a=_70._stepNext;
+if(_6b||_7a==null||_7a>=_79.length){
+_7a=0;
+}
+var _7b=_74+"/"+_77;
+if(!_6c){
+_73.src=_7b+_79[_7a]+_78;
+_76=true;
+_70._stepNext=_7a+1;
+}else{
+var _7c,_7d=Math.ceil(_79.length/1.8);
+for(var i=0;i<=_7d;i++){
+_7c=new Image();
+_7c.src=_7b+_79[i]+_78;
+}
+}
+}else{
+_70._stepDisabled=true;
+}
+}
+if(!_76&&!_6c){
+_73.src=_74+"/"+_72;
 }
-var msg=" error:";
-if(_6a.message!=null){
-msg+=" "+_6a.message;
-}
-if(_6a.number!=null&&_6a.number!="0"){
-msg+=" ("+_6a.number;
-if(_6a.type!=null&&_6a.type!="unknown"){
-msg+="/"+_6a.type;
-}
-msg+=")";
-}else{
-if(_6a.type!=null&&_6a.type!="unknown"){
-msg+=" ("+_6a.type+")";
-}
-}
-return msg;
-};
-jetspeed.url.loadingIndicatorShow=function(_6c){
-if(typeof _6c=="undefined"){
-_6c="loadpage";
-}
-var _6d=document.getElementById(jetspeed.url.LOADING_INDICATOR_ID);
-if(_6d!=null&&_6d.style){
-var _6e=null;
-if(jetspeed.prefs!=null&&jetspeed.prefs.desktopActionLabels!=null){
-_6e=jetspeed.prefs.desktopActionLabels[_6c];
-}
-if(_6e!=null&&_6e.length>0&&_6d.style["display"]=="none"){
-_6d.style["display"]="";
-if(_6c!=null){
-if(_6e!=null&&_6e.length>0){
-var _6f=document.getElementById(jetspeed.url.LOADING_INDICATOR_ID+"-content");
-if(_6f!=null){
-_6f.innerHTML=_6e;
+}
+}
+}
+};
+jetspeed.url.loadingIndicatorStep=function(_7f){
+var _80=_7f.url;
+_80._loadingImgUpdate(true,false,false,document,_7f.prefs,_80);
+};
+jetspeed.url.loadingIndicatorStepPreload=function(){
+var _81=jetspeed;
+var _82=_81.url;
+_82._loadingImgUpdate(true,false,true,document,_81.prefs,_82);
+};
+jetspeed.url.loadingIndicatorShow=function(_83,_84){
+var _85=jetspeed;
+var _86=_85.prefs;
+var _87=_85.url;
+var doc=document;
+if(typeof _83=="undefined"){
+_83="loadpage";
+}
+var _89=doc.getElementById(_87.LOADING_INDICATOR_ID);
+if(_89!=null&&_89.style){
+var _8a=null;
+if(_86!=null&&_86.desktopActionLabels!=null){
+_8a=_86.desktopActionLabels[_83];
+}
+if(_8a!=null&&_8a.length>0&&_89.style["display"]=="none"){
+_87._loadingImgUpdate(_84,true,false,doc,_86,_87);
+_89.style["display"]="";
+if(_83!=null){
+if(_8a!=null&&_8a.length>0){
+var _8b=doc.getElementById(_87.LOADING_INDICATOR_ID+"-content");
+if(_8b!=null){
+_8b.innerHTML=_8a;
 }
 }
 }
@@ -663,10 +717,42 @@
 return false;
 };
 jetspeed.url.loadingIndicatorHide=function(){
-var _70=document.getElementById(jetspeed.url.LOADING_INDICATOR_ID);
-if(_70!=null&&_70.style){
-_70.style["display"]="none";
+var _8c=document.getElementById(jetspeed.url.LOADING_INDICATOR_ID);
+if(_8c!=null&&_8c.style){
+_8c.style["display"]="none";
 }
 };
 }
+jetspeed.widget.openDialog=function(_8d){
+var _8e=jetspeed.UAmoz;
+if(_8e){
+_8d.domNode.style.position="fixed";
+if(!_8d._fixedIPtBug){
+var _8f=_8d;
+_8f.placeModalDialog=function(){
+var _90=dojo.html.getScroll().offset;
+var _91=dojo.html.getViewport();
+var mb;
+if(_8f.isShowing()){
+mb=dojo.html.getMarginBox(_8f.domNode);
+}else{
+dojo.html.setVisibility(_8f.domNode,false);
+dojo.html.show(_8f.domNode);
+mb=dojo.html.getMarginBox(_8f.domNode);
+dojo.html.hide(_8f.domNode);
+dojo.html.setVisibility(_8f.domNode,true);
+}
+var x=(_91.width-mb.width)/2;
+var y=(_91.height-mb.height)/2;
+with(_8f.domNode.style){
+left=x+"px";
+top=y+"px";
+}
+};
+_8f._fixedIPtBug=true;
+}
+}
+_8d.show();
+};
+jetspeed.initcommon();
 

Modified: portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.src.js
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.src.js?rev=605312&r1=605311&r2=605312&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.src.js (original)
+++ portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/javascript/jetspeed/common.src.js Tue Dec 18 11:42:25 2007
@@ -26,13 +26,20 @@
     dojo.require( "dojo.uri.Uri" );
 }
 
-// ... jetspeed base objects
+
+// jetspeed base objects
+
 if ( ! window.jetspeed )
     jetspeed = {};
 if ( ! jetspeed.url )
     jetspeed.url = {};
+if ( ! jetspeed.om )
+    jetspeed.om = {};
+if ( ! jetspeed.widget )
+    jetspeed.widget = {};
+
+// jetspeed version
 
-// ... jetspeed version
 jetspeed.version = 
 {
     major: 2, minor: 1, patch: 0, flag: "dev",
@@ -46,33 +53,91 @@
     }
 };
 
-if ( ! window.dojo )
+jetspeed.initcommon = function()
 {
-    jetspeed.no_dojo_load_notifying = false;
-    jetspeed.no_dojo_post_load = false;
-    jetspeed.pageLoadedListeners = [];
-
-    window.onload = function()
+    var jsObj = jetspeed;
+    if ( ! window.dojo )
     {
-        if ( ! window.dojo )
+        var jsObj = jetspeed;
+        jsObj.no_dojo_load_notifying = false;
+        jsObj.no_dojo_post_load = false;
+        jsObj.pageLoadedListeners = [];
+    
+        window.onload = function()
         {
-            jetspeed.no_dojo_load_notifying = true;
-            jetspeed.no_dojo_post_load = true;
-            var pll = jetspeed.pageLoadedListeners;
-	        for( var x=0; x < pll.length; x++ )
+            if ( ! window.dojo )
             {
-		        pll[x]();
-	        }
-            jetspeed.pageLoadedListeners = [];
+                var _jsObj = jetspeed;
+                _jsObj.no_dojo_load_notifying = true;
+                _jsObj.no_dojo_post_load = true;
+                var pll = _jsObj.pageLoadedListeners;
+    	        for( var x=0; x < pll.length; x++ )
+                {
+    		        pll[x]();
+    	        }
+                _jsObj.pageLoadedListeners = [];
+            }
+        };
+    }
+    else
+    {
+        var djRH = dojo.render.html;
+        if ( djRH.ie )
+        {
+            jsObj.UAie = true;
+            if ( djRH.ie60 || djRH.ie50 || djRH.ie55 )
+                jsObj.UAie6 = true;
+    
+            jsObj.stopEvent = function(/*Event*/evt, suppressErrors)
+            {   // do no use in event connect
+                try
+                {
+                    evt = evt || window.event;
+                    if ( evt )
+                    {
+                        evt.cancelBubble = true;
+                        evt.returnValue = false;
+                    }
+                }
+                catch(ex)
+                {
+                    if ( ! suppressErrors && djConfig.isDebug )
+                        dojo.debug( "stopEvent (" + ( typeof evt ) + ") failure: " + jetspeed.formatError( ex ) );
+                }
+    	    };
+    	    jsObj._stopEvent = function(/*Event*/evt)
+            {   // use in event connect
+                jetspeed.stopEvent( evt );
+        	};
         }
-    };
-};
+        else
+        {
+            if ( djRH.mozilla )
+                jsObj.UAmoz = true;
+            else if ( djRH.safari )
+                jsObj.UAsaf = true ;
+            else if ( djRH.opera )
+                jsObj.UAope = true ;
+    
+            jsObj.stopEvent = function(/*Event*/evt)
+            {   // do no use in event connect
+                evt.preventDefault();
+                evt.stopPropagation();
+        	};
+            jsObj._stopEvent = function(/*Event*/evt)
+            {   // use in event connect
+                jetspeed.stopEvent( evt );
+        	};
+        }
+    }
+}
+
 
-/*
-Call styles:
-	jetspeed.addOnLoad( functionPointer )
-	jetspeed.addOnLoad( object, "functionName" )
-*/
+
+
+// Call styles:
+//	jetspeed.addOnLoad( functionPointer )
+//	jetspeed.addOnLoad( object, "functionName" )
 jetspeed.addOnLoad = function( obj, fcnName )
 {
     if ( window.dojo )
@@ -114,166 +179,51 @@
 	}
 };
 
-jetspeed.printobj = function( obj, omitLineBreaks, omitEmptyValsProperties, arrayLengthsOnly )
+jetspeed.getBody = function()
 {
-    var props = [];
-    for( var prop in obj )
-    {
-        try
-        {
-            var propVal = obj[prop];
-            if ( arrayLengthsOnly )
-            {
-                if ( dojo.lang.isArray( propVal ) )
-                {
-                    propVal = "[" + propVal.length + "]";
-                }
-            }
-            propVal = propVal + "";
-            if ( ! omitEmptyValsProperties || propVal.length > 0 )
-                props.push( prop + ': ' + propVal );
-        }
-        catch(E)
-        {
-            props.push( prop + ': ERROR - ' + E.message );
-        }
-    }
-    props.sort();
-    var buff = "";
-    for( var i = 0; i < props.length; i++ )
-    {
-        if ( buff.length > 0 )
-            buff += ( omitLineBreaks ? ", " : "\r\n" );
-        buff += props[i];
-    }
-    return buff;
+    var jsObj = jetspeed;
+    if ( jsObj.docBody == null )
+        jsObj.docBody = document.body || document.getElementsByTagName( "body" )[0];
+    return jsObj.docBody;
 };
 
-jetspeed.println = function( line )
+jetspeed.formatError = function( ex )
 {
-    try
+    if ( ex == null ) return "";
+    var msg = " error:";
+    if ( ex.message != null )
+        msg += " " + ex.message;
+    var lineNo = ex.number||ex.lineNumber||ex.lineNo;
+    if ( lineNo == null || lineNo == "0" || lineNo.length == 0 )
+        lineNo = null;
+    var fileNm = ex.fileName;
+    if ( fileNm != null )
     {
-        var console = jetspeed.getDebugElement();
-        if( !console )
-        {
-            console = document.getElementsByTagName( "body" )[0] || document.body;
-        }
-        var div = document.createElement( "div" );
-        div.appendChild( document.createTextNode( line ) );
-        console.appendChild( div );
-    }
-    catch (e)
-    {
-        try
-        {   // safari needs the output wrapped in an element for some reason
-            document.write("<div>" + line + "</div>");
-        }
-        catch(e2)
-        {
-            window.status = line;
-        }
+        var lastDirSep = fileNm.lastIndexOf( "/" );
+        if ( lastDirSep != -1 && lastDirSep < (fileNm.length -1) )
+            fileNm = fileNm.substring( lastDirSep + 1 );
     }
-};
+    if ( fileNm == null || fileNm.length == 0 )
+        fileNm = null;
+    var errType = ex.type;
+    if ( errType == null || errType.length == 0 || errType == "unknown" )
+        errType = null;
 
-jetspeed.debugNodeTree = function( node, string )
-{
-    if ( ! node ) return ;
-    
-    if ( string )
-    {
-        if ( string.length > 0 )
-            jetspeed.println( string );
-    }
-    else
-    {
-        jetspeed.println( 'node: ' );
-    }
-    if ( node.nodeType != 1 && node.nodeType != 3 )
-    {
-        if ( node.length && node.length > 0 && ( node[0].nodeType == 1 || node[0].nodeType == 3 ) )
-        {
-            for ( var i = 0 ; i < node.length ; i++ )
-            {
-                jetspeed.debugNodeTree( node[i], " [" + i + "]" )
-            }
-        }
-        else
-        {
-            jetspeed.println( " node is not a node! " + node.length );
-        }   
-        return ;
-    }
-    if ( node.innerXML )
-    {
-        jetspeed.println( node.innerXML );
-    }
-    else if ( node.xml )
-    {
-        jetspeed.println( node.xml );
-    }
-    else if ( typeof XMLSerializer != "undefined" )
+    if ( lineNo != null || fileNm != null || errType != null )
     {
-        jetspeed.println( (new XMLSerializer()).serializeToString( node ) );
-    }
-    else
-    {
-        jetspeed.println( " node != null (IE no XMLSerializer)" );
+        msg += " (" + ( fileNm != null ? ( " " + fileNm ) : "" );
+        msg += ( lineNo != null ? (" line " + lineNo) : "" );
+        msg += ( errType != null ? (" type " + errType) : "" );
+        msg += " )";
     }
+    return msg;
 };
-jetspeed.debugShallow = function( obj, string )
-{
-    if ( string )
-        jetspeed.println( string );
-    else
-        jetspeed.println( 'Object: ' + obj );
-    var props = [];
-    for(var prop in obj){
-        try {
-            props.push(prop + ': ' + obj[prop]);
-        } catch(E) {
-            props.push(prop + ': ERROR - ' + E.message);
-        }
-    }
-    props.sort();
-    for(var i = 0; i < props.length; i++) {
-        jetspeed.println( props[i] );
-    }
-};
-jetspeed.getDebugElement = function( clear )
-{
-    var console = null ;
-    try {
-        var console = document.getElementById("debug_container");
-        if(!console)
-        {
-            var consoleContainer = document.getElementsByTagName("body")[0] || document.body;
-            var console = document.createElement("div");
-            console.setAttribute( "id", "debug_container" );
-            consoleContainer.appendChild(console);
-        }
-        else if ( clear )
-        {
-            console.innerHTML = "";
-        }
-    } catch (e) {
-        try {
 
-        } catch(e2){}
-    }
-    return console ;   
-};
-if ( window.djConfig != null && window.djConfig.isDebug )
-{
-    var ch = String.fromCharCode(0x00a0);
-    jetspeed.debugindentch = ch;
-    jetspeed.debugindentH = ch + ch;
-    jetspeed.debugindent = ch + ch + ch + ch;
-    jetspeed.debugindent2 = jetspeed.debugindent + jetspeed.debugindent;
-    jetspeed.debugindent3 = jetspeed.debugindent + jetspeed.debugindent + jetspeed.debugindent;
-}
 
-// ... jetspeed.url
+// jetspeed.url
+
 jetspeed.url.LOADING_INDICATOR_ID = "js-showloading";
+jetspeed.url.LOADING_INDICATOR_IMG_ID = "js-showloading-img";
 jetspeed.url.path =
 {
     SERVER: null,     //   http://localhost:8080
@@ -289,7 +239,9 @@
 
 jetspeed.url.pathInitialize = function( force )
 {
-    if ( ! force && jetspeed.url.path.initialized ) return;
+    var jsU = jetspeed.url;
+    var jsUP = jsU.path;
+    if ( ! force && jsUP.initialized ) return;
     var baseTags = document.getElementsByTagName( "base" );
 
     var baseTagHref = null;
@@ -298,40 +250,47 @@
     else
         baseTagHref = window.location.href;
 
-    var baseTag = jetspeed.url.parse( baseTagHref );
+    var baseTag = jsU.parse( baseTagHref );
 
     var basePath = baseTag.path;
     
-    var sepPos = -1;
-    for( var startPos =1 ; sepPos <= startPos ; startPos++ )
-    {
-        sepPos = basePath.indexOf( "/", startPos );
-        if ( sepPos == -1 )
-            break;
-    }
-
     var serverUri = "";
     if ( baseTag.scheme != null) { serverUri += baseTag.scheme + ":"; }
     if ( baseTag.authority != null) { serverUri += "//" + baseTag.authority; }
 
     var jetspeedPath = null;
-    if ( sepPos == -1 )
-        jetspeedPath = basePath;
+    if ( djConfig.jetspeed.rootContext )
+    {
+      jetspeedPath = "";
+    }
     else
+    {
+      var sepPos = -1;
+      for( var startPos =1 ; sepPos <= startPos ; startPos++ )
+      {
+        sepPos = basePath.indexOf( "/", startPos );
+        if ( sepPos == -1 )
+            break;
+      }
+
+      if ( sepPos == -1 )
+        jetspeedPath = basePath;
+      else
         jetspeedPath = basePath.substring( 0, sepPos );
+    } 
     
-    //dojo.debug( "pathInitialize  new-JETSPEED=" + jetspeedPath + " orig-JETSPEED=" + jetspeed.url.path.JETSPEED + " new-SERVER=" + serverUri + " orig-SERVER=" + document.location.protocol + "//" + document.location.host );
+    //dojo.debug( "pathInitialize  new-JETSPEED=" + jetspeedPath + " orig-JETSPEED=" + jsUP.JETSPEED + " new-SERVER=" + serverUri + " orig-SERVER=" + document.location.protocol + "//" + document.location.host );
     
-    jetspeed.url.path.JETSPEED = jetspeedPath;
-    jetspeed.url.path.SERVER = serverUri;
-    jetspeed.url.path.AJAX_API = jetspeed.url.path.JETSPEED + "/ajaxapi";
-    jetspeed.url.path.DESKTOP = jetspeed.url.path.JETSPEED + "/desktop";
-    jetspeed.url.path.PORTAL = jetspeed.url.path.JETSPEED + "/portal";
-    jetspeed.url.path.PORTLET = jetspeed.url.path.JETSPEED + "/portlet";
-    jetspeed.url.path.ACTION = jetspeed.url.path.JETSPEED + "/action";
-    jetspeed.url.path.RENDER = jetspeed.url.path.JETSPEED + "/render";
+    jsUP.JETSPEED = jetspeedPath;
+    jsUP.SERVER = serverUri;
+    jsUP.AJAX_API = jsUP.JETSPEED + "/ajaxapi";
+    jsUP.DESKTOP = jsUP.JETSPEED + "/desktop";
+    jsUP.PORTAL = jsUP.JETSPEED + "/portal";
+    jsUP.PORTLET = jsUP.JETSPEED + "/portlet";
+    jsUP.ACTION = jsUP.JETSPEED + "/action";
+    jsUP.RENDER = jsUP.JETSPEED + "/render";
 
-    jetspeed.url.path.initialized = true;
+    jsUP.initialized = true;
 };
 jetspeed.url.parse = function( url )
 {   // taken from dojo.uri.Uri
@@ -385,7 +344,7 @@
     }
 };
 jetspeed.url.scheme =
-{   // used to make jetspeed.url.validateUrlStartsWithHttp cleaner
+{   // used to make jetspeed.url.urlStartsWithHttp cleaner
     HTTP_PREFIX: "http://",
     HTTP_PREFIX_LEN: "http://".length,
     HTTPS_PREFIX: "https://",
@@ -460,7 +419,7 @@
     var urlObj = jetspeed.url.parse( modUri );
     return urlObj.toString();
 };
-jetspeed.url.validateUrlStartsWithHttp = function( url )
+jetspeed.url.urlStartsWithHttp = function( url )
 {
     if ( url )
     {
@@ -640,6 +599,38 @@
     return null;
 };
 
+
+// jetspeed.om.Id
+
+jetspeed.om.Id = function( /* ... */ )  // intended as a simple, general object with an id and a getId() function
+{
+    var idBuff = "";
+    for ( var i = 0; i < arguments.length; i++ )
+    {
+        if( dojo.lang.isString( arguments[i] ) )
+        {
+            if ( idBuff.length > 0 )
+                idBuff += "-";
+            idBuff += arguments[i];
+        }
+        else if ( dojo.lang.isObject( arguments[i] ) )
+        {
+            for ( var slotKey in arguments[i] )
+            {
+                this[ slotKey ] = arguments[i][slotKey];
+            }
+        }
+    }
+    this.id = idBuff;
+};
+jetspeed.om.Id.prototype =
+{
+    getId: function()
+    {
+        return this.id;
+    }
+};
+
 if ( window.dojo )
 {
     jetspeed.url.BindArgs = function( bindArgs )
@@ -648,6 +639,9 @@
     
         if ( ! this.mimetype )
             this.mimetype = "text/html";
+
+        if ( ! this.encoding )
+            this.encoding = "utf-8";
     };
     
     dojo.lang.extend( jetspeed.url.BindArgs,
@@ -672,20 +666,26 @@
                 var dmId = null;
                 if ( this.debugContentDumpIds )
                 {
-                    dmId = ( ( this.domainModelObject && dojo.lang.isFunction( this.domainModelObject.getId ) ) ? this.domainModelObject.getId() : "" );
+                    dmId = ( ( this.domainModelObject && dojo.lang.isFunction( this.domainModelObject.getId ) ) ? this.domainModelObject.getId() : ( ( this.domainModelObject && this.domainModelObject.id ) ? String( this.domainModelObject.id ) : "" ) );
+                    var outputResponse = false;
                     for ( var debugContentIndex = 0 ; debugContentIndex < this.debugContentDumpIds.length; debugContentIndex++ )
                     {
                         if ( dmId.match( new RegExp( this.debugContentDumpIds[ debugContentIndex ] ) ) )
                         {
-                            if ( dojo.lang.isString( data ) )
-                                dojo.debug( "retrieveContent [" + ( dmId ? dmId : this.url ) + "] content: " + data );
-                            else
-                            {
-                                var textContent = dojo.dom.innerXML( data );
-                                if ( ! textContent )
-                                    textContent = ( data != null ? "!= null (IE no XMLSerializer)" : "null" );
-                                dojo.debug( "retrieveContent [" + ( dmId ? dmId : this.url ) + "] xml-content: " + textContent );
-                            }
+                            outputResponse = true;
+                            break;
+                        }
+                    }
+                    if ( outputResponse )
+                    {
+                        if ( dojo.lang.isString( data ) )
+                            dojo.debug( "retrieveContent [" + ( dmId ? dmId : this.url ) + "] content: " + data );
+                        else
+                        {
+                            var textContent = dojo.dom.innerXML( data );
+                            if ( ! textContent )
+                                textContent = ( data != null ? "!= null (IE no XMLSerializer)" : "null" );
+                            dojo.debug( "retrieveContent [" + ( dmId ? dmId : this.url ) + "] xml-content: " + textContent );
                         }
                     }
                 }
@@ -705,10 +705,10 @@
             {
                 if ( this.hideLoadingIndicator )
                     jetspeed.url.loadingIndicatorHide();
-                throw e;
+                dojo.raise( "dojo.io.bind " + jetspeed.formatError( e ) );
             }
         },
-    
+
         error: function( type, error )
         {
             //dojo.debug( "r e t r i e v e C o n t e n t . e r r o r" ) ;
@@ -751,7 +751,7 @@
         dojo.io.bind( jetspeedBindArgs.createIORequest() ) ;
     };
     
-    jetspeed.url.checkAjaxApiResponse = function( requestUrl, data, reportError, apiRequestDescription, dumpOutput )
+    jetspeed.url.checkAjaxApiResponse = function( requestUrl, data, otherSuccessValues, reportError, apiRequestDescription, dumpOutput )
     {
         var success = false;
         var statusElmt = data.getElementsByTagName( "status" );
@@ -760,7 +760,18 @@
             var successVal = statusElmt[0].firstChild.nodeValue;
             if ( successVal == "success" )
             {
-                success = true;
+                success = successVal;
+            }
+            else if ( otherSuccessValues && otherSuccessValues.length > 0 )
+            {
+                for ( var i = 0 ; i < otherSuccessValues.length ; i++ )
+                {
+                    if ( successVal == otherSuccessValues[i] )
+                    {
+                        success = successVal;
+                        break;
+                    }
+                }
             }
         }
         if ( ( ! success && reportError ) || dumpOutput )
@@ -778,45 +789,111 @@
         return success;
     };
     
-    jetspeed.url.formatBindError = function( /* Object */ bindError )
+    jetspeed.url._loadingImgUpdate = function( useStepImgs, resetNextStep, stepPreloadOnly, doc, jsPrefs, jsUrl )
     {
-        if ( bindError == null ) return "";
-        var msg = " error:";
-        if ( bindError.message != null )
-            msg += " " + bindError.message;
-        if ( bindError.number != null && bindError.number != "0" )
+        var loadingProps = jsPrefs.loadingImgProps;
+        if ( loadingProps )
         {
-            msg += " (" + bindError.number;
-            if ( bindError.type != null && bindError.type != "unknown" )
-                msg += "/" + bindError.type;
-            msg += ")";
-        }
-        else if ( bindError.type != null && bindError.type != "unknown" )
-        {
-            msg += " (" + bindError.type + ")";
+            var loading = doc.getElementById( jsUrl.LOADING_INDICATOR_ID );
+            if ( loading == null || ! loading.style || loading.style.display == "none" )
+                return;
+            var imgAnimated = loadingProps.imganimated;
+            var loadingImgElmt = doc.getElementById( jsUrl.LOADING_INDICATOR_IMG_ID );
+            if ( imgAnimated && loadingImgElmt )
+            {
+                var imgBaseUrl = loadingProps._imgBaseUrl;
+                if ( imgBaseUrl == null )
+                {
+                    var imgDir = loadingProps.imgdir;
+                    if ( imgDir == null || imgDir.length == 0 )
+                        imgBaseUrl = false;
+                    else
+                        imgBaseUrl = jsPrefs.getLayoutRootUrl() + imgDir;
+                    loadingProps._imgBaseUrl = imgBaseUrl;
+                }
+                if ( imgBaseUrl )
+                {
+                    var srcSet = false;
+                    if ( ( useStepImgs || stepPreloadOnly ) && ! loadingProps._stepDisabled )
+                    {
+                        var stepPrefix = loadingProps.imgstepprefix;
+                        var stepExtn = loadingProps.imgstepextension;
+                        var steps = loadingProps.imgsteps;
+                        if ( stepPrefix && stepExtn && steps )
+                        {
+                            var nextStep = loadingProps._stepNext;
+                            if ( resetNextStep || nextStep == null || nextStep >= steps.length )
+                                nextStep = 0;
+                            var imgStepBaseUrl = imgBaseUrl + "/" + stepPrefix;
+                            if ( ! stepPreloadOnly )
+                            {
+                                loadingImgElmt.src = imgStepBaseUrl + steps[nextStep] + stepExtn;
+                                srcSet = true;
+                                loadingProps._stepNext = nextStep + 1;
+                            }
+                            else
+                            {
+                                var preloadImg, limit = Math.ceil( steps.length / 1.8 );
+                                for ( var i = 0 ; i <= limit ; i++ )
+                                {
+                                    preloadImg = new Image();
+                                    preloadImg.src = imgStepBaseUrl + steps[i] + stepExtn;
+                                }
+                            }
+                        }
+                        else
+                        {
+                            loadingProps._stepDisabled = true;
+                        }
+                    }
+                    if ( ! srcSet && ! stepPreloadOnly )
+                    {
+                        loadingImgElmt.src = imgBaseUrl + "/" + imgAnimated;
+                    }
+                }
+            }
         }
-        return msg;
     };
-    jetspeed.url.loadingIndicatorShow = function( actionName )
+
+    jetspeed.url.loadingIndicatorStep = function( jsObj )
+    {
+        var jsUrl = jsObj.url;
+        jsUrl._loadingImgUpdate( true, false, false, document, jsObj.prefs, jsUrl );
+    };
+
+    jetspeed.url.loadingIndicatorStepPreload = function()
     {
+        var jsObj = jetspeed;
+        var jsUrl = jsObj.url;
+        jsUrl._loadingImgUpdate( true, false, true, document, jsObj.prefs, jsUrl );
+    };
+
+    jetspeed.url.loadingIndicatorShow = function( actionName, useStepImgs )
+    {
+        var jsObj = jetspeed;
+        var jsPrefs = jsObj.prefs;
+        var jsUrl = jsObj.url;
+        var doc = document;
         if ( typeof actionName == "undefined" )
             actionName = "loadpage";
-        var loading = document.getElementById( jetspeed.url.LOADING_INDICATOR_ID );
+        var loading = doc.getElementById( jsUrl.LOADING_INDICATOR_ID );
         if ( loading != null && loading.style )
         {
             var actionlabel = null;
-            if ( jetspeed.prefs != null && jetspeed.prefs.desktopActionLabels != null )
-                actionlabel = jetspeed.prefs.desktopActionLabels[ actionName ];
+            if ( jsPrefs != null && jsPrefs.desktopActionLabels != null )
+                actionlabel = jsPrefs.desktopActionLabels[ actionName ];
 
             if ( actionlabel != null && actionlabel.length > 0 && loading.style[ "display" ] == "none" )
             {
+                jsUrl._loadingImgUpdate( useStepImgs, true, false, doc, jsPrefs, jsUrl );
+
                 loading.style[ "display" ] = "";
 
                 if ( actionName != null )
                 {
                     if ( actionlabel != null && actionlabel.length > 0 )
                     {
-                        var loadingContent = document.getElementById( jetspeed.url.LOADING_INDICATOR_ID + "-content" );
+                        var loadingContent = doc.getElementById( jsUrl.LOADING_INDICATOR_ID + "-content" );
                         if ( loadingContent != null )
                         {
                             loadingContent.innerHTML = actionlabel;
@@ -835,3 +912,46 @@
             loading.style[ "display" ] = "none";
     };
 }
+
+jetspeed.widget.openDialog = function( dialogWidget )
+{
+    var isMoz = jetspeed.UAmoz;
+    if ( isMoz )
+    {
+        dialogWidget.domNode.style.position = "fixed";  // this fix involves setting position to fixed instead of absolute,
+        if ( ! dialogWidget._fixedIPtBug )              // and the change to var x and var y initialization in placeModalDialog
+        {
+            var _dialog = dialogWidget;
+            _dialog.placeModalDialog = function() {
+                // summary: position modal dialog in center of screen
+
+                var scroll_offset = dojo.html.getScroll().offset;
+                var viewport_size = dojo.html.getViewport();
+    
+                // find the size of the dialog (dialog needs to be showing to get the size)
+                var mb;
+                if(_dialog.isShowing()){
+                    mb = dojo.html.getMarginBox(_dialog.domNode);
+                }else{
+                    dojo.html.setVisibility(_dialog.domNode, false);
+                    dojo.html.show(_dialog.domNode);
+                    mb = dojo.html.getMarginBox(_dialog.domNode);
+                    dojo.html.hide(_dialog.domNode);
+                    dojo.html.setVisibility(_dialog.domNode, true);
+                }
+                //var x = scroll_offset.x + (viewport_size.width - mb.width)/2;
+                //var y = scroll_offset.y + (viewport_size.height - mb.height)/2;
+                var x = (viewport_size.width - mb.width)/2;
+                var y = (viewport_size.height - mb.height)/2;
+                with(_dialog.domNode.style){
+                    left = x + "px";
+                    top = y + "px";
+                }
+            };
+            _dialog._fixedIPtBug = true;
+        }
+    }
+    dialogWidget.show();
+};
+
+jetspeed.initcommon();



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org