You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2015/05/22 12:58:51 UTC

[24/50] struts git commit: Moves deprecated plugins to struts-archive repo

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Chart.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Chart.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Chart.js
deleted file mode 100644
index 5e2c8ea..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Chart.js
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
-	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.Chart");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.gfx.color");
-dojo.require("dojo.gfx.color.hsl");
-dojo.declare("dojo.widget.Chart", null, function () {
-	this.series = [];
-}, {isContainer:false, assignColors:function () {
-	var hue = 30;
-	var sat = 120;
-	var lum = 120;
-	var steps = Math.round(330 / this.series.length);
-	for (var i = 0; i < this.series.length; i++) {
-		var c = dojo.gfx.color.hsl2rgb(hue, sat, lum);
-		if (!this.series[i].color) {
-			this.series[i].color = dojo.gfx.color.rgb2hex(c[0], c[1], c[2]);
-		}
-		hue += steps;
-	}
-}, parseData:function (table) {
-	var thead = table.getElementsByTagName("thead")[0];
-	var tbody = table.getElementsByTagName("tbody")[0];
-	if (!(thead && tbody)) {
-		dojo.raise("dojo.widget.Chart: supplied table must define a head and a body.");
-	}
-	var columns = thead.getElementsByTagName("tr")[0].getElementsByTagName("th");
-	for (var i = 1; i < columns.length; i++) {
-		var key = "column" + i;
-		var label = columns[i].innerHTML;
-		var plotType = columns[i].getAttribute("plotType") || "line";
-		var color = columns[i].getAttribute("color");
-		var ds = new dojo.widget.Chart.DataSeries(key, label, plotType, color);
-		this.series.push(ds);
-	}
-	var rows = tbody.rows;
-	var xMin = Number.MAX_VALUE, xMax = Number.MIN_VALUE;
-	var yMin = Number.MAX_VALUE, yMax = Number.MIN_VALUE;
-	var ignore = ["accesskey", "align", "bgcolor", "class", "colspan", "height", "id", "nowrap", "rowspan", "style", "tabindex", "title", "valign", "width"];
-	for (var i = 0; i < rows.length; i++) {
-		var row = rows[i];
-		var cells = row.cells;
-		var x = Number.MIN_VALUE;
-		for (var j = 0; j < cells.length; j++) {
-			if (j == 0) {
-				x = parseFloat(cells[j].innerHTML);
-				xMin = Math.min(xMin, x);
-				xMax = Math.max(xMax, x);
-			} else {
-				var ds = this.series[j - 1];
-				var y = parseFloat(cells[j].innerHTML);
-				yMin = Math.min(yMin, y);
-				yMax = Math.max(yMax, y);
-				var o = {x:x, value:y};
-				var attrs = cells[j].attributes;
-				for (var k = 0; k < attrs.length; k++) {
-					var attr = attrs.item(k);
-					var bIgnore = false;
-					for (var l = 0; l < ignore.length; l++) {
-						if (attr.nodeName.toLowerCase() == ignore[l]) {
-							bIgnore = true;
-							break;
-						}
-					}
-					if (!bIgnore) {
-						o[attr.nodeName] = attr.nodeValue;
-					}
-				}
-				ds.add(o);
-			}
-		}
-	}
-	return {x:{min:xMin, max:xMax}, y:{min:yMin, max:yMax}};
-}});
-dojo.declare("dojo.widget.Chart.DataSeries", null, function (key, label, plotType, color) {
-	this.id = "DataSeries" + dojo.widget.Chart.DataSeries.count++;
-	this.key = key;
-	this.label = label || this.id;
-	this.plotType = plotType || "line";
-	this.color = color;
-	this.values = [];
-}, {add:function (v) {
-	if (v.x == null || v.value == null) {
-		dojo.raise("dojo.widget.Chart.DataSeries.add: v must have both an 'x' and 'value' property.");
-	}
-	this.values.push(v);
-}, clear:function () {
-	this.values = [];
-}, createRange:function (len) {
-	var idx = this.values.length - 1;
-	var length = (len || this.values.length);
-	return {"index":idx, "length":length, "start":Math.max(idx - length, 0)};
-}, getMean:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var t = 0;
-	var c = 0;
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			t += n;
-			c++;
-		}
-	}
-	t /= Math.max(c, 1);
-	return t;
-}, getMovingAverage:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var t = 0;
-	var c = 0;
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			t += n;
-			c++;
-		}
-	}
-	t /= Math.max(c, 1);
-	return t;
-}, getVariance:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var t = 0;
-	var s = 0;
-	var c = 0;
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			t += n;
-			s += Math.pow(n, 2);
-			c++;
-		}
-	}
-	return (s / c) - Math.pow(t / c, 2);
-}, getStandardDeviation:function (len) {
-	return Math.sqrt(this.getVariance(len));
-}, getMax:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var t = 0;
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			t = Math.max(n, t);
-		}
-	}
-	return t;
-}, getMin:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var t = 0;
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			t = Math.min(n, t);
-		}
-	}
-	return t;
-}, getMedian:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var a = [];
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			var b = false;
-			for (var j = 0; j < a.length && !b; j++) {
-				if (n == a[j]) {
-					b = true;
-				}
-			}
-			if (!b) {
-				a.push(n);
-			}
-		}
-	}
-	a.sort();
-	if (a.length > 0) {
-		return a[Math.ceil(a.length / 2)];
-	}
-	return 0;
-}, getMode:function (len) {
-	var range = this.createRange(len);
-	if (range.index < 0) {
-		return 0;
-	}
-	var o = {};
-	var ret = 0;
-	var m = 0;
-	for (var i = range.index; i >= range.start; i--) {
-		var n = parseFloat(this.values[i].value);
-		if (!isNaN(n)) {
-			if (!o[this.values[i].value]) {
-				o[this.values[i].value] = 1;
-			} else {
-				o[this.values[i].value]++;
-			}
-		}
-	}
-	for (var p in o) {
-		if (m < o[p]) {
-			m = o[p];
-			ret = p;
-		}
-	}
-	return parseFloat(ret);
-}});
-dojo.requireIf(dojo.render.svg.capable, "dojo.widget.svg.Chart");
-dojo.requireIf(!dojo.render.svg.capable && dojo.render.vml.capable, "dojo.widget.vml.Chart");
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Checkbox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Checkbox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Checkbox.js
deleted file mode 100644
index d8b2571..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Checkbox.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-	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.Checkbox");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.require("dojo.event.*");
-dojo.require("dojo.html.style");
-dojo.require("dojo.html.selection");
-dojo.widget.defineWidget("dojo.widget.Checkbox", dojo.widget.HtmlWidget, {templateString:"<span style=\"display: inline-block;\" tabIndex=\"${this.tabIndex}\" waiRole=\"checkbox\" id=\"${this.id}\">\n\t<img dojoAttachPoint=\"imageNode\" class=\"dojoHtmlCheckbox\" src=\"${dojoWidgetModuleUri}templates/images/blank.gif\" alt=\"\" />\n\t<input type=\"checkbox\" name=\"${this.name}\" style=\"display: none\" value=\"${this.value}\"\n\t\tdojoAttachPoint=\"inputNode\">\n</span>\n", templateCssString:".dojoHtmlCheckbox {\n\tborder: 0px;\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 2px;\n\tvertical-align: middle;\n}\n\n.dojoHtmlCheckboxOn {\n\tbackground: url(check.gif) 0px 0px;\n}\n.dojoHtmlCheckboxOff {\n\tbackground: url(check.gif) -16px 0px;\n}\n.dojoHtmlCheckboxDisabledOn {\n\tbackground: url(check.gif) -32px 0px;\n}\n.dojoHtmlCheckboxDisabledOff {\n\tbackground: url(check.gif) -48px 0px;\n}\n.dojoHtmlCheckboxOnHover {\n\tbackground: url(check.gif) -64px 0px;\n}\n.dojoHtmlCheckboxOffHove
 r {\n\tbackground: url(check.gif) -80px 0px;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Checkbox.css"), name:"", id:"", checked:false, tabIndex:"", value:"on", postMixInProperties:function () {
-	dojo.widget.Checkbox.superclass.postMixInProperties.apply(this, arguments);
-	if (!this.disabled && this.tabIndex == "") {
-		this.tabIndex = "0";
-	}
-}, fillInTemplate:function () {
-	this._setInfo();
-}, postCreate:function () {
-	var notcon = true;
-	this.id = this.id != "" ? this.id : this.widgetId;
-	if (this.id != "") {
-		var labels = document.getElementsByTagName("label");
-		if (labels != null && labels.length > 0) {
-			for (var i = 0; i < labels.length; i++) {
-				if (labels[i].htmlFor == this.id) {
-					labels[i].id = (labels[i].htmlFor + "label");
-					this._connectEvents(labels[i]);
-					dojo.widget.wai.setAttr(this.domNode, "waiState", "labelledby", labels[i].id);
-					break;
-				}
-			}
-		}
-	}
-	this._connectEvents(this.domNode);
-	this.inputNode.checked = this.checked;
-}, _connectEvents:function (node) {
-	dojo.event.connect(node, "onmouseover", this, "mouseOver");
-	dojo.event.connect(node, "onmouseout", this, "mouseOut");
-	dojo.event.connect(node, "onkey", this, "onKey");
-	dojo.event.connect(node, "onclick", this, "_onClick");
-	dojo.html.disableSelection(node);
-}, _onClick:function (e) {
-	if (this.disabled == false) {
-		this.checked = !this.checked;
-		this._setInfo();
-	}
-	e.preventDefault();
-	e.stopPropagation();
-	this.onClick();
-}, setValue:function (bool) {
-	if (this.disabled == false) {
-		this.checked = bool;
-		this._setInfo();
-	}
-}, onClick:function () {
-}, onKey:function (e) {
-	var k = dojo.event.browser.keys;
-	if (e.key == " ") {
-		this._onClick(e);
-	}
-}, mouseOver:function (e) {
-	this._hover(e, true);
-}, mouseOut:function (e) {
-	this._hover(e, false);
-}, _hover:function (e, isOver) {
-	if (this.disabled == false) {
-		var state = this.checked ? "On" : "Off";
-		var style = "dojoHtmlCheckbox" + state + "Hover";
-		if (isOver) {
-			dojo.html.addClass(this.imageNode, style);
-		} else {
-			dojo.html.removeClass(this.imageNode, style);
-		}
-	}
-}, _setInfo:function () {
-	var state = "dojoHtmlCheckbox" + (this.disabled ? "Disabled" : "") + (this.checked ? "On" : "Off");
-	dojo.html.setClass(this.imageNode, "dojoHtmlCheckbox " + state);
-	this.inputNode.checked = this.checked;
-	if (this.disabled) {
-		this.inputNode.setAttribute("disabled", true);
-	} else {
-		this.inputNode.removeAttribute("disabled");
-	}
-	dojo.widget.wai.setAttr(this.domNode, "waiState", "checked", this.checked);
-}});
-dojo.widget.defineWidget("dojo.widget.a11y.Checkbox", dojo.widget.Checkbox, {templateString:"<span class='dojoHtmlCheckbox'>\n\t<input type=\"checkbox\" name=\"${this.name}\" tabIndex=\"${this.tabIndex}\" id=\"${this.id}\" value=\"${this.value}\"\n\t\t dojoAttachEvent=\"onClick: _onClick;\" dojoAttachPoint=\"inputNode\"> \n</span>\n", fillInTemplate:function () {
-}, postCreate:function (args, frag) {
-	this.inputNode.checked = this.checked;
-	if (this.disabled) {
-		this.inputNode.setAttribute("disabled", true);
-	}
-}, _onClick:function () {
-	this.onClick();
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Clock.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Clock.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Clock.js
deleted file mode 100644
index 94192cd..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Clock.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
-	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.Clock");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.gfx.*");
-dojo.require("dojo.uri.Uri");
-dojo.require("dojo.lang.common");
-dojo.require("dojo.lang.timing.Timer");
-dojo.widget.defineWidget("dojo.widget.Clock", dojo.widget.HtmlWidget, function () {
-	var self = this;
-	this.timeZoneOffset = 0;
-	this.label = "";
-	this.date = new Date();
-	this.handColor = "#788598";
-	this.handStroke = "#6f7b8c";
-	this.secondHandColor = [201, 4, 5, 0.8];
-	this.topLabelColor = "#efefef";
-	this.labelColor = "#fff";
-	this.timer = new dojo.lang.timing.Timer(1000);
-	this.center = {x:75, y:75};
-	this.hands = {hour:null, minute:null, second:null};
-	this.shadows = {hour:{shadow:null, shift:{dx:2, dy:2}}, minute:{shadow:null, shift:{dx:2, dy:3}}, second:{shadow:null, shift:{dx:4, dy:4}}};
-	this.image = dojo.uri.moduleUri("dojo.widget", "templates/images/clock.png");
-	this.surface = null;
-	this.labelNode = null;
-	this.topLabelNode = null;
-	this.draw = function () {
-		self.date = new Date();
-		var h = (self.date.getHours() + self.timeZoneOffset) % 12;
-		var m = self.date.getMinutes();
-		var s = self.date.getSeconds();
-		self.placeHour(h, m, s);
-		self.placeMinute(m, s);
-		self.placeSecond(s);
-		self.topLabelNode.innerHTML = ((self.date.getHours() + self.timeZoneOffset) > 11) ? "PM" : "AM";
-	};
-	this.timer.onTick = self.draw;
-}, {set:function (dt) {
-	this.date = dt;
-	if (!this.timer.isRunning) {
-		this.draw();
-	}
-}, start:function () {
-	this.timer.start();
-}, stop:function () {
-	this.timer.stop();
-}, _initPoly:function (parent, points) {
-	var path = parent.createPath();
-	var first = true;
-	dojo.lang.forEach(points, function (c) {
-		if (first) {
-			path.moveTo(c.x, c.y);
-			first = false;
-		} else {
-			path.lineTo(c.x, c.y);
-		}
-	});
-	return path;
-}, _placeHand:function (shape, angle, shift) {
-	var move = {dx:this.center.x + (shift ? shift.dx : 0), dy:this.center.y + (shift ? shift.dy : 0)};
-	return shape.setTransform([move, dojo.gfx.matrix.rotateg(-angle)]);
-}, placeHour:function (h, m, s) {
-	var angle = 30 * (h + m / 60 + s / 3600);
-	this._placeHand(this.hands.hour, angle);
-	this._placeHand(this.shadows.hour.shadow, angle, this.shadows.hour.shift);
-}, placeMinute:function (m, s) {
-	var angle = 6 * (m + s / 60);
-	this._placeHand(this.hands.minute, angle);
-	this._placeHand(this.shadows.minute.shadow, angle, this.shadows.minute.shift);
-}, placeSecond:function (s) {
-	var angle = 6 * s;
-	this._placeHand(this.hands.second, angle);
-	this._placeHand(this.shadows.second.shadow, angle, this.shadows.second.shift);
-}, init:function () {
-	if (this.domNode.style.position != "absolute") {
-		this.domNode.style.position = "relative";
-	}
-	while (this.domNode.childNodes.length > 0) {
-		this.domNode.removeChild(this.domNode.childNodes[0]);
-	}
-	this.domNode.style.width = "150px";
-	this.domNode.style.height = "150px";
-	this.surface = dojo.gfx.createSurface(this.domNode, 150, 150);
-	this.surface.createRect({width:150, height:150});
-	this.surface.createImage({width:150, height:150, src:this.image + ""});
-	var hP = [{x:-3, y:-4}, {x:3, y:-4}, {x:1, y:-27}, {x:-1, y:-27}, {x:-3, y:-4}];
-	var mP = [{x:-3, y:-4}, {x:3, y:-4}, {x:1, y:-38}, {x:-1, y:-38}, {x:-3, y:-4}];
-	var sP = [{x:-2, y:-2}, {x:2, y:-2}, {x:1, y:-45}, {x:-1, y:-45}, {x:-2, y:-2}];
-	this.shadows.hour.shadow = this._initPoly(this.surface, hP).setFill([0, 0, 0, 0.1]);
-	this.hands.hour = this._initPoly(this.surface, hP).setStroke({color:this.handStroke, width:1}).setFill({type:"linear", x1:0, y1:0, x2:0, y2:-27, colors:[{offset:0, color:"#fff"}, {offset:0.33, color:this.handColor}]});
-	this.shadows.minute.shadow = this._initPoly(this.surface, mP).setFill([0, 0, 0, 0.1]);
-	this.hands.minute = this._initPoly(this.surface, mP).setStroke({color:this.handStroke, width:1}).setFill({type:"linear", x1:0, y1:0, x2:0, y2:-38, colors:[{offset:0, color:"#fff"}, {offset:0.33, color:this.handColor}]});
-	this.surface.createCircle({r:6}).setStroke({color:this.handStroke, width:2}).setFill("#fff").setTransform({dx:75, dy:75});
-	this.shadows.second.shadow = this._initPoly(this.surface, sP).setFill([0, 0, 0, 0.1]);
-	this.hands.second = this._initPoly(this.surface, sP).setFill(this.secondHandColor);
-	this.surface.createCircle({r:4}).setFill(this.secondHandColor).setTransform({dx:75, dy:75});
-	this.topLabelNode = document.createElement("div");
-	with (this.topLabelNode.style) {
-		position = "absolute";
-		top = "3px";
-		left = "0px";
-		color = this.topLabelColor;
-		textAlign = "center";
-		width = "150px";
-		fontFamily = "sans-serif";
-		fontSize = "11px";
-		textTransform = "uppercase";
-		fontWeight = "bold";
-	}
-	this.topLabelNode.innerHTML = ((this.date.getHours() + this.timeZoneOffset) > 11) ? "PM" : "AM";
-	this.domNode.appendChild(this.topLabelNode);
-	this.labelNode = document.createElement("div");
-	with (this.labelNode.style) {
-		position = "absolute";
-		top = "134px";
-		left = "0px";
-		color = this.labelColor;
-		textAlign = "center";
-		width = "150px";
-		fontFamily = "sans-serif";
-		fontSize = "10px";
-		textTransform = "uppercase";
-		fontWeight = "bold";
-	}
-	this.labelNode.innerHTML = this.label || "&nbsp;";
-	this.domNode.appendChild(this.labelNode);
-	this.draw();
-}, postCreate:function () {
-	this.init();
-	this.start();
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ColorPalette.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ColorPalette.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ColorPalette.js
deleted file mode 100644
index c72f10b..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ColorPalette.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-	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.ColorPalette");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.html.layout");
-dojo.require("dojo.html.display");
-dojo.require("dojo.html.selection");
-dojo.widget.defineWidget("dojo.widget.ColorPalette", dojo.widget.HtmlWidget, {palette:"7x10", _palettes:{"7x10":[["fff", "fcc", "fc9", "ff9", "ffc", "9f9", "9ff", "cff", "ccf", "fcf"], ["ccc", "f66", "f96", "ff6", "ff3", "6f9", "3ff", "6ff", "99f", "f9f"], ["c0c0c0", "f00", "f90", "fc6", "ff0", "3f3", "6cc", "3cf", "66c", "c6c"], ["999", "c00", "f60", "fc3", "fc0", "3c0", "0cc", "36f", "63f", "c3c"], ["666", "900", "c60", "c93", "990", "090", "399", "33f", "60c", "939"], ["333", "600", "930", "963", "660", "060", "366", "009", "339", "636"], ["000", "300", "630", "633", "330", "030", "033", "006", "309", "303"]], "3x4":[["ffffff", "00ff00", "008000", "0000ff"], ["c0c0c0", "ffff00", "ff00ff", "000080"], ["808080", "ff0000", "800080", "000000"]]}, buildRendering:function () {
-	this.domNode = document.createElement("table");
-	dojo.html.disableSelection(this.domNode);
-	dojo.event.connect(this.domNode, "onmousedown", function (e) {
-		e.preventDefault();
-	});
-	with (this.domNode) {
-		cellPadding = "0";
-		cellSpacing = "1";
-		border = "1";
-		style.backgroundColor = "white";
-	}
-	var colors = this._palettes[this.palette];
-	for (var i = 0; i < colors.length; i++) {
-		var tr = this.domNode.insertRow(-1);
-		for (var j = 0; j < colors[i].length; j++) {
-			if (colors[i][j].length == 3) {
-				colors[i][j] = colors[i][j].replace(/(.)(.)(.)/, "$1$1$2$2$3$3");
-			}
-			var td = tr.insertCell(-1);
-			with (td.style) {
-				backgroundColor = "#" + colors[i][j];
-				border = "1px solid gray";
-				width = height = "15px";
-				fontSize = "1px";
-			}
-			td.color = "#" + colors[i][j];
-			td.onmouseover = function (e) {
-				this.style.borderColor = "white";
-			};
-			td.onmouseout = function (e) {
-				this.style.borderColor = "gray";
-			};
-			dojo.event.connect(td, "onmousedown", this, "onClick");
-			td.innerHTML = "&nbsp;";
-		}
-	}
-}, onClick:function (e) {
-	this.onColorSelect(e.currentTarget.color);
-	e.currentTarget.style.borderColor = "gray";
-}, onColorSelect:function (color) {
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ComboBox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ComboBox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ComboBox.js
deleted file mode 100644
index 5b97e4a..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ComboBox.js
+++ /dev/null
@@ -1,559 +0,0 @@
-/*
-	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.ComboBox");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.io.*");
-dojo.require("dojo.html.*");
-dojo.require("dojo.string");
-dojo.require("dojo.widget.html.stabile");
-dojo.require("dojo.widget.PopupContainer");
-dojo.declare("dojo.widget.incrementalComboBoxDataProvider", null, function (options) {
-	this.searchUrl = options.dataUrl;
-	this._cache = {};
-	this._inFlight = false;
-	this._lastRequest = null;
-	this.allowCache = false;
-}, {_addToCache:function (keyword, data) {
-	if (this.allowCache) {
-		this._cache[keyword] = data;
-	}
-}, startSearch:function (searchStr, callback) {
-	if (this._inFlight) {
-	}
-	var tss = encodeURIComponent(searchStr);
-	var realUrl = dojo.string.substituteParams(this.searchUrl, {"searchString":tss});
-	var _this = this;
-	var request = this._lastRequest = dojo.io.bind({url:realUrl, method:"get", mimetype:"text/json", load:function (type, data, evt) {
-		_this._inFlight = false;
-		if (!dojo.lang.isArray(data)) {
-			var arrData = [];
-			for (var key in data) {
-				arrData.push([data[key], key]);
-			}
-			data = arrData;
-		}
-		_this._addToCache(searchStr, data);
-		if (request == _this._lastRequest) {
-			callback(data);
-		}
-	}});
-	this._inFlight = true;
-}});
-dojo.declare("dojo.widget.basicComboBoxDataProvider", null, function (options, node) {
-	this._data = [];
-	this.searchLimit = 30;
-	this.searchType = "STARTSTRING";
-	this.caseSensitive = false;
-	if (!dj_undef("dataUrl", options) && !dojo.string.isBlank(options.dataUrl)) {
-		this._getData(options.dataUrl);
-	} else {
-		if ((node) && (node.nodeName.toLowerCase() == "select")) {
-			var opts = node.getElementsByTagName("option");
-			var ol = opts.length;
-			var data = [];
-			for (var x = 0; x < ol; x++) {
-				var text = opts[x].textContent || opts[x].innerText || opts[x].innerHTML;
-				var keyValArr = [String(text), String(opts[x].value)];
-				data.push(keyValArr);
-				if (opts[x].selected) {
-					options.setAllValues(keyValArr[0], keyValArr[1]);
-				}
-			}
-			this.setData(data);
-		}
-	}
-}, {_getData:function (url) {
-	dojo.io.bind({url:url, load:dojo.lang.hitch(this, function (type, data, evt) {
-		if (!dojo.lang.isArray(data)) {
-			var arrData = [];
-			for (var key in data) {
-				arrData.push([data[key], key]);
-			}
-			data = arrData;
-		}
-		this.setData(data);
-	}), mimetype:"text/json"});
-}, startSearch:function (searchStr, callback) {
-	this._performSearch(searchStr, callback);
-}, _performSearch:function (searchStr, callback) {
-	var st = this.searchType;
-	var ret = [];
-	if (!this.caseSensitive) {
-		searchStr = searchStr.toLowerCase();
-	}
-	for (var x = 0; x < this._data.length; x++) {
-		if ((this.searchLimit > 0) && (ret.length >= this.searchLimit)) {
-			break;
-		}
-		var dataLabel = new String((!this.caseSensitive) ? this._data[x][0].toLowerCase() : this._data[x][0]);
-		if (dataLabel.length < searchStr.length) {
-			continue;
-		}
-		if (st == "STARTSTRING") {
-			if (searchStr == dataLabel.substr(0, searchStr.length)) {
-				ret.push(this._data[x]);
-			}
-		} else {
-			if (st == "SUBSTRING") {
-				if (dataLabel.indexOf(searchStr) >= 0) {
-					ret.push(this._data[x]);
-				}
-			} else {
-				if (st == "STARTWORD") {
-					var idx = dataLabel.indexOf(searchStr);
-					if (idx == 0) {
-						ret.push(this._data[x]);
-					}
-					if (idx <= 0) {
-						continue;
-					}
-					var matches = false;
-					while (idx != -1) {
-						if (" ,/(".indexOf(dataLabel.charAt(idx - 1)) != -1) {
-							matches = true;
-							break;
-						}
-						idx = dataLabel.indexOf(searchStr, idx + 1);
-					}
-					if (!matches) {
-						continue;
-					} else {
-						ret.push(this._data[x]);
-					}
-				}
-			}
-		}
-	}
-	callback(ret);
-}, setData:function (pdata) {
-	this._data = pdata;
-}});
-dojo.widget.defineWidget("dojo.widget.ComboBox", dojo.widget.HtmlWidget, {forceValidOption:false, searchType:"stringstart", dataProvider:null, autoComplete:true, searchDelay:100, dataUrl:"", fadeTime:200, maxListLength:8, mode:"local", selectedResult:null, dataProviderClass:"", buttonSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/combo_box_arrow.png"), dropdownToggle:"fade", templateString:"<span _=\"whitespace and CR's between tags adds &nbsp; in FF\"\n\tclass=\"dojoComboBoxOuter\"\n\t><input style=\"display:none\"  tabindex=\"-1\" name=\"\" value=\"\" \n\t\tdojoAttachPoint=\"comboBoxValue\"\n\t><input style=\"display:none\"  tabindex=\"-1\" name=\"\" value=\"\" \n\t\tdojoAttachPoint=\"comboBoxSelectionValue\"\n\t><input type=\"text\" autocomplete=\"off\" class=\"dojoComboBox\"\n\t\tdojoAttachEvent=\"key:_handleKeyEvents; keyUp: onKeyUp; compositionEnd; onResize;\"\n\t\tdojoAttachPoint=\"textInputNode\"\n\t><img hspace=\"0\"\n\t\tvspace=\"0\"\n\t\tclass=\"dojoComboBox\"\n\
 t\tdojoAttachPoint=\"downArrowNode\"\n\t\tdojoAttachEvent=\"onMouseUp: handleArrowClick; onResize;\"\n\t\tsrc=\"${this.buttonSrc}\"\n></span>\n", templateCssString:".dojoComboBoxOuter {\n\tborder: 0px !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n\tbackground: transparent !important;\n\twhite-space: nowrap !important;\n}\n\n.dojoComboBox {\n\tborder: 1px inset #afafaf;\n\tmargin: 0px;\n\tpadding: 0px;\n\tvertical-align: middle !important;\n\tfloat: none !important;\n\tposition: static !important;\n\tdisplay: inline !important;\n}\n\n/* the input box */\ninput.dojoComboBox {\n\tborder-right-width: 0px !important; \n\tmargin-right: 0px !important;\n\tpadding-right: 0px !important;\n}\n\n/* the down arrow */\nimg.dojoComboBox {\n\tborder-left-width: 0px !important;\n\tpadding-left: 0px !important;\n\tmargin-left: 0px !important;\n}\n\n/* IE vertical-alignment calculations can be off by +-1 but these margins are collapsed away */\n.dj_ie img.dojoComboBox {\n\tmargi
 n-top: 1px; \n\tmargin-bottom: 1px; \n}\n\n/* the drop down */\n.dojoComboBoxOptions {\n\tfont-family: Verdana, Helvetica, Garamond, sans-serif;\n\t/* font-size: 0.7em; */\n\tbackground-color: white;\n\tborder: 1px solid #afafaf;\n\tposition: absolute;\n\tz-index: 1000; \n\toverflow: auto;\n\tcursor: default;\n}\n\n.dojoComboBoxItem {\n\tpadding-left: 2px;\n\tpadding-top: 2px;\n\tmargin: 0px;\n}\n\n.dojoComboBoxItemEven {\n\tbackground-color: #f4f4f4;\n}\n\n.dojoComboBoxItemOdd {\n\tbackground-color: white;\n}\n\n.dojoComboBoxItemHighlight {\n\tbackground-color: #63709A;\n\tcolor: white;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/ComboBox.css"), setValue:function (value) {
-	this.comboBoxValue.value = value;
-	if (this.textInputNode.value != value) {
-		this.textInputNode.value = value;
-		dojo.widget.html.stabile.setState(this.widgetId, this.getState(), true);
-		this.onValueChanged(value);
-	}
-}, onValueChanged:function (value) {
-}, getValue:function () {
-	return this.comboBoxValue.value;
-}, getState:function () {
-	return {value:this.getValue()};
-}, setState:function (state) {
-	this.setValue(state.value);
-}, enable:function () {
-	this.disabled = false;
-	this.textInputNode.removeAttribute("disabled");
-}, disable:function () {
-	this.disabled = true;
-	this.textInputNode.setAttribute("disabled", true);
-}, _getCaretPos:function (element) {
-	if (dojo.lang.isNumber(element.selectionStart)) {
-		return element.selectionStart;
-	} else {
-		if (dojo.render.html.ie) {
-			var tr = document.selection.createRange().duplicate();
-			var ntr = element.createTextRange();
-			tr.move("character", 0);
-			ntr.move("character", 0);
-			try {
-				ntr.setEndPoint("EndToEnd", tr);
-				return String(ntr.text).replace(/\r/g, "").length;
-			}
-			catch (e) {
-				return 0;
-			}
-		}
-	}
-}, _setCaretPos:function (element, location) {
-	location = parseInt(location);
-	this._setSelectedRange(element, location, location);
-}, _setSelectedRange:function (element, start, end) {
-	if (!end) {
-		end = element.value.length;
-	}
-	if (element.setSelectionRange) {
-		element.focus();
-		element.setSelectionRange(start, end);
-	} else {
-		if (element.createTextRange) {
-			var range = element.createTextRange();
-			with (range) {
-				collapse(true);
-				moveEnd("character", end);
-				moveStart("character", start);
-				select();
-			}
-		} else {
-			element.value = element.value;
-			element.blur();
-			element.focus();
-			var dist = parseInt(element.value.length) - end;
-			var tchar = String.fromCharCode(37);
-			var tcc = tchar.charCodeAt(0);
-			for (var x = 0; x < dist; x++) {
-				var te = document.createEvent("KeyEvents");
-				te.initKeyEvent("keypress", true, true, null, false, false, false, false, tcc, tcc);
-				element.dispatchEvent(te);
-			}
-		}
-	}
-}, _handleKeyEvents:function (evt) {
-	if (evt.ctrlKey || evt.altKey || !evt.key) {
-		return;
-	}
-	this._prev_key_backspace = false;
-	this._prev_key_esc = false;
-	var k = dojo.event.browser.keys;
-	var doSearch = true;
-	switch (evt.key) {
-	  case k.KEY_DOWN_ARROW:
-		if (!this.popupWidget.isShowingNow) {
-			this._startSearchFromInput();
-		}
-		this._highlightNextOption();
-		dojo.event.browser.stopEvent(evt);
-		return;
-	  case k.KEY_UP_ARROW:
-		this._highlightPrevOption();
-		dojo.event.browser.stopEvent(evt);
-		return;
-	  case k.KEY_TAB:
-		if (!this.autoComplete && this.popupWidget.isShowingNow && this._highlighted_option) {
-			dojo.event.browser.stopEvent(evt);
-			this._selectOption({"target":this._highlighted_option, "noHide":false});
-			this._setSelectedRange(this.textInputNode, this.textInputNode.value.length, null);
-		} else {
-			this._selectOption();
-			return;
-		}
-		break;
-	  case k.KEY_ENTER:
-		if (this.popupWidget.isShowingNow) {
-			dojo.event.browser.stopEvent(evt);
-		}
-		if (this.autoComplete) {
-			this._selectOption();
-			return;
-		}
-	  case " ":
-		if (this.popupWidget.isShowingNow && this._highlighted_option) {
-			dojo.event.browser.stopEvent(evt);
-			this._selectOption();
-			this._hideResultList();
-			return;
-		}
-		break;
-	  case k.KEY_ESCAPE:
-		this._hideResultList();
-		this._prev_key_esc = true;
-		return;
-	  case k.KEY_BACKSPACE:
-		this._prev_key_backspace = true;
-		if (!this.textInputNode.value.length) {
-			this.setAllValues("", "");
-			this._hideResultList();
-			doSearch = false;
-		}
-		break;
-	  case k.KEY_RIGHT_ARROW:
-	  case k.KEY_LEFT_ARROW:
-		doSearch = false;
-		break;
-	  default:
-		if (evt.charCode == 0) {
-			doSearch = false;
-		}
-	}
-	if (this.searchTimer) {
-		clearTimeout(this.searchTimer);
-	}
-	if (doSearch) {
-		this._blurOptionNode();
-		this.searchTimer = setTimeout(dojo.lang.hitch(this, this._startSearchFromInput), this.searchDelay);
-	}
-}, compositionEnd:function (evt) {
-	evt.key = evt.keyCode;
-	this._handleKeyEvents(evt);
-}, onKeyUp:function (evt) {
-	this.setValue(this.textInputNode.value);
-}, setSelectedValue:function (value) {
-	this.comboBoxSelectionValue.value = value;
-}, setAllValues:function (value1, value2) {
-	this.setSelectedValue(value2);
-	this.setValue(value1);
-}, _focusOptionNode:function (node) {
-	if (this._highlighted_option != node) {
-		this._blurOptionNode();
-		this._highlighted_option = node;
-		dojo.html.addClass(this._highlighted_option, "dojoComboBoxItemHighlight");
-	}
-}, _blurOptionNode:function () {
-	if (this._highlighted_option) {
-		dojo.html.removeClass(this._highlighted_option, "dojoComboBoxItemHighlight");
-		this._highlighted_option = null;
-	}
-}, _highlightNextOption:function () {
-	if ((!this._highlighted_option) || !this._highlighted_option.parentNode) {
-		this._focusOptionNode(this.optionsListNode.firstChild);
-	} else {
-		if (this._highlighted_option.nextSibling) {
-			this._focusOptionNode(this._highlighted_option.nextSibling);
-		}
-	}
-	dojo.html.scrollIntoView(this._highlighted_option);
-}, _highlightPrevOption:function () {
-	if (this._highlighted_option && this._highlighted_option.previousSibling) {
-		this._focusOptionNode(this._highlighted_option.previousSibling);
-	} else {
-		this._highlighted_option = null;
-		this._hideResultList();
-		return;
-	}
-	dojo.html.scrollIntoView(this._highlighted_option);
-}, _itemMouseOver:function (evt) {
-	if (evt.target === this.optionsListNode) {
-		return;
-	}
-	this._focusOptionNode(evt.target);
-	dojo.html.addClass(this._highlighted_option, "dojoComboBoxItemHighlight");
-}, _itemMouseOut:function (evt) {
-	if (evt.target === this.optionsListNode) {
-		return;
-	}
-	this._blurOptionNode();
-}, onResize:function () {
-	var inputSize = dojo.html.getContentBox(this.textInputNode);
-	if (inputSize.height <= 0) {
-		dojo.lang.setTimeout(this, "onResize", 100);
-		return;
-	}
-	var buttonSize = {width:inputSize.height, height:inputSize.height};
-	dojo.html.setContentBox(this.downArrowNode, buttonSize);
-}, fillInTemplate:function (args, frag) {
-	dojo.html.applyBrowserClass(this.domNode);
-	var source = this.getFragNodeRef(frag);
-	if (!this.name && source.name) {
-		this.name = source.name;
-	}
-	this.comboBoxValue.name = this.name;
-	this.comboBoxSelectionValue.name = this.name + "_selected";
-	dojo.html.copyStyle(this.domNode, source);
-	dojo.html.copyStyle(this.textInputNode, source);
-	dojo.html.copyStyle(this.downArrowNode, source);
-	with (this.downArrowNode.style) {
-		width = "0px";
-		height = "0px";
-	}
-	var dpClass;
-	if (this.dataProviderClass) {
-		if (typeof this.dataProviderClass == "string") {
-			dpClass = dojo.evalObjPath(this.dataProviderClass);
-		} else {
-			dpClass = this.dataProviderClass;
-		}
-	} else {
-		if (this.mode == "remote") {
-			dpClass = dojo.widget.incrementalComboBoxDataProvider;
-		} else {
-			dpClass = dojo.widget.basicComboBoxDataProvider;
-		}
-	}
-	this.dataProvider = new dpClass(this, this.getFragNodeRef(frag));
-	this.popupWidget = new dojo.widget.createWidget("PopupContainer", {toggle:this.dropdownToggle, toggleDuration:this.toggleDuration});
-	dojo.event.connect(this, "destroy", this.popupWidget, "destroy");
-	this.optionsListNode = this.popupWidget.domNode;
-	this.domNode.appendChild(this.optionsListNode);
-	dojo.html.addClass(this.optionsListNode, "dojoComboBoxOptions");
-	dojo.event.connect(this.optionsListNode, "onclick", this, "_selectOption");
-	dojo.event.connect(this.optionsListNode, "onmouseover", this, "_onMouseOver");
-	dojo.event.connect(this.optionsListNode, "onmouseout", this, "_onMouseOut");
-	dojo.event.connect(this.optionsListNode, "onmouseover", this, "_itemMouseOver");
-	dojo.event.connect(this.optionsListNode, "onmouseout", this, "_itemMouseOut");
-}, _openResultList:function (results) {
-	if (this.disabled) {
-		return;
-	}
-	this._clearResultList();
-	if (!results.length) {
-		this._hideResultList();
-	}
-	if ((this.autoComplete) && (results.length) && (!this._prev_key_backspace) && (this.textInputNode.value.length > 0)) {
-		var cpos = this._getCaretPos(this.textInputNode);
-		if ((cpos + 1) > this.textInputNode.value.length) {
-			this.textInputNode.value += results[0][0].substr(cpos);
-			this._setSelectedRange(this.textInputNode, cpos, this.textInputNode.value.length);
-		}
-	}
-	var even = true;
-	while (results.length) {
-		var tr = results.shift();
-		if (tr) {
-			var td = document.createElement("div");
-			td.appendChild(document.createTextNode(tr[0]));
-			td.setAttribute("resultName", tr[0]);
-			td.setAttribute("resultValue", tr[1]);
-			td.className = "dojoComboBoxItem " + ((even) ? "dojoComboBoxItemEven" : "dojoComboBoxItemOdd");
-			even = (!even);
-			this.optionsListNode.appendChild(td);
-		}
-	}
-	this._showResultList();
-}, _onFocusInput:function () {
-	this._hasFocus = true;
-}, _onBlurInput:function () {
-	this._hasFocus = false;
-	this._handleBlurTimer(true, 500);
-}, _handleBlurTimer:function (clear, millisec) {
-	if (this.blurTimer && (clear || millisec)) {
-		clearTimeout(this.blurTimer);
-	}
-	if (millisec) {
-		this.blurTimer = dojo.lang.setTimeout(this, "_checkBlurred", millisec);
-	}
-}, _onMouseOver:function (evt) {
-	if (!this._mouseover_list) {
-		this._handleBlurTimer(true, 0);
-		this._mouseover_list = true;
-	}
-}, _onMouseOut:function (evt) {
-	var relTarget = evt.relatedTarget;
-	try {
-		if (!relTarget || relTarget.parentNode != this.optionsListNode) {
-			this._mouseover_list = false;
-			this._handleBlurTimer(true, 100);
-			this._tryFocus();
-		}
-	}
-	catch (e) {
-	}
-}, _isInputEqualToResult:function (result) {
-	var input = this.textInputNode.value;
-	if (!this.dataProvider.caseSensitive) {
-		input = input.toLowerCase();
-		result = result.toLowerCase();
-	}
-	return (input == result);
-}, _isValidOption:function () {
-	var tgt = dojo.html.firstElement(this.optionsListNode);
-	var isValidOption = false;
-	while (!isValidOption && tgt) {
-		if (this._isInputEqualToResult(tgt.getAttribute("resultName"))) {
-			isValidOption = true;
-		} else {
-			tgt = dojo.html.nextElement(tgt);
-		}
-	}
-	return isValidOption;
-}, _checkBlurred:function () {
-	if (!this._hasFocus && !this._mouseover_list) {
-		this._hideResultList();
-		if (!this.textInputNode.value.length) {
-			this.setAllValues("", "");
-			return;
-		}
-		var isValidOption = this._isValidOption();
-		if (this.forceValidOption && !isValidOption) {
-			this.setAllValues("", "");
-			return;
-		}
-		if (!isValidOption) {
-			this.setSelectedValue("");
-		}
-	}
-}, _selectOption:function (evt) {
-	var tgt = null;
-	if (!evt) {
-		evt = {target:this._highlighted_option};
-	}
-	if (!dojo.html.isDescendantOf(evt.target, this.optionsListNode)) {
-		if (!this.textInputNode.value.length) {
-			return;
-		}
-		tgt = dojo.html.firstElement(this.optionsListNode);
-		if (!tgt || !this._isInputEqualToResult(tgt.getAttribute("resultName"))) {
-			return;
-		}
-	} else {
-		tgt = evt.target;
-	}
-	while ((tgt.nodeType != 1) || (!tgt.getAttribute("resultName"))) {
-		tgt = tgt.parentNode;
-		if (tgt === dojo.body()) {
-			return false;
-		}
-	}
-    this.textInputNode.value="";
-    this.selectedResult = [tgt.getAttribute("resultName"), tgt.getAttribute("resultValue")];
-	this.setAllValues(tgt.getAttribute("resultName"), tgt.getAttribute("resultValue"));
-	if (!evt.noHide) {
-		this._hideResultList();
-		this._setSelectedRange(this.textInputNode, 0, null);
-	}
-	this._tryFocus();
-}, _clearResultList:function () {
-	if (this.optionsListNode.innerHTML) {
-		this.optionsListNode.innerHTML = "";
-	}
-}, _hideResultList:function () {
-	this.popupWidget.close();
-}, _showResultList:function () {
-	var childs = this.optionsListNode.childNodes;
-	if (childs.length) {
-		var visibleCount = Math.min(childs.length, this.maxListLength);
-		with (this.optionsListNode.style) {
-			display = "";
-			if (visibleCount == childs.length) {
-				height = "";
-			} else {
-				height = visibleCount * dojo.html.getMarginBox(childs[0]).height + "px";
-			}
-			width = (dojo.html.getMarginBox(this.domNode).width - 2) + "px";
-		}
-		this.popupWidget.open(this.domNode, this, this.downArrowNode);
-	} else {
-		this._hideResultList();
-	}
-}, handleArrowClick:function () {
-	this._handleBlurTimer(true, 0);
-	this._tryFocus();
-	if (this.popupWidget.isShowingNow) {
-		this._hideResultList();
-	} else {
-		this._startSearch("");
-	}
-}, _tryFocus:function () {
-	try {
-		this.textInputNode.focus();
-	}
-	catch (e) {
-	}
-}, _startSearchFromInput:function () {
-	this._startSearch(this.textInputNode.value);
-}, _startSearch:function (key) {
-	this.dataProvider.startSearch(key, dojo.lang.hitch(this, "_openResultList"));
-}, postCreate:function () {
-	this.onResize();
-	dojo.event.connect(this.textInputNode, "onblur", this, "_onBlurInput");
-	dojo.event.connect(this.textInputNode, "onfocus", this, "_onFocusInput");
-	if (this.disabled) {
-		this.disable();
-	}
-	var s = dojo.widget.html.stabile.getState(this.widgetId);
-	if (s) {
-		this.setState(s);
-	}
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ContentPane.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ContentPane.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ContentPane.js
deleted file mode 100644
index ea20bd7..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/ContentPane.js
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
-	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.ContentPane");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.io.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.require("dojo.string");
-dojo.require("dojo.string.extras");
-dojo.require("dojo.html.style");
-dojo.widget.defineWidget("dojo.widget.ContentPane", dojo.widget.HtmlWidget, function () {
-	this._styleNodes = [];
-	this._onLoadStack = [];
-	this._onUnloadStack = [];
-	this._callOnUnload = false;
-	this._ioBindObj;
-	this.scriptScope;
-	this.bindArgs = {};
-}, {isContainer:true, adjustPaths:true, href:"", extractContent:true, parseContent:true, cacheContent:true, preload:false, refreshOnShow:false, handler:"", executeScripts:false, scriptSeparation:true, loadingMessage:"Loading...", isLoaded:false, postCreate:function (args, frag, parentComp) {
-	if (this.handler !== "") {
-		this.setHandler(this.handler);
-	}
-	if (this.isShowing() || this.preload) {
-		this.loadContents();
-	}
-}, show:function () {
-	if (this.refreshOnShow) {
-		this.refresh();
-	} else {
-		this.loadContents();
-	}
-	dojo.widget.ContentPane.superclass.show.call(this);
-}, refresh:function () {
-	this.isLoaded = false;
-	this.loadContents();
-}, loadContents:function () {
-	if (this.isLoaded) {
-		return;
-	}
-	if (dojo.lang.isFunction(this.handler)) {
-		this._runHandler();
-	} else {
-		if (this.href != "") {
-			this._downloadExternalContent(this.href, this.cacheContent && !this.refreshOnShow);
-		}
-	}
-}, setUrl:function (url) {
-	this.href = url;
-	this.isLoaded = false;
-	if (this.preload || this.isShowing()) {
-		this.loadContents();
-	}
-}, abort:function () {
-	var bind = this._ioBindObj;
-	if (!bind || !bind.abort) {
-		return;
-	}
-	bind.abort();
-	delete this._ioBindObj;
-}, _downloadExternalContent:function (url, useCache) {
-	this.abort();
-	this._handleDefaults(this.loadingMessage, "onDownloadStart");
-	var self = this;
-	this._ioBindObj = dojo.io.bind(this._cacheSetting({url:url, mimetype:"text/html", handler:function (type, data, xhr) {
-		delete self._ioBindObj;
-		if (type == "load") {
-			self.onDownloadEnd.call(self, url, data);
-		} else {
-			var e = {responseText:xhr.responseText, status:xhr.status, statusText:xhr.statusText, responseHeaders:xhr.getAllResponseHeaders(), text:"Error loading '" + url + "' (" + xhr.status + " " + xhr.statusText + ")"};
-			self._handleDefaults.call(self, e, "onDownloadError");
-			self.onLoad();
-		}
-	}}, useCache));
-}, _cacheSetting:function (bindObj, useCache) {
-	for (var x in this.bindArgs) {
-		if (dojo.lang.isUndefined(bindObj[x])) {
-			bindObj[x] = this.bindArgs[x];
-		}
-	}
-	if (dojo.lang.isUndefined(bindObj.useCache)) {
-		bindObj.useCache = useCache;
-	}
-	if (dojo.lang.isUndefined(bindObj.preventCache)) {
-		bindObj.preventCache = !useCache;
-	}
-	if (dojo.lang.isUndefined(bindObj.mimetype)) {
-		bindObj.mimetype = "text/html";
-	}
-	return bindObj;
-}, onLoad:function (e) {
-	this._runStack("_onLoadStack");
-	this.isLoaded = true;
-}, onUnLoad:function (e) {
-	dojo.deprecated(this.widgetType + ".onUnLoad, use .onUnload (lowercased load)", 0.5);
-}, onUnload:function (e) {
-	this._runStack("_onUnloadStack");
-	delete this.scriptScope;
-	if (this.onUnLoad !== dojo.widget.ContentPane.prototype.onUnLoad) {
-		this.onUnLoad.apply(this, arguments);
-	}
-}, _runStack:function (stName) {
-	var st = this[stName];
-	var err = "";
-	var scope = this.scriptScope || window;
-	for (var i = 0; i < st.length; i++) {
-		try {
-			st[i].call(scope);
-		}
-		catch (e) {
-			err += "\n" + st[i] + " failed: " + e.description;
-		}
-	}
-	this[stName] = [];
-	if (err.length) {
-		var name = (stName == "_onLoadStack") ? "addOnLoad" : "addOnUnLoad";
-		this._handleDefaults(name + " failure\n " + err, "onExecError", "debug");
-	}
-}, addOnLoad:function (obj, func) {
-	this._pushOnStack(this._onLoadStack, obj, func);
-}, addOnUnload:function (obj, func) {
-	this._pushOnStack(this._onUnloadStack, obj, func);
-}, addOnUnLoad:function () {
-	dojo.deprecated(this.widgetType + ".addOnUnLoad, use addOnUnload instead. (lowercased Load)", 0.5);
-	this.addOnUnload.apply(this, arguments);
-}, _pushOnStack:function (stack, obj, func) {
-	if (typeof func == "undefined") {
-		stack.push(obj);
-	} else {
-		stack.push(function () {
-			obj[func]();
-		});
-	}
-}, destroy:function () {
-	this.onUnload();
-	dojo.widget.ContentPane.superclass.destroy.call(this);
-}, onExecError:function (e) {
-}, onContentError:function (e) {
-}, onDownloadError:function (e) {
-}, onDownloadStart:function (e) {
-}, onDownloadEnd:function (url, data) {
-	data = this.splitAndFixPaths(data, url);
-	this.setContent(data);
-}, _handleDefaults:function (e, handler, messType) {
-	if (!handler) {
-		handler = "onContentError";
-	}
-	if (dojo.lang.isString(e)) {
-		e = {text:e};
-	}
-	if (!e.text) {
-		e.text = e.toString();
-	}
-	e.toString = function () {
-		return this.text;
-	};
-	if (typeof e.returnValue != "boolean") {
-		e.returnValue = true;
-	}
-	if (typeof e.preventDefault != "function") {
-		e.preventDefault = function () {
-			this.returnValue = false;
-		};
-	}
-	this[handler](e);
-	if (e.returnValue) {
-		switch (messType) {
-		  case true:
-		  case "alert":
-			alert(e.toString());
-			break;
-		  case "debug":
-			dojo.debug(e.toString());
-			break;
-		  default:
-			if (this._callOnUnload) {
-				this.onUnload();
-			}
-			this._callOnUnload = false;
-			if (arguments.callee._loopStop) {
-				dojo.debug(e.toString());
-			} else {
-				arguments.callee._loopStop = true;
-				this._setContent(e.toString());
-			}
-		}
-	}
-	arguments.callee._loopStop = false;
-}, splitAndFixPaths:function (s, url) {
-	var titles = [], scripts = [], tmp = [];
-	var match = [], requires = [], attr = [], styles = [];
-	var str = "", path = "", fix = "", tagFix = "", tag = "", origPath = "";
-	if (!url) {
-		url = "./";
-	}
-	if (s) {
-		var regex = /<title[^>]*>([\s\S]*?)<\/title>/i;
-		while (match = regex.exec(s)) {
-			titles.push(match[1]);
-			s = s.substring(0, match.index) + s.substr(match.index + match[0].length);
-		}
-		if (this.adjustPaths) {
-			var regexFindTag = /<[a-z][a-z0-9]*[^>]*\s(?:(?:src|href|style)=[^>])+[^>]*>/i;
-			var regexFindAttr = /\s(src|href|style)=(['"]?)([\w()\[\]\/.,\\'"-:;#=&?\s@]+?)\2/i;
-			var regexProtocols = /^(?:[#]|(?:(?:https?|ftps?|file|javascript|mailto|news):))/;
-			while (tag = regexFindTag.exec(s)) {
-				str += s.substring(0, tag.index);
-				s = s.substring((tag.index + tag[0].length), s.length);
-				tag = tag[0];
-				tagFix = "";
-				while (attr = regexFindAttr.exec(tag)) {
-					path = "";
-					origPath = attr[3];
-					switch (attr[1].toLowerCase()) {
-					  case "src":
-					  case "href":
-						if (regexProtocols.exec(origPath)) {
-							path = origPath;
-						} else {
-							path = (new dojo.uri.Uri(url, origPath).toString());
-						}
-						break;
-					  case "style":
-						path = dojo.html.fixPathsInCssText(origPath, url);
-						break;
-					  default:
-						path = origPath;
-					}
-					fix = " " + attr[1] + "=" + attr[2] + path + attr[2];
-					tagFix += tag.substring(0, attr.index) + fix;
-					tag = tag.substring((attr.index + attr[0].length), tag.length);
-				}
-				str += tagFix + tag;
-			}
-			s = str + s;
-		}
-		regex = /(?:<(style)[^>]*>([\s\S]*?)<\/style>|<link ([^>]*rel=['"]?stylesheet['"]?[^>]*)>)/i;
-		while (match = regex.exec(s)) {
-			if (match[1] && match[1].toLowerCase() == "style") {
-				styles.push(dojo.html.fixPathsInCssText(match[2], url));
-			} else {
-				if (attr = match[3].match(/href=(['"]?)([^'">]*)\1/i)) {
-					styles.push({path:attr[2]});
-				}
-			}
-			s = s.substring(0, match.index) + s.substr(match.index + match[0].length);
-		}
-		var regex = /<script([^>]*)>([\s\S]*?)<\/script>/i;
-		var regexSrc = /src=(['"]?)([^"']*)\1/i;
-		var regexDojoJs = /.*(\bdojo\b\.js(?:\.uncompressed\.js)?)$/;
-		var regexInvalid = /(?:var )?\bdjConfig\b(?:[\s]*=[\s]*\{[^}]+\}|\.[\w]*[\s]*=[\s]*[^;\n]*)?;?|dojo\.hostenv\.writeIncludes\(\s*\);?/g;
-		var regexRequires = /dojo\.(?:(?:require(?:After)?(?:If)?)|(?:widget\.(?:manager\.)?registerWidgetPackage)|(?:(?:hostenv\.)?setModulePrefix|registerModulePath)|defineNamespace)\((['"]).*?\1\)\s*;?/;
-		while (match = regex.exec(s)) {
-			if (this.executeScripts && match[1]) {
-				if (attr = regexSrc.exec(match[1])) {
-					if (regexDojoJs.exec(attr[2])) {
-						dojo.debug("Security note! inhibit:" + attr[2] + " from  being loaded again.");
-					} else {
-						scripts.push({path:attr[2]});
-					}
-				}
-			}
-			if (match[2]) {
-				var sc = match[2].replace(regexInvalid, "");
-				if (!sc) {
-					continue;
-				}
-				while (tmp = regexRequires.exec(sc)) {
-					requires.push(tmp[0]);
-					sc = sc.substring(0, tmp.index) + sc.substr(tmp.index + tmp[0].length);
-				}
-				if (this.executeScripts) {
-					scripts.push(sc);
-				}
-			}
-			s = s.substr(0, match.index) + s.substr(match.index + match[0].length);
-		}
-		if (this.extractContent) {
-			match = s.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);
-			if (match) {
-				s = match[1];
-			}
-		}
-		if (this.executeScripts && this.scriptSeparation) {
-			var regex = /(<[a-zA-Z][a-zA-Z0-9]*\s[^>]*?\S=)((['"])[^>]*scriptScope[^>]*>)/;
-			var regexAttr = /([\s'";:\(])scriptScope(.*)/;
-			str = "";
-			while (tag = regex.exec(s)) {
-				tmp = ((tag[3] == "'") ? "\"" : "'");
-				fix = "";
-				str += s.substring(0, tag.index) + tag[1];
-				while (attr = regexAttr.exec(tag[2])) {
-					tag[2] = tag[2].substring(0, attr.index) + attr[1] + "dojo.widget.byId(" + tmp + this.widgetId + tmp + ").scriptScope" + attr[2];
-				}
-				str += tag[2];
-				s = s.substr(tag.index + tag[0].length);
-			}
-			s = str + s;
-		}
-	}
-	return {"xml":s, "styles":styles, "titles":titles, "requires":requires, "scripts":scripts, "url":url};
-}, _setContent:function (cont) {
-	this.destroyChildren();
-	for (var i = 0; i < this._styleNodes.length; i++) {
-		if (this._styleNodes[i] && this._styleNodes[i].parentNode) {
-			this._styleNodes[i].parentNode.removeChild(this._styleNodes[i]);
-		}
-	}
-	this._styleNodes = [];
-	try {
-		var node = this.containerNode || this.domNode;
-		while(node!=null && node.firstChild){ 
-			dojo.html.destroyNode(node.firstChild);
-		}
-		if (typeof cont != "string") {
-			node.appendChild(cont);
-		} else {
-			node.innerHTML = cont;
-		}
-	}
-	catch (e) {
-		e.text = "Couldn't load content:" + e.description;
-		this._handleDefaults(e, "onContentError");
-	}
-}, setContent:function (data) {
-	this.abort();
-	if (this._callOnUnload) {
-		this.onUnload();
-	}
-	this._callOnUnload = true;
-	if (!data || dojo.html.isNode(data)) {
-		this._setContent(data);
-		this.onResized();
-		this.onLoad();
-	} else {
-		if (typeof data.xml != "string") {
-			this.href = "";
-			data = this.splitAndFixPaths(data);
-		}
-		this._setContent(data.xml);
-		for (var i = 0; i < data.styles.length; i++) {
-			if (data.styles[i].path) {
-				this._styleNodes.push(dojo.html.insertCssFile(data.styles[i].path, dojo.doc(), false, true));
-			} else {
-				this._styleNodes.push(dojo.html.insertCssText(data.styles[i]));
-			}
-		}
-		if (this.parseContent) {
-			for (var i = 0; i < data.requires.length; i++) {
-				try {
-					eval(data.requires[i]);
-				}
-				catch (e) {
-					e.text = "ContentPane: error in package loading calls, " + (e.description || e);
-					this._handleDefaults(e, "onContentError", "debug");
-				}
-			}
-		}
-		var _self = this;
-		function asyncParse() {
-			if (_self.executeScripts) {
-				_self._executeScripts(data.scripts);
-			}
-			if (_self.parseContent) {
-				var node = _self.containerNode || _self.domNode;
-				var parser = new dojo.xml.Parse();
-				var frag = parser.parseElement(node, null, true);
-				dojo.widget.getParser().createSubComponents(frag, _self);
-			}
-			_self.onResized();
-			_self.onLoad();
-		}
-		if (dojo.hostenv.isXDomain && data.requires.length) {
-			dojo.addOnLoad(asyncParse);
-		} else {
-			asyncParse();
-		}
-	}
-}, setHandler:function (handler) {
-	var fcn = dojo.lang.isFunction(handler) ? handler : window[handler];
-	if (!dojo.lang.isFunction(fcn)) {
-		this._handleDefaults("Unable to set handler, '" + handler + "' not a function.", "onExecError", true);
-		return;
-	}
-	this.handler = function () {
-		return fcn.apply(this, arguments);
-	};
-}, _runHandler:function () {
-	var ret = true;
-	if (dojo.lang.isFunction(this.handler)) {
-		this.handler(this, this.domNode);
-		ret = false;
-	}
-	this.onLoad();
-	return ret;
-}, _executeScripts:function (scripts) {
-	var self = this;
-	var tmp = "", code = "";
-	for (var i = 0; i < scripts.length; i++) {
-		if (scripts[i].path) {
-			dojo.io.bind(this._cacheSetting({"url":scripts[i].path, "load":function (type, scriptStr) {
-				dojo.lang.hitch(self, tmp = ";" + scriptStr);
-			}, "error":function (type, error) {
-				error.text = type + " downloading remote script";
-				self._handleDefaults.call(self, error, "onExecError", "debug");
-			}, "mimetype":"text/plain", "sync":true}, this.cacheContent));
-			code += tmp;
-		} else {
-			code += scripts[i];
-		}
-	}
-	try {
-		if (this.scriptSeparation) {
-			delete this.scriptScope;
-			this.scriptScope = new (new Function("_container_", code + "; return this;"))(self);
-		} else {
-			var djg = dojo.global();
-			if (djg.execScript) {
-				djg.execScript(code);
-			} else {
-				var djd = dojo.doc();
-				var sc = djd.createElement("script");
-				sc.appendChild(djd.createTextNode(code));
-				(this.containerNode || this.domNode).appendChild(sc);
-			}
-		}
-	}
-	catch (e) {
-		e.text = "Error running scripts from content:\n" + e.description;
-		this._handleDefaults(e, "onExecError", "debug");
-	}
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/CurrencyTextbox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/CurrencyTextbox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/CurrencyTextbox.js
deleted file mode 100644
index 933afb1..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/CurrencyTextbox.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-	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.CurrencyTextbox");
-dojo.require("dojo.widget.IntegerTextbox");
-dojo.require("dojo.validate.common");
-dojo.widget.defineWidget("dojo.widget.CurrencyTextbox", dojo.widget.IntegerTextbox, {mixInProperties:function (localProperties, frag) {
-	dojo.widget.CurrencyTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.fractional) {
-		this.flags.fractional = (localProperties.fractional == "true");
-	} else {
-		if (localProperties.cents) {
-			dojo.deprecated("dojo.widget.IntegerTextbox", "use fractional attr instead of cents", "0.5");
-			this.flags.fractional = (localProperties.cents == "true");
-		}
-	}
-	if (localProperties.symbol) {
-		this.flags.symbol = localProperties.symbol;
-	}
-	if (localProperties.min) {
-		this.flags.min = parseFloat(localProperties.min);
-	}
-	if (localProperties.max) {
-		this.flags.max = parseFloat(localProperties.max);
-	}
-}, isValid:function () {
-	return dojo.validate.isCurrency(this.textbox.value, this.flags);
-}, isInRange:function () {
-	return dojo.validate.isInRange(this.textbox.value, this.flags);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DatePicker.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DatePicker.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DatePicker.js
deleted file mode 100644
index 272429d..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DatePicker.js
+++ /dev/null
@@ -1,349 +0,0 @@
-/*
-	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.DatePicker");
-dojo.require("dojo.date.common");
-dojo.require("dojo.date.format");
-dojo.require("dojo.date.serialize");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.require("dojo.event.*");
-dojo.require("dojo.dom");
-dojo.require("dojo.html.style");
-dojo.widget.defineWidget("dojo.widget.DatePicker", dojo.widget.HtmlWidget, {value:"", name:"", displayWeeks:6, adjustWeeks:false, startDate:"1492-10-12", endDate:"2941-10-12", weekStartsOn:"", staticDisplay:false, dayWidth:"narrow", classNames:{previous:"previousMonth", disabledPrevious:"previousMonthDisabled", current:"currentMonth", disabledCurrent:"currentMonthDisabled", next:"nextMonth", disabledNext:"nextMonthDisabled", currentDate:"currentDate", selectedDate:"selectedDate"}, templateString:"<div class=\"datePickerContainer\" dojoAttachPoint=\"datePickerContainerNode\">\n\t<table cellspacing=\"0\" cellpadding=\"0\" class=\"calendarContainer\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<td class=\"monthWrapper\" valign=\"top\">\n\t\t\t\t\t<table class=\"monthContainer\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td class=\"monthCurve monthCurveTL\" valign=\"top\"></td>\n\t\t\t\t\t\t\t<td class=\"monthLabelContainer\" valign=\"top\">\n\t\t\t\t\t\t
 \t\t<span dojoAttachPoint=\"increaseWeekNode\" \n\t\t\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onIncrementWeek;\" \n\t\t\t\t\t\t\t\t\tclass=\"incrementControl increase\">\n\t\t\t\t\t\t\t\t\t<img src=\"${dojoWidgetModuleUri}templates/images/incrementMonth.png\" \n\t\t\t\t\t\t\t\t\talt=\"&darr;\" style=\"width:7px;height:5px;\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span \n\t\t\t\t\t\t\t\t\tdojoAttachPoint=\"increaseMonthNode\" \n\t\t\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onIncrementMonth;\" class=\"incrementControl increase\">\n\t\t\t\t\t\t\t\t\t<img src=\"${dojoWidgetModuleUri}templates/images/incrementMonth.png\" \n\t\t\t\t\t\t\t\t\t\talt=\"&darr;\"  dojoAttachPoint=\"incrementMonthImageNode\">\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span \n\t\t\t\t\t\t\t\t\tdojoAttachPoint=\"decreaseWeekNode\" \n\t\t\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onIncrementWeek;\" \n\t\t\t\t\t\t\t\t\tclass=\"incrementControl decrease\">\n\t\t\t\t\t\t\t\t\t<img src=\"${dojoWidgetModuleUri}temp
 lates/images/decrementMonth.png\" alt=\"&uarr;\" style=\"width:7px;height:5px;\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span \n\t\t\t\t\t\t\t\t\tdojoAttachPoint=\"decreaseMonthNode\" \n\t\t\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onIncrementMonth;\" class=\"incrementControl decrease\">\n\t\t\t\t\t\t\t\t\t<img src=\"${dojoWidgetModuleUri}templates/images/decrementMonth.png\" \n\t\t\t\t\t\t\t\t\t\talt=\"&uarr;\" dojoAttachPoint=\"decrementMonthImageNode\">\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span dojoAttachPoint=\"monthLabelNode\" class=\"month\"></span>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class=\"monthCurve monthCurveTR\" valign=\"top\"></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td colspan=\"3\">\n\t\t\t\t\t<table class=\"calendarBodyContainer\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr dojoAttachPoint=\"dayLabelsRow\">\n\t\t\t\t\t\t\t\t<td>
 </td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody dojoAttachPoint=\"calendarDatesContainerNode\" \n\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: _handleUiClick;\">\n\t\t\t\t\t\t\t<tr dojoAttachPoint=\"calendarWeekTemplate\">\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t\t<tfoot>\n\t\t\t<tr>\n\t\t\t\t<td colspan=\"3\" class=\"yearWrapper\">\n\t\t\t\t\t<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"yearContainer\">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td class=\"curveBL\" valign=\"top\"></td>\n\t\t\t\t\t\t\t<td valign=\"top\">\n\t\t\t\t\t\t\t\t<h3 cla
 ss=\"yearLabel\">\n\t\t\t\t\t\t\t\t\t<span dojoAttachPoint=\"previousYearLabelNode\"\n\t\t\t\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onIncrementYear;\" class=\"previousYear\"></span>\n\t\t\t\t\t\t\t\t\t<span class=\"selectedYear\" dojoAttachPoint=\"currentYearLabelNode\"></span>\n\t\t\t\t\t\t\t\t\t<span dojoAttachPoint=\"nextYearLabelNode\" \n\t\t\t\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onIncrementYear;\" class=\"nextYear\"></span>\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class=\"curveBR\" valign=\"top\"></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tfoot>\n\t</table>\n</div>\n", templateCssString:".datePickerContainer {\n\twidth:164px; /* needed for proper user styling */\n}\n\n.calendarContainer {\n/*\tborder:1px solid #566f8f;*/\n}\n\n.calendarBodyContainer {\n\twidth:100%; /* needed for the explode effect (explain?) */\n\tbackground: #7591bc url(\"images/dpBg.gif\") top left repeat-x;\n}\n\n.calendarBodyContainer thead tr
  td {\n\tcolor:#293a4b;\n\tfont:bold 0.75em Helvetica, Arial, Verdana, sans-serif;\n\ttext-align:center;\n\tpadding:0.25em;\n\tbackground: url(\"images/dpHorizLine.gif\") bottom left repeat-x;\n}\n\n.calendarBodyContainer tbody tr td {\n\tcolor:#fff;\n\tfont:bold 0.7em Helvetica, Arial, Verdana, sans-serif;\n\ttext-align:center;\n\tpadding:0.4em;\n\tbackground: url(\"images/dpVertLine.gif\") top right repeat-y;\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n\n.monthWrapper {\n\tpadding-bottom:2px;\n\tbackground: url(\"images/dpHorizLine.gif\") bottom left repeat-x;\n}\n\n.monthContainer {\n\twidth:100%;\n}\n\n.monthLabelContainer {\n\ttext-align:center;\n\tfont:bold 0.75em Helvetica, Arial, Verdana, sans-serif;\n\tbackground: url(\"images/dpMonthBg.png\") repeat-x top left !important;\n\tcolor:#293a4b;\n\tpadding:0.25em;\n}\n\n.monthCurve {\n\twidth:12px;\n}\n\n.monthCurveTL {\n\tbackground: url(\"images/dpCurveTL.png\") no-repeat top left !important;\n}\n\n.monthCurveTR {\n\t\tbackground
 : url(\"images/dpCurveTR.png\") no-repeat top right !important;\n}\n\n\n.yearWrapper {\n\tbackground: url(\"images/dpHorizLineFoot.gif\") top left repeat-x;\n\tpadding-top:2px;\n}\n\n.yearContainer {\n\twidth:100%;\n}\n\n.yearContainer td {\n\tbackground:url(\"images/dpYearBg.png\") top left repeat-x;\n}\n\n.yearContainer .yearLabel {\n\tmargin:0;\n\tpadding:0.45em 0 0.45em 0;\n\tcolor:#fff;\n\tfont:bold 0.75em Helvetica, Arial, Verdana, sans-serif;\n\ttext-align:center;\n}\n\n.curveBL {\n\tbackground: url(\"images/dpCurveBL.png\") bottom left no-repeat !important;\n\twidth:9px !important;\n\tpadding:0;\n\tmargin:0;\n}\n\n.curveBR {\n\tbackground: url(\"images/dpCurveBR.png\") bottom right no-repeat !important;\n\twidth:9px !important;\n\tpadding:0;\n\tmargin:0;\n}\n\n\n.previousMonth {\n\tbackground-color:#6782a8 !important;\n}\n\n.previousMonthDisabled {\n\tbackground-color:#a4a5a6 !important;\n\tcursor:default !important\n}\n.currentMonth {\n}\n\n.currentMonthDisabled {\n\tbackgr
 ound-color:#bbbbbc !important;\n\tcursor:default !important\n}\n.nextMonth {\n\tbackground-color:#6782a8 !important;\n}\n.nextMonthDisabled {\n\tbackground-color:#a4a5a6 !important;\n\tcursor:default !important;\n}\n\n.currentDate {\n\ttext-decoration:underline;\n\tfont-style:italic;\n}\n\n.selectedDate {\n\tbackground-color:#fff !important;\n\tcolor:#6782a8 !important;\n}\n\n.yearLabel .selectedYear {\n\tpadding:0.2em;\n\tbackground-color:#9ec3fb !important;\n}\n\n.nextYear, .previousYear {\n\tcursor:pointer;cursor:hand;\n\tpadding:0;\n}\n\n.nextYear {\n\tmargin:0 0 0 0.55em;\n}\n\n.previousYear {\n\tmargin:0 0.55em 0 0;\n}\n\n.incrementControl {\n\tcursor:pointer;cursor:hand;\n\twidth:1em;\n}\n\n.increase {\n\tfloat:right;\n}\n\n.decrease {\n\tfloat:left;\n}\n\n.lastColumn {\n\tbackground-image:none !important;\n}\n\n\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/DatePicker.css"), postMixInProperties:function () {
-	dojo.widget.DatePicker.superclass.postMixInProperties.apply(this, arguments);
-	if (!this.weekStartsOn) {
-		this.weekStartsOn = dojo.date.getFirstDayOfWeek(this.lang);
-	}
-	this.today = new Date();
-	this.today.setHours(0, 0, 0, 0);
-	if (typeof (this.value) == "string" && this.value.toLowerCase() == "today") {
-		this.value = new Date();
-	} else {
-		if (this.value && (typeof this.value == "string") && (this.value.split("-").length > 2)) {
-			this.value = dojo.date.fromRfc3339(this.value);
-			this.value.setHours(0, 0, 0, 0);
-		}
-	}
-}, fillInTemplate:function (args, frag) {
-	dojo.widget.DatePicker.superclass.fillInTemplate.apply(this, arguments);
-	var source = this.getFragNodeRef(frag);
-	dojo.html.copyStyle(this.domNode, source);
-	this.weekTemplate = dojo.dom.removeNode(this.calendarWeekTemplate);
-	this._preInitUI(this.value ? this.value : this.today, false, true);
-	var dayLabels = dojo.lang.unnest(dojo.date.getNames("days", this.dayWidth, "standAlone", this.lang));
-	if (this.weekStartsOn > 0) {
-		for (var i = 0; i < this.weekStartsOn; i++) {
-			dayLabels.push(dayLabels.shift());
-		}
-	}
-	var dayLabelNodes = this.dayLabelsRow.getElementsByTagName("td");
-	for (i = 0; i < 7; i++) {
-		dayLabelNodes.item(i).innerHTML = dayLabels[i];
-	}
-	if (this.value) {
-		this.setValue(this.value);
-	}
-}, getValue:function () {
-	return dojo.date.toRfc3339(new Date(this.value), "dateOnly");
-}, getDate:function () {
-	return this.value;
-}, setValue:function (rfcDate) {
-	this.setDate(rfcDate);
-}, setDate:function (dateObj) {
-	if (dateObj == "") {
-		this.value = "";
-		this._preInitUI(this.curMonth, false, true);
-	} else {
-		if (typeof dateObj == "string") {
-			this.value = dojo.date.fromRfc3339(dateObj);
-			this.value.setHours(0, 0, 0, 0);
-		} else {
-			this.value = new Date(dateObj);
-			this.value.setHours(0, 0, 0, 0);
-		}
-	}
-	if (this.selectedNode != null) {
-		dojo.html.removeClass(this.selectedNode, this.classNames.selectedDate);
-	}
-	if (this.clickedNode != null) {
-		dojo.debug("adding selectedDate");
-		dojo.html.addClass(this.clickedNode, this.classNames.selectedDate);
-		this.selectedNode = this.clickedNode;
-	} else {
-		this._preInitUI(this.value, false, true);
-	}
-	this.clickedNode = null;
-	this.onValueChanged(this.value);
-}, _preInitUI:function (dateObj, initFirst, initUI) {
-	if (typeof (this.startDate) == "string") {
-		this.startDate = dojo.date.fromRfc3339(this.startDate);
-	}
-	if (typeof (this.endDate) == "string") {
-		this.endDate = dojo.date.fromRfc3339(this.endDate);
-	}
-	this.startDate.setHours(0, 0, 0, 0);
-	this.endDate.setHours(24, 0, 0, -1);
-	if (dateObj < this.startDate || dateObj > this.endDate) {
-		dateObj = new Date((dateObj < this.startDate) ? this.startDate : this.endDate);
-	}
-	this.firstDay = this._initFirstDay(dateObj, initFirst);
-	this.selectedIsUsed = false;
-	this.currentIsUsed = false;
-	var nextDate = new Date(this.firstDay);
-	var tmpMonth = nextDate.getMonth();
-	this.curMonth = new Date(nextDate);
-	this.curMonth.setDate(nextDate.getDate() + 6);
-	this.curMonth.setDate(1);
-	if (this.displayWeeks == "" || this.adjustWeeks) {
-		this.adjustWeeks = true;
-		this.displayWeeks = Math.ceil((dojo.date.getDaysInMonth(this.curMonth) + this._getAdjustedDay(this.curMonth)) / 7);
-	}
-	var days = this.displayWeeks * 7;
-	if (dojo.date.diff(this.startDate, this.endDate, dojo.date.dateParts.DAY) < days) {
-		this.staticDisplay = true;
-		if (dojo.date.diff(nextDate, this.endDate, dojo.date.dateParts.DAY) > days) {
-			this._preInitUI(this.startDate, true, false);
-			nextDate = new Date(this.firstDay);
-		}
-		this.curMonth = new Date(nextDate);
-		this.curMonth.setDate(nextDate.getDate() + 6);
-		this.curMonth.setDate(1);
-		var curClass = (nextDate.getMonth() == this.curMonth.getMonth()) ? "current" : "previous";
-	}
-	if (initUI) {
-		this._initUI(days);
-	}
-}, _initUI:function (days) {
-	dojo.dom.removeChildren(this.calendarDatesContainerNode);
-	for (var i = 0; i < this.displayWeeks; i++) {
-		this.calendarDatesContainerNode.appendChild(this.weekTemplate.cloneNode(true));
-	}
-	var nextDate = new Date(this.firstDay);
-	this._setMonthLabel(this.curMonth.getMonth());
-	this._setYearLabels(this.curMonth.getFullYear());
-	var calendarNodes = this.calendarDatesContainerNode.getElementsByTagName("td");
-	var calendarRows = this.calendarDatesContainerNode.getElementsByTagName("tr");
-	var currentCalendarNode;
-	for (i = 0; i < days; i++) {
-		currentCalendarNode = calendarNodes.item(i);
-		currentCalendarNode.innerHTML = nextDate.getDate();
-		currentCalendarNode.setAttribute("djDateValue", nextDate.valueOf());
-		var curClass = (nextDate.getMonth() != this.curMonth.getMonth() && Number(nextDate) < Number(this.curMonth)) ? "previous" : (nextDate.getMonth() == this.curMonth.getMonth()) ? "current" : "next";
-		var mappedClass = curClass;
-		if (this._isDisabledDate(nextDate)) {
-			var classMap = {previous:"disabledPrevious", current:"disabledCurrent", next:"disabledNext"};
-			mappedClass = classMap[curClass];
-		}
-		dojo.html.setClass(currentCalendarNode, this._getDateClassName(nextDate, mappedClass));
-		if (dojo.html.hasClass(currentCalendarNode, this.classNames.selectedDate)) {
-			this.selectedNode = currentCalendarNode;
-		}
-		nextDate = dojo.date.add(nextDate, dojo.date.dateParts.DAY, 1);
-	}
-	this.lastDay = dojo.date.add(nextDate, dojo.date.dateParts.DAY, -1);
-	this._initControls();
-}, _initControls:function () {
-	var d = this.firstDay;
-	var d2 = this.lastDay;
-	var decWeek, incWeek, decMonth, incMonth, decYear, incYear;
-	decWeek = incWeek = decMonth = incMonth = decYear = incYear = !this.staticDisplay;
-	with (dojo.date.dateParts) {
-		var add = dojo.date.add;
-		if (decWeek && add(d, DAY, (-1 * (this._getAdjustedDay(d) + 1))) < this.startDate) {
-			decWeek = decMonth = decYear = false;
-		}
-		if (incWeek && d2 > this.endDate) {
-			incWeek = incMonth = incYear = false;
-		}
-		if (decMonth && add(d, DAY, -1) < this.startDate) {
-			decMonth = decYear = false;
-		}
-		if (incMonth && add(d2, DAY, 1) > this.endDate) {
-			incMonth = incYear = false;
-		}
-		if (decYear && add(d2, YEAR, -1) < this.startDate) {
-			decYear = false;
-		}
-		if (incYear && add(d, YEAR, 1) > this.endDate) {
-			incYear = false;
-		}
-	}
-	function enableControl(node, enabled) {
-		dojo.html.setVisibility(node, enabled ? "" : "hidden");
-	}
-	enableControl(this.decreaseWeekNode, decWeek);
-	enableControl(this.increaseWeekNode, incWeek);
-	enableControl(this.decreaseMonthNode, decMonth);
-	enableControl(this.increaseMonthNode, incMonth);
-	enableControl(this.previousYearLabelNode, decYear);
-	enableControl(this.nextYearLabelNode, incYear);
-}, _incrementWeek:function (evt) {
-	var d = new Date(this.firstDay);
-	switch (evt.target) {
-	  case this.increaseWeekNode.getElementsByTagName("img").item(0):
-	  case this.increaseWeekNode:
-		var tmpDate = dojo.date.add(d, dojo.date.dateParts.WEEK, 1);
-		if (tmpDate < this.endDate) {
-			d = dojo.date.add(d, dojo.date.dateParts.WEEK, 1);
-		}
-		break;
-	  case this.decreaseWeekNode.getElementsByTagName("img").item(0):
-	  case this.decreaseWeekNode:
-		if (d >= this.startDate) {
-			d = dojo.date.add(d, dojo.date.dateParts.WEEK, -1);
-		}
-		break;
-	}
-	this._preInitUI(d, true, true);
-}, _incrementMonth:function (evt) {
-	var d = new Date(this.curMonth);
-	var tmpDate = new Date(this.firstDay);
-	switch (evt.currentTarget) {
-	  case this.increaseMonthNode.getElementsByTagName("img").item(0):
-	  case this.increaseMonthNode:
-		tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.DAY, this.displayWeeks * 7);
-		if (tmpDate < this.endDate) {
-			d = dojo.date.add(d, dojo.date.dateParts.MONTH, 1);
-		} else {
-			var revertToEndDate = true;
-		}
-		break;
-	  case this.decreaseMonthNode.getElementsByTagName("img").item(0):
-	  case this.decreaseMonthNode:
-		if (tmpDate > this.startDate) {
-			d = dojo.date.add(d, dojo.date.dateParts.MONTH, -1);
-		} else {
-			var revertToStartDate = true;
-		}
-		break;
-	}
-	if (revertToStartDate) {
-		d = new Date(this.startDate);
-	} else {
-		if (revertToEndDate) {
-			d = new Date(this.endDate);
-		}
-	}
-	this._preInitUI(d, false, true);
-}, _incrementYear:function (evt) {
-	var year = this.curMonth.getFullYear();
-	var tmpDate = new Date(this.firstDay);
-	switch (evt.target) {
-	  case this.nextYearLabelNode:
-		tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.YEAR, 1);
-		if (tmpDate < this.endDate) {
-			year++;
-		} else {
-			var revertToEndDate = true;
-		}
-		break;
-	  case this.previousYearLabelNode:
-		tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.YEAR, -1);
-		if (tmpDate > this.startDate) {
-			year--;
-		} else {
-			var revertToStartDate = true;
-		}
-		break;
-	}
-	var d;
-	if (revertToStartDate) {
-		d = new Date(this.startDate);
-	} else {
-		if (revertToEndDate) {
-			d = new Date(this.endDate);
-		} else {
-			d = new Date(year, this.curMonth.getMonth(), 1);
-		}
-	}
-	this._preInitUI(d, false, true);
-}, onIncrementWeek:function (evt) {
-	evt.stopPropagation();
-	if (!this.staticDisplay) {
-		this._incrementWeek(evt);
-	}
-}, onIncrementMonth:function (evt) {
-	evt.stopPropagation();
-	if (!this.staticDisplay) {
-		this._incrementMonth(evt);
-	}
-}, onIncrementYear:function (evt) {
-	evt.stopPropagation();
-	if (!this.staticDisplay) {
-		this._incrementYear(evt);
-	}
-}, _setMonthLabel:function (monthIndex) {
-	this.monthLabelNode.innerHTML = dojo.date.getNames("months", "wide", "standAlone", this.lang)[monthIndex];
-}, _setYearLabels:function (year) {
-	var y = year - 1;
-	var that = this;
-	function f(n) {
-		that[n + "YearLabelNode"].innerHTML = dojo.date.format(new Date(y++, 0), {formatLength:"yearOnly", locale:that.lang});
-	}
-	f("previous");
-	f("current");
-	f("next");
-}, _getDateClassName:function (date, monthState) {
-	var currentClassName = this.classNames[monthState];
-	if ((!this.selectedIsUsed && this.value) && (Number(date) == Number(this.value))) {
-		currentClassName = this.classNames.selectedDate + " " + currentClassName;
-		this.selectedIsUsed = true;
-	}
-	if ((!this.currentIsUsed) && (Number(date) == Number(this.today))) {
-		currentClassName = currentClassName + " " + this.classNames.currentDate;
-		this.currentIsUsed = true;
-	}
-	return currentClassName;
-}, onClick:function (evt) {
-	dojo.event.browser.stopEvent(evt);
-}, _handleUiClick:function (evt) {
-	var eventTarget = evt.target;
-	if (eventTarget.nodeType != dojo.dom.ELEMENT_NODE) {
-		eventTarget = eventTarget.parentNode;
-	}
-	dojo.event.browser.stopEvent(evt);
-	this.selectedIsUsed = this.todayIsUsed = false;
-	if (dojo.html.hasClass(eventTarget, this.classNames["disabledPrevious"]) || dojo.html.hasClass(eventTarget, this.classNames["disabledCurrent"]) || dojo.html.hasClass(eventTarget, this.classNames["disabledNext"])) {
-		return;
-	}
-	this.clickedNode = eventTarget;
-	this.setDate(new Date(Number(dojo.html.getAttribute(eventTarget, "djDateValue"))));
-}, onValueChanged:function (date) {
-}, _isDisabledDate:function (dateObj) {
-	if (dateObj < this.startDate || dateObj > this.endDate) {
-		return true;
-	}
-	return this.isDisabledDate(dateObj, this.lang);
-}, isDisabledDate:function (dateObj, locale) {
-	return false;
-}, _initFirstDay:function (dateObj, adj) {
-	var d = new Date(dateObj);
-	if (!adj) {
-		d.setDate(1);
-	}
-	d.setDate(d.getDate() - this._getAdjustedDay(d, this.weekStartsOn));
-	d.setHours(0, 0, 0, 0);
-	return d;
-}, _getAdjustedDay:function (dateObj) {
-	var days = [0, 1, 2, 3, 4, 5, 6];
-	if (this.weekStartsOn > 0) {
-		for (var i = 0; i < this.weekStartsOn; i++) {
-			days.unshift(days.pop());
-		}
-	}
-	return days[dateObj.getDay()];
-}, destroy:function () {
-	dojo.widget.DatePicker.superclass.destroy.apply(this, arguments);
-	dojo.html.destroyNode(this.weekTemplate);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DateTextbox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DateTextbox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DateTextbox.js
deleted file mode 100644
index 2200b29..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DateTextbox.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-	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.DateTextbox");
-dojo.require("dojo.widget.ValidationTextbox");
-dojo.require("dojo.date.format");
-dojo.require("dojo.validate.datetime");
-dojo.widget.defineWidget("dojo.widget.DateTextbox", dojo.widget.ValidationTextbox, {displayFormat:"", formatLength:"short", mixInProperties:function (localProperties) {
-	dojo.widget.DateTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.format) {
-		this.flags.format = localProperties.format;
-	}
-}, isValid:function () {
-	if (this.flags.format) {
-		dojo.deprecated("dojo.widget.DateTextbox", "format attribute is deprecated; use displayFormat or formatLength instead", "0.5");
-		return dojo.validate.isValidDate(this.textbox.value, this.flags.format);
-	}
-	return dojo.date.parse(this.textbox.value, {formatLength:this.formatLength, selector:"dateOnly", locale:this.lang, datePattern:this.displayFormat});
-}});
-dojo.widget.defineWidget("dojo.widget.TimeTextbox", dojo.widget.ValidationTextbox, {displayFormat:"", formatLength:"short", mixInProperties:function (localProperties) {
-	dojo.widget.TimeTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.format) {
-		this.flags.format = localProperties.format;
-	}
-	if (localProperties.amsymbol) {
-		this.flags.amSymbol = localProperties.amsymbol;
-	}
-	if (localProperties.pmsymbol) {
-		this.flags.pmSymbol = localProperties.pmsymbol;
-	}
-}, isValid:function () {
-	if (this.flags.format) {
-		dojo.deprecated("dojo.widget.TimeTextbox", "format attribute is deprecated; use displayFormat or formatLength instead", "0.5");
-		return dojo.validate.isValidTime(this.textbox.value, this.flags);
-	}
-	return dojo.date.parse(this.textbox.value, {formatLength:this.formatLength, selector:"timeOnly", locale:this.lang, timePattern:this.displayFormat});
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DebugConsole.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DebugConsole.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DebugConsole.js
deleted file mode 100644
index b0c26a2..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/DebugConsole.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-	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.DebugConsole");
-dojo.require("dojo.widget.Widget");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.FloatingPane");
-dojo.widget.defineWidget("dojo.widget.DebugConsole", dojo.widget.FloatingPane, {fillInTemplate:function () {
-	dojo.widget.DebugConsole.superclass.fillInTemplate.apply(this, arguments);
-	this.containerNode.id = "debugConsoleClientPane";
-	djConfig.isDebug = true;
-	djConfig.debugContainerId = this.containerNode.id;
-}});
-