You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2006/09/29 05:43:06 UTC

svn commit: r451106 [36/40] - in /tapestry/tapestry4/trunk: ./ tapestry-framework/src/java/org/apache/tapestry/asset/ tapestry-framework/src/js/dojo/ tapestry-framework/src/js/dojo/src/ tapestry-framework/src/js/dojo/src/animation/ tapestry-framework/s...

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/ja/validate.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/validate.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/validate.js?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/validate.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/validate.js Thu Sep 28 20:42:39 2006
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, 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
+*/
+
+({
+		invalidMessage: "* The value entered is not valid.",
+		missingMessage: "* This value is required.",
+		rangeMessage: "* This value is out of range."
+})

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/validate.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/zh-cn/validate.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/zh-cn/validate.js?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/zh-cn/validate.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/zh-cn/validate.js Thu Sep 28 20:42:39 2006
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, 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
+*/
+
+({
+		invalidMessage: "* 非法的输入值。",
+		missingMessage: "* 此值是必须的。",
+		rangeMessage: "* 输入数据超出值域。"
+})

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/nls/zh-cn/validate.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/svg/Chart.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/svg/Chart.js?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/svg/Chart.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/svg/Chart.js Thu Sep 28 20:42:39 2006
@@ -0,0 +1,552 @@
+/*
+	Copyright (c) 2004-2006, 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
+*/
+
+dojo.provide("dojo.widget.svg.Chart");
+
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.Chart");
+dojo.require("dojo.html.layout");
+dojo.require("dojo.math");
+dojo.require("dojo.svg");
+dojo.require("dojo.gfx.color");
+
+dojo.require("dojo.json");
+
+dojo.widget.defineWidget(
+	"dojo.widget.svg.Chart",
+	[dojo.widget.HtmlWidget, dojo.widget.Chart],
+	function(){
+		this.templatePath=null;
+		this.templateCssPath=null;
+		this._isInitialize=false;
+		this.hasData=false;
+		this.vectorNode=null;
+		this.plotArea=null;
+		this.dataGroup=null;
+		this.axisGroup=null;
+		this.properties={
+			height:0,	//	defaults, will resize to the domNode.
+			width:0,
+			defaultWidth:600,
+			defaultHeight:400,
+			plotType:null,
+			padding:{
+				top:10,
+				bottom:2,
+				left:60,
+				right:30
+			},
+			axes:{
+				x:{
+					plotAt:0,
+					label:"",
+					unitLabel:"",
+					unitType:Number,
+					nUnitsToShow:10,
+					range:{
+						min:0,
+						max:200
+					}
+				},
+				y:{
+					plotAt:0,
+					label:"",
+					unitLabel:"",
+					unitType:Number,
+					nUnitsToShow:10,
+					range:{
+						min:0,
+						max:200
+					}
+				}
+			}
+		};
+	},
+	{
+		parseProperties:function(/* HTMLElement */node){
+			//	summary
+			//	Parse the properties off the main tag
+			var bRangeX=false;
+			var bRangeY=false;
+			if (node.getAttribute("width")){ 
+				this.properties.width=node.getAttribute("width");
+			}
+			if (node.getAttribute("height")){
+				this.properties.height=node.getAttribute("height");
+			}
+			if (node.getAttribute("plotType")){
+				this.properties.plotType=node.getAttribute("plotType");
+			}
+			if (node.getAttribute("padding")){
+				if (node.getAttribute("padding").indexOf(",") > -1)
+					var p=node.getAttribute("padding").split(","); 
+				else var p=node.getAttribute("padding").split(" ");
+				if (p.length==1){
+					var pad=parseFloat(p[0]);
+					this.properties.padding.top=pad;
+					this.properties.padding.right=pad;
+					this.properties.padding.bottom=pad;
+					this.properties.padding.left=pad;
+				} else if(p.length==2){
+					var padV=parseFloat(p[0]);
+					var padH=parseFloat(p[1]);
+					this.properties.padding.top=padV;
+					this.properties.padding.right=padH;
+					this.properties.padding.bottom=padV;
+					this.properties.padding.left=padH;
+				} else if(p.length==4){
+					this.properties.padding.top=parseFloat(p[0]);
+					this.properties.padding.right=parseFloat(p[1]);
+					this.properties.padding.bottom=parseFloat(p[2]);
+					this.properties.padding.left=parseFloat(p[3]);
+				}
+			}
+			if (node.getAttribute("rangeX")){
+				var p=node.getAttribute("rangeX");
+				if (p.indexOf(",")>-1) p=p.split(",");
+				else p=p.split(" ");
+				this.properties.axes.x.range.min=parseFloat(p[0]);
+				this.properties.axes.x.range.max=parseFloat(p[1]);
+				bRangeX=true;
+			}
+			if (node.getAttribute("rangeY")){
+				var p=node.getAttribute("rangeY");
+				if (p.indexOf(",")>-1) p=p.split(",");
+				else p=p.split(" ");
+				this.properties.axes.y.range.min=parseFloat(p[0]);
+				this.properties.axes.y.range.max=parseFloat(p[1]);
+				bRangeY=true;
+			}
+			return { rangeX:bRangeX, rangeY:bRangeY };
+		},
+		setAxesPlot:function(/* HTMLElement */table){
+			//	where to plot the axes
+			if (table.getAttribute("axisAt")){
+				var p=table.getAttribute("axisAt");
+				if (p.indexOf(",")>-1) p=p.split(",");
+				else p=p.split(" ");
+				
+				//	x axis
+				if (!isNaN(parseFloat(p[0]))){
+					this.properties.axes.x.plotAt=parseFloat(p[0]);
+				} else if (p[0].toLowerCase()=="ymin"){
+					this.properties.axes.x.plotAt=this.properties.axes.y.range.min;
+				} else if (p[0].toLowerCase()=="ymax"){
+					this.properties.axes.x.plotAt=this.properties.axes.y.range.max;
+				}
+
+				// y axis
+				if (!isNaN(parseFloat(p[1]))){
+					this.properties.axes.y.plotAt=parseFloat(p[1]);
+				} else if (p[1].toLowerCase()=="xmin"){
+					this.properties.axes.y.plotAt=this.properties.axes.x.range.min;
+				} else if (p[1].toLowerCase()=="xmax"){
+					this.properties.axes.y.plotAt=this.properties.axes.x.range.max;
+				}
+			} else {
+				this.properties.axes.x.plotAt=this.properties.axes.y.range.min;
+				this.properties.axes.y.plotAt=this.properties.axes.x.range.min;
+			}
+		},
+		drawVectorNode:function(){
+			// ok, lets create the chart itself.
+			dojo.svg.g.suspend();		
+			if(this.vectorNode) this.destroy();
+			this.vectorNode=document.createElementNS(dojo.svg.xmlns.svg, "svg");
+			this.vectorNode.setAttribute("width", this.properties.width);
+			this.vectorNode.setAttribute("height", this.properties.height);
+			dojo.svg.g.resume();
+		},
+		drawPlotArea:function(){
+			//	set up the clip path for the plot area.
+			dojo.svg.g.suspend();		
+			if(this.plotArea){
+				this.plotArea.parentNode.removeChild(this.plotArea);
+				this.plotArea=null;
+			}
+			var defs = document.createElementNS(dojo.svg.xmlns.svg, "defs");
+			var clip = document.createElementNS(dojo.svg.xmlns.svg, "clipPath");
+			clip.setAttribute("id","plotClip"+this.widgetId);
+			var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");		
+			rect.setAttribute("x", this.properties.padding.left);
+			rect.setAttribute("y", this.properties.padding.top);
+			rect.setAttribute("width", this.properties.width-this.properties.padding.left-this.properties.padding.right);
+			rect.setAttribute("height", this.properties.height-this.properties.padding.top-this.properties.padding.bottom);
+			clip.appendChild(rect);
+			defs.appendChild(clip);
+			this.vectorNode.appendChild(defs);
+
+			//	the plot background.
+			this.plotArea = document.createElementNS(dojo.svg.xmlns.svg, "g");
+			this.vectorNode.appendChild(this.plotArea);
+			var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");		
+			rect.setAttribute("x", this.properties.padding.left);
+			rect.setAttribute("y", this.properties.padding.top);
+			rect.setAttribute("width", this.properties.width-this.properties.padding.left-this.properties.padding.right);
+			rect.setAttribute("height", this.properties.height-this.properties.padding.top-this.properties.padding.bottom);
+			rect.setAttribute("fill", "#fff");
+			this.plotArea.appendChild(rect);
+			dojo.svg.g.resume();
+		},
+		drawDataGroup:function(){
+			//	data group
+			dojo.svg.g.suspend();		
+			if(this.dataGroup){
+				this.dataGroup.parentNode.removeChild(this.dataGroup);
+				this.dataGroup=null;
+			}
+			this.dataGroup = document.createElementNS(dojo.svg.xmlns.svg, "g");
+			this.dataGroup.setAttribute("style","clip-path:url(#plotClip"+this.widgetId+");");
+			this.plotArea.appendChild(this.dataGroup);
+			dojo.svg.g.resume();
+		},
+		drawAxes:function(){
+			dojo.svg.g.suspend();		
+			if(this.axisGroup){
+				this.axisGroup.parentNode.removeChild(this.axisGroup);
+				this.axisGroup=null;
+			}
+			//	axis group
+			this.axisGroup = document.createElementNS(dojo.svg.xmlns.svg, "g");
+			this.plotArea.appendChild(this.axisGroup);
+
+			//	x axis
+			var stroke=1;
+			var line = document.createElementNS(dojo.svg.xmlns.svg, "line");
+			var y=dojo.widget.svg.Chart.Plotter.getY(this.properties.axes.x.plotAt, this);
+			line.setAttribute("y1", y);
+			line.setAttribute("y2", y);
+			line.setAttribute("x1",this.properties.padding.left-stroke);
+			line.setAttribute("x2",this.properties.width-this.properties.padding.right);
+			line.setAttribute("style","stroke:#000;stroke-width:"+stroke+";");
+			this.axisGroup.appendChild(line);
+			
+			//	x axis units.
+			//	(min and max)
+			var textSize=10;
+			var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+			text.setAttribute("x", this.properties.padding.left);
+			text.setAttribute("y", this.properties.height-this.properties.padding.bottom+textSize+2);
+			text.setAttribute("style", "text-anchor:middle;font-size:"+textSize+"px;fill:#000;");
+			text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.x.range.min),2)));
+			this.axisGroup.appendChild(text);
+			
+			var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+			text.setAttribute("x", this.properties.width-this.properties.padding.right-(textSize/2));
+			text.setAttribute("y", this.properties.height-this.properties.padding.bottom+textSize+2);
+			text.setAttribute("style", "text-anchor:middle;font-size:"+textSize+"px;fill:#000;");
+			text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.x.range.max),2)));
+			this.axisGroup.appendChild(text);	
+			
+			//	y axis
+			var line=document.createElementNS(dojo.svg.xmlns.svg, "line");
+			var x=dojo.widget.svg.Chart.Plotter.getX(this.properties.axes.y.plotAt, this);
+			line.setAttribute("x1", x);
+			line.setAttribute("x2", x);
+			line.setAttribute("y1", this.properties.padding.top);
+			line.setAttribute("y2", this.properties.height-this.properties.padding.bottom);
+			line.setAttribute("style", "stroke:#000;stroke-width:"+stroke+";");
+			this.axisGroup.appendChild(line);
+
+			//	y axis units
+			var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+			text.setAttribute("x", this.properties.padding.left-4);
+			text.setAttribute("y", this.properties.height-this.properties.padding.bottom);
+			text.setAttribute("style", "text-anchor:end;font-size:"+textSize+"px;fill:#000;");
+			text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.y.range.min),2)));
+			this.axisGroup.appendChild(text);
+			
+			var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+			text.setAttribute("x", this.properties.padding.left-4);
+			text.setAttribute("y", this.properties.padding.top+(textSize/2));
+			text.setAttribute("style", "text-anchor:end;font-size:"+textSize+"px;fill:#000;");
+			text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.y.range.max),2)));
+			this.axisGroup.appendChild(text);	
+			dojo.svg.g.resume();
+		},
+
+		init:function(){
+			//	get the width and the height.
+			if(!this.properties.width || !this.properties.height){
+				var box=dojo.html.getContentBox(this.domNode);
+				if(!this.properties.width){
+					this.properties.width=(box.width<32)?this.properties.defaultWidth:box.width;
+				}
+				if(!this.properties.height){
+					this.properties.height=(box.height<32)?this.properties.defaultHeight:box.height;
+				}
+			}
+
+			//	set up the chart; each is a method so that it can be selectively overridden.
+			this.drawVectorNode();
+			this.drawPlotArea();
+			this.drawDataGroup();
+			this.drawAxes();
+
+			//	this is last.
+			this.domNode.appendChild(this.vectorNode);
+			this.assignColors();
+			this._isInitialized=true;
+		},
+		destroy:function(){
+			while(this.domNode.childNodes.length>0){
+				this.domNode.removeChild(this.domNode.childNodes.item(0));
+			}
+			this.vectorNode=this.plotArea=this.dataGroup=this.axisGroup=null;
+		},
+		render:function(){
+			dojo.svg.g.suspend();
+			
+			if (this.dataGroup){
+				while(this.dataGroup.childNodes.length>0){
+					this.dataGroup.removeChild(this.dataGroup.childNodes.item(0));
+				}
+			} else {
+				this.init();
+			}
+
+			//	plot it.
+			for(var i=0; i<this.series.length; i++){
+				dojo.widget.svg.Chart.Plotter.plot(this.series[i], this);
+			}
+			dojo.svg.g.resume();
+		},
+		postCreate:function(){
+			//	begin by grabbing the table, and reading it in.
+			var table=this.domNode.getElementsByTagName("table")[0];
+			if (table){
+				var ranges=this.parseProperties(table);
+				var bRangeX=false;
+				var bRangeY=false;
+			
+				//	fix the axes
+				var axisValues = this.parseData(table);
+				if(!bRangeX){
+					this.properties.axes.x.range={min:axisValues.x.min, max:axisValues.x.max};
+				}
+				if(!bRangeY){
+					this.properties.axes.y.range={min:axisValues.y.min, max:axisValues.y.max};
+				}
+				this.setAxesPlot(table);
+
+				//	table values should be populated, now pop it off.
+				this.domNode.removeChild(table);
+			}
+			if(this.series.length>0){
+				this.render();
+			}
+		}
+	}
+);
+
+dojo.widget.svg.Chart.Plotter=new function(){
+	var self=this;
+	var plotters = {};
+	var types=dojo.widget.Chart.PlotTypes;
+	
+	this.getX=function(value, chart){
+		var v=parseFloat(value);
+		var min=chart.properties.axes.x.range.min;
+		var max=chart.properties.axes.x.range.max;
+		var ofst=0-min;
+		min+=ofst; max+=ofst; v+=ofst;
+
+		var xmin=chart.properties.padding.left;
+		var xmax=chart.properties.width-chart.properties.padding.right;
+		var x=(v*((xmax-xmin)/max))+xmin;
+		return x;
+	};
+	this.getY=function(value, chart){
+		var v=parseFloat(value);
+		var max=chart.properties.axes.y.range.max;
+		var min=chart.properties.axes.y.range.min;
+		var ofst=0;
+		if(min<0)ofst+=Math.abs(min);
+		min+=ofst; max+=ofst; v+=ofst;
+		
+		var ymin=chart.properties.height-chart.properties.padding.bottom;
+		var ymax=chart.properties.padding.top;
+		var y=(((ymin-ymax)/(max-min))*(max-v))+ymax;
+		return y;
+	};
+
+	this.addPlotter=function(name, func){
+		plotters[name]=func;
+	};
+	this.plot=function(series, chart){
+		if (series.values.length==0) return;
+		if (series.plotType && plotters[series.plotType]){
+			return plotters[series.plotType](series, chart);
+		}
+		else if (chart.plotType && plotters[chart.plotType]){
+			return plotters[chart.plotType](series, chart);
+		}
+	};
+
+	//	plotting
+	plotters["bar"]=function(series, chart){
+		var space=1;
+		var lastW = 0;
+		for (var i=0; i<series.values.length; i++){
+			var x=self.getX(series.values[i].x, chart);
+			var w;
+			if (i==series.values.length-1){
+				w=lastW;
+			} else{
+				w=self.getX(series.values[i+1].x, chart)-x-space;
+				lastW=w;
+			}
+			x-=(w/2);
+
+			var yA=self.getY(chart.properties.axes.x.plotAt, chart);
+			var y=self.getY(series.values[i].value, chart);
+			var h=Math.abs(yA-y);
+			if (parseFloat(series.values[i].value)<chart.properties.axes.x.plotAt){
+				var oy=yA;
+				yA=y;
+				y=oy;
+			}
+
+			var bar=document.createElementNS(dojo.svg.xmlns.svg, "rect");
+			bar.setAttribute("fill", series.color);
+			bar.setAttribute("title", series.label + ": " + series.values[i].value);
+			bar.setAttribute("stroke-width", "0");
+			bar.setAttribute("x", x);
+			bar.setAttribute("y", y);
+			bar.setAttribute("width", w);
+			bar.setAttribute("height", h);
+			bar.setAttribute("fill-opacity", "0.9");
+			chart.dataGroup.appendChild(bar);
+		}
+	};
+	plotters["line"]=function(series, chart){
+		var tension=1.5;
+		var line = document.createElementNS(dojo.svg.xmlns.svg, "path");
+		line.setAttribute("fill", "none");
+		line.setAttribute("stroke", series.color);
+		line.setAttribute("stroke-width", "2");
+		line.setAttribute("stroke-opacity", "0.85");
+		line.setAttribute("title", series.label);
+		chart.dataGroup.appendChild(line);
+
+		var path = [];
+		for (var i=0; i<series.values.length; i++){
+			var x = self.getX(series.values[i].x, chart)
+			var y = self.getY(series.values[i].value, chart);
+
+			var dx = chart.properties.padding.left+1;
+			var dy = chart.properties.height-chart.properties.padding.bottom;
+			if (i>0){
+				dx=x-self.getX(series.values[i-1].x, chart);
+				dy=self.getY(series.values[i-1].value, chart);
+			}
+			
+			if (i==0) path.push("M");
+			else {
+				path.push("C");
+				var cx=x-(tension-1)*(dx/tension);
+				path.push(cx+","+dy);
+				cx=x-(dx/tension);
+				path.push(cx+","+y);
+			}
+			path.push(x+","+y);
+		}
+		line.setAttribute("d", path.join(" "));
+	};
+	plotters["area"]=function(series, chart){
+		var tension=1.5;
+		var line = document.createElementNS(dojo.svg.xmlns.svg, "path");
+		line.setAttribute("fill", series.color);
+		line.setAttribute("fill-opacity", "0.4");
+		line.setAttribute("stroke", series.color);
+		line.setAttribute("stroke-width", "1");
+		line.setAttribute("stroke-opacity", "0.8");
+		line.setAttribute("title", series.label);
+		chart.dataGroup.appendChild(line);
+
+		var path = [];
+		for (var i=0; i<series.values.length; i++){
+			var x = self.getX(series.values[i].x, chart)
+			var y = self.getY(series.values[i].value, chart);
+
+			var dx = chart.properties.padding.left+1;
+			var dy = chart.properties.height-chart.properties.padding.bottom;
+			if (i>0){
+				dx=x-self.getX(series.values[i-1].x, chart);
+				dy=self.getY(series.values[i-1].value, chart);
+			}
+			
+			if (i==0) path.push("M");
+			else {
+				path.push("C");
+				var cx=x-(tension-1)*(dx/tension);
+				path.push(cx+","+dy);
+				cx=x-(dx/tension);
+				path.push(cx+","+y);
+			}
+			path.push(x+","+y);
+		}
+		//	finish it off
+		path.push("L");
+		path.push(x + "," + self.getY(0, chart));
+		path.push("L");
+		path.push(self.getX(0, chart) + "," + self.getY(0, chart));
+		path.push("Z");
+		line.setAttribute("d", path.join(" "));
+	},
+	plotters["scatter"]=function(series, chart){
+		var r=7;
+		for (var i=0; i<series.values.length; i++){
+			var x=self.getX(series.values[i].x, chart);
+			var y=self.getY(series.values[i].value, chart);
+			var point = document.createElementNS(dojo.svg.xmlns.svg, "path");
+			point.setAttribute("fill", series.color);
+			point.setAttribute("stroke-width", "0");
+			point.setAttribute("title", series.label + ": " + series.values[i].value);
+			point.setAttribute("d",
+				"M " + x + "," + (y-r) + " " +
+				"Q " + x + "," + y + " " + (x+r) + "," + y + " " +
+				"Q " + x + "," + y + " " + x + "," + (y+r) + " " +
+				"Q " + x + "," + y + " " + (x-r) + "," + y + " " +
+				"Q " + x + "," + y + " " + x + "," + (y-r) + " " +
+				"Z"
+			);
+			chart.dataGroup.appendChild(point);
+		}
+	};
+	plotters["bubble"]=function(series, chart){
+		//	added param for series[n].value: size
+		var minR=1;
+		
+		//	do this off the x axis?
+		var min=chart.properties.axes.x.range.min;
+		var max=chart.properties.axes.x.range.max;
+		var ofst=0-min;
+		min+=ofst; max+=ofst;
+
+		var xmin=chart.properties.padding.left;
+		var xmax=chart.properties.width-chart.properties.padding.right;
+		var factor=(max-min)/(xmax-xmin)*25;
+		
+		for (var i=0; i<series.values.length; i++){
+			var size = series.values[i].size;
+			if (isNaN(parseFloat(size))) size=minR;
+			var point=document.createElementNS(dojo.svg.xmlns.svg, "circle");
+			point.setAttribute("stroke-width", 0);
+			point.setAttribute("fill", series.color);
+			point.setAttribute("fill-opacity", "0.8");
+			point.setAttribute("r", (parseFloat(size)*factor)/2);
+			point.setAttribute("cx", self.getX(series.values[i].x, chart));
+			point.setAttribute("cy", self.getY(series.values[i].value, chart));
+			point.setAttribute("title", series.label + ": " + series.values[i].value + " (" + size + ")");
+			chart.dataGroup.appendChild(point);
+		}
+	};
+}();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/svg/Chart.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,28 @@
+.dojoAccordionPane {
+	border: thick ridge #232323;
+}
+
+.dojoAccordionPane-selected {
+	border: thick ridge #336699;
+}
+
+.dojoAccordionPane .label {
+	border-bottom: thick ridge #232323;
+	background: gray;
+	color: #fff;
+	font-weight: bold;
+}
+
+.dojoAccordionPane-selected .label {
+	background: #336699;
+	border-bottom: thick ridge #336699;
+}
+
+.dojoAccordionPane .label :hover {
+	cursor: pointer;
+}
+
+.dojoAccordionPane .accBody {
+	background: #ededed;
+	overflow: auto;
+}
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,4 @@
+<div dojoAttachPoint="domNode">
+<div dojoAttachPoint="labelNode" dojoAttachEvent="onclick: onLabelClick" class="${this.labelNodeClass}">${this.label}</div>
+<div dojoAttachPoint="containerNode" style="overflow: hidden;" class="${this.containerNodeClass}"></div>
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/AccordionPane.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,59 @@
+/* ---- button --- */
+.dojoButton {
+	padding: 0 0 0 0;
+	font-size: 8pt;
+	white-space: nowrap;
+	cursor: pointer;
+	font-family: Myriad, Tahoma, Verdana, sans-serif;
+}
+
+.dojoButton .dojoButtonContents {
+	padding: 2px 2px 2px 2px;
+	text-align: center;		/* if icon and label are split across two lines, center icon */
+	color: white;
+}
+
+.dojoButtonLeftPart .dojoButtonContents {
+	padding-right: 8px;
+}
+
+.dojoButtonDisabled {
+	cursor: url("images/no.gif"), default;
+}
+
+
+.dojoButtonContents img {
+	vertical-align: middle;	/* if icon and label are on same line, center them */
+}
+
+/* -------- colors ------------ */
+
+.dojoButtonHover .dojoButtonContents {
+}
+
+.dojoButtonDepressed .dojoButtonContents {
+	color: #293a4b;
+}
+
+.dojoButtonDisabled .dojoButtonContents {
+	color: #eeeeee;
+}
+
+
+/* ---------- drop down button specific ---------- */
+
+/* border between label and arrow (for drop down buttons */
+.dojoButton .border {
+	width: 1px;
+	background: gray;
+}
+
+/* button arrow */
+.dojoButton .downArrow {
+	padding-left: 10px;
+	text-align: center;
+}
+
+.dojoButton.disabled .downArrow {
+	cursor : default;
+}
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,6 @@
+<div dojoAttachPoint="buttonNode" class="dojoButton" style="position:relative;" dojoAttachEvent="onMouseOver; onMouseOut; onMouseDown; onMouseUp; onClick:buttonClick; onKey:onKey; onFocus;">
+  <div class="dojoButtonContents" align=center dojoAttachPoint="containerNode" style="position:absolute;z-index:2;"></div>
+  <img dojoAttachPoint="leftImage" style="position:absolute;left:0px;">
+  <img dojoAttachPoint="centerImage" style="position:absolute;z-index:1;">
+  <img dojoAttachPoint="rightImage" style="position:absolute;top:0px;right:0px;">
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ButtonTemplate.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,27 @@
+.dojoHtmlCheckbox {
+	border: 0px;
+	width: 20px;
+	height: 20px;
+	display: -moz-inline-box;
+	display: inline-block;
+	margin-right: 5px;
+}
+
+.dojoHtmlCheckboxOn {
+	background: url(check.gif) 0px 0px;
+}
+.dojoHtmlCheckboxOff {
+	background: url(check.gif) -20px 0px;
+}
+.dojoHtmlCheckboxDisabledOn {
+	background: url(check.gif) -40px 0px;
+}
+.dojoHtmlCheckboxDisabledOff {
+	background: url(check.gif) -60px 0px;
+}
+.dojoHtmlCheckboxOnHover {
+	background: url(check.gif) -80px 0px;
+}
+.dojoHtmlCheckboxOffHover {
+	background: url(check.gif) -100px 0px;
+}
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,5 @@
+<span class='dojoHtmlCheckbox' tabIndex="${this.tabIndex}"  dojoAttachEvent="mouseOver; mouseOut; onKey; onClick: _onClick;" waiRole="checkbox" id="${this.id}">
+	<input type="checkbox" name="${this.name}" style="display: none" ${this.checkedStr} value="${this.value}"
+		dojoAttachPoint="inputNode">
+	&nbsp;
+</span>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Checkbox.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CheckboxA11y.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CheckboxA11y.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CheckboxA11y.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CheckboxA11y.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,4 @@
+<span class='dojoHtmlCheckbox'>
+	<input type="checkbox" name="${this.name}" tabIndex="${this.tabIndex}" ${this.disabledStr} id="${this.id}" ${this.checkedStr} value="${this.value}"
+		 dojoAttachEvent="onClick: _onClick;" dojoAttachPoint="inputNode"> 
+</span>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CheckboxA11y.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CiviCrmDatePicker.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CiviCrmDatePicker.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CiviCrmDatePicker.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CiviCrmDatePicker.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,12 @@
+<table cellpadding="0" cellspacing="0" border="0" width="400">
+	<tr>
+		<td id="dateHolderTd" width="200">
+		</td>
+		<td id="timeHolderTd" width="200">
+		</td>
+	</tr>
+	<tr style="display: none;" id="formItemsTr">
+		<td id="formItemsTd">&nbsp;</td>
+		<td>&nbsp;</td>
+	</tr>
+</table>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/CiviCrmDatePicker.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,54 @@
+/* the table holding the input and the button */
+.dojoComboBox {
+	border: 1px solid #afafaf;
+	padding: 0px;
+	line-height: 0px;
+	display: inline;	/* for IE and safari */
+}
+
+.dj_gecko .dojoComboBox {
+	display: -moz-inline-box;
+}
+
+.dj_opera .dojoComboBox {
+	display: inline-table;
+}
+
+/* the input box */
+input.dojoComboBoxInput {
+	/* font-size: 0.8em; */
+	border: 0px;
+	margin: 0px;
+	padding: 0px;
+}
+
+/* the drop down */
+.dojoComboBoxOptions {
+	font-family: Verdana, Helvetica, Garamond, sans-serif;
+	/* font-size: 0.7em; */
+	background-color: white;
+	border: 1px solid #afafaf;
+	position: absolute;
+	z-index: 1000; 
+	overflow: auto;
+	cursor: default;
+}
+
+.dojoComboBoxItem {
+	padding-left: 2px;
+	padding-top: 2px;
+	margin: 0px;
+}
+
+.dojoComboBoxItemEven {
+	background-color: #f4f4f4;
+}
+
+.dojoComboBoxItemOdd {
+	background-color: white;
+}
+
+.dojoComboBoxItemHighlight {
+	background-color: #63709A;
+	color: white;
+}

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,25 @@
+<span>
+	<input style="display:none"  tabindex="-1" name="" value="" 
+		dojoAttachPoint="comboBoxValue">
+	<input style="display:none"  tabindex="-1" name="" value="" 
+		dojoAttachPoint="comboBoxSelectionValue">
+	<table class="dojoComboBox"
+		cellpadding="0"
+		cellspacing="0"
+		border="0"
+		dojoAttachPoint="cbTableNode">
+		<tr>
+			<td><input type="text" autocomplete="off" class="dojoComboBoxInput"
+					dojoAttachEvent="key:_handleKeyEvents; keyUp: onKeyUp; compositionEnd; onResize"
+					dojoAttachPoint="textInputNode"></td>
+			<td><img border="0" 
+					hspace="0"
+					vspace="0"
+					class="dojoComboArrow"
+					dojoAttachPoint="downArrowNode"
+					dojoAttachEvent="onMouseUp: handleArrowClick;"
+					src="${this.buttonSrc}"
+					style="width: ${this.initialButtonSize}; height: ${this.initialButtonSize};"></td>
+		</tr>
+	</table>
+</span>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboBox.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboButtonTemplate.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboButtonTemplate.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboButtonTemplate.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboButtonTemplate.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,18 @@
+<div class="dojoButton" style="position:relative;top:0px;left:0px; text-align:none;" dojoAttachEvent="onKey;onFocus">
+
+	<div dojoAttachPoint="buttonNode" class="dojoButtonLeftPart" style="position:absolute;left:0px;top:0px;"
+		dojoAttachEvent="onMouseOver; onMouseOut; onMouseDown; onMouseUp; onClick:buttonClick;">
+		<div class="dojoButtonContents" dojoAttachPoint="containerNode" style="position:absolute;top:0px;right:0px;z-index:2;"></div>
+		<img dojoAttachPoint="leftImage" style="position:absolute;left:0px;top:0px;">
+		<img dojoAttachPoint="centerImage" style="position:absolute;right:0px;top:0px;z-index:1;">
+	</div>
+
+	<div dojoAttachPoint="rightPart" class="dojoButtonRightPart" style="position:absolute;top:0px;right:0px;"
+		dojoAttachEvent="onMouseOver:rightOver; onMouseOut:rightOut; onMouseDown:rightDown; onMouseUp:rightUp; onClick:rightClick;">
+		<img dojoAttachPoint="arrowBackgroundImage" style="position:absolute;top:0px;left:0px;z-index:1;">
+		<img src="${dojoRoot}src/widget/templates/images/whiteDownArrow.gif"
+		  		style="z-index:2;position:absolute;left:3px;top:50%;">
+		<img dojoAttachPoint="rightImage" style="position:absolute;top:0px;right:0px;">
+	</div>
+
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/ComboButtonTemplate.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,167 @@
+.datePickerContainer {
+	width:164px; /* needed for proper user styling */
+}
+
+.calendarContainer {
+/*	border:1px solid #566f8f;*/
+}
+
+.calendarBodyContainer {
+	width:100%; /* needed for the explode effect (explain?) */
+	background: #7591bc url("images/dpBg.gif") top left repeat-x;
+}
+
+.calendarBodyContainer thead tr td {
+	color:#293a4b;
+	font:bold 0.75em Helvetica, Arial, Verdana, sans-serif;
+	text-align:center;
+	padding:0.25em;
+	background: url("images/dpHorizLine.gif") bottom left repeat-x;
+}
+
+.calendarBodyContainer tbody tr td {
+	color:#fff;
+	font:bold 0.7em Helvetica, Arial, Verdana, sans-serif;
+	text-align:center;
+	padding:0.4em;
+	background: url("images/dpVertLine.gif") top right repeat-y;
+	cursor:pointer;
+	cursor:hand;
+}
+
+
+.monthWrapper {
+	padding-bottom:2px;
+	background: url("images/dpHorizLine.gif") bottom left repeat-x;
+}
+
+.monthContainer {
+	width:100%;
+}
+
+.monthLabelContainer {
+	text-align:center;
+	font:bold 0.75em Helvetica, Arial, Verdana, sans-serif;
+	background: url("images/dpMonthBg.png") repeat-x top left !important;
+	color:#293a4b;
+	padding:0.25em;
+}
+
+.monthCurve {
+	width:12px;
+}
+
+.monthCurveTL {
+	background: url("images/dpCurveTL.png") no-repeat top left !important;
+}
+
+.monthCurveTR {
+		background: url("images/dpCurveTR.png") no-repeat top right !important;
+}
+
+
+.yearWrapper {
+	background: url("images/dpHorizLineFoot.gif") top left repeat-x;
+	padding-top:2px;
+}
+
+.yearContainer {
+	width:100%;
+}
+
+.yearContainer td {
+	background:url("images/dpYearBg.png") top left repeat-x;
+}
+
+.yearContainer .yearLabel {
+	margin:0;
+	padding:0.45em 0 0.45em 0;
+	color:#fff;
+	font:bold 0.75em Helvetica, Arial, Verdana, sans-serif;
+	text-align:center;
+}
+
+.curveBL {
+	background: url("images/dpCurveBL.png") bottom left no-repeat !important;
+	width:9px !important;
+	padding:0;
+	margin:0;
+}
+
+.curveBR {
+	background: url("images/dpCurveBR.png") bottom right no-repeat !important;
+	width:9px !important;
+	padding:0;
+	margin:0;
+}
+
+
+.previousMonth {
+	background-color:#6782a8 !important;
+}
+
+.previousMonthDisabled {
+	background-color:#a4a5a6 !important;
+	cursor:default !important
+}
+.currentMonth {
+}
+
+.currentMonthDisabled {
+	background-color:#bbbbbc !important;
+	cursor:default !important
+}
+.nextMonth {
+	background-color:#6782a8 !important;
+}
+.nextMonthDisabled {
+	background-color:#a4a5a6 !important;
+	cursor:default !important;
+}
+
+.currentDate {
+	text-decoration:underline;
+	font-style:italic;
+}
+
+.selectedItem {
+	background-color:#fff !important;
+	color:#6782a8 !important;
+}
+
+.yearLabel .selectedYear {
+	padding:0.2em;
+	background-color:#9ec3fb !important;
+}
+
+.nextYear, .previousYear {
+	cursor:pointer;cursor:hand;
+	padding:0;
+}
+
+.nextYear {
+	margin:0 0 0 0.55em;
+}
+
+.previousYear {
+	margin:0 0.55em 0 0;
+}
+
+.incrementControl {
+	cursor:pointer;cursor:hand;
+	width:1em;
+}
+
+.increase {
+	float:right;
+}
+
+.decrease {
+	float:left;
+}
+
+.lastColumn {
+	background-image:none !important;
+}
+
+

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,96 @@
+<div class="datePickerContainer" dojoAttachPoint="datePickerContainerNode">
+	<table cellspacing="0" cellpadding="0" class="calendarContainer">
+		<thead>
+			<tr>
+				<td class="monthWrapper" valign="top">
+					<table class="monthContainer" cellspacing="0" cellpadding="0" border="0">
+						<tr>
+							<td class="monthCurve monthCurveTL" valign="top"></td>
+							<td class="monthLabelContainer" valign="top">
+								<span dojoAttachPoint="increaseWeekNode" 
+									dojoAttachEvent="onClick: onIncrementWeek;" 
+									class="incrementControl increase">
+									<img src="${dojoRoot}src/widget/templates/images/incrementMonth.png" 
+									alt="&darr;" style="width:7px;height:5px;" />
+								</span>
+								<span 
+									dojoAttachPoint="increaseMonthNode" 
+									dojoAttachEvent="onClick: onIncrementMonth;" class="incrementControl increase">
+									<img src="${dojoRoot}src/widget/templates/images/incrementMonth.png" 
+										alt="&darr;"  dojoAttachPoint="incrementMonthImageNode">
+								</span>
+								<span 
+									dojoAttachPoint="decreaseWeekNode" 
+									dojoAttachEvent="onClick: onIncrementWeek;" 
+									class="incrementControl decrease">
+									<img src="${dojoRoot}src/widget/templates/images/decrementMonth.png" alt="&uarr;" style="width:7px;height:5px;" />
+								</span>
+								<span 
+									dojoAttachPoint="decreaseMonthNode" 
+									dojoAttachEvent="onClick: onIncrementMonth;" class="incrementControl decrease">
+									<img src="${dojoRoot}src/widget/templates/images/decrementMonth.png" 
+										alt="&uarr;" dojoAttachPoint="decrementMonthImageNode">
+								</span>
+								<span dojoAttachPoint="monthLabelNode" class="month"></span>
+							</td>
+							<td class="monthCurve monthCurveTR" valign="top"></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</thead>
+		<tbody>
+			<tr>
+				<td colspan="3">
+					<table class="calendarBodyContainer" cellspacing="0" cellpadding="0" border="0">
+						<thead>
+							<tr dojoAttachPoint="dayLabelsRow">
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+							</tr>
+						</thead>
+						<tbody dojoAttachPoint="calendarDatesContainerNode" 
+							dojoAttachEvent="onClick: _handleUiClick;">
+							<tr dojoAttachPoint="calendarWeekTemplate">
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+								<td></td>
+							</tr>
+						</tbody>
+					</table>
+				</td>
+			</tr>
+		</tbody>
+		<tfoot>
+			<tr>
+				<td colspan="3" class="yearWrapper">
+					<table cellspacing="0" cellpadding="0" border="0" class="yearContainer">
+						<tr>
+							<td class="curveBL" valign="top"></td>
+							<td valign="top">
+								<h3 class="yearLabel">
+									<span dojoAttachPoint="previousYearLabelNode"
+										dojoAttachEvent="onClick: onIncrementYear;" class="previousYear"></span>
+									<span class="selectedYear" dojoAttachPoint="currentYearLabelNode"></span>
+									<span dojoAttachPoint="nextYearLabelNode" 
+										dojoAttachEvent="onClick: onIncrementYear;" class="nextYear"></span>
+								</h3>
+							</td>
+							<td class="curveBR" valign="top"></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</tfoot>
+	</table>
+	
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DatePicker.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DemoEngine.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DemoEngine.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DemoEngine.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DemoEngine.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,24 @@
+<div dojoAttachPoint="domNode">
+	<div dojoAttachPoint="navigationNode">
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td width="1%" valign="top" class="navigationCell"><h1>Categories</h1><div dojoAttachPoint="menuNavigationNode"></div></td>
+				<td width="99%" valign="top">
+					<div dojoAttachPoint="demoNavigationNode">
+					</div>
+				</td>
+			</tr>
+		</table>
+	</div>
+
+	<div dojoAttachPoint="demoContainerNode">
+
+		<div dojoAttachPoint="demoPaneNode">
+		</div>
+
+		<div dojoAttachPoint="demoHeaderNode">
+			<span dojoAttachPoint="collapsedMenuNode" dojoAttachEvent="onclick: expandDemoNavigation"></span>
+			<div dojoAttachPoint="aboutNode">About this Demo</div>
+		</div>
+	</div>
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DemoEngine.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Dialog.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Dialog.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Dialog.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Dialog.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,7 @@
+<div id="${this.widgetId}" class="dojoDialog" dojoattachpoint="wrapper">
+	<span dojoattachpoint="tabStartOuter" dojoonfocus="trapTabs" dojoonblur="clearTrap"	tabindex="0"></span>
+	<span dojoattachpoint="tabStart" dojoonfocus="trapTabs" dojoonblur="clearTrap" tabindex="0"></span>
+	<div dojoattachpoint="containerNode" style="position: relative; z-index: 2;"></div>
+	<span dojoattachpoint="tabEnd" dojoonfocus="trapTabs" dojoonblur="clearTrap" tabindex="0"></span>
+	<span dojoattachpoint="tabEndOuter" dojoonfocus="trapTabs" dojoonblur="clearTrap" tabindex="0"></span>
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Dialog.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,49 @@
+.dojoDocPane { padding:1em; font: 1em Georgia,Times,"Times New Roman",serif; }
+
+.dojoDocPane .container{ }
+
+.dojoDocPane .dialog{ }
+.dojoDocPane .dialog .container{ padding: 0.5em; background: #fff; border: 2px solid #333; }
+.dojoDocPane .dialog .docDialog{ background: transparent; width: 20em; }
+.dojoDocPane .dialog .docDialog h2{ margin-top: 0; padding-top: 0; }
+.dojoDocPane .dialog .docDialog input { float: right; margin-right: 1em; }
+.dojoDocPane .dialog .docDialog p{ clear: both; }
+#dojoDocUserName, #dojoDocPassword { width: 10em; }
+
+.dojoDocPane .nav{ }
+.dojoDocPane .nav span{ }
+
+.dojoDocPane .detail{ }
+.dojoDocPane .detail h1{ }
+.dojoDocPane .detail h1 span.fn{ }
+.dojoDocPane .detail .description{ }
+.dojoDocPane .detail .params{ }
+.dojoDocPane .detail .params .row{ }
+.dojoDocPane .detail .params .row span{ }
+.dojoDocPane .detail .variables{ }
+.dojoDocPane .detail .variables .row{ }
+.dojoDocPane .detail .signature{ }
+.dojoDocPane .detail .signature .source{ white-space: pre; font: 0.8em Monaco, Courier, "Courier New", monospace; }
+.dojoDocPane .detail .signature .source .return{ color:#369; }
+.dojoDocPane .detail .signature .source .function{ color: #98543F; font-weight: bold; }
+.dojoDocPane .detail .signature .source .params{ }
+.dojoDocPane .detail .signature .source .params .type{ font-style: italic; color: #d17575; }
+.dojoDocPane .detail .signature .source .params .name{ color: #d14040; }
+
+.dojoDocPane .result{ }
+.dojoDocPane .result h1{ }
+.dojoDocPane .result .row{ }
+.dojoDocPane .result .row .summary{ }
+
+.dojoDocPane .package{ }
+.dojoDocPane .package h1{ }
+.dojoDocPane .package .row{ }
+.dojoDocPane .package .row .summary{ }
+.dojoDocPane .package .description{ }
+.dojoDocPane .package .methods{ }
+.dojoDocPane .package .methods h2{ }
+.dojoDocPane .package .methods .row{ }
+.dojoDocPane .package .methods .row .description{ }
+.dojoDocPane .package .requires{ }
+.dojoDocPane .package .requires h2{ }
+.dojoDocPane .package .requires .row{ }

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,79 @@
+<div class="dojoDocPane">
+	<div dojoAttachPoint="containerNode" class="container"></div>
+
+	<div dojoAttachPoint="dialog" class="dialog">
+		<div class="container" dojoAttachPoint="dialogBg">
+			<div class="docDialog" dojoAttachPoint="dialogFg">
+				<h2>Log In</h2>
+				<p><input id="dojoDocUserName" dojoAttachPoint="userName"><label for="dojoDocUserName">User Name:</label></p>
+				<p><input id="dojoDocPassword" dojoAttachPoint="password" type="password"><label for="dojoDocPassword">Password:</label></p>
+				<p><input type="button" dojoAttachPoint="cancel" value="cancel"> <input type="button" dojoAttachPoint="logIn" value="Log In"></p>
+				<p></p>
+			</div>
+		</div>
+	</div>
+
+	<div dojoAttachPoint="nav" class="nav"><span>Detail</span> | <span>Source</span> | <span>Examples</span> | <span>Walkthrough</span></div>
+
+	<div dojoAttachPoint="detail" class="detail">
+		<h1>Detail: <span class="fn" dojoAttachPoint="fn">dojo.select</span></h1>
+		<div class="description" dojoAttachPoint="description">Description</div>
+		<div class="params" dojoAttachPoint="parameters">
+			<h2>Parameters</h2>
+			<div class="row" dojoAttachPoint="pRow">
+				<span dojoAttachPoint="pOpt"><em>optional</em> </span>
+				<span><span dojoAttachPoint="pType">type</span> </span>
+				<a href="#" dojoAttachPoint="pLink">variable</a>
+				<span> - <span dojoAttachPoint="pDesc"></span></span>
+			</div>
+		</div>
+		<div class="variables" dojoAttachPoint="variables">
+			<h2>Variables</h2>
+			<div class"row" dojoAttachPoint="vRow">
+				<a href="#" dojoAttachPoint="vLink">variable</a><span> - <span dojoAttachPoint="vDesc"></span></span>
+			</div>
+		</div>
+		<div class="signature">
+			<h2>Signature</h2>
+			<div class="source">
+				<span class="return" dojoAttachPoint="sType">returnType</span> 
+				<span class="function" dojoAttachPoint="sName">foo</span>
+				(<span class="params" dojoAttachPoint="sParams">
+					<span class="type" dojoAttachPoint="sPType">type </span>
+					<span class="name" dojoAttachPoint="sPName">paramName</span>
+				</span>)
+			</div>
+		</div>
+	</div>
+	
+	<div dojoAttachPoint="result" class="result">
+		<h1>Search Results: <span dojoAttachPoint="count">0</span> matches</h1>
+		<div class="row" dojoAttachPoint="row">
+			<a href="#" dojoAttachPoint="fnLink">dojo.fnLink</a>
+			<span> - <span class="summary" dojoAttachPoint="summary">summary</span></span>
+		</div>
+	</div>
+
+	<div dojoAttachPoint="packag" class="package">
+		<h1>Package: 
+			<span class="pkg" dojoAttachPoint="pkg">dojo.package</span> 
+			<span class="edit" dojoAttachPoint="edit">[edit]</span> 
+			<span class="save" dojoAttachPoint="save">[save]</span>
+		</h1>
+		<div dojoAttachPoint="pkgDescription" class="description">Description</div>
+		<div class="methods" dojoAttachPoint="methods">
+			<h2>Methods</h2>
+			<div class="row" dojoAttachPoint="mRow">
+				<a href="#" dojoAttachPoint="mLink">method</a>
+				<span> - <span class="description" dojoAttachPoint="mDesc"></span></span>
+			</div>
+		</div>
+		<div class="requires" dojoAttachPoint="requires">
+			<h2>Requires</h2>
+			<div class="row" dojoAttachPoint="rRow">
+				<h3 dojoAttachPoint="rH3">Environment</h3>
+				<div dojoAttachPoint="rRow2"><a href="#" dojoAttachPoint="rLink" class="package">require</a></div>
+			</div>
+		</div>
+	</div>
+</div>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DocPane.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DropDownButtonTemplate.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DropDownButtonTemplate.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DropDownButtonTemplate.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DropDownButtonTemplate.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,9 @@
+<button dojoAttachPoint="button" class="dojoButton dojoButtonNoHover" dojoAttachEvent="onMouseOver: ; onMouseOut: ; onClick: ;">
+  <table dojoAttachPoint="table" style="margin:0 0 0 0;"><tr>
+    <td class="label" dojoAttachPoint="labelCell"></td>
+    <td class="border" dojoAttachPoint="borderCell"></td>
+    <td class="downArrow" dojoAttachPoint="arrowCell">
+      <img dojoAttachPoint="arrow">
+    </td>
+  </tr></table>
+</button>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/DropDownButtonTemplate.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/createlink.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/createlink.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/createlink.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/createlink.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,15 @@
+<table>
+<tr><td>URL</td><td> <input type="text" dojoAttachPoint="link_href" name="dojo_createLink_href"/></td></tr>
+<tr><td>Target </td><td><select dojoAttachPoint="link_target">
+	<option value="">Self</option>
+	<option value="_blank">New Window</option>
+	<option value="_top">Top Window</option>
+	</select></td></tr>
+<tr><td>Class </td><td><input type="text" dojoAttachPoint="link_class" /></td></tr>
+<tr><td colspan="2">
+	<table><tr>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:ok'>OK</button></td>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:cancel'>Cancel</button></td>
+	</tr></table>
+	</td></tr>
+</table>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/createlink.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/find.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/find.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/find.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/find.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,15 @@
+<table style="white-space: nowrap;">
+<tr><td colspan='2'>Find: <input type="text" dojoAttachPoint="find_text" /></td></tr>
+<tr><td><input type="checkbox" dojoType="CheckBox" dojoAttachPoint="find_option_casesens" />
+		<label for="find_option_casesens">Case Sensitive</label></td>
+			<td><input type="checkbox" dojoType="CheckBox" dojoAttachPoint="find_option_backwards" />
+		<label for="find_option_backwards">Search Backwards</label></td></tr>
+<tr><td style="display: none;"><input type="checkbox" dojoType="CheckBox" dojoAttachPoint="find_option_wholeword" />
+		<label for="find_option_wholeword">Whole Word</label></td>
+<tr><td colspan="1">
+	<table><tr>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:find'>Find</button></td>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:cancel'>Close</button></td>
+	</tr></table>
+	</td></tr>
+</table>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/find.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/insertimage.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/insertimage.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/insertimage.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/insertimage.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,114 @@
+<table cellspacing="1" cellpadding="1" border="0" width="100%" height="100%">
+	<tr>
+		<td>
+			<table cellspacing="0" cellpadding="0" width="100%" border="0">
+				<tr>
+					<td width="100%">
+						<span>URL</span>
+					</td>
+					<td style="display: none" nowrap="nowrap" rowspan="2">
+						<!--input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server"/-->
+					</td>
+				</tr>
+				<tr>
+					<td valign="top">
+						<input dojoAttachPoint="image_src" style="width: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+		</td>
+	</tr>
+	<tr>
+		<td>
+			<span>Alternative Text</span><br />
+			<input dojoAttachPoint="image_alt" style="width: 100%" type="text" /><br />
+		</td>
+	</tr>
+	<tr>
+		<td valign="top">
+			<table><tr><td>
+						<table cellspacing="0" cellpadding="0" border="0">
+							<tr>
+								<td nowrap="nowrap">
+									<span>Width</span>&nbsp;</td>
+								<td>
+									<input type="text" size="3" dojoAttachPoint="image_width" /></td>
+
+								<td rowspan="2">
+									<!--div id="btnLockSizes" class="BtnLocked" onmouseover="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ) + ' BtnOver';"
+										onmouseout="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' );" title="Lock Sizes"
+										onclick="SwitchLock(this);">
+									</div-->
+								</td>
+								<td rowspan="2">
+									<!--div id="btnResetSize" class="BtnReset" onmouseover="this.className='BtnReset BtnOver';"
+										onmouseout="this.className='BtnReset';" title="Reset Size" onclick="ResetSizes();">
+									</div-->
+								</td>
+							</tr>
+
+							<tr>
+								<td nowrap="nowrap">
+									<span>Height</span>&nbsp;</td>
+								<td>
+									<input type="text" size="3" dojoAttachPoint="image_height" /></td>
+							</tr>
+						</table>
+					</td><td>
+
+						<table cellspacing="0" cellpadding="0" border="0">
+							<tr>
+
+								<td nowrap="nowrap">
+									<span >HSpace</span>&nbsp;</td>
+								<td>
+									<input type="text" size="2" dojoAttachPoint="image_hspace"/></td>
+							</tr>
+							<tr>
+								<td nowrap="nowrap">
+									<span >VSpace</span>&nbsp;</td>
+
+								<td>
+									<input type="text" size="2" dojoAttachPoint="image_vspace" /></td>
+							</tr>
+						</table>
+					</td></tr>
+					<tr><td colspan="2">
+						<table cellspacing="0" cellpadding="0" border="0">
+							<tr>
+								<td nowrap="nowrap">
+									<span>Border</span>&nbsp;</td>
+								<td>
+									<input type="text" size="2" value="" dojoAttachPoint="image_border" /></td>
+								<td>&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap">
+									<span >Align</span>&nbsp;</td>
+								<td>
+									<select dojoAttachPoint="image_align">
+
+										<option value="" selected="selected"></option>
+										<option value="left">Left</option>
+										<option value="absBottom">Abs Bottom</option>
+										<option value="absMiddle">Abs Middle</option>
+										<option value="baseline">Baseline</option>
+										<option value="bottom">Bottom</option>
+
+										<option value="middle">Middle</option>
+										<option value="right">Right</option>
+										<option value="textTop">Text Top</option>
+										<option value="top">Top</option>
+									</select>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr></table>
+		</td>
+	</tr>
+	<tr><td>
+		<table><tr>
+		<td><button dojoType='Button' dojoAttachEvent='onClick:ok'>OK</button></td>
+		<td><button dojoType='Button' dojoAttachEvent='onClick:cancel'>Cancel</button></td>
+		</tr></table>
+	</td></tr>
+</table>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/insertimage.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/inserttable.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/inserttable.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/inserttable.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/inserttable.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,91 @@
+<div>
+<table cellSpacing="1" cellPadding="1" width="100%" border="0">
+	<tr>
+		<td valign="top">
+			<table cellSpacing="0" cellPadding="0" border="0">
+				<tr>
+
+					<td><span>Rows</span>:</td>
+					<td>&nbsp;<input dojoAttachPoint="table_rows" type="text" maxLength="3" size="2" value="3"></td>
+				</tr>
+				<tr>
+					<td><span>Columns</span>:</td>
+					<td>&nbsp;<input dojoAttachPoint="table_cols" type="text" maxLength="2" size="2" value="2"></td>
+				</tr>
+
+				<tr>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+				</tr>
+				<tr>
+					<td><span>Border size</span>:</td>
+					<td>&nbsp;<INPUT dojoAttachPoint="table_border" type="text" maxLength="2" size="2" value="1"></td>
+				</tr>
+
+				<tr>
+					<td><span>Alignment</span>:</td>
+					<td>&nbsp;<select dojoAttachPoint="table_align">
+							<option value="" selected>&lt;Not set&gt;</option>
+							<option value="left">Left</option>
+							<option value="center">Center</option>
+							<option value="right">Right</option>
+						</select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;</td>
+		<td align="right" valign="top">
+			<table cellSpacing="0" cellPadding="0" border="0">
+				<tr>
+					<td><span>Width</span>:</td>
+					<td>&nbsp;<input dojoAttachPoint="table_width" type="text" maxLength="4" size="3"></td>
+					<td>&nbsp;<select dojoAttachPoint="table_widthtype">
+							<option value="percent" selected>percent</option>
+							<option value="pixels">pixels</option>
+						</select></td>
+
+				</tr>
+				<tr>
+					<td><span>Height</span>:</td>
+					<td>&nbsp;<INPUT dojoAttachPoint="table_height" type="text" maxLength="4" size="3"></td>
+					<td>&nbsp;<span>pixels</span></td>
+				</tr>
+				<tr>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+					<td>&nbsp;</td>
+				</tr>
+				<tr>
+					<td nowrap><span>Cell spacing</span>:</td>
+					<td>&nbsp;<input dojoAttachPoint="table_cellspacing" type="text" maxLength="2" size="2" value="1"></td>
+					<td>&nbsp;</td>
+
+				</tr>
+				<tr>
+					<td nowrap><span>Cell padding</span>:</td>
+					<td>&nbsp;<input dojoAttachPoint="table_cellpadding" type="text" maxLength="2" size="2" value="1"></td>
+					<td>&nbsp;</td>
+				</tr>
+			</table>
+		</td>
+	</tr>
+</table>
+<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+	<tr>
+		<td nowrap><span>Caption</span>:</td>
+		<td>&nbsp;</td>
+		<td width="100%" nowrap>&nbsp;
+			<input dojoAttachPoint="table_caption" type="text" style="WIDTH: 90%"></td>
+	</tr>
+	<tr>
+		<td nowrap><span>Summary</span>:</td>
+		<td>&nbsp;</td>
+		<td width="100%" nowrap>&nbsp;
+			<input dojoAttachPoint="table_summery" type="text" style="WIDTH: 90%"></td>
+	</tr>
+</table>
+<table><tr>
+<td><button dojoType='Button' dojoAttachEvent='onClick:ok'>Ok</button></td>
+<td><button dojoType='Button' dojoAttachEvent='onClick:cancel'>Cancel</button></td>
+</tr></table>
+</div>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/inserttable.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/replace.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/replace.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/replace.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/replace.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,15 @@
+<table style="white-space: nowrap;">
+<tr><td>Find: </td><td> <input type="text" dojoAttachPoint="replace_text" /></td></tr>
+<tr><td>Replace with: </td><td> <input type="text" dojoAttachPoint="replace_text" /></td></tr>
+<tr><td colspan='2'><table><tr><td><input type="checkbox" dojoType="CheckBox" dojoAttachPoint="replace_option_casesens" id="dojo_replace_option_casesens" />
+		<label for="dojo_replace_option_casesens">Case Sensitive</label></td>
+			<td><input type="checkbox" dojoType="CheckBox" dojoAttachPoint="replace_option_backwards" id="dojo_replace_option_backwards" />
+		<label for="dojo_replace_option_backwards">Search Backwards</label></td></tr></table></td></tr>
+<tr><td colspan=2">
+	<table><tr>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:replace'>Replace</button></td>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:replaceAll'>Replace All</button></td>
+	<td><button dojoType='Button' dojoAttachEvent='onClick:cancel'>Close</button></td>
+	</tr></table>
+	</td></tr>
+</table>

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/Dialog/replace.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorDialog.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorDialog.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorDialog.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorDialog.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,18 @@
+<div id="${this.widgetId}" dojoAttachEvent="onMouseDown" class="dojoFloatingPane">
+	<div dojoAttachPoint="titleBar" class="dojoFloatingPaneTitleBar"  style="display:none">
+	  	<img dojoAttachPoint="titleBarIcon"  class="dojoFloatingPaneTitleBarIcon">
+		<div dojoAttachPoint="closeAction" dojoAttachEvent="onClick:hide"
+   	  		class="dojoFloatingPaneCloseIcon"></div>
+		<div dojoAttachPoint="restoreAction" dojoAttachEvent="onClick:restoreWindow"
+   	  		class="dojoFloatingPaneRestoreIcon"></div>
+		<div dojoAttachPoint="maximizeAction" dojoAttachEvent="onClick:maximizeWindow"
+   	  		class="dojoFloatingPaneMaximizeIcon"></div>
+		<div dojoAttachPoint="minimizeAction" dojoAttachEvent="onClick:minimizeWindow"
+   	  		class="dojoFloatingPaneMinimizeIcon"></div>
+	  	<div dojoAttachPoint="titleBarText" class="dojoFloatingPaneTitleText">${this.title}</div>
+	</div>
+
+	<div id="${this.widgetId}_container" dojoAttachPoint="containerNode" class="dojoFloatingPaneClient"></div>
+
+	<div dojoAttachPoint="resizeBar" class="dojoFloatingPaneResizebar" style="display:none"></div>
+</div>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorDialog.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontName.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontName.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontName.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontName.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,20 @@
+<div class="SC_Panel" style="width: 150px; height: 150px;">
+	<div class="SC_Item" dropDownItemName="Arial">
+		<font face="Arial" style="font-size: 12px;">Arial</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="Comic Sans MS">
+		<font face="Comic Sans MS" style="font-size: 12px;">Comic Sans MS</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="Courier New">
+		<font face="Courier New" style="font-size: 12px;">Courier New</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="Tahoma">
+		<font face="Tahoma" style="font-size: 12px;">Tahoma</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="Times New Roman">
+		<font face="Times New Roman" style="font-size: 12px;">Times New Roman</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="Verdana">
+		<font face="Verdana" style="font-size: 12px;">Verdana</font>
+	</div>
+</div>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontName.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontSize.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontSize.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontSize.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontSize.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,31 @@
+<div class="SC_Panel" style="width: 150px; height: 150px;">
+<table width="100%" cellspacing="0" cellpadding="0" style="table-layout: fixed;">
+<tbody>
+<tr>
+<td nowrap="">
+	<div class="SC_Item" dropDownItemName="1">
+	<font size="1">xx-small</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="2">
+	<font size="2">x-small</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="3">
+	<font size="3">small</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="4">
+	<font size="4">medium</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="5">
+	<font size="5">large</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="6">
+	<font size="6">x-large</font>
+	</div>
+	<div class="SC_Item" dropDownItemName="7">
+	<font size="7">xx-large</font>
+	</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FontSize.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FormatBlock.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FormatBlock.html?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FormatBlock.html (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FormatBlock.html Thu Sep 28 20:42:39 2006
@@ -0,0 +1,52 @@
+<div class="SC_Panel" style="width: 190px; height: 150px;">
+	<div class="SC_Item" dropDownItemName="p">
+		<div class="BaseFont">
+			<p>Normal</p>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="div">
+		<div class="BaseFont">
+			<div>Normal (DIV)</div>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="pre">
+		<div class="BaseFont">
+			<pre>Formatted</pre>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="address">
+		<div class="BaseFont">
+			<address>Address</address>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="h1">
+		<div class="BaseFont">
+			<h1>Heading 1</h1>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="h2">
+		<div class="BaseFont">
+			<h2>Heading 2</h2>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="h3">
+		<div class="BaseFont">
+			<h3>Heading 3</h3>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="h4">
+		<div class="BaseFont">
+			<h4>Heading 4</h4>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="h5">
+		<div class="BaseFont">
+			<h5>Heading 5</h5>
+		</div>
+	</div>
+	<div class="SC_Item" dropDownItemName="h6">
+		<div class="BaseFont">
+			<h6>Heading 6</h6>
+		</div>
+	</div>
+</div>
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/EditorToolbar_FormatBlock.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_gecko.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_gecko.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_gecko.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_gecko.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,19 @@
+/* For tables with the "border" attribute set to "0" */
+table[border="0"], 
+table[border="0"] > tr > td, table[border="0"] > tr > th, 
+table[border="0"] > tbody > tr > td, table[border="0"] > tbody > tr > th, 
+table[border="0"] > thead > tr > td, table[border="0"] > thead > tr > th, 
+table[border="0"] > tfoot > tr > td, table[border="0"] > tfoot > tr > th
+{
+	border: #d3d3d3 1px dotted ;
+}
+
+/* For tables with no "border" attribute set */
+table:not([border]), 
+table:not([border]) > tr > td, table:not([border]) > tr > th,
+table:not([border]) > tbody > tr > td, table:not([border]) > tbody > tr > th,
+table:not([border]) > thead > tr > td, table:not([border]) > thead > tr > th,
+table:not([border]) > tfoot > tr > td, table:not([border]) > tfoot > tr > th
+{
+	border: #d3d3d3 1px dotted ;
+}
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_gecko.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_ie.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_ie.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_ie.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_ie.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,4 @@
+table.dojoShowIETableBorders, table.dojoShowIETableBorders td, table.dojoShowIETableBorders th
+{
+	border: #d3d3d3 1px solid;
+}
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/Editor2/showtableborder_ie.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/EditorToolbar.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/EditorToolbar.css?view=auto&rev=451106
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/EditorToolbar.css (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/EditorToolbar.css Thu Sep 28 20:42:39 2006
@@ -0,0 +1,153 @@
+.StyleDropdownContainer {
+	position: absolute;
+	z-index: 1000;
+	overflow: auto;
+	cursor: default;
+	width: 250px;
+	height: 250px;
+	background-color: white;
+	border: 1px solid black;
+}
+
+.ColorDropdownContainer {
+	position: absolute;
+	z-index: 1000;
+	overflow: auto;
+	cursor: default;
+	width: 250px;
+	height: 150px;
+	background-color: white;
+	border: 1px solid black;
+}
+
+.EditorToolbarDomNode {
+	background-image: url(buttons/bg-fade.png);
+	background-repeat: repeat-x;
+	background-position: 0px -50px;
+}
+
+.EditorToolbarSmallBg {
+	background-image: url(images/toolbar-bg.gif);
+	background-repeat: repeat-x;
+	background-position: 0px 0px;
+}
+
+/*
+body {
+	background:url(images/blank.gif) fixed;
+}*/
+
+.IEFixedToolbar {
+	position:absolute;
+	/* top:0; */
+	top: expression(eval((document.documentElement||document.body).scrollTop));
+}
+
+div.bigIcon {
+	width: 40px;
+	height: 40px; 
+	/* background-color: white; */
+	/* border: 1px solid #a6a7a3; */
+	font-family: Verdana, Trebuchet, Tahoma, Arial;
+}
+
+.iconContainer {
+	font-family: Verdana, Trebuchet, Tahoma, Arial;
+	font-size: 13px;
+	float: left;
+	height: 18px;
+	display: block;
+	/* background-color: white; */
+	/* border: 1px solid white; */
+	/* border: 1px solid #a6a7a3; */
+	padding-right: 3px;
+	cursor: pointer;
+	border: 1px solid transparent;
+	_border: none;
+}
+
+.dojoE2TBIcon {
+	display: block;
+	text-align: center;
+	min-width: 18px;
+	width: 18px;
+	height: 18px;
+	/* background-color: #a6a7a3; */
+	background-repeat: no-repeat;
+	background-image: url(buttons/aggregate.gif);
+}
+
+
+.dojoE2TBIcon[class~=dojoE2TBIcon] {
+}
+
+.ToolbarButtonLatched {
+    border: #316ac5 1px solid;
+    background-color: #c1d2ee;
+}
+
+.ToolbarButtonHighlighted {
+    border: #316ac5 1px solid;
+    background-color: #dff1ff;
+}
+
+.ToolbarButtonDisabled{
+    filter: gray() alpha(opacity=30); /* IE */
+    opacity: 0.30; /* Safari, Opera and Mozilla */
+}
+
+.headingContainer {
+	width: 150px;
+	height: 30px;
+	margin: 0px;
+	/* padding-left: 5px; */
+	overflow: hidden;
+	line-height: 25px;
+	border-bottom: 1px solid black;
+	border-top: 1px solid white;
+}
+
+.EditorToolbarDomNode select {
+	font-size: 14px;
+}
+ 
+.dojoE2TBIcon_Sep { width: 5px; min-width: 5px; max-width: 5px; background-position: 0px 0px}
+.dojoE2TBIcon_Backcolor { background-position: -18px 0px}
+.dojoE2TBIcon_Bold { background-position: -36px 0px}
+.dojoE2TBIcon_Cancel { background-position: -54px 0px}
+.dojoE2TBIcon_Copy { background-position: -72px 0px}
+.dojoE2TBIcon_Link { background-position: -90px 0px}
+.dojoE2TBIcon_Cut { background-position: -108px 0px}
+.dojoE2TBIcon_Delete { background-position: -126px 0px}
+.dojoE2TBIcon_TextColor { background-position: -144px 0px}
+.dojoE2TBIcon_BackgroundColor { background-position: -162px 0px}
+.dojoE2TBIcon_Indent { background-position: -180px 0px}
+.dojoE2TBIcon_HorizontalLine { background-position: -198px 0px}
+.dojoE2TBIcon_Image { background-position: -216px 0px}
+.dojoE2TBIcon_NumberedList { background-position: -234px 0px}
+.dojoE2TBIcon_Table { background-position: -252px 0px}
+.dojoE2TBIcon_BulletedList { background-position: -270px 0px}
+.dojoE2TBIcon_Italic { background-position: -288px 0px}
+.dojoE2TBIcon_CenterJustify { background-position: -306px 0px}
+.dojoE2TBIcon_BlockJustify { background-position: -324px 0px}
+.dojoE2TBIcon_LeftJustify { background-position: -342px 0px}
+.dojoE2TBIcon_RightJustify { background-position: -360px 0px}
+.dojoE2TBIcon_left_to_right { background-position: -378px 0px}
+.dojoE2TBIcon_list_bullet_indent { background-position: -396px 0px}
+.dojoE2TBIcon_list_bullet_outdent { background-position: -414px 0px}
+.dojoE2TBIcon_list_num_indent { background-position: -432px 0px}
+.dojoE2TBIcon_list_num_outdent { background-position: -450px 0px}
+.dojoE2TBIcon_Outdent { background-position: -468px 0px}
+.dojoE2TBIcon_Paste { background-position: -486px 0px}
+.dojoE2TBIcon_Redo { background-position: -504px 0px}
+dojoE2TBIcon_RemoveFormat { background-position: -522px 0px}
+.dojoE2TBIcon_right_to_left { background-position: -540px 0px}
+.dojoE2TBIcon_Save { background-position: -558px 0px}
+.dojoE2TBIcon_Space { background-position: -576px 0px}
+.dojoE2TBIcon_StrikeThrough { background-position: -594px 0px}
+.dojoE2TBIcon_Subscript { background-position: -612px 0px}
+.dojoE2TBIcon_Superscript { background-position: -630px 0px}
+.dojoE2TBIcon_Underline { background-position: -648px 0px}
+.dojoE2TBIcon_Undo { background-position: -666px 0px}
+.dojoE2TBIcon_WikiWord { background-position: -684px 0px}
+

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/templates/EditorToolbar.css
------------------------------------------------------------------------------
    svn:eol-style = native