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

[21/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/Editor2Toolbar.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Editor2Toolbar.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Editor2Toolbar.js
deleted file mode 100644
index 38883f5..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Editor2Toolbar.js
+++ /dev/null
@@ -1,496 +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.Editor2Toolbar");
-dojo.require("dojo.lang.*");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.html.layout");
-dojo.require("dojo.html.display");
-dojo.require("dojo.widget.RichText");
-dojo.require("dojo.widget.PopupContainer");
-dojo.require("dojo.widget.ColorPalette");
-dojo.lang.declare("dojo.widget.HandlerManager", null, function () {
-	this._registeredHandlers = [];
-}, {registerHandler:function (obj, func) {
-	if (arguments.length == 2) {
-		this._registeredHandlers.push(function () {
-			return obj[func].apply(obj, arguments);
-		});
-	} else {
-		this._registeredHandlers.push(obj);
-	}
-}, removeHandler:function (func) {
-	for (var i = 0; i < this._registeredHandlers.length; i++) {
-		if (func === this._registeredHandlers[i]) {
-			delete this._registeredHandlers[i];
-			return;
-		}
-	}
-	dojo.debug("HandlerManager handler " + func + " is not registered, can not remove.");
-}, destroy:function () {
-	for (var i = 0; i < this._registeredHandlers.length; i++) {
-		delete this._registeredHandlers[i];
-	}
-}});
-dojo.widget.Editor2ToolbarItemManager = new dojo.widget.HandlerManager;
-dojo.lang.mixin(dojo.widget.Editor2ToolbarItemManager, {getToolbarItem:function (name) {
-	var item;
-	name = name.toLowerCase();
-	for (var i = 0; i < this._registeredHandlers.length; i++) {
-		item = this._registeredHandlers[i](name);
-		if (item) {
-			return item;
-		}
-	}
-	switch (name) {
-	  case "bold":
-	  case "copy":
-	  case "cut":
-	  case "delete":
-	  case "indent":
-	  case "inserthorizontalrule":
-	  case "insertorderedlist":
-	  case "insertunorderedlist":
-	  case "italic":
-	  case "justifycenter":
-	  case "justifyfull":
-	  case "justifyleft":
-	  case "justifyright":
-	  case "outdent":
-	  case "paste":
-	  case "redo":
-	  case "removeformat":
-	  case "selectall":
-	  case "strikethrough":
-	  case "subscript":
-	  case "superscript":
-	  case "underline":
-	  case "undo":
-	  case "unlink":
-	  case "createlink":
-	  case "insertimage":
-	  case "htmltoggle":
-		item = new dojo.widget.Editor2ToolbarButton(name);
-		break;
-	  case "forecolor":
-	  case "hilitecolor":
-		item = new dojo.widget.Editor2ToolbarColorPaletteButton(name);
-		break;
-	  case "plainformatblock":
-		item = new dojo.widget.Editor2ToolbarFormatBlockPlainSelect("formatblock");
-		break;
-	  case "formatblock":
-		item = new dojo.widget.Editor2ToolbarFormatBlockSelect("formatblock");
-		break;
-	  case "fontsize":
-		item = new dojo.widget.Editor2ToolbarFontSizeSelect("fontsize");
-		break;
-	  case "fontname":
-		item = new dojo.widget.Editor2ToolbarFontNameSelect("fontname");
-		break;
-	  case "inserttable":
-	  case "insertcell":
-	  case "insertcol":
-	  case "insertrow":
-	  case "deletecells":
-	  case "deletecols":
-	  case "deleterows":
-	  case "mergecells":
-	  case "splitcell":
-		dojo.debug(name + " is implemented in dojo.widget.Editor2Plugin.TableOperation, please require it first.");
-		break;
-	  case "inserthtml":
-	  case "blockdirltr":
-	  case "blockdirrtl":
-	  case "dirltr":
-	  case "dirrtl":
-	  case "inlinedirltr":
-	  case "inlinedirrtl":
-		dojo.debug("Not yet implemented toolbar item: " + name);
-		break;
-	  default:
-		dojo.debug("dojo.widget.Editor2ToolbarItemManager.getToolbarItem: Unknown toolbar item: " + name);
-	}
-	return item;
-}});
-dojo.addOnUnload(dojo.widget.Editor2ToolbarItemManager, "destroy");
-dojo.declare("dojo.widget.Editor2ToolbarButton", null, function (name) {
-	this._name = name;
-}, {create:function (node, toolbar, nohover) {
-	this._domNode = node;
-	var cmd = toolbar.parent.getCommand(this._name);
-	if (cmd) {
-		this._domNode.title = cmd.getText();
-	}
-	this.disableSelection(this._domNode);
-	this._parentToolbar = toolbar;
-	dojo.event.connect(this._domNode, "onclick", this, "onClick");
-	if (!nohover) {
-		dojo.event.connect(this._domNode, "onmouseover", this, "onMouseOver");
-		dojo.event.connect(this._domNode, "onmouseout", this, "onMouseOut");
-	}
-}, disableSelection:function (rootnode) {
-	dojo.html.disableSelection(rootnode);
-	var nodes = rootnode.all || rootnode.getElementsByTagName("*");
-	for (var x = 0; x < nodes.length; x++) {
-		dojo.html.disableSelection(nodes[x]);
-	}
-}, onMouseOver:function () {
-	var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-	if (curInst) {
-		var _command = curInst.getCommand(this._name);
-		if (_command && _command.getState() != dojo.widget.Editor2Manager.commandState.Disabled) {
-			this.highlightToolbarItem();
-		}
-	}
-}, onMouseOut:function () {
-	this.unhighlightToolbarItem();
-}, destroy:function () {
-	this._domNode = null;
-	this._parentToolbar = null;
-}, onClick:function (e) {
-	if (this._domNode && !this._domNode.disabled && this._parentToolbar.checkAvailability()) {
-		e.preventDefault();
-		e.stopPropagation();
-		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-		if (curInst) {
-			var _command = curInst.getCommand(this._name);
-			if (_command) {
-				_command.execute();
-			}
-		}
-	}
-}, refreshState:function () {
-	var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-	var em = dojo.widget.Editor2Manager;
-	if (curInst) {
-		var _command = curInst.getCommand(this._name);
-		if (_command) {
-			var state = _command.getState();
-			if (state != this._lastState) {
-				switch (state) {
-				  case em.commandState.Latched:
-					this.latchToolbarItem();
-					break;
-				  case em.commandState.Enabled:
-					this.enableToolbarItem();
-					break;
-				  case em.commandState.Disabled:
-				  default:
-					this.disableToolbarItem();
-				}
-				this._lastState = state;
-			}
-		}
-	}
-	return em.commandState.Enabled;
-}, latchToolbarItem:function () {
-	this._domNode.disabled = false;
-	this.removeToolbarItemStyle(this._domNode);
-	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarLatchedItemStyle);
-}, enableToolbarItem:function () {
-	this._domNode.disabled = false;
-	this.removeToolbarItemStyle(this._domNode);
-	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarEnabledItemStyle);
-}, disableToolbarItem:function () {
-	this._domNode.disabled = true;
-	this.removeToolbarItemStyle(this._domNode);
-	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarDisabledItemStyle);
-}, highlightToolbarItem:function () {
-	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarHighlightedItemStyle);
-}, unhighlightToolbarItem:function () {
-	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarHighlightedItemStyle);
-}, removeToolbarItemStyle:function () {
-	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarEnabledItemStyle);
-	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarLatchedItemStyle);
-	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarDisabledItemStyle);
-	this.unhighlightToolbarItem();
-}});
-dojo.declare("dojo.widget.Editor2ToolbarDropDownButton", dojo.widget.Editor2ToolbarButton, {onClick:function () {
-	if (this._domNode && !this._domNode.disabled && this._parentToolbar.checkAvailability()) {
-		if (!this._dropdown) {
-			this._dropdown = dojo.widget.createWidget("PopupContainer", {});
-			this._domNode.appendChild(this._dropdown.domNode);
-		}
-		if (this._dropdown.isShowingNow) {
-			this._dropdown.close();
-		} else {
-			this.onDropDownShown();
-			this._dropdown.open(this._domNode, null, this._domNode);
-		}
-	}
-}, destroy:function () {
-	this.onDropDownDestroy();
-	if (this._dropdown) {
-		this._dropdown.destroy();
-	}
-	dojo.widget.Editor2ToolbarDropDownButton.superclass.destroy.call(this);
-}, onDropDownShown:function () {
-}, onDropDownDestroy:function () {
-}});
-dojo.declare("dojo.widget.Editor2ToolbarColorPaletteButton", dojo.widget.Editor2ToolbarDropDownButton, {onDropDownShown:function () {
-	if (!this._colorpalette) {
-		this._colorpalette = dojo.widget.createWidget("ColorPalette", {});
-		this._dropdown.addChild(this._colorpalette);
-		this.disableSelection(this._dropdown.domNode);
-		this.disableSelection(this._colorpalette.domNode);
-		dojo.event.connect(this._colorpalette, "onColorSelect", this, "setColor");
-		dojo.event.connect(this._dropdown, "open", this, "latchToolbarItem");
-		dojo.event.connect(this._dropdown, "close", this, "enableToolbarItem");
-	}
-}, setColor:function (color) {
-	this._dropdown.close();
-	var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-	if (curInst) {
-		var _command = curInst.getCommand(this._name);
-		if (_command) {
-			_command.execute(color);
-		}
-	}
-}});
-dojo.declare("dojo.widget.Editor2ToolbarFormatBlockPlainSelect", dojo.widget.Editor2ToolbarButton, {create:function (node, toolbar) {
-	this._domNode = node;
-	this._parentToolbar = toolbar;
-	this._domNode = node;
-	this.disableSelection(this._domNode);
-	dojo.event.connect(this._domNode, "onchange", this, "onChange");
-}, destroy:function () {
-	this._domNode = null;
-}, onChange:function () {
-	if (this._parentToolbar.checkAvailability()) {
-		var sv = this._domNode.value.toLowerCase();
-		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-		if (curInst) {
-			var _command = curInst.getCommand(this._name);
-			if (_command) {
-				_command.execute(sv);
-			}
-		}
-	}
-}, refreshState:function () {
-	if (this._domNode) {
-		dojo.widget.Editor2ToolbarFormatBlockPlainSelect.superclass.refreshState.call(this);
-		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-		if (curInst) {
-			var _command = curInst.getCommand(this._name);
-			if (_command) {
-				var format = _command.getValue();
-				if (!format) {
-					format = "";
-				}
-				dojo.lang.forEach(this._domNode.options, function (item) {
-					if (item.value.toLowerCase() == format.toLowerCase()) {
-						item.selected = true;
-					}
-				});
-			}
-		}
-	}
-}});
-dojo.declare("dojo.widget.Editor2ToolbarComboItem", dojo.widget.Editor2ToolbarDropDownButton, {href:null, create:function (node, toolbar) {
-	dojo.widget.Editor2ToolbarComboItem.superclass.create.apply(this, arguments);
-	if (!this._contentPane) {
-		dojo.require("dojo.widget.ContentPane");
-		this._contentPane = dojo.widget.createWidget("ContentPane", {preload:"true"});
-		this._contentPane.addOnLoad(this, "setup");
-		this._contentPane.setUrl(this.href);
-	}
-}, onMouseOver:function (e) {
-	if (this._lastState != dojo.widget.Editor2Manager.commandState.Disabled) {
-		dojo.html.addClass(e.currentTarget, this._parentToolbar.ToolbarHighlightedSelectStyle);
-	}
-}, onMouseOut:function (e) {
-	dojo.html.removeClass(e.currentTarget, this._parentToolbar.ToolbarHighlightedSelectStyle);
-}, onDropDownShown:function () {
-	if (!this._dropdown.__addedContentPage) {
-		this._dropdown.addChild(this._contentPane);
-		this._dropdown.__addedContentPage = true;
-	}
-}, setup:function () {
-}, onChange:function (e) {
-	if (this._parentToolbar.checkAvailability()) {
-		var name = e.currentTarget.getAttribute("dropDownItemName");
-		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-		if (curInst) {
-			var _command = curInst.getCommand(this._name);
-			if (_command) {
-				_command.execute(name);
-			}
-		}
-	}
-	this._dropdown.close();
-}, onMouseOverItem:function (e) {
-	dojo.html.addClass(e.currentTarget, this._parentToolbar.ToolbarHighlightedSelectItemStyle);
-}, onMouseOutItem:function (e) {
-	dojo.html.removeClass(e.currentTarget, this._parentToolbar.ToolbarHighlightedSelectItemStyle);
-}});
-dojo.declare("dojo.widget.Editor2ToolbarFormatBlockSelect", dojo.widget.Editor2ToolbarComboItem, {href:dojo.uri.moduleUri("dojo.widget", "templates/Editor2/EditorToolbar_FormatBlock.html"), setup:function () {
-	dojo.widget.Editor2ToolbarFormatBlockSelect.superclass.setup.call(this);
-	var nodes = this._contentPane.domNode.all || this._contentPane.domNode.getElementsByTagName("*");
-	this._blockNames = {};
-	this._blockDisplayNames = {};
-	for (var x = 0; x < nodes.length; x++) {
-		var node = nodes[x];
-		dojo.html.disableSelection(node);
-		var name = node.getAttribute("dropDownItemName");
-		if (name) {
-			this._blockNames[name] = node;
-			var childrennodes = node.getElementsByTagName(name);
-			this._blockDisplayNames[name] = childrennodes[childrennodes.length - 1].innerHTML;
-		}
-	}
-	for (var name in this._blockNames) {
-		dojo.event.connect(this._blockNames[name], "onclick", this, "onChange");
-		dojo.event.connect(this._blockNames[name], "onmouseover", this, "onMouseOverItem");
-		dojo.event.connect(this._blockNames[name], "onmouseout", this, "onMouseOutItem");
-	}
-}, onDropDownDestroy:function () {
-	if (this._blockNames) {
-		for (var name in this._blockNames) {
-			delete this._blockNames[name];
-			delete this._blockDisplayNames[name];
-		}
-	}
-}, refreshState:function () {
-	dojo.widget.Editor2ToolbarFormatBlockSelect.superclass.refreshState.call(this);
-	if (this._lastState != dojo.widget.Editor2Manager.commandState.Disabled) {
-		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-		if (curInst) {
-			var _command = curInst.getCommand(this._name);
-			if (_command) {
-				var format = _command.getValue();
-				if (format == this._lastSelectedFormat && this._blockDisplayNames) {
-					return this._lastState;
-				}
-				this._lastSelectedFormat = format;
-				var label = this._domNode.getElementsByTagName("label")[0];
-				var isSet = false;
-				if (this._blockDisplayNames) {
-					for (var name in this._blockDisplayNames) {
-						if (name == format) {
-							label.innerHTML = this._blockDisplayNames[name];
-							isSet = true;
-							break;
-						}
-					}
-					if (!isSet) {
-						label.innerHTML = "&nbsp;";
-					}
-				}
-			}
-		}
-	}
-	return this._lastState;
-}});
-dojo.declare("dojo.widget.Editor2ToolbarFontSizeSelect", dojo.widget.Editor2ToolbarComboItem, {href:dojo.uri.moduleUri("dojo.widget", "templates/Editor2/EditorToolbar_FontSize.html"), setup:function () {
-	dojo.widget.Editor2ToolbarFormatBlockSelect.superclass.setup.call(this);
-	var nodes = this._contentPane.domNode.all || this._contentPane.domNode.getElementsByTagName("*");
-	this._fontsizes = {};
-	this._fontSizeDisplayNames = {};
-	for (var x = 0; x < nodes.length; x++) {
-		var node = nodes[x];
-		dojo.html.disableSelection(node);
-		var name = node.getAttribute("dropDownItemName");
-		if (name) {
-			this._fontsizes[name] = node;
-			this._fontSizeDisplayNames[name] = node.getElementsByTagName("font")[0].innerHTML;
-		}
-	}
-	for (var name in this._fontsizes) {
-		dojo.event.connect(this._fontsizes[name], "onclick", this, "onChange");
-		dojo.event.connect(this._fontsizes[name], "onmouseover", this, "onMouseOverItem");
-		dojo.event.connect(this._fontsizes[name], "onmouseout", this, "onMouseOutItem");
-	}
-}, onDropDownDestroy:function () {
-	if (this._fontsizes) {
-		for (var name in this._fontsizes) {
-			delete this._fontsizes[name];
-			delete this._fontSizeDisplayNames[name];
-		}
-	}
-}, refreshState:function () {
-	dojo.widget.Editor2ToolbarFormatBlockSelect.superclass.refreshState.call(this);
-	if (this._lastState != dojo.widget.Editor2Manager.commandState.Disabled) {
-		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-		if (curInst) {
-			var _command = curInst.getCommand(this._name);
-			if (_command) {
-				var size = _command.getValue();
-				if (size == this._lastSelectedSize && this._fontSizeDisplayNames) {
-					return this._lastState;
-				}
-				this._lastSelectedSize = size;
-				var label = this._domNode.getElementsByTagName("label")[0];
-				var isSet = false;
-				if (this._fontSizeDisplayNames) {
-					for (var name in this._fontSizeDisplayNames) {
-						if (name == size) {
-							label.innerHTML = this._fontSizeDisplayNames[name];
-							isSet = true;
-							break;
-						}
-					}
-					if (!isSet) {
-						label.innerHTML = "&nbsp;";
-					}
-				}
-			}
-		}
-	}
-	return this._lastState;
-}});
-dojo.declare("dojo.widget.Editor2ToolbarFontNameSelect", dojo.widget.Editor2ToolbarFontSizeSelect, {href:dojo.uri.moduleUri("dojo.widget", "templates/Editor2/EditorToolbar_FontName.html")});
-dojo.widget.defineWidget("dojo.widget.Editor2Toolbar", dojo.widget.HtmlWidget, function () {
-	dojo.event.connect(this, "fillInTemplate", dojo.lang.hitch(this, function () {
-		if (dojo.render.html.ie) {
-			this.domNode.style.zoom = 1;
-		}
-	}));
-}, {templateString:"<div dojoAttachPoint=\"domNode\" class=\"EditorToolbarDomNode\" unselectable=\"on\">\n\t<table cellpadding=\"3\" cellspacing=\"0\" border=\"0\">\n\t\t<!--\n\t\t\tour toolbar should look something like:\n\n\t\t\t+=======+=======+=======+=============================================+\n\t\t\t| w   w | style | copy  | bo | it | un | le | ce | ri |\n\t\t\t| w w w | style |=======|==============|==============|\n\t\t\t|  w w  | style | paste |  undo | redo | change style |\n\t\t\t+=======+=======+=======+=============================================+\n\t\t-->\n\t\t<tbody>\n\t\t\t<tr valign=\"top\">\n\t\t\t\t<td rowspan=\"2\">\n\t\t\t\t\t<div class=\"bigIcon\" dojoAttachPoint=\"wikiWordButton\"\n\t\t\t\t\t\tdojoOnClick=\"wikiWordClick; buttonClick;\">\n\t\t\t\t\t\t<span style=\"font-size: 30px; margin-left: 5px;\">\n\t\t\t\t\t\t\tW\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t\t<td rowspan=\"2\">\n\t\t\t\t\t<div class=\"bigIcon\" dojoAttachPoint=\"styleD
 ropdownButton\"\n\t\t\t\t\t\tdojoOnClick=\"styleDropdownClick; buttonClick;\">\n\t\t\t\t\t\t<span unselectable=\"on\"\n\t\t\t\t\t\t\tstyle=\"font-size: 30px; margin-left: 5px;\">\n\t\t\t\t\t\t\tS\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"StyleDropdownContainer\" style=\"display: none;\"\n\t\t\t\t\t\tdojoAttachPoint=\"styleDropdownContainer\">\n\t\t\t\t\t\t<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"\n\t\t\t\t\t\t\theight=\"100%\" width=\"100%\">\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td rowspan=\"2\">\n\t\t\t\t\t\t\t\t\t<div style=\"height: 245px; overflow: auto;\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"normalTextClick\">normal</div>\n\t\t\t\t\t\t\t\t\t\t<h1 class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"h1TextClick\">Heading 1</h1>\n\t\t\t\t\t\t\t\t\t\t<h2 class=\"headingContainer\"\n
 \t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"h2TextClick\">Heading 2</h2>\n\t\t\t\t\t\t\t\t\t\t<h3 class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"h3TextClick\">Heading 3</h3>\n\t\t\t\t\t\t\t\t\t\t<h4 class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"h4TextClick\">Heading 4</h4>\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"blahTextClick\">blah</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"blahTextClick\">blah</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\"\n\t\t\t\t\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\t\t\t\t\tdojoOnClick=\"blahTextClick\">blah</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\">blah</div>\n\t\t\t\t\t\t\t\t\t\t<d
 iv class=\"headingContainer\">blah</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\">blah</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"headingContainer\">blah</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<!--\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<span class=\"iconContainer\" dojoOnClick=\"buttonClick;\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"icon justifyleft\" \n\t\t\t\t\t\t\t\t\t\t\tstyle=\"float: left;\">&nbsp;</span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span class=\"iconContainer\" dojoOnClick=\"buttonClick;\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"icon justifycenter\" \n\t\t\t\t\t\t\t\t\t\t\tstyle=\"float: left;\">&nbsp;</span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span class=\"iconContainer\" dojoOnClick=\"buttonClick;\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"icon justifyright\" \n\t\t\t\t\t\t\t\t\t\t\tstyle=\"float: left;\">&nbsp;</span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span class=\"iconContainer\" dojoOnClick=\"button
 Click;\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"icon justifyfull\" \n\t\t\t\t\t\t\t\t\t\t\tstyle=\"float: left;\">&nbsp;</span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t-->\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\tthud\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t\t<td>\n\t\t\t\t\t<!-- copy -->\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"copyButton\"\n\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\tdojoOnClick=\"copyClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon copy\" \n\t\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\t\tstyle=\"float: left;\">&nbsp;</span> copy\n\t\t\t\t\t</span>\n\t\t\t\t\t<!-- \"droppable\" options -->\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"boldButton\"\n\t\t\t\t\t\tunselectable=\"on\"\n\t\t\t\t\t\tdojoOnClick=\"boldClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon bold\" unselectabl
 e=\"on\">&nbsp;</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"italicButton\"\n\t\t\t\t\t\tdojoOnClick=\"italicClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon italic\" unselectable=\"on\">&nbsp;</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"underlineButton\"\n\t\t\t\t\t\tdojoOnClick=\"underlineClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon underline\" unselectable=\"on\">&nbsp;</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"leftButton\"\n\t\t\t\t\t\tdojoOnClick=\"leftClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon justifyleft\" unselectable=\"on\">&nbsp;</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"fullButton\"\n\t\t\t\t\t\tdojoOnClick=\"fullClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon justifyfull\" unselectable=\"on\">&nbsp;</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"iconContainer\" dojoAtt
 achPoint=\"rightButton\"\n\t\t\t\t\t\tdojoOnClick=\"rightClick; buttonClick;\">\n\t\t\t\t\t\t<span class=\"icon justifyright\" unselectable=\"on\">&nbsp;</span>\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>\n\t\t\t\t\t<!-- paste -->\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"pasteButton\"\n\t\t\t\t\t\tdojoOnClick=\"pasteClick; buttonClick;\" unselectable=\"on\">\n\t\t\t\t\t\t<span class=\"icon paste\" style=\"float: left;\" unselectable=\"on\">&nbsp;</span> paste\n\t\t\t\t\t</span>\n\t\t\t\t\t<!-- \"droppable\" options -->\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"undoButton\"\n\t\t\t\t\t\tdojoOnClick=\"undoClick; buttonClick;\" unselectable=\"on\">\n\t\t\t\t\t\t<span class=\"icon undo\" style=\"float: left;\" unselectable=\"on\">&nbsp;</span> undo\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"iconContainer\" dojoAttachPoint=\"redoButton\"\n\t\t\t\t\t\tdojoOnClick=\"redoClick; buttonClick;\" unselectable=\"on\">\n\t\t\t\t\t\t
 <span class=\"icon redo\" style=\"float: left;\" unselectable=\"on\">&nbsp;</span> redo\n\t\t\t\t\t</span>\n\t\t\t\t</td>\t\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n", templateCssString:".StyleDropdownContainer {\n\tposition: absolute;\n\tz-index: 1000;\n\toverflow: auto;\n\tcursor: default;\n\twidth: 250px;\n\theight: 250px;\n\tbackground-color: white;\n\tborder: 1px solid black;\n}\n\n.ColorDropdownContainer {\n\tposition: absolute;\n\tz-index: 1000;\n\toverflow: auto;\n\tcursor: default;\n\twidth: 250px;\n\theight: 150px;\n\tbackground-color: white;\n\tborder: 1px solid black;\n}\n\n.EditorToolbarDomNode {\n\tbackground-image: url(buttons/bg-fade.png);\n\tbackground-repeat: repeat-x;\n\tbackground-position: 0px -50px;\n}\n\n.EditorToolbarSmallBg {\n\tbackground-image: url(images/toolbar-bg.gif);\n\tbackground-repeat: repeat-x;\n\tbackground-position: 0px 0px;\n}\n\n/*\nbody {\n\tbackground:url(images/blank.gif) fixed;\n}*/\n\n.IEFixedToolbar {\n\tposition:absolute;\n\t/* t
 op:0; */\n\ttop: expression(eval((document.documentElement||document.body).scrollTop));\n}\n\ndiv.bigIcon {\n\twidth: 40px;\n\theight: 40px; \n\t/* background-color: white; */\n\t/* border: 1px solid #a6a7a3; */\n\tfont-family: Verdana, Trebuchet, Tahoma, Arial;\n}\n\n.iconContainer {\n\tfont-family: Verdana, Trebuchet, Tahoma, Arial;\n\tfont-size: 13px;\n\tfloat: left;\n\theight: 18px;\n\tdisplay: block;\n\t/* background-color: white; */\n\tcursor: pointer;\n\tpadding: 1px 4px 1px 1px; /* almost the same as a transparent border */\n\tborder: 0px;\n}\n\n.dojoE2TBIcon {\n\tdisplay: block;\n\ttext-align: center;\n\tmin-width: 18px;\n\twidth: 18px;\n\theight: 18px;\n\t/* background-color: #a6a7a3; */\n\tbackground-repeat: no-repeat;\n\tbackground-image: url(buttons/aggregate.gif);\n}\n\n\n.dojoE2TBIcon[class~=dojoE2TBIcon] {\n}\n\n.ToolbarButtonLatched {\n	border: #316ac5 1px solid; !important;\n	padding: 0px 3px 0px 0px; !important; /* make room for border */\n	background-color: #c1d2
 ee;\n}\n\n.ToolbarButtonHighlighted {\n	border: #316ac5 1px solid; !important;\n	padding: 0px 3px 0px 0px; !important; /* make room for border */\n	background-color: #dff1ff;\n}\n\n.ToolbarButtonDisabled{\n	filter: gray() alpha(opacity=30); /* IE */\n	opacity: 0.30; /* Safari, Opera and Mozilla */\n}\n\n.headingContainer {\n\twidth: 150px;\n\theight: 30px;\n\tmargin: 0px;\n\t/* padding-left: 5px; */\n\toverflow: hidden;\n\tline-height: 25px;\n\tborder-bottom: 1px solid black;\n\tborder-top: 1px solid white;\n}\n\n.EditorToolbarDomNode select {\n\tfont-size: 14px;\n}\n \n.dojoE2TBIcon_Sep { width: 5px; min-width: 5px; max-width: 5px; background-position: 0px 0px}\n.dojoE2TBIcon_Backcolor { background-position: -18px 0px}\n.dojoE2TBIcon_Bold { background-position: -36px 0px}\n.dojoE2TBIcon_Cancel { background-position: -54px 0px}\n.dojoE2TBIcon_Copy { background-position: -72px 0px}\n.dojoE2TBIcon_Link { background-position: -90px 0px}\n.dojoE2TBIcon_Cut { background-position: -108px 
 0px}\n.dojoE2TBIcon_Delete { background-position: -126px 0px}\n.dojoE2TBIcon_TextColor { background-position: -144px 0px}\n.dojoE2TBIcon_BackgroundColor { background-position: -162px 0px}\n.dojoE2TBIcon_Indent { background-position: -180px 0px}\n.dojoE2TBIcon_HorizontalLine { background-position: -198px 0px}\n.dojoE2TBIcon_Image { background-position: -216px 0px}\n.dojoE2TBIcon_NumberedList { background-position: -234px 0px}\n.dojoE2TBIcon_Table { background-position: -252px 0px}\n.dojoE2TBIcon_BulletedList { background-position: -270px 0px}\n.dojoE2TBIcon_Italic { background-position: -288px 0px}\n.dojoE2TBIcon_CenterJustify { background-position: -306px 0px}\n.dojoE2TBIcon_BlockJustify { background-position: -324px 0px}\n.dojoE2TBIcon_LeftJustify { background-position: -342px 0px}\n.dojoE2TBIcon_RightJustify { background-position: -360px 0px}\n.dojoE2TBIcon_left_to_right { background-position: -378px 0px}\n.dojoE2TBIcon_list_bullet_indent { background-position: -396px 0px}\n.dojoE
 2TBIcon_list_bullet_outdent { background-position: -414px 0px}\n.dojoE2TBIcon_list_num_indent { background-position: -432px 0px}\n.dojoE2TBIcon_list_num_outdent { background-position: -450px 0px}\n.dojoE2TBIcon_Outdent { background-position: -468px 0px}\n.dojoE2TBIcon_Paste { background-position: -486px 0px}\n.dojoE2TBIcon_Redo { background-position: -504px 0px}\ndojoE2TBIcon_RemoveFormat { background-position: -522px 0px}\n.dojoE2TBIcon_right_to_left { background-position: -540px 0px}\n.dojoE2TBIcon_Save { background-position: -558px 0px}\n.dojoE2TBIcon_Space { background-position: -576px 0px}\n.dojoE2TBIcon_StrikeThrough { background-position: -594px 0px}\n.dojoE2TBIcon_Subscript { background-position: -612px 0px}\n.dojoE2TBIcon_Superscript { background-position: -630px 0px}\n.dojoE2TBIcon_Underline { background-position: -648px 0px}\n.dojoE2TBIcon_Undo { background-position: -666px 0px}\n.dojoE2TBIcon_WikiWord { background-position: -684px 0px}\n\n", templateCssPath:dojo.uri.modu
 leUri("dojo.widget", "templates/EditorToolbar.css"), ToolbarLatchedItemStyle:"ToolbarButtonLatched", ToolbarEnabledItemStyle:"ToolbarButtonEnabled", ToolbarDisabledItemStyle:"ToolbarButtonDisabled", ToolbarHighlightedItemStyle:"ToolbarButtonHighlighted", ToolbarHighlightedSelectStyle:"ToolbarSelectHighlighted", ToolbarHighlightedSelectItemStyle:"ToolbarSelectHighlightedItem", postCreate:function () {
-	var nodes = dojo.html.getElementsByClass("dojoEditorToolbarItem", this.domNode);
-	this.items = {};
-	for (var x = 0; x < nodes.length; x++) {
-		var node = nodes[x];
-		var itemname = node.getAttribute("dojoETItemName");
-		if (itemname) {
-			var item = dojo.widget.Editor2ToolbarItemManager.getToolbarItem(itemname);
-			if (item) {
-				item.create(node, this);
-				this.items[itemname.toLowerCase()] = item;
-			} else {
-				node.style.display = "none";
-			}
-		}
-	}
-}, update:function () {
-	for (var cmd in this.items) {
-		this.items[cmd].refreshState();
-	}
-}, shareGroup:"", checkAvailability:function () {
-	if (!this.shareGroup) {
-		this.parent.focus();
-		return true;
-	}
-	var curInst = dojo.widget.Editor2Manager.getCurrentInstance();
-	if (this.shareGroup == curInst.toolbarGroup) {
-		return true;
-	}
-	return false;
-}, destroy:function () {
-	for (var it in this.items) {
-		this.items[it].destroy();
-		delete this.items[it];
-	}
-	dojo.widget.Editor2Toolbar.superclass.destroy.call(this);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FilteringTable.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FilteringTable.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FilteringTable.js
deleted file mode 100644
index 4969db2..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FilteringTable.js
+++ /dev/null
@@ -1,710 +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.FilteringTable");
-dojo.require("dojo.date.format");
-dojo.require("dojo.math");
-dojo.require("dojo.collections.Store");
-dojo.require("dojo.html.*");
-dojo.require("dojo.html.util");
-dojo.require("dojo.html.style");
-dojo.require("dojo.html.selection");
-dojo.require("dojo.event.*");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.widget.defineWidget("dojo.widget.FilteringTable", dojo.widget.HtmlWidget, function () {
-	this.store = new dojo.collections.Store();
-	this.valueField = "Id";
-	this.multiple = false;
-	this.maxSelect = 0;
-	this.maxSortable = 1;
-	this.minRows = 0;
-	this.defaultDateFormat = "%D";
-	this.isInitialized = false;
-	this.alternateRows = false;
-	this.columns = [];
-	this.sortInformation = [{index:0, direction:0}];
-	this.headClass = "";
-	this.tbodyClass = "";
-	this.headerClass = "";
-	this.headerUpClass = "selectedUp";
-	this.headerDownClass = "selectedDown";
-	this.rowClass = "";
-	this.rowAlternateClass = "alt";
-	this.rowSelectedClass = "selected";
-	this.columnSelected = "sorted-column";
-}, {isContainer:false, templatePath:null, templateCssPath:null, getTypeFromString:function (s) {
-	var parts = s.split("."), i = 0, obj = dj_global;
-	do {
-		obj = obj[parts[i++]];
-	} while (i < parts.length && obj);
-	return (obj != dj_global) ? obj : null;
-}, getByRow:function (row) {
-	return this.store.getByKey(dojo.html.getAttribute(row, "value"));
-}, getDataByRow:function (row) {
-	return this.store.getDataByKey(dojo.html.getAttribute(row, "value"));
-}, getRow:function (obj) {
-	var rows = this.domNode.tBodies[0].rows;
-	for (var i = 0; i < rows.length; i++) {
-		if (this.store.getDataByKey(dojo.html.getAttribute(rows[i], "value")) == obj) {
-			return rows[i];
-		}
-	}
-	return null;
-}, getColumnIndex:function (fieldPath) {
-	for (var i = 0; i < this.columns.length; i++) {
-		if (this.columns[i].getField() == fieldPath) {
-			return i;
-		}
-	}
-	return -1;
-}, getSelectedData:function () {
-	var data = this.store.get();
-	var a = [];
-	for (var i = 0; i < data.length; i++) {
-		if (data[i].isSelected) {
-			a.push(data[i].src);
-		}
-	}
-	if (this.multiple) {
-		return a;
-	} else {
-		return a[0];
-	}
-}, isSelected:function (obj) {
-	var data = this.store.get();
-	for (var i = 0; i < data.length; i++) {
-		if (data[i].src == obj) {
-			return true;
-		}
-	}
-	return false;
-}, isValueSelected:function (val) {
-	var v = this.store.getByKey(val);
-	if (v) {
-		return v.isSelected;
-	}
-	return false;
-}, isIndexSelected:function (idx) {
-	var v = this.store.getByIndex(idx);
-	if (v) {
-		return v.isSelected;
-	}
-	return false;
-}, isRowSelected:function (row) {
-	var v = this.getByRow(row);
-	if (v) {
-		return v.isSelected;
-	}
-	return false;
-}, reset:function () {
-	this.store.clearData();
-	this.columns = [];
-	this.sortInformation = [{index:0, direction:0}];
-	this.resetSelections();
-	this.isInitialized = false;
-	this.onReset();
-}, resetSelections:function () {
-	this.store.forEach(function (element) {
-		element.isSelected = false;
-	});
-}, onReset:function () {
-}, select:function (obj) {
-	var data = this.store.get();
-	for (var i = 0; i < data.length; i++) {
-		if (data[i].src == obj) {
-			data[i].isSelected = true;
-			break;
-		}
-	}
-	this.onDataSelect(obj);
-}, selectByValue:function (val) {
-	this.select(this.store.getDataByKey(val));
-}, selectByIndex:function (idx) {
-	this.select(this.store.getDataByIndex(idx));
-}, selectByRow:function (row) {
-	this.select(this.getDataByRow(row));
-}, selectAll:function () {
-	this.store.forEach(function (element) {
-		element.isSelected = true;
-	});
-}, onDataSelect:function (obj) {
-}, toggleSelection:function (obj) {
-	var data = this.store.get();
-	for (var i = 0; i < data.length; i++) {
-		if (data[i].src == obj) {
-			data[i].isSelected = !data[i].isSelected;
-			break;
-		}
-	}
-	this.onDataToggle(obj);
-}, toggleSelectionByValue:function (val) {
-	this.toggleSelection(this.store.getDataByKey(val));
-}, toggleSelectionByIndex:function (idx) {
-	this.toggleSelection(this.store.getDataByIndex(idx));
-}, toggleSelectionByRow:function (row) {
-	this.toggleSelection(this.getDataByRow(row));
-}, toggleAll:function () {
-	this.store.forEach(function (element) {
-		element.isSelected = !element.isSelected;
-	});
-}, onDataToggle:function (obj) {
-}, _meta:{field:null, format:null, filterer:null, noSort:false, sortType:"String", dataType:String, sortFunction:null, filterFunction:null, label:null, align:"left", valign:"middle", getField:function () {
-	return this.field || this.label;
-}, getType:function () {
-	return this.dataType;
-}}, createMetaData:function (obj) {
-	for (var p in this._meta) {
-		if (!obj[p]) {
-			obj[p] = this._meta[p];
-		}
-	}
-	if (!obj.label) {
-		obj.label = obj.field;
-	}
-	if (!obj.filterFunction) {
-		obj.filterFunction = this._defaultFilter;
-	}
-	return obj;
-}, parseMetadata:function (head) {
-	this.columns = [];
-	this.sortInformation = [];
-	var row = head.getElementsByTagName("tr")[0];
-	var cells = row.getElementsByTagName("td");
-	if (cells.length == 0) {
-		cells = row.getElementsByTagName("th");
-	}
-	for (var i = 0; i < cells.length; i++) {
-		var o = this.createMetaData({});
-		if (dojo.html.hasAttribute(cells[i], "align")) {
-			o.align = dojo.html.getAttribute(cells[i], "align");
-		}
-		if (dojo.html.hasAttribute(cells[i], "valign")) {
-			o.valign = dojo.html.getAttribute(cells[i], "valign");
-		}
-		if (dojo.html.hasAttribute(cells[i], "nosort")) {
-			o.noSort = (dojo.html.getAttribute(cells[i], "nosort") == "true");
-		}
-		if (dojo.html.hasAttribute(cells[i], "sortusing")) {
-			var trans = dojo.html.getAttribute(cells[i], "sortusing");
-			var f = this.getTypeFromString(trans);
-			if (f != null && f != window && typeof (f) == "function") {
-				o.sortFunction = f;
-			}
-		}
-		o.label = dojo.html.renderedTextContent(cells[i]);
-		if (dojo.html.hasAttribute(cells[i], "field")) {
-			o.field = dojo.html.getAttribute(cells[i], "field");
-		} else {
-			if (o.label.length > 0) {
-				o.field = o.label;
-			} else {
-				o.field = "field" + i;
-			}
-		}
-		if (dojo.html.hasAttribute(cells[i], "format")) {
-			o.format = dojo.html.getAttribute(cells[i], "format");
-		}
-		if (dojo.html.hasAttribute(cells[i], "dataType")) {
-			var sortType = dojo.html.getAttribute(cells[i], "dataType");
-			if (sortType.toLowerCase() == "html" || sortType.toLowerCase() == "markup") {
-				o.sortType = "__markup__";
-			} else {
-				var type = this.getTypeFromString(sortType);
-				if (type) {
-					o.sortType = sortType;
-					o.dataType = type;
-				}
-			}
-		}
-		if (dojo.html.hasAttribute(cells[i], "filterusing")) {
-			var trans = dojo.html.getAttribute(cells[i], "filterusing");
-			var f = this.getTypeFromString(trans);
-			if (f != null && f != window && typeof (f) == "function") {
-				o.filterFunction = f;
-			}
-		}
-		this.columns.push(o);
-		if (dojo.html.hasAttribute(cells[i], "sort")) {
-			var info = {index:i, direction:0};
-			var dir = dojo.html.getAttribute(cells[i], "sort");
-			if (!isNaN(parseInt(dir))) {
-				dir = parseInt(dir);
-				info.direction = (dir != 0) ? 1 : 0;
-			} else {
-				info.direction = (dir.toLowerCase() == "desc") ? 1 : 0;
-			}
-			this.sortInformation.push(info);
-		}
-	}
-	if (this.sortInformation.length == 0) {
-		this.sortInformation.push({index:0, direction:0});
-	} else {
-		if (this.sortInformation.length > this.maxSortable) {
-			this.sortInformation.length = this.maxSortable;
-		}
-	}
-}, parseData:function (body) {
-	if (body.rows.length == 0 && this.columns.length == 0) {
-		return;
-	}
-	var self = this;
-	this["__selected__"] = [];
-	var arr = this.store.getFromHtml(this.columns, body, function (obj, row) {
-		if (typeof (obj[self.valueField]) == "undefined" || obj[self.valueField] == null) {
-			obj[self.valueField] = dojo.html.getAttribute(row, "value");
-		}
-		if (dojo.html.getAttribute(row, "selected") == "true") {
-			self["__selected__"].push(obj);
-		}
-	});
-	this.store.setData(arr, true);
-	this.render();
-	for (var i = 0; i < this["__selected__"].length; i++) {
-		this.select(this["__selected__"][i]);
-	}
-	this.renderSelections();
-	delete this["__selected__"];
-	this.isInitialized = true;
-}, onSelect:function (e) {
-	var row = dojo.html.getParentByType(e.target, "tr");
-	if (dojo.html.hasAttribute(row, "emptyRow")) {
-		return;
-	}
-	var body = dojo.html.getParentByType(row, "tbody");
-	if (this.multiple) {
-		if (e.shiftKey) {
-			var startRow;
-			var rows = body.rows;
-			for (var i = 0; i < rows.length; i++) {
-				if (rows[i] == row) {
-					break;
-				}
-				if (this.isRowSelected(rows[i])) {
-					startRow = rows[i];
-				}
-			}
-			if (!startRow) {
-				startRow = row;
-				for (; i < rows.length; i++) {
-					if (this.isRowSelected(rows[i])) {
-						row = rows[i];
-						break;
-					}
-				}
-			}
-			this.resetSelections();
-			if (startRow == row) {
-				this.toggleSelectionByRow(row);
-			} else {
-				var doSelect = false;
-				for (var i = 0; i < rows.length; i++) {
-					if (rows[i] == startRow) {
-						doSelect = true;
-					}
-					if (doSelect) {
-						this.selectByRow(rows[i]);
-					}
-					if (rows[i] == row) {
-						doSelect = false;
-					}
-				}
-			}
-		} else {
-			this.toggleSelectionByRow(row);
-		}
-	} else {
-		this.resetSelections();
-		this.toggleSelectionByRow(row);
-	}
-	this.renderSelections();
-}, onSort:function (e) {
-	var oldIndex = this.sortIndex;
-	var oldDirection = this.sortDirection;
-	var source = e.target;
-	var row = dojo.html.getParentByType(source, "tr");
-	var cellTag = "td";
-	if (row.getElementsByTagName(cellTag).length == 0) {
-		cellTag = "th";
-	}
-	var headers = row.getElementsByTagName(cellTag);
-	var header = dojo.html.getParentByType(source, cellTag);
-	for (var i = 0; i < headers.length; i++) {
-		dojo.html.setClass(headers[i], this.headerClass);
-		if (headers[i] == header) {
-			if (this.sortInformation[0].index != i) {
-				this.sortInformation.unshift({index:i, direction:0});
-			} else {
-				this.sortInformation[0] = {index:i, direction:(~this.sortInformation[0].direction) & 1};
-			}
-		}
-	}
-	this.sortInformation.length = Math.min(this.sortInformation.length, this.maxSortable);
-	for (var i = 0; i < this.sortInformation.length; i++) {
-		var idx = this.sortInformation[i].index;
-		var dir = (~this.sortInformation[i].direction) & 1;
-		dojo.html.setClass(headers[idx], dir == 0 ? this.headerDownClass : this.headerUpClass);
-	}
-	this.render();
-}, onFilter:function () {
-}, _defaultFilter:function (obj) {
-	return true;
-}, setFilter:function (field, fn) {
-	for (var i = 0; i < this.columns.length; i++) {
-		if (this.columns[i].getField() == field) {
-			this.columns[i].filterFunction = fn;
-			break;
-		}
-	}
-	this.applyFilters();
-}, setFilterByIndex:function (idx, fn) {
-	this.columns[idx].filterFunction = fn;
-	this.applyFilters();
-}, clearFilter:function (field) {
-	for (var i = 0; i < this.columns.length; i++) {
-		if (this.columns[i].getField() == field) {
-			this.columns[i].filterFunction = this._defaultFilter;
-			break;
-		}
-	}
-	this.applyFilters();
-}, clearFilterByIndex:function (idx) {
-	this.columns[idx].filterFunction = this._defaultFilter;
-	this.applyFilters();
-}, clearFilters:function () {
-	for (var i = 0; i < this.columns.length; i++) {
-		this.columns[i].filterFunction = this._defaultFilter;
-	}
-	var rows = this.domNode.tBodies[0].rows;
-	for (var i = 0; i < rows.length; i++) {
-		rows[i].style.display = "";
-		if (this.alternateRows) {
-			dojo.html[((i % 2 == 1) ? "addClass" : "removeClass")](rows[i], this.rowAlternateClass);
-		}
-	}
-	this.onFilter();
-}, applyFilters:function () {
-	var alt = 0;
-	var rows = this.domNode.tBodies[0].rows;
-	for (var i = 0; i < rows.length; i++) {
-		var b = true;
-		var row = rows[i];
-		for (var j = 0; j < this.columns.length; j++) {
-			var value = this.store.getField(this.getDataByRow(row), this.columns[j].getField());
-			if (this.columns[j].getType() == Date && value != null && !value.getYear) {
-				value = new Date(value);
-			}
-			if (!this.columns[j].filterFunction(value)) {
-				b = false;
-				break;
-			}
-		}
-		row.style.display = (b ? "" : "none");
-		if (b && this.alternateRows) {
-			dojo.html[((alt++ % 2 == 1) ? "addClass" : "removeClass")](row, this.rowAlternateClass);
-		}
-	}
-	this.onFilter();
-}, createSorter:function (info) {
-	var self = this;
-	var sortFunctions = [];
-	function createSortFunction(fieldIndex, dir) {
-		var meta = self.columns[fieldIndex];
-		var field = meta.getField();
-		return function (rowA, rowB) {
-			if (dojo.html.hasAttribute(rowA, "emptyRow")) {
-				return 1;
-			}
-			if (dojo.html.hasAttribute(rowB, "emptyRow")) {
-				return -1;
-			}
-			var a = self.store.getField(self.getDataByRow(rowA), field);
-			var b = self.store.getField(self.getDataByRow(rowB), field);
-			var ret = 0;
-			if (a > b) {
-				ret = 1;
-			}
-			if (a < b) {
-				ret = -1;
-			}
-			return dir * ret;
-		};
-	}
-	var current = 0;
-	var max = Math.min(info.length, this.maxSortable, this.columns.length);
-	while (current < max) {
-		var direction = (info[current].direction == 0) ? 1 : -1;
-		sortFunctions.push(createSortFunction(info[current].index, direction));
-		current++;
-	}
-	return function (rowA, rowB) {
-		var idx = 0;
-		while (idx < sortFunctions.length) {
-			var ret = sortFunctions[idx++](rowA, rowB);
-			if (ret != 0) {
-				return ret;
-			}
-		}
-		return 0;
-	};
-}, createRow:function (obj) {
-	var row = document.createElement("tr");
-	dojo.html.disableSelection(row);
-	if (obj.key != null) {
-		row.setAttribute("value", obj.key);
-	}
-	for (var j = 0; j < this.columns.length; j++) {
-		var cell = document.createElement("td");
-		cell.setAttribute("align", this.columns[j].align);
-		cell.setAttribute("valign", this.columns[j].valign);
-		dojo.html.disableSelection(cell);
-		var val = this.store.getField(obj.src, this.columns[j].getField());
-		if (typeof (val) == "undefined") {
-			val = "";
-		}
-		this.fillCell(cell, this.columns[j], val);
-		row.appendChild(cell);
-	}
-	return row;
-}, fillCell:function (cell, meta, val) {
-	if (meta.sortType == "__markup__") {
-		cell.innerHTML = val;
-	} else {
-		if (meta.getType() == Date) {
-			val = new Date(val);
-			if (!isNaN(val)) {
-				var format = this.defaultDateFormat;
-				if (meta.format) {
-					format = meta.format;
-				}
-				cell.innerHTML = dojo.date.strftime(val, format);
-			} else {
-				cell.innerHTML = val;
-			}
-		} else {
-			if ("Number number int Integer float Float".indexOf(meta.getType()) > -1) {
-				if (val.length == 0) {
-					val = "0";
-				}
-				var n = parseFloat(val, 10) + "";
-				if (n.indexOf(".") > -1) {
-					n = dojo.math.round(parseFloat(val, 10), 2);
-				}
-				cell.innerHTML = n;
-			} else {
-				cell.innerHTML = val;
-			}
-		}
-	}
-}, prefill:function () {
-	this.isInitialized = false;
-	var body = this.domNode.tBodies[0];
-	while (body.childNodes.length > 0) {
-		body.removeChild(body.childNodes[0]);
-	}
-	if (this.minRows > 0) {
-		for (var i = 0; i < this.minRows; i++) {
-			var row = document.createElement("tr");
-			if (this.alternateRows) {
-				dojo.html[((i % 2 == 1) ? "addClass" : "removeClass")](row, this.rowAlternateClass);
-			}
-			row.setAttribute("emptyRow", "true");
-			for (var j = 0; j < this.columns.length; j++) {
-				var cell = document.createElement("td");
-				cell.innerHTML = "&nbsp;";
-				row.appendChild(cell);
-			}
-			body.appendChild(row);
-		}
-	}
-}, init:function () {
-	this.isInitialized = false;
-	var head = this.domNode.getElementsByTagName("thead")[0];
-	if (head.getElementsByTagName("tr").length == 0) {
-		var row = document.createElement("tr");
-		for (var i = 0; i < this.columns.length; i++) {
-			var cell = document.createElement("td");
-			cell.setAttribute("align", this.columns[i].align);
-			cell.setAttribute("valign", this.columns[i].valign);
-			dojo.html.disableSelection(cell);
-			cell.innerHTML = this.columns[i].label;
-			row.appendChild(cell);
-			if (!this.columns[i].noSort) {
-				dojo.event.connect(cell, "onclick", this, "onSort");
-			}
-		}
-		dojo.html.prependChild(row, head);
-	}
-	if (this.store.get().length == 0) {
-		return false;
-	}
-	var idx = this.domNode.tBodies[0].rows.length;
-	if (!idx || idx == 0 || this.domNode.tBodies[0].rows[0].getAttribute("emptyRow") == "true") {
-		idx = 0;
-		var body = this.domNode.tBodies[0];
-		while (body.childNodes.length > 0) {
-			body.removeChild(body.childNodes[0]);
-		}
-		var data = this.store.get();
-		for (var i = 0; i < data.length; i++) {
-			var row = this.createRow(data[i]);
-			body.appendChild(row);
-			idx++;
-		}
-	}
-	if (this.minRows > 0 && idx < this.minRows) {
-		idx = this.minRows - idx;
-		for (var i = 0; i < idx; i++) {
-			row = document.createElement("tr");
-			row.setAttribute("emptyRow", "true");
-			for (var j = 0; j < this.columns.length; j++) {
-				cell = document.createElement("td");
-				cell.innerHTML = "&nbsp;";
-				row.appendChild(cell);
-			}
-			body.appendChild(row);
-		}
-	}
-	var row = this.domNode.getElementsByTagName("thead")[0].rows[0];
-	var cellTag = "td";
-	if (row.getElementsByTagName(cellTag).length == 0) {
-		cellTag = "th";
-	}
-	var headers = row.getElementsByTagName(cellTag);
-	for (var i = 0; i < headers.length; i++) {
-		dojo.html.setClass(headers[i], this.headerClass);
-	}
-	for (var i = 0; i < this.sortInformation.length; i++) {
-		var idx = this.sortInformation[i].index;
-		var dir = (~this.sortInformation[i].direction) & 1;
-		dojo.html.setClass(headers[idx], dir == 0 ? this.headerDownClass : this.headerUpClass);
-	}
-	this.isInitialized = true;
-	return this.isInitialized;
-}, render:function () {
-	if (!this.isInitialized) {
-		var b = this.init();
-		if (!b) {
-			this.prefill();
-			return;
-		}
-	}
-	var rows = [];
-	var body = this.domNode.tBodies[0];
-	var emptyRowIdx = -1;
-	for (var i = 0; i < body.rows.length; i++) {
-		rows.push(body.rows[i]);
-	}
-	var sortFunction = this.createSorter(this.sortInformation);
-	if (sortFunction) {
-		rows.sort(sortFunction);
-	}
-	for (var i = 0; i < rows.length; i++) {
-		if (this.alternateRows) {
-			dojo.html[((i % 2 == 1) ? "addClass" : "removeClass")](rows[i], this.rowAlternateClass);
-		}
-		dojo.html[(this.isRowSelected(body.rows[i]) ? "addClass" : "removeClass")](body.rows[i], this.rowSelectedClass);
-		body.appendChild(rows[i]);
-	}
-}, renderSelections:function () {
-	var body = this.domNode.tBodies[0];
-	for (var i = 0; i < body.rows.length; i++) {
-		dojo.html[(this.isRowSelected(body.rows[i]) ? "addClass" : "removeClass")](body.rows[i], this.rowSelectedClass);
-	}
-}, initialize:function () {
-	var self = this;
-	dojo.event.connect(this.store, "onSetData", function () {
-		self.store.forEach(function (element) {
-			element.isSelected = false;
-		});
-		self.isInitialized = false;
-		var body = self.domNode.tBodies[0];
-		if (body) {
-			while (body.childNodes.length > 0) {
-				body.removeChild(body.childNodes[0]);
-			}
-		}
-		self.render();
-	});
-	dojo.event.connect(this.store, "onClearData", function () {
-		self.isInitialized = false;
-		self.render();
-	});
-	dojo.event.connect(this.store, "onAddData", function (addedObject) {
-		var row = self.createRow(addedObject);
-		self.domNode.tBodies[0].appendChild(row);
-		self.render();
-	});
-	dojo.event.connect(this.store, "onAddDataRange", function (arr) {
-		for (var i = 0; i < arr.length; i++) {
-			arr[i].isSelected = false;
-			var row = self.createRow(arr[i]);
-			self.domNode.tBodies[0].appendChild(row);
-		}
-		self.render();
-	});
-	dojo.event.connect(this.store, "onRemoveData", function (removedObject) {
-		var rows = self.domNode.tBodies[0].rows;
-		for (var i = 0; i < rows.length; i++) {
-			if (self.getDataByRow(rows[i]) == removedObject.src) {
-				rows[i].parentNode.removeChild(rows[i]);
-				break;
-			}
-		}
-		self.render();
-	});
-	dojo.event.connect(this.store, "onUpdateField", function (obj, fieldPath, val) {
-		var row = self.getRow(obj);
-		var idx = self.getColumnIndex(fieldPath);
-		if (row && row.cells[idx] && self.columns[idx]) {
-			self.fillCell(row.cells[idx], self.columns[idx], val);
-		}
-	});
-}, postCreate:function () {
-	this.store.keyField = this.valueField;
-	if (this.domNode) {
-		if (this.domNode.nodeName.toLowerCase() != "table") {
-		}
-		if (this.domNode.getElementsByTagName("thead")[0]) {
-			var head = this.domNode.getElementsByTagName("thead")[0];
-			if (this.headClass.length > 0) {
-				head.className = this.headClass;
-			}
-			dojo.html.disableSelection(this.domNode);
-			this.parseMetadata(head);
-			var header = "td";
-			if (head.getElementsByTagName(header).length == 0) {
-				header = "th";
-			}
-			var headers = head.getElementsByTagName(header);
-			for (var i = 0; i < headers.length; i++) {
-				if (!this.columns[i].noSort) {
-					dojo.event.connect(headers[i], "onclick", this, "onSort");
-				}
-			}
-		} else {
-			this.domNode.appendChild(document.createElement("thead"));
-		}
-		if (this.domNode.tBodies.length < 1) {
-			var body = document.createElement("tbody");
-			this.domNode.appendChild(body);
-		} else {
-			var body = this.domNode.tBodies[0];
-		}
-		if (this.tbodyClass.length > 0) {
-			body.className = this.tbodyClass;
-		}
-		dojo.event.connect(body, "onclick", this, "onSelect");
-		this.parseData(body);
-	}
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FisheyeList.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FisheyeList.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FisheyeList.js
deleted file mode 100644
index 982571e..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FisheyeList.js
+++ /dev/null
@@ -1,446 +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.FisheyeList");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.require("dojo.html.style");
-dojo.require("dojo.html.selection");
-dojo.require("dojo.html.util");
-dojo.require("dojo.event.*");
-dojo.widget.defineWidget("dojo.widget.FisheyeList", dojo.widget.HtmlWidget, function () {
-	this.pos = {x:-1, y:-1};
-	this.EDGE = {CENTER:0, LEFT:1, RIGHT:2, TOP:3, BOTTOM:4};
-	this.timerScale = 1;
-}, {templateString:"<div class=\"dojoHtmlFisheyeListBar\"></div>", templateCssString:".dojoHtmlFisheyeListItemLabel {\n\tfont-family: Arial, Helvetica, sans-serif;\n\tbackground-color: #eee;\n\tborder: 2px solid #666;\n\tpadding: 2px;\n\ttext-align: center;\n\tposition: absolute;\n\tdisplay: none;\n}\n\n.dojoHtmlFisheyeListItemLabel.selected {\n\tdisplay: block;\n}\n\n.dojoHtmlFisheyeListItemImage {\n\tborder: 0px;\n\tposition: absolute;\n}\n\n.dojoHtmlFisheyeListItem {\n\tposition: absolute;\n\tz-index: 2;\n}\n\n.dojoHtmlFisheyeListBar {\n\tposition: relative;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/FisheyeList.css"), isContainer:true, snarfChildDomOutput:true, itemWidth:40, itemHeight:40, itemMaxWidth:150, itemMaxHeight:150, orientation:"horizontal", conservativeTrigger:false, effectUnits:2, itemPadding:10, attachEdge:"center", labelEdge:"bottom", enableCrappySvgSupport:false, fillInTemplate:function () {
-	dojo.html.disableSelection(this.domNode);
-	this.isHorizontal = (this.orientation == "horizontal");
-	this.selectedNode = -1;
-	this.isOver = false;
-	this.hitX1 = -1;
-	this.hitY1 = -1;
-	this.hitX2 = -1;
-	this.hitY2 = -1;
-	this.anchorEdge = this._toEdge(this.attachEdge, this.EDGE.CENTER);
-	this.labelEdge = this._toEdge(this.labelEdge, this.EDGE.TOP);
-	if (this.isHorizontal && (this.anchorEdge == this.EDGE.LEFT)) {
-		this.anchorEdge = this.EDGE.CENTER;
-	}
-	if (this.isHorizontal && (this.anchorEdge == this.EDGE.RIGHT)) {
-		this.anchorEdge = this.EDGE.CENTER;
-	}
-	if (!this.isHorizontal && (this.anchorEdge == this.EDGE.TOP)) {
-		this.anchorEdge = this.EDGE.CENTER;
-	}
-	if (!this.isHorizontal && (this.anchorEdge == this.EDGE.BOTTOM)) {
-		this.anchorEdge = this.EDGE.CENTER;
-	}
-	if (this.labelEdge == this.EDGE.CENTER) {
-		this.labelEdge = this.EDGE.TOP;
-	}
-	if (this.isHorizontal && (this.labelEdge == this.EDGE.LEFT)) {
-		this.labelEdge = this.EDGE.TOP;
-	}
-	if (this.isHorizontal && (this.labelEdge == this.EDGE.RIGHT)) {
-		this.labelEdge = this.EDGE.TOP;
-	}
-	if (!this.isHorizontal && (this.labelEdge == this.EDGE.TOP)) {
-		this.labelEdge = this.EDGE.LEFT;
-	}
-	if (!this.isHorizontal && (this.labelEdge == this.EDGE.BOTTOM)) {
-		this.labelEdge = this.EDGE.LEFT;
-	}
-	this.proximityLeft = this.itemWidth * (this.effectUnits - 0.5);
-	this.proximityRight = this.itemWidth * (this.effectUnits - 0.5);
-	this.proximityTop = this.itemHeight * (this.effectUnits - 0.5);
-	this.proximityBottom = this.itemHeight * (this.effectUnits - 0.5);
-	if (this.anchorEdge == this.EDGE.LEFT) {
-		this.proximityLeft = 0;
-	}
-	if (this.anchorEdge == this.EDGE.RIGHT) {
-		this.proximityRight = 0;
-	}
-	if (this.anchorEdge == this.EDGE.TOP) {
-		this.proximityTop = 0;
-	}
-	if (this.anchorEdge == this.EDGE.BOTTOM) {
-		this.proximityBottom = 0;
-	}
-	if (this.anchorEdge == this.EDGE.CENTER) {
-		this.proximityLeft /= 2;
-		this.proximityRight /= 2;
-		this.proximityTop /= 2;
-		this.proximityBottom /= 2;
-	}
-}, postCreate:function () {
-	this._initializePositioning();
-	if (!this.conservativeTrigger) {
-		dojo.event.connect(document.documentElement, "onmousemove", this, "_onMouseMove");
-	}
-	dojo.event.connect(document.documentElement, "onmouseout", this, "_onBodyOut");
-	dojo.event.connect(this, "addChild", this, "_initializePositioning");
-}, _initializePositioning:function () {
-	this.itemCount = this.children.length;
-	this.barWidth = (this.isHorizontal ? this.itemCount : 1) * this.itemWidth;
-	this.barHeight = (this.isHorizontal ? 1 : this.itemCount) * this.itemHeight;
-	this.totalWidth = this.proximityLeft + this.proximityRight + this.barWidth;
-	this.totalHeight = this.proximityTop + this.proximityBottom + this.barHeight;
-	for (var i = 0; i < this.children.length; i++) {
-		this.children[i].posX = this.itemWidth * (this.isHorizontal ? i : 0);
-		this.children[i].posY = this.itemHeight * (this.isHorizontal ? 0 : i);
-		this.children[i].cenX = this.children[i].posX + (this.itemWidth / 2);
-		this.children[i].cenY = this.children[i].posY + (this.itemHeight / 2);
-		var isz = this.isHorizontal ? this.itemWidth : this.itemHeight;
-		var r = this.effectUnits * isz;
-		var c = this.isHorizontal ? this.children[i].cenX : this.children[i].cenY;
-		var lhs = this.isHorizontal ? this.proximityLeft : this.proximityTop;
-		var rhs = this.isHorizontal ? this.proximityRight : this.proximityBottom;
-		var siz = this.isHorizontal ? this.barWidth : this.barHeight;
-		var range_lhs = r;
-		var range_rhs = r;
-		if (range_lhs > c + lhs) {
-			range_lhs = c + lhs;
-		}
-		if (range_rhs > (siz - c + rhs)) {
-			range_rhs = siz - c + rhs;
-		}
-		this.children[i].effectRangeLeft = range_lhs / isz;
-		this.children[i].effectRangeRght = range_rhs / isz;
-	}
-	this.domNode.style.width = this.barWidth + "px";
-	this.domNode.style.height = this.barHeight + "px";
-	for (var i = 0; i < this.children.length; i++) {
-		var itm = this.children[i];
-		var elm = itm.domNode;
-		elm.style.left = itm.posX + "px";
-		elm.style.top = itm.posY + "px";
-		elm.style.width = this.itemWidth + "px";
-		elm.style.height = this.itemHeight + "px";
-		if (itm.svgNode) {
-			itm.svgNode.style.position = "absolute";
-			itm.svgNode.style.left = this.itemPadding + "%";
-			itm.svgNode.style.top = this.itemPadding + "%";
-			itm.svgNode.style.width = (100 - 2 * this.itemPadding) + "%";
-			itm.svgNode.style.height = (100 - 2 * this.itemPadding) + "%";
-			itm.svgNode.style.zIndex = 1;
-			itm.svgNode.setSize(this.itemWidth, this.itemHeight);
-		} else {
-			itm.imgNode.style.left = this.itemPadding + "%";
-			itm.imgNode.style.top = this.itemPadding + "%";
-			itm.imgNode.style.width = (100 - 2 * this.itemPadding) + "%";
-			itm.imgNode.style.height = (100 - 2 * this.itemPadding) + "%";
-		}
-	}
-	this._calcHitGrid();
-}, _onBodyOut:function (e) {
-	if (dojo.html.overElement(dojo.body(), e)) {
-		return;
-	}
-	this._setDormant(e);
-}, _setDormant:function (e) {
-	if (!this.isOver) {
-		return;
-	}
-	this.isOver = false;
-	if (this.conservativeTrigger) {
-		dojo.event.disconnect(document.documentElement, "onmousemove", this, "_onMouseMove");
-	}
-	this._onGridMouseMove(-1, -1);
-}, _setActive:function (e) {
-	if (this.isOver) {
-		return;
-	}
-	this.isOver = true;
-	if (this.conservativeTrigger) {
-		dojo.event.connect(document.documentElement, "onmousemove", this, "_onMouseMove");
-		this.timerScale = 0;
-		this._onMouseMove(e);
-		this._expandSlowly();
-	}
-}, _onMouseMove:function (e) {
-	if ((e.pageX >= this.hitX1) && (e.pageX <= this.hitX2) && (e.pageY >= this.hitY1) && (e.pageY <= this.hitY2)) {
-		if (!this.isOver) {
-			this._setActive(e);
-		}
-		this._onGridMouseMove(e.pageX - this.hitX1, e.pageY - this.hitY1);
-	} else {
-		if (this.isOver) {
-			this._setDormant(e);
-		}
-	}
-}, onResized:function () {
-	this._calcHitGrid();
-}, _onGridMouseMove:function (x, y) {
-	this.pos = {x:x, y:y};
-	this._paint();
-}, _paint:function () {
-	var x = this.pos.x;
-	var y = this.pos.y;
-	if (this.itemCount <= 0) {
-		return;
-	}
-	var pos = this.isHorizontal ? x : y;
-	var prx = this.isHorizontal ? this.proximityLeft : this.proximityTop;
-	var siz = this.isHorizontal ? this.itemWidth : this.itemHeight;
-	var sim = this.isHorizontal ? (1 - this.timerScale) * this.itemWidth + this.timerScale * this.itemMaxWidth : (1 - this.timerScale) * this.itemHeight + this.timerScale * this.itemMaxHeight;
-	var cen = ((pos - prx) / siz) - 0.5;
-	var max_off_cen = (sim / siz) - 0.5;
-	if (max_off_cen > this.effectUnits) {
-		max_off_cen = this.effectUnits;
-	}
-	var off_weight = 0;
-	if (this.anchorEdge == this.EDGE.BOTTOM) {
-		var cen2 = (y - this.proximityTop) / this.itemHeight;
-		off_weight = (cen2 > 0.5) ? 1 : y / (this.proximityTop + (this.itemHeight / 2));
-	}
-	if (this.anchorEdge == this.EDGE.TOP) {
-		var cen2 = (y - this.proximityTop) / this.itemHeight;
-		off_weight = (cen2 < 0.5) ? 1 : (this.totalHeight - y) / (this.proximityBottom + (this.itemHeight / 2));
-	}
-	if (this.anchorEdge == this.EDGE.RIGHT) {
-		var cen2 = (x - this.proximityLeft) / this.itemWidth;
-		off_weight = (cen2 > 0.5) ? 1 : x / (this.proximityLeft + (this.itemWidth / 2));
-	}
-	if (this.anchorEdge == this.EDGE.LEFT) {
-		var cen2 = (x - this.proximityLeft) / this.itemWidth;
-		off_weight = (cen2 < 0.5) ? 1 : (this.totalWidth - x) / (this.proximityRight + (this.itemWidth / 2));
-	}
-	if (this.anchorEdge == this.EDGE.CENTER) {
-		if (this.isHorizontal) {
-			off_weight = y / (this.totalHeight);
-		} else {
-			off_weight = x / (this.totalWidth);
-		}
-		if (off_weight > 0.5) {
-			off_weight = 1 - off_weight;
-		}
-		off_weight *= 2;
-	}
-	for (var i = 0; i < this.itemCount; i++) {
-		var weight = this._weighAt(cen, i);
-		if (weight < 0) {
-			weight = 0;
-		}
-		this._setItemSize(i, weight * off_weight);
-	}
-	var main_p = Math.round(cen);
-	var offset = 0;
-	if (cen < 0) {
-		main_p = 0;
-	} else {
-		if (cen > this.itemCount - 1) {
-			main_p = this.itemCount - 1;
-		} else {
-			offset = (cen - main_p) * ((this.isHorizontal ? this.itemWidth : this.itemHeight) - this.children[main_p].sizeMain);
-		}
-	}
-	this._positionElementsFrom(main_p, offset);
-}, _weighAt:function (cen, i) {
-	var dist = Math.abs(cen - i);
-	var limit = ((cen - i) > 0) ? this.children[i].effectRangeRght : this.children[i].effectRangeLeft;
-	return (dist > limit) ? 0 : (1 - dist / limit);
-}, _setItemSize:function (p, scale) {
-	scale *= this.timerScale;
-	var w = Math.round(this.itemWidth + ((this.itemMaxWidth - this.itemWidth) * scale));
-	var h = Math.round(this.itemHeight + ((this.itemMaxHeight - this.itemHeight) * scale));
-	if (this.isHorizontal) {
-		this.children[p].sizeW = w;
-		this.children[p].sizeH = h;
-		this.children[p].sizeMain = w;
-		this.children[p].sizeOff = h;
-		var y = 0;
-		if (this.anchorEdge == this.EDGE.TOP) {
-			y = (this.children[p].cenY - (this.itemHeight / 2));
-		} else {
-			if (this.anchorEdge == this.EDGE.BOTTOM) {
-				y = (this.children[p].cenY - (h - (this.itemHeight / 2)));
-			} else {
-				y = (this.children[p].cenY - (h / 2));
-			}
-		}
-		this.children[p].usualX = Math.round(this.children[p].cenX - (w / 2));
-		this.children[p].domNode.style.top = y + "px";
-		this.children[p].domNode.style.left = this.children[p].usualX + "px";
-	} else {
-		this.children[p].sizeW = w;
-		this.children[p].sizeH = h;
-		this.children[p].sizeOff = w;
-		this.children[p].sizeMain = h;
-		var x = 0;
-		if (this.anchorEdge == this.EDGE.LEFT) {
-			x = this.children[p].cenX - (this.itemWidth / 2);
-		} else {
-			if (this.anchorEdge == this.EDGE.RIGHT) {
-				x = this.children[p].cenX - (w - (this.itemWidth / 2));
-			} else {
-				x = this.children[p].cenX - (w / 2);
-			}
-		}
-		this.children[p].domNode.style.left = x + "px";
-		this.children[p].usualY = Math.round(this.children[p].cenY - (h / 2));
-		this.children[p].domNode.style.top = this.children[p].usualY + "px";
-	}
-	this.children[p].domNode.style.width = w + "px";
-	this.children[p].domNode.style.height = h + "px";
-	if (this.children[p].svgNode) {
-		this.children[p].svgNode.setSize(w, h);
-	}
-}, _positionElementsFrom:function (p, offset) {
-	var pos = 0;
-	if (this.isHorizontal) {
-		pos = Math.round(this.children[p].usualX + offset);
-		this.children[p].domNode.style.left = pos + "px";
-	} else {
-		pos = Math.round(this.children[p].usualY + offset);
-		this.children[p].domNode.style.top = pos + "px";
-	}
-	this._positionLabel(this.children[p]);
-	var bpos = pos;
-	for (var i = p - 1; i >= 0; i--) {
-		bpos -= this.children[i].sizeMain;
-		if (this.isHorizontal) {
-			this.children[i].domNode.style.left = bpos + "px";
-		} else {
-			this.children[i].domNode.style.top = bpos + "px";
-		}
-		this._positionLabel(this.children[i]);
-	}
-	var apos = pos;
-	for (var i = p + 1; i < this.itemCount; i++) {
-		apos += this.children[i - 1].sizeMain;
-		if (this.isHorizontal) {
-			this.children[i].domNode.style.left = apos + "px";
-		} else {
-			this.children[i].domNode.style.top = apos + "px";
-		}
-		this._positionLabel(this.children[i]);
-	}
-}, _positionLabel:function (itm) {
-	var x = 0;
-	var y = 0;
-	var mb = dojo.html.getMarginBox(itm.lblNode);
-	if (this.labelEdge == this.EDGE.TOP) {
-		x = Math.round((itm.sizeW / 2) - (mb.width / 2));
-		y = -mb.height;
-	}
-	if (this.labelEdge == this.EDGE.BOTTOM) {
-		x = Math.round((itm.sizeW / 2) - (mb.width / 2));
-		y = itm.sizeH;
-	}
-	if (this.labelEdge == this.EDGE.LEFT) {
-		x = -mb.width;
-		y = Math.round((itm.sizeH / 2) - (mb.height / 2));
-	}
-	if (this.labelEdge == this.EDGE.RIGHT) {
-		x = itm.sizeW;
-		y = Math.round((itm.sizeH / 2) - (mb.height / 2));
-	}
-	itm.lblNode.style.left = x + "px";
-	itm.lblNode.style.top = y + "px";
-}, _calcHitGrid:function () {
-	var pos = dojo.html.getAbsolutePosition(this.domNode, true);
-	this.hitX1 = pos.x - this.proximityLeft;
-	this.hitY1 = pos.y - this.proximityTop;
-	this.hitX2 = this.hitX1 + this.totalWidth;
-	this.hitY2 = this.hitY1 + this.totalHeight;
-}, _toEdge:function (inp, def) {
-	return this.EDGE[inp.toUpperCase()] || def;
-}, _expandSlowly:function () {
-	if (!this.isOver) {
-		return;
-	}
-	this.timerScale += 0.2;
-	this._paint();
-	if (this.timerScale < 1) {
-		dojo.lang.setTimeout(this, "_expandSlowly", 10);
-	}
-}, destroy:function () {
-	dojo.event.disconnect(document.documentElement, "onmouseout", this, "_onBodyOut");
-	dojo.event.disconnect(document.documentElement, "onmousemove", this, "_onMouseMove");
-	dojo.widget.FisheyeList.superclass.destroy.call(this);
-}});
-dojo.widget.defineWidget("dojo.widget.FisheyeListItem", dojo.widget.HtmlWidget, {iconSrc:"", svgSrc:"", caption:"", id:"", _blankImgPath:dojo.uri.moduleUri("dojo.widget", "templates/images/blank.gif"), templateString:"<div class=\"dojoHtmlFisheyeListItem\">" + "  <img class=\"dojoHtmlFisheyeListItemImage\" dojoAttachPoint=\"imgNode\" dojoAttachEvent=\"onMouseOver;onMouseOut;onClick\">" + "  <div class=\"dojoHtmlFisheyeListItemLabel\" dojoAttachPoint=\"lblNode\"></div>" + "</div>", fillInTemplate:function () {
-	if (this.svgSrc != "") {
-		this.svgNode = this._createSvgNode(this.svgSrc);
-		this.domNode.appendChild(this.svgNode);
-		this.imgNode.style.display = "none";
-	} else {
-		if ((this.iconSrc.toLowerCase().substring(this.iconSrc.length - 4) == ".png") && (dojo.render.html.ie) && (!dojo.render.html.ie70)) {
-			if (dojo.dom.hasParent(this.imgNode) && this.id != "") {
-				var parent = this.imgNode.parentNode;
-				parent.setAttribute("id", this.id);
-			}
-			this.imgNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.iconSrc + "', sizingMethod='scale')";
-			this.imgNode.src = this._blankImgPath.toString();
-		} else {
-			if (dojo.dom.hasParent(this.imgNode) && this.id != "") {
-				var parent = this.imgNode.parentNode;
-				parent.setAttribute("id", this.id);
-			}
-			this.imgNode.src = this.iconSrc;
-		}
-	}
-	if (this.lblNode) {
-		this.lblNode.appendChild(document.createTextNode(this.caption));
-	}
-	dojo.html.disableSelection(this.domNode);
-}, _createSvgNode:function (src) {
-	var elm = document.createElement("embed");
-	elm.src = src;
-	elm.type = "image/svg+xml";
-	elm.style.width = "1px";
-	elm.style.height = "1px";
-	elm.loaded = 0;
-	elm.setSizeOnLoad = false;
-	elm.onload = function () {
-		this.svgRoot = this.getSVGDocument().rootElement;
-		this.svgDoc = this.getSVGDocument().documentElement;
-		this.zeroWidth = this.svgRoot.width.baseVal.value;
-		this.zeroHeight = this.svgRoot.height.baseVal.value;
-		this.loaded = true;
-		if (this.setSizeOnLoad) {
-			this.setSize(this.setWidth, this.setHeight);
-		}
-	};
-	elm.setSize = function (w, h) {
-		if (!this.loaded) {
-			this.setWidth = w;
-			this.setHeight = h;
-			this.setSizeOnLoad = true;
-			return;
-		}
-		this.style.width = w + "px";
-		this.style.height = h + "px";
-		this.svgRoot.width.baseVal.value = w;
-		this.svgRoot.height.baseVal.value = h;
-		var scale_x = w / this.zeroWidth;
-		var scale_y = h / this.zeroHeight;
-		for (var i = 0; i < this.svgDoc.childNodes.length; i++) {
-			if (this.svgDoc.childNodes[i].setAttribute) {
-				this.svgDoc.childNodes[i].setAttribute("transform", "scale(" + scale_x + "," + scale_y + ")");
-			}
-		}
-	};
-	return elm;
-}, onMouseOver:function (e) {
-	if (!this.parent.isOver) {
-		this.parent._setActive(e);
-	}
-	if (this.caption != "") {
-		dojo.html.addClass(this.lblNode, "selected");
-		this.parent._positionLabel(this);
-	}
-}, onMouseOut:function (e) {
-	dojo.html.removeClass(this.lblNode, "selected");
-}, onClick:function (e) {
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FloatingPane.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FloatingPane.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FloatingPane.js
deleted file mode 100644
index 8499b2d..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/FloatingPane.js
+++ /dev/null
@@ -1,249 +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.FloatingPane");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.Manager");
-dojo.require("dojo.html.*");
-dojo.require("dojo.html.layout");
-dojo.require("dojo.html.iframe");
-dojo.require("dojo.html.selection");
-dojo.require("dojo.lfx.shadow");
-dojo.require("dojo.widget.html.layout");
-dojo.require("dojo.widget.ContentPane");
-dojo.require("dojo.dnd.HtmlDragMove");
-dojo.require("dojo.widget.Dialog");
-dojo.require("dojo.widget.ResizeHandle");
-dojo.declare("dojo.widget.FloatingPaneBase", null, {title:"", iconSrc:"", hasShadow:false, constrainToContainer:false, taskBarId:"", resizable:true, titleBarDisplay:true, windowState:"normal", displayCloseAction:false, displayMinimizeAction:false, displayMaximizeAction:false, _max_taskBarConnectAttempts:5, _taskBarConnectAttempts:0, templateString:"<div id=\"${this.widgetId}\" dojoAttachEvent=\"onMouseDown\" class=\"dojoFloatingPane\">\n\t<div dojoAttachPoint=\"titleBar\" class=\"dojoFloatingPaneTitleBar\"  style=\"display:none\">\n\t  \t<img dojoAttachPoint=\"titleBarIcon\"  class=\"dojoFloatingPaneTitleBarIcon\">\n\t\t<div dojoAttachPoint=\"closeAction\" dojoAttachEvent=\"onClick:closeWindow\"\n   \t  \t\tclass=\"dojoFloatingPaneCloseIcon\"></div>\n\t\t<div dojoAttachPoint=\"restoreAction\" dojoAttachEvent=\"onClick:restoreWindow\"\n   \t  \t\tclass=\"dojoFloatingPaneRestoreIcon\"></div>\n\t\t<div dojoAttachPoint=\"maximizeAction\" dojoAttachEvent=\"onClick:maximizeWindow\"\n   \t
   \t\tclass=\"dojoFloatingPaneMaximizeIcon\"></div>\n\t\t<div dojoAttachPoint=\"minimizeAction\" dojoAttachEvent=\"onClick:minimizeWindow\"\n   \t  \t\tclass=\"dojoFloatingPaneMinimizeIcon\"></div>\n\t  \t<div dojoAttachPoint=\"titleBarText\" class=\"dojoFloatingPaneTitleText\">${this.title}</div>\n\t</div>\n\n\t<div id=\"${this.widgetId}_container\" dojoAttachPoint=\"containerNode\" class=\"dojoFloatingPaneClient\"></div>\n\n\t<div dojoAttachPoint=\"resizeBar\" class=\"dojoFloatingPaneResizebar\" style=\"display:none\"></div>\n</div>\n", templateCssString:"\n/********** Outer Window ***************/\n\n.dojoFloatingPane {\n\t/* essential css */\n\tposition: absolute;\n\toverflow: visible;\t\t/* so drop shadow is displayed */\n\tz-index: 10;\n\n\t/* styling css */\n\tborder: 1px solid;\n\tborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\n\tbackground-color: ThreeDFace;\n}\n\n\n/********** Title Bar ****************/\n\n.dojoFloatingPaneTitleBar {\n\tvertical-
 align: top;\n\tmargin: 2px 2px 2px 2px;\n\tz-index: 10;\n\tbackground-color: #7596c6;\n\tcursor: default;\n\toverflow: hidden;\n\tborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\n\tvertical-align: middle;\n}\n\n.dojoFloatingPaneTitleText {\n\tfloat: left;\n\tpadding: 2px 4px 2px 2px;\n\twhite-space: nowrap;\n\tcolor: CaptionText;\n\tfont: small-caption;\n}\n\n.dojoTitleBarIcon {\n\tfloat: left;\n\theight: 22px;\n\twidth: 22px;\n\tvertical-align: middle;\n\tmargin-right: 5px;\n\tmargin-left: 5px;\n}\n\n.dojoFloatingPaneActions{\n\tfloat: right;\n\tposition: absolute;\n\tright: 2px;\n\ttop: 2px;\n\tvertical-align: middle;\n}\n\n\n.dojoFloatingPaneActionItem {\n\tvertical-align: middle;\n\tmargin-right: 1px;\n\theight: 22px;\n\twidth: 22px;\n}\n\n\n.dojoFloatingPaneTitleBarIcon {\n\t/* essential css */\n\tfloat: left;\n\n\t/* styling css */\n\tmargin-left: 2px;\n\tmargin-right: 4px;\n\theight: 22px;\n}\n\n/* minimize/maximize icons are specified by CSS only */\
 n.dojoFloatingPaneMinimizeIcon,\n.dojoFloatingPaneMaximizeIcon,\n.dojoFloatingPaneRestoreIcon,\n.dojoFloatingPaneCloseIcon {\n\tvertical-align: middle;\n\theight: 22px;\n\twidth: 22px;\n\tfloat: right;\n}\n.dojoFloatingPaneMinimizeIcon {\n\tbackground-image: url(images/floatingPaneMinimize.gif);\n}\n.dojoFloatingPaneMaximizeIcon {\n\tbackground-image: url(images/floatingPaneMaximize.gif);\n}\n.dojoFloatingPaneRestoreIcon {\n\tbackground-image: url(images/floatingPaneRestore.gif);\n}\n.dojoFloatingPaneCloseIcon {\n\tbackground-image: url(images/floatingPaneClose.gif);\n}\n\n/* bar at bottom of window that holds resize handle */\n.dojoFloatingPaneResizebar {\n\tz-index: 10;\n\theight: 13px;\n\tbackground-color: ThreeDFace;\n}\n\n/************* Client Area ***************/\n\n.dojoFloatingPaneClient {\n\tposition: relative;\n\tz-index: 10;\n\tborder: 1px solid;\n\tborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n\tmargin: 2px;\n\tbackground-color: ThreeDFace;\n
 \tpadding: 8px;\n\tfont-family: Verdana, Helvetica, Garamond, sans-serif;\n\tfont-size: 12px;\n\toverflow: auto;\n}\n\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/FloatingPane.css"), fillInFloatingPaneTemplate:function (args, frag) {
-	var source = this.getFragNodeRef(frag);
-	dojo.html.copyStyle(this.domNode, source);
-	dojo.body().appendChild(this.domNode);
-	if (!this.isShowing()) {
-		this.windowState = "minimized";
-	}
-	if (this.iconSrc == "") {
-		dojo.html.removeNode(this.titleBarIcon);
-	} else {
-		this.titleBarIcon.src = this.iconSrc.toString();
-	}
-	if (this.titleBarDisplay) {
-		this.titleBar.style.display = "";
-		dojo.html.disableSelection(this.titleBar);
-		this.titleBarIcon.style.display = (this.iconSrc == "" ? "none" : "");
-		this.minimizeAction.style.display = (this.displayMinimizeAction ? "" : "none");
-		this.maximizeAction.style.display = (this.displayMaximizeAction && this.windowState != "maximized" ? "" : "none");
-		this.restoreAction.style.display = (this.displayMaximizeAction && this.windowState == "maximized" ? "" : "none");
-		this.closeAction.style.display = (this.displayCloseAction ? "" : "none");
-		this.drag = new dojo.dnd.HtmlDragMoveSource(this.domNode);
-		if (this.constrainToContainer) {
-			this.drag.constrainTo();
-		}
-		this.drag.setDragHandle(this.titleBar);
-		var self = this;
-		dojo.event.topic.subscribe("dragMove", function (info) {
-			if (info.source.domNode == self.domNode) {
-				dojo.event.topic.publish("floatingPaneMove", {source:self});
-			}
-		});
-	}
-	if (this.resizable) {
-		this.resizeBar.style.display = "";
-		this.resizeHandle = dojo.widget.createWidget("ResizeHandle", {targetElmId:this.widgetId, id:this.widgetId + "_resize"});
-		this.resizeBar.appendChild(this.resizeHandle.domNode);
-	}
-	if (this.hasShadow) {
-		this.shadow = new dojo.lfx.shadow(this.domNode);
-	}
-	this.bgIframe = new dojo.html.BackgroundIframe(this.domNode);
-	if (this.taskBarId) {
-		this._taskBarSetup();
-	}
-	dojo.body().removeChild(this.domNode);
-}, postCreate:function () {
-	if (dojo.hostenv.post_load_) {
-		this._setInitialWindowState();
-	} else {
-		dojo.addOnLoad(this, "_setInitialWindowState");
-	}
-}, maximizeWindow:function (evt) {
-	var mb = dojo.html.getMarginBox(this.domNode);
-	this.previous = {width:mb.width || this.width, height:mb.height || this.height, left:this.domNode.style.left, top:this.domNode.style.top, bottom:this.domNode.style.bottom, right:this.domNode.style.right};
-	if (this.domNode.parentNode.style.overflow.toLowerCase() != "hidden") {
-		this.parentPrevious = {overflow:this.domNode.parentNode.style.overflow};
-		dojo.debug(this.domNode.parentNode.style.overflow);
-		this.domNode.parentNode.style.overflow = "hidden";
-	}
-	this.domNode.style.left = dojo.html.getPixelValue(this.domNode.parentNode, "padding-left", true) + "px";
-	this.domNode.style.top = dojo.html.getPixelValue(this.domNode.parentNode, "padding-top", true) + "px";
-	if ((this.domNode.parentNode.nodeName.toLowerCase() == "body")) {
-		var viewport = dojo.html.getViewport();
-		var padding = dojo.html.getPadding(dojo.body());
-		this.resizeTo(viewport.width - padding.width, viewport.height - padding.height);
-	} else {
-		var content = dojo.html.getContentBox(this.domNode.parentNode);
-		this.resizeTo(content.width, content.height);
-	}
-	this.maximizeAction.style.display = "none";
-	this.restoreAction.style.display = "";
-	if (this.resizeHandle) {
-		this.resizeHandle.domNode.style.display = "none";
-	}
-	this.drag.setDragHandle(null);
-	this.windowState = "maximized";
-}, minimizeWindow:function (evt) {
-	this.hide();
-	for (var attr in this.parentPrevious) {
-		this.domNode.parentNode.style[attr] = this.parentPrevious[attr];
-	}
-	this.lastWindowState = this.windowState;
-	this.windowState = "minimized";
-}, restoreWindow:function (evt) {
-	if (this.windowState == "minimized") {
-		this.show();
-		if (this.lastWindowState == "maximized") {
-			this.domNode.parentNode.style.overflow = "hidden";
-			this.windowState = "maximized";
-		} else {
-			this.windowState = "normal";
-		}
-	} else {
-		if (this.windowState == "maximized") {
-			for (var attr in this.previous) {
-				this.domNode.style[attr] = this.previous[attr];
-			}
-			for (var attr in this.parentPrevious) {
-				this.domNode.parentNode.style[attr] = this.parentPrevious[attr];
-			}
-			this.resizeTo(this.previous.width, this.previous.height);
-			this.previous = null;
-			this.parentPrevious = null;
-			this.restoreAction.style.display = "none";
-			this.maximizeAction.style.display = this.displayMaximizeAction ? "" : "none";
-			if (this.resizeHandle) {
-				this.resizeHandle.domNode.style.display = "";
-			}
-			this.drag.setDragHandle(this.titleBar);
-			this.windowState = "normal";
-		} else {
-		}
-	}
-}, toggleDisplay:function () {
-	if (this.windowState == "minimized") {
-		this.restoreWindow();
-	} else {
-		this.minimizeWindow();
-	}
-}, closeWindow:function (evt) {
-	dojo.html.removeNode(this.domNode);
-	this.destroy();
-}, onMouseDown:function (evt) {
-	this.bringToTop();
-}, bringToTop:function () {
-	var floatingPanes = dojo.widget.manager.getWidgetsByType(this.widgetType);
-	var windows = [];
-	for (var x = 0; x < floatingPanes.length; x++) {
-		if (this.widgetId != floatingPanes[x].widgetId) {
-			windows.push(floatingPanes[x]);
-		}
-	}
-	windows.sort(function (a, b) {
-		return a.domNode.style.zIndex - b.domNode.style.zIndex;
-	});
-	windows.push(this);
-	var floatingPaneStartingZ = 100;
-	for (x = 0; x < windows.length; x++) {
-		windows[x].domNode.style.zIndex = floatingPaneStartingZ + x * 2;
-	}
-}, _setInitialWindowState:function () {
-	if (this.isShowing()) {
-		this.width = -1;
-		var mb = dojo.html.getMarginBox(this.domNode);
-		this.resizeTo(mb.width, mb.height);
-	}
-	if (this.windowState == "maximized") {
-		this.maximizeWindow();
-		this.show();
-		return;
-	}
-	if (this.windowState == "normal") {
-		this.show();
-		return;
-	}
-	if (this.windowState == "minimized") {
-		this.hide();
-		return;
-	}
-	this.windowState = "minimized";
-}, _taskBarSetup:function () {
-	var taskbar = dojo.widget.getWidgetById(this.taskBarId);
-	if (!taskbar) {
-		if (this._taskBarConnectAttempts < this._max_taskBarConnectAttempts) {
-			dojo.lang.setTimeout(this, this._taskBarSetup, 50);
-			this._taskBarConnectAttempts++;
-		} else {
-			dojo.debug("Unable to connect to the taskBar");
-		}
-		return;
-	}
-	taskbar.addChild(this);
-}, showFloatingPane:function () {
-	this.bringToTop();
-}, onFloatingPaneShow:function () {
-	var mb = dojo.html.getMarginBox(this.domNode);
-	this.resizeTo(mb.width, mb.height);
-}, resizeTo:function (width, height) {
-	dojo.html.setMarginBox(this.domNode, {width:width, height:height});
-	dojo.widget.html.layout(this.domNode, [{domNode:this.titleBar, layoutAlign:"top"}, {domNode:this.resizeBar, layoutAlign:"bottom"}, {domNode:this.containerNode, layoutAlign:"client"}]);
-	dojo.widget.html.layout(this.containerNode, this.children, "top-bottom");
-	this.bgIframe.onResized();
-	if (this.shadow) {
-		this.shadow.size(width, height);
-	}
-	this.onResized();
-}, checkSize:function () {
-}, destroyFloatingPane:function () {
-	if (this.resizeHandle) {
-		this.resizeHandle.destroy();
-		this.resizeHandle = null;
-	}
-}});
-dojo.widget.defineWidget("dojo.widget.FloatingPane", [dojo.widget.ContentPane, dojo.widget.FloatingPaneBase], {fillInTemplate:function (args, frag) {
-	this.fillInFloatingPaneTemplate(args, frag);
-	dojo.widget.FloatingPane.superclass.fillInTemplate.call(this, args, frag);
-}, postCreate:function () {
-	dojo.widget.FloatingPaneBase.prototype.postCreate.apply(this, arguments);
-	dojo.widget.FloatingPane.superclass.postCreate.apply(this, arguments);
-}, show:function () {
-	dojo.widget.FloatingPane.superclass.show.apply(this, arguments);
-	this.showFloatingPane();
-}, onShow:function () {
-	dojo.widget.FloatingPane.superclass.onShow.call(this);
-	this.onFloatingPaneShow();
-}, destroy:function () {
-	this.destroyFloatingPane();
-	dojo.widget.FloatingPane.superclass.destroy.apply(this, arguments);
-}});
-dojo.widget.defineWidget("dojo.widget.ModalFloatingPane", [dojo.widget.FloatingPane, dojo.widget.ModalDialogBase], {windowState:"minimized", displayCloseAction:true, postCreate:function () {
-	dojo.widget.ModalDialogBase.prototype.postCreate.call(this);
-	dojo.widget.ModalFloatingPane.superclass.postCreate.call(this);
-}, show:function () {
-	this.showModalDialog();
-	dojo.widget.ModalFloatingPane.superclass.show.apply(this, arguments);
-	this.bg.style.zIndex = this.domNode.style.zIndex - 1;
-}, hide:function () {
-	this.hideModalDialog();
-	dojo.widget.ModalFloatingPane.superclass.hide.apply(this, arguments);
-}, closeWindow:function () {
-	this.hide();
-	dojo.widget.ModalFloatingPane.superclass.closeWindow.apply(this, arguments);
-}});
-