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:47 UTC

[20/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/Form.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Form.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Form.js
deleted file mode 100644
index 7a8e378..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Form.js
+++ /dev/null
@@ -1,267 +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.Form");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.widget.defineWidget("dojo.widget.Form", dojo.widget.HtmlWidget, {isContainer:true, templateString:"<form dojoAttachPoint='containerNode' dojoAttachEvent='onSubmit:onSubmit'></form>", formElements:[], ignoreNullValues:false, postCreate:function (args, frag) {
-	for (var key in args) {
-		if (key == "dojotype") {
-			continue;
-		}
-		var attr = document.createAttribute(key);
-		attr.nodeValue = args[key];
-		this.containerNode.setAttributeNode(attr);
-	}
-}, _createRepeaters:function (obj, widget) {
-	for (var i = 0; i < widget.children.length; ++i) {
-		if (widget.children[i].widgetType == "RepeaterContainer") {
-			var rIndex = widget.children[i].index;
-			var rIndexPos = rIndex.indexOf("%{index}");
-			rIndex = rIndex.substr(0, rIndexPos - 1);
-			var myObj = this._getObject(obj, rIndex);
-			if (typeof (myObj) == "object" && myObj.length == 0) {
-				myObj = new Array();
-			}
-			var rowCount = widget.children[i].getRowCount();
-			for (var j = 0, len = rowCount; j < len; ++j) {
-				widget.children[i].deleteRow(0);
-			}
-			for (var j = 0; j < myObj.length; j++) {
-				widget.children[i].addRow(false);
-			}
-		}
-		if (widget.children[i].isContainer) {
-			this._createRepeaters(obj, widget.children[i]);
-		}
-	}
-}, _createFormElements:function () {
-	if (dojo.render.html.safari) {
-		this.formElements = [];
-		var elems = ["INPUT", "SELECT", "TEXTAREA"];
-		for (var k = 0; k < elems.length; k++) {
-			var list = this.containerNode.getElementsByTagName(elems[k]);
-			for (var j = 0, len2 = list.length; j < len2; j++) {
-				this.formElements.push(list[j]);
-			}
-		}
-	} else {
-		this.formElements = this.containerNode.elements;
-	}
-}, onSubmit:function (e) {
-	e.preventDefault();
-}, submit:function () {
-	this.containerNode.submit();
-}, _getFormElement:function (name) {
-	if (dojo.render.html.ie) {
-		for (var i = 0, len = this.formElements.length; i < len; i++) {
-			var element = this.formElements[i];
-			if (element.name == name) {
-				return element;
-			}
-		}
-	} else {
-		var elem = this.formElements[name];
-		if (typeof (elem) != "undefined") {
-			return elem;
-		}
-	}
-	return null;
-}, _getObject:function (obj, searchString) {
-	var namePath = [];
-	namePath = searchString.split(".");
-	var myObj = obj;
-	var name = namePath[namePath.length - 1];
-	for (var j = 0, len = namePath.length; j < len; ++j) {
-		var p = namePath[j];
-		if (typeof (myObj[p]) == "undefined") {
-			myObj[p] = {};
-		}
-		myObj = myObj[p];
-	}
-	return myObj;
-}, _setToContainers:function (obj, widget) {
-	for (var i = 0, len = widget.children.length; i < len; ++i) {
-		var currentWidget = widget.children[i];
-		if (currentWidget.widgetType == "Repeater") {
-			for (var j = 0, len = currentWidget.getRowCount(); j < len; ++j) {
-				currentWidget._initRow(j);
-			}
-		}
-		if (currentWidget.isContainer) {
-			this._setToContainers(obj, currentWidget);
-			continue;
-		}
-		switch (currentWidget.widgetType) {
-		  case "Checkbox":
-			currentWidget.setValue(currentWidget.inputNode.checked);
-			break;
-		  case "DropdownDatePicker":
-			currentWidget.setValue(currentWidget.getValue());
-			break;
-		  case "Select":
-			continue;
-			break;
-		  case "ComboBox":
-			continue;
-			break;
-		  default:
-			break;
-		}
-	}
-}, setValues:function (obj) {
-	this._createFormElements();
-	this._createRepeaters(obj, this);
-	for (var i = 0, len = this.formElements.length; i < len; i++) {
-		var element = this.formElements[i];
-		if (element.name == "") {
-			continue;
-		}
-		var namePath = new Array();
-		namePath = element.name.split(".");
-		var myObj = obj;
-		var name = namePath[namePath.length - 1];
-		for (var j = 1, len2 = namePath.length; j < len2; ++j) {
-			var p = namePath[j - 1];
-			if (typeof (myObj[p]) == "undefined") {
-				myObj = undefined;
-				break;
-			}
-			myObj = myObj[p];
-		}
-		if (typeof (myObj) == "undefined") {
-			continue;
-		}
-		if (typeof (myObj[name]) == "undefined" && this.ignoreNullValues) {
-			continue;
-		}
-		var type = element.type;
-		if (type == "hidden" || type == "text" || type == "textarea" || type == "password") {
-			type = "text";
-		}
-		switch (type) {
-		  case "checkbox":
-			element.checked = false;
-			if (typeof (myObj[name]) == "undefined") {
-				continue;
-			}
-			for (var j = 0, len2 = myObj[name].length; j < len2; ++j) {
-				if (element.value == myObj[name][j]) {
-					element.checked = true;
-				}
-			}
-			break;
-		  case "radio":
-			element.checked = false;
-			if (typeof (myObj[name]) == "undefined") {
-				continue;
-			}
-			if (myObj[name] == element.value) {
-				element.checked = true;
-			}
-			break;
-		  case "select-multiple":
-			element.selectedIndex = -1;
-			for (var j = 0, len2 = element.options.length; j < len2; ++j) {
-				for (var k = 0, len3 = myObj[name].length; k < len3; ++k) {
-					if (element.options[j].value == myObj[name][k]) {
-						element.options[j].selected = true;
-					}
-				}
-			}
-			break;
-		  case "select-one":
-			element.selectedIndex = "0";
-			for (var j = 0, len2 = element.options.length; j < len2; ++j) {
-				if (element.options[j].value == myObj[name]) {
-					element.options[j].selected = true;
-				} else {
-				}
-			}
-			break;
-		  case "text":
-			var value = "";
-			if (typeof (myObj[name]) != "undefined") {
-				value = myObj[name];
-			}
-			element.value = value;
-			break;
-		  default:
-			dojo.debug("Not supported type (" + type + ")");
-			break;
-		}
-	}
-	this._setToContainers(obj, this);
-}, getValues:function () {
-	this._createFormElements();
-	var obj = {};
-	for (var i = 0, len = this.formElements.length; i < len; i++) {
-		var elm = this.formElements[i];
-		var namePath = [];
-		if (elm.name == "") {
-			continue;
-		}
-		namePath = elm.name.split(".");
-		var myObj = obj;
-		var name = namePath[namePath.length - 1];
-		for (var j = 1, len2 = namePath.length; j < len2; ++j) {
-			var nameIndex = null;
-			var p = namePath[j - 1];
-			var nameA = p.split("[");
-			if (nameA.length > 1) {
-				if (typeof (myObj[nameA[0]]) == "undefined") {
-					myObj[nameA[0]] = [];
-				}
-				nameIndex = parseInt(nameA[1]);
-				if (typeof (myObj[nameA[0]][nameIndex]) == "undefined") {
-					myObj[nameA[0]][nameIndex] = {};
-				}
-			} else {
-				if (typeof (myObj[nameA[0]]) == "undefined") {
-					myObj[nameA[0]] = {};
-				}
-			}
-			if (nameA.length == 1) {
-				myObj = myObj[nameA[0]];
-			} else {
-				myObj = myObj[nameA[0]][nameIndex];
-			}
-		}
-		if ((elm.type != "select-multiple" && elm.type != "checkbox" && elm.type != "radio") || (elm.type == "radio" && elm.checked)) {
-			if (name == name.split("[")[0]) {
-				myObj[name] = elm.value;
-			} else {
-			}
-		} else {
-			if (elm.type == "checkbox" && elm.checked) {
-				if (typeof (myObj[name]) == "undefined") {
-					myObj[name] = [];
-				}
-				myObj[name].push(elm.value);
-			} else {
-				if (elm.type == "select-multiple") {
-					if (typeof (myObj[name]) == "undefined") {
-						myObj[name] = [];
-					}
-					for (var jdx = 0, len3 = elm.options.length; jdx < len3; ++jdx) {
-						if (elm.options[jdx].selected) {
-							myObj[name].push(elm.options[jdx].value);
-						}
-					}
-				}
-			}
-		}
-		name = undefined;
-	}
-	return obj;
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/GoogleMap.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/GoogleMap.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/GoogleMap.js
deleted file mode 100644
index cc51d9d..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/GoogleMap.js
+++ /dev/null
@@ -1,169 +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.GoogleMap");
-dojo.require("dojo.event.*");
-dojo.require("dojo.math");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.uri.Uri");
-dojo.require("dojo.widget.HtmlWidget");
-(function () {
-	var gkey = djConfig["gMapKey"] || djConfig["googleMapKey"];
-	var uri = new dojo.uri.Uri(window.location.href);
-	if (uri.host == "www.dojotoolkit.org") {
-		gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hRqjp7ri2mNiOEYqetD3xnFHpt5rBSjszDd1sdufPyQKUTyCf_YxoIxvw";
-	} else {
-		if (uri.host == "blog.dojotoolkit.org") {
-			gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hSkep6Av1xaMhVn3yCLkorJeXeLARQ6fammI_P3qSGleTJhoI5_1JmP_Q";
-		} else {
-			if (uri.host == "archive.dojotoolkit.org") {
-				gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hTaQpDt0dyGLIHbXMPTzg1kWeAfwRTwZNyrUfbfxYE9yIvRivEjcXoDTg";
-			} else {
-				if (uri.host == "dojotoolkit.org") {
-					gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hSaOaO_TgJ5c3mtQFnk5JO2zD5dZBRZk-ieqVs7BORREYNzAERmcJoEjQ";
-				}
-			}
-		}
-	}
-	if (!dojo.hostenv.post_load_) {
-		if (!gkey || gkey == "") {
-			dojo.raise("dojo.widget.GoogleMap: The Google Map widget requires a proper API key in order to be used.");
-		}
-		var tag = "<scr" + "ipt src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=" + gkey + "'></scri" + "pt>";
-		if (!dj_global["GMap2"]) {
-			document.write(tag);
-		}
-	} else {
-		dojo.debug("Cannot initialize Google Map system after the page has been loaded! Please either manually include the script block provided by Google in your page or require() the GoogleMap widget before onload has fired.");
-	}
-})();
-dojo.widget.defineWidget("dojo.widget.GoogleMap", dojo.widget.HtmlWidget, function () {
-	this.map = null;
-	this.geocoder = null;
-	this.data = [];
-	this.datasrc = "";
-	this.controls = ["largemap", "scale", "maptype"];
-}, {templatePath:null, templateCssPath:null, isContainer:false, _defaultPoint:{lat:39.10662, lng:-94.578209}, setControls:function () {
-	var methodmap = {largemap:GLargeMapControl, smallmap:GSmallMapControl, smallzoom:GSmallZoomControl, scale:GScaleControl, maptype:GMapTypeControl, overview:GOverviewMapControl};
-	for (var i = 0; i < this.controls.length; i++) {
-		this.map.addControl(new (methodmap[this.controls[i].toLowerCase()])());
-	}
-}, findCenter:function (bounds) {
-	if (this.data.length == 1) {
-		return (new GLatLng(this.data[0].lat, this.data[0].lng));
-	}
-	var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2;
-	var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2;
-	return (new GLatLng(clat, clng));
-}, createPinpoint:function (pt, overlay) {
-	var m = new GMarker(pt);
-	if (overlay) {
-		GEvent.addListener(m, "click", function () {
-			m.openInfoWindowHtml("<div>" + overlay + "</div>");
-		});
-	}
-	return m;
-}, plot:function (obj) {
-	var p = new GLatLng(obj.lat, obj.lng);
-	var d = obj.description || null;
-	var m = this.createPinpoint(p, d);
-	this.map.addOverlay(m);
-}, plotAddress:function (address) {
-	var self = this;
-	this.geocoder.getLocations(address, function (response) {
-		if (!response || response.Status.code != 200) {
-			alert("The address \"" + address + "\" was not found.");
-			return;
-		}
-		var obj = {lat:response.Placemark[0].Point.coordinates[1], lng:response.Placemark[0].Point.coordinates[0], description:response.Placemark[0].address};
-		self.data.push(obj);
-		self.render();
-	});
-}, parse:function (table) {
-	this.data = [];
-	var h = table.getElementsByTagName("thead")[0];
-	if (!h) {
-		return;
-	}
-	var a = [];
-	var cols = h.getElementsByTagName("td");
-	if (cols.length == 0) {
-		cols = h.getElementsByTagName("th");
-	}
-	for (var i = 0; i < cols.length; i++) {
-		var c = cols[i].innerHTML.toLowerCase();
-		if (c == "long") {
-			c = "lng";
-		}
-		a.push(c);
-	}
-	var b = table.getElementsByTagName("tbody")[0];
-	if (!b) {
-		return;
-	}
-	for (var i = 0; i < b.childNodes.length; i++) {
-		if (!(b.childNodes[i].nodeName && b.childNodes[i].nodeName.toLowerCase() == "tr")) {
-			continue;
-		}
-		var cells = b.childNodes[i].getElementsByTagName("td");
-		var o = {};
-		for (var j = 0; j < a.length; j++) {
-			var col = a[j];
-			if (col == "lat" || col == "lng") {
-				o[col] = parseFloat(cells[j].innerHTML);
-			} else {
-				o[col] = cells[j].innerHTML;
-			}
-		}
-		this.data.push(o);
-	}
-}, render:function () {
-	if (this.data.length == 0) {
-		this.map.setCenter(new GLatLng(this._defaultPoint.lat, this._defaultPoint.lng), 4);
-		return;
-	}
-	this.map.clearOverlays();
-	var bounds = new GLatLngBounds();
-	var d = this.data;
-	for (var i = 0; i < d.length; i++) {
-		bounds.extend(new GLatLng(d[i].lat, d[i].lng));
-	}
-	var zoom = Math.min((this.map.getBoundsZoomLevel(bounds) - 1), 14);
-	this.map.setCenter(this.findCenter(bounds), zoom);
-	for (var i = 0; i < this.data.length; i++) {
-		this.plot(this.data[i]);
-	}
-}, initialize:function (args, frag) {
-	if (this.datasrc) {
-		this.parse(dojo.byId(this.datasrc));
-	} else {
-		if (this.domNode.getElementsByTagName("table")[0]) {
-			this.parse(this.domNode.getElementsByTagName("table")[0]);
-		}
-	}
-}, postCreate:function () {
-	while (this.domNode.childNodes.length > 0) {
-		this.domNode.removeChild(this.domNode.childNodes[0]);
-	}
-	if (this.domNode.style.position != "absolute") {
-		this.domNode.style.position = "relative";
-	}
-	this.map = new GMap2(this.domNode);
-	try {
-		this.geocoder = new GClientGeocoder();
-	}
-	catch (ex) {
-	}
-	this.render();
-	this.setControls();
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/HtmlWidget.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/HtmlWidget.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/HtmlWidget.js
deleted file mode 100644
index 85dffd6..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/HtmlWidget.js
+++ /dev/null
@@ -1,101 +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.HtmlWidget");
-dojo.require("dojo.widget.DomWidget");
-dojo.require("dojo.html.util");
-dojo.require("dojo.html.display");
-dojo.require("dojo.html.layout");
-dojo.require("dojo.lang.extras");
-dojo.require("dojo.lang.func");
-dojo.require("dojo.lfx.toggle");
-dojo.declare("dojo.widget.HtmlWidget", dojo.widget.DomWidget, {templateCssPath:null, templatePath:null, lang:"", toggle:"plain", toggleDuration:150, initialize:function (args, frag) {
-}, postMixInProperties:function (args, frag) {
-	if (this.lang === "") {
-		this.lang = null;
-	}
-	this.toggleObj = dojo.lfx.toggle[this.toggle.toLowerCase()] || dojo.lfx.toggle.plain;
-}, createNodesFromText:function (txt, wrap) {
-	return dojo.html.createNodesFromText(txt, wrap);
-}, destroyRendering:function (finalize) {
-	try {
-		if (this.bgIframe) {
-			this.bgIframe.remove();
-			delete this.bgIframe;
-		}
-		if (!finalize && this.domNode) {
-			dojo.event.browser.clean(this.domNode);
-		}
-		dojo.widget.HtmlWidget.superclass.destroyRendering.call(this);
-	}
-	catch (e) {
-	}
-}, isShowing:function () {
-	return dojo.html.isShowing(this.domNode);
-}, toggleShowing:function () {
-	if (this.isShowing()) {
-		this.hide();
-	} else {
-		this.show();
-	}
-}, show:function () {
-	if (this.isShowing()) {
-		return;
-	}
-	this.animationInProgress = true;
-	this.toggleObj.show(this.domNode, this.toggleDuration, null, dojo.lang.hitch(this, this.onShow), this.explodeSrc);
-}, onShow:function () {
-	this.animationInProgress = false;
-	this.checkSize();
-}, hide:function () {
-	if (!this.isShowing()) {
-		return;
-	}
-	this.animationInProgress = true;
-	this.toggleObj.hide(this.domNode, this.toggleDuration, null, dojo.lang.hitch(this, this.onHide), this.explodeSrc);
-}, onHide:function () {
-	this.animationInProgress = false;
-}, _isResized:function (w, h) {
-	if (!this.isShowing()) {
-		return false;
-	}
-	var wh = dojo.html.getMarginBox(this.domNode);
-	var width = w || wh.width;
-	var height = h || wh.height;
-	if (this.width == width && this.height == height) {
-		return false;
-	}
-	this.width = width;
-	this.height = height;
-	return true;
-}, checkSize:function () {
-	if (!this._isResized()) {
-		return;
-	}
-	this.onResized();
-}, resizeTo:function (w, h) {
-	dojo.html.setMarginBox(this.domNode, {width:w, height:h});
-	if (this.isShowing()) {
-		this.onResized();
-	}
-}, resizeSoon:function () {
-	if (this.isShowing()) {
-		dojo.lang.setTimeout(this, this.onResized, 0);
-	}
-}, onResized:function () {
-	dojo.lang.forEach(this.children, function (child) {
-		if (child.checkSize) {
-			child.checkSize();
-		}
-	});
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InlineEditBox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InlineEditBox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InlineEditBox.js
deleted file mode 100644
index 984b500..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InlineEditBox.js
+++ /dev/null
@@ -1,156 +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.InlineEditBox");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.lfx.*");
-dojo.require("dojo.gfx.color");
-dojo.require("dojo.string");
-dojo.require("dojo.html.*");
-dojo.require("dojo.html.layout");
-dojo.widget.defineWidget("dojo.widget.InlineEditBox", dojo.widget.HtmlWidget, function () {
-	this.history = [];
-}, {templateString:"<form class=\"inlineEditBox\" style=\"display: none\" dojoAttachPoint=\"form\" dojoAttachEvent=\"onSubmit:saveEdit; onReset:cancelEdit; onKeyUp: checkForValueChange;\">\n\t<input type=\"text\" dojoAttachPoint=\"text\" style=\"display: none;\" />\n\t<textarea dojoAttachPoint=\"textarea\" style=\"display: none;\"></textarea>\n\t<input type=\"submit\" value=\"Save\" dojoAttachPoint=\"submitButton\" />\n\t<input type=\"reset\" value=\"Cancel\" dojoAttachPoint=\"cancelButton\" />\n</form>\n", templateCssString:".editLabel {\n\tfont-size : small;\n\tpadding : 0 5px;\n\tdisplay : none;\n}\n\n.editableRegionDisabled {\n\tcursor : pointer;\n\t_cursor : hand;\n}\n\n.editableRegion {\n\tbackground-color : #ffc !important;\n\tcursor : pointer;\n\t_cursor : hand;\n}\n\n.editableRegion .editLabel {\n\tdisplay : inline;\n}\n\n.editableTextareaRegion .editLabel {\n\tdisplay : block;\n}\n\n.inlineEditBox {\n\t/*background-color : #ffc;*/\n\tdisplay : inline;\n}\n", templateCssPat
 h:dojo.uri.moduleUri("dojo.widget", "templates/InlineEditBox.css"), mode:"text", name:"", minWidth:100, minHeight:200, editing:false, value:"", textValue:"", defaultText:"", postMixInProperties:function () {
-	if (this.textValue) {
-		dojo.deprecated("InlineEditBox: Use value parameter instead of textValue; will be removed in 0.5");
-		this.value = this.textValue;
-	}
-	if (this.defaultText) {
-		dojo.deprecated("InlineEditBox: Use value parameter instead of defaultText; will be removed in 0.5");
-		this.value = this.defaultText;
-	}
-}, postCreate:function (args, frag) {
-	this.editable = this.getFragNodeRef(frag);
-	dojo.html.insertAfter(this.editable, this.form);
-	dojo.event.connect(this.editable, "onmouseover", this, "onMouseOver");
-	dojo.event.connect(this.editable, "onmouseout", this, "onMouseOut");
-	dojo.event.connect(this.editable, "onclick", this, "_beginEdit");
-	if (this.value) {
-		this.editable.innerHTML = this.value;
-		return;
-	} else {
-		this.value = dojo.string.trim(this.editable.innerHTML);
-		this.editable.innerHTML = this.value;
-	}
-}, onMouseOver:function () {
-	if (!this.editing) {
-		if (this.disabled) {
-			dojo.html.addClass(this.editable, "editableRegionDisabled");
-		} else {
-			dojo.html.addClass(this.editable, "editableRegion");
-			if (this.mode == "textarea") {
-				dojo.html.addClass(this.editable, "editableTextareaRegion");
-			}
-		}
-	}
-}, onMouseOut:function () {
-	if (!this.editing) {
-		dojo.html.removeClass(this.editable, "editableRegion");
-		dojo.html.removeClass(this.editable, "editableTextareaRegion");
-		dojo.html.removeClass(this.editable, "editableRegionDisabled");
-	}
-}, _beginEdit:function (e) {
-	if (this.editing || this.disabled) {
-		return;
-	}
-	this.onMouseOut();
-	this.editing = true;
-	var ee = this[this.mode.toLowerCase()];
-	ee.value = dojo.string.trim(this.value);
-	ee.style.fontSize = dojo.html.getStyle(this.editable, "font-size");
-	ee.style.fontWeight = dojo.html.getStyle(this.editable, "font-weight");
-	ee.style.fontStyle = dojo.html.getStyle(this.editable, "font-style");
-	var bb = dojo.html.getBorderBox(this.editable);
-	ee.style.width = Math.max(bb.width, this.minWidth) + "px";
-	if (this.mode.toLowerCase() == "textarea") {
-		ee.style.display = "block";
-		ee.style.height = Math.max(bb.height, this.minHeight) + "px";
-	} else {
-		ee.style.display = "";
-	}
-	this.form.style.display = "";
-	this.editable.style.display = "none";
-	ee.focus();
-	ee.select();
-	this.submitButton.disabled = true;
-}, saveEdit:function (e) {
-	e.preventDefault();
-	e.stopPropagation();
-	var ee = this[this.mode.toLowerCase()];
-	if ((this.value != ee.value) && (dojo.string.trim(ee.value) != "")) {
-		this.doFade = true;
-		this.history.push(this.value);
-		this.onSave(ee.value, this.value, this.name);
-		this.value = ee.value;
-		this.editable.innerHTML = "";
-		var textNode = document.createTextNode(this.value);
-		this.editable.appendChild(textNode);
-	} else {
-		this.doFade = false;
-	}
-	this._finishEdit(e);
-}, _stopEditing:function () {
-	this.editing = false;
-	this.form.style.display = "none";
-	this.editable.style.display = "";
-	return true;
-}, cancelEdit:function (e) {
-	this._stopEditing();
-	this.onCancel();
-	return true;
-}, _finishEdit:function (e) {
-	this._stopEditing();
-	if (this.doFade) {
-		dojo.lfx.highlight(this.editable, dojo.gfx.color.hex2rgb("#ffc"), 700).play(300);
-	}
-	this.doFade = false;
-}, setText:function (txt) {
-	dojo.deprecated("setText() is deprecated, call setValue() instead, will be removed in 0.5");
-	this.setValue(txt);
-}, setValue:function (txt) {
-	txt = "" + txt;
-	var tt = dojo.string.trim(txt);
-	this.value = tt;
-	this.editable.innerHTML = tt;
-}, undo:function () {
-	if (this.history.length > 0) {
-		var curValue = this.value;
-		var value = this.history.pop();
-		this.editable.innerHTML = value;
-		this.value = value;
-		this.onUndo(value);
-		this.onSave(value, curValue, this.name);
-	}
-}, onChange:function (newValue, oldValue) {
-}, onSave:function (newValue, oldValue, name) {
-}, onCancel:function () {
-}, checkForValueChange:function () {
-	var ee = this[this.mode.toLowerCase()];
-	if ((this.value != ee.value) && (dojo.string.trim(ee.value) != "")) {
-		this.submitButton.disabled = false;
-	}
-	this.onChange(this.value, ee.value);
-}, disable:function () {
-	this.submitButton.disabled = true;
-	this.cancelButton.disabled = true;
-	var ee = this[this.mode.toLowerCase()];
-	ee.disabled = true;
-	dojo.widget.InlineEditBox.superclass.disable.apply(this, arguments);
-}, enable:function () {
-	this.checkForValueChange();
-	this.cancelButton.disabled = false;
-	var ee = this[this.mode.toLowerCase()];
-	ee.disabled = false;
-	dojo.widget.InlineEditBox.superclass.enable.apply(this, arguments);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/IntegerTextbox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/IntegerTextbox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/IntegerTextbox.js
deleted file mode 100644
index 2542f99..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/IntegerTextbox.js
+++ /dev/null
@@ -1,42 +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.IntegerTextbox");
-dojo.require("dojo.widget.ValidationTextbox");
-dojo.require("dojo.validate.common");
-dojo.widget.defineWidget("dojo.widget.IntegerTextbox", dojo.widget.ValidationTextbox, {mixInProperties:function (localProperties, frag) {
-	dojo.widget.IntegerTextbox.superclass.mixInProperties.apply(this, arguments);
-	if ((localProperties.signed == "true") || (localProperties.signed == "always")) {
-		this.flags.signed = true;
-	} else {
-		if ((localProperties.signed == "false") || (localProperties.signed == "never")) {
-			this.flags.signed = false;
-			this.flags.min = 0;
-		} else {
-			this.flags.signed = [true, false];
-		}
-	}
-	if (localProperties.separator) {
-		this.flags.separator = localProperties.separator;
-	}
-	if (localProperties.min) {
-		this.flags.min = parseInt(localProperties.min);
-	}
-	if (localProperties.max) {
-		this.flags.max = parseInt(localProperties.max);
-	}
-}, isValid:function () {
-	return dojo.validate.isInteger(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/InternetTextbox.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InternetTextbox.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InternetTextbox.js
deleted file mode 100644
index d6060ec..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/InternetTextbox.js
+++ /dev/null
@@ -1,78 +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.InternetTextbox");
-dojo.require("dojo.widget.ValidationTextbox");
-dojo.require("dojo.validate.web");
-dojo.widget.defineWidget("dojo.widget.IpAddressTextbox", dojo.widget.ValidationTextbox, {mixInProperties:function (localProperties) {
-	dojo.widget.IpAddressTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.allowdotteddecimal) {
-		this.flags.allowDottedDecimal = (localProperties.allowdotteddecimal == "true");
-	}
-	if (localProperties.allowdottedhex) {
-		this.flags.allowDottedHex = (localProperties.allowdottedhex == "true");
-	}
-	if (localProperties.allowdottedoctal) {
-		this.flags.allowDottedOctal = (localProperties.allowdottedoctal == "true");
-	}
-	if (localProperties.allowdecimal) {
-		this.flags.allowDecimal = (localProperties.allowdecimal == "true");
-	}
-	if (localProperties.allowhex) {
-		this.flags.allowHex = (localProperties.allowhex == "true");
-	}
-	if (localProperties.allowipv6) {
-		this.flags.allowIPv6 = (localProperties.allowipv6 == "true");
-	}
-	if (localProperties.allowhybrid) {
-		this.flags.allowHybrid = (localProperties.allowhybrid == "true");
-	}
-}, isValid:function () {
-	return dojo.validate.isIpAddress(this.textbox.value, this.flags);
-}});
-dojo.widget.defineWidget("dojo.widget.UrlTextbox", dojo.widget.IpAddressTextbox, {mixInProperties:function (localProperties) {
-	dojo.widget.UrlTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.scheme) {
-		this.flags.scheme = (localProperties.scheme == "true");
-	}
-	if (localProperties.allowip) {
-		this.flags.allowIP = (localProperties.allowip == "true");
-	}
-	if (localProperties.allowlocal) {
-		this.flags.allowLocal = (localProperties.allowlocal == "true");
-	}
-	if (localProperties.allowcc) {
-		this.flags.allowCC = (localProperties.allowcc == "true");
-	}
-	if (localProperties.allowgeneric) {
-		this.flags.allowGeneric = (localProperties.allowgeneric == "true");
-	}
-}, isValid:function () {
-	return dojo.validate.isUrl(this.textbox.value, this.flags);
-}});
-dojo.widget.defineWidget("dojo.widget.EmailTextbox", dojo.widget.UrlTextbox, {mixInProperties:function (localProperties) {
-	dojo.widget.EmailTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.allowcruft) {
-		this.flags.allowCruft = (localProperties.allowcruft == "true");
-	}
-}, isValid:function () {
-	return dojo.validate.isEmailAddress(this.textbox.value, this.flags);
-}});
-dojo.widget.defineWidget("dojo.widget.EmailListTextbox", dojo.widget.EmailTextbox, {mixInProperties:function (localProperties) {
-	dojo.widget.EmailListTextbox.superclass.mixInProperties.apply(this, arguments);
-	if (localProperties.listseparator) {
-		this.flags.listSeparator = localProperties.listseparator;
-	}
-}, isValid:function () {
-	return dojo.validate.isEmailAddressList(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/LayoutContainer.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LayoutContainer.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LayoutContainer.js
deleted file mode 100644
index ada7323..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LayoutContainer.js
+++ /dev/null
@@ -1,34 +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.LayoutContainer");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.html.layout");
-dojo.widget.defineWidget("dojo.widget.LayoutContainer", dojo.widget.HtmlWidget, {isContainer:true, layoutChildPriority:"top-bottom", postCreate:function () {
-	dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
-}, addChild:function (child, overrideContainerNode, pos, ref, insertIndex) {
-	dojo.widget.LayoutContainer.superclass.addChild.call(this, child, overrideContainerNode, pos, ref, insertIndex);
-	dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
-}, removeChild:function (pane) {
-	dojo.widget.LayoutContainer.superclass.removeChild.call(this, pane);
-	dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
-}, onResized:function () {
-	dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
-}, show:function () {
-	this.domNode.style.display = "";
-	this.checkSize();
-	this.domNode.style.display = "none";
-	this.domNode.style.visibility = "";
-	dojo.widget.LayoutContainer.superclass.show.call(this);
-}});
-dojo.lang.extend(dojo.widget.Widget, {layoutAlign:"none"});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LinkPane.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LinkPane.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LinkPane.js
deleted file mode 100644
index 7ffca43..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/LinkPane.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.LinkPane");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.ContentPane");
-dojo.require("dojo.html.style");
-dojo.widget.defineWidget("dojo.widget.LinkPane", dojo.widget.ContentPane, {templateString:"<div class=\"dojoLinkPane\"></div>", fillInTemplate:function (args, frag) {
-	var source = this.getFragNodeRef(frag);
-	this.label += source.innerHTML;
-	var source = this.getFragNodeRef(frag);
-	dojo.html.copyStyle(this.domNode, source);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Manager.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Manager.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Manager.js
deleted file mode 100644
index aaccbb5..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Manager.js
+++ /dev/null
@@ -1,288 +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.Manager");
-dojo.require("dojo.lang.array");
-dojo.require("dojo.lang.func");
-dojo.require("dojo.event.*");
-dojo.widget.manager = new function () {
-	this.widgets = [];
-	this.widgetIds = [];
-	this.topWidgets = {};
-	var widgetTypeCtr = {};
-	var renderPrefixCache = [];
-	this.getUniqueId = function (widgetType) {
-		var widgetId;
-		do {
-			widgetId = widgetType + "_" + (widgetTypeCtr[widgetType] != undefined ? ++widgetTypeCtr[widgetType] : widgetTypeCtr[widgetType] = 0);
-		} while (this.getWidgetById(widgetId));
-		return widgetId;
-	};
-	this.add = function (widget) {
-		this.widgets.push(widget);
-		if (!widget.extraArgs["id"]) {
-			widget.extraArgs["id"] = widget.extraArgs["ID"];
-		}
-		if (widget.widgetId == "") {
-			if (widget["id"]) {
-				widget.widgetId = widget["id"];
-			} else {
-				if (widget.extraArgs["id"]) {
-					widget.widgetId = widget.extraArgs["id"];
-				} else {
-					widget.widgetId = this.getUniqueId(widget.ns + "_" + widget.widgetType);
-				}
-			}
-		}
-		if (this.widgetIds[widget.widgetId]) {
-			dojo.debug("widget ID collision on ID: " + widget.widgetId);
-		}
-		this.widgetIds[widget.widgetId] = widget;
-	};
-	this.destroyAll = function () {
-		for (var x = this.widgets.length - 1; x >= 0; x--) {
-			try {
-				this.widgets[x].destroy(true);
-				delete this.widgets[x];
-			}
-			catch (e) {
-			}
-		}
-	};
-	this.remove = function (widgetIndex) {
-		if (dojo.lang.isNumber(widgetIndex)) {
-			var tw = this.widgets[widgetIndex].widgetId;
-			delete this.topWidgets[tw];
-			delete this.widgetIds[tw];
-			this.widgets.splice(widgetIndex, 1);
-		} else {
-			this.removeById(widgetIndex);
-		}
-	};
-	this.removeById = function (id) {
-		if (!dojo.lang.isString(id)) {
-			id = id["widgetId"];
-			if (!id) {
-				dojo.debug("invalid widget or id passed to removeById");
-				return;
-			}
-		}
-		for (var i = 0; i < this.widgets.length; i++) {
-			if (this.widgets[i].widgetId == id) {
-				this.remove(i);
-				break;
-			}
-		}
-	};
-	this.getWidgetById = function (id) {
-		if (dojo.lang.isString(id)) {
-			return this.widgetIds[id];
-		}
-		return id;
-	};
-	this.getWidgetsByType = function (type) {
-		var lt = type.toLowerCase();
-		var getType = (type.indexOf(":") < 0 ? function (x) {
-			return x.widgetType.toLowerCase();
-		} : function (x) {
-			return x.getNamespacedType();
-		});
-		var ret = [];
-		dojo.lang.forEach(this.widgets, function (x) {
-			if (getType(x) == lt) {
-				ret.push(x);
-			}
-		});
-		return ret;
-	};
-	this.getWidgetsByFilter = function (unaryFunc, onlyOne) {
-		var ret = [];
-		dojo.lang.every(this.widgets, function (x) {
-			if (unaryFunc(x)) {
-				ret.push(x);
-				if (onlyOne) {
-					return false;
-				}
-			}
-			return true;
-		});
-		return (onlyOne ? ret[0] : ret);
-	};
-	this.getAllWidgets = function () {
-		return this.widgets.concat();
-	};
-	this.getWidgetByNode = function (node) {
-		var w = this.getAllWidgets();
-		node = dojo.byId(node);
-		for (var i = 0; i < w.length; i++) {
-			if (w[i].domNode == node) {
-				return w[i];
-			}
-		}
-		return null;
-	};
-	this.byId = this.getWidgetById;
-	this.byType = this.getWidgetsByType;
-	this.byFilter = this.getWidgetsByFilter;
-	this.byNode = this.getWidgetByNode;
-	var knownWidgetImplementations = {};
-	var widgetPackages = ["dojo.widget"];
-	for (var i = 0; i < widgetPackages.length; i++) {
-		widgetPackages[widgetPackages[i]] = true;
-	}
-	this.registerWidgetPackage = function (pname) {
-		if (!widgetPackages[pname]) {
-			widgetPackages[pname] = true;
-			widgetPackages.push(pname);
-		}
-	};
-	this.getWidgetPackageList = function () {
-		return dojo.lang.map(widgetPackages, function (elt) {
-			return (elt !== true ? elt : undefined);
-		});
-	};
-	this.getImplementation = function (widgetName, ctorObject, mixins, ns) {
-		var impl = this.getImplementationName(widgetName, ns);
-		if (impl) {
-			var ret = ctorObject ? new impl(ctorObject) : new impl();
-			return ret;
-		}
-	};
-	function buildPrefixCache() {
-		for (var renderer in dojo.render) {
-			if (dojo.render[renderer]["capable"] === true) {
-				var prefixes = dojo.render[renderer].prefixes;
-				for (var i = 0; i < prefixes.length; i++) {
-					renderPrefixCache.push(prefixes[i].toLowerCase());
-				}
-			}
-		}
-	}
-	var findImplementationInModule = function (lowerCaseWidgetName, module) {
-		if (!module) {
-			return null;
-		}
-		for (var i = 0, l = renderPrefixCache.length, widgetModule; i <= l; i++) {
-			widgetModule = (i < l ? module[renderPrefixCache[i]] : module);
-			if (!widgetModule) {
-				continue;
-			}
-			for (var name in widgetModule) {
-				if (name.toLowerCase() == lowerCaseWidgetName) {
-					return widgetModule[name];
-				}
-			}
-		}
-		return null;
-	};
-	var findImplementation = function (lowerCaseWidgetName, moduleName) {
-		var module = dojo.evalObjPath(moduleName, false);
-		return (module ? findImplementationInModule(lowerCaseWidgetName, module) : null);
-	};
-	this.getImplementationName = function (widgetName, ns) {
-		var lowerCaseWidgetName = widgetName.toLowerCase();
-		ns = ns || "dojo";
-		var imps = knownWidgetImplementations[ns] || (knownWidgetImplementations[ns] = {});
-		var impl = imps[lowerCaseWidgetName];
-		if (impl) {
-			return impl;
-		}
-		if (!renderPrefixCache.length) {
-			buildPrefixCache();
-		}
-		var nsObj = dojo.ns.get(ns);
-		if (!nsObj) {
-			dojo.ns.register(ns, ns + ".widget");
-			nsObj = dojo.ns.get(ns);
-		}
-		if (nsObj) {
-			nsObj.resolve(widgetName);
-		}
-		impl = findImplementation(lowerCaseWidgetName, nsObj.module);
-		if (impl) {
-			return (imps[lowerCaseWidgetName] = impl);
-		}
-		nsObj = dojo.ns.require(ns);
-		if ((nsObj) && (nsObj.resolver)) {
-			nsObj.resolve(widgetName);
-			impl = findImplementation(lowerCaseWidgetName, nsObj.module);
-			if (impl) {
-				return (imps[lowerCaseWidgetName] = impl);
-			}
-		}
-		dojo.deprecated("dojo.widget.Manager.getImplementationName", "Could not locate widget implementation for \"" + widgetName + "\" in \"" + nsObj.module + "\" registered to namespace \"" + nsObj.name + "\". " + "Developers must specify correct namespaces for all non-Dojo widgets", "0.5");
-		for (var i = 0; i < widgetPackages.length; i++) {
-			impl = findImplementation(lowerCaseWidgetName, widgetPackages[i]);
-			if (impl) {
-				return (imps[lowerCaseWidgetName] = impl);
-			}
-		}
-		throw new Error("Could not locate widget implementation for \"" + widgetName + "\" in \"" + nsObj.module + "\" registered to namespace \"" + nsObj.name + "\"");
-	};
-	this.resizing = false;
-	this.onWindowResized = function () {
-		if (this.resizing) {
-			return;
-		}
-		try {
-			this.resizing = true;
-			for (var id in this.topWidgets) {
-				var child = this.topWidgets[id];
-				if (child.checkSize) {
-					child.checkSize();
-				}
-			}
-		}
-		catch (e) {
-		}
-		finally {
-			this.resizing = false;
-		}
-	};
-	if (typeof window != "undefined") {
-		dojo.addOnLoad(this, "onWindowResized");
-		dojo.event.connect(window, "onresize", this, "onWindowResized");
-	}
-};
-(function () {
-	var dw = dojo.widget;
-	var dwm = dw.manager;
-	var h = dojo.lang.curry(dojo.lang, "hitch", dwm);
-	var g = function (oldName, newName) {
-		dw[(newName || oldName)] = h(oldName);
-	};
-	g("add", "addWidget");
-	g("destroyAll", "destroyAllWidgets");
-	g("remove", "removeWidget");
-	g("removeById", "removeWidgetById");
-	g("getWidgetById");
-	g("getWidgetById", "byId");
-	g("getWidgetsByType");
-	g("getWidgetsByFilter");
-	g("getWidgetsByType", "byType");
-	g("getWidgetsByFilter", "byFilter");
-	g("getWidgetByNode", "byNode");
-	dw.all = function (n) {
-		var widgets = dwm.getAllWidgets.apply(dwm, arguments);
-		if (arguments.length > 0) {
-			return widgets[n];
-		}
-		return widgets;
-	};
-	g("registerWidgetPackage");
-	g("getImplementation", "getWidgetImplementation");
-	g("getImplementationName", "getWidgetImplementationName");
-	dw.widgets = dwm.widgets;
-	dw.widgetIds = dwm.widgetIds;
-	dw.root = dwm.root;
-})();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Menu2.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Menu2.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Menu2.js
deleted file mode 100644
index 0886a05..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Menu2.js
+++ /dev/null
@@ -1,455 +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.Menu2");
-dojo.require("dojo.widget.PopupContainer");
-dojo.declare("dojo.widget.MenuBase", null, function () {
-	this.eventNames = {open:""};
-}, {isContainer:true, isMenu:true, eventNaming:"default", templateCssString:"\n.dojoPopupMenu2 {\n\tposition: absolute;\n\tborder: 1px solid #7298d0;\n\tbackground:#85aeec url(images/soriaMenuBg.gif) repeat-x bottom left !important;\n\tpadding: 1px;\n\tmargin-top: 1px;\n\tmargin-bottom: 1px;\n}\n\n.dojoMenuItem2{\n\twhite-space: nowrap;\n\tfont: menu;\n\tmargin: 0;\n}\n\n.dojoMenuItem2Hover {\n\tbackground-color: #D2E4FD;\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n.dojoMenuItem2Icon {\n\tposition: relative;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n\tpadding-right: 3px;\n}\n\n.dojoMenuItem2Label {\n\tposition: relative;\n\tvertical-align: middle;\n}\n\n/* main label text */\n.dojoMenuItem2Label {\n\tposition: relative;\n\tvertical-align: middle;\n}\n\n.dojoMenuItem2Accel {\n\tposition: relative;\n\tvertical-align: middle;\n\tpadding-left: 3px;\n}\n\n.dojoMenuItem2Disabled .dojoMenuItem2Label,\n.dojoMenuItem2Disabled .dojo
 MenuItem2Accel {\n\tcolor: #607a9e;\n}\n\n.dojoMenuItem2Submenu {\n\tposition: relative;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-image: url(images/submenu_off.gif);\n\twidth: 5px;\n\theight: 9px;\n\tpadding-left: 3px;\n}\n.dojoMenuItem2Hover .dojoMenuItem2Submenu {\n\tbackground-image: url(images/submenu_on.gif);\n}\n\n.dojoMenuItem2Disabled .dojoMenuItem2Submenu {\n\tbackground-image: url(images/submenu_disabled.gif);\n}\n\n.dojoMenuSeparator2 {\n\tfont-size: 1px;\n\tmargin: 0;\n}\n\n.dojoMenuSeparator2Top {\n\theight: 50%;\n\tborder-bottom: 1px solid #7a98c4;\n\tmargin: 0px 2px;\n\tfont-size: 1px;\n}\n\n.dojoMenuSeparator2Bottom {\n\theight: 50%;\n\tborder-top: 1px solid #c9deff;\n\tmargin: 0px 2px;\n\tfont-size: 1px;\n}\n\n.dojoMenuBar2 {\n\tbackground:#85aeec url(images/soriaBarBg.gif) repeat-x top left;\n\t/*border-bottom:1px solid #6b9fec;*/\n\tpadding: 1px;\n}\n\n.dojoMenuBar2 .dojoMenuItem2 {\n\twhite-space: nowrap;\n\tfont: menu
 ;\n\tmargin: 0;\n\tposition: relative;\n\tvertical-align: middle;\n\tz-index: 1;\n\tpadding: 3px 8px;\n\tdisplay: inline;/* needed in khtml to display correctly */\n\tdisplay: -moz-inline-box;/* needed in firefox */\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n.dojoMenuBar2 .dojoMenuItem2Hover {\n\tbackground-color:#d2e4fd;\n}\n\n.dojoMenuBar2 .dojoMenuItem2Disabled span {\n\tcolor: #4f6582;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Menu2.css"), submenuDelay:500, initialize:function (args, frag) {
-	if (this.eventNaming == "default") {
-		for (var eventName in this.eventNames) {
-			this.eventNames[eventName] = this.widgetId + "/" + eventName;
-		}
-	}
-}, _moveToNext:function (evt) {
-	this._highlightOption(1);
-	return true;
-}, _moveToPrevious:function (evt) {
-	this._highlightOption(-1);
-	return true;
-}, _moveToParentMenu:function (evt) {
-	if (this._highlighted_option && this.parentMenu) {
-		if (evt._menu2UpKeyProcessed) {
-			return true;
-		} else {
-			this._highlighted_option.onUnhover();
-			this.closeSubmenu();
-			evt._menu2UpKeyProcessed = true;
-		}
-	}
-	return false;
-}, _moveToChildMenu:function (evt) {
-	if (this._highlighted_option && this._highlighted_option.submenuId) {
-		this._highlighted_option._onClick(true);
-		return true;
-	}
-	return false;
-}, _selectCurrentItem:function (evt) {
-	if (this._highlighted_option) {
-		this._highlighted_option._onClick();
-		return true;
-	}
-	return false;
-}, processKey:function (evt) {
-	if (evt.ctrlKey || evt.altKey || !evt.key) {
-		return false;
-	}
-	var rval = false;
-	switch (evt.key) {
-	  case evt.KEY_DOWN_ARROW:
-		rval = this._moveToNext(evt);
-		break;
-	  case evt.KEY_UP_ARROW:
-		rval = this._moveToPrevious(evt);
-		break;
-	  case evt.KEY_RIGHT_ARROW:
-		rval = this._moveToChildMenu(evt);
-		break;
-	  case evt.KEY_LEFT_ARROW:
-		rval = this._moveToParentMenu(evt);
-		break;
-	  case " ":
-	  case evt.KEY_ENTER:
-		if (rval = this._selectCurrentItem(evt)) {
-			break;
-		}
-	  case evt.KEY_ESCAPE:
-	  case evt.KEY_TAB:
-		this.close(true);
-		rval = true;
-		break;
-	}
-	return rval;
-}, _findValidItem:function (dir, curItem) {
-	if (curItem) {
-		curItem = dir > 0 ? curItem.getNextSibling() : curItem.getPreviousSibling();
-	}
-	for (var i = 0; i < this.children.length; ++i) {
-		if (!curItem) {
-			curItem = dir > 0 ? this.children[0] : this.children[this.children.length - 1];
-		}
-		if (curItem.onHover && curItem.isShowing()) {
-			return curItem;
-		}
-		curItem = dir > 0 ? curItem.getNextSibling() : curItem.getPreviousSibling();
-	}
-}, _highlightOption:function (dir) {
-	var item;
-	if ((!this._highlighted_option)) {
-		item = this._findValidItem(dir);
-	} else {
-		item = this._findValidItem(dir, this._highlighted_option);
-	}
-	if (item) {
-		if (this._highlighted_option) {
-			this._highlighted_option.onUnhover();
-		}
-		item.onHover();
-		dojo.html.scrollIntoView(item.domNode);
-		try {
-			var node = dojo.html.getElementsByClass("dojoMenuItem2Label", item.domNode)[0];
-			node.focus();
-		}
-		catch (e) {
-		}
-	}
-}, onItemClick:function (item) {
-}, closeSubmenu:function (force) {
-	if (this.currentSubmenu == null) {
-		return;
-	}
-	this.currentSubmenu.close(force);
-	this.currentSubmenu = null;
-	this.currentSubmenuTrigger.is_open = false;
-	this.currentSubmenuTrigger._closedSubmenu(force);
-	this.currentSubmenuTrigger = null;
-}});
-dojo.widget.defineWidget("dojo.widget.PopupMenu2", [dojo.widget.HtmlWidget, dojo.widget.PopupContainerBase, dojo.widget.MenuBase], function () {
-	this.targetNodeIds = [];
-}, {templateString:"<table class=\"dojoPopupMenu2\" border=0 cellspacing=0 cellpadding=0 style=\"display: none; position: absolute;\">" + "<tbody dojoAttachPoint=\"containerNode\"></tbody>" + "</table>", submenuOverlap:5, contextMenuForWindow:false, parentMenu:null, postCreate:function () {
-	if (this.contextMenuForWindow) {
-		var doc = dojo.body();
-		this.bindDomNode(doc);
-	} else {
-		if (this.targetNodeIds.length > 0) {
-			dojo.lang.forEach(this.targetNodeIds, this.bindDomNode, this);
-		}
-	}
-	this._subscribeSubitemsOnOpen();
-}, _subscribeSubitemsOnOpen:function () {
-	var subItems = this.getChildrenOfType(dojo.widget.MenuItem2);
-	for (var i = 0; i < subItems.length; i++) {
-		dojo.event.topic.subscribe(this.eventNames.open, subItems[i], "menuOpen");
-	}
-}, getTopOpenEvent:function () {
-	var menu = this;
-	while (menu.parentMenu) {
-		menu = menu.parentMenu;
-	}
-	return menu.openEvent;
-}, bindDomNode:function (node) {
-	node = dojo.byId(node);
-	var win = dojo.html.getElementWindow(node);
-	if (dojo.html.isTag(node, "iframe") == "iframe") {
-		win = dojo.html.iframeContentWindow(node);
-		node = dojo.withGlobal(win, dojo.body);
-	}
-	dojo.widget.Menu2.OperaAndKonqFixer.fixNode(node);
-	dojo.event.kwConnect({srcObj:node, srcFunc:"oncontextmenu", targetObj:this, targetFunc:"onOpen", once:true});
-	if (dojo.render.html.moz && win.document.designMode.toLowerCase() == "on") {
-		dojo.event.browser.addListener(node, "contextmenu", dojo.lang.hitch(this, "onOpen"));
-	}
-	dojo.widget.PopupManager.registerWin(win);
-}, unBindDomNode:function (nodeName) {
-	var node = dojo.byId(nodeName);
-	dojo.event.kwDisconnect({srcObj:node, srcFunc:"oncontextmenu", targetObj:this, targetFunc:"onOpen", once:true});
-	dojo.widget.Menu2.OperaAndKonqFixer.cleanNode(node);
-}, _openAsSubmenu:function (parent, explodeSrc, orient) {
-	if (this.isShowingNow) {
-		return;
-	}
-	this.parentMenu = parent;
-	this.open(explodeSrc, parent, explodeSrc, orient);
-}, close:function (force) {
-	if (this.animationInProgress) {
-		dojo.widget.PopupContainerBase.prototype.close.call(this, force);
-		return;
-	}
-	if (this._highlighted_option) {
-		this._highlighted_option.onUnhover();
-	}
-	dojo.widget.PopupContainerBase.prototype.close.call(this, force);
-	this.parentMenu = null;
-}, closeAll:function (force) {
-	if (this.parentMenu) {
-		this.parentMenu.closeAll(force);
-	} else {
-		this.close(force);
-	}
-}, _openSubmenu:function (submenu, from_item) {
-	submenu._openAsSubmenu(this, from_item.arrow, {"TR":"TL", "TL":"TR"});
-	this.currentSubmenu = submenu;
-	this.currentSubmenuTrigger = from_item;
-	this.currentSubmenuTrigger.is_open = true;
-}, focus:function () {
-	if (this.currentSubmenuTrigger) {
-		if (this.currentSubmenuTrigger.caption) {
-			try {
-				this.currentSubmenuTrigger.caption.focus();
-			}
-			catch (e) {
-			}
-		} else {
-			try {
-				this.currentSubmenuTrigger.domNode.focus();
-			}
-			catch (e) {
-			}
-		}
-	}
-}, onOpen:function (e) {
-	this.openEvent = e;
-	if (e["target"]) {
-		this.openedForWindow = dojo.html.getElementWindow(e.target);
-	} else {
-		this.openedForWindow = null;
-	}
-	var x = e.pageX, y = e.pageY;
-	var win = dojo.html.getElementWindow(e.target);
-	var iframe = win._frameElement || win.frameElement;
-	if (iframe) {
-		var cood = dojo.html.abs(iframe, true);
-		x += cood.x - dojo.withGlobal(win, dojo.html.getScroll).left;
-		y += cood.y - dojo.withGlobal(win, dojo.html.getScroll).top;
-	}
-	this.open(x, y, null, [x, y]);
-	dojo.event.browser.stopEvent(e);
-}});
-dojo.widget.defineWidget("dojo.widget.MenuItem2", dojo.widget.HtmlWidget, function () {
-	this.eventNames = {engage:""};
-}, {templateString:"<tr class=\"dojoMenuItem2\" dojoAttachEvent=\"onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick; onKey:onKey;\">" + "<td><div class=\"${this.iconClass}\" style=\"${this.iconStyle}\"></div></td>" + "<td tabIndex=\"-1\" class=\"dojoMenuItem2Label\" dojoAttachPoint=\"caption\">${this.caption}</td>" + "<td class=\"dojoMenuItem2Accel\">${this.accelKey}</td>" + "<td><div class=\"dojoMenuItem2Submenu\" style=\"display:${this.arrowDisplay};\" dojoAttachPoint=\"arrow\"></div></td>" + "</tr>", is_hovering:false, hover_timer:null, is_open:false, topPosition:0, caption:"Untitled", accelKey:"", iconSrc:"", disabledClass:"dojoMenuItem2Disabled", iconClass:"dojoMenuItem2Icon", submenuId:"", eventNaming:"default", highlightClass:"dojoMenuItem2Hover", postMixInProperties:function () {
-	this.iconStyle = "";
-	if (this.iconSrc) {
-		if ((this.iconSrc.toLowerCase().substring(this.iconSrc.length - 4) == ".png") && (dojo.render.html.ie55 || dojo.render.html.ie60)) {
-			this.iconStyle = "filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.iconSrc + "', sizingMethod='image')";
-		} else {
-			this.iconStyle = "background-image: url(" + this.iconSrc + ")";
-		}
-	}
-	this.arrowDisplay = this.submenuId ? "block" : "none";
-	dojo.widget.MenuItem2.superclass.postMixInProperties.apply(this, arguments);
-}, fillInTemplate:function () {
-	dojo.html.disableSelection(this.domNode);
-	if (this.disabled) {
-		this.setDisabled(true);
-	}
-	if (this.eventNaming == "default") {
-		for (var eventName in this.eventNames) {
-			this.eventNames[eventName] = this.widgetId + "/" + eventName;
-		}
-	}
-}, onHover:function () {
-	this.onUnhover();
-	if (this.is_hovering) {
-		return;
-	}
-	if (this.is_open) {
-		return;
-	}
-	if (this.parent._highlighted_option) {
-		this.parent._highlighted_option.onUnhover();
-	}
-	this.parent.closeSubmenu();
-	this.parent._highlighted_option = this;
-	dojo.widget.PopupManager.setFocusedMenu(this.parent);
-	this._highlightItem();
-	if (this.is_hovering) {
-		this._stopSubmenuTimer();
-	}
-	this.is_hovering = true;
-	this._startSubmenuTimer();
-}, onUnhover:function () {
-	if (!this.is_open) {
-		this._unhighlightItem();
-	}
-	this.is_hovering = false;
-	this.parent._highlighted_option = null;
-	if (this.parent.parentMenu) {
-		dojo.widget.PopupManager.setFocusedMenu(this.parent.parentMenu);
-	}
-	this._stopSubmenuTimer();
-}, _onClick:function (focus) {
-	var displayingSubMenu = false;
-	if (this.disabled) {
-		return false;
-	}
-	if (this.submenuId) {
-		if (!this.is_open) {
-			this._stopSubmenuTimer();
-			this._openSubmenu();
-		}
-		displayingSubMenu = true;
-	} else {
-		this.onUnhover();
-		this.parent.closeAll(true);
-	}
-	this.onClick();
-	dojo.event.topic.publish(this.eventNames.engage, this);
-	if (displayingSubMenu && focus) {
-		dojo.widget.getWidgetById(this.submenuId)._highlightOption(1);
-	}
-	return;
-}, onClick:function () {
-	this.parent.onItemClick(this);
-}, _highlightItem:function () {
-	dojo.html.addClass(this.domNode, this.highlightClass);
-}, _unhighlightItem:function () {
-	dojo.html.removeClass(this.domNode, this.highlightClass);
-}, _startSubmenuTimer:function () {
-	this._stopSubmenuTimer();
-	if (this.disabled) {
-		return;
-	}
-	var self = this;
-	var closure = function () {
-		return function () {
-			self._openSubmenu();
-		};
-	}();
-	this.hover_timer = dojo.lang.setTimeout(closure, this.parent.submenuDelay);
-}, _stopSubmenuTimer:function () {
-	if (this.hover_timer) {
-		dojo.lang.clearTimeout(this.hover_timer);
-		this.hover_timer = null;
-	}
-}, _openSubmenu:function () {
-	if (this.disabled) {
-		return;
-	}
-	this.parent.closeSubmenu();
-	var submenu = dojo.widget.getWidgetById(this.submenuId);
-	if (submenu) {
-		this.parent._openSubmenu(submenu, this);
-	}
-}, _closedSubmenu:function () {
-	this.onUnhover();
-}, setDisabled:function (value) {
-	this.disabled = value;
-	if (this.disabled) {
-		dojo.html.addClass(this.domNode, this.disabledClass);
-	} else {
-		dojo.html.removeClass(this.domNode, this.disabledClass);
-	}
-}, enable:function () {
-	this.setDisabled(false);
-}, disable:function () {
-	this.setDisabled(true);
-}, menuOpen:function (message) {
-}});
-dojo.widget.defineWidget("dojo.widget.MenuSeparator2", dojo.widget.HtmlWidget, {templateString:"<tr class=\"dojoMenuSeparator2\"><td colspan=4>" + "<div class=\"dojoMenuSeparator2Top\"></div>" + "<div class=\"dojoMenuSeparator2Bottom\"></div>" + "</td></tr>", postCreate:function () {
-	dojo.html.disableSelection(this.domNode);
-}});
-dojo.widget.defineWidget("dojo.widget.MenuBar2", [dojo.widget.HtmlWidget, dojo.widget.MenuBase], {menuOverlap:2, templateString:"<div class=\"dojoMenuBar2\" dojoAttachPoint=\"containerNode\" tabIndex=\"0\"></div>", close:function (force) {
-	if (this._highlighted_option) {
-		this._highlighted_option.onUnhover();
-	}
-	this.closeSubmenu(force);
-}, closeAll:function (force) {
-	this.close(force);
-}, processKey:function (evt) {
-	if (evt.ctrlKey || evt.altKey) {
-		return false;
-	}
-	var rval = false;
-	switch (evt.key) {
-	  case evt.KEY_DOWN_ARROW:
-		rval = this._moveToChildMenu(evt);
-		break;
-	  case evt.KEY_UP_ARROW:
-		rval = this._moveToParentMenu(evt);
-		break;
-	  case evt.KEY_RIGHT_ARROW:
-		rval = this._moveToNext(evt);
-		break;
-	  case evt.KEY_LEFT_ARROW:
-		rval = this._moveToPrevious(evt);
-		break;
-	  default:
-		rval = dojo.widget.MenuBar2.superclass.processKey.apply(this, arguments);
-		break;
-	}
-	return rval;
-}, postCreate:function () {
-	dojo.widget.MenuBar2.superclass.postCreate.apply(this, arguments);
-	this.isShowingNow = true;
-}, _openSubmenu:function (submenu, from_item) {
-	submenu._openAsSubmenu(this, from_item.domNode, {"BL":"TL", "TL":"BL"});
-	this.currentSubmenu = submenu;
-	this.currentSubmenuTrigger = from_item;
-	this.currentSubmenuTrigger.is_open = true;
-}});
-dojo.widget.defineWidget("dojo.widget.MenuBarItem2", dojo.widget.MenuItem2, {templateString:"<span class=\"dojoMenuItem2\" dojoAttachEvent=\"onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick;\">${this.caption}</span>"});
-dojo.widget.Menu2.OperaAndKonqFixer = new function () {
-	var implement = true;
-	var delfunc = false;
-	if (!dojo.lang.isFunction(dojo.doc().oncontextmenu)) {
-		dojo.doc().oncontextmenu = function () {
-			implement = false;
-			delfunc = true;
-		};
-	}
-	if (dojo.doc().createEvent) {
-		try {
-			var e = dojo.doc().createEvent("MouseEvents");
-			e.initMouseEvent("contextmenu", 1, 1, dojo.global(), 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, null);
-			dojo.doc().dispatchEvent(e);
-		}
-		catch (e) {
-		}
-	} else {
-		implement = false;
-	}
-	if (delfunc) {
-		delete dojo.doc().oncontextmenu;
-	}
-	this.fixNode = function (node) {
-		if (implement) {
-			if (!dojo.lang.isFunction(node.oncontextmenu)) {
-				node.oncontextmenu = function (e) {
-				};
-			}
-			if (dojo.render.html.opera) {
-				node._menufixer_opera = function (e) {
-					if (e.ctrlKey) {
-						this.oncontextmenu(e);
-					}
-				};
-				dojo.event.connect(node, "onclick", node, "_menufixer_opera");
-			} else {
-				node._menufixer_konq = function (e) {
-					if (e.button == 2) {
-						e.preventDefault();
-						this.oncontextmenu(e);
-					}
-				};
-				dojo.event.connect(node, "onmousedown", node, "_menufixer_konq");
-			}
-		}
-	};
-	this.cleanNode = function (node) {
-		if (implement) {
-			if (node._menufixer_opera) {
-				dojo.event.disconnect(node, "onclick", node, "_menufixer_opera");
-				delete node._menufixer_opera;
-			} else {
-				if (node._menufixer_konq) {
-					dojo.event.disconnect(node, "onmousedown", node, "_menufixer_konq");
-					delete node._menufixer_konq;
-				}
-			}
-			if (node.oncontextmenu) {
-				delete node.oncontextmenu;
-			}
-		}
-	};
-};
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/MonthlyCalendar.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/MonthlyCalendar.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/MonthlyCalendar.js
deleted file mode 100644
index 02d7eae..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/MonthlyCalendar.js
+++ /dev/null
@@ -1,149 +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.MonthlyCalendar");
-dojo.require("dojo.date.common");
-dojo.require("dojo.date.format");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.DatePicker");
-dojo.require("dojo.event.*");
-dojo.require("dojo.html.*");
-dojo.require("dojo.experimental");
-dojo.experimental("dojo.widget.MonthlyCalendar");
-dojo.widget.defineWidget("dojo.widget.MonthlyCalendar", dojo.widget.DatePicker, {dayWidth:"wide", templateString:"<div class=\"datePickerContainer\" dojoAttachPoint=\"datePickerContainerNode\">\n\t<h3 class=\"monthLabel\">\n\t<!--\n\t<span \n\t\tdojoAttachPoint=\"decreaseWeekNode\" \n\t\tdojoAttachEvent=\"onClick: onIncrementWeek;\" \n\t\tclass=\"incrementControl\">\n\t\t<img src=\"${dojoWidgetModuleUri}templates/decrementWeek.gif\" alt=\"&uarr;\" />\n\t</span>\n\t-->\n\t<span \n\t\tdojoAttachPoint=\"decreaseMonthNode\" \n\t\tdojoAttachEvent=\"onClick: onIncrementMonth;\" class=\"incrementControl\">\n\t\t<img src=\"${dojoWidgetModuleUri}templates/decrementMonth.gif\" \n\t\t\talt=\"&uarr;\" dojoAttachPoint=\"decrementMonthImageNode\">\n\t</span>\n\t<span dojoAttachPoint=\"monthLabelNode\" class=\"month\">July</span>\n\t<span \n\t\tdojoAttachPoint=\"increaseMonthNode\" \n\t\tdojoAttachEvent=\"onClick: onIncrementMonth;\" class=\"incrementControl\">\n\t\t<img src=\"${dojoWidgetModuleUr
 i}templates/incrementMonth.gif\" \n\t\t\talt=\"&darr;\"  dojoAttachPoint=\"incrementMonthImageNode\">\n\t</span>\n\t<!--\n\t\t<span dojoAttachPoint=\"increaseWeekNode\" \n\t\t\tdojoAttachEvent=\"onClick: onIncrementWeek;\" \n\t\t\tclass=\"incrementControl\">\n\t\t\t<img src=\"${dojoWidgetModuleUri}templates/incrementWeek.gif\" \n\t\t\talt=\"&darr;\" />\n\t\t</span>\n\t-->\n\t</h3>\n\t<table class=\"calendarContainer\">\n\t\t<thead>\n\t\t\t<tr dojoAttachPoint=\"dayLabelsRow\">\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody dojoAttachPoint=\"calendarDatesContainerNode\" \n\t\t\tdojoAttachEvent=\"onClick: onSetDate;\">\n\t\t\t<tr dojoAttachPoint=\"calendarRow0\">\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\t<tr dojoAttachPoint=\"calendarRow1\">\n\t\t\t\t<td
 ></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\t<tr dojoAttachPoint=\"calendarRow2\">\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\t<tr dojoAttachPoint=\"calendarRow3\">\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\t<tr dojoAttachPoint=\"calendarRow4\">\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t\t<tr dojoAttachPoint=\"calendarRow5\">\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t\t<td></td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t<h3 class=\"yearLabel\">\n\t\t<span dojoAttachPoint=\"previousYearLabe
 lNode\"\n\t\t\tdojoAttachEvent=\"onClick: onIncrementYear;\" class=\"previousYear\"></span>\n\t\t<span class=\"selectedYear\" dojoAttachPoint=\"currentYearLabelNode\"></span>\n\t\t<span dojoAttachPoint=\"nextYearLabelNode\" \n\t\t\tdojoAttachEvent=\"onClick: onIncrementYear;\" class=\"nextYear\"></span>\n\t</h3>\n</div>\n", templateCssString:".datePickerContainer {\n\tmargin:0.5em 2em 0.5em 0;\n\t/*width:10em;*/\n\tfloat:left;\n}\n\n.previousMonth {\n\tbackground-color:#bbbbbb;\n}\n\n.currentMonth {\n\tbackground-color:#8f8f8f;\n}\n\n.nextMonth {\n\tbackground-color:#eeeeee;\n}\n\n.currentDate {\n\ttext-decoration:underline;\n\tfont-style:italic;\n}\n\n.selectedItem {\n\tbackground-color:#3a3a3a;\n\tcolor:#ffffff;\n}\n\n.calendarContainer {\n\tborder-collapse:collapse;\n\tborder-spacing:0;\n\tborder-bottom:1px solid #e6e6e6;\n\toverflow: hidden;\n\ttext-align: right;\n}\n\n.calendarContainer thead{\n\tborder-bottom:1px solid #e6e6e6;\n}\n\n.calendarContainer tbody * td {\n		height: 
 100px;\n		border: 1px solid gray;\n}\n\n.calendarContainer td {\n		width: 100px;\n		padding: 2px;\n\tvertical-align: top;\n}\n\n.monthLabel {\n\tfont-size:0.9em;\n\tfont-weight:400;\n\tmargin:0;\n\ttext-align:center;\n}\n\n.monthLabel .month {\n\tpadding:0 0.4em 0 0.4em;\n}\n\n.yearLabel {\n\tfont-size:0.9em;\n\tfont-weight:400;\n\tmargin:0.25em 0 0 0;\n\ttext-align:right;\n\tcolor:#a3a3a3;\n}\n\n.yearLabel .selectedYear {\n\tcolor:#000;\n\tpadding:0 0.2em;\n}\n\n.nextYear, .previousYear {\n\tcursor:pointer;cursor:hand;\n}\n\n.incrementControl {\n\tcursor:pointer;cursor:hand;\n\twidth:1em;\n}\n\n.dojoMonthlyCalendarEvent {\n\tfont-size:0.7em;\n\toverflow: hidden;\n\tfont-color: grey;\n\twhite-space: nowrap;\n\ttext-align: left;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/MonthlyCalendar.css"), initializer:function () {
-	this.iCalendars = [];
-}, addCalendar:function (cal) {
-	dojo.debug("Adding Calendar");
-	this.iCalendars.push(cal);
-	dojo.debug("Starting init");
-	this.initUI();
-	dojo.debug("done init");
-}, createDayContents:function (node, mydate) {
-	dojo.html.removeChildren(node);
-	node.appendChild(document.createTextNode(mydate.getDate()));
-	for (var x = 0; x < this.iCalendars.length; x++) {
-		var evts = this.iCalendars[x].getEvents(mydate);
-		if ((dojo.lang.isArray(evts)) && (evts.length > 0)) {
-			for (var y = 0; y < evts.length; y++) {
-				var el = document.createElement("div");
-				dojo.html.addClass(el, "dojoMonthlyCalendarEvent");
-				el.appendChild(document.createTextNode(evts[y].summary.value));
-				el.width = dojo.html.getContentBox(node).width;
-				node.appendChild(el);
-			}
-		}
-	}
-}, initUI:function () {
-	var dayLabels = dojo.date.getNames("days", this.dayWidth, "standAlone", this.lang);
-	var dayLabelNodes = this.dayLabelsRow.getElementsByTagName("td");
-	for (var i = 0; i < 7; i++) {
-		dayLabelNodes.item(i).innerHTML = dayLabels[i];
-	}
-	this.selectedIsUsed = false;
-	this.currentIsUsed = false;
-	var currentClassName = "";
-	var previousDate = new Date();
-	var calendarNodes = this.calendarDatesContainerNode.getElementsByTagName("td");
-	var currentCalendarNode;
-	previousDate.setHours(8);
-	var nextDate = new Date(this.firstSaturday.year, this.firstSaturday.month, this.firstSaturday.date, 8);
-	var lastDay = new Date(this.firstSaturday.year, this.firstSaturday.month, this.firstSaturday.date + 42, 8);
-	if (this.iCalendars.length > 0) {
-		for (var x = 0; x < this.iCalendars.length; x++) {
-			this.iCalendars[x].preComputeRecurringEvents(lastDay);
-		}
-	}
-	if (this.firstSaturday.date < 7) {
-		var dayInWeek = 6;
-		for (var i = this.firstSaturday.date; i > 0; i--) {
-			currentCalendarNode = calendarNodes.item(dayInWeek);
-			this.createDayContents(currentCalendarNode, nextDate);
-			dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "current"));
-			dayInWeek--;
-			previousDate = nextDate;
-			nextDate = this.incrementDate(nextDate, false);
-		}
-		for (var i = dayInWeek; i > -1; i--) {
-			currentCalendarNode = calendarNodes.item(i);
-			this.createDayContents(currentCalendarNode, nextDate);
-			dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "previous"));
-			previousDate = nextDate;
-			nextDate = this.incrementDate(nextDate, false);
-		}
-	} else {
-		nextDate.setDate(1);
-		for (var i = 0; i < 7; i++) {
-			currentCalendarNode = calendarNodes.item(i);
-			this.createDayContents(currentCalendarNode, nextDate);
-			dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "current"));
-			previousDate = nextDate;
-			nextDate = this.incrementDate(nextDate, true);
-		}
-	}
-	previousDate.setDate(this.firstSaturday.date);
-	previousDate.setMonth(this.firstSaturday.month);
-	previousDate.setFullYear(this.firstSaturday.year);
-	nextDate = this.incrementDate(previousDate, true);
-	var count = 7;
-	currentCalendarNode = calendarNodes.item(count);
-	while ((nextDate.getMonth() == previousDate.getMonth()) && (count < 42)) {
-		this.createDayContents(currentCalendarNode, nextDate);
-		dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "current"));
-		currentCalendarNode = calendarNodes.item(++count);
-		previousDate = nextDate;
-		nextDate = this.incrementDate(nextDate, true);
-	}
-	while (count < 42) {
-		this.createDayContents(currentCalendarNode, nextDate);
-		dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "next"));
-		currentCalendarNode = calendarNodes.item(++count);
-		previousDate = nextDate;
-		nextDate = this.incrementDate(nextDate, true);
-	}
-	this.setMonthLabel(this.firstSaturday.month);
-	this.setYearLabels(this.firstSaturday.year);
-}});
-dojo.widget.MonthlyCalendar.util = new function () {
-	this.toRfcDate = function (jsDate) {
-		if (!jsDate) {
-			jsDate = this.today;
-		}
-		var year = jsDate.getFullYear();
-		var month = jsDate.getMonth() + 1;
-		if (month < 10) {
-			month = "0" + month.toString();
-		}
-		var date = jsDate.getDate();
-		if (date < 10) {
-			date = "0" + date.toString();
-		}
-		return year + "-" + month + "-" + date + "T00:00:00+00:00";
-	};
-	this.fromRfcDate = function (rfcDate) {
-		var tempDate = rfcDate.split("-");
-		if (tempDate.length < 3) {
-			return new Date();
-		}
-		return new Date(parseInt(tempDate[0]), (parseInt(tempDate[1], 10) - 1), parseInt(tempDate[2].substr(0, 2), 10));
-	};
-	this.initFirstSaturday = function (month, year) {
-		if (!month) {
-			month = this.date.getMonth();
-		}
-		if (!year) {
-			year = this.date.getFullYear();
-		}
-		var firstOfMonth = new Date(year, month, 1);
-		return {year:year, month:month, date:7 - firstOfMonth.getDay()};
-	};
-};
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/PageContainer.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/PageContainer.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/PageContainer.js
deleted file mode 100644
index 220aca4..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/PageContainer.js
+++ /dev/null
@@ -1,202 +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.PageContainer");
-dojo.require("dojo.lang.func");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.html.selection");
-dojo.widget.defineWidget("dojo.widget.PageContainer", dojo.widget.HtmlWidget, {isContainer:true, doLayout:true, templateString:"<div dojoAttachPoint='containerNode'></div>", selectedChild:"", fillInTemplate:function (args, frag) {
-	var source = this.getFragNodeRef(frag);
-	dojo.html.copyStyle(this.domNode, source);
-	dojo.widget.PageContainer.superclass.fillInTemplate.apply(this, arguments);
-}, postCreate:function (args, frag) {
-	if (this.children.length) {
-		dojo.lang.forEach(this.children, this._setupChild, this);
-		var initialChild;
-		if (this.selectedChild) {
-			this.selectChild(this.selectedChild);
-		} else {
-			for (var i = 0; i < this.children.length; i++) {
-				if (this.children[i].selected) {
-					this.selectChild(this.children[i]);
-					break;
-				}
-			}
-			if (!this.selectedChildWidget) {
-				this.selectChild(this.children[0]);
-			}
-		}
-	}
-}, addChild:function (child) {
-	dojo.widget.PageContainer.superclass.addChild.apply(this, arguments);
-	this._setupChild(child);
-	this.onResized();
-	if (!this.selectedChildWidget) {
-		this.selectChild(child);
-	}
-}, _setupChild:function (page) {
-	page.hide();
-	page.domNode.style.position = "relative";
-	dojo.event.topic.publish(this.widgetId + "-addChild", page);
-}, removeChild:function (page) {
-	dojo.widget.PageContainer.superclass.removeChild.apply(this, arguments);
-	if (this._beingDestroyed) {
-		return;
-	}
-	dojo.event.topic.publish(this.widgetId + "-removeChild", page);
-	this.onResized();
-	if (this.selectedChildWidget === page) {
-		this.selectedChildWidget = undefined;
-		if (this.children.length > 0) {
-			this.selectChild(this.children[0], true);
-		}
-	}
-}, selectChild:function (page, callingWidget) {
-	page = dojo.widget.byId(page);
-	this.correspondingPageButton = callingWidget;
-	if (this.selectedChildWidget) {
-		this._hideChild(this.selectedChildWidget);
-	}
-	this.selectedChildWidget = page;
-	this.selectedChild = page.widgetId;
-	this._showChild(page);
-	page.isFirstChild = (page == this.children[0]);
-	page.isLastChild = (page == this.children[this.children.length - 1]);
-	dojo.event.topic.publish(this.widgetId + "-selectChild", page);
-}, forward:function () {
-	var index = dojo.lang.find(this.children, this.selectedChildWidget);
-	this.selectChild(this.children[index + 1]);
-}, back:function () {
-	var index = dojo.lang.find(this.children, this.selectedChildWidget);
-	this.selectChild(this.children[index - 1]);
-}, onResized:function () {
-	if (this.doLayout && this.selectedChildWidget) {
-		with (this.selectedChildWidget.domNode.style) {
-			top = dojo.html.getPixelValue(this.containerNode, "padding-top", true);
-			left = dojo.html.getPixelValue(this.containerNode, "padding-left", true);
-		}
-		var content = dojo.html.getContentBox(this.containerNode);
-		this.selectedChildWidget.resizeTo(content.width, content.height);
-	}
-}, _showChild:function (page) {
-	if (this.doLayout) {
-		var content = dojo.html.getContentBox(this.containerNode);
-		page.resizeTo(content.width, content.height);
-	}
-	page.selected = true;
-	page.show();
-}, _hideChild:function (page) {
-	page.selected = false;
-	page.hide();
-}, closeChild:function (page) {
-	var remove = page.onClose(this, page);
-	if (remove) {
-		this.removeChild(page);
-		page.destroy();
-	}
-}, destroy:function () {
-	this._beingDestroyed = true;
-	dojo.event.topic.destroy(this.widgetId + "-addChild");
-	dojo.event.topic.destroy(this.widgetId + "-removeChild");
-	dojo.event.topic.destroy(this.widgetId + "-selectChild");
-	dojo.widget.PageContainer.superclass.destroy.apply(this, arguments);
-}});
-dojo.widget.defineWidget("dojo.widget.PageController", dojo.widget.HtmlWidget, {templateString:"<span wairole='tablist' dojoAttachEvent='onKey'></span>", isContainer:true, containerId:"", buttonWidget:"PageButton", "class":"dojoPageController", fillInTemplate:function () {
-	dojo.html.addClass(this.domNode, this["class"]);
-	dojo.widget.wai.setAttr(this.domNode, "waiRole", "role", "tablist");
-}, postCreate:function () {
-	this.pane2button = {};
-	var container = dojo.widget.byId(this.containerId);
-	if (container) {
-		dojo.lang.forEach(container.children, this.onAddChild, this);
-	}
-	dojo.event.topic.subscribe(this.containerId + "-addChild", this, "onAddChild");
-	dojo.event.topic.subscribe(this.containerId + "-removeChild", this, "onRemoveChild");
-	dojo.event.topic.subscribe(this.containerId + "-selectChild", this, "onSelectChild");
-}, destroy:function () {
-	dojo.event.topic.unsubscribe(this.containerId + "-addChild", this, "onAddChild");
-	dojo.event.topic.unsubscribe(this.containerId + "-removeChild", this, "onRemoveChild");
-	dojo.event.topic.unsubscribe(this.containerId + "-selectChild", this, "onSelectChild");
-	dojo.widget.PageController.superclass.destroy.apply(this, arguments);
-}, onAddChild:function (page) {
-	var button = dojo.widget.createWidget(this.buttonWidget, {label:page.label, closeButton:page.closable});
-	this.addChild(button);
-	this.domNode.appendChild(button.domNode);
-	this.pane2button[page] = button;
-	page.controlButton = button;
-	var _this = this;
-	dojo.event.connect(button, "onClick", function () {
-		_this.onButtonClick(page);
-	});
-	dojo.event.connect(button, "onCloseButtonClick", function () {
-		_this.onCloseButtonClick(page);
-	});
-}, onRemoveChild:function (page) {
-	if (this._currentChild == page) {
-		this._currentChild = null;
-	}
-	var button = this.pane2button[page];
-	if (button) {
-		button.destroy();
-	}
-	this.pane2button[page] = null;
-}, onSelectChild:function (page) {
-	if (this._currentChild) {
-		var oldButton = this.pane2button[this._currentChild];
-		oldButton.clearSelected();
-	}
-	var newButton = this.pane2button[page];
-	newButton.setSelected();
-	this._currentChild = page;
-}, onButtonClick:function (page) {
-	var container = dojo.widget.byId(this.containerId);
-	container.selectChild(page, false, this);
-}, onCloseButtonClick:function (page) {
-	var container = dojo.widget.byId(this.containerId);
-	container.closeChild(page);
-}, onKey:function (evt) {
-	if ((evt.keyCode == evt.KEY_RIGHT_ARROW) || (evt.keyCode == evt.KEY_LEFT_ARROW)) {
-		var current = 0;
-		var next = null;
-		var current = dojo.lang.find(this.children, this.pane2button[this._currentChild]);
-		if (evt.keyCode == evt.KEY_RIGHT_ARROW) {
-			next = this.children[(current + 1) % this.children.length];
-		} else {
-			next = this.children[(current + (this.children.length - 1)) % this.children.length];
-		}
-		dojo.event.browser.stopEvent(evt);
-		next.onClick();
-	}
-}});
-dojo.widget.defineWidget("dojo.widget.PageButton", dojo.widget.HtmlWidget, {templateString:"<span class='item'>" + "<span dojoAttachEvent='onClick' dojoAttachPoint='titleNode' class='selectButton'>${this.label}</span>" + "<span dojoAttachEvent='onClick:onCloseButtonClick' class='closeButton'>[X]</span>" + "</span>", label:"foo", closeButton:false, onClick:function () {
-	this.focus();
-}, onCloseButtonMouseOver:function () {
-	dojo.html.addClass(this.closeButtonNode, "closeHover");
-}, onCloseButtonMouseOut:function () {
-	dojo.html.removeClass(this.closeButtonNode, "closeHover");
-}, onCloseButtonClick:function (evt) {
-}, setSelected:function () {
-	dojo.html.addClass(this.domNode, "current");
-	this.titleNode.setAttribute("tabIndex", "0");
-}, clearSelected:function () {
-	dojo.html.removeClass(this.domNode, "current");
-	this.titleNode.setAttribute("tabIndex", "-1");
-}, focus:function () {
-	if (this.titleNode.focus) {
-		this.titleNode.focus();
-	}
-}});
-dojo.lang.extend(dojo.widget.Widget, {label:"", selected:false, closable:false, onClose:function () {
-	return true;
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Parse.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Parse.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Parse.js
deleted file mode 100644
index 504cdba..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Parse.js
+++ /dev/null
@@ -1,227 +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.Parse");
-dojo.require("dojo.widget.Manager");
-dojo.require("dojo.dom");
-dojo.widget.Parse = function (fragment) {
-	this.propertySetsList = [];
-	this.fragment = fragment;
-	this.createComponents = function (frag, parentComp) {
-		var comps = [];
-		var built = false;
-		try {
-			if (frag && frag.tagName && (frag != frag.nodeRef)) {
-				var djTags = dojo.widget.tags;
-				var tna = String(frag.tagName).split(";");
-				for (var x = 0; x < tna.length; x++) {
-					var ltn = tna[x].replace(/^\s+|\s+$/g, "").toLowerCase();
-					frag.tagName = ltn;
-					var ret;
-					if (djTags[ltn]) {
-						built = true;
-						ret = djTags[ltn](frag, this, parentComp, frag.index);
-						comps.push(ret);
-					} else {
-						if (ltn.indexOf(":") == -1) {
-							ltn = "dojo:" + ltn;
-						}
-						ret = dojo.widget.buildWidgetFromParseTree(ltn, frag, this, parentComp, frag.index);
-						if (ret) {
-							built = true;
-							comps.push(ret);
-						}
-					}
-				}
-			}
-		}
-		catch (e) {
-			dojo.debug("dojo.widget.Parse: error:", e);
-		}
-		if (!built) {
-			comps = comps.concat(this.createSubComponents(frag, parentComp));
-		}
-		return comps;
-	};
-	this.createSubComponents = function (fragment, parentComp) {
-		var frag, comps = [];
-		for (var item in fragment) {
-			frag = fragment[item];
-			if (frag && typeof frag == "object" && (frag != fragment.nodeRef) && (frag != fragment.tagName) && (!dojo.dom.isNode(frag))) {
-				comps = comps.concat(this.createComponents(frag, parentComp));
-			}
-		}
-		return comps;
-	};
-	this.parsePropertySets = function (fragment) {
-		return [];
-	};
-	this.parseProperties = function (fragment) {
-		var properties = {};
-		for (var item in fragment) {
-			if ((fragment[item] == fragment.tagName) || (fragment[item] == fragment.nodeRef)) {
-			} else {
-				var frag = fragment[item];
-				if (frag.tagName && dojo.widget.tags[frag.tagName.toLowerCase()]) {
-				} else {
-					if (frag[0] && frag[0].value != "" && frag[0].value != null) {
-						try {
-							if (item.toLowerCase() == "dataprovider") {
-								var _this = this;
-								this.getDataProvider(_this, frag[0].value);
-								properties.dataProvider = this.dataProvider;
-							}
-							properties[item] = frag[0].value;
-							var nestedProperties = this.parseProperties(frag);
-							for (var property in nestedProperties) {
-								properties[property] = nestedProperties[property];
-							}
-						}
-						catch (e) {
-							dojo.debug(e);
-						}
-					}
-				}
-				switch (item.toLowerCase()) {
-				  case "checked":
-				  case "disabled":
-					if (typeof properties[item] != "boolean") {
-						properties[item] = true;
-					}
-					break;
-				}
-			}
-		}
-		return properties;
-	};
-	this.getDataProvider = function (objRef, dataUrl) {
-		dojo.io.bind({url:dataUrl, load:function (type, evaldObj) {
-			if (type == "load") {
-				objRef.dataProvider = evaldObj;
-			}
-		}, mimetype:"text/javascript", sync:true});
-	};
-	this.getPropertySetById = function (propertySetId) {
-		for (var x = 0; x < this.propertySetsList.length; x++) {
-			if (propertySetId == this.propertySetsList[x]["id"][0].value) {
-				return this.propertySetsList[x];
-			}
-		}
-		return "";
-	};
-	this.getPropertySetsByType = function (componentType) {
-		var propertySets = [];
-		for (var x = 0; x < this.propertySetsList.length; x++) {
-			var cpl = this.propertySetsList[x];
-			var cpcc = cpl.componentClass || cpl.componentType || null;
-			var propertySetId = this.propertySetsList[x]["id"][0].value;
-			if (cpcc && (propertySetId == cpcc[0].value)) {
-				propertySets.push(cpl);
-			}
-		}
-		return propertySets;
-	};
-	this.getPropertySets = function (fragment) {
-		var ppl = "dojo:propertyproviderlist";
-		var propertySets = [];
-		var tagname = fragment.tagName;
-		if (fragment[ppl]) {
-			var propertyProviderIds = fragment[ppl].value.split(" ");
-			for (var propertySetId in propertyProviderIds) {
-				if ((propertySetId.indexOf("..") == -1) && (propertySetId.indexOf("://") == -1)) {
-					var propertySet = this.getPropertySetById(propertySetId);
-					if (propertySet != "") {
-						propertySets.push(propertySet);
-					}
-				} else {
-				}
-			}
-		}
-		return this.getPropertySetsByType(tagname).concat(propertySets);
-	};
-	this.createComponentFromScript = function (nodeRef, componentName, properties, ns) {
-		properties.fastMixIn = true;
-		var ltn = (ns || "dojo") + ":" + componentName.toLowerCase();
-		if (dojo.widget.tags[ltn]) {
-			return [dojo.widget.tags[ltn](properties, this, null, null, properties)];
-		}
-		return [dojo.widget.buildWidgetFromParseTree(ltn, properties, this, null, null, properties)];
-	};
-};
-dojo.widget._parser_collection = {"dojo":new dojo.widget.Parse()};
-dojo.widget.getParser = function (name) {
-	if (!name) {
-		name = "dojo";
-	}
-	if (!this._parser_collection[name]) {
-		this._parser_collection[name] = new dojo.widget.Parse();
-	}
-	return this._parser_collection[name];
-};
-dojo.widget.createWidget = function (name, props, refNode, position) {
-	var isNode = false;
-	var isNameStr = (typeof name == "string");
-	if (isNameStr) {
-		var pos = name.indexOf(":");
-		var ns = (pos > -1) ? name.substring(0, pos) : "dojo";
-		if (pos > -1) {
-			name = name.substring(pos + 1);
-		}
-		var lowerCaseName = name.toLowerCase();
-		var namespacedName = ns + ":" + lowerCaseName;
-		isNode = (dojo.byId(name) && !dojo.widget.tags[namespacedName]);
-	}
-	if ((arguments.length == 1) && (isNode || !isNameStr)) {
-		var xp = new dojo.xml.Parse();
-		var tn = isNode ? dojo.byId(name) : name;
-		return dojo.widget.getParser().createComponents(xp.parseElement(tn, null, true))[0];
-	}
-	function fromScript(placeKeeperNode, name, props, ns) {
-		props[namespacedName] = {dojotype:[{value:lowerCaseName}], nodeRef:placeKeeperNode, fastMixIn:true};
-		props.ns = ns;
-		return dojo.widget.getParser().createComponentFromScript(placeKeeperNode, name, props, ns);
-	}
-	props = props || {};
-	var notRef = false;
-	var tn = null;
-	var h = dojo.render.html.capable;
-	if (h) {
-		tn = document.createElement("span");
-	}
-	if (!refNode) {
-		notRef = true;
-		refNode = tn;
-		if (h) {
-			dojo.body().appendChild(refNode);
-		}
-	} else {
-		if (position) {
-			dojo.dom.insertAtPosition(tn, refNode, position);
-		} else {
-			tn = refNode;
-		}
-	}
-	var widgetArray = fromScript(tn, name.toLowerCase(), props, ns);
-	if ((!widgetArray) || (!widgetArray[0]) || (typeof widgetArray[0].widgetType == "undefined")) {
-		throw new Error("createWidget: Creation of \"" + name + "\" widget failed.");
-	}
-	try {
-		if (notRef && widgetArray[0].domNode.parentNode) {
-			widgetArray[0].domNode.parentNode.removeChild(widgetArray[0].domNode);
-		}
-	}
-	catch (e) {
-		dojo.debug(e);
-	}
-	return widgetArray[0];
-};
-