You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/07/16 21:14:56 UTC

svn commit: r794787 [18/34] - in /geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src: ./ animation/ cal/ charting/ charting/svg/ charting/vml/ collections/ crypto/ data/ data/core/ data/old/ data/old/format/ data/old/provider/ date/ debug/...

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,150 @@
+/*
+	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.undo.Manager");
+dojo.require("dojo.lang.common");
+dojo.undo.Manager = function (parent) {
+	this.clear();
+	this._parent = parent;
+};
+dojo.extend(dojo.undo.Manager, {_parent:null, _undoStack:null, _redoStack:null, _currentManager:null, canUndo:false, canRedo:false, isUndoing:false, isRedoing:false, onUndo:function (manager, item) {
+}, onRedo:function (manager, item) {
+}, onUndoAny:function (manager, item) {
+}, onRedoAny:function (manager, item) {
+}, _updateStatus:function () {
+	this.canUndo = this._undoStack.length > 0;
+	this.canRedo = this._redoStack.length > 0;
+}, clear:function () {
+	this._undoStack = [];
+	this._redoStack = [];
+	this._currentManager = this;
+	this.isUndoing = false;
+	this.isRedoing = false;
+	this._updateStatus();
+}, undo:function () {
+	if (!this.canUndo) {
+		return false;
+	}
+	this.endAllTransactions();
+	this.isUndoing = true;
+	var top = this._undoStack.pop();
+	if (top instanceof dojo.undo.Manager) {
+		top.undoAll();
+	} else {
+		top.undo();
+	}
+	if (top.redo) {
+		this._redoStack.push(top);
+	}
+	this.isUndoing = false;
+	this._updateStatus();
+	this.onUndo(this, top);
+	if (!(top instanceof dojo.undo.Manager)) {
+		this.getTop().onUndoAny(this, top);
+	}
+	return true;
+}, redo:function () {
+	if (!this.canRedo) {
+		return false;
+	}
+	this.isRedoing = true;
+	var top = this._redoStack.pop();
+	if (top instanceof dojo.undo.Manager) {
+		top.redoAll();
+	} else {
+		top.redo();
+	}
+	this._undoStack.push(top);
+	this.isRedoing = false;
+	this._updateStatus();
+	this.onRedo(this, top);
+	if (!(top instanceof dojo.undo.Manager)) {
+		this.getTop().onRedoAny(this, top);
+	}
+	return true;
+}, undoAll:function () {
+	while (this._undoStack.length > 0) {
+		this.undo();
+	}
+}, redoAll:function () {
+	while (this._redoStack.length > 0) {
+		this.redo();
+	}
+}, push:function (undo, redo, description) {
+	if (!undo) {
+		return;
+	}
+	if (this._currentManager == this) {
+		this._undoStack.push({undo:undo, redo:redo, description:description});
+	} else {
+		this._currentManager.push.apply(this._currentManager, arguments);
+	}
+	this._redoStack = [];
+	this._updateStatus();
+}, concat:function (manager) {
+	if (!manager) {
+		return;
+	}
+	if (this._currentManager == this) {
+		for (var x = 0; x < manager._undoStack.length; x++) {
+			this._undoStack.push(manager._undoStack[x]);
+		}
+		if (manager._undoStack.length > 0) {
+			this._redoStack = [];
+		}
+		this._updateStatus();
+	} else {
+		this._currentManager.concat.apply(this._currentManager, arguments);
+	}
+}, beginTransaction:function (description) {
+	if (this._currentManager == this) {
+		var mgr = new dojo.undo.Manager(this);
+		mgr.description = description ? description : "";
+		this._undoStack.push(mgr);
+		this._currentManager = mgr;
+		return mgr;
+	} else {
+		this._currentManager = this._currentManager.beginTransaction.apply(this._currentManager, arguments);
+	}
+}, endTransaction:function (flatten) {
+	if (this._currentManager == this) {
+		if (this._parent) {
+			this._parent._currentManager = this._parent;
+			if (this._undoStack.length == 0 || flatten) {
+				var idx = dojo.lang.find(this._parent._undoStack, this);
+				if (idx >= 0) {
+					this._parent._undoStack.splice(idx, 1);
+					if (flatten) {
+						for (var x = 0; x < this._undoStack.length; x++) {
+							this._parent._undoStack.splice(idx++, 0, this._undoStack[x]);
+						}
+						this._updateStatus();
+					}
+				}
+			}
+			return this._parent;
+		}
+	} else {
+		this._currentManager = this._currentManager.endTransaction.apply(this._currentManager, arguments);
+	}
+}, endAllTransactions:function () {
+	while (this._currentManager != this) {
+		this.endTransaction();
+	}
+}, getTop:function () {
+	if (this._parent) {
+		return this._parent.getTop();
+	} else {
+		return this;
+	}
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.undo.Manager");
+dojo.provide("dojo.undo.*");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,203 @@
+/*
+	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.undo.browser");
+dojo.require("dojo.io.common");
+try {
+	if ((!djConfig["preventBackButtonFix"]) && (!dojo.hostenv.post_load_)) {
+		document.write("<iframe style='border: 0px; width: 1px; height: 1px; position: absolute; bottom: 0px; right: 0px; visibility: visible;' name='djhistory' id='djhistory' src='" + (djConfig["dojoIframeHistoryUrl"] || dojo.hostenv.getBaseScriptUri() + "iframe_history.html") + "'></iframe>");
+	}
+}
+catch (e) {
+}
+if (dojo.render.html.opera) {
+	dojo.debug("Opera is not supported with dojo.undo.browser, so back/forward detection will not work.");
+}
+dojo.undo.browser = {initialHref:(!dj_undef("window")) ? window.location.href : "", initialHash:(!dj_undef("window")) ? window.location.hash : "", moveForward:false, historyStack:[], forwardStack:[], historyIframe:null, bookmarkAnchor:null, locationTimer:null, setInitialState:function (args) {
+	this.initialState = this._createState(this.initialHref, args, this.initialHash);
+}, addToHistory:function (args) {
+	this.forwardStack = [];
+	var hash = null;
+	var url = null;
+	if (!this.historyIframe) {
+		if (djConfig["useXDomain"] && !djConfig["dojoIframeHistoryUrl"]) {
+			dojo.debug("dojo.undo.browser: When using cross-domain Dojo builds," + " please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl" + " to the path on your domain to iframe_history.html");
+		}
+		this.historyIframe = window.frames["djhistory"];
+	}
+	if (!this.bookmarkAnchor) {
+		this.bookmarkAnchor = document.createElement("a");
+		dojo.body().appendChild(this.bookmarkAnchor);
+		this.bookmarkAnchor.style.display = "none";
+	}
+	if (args["changeUrl"]) {
+		hash = "#" + ((args["changeUrl"] !== true) ? args["changeUrl"] : (new Date()).getTime());
+		if (this.historyStack.length == 0 && this.initialState.urlHash == hash) {
+			this.initialState = this._createState(url, args, hash);
+			return;
+		} else {
+			if (this.historyStack.length > 0 && this.historyStack[this.historyStack.length - 1].urlHash == hash) {
+				this.historyStack[this.historyStack.length - 1] = this._createState(url, args, hash);
+				return;
+			}
+		}
+		this.changingUrl = true;
+		setTimeout("window.location.href = '" + hash + "'; dojo.undo.browser.changingUrl = false;", 1);
+		this.bookmarkAnchor.href = hash;
+		if (dojo.render.html.ie) {
+			url = this._loadIframeHistory();
+			var oldCB = args["back"] || args["backButton"] || args["handle"];
+			var tcb = function (handleName) {
+				if (window.location.hash != "") {
+					setTimeout("window.location.href = '" + hash + "';", 1);
+				}
+				oldCB.apply(this, [handleName]);
+			};
+			if (args["back"]) {
+				args.back = tcb;
+			} else {
+				if (args["backButton"]) {
+					args.backButton = tcb;
+				} else {
+					if (args["handle"]) {
+						args.handle = tcb;
+					}
+				}
+			}
+			var oldFW = args["forward"] || args["forwardButton"] || args["handle"];
+			var tfw = function (handleName) {
+				if (window.location.hash != "") {
+					window.location.href = hash;
+				}
+				if (oldFW) {
+					oldFW.apply(this, [handleName]);
+				}
+			};
+			if (args["forward"]) {
+				args.forward = tfw;
+			} else {
+				if (args["forwardButton"]) {
+					args.forwardButton = tfw;
+				} else {
+					if (args["handle"]) {
+						args.handle = tfw;
+					}
+				}
+			}
+		} else {
+			if (dojo.render.html.moz) {
+				if (!this.locationTimer) {
+					this.locationTimer = setInterval("dojo.undo.browser.checkLocation();", 200);
+				}
+			}
+		}
+	} else {
+		url = this._loadIframeHistory();
+	}
+	this.historyStack.push(this._createState(url, args, hash));
+}, checkLocation:function () {
+	if (!this.changingUrl) {
+		var hsl = this.historyStack.length;
+		if ((window.location.hash == this.initialHash || window.location.href == this.initialHref) && (hsl == 1)) {
+			this.handleBackButton();
+			return;
+		}
+		if (this.forwardStack.length > 0) {
+			if (this.forwardStack[this.forwardStack.length - 1].urlHash == window.location.hash) {
+				this.handleForwardButton();
+				return;
+			}
+		}
+		if ((hsl >= 2) && (this.historyStack[hsl - 2])) {
+			if (this.historyStack[hsl - 2].urlHash == window.location.hash) {
+				this.handleBackButton();
+				return;
+			}
+		}
+	}
+}, iframeLoaded:function (evt, ifrLoc) {
+	if (!dojo.render.html.opera) {
+		var query = this._getUrlQuery(ifrLoc.href);
+		if (query == null) {
+			if (this.historyStack.length == 1) {
+				this.handleBackButton();
+			}
+			return;
+		}
+		if (this.moveForward) {
+			this.moveForward = false;
+			return;
+		}
+		if (this.historyStack.length >= 2 && query == this._getUrlQuery(this.historyStack[this.historyStack.length - 2].url)) {
+			this.handleBackButton();
+		} else {
+			if (this.forwardStack.length > 0 && query == this._getUrlQuery(this.forwardStack[this.forwardStack.length - 1].url)) {
+				this.handleForwardButton();
+			}
+		}
+	}
+}, handleBackButton:function () {
+	var current = this.historyStack.pop();
+	if (!current) {
+		return;
+	}
+	var last = this.historyStack[this.historyStack.length - 1];
+	if (!last && this.historyStack.length == 0) {
+		last = this.initialState;
+	}
+	if (last) {
+		if (last.kwArgs["back"]) {
+			last.kwArgs["back"]();
+		} else {
+			if (last.kwArgs["backButton"]) {
+				last.kwArgs["backButton"]();
+			} else {
+				if (last.kwArgs["handle"]) {
+					last.kwArgs.handle("back");
+				}
+			}
+		}
+	}
+	this.forwardStack.push(current);
+}, handleForwardButton:function () {
+	var last = this.forwardStack.pop();
+	if (!last) {
+		return;
+	}
+	if (last.kwArgs["forward"]) {
+		last.kwArgs.forward();
+	} else {
+		if (last.kwArgs["forwardButton"]) {
+			last.kwArgs.forwardButton();
+		} else {
+			if (last.kwArgs["handle"]) {
+				last.kwArgs.handle("forward");
+			}
+		}
+	}
+	this.historyStack.push(last);
+}, _createState:function (url, args, hash) {
+	return {"url":url, "kwArgs":args, "urlHash":hash};
+}, _getUrlQuery:function (url) {
+	var segments = url.split("?");
+	if (segments.length < 2) {
+		return null;
+	} else {
+		return segments[1];
+	}
+}, _loadIframeHistory:function () {
+	var url = (djConfig["dojoIframeHistoryUrl"] || dojo.hostenv.getBaseScriptUri() + "iframe_history.html") + "?" + (new Date()).getTime();
+	this.moveForward = true;
+	dojo.io.setIFrameSrc(this.historyIframe, url, false);
+	return url;
+}};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,115 @@
+/*
+	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.uri.Uri");
+dojo.uri = new function () {
+	this.dojoUri = function (uri) {
+		return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri(), uri);
+	};
+	this.moduleUri = function (module, uri) {
+		var loc = dojo.hostenv.getModuleSymbols(module).join("/");
+		if (!loc) {
+			return null;
+		}
+		if (loc.lastIndexOf("/") != loc.length - 1) {
+			loc += "/";
+		}
+		var colonIndex = loc.indexOf(":");
+		var slashIndex = loc.indexOf("/");
+		if (loc.charAt(0) != "/" && (colonIndex == -1 || colonIndex > slashIndex)) {
+			loc = dojo.hostenv.getBaseScriptUri() + loc;
+		}
+		return new dojo.uri.Uri(loc, uri);
+	};
+	this.Uri = function () {
+		var uri = arguments[0];
+		for (var i = 1; i < arguments.length; i++) {
+			if (!arguments[i]) {
+				continue;
+			}
+			var relobj = new dojo.uri.Uri(arguments[i].toString());
+			var uriobj = new dojo.uri.Uri(uri.toString());
+			if ((relobj.path == "") && (relobj.scheme == null) && (relobj.authority == null) && (relobj.query == null)) {
+				if (relobj.fragment != null) {
+					uriobj.fragment = relobj.fragment;
+				}
+				relobj = uriobj;
+			} else {
+				if (relobj.scheme == null) {
+					relobj.scheme = uriobj.scheme;
+					if (relobj.authority == null) {
+						relobj.authority = uriobj.authority;
+						if (relobj.path.charAt(0) != "/") {
+							var path = uriobj.path.substring(0, uriobj.path.lastIndexOf("/") + 1) + relobj.path;
+							var segs = path.split("/");
+							for (var j = 0; j < segs.length; j++) {
+								if (segs[j] == ".") {
+									if (j == segs.length - 1) {
+										segs[j] = "";
+									} else {
+										segs.splice(j, 1);
+										j--;
+									}
+								} else {
+									if (j > 0 && !(j == 1 && segs[0] == "") && segs[j] == ".." && segs[j - 1] != "..") {
+										if (j == segs.length - 1) {
+											segs.splice(j, 1);
+											segs[j - 1] = "";
+										} else {
+											segs.splice(j - 1, 2);
+											j -= 2;
+										}
+									}
+								}
+							}
+							relobj.path = segs.join("/");
+						}
+					}
+				}
+			}
+			uri = "";
+			if (relobj.scheme != null) {
+				uri += relobj.scheme + ":";
+			}
+			if (relobj.authority != null) {
+				uri += "//" + relobj.authority;
+			}
+			uri += relobj.path;
+			if (relobj.query != null) {
+				uri += "?" + relobj.query;
+			}
+			if (relobj.fragment != null) {
+				uri += "#" + relobj.fragment;
+			}
+		}
+		this.uri = uri.toString();
+		var regexp = "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
+		var r = this.uri.match(new RegExp(regexp));
+		this.scheme = r[2] || (r[1] ? "" : null);
+		this.authority = r[4] || (r[3] ? "" : null);
+		this.path = r[5];
+		this.query = r[7] || (r[6] ? "" : null);
+		this.fragment = r[9] || (r[8] ? "" : null);
+		if (this.authority != null) {
+			regexp = "^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$";
+			r = this.authority.match(new RegExp(regexp));
+			this.user = r[3] || null;
+			this.password = r[4] || null;
+			this.host = r[5];
+			this.port = r[7] || null;
+		}
+		this.toString = function () {
+			return this.uri;
+		};
+	};
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.kwCompoundRequire({common:[["dojo.uri.Uri", false, false]]});
+dojo.provide("dojo.uri.*");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,32 @@
+/*
+	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.uri.cache");
+dojo.uri.cache = {_cache:{}, set:function (uri, content) {
+	this._cache[uri.toString()] = content;
+	return uri;
+}, remove:function (uri) {
+	delete this._cache[uri.toString()];
+}, get:function (uri) {
+	var key = uri.toString();
+	var value = this._cache[key];
+	if (!value) {
+		value = dojo.hostenv.getText(key);
+		if (value) {
+			this._cache[key] = value;
+		}
+	}
+	return value;
+}, allow:function (uri) {
+	return uri;
+}};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,42 @@
+/*
+	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.uuid.LightweightGenerator");
+dojo.uuid.LightweightGenerator = new function () {
+	var HEX_RADIX = 16;
+	function _generateRandomEightCharacterHexString() {
+		var random32bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 32));
+		var eightCharacterHexString = random32bitNumber.toString(HEX_RADIX);
+		while (eightCharacterHexString.length < 8) {
+			eightCharacterHexString = "0" + eightCharacterHexString;
+		}
+		return eightCharacterHexString;
+	}
+	this.generate = function (returnType) {
+		var hyphen = "-";
+		var versionCodeForRandomlyGeneratedUuids = "4";
+		var variantCodeForDCEUuids = "8";
+		var a = _generateRandomEightCharacterHexString();
+		var b = _generateRandomEightCharacterHexString();
+		b = b.substring(0, 4) + hyphen + versionCodeForRandomlyGeneratedUuids + b.substring(5, 8);
+		var c = _generateRandomEightCharacterHexString();
+		c = variantCodeForDCEUuids + c.substring(1, 4) + hyphen + c.substring(4, 8);
+		var d = _generateRandomEightCharacterHexString();
+		var returnValue = a + hyphen + b + hyphen + c + d;
+		returnValue = returnValue.toLowerCase();
+		if (returnType && (returnType != String)) {
+			returnValue = new returnType(returnValue);
+		}
+		return returnValue;
+	};
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,24 @@
+/*
+	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.uuid.NameBasedGenerator");
+dojo.uuid.NameBasedGenerator = new function () {
+	this.generate = function (returnType) {
+		dojo.unimplemented("dojo.uuid.NameBasedGenerator.generate");
+		var returnValue = "00000000-0000-0000-0000-000000000000";
+		if (returnType && (returnType != String)) {
+			returnValue = new returnType(returnValue);
+		}
+		return returnValue;
+	};
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,23 @@
+/*
+	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.uuid.NilGenerator");
+dojo.uuid.NilGenerator = new function () {
+	this.generate = function (returnType) {
+		var returnValue = "00000000-0000-0000-0000-000000000000";
+		if (returnType && (returnType != String)) {
+			returnValue = new returnType(returnValue);
+		}
+		return returnValue;
+	};
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,24 @@
+/*
+	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.uuid.RandomGenerator");
+dojo.uuid.RandomGenerator = new function () {
+	this.generate = function (returnType) {
+		dojo.unimplemented("dojo.uuid.RandomGenerator.generate");
+		var returnValue = "00000000-0000-0000-0000-000000000000";
+		if (returnType && (returnType != String)) {
+			returnValue = new returnType(returnValue);
+		}
+		return returnValue;
+	};
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,245 @@
+/*
+	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.uuid.TimeBasedGenerator");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.type");
+dojo.require("dojo.lang.assert");
+dojo.uuid.TimeBasedGenerator = new function () {
+	this.GREGORIAN_CHANGE_OFFSET_IN_HOURS = 3394248;
+	var _uuidPseudoNodeString = null;
+	var _uuidClockSeqString = null;
+	var _dateValueOfPreviousUuid = null;
+	var _nextIntraMillisecondIncrement = 0;
+	var _cachedMillisecondsBetween1582and1970 = null;
+	var _cachedHundredNanosecondIntervalsPerMillisecond = null;
+	var _uniformNode = null;
+	var HEX_RADIX = 16;
+	function _carry(arrayA) {
+		arrayA[2] += arrayA[3] >>> 16;
+		arrayA[3] &= 65535;
+		arrayA[1] += arrayA[2] >>> 16;
+		arrayA[2] &= 65535;
+		arrayA[0] += arrayA[1] >>> 16;
+		arrayA[1] &= 65535;
+		dojo.lang.assert((arrayA[0] >>> 16) === 0);
+	}
+	function _get64bitArrayFromFloat(x) {
+		var result = new Array(0, 0, 0, 0);
+		result[3] = x % 65536;
+		x -= result[3];
+		x /= 65536;
+		result[2] = x % 65536;
+		x -= result[2];
+		x /= 65536;
+		result[1] = x % 65536;
+		x -= result[1];
+		x /= 65536;
+		result[0] = x;
+		return result;
+	}
+	function _addTwo64bitArrays(arrayA, arrayB) {
+		dojo.lang.assertType(arrayA, Array);
+		dojo.lang.assertType(arrayB, Array);
+		dojo.lang.assert(arrayA.length == 4);
+		dojo.lang.assert(arrayB.length == 4);
+		var result = new Array(0, 0, 0, 0);
+		result[3] = arrayA[3] + arrayB[3];
+		result[2] = arrayA[2] + arrayB[2];
+		result[1] = arrayA[1] + arrayB[1];
+		result[0] = arrayA[0] + arrayB[0];
+		_carry(result);
+		return result;
+	}
+	function _multiplyTwo64bitArrays(arrayA, arrayB) {
+		dojo.lang.assertType(arrayA, Array);
+		dojo.lang.assertType(arrayB, Array);
+		dojo.lang.assert(arrayA.length == 4);
+		dojo.lang.assert(arrayB.length == 4);
+		var overflow = false;
+		if (arrayA[0] * arrayB[0] !== 0) {
+			overflow = true;
+		}
+		if (arrayA[0] * arrayB[1] !== 0) {
+			overflow = true;
+		}
+		if (arrayA[0] * arrayB[2] !== 0) {
+			overflow = true;
+		}
+		if (arrayA[1] * arrayB[0] !== 0) {
+			overflow = true;
+		}
+		if (arrayA[1] * arrayB[1] !== 0) {
+			overflow = true;
+		}
+		if (arrayA[2] * arrayB[0] !== 0) {
+			overflow = true;
+		}
+		dojo.lang.assert(!overflow);
+		var result = new Array(0, 0, 0, 0);
+		result[0] += arrayA[0] * arrayB[3];
+		_carry(result);
+		result[0] += arrayA[1] * arrayB[2];
+		_carry(result);
+		result[0] += arrayA[2] * arrayB[1];
+		_carry(result);
+		result[0] += arrayA[3] * arrayB[0];
+		_carry(result);
+		result[1] += arrayA[1] * arrayB[3];
+		_carry(result);
+		result[1] += arrayA[2] * arrayB[2];
+		_carry(result);
+		result[1] += arrayA[3] * arrayB[1];
+		_carry(result);
+		result[2] += arrayA[2] * arrayB[3];
+		_carry(result);
+		result[2] += arrayA[3] * arrayB[2];
+		_carry(result);
+		result[3] += arrayA[3] * arrayB[3];
+		_carry(result);
+		return result;
+	}
+	function _padWithLeadingZeros(string, desiredLength) {
+		while (string.length < desiredLength) {
+			string = "0" + string;
+		}
+		return string;
+	}
+	function _generateRandomEightCharacterHexString() {
+		var random32bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 32));
+		var eightCharacterString = random32bitNumber.toString(HEX_RADIX);
+		while (eightCharacterString.length < 8) {
+			eightCharacterString = "0" + eightCharacterString;
+		}
+		return eightCharacterString;
+	}
+	function _generateUuidString(node) {
+		dojo.lang.assertType(node, String, {optional:true});
+		if (node) {
+			dojo.lang.assert(node.length == 12);
+		} else {
+			if (_uniformNode) {
+				node = _uniformNode;
+			} else {
+				if (!_uuidPseudoNodeString) {
+					var pseudoNodeIndicatorBit = 32768;
+					var random15bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 15));
+					var leftmost4HexCharacters = (pseudoNodeIndicatorBit | random15bitNumber).toString(HEX_RADIX);
+					_uuidPseudoNodeString = leftmost4HexCharacters + _generateRandomEightCharacterHexString();
+				}
+				node = _uuidPseudoNodeString;
+			}
+		}
+		if (!_uuidClockSeqString) {
+			var variantCodeForDCEUuids = 32768;
+			var random14bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 14));
+			_uuidClockSeqString = (variantCodeForDCEUuids | random14bitNumber).toString(HEX_RADIX);
+		}
+		var now = new Date();
+		var millisecondsSince1970 = now.valueOf();
+		var nowArray = _get64bitArrayFromFloat(millisecondsSince1970);
+		if (!_cachedMillisecondsBetween1582and1970) {
+			var arraySecondsPerHour = _get64bitArrayFromFloat(60 * 60);
+			var arrayHoursBetween1582and1970 = _get64bitArrayFromFloat(dojo.uuid.TimeBasedGenerator.GREGORIAN_CHANGE_OFFSET_IN_HOURS);
+			var arraySecondsBetween1582and1970 = _multiplyTwo64bitArrays(arrayHoursBetween1582and1970, arraySecondsPerHour);
+			var arrayMillisecondsPerSecond = _get64bitArrayFromFloat(1000);
+			_cachedMillisecondsBetween1582and1970 = _multiplyTwo64bitArrays(arraySecondsBetween1582and1970, arrayMillisecondsPerSecond);
+			_cachedHundredNanosecondIntervalsPerMillisecond = _get64bitArrayFromFloat(10000);
+		}
+		var arrayMillisecondsSince1970 = nowArray;
+		var arrayMillisecondsSince1582 = _addTwo64bitArrays(_cachedMillisecondsBetween1582and1970, arrayMillisecondsSince1970);
+		var arrayHundredNanosecondIntervalsSince1582 = _multiplyTwo64bitArrays(arrayMillisecondsSince1582, _cachedHundredNanosecondIntervalsPerMillisecond);
+		if (now.valueOf() == _dateValueOfPreviousUuid) {
+			arrayHundredNanosecondIntervalsSince1582[3] += _nextIntraMillisecondIncrement;
+			_carry(arrayHundredNanosecondIntervalsSince1582);
+			_nextIntraMillisecondIncrement += 1;
+			if (_nextIntraMillisecondIncrement == 10000) {
+				while (now.valueOf() == _dateValueOfPreviousUuid) {
+					now = new Date();
+				}
+			}
+		} else {
+			_dateValueOfPreviousUuid = now.valueOf();
+			_nextIntraMillisecondIncrement = 1;
+		}
+		var hexTimeLowLeftHalf = arrayHundredNanosecondIntervalsSince1582[2].toString(HEX_RADIX);
+		var hexTimeLowRightHalf = arrayHundredNanosecondIntervalsSince1582[3].toString(HEX_RADIX);
+		var hexTimeLow = _padWithLeadingZeros(hexTimeLowLeftHalf, 4) + _padWithLeadingZeros(hexTimeLowRightHalf, 4);
+		var hexTimeMid = arrayHundredNanosecondIntervalsSince1582[1].toString(HEX_RADIX);
+		hexTimeMid = _padWithLeadingZeros(hexTimeMid, 4);
+		var hexTimeHigh = arrayHundredNanosecondIntervalsSince1582[0].toString(HEX_RADIX);
+		hexTimeHigh = _padWithLeadingZeros(hexTimeHigh, 3);
+		var hyphen = "-";
+		var versionCodeForTimeBasedUuids = "1";
+		var resultUuid = hexTimeLow + hyphen + hexTimeMid + hyphen + versionCodeForTimeBasedUuids + hexTimeHigh + hyphen + _uuidClockSeqString + hyphen + node;
+		resultUuid = resultUuid.toLowerCase();
+		return resultUuid;
+	}
+	this.setNode = function (node) {
+		dojo.lang.assert((node === null) || (node.length == 12));
+		_uniformNode = node;
+	};
+	this.getNode = function () {
+		return _uniformNode;
+	};
+	this.generate = function (input) {
+		var nodeString = null;
+		var returnType = null;
+		if (input) {
+			if (dojo.lang.isObject(input) && !dojo.lang.isBuiltIn(input)) {
+				var namedParameters = input;
+				dojo.lang.assertValidKeywords(namedParameters, ["node", "hardwareNode", "pseudoNode", "returnType"]);
+				var node = namedParameters["node"];
+				var hardwareNode = namedParameters["hardwareNode"];
+				var pseudoNode = namedParameters["pseudoNode"];
+				nodeString = (node || pseudoNode || hardwareNode);
+				if (nodeString) {
+					var firstCharacter = nodeString.charAt(0);
+					var firstDigit = parseInt(firstCharacter, HEX_RADIX);
+					if (hardwareNode) {
+						dojo.lang.assert((firstDigit >= 0) && (firstDigit <= 7));
+					}
+					if (pseudoNode) {
+						dojo.lang.assert((firstDigit >= 8) && (firstDigit <= 15));
+					}
+				}
+				returnType = namedParameters["returnType"];
+				dojo.lang.assertType(returnType, Function, {optional:true});
+			} else {
+				if (dojo.lang.isString(input)) {
+					nodeString = input;
+					returnType = null;
+				} else {
+					if (dojo.lang.isFunction(input)) {
+						nodeString = null;
+						returnType = input;
+					}
+				}
+			}
+			if (nodeString) {
+				dojo.lang.assert(nodeString.length == 12);
+				var integer = parseInt(nodeString, HEX_RADIX);
+				dojo.lang.assert(isFinite(integer));
+			}
+			dojo.lang.assertType(returnType, Function, {optional:true});
+		}
+		var uuidString = _generateUuidString(nodeString);
+		var returnValue;
+		if (returnType && (returnType != String)) {
+			returnValue = new returnType(uuidString);
+		} else {
+			returnValue = uuidString;
+		}
+		return returnValue;
+	};
+}();
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,215 @@
+/*
+	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.uuid.Uuid");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.assert");
+dojo.uuid.Uuid = function (input) {
+	this._uuidString = dojo.uuid.Uuid.NIL_UUID;
+	if (input) {
+		if (dojo.lang.isString(input)) {
+			this._uuidString = input.toLowerCase();
+			dojo.lang.assert(this.isValid());
+		} else {
+			if (dojo.lang.isObject(input) && input.generate) {
+				var generator = input;
+				this._uuidString = generator.generate();
+				dojo.lang.assert(this.isValid());
+			} else {
+				dojo.lang.assert(false, "The dojo.uuid.Uuid() constructor must be initializated with a UUID string.");
+			}
+		}
+	} else {
+		var ourGenerator = dojo.uuid.Uuid.getGenerator();
+		if (ourGenerator) {
+			this._uuidString = ourGenerator.generate();
+			dojo.lang.assert(this.isValid());
+		}
+	}
+};
+dojo.uuid.Uuid.NIL_UUID = "00000000-0000-0000-0000-000000000000";
+dojo.uuid.Uuid.Version = {UNKNOWN:0, TIME_BASED:1, DCE_SECURITY:2, NAME_BASED_MD5:3, RANDOM:4, NAME_BASED_SHA1:5};
+dojo.uuid.Uuid.Variant = {NCS:"0", DCE:"10", MICROSOFT:"110", UNKNOWN:"111"};
+dojo.uuid.Uuid.HEX_RADIX = 16;
+dojo.uuid.Uuid.compare = function (uuidOne, uuidTwo) {
+	var uuidStringOne = uuidOne.toString();
+	var uuidStringTwo = uuidTwo.toString();
+	if (uuidStringOne > uuidStringTwo) {
+		return 1;
+	}
+	if (uuidStringOne < uuidStringTwo) {
+		return -1;
+	}
+	return 0;
+};
+dojo.uuid.Uuid.setGenerator = function (generator) {
+	dojo.lang.assert(!generator || (dojo.lang.isObject(generator) && generator.generate));
+	dojo.uuid.Uuid._ourGenerator = generator;
+};
+dojo.uuid.Uuid.getGenerator = function () {
+	return dojo.uuid.Uuid._ourGenerator;
+};
+dojo.uuid.Uuid.prototype.toString = function (format) {
+	if (format) {
+		switch (format) {
+		  case "{}":
+			return "{" + this._uuidString + "}";
+			break;
+		  case "()":
+			return "(" + this._uuidString + ")";
+			break;
+		  case "\"\"":
+			return "\"" + this._uuidString + "\"";
+			break;
+		  case "''":
+			return "'" + this._uuidString + "'";
+			break;
+		  case "urn":
+			return "urn:uuid:" + this._uuidString;
+			break;
+		  case "!-":
+			return this._uuidString.split("-").join("");
+			break;
+		  default:
+			dojo.lang.assert(false, "The toString() method of dojo.uuid.Uuid was passed a bogus format.");
+		}
+	} else {
+		return this._uuidString;
+	}
+};
+dojo.uuid.Uuid.prototype.compare = function (otherUuid) {
+	return dojo.uuid.Uuid.compare(this, otherUuid);
+};
+dojo.uuid.Uuid.prototype.isEqual = function (otherUuid) {
+	return (this.compare(otherUuid) == 0);
+};
+dojo.uuid.Uuid.prototype.isValid = function () {
+	try {
+		dojo.lang.assertType(this._uuidString, String);
+		dojo.lang.assert(this._uuidString.length == 36);
+		dojo.lang.assert(this._uuidString == this._uuidString.toLowerCase());
+		var arrayOfParts = this._uuidString.split("-");
+		dojo.lang.assert(arrayOfParts.length == 5);
+		dojo.lang.assert(arrayOfParts[0].length == 8);
+		dojo.lang.assert(arrayOfParts[1].length == 4);
+		dojo.lang.assert(arrayOfParts[2].length == 4);
+		dojo.lang.assert(arrayOfParts[3].length == 4);
+		dojo.lang.assert(arrayOfParts[4].length == 12);
+		for (var i in arrayOfParts) {
+			var part = arrayOfParts[i];
+			var integer = parseInt(part, dojo.uuid.Uuid.HEX_RADIX);
+			dojo.lang.assert(isFinite(integer));
+		}
+		return true;
+	}
+	catch (e) {
+		return false;
+	}
+};
+dojo.uuid.Uuid.prototype.getVariant = function () {
+	var variantCharacter = this._uuidString.charAt(19);
+	var variantNumber = parseInt(variantCharacter, dojo.uuid.Uuid.HEX_RADIX);
+	dojo.lang.assert((variantNumber >= 0) && (variantNumber <= 16));
+	if (!dojo.uuid.Uuid._ourVariantLookupTable) {
+		var Variant = dojo.uuid.Uuid.Variant;
+		var lookupTable = [];
+		lookupTable[0] = Variant.NCS;
+		lookupTable[1] = Variant.NCS;
+		lookupTable[2] = Variant.NCS;
+		lookupTable[3] = Variant.NCS;
+		lookupTable[4] = Variant.NCS;
+		lookupTable[5] = Variant.NCS;
+		lookupTable[6] = Variant.NCS;
+		lookupTable[7] = Variant.NCS;
+		lookupTable[8] = Variant.DCE;
+		lookupTable[9] = Variant.DCE;
+		lookupTable[10] = Variant.DCE;
+		lookupTable[11] = Variant.DCE;
+		lookupTable[12] = Variant.MICROSOFT;
+		lookupTable[13] = Variant.MICROSOFT;
+		lookupTable[14] = Variant.UNKNOWN;
+		lookupTable[15] = Variant.UNKNOWN;
+		dojo.uuid.Uuid._ourVariantLookupTable = lookupTable;
+	}
+	return dojo.uuid.Uuid._ourVariantLookupTable[variantNumber];
+};
+dojo.uuid.Uuid.prototype.getVersion = function () {
+	if (!this._versionNumber) {
+		var errorMessage = "Called getVersion() on a dojo.uuid.Uuid that was not a DCE Variant UUID.";
+		dojo.lang.assert(this.getVariant() == dojo.uuid.Uuid.Variant.DCE, errorMessage);
+		var versionCharacter = this._uuidString.charAt(14);
+		this._versionNumber = parseInt(versionCharacter, dojo.uuid.Uuid.HEX_RADIX);
+	}
+	return this._versionNumber;
+};
+dojo.uuid.Uuid.prototype.getNode = function () {
+	if (!this._nodeString) {
+		var errorMessage = "Called getNode() on a dojo.uuid.Uuid that was not a TIME_BASED UUID.";
+		dojo.lang.assert(this.getVersion() == dojo.uuid.Uuid.Version.TIME_BASED, errorMessage);
+		var arrayOfStrings = this._uuidString.split("-");
+		this._nodeString = arrayOfStrings[4];
+	}
+	return this._nodeString;
+};
+dojo.uuid.Uuid.prototype.getTimestamp = function (returnType) {
+	var errorMessage = "Called getTimestamp() on a dojo.uuid.Uuid that was not a TIME_BASED UUID.";
+	dojo.lang.assert(this.getVersion() == dojo.uuid.Uuid.Version.TIME_BASED, errorMessage);
+	if (!returnType) {
+		returnType = null;
+	}
+	switch (returnType) {
+	  case "string":
+	  case String:
+		return this.getTimestamp(Date).toUTCString();
+		break;
+	  case "hex":
+		if (!this._timestampAsHexString) {
+			var arrayOfStrings = this._uuidString.split("-");
+			var hexTimeLow = arrayOfStrings[0];
+			var hexTimeMid = arrayOfStrings[1];
+			var hexTimeHigh = arrayOfStrings[2];
+			hexTimeHigh = hexTimeHigh.slice(1);
+			this._timestampAsHexString = hexTimeHigh + hexTimeMid + hexTimeLow;
+			dojo.lang.assert(this._timestampAsHexString.length == 15);
+		}
+		return this._timestampAsHexString;
+		break;
+	  case null:
+	  case "date":
+	  case Date:
+		if (!this._timestampAsDate) {
+			var GREGORIAN_CHANGE_OFFSET_IN_HOURS = 3394248;
+			var arrayOfParts = this._uuidString.split("-");
+			var timeLow = parseInt(arrayOfParts[0], dojo.uuid.Uuid.HEX_RADIX);
+			var timeMid = parseInt(arrayOfParts[1], dojo.uuid.Uuid.HEX_RADIX);
+			var timeHigh = parseInt(arrayOfParts[2], dojo.uuid.Uuid.HEX_RADIX);
+			var hundredNanosecondIntervalsSince1582 = timeHigh & 4095;
+			hundredNanosecondIntervalsSince1582 <<= 16;
+			hundredNanosecondIntervalsSince1582 += timeMid;
+			hundredNanosecondIntervalsSince1582 *= 4294967296;
+			hundredNanosecondIntervalsSince1582 += timeLow;
+			var millisecondsSince1582 = hundredNanosecondIntervalsSince1582 / 10000;
+			var secondsPerHour = 60 * 60;
+			var hoursBetween1582and1970 = GREGORIAN_CHANGE_OFFSET_IN_HOURS;
+			var secondsBetween1582and1970 = hoursBetween1582and1970 * secondsPerHour;
+			var millisecondsBetween1582and1970 = secondsBetween1582and1970 * 1000;
+			var millisecondsSince1970 = millisecondsSince1582 - millisecondsBetween1582and1970;
+			this._timestampAsDate = new Date(millisecondsSince1970);
+		}
+		return this._timestampAsDate;
+		break;
+	  default:
+		dojo.lang.assert(false, "The getTimestamp() method dojo.uuid.Uuid was passed a bogus returnType: " + returnType);
+		break;
+	}
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.kwCompoundRequire({common:["dojo.uuid.Uuid", "dojo.uuid.LightweightGenerator", "dojo.uuid.RandomGenerator", "dojo.uuid.TimeBasedGenerator", "dojo.uuid.NameBasedGenerator", "dojo.uuid.NilGenerator"]});
+dojo.provide("dojo.uuid.*");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate");
+dojo.require("dojo.validate.common");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,16 @@
+/*
+	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.require("dojo.validate");
+dojo.kwCompoundRequire({common:["dojo.validate.check", "dojo.validate.datetime", "dojo.validate.de", "dojo.validate.jp", "dojo.validate.us", "dojo.validate.web"]});
+dojo.provide("dojo.validate.*");
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,234 @@
+/*
+	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.validate.check");
+dojo.require("dojo.validate.common");
+dojo.require("dojo.lang.common");
+dojo.validate.check = function (form, profile) {
+	var missing = [];
+	var invalid = [];
+	var results = {isSuccessful:function () {
+		return (!this.hasInvalid() && !this.hasMissing());
+	}, hasMissing:function () {
+		return (missing.length > 0);
+	}, getMissing:function () {
+		return missing;
+	}, isMissing:function (elemname) {
+		for (var i = 0; i < missing.length; i++) {
+			if (elemname == missing[i]) {
+				return true;
+			}
+		}
+		return false;
+	}, hasInvalid:function () {
+		return (invalid.length > 0);
+	}, getInvalid:function () {
+		return invalid;
+	}, isInvalid:function (elemname) {
+		for (var i = 0; i < invalid.length; i++) {
+			if (elemname == invalid[i]) {
+				return true;
+			}
+		}
+		return false;
+	}};
+	if (profile.trim instanceof Array) {
+		for (var i = 0; i < profile.trim.length; i++) {
+			var elem = form[profile.trim[i]];
+			if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+				continue;
+			}
+			elem.value = elem.value.replace(/(^\s*|\s*$)/g, "");
+		}
+	}
+	if (profile.uppercase instanceof Array) {
+		for (var i = 0; i < profile.uppercase.length; i++) {
+			var elem = form[profile.uppercase[i]];
+			if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+				continue;
+			}
+			elem.value = elem.value.toUpperCase();
+		}
+	}
+	if (profile.lowercase instanceof Array) {
+		for (var i = 0; i < profile.lowercase.length; i++) {
+			var elem = form[profile.lowercase[i]];
+			if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+				continue;
+			}
+			elem.value = elem.value.toLowerCase();
+		}
+	}
+	if (profile.ucfirst instanceof Array) {
+		for (var i = 0; i < profile.ucfirst.length; i++) {
+			var elem = form[profile.ucfirst[i]];
+			if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+				continue;
+			}
+			elem.value = elem.value.replace(/\b\w+\b/g, function (word) {
+				return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
+			});
+		}
+	}
+	if (profile.digit instanceof Array) {
+		for (var i = 0; i < profile.digit.length; i++) {
+			var elem = form[profile.digit[i]];
+			if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+				continue;
+			}
+			elem.value = elem.value.replace(/\D/g, "");
+		}
+	}
+	if (profile.required instanceof Array) {
+		for (var i = 0; i < profile.required.length; i++) {
+			if (!dojo.lang.isString(profile.required[i])) {
+				continue;
+			}
+			var elem = form[profile.required[i]];
+			if (!dj_undef("type", elem) && (elem.type == "text" || elem.type == "textarea" || elem.type == "password") && /^\s*$/.test(elem.value)) {
+				missing[missing.length] = elem.name;
+			} else {
+				if (!dj_undef("type", elem) && (elem.type == "select-one" || elem.type == "select-multiple") && (elem.selectedIndex == -1 || /^\s*$/.test(elem.options[elem.selectedIndex].value))) {
+					missing[missing.length] = elem.name;
+				} else {
+					if (elem instanceof Array) {
+						var checked = false;
+						for (var j = 0; j < elem.length; j++) {
+							if (elem[j].checked) {
+								checked = true;
+							}
+						}
+						if (!checked) {
+							missing[missing.length] = elem[0].name;
+						}
+					}
+				}
+			}
+		}
+	}
+	if (profile.required instanceof Array) {
+		for (var i = 0; i < profile.required.length; i++) {
+			if (!dojo.lang.isObject(profile.required[i])) {
+				continue;
+			}
+			var elem, numRequired;
+			for (var name in profile.required[i]) {
+				elem = form[name];
+				numRequired = profile.required[i][name];
+			}
+			if (elem instanceof Array) {
+				var checked = 0;
+				for (var j = 0; j < elem.length; j++) {
+					if (elem[j].checked) {
+						checked++;
+					}
+				}
+				if (checked < numRequired) {
+					missing[missing.length] = elem[0].name;
+				}
+			} else {
+				if (!dj_undef("type", elem) && elem.type == "select-multiple") {
+					var selected = 0;
+					for (var j = 0; j < elem.options.length; j++) {
+						if (elem.options[j].selected && !/^\s*$/.test(elem.options[j].value)) {
+							selected++;
+						}
+					}
+					if (selected < numRequired) {
+						missing[missing.length] = elem.name;
+					}
+				}
+			}
+		}
+	}
+	if (dojo.lang.isObject(profile.dependencies) || dojo.lang.isObject(profile.dependancies)) {
+		if (profile["dependancies"]) {
+			dojo.deprecated("dojo.validate.check", "profile 'dependancies' is deprecated, please use " + "'dependencies'", "0.5");
+			profile.dependencies = profile.dependancies;
+		}
+		for (name in profile.dependencies) {
+			var elem = form[name];
+			if (dj_undef("type", elem)) {
+				continue;
+			}
+			if (elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+				continue;
+			}
+			if (/\S+/.test(elem.value)) {
+				continue;
+			}
+			if (results.isMissing(elem.name)) {
+				continue;
+			}
+			var target = form[profile.dependencies[name]];
+			if (target.type != "text" && target.type != "textarea" && target.type != "password") {
+				continue;
+			}
+			if (/^\s*$/.test(target.value)) {
+				continue;
+			}
+			missing[missing.length] = elem.name;
+		}
+	}
+	if (dojo.lang.isObject(profile.constraints)) {
+		for (name in profile.constraints) {
+			var elem = form[name];
+			if (!elem) {
+				continue;
+			}
+			if (!dj_undef("tagName", elem) && (elem.tagName.toLowerCase().indexOf("input") >= 0 || elem.tagName.toLowerCase().indexOf("textarea") >= 0) && /^\s*$/.test(elem.value)) {
+				continue;
+			}
+			var isValid = true;
+			if (dojo.lang.isFunction(profile.constraints[name])) {
+				isValid = profile.constraints[name](elem.value);
+			} else {
+				if (dojo.lang.isArray(profile.constraints[name])) {
+					if (dojo.lang.isArray(profile.constraints[name][0])) {
+						for (var i = 0; i < profile.constraints[name].length; i++) {
+							isValid = dojo.validate.evaluateConstraint(profile, profile.constraints[name][i], name, elem);
+							if (!isValid) {
+								break;
+							}
+						}
+					} else {
+						isValid = dojo.validate.evaluateConstraint(profile, profile.constraints[name], name, elem);
+					}
+				}
+			}
+			if (!isValid) {
+				invalid[invalid.length] = elem.name;
+			}
+		}
+	}
+	if (dojo.lang.isObject(profile.confirm)) {
+		for (name in profile.confirm) {
+			var elem = form[name];
+			var target = form[profile.confirm[name]];
+			if (dj_undef("type", elem) || dj_undef("type", target) || (elem.type != "text" && elem.type != "textarea" && elem.type != "password") || (target.type != elem.type) || (target.value == elem.value) || (results.isInvalid(elem.name)) || (/^\s*$/.test(target.value))) {
+				continue;
+			}
+			invalid[invalid.length] = elem.name;
+		}
+	}
+	return results;
+};
+dojo.validate.evaluateConstraint = function (profile, constraint, fieldName, elem) {
+	var isValidSomething = constraint[0];
+	var params = constraint.slice(1);
+	params.unshift(elem.value);
+	if (typeof isValidSomething != "undefined") {
+		return isValidSomething.apply(null, params);
+	}
+	return false;
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,96 @@
+/*
+	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.validate.common");
+dojo.require("dojo.regexp");
+dojo.validate.isText = function (value, flags) {
+	flags = (typeof flags == "object") ? flags : {};
+	if (/^\s*$/.test(value)) {
+		return false;
+	}
+	if (typeof flags.length == "number" && flags.length != value.length) {
+		return false;
+	}
+	if (typeof flags.minlength == "number" && flags.minlength > value.length) {
+		return false;
+	}
+	if (typeof flags.maxlength == "number" && flags.maxlength < value.length) {
+		return false;
+	}
+	return true;
+};
+dojo.validate.isInteger = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
+	return re.test(value);
+};
+dojo.validate.isRealNumber = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
+	return re.test(value);
+};
+dojo.validate.isCurrency = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
+	return re.test(value);
+};
+dojo.validate._isInRangeCache = {};
+dojo.validate.isInRange = function (value, flags) {
+	value = value.replace(dojo.lang.has(flags, "separator") ? flags.separator : ",", "", "g").replace(dojo.lang.has(flags, "symbol") ? flags.symbol : "$", "");
+	if (isNaN(value)) {
+		return false;
+	}
+	flags = (typeof flags == "object") ? flags : {};
+	var max = (typeof flags.max == "number") ? flags.max : Infinity;
+	var min = (typeof flags.min == "number") ? flags.min : -Infinity;
+	var dec = (typeof flags.decimal == "string") ? flags.decimal : ".";
+	var cache = dojo.validate._isInRangeCache;
+	var cacheIdx = value + "max" + max + "min" + min + "dec" + dec;
+	if (typeof cache[cacheIdx] != "undefined") {
+		return cache[cacheIdx];
+	}
+	var pattern = "[^" + dec + "\\deE+-]";
+	value = value.replace(RegExp(pattern, "g"), "");
+	value = value.replace(/^([+-]?)(\D*)/, "$1");
+	value = value.replace(/(\D*)$/, "");
+	pattern = "(\\d)[" + dec + "](\\d)";
+	value = value.replace(RegExp(pattern, "g"), "$1.$2");
+	value = Number(value);
+	if (value < min || value > max) {
+		cache[cacheIdx] = false;
+		return false;
+	}
+	cache[cacheIdx] = true;
+	return true;
+};
+dojo.validate.isNumberFormat = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.numberFormat(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.isValidLuhn = function (value) {
+	var sum, parity, curDigit;
+	if (typeof value != "string") {
+		value = String(value);
+	}
+	value = value.replace(/[- ]/g, "");
+	parity = value.length % 2;
+	sum = 0;
+	for (var i = 0; i < value.length; i++) {
+		curDigit = parseInt(value.charAt(i));
+		if (i % 2 == parity) {
+			curDigit *= 2;
+		}
+		if (curDigit > 9) {
+			curDigit -= 9;
+		}
+		sum += curDigit;
+	}
+	return !(sum % 10);
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,64 @@
+/*
+	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.validate.creditCard");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.validate.common");
+dojo.validate.isValidCreditCard = function (value, ccType) {
+	if (value && ccType && ((ccType.toLowerCase() == "er" || dojo.validate.isValidLuhn(value)) && (dojo.validate.isValidCreditCardNumber(value, ccType.toLowerCase())))) {
+		return true;
+	}
+	return false;
+};
+dojo.validate.isValidCreditCardNumber = function (value, ccType) {
+	if (typeof value != "string") {
+		value = String(value);
+	}
+	value = value.replace(/[- ]/g, "");
+	var results = [];
+	var cardinfo = {"mc":"5[1-5][0-9]{14}", "ec":"5[1-5][0-9]{14}", "vi":"4([0-9]{12}|[0-9]{15})", "ax":"3[47][0-9]{13}", "dc":"3(0[0-5][0-9]{11}|[68][0-9]{12})", "bl":"3(0[0-5][0-9]{11}|[68][0-9]{12})", "di":"6011[0-9]{12}", "jcb":"(3[0-9]{15}|(2131|1800)[0-9]{11})", "er":"2(014|149)[0-9]{11}"};
+	if (ccType && dojo.lang.has(cardinfo, ccType.toLowerCase())) {
+		return Boolean(value.match(cardinfo[ccType.toLowerCase()]));
+	} else {
+		for (var p in cardinfo) {
+			if (value.match("^" + cardinfo[p] + "$") != null) {
+				results.push(p);
+			}
+		}
+		return (results.length) ? results.join("|") : false;
+	}
+};
+dojo.validate.isValidCvv = function (value, ccType) {
+	if (typeof value != "string") {
+		value = String(value);
+	}
+	var format;
+	switch (ccType.toLowerCase()) {
+	  case "mc":
+	  case "ec":
+	  case "vi":
+	  case "di":
+		format = "###";
+		break;
+	  case "ax":
+		format = "####";
+		break;
+	  default:
+		return false;
+	}
+	var flags = {format:format};
+	if ((value.length == format.length) && (dojo.validate.isNumberFormat(value, flags))) {
+		return true;
+	}
+	return false;
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,92 @@
+/*
+	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.validate.datetime");
+dojo.require("dojo.validate.common");
+dojo.validate.isValidTime = function (value, flags) {
+	dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+	var re = new RegExp("^" + dojo.regexp.time(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.is12HourTime = function (value) {
+	dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+	return dojo.validate.isValidTime(value, {format:["h:mm:ss t", "h:mm t"]});
+};
+dojo.validate.is24HourTime = function (value) {
+	dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+	return dojo.validate.isValidTime(value, {format:["HH:mm:ss", "HH:mm"]});
+};
+dojo.validate.isValidDate = function (dateValue, format) {
+	dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+	if (typeof format == "object" && typeof format.format == "string") {
+		format = format.format;
+	}
+	if (typeof format != "string") {
+		format = "MM/DD/YYYY";
+	}
+	var reLiteral = format.replace(/([$^.*+?=!:|\/\\\(\)\[\]\{\}])/g, "\\$1");
+	reLiteral = reLiteral.replace("YYYY", "([0-9]{4})");
+	reLiteral = reLiteral.replace("MM", "(0[1-9]|10|11|12)");
+	reLiteral = reLiteral.replace("M", "([1-9]|10|11|12)");
+	reLiteral = reLiteral.replace("DDD", "(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])");
+	reLiteral = reLiteral.replace("DD", "(0[1-9]|[12][0-9]|30|31)");
+	reLiteral = reLiteral.replace("D", "([1-9]|[12][0-9]|30|31)");
+	reLiteral = reLiteral.replace("ww", "(0[1-9]|[1-4][0-9]|5[0-3])");
+	reLiteral = reLiteral.replace("d", "([1-7])");
+	reLiteral = "^" + reLiteral + "$";
+	var re = new RegExp(reLiteral);
+	if (!re.test(dateValue)) {
+		return false;
+	}
+	var year = 0, month = 1, date = 1, dayofyear = 1, week = 1, day = 1;
+	var tokens = format.match(/(YYYY|MM|M|DDD|DD|D|ww|d)/g);
+	var values = re.exec(dateValue);
+	for (var i = 0; i < tokens.length; i++) {
+		switch (tokens[i]) {
+		  case "YYYY":
+			year = Number(values[i + 1]);
+			break;
+		  case "M":
+		  case "MM":
+			month = Number(values[i + 1]);
+			break;
+		  case "D":
+		  case "DD":
+			date = Number(values[i + 1]);
+			break;
+		  case "DDD":
+			dayofyear = Number(values[i + 1]);
+			break;
+		  case "ww":
+			week = Number(values[i + 1]);
+			break;
+		  case "d":
+			day = Number(values[i + 1]);
+			break;
+		}
+	}
+	var leapyear = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
+	if (date == 31 && (month == 4 || month == 6 || month == 9 || month == 11)) {
+		return false;
+	}
+	if (date >= 30 && month == 2) {
+		return false;
+	}
+	if (date == 29 && month == 2 && !leapyear) {
+		return false;
+	}
+	if (dayofyear == 366 && !leapyear) {
+		return false;
+	}
+	return true;
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+	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.validate.de");
+dojo.require("dojo.validate.common");
+dojo.validate.isGermanCurrency = function (value) {
+	var flags = {symbol:"\u20ac", placement:"after", signPlacement:"begin", decimal:",", separator:"."};
+	return dojo.validate.isCurrency(value, flags);
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+	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.validate.jp");
+dojo.require("dojo.validate.common");
+dojo.validate.isJapaneseCurrency = function (value) {
+	var flags = {symbol:"\xa5", fractional:false};
+	return dojo.validate.isCurrency(value, flags);
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,34 @@
+/*
+	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.validate.us");
+dojo.require("dojo.validate.common");
+dojo.validate.us.isCurrency = function (value, flags) {
+	return dojo.validate.isCurrency(value, flags);
+};
+dojo.validate.us.isState = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.us.state(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.us.isPhoneNumber = function (value) {
+	var flags = {format:["###-###-####", "(###) ###-####", "(###) ### ####", "###.###.####", "###/###-####", "### ### ####", "###-###-#### x#???", "(###) ###-#### x#???", "(###) ### #### x#???", "###.###.#### x#???", "###/###-#### x#???", "### ### #### x#???", "##########"]};
+	return dojo.validate.isNumberFormat(value, flags);
+};
+dojo.validate.us.isSocialSecurityNumber = function (value) {
+	var flags = {format:["###-##-####", "### ## ####", "#########"]};
+	return dojo.validate.isNumberFormat(value, flags);
+};
+dojo.validate.us.isZipCode = function (value) {
+	var flags = {format:["#####-####", "##### ####", "#########", "#####"]};
+	return dojo.validate.isNumberFormat(value, flags);
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,43 @@
+/*
+	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.validate.web");
+dojo.require("dojo.validate.common");
+dojo.validate.isIpAddress = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.ipAddress(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.isUrl = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.url(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.isEmailAddress = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.emailAddress(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.isEmailAddressList = function (value, flags) {
+	var re = new RegExp("^" + dojo.regexp.emailAddressList(flags) + "$", "i");
+	return re.test(value);
+};
+dojo.validate.getEmailAddressList = function (value, flags) {
+	if (!flags) {
+		flags = {};
+	}
+	if (!flags.listSeparator) {
+		flags.listSeparator = "\\s;,";
+	}
+	if (dojo.validate.isEmailAddressList(value, flags)) {
+		return value.split(new RegExp("\\s*[" + flags.listSeparator + "]\\s*"));
+	}
+	return [];
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,128 @@
+/*
+	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.AccordionContainer");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.html.*");
+dojo.require("dojo.lfx.html");
+dojo.require("dojo.html.selection");
+dojo.require("dojo.widget.html.layout");
+dojo.require("dojo.widget.PageContainer");
+dojo.widget.defineWidget("dojo.widget.AccordionContainer", dojo.widget.HtmlWidget, {isContainer:true, labelNodeClass:"label", containerNodeClass:"accBody", duration:250, fillInTemplate:function () {
+	with (this.domNode.style) {
+		if (position != "absolute") {
+			position = "relative";
+		}
+		overflow = "hidden";
+	}
+}, addChild:function (widget) {
+	var child = this._addChild(widget);
+	this._setSizes();
+	return child;
+}, _addChild:function (widget) {
+	if (widget.open) {
+		dojo.deprecated("open parameter deprecated, use 'selected=true' instead will be removed in ", "0.5");
+		dojo.debug(widget.widgetId + ": open == " + widget.open);
+		widget.selected = true;
+	}
+	if (widget.widgetType != "AccordionPane") {
+		var wrapper = dojo.widget.createWidget("AccordionPane", {label:widget.label, selected:widget.selected, labelNodeClass:this.labelNodeClass, containerNodeClass:this.containerNodeClass, allowCollapse:this.allowCollapse});
+		wrapper.addChild(widget);
+		this.addWidgetAsDirectChild(wrapper);
+		this.registerChild(wrapper, this.children.length);
+		return wrapper;
+	} else {
+		dojo.html.addClass(widget.containerNode, this.containerNodeClass);
+		dojo.html.addClass(widget.labelNode, this.labelNodeClass);
+		this.addWidgetAsDirectChild(widget);
+		this.registerChild(widget, this.children.length);
+		return widget;
+	}
+}, postCreate:function () {
+	var tmpChildren = this.children;
+	this.children = [];
+	dojo.html.removeChildren(this.domNode);
+	dojo.lang.forEach(tmpChildren, dojo.lang.hitch(this, "_addChild"));
+	this._setSizes();
+}, removeChild:function (widget) {
+	dojo.widget.AccordionContainer.superclass.removeChild.call(this, widget);
+	this._setSizes();
+}, onResized:function () {
+	this._setSizes();
+}, _setSizes:function () {
+	var totalCollapsedHeight = 0;
+	var openIdx = 0;
+	dojo.lang.forEach(this.children, function (child, idx) {
+		totalCollapsedHeight += child.getLabelHeight();
+		if (child.selected) {
+			openIdx = idx;
+		}
+	});
+	var mySize = dojo.html.getContentBox(this.domNode);
+	var y = 0;
+	dojo.lang.forEach(this.children, function (child, idx) {
+		var childCollapsedHeight = child.getLabelHeight();
+		child.resizeTo(mySize.width, mySize.height - totalCollapsedHeight + childCollapsedHeight);
+		child.domNode.style.zIndex = idx + 1;
+		child.domNode.style.position = "absolute";
+		child.domNode.style.top = y + "px";
+		y += (idx == openIdx) ? dojo.html.getBorderBox(child.domNode).height : childCollapsedHeight;
+	});
+}, selectChild:function (page) {
+	dojo.lang.forEach(this.children, function (child) {
+		child.setSelected(child == page);
+	});
+	var y = 0;
+	var anims = [];
+	dojo.lang.forEach(this.children, function (child, idx) {
+		if (child.domNode.style.top != (y + "px")) {
+			anims.push(dojo.lfx.html.slideTo(child.domNode, {top:y, left:0}, this.duration));
+		}
+		y += child.selected ? dojo.html.getBorderBox(child.domNode).height : child.getLabelHeight();
+	}, this);
+	dojo.lfx.combine(anims).play();
+}});
+dojo.widget.defineWidget("dojo.widget.AccordionPane", dojo.widget.HtmlWidget, {label:"", "class":"dojoAccordionPane", labelNodeClass:"label", containerNodeClass:"accBody", selected:false, templateString:"<div dojoAttachPoint=\"domNode\">\n<div dojoAttachPoint=\"labelNode\" dojoAttachEvent=\"onclick: onLabelClick\" class=\"${this.labelNodeClass}\">${this.label}</div>\n<div dojoAttachPoint=\"containerNode\" style=\"overflow: hidden;\" class=\"${this.containerNodeClass}\"></div>\n</div>\n", templateCssString:".dojoAccordionPane .label {\n\tcolor: #000;\n\tfont-weight: bold;\n\tbackground: url(\"images/soriaAccordionOff.gif\") repeat-x top left #85aeec;\n\tborder:1px solid #d9d9d9;\n\tfont-size:0.9em;\n}\n\n.dojoAccordionPane-selected .label {\n\tbackground: url(\"images/soriaAccordionSelected.gif\") repeat-x top left #85aeec;\n\tborder:1px solid #84a3d1;\n}\n\n.dojoAccordionPane .label:hover {\n\tcursor: pointer;\n}\n\n.dojoAccordionPane .accBody {\n\tbackground: #fff;\n\toverf
 low: auto;\n\tborder:1px solid #84a3d1;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/AccordionPane.css"), isContainer:true, fillInTemplate:function () {
+	dojo.html.addClass(this.domNode, this["class"]);
+	dojo.widget.AccordionPane.superclass.fillInTemplate.call(this);
+	dojo.html.disableSelection(this.labelNode);
+	this.setSelected(this.selected);
+}, setLabel:function (label) {
+	this.labelNode.innerHTML = label;
+}, resizeTo:function (width, height) {
+	dojo.html.setMarginBox(this.domNode, {width:width, height:height});
+	var children = [{domNode:this.labelNode, layoutAlign:"top"}, {domNode:this.containerNode, layoutAlign:"client"}];
+	dojo.widget.html.layout(this.domNode, children);
+	var childSize = dojo.html.getContentBox(this.containerNode);
+	this.children[0].resizeTo(childSize.width, childSize.height);
+}, getLabelHeight:function () {
+	return dojo.html.getMarginBox(this.labelNode).height;
+}, onLabelClick:function () {
+	this.parent.selectChild(this);
+}, setSelected:function (isSelected) {
+	this.selected = isSelected;
+	(isSelected ? dojo.html.addClass : dojo.html.removeClass)(this.domNode, this["class"] + "-selected");
+	var child = this.children[0];
+	if (child) {
+		if (isSelected) {
+			if (!child.isShowing()) {
+				child.show();
+			} else {
+				child.onShow();
+			}
+		} else {
+			child.onHide();
+		}
+	}
+}});
+dojo.lang.extend(dojo.widget.Widget, {open:false});
+