You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2009/03/19 11:37:20 UTC

svn commit: r755904 [39/40] - in /camel/trunk/components/camel-web/src/main/webapp/js/dojox: ./ analytics/ analytics/logger/ analytics/plugins/ analytics/profiles/ atom/ atom/io/ atom/widget/ atom/widget/nls/ atom/widget/nls/cs/ atom/widget/nls/de/ ato...

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/SlideShow.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/SlideShow.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/SlideShow.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/SlideShow.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,370 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.image.SlideShow"]){
+dojo._hasResource["dojox.image.SlideShow"]=true;
+dojo.provide("dojox.image.SlideShow");
+dojo.require("dojo.string");
+dojo.require("dojo.fx");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.declare("dojox.image.SlideShow",[dijit._Widget,dijit._Templated],{imageHeight:375,imageWidth:500,title:"",titleTemplate:"${title} <span class=\"slideShowCounterText\">(${current} of ${total})</span>",noLink:false,loop:true,hasNav:true,images:[],pageSize:20,autoLoad:true,autoStart:false,fixedHeight:false,imageStore:null,linkAttr:"link",imageLargeAttr:"imageUrl",titleAttr:"title",slideshowInterval:3,templateString:"<div dojoAttachPoint=\"outerNode\" class=\"slideShowWrapper\">\n\t<div style=\"position:relative;\" dojoAttachPoint=\"innerWrapper\">\n\t\t<div class=\"slideShowNav\" dojoAttachEvent=\"onclick: _handleClick\">\n\t\t\t<div class=\"dijitInline slideShowTitle\" dojoAttachPoint=\"titleNode\">${title}</div>\n\t\t</div>\n\t\t<div dojoAttachPoint=\"navNode\" class=\"slideShowCtrl\" dojoAttachEvent=\"onclick: _handleClick\">\n\t\t\t<span dojoAttachPoint=\"navPrev\" class=\"slideShowCtrlPrev\"></span>\n\t\t\t<span dojoAttachPoint=\"navPlay\" class=\"slideShowCtrlPlay\">
 </span>\n\t\t\t<span dojoAttachPoint=\"navNext\" class=\"slideShowCtrlNext\"></span>\n\t\t</div>\n\t\t<div dojoAttachPoint=\"largeNode\" class=\"slideShowImageWrapper\"></div>\t\t\n\t\t<div dojoAttachPoint=\"hiddenNode\" class=\"slideShowHidden\"></div>\n\t</div>\n</div>\n",_imageCounter:0,_tmpImage:null,_request:null,postCreate:function(){
+this.inherited(arguments);
+var _1=document.createElement("img");
+_1.setAttribute("width",this.imageWidth);
+_1.setAttribute("height",this.imageHeight);
+if(this.hasNav){
+dojo.connect(this.outerNode,"onmouseover",this,function(_2){
+try{
+this._showNav();
+}
+catch(e){
+}
+});
+dojo.connect(this.outerNode,"onmouseout",this,function(_3){
+try{
+this._hideNav(_3);
+}
+catch(e){
+}
+});
+}
+this.outerNode.style.width=this.imageWidth+"px";
+_1.setAttribute("src",this._blankGif);
+var _4=this;
+this.largeNode.appendChild(_1);
+this._tmpImage=this._currentImage=_1;
+this._fitSize(true);
+this._loadImage(0,dojo.hitch(this,"showImage",0));
+this._calcNavDimensions();
+},setDataStore:function(_5,_6,_7){
+this.reset();
+var _8=this;
+this._request={query:{},start:_6.start||0,count:_6.count||this.pageSize,onBegin:function(_9,_a){
+_8.maxPhotos=_9;
+}};
+if(_6.query){
+dojo.mixin(this._request.query,_6.query);
+}
+if(_7){
+dojo.forEach(["imageLargeAttr","linkAttr","titleAttr"],function(_b){
+if(_7[_b]){
+this[_b]=_7[_b];
+}
+},this);
+}
+var _c=function(_d){
+_8.maxPhotos=_d.length;
+_8.showImage(0);
+_8._request.onComplete=null;
+if(_8.autoStart){
+_8.toggleSlideShow();
+}
+};
+this.imageStore=_5;
+this._request.onComplete=_c;
+this._request.start=0;
+this.imageStore.fetch(this._request);
+},reset:function(){
+while(this.largeNode.firstChild){
+this.largeNode.removeChild(this.largeNode.firstChild);
+}
+this.largeNode.appendChild(this._tmpImage);
+while(this.hiddenNode.firstChild){
+this.hiddenNode.removeChild(this.hiddenNode.firstChild);
+}
+dojo.forEach(this.images,function(_e){
+if(_e&&_e.parentNode){
+_e.parentNode.removeChild(_e);
+}
+});
+this.images=[];
+this.isInitialized=false;
+this._imageCounter=0;
+},isImageLoaded:function(_f){
+return this.images&&this.images.length>_f&&this.images[_f];
+},moveImageLoadingPointer:function(_10){
+this._imageCounter=_10;
+},destroy:function(){
+if(this._slideId){
+this._stop();
+}
+this.inherited(arguments);
+},showNextImage:function(_11,_12){
+if(_11&&this._timerCancelled){
+return false;
+}
+if(this.imageIndex+1>=this.maxPhotos){
+if(_11&&(this.loop||_12)){
+this.imageIndex=-1;
+}else{
+if(this._slideId){
+this._stop();
+}
+return false;
+}
+}
+this.showImage(this.imageIndex+1,dojo.hitch(this,function(){
+if(_11){
+this._startTimer();
+}
+}));
+return true;
+},toggleSlideShow:function(){
+if(this._slideId){
+this._stop();
+}else{
+dojo.toggleClass(this.domNode,"slideShowPaused");
+this._timerCancelled=false;
+if(this.images[this.imageIndex]&&this.images[this.imageIndex]._img.complete){
+var _13=this.showNextImage(true,true);
+if(!_13){
+this._stop();
+}
+}else{
+var idx=this.imageIndex;
+var _15=dojo.subscribe(this.getShowTopicName(),dojo.hitch(this,function(_16){
+setTimeout(dojo.hitch(this,function(){
+if(_16.index==idx){
+var _17=this.showNextImage(true,true);
+if(!_17){
+this._stop();
+}
+dojo.unsubscribe(_15);
+}
+}),this.slideshowInterval*1000);
+}));
+}
+}
+},getShowTopicName:function(){
+return (this.widgetId||this.id)+"/imageShow";
+},getLoadTopicName:function(){
+return (this.widgetId?this.widgetId:this.id)+"/imageLoad";
+},showImage:function(_18,_19){
+if(!_19&&this._slideId){
+this.toggleSlideShow();
+}
+var _1a=this;
+var _1b=this.largeNode.getElementsByTagName("div");
+this.imageIndex=_18;
+var _1c=function(){
+if(_1a.images[_18]){
+while(_1a.largeNode.firstChild){
+_1a.largeNode.removeChild(_1a.largeNode.firstChild);
+}
+dojo.style(_1a.images[_18],"opacity",0);
+_1a.largeNode.appendChild(_1a.images[_18]);
+_1a._currentImage=_1a.images[_18]._img;
+_1a._fitSize();
+var _1d=function(a,b,c){
+var img=_1a.images[_18].firstChild;
+if(img.tagName.toLowerCase()!="img"){
+img=img.firstChild;
+}
+var _22=img.getAttribute("title")||"";
+if(_1a._navShowing){
+_1a._showNav(true);
+}
+dojo.publish(_1a.getShowTopicName(),[{index:_18,title:_22,url:img.getAttribute("src")}]);
+if(_19){
+_19(a,b,c);
+}
+_1a._setTitle(_22);
+};
+dojo.fadeIn({node:_1a.images[_18],duration:300,onEnd:_1d}).play();
+}else{
+_1a._loadImage(_18,function(){
+dojo.publish(_1a.getLoadTopicName(),[_18]);
+_1a.showImage(_18,_19);
+});
+}
+};
+if(_1b&&_1b.length>0){
+dojo.fadeOut({node:_1b[0],duration:300,onEnd:function(){
+_1a.hiddenNode.appendChild(_1b[0]);
+_1c();
+}}).play();
+}else{
+_1c();
+}
+},_fitSize:function(_23){
+if(!this.fixedHeight||_23){
+var _24=(this._currentImage.height+(this.hasNav?20:0));
+dojo.style(this.innerWrapper,"height",_24+"px");
+return;
+}
+dojo.style(this.largeNode,"paddingTop",this._getTopPadding()+"px");
+},_getTopPadding:function(){
+if(!this.fixedHeight){
+return 0;
+}
+return (this.imageHeight-this._currentImage.height)/2;
+},_loadNextImage:function(){
+if(!this.autoLoad){
+return;
+}
+while(this.images.length>=this._imageCounter&&this.images[this._imageCounter]){
+this._imageCounter++;
+}
+this._loadImage(this._imageCounter);
+},_loadImage:function(_25,_26){
+if(this.images[_25]||!this._request){
+return;
+}
+var _27=_25-(_25%this.pageSize);
+this._request.start=_27;
+this._request.onComplete=function(_28){
+var _29=_25-_27;
+if(_28&&_28.length>_29){
+_2a(_28[_29]);
+}else{
+}
+};
+var _2b=this;
+var _2a=function(_2c){
+var url=_2b.imageStore.getValue(_2c,_2b.imageLargeAttr);
+var img=new Image();
+var div=document.createElement("div");
+div._img=img;
+var _30=_2b.imageStore.getValue(_2c,_2b.linkAttr);
+if(!_30||_2b.noLink){
+div.appendChild(img);
+}else{
+var a=document.createElement("a");
+a.setAttribute("href",_30);
+a.setAttribute("target","_blank");
+div.appendChild(a);
+a.appendChild(img);
+}
+div.setAttribute("id",_2b.id+"_imageDiv"+_25);
+dojo.connect(img,"onload",function(){
+_2b._fitImage(img);
+div.setAttribute("width",_2b.imageWidth);
+div.setAttribute("height",_2b.imageHeight);
+dojo.publish(_2b.getLoadTopicName(),[_25]);
+setTimeout(_2b._loadNextImage,1);
+if(_26){
+_26();
+}
+});
+_2b.hiddenNode.appendChild(div);
+var _32=document.createElement("div");
+dojo.addClass(_32,"slideShowTitle");
+div.appendChild(_32);
+_2b.images[_25]=div;
+img.setAttribute("src",url);
+var _33=_2b.imageStore.getValue(_2c,_2b.titleAttr);
+if(_33){
+img.setAttribute("title",_33);
+}
+};
+this.imageStore.fetch(this._request);
+},_stop:function(){
+if(this._slideId){
+clearTimeout(this._slideId);
+}
+this._slideId=null;
+this._timerCancelled=true;
+dojo.removeClass(this.domNode,"slideShowPaused");
+},_prev:function(){
+if(this.imageIndex<1){
+return;
+}
+this.showImage(this.imageIndex-1);
+},_next:function(){
+this.showNextImage();
+},_startTimer:function(){
+var id=this.id;
+this._slideId=setTimeout(function(){
+dijit.byId(id).showNextImage(true);
+},this.slideshowInterval*1000);
+},_calcNavDimensions:function(){
+dojo.style(this.navNode,"position","absolute");
+dojo.style(this.navNode,"top","-10000px");
+dojo._setOpacity(this.navNode,99);
+this.navPlay._size=dojo.marginBox(this.navPlay);
+this.navPrev._size=dojo.marginBox(this.navPrev);
+this.navNext._size=dojo.marginBox(this.navNext);
+dojo._setOpacity(this.navNode,0);
+dojo.style(this.navNode,"position","");
+dojo.style(this.navNode,"top","");
+},_setTitle:function(_35){
+this.titleNode.innerHTML=dojo.string.substitute(this.titleTemplate,{title:_35,current:1+this.imageIndex,total:this.maxPhotos||""});
+},_fitImage:function(img){
+var _37=img.width;
+var _38=img.height;
+if(_37>this.imageWidth){
+_38=Math.floor(_38*(this.imageWidth/_37));
+img.height=_38;
+img.width=this.imageWidth;
+}
+if(_38>this.imageHeight){
+_37=Math.floor(_37*(this.imageHeight/_38));
+img.height=this.imageHeight;
+img.width=_37;
+}
+},_handleClick:function(e){
+switch(e.target){
+case this.navNext:
+this._next();
+break;
+case this.navPrev:
+this._prev();
+break;
+case this.navPlay:
+this.toggleSlideShow();
+break;
+}
+},_showNav:function(_3a){
+if(this._navShowing&&!_3a){
+return;
+}
+dojo.style(this.navNode,"marginTop","0px");
+dojo.style(this.navPlay,"marginLeft","0px");
+var _3b=dojo.marginBox(this.outerNode);
+var _3c=this._currentImage.height-this.navPlay._size.h-10+this._getTopPadding();
+if(_3c>this._currentImage.height){
+_3c+=10;
+}
+dojo[this.imageIndex<1?"addClass":"removeClass"](this.navPrev,"slideShowCtrlHide");
+dojo[this.imageIndex+1>=this.maxPhotos?"addClass":"removeClass"](this.navNext,"slideShowCtrlHide");
+var _3d=this;
+if(this._navAnim){
+this._navAnim.stop();
+}
+if(this._navShowing){
+return;
+}
+this._navAnim=dojo.fadeIn({node:this.navNode,duration:300,onEnd:function(){
+_3d._navAnim=null;
+}});
+this._navAnim.play();
+this._navShowing=true;
+},_hideNav:function(e){
+if(!e||!this._overElement(this.outerNode,e)){
+var _3f=this;
+if(this._navAnim){
+this._navAnim.stop();
+}
+this._navAnim=dojo.fadeOut({node:this.navNode,duration:300,onEnd:function(){
+_3f._navAnim=null;
+}});
+this._navAnim.play();
+this._navShowing=false;
+}
+},_overElement:function(_40,e){
+if(typeof (dojo)=="undefined"){
+return false;
+}
+_40=dojo.byId(_40);
+var m={x:e.pageX,y:e.pageY};
+var bb=dojo._getBorderBox(_40);
+var _44=dojo.coords(_40,true);
+var _45=_44.x;
+return (m.x>=_45&&m.x<=(_45+bb.w)&&m.y>=_44.y&&m.y<=(top+bb.h));
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/SlideShow.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/ThumbnailPicker.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/ThumbnailPicker.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/ThumbnailPicker.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/ThumbnailPicker.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,300 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.image.ThumbnailPicker"]){
+dojo._hasResource["dojox.image.ThumbnailPicker"]=true;
+dojo.provide("dojox.image.ThumbnailPicker");
+dojo.experimental("dojox.image.ThumbnailPicker");
+dojo.require("dojox.fx.scroll");
+dojo.require("dojo.fx.easing");
+dojo.require("dojo.fx");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+dojo.declare("dojox.image.ThumbnailPicker",[dijit._Widget,dijit._Templated],{imageStore:null,request:null,size:500,thumbHeight:75,thumbWidth:100,useLoadNotifier:false,useHyperlink:false,hyperlinkTarget:"new",isClickable:true,isScrollable:true,isHorizontal:true,autoLoad:true,linkAttr:"link",imageThumbAttr:"imageUrlThumb",imageLargeAttr:"imageUrl",pageSize:20,titleAttr:"title",templateString:"<div dojoAttachPoint=\"outerNode\" class=\"thumbOuter\">\n\t<div dojoAttachPoint=\"navPrev\" class=\"thumbNav thumbClickable\">\n\t  <img src=\"\" dojoAttachPoint=\"navPrevImg\"/>    \n\t</div>\n\t<div dojoAttachPoint=\"thumbScroller\" class=\"thumbScroller\">\n\t  <div dojoAttachPoint=\"thumbsNode\" class=\"thumbWrapper\"></div>\n\t</div>\n\t<div dojoAttachPoint=\"navNext\" class=\"thumbNav thumbClickable\">\n\t  <img src=\"\" dojoAttachPoint=\"navNextImg\"/>  \n\t</div>\n</div>\n",_thumbs:[],_thumbIndex:0,_maxPhotos:0,_loadedImages:{},postCreate:function(){
+this.widgetid=this.id;
+this.inherited(arguments);
+this.pageSize=Number(this.pageSize);
+this._scrollerSize=this.size-(51*2);
+var _1=this._sizeProperty=this.isHorizontal?"width":"height";
+dojo.style(this.outerNode,"textAlign","center");
+dojo.style(this.outerNode,_1,this.size+"px");
+dojo.style(this.thumbScroller,_1,this._scrollerSize+"px");
+if(this.useHyperlink){
+dojo.subscribe(this.getClickTopicName(),this,function(_2){
+var _3=_2.index;
+var _4=this.imageStore.getValue(_2.data,this.linkAttr);
+if(!_4){
+return;
+}
+if(this.hyperlinkTarget=="new"){
+window.open(_4);
+}else{
+window.location=_4;
+}
+});
+}
+if(this.isClickable){
+dojo.addClass(this.thumbsNode,"thumbClickable");
+}
+this._totalSize=0;
+this.init();
+},init:function(){
+if(this.isInitialized){
+return false;
+}
+var _5=this.isHorizontal?"Horiz":"Vert";
+dojo.addClass(this.navPrev,"prev"+_5);
+dojo.addClass(this.navNext,"next"+_5);
+dojo.addClass(this.thumbsNode,"thumb"+_5);
+dojo.addClass(this.outerNode,"thumb"+_5);
+this.navNextImg.setAttribute("src",this._blankGif);
+this.navPrevImg.setAttribute("src",this._blankGif);
+this.connect(this.navPrev,"onclick","_prev");
+this.connect(this.navNext,"onclick","_next");
+this.isInitialized=true;
+if(this.isHorizontal){
+this._offsetAttr="offsetLeft";
+this._sizeAttr="offsetWidth";
+this._scrollAttr="scrollLeft";
+}else{
+this._offsetAttr="offsetTop";
+this._sizeAttr="offsetHeight";
+this._scrollAttr="scrollTop";
+}
+this._updateNavControls();
+if(this.imageStore&&this.request){
+this._loadNextPage();
+}
+return true;
+},getClickTopicName:function(){
+return (this.widgetId||this.id)+"/select";
+},getShowTopicName:function(){
+return (this.widgetId||this.id)+"/show";
+},setDataStore:function(_6,_7,_8){
+this.reset();
+this.request={query:{},start:_7.start||0,count:_7.count||10,onBegin:dojo.hitch(this,function(_9){
+this._maxPhotos=_9;
+})};
+if(_7.query){
+dojo.mixin(this.request.query,_7.query);
+}
+if(_8){
+dojo.forEach(["imageThumbAttr","imageLargeAttr","linkAttr","titleAttr"],function(_a){
+if(_8[_a]){
+this[_a]=_8[_a];
+}
+},this);
+}
+this.request.start=0;
+this.request.count=this.pageSize;
+this.imageStore=_6;
+if(!this.init()){
+this._loadNextPage();
+}
+},reset:function(){
+this._loadedImages={};
+dojo.forEach(this._thumbs,function(_b){
+if(_b){
+if(_b.parentNode){
+_b.parentNode.removeChild(_b);
+}
+}
+});
+this._thumbs=[];
+this.isInitialized=false;
+this._noImages=true;
+},isVisible:function(_c){
+var _d=this._thumbs[_c];
+if(!_d){
+return false;
+}
+var _e=this.isHorizontal?"offsetLeft":"offsetTop";
+var _f=this.isHorizontal?"offsetWidth":"offsetHeight";
+var _10=this.isHorizontal?"scrollLeft":"scrollTop";
+var _11=_d[_e]-this.thumbsNode[_e];
+return (_11>=this.thumbScroller[_10]&&_11+_d[_f]<=this.thumbScroller[_10]+this._scrollerSize);
+},_next:function(){
+var pos=this.isHorizontal?"offsetLeft":"offsetTop";
+var _13=this.isHorizontal?"offsetWidth":"offsetHeight";
+var _14=this.thumbsNode[pos];
+var _15=this._thumbs[this._thumbIndex];
+var _16=_15[pos]-_14;
+var _17=-1,img;
+for(var i=this._thumbIndex+1;i<this._thumbs.length;i++){
+img=this._thumbs[i];
+if(img[pos]-_14+img[_13]-_16>this._scrollerSize){
+this._showThumbs(i);
+return;
+}
+}
+},_prev:function(){
+if(this.thumbScroller[this.isHorizontal?"scrollLeft":"scrollTop"]==0){
+return;
+}
+var pos=this.isHorizontal?"offsetLeft":"offsetTop";
+var _1b=this.isHorizontal?"offsetWidth":"offsetHeight";
+var _1c=this._thumbs[this._thumbIndex];
+var _1d=_1c[pos]-this.thumbsNode[pos];
+var _1e=-1,img;
+for(var i=this._thumbIndex-1;i>-1;i--){
+img=this._thumbs[i];
+if(_1d-img[pos]>this._scrollerSize){
+this._showThumbs(i+1);
+return;
+}
+}
+this._showThumbs(0);
+},_checkLoad:function(img,_22){
+dojo.publish(this.getShowTopicName(),[{index:_22}]);
+this._updateNavControls();
+this._loadingImages={};
+this._thumbIndex=_22;
+if(this.thumbsNode.offsetWidth-img.offsetLeft<(this._scrollerSize*2)){
+this._loadNextPage();
+}
+},_showThumbs:function(_23){
+_23=Math.min(Math.max(_23,0),this._maxPhotos);
+if(_23>=this._maxPhotos){
+return;
+}
+var img=this._thumbs[_23];
+if(!img){
+return;
+}
+var _25=img.offsetLeft-this.thumbsNode.offsetLeft;
+var top=img.offsetTop-this.thumbsNode.offsetTop;
+var _27=this.isHorizontal?_25:top;
+if((_27>=this.thumbScroller[this._scrollAttr])&&(_27+img[this._sizeAttr]<=this.thumbScroller[this._scrollAttr]+this._scrollerSize)){
+return;
+}
+if(this.isScrollable){
+var _28=this.isHorizontal?{x:_25,y:0}:{x:0,y:top};
+dojox.fx.smoothScroll({target:_28,win:this.thumbScroller,duration:300,easing:dojo.fx.easing.easeOut,onEnd:dojo.hitch(this,"_checkLoad",img,_23)}).play(10);
+}else{
+if(this.isHorizontal){
+this.thumbScroller.scrollLeft=_25;
+}else{
+this.thumbScroller.scrollTop=top;
+}
+this._checkLoad(img,_23);
+}
+},markImageLoaded:function(_29){
+var _2a=dojo.byId("loadingDiv_"+this.widgetid+"_"+_29);
+if(_2a){
+this._setThumbClass(_2a,"thumbLoaded");
+}
+this._loadedImages[_29]=true;
+},_setThumbClass:function(_2b,_2c){
+if(!this.autoLoad){
+return;
+}
+dojo.addClass(_2b,_2c);
+},_loadNextPage:function(){
+if(this._loadInProgress){
+return;
+}
+this._loadInProgress=true;
+var _2d=this.request.start+(this._noImages?0:this.pageSize);
+var pos=_2d;
+while(pos<this._thumbs.length&&this._thumbs[pos]){
+pos++;
+}
+var _2f=function(_30,_31){
+if(_30&&_30.length){
+var _32=0;
+var _33=dojo.hitch(this,function(){
+if(_32>=_30.length){
+this._loadInProgress=false;
+return;
+}
+var _34=_32++;
+this._loadImage(_30[_34],pos+_34,_33);
+});
+_33();
+this._updateNavControls();
+}else{
+this._loadInProgress=false;
+}
+};
+var _35=function(){
+this._loadInProgress=false;
+
+};
+this.request.onComplete=dojo.hitch(this,_2f);
+this.request.onError=dojo.hitch(this,_35);
+this.request.start=_2d;
+this._noImages=false;
+this.imageStore.fetch(this.request);
+},_loadImage:function(_36,_37,_38){
+var url=this.imageStore.getValue(_36,this.imageThumbAttr);
+var img=document.createElement("img");
+var _3b=document.createElement("div");
+_3b.setAttribute("id","img_"+this.widgetid+"_"+_37);
+_3b.appendChild(img);
+img._index=_37;
+img._data=_36;
+this._thumbs[_37]=_3b;
+var _3c;
+if(this.useLoadNotifier){
+_3c=document.createElement("div");
+_3c.setAttribute("id","loadingDiv_"+this.widgetid+"_"+_37);
+this._setThumbClass(_3c,this._loadedImages[_37]?"thumbLoaded":"thumbNotifier");
+_3b.appendChild(_3c);
+}
+var _3d=dojo.marginBox(this.thumbsNode);
+var _3e;
+var _3f;
+if(this.isHorizontal){
+_3e=this.thumbWidth;
+_3f="w";
+}else{
+_3e=this.thumbHeight;
+_3f="h";
+}
+_3d=_3d[_3f];
+var sl=this.thumbScroller.scrollLeft,st=this.thumbScroller.scrollTop;
+dojo.style(this.thumbsNode,this._sizeProperty,(_3d+_3e+20)+"px");
+this.thumbScroller.scrollLeft=sl;
+this.thumbScroller.scrollTop=st;
+this.thumbsNode.appendChild(_3b);
+dojo.connect(img,"onload",this,function(){
+var _42=dojo.marginBox(img)[_3f];
+this._totalSize+=(Number(_42)+4);
+dojo.style(this.thumbsNode,this._sizeProperty,this._totalSize+"px");
+if(this.useLoadNotifier){
+dojo.style(_3c,"width",(img.width-4)+"px");
+}
+dojo.style(_3b,"width",img.width+"px");
+_38();
+return false;
+});
+dojo.connect(img,"onclick",this,function(evt){
+dojo.publish(this.getClickTopicName(),[{index:evt.target._index,data:evt.target._data,url:img.getAttribute("src"),largeUrl:this.imageStore.getValue(_36,this.imageLargeAttr),title:this.imageStore.getValue(_36,this.titleAttr),link:this.imageStore.getValue(_36,this.linkAttr)}]);
+return false;
+});
+dojo.addClass(img,"imageGalleryThumb");
+img.setAttribute("src",url);
+var _44=this.imageStore.getValue(_36,this.titleAttr);
+if(_44){
+img.setAttribute("title",_44);
+}
+this._updateNavControls();
+},_updateNavControls:function(){
+var _45=[];
+var _46=function(_47,add){
+var fn=add?"addClass":"removeClass";
+dojo[fn](_47,"enabled");
+dojo[fn](_47,"thumbClickable");
+};
+var pos=this.isHorizontal?"scrollLeft":"scrollTop";
+var _4b=this.isHorizontal?"offsetWidth":"offsetHeight";
+_46(this.navPrev,(this.thumbScroller[pos]>0));
+var _4c=this._thumbs[this._thumbs.length-1];
+var _4d=(this.thumbScroller[pos]+this._scrollerSize<this.thumbsNode[_4b]);
+_46(this.navNext,_4d);
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/ThumbnailPicker.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/_base.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/_base.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/_base.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/_base.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,27 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.image._base"]){
+dojo._hasResource["dojox.image._base"]=true;
+dojo.provide("dojox.image._base");
+(function(d){
+var _2;
+dojox.image.preload=function(_3){
+if(!_2){
+_2=d.create("div",{style:{position:"absolute",top:"-9999px",display:"none"}},d.body());
+}
+d.forEach(_3,function(_4){
+d.create("img",{src:_4},_2);
+});
+};
+if(d.config.preloadImages){
+d.addOnLoad(function(){
+dojox.image.preload(d.config.preloadImages);
+});
+}
+})(dojo);
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/_base.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Badge.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Badge.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Badge.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Badge.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,30 @@
+
+.dojoxBadge {
+	position:relative;
+}
+.dojoxBadge .dojoxBadgeImage {
+	position:absolute;
+	top:0; left:0;
+	margin:0;
+	padding:0;
+}
+.dojoxBadge {
+	margin:0; padding:0;
+	border:1px solid #eee;
+}
+.dojoxBadge .dojoxBadgeImage {
+	overflow:hidden;
+	margin-left:1px;
+	margin-top:1px;
+	background:#ededed;
+	z-index:90;
+}
+.dojoxBadge .dojoxBadgeSeen {
+	background-color:#dedede;
+}
+.dojoxBadge .dojoxBadgeOver {
+	background-color:green !important;
+}
+.dojoxBadge .dojoxBadgeTop {
+	z-index:99;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Badge.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,5 @@
+
+.imageGalleryWrapper {
+	padding-bottom: 20px;
+	text-align: center;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.html
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.html?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.html (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.html Thu Mar 19 10:37:00 2009
@@ -0,0 +1,4 @@
+<div dojoAttachPoint="outerNode" class="imageGalleryWrapper">
+	<div dojoAttachPoint="thumbPickerNode"></div>
+	<div dojoAttachPoint="slideShowNode"></div>
+</div>
\ No newline at end of file

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Gallery.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,82 @@
+
+.dijitDialogUnderlay {
+	background-color:#000; 
+}
+.dojoxLightbox {
+	position:absolute;
+	z-index:999;
+	overflow:hidden;
+	width:100px;
+	height:100px; 
+	border:11px solid #fff;
+	background:#fff url('images/loading.gif') no-repeat center center;
+        
+	-webkit-box-shadow: 0px 6px 10px #636363; 
+	-webkit-border-radius: 3px;
+	-moz-border-radius:4px;
+        border-radius: 4px;
+}
+.dojoxLightboxContainer {
+	position:absolute;
+	top:0; left:0; 
+}
+.dojoxLightboxFooter {
+	height:50px; 
+	position:relative;
+	bottom:0;
+	left:0;
+	margin-top:8px;
+	color:#333;
+	z-index:1000;
+	font-size:10pt;
+}
+.dojoxLightboxGroupText {
+	color:#666; 
+	font-size:8pt;
+}
+.LightboxNext,
+.LightboxPrev,
+.LightboxClose {
+	float:right;
+	width:16px;
+	height:16px;
+	cursor:pointer;
+}
+.nihilo .LightboxClose,
+.tundra .LightboxClose {
+	background:url('images/close.png') no-repeat center center;
+}
+.di_ie6 .nihilo .LightboxClose,
+.dj_ie6 .tundra .LightboxClose {
+	background:url('images/close.gif') no-repeat center center;
+}
+.nihilo .LightboxNext,
+.tundra .LightboxNext {
+	background:url('images/right.png') no-repeat center center;
+}
+.dj_ie6 .nihilo .LightboxNext,
+.dj_ie6 .tundra .LightboxNext {
+	background:url('images/right.gif') no-repeat center center;
+}
+.nihilo .LightboxPrev,
+.tundra .LightboxPrev {
+	background:url('images/left.png') no-repeat center center;
+}
+.dj_ie6 .nihilo .LightboxPrev,
+.dj_ie6 .tundra .LightboxPrev {
+	background:url('images/left.gif') no-repeat center center;
+}
+.soria .LightboxClose,
+.soria .LightboxNext,
+.soria .LightboxPrev {
+	width:15px;
+	height:15px;
+	background:url('../../../dijit/themes/soria/images/spriteRoundedIconsSmall.png') no-repeat center center;
+	background-position:-60px;
+}
+.soria .LightboxNext {
+	background-position:-30px 0;
+}
+.soria .LightboxPrev {
+	background-position:0 0;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.html
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.html?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.html (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.html Thu Mar 19 10:37:00 2009
@@ -0,0 +1,13 @@
+<div class="dojoxLightbox" dojoAttachPoint="containerNode">
+	<div style="position:relative">
+		<div dojoAttachPoint="imageContainer" class="dojoxLightboxContainer">
+			<img dojoAttachPoint="imgNode" src="${imgUrl}" class="dojoxLightboxImage" alt="${title}">
+			<div class="dojoxLightboxFooter" dojoAttachPoint="titleNode">
+				<div class="dijitInline LightboxClose" dojoAttachPoint="closeNode"></div>
+				<div class="dijitInline LightboxNext" dojoAttachPoint="nextNode"></div>	
+				<div class="dijitInline LightboxPrev" dojoAttachPoint="prevNode"></div>
+				<div class="dojoxLightboxText"><span dojoAttachPoint="textNode">${title}</span><span dojoAttachPoint="groupCount" class="dojoxLightboxGroupText"></span></div>
+			</div>
+		</div>
+	</div>
+</div>
\ No newline at end of file

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Lightbox.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Magnifier.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Magnifier.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Magnifier.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Magnifier.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,5 @@
+.glassNode {
+	overflow:hidden;
+	position:absolute;
+	visibility:hidden;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/Magnifier.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,104 @@
+
+.slideShowWrapper { 
+	position:relative; 
+	background:#fff;
+	padding:8px; 
+	border:1px solid #333;	
+	padding-bottom:20px;
+	overflow:hidden;
+	text-align: center;
+	-moz-border-radius:3pt;
+	-webkit-border-radius:4pt;
+	-webkit-drop-shadow:#ccc 4pt; 
+}
+.slideShowNav { 
+	position:absolute;
+	bottom:-18px;	
+	left:0px;
+	padding:0px 3px 2px 0px;
+	background-color:#fff; 
+	width:100%;
+}
+.slideShowNavWrapper { float:right;  }
+.slideShowTitle {
+	float:left;
+	color:#333;
+	font-size:10pt;
+}
+.slideShowTitle .slideShowCounterText {
+	font-size:6pt; color:#666; 
+}
+.slideShowHidden {
+	position:absolute;
+	display: none;
+	height: 1px;
+	width: 1px;
+}
+.slideShowImageWrapper {
+	position:relative;
+	text-align: center;
+	margin-top: -42px;
+	float: left;
+	width: 100%;
+}
+.slideShowImageWrapper img {
+	border: 0px none;
+}
+.slideShowNotifier {
+	background-color: red;
+	width: 100px;
+	height: 5px;
+	font-size: 1%;
+}
+.slideShowSlideShow {
+	position:absolute;
+	top:30px; 
+	padding: 0 5px;
+	border: 0px;
+	text-decoration: none; 
+	color: #2e6ab1;
+}
+.slideShowLoading { background-color: #fad66a; }
+.slideShowLoaded { background-color: transparent; }
+.slideShowCtrlPrev {
+	background-position: -96px 0px; 
+	float: left;
+}
+.slideShowCtrlNext {
+	background-position: -144px 0px;
+	float: right;
+}
+.slideShowCtrlPlay {
+	background-position: -190px 0px;
+	position: absolute;
+}
+.slideShowPaused .slideShowCtrlPlay {
+	background-position: -236px 0px;
+	position: absolute;
+}
+.slideShowCtrl span.slideShowCtrlHide {
+	background-image: url("../../../dojo/resources/blank.gif");
+	cursor: auto;
+}
+.slideShowCtrl {
+	height: 50px;
+	width: 100%;
+	position: relative;
+	z-index:999;
+	float: left;
+}
+.slideShowCtrl span {
+	width: 50px;
+	height: 100%;
+	background-image: url("images/buttons.png");
+	cursor: pointer;
+}
+.dj_ie6 .slideShowCtrl span {
+	background-image: url("images/buttons.gif");
+}
+.dj_ie6 .slideShowPager li.currentpage,
+.dj_ie6 .pagination li.disablepage{
+    
+    margin-right: 5px;
+    padding-right: 0;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.html
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.html?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.html (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.html Thu Mar 19 10:37:00 2009
@@ -0,0 +1,14 @@
+<div dojoAttachPoint="outerNode" class="slideShowWrapper">
+	<div style="position:relative;" dojoAttachPoint="innerWrapper">
+		<div class="slideShowNav" dojoAttachEvent="onclick: _handleClick">
+			<div class="dijitInline slideShowTitle" dojoAttachPoint="titleNode">${title}</div>
+		</div>
+		<div dojoAttachPoint="navNode" class="slideShowCtrl" dojoAttachEvent="onclick: _handleClick">
+			<span dojoAttachPoint="navPrev" class="slideShowCtrlPrev"></span>
+			<span dojoAttachPoint="navPlay" class="slideShowCtrlPlay"></span>
+			<span dojoAttachPoint="navNext" class="slideShowCtrlNext"></span>
+		</div>
+		<div dojoAttachPoint="largeNode" class="slideShowImageWrapper"></div>		
+		<div dojoAttachPoint="hiddenNode" class="slideShowHidden"></div>
+	</div>
+</div>
\ No newline at end of file

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/SlideShow.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,108 @@
+
+.thumbWrapper .thumbNav {
+	background-repeat: no-repeat;	
+	background-position: center;
+	padding-top: 1px;
+	width: 30px;
+	height: 100%;
+}
+.thumbOuter {
+	padding-bottom: 2px;
+}
+.thumbOuter.thumbHoriz {
+	width: 500px;
+	height: 85px;
+}
+.thumbOuter.thumbVert {
+	width: 100px;
+	height: 400px;
+}
+.thumbOuter .enabled {
+	background: transparent url("images/buttons.png") no-repeat center center;
+}
+.dj_ie6 .thumbOuter .enabled { background-image: url("images/buttons.gif"); }
+.thumbOuter .thumbNav img {
+	width: 48px;
+	height: 75px;
+}
+.thumbOuter .thumbClickable div {
+	cursor: pointer;
+}
+.thumbOuter .prevHoriz {
+	background-position: -96px 12px;
+	position: relative;
+	float: left;
+	height: 100%;
+}
+.thumbOuter .nextHoriz {
+	background-position: -144px 12px;
+	position: relative;
+	float: right;
+	height: 100%;
+}
+.thumbOuter .prevVert {
+	background-position: 0px 0px;
+	height: 48px;
+	width:48px;
+	margin-left:24px;
+}
+.thumbOuter .nextVert {
+	background-position: -48px 0px;
+	height: 48px;
+	width:48px;
+	margin-left:24px;
+}
+.thumbWrapper img {
+	height: 75px;
+	max-width: 100px;
+	width: expression(this.width > 100 ? 100: true);
+}
+.thumbWrapper .thumbNav .imageGalleryThumb {
+	height: 50px;
+}
+.thumbWrapper .thumbNotifier {
+	background-color: red;
+	width: 0px;
+	margin-left: 2px;
+	height: 5px;
+	font-size: 1%;
+}
+.thumbWrapper .thumbLoaded {
+	background-color: transparent;	
+}
+.thumbScroller {
+	overflow-x: hidden;
+	overflow-y: hidden;
+	white-space: nowrap;
+	text-align: center;
+}
+.thumbHoriz .thumbScroller {
+	width: 500px;
+	height: 85px;
+	float: left;
+}
+.thumbVert .thumbScroller {
+	height: 500px;
+	width: 100px;	
+}
+.thumbWrapper {
+	float: left;
+}
+.thumbVert .thumbWrapper {
+	width: 100px;
+	height: 10px;
+}
+.thumbHoriz .thumbWapper {
+	height:85px;
+	width: 10px;
+}
+.thumbWrapper.thumbHoriz div {
+	float: left;
+	padding-right: 2px;
+}
+.thumbWrapper.thumbVert {
+	width: 100px;
+}
+.thumbWrapper.thumbVert div {
+	padding-bottom: 2px;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.html
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.html?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.html (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.html Thu Mar 19 10:37:00 2009
@@ -0,0 +1,11 @@
+<div dojoAttachPoint="outerNode" class="thumbOuter">
+	<div dojoAttachPoint="navPrev" class="thumbNav thumbClickable">
+	  <img src="" dojoAttachPoint="navPrevImg"/>    
+	</div>
+	<div dojoAttachPoint="thumbScroller" class="thumbScroller">
+	  <div dojoAttachPoint="thumbsNode" class="thumbWrapper"></div>
+	</div>
+	<div dojoAttachPoint="navNext" class="thumbNav thumbClickable">
+	  <img src="" dojoAttachPoint="navNextImg"/>  
+	</div>
+</div>
\ No newline at end of file

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/ThumbnailPicker.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/image.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/image.css?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/image.css (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/image.css Thu Mar 19 10:37:00 2009
@@ -0,0 +1,330 @@
+
+.dijitDialogUnderlay {
+	background-color:#000; 
+}
+.dojoxLightbox {
+	position:absolute;
+	z-index:999;
+	overflow:hidden;
+	width:100px;
+	height:100px; 
+	border:11px solid #fff;
+	background:#fff url(images/loading.gif) no-repeat center center;
+        
+	-webkit-box-shadow: 0px 6px 10px #636363; 
+	-webkit-border-radius: 3px;
+	-moz-border-radius:4px;
+        border-radius: 4px;
+}
+.dojoxLightboxContainer {
+	position:absolute;
+	top:0; left:0; 
+}
+.dojoxLightboxFooter {
+	height:50px; 
+	position:relative;
+	bottom:0;
+	left:0;
+	margin-top:8px;
+	color:#333;
+	z-index:1000;
+	font-size:10pt;
+}
+.dojoxLightboxGroupText {
+	color:#666; 
+	font-size:8pt;
+}
+.LightboxNext,
+.LightboxPrev,
+.LightboxClose {
+	float:right;
+	width:16px;
+	height:16px;
+	cursor:pointer;
+}
+.nihilo .LightboxClose,
+.tundra .LightboxClose {
+	background:url(images/close.png) no-repeat center center;
+}
+.di_ie6 .nihilo .LightboxClose,
+.dj_ie6 .tundra .LightboxClose {
+	background:url(images/close.gif) no-repeat center center;
+}
+.nihilo .LightboxNext,
+.tundra .LightboxNext {
+	background:url(images/right.png) no-repeat center center;
+}
+.dj_ie6 .nihilo .LightboxNext,
+.dj_ie6 .tundra .LightboxNext {
+	background:url(images/right.gif) no-repeat center center;
+}
+.nihilo .LightboxPrev,
+.tundra .LightboxPrev {
+	background:url(images/left.png) no-repeat center center;
+}
+.dj_ie6 .nihilo .LightboxPrev,
+.dj_ie6 .tundra .LightboxPrev {
+	background:url(images/left.gif) no-repeat center center;
+}
+.soria .LightboxClose,
+.soria .LightboxNext,
+.soria .LightboxPrev {
+	width:15px;
+	height:15px;
+	background:url(../../../dijit/themes/soria/images/spriteRoundedIconsSmall.png) no-repeat center center;
+	background-position:-60px;
+}
+.soria .LightboxNext {
+	background-position:-30px 0;
+}
+.soria .LightboxPrev {
+	background-position:0 0;
+}
+.slideShowWrapper { 
+	position:relative; 
+	background:#fff;
+	padding:8px; 
+	border:1px solid #333;	
+	padding-bottom:20px;
+	overflow:hidden;
+	text-align: center;
+	-moz-border-radius:3pt;
+	-webkit-border-radius:4pt;
+	-webkit-drop-shadow:#ccc 4pt; 
+}
+.slideShowNav { 
+	position:absolute;
+	bottom:-18px;	
+	left:0px;
+	padding:0px 3px 2px 0px;
+	background-color:#fff; 
+	width:100%;
+}
+.slideShowNavWrapper { float:right;  }
+.slideShowTitle {
+	float:left;
+	color:#333;
+	font-size:10pt;
+}
+.slideShowTitle .slideShowCounterText {
+	font-size:6pt; color:#666; 
+}
+.slideShowHidden {
+	position:absolute;
+	display: none;
+	height: 1px;
+	width: 1px;
+}
+.slideShowImageWrapper {
+	position:relative;
+	text-align: center;
+	margin-top: -42px;
+	float: left;
+	width: 100%;
+}
+.slideShowImageWrapper img {
+	border: 0px none;
+}
+.slideShowNotifier {
+	background-color: red;
+	width: 100px;
+	height: 5px;
+	font-size: 1%;
+}
+.slideShowSlideShow {
+	position:absolute;
+	top:30px; 
+	padding: 0 5px;
+	border: 0px;
+	text-decoration: none; 
+	color: #2e6ab1;
+}
+.slideShowLoading { background-color: #fad66a; }
+.slideShowLoaded { background-color: transparent; }
+.slideShowCtrlPrev {
+	background-position: -96px 0px; 
+	float: left;
+}
+.slideShowCtrlNext {
+	background-position: -144px 0px;
+	float: right;
+}
+.slideShowCtrlPlay {
+	background-position: -190px 0px;
+	position: absolute;
+}
+.slideShowPaused .slideShowCtrlPlay {
+	background-position: -236px 0px;
+	position: absolute;
+}
+.slideShowCtrl span.slideShowCtrlHide {
+	background-image: url(../../../dojo/resources/blank.gif);
+	cursor: auto;
+}
+.slideShowCtrl {
+	height: 50px;
+	width: 100%;
+	position: relative;
+	z-index:999;
+	float: left;
+}
+.slideShowCtrl span {
+	width: 50px;
+	height: 100%;
+	background-image: url(images/buttons.png);
+	cursor: pointer;
+}
+.dj_ie6 .slideShowCtrl span {
+	background-image: url(images/buttons.gif);
+}
+.dj_ie6 .slideShowPager li.currentpage,
+.dj_ie6 .pagination li.disablepage{
+    
+    margin-right: 5px;
+    padding-right: 0;
+}
+.thumbWrapper .thumbNav {
+	background-repeat: no-repeat;	
+	background-position: center;
+	padding-top: 1px;
+	width: 30px;
+	height: 100%;
+}
+.thumbOuter {
+	padding-bottom: 2px;
+}
+.thumbOuter.thumbHoriz {
+	width: 500px;
+	height: 85px;
+}
+.thumbOuter.thumbVert {
+	width: 100px;
+	height: 400px;
+}
+.thumbOuter .enabled {
+	background: transparent url(images/buttons.png) no-repeat center center;
+}
+.dj_ie6 .thumbOuter .enabled { background-image: url(images/buttons.gif); }
+.thumbOuter .thumbNav img {
+	width: 48px;
+	height: 75px;
+}
+.thumbOuter .thumbClickable div {
+	cursor: pointer;
+}
+.thumbOuter .prevHoriz {
+	background-position: -96px 12px;
+	position: relative;
+	float: left;
+	height: 100%;
+}
+.thumbOuter .nextHoriz {
+	background-position: -144px 12px;
+	position: relative;
+	float: right;
+	height: 100%;
+}
+.thumbOuter .prevVert {
+	background-position: 0px 0px;
+	height: 48px;
+	width:48px;
+	margin-left:24px;
+}
+.thumbOuter .nextVert {
+	background-position: -48px 0px;
+	height: 48px;
+	width:48px;
+	margin-left:24px;
+}
+.thumbWrapper img {
+	height: 75px;
+	max-width: 100px;
+	width: expression(this.width > 100 ? 100: true);
+}
+.thumbWrapper .thumbNav .imageGalleryThumb {
+	height: 50px;
+}
+.thumbWrapper .thumbNotifier {
+	background-color: red;
+	width: 0px;
+	margin-left: 2px;
+	height: 5px;
+	font-size: 1%;
+}
+.thumbWrapper .thumbLoaded {
+	background-color: transparent;	
+}
+.thumbScroller {
+	overflow-x: hidden;
+	overflow-y: hidden;
+	white-space: nowrap;
+	text-align: center;
+}
+.thumbHoriz .thumbScroller {
+	width: 500px;
+	height: 85px;
+	float: left;
+}
+.thumbVert .thumbScroller {
+	height: 500px;
+	width: 100px;	
+}
+.thumbWrapper {
+	float: left;
+}
+.thumbVert .thumbWrapper {
+	width: 100px;
+	height: 10px;
+}
+.thumbHoriz .thumbWapper {
+	height:85px;
+	width: 10px;
+}
+.thumbWrapper.thumbHoriz div {
+	float: left;
+	padding-right: 2px;
+}
+.thumbWrapper.thumbVert {
+	width: 100px;
+}
+.thumbWrapper.thumbVert div {
+	padding-bottom: 2px;
+}
+.imageGalleryWrapper {
+	padding-bottom: 20px;
+	text-align: center;
+}
+.dojoxBadge {
+	position:relative;
+}
+.dojoxBadge .dojoxBadgeImage {
+	position:absolute;
+	top:0; left:0;
+	margin:0;
+	padding:0;
+}
+.dojoxBadge {
+	margin:0; padding:0;
+	border:1px solid #eee;
+}
+.dojoxBadge .dojoxBadgeImage {
+	overflow:hidden;
+	margin-left:1px;
+	margin-top:1px;
+	background:#ededed;
+	z-index:90;
+}
+.dojoxBadge .dojoxBadgeSeen {
+	background-color:#dedede;
+}
+.dojoxBadge .dojoxBadgeOver {
+	background-color:green !important;
+}
+.dojoxBadge .dojoxBadgeTop {
+	z-index:99;
+}
+.glassNode {
+	overflow:hidden;
+	position:absolute;
+	visibility:hidden;
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/image.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/buttons.gif
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/buttons.gif?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/buttons.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/buttons.png
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/buttons.png?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/buttons.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close.gif
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close.gif?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close.png
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close.png?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close_dark.png
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close_dark.png?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/close_dark.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/left.gif
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/left.gif?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/left.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/left.png
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/left.png?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/left.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/loading.gif
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/loading.gif?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/loading.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/right.gif
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/right.gif?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/right.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/right.png
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/right.png?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/right.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/warning.png
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/warning.png?rev=755904&view=auto
==============================================================================
Binary file - no diff available.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/image/resources/images/warning.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/OAuth.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/OAuth.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/OAuth.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/OAuth.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,174 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.io.OAuth"]){
+dojo._hasResource["dojox.io.OAuth"]=true;
+dojo.provide("dojox.io.OAuth");
+dojo.require("dojox.encoding.digests.SHA1");
+dojox.io.OAuth=new (function(){
+var _1=this.encode=function(s){
+if(!s){
+return "";
+}
+return encodeURIComponent(s).replace(/\!/g,"%21").replace(/\*/g,"%2A").replace(/\'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29");
+};
+var _3=this.decode=function(_4){
+var a=[],_6=_4.split("&");
+for(var i=0,l=_6.length;i<l;i++){
+var _9=_6[i];
+if(_6[i]==""){
+continue;
+}
+if(_6[i].indexOf("=")>-1){
+var _a=_6[i].split("=");
+a.push([decodeURIComponent(_a[0]),decodeURIComponent(_a[1])]);
+}else{
+a.push([decodeURIComponent(_6[i]),null]);
+}
+}
+return a;
+};
+function _b(_c){
+var _d=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],_e=/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,_f=_e.exec(_c),map={},i=_d.length;
+while(i--){
+map[_d[i]]=_f[i]||"";
+}
+var p=map.protocol.toLowerCase(),a=map.authority.toLowerCase(),b=(p=="http"&&map.port==80)||(p=="https"&&map.port==443);
+if(b){
+if(a.lastIndexOf(":")>-1){
+a=a.substring(0,a.lastIndexOf(":"));
+}
+}
+var _15=map.path||"/";
+map.url=p+"://"+a+_15;
+return map;
+};
+var tab="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
+function _17(_18){
+var s="",tl=tab.length;
+for(var i=0;i<_18;i++){
+s+=tab.charAt(Math.floor(Math.random()*tl));
+}
+return s;
+};
+function _1c(){
+return Math.floor(new Date().valueOf()/1000)-2;
+};
+function _1d(_1e,key,_20){
+if(_20&&_20!="PLAINTEXT"&&_20!="HMAC-SHA1"){
+throw new Error("dojox.io.OAuth: the only supported signature encodings are PLAINTEXT and HMAC-SHA1.");
+}
+if(_20=="PLAINTEXT"){
+return key;
+}else{
+return dojox.encoding.digests.SHA1._hmac(_1e,key);
+}
+};
+function key(_22){
+return _1(_22.consumer.secret)+"&"+(_22.token&&_22.token.secret?_1(_22.token.secret):"");
+};
+function _23(_24,oaa){
+var o={oauth_consumer_key:oaa.consumer.key,oauth_nonce:_17(16),oauth_signature_method:oaa.sig_method||"HMAC-SHA1",oauth_timestamp:_1c(),oauth_version:"1.0"};
+if(oaa.token){
+o.oauth_token=oaa.token.key;
+}
+_24.content=dojo.mixin(_24.content||{},o);
+};
+function _27(_28){
+var _29=[{}],_2a;
+if(_28.form){
+if(!_28.content){
+_28.content={};
+}
+var _2b=dojo.byId(_28.form);
+var _2c=_2b.getAttributeNode("action");
+_28.url=_28.url||(_2c?_2c.value:null);
+_2a=dojo.formToObject(_2b);
+delete _28.form;
+}
+if(_2a){
+_29.push(_2a);
+}
+if(_28.content){
+_29.push(_28.content);
+}
+var map=_b(_28.url);
+if(map.query){
+var tmp=dojo.queryToObject(map.query);
+for(var p in tmp){
+tmp[p]=encodeURIComponent(tmp[p]);
+}
+_29.push(tmp);
+}
+_28._url=map.url;
+var a=[];
+for(var i=0,l=_29.length;i<l;i++){
+var _33=_29[i];
+for(var p in _33){
+if(dojo.isArray(_33[p])){
+for(var j=0,jl=_33.length;j<jl;j++){
+a.push([p,_33[j]]);
+}
+}else{
+a.push([p,_33[p]]);
+}
+}
+}
+_28._parameters=a;
+return _28;
+};
+function _36(_37,_38,oaa){
+_23(_38,oaa);
+_27(_38);
+var a=_38._parameters;
+a.sort(function(a,b){
+if(a[0]>b[0]){
+return 1;
+}
+if(a[0]<b[0]){
+return -1;
+}
+if(a[1]>b[1]){
+return 1;
+}
+if(a[1]<b[1]){
+return -1;
+}
+return 0;
+});
+var s=dojo.map(a,function(_3e){
+return _1(_3e[0])+"%3D"+_1(_3e[1]||"");
+}).join("%26");
+var _3f=_37.toUpperCase()+"&"+_1(_38._url)+"&"+s;
+return _3f;
+};
+function _40(_41,_42,oaa){
+var k=key(oaa),_45=_36(_41,_42,oaa),s=_1d(_45,k,oaa.sig_method||"HMAC-SHA1");
+_42.content["oauth_signature"]=s;
+return _42;
+};
+this.sign=function(_47,_48,oaa){
+return _40(_47,_48,oaa);
+};
+this.xhr=function(_4a,_4b,oaa,_4d){
+_40(_4a,_4b,oaa);
+return dojo.xhr(_4a,_4b,_4d);
+};
+this.xhrGet=function(_4e,oaa){
+return this.xhr("GET",_4e,oaa);
+};
+this.xhrPost=this.xhrRawPost=function(_50,oaa){
+return this.xhr("POST",_50,oaa,true);
+};
+this.xhrPut=this.xhrRawPut=function(_52,oaa){
+return this.xhr("PUT",_52,oaa,true);
+};
+this.xhrDelete=function(_54,oaa){
+return this.xhr("DELETE",_54,oaa);
+};
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/OAuth.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/README?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/README Thu Mar 19 10:37:00 2009
@@ -0,0 +1,82 @@
+-------------------------------------------------------------------------------
+DojoX IO
+-------------------------------------------------------------------------------
+Version 0.4.0
+Release date: 07/04/2008
+-------------------------------------------------------------------------------
+Project state:
+experimental
+-------------------------------------------------------------------------------
+Credits
+	Bryan Forbes (bryan AT reigndropsfall.net)
+	Kris Zyp (kris AT sitepen.com)
+	James Burke (jburke AT dojotoolkit.org)
+	Tom Trenka (ttrenka AT gmail.com)
+	
+-------------------------------------------------------------------------------
+Project description
+
+	A Collection of advanced and experimental IO modules:
+	
+	* scriptFrame.js - Uses an iframe for dojo.io.script requests. Useful in some
+	long-polling comet situations in Firefox and Opera. Those browsers execute scripts
+	in DOM order, not network-receive order, so a long-polling script will block other
+	dynamically appended scripts from running until it completes. By using an iframe
+	for the dojo.io.script requests, this issue can be avoided.
+
+	* xhrMultiPart.js - Constructs multi-part mime XHR requests. Useful when wanting
+	multi-part requests but not using a form with a file input. Note that it does not
+	allow you to send files from local disks -- a form with a file input is required
+	for that use case. xhrMultipart is not useful in that use case.
+
+	* xhrPlugins.js - An adapter registry for having multiple XHR handlers (like
+	XDomainRequest, CS-XHR, proxy, and window.name)
+
+	* windowName.js - Cross-domain transport using window.name
+	xhrWindowNamePlugin.js - window.name plugin for XHR adapter registry
+
+	* httpParse.js - HTTP message parser. Parses to an XHR like interface.
+	
+	* OAuth.js - Object to be used for signing OpenAuth requests.  Includes easy
+		wrappers for xhr.
+	
+-------------------------------------------------------------------------------
+Dependencies:
+
+DojoX IO xhrMultiPart depends on Dojo Core and DojoX UUID's generateRandomUuid 
+function.
+
+xhrWindowNamePlugin depends on dojox.secure.capability for safe JSON parsing
+
+OAuth depends on dojox.encoding.digests.SHA1.
+-------------------------------------------------------------------------------
+Documentation
+
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/uuid.js
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/uuid/*
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/secure/*
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/encoding/digests/*
+
+Install into the following directory structure:
+/dojox/uuid/
+/dojox/secure/
+/dojox/encoding/digests/
+
+AND
+
+Grab the following from the Dojo SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/io/*
+
+Install into the following directory structure:
+/dojox/io/
+
+...both of which should be at the same level as your Dojo checkout.
+-------------------------------------------------------------------------------
+Additional Notes
+
+The information contained in this README does not pertain to DojoX XHR IFrame Proxy.  
+For that information see proxy/README.

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/httpParse.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/httpParse.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/httpParse.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/httpParse.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,66 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.io.httpParse"]){
+dojo._hasResource["dojox.io.httpParse"]=true;
+dojo.provide("dojox.io.httpParse");
+dojox.io.httpParse=function(_1,_2,_3){
+var _4=[];
+var _5=_1.length;
+do{
+var _6={};
+var _7=_1.match(/(\n*[^\n]+)/);
+if(!_7){
+return null;
+}
+_1=_1.substring(_7[0].length+1);
+_7=_7[1];
+var _8=_1.match(/([^\n]+\n)*/)[0];
+_1=_1.substring(_8.length);
+var _9=_1.substring(0,1);
+_1=_1.substring(1);
+_8=(_2||"")+_8;
+var _a=_8;
+_8=_8.match(/[^:\n]+:[^\n]+\n/g);
+for(var j=0;j<_8.length;j++){
+var _c=_8[j].indexOf(":");
+_6[_8[j].substring(0,_c)]=_8[j].substring(_c+1).replace(/(^[ \r\n]*)|([ \r\n]*)$/g,"");
+}
+_7=_7.split(" ");
+var _d={status:parseInt(_7[1],10),statusText:_7[2],readyState:3,getAllResponseHeaders:function(){
+return _a;
+},getResponseHeader:function(_e){
+return _6[_e];
+}};
+var _f=_6["Content-Length"];
+var _10;
+if(_f){
+if(_f<=_1.length){
+_10=_1.substring(0,_f);
+}else{
+return _4;
+}
+}else{
+if((_10=_1.match(/(.*)HTTP\/\d\.\d \d\d\d[\w\s]*\n/))){
+_10=_10[0];
+}else{
+if(!_3||_9=="\n"){
+_10=_1;
+}else{
+return _4;
+}
+}
+}
+_4.push(_d);
+_1=_1.substring(_10.length);
+_d.responseText=_10;
+_d.readyState=4;
+_d._lastIndex=_5-_1.length;
+}while(_1);
+return _4;
+};
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/httpParse.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/README?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/README Thu Mar 19 10:37:00 2009
@@ -0,0 +1,82 @@
+-------------------------------------------------------------------------------
+Project Name
+-------------------------------------------------------------------------------
+Version 0.6
+Release date: 01/31/2008
+-------------------------------------------------------------------------------
+Project state:
+experimental
+-------------------------------------------------------------------------------
+Credits
+	James Burke (jburke@dojotoolkit.org)
+-------------------------------------------------------------------------------
+Project description
+
+The XHR IFrame Proxy (xip) allows you to do cross-domain XMLHttpRequests (XHRs).
+It works by using two iframes, one your domain (xip_client.html), one on the 
+other domain (xip_server.html). They use fragment IDs in the iframe URLs to pass
+messages to each other. The xip.js file defines dojox.io.proxy.xip. This module
+intercepts XHR calls made by the Dojo XHR methods (dojo.xhr* methods). The module
+returns a facade object that acts like an XHR object. Once send is called on the
+facade, the facade's data is serialized, given to xip_client.html. xip_client.html
+then passes the serialized data to xip_server.html by changing xip_server.html's
+URL fragment ID (the #xxxx part of an URL). xip_server.html deserializes the
+message fragments, and does an XHR call, gets the response, and serializes the
+data. The serialized data is then passed back to xip_client.html by changing
+xip_client.html's fragment ID. Then the response is deserialized and used as
+the response inside the facade XHR object that was created by dojox.io.proxy.xip.
+-------------------------------------------------------------------------------
+Dependencies:
+
+xip.js: Dojo Core, dojox.data.dom
+xip_client.html: none
+xip_server.html: none (but see Additional Notes section)
+-------------------------------------------------------------------------------
+Documentation
+
+There is some documentation that applies to the Dojo 0.4.x version of these files:
+http://dojotoolkit.org/book/dojo-book-0-4/part-5-connecting-pieces/i-o/cross-domain-xmlhttprequest-using-iframe-proxy
+
+The general theory still applies to this code, but the specifics are different
+for the Dojo 0.9+ codebase. Doc updates hopefully after the basic code is ported.
+
+The current implementation destroys the iframes used for a request after the request
+completes. This seems to cause a memory leak, particularly in IE. So, it is not
+suited for doing polling cross-domain requests.
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojox SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/io/proxy/xip.js
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/io/proxy/xip_client.html
+
+Install into the following directory structure:
+/dojox/io/proxy/
+
+...which should be at the same level as your Dojo checkout.
+
+Grab the following from the Dojox SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/io/proxy/xip_server.html
+
+and install it on the domain that you want to allow receiving cross-domain
+requests. Be sure to read the documentation, the Additional Notes below, and
+the in-file comments.
+-------------------------------------------------------------------------------
+Additional Notes
+
+xip_client.html and xip_server.html do not work right away. You need to uncomment
+out the script tags in the files. Additionally, xip_server.html requires a JS file,
+isAllowed.js, to be defined. See the notes in xip_server.html for more informaiton.
+
+XDOMAIN BUILD INSTRUCTIONS:
+The dojox.io.proxy module requires some setup to use with an xdomain build.
+The xip_client.html file has to be served from the same domain as your web page.
+It cannot be served from the domain that has the xdomain build. Download xip_client.html
+and install it on your server. Then set djConfig.xipClientUrl to the local path
+of xip_client.html (just use a path, not a whole URL, since it will be on the same
+domain as the page). The path to the file should be the path relative to the web
+page that is using dojox.io.proxy.
+
+
+
+

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/frag.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/frag.xml?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/frag.xml (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/frag.xml Thu Mar 19 10:37:00 2009
@@ -0,0 +1,4 @@
+<response>
+<foo>This is the foo text node value</foo>
+<bar>This is the bar text node value</bar>
+</response>

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/frag.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/xip.html
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/xip.html?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/xip.html (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/xip.html Thu Mar 19 10:37:00 2009
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+        "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+	<title>XHR IFrame Proxy Tests</title>
+	<style type="text/css">
+		@import "../../../../dojo/resources/dojo.css";
+		@import "../../../../dijit/themes/tundra/tundra.css";
+		@import "../../../../dijit/themes/dijit.css";
+	</style>
+
+	<script type="text/javascript" src="../../../../dojo/dojo.js"
+		djConfig="isDebug:true"></script>
+	<script type="text/javascript" src="../xip.js"></script>
+	<script type="text/javascript">
+		dojo.require("dojox.io.proxy.xip");
+
+		function testXmlGet(){
+/*
+			//Normal xhrGet call.
+			dojo.xhrGet({
+				url: "frag.xml",
+				handleAs: "xml",
+				load: function(result, ioArgs){
+					var foo = result.getElementsByTagName("foo").item(0);
+
+					dojo.byId("xmlGetOut").innerHTML = "Success: First foobar value is: " + foo.firstChild.nodeValue;
+				}
+			});
+*/
+
+			//xip xhrGet call.
+			dojo.xhrGet({
+				iframeProxyUrl: "../xip_server.html",
+				url: "tests/frag.xml",
+				handleAs: "xml",
+				load: function(result, ioArgs){
+					var foo = result.getElementsByTagName("foo").item(0);
+
+					dojo.byId("xmlGetOut").innerHTML = "Success: First foobar value is: " + foo.firstChild.nodeValue;
+				}
+			});
+
+		}
+
+		dojo.addOnLoad(function(){
+
+		});
+	</script>
+</head>
+<body class="tundra">
+
+<h1>XHR IFrame Proxy Tests</h1>
+<p>Run this test from a web server, not from local disk.</p>
+
+<p>
+<button onclick="testXmlGet()">Test XML GET</button>
+</p>
+<div id="xmlGetOut"></div>
+
+</body>
+</html>

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/tests/xip.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,260 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.io.proxy.xip"]){
+dojo._hasResource["dojox.io.proxy.xip"]=true;
+dojo.provide("dojox.io.proxy.xip");
+dojo.require("dojo.io.iframe");
+dojo.require("dojox.data.dom");
+dojox.io.proxy.xip={xipClientUrl:((dojo.config||djConfig)["xipClientUrl"])||dojo.moduleUrl("dojox.io.proxy","xip_client.html"),urlLimit:4000,_callbackName:(dojox._scopeName||"dojox")+".io.proxy.xip.fragmentReceived",_state:{},_stateIdCounter:0,_isWebKit:navigator.userAgent.indexOf("WebKit")!=-1,send:function(_1){
+var _2=this.xipClientUrl;
+if(_2.split(":")[0].match(/javascript/i)||_1._ifpServerUrl.split(":")[0].match(/javascript/i)){
+return;
+}
+var _3=_2.indexOf(":");
+var _4=_2.indexOf("/");
+if(_3==-1||_4<_3){
+var _5=window.location.href;
+if(_4==0){
+_2=_5.substring(0,_5.indexOf("/",9))+_2;
+}else{
+_2=_5.substring(0,(_5.lastIndexOf("/")+1))+_2;
+}
+}
+this.fullXipClientUrl=_2;
+if(typeof document.postMessage!="undefined"){
+document.addEventListener("message",dojo.hitch(this,this.fragmentReceivedEvent),false);
+}
+this.send=this._realSend;
+return this._realSend(_1);
+},_realSend:function(_6){
+var _7="XhrIframeProxy"+(this._stateIdCounter++);
+_6._stateId=_7;
+var _8=_6._ifpServerUrl+"#0:init:id="+_7+"&client="+encodeURIComponent(this.fullXipClientUrl)+"&callback="+encodeURIComponent(this._callbackName);
+this._state[_7]={facade:_6,stateId:_7,clientFrame:dojo.io.iframe.create(_7,"",_8),isSending:false,serverUrl:_6._ifpServerUrl,requestData:null,responseMessage:"",requestParts:[],idCounter:1,partIndex:0,serverWindow:null};
+return _7;
+},receive:function(_9,_a){
+var _b={};
+var _c=_a.split("&");
+for(var i=0;i<_c.length;i++){
+if(_c[i]){
+var _e=_c[i].split("=");
+_b[decodeURIComponent(_e[0])]=decodeURIComponent(_e[1]);
+}
+}
+var _f=this._state[_9];
+var _10=_f.facade;
+_10._setResponseHeaders(_b.responseHeaders);
+if(_b.status==0||_b.status){
+_10.status=parseInt(_b.status,10);
+}
+if(_b.statusText){
+_10.statusText=_b.statusText;
+}
+if(_b.responseText){
+_10.responseText=_b.responseText;
+var _11=_10.getResponseHeader("Content-Type");
+if(_11){
+var _12=_11.split(";")[0];
+if(_12.indexOf("application/xml")==0||_12.indexOf("text/xml")==0){
+_10.responseXML=dojox.data.dom.createDocument(_b.responseText,_11);
+}
+}
+}
+_10.readyState=4;
+this.destroyState(_9);
+},frameLoaded:function(_13){
+var _14=this._state[_13];
+var _15=_14.facade;
+var _16=[];
+for(var _17 in _15._requestHeaders){
+_16.push(_17+": "+_15._requestHeaders[_17]);
+}
+var _18={uri:_15._uri};
+if(_16.length>0){
+_18.requestHeaders=_16.join("\r\n");
+}
+if(_15._method){
+_18.method=_15._method;
+}
+if(_15._bodyData){
+_18.data=_15._bodyData;
+}
+this.sendRequest(_13,dojo.objectToQuery(_18));
+},destroyState:function(_19){
+var _1a=this._state[_19];
+if(_1a){
+delete this._state[_19];
+var _1b=_1a.clientFrame.parentNode;
+_1b.removeChild(_1a.clientFrame);
+_1a.clientFrame=null;
+_1a=null;
+}
+},createFacade:function(){
+if(arguments&&arguments[0]&&arguments[0].iframeProxyUrl){
+return new dojox.io.proxy.xip.XhrIframeFacade(arguments[0].iframeProxyUrl);
+}else{
+return dojox.io.proxy.xip._xhrObjOld.apply(dojo,arguments);
+}
+},sendRequest:function(_1c,_1d){
+var _1e=this._state[_1c];
+if(!_1e.isSending){
+_1e.isSending=true;
+_1e.requestData=_1d||"";
+_1e.serverWindow=frames[_1e.stateId];
+if(!_1e.serverWindow){
+_1e.serverWindow=document.getElementById(_1e.stateId).contentWindow;
+}
+if(typeof document.postMessage=="undefined"){
+if(_1e.serverWindow.contentWindow){
+_1e.serverWindow=_1e.serverWindow.contentWindow;
+}
+}
+this.sendRequestStart(_1c);
+}
+},sendRequestStart:function(_1f){
+var _20=this._state[_1f];
+_20.requestParts=[];
+var _21=_20.requestData;
+var _22=_20.serverUrl.length;
+var _23=this.urlLimit-_22;
+var _24=0;
+while((_21.length-_24)+_22>this.urlLimit){
+var _25=_21.substring(_24,_24+_23);
+var _26=_25.lastIndexOf("%");
+if(_26==_25.length-1||_26==_25.length-2){
+_25=_25.substring(0,_26);
+}
+_20.requestParts.push(_25);
+_24+=_25.length;
+}
+_20.requestParts.push(_21.substring(_24,_21.length));
+_20.partIndex=0;
+this.sendRequestPart(_1f);
+},sendRequestPart:function(_27){
+var _28=this._state[_27];
+if(_28.partIndex<_28.requestParts.length){
+var _29=_28.requestParts[_28.partIndex];
+var cmd="part";
+if(_28.partIndex+1==_28.requestParts.length){
+cmd="end";
+}else{
+if(_28.partIndex==0){
+cmd="start";
+}
+}
+this.setServerUrl(_27,cmd,_29);
+_28.partIndex++;
+}
+},setServerUrl:function(_2b,cmd,_2d){
+var _2e=this.makeServerUrl(_2b,cmd,_2d);
+var _2f=this._state[_2b];
+if(this._isWebKit){
+_2f.serverWindow.location=_2e;
+}else{
+_2f.serverWindow.location.replace(_2e);
+}
+},makeServerUrl:function(_30,cmd,_32){
+var _33=this._state[_30];
+var _34=_33.serverUrl+"#"+(_33.idCounter++)+":"+cmd;
+if(_32){
+_34+=":"+_32;
+}
+return _34;
+},fragmentReceivedEvent:function(evt){
+if(evt.uri.split("#")[0]==this.fullXipClientUrl){
+this.fragmentReceived(evt.data);
+}
+},fragmentReceived:function(_36){
+var _37=_36.indexOf("#");
+var _38=_36.substring(0,_37);
+var _39=_36.substring(_37+1,_36.length);
+var msg=this.unpackMessage(_39);
+var _3b=this._state[_38];
+switch(msg.command){
+case "loaded":
+this.frameLoaded(_38);
+break;
+case "ok":
+this.sendRequestPart(_38);
+break;
+case "start":
+_3b.responseMessage=""+msg.message;
+this.setServerUrl(_38,"ok");
+break;
+case "part":
+_3b.responseMessage+=msg.message;
+this.setServerUrl(_38,"ok");
+break;
+case "end":
+this.setServerUrl(_38,"ok");
+_3b.responseMessage+=msg.message;
+this.receive(_38,_3b.responseMessage);
+break;
+}
+},unpackMessage:function(_3c){
+var _3d=_3c.split(":");
+var _3e=_3d[1];
+_3c=_3d[2]||"";
+var _3f=null;
+if(_3e=="init"){
+var _40=_3c.split("&");
+_3f={};
+for(var i=0;i<_40.length;i++){
+var _42=_40[i].split("=");
+_3f[decodeURIComponent(_42[0])]=decodeURIComponent(_42[1]);
+}
+}
+return {command:_3e,message:_3c,config:_3f};
+}};
+dojox.io.proxy.xip._xhrObjOld=dojo._xhrObj;
+dojo._xhrObj=dojox.io.proxy.xip.createFacade;
+dojox.io.proxy.xip.XhrIframeFacade=function(_43){
+this._requestHeaders={};
+this._allResponseHeaders=null;
+this._responseHeaders={};
+this._method=null;
+this._uri=null;
+this._bodyData=null;
+this.responseText=null;
+this.responseXML=null;
+this.status=null;
+this.statusText=null;
+this.readyState=0;
+this._ifpServerUrl=_43;
+this._stateId=null;
+};
+dojo.extend(dojox.io.proxy.xip.XhrIframeFacade,{open:function(_44,uri){
+this._method=_44;
+this._uri=uri;
+this.readyState=1;
+},setRequestHeader:function(_46,_47){
+this._requestHeaders[_46]=_47;
+},send:function(_48){
+this._bodyData=_48;
+this._stateId=dojox.io.proxy.xip.send(this);
+this.readyState=2;
+},abort:function(){
+dojox.io.proxy.xip.destroyState(this._stateId);
+},getAllResponseHeaders:function(){
+return this._allResponseHeaders;
+},getResponseHeader:function(_49){
+return this._responseHeaders[_49];
+},_setResponseHeaders:function(_4a){
+if(_4a){
+this._allResponseHeaders=_4a;
+_4a=_4a.replace(/\r/g,"");
+var _4b=_4a.split("\n");
+for(var i=0;i<_4b.length;i++){
+if(_4b[i]){
+var _4d=_4b[i].split(": ");
+this._responseHeaders[_4d[0]]=_4d[1];
+}
+}
+}
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip_client.html
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip_client.html?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip_client.html (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip_client.html Thu Mar 19 10:37:00 2009
@@ -0,0 +1,102 @@
+<!--
+	/*
+		Copyright (c) 2004-2008, The Dojo Foundation
+		All Rights Reserved.
+	
+		Licensed under the Academic Free License version 2.1 or above OR the
+		modified BSD license. For more information on Dojo licensing, see:
+	
+			http://dojotoolkit.org/community/licensing.shtml
+	*/
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
+	<!-- Security protection: uncomment the start and end script tags to enable. -->
+	<!-- script type="text/javascript" -->
+	// <!--
+	
+	function pollHash(){
+		//Can't use location.hash because at least Firefox does a decodeURIComponent on it.
+		var urlParts = window.location.href.split("#");
+		if(urlParts.length == 2){
+			var newHash = urlParts[1];
+			if(newHash != xipCurrentHash){
+				try{
+					callMaster(xipStateId, newHash);
+				}catch(e){
+					//Make sure to not keep processing the error hash value.
+					xipCurrentHash = newHash;
+					throw e;
+				}
+				xipCurrentHash = newHash;
+			}
+		}
+	}
+
+	function unpackMessage(encodedMessage){
+		var parts = encodedMessage.split(":");
+		var command = parts[1];
+		encodedMessage = parts[2] || "";
+
+		var config = null;
+		if(command == "init"){
+			var configParts = encodedMessage.split("&");
+			config = {};
+			for(var i = 0; i < configParts.length; i++){
+				var nameValue = configParts[i].split("=");
+				config[decodeURIComponent(nameValue[0])] = decodeURIComponent(nameValue[1]);
+			}
+		}
+		return {command: command, message: encodedMessage, config: config};
+	}
+
+	//************** Init **************************
+	xipCurrentHash = "";
+	
+	//Decode the init params
+	var fragId = window.location.href.split("#")[1];
+	var config = unpackMessage(fragId).config;
+
+	xipStateId = config.id;
+	xipMasterFrame = parent.parent;
+
+	//Set up an HTML5 messaging publisher if postMessage exists.
+	//As of this writing, this is only useful to get Opera 9.25+ to work.
+	if(typeof document.postMessage != "undefined"){
+		callMaster = function(stateId, message){
+			xipMasterFrame.document.postMessage(stateId + "#" + message);
+		}
+	}else{
+		var parts = config.callback.split(".");
+		xipCallbackObject = xipMasterFrame;
+		for(var i = 0; i < parts.length - 1; i++){
+			xipCallbackObject = xipCallbackObject[parts[i]];
+		}
+		xipCallback = parts[parts.length - 1];
+
+		callMaster = function(stateId, message){
+			xipCallbackObject[xipCallback](stateId + "#" + message);
+		}
+	}
+
+	//Call the master frame to let it know it is OK to start sending.
+	callMaster(xipStateId, "0:loaded");
+	
+	//Start counter to inspect hash value.
+	setInterval(pollHash, 10);
+
+	// -->
+	<!-- </script> -->
+</head>
+<body>
+	<h4>The Dojo Toolkit -- xip_client.html</h4>
+
+	<p>This file is used for Dojo's XMLHttpRequest Iframe Proxy. This is the "client" file used
+	internally by dojox.io.proxy.xip.</p>
+</body>
+</html>

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/io/proxy/xip_client.html
------------------------------------------------------------------------------
    svn:mime-type = text/html