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:59:01 UTC

[34/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/flash.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash.js
deleted file mode 100644
index f001268..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash.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.flash");
-dojo.require("dojo.string.*");
-dojo.require("dojo.uri.*");
-dojo.require("dojo.html.common");
-dojo.flash = function () {
-};
-dojo.flash = {flash6_version:null, flash8_version:null, ready:false, _visible:true, _loadedListeners:new Array(), _installingListeners:new Array(), setSwf:function (fileInfo) {
-	if (fileInfo == null || dojo.lang.isUndefined(fileInfo)) {
-		return;
-	}
-	if (fileInfo.flash6 != null && !dojo.lang.isUndefined(fileInfo.flash6)) {
-		this.flash6_version = fileInfo.flash6;
-	}
-	if (fileInfo.flash8 != null && !dojo.lang.isUndefined(fileInfo.flash8)) {
-		this.flash8_version = fileInfo.flash8;
-	}
-	if (!dojo.lang.isUndefined(fileInfo.visible)) {
-		this._visible = fileInfo.visible;
-	}
-	this._initialize();
-}, useFlash6:function () {
-	if (this.flash6_version == null) {
-		return false;
-	} else {
-		if (this.flash6_version != null && dojo.flash.info.commVersion == 6) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-}, useFlash8:function () {
-	if (this.flash8_version == null) {
-		return false;
-	} else {
-		if (this.flash8_version != null && dojo.flash.info.commVersion == 8) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-}, addLoadedListener:function (listener) {
-	this._loadedListeners.push(listener);
-}, addInstallingListener:function (listener) {
-	this._installingListeners.push(listener);
-}, loaded:function () {
-	dojo.flash.ready = true;
-	if (dojo.flash._loadedListeners.length > 0) {
-		for (var i = 0; i < dojo.flash._loadedListeners.length; i++) {
-			dojo.flash._loadedListeners[i].call(null);
-		}
-	}
-}, installing:function () {
-	if (dojo.flash._installingListeners.length > 0) {
-		for (var i = 0; i < dojo.flash._installingListeners.length; i++) {
-			dojo.flash._installingListeners[i].call(null);
-		}
-	}
-}, _initialize:function () {
-	var installer = new dojo.flash.Install();
-	dojo.flash.installer = installer;
-	if (installer.needed() == true) {
-		installer.install();
-	} else {
-		dojo.flash.obj = new dojo.flash.Embed(this._visible);
-		dojo.flash.obj.write(dojo.flash.info.commVersion);
-		dojo.flash.comm = new dojo.flash.Communicator();
-	}
-}};
-dojo.flash.Info = function () {
-	if (dojo.render.html.ie) {
-		document.writeln("<script language=\"VBScript\" type=\"text/vbscript\">");
-		document.writeln("Function VBGetSwfVer(i)");
-		document.writeln("  on error resume next");
-		document.writeln("  Dim swControl, swVersion");
-		document.writeln("  swVersion = 0");
-		document.writeln("  set swControl = CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" + CStr(i))");
-		document.writeln("  if (IsObject(swControl)) then");
-		document.writeln("	swVersion = swControl.GetVariable(\"$version\")");
-		document.writeln("  end if");
-		document.writeln("  VBGetSwfVer = swVersion");
-		document.writeln("End Function");
-		document.writeln("</script>");
-	}
-	this._detectVersion();
-	this._detectCommunicationVersion();
-};
-dojo.flash.Info.prototype = {version:-1, versionMajor:-1, versionMinor:-1, versionRevision:-1, capable:false, commVersion:6, installing:false, isVersionOrAbove:function (reqMajorVer, reqMinorVer, reqVer) {
-	reqVer = parseFloat("." + reqVer);
-	if (this.versionMajor >= reqMajorVer && this.versionMinor >= reqMinorVer && this.versionRevision >= reqVer) {
-		return true;
-	} else {
-		return false;
-	}
-}, _detectVersion:function () {
-	var versionStr;
-	for (var testVersion = 25; testVersion > 0; testVersion--) {
-		if (dojo.render.html.ie) {
-			versionStr = VBGetSwfVer(testVersion);
-		} else {
-			versionStr = this._JSFlashInfo(testVersion);
-		}
-		if (versionStr == -1) {
-			this.capable = false;
-			return;
-		} else {
-			if (versionStr != 0) {
-				var versionArray;
-				if (dojo.render.html.ie) {
-					var tempArray = versionStr.split(" ");
-					var tempString = tempArray[1];
-					versionArray = tempString.split(",");
-				} else {
-					versionArray = versionStr.split(".");
-				}
-				this.versionMajor = versionArray[0];
-				this.versionMinor = versionArray[1];
-				this.versionRevision = versionArray[2];
-				var versionString = this.versionMajor + "." + this.versionRevision;
-				this.version = parseFloat(versionString);
-				this.capable = true;
-				break;
-			}
-		}
-	}
-}, _JSFlashInfo:function (testVersion) {
-	if (navigator.plugins != null && navigator.plugins.length > 0) {
-		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
-			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
-			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
-			var descArray = flashDescription.split(" ");
-			var tempArrayMajor = descArray[2].split(".");
-			var versionMajor = tempArrayMajor[0];
-			var versionMinor = tempArrayMajor[1];
-			if (descArray[3] != "") {
-				var tempArrayMinor = descArray[3].split("r");
-			} else {
-				var tempArrayMinor = descArray[4].split("r");
-			}
-			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
-			var version = versionMajor + "." + versionMinor + "." + versionRevision;
-			return version;
-		}
-	}
-	return -1;
-}, _detectCommunicationVersion:function () {
-	if (this.capable == false) {
-		this.commVersion = null;
-		return;
-	}
-	if (typeof djConfig["forceFlashComm"] != "undefined" && typeof djConfig["forceFlashComm"] != null) {
-		this.commVersion = djConfig["forceFlashComm"];
-		return;
-	}
-	if (dojo.render.html.safari == true || dojo.render.html.opera == true) {
-		this.commVersion = 8;
-	} else {
-		this.commVersion = 6;
-	}
-}};
-dojo.flash.Embed = function (visible) {
-	this._visible = visible;
-};
-dojo.flash.Embed.prototype = {width:215, height:138, id:"flashObject", _visible:true, protocol:function () {
-	switch (window.location.protocol) {
-	  case "https:":
-		return "https";
-		break;
-	  default:
-		return "http";
-		break;
-	}
-}, write:function (flashVer, doExpressInstall) {
-	if (dojo.lang.isUndefined(doExpressInstall)) {
-		doExpressInstall = false;
-	}
-	var containerStyle = new dojo.string.Builder();
-	containerStyle.append("width: " + this.width + "px; ");
-	containerStyle.append("height: " + this.height + "px; ");
-	if (this._visible == false) {
-		containerStyle.append("position: absolute; ");
-		containerStyle.append("z-index: 10000; ");
-		containerStyle.append("top: -1000px; ");
-		containerStyle.append("left: -1000px; ");
-	}
-	containerStyle = containerStyle.toString();
-	var objectHTML;
-	var swfloc;
-	if (flashVer == 6) {
-		swfloc = dojo.flash.flash6_version;
-		var dojoPath = djConfig.baseRelativePath;
-		swfloc = swfloc + "?baseRelativePath=" + escape(dojoPath);
-		objectHTML = "<embed id=\"" + this.id + "\" src=\"" + swfloc + "\" " + "	quality=\"high\" bgcolor=\"#ffffff\" " + "	width=\"" + this.width + "\" height=\"" + this.height + "\" " + "	name=\"" + this.id + "\" " + "	align=\"middle\" allowScriptAccess=\"sameDomain\" " + "	type=\"application/x-shockwave-flash\" swLiveConnect=\"true\" " + "	pluginspage=\"" + this.protocol() + "://www.macromedia.com/go/getflashplayer\">";
-	} else {
-		swfloc = dojo.flash.flash8_version;
-		var swflocObject = swfloc;
-		var swflocEmbed = swfloc;
-		var dojoPath = djConfig.baseRelativePath;
-		if (doExpressInstall) {
-			var redirectURL = escape(window.location);
-			document.title = document.title.slice(0, 47) + " - Flash Player Installation";
-			var docTitle = escape(document.title);
-			swflocObject += "?MMredirectURL=" + redirectURL + "&MMplayerType=ActiveX" + "&MMdoctitle=" + docTitle + "&baseRelativePath=" + escape(dojoPath);
-			swflocEmbed += "?MMredirectURL=" + redirectURL + "&MMplayerType=PlugIn" + "&baseRelativePath=" + escape(dojoPath);
-		}
-		if (swflocEmbed.indexOf("?") == -1) {
-			swflocEmbed += "?baseRelativePath=" + escape(dojoPath) + "' ";
-		}
-		objectHTML = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" " + "codebase=\"" + this.protocol() + "://fpdownload.macromedia.com/pub/shockwave/cabs/flash/" + "swflash.cab#version=8,0,0,0\" " + "width=\"" + this.width + "\" " + "height=\"" + this.height + "\" " + "id=\"" + this.id + "\" " + "align=\"middle\"> " + "<param name=\"allowScriptAccess\" value=\"sameDomain\" /> " + "<param name=\"movie\" value=\"" + swflocObject + "\" /> " + "<param name=\"quality\" value=\"high\" /> " + "<param name=\"bgcolor\" value=\"#ffffff\" /> " + "<embed src=\"" + swflocEmbed + "' " + "quality=\"high\" " + "bgcolor=\"#ffffff\" " + "width=\"" + this.width + "\" " + "height=\"" + this.height + "\" " + "id=\"" + this.id + "\" " + "name=\"" + this.id + "\" " + "swLiveConnect=\"true\" " + "align=\"middle\" " + "allowScriptAccess=\"sameDomain\" " + "type=\"application/x-shockwave-flash\" " + "pluginspage=\"" + this.protocol() + "://www.macromedia.com/go/getflashplayer\" />" + "</object>";
-	}
-	objectHTML = "<div id=\"" + this.id + "Container\" style=\"" + containerStyle + "\"> " + objectHTML + "</div>";
-	document.writeln(objectHTML);
-}, get:function () {
-	return document.getElementById(this.id);
-}, setVisible:function (visible) {
-	var container = dojo.byId(this.id + "Container");
-	if (visible == true) {
-		container.style.visibility = "visible";
-	} else {
-		container.style.position = "absolute";
-		container.style.x = "-1000px";
-		container.style.y = "-1000px";
-		container.style.visibility = "hidden";
-	}
-}, center:function () {
-	var elementWidth = this.width;
-	var elementHeight = this.height;
-	var scroll_offset = dojo.html.getScroll().offset;
-	var viewport_size = dojo.html.getViewport();
-	var x = scroll_offset.x + (viewport_size.width - elementWidth) / 2;
-	var y = scroll_offset.y + (viewport_size.height - elementHeight) / 2;
-	var container = dojo.byId(this.id + "Container");
-	container.style.top = y + "px";
-	container.style.left = x + "px";
-}};
-dojo.flash.Communicator = function () {
-	if (dojo.flash.useFlash6()) {
-		this._writeFlash6();
-	} else {
-		if (dojo.flash.useFlash8()) {
-			this._writeFlash8();
-		}
-	}
-};
-dojo.flash.Communicator.prototype = {_writeFlash6:function () {
-	var id = dojo.flash.obj.id;
-	document.writeln("<script language=\"JavaScript\">");
-	document.writeln("  function " + id + "_DoFSCommand(command, args){ ");
-	document.writeln("	dojo.flash.comm._handleFSCommand(command, args); ");
-	document.writeln("}");
-	document.writeln("</script>");
-	if (dojo.render.html.ie) {
-		document.writeln("<SCRIPT LANGUAGE=VBScript> ");
-		document.writeln("on error resume next ");
-		document.writeln("Sub " + id + "_FSCommand(ByVal command, ByVal args)");
-		document.writeln(" call " + id + "_DoFSCommand(command, args)");
-		document.writeln("end sub");
-		document.writeln("</SCRIPT> ");
-	}
-}, _writeFlash8:function () {
-}, _handleFSCommand:function (command, args) {
-	if (command != null && !dojo.lang.isUndefined(command) && /^FSCommand:(.*)/.test(command) == true) {
-		command = command.match(/^FSCommand:(.*)/)[1];
-	}
-	if (command == "addCallback") {
-		this._fscommandAddCallback(command, args);
-	} else {
-		if (command == "call") {
-			this._fscommandCall(command, args);
-		} else {
-			if (command == "fscommandReady") {
-				this._fscommandReady();
-			}
-		}
-	}
-}, _fscommandAddCallback:function (command, args) {
-	var functionName = args;
-	var callFunc = function () {
-		return dojo.flash.comm._call(functionName, arguments);
-	};
-	dojo.flash.comm[functionName] = callFunc;
-	dojo.flash.obj.get().SetVariable("_succeeded", true);
-}, _fscommandCall:function (command, args) {
-	var plugin = dojo.flash.obj.get();
-	var functionName = args;
-	var numArgs = parseInt(plugin.GetVariable("_numArgs"));
-	var flashArgs = new Array();
-	for (var i = 0; i < numArgs; i++) {
-		var currentArg = plugin.GetVariable("_" + i);
-		flashArgs.push(currentArg);
-	}
-	var runMe;
-	if (functionName.indexOf(".") == -1) {
-		runMe = window[functionName];
-	} else {
-		runMe = eval(functionName);
-	}
-	var results = null;
-	if (!dojo.lang.isUndefined(runMe) && runMe != null) {
-		results = runMe.apply(null, flashArgs);
-	}
-	plugin.SetVariable("_returnResult", results);
-}, _fscommandReady:function () {
-	var plugin = dojo.flash.obj.get();
-	plugin.SetVariable("fscommandReady", "true");
-}, _call:function (functionName, args) {
-	var plugin = dojo.flash.obj.get();
-	plugin.SetVariable("_functionName", functionName);
-	plugin.SetVariable("_numArgs", args.length);
-	for (var i = 0; i < args.length; i++) {
-		var value = args[i];
-		value = value.replace(/\0/g, "\\0");
-		plugin.SetVariable("_" + i, value);
-	}
-	plugin.TCallLabel("/_flashRunner", "execute");
-	var results = plugin.GetVariable("_returnResult");
-	results = results.replace(/\\0/g, "\x00");
-	return results;
-}, _addExternalInterfaceCallback:function (methodName) {
-	var wrapperCall = function () {
-		var methodArgs = new Array(arguments.length);
-		for (var i = 0; i < arguments.length; i++) {
-			methodArgs[i] = arguments[i];
-		}
-		return dojo.flash.comm._execFlash(methodName, methodArgs);
-	};
-	dojo.flash.comm[methodName] = wrapperCall;
-}, _encodeData:function (data) {
-	var entityRE = /\&([^;]*)\;/g;
-	data = data.replace(entityRE, "&amp;$1;");
-	data = data.replace(/</g, "&lt;");
-	data = data.replace(/>/g, "&gt;");
-	data = data.replace("\\", "&custom_backslash;&custom_backslash;");
-	data = data.replace(/\n/g, "\\n");
-	data = data.replace(/\r/g, "\\r");
-	data = data.replace(/\f/g, "\\f");
-	data = data.replace(/\0/g, "\\0");
-	data = data.replace(/\'/g, "\\'");
-	data = data.replace(/\"/g, "\\\"");
-	return data;
-}, _decodeData:function (data) {
-	if (data == null || typeof data == "undefined") {
-		return data;
-	}
-	data = data.replace(/\&custom_lt\;/g, "<");
-	data = data.replace(/\&custom_gt\;/g, ">");
-	data = eval("\"" + data + "\"");
-	return data;
-}, _chunkArgumentData:function (value, argIndex) {
-	var plugin = dojo.flash.obj.get();
-	var numSegments = Math.ceil(value.length / 1024);
-	for (var i = 0; i < numSegments; i++) {
-		var startCut = i * 1024;
-		var endCut = i * 1024 + 1024;
-		if (i == (numSegments - 1)) {
-			endCut = i * 1024 + value.length;
-		}
-		var piece = value.substring(startCut, endCut);
-		piece = this._encodeData(piece);
-		plugin.CallFunction("<invoke name=\"chunkArgumentData\" " + "returntype=\"javascript\">" + "<arguments>" + "<string>" + piece + "</string>" + "<number>" + argIndex + "</number>" + "</arguments>" + "</invoke>");
-	}
-}, _chunkReturnData:function () {
-	var plugin = dojo.flash.obj.get();
-	var numSegments = plugin.getReturnLength();
-	var resultsArray = new Array();
-	for (var i = 0; i < numSegments; i++) {
-		var piece = plugin.CallFunction("<invoke name=\"chunkReturnData\" " + "returntype=\"javascript\">" + "<arguments>" + "<number>" + i + "</number>" + "</arguments>" + "</invoke>");
-		if (piece == "\"\"" || piece == "''") {
-			piece = "";
-		} else {
-			piece = piece.substring(1, piece.length - 1);
-		}
-		resultsArray.push(piece);
-	}
-	var results = resultsArray.join("");
-	return results;
-}, _execFlash:function (methodName, methodArgs) {
-	var plugin = dojo.flash.obj.get();
-	plugin.startExec();
-	plugin.setNumberArguments(methodArgs.length);
-	for (var i = 0; i < methodArgs.length; i++) {
-		this._chunkArgumentData(methodArgs[i], i);
-	}
-	plugin.exec(methodName);
-	var results = this._chunkReturnData();
-	results = this._decodeData(results);
-	plugin.endExec();
-	return results;
-}};
-dojo.flash.Install = function () {
-};
-dojo.flash.Install.prototype = {needed:function () {
-	if (dojo.flash.info.capable == false) {
-		return true;
-	}
-	if (dojo.render.os.mac == true && !dojo.flash.info.isVersionOrAbove(8, 0, 0)) {
-		return true;
-	}
-	if (!dojo.flash.info.isVersionOrAbove(6, 0, 0)) {
-		return true;
-	}
-	return false;
-}, install:function () {
-	dojo.flash.info.installing = true;
-	dojo.flash.installing();
-	if (dojo.flash.info.capable == false) {
-		var installObj = new dojo.flash.Embed(false);
-		installObj.write(8);
-	} else {
-		if (dojo.flash.info.isVersionOrAbove(6, 0, 65)) {
-			var installObj = new dojo.flash.Embed(false);
-			installObj.write(8, true);
-			installObj.setVisible(true);
-			installObj.center();
-		} else {
-			alert("This content requires a more recent version of the Macromedia " + " Flash Player.");
-			window.location.href = +dojo.flash.Embed.protocol() + "://www.macromedia.com/go/getflashplayer";
-		}
-	}
-}, _onInstallStatus:function (msg) {
-	if (msg == "Download.Complete") {
-		dojo.flash._initialize();
-	} else {
-		if (msg == "Download.Cancelled") {
-			alert("This content requires a more recent version of the Macromedia " + " Flash Player.");
-			window.location.href = dojo.flash.Embed.protocol() + "://www.macromedia.com/go/getflashplayer";
-		} else {
-			if (msg == "Download.Failed") {
-				alert("There was an error downloading the Flash Player update. " + "Please try again later, or visit macromedia.com to download " + "the latest version of the Flash plugin.");
-			}
-		}
-	}
-}};
-dojo.flash.info = new dojo.flash.Info();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/DojoExternalInterface.as
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/DojoExternalInterface.as b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/DojoExternalInterface.as
deleted file mode 100644
index d7e1d4c..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/DojoExternalInterface.as
+++ /dev/null
@@ -1,215 +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
-*/
-
-/** 
-		An implementation of Flash 8's ExternalInterface that works with Flash 6
-		and which is source-compatible with Flash 8. 
-		
-		@author Brad Neuberg, bkn3@columbia.edu 
-*/
-
-class DojoExternalInterface{
-	public static var available:Boolean;
-	public static var dojoPath = "";
-	
-	public static var _fscommandReady = false;
-	public static var _callbacks = new Array();
-
-	public static function initialize(){ 
-		//getURL("javascript:dojo.debug('FLASH:DojoExternalInterface initialize')");
-		// FIXME: Set available variable by testing for capabilities
-		DojoExternalInterface.available = true;
-		
-		// extract the dojo base path
-		DojoExternalInterface.dojoPath = DojoExternalInterface.getDojoPath();
-		//getURL("javascript:dojo.debug('FLASH:dojoPath="+DojoExternalInterface.dojoPath+"')");
-		
-		// Sometimes, on IE, the fscommand infrastructure can take a few hundred
-		// milliseconds the first time a page loads. Set a timer to keep checking
-		// to make sure we can issue fscommands; otherwise, our calls to fscommand
-		// for setCallback() and loaded() will just "disappear"
-		_root.fscommandReady = false;
-		var fsChecker = function(){
-			// issue a test fscommand
-			fscommand("fscommandReady");
-			
-			// JavaScript should set _root.fscommandReady if it got the call
-			if(_root.fscommandReady == "true"){
-				DojoExternalInterface._fscommandReady = true;
-				clearInterval(_root.fsTimer);
-			}
-		};
-		_root.fsTimer = setInterval(fsChecker, 100);
-	}
-	
-	public static function addCallback(methodName:String, instance:Object, 
-											method:Function) : Boolean{
-		// A variable that indicates whether the call below succeeded
-		_root._succeeded = null;
-		
-		// Callbacks are registered with the JavaScript side as follows.
-		// On the Flash side, we maintain a lookup table that associates
-		// the methodName with the actual instance and method that are
-		// associated with this method.
-		// Using fscommand, we send over the action "addCallback", with the
-		// argument being the methodName to add, such as "foobar".
-		// The JavaScript takes these values and registers the existence of
-		// this callback point.
-		
-		// precede the method name with a _ character in case it starts
-		// with a number
-		_callbacks["_" + methodName] = {_instance: instance, _method: method};
-		_callbacks[_callbacks.length] = methodName;
-		
-		// The API for ExternalInterface says we have to make sure the call
-		// succeeded; check to see if there is a value 
-		// for _succeeded, which is set by the JavaScript side
-		if(_root._succeeded == null){
-			return false;
-		}else{
-			return true;
-		}
-	}
-	
-	public static function call(methodName:String, 
-								resultsCallback:Function) : Void{
-		// FIXME: support full JSON serialization
-		
-		// First, we pack up all of the arguments to this call and set them
-		// as Flash variables, which the JavaScript side will unpack using
-		// plugin.GetVariable(). We set the number of arguments as "_numArgs",
-		// and add each argument as a variable, such as "_1", "_2", etc., starting
-		// from 0.
-		// We then execute an fscommand with the action "call" and the
-		// argument being the method name. JavaScript takes the method name,
-		// retrieves the arguments using GetVariable, executes the method,
-		// and then places the return result in a Flash variable
-		// named "_returnResult".
-		_root._numArgs = arguments.length - 2;
-		for(var i = 2; i < arguments.length; i++){
-			var argIndex = i - 2;
-			_root["_" + argIndex] = arguments[i];
-		}
-		
-		_root._returnResult = undefined;
-		fscommand("call", methodName);
-		
-		// immediately return if the caller is not waiting for return results
-		if(resultsCallback == undefined || resultsCallback == null){
-			return;
-		}
-		
-		// check at regular intervals for return results	
-		var resultsChecker = function(){
-			if((typeof _root._returnResult != "undefined")&&
-				(_root._returnResult != "undefined")){
-				clearInterval(_root._callbackID);
-				resultsCallback.call(null, _root._returnResult);
-			}
-		};	
-		_root._callbackID = setInterval(resultsChecker, 100);
-	}
-	
-	/** 
-			Called by Flash to indicate to JavaScript that we are ready to have
-			our Flash functions called. Calling loaded()
-			will fire the dojo.flash.loaded() event, so that JavaScript can know that
-			Flash has finished loading and adding its callbacks, and can begin to
-			interact with the Flash file.
-	*/
-	public static function loaded(){
-		//getURL("javascript:dojo.debug('FLASH:loaded')");
-		
-		// one more step: see if fscommands are ready to be executed; if not,
-		// set an interval that will keep running until fscommands are ready;
-		// make sure the gateway is loaded as well
-		var execLoaded = function(){
-			if(DojoExternalInterface._fscommandReady == true){
-				clearInterval(_root.loadedInterval);
-				
-				// initialize the small Flash file that helps gateway JS to Flash
-				// calls
-				DojoExternalInterface._initializeFlashRunner();
-			}	
-		};
-		
-		if(_fscommandReady == true){
-			execLoaded();
-		}else{
-			_root.loadedInterval = setInterval(execLoaded, 50);
-		}
-	}
-	
-	/** 
-			Handles and executes a JavaScript to Flash method call. Used by
-			initializeFlashRunner. 
-	*/
-	public static function _handleJSCall(){
-		// get our parameters
-		var numArgs = parseInt(_root._numArgs);
-		var jsArgs = new Array();
-		for(var i = 0; i < numArgs; i++){
-			var currentValue = _root["_" + i];
-			jsArgs.push(currentValue);
-		}
-		
-		// get our function name
-		var functionName = _root._functionName;
-		
-		// now get the actual instance and method object to execute on,
-		// using our lookup table that was constructed by calls to
-		// addCallback on initialization
-		var instance = _callbacks["_" + functionName]._instance;
-		var method = _callbacks["_" + functionName]._method;
-		
-		// execute it
-		var results = method.apply(instance, jsArgs);
-		
-		// return the results
-		_root._returnResult = results;
-	}
-	
-	/** Called by the flash6_gateway.swf to indicate that it is loaded. */
-	public static function _gatewayReady(){
-		for(var i = 0; i < _callbacks.length; i++){
-			fscommand("addCallback", _callbacks[i]);
-		}
-		call("dojo.flash.loaded");
-	}
-	
-	/** 
-			When JavaScript wants to communicate with Flash it simply sets
-			the Flash variable "_execute" to true; this method creates the
-			internal Movie Clip, called the Flash Runner, that makes this
-			magic happen.
-	*/
-	public static function _initializeFlashRunner(){
-		// figure out where our Flash movie is
-		var swfLoc = DojoExternalInterface.dojoPath + "flash6_gateway.swf";
-		
-		// load our gateway helper file
-		_root.createEmptyMovieClip("_flashRunner", 5000);
-		_root._flashRunner._lockroot = true;
-		_root._flashRunner.loadMovie(swfLoc);
-	}
-	
-	private static function getDojoPath(){
-		var url = _root._url;
-		var start = url.indexOf("baseRelativePath=") + "baseRelativePath=".length;
-		var path = url.substring(start);
-		var end = path.indexOf("&");
-		if(end != -1){
-			path = path.substring(0, end);
-		}
-		return path;
-	}
-}
-
-// vim:ts=4:noet:tw=0:

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/flash6_gateway.fla
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/flash6_gateway.fla b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/flash6_gateway.fla
deleted file mode 100644
index d1f1c74..0000000
Binary files a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/flash6_gateway.fla and /dev/null differ

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/DojoExternalInterface.as
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/DojoExternalInterface.as b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/DojoExternalInterface.as
deleted file mode 100644
index af787ef..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/DojoExternalInterface.as
+++ /dev/null
@@ -1,234 +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
-*/
-
-/**
-	A wrapper around Flash 8's ExternalInterface; DojoExternalInterface is needed so that we
-	can do a Flash 6 implementation of ExternalInterface, and be able
-	to support having a single codebase that uses DojoExternalInterface
-	across Flash versions rather than having two seperate source bases,
-	where one uses ExternalInterface and the other uses DojoExternalInterface.
-	
-	DojoExternalInterface class does a variety of optimizations to bypass ExternalInterface's
-	unbelievably bad performance so that we can have good performance
-	on Safari; see the blog post
-	http://codinginparadise.org/weblog/2006/02/how-to-speed-up-flash-8s.html
-	for details.
-	
-	@author Brad Neuberg, bkn3@columbia.edu
-*/
-import flash.external.ExternalInterface;
-
-class DojoExternalInterface{
-	public static var available:Boolean;
-	public static var dojoPath = "";
-	
-	private static var flashMethods:Array = new Array();
-	private static var numArgs:Number;
-	private static var argData:Array;
-	private static var resultData = null;
-	
-	public static function initialize(){
-		// extract the dojo base path
-		DojoExternalInterface.dojoPath = DojoExternalInterface.getDojoPath();
-		
-		// see if we need to do an express install
-		var install:ExpressInstall = new ExpressInstall();
-		if(install.needsUpdate){
-			install.init();
-		}
-		
-		// register our callback functions
-		ExternalInterface.addCallback("startExec", DojoExternalInterface, startExec);
-		ExternalInterface.addCallback("setNumberArguments", DojoExternalInterface,
-																	setNumberArguments);
-		ExternalInterface.addCallback("chunkArgumentData", DojoExternalInterface,
-																	chunkArgumentData);
-		ExternalInterface.addCallback("exec", DojoExternalInterface, exec);
-		ExternalInterface.addCallback("getReturnLength", DojoExternalInterface,
-																	getReturnLength);
-		ExternalInterface.addCallback("chunkReturnData", DojoExternalInterface,
-																	chunkReturnData);
-		ExternalInterface.addCallback("endExec", DojoExternalInterface, endExec);
-		
-		// set whether communication is available
-		DojoExternalInterface.available = ExternalInterface.available;
-		DojoExternalInterface.call("loaded");
-	}
-	
-	public static function addCallback(methodName:String, instance:Object, 
-										 								 method:Function) : Boolean{
-		// register DojoExternalInterface methodName with it's instance
-		DojoExternalInterface.flashMethods[methodName] = instance;
-		
-		// tell JavaScript about DojoExternalInterface new method so we can create a proxy
-		ExternalInterface.call("dojo.flash.comm._addExternalInterfaceCallback", 
-													 methodName);
-													 
-		return true;
-	}
-	
-	public static function call(methodName:String,
-								resultsCallback:Function) : Void{
-		// we might have any number of optional arguments, so we have to 
-		// pass them in dynamically; strip out the results callback
-		var parameters = new Array();
-		for(var i = 0; i < arguments.length; i++){
-			if(i != 1){ // skip the callback
-				parameters.push(arguments[i]);
-			}
-		}
-		
-		var results = ExternalInterface.call.apply(ExternalInterface, parameters);
-		
-		// immediately give the results back, since ExternalInterface is
-		// synchronous
-		if(resultsCallback != null && typeof resultsCallback != "undefined"){
-			resultsCallback.call(null, results);
-		}
-	}
-	
-	/** 
-			Called by Flash to indicate to JavaScript that we are ready to have
-			our Flash functions called. Calling loaded()
-			will fire the dojo.flash.loaded() event, so that JavaScript can know that
-			Flash has finished loading and adding its callbacks, and can begin to
-			interact with the Flash file.
-	*/
-	public static function loaded(){
-		DojoExternalInterface.call("dojo.flash.loaded");
-	}
-	
-	public static function startExec():Void{
-		DojoExternalInterface.numArgs = null;
-		DojoExternalInterface.argData = null;
-		DojoExternalInterface.resultData = null;
-	}
-	
-	public static function setNumberArguments(numArgs):Void{
-		DojoExternalInterface.numArgs = numArgs;
-		DojoExternalInterface.argData = new Array(DojoExternalInterface.numArgs);
-	}
-	
-	public static function chunkArgumentData(value, argIndex:Number):Void{
-		//getURL("javascript:dojo.debug('FLASH: chunkArgumentData, value="+value+", argIndex="+argIndex+"')");
-		var currentValue = DojoExternalInterface.argData[argIndex];
-		if(currentValue == null || typeof currentValue == "undefined"){
-			DojoExternalInterface.argData[argIndex] = value;
-		}else{
-			DojoExternalInterface.argData[argIndex] += value;
-		}
-	}
-	
-	public static function exec(methodName):Void{
-		// decode all of the arguments that were passed in
-		for(var i = 0; i < DojoExternalInterface.argData.length; i++){
-			DojoExternalInterface.argData[i] = 
-				DojoExternalInterface.decodeData(DojoExternalInterface.argData[i]);
-		}
-		
-		var instance = DojoExternalInterface.flashMethods[methodName];
-		DojoExternalInterface.resultData = instance[methodName].apply(
-																			instance, DojoExternalInterface.argData);
-		// encode the result data
-		DojoExternalInterface.resultData = 
-			DojoExternalInterface.encodeData(DojoExternalInterface.resultData);
-			
-		//getURL("javascript:dojo.debug('FLASH: encoded result data="+DojoExternalInterface.resultData+"')");
-	}
-	
-	public static function getReturnLength():Number{
-	 if(DojoExternalInterface.resultData == null || 
-	 					typeof DojoExternalInterface.resultData == "undefined"){
-	 	return 0;
-	 }
-	 var segments = Math.ceil(DojoExternalInterface.resultData.length / 1024);
-	 return segments;
-	}
-	
-	public static function chunkReturnData(segment:Number):String{
-		var numSegments = DojoExternalInterface.getReturnLength();
-		var startCut = segment * 1024;
-		var endCut = segment * 1024 + 1024;
-		if(segment == (numSegments - 1)){
-			endCut = segment * 1024 + DojoExternalInterface.resultData.length;
-		}
-			
-		var piece = DojoExternalInterface.resultData.substring(startCut, endCut);
-		
-		//getURL("javascript:dojo.debug('FLASH: chunking return piece="+piece+"')");
-		
-		return piece;
-	}
-	
-	public static function endExec():Void{
-	}
-	
-	private static function decodeData(data):String{
-		// we have to use custom encodings for certain characters when passing
-		// them over; for example, passing a backslash over as //// from JavaScript
-		// to Flash doesn't work
-		data = DojoExternalInterface.replaceStr(data, "&custom_backslash;", "\\");
-		
-		data = DojoExternalInterface.replaceStr(data, "\\\'", "\'");
-		data = DojoExternalInterface.replaceStr(data, "\\\"", "\"");
-		
-		return data;
-	}
-	
-	private static function encodeData(data){
-		//getURL("javascript:dojo.debug('inside flash, data before="+data+"')");
-
-		// double encode all entity values, or they will be mis-decoded
-		// by Flash when returned
-		data = DojoExternalInterface.replaceStr(data, "&", "&amp;");
-		
-		// certain XMLish characters break Flash's wire serialization for
-		// ExternalInterface; encode these into a custom encoding, rather than
-		// the standard entity encoding, because otherwise we won't be able to
-		// differentiate between our own encoding and any entity characters
-		// that are being used in the string itself
-		data = DojoExternalInterface.replaceStr(data, '<', '&custom_lt;');
-		data = DojoExternalInterface.replaceStr(data, '>', '&custom_gt;');
-		
-		// encode control characters and JavaScript delimiters
-		data = DojoExternalInterface.replaceStr(data, "\n", "\\n");
-		data = DojoExternalInterface.replaceStr(data, "\r", "\\r");
-		data = DojoExternalInterface.replaceStr(data, "\f", "\\f");
-		data = DojoExternalInterface.replaceStr(data, "'", "\\'");
-		data = DojoExternalInterface.replaceStr(data, '"', '\"');
-		
-		//getURL("javascript:dojo.debug('inside flash, data after="+data+"')");
-		return data;
-	}
-	
-	/** 
-			Flash ActionScript has no String.replace method or support for
-			Regular Expressions! We roll our own very simple one.
-	*/
-	private static function replaceStr(inputStr:String, replaceThis:String, 
-																		 withThis:String):String {
-		var splitStr = inputStr.split(replaceThis)
-		inputStr = splitStr.join(withThis)
-		return inputStr;
-	}
-	
-	private static function getDojoPath(){
-		var url = _root._url;
-		var start = url.indexOf("baseRelativePath=") + "baseRelativePath=".length;
-		var path = url.substring(start);
-		var end = path.indexOf("&");
-		if(end != -1){
-			path = path.substring(0, end);
-		}
-		return path;
-	}
-}
-
-// vim:ts=4:noet:tw=0:

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/ExpressInstall.as
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/ExpressInstall.as b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/ExpressInstall.as
deleted file mode 100644
index e054582..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/ExpressInstall.as
+++ /dev/null
@@ -1,81 +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
-*/
-
-/**
- * Based on the expressinstall.as class created by Geoff Stearns as part
- * of the FlashObject library.
- *
- * Use this file to invoke the Macromedia Flash Player Express Install functionality
- * This file is intended for use with the FlashObject embed script. You can download FlashObject 
- * and this file at the following URL: http://blog.deconcept.com/flashobject/
- *
- * Usage: 
- *          var ExpressInstall = new ExpressInstall();
- *          
- *          // test to see if install is needed:
- *          if (ExpressInstall.needsUpdate) { // returns true if update is needed
- *              ExpressInstall.init(); // starts the update
- *          }
- *
- *	NOTE: Your Flash movie must be at least 214px by 137px in order to use ExpressInstall.
- *
- */
-
-class ExpressInstall {
-	public var needsUpdate:Boolean;
-	private var updater:MovieClip;
-	private var hold:MovieClip;
-	
-	public function ExpressInstall(){
-		// does the user need to update?
-		this.needsUpdate = (_root.MMplayerType == undefined) ? false : true;	
-	}
-
-	public function init():Void{
-		this.loadUpdater();
-	}
-
-	public function loadUpdater():Void {
-		System.security.allowDomain("fpdownload.macromedia.com");
-
-		// hope that nothing is at a depth of 10000000, you can change this depth if needed, but you want
-		// it to be on top of your content if you have any stuff on the first frame
-		this.updater = _root.createEmptyMovieClip("expressInstallHolder", 10000000);
-
-		// register the callback so we know if they cancel or there is an error
-		var _self = this;
-		this.updater.installStatus = _self.onInstallStatus;
-		this.hold = this.updater.createEmptyMovieClip("hold", 1);
-
-		// can't use movieClipLoader because it has to work in 6.0.65
-		this.updater.onEnterFrame = function():Void {
-			if(typeof this.hold.startUpdate == 'function'){
-				_self.initUpdater();
-				this.onEnterFrame = null;
-			}
-		}
-
-		var cacheBuster:Number = Math.random();
-
-		this.hold.loadMovie("http://fpdownload.macromedia.com/pub/flashplayer/"
-												+"update/current/swf/autoUpdater.swf?"+ cacheBuster);
-	}
-
-	private function initUpdater():Void{
-		this.hold.redirectURL = _root.MMredirectURL;
-		this.hold.MMplayerType = _root.MMplayerType;
-		this.hold.MMdoctitle = _root.MMdoctitle;
-		this.hold.startUpdate();
-	}
-
-	public function onInstallStatus(msg):Void{
-		getURL("javascript:dojo.flash.install._onInstallStatus('"+msg+"')");
-	}
-}

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/__package__.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/__package__.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/__package__.js
deleted file mode 100644
index e2ddd81..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/__package__.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-	Copyright (c) 2004-2005, 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.hostenv.conditionalLoadModule({
-	browser: ["dojo.fx.html"]
-});
-dojo.hostenv.moduleLoaded("dojo.fx.*");

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/html.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/html.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/html.js
deleted file mode 100644
index cb0b9e0..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/html.js
+++ /dev/null
@@ -1,565 +0,0 @@
-/*
-	Copyright (c) 2004-2005, 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.fx.html");
-
-dojo.require("dojo.html");
-dojo.require("dojo.style");
-dojo.require("dojo.lang");
-dojo.require("dojo.animation.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.graphics.color");
-
-dojo.fx.duration = 500;
-
-dojo.fx.html._makeFadeable = function(node){
-	if(dojo.render.html.ie){
-		// only set the zoom if the "tickle" value would be the same as the
-		// default
-		if( (node.style.zoom.length == 0) &&
-			(dojo.style.getStyle(node, "zoom") == "normal") ){
-			// make sure the node "hasLayout"
-			// NOTE: this has been tested with larger and smaller user-set text
-			// sizes and works fine
-			node.style.zoom = "1";
-			// node.style.zoom = "normal";
-		}
-		// don't set the width to auto if it didn't already cascade that way.
-		// We don't want to f anyones designs
-		if(	(node.style.width.length == 0) &&
-			(dojo.style.getStyle(node, "width") == "auto") ){
-			node.style.width = "auto";
-		}
-	}
-}
-
-dojo.fx.html.fadeOut = function(node, duration, callback, dontPlay) {
-	return dojo.fx.html.fade(node, duration, dojo.style.getOpacity(node), 0, callback, dontPlay);
-};
-
-dojo.fx.html.fadeIn = function(node, duration, callback, dontPlay) {
-	return dojo.fx.html.fade(node, duration, dojo.style.getOpacity(node), 1, callback, dontPlay);
-};
-
-dojo.fx.html.fadeHide = function(node, duration, callback, dontPlay) {
-	node = dojo.byId(node);
-	if(!duration) { duration = 150; } // why not have a default?
-	return dojo.fx.html.fadeOut(node, duration, function(node) {
-		node.style.display = "none";
-		if(typeof callback == "function") { callback(node); }
-	});
-};
-
-dojo.fx.html.fadeShow = function(node, duration, callback, dontPlay) {
-	node = dojo.byId(node);
-	if(!duration) { duration = 150; } // why not have a default?
-	node.style.display = "block";
-	return dojo.fx.html.fade(node, duration, 0, 1, callback, dontPlay);
-};
-
-dojo.fx.html.fade = function(node, duration, startOpac, endOpac, callback, dontPlay) {
-	node = dojo.byId(node);
-	dojo.fx.html._makeFadeable(node);
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line([startOpac],[endOpac]),
-		duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		dojo.style.setOpacity(node, e.x);
-	});
-	if(callback) {
-		dojo.event.connect(anim, "onEnd", function(e) {
-			callback(node, anim);
-		});
-	}
-	if(!dontPlay) { anim.play(true); }
-	return anim;
-};
-
-dojo.fx.html.slideTo = function(node, duration, endCoords, callback, dontPlay) {
-	if(!dojo.lang.isNumber(duration)) {
-		var tmp = duration;
-		duration = endCoords;
-		endCoords = tmp;
-	}
-	node = dojo.byId(node);
-
-	var top = node.offsetTop;
-	var left = node.offsetLeft;
-	var pos = dojo.style.getComputedStyle(node, 'position');
-
-	if (pos == 'relative' || pos == 'static') {
-		top = parseInt(dojo.style.getComputedStyle(node, 'top')) || 0;
-		left = parseInt(dojo.style.getComputedStyle(node, 'left')) || 0;
-	}
-
-	return dojo.fx.html.slide(node, duration, [left, top],
-		endCoords, callback, dontPlay);
-};
-
-dojo.fx.html.slideBy = function(node, duration, coords, callback, dontPlay) {
-	if(!dojo.lang.isNumber(duration)) {
-		var tmp = duration;
-		duration = coords;
-		coords = tmp;
-	}
-	node = dojo.byId(node);
-
-	var top = node.offsetTop;
-	var left = node.offsetLeft;
-	var pos = dojo.style.getComputedStyle(node, 'position');
-
-	if (pos == 'relative' || pos == 'static') {
-		top = parseInt(dojo.style.getComputedStyle(node, 'top')) || 0;
-		left = parseInt(dojo.style.getComputedStyle(node, 'left')) || 0;
-	}
-
-	return dojo.fx.html.slideTo(node, duration, [left+coords[0], top+coords[1]],
-		callback, dontPlay);
-};
-
-dojo.fx.html.slide = function(node, duration, startCoords, endCoords, callback, dontPlay) {
-	if(!dojo.lang.isNumber(duration)) {
-		var tmp = duration;
-		duration = endCoords;
-		endCoords = startCoords;
-		startCoords = tmp;
-	}
-	node = dojo.byId(node);
-
-	if (dojo.style.getComputedStyle(node, 'position') == 'static') {
-		node.style.position = 'relative';
-	}
-
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line(startCoords, endCoords),
-		duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		with( node.style ) {
-			left = e.x + "px";
-			top = e.y + "px";
-		}
-	});
-	if(callback) {
-		dojo.event.connect(anim, "onEnd", function(e) {
-			callback(node, anim);
-		});
-	}
-	if(!dontPlay) { anim.play(true); }
-	return anim;
-};
-
-// Fade from startColor to the node's background color
-dojo.fx.html.colorFadeIn = function(node, duration, startColor, delay, callback, dontPlay) {
-	if(!dojo.lang.isNumber(duration)) {
-		var tmp = duration;
-		duration = startColor;
-		startColor = tmp;
-	}
-	node = dojo.byId(node);
-	var color = dojo.html.getBackgroundColor(node);
-	var bg = dojo.style.getStyle(node, "background-color").toLowerCase();
-	var wasTransparent = bg == "transparent" || bg == "rgba(0, 0, 0, 0)";
-	while(color.length > 3) { color.pop(); }
-
-	var rgb = new dojo.graphics.color.Color(startColor).toRgb();
-	var anim = dojo.fx.html.colorFade(node, duration||dojo.fx.duration, startColor, color, callback, true);
-	dojo.event.connect(anim, "onEnd", function(e) {
-		if( wasTransparent ) {
-			node.style.backgroundColor = "transparent";
-		}
-	});
-	if( delay > 0 ) {
-		node.style.backgroundColor = "rgb(" + rgb.join(",") + ")";
-		if(!dontPlay) { setTimeout(function(){anim.play(true)}, delay); }
-	} else {
-		if(!dontPlay) { anim.play(true); }
-	}
-	return anim;
-};
-// alias for (probably?) common use/terminology
-dojo.fx.html.highlight = dojo.fx.html.colorFadeIn;
-dojo.fx.html.colorFadeFrom = dojo.fx.html.colorFadeIn;
-
-// Fade from node's background color to endColor
-dojo.fx.html.colorFadeOut = function(node, duration, endColor, delay, callback, dontPlay) {
-	if(!dojo.lang.isNumber(duration)) {
-		var tmp = duration;
-		duration = endColor;
-		endColor = tmp;
-	}
-	node = dojo.byId(node);
-	var color = new dojo.graphics.color.Color(dojo.html.getBackgroundColor(node)).toRgb();
-
-	var rgb = new dojo.graphics.color.Color(endColor).toRgb();
-	var anim = dojo.fx.html.colorFade(node, duration||dojo.fx.duration, color, rgb, callback, delay > 0 || dontPlay);
-	if( delay > 0 ) {
-		node.style.backgroundColor = "rgb(" + color.join(",") + ")";
-		if(!dontPlay) { setTimeout(function(){anim.play(true)}, delay); }
-	}
-	return anim;
-};
-// FIXME: not sure which name is better. an alias here may be bad.
-dojo.fx.html.unhighlight = dojo.fx.html.colorFadeOut;
-dojo.fx.html.colorFadeTo = dojo.fx.html.colorFadeOut;
-
-// Fade node background from startColor to endColor
-dojo.fx.html.colorFade = function(node, duration, startColor, endColor, callback, dontPlay) {
-	if(!dojo.lang.isNumber(duration)) {
-		var tmp = duration;
-		duration = endColor;
-		endColor = startColor;
-		startColor = tmp;
-	}
-	node = dojo.byId(node);
-	var startRgb = new dojo.graphics.color.Color(startColor).toRgb();
-	var endRgb = new dojo.graphics.color.Color(endColor).toRgb();
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line(startRgb, endRgb),
-		duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		node.style.backgroundColor = "rgb(" + e.coordsAsInts().join(",") + ")";
-	});
-	if(callback) {
-		dojo.event.connect(anim, "onEnd", function(e) {
-			callback(node, anim);
-		});
-	}
-	if( !dontPlay ) { anim.play(true); }
-	return anim;
-};
-
-dojo.fx.html.wipeShow = function(node, duration, callback, dontPlay) {
-	node = dojo.byId(node);
-	var overflow = dojo.html.getStyle(node, "overflow");
-	node.style.overflow = "hidden";
-	node.style.height = 0;
-	dojo.html.show(node);
-	var anim = new dojo.animation.Animation([[0], [node.scrollHeight]], duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		node.style.height = e.x + "px";
-	});
-	dojo.event.connect(anim, "onEnd", function() {
-		node.style.overflow = overflow;
-		node.style.height = "auto";
-		if(callback) { callback(node, anim); }
-	});
-	if(!dontPlay) { anim.play(); }
-	return anim;
-}
-
-dojo.fx.html.wipeHide = function(node, duration, callback, dontPlay) {
-	node = dojo.byId(node);
-	var overflow = dojo.html.getStyle(node, "overflow");
-	node.style.overflow = "hidden";
-	var anim = new dojo.animation.Animation([[node.offsetHeight], [0]], duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		node.style.height = e.x + "px";
-	});
-	dojo.event.connect(anim, "onEnd", function() {
-		node.style.overflow = overflow;
-		dojo.html.hide(node);
-		if(callback) { callback(node, anim); }
-	});
-	if(!dontPlay) { anim.play(); }
-	return anim;
-}
-
-dojo.fx.html.wiper = function(node, controlNode) {
-	this.node = dojo.byId(node);
-	if(controlNode) {
-		dojo.event.connect(dojo.byId(controlNode), "onclick", this, "toggle");
-	}
-}
-dojo.lang.extend(dojo.fx.html.wiper, {
-	duration: dojo.fx.duration,
-	_anim: null,
-
-	toggle: function() {
-		if(!this._anim) {
-			var type = "wipe" + (dojo.html.isVisible(this.node) ? "Hide" : "Show");
-			this._anim = dojo.fx[type](this.node, this.duration, dojo.lang.hitch(this, "_callback"));
-		}
-	},
-
-	_callback: function() {
-		this._anim = null;
-	}
-});
-
-dojo.fx.html.wipeIn = function(node, duration, callback, dontPlay) {
-	node = dojo.byId(node);
-	var savedHeight = dojo.html.getStyle(node, "height");
-	dojo.html.show(node);
-	var height = node.offsetHeight;
-	var anim = dojo.fx.html.wipeInToHeight(node, duration, height, function(e) {
-		node.style.height = savedHeight || "auto";
-		if(callback) { callback(node, anim); }
-	}, dontPlay);
-};
-
-dojo.fx.html.wipeInToHeight = function(node, duration, height, callback, dontPlay) {
-	node = dojo.byId(node);
-	var savedOverflow = dojo.html.getStyle(node, "overflow");
-	// FIXME: should we be setting display to something other than "" for the table elements?
-	node.style.height = "0px";
-	node.style.display = "none";
-	if(savedOverflow == "visible") {
-		node.style.overflow = "hidden";
-	}
-	var dispType = dojo.lang.inArray(node.tagName.toLowerCase(), ['tr', 'td', 'th']) ? "" : "block";
-	node.style.display = dispType;
-
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line([0], [height]),
-		duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		node.style.height = Math.round(e.x) + "px";
-	});
-	dojo.event.connect(anim, "onEnd", function(e) {
-		if(savedOverflow != "visible") {
-			node.style.overflow = savedOverflow;
-		}
-		if(callback) { callback(node, anim); }
-	});
-	if( !dontPlay ) { anim.play(true); }
-	return anim;
-}
-
-dojo.fx.html.wipeOut = function(node, duration, callback, dontPlay) {
-	node = dojo.byId(node);
-	var savedOverflow = dojo.html.getStyle(node, "overflow");
-	var savedHeight = dojo.html.getStyle(node, "height");
-	var height = node.offsetHeight;
-	node.style.overflow = "hidden";
-
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line([height], [0]),
-		duration||dojo.fx.duration, 0);
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		node.style.height = Math.round(e.x) + "px";
-	});
-	dojo.event.connect(anim, "onEnd", function(e) {
-		node.style.display = "none";
-		node.style.overflow = savedOverflow;
-		node.style.height = savedHeight || "auto";
-		if(callback) { callback(node, anim); }
-	});
-	if( !dontPlay ) { anim.play(true); }
-	return anim;
-};
-
-dojo.fx.html.explode = function(start, endNode, duration, callback, dontPlay) {
-	var startCoords = dojo.html.toCoordinateArray(start);
-
-	var outline = document.createElement("div");
-	with(outline.style) {
-		position = "absolute";
-		border = "1px solid black";
-		display = "none";
-	}
-	dojo.html.body().appendChild(outline);
-
-	endNode = dojo.byId(endNode);
-	with(endNode.style) {
-		visibility = "hidden";
-		display = "block";
-	}
-	var endCoords = dojo.html.toCoordinateArray(endNode);
-
-	with(endNode.style) {
-		display = "none";
-		visibility = "visible";
-	}
-
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line(startCoords, endCoords),
-		duration||dojo.fx.duration, 0
-	);
-	dojo.event.connect(anim, "onBegin", function(e) {
-		outline.style.display = "block";
-	});
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		with(outline.style) {
-			left = e.x + "px";
-			top = e.y + "px";
-			width = e.coords[2] + "px";
-			height = e.coords[3] + "px";
-		}
-	});
-
-	dojo.event.connect(anim, "onEnd", function() {
-		endNode.style.display = "block";
-		outline.parentNode.removeChild(outline);
-		if(callback) { callback(endNode, anim); }
-	});
-	if(!dontPlay) { anim.play(); }
-	return anim;
-};
-
-dojo.fx.html.implode = function(startNode, end, duration, callback, dontPlay) {
-	var startCoords = dojo.html.toCoordinateArray(startNode);
-	var endCoords = dojo.html.toCoordinateArray(end);
-
-	startNode = dojo.byId(startNode);
-	var outline = document.createElement("div");
-	with(outline.style) {
-		position = "absolute";
-		border = "1px solid black";
-		display = "none";
-	}
-	dojo.html.body().appendChild(outline);
-
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line(startCoords, endCoords),
-		duration||dojo.fx.duration, 0
-	);
-	dojo.event.connect(anim, "onBegin", function(e) {
-		startNode.style.display = "none";
-		outline.style.display = "block";
-	});
-	dojo.event.connect(anim, "onAnimate", function(e) {
-		with(outline.style) {
-			left = e.x + "px";
-			top = e.y + "px";
-			width = e.coords[2] + "px";
-			height = e.coords[3] + "px";
-		}
-	});
-
-	dojo.event.connect(anim, "onEnd", function() {
-		outline.parentNode.removeChild(outline);
-		if(callback) { callback(startNode, anim); }
-	});
-	if(!dontPlay) { anim.play(); }
-	return anim;
-};
-
-dojo.fx.html.Exploder = function(triggerNode, boxNode) {
-	triggerNode = dojo.byId(triggerNode);
-	boxNode = dojo.byId(boxNode);
-	var _this = this;
-
-	// custom options
-	this.waitToHide = 500;
-	this.timeToShow = 100;
-	this.waitToShow = 200;
-	this.timeToHide = 70;
-	this.autoShow = false;
-	this.autoHide = false;
-
-	var animShow = null;
-	var animHide = null;
-
-	var showTimer = null;
-	var hideTimer = null;
-
-	var startCoords = null;
-	var endCoords = null;
-
-	this.showing = false;
-
-	this.onBeforeExplode = null;
-	this.onAfterExplode = null;
-	this.onBeforeImplode = null;
-	this.onAfterImplode = null;
-	this.onExploding = null;
-	this.onImploding = null;
-
-	this.timeShow = function() {
-		clearTimeout(showTimer);
-		showTimer = setTimeout(_this.show, _this.waitToShow);
-	}
-
-	this.show = function() {
-		clearTimeout(showTimer);
-		clearTimeout(hideTimer);
-		//triggerNode.blur();
-
-		if( (animHide && animHide.status() == "playing")
-			|| (animShow && animShow.status() == "playing")
-			|| _this.showing ) { return; }
-
-		if(typeof _this.onBeforeExplode == "function") { _this.onBeforeExplode(triggerNode, boxNode); }
-		animShow = dojo.fx.html.explode(triggerNode, boxNode, _this.timeToShow, function(e) {
-			_this.showing = true;
-			if(typeof _this.onAfterExplode == "function") { _this.onAfterExplode(triggerNode, boxNode); }
-		});
-		if(typeof _this.onExploding == "function") {
-			dojo.event.connect(animShow, "onAnimate", this, "onExploding");
-		}
-	}
-
-	this.timeHide = function() {
-		clearTimeout(showTimer);
-		clearTimeout(hideTimer);
-		if(_this.showing) {
-			hideTimer = setTimeout(_this.hide, _this.waitToHide);
-		}
-	}
-
-	this.hide = function() {
-		clearTimeout(showTimer);
-		clearTimeout(hideTimer);
-		if( animShow && animShow.status() == "playing" ) {
-			return;
-		}
-
-		_this.showing = false;
-		if(typeof _this.onBeforeImplode == "function") { _this.onBeforeImplode(triggerNode, boxNode); }
-		animHide = dojo.fx.html.implode(boxNode, triggerNode, _this.timeToHide, function(e){
-			if(typeof _this.onAfterImplode == "function") { _this.onAfterImplode(triggerNode, boxNode); }
-		});
-		if(typeof _this.onImploding == "function") {
-			dojo.event.connect(animHide, "onAnimate", this, "onImploding");
-		}
-	}
-
-	// trigger events
-	dojo.event.connect(triggerNode, "onclick", function(e) {
-		if(_this.showing) {
-			_this.hide();
-		} else {
-			_this.show();
-		}
-	});
-	dojo.event.connect(triggerNode, "onmouseover", function(e) {
-		if(_this.autoShow) {
-			_this.timeShow();
-		}
-	});
-	dojo.event.connect(triggerNode, "onmouseout", function(e) {
-		if(_this.autoHide) {
-			_this.timeHide();
-		}
-	});
-
-	// box events
-	dojo.event.connect(boxNode, "onmouseover", function(e) {
-		clearTimeout(hideTimer);
-	});
-	dojo.event.connect(boxNode, "onmouseout", function(e) {
-		if(_this.autoHide) {
-			_this.timeHide();
-		}
-	});
-
-	// document events
-	dojo.event.connect(document.documentElement || dojo.html.body(), "onclick", function(e) {
-		if(_this.autoHide && _this.showing
-			&& !dojo.dom.isDescendantOf(e.target, boxNode)
-			&& !dojo.dom.isDescendantOf(e.target, triggerNode) ) {
-			_this.hide();
-		}
-	});
-
-	return this;
-};
-
-dojo.lang.mixin(dojo.fx, dojo.fx.html);

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/svg.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/svg.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/svg.js
deleted file mode 100644
index 6406161..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/fx/svg.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-	Copyright (c) 2004-2005, 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.fx.svg");
-
-dojo.require("dojo.svg");
-dojo.require("dojo.lang");
-dojo.require("dojo.animation.*");
-dojo.require("dojo.event.*");
-
-dojo.fx.svg.fadeOut = function(node, duration, callback){
-	return dojo.fx.svg.fade(node, duration, dojo.svg.getOpacity(node), 0, callback);
-};
-dojo.fx.svg.fadeIn = function(node, duration, callback){
-	return dojo.fx.svg.fade(node, duration, dojo.svg.getOpacity(node), 1, callback);
-};
-dojo.fx.svg.fadeHide = function(node, duration, callback){
-	if(!duration) { duration = 150; } // why not have a default?
-	return dojo.fx.svg.fadeOut(node, duration, function(node) {
-		if(typeof callback == "function") { callback(node); }
-	});
-};
-dojo.fx.svg.fadeShow = function(node, duration, callback){
-	if(!duration) { duration = 150; } // why not have a default?
-	return dojo.fx.svg.fade(node, duration, 0, 1, callback);
-};
-dojo.fx.svg.fade = function(node, duration, startOpac, endOpac, callback){
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line([startOpac],[endOpac]),
-		duration,
-		0
-	);
-	dojo.event.connect(anim, "onAnimate", function(e){
-		dojo.svg.setOpacity(node, e.x);
-	});
-	if (callback) {
-		dojo.event.connect(anim, "onEnd", function(e){
-			callback(node, anim);
-		});
-	};
-	anim.play(true);
-	return anim;
-};
-
-/////////////////////////////////////////////////////////////////////////////////////////
-//	TODO
-/////////////////////////////////////////////////////////////////////////////////////////
-
-//	SLIDES
-dojo.fx.svg.slideTo = function(node, endCoords, duration, callback) { };
-dojo.fx.svg.slideBy = function(node, coords, duration, callback) { };
-dojo.fx.svg.slide = function(node, startCoords, endCoords, duration, callback) { 
-	var anim = new dojo.animation.Animation(
-		new dojo.math.curves.Line([startCoords],[endCoords]),
-		duration,
-		0
-	);
-	dojo.event.connect(anim, "onAnimate", function(e){
-		dojo.svg.setCoords(node, {x: e.x, y: e.y });
-	});
-	if (callback) {
-		dojo.event.connect(anim, "onEnd", function(e){
-			callback(node, anim);
-		});
-	};
-	anim.play(true);
-	return anim;
-};
-
-//	COLORS
-dojo.fx.svg.colorFadeIn = function(node, startRGB, duration, delay, callback) { };
-dojo.fx.svg.highlight = dojo.fx.svg.colorFadeIn;
-dojo.fx.svg.colorFadeFrom = dojo.fx.svg.colorFadeIn;
-
-dojo.fx.svg.colorFadeOut = function(node, endRGB, duration, delay, callback) { };
-dojo.fx.svg.unhighlight = dojo.fx.svg.colorFadeOut;
-dojo.fx.svg.colorFadeTo = dojo.fx.svg.colorFadeOut;
-
-dojo.fx.svg.colorFade = function(node, startRGB, endRGB, duration, callback, dontPlay) { };
-
-//	WIPES
-dojo.fx.svg.wipeIn = function(node, duration, callback, dontPlay) { };
-dojo.fx.svg.wipeInToHeight = function(node, duration, height, callback, dontPlay) { }
-dojo.fx.svg.wipeOut = function(node, duration, callback, dontPlay) { };
-
-//	Explode and Implode
-dojo.fx.svg.explode = function(startNode, endNode, duration, callback) { };
-dojo.fx.svg.explodeFromBox = function(startCoords, endNode, duration, callback) { };
-dojo.fx.svg.implode = function(startNode, endNode, duration, callback) { };
-dojo.fx.svg.implodeToBox = function(startNode, endCoords, duration, callback) { };
-dojo.fx.svg.Exploder = function(triggerNode, boxNode) { };
-
-//	html mixes in, we want SVG to remain separate

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/Colorspace.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/Colorspace.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/Colorspace.js
deleted file mode 100644
index 543040c..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/Colorspace.js
+++ /dev/null
@@ -1,723 +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.gfx.Colorspace");
-dojo.require("dojo.lang.common");
-dojo.require("dojo.math.matrix");
-dojo.gfx.Colorspace = function () {
-	this.whitePoint = "D65";
-	this.stdObserver = "10";
-	this.chromaticAdaptationAlg = "bradford";
-	this.RGBWorkingSpace = "s_rgb";
-	this.useApproxCIELabMapping = 1;
-	this.chainMaps = {"RGB_to_xyY":["XYZ"], "xyY_to_RGB":["XYZ"], "RGB_to_Lab":["XYZ"], "Lab_to_RGB":["XYZ"], "RGB_to_LCHab":["XYZ", "Lab"], "LCHab_to_RGB":["Lab"], "xyY_to_Lab":["XYZ"], "Lab_to_xyY":["XYZ"], "XYZ_to_LCHab":["Lab"], "LCHab_to_XYZ":["Lab"], "xyY_to_LCHab":["XYZ", "Lab"], "LCHab_to_xyY":["Lab", "XYZ"], "RGB_to_Luv":["XYZ"], "Luv_to_RGB":["XYZ"], "xyY_to_Luv":["XYZ"], "Luv_to_xyY":["XYZ"], "Lab_to_Luv":["XYZ"], "Luv_to_Lab":["XYZ"], "LCHab_to_Luv":["Lab", "XYZ"], "Luv_to_LCHab":["XYZ", "Lab"], "RGB_to_LCHuv":["XYZ", "Luv"], "LCHuv_to_RGB":["Luv", "XYZ"], "XYZ_to_LCHuv":["Luv"], "LCHuv_to_XYZ":["Luv"], "xyY_to_LCHuv":["XYZ", "Luv"], "LCHuv_to_xyY":["Luv", "XYZ"], "Lab_to_LCHuv":["XYZ", "Luv"], "LCHuv_to_Lab":["Luv", "XYZ"], "LCHab_to_LCHuv":["Lab", "XYZ", "Luv"], "LCHuv_to_LCHab":["Luv", "XYZ", "Lab"], "XYZ_to_CMY":["RGB"], "CMY_to_XYZ":["RGB"], "xyY_to_CMY":["RGB"], "CMY_to_xyY":["RGB"], "Lab_to_CMY":["RGB"], "CMY_to_Lab":["RGB"], "LCHab_to_CMY":["RGB"], "CMY_to_LCHab":["
 RGB"], "Luv_to_CMY":["RGB"], "CMY_to_Luv":["RGB"], "LCHuv_to_CMY":["RGB"], "CMY_to_LCHuv":["RGB"], "XYZ_to_HSL":["RGB"], "HSL_to_XYZ":["RGB"], "xyY_to_HSL":["RGB"], "HSL_to_xyY":["RGB"], "Lab_to_HSL":["RGB"], "HSL_to_Lab":["RGB"], "LCHab_to_HSL":["RGB"], "HSL_to_LCHab":["RGB"], "Luv_to_HSL":["RGB"], "HSL_to_Luv":["RGB"], "LCHuv_to_HSL":["RGB"], "HSL_to_LCHuv":["RGB"], "CMY_to_HSL":["RGB"], "HSL_to_CMY":["RGB"], "CMYK_to_HSL":["RGB"], "HSL_to_CMYK":["RGB"], "XYZ_to_HSV":["RGB"], "HSV_to_XYZ":["RGB"], "xyY_to_HSV":["RGB"], "HSV_to_xyY":["RGB"], "Lab_to_HSV":["RGB"], "HSV_to_Lab":["RGB"], "LCHab_to_HSV":["RGB"], "HSV_to_LCHab":["RGB"], "Luv_to_HSV":["RGB"], "HSV_to_Luv":["RGB"], "LCHuv_to_HSV":["RGB"], "HSV_to_LCHuv":["RGB"], "CMY_to_HSV":["RGB"], "HSV_to_CMY":["RGB"], "CMYK_to_HSV":["RGB"], "HSV_to_CMYK":["RGB"], "HSL_to_HSV":["RGB"], "HSV_to_HSL":["RGB"], "XYZ_to_CMYK":["RGB"], "CMYK_to_XYZ":["RGB"], "xyY_to_CMYK":["RGB"], "CMYK_to_xyY":["RGB"], "Lab_to_CMYK":["RGB"], "CMYK_to_Lab":[
 "RGB"], "LCHab_to_CMYK":["RGB"], "CMYK_to_LCHab":["RGB"], "Luv_to_CMYK":["RGB"], "CMYK_to_Luv":["RGB"], "LCHuv_to_CMYK":["RGB"], "CMYK_to_LCHuv":["RGB"]};
-	return this;
-};
-dojo.gfx.Colorspace.prototype.convert = function (col, model_from, model_to) {
-	var k = model_from + "_to_" + model_to;
-	if (this[k]) {
-		return this[k](col);
-	} else {
-		if (this.chainMaps[k]) {
-			var cur = model_from;
-			var models = this.chainMaps[k].concat();
-			models.push(model_to);
-			for (var i = 0; i < models.length; i++) {
-				col = this.convert(col, cur, models[i]);
-				cur = models[i];
-			}
-			return col;
-		} else {
-			dojo.debug("Can't convert from " + model_from + " to " + model_to);
-		}
-	}
-};
-dojo.gfx.Colorspace.prototype.munge = function (keys, args) {
-	if (dojo.lang.isArray(args[0])) {
-		args = args[0];
-	}
-	var out = new Array();
-	for (var i = 0; i < keys.length; i++) {
-		out[keys.charAt(i)] = args[i];
-	}
-	return out;
-};
-dojo.gfx.Colorspace.prototype.getWhitePoint = function () {
-	var x = 0;
-	var y = 0;
-	var t = 0;
-	switch (this.stdObserver) {
-	  case "2":
-		switch (this.whitePoint) {
-		  case "E":
-			x = 1 / 3;
-			y = 1 / 3;
-			t = 5400;
-			break;
-		  case "D50":
-			x = 0.34567;
-			y = 0.3585;
-			t = 5000;
-			break;
-		  case "D55":
-			x = 0.33242;
-			y = 0.34743;
-			t = 5500;
-			break;
-		  case "D65":
-			x = 0.31271;
-			y = 0.32902;
-			t = 6500;
-			break;
-		  case "D75":
-			x = 0.29902;
-			y = 0.31485;
-			t = 7500;
-			break;
-		  case "A":
-			x = 0.44757;
-			y = 0.40745;
-			t = 2856;
-			break;
-		  case "B":
-			x = 0.34842;
-			y = 0.35161;
-			t = 4874;
-			break;
-		  case "C":
-			x = 0.31006;
-			y = 0.31616;
-			t = 6774;
-			break;
-		  case "9300":
-			x = 0.2848;
-			y = 0.2932;
-			t = 9300;
-			break;
-		  case "F2":
-			x = 0.37207;
-			y = 0.37512;
-			t = 4200;
-			break;
-		  case "F7":
-			x = 0.31285;
-			y = 0.32918;
-			t = 6500;
-			break;
-		  case "F11":
-			x = 0.38054;
-			y = 0.37691;
-			t = 4000;
-			break;
-		  default:
-			dojo.debug("White point " + this.whitePoint + " isn't defined for Std. Observer " + this.strObserver);
-		}
-		break;
-	  case "10":
-		switch (this.whitePoint) {
-		  case "E":
-			x = 1 / 3;
-			y = 1 / 3;
-			t = 5400;
-			break;
-		  case "D50":
-			x = 0.34773;
-			y = 0.35952;
-			t = 5000;
-			break;
-		  case "D55":
-			x = 0.33411;
-			y = 0.34877;
-			t = 5500;
-			break;
-		  case "D65":
-			x = 0.31382;
-			y = 0.331;
-			t = 6500;
-			break;
-		  case "D75":
-			x = 0.29968;
-			y = 0.3174;
-			t = 7500;
-			break;
-		  case "A":
-			x = 0.45117;
-			y = 0.40594;
-			t = 2856;
-			break;
-		  case "B":
-			x = 0.3498;
-			y = 0.3527;
-			t = 4874;
-			break;
-		  case "C":
-			x = 0.31039;
-			y = 0.31905;
-			t = 6774;
-			break;
-		  case "F2":
-			x = 0.37928;
-			y = 0.36723;
-			t = 4200;
-			break;
-		  case "F7":
-			x = 0.31565;
-			y = 0.32951;
-			t = 6500;
-			break;
-		  case "F11":
-			x = 0.38543;
-			y = 0.3711;
-			t = 4000;
-			break;
-		  default:
-			dojo.debug("White point " + this.whitePoint + " isn't defined for Std. Observer " + this.strObserver);
-		}
-		break;
-	  default:
-		dojo.debug("Std. Observer " + this.strObserver + " isn't defined");
-	}
-	var z = 1 - x - y;
-	var wp = {"x":x, "y":y, "z":z, "t":t};
-	wp.Y = 1;
-	var XYZ = this.xyY_to_XYZ([wp.x, wp.y, wp.Y]);
-	wp.X = XYZ[0];
-	wp.Y = XYZ[1];
-	wp.Z = XYZ[2];
-	return wp;
-};
-dojo.gfx.Colorspace.prototype.getPrimaries = function () {
-	var m = [];
-	switch (this.RGBWorkingSpace) {
-	  case "adobe_rgb_1998":
-		m = [2.2, "D65", 0.64, 0.33, 0.297361, 0.21, 0.71, 0.627355, 0.15, 0.06, 0.075285];
-		break;
-	  case "apple_rgb":
-		m = [1.8, "D65", 0.625, 0.34, 0.244634, 0.28, 0.595, 0.672034, 0.155, 0.07, 0.083332];
-		break;
-	  case "best_rgb":
-		m = [2.2, "D50", 0.7347, 0.2653, 0.228457, 0.215, 0.775, 0.737352, 0.13, 0.035, 0.034191];
-		break;
-	  case "beta_rgb":
-		m = [2.2, "D50", 0.6888, 0.3112, 0.303273, 0.1986, 0.7551, 0.663786, 0.1265, 0.0352, 0.032941];
-		break;
-	  case "bruce_rgb":
-		m = [2.2, "D65", 0.64, 0.33, 0.240995, 0.28, 0.65, 0.683554, 0.15, 0.06, 0.075452];
-		break;
-	  case "cie_rgb":
-		m = [2.2, "E", 0.735, 0.265, 0.176204, 0.274, 0.717, 0.812985, 0.167, 0.009, 0.010811];
-		break;
-	  case "color_match_rgb":
-		m = [1.8, "D50", 0.63, 0.34, 0.274884, 0.295, 0.605, 0.658132, 0.15, 0.075, 0.066985];
-		break;
-	  case "don_rgb_4":
-		m = [2.2, "D50", 0.696, 0.3, 0.27835, 0.215, 0.765, 0.68797, 0.13, 0.035, 0.03368];
-		break;
-	  case "eci_rgb":
-		m = [1.8, "D50", 0.67, 0.33, 0.32025, 0.21, 0.71, 0.602071, 0.14, 0.08, 0.077679];
-		break;
-	  case "ekta_space_ps5":
-		m = [2.2, "D50", 0.695, 0.305, 0.260629, 0.26, 0.7, 0.734946, 0.11, 0.005, 0.004425];
-		break;
-	  case "ntsc_rgb":
-		m = [2.2, "C", 0.67, 0.33, 0.298839, 0.21, 0.71, 0.586811, 0.14, 0.08, 0.11435];
-		break;
-	  case "pal_secam_rgb":
-		m = [2.2, "D65", 0.64, 0.33, 0.222021, 0.29, 0.6, 0.706645, 0.15, 0.06, 0.071334];
-		break;
-	  case "pro_photo_rgb":
-		m = [1.8, "D50", 0.7347, 0.2653, 0.28804, 0.1596, 0.8404, 0.711874, 0.0366, 0.0001, 0.000086];
-		break;
-	  case "smpte-c_rgb":
-		m = [2.2, "D65", 0.63, 0.34, 0.212395, 0.31, 0.595, 0.701049, 0.155, 0.07, 0.086556];
-		break;
-	  case "s_rgb":
-		m = [2.2, "D65", 0.64, 0.33, 0.212656, 0.3, 0.6, 0.715158, 0.15, 0.06, 0.072186];
-		break;
-	  case "wide_gamut_rgb":
-		m = [2.2, "D50", 0.735, 0.265, 0.258187, 0.115, 0.826, 0.724938, 0.157, 0.018, 0.016875];
-		break;
-	  default:
-		dojo.debug("RGB working space " + this.RGBWorkingSpace + " isn't defined");
-	}
-	var p = {name:this.RGBWorkingSpace, gamma:m[0], wp:m[1], xr:m[2], yr:m[3], Yr:m[4], xg:m[5], yg:m[6], Yg:m[7], xb:m[8], yb:m[9], Yb:m[10]};
-	if (p.wp != this.whitePoint) {
-		var r = this.XYZ_to_xyY(this.chromaticAdaptation(this.xyY_to_XYZ([p.xr, p.yr, p.Yr]), p.wp, this.whitePoint));
-		var g = this.XYZ_to_xyY(this.chromaticAdaptation(this.xyY_to_XYZ([p.xg, p.yg, p.Yg]), p.wp, this.whitePoint));
-		var b = this.XYZ_to_xyY(this.chromaticAdaptation(this.xyY_to_XYZ([p.xb, p.yb, p.Yb]), p.wp, this.whitePoint));
-		p.xr = r[0];
-		p.yr = r[1];
-		p.Yr = r[2];
-		p.xg = g[0];
-		p.yg = g[1];
-		p.Yg = g[2];
-		p.xb = b[0];
-		p.yb = b[1];
-		p.Yb = b[2];
-		p.wp = this.whitePoint;
-	}
-	p.zr = 1 - p.xr - p.yr;
-	p.zg = 1 - p.xg - p.yg;
-	p.zb = 1 - p.xb - p.yb;
-	return p;
-};
-dojo.gfx.Colorspace.prototype.epsilon = function () {
-	return this.useApproxCIELabMapping ? 0.008856 : 216 / 24289;
-};
-dojo.gfx.Colorspace.prototype.kappa = function () {
-	return this.useApproxCIELabMapping ? 903.3 : 24389 / 27;
-};
-dojo.gfx.Colorspace.prototype.XYZ_to_xyY = function () {
-	var src = this.munge("XYZ", arguments);
-	var sum = src.X + src.Y + src.Z;
-	if (sum == 0) {
-		var wp = this.getWhitePoint();
-		var x = wp.x;
-		var y = wp.y;
-	} else {
-		var x = src.X / sum;
-		var y = src.Y / sum;
-	}
-	var Y = src.Y;
-	return [x, y, Y];
-};
-dojo.gfx.Colorspace.prototype.xyY_to_XYZ = function () {
-	var src = this.munge("xyY", arguments);
-	if (src.y == 0) {
-		var X = 0;
-		var Y = 0;
-		var Z = 0;
-	} else {
-		var X = (src.x * src.Y) / src.y;
-		var Y = src.Y;
-		var Z = ((1 - src.x - src.y) * src.Y) / src.y;
-	}
-	return [X, Y, Z];
-};
-dojo.gfx.Colorspace.prototype.RGB_to_XYZ = function () {
-	var src = this.munge("RGB", arguments);
-	var m = this.getRGB_XYZ_Matrix();
-	var pr = this.getPrimaries();
-	if (this.RGBWorkingSpace == "s_rgb") {
-		var r = (src.R > 0.04045) ? Math.pow(((src.R + 0.055) / 1.055), 2.4) : src.R / 12.92;
-		var g = (src.G > 0.04045) ? Math.pow(((src.G + 0.055) / 1.055), 2.4) : src.G / 12.92;
-		var b = (src.B > 0.04045) ? Math.pow(((src.B + 0.055) / 1.055), 2.4) : src.B / 12.92;
-	} else {
-		var r = Math.pow(src.R, pr.gamma);
-		var g = Math.pow(src.G, pr.gamma);
-		var b = Math.pow(src.B, pr.gamma);
-	}
-	var XYZ = dojo.math.matrix.multiply([[r, g, b]], m);
-	return [XYZ[0][0], XYZ[0][1], XYZ[0][2]];
-};
-dojo.gfx.Colorspace.prototype.XYZ_to_RGB = function () {
-	var src = this.munge("XYZ", arguments);
-	var mi = this.getXYZ_RGB_Matrix();
-	var pr = this.getPrimaries();
-	var rgb = dojo.math.matrix.multiply([[src.X, src.Y, src.Z]], mi);
-	var r = rgb[0][0];
-	var g = rgb[0][1];
-	var b = rgb[0][2];
-	if (this.RGBWorkingSpace == "s_rgb") {
-		var R = (r > 0.0031308) ? (1.055 * Math.pow(r, 1 / 2.4)) - 0.055 : 12.92 * r;
-		var G = (g > 0.0031308) ? (1.055 * Math.pow(g, 1 / 2.4)) - 0.055 : 12.92 * g;
-		var B = (b > 0.0031308) ? (1.055 * Math.pow(b, 1 / 2.4)) - 0.055 : 12.92 * b;
-	} else {
-		var R = Math.pow(r, 1 / pr.gamma);
-		var G = Math.pow(g, 1 / pr.gamma);
-		var B = Math.pow(b, 1 / pr.gamma);
-	}
-	return [R, G, B];
-};
-dojo.gfx.Colorspace.prototype.XYZ_to_Lab = function () {
-	var src = this.munge("XYZ", arguments);
-	var wp = this.getWhitePoint();
-	var xr = src.X / wp.X;
-	var yr = src.Y / wp.Y;
-	var zr = src.Z / wp.Z;
-	var fx = (xr > this.epsilon()) ? Math.pow(xr, 1 / 3) : (this.kappa() * xr + 16) / 116;
-	var fy = (yr > this.epsilon()) ? Math.pow(yr, 1 / 3) : (this.kappa() * yr + 16) / 116;
-	var fz = (zr > this.epsilon()) ? Math.pow(zr, 1 / 3) : (this.kappa() * zr + 16) / 116;
-	var L = 116 * fy - 16;
-	var a = 500 * (fx - fy);
-	var b = 200 * (fy - fz);
-	return [L, a, b];
-};
-dojo.gfx.Colorspace.prototype.Lab_to_XYZ = function () {
-	var src = this.munge("Lab", arguments);
-	var wp = this.getWhitePoint();
-	var yr = (src.L > (this.kappa() * this.epsilon())) ? Math.pow((src.L + 16) / 116, 3) : src.L / this.kappa();
-	var fy = (yr > this.epsilon()) ? (src.L + 16) / 116 : (this.kappa() * yr + 16) / 116;
-	var fx = (src.a / 500) + fy;
-	var fz = fy - (src.b / 200);
-	var fxcube = Math.pow(fx, 3);
-	var fzcube = Math.pow(fz, 3);
-	var xr = (fxcube > this.epsilon()) ? fxcube : (116 * fx - 16) / this.kappa();
-	var zr = (fzcube > this.epsilon()) ? fzcube : (116 * fz - 16) / this.kappa();
-	var X = xr * wp.X;
-	var Y = yr * wp.Y;
-	var Z = zr * wp.Z;
-	return [X, Y, Z];
-};
-dojo.gfx.Colorspace.prototype.Lab_to_LCHab = function () {
-	var src = this.munge("Lab", arguments);
-	var L = src.L;
-	var C = Math.pow(src.a * src.a + src.b * src.b, 0.5);
-	var H = Math.atan2(src.b, src.a) * (180 / Math.PI);
-	if (H < 0) {
-		H += 360;
-	}
-	if (H > 360) {
-		H -= 360;
-	}
-	return [L, C, H];
-};
-dojo.gfx.Colorspace.prototype.LCHab_to_Lab = function () {
-	var src = this.munge("LCH", arguments);
-	var H_rad = src.H * (Math.PI / 180);
-	var L = src.L;
-	var a = src.C / Math.pow(Math.pow(Math.tan(H_rad), 2) + 1, 0.5);
-	if ((90 < src.H) && (src.H < 270)) {
-		a = -a;
-	}
-	var b = Math.pow(Math.pow(src.C, 2) - Math.pow(a, 2), 0.5);
-	if (src.H > 180) {
-		b = -b;
-	}
-	return [L, a, b];
-};
-dojo.gfx.Colorspace.prototype.chromaticAdaptation = function (col, src_w, dst_w) {
-	col = this.munge("XYZ", [col]);
-	var old_wp = this.whitePoint;
-	this.whitePoint = src_w;
-	var wp_src = this.getWhitePoint();
-	this.whitePoint = dst_w;
-	var wp_dst = this.getWhitePoint();
-	this.whitePoint = old_wp;
-	switch (this.chromaticAdaptationAlg) {
-	  case "xyz_scaling":
-		var ma = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];
-		var mai = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];
-		break;
-	  case "bradford":
-		var ma = [[0.8951, -0.7502, 0.0389], [0.2664, 1.7135, -0.0685], [-0.1614, 0.0367, 1.0296]];
-		var mai = [[0.986993, 0.432305, -0.008529], [-0.147054, 0.51836, 0.040043], [0.159963, 0.049291, 0.968487]];
-		break;
-	  case "von_kries":
-		var ma = [[0.40024, -0.2263, 0], [0.7076, 1.16532, 0], [-0.08081, 0.0457, 0.91822]];
-		var mai = [[1.859936, 0.361191, 0], [-1.129382, 0.638812, 0], [0.219897, -0.000006, 1.089064]];
-		break;
-	  default:
-		dojo.debug("The " + this.chromaticAdaptationAlg + " chromatic adaptation algorithm matricies are not defined");
-	}
-	var domain_src = dojo.math.matrix.multiply([[wp_src.x, wp_src.y, wp_src.z]], ma);
-	var domain_dst = dojo.math.matrix.multiply([[wp_dst.x, wp_dst.y, wp_dst.z]], ma);
-	var centre = [[domain_dst[0][0] / domain_src[0][0], 0, 0], [0, domain_dst[0][1] / domain_src[0][1], 0], [0, 0, domain_dst[0][2] / domain_src[0][2]]];
-	var m = dojo.math.matrix.multiply(dojo.math.matrix.multiply(ma, centre), mai);
-	var dst = dojo.math.matrix.multiply([[col.X, col.Y, col.Z]], m);
-	return dst[0];
-};
-dojo.gfx.Colorspace.prototype.getRGB_XYZ_Matrix = function () {
-	var wp = this.getWhitePoint();
-	var pr = this.getPrimaries();
-	var Xr = pr.xr / pr.yr;
-	var Yr = 1;
-	var Zr = (1 - pr.xr - pr.yr) / pr.yr;
-	var Xg = pr.xg / pr.yg;
-	var Yg = 1;
-	var Zg = (1 - pr.xg - pr.yg) / pr.yg;
-	var Xb = pr.xb / pr.yb;
-	var Yb = 1;
-	var Zb = (1 - pr.xb - pr.yb) / pr.yb;
-	var m1 = [[Xr, Yr, Zr], [Xg, Yg, Zg], [Xb, Yb, Zb]];
-	var m2 = [[wp.X, wp.Y, wp.Z]];
-	var sm = dojo.math.matrix.multiply(m2, dojo.math.matrix.inverse(m1));
-	var Sr = sm[0][0];
-	var Sg = sm[0][1];
-	var Sb = sm[0][2];
-	var m4 = [[Sr * Xr, Sr * Yr, Sr * Zr], [Sg * Xg, Sg * Yg, Sg * Zg], [Sb * Xb, Sb * Yb, Sb * Zb]];
-	return m4;
-};
-dojo.gfx.Colorspace.prototype.getXYZ_RGB_Matrix = function () {
-	var m = this.getRGB_XYZ_Matrix();
-	return dojo.math.matrix.inverse(m);
-};
-dojo.gfx.Colorspace.prototype.XYZ_to_Luv = function () {
-	var src = this.munge("XYZ", arguments);
-	var wp = this.getWhitePoint();
-	var ud = (4 * src.X) / (src.X + 15 * src.Y + 3 * src.Z);
-	var vd = (9 * src.Y) / (src.X + 15 * src.Y + 3 * src.Z);
-	var udr = (4 * wp.X) / (wp.X + 15 * wp.Y + 3 * wp.Z);
-	var vdr = (9 * wp.Y) / (wp.X + 15 * wp.Y + 3 * wp.Z);
-	var yr = src.Y / wp.Y;
-	var L = (yr > this.epsilon()) ? 116 * Math.pow(yr, 1 / 3) - 16 : this.kappa() * yr;
-	var u = 13 * L * (ud - udr);
-	var v = 13 * L * (vd - vdr);
-	return [L, u, v];
-};
-dojo.gfx.Colorspace.prototype.Luv_to_XYZ = function () {
-	var src = this.munge("Luv", arguments);
-	var wp = this.getWhitePoint();
-	var uz = (4 * wp.X) / (wp.X + 15 * wp.Y + 3 * wp.Z);
-	var vz = (9 * wp.Y) / (wp.X + 15 * wp.Y + 3 * wp.Z);
-	var Y = (src.L > this.kappa() * this.epsilon()) ? Math.pow((src.L + 16) / 116, 3) : src.L / this.kappa();
-	var a = (1 / 3) * (((52 * src.L) / (src.u + 13 * src.L * uz)) - 1);
-	var b = -5 * Y;
-	var c = -(1 / 3);
-	var d = Y * (((39 * src.L) / (src.v + 13 * src.L * vz)) - 5);
-	var X = (d - b) / (a - c);
-	var Z = X * a + b;
-	return [X, Y, Z];
-};
-dojo.gfx.Colorspace.prototype.Luv_to_LCHuv = function () {
-	var src = this.munge("Luv", arguments);
-	var L = src.L;
-	var C = Math.pow(src.u * src.u + src.v * src.v, 0.5);
-	var H = Math.atan2(src.v, src.u) * (180 / Math.PI);
-	if (H < 0) {
-		H += 360;
-	}
-	if (H > 360) {
-		H -= 360;
-	}
-	return [L, C, H];
-};
-dojo.gfx.Colorspace.prototype.LCHuv_to_Luv = function () {
-	var src = this.munge("LCH", arguments);
-	var H_rad = src.H * (Math.PI / 180);
-	var L = src.L;
-	var u = src.C / Math.pow(Math.pow(Math.tan(H_rad), 2) + 1, 0.5);
-	var v = Math.pow(src.C * src.C - u * u, 0.5);
-	if ((90 < src.H) && (src.H < 270)) {
-		u *= -1;
-	}
-	if (src.H > 180) {
-		v *= -1;
-	}
-	return [L, u, v];
-};
-dojo.gfx.Colorspace.colorTemp_to_whitePoint = function (T) {
-	if (T < 4000) {
-		dojo.debug("Can't find a white point for temperatures under 4000K");
-		return [0, 0];
-	}
-	if (T > 25000) {
-		dojo.debug("Can't find a white point for temperatures over 25000K");
-		return [0, 0];
-	}
-	var T1 = T;
-	var T2 = T * T;
-	var T3 = T2 * T;
-	var ten9 = Math.pow(10, 9);
-	var ten6 = Math.pow(10, 6);
-	var ten3 = Math.pow(10, 3);
-	if (T <= 7000) {
-		var x = (-4.607 * ten9 / T3) + (2.9678 * ten6 / T2) + (0.09911 * ten3 / T) + 0.244063;
-	} else {
-		var x = (-2.0064 * ten9 / T3) + (1.9018 * ten6 / T2) + (0.24748 * ten3 / T) + 0.23704;
-	}
-	var y = -3 * x * x + 2.87 * x - 0.275;
-	return [x, y];
-};
-dojo.gfx.Colorspace.prototype.RGB_to_CMY = function () {
-	var src = this.munge("RGB", arguments);
-	var C = 1 - src.R;
-	var M = 1 - src.G;
-	var Y = 1 - src.B;
-	return [C, M, Y];
-};
-dojo.gfx.Colorspace.prototype.CMY_to_RGB = function () {
-	var src = this.munge("CMY", arguments);
-	var R = 1 - src.C;
-	var G = 1 - src.M;
-	var B = 1 - src.Y;
-	return [R, G, B];
-};
-dojo.gfx.Colorspace.prototype.RGB_to_CMYK = function () {
-	var src = this.munge("RGB", arguments);
-	var K = Math.min(1 - src.R, 1 - src.G, 1 - src.B);
-	var C = (1 - src.R - K) / (1 - K);
-	var M = (1 - src.G - K) / (1 - K);
-	var Y = (1 - src.B - K) / (1 - K);
-	return [C, M, Y, K];
-};
-dojo.gfx.Colorspace.prototype.CMYK_to_RGB = function () {
-	var src = this.munge("CMYK", arguments);
-	var R = 1 - Math.min(1, src.C * (1 - src.K) + src.K);
-	var G = 1 - Math.min(1, src.M * (1 - src.K) + src.K);
-	var B = 1 - Math.min(1, src.Y * (1 - src.K) + src.K);
-	return [R, G, B];
-};
-dojo.gfx.Colorspace.prototype.CMY_to_CMYK = function () {
-	var src = this.munge("CMY", arguments);
-	var K = Math.min(src.C, src.M, src.Y);
-	var C = (src.C - K) / (1 - K);
-	var M = (src.M - K) / (1 - K);
-	var Y = (src.Y - K) / (1 - K);
-	return [C, M, Y, K];
-};
-dojo.gfx.Colorspace.prototype.CMYK_to_CMY = function () {
-	var src = this.munge("CMYK", arguments);
-	var C = Math.min(1, src.C * (1 - src.K) + src.K);
-	var M = Math.min(1, src.M * (1 - src.K) + src.K);
-	var Y = Math.min(1, src.Y * (1 - src.K) + src.K);
-	return [C, M, Y];
-};
-dojo.gfx.Colorspace.prototype.RGB_to_HSV = function () {
-	var src = this.munge("RGB", arguments);
-	var min = Math.min(src.R, src.G, src.B);
-	var V = Math.max(src.R, src.G, src.B);
-	var delta = V - min;
-	var H = null;
-	var S = (V == 0) ? 0 : delta / V;
-	if (S == 0) {
-		H = 0;
-	} else {
-		if (src.R == V) {
-			H = 60 * (src.G - src.B) / delta;
-		} else {
-			if (src.G == V) {
-				H = 120 + 60 * (src.B - src.R) / delta;
-			} else {
-				if (src.B == V) {
-					H = 240 + 60 * (src.R - src.G) / delta;
-				}
-			}
-		}
-		if (H < 0) {
-			H += 360;
-		}
-	}
-	H = (H == 0) ? 360 : H;
-	return [H, S, V];
-};
-dojo.gfx.Colorspace.prototype.HSV_to_RGB = function () {
-	var src = this.munge("HSV", arguments);
-	if (src.H == 360) {
-		src.H = 0;
-	}
-	var r = null;
-	var g = null;
-	var b = null;
-	if (src.S == 0) {
-		var R = src.V;
-		var G = src.V;
-		var B = src.V;
-	} else {
-		var hTemp = src.H / 60;
-		var i = Math.floor(hTemp);
-		var f = hTemp - i;
-		var p = src.V * (1 - src.S);
-		var q = src.V * (1 - (src.S * f));
-		var t = src.V * (1 - (src.S * (1 - f)));
-		switch (i) {
-		  case 0:
-			R = src.V;
-			G = t;
-			B = p;
-			break;
-		  case 1:
-			R = q;
-			G = src.V;
-			B = p;
-			break;
-		  case 2:
-			R = p;
-			G = src.V;
-			B = t;
-			break;
-		  case 3:
-			R = p;
-			G = q;
-			B = src.V;
-			break;
-		  case 4:
-			R = t;
-			G = p;
-			B = src.V;
-			break;
-		  case 5:
-			R = src.V;
-			G = p;
-			B = q;
-			break;
-		}
-	}
-	return [R, G, B];
-};
-dojo.gfx.Colorspace.prototype.RGB_to_HSL = function () {
-	var src = this.munge("RGB", arguments);
-	var min = Math.min(src.R, src.G, src.B);
-	var max = Math.max(src.R, src.G, src.B);
-	var delta = max - min;
-	var H = 0;
-	var S = 0;
-	var L = (min + max) / 2;
-	if ((L > 0) && (L < 1)) {
-		S = delta / ((L < 0.5) ? (2 * L) : (2 - 2 * L));
-	}
-	if (delta > 0) {
-		if ((max == src.R) && (max != src.G)) {
-			H += (src.G - src.B) / delta;
-		}
-		if ((max == src.G) && (max != src.B)) {
-			H += (2 + (src.B - src.R) / delta);
-		}
-		if ((max == src.B) && (max != src.R)) {
-			H += (4 + (src.R - src.G) / delta);
-		}
-		H *= 60;
-	}
-	H = (H == 0) ? 360 : H;
-	return [H, S, L];
-};
-dojo.gfx.Colorspace.prototype.HSL_to_RGB = function () {
-	var src = this.munge("HSL", arguments);
-	while (src.H < 0) {
-		src.H += 360;
-	}
-	while (src.H >= 360) {
-		src.H -= 360;
-	}
-	var R = 0;
-	var G = 0;
-	var B = 0;
-	if (src.H < 120) {
-		R = (120 - src.H) / 60;
-		G = src.H / 60;
-		B = 0;
-	} else {
-		if (src.H < 240) {
-			R = 0;
-			G = (240 - src.H) / 60;
-			B = (src.H - 120) / 60;
-		} else {
-			R = (src.H - 240) / 60;
-			G = 0;
-			B = (360 - src.H) / 60;
-		}
-	}
-	R = 2 * src.S * Math.min(R, 1) + (1 - src.S);
-	G = 2 * src.S * Math.min(G, 1) + (1 - src.S);
-	B = 2 * src.S * Math.min(B, 1) + (1 - src.S);
-	if (src.L < 0.5) {
-		R = src.L * R;
-		G = src.L * G;
-		B = src.L * B;
-	} else {
-		R = (1 - src.L) * R + 2 * src.L - 1;
-		G = (1 - src.L) * G + 2 * src.L - 1;
-		B = (1 - src.L) * B + 2 * src.L - 1;
-	}
-	return [R, G, B];
-};
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/__package__.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/__package__.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/__package__.js
deleted file mode 100644
index fd53fd4..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/gfx/__package__.js
+++ /dev/null
@@ -1,17 +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.kwCompoundRequire({common:["dojo.gfx.color", "dojo.gfx.matrix", "dojo.gfx.common"]});
-dojo.requireIf(dojo.render.svg.capable, "dojo.gfx.svg");
-dojo.requireIf(dojo.render.vml.capable, "dojo.gfx.vml");
-dojo.provide("dojo.gfx.*");
-