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 [15/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/lang/timing/Streamer.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Streamer.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Streamer.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Streamer.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,67 @@
+/*
+	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.lang.timing.Streamer");
+dojo.require("dojo.lang.timing.Timer");
+dojo.lang.timing.Streamer = function (input, output, interval, minimum, initialData) {
+	var self = this;
+	var queue = [];
+	this.interval = interval || 1000;
+	this.minimumSize = minimum || 10;
+	this.inputFunction = input || function (q) {
+	};
+	this.outputFunction = output || function (point) {
+	};
+	var timer = new dojo.lang.timing.Timer(this.interval);
+	var tick = function () {
+		self.onTick(self);
+		if (queue.length < self.minimumSize) {
+			self.inputFunction(queue);
+		}
+		var obj = queue.shift();
+		while (typeof (obj) == "undefined" && queue.length > 0) {
+			obj = queue.shift();
+		}
+		if (typeof (obj) == "undefined") {
+			self.stop();
+			return;
+		}
+		self.outputFunction(obj);
+	};
+	this.setInterval = function (ms) {
+		this.interval = ms;
+		timer.setInterval(ms);
+	};
+	this.onTick = function (obj) {
+	};
+	this.start = function () {
+		if (typeof (this.inputFunction) == "function" && typeof (this.outputFunction) == "function") {
+			timer.start();
+			return;
+		}
+		dojo.raise("You cannot start a Streamer without an input and an output function.");
+	};
+	this.onStart = function () {
+	};
+	this.stop = function () {
+		timer.stop();
+	};
+	this.onStop = function () {
+	};
+	timer.onTick = this.tick;
+	timer.onStart = this.onStart;
+	timer.onStop = this.onStop;
+	if (initialData) {
+		queue.concat(initialData);
+	}
+};
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Timer.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Timer.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Timer.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/Timer.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,44 @@
+/*
+	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.lang.timing.Timer");
+dojo.require("dojo.lang.func");
+dojo.lang.timing.Timer = function (interval) {
+	this.timer = null;
+	this.isRunning = false;
+	this.interval = interval;
+	this.onStart = null;
+	this.onStop = null;
+};
+dojo.extend(dojo.lang.timing.Timer, {onTick:function () {
+}, setInterval:function (interval) {
+	if (this.isRunning) {
+		dj_global.clearInterval(this.timer);
+	}
+	this.interval = interval;
+	if (this.isRunning) {
+		this.timer = dj_global.setInterval(dojo.lang.hitch(this, "onTick"), this.interval);
+	}
+}, start:function () {
+	if (typeof this.onStart == "function") {
+		this.onStart();
+	}
+	this.isRunning = true;
+	this.timer = dj_global.setInterval(dojo.lang.hitch(this, "onTick"), this.interval);
+}, stop:function () {
+	if (typeof this.onStop == "function") {
+		this.onStop();
+	}
+	this.isRunning = false;
+	dj_global.clearInterval(this.timer);
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/timing/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,14 @@
+/*
+	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.lang.timing.*");
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/type.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/type.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/type.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lang/type.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,145 @@
+/*
+	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.lang.type");
+dojo.require("dojo.lang.common");
+dojo.lang.whatAmI = function (value) {
+	dojo.deprecated("dojo.lang.whatAmI", "use dojo.lang.getType instead", "0.5");
+	return dojo.lang.getType(value);
+};
+dojo.lang.whatAmI.custom = {};
+dojo.lang.getType = function (value) {
+	try {
+		if (dojo.lang.isArray(value)) {
+			return "array";
+		}
+		if (dojo.lang.isFunction(value)) {
+			return "function";
+		}
+		if (dojo.lang.isString(value)) {
+			return "string";
+		}
+		if (dojo.lang.isNumber(value)) {
+			return "number";
+		}
+		if (dojo.lang.isBoolean(value)) {
+			return "boolean";
+		}
+		if (dojo.lang.isAlien(value)) {
+			return "alien";
+		}
+		if (dojo.lang.isUndefined(value)) {
+			return "undefined";
+		}
+		for (var name in dojo.lang.whatAmI.custom) {
+			if (dojo.lang.whatAmI.custom[name](value)) {
+				return name;
+			}
+		}
+		if (dojo.lang.isObject(value)) {
+			return "object";
+		}
+	}
+	catch (e) {
+	}
+	return "unknown";
+};
+dojo.lang.isNumeric = function (value) {
+	return (!isNaN(value) && isFinite(value) && (value != null) && !dojo.lang.isBoolean(value) && !dojo.lang.isArray(value) && !/^\s*$/.test(value));
+};
+dojo.lang.isBuiltIn = function (value) {
+	return (dojo.lang.isArray(value) || dojo.lang.isFunction(value) || dojo.lang.isString(value) || dojo.lang.isNumber(value) || dojo.lang.isBoolean(value) || (value == null) || (value instanceof Error) || (typeof value == "error"));
+};
+dojo.lang.isPureObject = function (value) {
+	return ((value != null) && dojo.lang.isObject(value) && value.constructor == Object);
+};
+dojo.lang.isOfType = function (value, type, keywordParameters) {
+	var optional = false;
+	if (keywordParameters) {
+		optional = keywordParameters["optional"];
+	}
+	if (optional && ((value === null) || dojo.lang.isUndefined(value))) {
+		return true;
+	}
+	if (dojo.lang.isArray(type)) {
+		var arrayOfTypes = type;
+		for (var i in arrayOfTypes) {
+			var aType = arrayOfTypes[i];
+			if (dojo.lang.isOfType(value, aType)) {
+				return true;
+			}
+		}
+		return false;
+	} else {
+		if (dojo.lang.isString(type)) {
+			type = type.toLowerCase();
+		}
+		switch (type) {
+		  case Array:
+		  case "array":
+			return dojo.lang.isArray(value);
+		  case Function:
+		  case "function":
+			return dojo.lang.isFunction(value);
+		  case String:
+		  case "string":
+			return dojo.lang.isString(value);
+		  case Number:
+		  case "number":
+			return dojo.lang.isNumber(value);
+		  case "numeric":
+			return dojo.lang.isNumeric(value);
+		  case Boolean:
+		  case "boolean":
+			return dojo.lang.isBoolean(value);
+		  case Object:
+		  case "object":
+			return dojo.lang.isObject(value);
+		  case "pureobject":
+			return dojo.lang.isPureObject(value);
+		  case "builtin":
+			return dojo.lang.isBuiltIn(value);
+		  case "alien":
+			return dojo.lang.isAlien(value);
+		  case "undefined":
+			return dojo.lang.isUndefined(value);
+		  case null:
+		  case "null":
+			return (value === null);
+		  case "optional":
+			dojo.deprecated("dojo.lang.isOfType(value, [type, \"optional\"])", "use dojo.lang.isOfType(value, type, {optional: true} ) instead", "0.5");
+			return ((value === null) || dojo.lang.isUndefined(value));
+		  default:
+			if (dojo.lang.isFunction(type)) {
+				return (value instanceof type);
+			} else {
+				dojo.raise("dojo.lang.isOfType() was passed an invalid type");
+			}
+		}
+	}
+	dojo.raise("If we get here, it means a bug was introduced above.");
+};
+dojo.lang.getObject = function (str) {
+	var parts = str.split("."), i = 0, obj = dj_global;
+	do {
+		obj = obj[parts[i++]];
+	} while (i < parts.length && obj);
+	return (obj != dj_global) ? obj : null;
+};
+dojo.lang.doesObjectExist = function (str) {
+	var parts = str.split("."), i = 0, obj = dj_global;
+	do {
+		obj = obj[parts[i++]];
+	} while (i < parts.length && obj);
+	return (obj && obj != dj_global);
+};
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/Animation.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/Animation.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/Animation.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/Animation.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,404 @@
+/*
+	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.lfx.Animation");
+dojo.require("dojo.lang.func");
+dojo.lfx.Line = function (start, end) {
+	this.start = start;
+	this.end = end;
+	if (dojo.lang.isArray(start)) {
+		var diff = [];
+		dojo.lang.forEach(this.start, function (s, i) {
+			diff[i] = this.end[i] - s;
+		}, this);
+		this.getValue = function (n) {
+			var res = [];
+			dojo.lang.forEach(this.start, function (s, i) {
+				res[i] = (diff[i] * n) + s;
+			}, this);
+			return res;
+		};
+	} else {
+		var diff = end - start;
+		this.getValue = function (n) {
+			return (diff * n) + this.start;
+		};
+	}
+};
+if ((dojo.render.html.khtml) && (!dojo.render.html.safari)) {
+	dojo.lfx.easeDefault = function (n) {
+		return (parseFloat("0.5") + ((Math.sin((n + parseFloat("1.5")) * Math.PI)) / 2));
+	};
+} else {
+	dojo.lfx.easeDefault = function (n) {
+		return (0.5 + ((Math.sin((n + 1.5) * Math.PI)) / 2));
+	};
+}
+dojo.lfx.easeIn = function (n) {
+	return Math.pow(n, 3);
+};
+dojo.lfx.easeOut = function (n) {
+	return (1 - Math.pow(1 - n, 3));
+};
+dojo.lfx.easeInOut = function (n) {
+	return ((3 * Math.pow(n, 2)) - (2 * Math.pow(n, 3)));
+};
+dojo.lfx.IAnimation = function () {
+};
+dojo.lang.extend(dojo.lfx.IAnimation, {curve:null, duration:1000, easing:null, repeatCount:0, rate:10, handler:null, beforeBegin:null, onBegin:null, onAnimate:null, onEnd:null, onPlay:null, onPause:null, onStop:null, play:null, pause:null, stop:null, connect:function (evt, scope, newFunc) {
+	if (!newFunc) {
+		newFunc = scope;
+		scope = this;
+	}
+	newFunc = dojo.lang.hitch(scope, newFunc);
+	var oldFunc = this[evt] || function () {
+	};
+	this[evt] = function () {
+		var ret = oldFunc.apply(this, arguments);
+		newFunc.apply(this, arguments);
+		return ret;
+	};
+	return this;
+}, fire:function (evt, args) {
+	if (this[evt]) {
+		this[evt].apply(this, (args || []));
+	}
+	return this;
+}, repeat:function (count) {
+	this.repeatCount = count;
+	return this;
+}, _active:false, _paused:false});
+dojo.lfx.Animation = function (handlers, duration, curve, easing, repeatCount, rate) {
+	dojo.lfx.IAnimation.call(this);
+	if (dojo.lang.isNumber(handlers) || (!handlers && duration.getValue)) {
+		rate = repeatCount;
+		repeatCount = easing;
+		easing = curve;
+		curve = duration;
+		duration = handlers;
+		handlers = null;
+	} else {
+		if (handlers.getValue || dojo.lang.isArray(handlers)) {
+			rate = easing;
+			repeatCount = curve;
+			easing = duration;
+			curve = handlers;
+			duration = null;
+			handlers = null;
+		}
+	}
+	if (dojo.lang.isArray(curve)) {
+		this.curve = new dojo.lfx.Line(curve[0], curve[1]);
+	} else {
+		this.curve = curve;
+	}
+	if (duration != null && duration > 0) {
+		this.duration = duration;
+	}
+	if (repeatCount) {
+		this.repeatCount = repeatCount;
+	}
+	if (rate) {
+		this.rate = rate;
+	}
+	if (handlers) {
+		dojo.lang.forEach(["handler", "beforeBegin", "onBegin", "onEnd", "onPlay", "onStop", "onAnimate"], function (item) {
+			if (handlers[item]) {
+				this.connect(item, handlers[item]);
+			}
+		}, this);
+	}
+	if (easing && dojo.lang.isFunction(easing)) {
+		this.easing = easing;
+	}
+};
+dojo.inherits(dojo.lfx.Animation, dojo.lfx.IAnimation);
+dojo.lang.extend(dojo.lfx.Animation, {_startTime:null, _endTime:null, _timer:null, _percent:0, _startRepeatCount:0, play:function (delay, gotoStart) {
+	if (gotoStart) {
+		clearTimeout(this._timer);
+		this._active = false;
+		this._paused = false;
+		this._percent = 0;
+	} else {
+		if (this._active && !this._paused) {
+			return this;
+		}
+	}
+	this.fire("handler", ["beforeBegin"]);
+	this.fire("beforeBegin");
+	if (delay > 0) {
+		setTimeout(dojo.lang.hitch(this, function () {
+			this.play(null, gotoStart);
+		}), delay);
+		return this;
+	}
+	this._startTime = new Date().valueOf();
+	if (this._paused) {
+		this._startTime -= (this.duration * this._percent / 100);
+	}
+	this._endTime = this._startTime + this.duration;
+	this._active = true;
+	this._paused = false;
+	var step = this._percent / 100;
+	var value = this.curve.getValue(step);
+	if (this._percent == 0) {
+		if (!this._startRepeatCount) {
+			this._startRepeatCount = this.repeatCount;
+		}
+		this.fire("handler", ["begin", value]);
+		this.fire("onBegin", [value]);
+	}
+	this.fire("handler", ["play", value]);
+	this.fire("onPlay", [value]);
+	this._cycle();
+	return this;
+}, pause:function () {
+	clearTimeout(this._timer);
+	if (!this._active) {
+		return this;
+	}
+	this._paused = true;
+	var value = this.curve.getValue(this._percent / 100);
+	this.fire("handler", ["pause", value]);
+	this.fire("onPause", [value]);
+	return this;
+}, gotoPercent:function (pct, andPlay) {
+	clearTimeout(this._timer);
+	this._active = true;
+	this._paused = true;
+	this._percent = pct;
+	if (andPlay) {
+		this.play();
+	}
+	return this;
+}, stop:function (gotoEnd) {
+	clearTimeout(this._timer);
+	var step = this._percent / 100;
+	if (gotoEnd) {
+		step = 1;
+	}
+	var value = this.curve.getValue(step);
+	this.fire("handler", ["stop", value]);
+	this.fire("onStop", [value]);
+	this._active = false;
+	this._paused = false;
+	return this;
+}, status:function () {
+	if (this._active) {
+		return this._paused ? "paused" : "playing";
+	} else {
+		return "stopped";
+	}
+	return this;
+}, _cycle:function () {
+	clearTimeout(this._timer);
+	if (this._active) {
+		var curr = new Date().valueOf();
+		var step = (curr - this._startTime) / (this._endTime - this._startTime);
+		if (step >= 1) {
+			step = 1;
+			this._percent = 100;
+		} else {
+			this._percent = step * 100;
+		}
+		if ((this.easing) && (dojo.lang.isFunction(this.easing))) {
+			step = this.easing(step);
+		}
+		var value = this.curve.getValue(step);
+		this.fire("handler", ["animate", value]);
+		this.fire("onAnimate", [value]);
+		if (step < 1) {
+			this._timer = setTimeout(dojo.lang.hitch(this, "_cycle"), this.rate);
+		} else {
+			this._active = false;
+			this.fire("handler", ["end"]);
+			this.fire("onEnd");
+			if (this.repeatCount > 0) {
+				this.repeatCount--;
+				this.play(null, true);
+			} else {
+				if (this.repeatCount == -1) {
+					this.play(null, true);
+				} else {
+					if (this._startRepeatCount) {
+						this.repeatCount = this._startRepeatCount;
+						this._startRepeatCount = 0;
+					}
+				}
+			}
+		}
+	}
+	return this;
+}});
+dojo.lfx.Combine = function (animations) {
+	dojo.lfx.IAnimation.call(this);
+	this._anims = [];
+	this._animsEnded = 0;
+	var anims = arguments;
+	if (anims.length == 1 && (dojo.lang.isArray(anims[0]) || dojo.lang.isArrayLike(anims[0]))) {
+		anims = anims[0];
+	}
+	dojo.lang.forEach(anims, function (anim) {
+		this._anims.push(anim);
+		anim.connect("onEnd", dojo.lang.hitch(this, "_onAnimsEnded"));
+	}, this);
+};
+dojo.inherits(dojo.lfx.Combine, dojo.lfx.IAnimation);
+dojo.lang.extend(dojo.lfx.Combine, {_animsEnded:0, play:function (delay, gotoStart) {
+	if (!this._anims.length) {
+		return this;
+	}
+	this.fire("beforeBegin");
+	if (delay > 0) {
+		setTimeout(dojo.lang.hitch(this, function () {
+			this.play(null, gotoStart);
+		}), delay);
+		return this;
+	}
+	if (gotoStart || this._anims[0].percent == 0) {
+		this.fire("onBegin");
+	}
+	this.fire("onPlay");
+	this._animsCall("play", null, gotoStart);
+	return this;
+}, pause:function () {
+	this.fire("onPause");
+	this._animsCall("pause");
+	return this;
+}, stop:function (gotoEnd) {
+	this.fire("onStop");
+	this._animsCall("stop", gotoEnd);
+	return this;
+}, _onAnimsEnded:function () {
+	this._animsEnded++;
+	if (this._animsEnded >= this._anims.length) {
+		this.fire("onEnd");
+	}
+	return this;
+}, _animsCall:function (funcName) {
+	var args = [];
+	if (arguments.length > 1) {
+		for (var i = 1; i < arguments.length; i++) {
+			args.push(arguments[i]);
+		}
+	}
+	var _this = this;
+	dojo.lang.forEach(this._anims, function (anim) {
+		anim[funcName](args);
+	}, _this);
+	return this;
+}});
+dojo.lfx.Chain = function (animations) {
+	dojo.lfx.IAnimation.call(this);
+	this._anims = [];
+	this._currAnim = -1;
+	var anims = arguments;
+	if (anims.length == 1 && (dojo.lang.isArray(anims[0]) || dojo.lang.isArrayLike(anims[0]))) {
+		anims = anims[0];
+	}
+	var _this = this;
+	dojo.lang.forEach(anims, function (anim, i, anims_arr) {
+		this._anims.push(anim);
+		if (i < anims_arr.length - 1) {
+			anim.connect("onEnd", dojo.lang.hitch(this, "_playNext"));
+		} else {
+			anim.connect("onEnd", dojo.lang.hitch(this, function () {
+				this.fire("onEnd");
+			}));
+		}
+	}, this);
+};
+dojo.inherits(dojo.lfx.Chain, dojo.lfx.IAnimation);
+dojo.lang.extend(dojo.lfx.Chain, {_currAnim:-1, play:function (delay, gotoStart) {
+	if (!this._anims.length) {
+		return this;
+	}
+	if (gotoStart || !this._anims[this._currAnim]) {
+		this._currAnim = 0;
+	}
+	var currentAnimation = this._anims[this._currAnim];
+	this.fire("beforeBegin");
+	if (delay > 0) {
+		setTimeout(dojo.lang.hitch(this, function () {
+			this.play(null, gotoStart);
+		}), delay);
+		return this;
+	}
+	if (currentAnimation) {
+		if (this._currAnim == 0) {
+			this.fire("handler", ["begin", this._currAnim]);
+			this.fire("onBegin", [this._currAnim]);
+		}
+		this.fire("onPlay", [this._currAnim]);
+		currentAnimation.play(null, gotoStart);
+	}
+	return this;
+}, pause:function () {
+	if (this._anims[this._currAnim]) {
+		this._anims[this._currAnim].pause();
+		this.fire("onPause", [this._currAnim]);
+	}
+	return this;
+}, playPause:function () {
+	if (this._anims.length == 0) {
+		return this;
+	}
+	if (this._currAnim == -1) {
+		this._currAnim = 0;
+	}
+	var currAnim = this._anims[this._currAnim];
+	if (currAnim) {
+		if (!currAnim._active || currAnim._paused) {
+			this.play();
+		} else {
+			this.pause();
+		}
+	}
+	return this;
+}, stop:function () {
+	var currAnim = this._anims[this._currAnim];
+	if (currAnim) {
+		currAnim.stop();
+		this.fire("onStop", [this._currAnim]);
+	}
+	return currAnim;
+}, _playNext:function () {
+	if (this._currAnim == -1 || this._anims.length == 0) {
+		return this;
+	}
+	this._currAnim++;
+	if (this._anims[this._currAnim]) {
+		this._anims[this._currAnim].play(null, true);
+	}
+	return this;
+}});
+dojo.lfx.combine = function (animations) {
+	var anims = arguments;
+	if (dojo.lang.isArray(arguments[0])) {
+		anims = arguments[0];
+	}
+	if (anims.length == 1) {
+		return anims[0];
+	}
+	return new dojo.lfx.Combine(anims);
+};
+dojo.lfx.chain = function (animations) {
+	var anims = arguments;
+	if (dojo.lang.isArray(arguments[0])) {
+		anims = arguments[0];
+	}
+	if (anims.length == 1) {
+		return anims[0];
+	}
+	return new dojo.lfx.Chain(anims);
+};
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/__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({browser:["dojo.lfx.html"], dashboard:["dojo.lfx.html"]});
+dojo.provide("dojo.lfx.*");
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/extras.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/extras.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/extras.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/extras.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,80 @@
+/*
+	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.lfx.extras");
+dojo.require("dojo.lfx.html");
+dojo.require("dojo.lfx.Animation");
+dojo.lfx.html.fadeWipeIn = function (nodes, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anim = dojo.lfx.combine(dojo.lfx.fadeIn(nodes, duration, easing), dojo.lfx.wipeIn(nodes, duration, easing));
+	if (callback) {
+		anim.connect("onEnd", function () {
+			callback(nodes, anim);
+		});
+	}
+	return anim;
+};
+dojo.lfx.html.fadeWipeOut = function (nodes, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anim = dojo.lfx.combine(dojo.lfx.fadeOut(nodes, duration, easing), dojo.lfx.wipeOut(nodes, duration, easing));
+	if (callback) {
+		anim.connect("onEnd", function () {
+			callback(nodes, anim);
+		});
+	}
+	return anim;
+};
+dojo.lfx.html.scale = function (nodes, percentage, scaleContent, fromCenter, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	dojo.lang.forEach(nodes, function (node) {
+		var outer = dojo.html.getMarginBox(node);
+		var actualPct = percentage / 100;
+		var props = [{property:"width", start:outer.width, end:outer.width * actualPct}, {property:"height", start:outer.height, end:outer.height * actualPct}];
+		if (scaleContent) {
+			var fontSize = dojo.html.getStyle(node, "font-size");
+			var fontSizeType = null;
+			if (!fontSize) {
+				fontSize = parseFloat("100%");
+				fontSizeType = "%";
+			} else {
+				dojo.lang.some(["em", "px", "%"], function (item, index, arr) {
+					if (fontSize.indexOf(item) > 0) {
+						fontSize = parseFloat(fontSize);
+						fontSizeType = item;
+						return true;
+					}
+				});
+			}
+			props.push({property:"font-size", start:fontSize, end:fontSize * actualPct, units:fontSizeType});
+		}
+		if (fromCenter) {
+			var positioning = dojo.html.getStyle(node, "position");
+			var originalTop = node.offsetTop;
+			var originalLeft = node.offsetLeft;
+			var endTop = ((outer.height * actualPct) - outer.height) / 2;
+			var endLeft = ((outer.width * actualPct) - outer.width) / 2;
+			props.push({property:"top", start:originalTop, end:(positioning == "absolute" ? originalTop - endTop : (-1 * endTop))});
+			props.push({property:"left", start:originalLeft, end:(positioning == "absolute" ? originalLeft - endLeft : (-1 * endLeft))});
+		}
+		var anim = dojo.lfx.propertyAnimation(node, props, duration, easing);
+		if (callback) {
+			anim.connect("onEnd", function () {
+				callback(node, anim);
+			});
+		}
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lang.mixin(dojo.lfx, dojo.lfx.html);
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/html.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/html.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/html.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/html.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,509 @@
+/*
+	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.lfx.html");
+dojo.require("dojo.gfx.color");
+dojo.require("dojo.lfx.Animation");
+dojo.require("dojo.lang.array");
+dojo.require("dojo.html.display");
+dojo.require("dojo.html.color");
+dojo.require("dojo.html.layout");
+dojo.lfx.html._byId = function (nodes) {
+	if (!nodes) {
+		return [];
+	}
+	if (dojo.lang.isArrayLike(nodes)) {
+		if (!nodes.alreadyChecked) {
+			var n = [];
+			dojo.lang.forEach(nodes, function (node) {
+				n.push(dojo.byId(node));
+			});
+			n.alreadyChecked = true;
+			return n;
+		} else {
+			return nodes;
+		}
+	} else {
+		var n = [];
+		n.push(dojo.byId(nodes));
+		n.alreadyChecked = true;
+		return n;
+	}
+};
+dojo.lfx.html.propertyAnimation = function (nodes, propertyMap, duration, easing, handlers) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var targs = {"propertyMap":propertyMap, "nodes":nodes, "duration":duration, "easing":easing || dojo.lfx.easeDefault};
+	var setEmUp = function (args) {
+		if (args.nodes.length == 1) {
+			var pm = args.propertyMap;
+			if (!dojo.lang.isArray(args.propertyMap)) {
+				var parr = [];
+				for (var pname in pm) {
+					pm[pname].property = pname;
+					parr.push(pm[pname]);
+				}
+				pm = args.propertyMap = parr;
+			}
+			dojo.lang.forEach(pm, function (prop) {
+				if (dj_undef("start", prop)) {
+					if (prop.property != "opacity") {
+						prop.start = parseInt(dojo.html.getComputedStyle(args.nodes[0], prop.property));
+					} else {
+						prop.start = dojo.html.getOpacity(args.nodes[0]);
+					}
+				}
+			});
+		}
+	};
+	var coordsAsInts = function (coords) {
+		var cints = [];
+		dojo.lang.forEach(coords, function (c) {
+			cints.push(Math.round(c));
+		});
+		return cints;
+	};
+	var setStyle = function (n, style) {
+		n = dojo.byId(n);
+		if (!n || !n.style) {
+			return;
+		}
+		for (var s in style) {
+			try {
+				if (s == "opacity") {
+					dojo.html.setOpacity(n, style[s]);
+				} else {
+					n.style[s] = style[s];
+				}
+			}
+			catch (e) {
+				dojo.debug(e);
+			}
+		}
+	};
+	var propLine = function (properties) {
+		this._properties = properties;
+		this.diffs = new Array(properties.length);
+		dojo.lang.forEach(properties, function (prop, i) {
+			if (dojo.lang.isFunction(prop.start)) {
+				prop.start = prop.start(prop, i);
+			}
+			if (dojo.lang.isFunction(prop.end)) {
+				prop.end = prop.end(prop, i);
+			}
+			if (dojo.lang.isArray(prop.start)) {
+				this.diffs[i] = null;
+			} else {
+				if (prop.start instanceof dojo.gfx.color.Color) {
+					prop.startRgb = prop.start.toRgb();
+					prop.endRgb = prop.end.toRgb();
+				} else {
+					this.diffs[i] = prop.end - prop.start;
+				}
+			}
+		}, this);
+		this.getValue = function (n) {
+			var ret = {};
+			dojo.lang.forEach(this._properties, function (prop, i) {
+				var value = null;
+				if (dojo.lang.isArray(prop.start)) {
+				} else {
+					if (prop.start instanceof dojo.gfx.color.Color) {
+						value = (prop.units || "rgb") + "(";
+						for (var j = 0; j < prop.startRgb.length; j++) {
+							value += Math.round(((prop.endRgb[j] - prop.startRgb[j]) * n) + prop.startRgb[j]) + (j < prop.startRgb.length - 1 ? "," : "");
+						}
+						value += ")";
+					} else {
+						value = ((this.diffs[i]) * n) + prop.start + (prop.property != "opacity" ? prop.units || "px" : "");
+					}
+				}
+				ret[dojo.html.toCamelCase(prop.property)] = value;
+			}, this);
+			return ret;
+		};
+	};
+	var anim = new dojo.lfx.Animation({beforeBegin:function () {
+		setEmUp(targs);
+		anim.curve = new propLine(targs.propertyMap);
+	}, onAnimate:function (propValues) {
+		dojo.lang.forEach(targs.nodes, function (node) {
+			setStyle(node, propValues);
+		});
+	}}, targs.duration, null, targs.easing);
+	if (handlers) {
+		for (var x in handlers) {
+			if (dojo.lang.isFunction(handlers[x])) {
+				anim.connect(x, anim, handlers[x]);
+			}
+		}
+	}
+	return anim;
+};
+dojo.lfx.html._makeFadeable = function (nodes) {
+	var makeFade = function (node) {
+		if (dojo.render.html.ie) {
+			if ((node.style.zoom.length == 0) && (dojo.html.getStyle(node, "zoom") == "normal")) {
+				node.style.zoom = "1";
+			}
+			if ((node.style.width.length == 0) && (dojo.html.getStyle(node, "width") == "auto")) {
+				node.style.width = "auto";
+			}
+		}
+	};
+	if (dojo.lang.isArrayLike(nodes)) {
+		dojo.lang.forEach(nodes, makeFade);
+	} else {
+		makeFade(nodes);
+	}
+};
+dojo.lfx.html.fade = function (nodes, values, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var props = {property:"opacity"};
+	if (!dj_undef("start", values)) {
+		props.start = values.start;
+	} else {
+		props.start = function () {
+			return dojo.html.getOpacity(nodes[0]);
+		};
+	}
+	if (!dj_undef("end", values)) {
+		props.end = values.end;
+	} else {
+		dojo.raise("dojo.lfx.html.fade needs an end value");
+	}
+	var anim = dojo.lfx.propertyAnimation(nodes, [props], duration, easing);
+	anim.connect("beforeBegin", function () {
+		dojo.lfx.html._makeFadeable(nodes);
+	});
+	if (callback) {
+		anim.connect("onEnd", function () {
+			callback(nodes, anim);
+		});
+	}
+	return anim;
+};
+dojo.lfx.html.fadeIn = function (nodes, duration, easing, callback) {
+	return dojo.lfx.html.fade(nodes, {end:1}, duration, easing, callback);
+};
+dojo.lfx.html.fadeOut = function (nodes, duration, easing, callback) {
+	return dojo.lfx.html.fade(nodes, {end:0}, duration, easing, callback);
+};
+dojo.lfx.html.fadeShow = function (nodes, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	dojo.lang.forEach(nodes, function (node) {
+		dojo.html.setOpacity(node, 0);
+	});
+	var anim = dojo.lfx.html.fadeIn(nodes, duration, easing, callback);
+	anim.connect("beforeBegin", function () {
+		if (dojo.lang.isArrayLike(nodes)) {
+			dojo.lang.forEach(nodes, dojo.html.show);
+		} else {
+			dojo.html.show(nodes);
+		}
+	});
+	return anim;
+};
+dojo.lfx.html.fadeHide = function (nodes, duration, easing, callback) {
+	var anim = dojo.lfx.html.fadeOut(nodes, duration, easing, function () {
+		if (dojo.lang.isArrayLike(nodes)) {
+			dojo.lang.forEach(nodes, dojo.html.hide);
+		} else {
+			dojo.html.hide(nodes);
+		}
+		if (callback) {
+			callback(nodes, anim);
+		}
+	});
+	return anim;
+};
+dojo.lfx.html.wipeIn = function (nodes, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	dojo.lang.forEach(nodes, function (node) {
+		var oprop = {};
+		var origTop, origLeft, origPosition;
+		with (node.style) {
+			origTop = top;
+			origLeft = left;
+			origPosition = position;
+			top = "-9999px";
+			left = "-9999px";
+			position = "absolute";
+			display = "";
+		}
+		var nodeHeight = dojo.html.getBorderBox(node).height;
+		with (node.style) {
+			top = origTop;
+			left = origLeft;
+			position = origPosition;
+			display = "none";
+		}
+		var anim = dojo.lfx.propertyAnimation(node, {"height":{start:1, end:function () {
+			return nodeHeight;
+		}}}, duration, easing);
+		anim.connect("beforeBegin", function () {
+			oprop.overflow = node.style.overflow;
+			oprop.height = node.style.height;
+			with (node.style) {
+				overflow = "hidden";
+				height = "1px";
+			}
+			dojo.html.show(node);
+		});
+		anim.connect("onEnd", function () {
+			with (node.style) {
+				overflow = oprop.overflow;
+				height = oprop.height;
+			}
+			if (callback) {
+				callback(node, anim);
+			}
+		});
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lfx.html.wipeOut = function (nodes, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	dojo.lang.forEach(nodes, function (node) {
+		var oprop = {};
+		var anim = dojo.lfx.propertyAnimation(node, {"height":{start:function () {
+			return dojo.html.getContentBox(node).height;
+		}, end:1}}, duration, easing, {"beforeBegin":function () {
+			oprop.overflow = node.style.overflow;
+			oprop.height = node.style.height;
+			with (node.style) {
+				overflow = "hidden";
+			}
+			dojo.html.show(node);
+		}, "onEnd":function () {
+			dojo.html.hide(node);
+			with (node.style) {
+				overflow = oprop.overflow;
+				height = oprop.height;
+			}
+			if (callback) {
+				callback(node, anim);
+			}
+		}});
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lfx.html.slideTo = function (nodes, coords, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	var compute = dojo.html.getComputedStyle;
+	if (dojo.lang.isArray(coords)) {
+		dojo.deprecated("dojo.lfx.html.slideTo(node, array)", "use dojo.lfx.html.slideTo(node, {top: value, left: value});", "0.5");
+		coords = {top:coords[0], left:coords[1]};
+	}
+	dojo.lang.forEach(nodes, function (node) {
+		var top = null;
+		var left = null;
+		var init = (function () {
+			var innerNode = node;
+			return function () {
+				var pos = compute(innerNode, "position");
+				top = (pos == "absolute" ? node.offsetTop : parseInt(compute(node, "top")) || 0);
+				left = (pos == "absolute" ? node.offsetLeft : parseInt(compute(node, "left")) || 0);
+				if (!dojo.lang.inArray(["absolute", "relative"], pos)) {
+					var ret = dojo.html.abs(innerNode, true);
+					dojo.html.setStyleAttributes(innerNode, "position:absolute;top:" + ret.y + "px;left:" + ret.x + "px;");
+					top = ret.y;
+					left = ret.x;
+				}
+			};
+		})();
+		init();
+		var anim = dojo.lfx.propertyAnimation(node, {"top":{start:top, end:(coords.top || 0)}, "left":{start:left, end:(coords.left || 0)}}, duration, easing, {"beforeBegin":init});
+		if (callback) {
+			anim.connect("onEnd", function () {
+				callback(nodes, anim);
+			});
+		}
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lfx.html.slideBy = function (nodes, coords, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	var compute = dojo.html.getComputedStyle;
+	if (dojo.lang.isArray(coords)) {
+		dojo.deprecated("dojo.lfx.html.slideBy(node, array)", "use dojo.lfx.html.slideBy(node, {top: value, left: value});", "0.5");
+		coords = {top:coords[0], left:coords[1]};
+	}
+	dojo.lang.forEach(nodes, function (node) {
+		var top = null;
+		var left = null;
+		var init = (function () {
+			var innerNode = node;
+			return function () {
+				var pos = compute(innerNode, "position");
+				top = (pos == "absolute" ? node.offsetTop : parseInt(compute(node, "top")) || 0);
+				left = (pos == "absolute" ? node.offsetLeft : parseInt(compute(node, "left")) || 0);
+				if (!dojo.lang.inArray(["absolute", "relative"], pos)) {
+					var ret = dojo.html.abs(innerNode, true);
+					dojo.html.setStyleAttributes(innerNode, "position:absolute;top:" + ret.y + "px;left:" + ret.x + "px;");
+					top = ret.y;
+					left = ret.x;
+				}
+			};
+		})();
+		init();
+		var anim = dojo.lfx.propertyAnimation(node, {"top":{start:top, end:top + (coords.top || 0)}, "left":{start:left, end:left + (coords.left || 0)}}, duration, easing).connect("beforeBegin", init);
+		if (callback) {
+			anim.connect("onEnd", function () {
+				callback(nodes, anim);
+			});
+		}
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lfx.html.explode = function (start, endNode, duration, easing, callback) {
+	var h = dojo.html;
+	start = dojo.byId(start);
+	endNode = dojo.byId(endNode);
+	var startCoords = h.toCoordinateObject(start, true);
+	var outline = document.createElement("div");
+	h.copyStyle(outline, endNode);
+	if (endNode.explodeClassName) {
+		outline.className = endNode.explodeClassName;
+	}
+	with (outline.style) {
+		position = "absolute";
+		display = "none";
+		var backgroundStyle = h.getStyle(start, "background-color");
+		backgroundColor = backgroundStyle ? backgroundStyle.toLowerCase() : "transparent";
+		backgroundColor = (backgroundColor == "transparent") ? "rgb(221, 221, 221)" : backgroundColor;
+	}
+	dojo.body().appendChild(outline);
+	with (endNode.style) {
+		visibility = "hidden";
+		display = "block";
+	}
+	var endCoords = h.toCoordinateObject(endNode, true);
+	with (endNode.style) {
+		display = "none";
+		visibility = "visible";
+	}
+	var props = {opacity:{start:0.5, end:1}};
+	dojo.lang.forEach(["height", "width", "top", "left"], function (type) {
+		props[type] = {start:startCoords[type], end:endCoords[type]};
+	});
+	var anim = new dojo.lfx.propertyAnimation(outline, props, duration, easing, {"beforeBegin":function () {
+		h.setDisplay(outline, "block");
+	}, "onEnd":function () {
+		h.setDisplay(endNode, "block");
+		outline.parentNode.removeChild(outline);
+	}});
+	if (callback) {
+		anim.connect("onEnd", function () {
+			callback(endNode, anim);
+		});
+	}
+	return anim;
+};
+dojo.lfx.html.implode = function (startNode, end, duration, easing, callback) {
+	var h = dojo.html;
+	startNode = dojo.byId(startNode);
+	end = dojo.byId(end);
+	var startCoords = dojo.html.toCoordinateObject(startNode, true);
+	var endCoords = dojo.html.toCoordinateObject(end, true);
+	var outline = document.createElement("div");
+	dojo.html.copyStyle(outline, startNode);
+	if (startNode.explodeClassName) {
+		outline.className = startNode.explodeClassName;
+	}
+	dojo.html.setOpacity(outline, 0.3);
+	with (outline.style) {
+		position = "absolute";
+		display = "none";
+		backgroundColor = h.getStyle(startNode, "background-color").toLowerCase();
+	}
+	dojo.body().appendChild(outline);
+	var props = {opacity:{start:1, end:0.5}};
+	dojo.lang.forEach(["height", "width", "top", "left"], function (type) {
+		props[type] = {start:startCoords[type], end:endCoords[type]};
+	});
+	var anim = new dojo.lfx.propertyAnimation(outline, props, duration, easing, {"beforeBegin":function () {
+		dojo.html.hide(startNode);
+		dojo.html.show(outline);
+	}, "onEnd":function () {
+		outline.parentNode.removeChild(outline);
+	}});
+	if (callback) {
+		anim.connect("onEnd", function () {
+			callback(startNode, anim);
+		});
+	}
+	return anim;
+};
+dojo.lfx.html.highlight = function (nodes, startColor, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	dojo.lang.forEach(nodes, function (node) {
+		var color = dojo.html.getBackgroundColor(node);
+		var bg = dojo.html.getStyle(node, "background-color").toLowerCase();
+		var bgImage = dojo.html.getStyle(node, "background-image");
+		var wasTransparent = (bg == "transparent" || bg == "rgba(0, 0, 0, 0)");
+		while (color.length > 3) {
+			color.pop();
+		}
+		var rgb = new dojo.gfx.color.Color(startColor);
+		var endRgb = new dojo.gfx.color.Color(color);
+		var anim = dojo.lfx.propertyAnimation(node, {"background-color":{start:rgb, end:endRgb}}, duration, easing, {"beforeBegin":function () {
+			if (bgImage) {
+				node.style.backgroundImage = "none";
+			}
+			node.style.backgroundColor = "rgb(" + rgb.toRgb().join(",") + ")";
+		}, "onEnd":function () {
+			if (bgImage) {
+				node.style.backgroundImage = bgImage;
+			}
+			if (wasTransparent) {
+				node.style.backgroundColor = "transparent";
+			}
+			if (callback) {
+				callback(node, anim);
+			}
+		}});
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lfx.html.unhighlight = function (nodes, endColor, duration, easing, callback) {
+	nodes = dojo.lfx.html._byId(nodes);
+	var anims = [];
+	dojo.lang.forEach(nodes, function (node) {
+		var color = new dojo.gfx.color.Color(dojo.html.getBackgroundColor(node));
+		var rgb = new dojo.gfx.color.Color(endColor);
+		var bgImage = dojo.html.getStyle(node, "background-image");
+		var anim = dojo.lfx.propertyAnimation(node, {"background-color":{start:color, end:rgb}}, duration, easing, {"beforeBegin":function () {
+			if (bgImage) {
+				node.style.backgroundImage = "none";
+			}
+			node.style.backgroundColor = "rgb(" + color.toRgb().join(",") + ")";
+		}, "onEnd":function () {
+			if (callback) {
+				callback(node, anim);
+			}
+		}});
+		anims.push(anim);
+	});
+	return dojo.lfx.combine(anims);
+};
+dojo.lang.mixin(dojo.lfx, dojo.lfx.html);
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/rounded.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/rounded.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/rounded.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/rounded.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,444 @@
+/*
+	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.lfx.rounded");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.html.common");
+dojo.require("dojo.html.style");
+dojo.require("dojo.html.display");
+dojo.require("dojo.html.layout");
+dojo.lfx.rounded = function (settings) {
+	var options = {validTags:settings.validTags || ["div"], autoPad:settings.autoPad != null ? settings.autoPad : true, antiAlias:settings.antiAlias != null ? settings.antiAlias : true, radii:{tl:(settings.tl && settings.tl.radius != null) ? settings.tl.radius : 5, tr:(settings.tr && settings.tr.radius != null) ? settings.tr.radius : 5, bl:(settings.bl && settings.bl.radius != null) ? settings.bl.radius : 5, br:(settings.br && settings.br.radius != null) ? settings.br.radius : 5}};
+	var nodes;
+	if (typeof (arguments[1]) == "string") {
+		nodes = dojo.html.getElementsByClass(arguments[1]);
+	} else {
+		if (dojo.lang.isArrayLike(arguments[1])) {
+			nodes = arguments[1];
+			for (var i = 0; i < nodes.length; i++) {
+				nodes[i] = dojo.byId(nodes[i]);
+			}
+		}
+	}
+	if (nodes.length == 0) {
+		return;
+	}
+	for (var i = 0; i < nodes.length; i++) {
+		dojo.lfx.rounded.applyCorners(options, nodes[i]);
+	}
+};
+dojo.lfx.rounded.applyCorners = function (options, node) {
+	var top = null;
+	var bottom = null;
+	var contentNode = null;
+	var fns = dojo.lfx.rounded._fns;
+	var width = node.offsetWidth;
+	var height = node.offsetHeight;
+	var borderWidth = parseInt(dojo.html.getComputedStyle(node, "border-top-width"));
+	var borderColor = dojo.html.getComputedStyle(node, "border-top-color");
+	var color = dojo.html.getComputedStyle(node, "background-color");
+	var bgImage = dojo.html.getComputedStyle(node, "background-image");
+	var position = dojo.html.getComputedStyle(node, "position");
+	var padding = parseInt(dojo.html.getComputedStyle(node, "padding-top"));
+	var format = {height:height, width:width, borderWidth:borderWidth, color:fns.getRGB(color), padding:padding, borderColor:fns.getRGB(borderColor), borderString:borderWidth + "px" + " solid " + fns.getRGB(borderColor), bgImage:((bgImage != "none") ? bgImage : ""), content:node.innerHTML};
+	if (!dojo.html.isPositionAbsolute(node)) {
+		node.style.position = "relative";
+	}
+	node.style.padding = "0px";
+	if (dojo.render.html.ie && width == "auto" && height == "auto") {
+		node.style.width = "100%";
+	}
+	if (options.autoPad && format.padding > 0) {
+		node.innerHTML = "";
+	}
+	var topHeight = Math.max(options.radii.tl, options.radii.tr);
+	var bottomHeight = Math.max(options.radii.bl, options.radii.br);
+	if (options.radii.tl || options.radii.tr) {
+		top = document.createElement("div");
+		top.style.width = "100%";
+		top.style.fontSize = "1px";
+		top.style.overflow = "hidden";
+		top.style.position = "absolute";
+		top.style.paddingLeft = format.borderWidth + "px";
+		top.style.paddingRight = format.borderWidth + "px";
+		top.style.height = topHeight + "px";
+		top.style.top = (0 - topHeight) + "px";
+		top.style.left = (0 - format.borderWidth) + "px";
+		node.appendChild(top);
+	}
+	if (options.radii.bl || options.radii.br) {
+		bottom = document.createElement("div");
+		bottom.style.width = "100%";
+		bottom.style.fontSize = "1px";
+		bottom.style.overflow = "hidden";
+		bottom.style.position = "absolute";
+		bottom.style.paddingLeft = format.borderWidth + "px";
+		bottom.style.paddingRight = format.borderWidth + "px";
+		bottom.style.height = bottomHeight + "px";
+		bottom.style.bottom = (0 - bottomHeight) + "px";
+		bottom.style.left = (0 - format.borderWidth) + "px";
+		node.appendChild(bottom);
+	}
+	if (top) {
+		node.style.borderTopWidth = "0px";
+	}
+	if (bottom) {
+		node.style.borderBottomWidth = "0px";
+	}
+	var corners = ["tr", "tl", "br", "bl"];
+	for (var i = 0; i < corners.length; i++) {
+		var cc = corners[i];
+		if (options.radii[cc] == 0) {
+			if ((cc.charAt(0) == "t" && top) || (cc.charAt(0) == "b" && bottom)) {
+				var corner = document.createElement("div");
+				corner.style.position = "relative";
+				corner.style.fontSize = "1px;";
+				corner.style.overflow = "hidden";
+				if (format.bgImage == "") {
+					corner.style.backgroundColor = format.color;
+				} else {
+					corner.style.backgroundImage = format.bgImage;
+				}
+				switch (cc) {
+				  case "tl":
+					corner.style.height = topHeight - format.borderWidth + "px";
+					corner.style.marginRight = options.radii[cc] - (format.borderWidth * 2) + "px";
+					corner.style.borderLeft = format.borderString;
+					corner.style.borderTop = format.borderString;
+					corner.style.left = -format.borderWidth + "px";
+					break;
+				  case "tr":
+					corner.style.height = topHeight - format.borderWidth + "px";
+					corner.style.marginLeft = options.radii[cc] - (format.borderWidth * 2) + "px";
+					corner.style.borderRight = format.borderString;
+					corner.style.borderTop = format.borderString;
+					corner.style.backgroundPosition = "-" + (topHeight - format.borderWidth) + "px 0px";
+					corner.style.left = format.borderWidth + "px";
+					break;
+				  case "bl":
+					corner.style.height = bottomHeight - format.borderWidth + "px";
+					corner.style.marginRight = options.radii[cc] - (format.borderWidth * 2) + "px";
+					corner.style.borderLeft = format.borderString;
+					corner.style.borderBottom = format.borderString;
+					corner.style.left = format.borderWidth + "px";
+					corner.style.backgroundPosition = "-" + format.borderWidth + "px -" + (format.height + (bottomHeight + format.borderWidth)) + "px";
+					break;
+				  case "br":
+					corner.style.height = bottomHeight - format.borderWidth + "px";
+					corner.style.marginLeft = options.radii[cc] - (format.borderWidth * 2) + "px";
+					corner.style.borderRight = format.borderString;
+					corner.style.borderBottom = format.borderString;
+					corner.style.left = format.borderWidth + "px";
+					corner.style.backgroundPosition = "-" + (bottomHeight + format.borderWidth) + "px -" + (format.height + (bottomHeight + format.borderWidth)) + "px";
+					break;
+				}
+			}
+		} else {
+			var corner = document.createElement("div");
+			corner.style.height = options.radii[cc] + "px";
+			corner.style.width = options.radii[cc] + "px";
+			corner.style.position = "absolute";
+			corner.style.fontSize = "1px";
+			corner.style.overflow = "hidden";
+			var borderRadius = Math.floor(options.radii[cc] - format.borderWidth);
+			for (var x = 0, j = options.radii[cc]; x < j; x++) {
+				var y1 = Math.floor(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow((x + 1), 2))) - 1;
+				if ((x + 1) >= borderRadius) {
+					var y1 = -1;
+				}
+				var y2 = Math.ceil(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow(x, 2)));
+				if (x >= borderRadius) {
+					y2 = -1;
+				}
+				var y3 = Math.floor(Math.sqrt(Math.pow(j, 2) - Math.pow((x + 1), 2))) - 1;
+				if ((x + 1) >= j) {
+					y3 = -1;
+				}
+				var y4 = Math.ceil(Math.sqrt(Math.pow(j, 2) - Math.pow(x, 2)));
+				if (x >= j) {
+					y4 = -1;
+				}
+				if (y1 > -1) {
+					fns.draw(x, 0, format.color, 100, (y1 + 1), corner, -1, j, topHeight, format);
+				}
+				for (var y = (y1 + 1); y < y2; y++) {
+					if (options.antiAlias) {
+						if (format.bgImage != "") {
+							var fract = fns.fraction(x, y, borderRadius) * 100;
+							if (fract < 30) {
+								fns.draw(x, y, format.borderColor, 100, 1, corner, 0, options.radii[cc], topHeight, format);
+							} else {
+								fns.draw(x, y, format.borderColor, 100, 1, corner, -1, options.radii[cc], topHeight, format);
+							}
+						} else {
+							var clr = fns.blend(format.color, format.borderColor, fns.fraction(x, y, borderRadius));
+							fns.draw(x, y, clr, 100, 1, corner, 0, options.radii[cc], topHeight, format);
+						}
+					}
+				}
+				if (options.antiAlias) {
+					if (y3 >= y2) {
+						if (y2 == -1) {
+							y2 = 0;
+						}
+						fns.draw(x, y2, format.borderColor, 100, (y3 - y2 + 1), corner, 0, 0, topHeight, format);
+					} else {
+						if (y3 >= y1) {
+							fns.draw(x, (y1 + 1), format.borderColor, 100, (y3 - y1), corner, 0, 0, topHeight, format);
+						}
+					}
+					for (var y = (y3 + 1); y < y4; y++) {
+						fns.draw(x, y, format.borderColor, (fns.fraction(x, y, j) * 100), 1, corner, (format.borderWidth > 0 ? 0 : -1), options.radii[cc], topHeight, format);
+					}
+				} else {
+					y3 = y1;
+				}
+			}
+			if (cc != "br") {
+				for (var t = 0, k = corner.childNodes.length; t < k; t++) {
+					var bar = corner.childNodes[t];
+					var barTop = parseInt(dojo.html.getComputedStyle(bar, "top"));
+					var barLeft = parseInt(dojo.html.getComputedStyle(bar, "left"));
+					var barHeight = parseInt(dojo.html.getComputedStyle(bar, "height"));
+					if (cc.charAt(1) == "l") {
+						bar.style.left = (options.radii[cc] - barLeft - 1) + "px";
+					}
+					if (cc == "tr") {
+						bar.style.top = (options.radii[cc] - barHeight - barTop) + "px";
+						bar.style.backgroundPosition = "-" + Math.abs((format.width - options.radii[cc] + format.borderWidth) + barLeft) + "px -" + Math.abs(options.radii[cc] - barHeight - barTop - format.borderWidth) + "px";
+					} else {
+						if (cc == "tl") {
+							bar.style.top = (options.radii[cc] - barHeight - barTop) + "px";
+							bar.style.backgroundPosition = "-" + Math.abs((options.radii[cc] - barLeft - 1) - format.borderWidth) + "px -" + Math.abs(options.radii[cc] - barHeight - barTop - format.borderWidth) + "px";
+						} else {
+							bar.style.backgroundPosition = "-" + Math.abs((options.radii[cc] + barLeft) + format.borderWidth) + "px -" + Math.abs((format.height + options.radii[cc] + barTop) - format.borderWidth) + "px";
+						}
+					}
+				}
+			}
+		}
+		if (corner) {
+			var psn = [];
+			if (cc.charAt(0) == "t") {
+				psn.push("top");
+			} else {
+				psn.push("bottom");
+			}
+			if (cc.charAt(1) == "l") {
+				psn.push("left");
+			} else {
+				psn.push("right");
+			}
+			if (corner.style.position == "absolute") {
+				for (var z = 0; z < psn.length; z++) {
+					corner.style[psn[z]] = "0px";
+				}
+			}
+			if (psn[0] == "top") {
+				if (top) {
+					top.appendChild(corner);
+				}
+			} else {
+				if (bottom) {
+					bottom.appendChild(corner);
+				}
+			}
+		}
+	}
+	var diff = {t:Math.abs(options.radii.tl - options.radii.tr), b:Math.abs(options.radii.bl - options.radii.br)};
+	for (var z in diff) {
+		var smaller = (options.radii[z + "l"] < options.radii[z + "r"] ? z + "l" : z + "r");
+		var filler = document.createElement("div");
+		filler.style.height = diff[z] + "px";
+		filler.style.width = options.radii[smaller] + "px";
+		filler.style.position = "absolute";
+		filler.style.fontSize = "1px";
+		filler.style.overflow = "hidden";
+		filler.style.backgroundColor = format.color;
+		switch (smaller) {
+		  case "tl":
+			filler.style.bottom = "0px";
+			filler.style.left = "0px";
+			filler.style.borderLeft = format.borderString;
+			top.appendChild(filler);
+			break;
+		  case "tr":
+			filler.style.bottom = "0px";
+			filler.style.right = "0px";
+			filler.style.borderRight = format.borderString;
+			top.appendChild(filler);
+			break;
+		  case "bl":
+			filler.style.top = "0px";
+			filler.style.left = "0px";
+			filler.style.borderLeft = format.borderString;
+			bottom.appendChild(filler);
+			break;
+		  case "br":
+			filler.style.top = "0px";
+			filler.style.right = "0px";
+			filler.style.borderRight = format.borderString;
+			bottom.appendChild(filler);
+			break;
+		}
+		var fillBar = document.createElement("div");
+		fillBar.style.position = "relative";
+		fillBar.style.fontSize = "1px";
+		fillBar.style.overflow = "hidden";
+		fillBar.style.backgroundColor = format.color;
+		fillBar.style.backgroundImage = format.bgImage;
+		if (z == "t") {
+			if (top) {
+				if (options.radii.tl && options.radii.tr) {
+					fillBar.style.height = (topHeight - format.borderWidth) + "px";
+					fillBar.style.marginLeft = (options.radii.tl - format.borderWidth) + "px";
+					fillBar.style.marginRight = (options.radii.tr - format.borderWidth) + "px";
+					fillBar.style.borderTop = format.borderString;
+					if (format.bgImage != "") {
+						fillBar.style.backgroundPosition = "-" + (topHeight + format.borderWidth) + "px 0px";
+					}
+				}
+				top.appendChild(fillBar);
+			}
+		} else {
+			if (bottom) {
+				if (options.radii.bl && options.radii.br) {
+					fillBar.style.height = (bottomHeight - format.borderWidth) + "px";
+					fillBar.style.marginLeft = (options.radii.bl - format.borderWidth) + "px";
+					fillBar.style.marginRight = (options.radii.br - format.borderWidth) + "px";
+					fillBar.style.borderBottom = format.borderString;
+					if (format.bgImage != "") {
+						fillBar.style.backgroundPosition = "-" + (bottomHeight + format.borderWidth) + "px -" + (format.height + (topHeight + format.borderWidth)) + "px";
+					}
+				}
+				bottom.appendChild(fillBar);
+			}
+		}
+	}
+	if (options.autoPad && format.padding > 0) {
+		var content = document.createElement("div");
+		content.style.position = "relative";
+		content.innerHTML = format.content;
+		content.className = "autoPadDiv";
+		if (topHeight < format.padding) {
+			content.style.paddingTop = Math.abs(topHeight - format.padding) + "px";
+		}
+		if (bottomHeight < format.padding) {
+			content.style.paddingBottom = Math.abs(bottomHeight - format.padding) + "px";
+		}
+		content.style.paddingLeft = format.padding + "px";
+		content.style.paddingRight = format.padding + "px";
+		node.appendChild(content);
+	}
+};
+var count = 0;
+dojo.lfx.rounded._fns = {blend:function (clr1, clr2, frac) {
+	var c1 = {r:parseInt(clr1.substr(1, 2), 16), g:parseInt(clr1.substr(3, 2), 16), b:parseInt(clr1.substr(5, 2), 16)};
+	var c2 = {r:parseInt(clr2.substr(1, 2), 16), g:parseInt(clr2.substr(3, 2), 16), b:parseInt(clr2.substr(5, 2), 16)};
+	if (frac > 1 || frac < 0) {
+		frac = 1;
+	}
+	var ret = [Math.min(Math.max(Math.round((c1.r * frac) + (c2.r * (1 - frac))), 0), 255), Math.min(Math.max(Math.round((c1.g * frac) + (c2.g * (1 - frac))), 0), 255), Math.min(Math.max(Math.round((c1.b * frac) + (c2.b * (1 - frac))), 0), 255)];
+	for (var i = 0; i < ret.length; i++) {
+		var n = ret[i].toString(16);
+		if (n.length < 2) {
+			n = "0" + n;
+		}
+		ret[i] = n;
+	}
+	return "#" + ret.join("");
+}, fraction:function (x, y, r) {
+	var frac = 0;
+	var xval = [];
+	var yval = [];
+	var point = 0;
+	var whatsides = "";
+	var intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(x, 2)));
+	if (intersect >= y && intersect < (y + 1)) {
+		whatsides = "Left";
+		xval[point] = 0;
+		yval[point++] = intersect - y;
+	}
+	intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(y + 1, 2)));
+	if (intersect >= x && intersect < (x + 1)) {
+		whatsides += "Top";
+		xval[point] = intersect - x;
+		yval[point++] = 1;
+	}
+	intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(x + 1, 2)));
+	if (intersect >= y && intersect < (y + 1)) {
+		whatsides += "Right";
+		xval[point] = 1;
+		yval[point++] = intersect - y;
+	}
+	intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(y, 2)));
+	if (intersect >= x && intersect < (x + 1)) {
+		whatsides += "Bottom";
+		xval[point] = intersect - x;
+		yval[point] = 1;
+	}
+	switch (whatsides) {
+	  case "LeftRight":
+		return Math.min(yval[0], yval[1]) + ((Math.max(yval[0], yval[1]) - Math.min(yval[0], yval[1])) / 2);
+	  case "TopRight":
+		return 1 - (((1 - xval[0]) * (1 - yval[1])) / 2);
+	  case "TopBottom":
+		return Math.min(xval[0], xval[1]) + ((Math.max(xval[0], xval[1]) - Math.min(xval[0], xval[1])) / 2);
+	  case "LeftBottom":
+		return (yval[0] * xval[1]) / 2;
+	  default:
+		return 1;
+	}
+}, draw:function (x, y, color, opac, height, corner, image, radius, top, format) {
+	var px = document.createElement("div");
+	px.style.height = height + "px";
+	px.style.width = "1px";
+	px.style.position = "absolute";
+	px.style.fontSize = "1px";
+	px.style.overflow = "hidden";
+	if (image == -1 && format.bgImage != "") {
+		px.style.backgroundImage = format.bgImage;
+		px.style.backgroundPosition = "-" + (format.width - (radius - x) + format.borderWidth) + "px -" + ((format.height + top + y) - format.borderWidth) + "px";
+	} else {
+		px.style.backgroundColor = color;
+	}
+	if (opac != 100) {
+		dojo.html.setOpacity(px, (opac / 100));
+	}
+	px.style.top = y + "px";
+	px.style.left = x + "px";
+	corner.appendChild(px);
+}, getRGB:function (clr) {
+	var ret = "#ffffff";
+	if (clr != "" && clr != "transparent") {
+		if (clr.substr(0, 3) == "rgb") {
+			var t = clr.substring(4, clr.indexOf(")"));
+			t = t.split(",");
+			for (var i = 0; i < t.length; i++) {
+				var n = parseInt(t[i]).toString(16);
+				if (n.length < 2) {
+					n = "0" + n;
+				}
+				t[i] = n;
+			}
+			ret = "#" + t.join("");
+		} else {
+			if (clr.length == 4) {
+				ret = "#" + clr.substring(1, 2) + clr.substring(1, 2) + clr.substring(2, 3) + clr.substring(2, 3) + clr.substring(3, 4) + clr.substring(3, 4);
+			} else {
+				ret = clr;
+			}
+		}
+	}
+	return ret;
+}};
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/shadow.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/shadow.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/shadow.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/shadow.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,75 @@
+/*
+	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.lfx.shadow");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.uri.Uri");
+dojo.lfx.shadow = function (node) {
+	this.shadowPng = dojo.uri.moduleUri("dojo.html", "images/shadow");
+	this.shadowThickness = 8;
+	this.shadowOffset = 15;
+	this.init(node);
+};
+dojo.extend(dojo.lfx.shadow, {init:function (node) {
+	this.node = node;
+	this.pieces = {};
+	var x1 = -1 * this.shadowThickness;
+	var y0 = this.shadowOffset;
+	var y1 = this.shadowOffset + this.shadowThickness;
+	this._makePiece("tl", "top", y0, "left", x1);
+	this._makePiece("l", "top", y1, "left", x1, "scale");
+	this._makePiece("tr", "top", y0, "left", 0);
+	this._makePiece("r", "top", y1, "left", 0, "scale");
+	this._makePiece("bl", "top", 0, "left", x1);
+	this._makePiece("b", "top", 0, "left", 0, "crop");
+	this._makePiece("br", "top", 0, "left", 0);
+}, _makePiece:function (name, vertAttach, vertCoord, horzAttach, horzCoord, sizing) {
+	var img;
+	var url = this.shadowPng + name.toUpperCase() + ".png";
+	if (dojo.render.html.ie55 || dojo.render.html.ie60) {
+		img = dojo.doc().createElement("div");
+		img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url + "'" + (sizing ? ", sizingMethod='" + sizing + "'" : "") + ")";
+	} else {
+		img = dojo.doc().createElement("img");
+		img.src = url;
+	}
+	img.style.position = "absolute";
+	img.style[vertAttach] = vertCoord + "px";
+	img.style[horzAttach] = horzCoord + "px";
+	img.style.width = this.shadowThickness + "px";
+	img.style.height = this.shadowThickness + "px";
+	this.pieces[name] = img;
+	this.node.appendChild(img);
+}, size:function (width, height) {
+	var sideHeight = height - (this.shadowOffset + this.shadowThickness + 1);
+	if (sideHeight < 0) {
+		sideHeight = 0;
+	}
+	if (height < 1) {
+		height = 1;
+	}
+	if (width < 1) {
+		width = 1;
+	}
+	with (this.pieces) {
+		l.style.height = sideHeight + "px";
+		r.style.height = sideHeight + "px";
+		b.style.width = (width - 1) + "px";
+		bl.style.top = (height - 1) + "px";
+		b.style.top = (height - 1) + "px";
+		br.style.top = (height - 1) + "px";
+		tr.style.left = (width - 1) + "px";
+		r.style.left = (width - 1) + "px";
+		br.style.left = (width - 1) + "px";
+	}
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/toggle.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/toggle.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/toggle.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/lfx/toggle.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,41 @@
+/*
+	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.lfx.toggle");
+dojo.require("dojo.lfx.*");
+dojo.lfx.toggle.plain = {show:function (node, duration, easing, callback) {
+	dojo.html.show(node);
+	if (dojo.lang.isFunction(callback)) {
+		callback();
+	}
+}, hide:function (node, duration, easing, callback) {
+	dojo.html.hide(node);
+	if (dojo.lang.isFunction(callback)) {
+		callback();
+	}
+}};
+dojo.lfx.toggle.fade = {show:function (node, duration, easing, callback) {
+	dojo.lfx.fadeShow(node, duration, easing, callback).play();
+}, hide:function (node, duration, easing, callback) {
+	dojo.lfx.fadeHide(node, duration, easing, callback).play();
+}};
+dojo.lfx.toggle.wipe = {show:function (node, duration, easing, callback) {
+	dojo.lfx.wipeIn(node, duration, easing, callback).play();
+}, hide:function (node, duration, easing, callback) {
+	dojo.lfx.wipeOut(node, duration, easing, callback).play();
+}};
+dojo.lfx.toggle.explode = {show:function (node, duration, easing, callback, explodeSrc) {
+	dojo.lfx.explode(explodeSrc || {x:0, y:0, width:0, height:0}, node, duration, easing, callback).play();
+}, hide:function (node, duration, easing, callback, explodeSrc) {
+	dojo.lfx.implode(node, explodeSrc || {x:0, y:0, width:0, height:0}, duration, easing, callback).play();
+}};
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/loader.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/loader.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/loader.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/loader.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,448 @@
+/*
+	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
+*/
+
+
+
+(function () {
+	var _addHostEnv = {pkgFileName:"__package__", loading_modules_:{}, loaded_modules_:{}, addedToLoadingCount:[], removedFromLoadingCount:[], inFlightCount:0, modulePrefixes_:{dojo:{name:"dojo", value:"src"}}, setModulePrefix:function (module, prefix) {
+		this.modulePrefixes_[module] = {name:module, value:prefix};
+	}, moduleHasPrefix:function (module) {
+		var mp = this.modulePrefixes_;
+		return Boolean(mp[module] && mp[module].value);
+	}, getModulePrefix:function (module) {
+		if (this.moduleHasPrefix(module)) {
+			return this.modulePrefixes_[module].value;
+		}
+		return module;
+	}, getTextStack:[], loadUriStack:[], loadedUris:[], post_load_:false, modulesLoadedListeners:[], unloadListeners:[], loadNotifying:false};
+	for (var param in _addHostEnv) {
+		dojo.hostenv[param] = _addHostEnv[param];
+	}
+})();
+dojo.hostenv.loadPath = function (relpath, module, cb) {
+	var uri;
+	if (relpath.charAt(0) == "/" || relpath.match(/^\w+:/)) {
+		uri = relpath;
+	} else {
+		uri = this.getBaseScriptUri() + relpath;
+	}
+	if (djConfig.cacheBust && dojo.render.html.capable) {
+		uri += "?" + String(djConfig.cacheBust).replace(/\W+/g, "");
+	}
+	try {
+		return !module ? this.loadUri(uri, cb) : this.loadUriAndCheck(uri, module, cb);
+	}
+	catch (e) {
+		dojo.debug(e);
+		return false;
+	}
+};
+dojo.hostenv.loadUri = function (uri, cb) {
+	if (this.loadedUris[uri]) {
+		return true;
+	}
+	var contents = this.getText(uri, null, true);
+	if (!contents) {
+		return false;
+	}
+	this.loadedUris[uri] = true;
+	if (cb) {
+		contents = "(" + contents + ")";
+	}
+	var value = dj_eval(contents);
+	if (cb) {
+		cb(value);
+	}
+	return true;
+};
+dojo.hostenv.loadUriAndCheck = function (uri, moduleName, cb) {
+	var ok = true;
+	try {
+		ok = this.loadUri(uri, cb);
+	}
+	catch (e) {
+		dojo.debug("failed loading ", uri, " with error: ", e);
+	}
+	return Boolean(ok && this.findModule(moduleName, false));
+};
+dojo.loaded = function () {
+};
+dojo.unloaded = function () {
+};
+dojo.hostenv.loaded = function () {
+	this.loadNotifying = true;
+	this.post_load_ = true;
+	var mll = this.modulesLoadedListeners;
+	for (var x = 0; x < mll.length; x++) {
+		mll[x]();
+	}
+	this.modulesLoadedListeners = [];
+	this.loadNotifying = false;
+	dojo.loaded();
+};
+dojo.hostenv.unloaded = function () {
+	var mll = this.unloadListeners;
+	while (mll.length) {
+		(mll.pop())();
+	}
+	dojo.unloaded();
+};
+dojo.addOnLoad = function (obj, functionName) {
+	var dh = dojo.hostenv;
+	if (arguments.length == 1) {
+		dh.modulesLoadedListeners.push(obj);
+	} else {
+		if (arguments.length > 1) {
+			dh.modulesLoadedListeners.push(function () {
+				obj[functionName]();
+			});
+		}
+	}
+	if (dh.post_load_ && dh.inFlightCount == 0 && !dh.loadNotifying) {
+		dh.callLoaded();
+	}
+};
+dojo.addOnUnload = function (obj, functionName) {
+	var dh = dojo.hostenv;
+	if (arguments.length == 1) {
+		dh.unloadListeners.push(obj);
+	} else {
+		if (arguments.length > 1) {
+			dh.unloadListeners.push(function () {
+				obj[functionName]();
+			});
+		}
+	}
+};
+dojo.hostenv.modulesLoaded = function () {
+	if (this.post_load_) {
+		return;
+	}
+	if (this.loadUriStack.length == 0 && this.getTextStack.length == 0) {
+		if (this.inFlightCount > 0) {
+			dojo.debug("files still in flight!");
+			return;
+		}
+		dojo.hostenv.callLoaded();
+	}
+};
+dojo.hostenv.callLoaded = function () {
+	if (typeof setTimeout == "object" || (djConfig["useXDomain"] && dojo.render.html.opera)) {
+		setTimeout("dojo.hostenv.loaded();", 0);
+	} else {
+		dojo.hostenv.loaded();
+	}
+};
+dojo.hostenv.getModuleSymbols = function (modulename) {
+	var syms = modulename.split(".");
+	for (var i = syms.length; i > 0; i--) {
+		var parentModule = syms.slice(0, i).join(".");
+		if ((i == 1) && !this.moduleHasPrefix(parentModule)) {
+			syms[0] = "../" + syms[0];
+		} else {
+			var parentModulePath = this.getModulePrefix(parentModule);
+			if (parentModulePath != parentModule) {
+				syms.splice(0, i, parentModulePath);
+				break;
+			}
+		}
+	}
+	return syms;
+};
+dojo.hostenv._global_omit_module_check = false;
+dojo.hostenv.loadModule = function (moduleName, exactOnly, omitModuleCheck) {
+	if (!moduleName) {
+		return;
+	}
+	omitModuleCheck = this._global_omit_module_check || omitModuleCheck;
+	var module = this.findModule(moduleName, false);
+	if (module) {
+		return module;
+	}
+	if (dj_undef(moduleName, this.loading_modules_)) {
+		this.addedToLoadingCount.push(moduleName);
+	}
+	this.loading_modules_[moduleName] = 1;
+	var relpath = moduleName.replace(/\./g, "/") + ".js";
+	var nsyms = moduleName.split(".");
+	var syms = this.getModuleSymbols(moduleName);
+	var startedRelative = ((syms[0].charAt(0) != "/") && !syms[0].match(/^\w+:/));
+	var last = syms[syms.length - 1];
+	var ok;
+	if (last == "*") {
+		moduleName = nsyms.slice(0, -1).join(".");
+		while (syms.length) {
+			syms.pop();
+			syms.push(this.pkgFileName);
+			relpath = syms.join("/") + ".js";
+			if (startedRelative && relpath.charAt(0) == "/") {
+				relpath = relpath.slice(1);
+			}
+			ok = this.loadPath(relpath, !omitModuleCheck ? moduleName : null);
+			if (ok) {
+				break;
+			}
+			syms.pop();
+		}
+	} else {
+		relpath = syms.join("/") + ".js";
+		moduleName = nsyms.join(".");
+		var modArg = !omitModuleCheck ? moduleName : null;
+		ok = this.loadPath(relpath, modArg);
+		if (!ok && !exactOnly) {
+			syms.pop();
+			while (syms.length) {
+				relpath = syms.join("/") + ".js";
+				ok = this.loadPath(relpath, modArg);
+				if (ok) {
+					break;
+				}
+				syms.pop();
+				relpath = syms.join("/") + "/" + this.pkgFileName + ".js";
+				if (startedRelative && relpath.charAt(0) == "/") {
+					relpath = relpath.slice(1);
+				}
+				ok = this.loadPath(relpath, modArg);
+				if (ok) {
+					break;
+				}
+			}
+		}
+		if (!ok && !omitModuleCheck) {
+			dojo.raise("Could not load '" + moduleName + "'; last tried '" + relpath + "'");
+		}
+	}
+	if (!omitModuleCheck && !this["isXDomain"]) {
+		module = this.findModule(moduleName, false);
+		if (!module) {
+			dojo.raise("symbol '" + moduleName + "' is not defined after loading '" + relpath + "'");
+		}
+	}
+	return module;
+};
+dojo.hostenv.startPackage = function (packageName) {
+	var fullPkgName = String(packageName);
+	var strippedPkgName = fullPkgName;
+	var syms = packageName.split(/\./);
+	if (syms[syms.length - 1] == "*") {
+		syms.pop();
+		strippedPkgName = syms.join(".");
+	}
+	var evaledPkg = dojo.evalObjPath(strippedPkgName, true);
+	this.loaded_modules_[fullPkgName] = evaledPkg;
+	this.loaded_modules_[strippedPkgName] = evaledPkg;
+	return evaledPkg;
+};
+dojo.hostenv.findModule = function (moduleName, mustExist) {
+	var lmn = String(moduleName);
+	if (this.loaded_modules_[lmn]) {
+		return this.loaded_modules_[lmn];
+	}
+	if (mustExist) {
+		dojo.raise("no loaded module named '" + moduleName + "'");
+	}
+	return null;
+};
+dojo.kwCompoundRequire = function (modMap) {
+	var common = modMap["common"] || [];
+	var result = modMap[dojo.hostenv.name_] ? common.concat(modMap[dojo.hostenv.name_] || []) : common.concat(modMap["default"] || []);
+	for (var x = 0; x < result.length; x++) {
+		var curr = result[x];
+		if (curr.constructor == Array) {
+			dojo.hostenv.loadModule.apply(dojo.hostenv, curr);
+		} else {
+			dojo.hostenv.loadModule(curr);
+		}
+	}
+};
+dojo.require = function (resourceName) {
+	dojo.hostenv.loadModule.apply(dojo.hostenv, arguments);
+};
+dojo.requireIf = function (condition, resourceName) {
+	var arg0 = arguments[0];
+	if ((arg0 === true) || (arg0 == "common") || (arg0 && dojo.render[arg0].capable)) {
+		var args = [];
+		for (var i = 1; i < arguments.length; i++) {
+			args.push(arguments[i]);
+		}
+		dojo.require.apply(dojo, args);
+	}
+};
+dojo.requireAfterIf = dojo.requireIf;
+dojo.provide = function (resourceName) {
+	return dojo.hostenv.startPackage.apply(dojo.hostenv, arguments);
+};
+dojo.registerModulePath = function (module, prefix) {
+	return dojo.hostenv.setModulePrefix(module, prefix);
+};
+if (djConfig["modulePaths"]) {
+	for (var param in djConfig["modulePaths"]) {
+		dojo.registerModulePath(param, djConfig["modulePaths"][param]);
+	}
+}
+dojo.setModulePrefix = function (module, prefix) {
+	dojo.deprecated("dojo.setModulePrefix(\"" + module + "\", \"" + prefix + "\")", "replaced by dojo.registerModulePath", "0.5");
+	return dojo.registerModulePath(module, prefix);
+};
+dojo.exists = function (obj, name) {
+	var p = name.split(".");
+	for (var i = 0; i < p.length; i++) {
+		if (!obj[p[i]]) {
+			return false;
+		}
+		obj = obj[p[i]];
+	}
+	return true;
+};
+dojo.hostenv.normalizeLocale = function (locale) {
+	var result = locale ? locale.toLowerCase() : dojo.locale;
+	if (result == "root") {
+		result = "ROOT";
+	}
+	return result;
+};
+dojo.hostenv.searchLocalePath = function (locale, down, searchFunc) {
+	locale = dojo.hostenv.normalizeLocale(locale);
+	var elements = locale.split("-");
+	var searchlist = [];
+	for (var i = elements.length; i > 0; i--) {
+		searchlist.push(elements.slice(0, i).join("-"));
+	}
+	searchlist.push(false);
+	if (down) {
+		searchlist.reverse();
+	}
+	for (var j = searchlist.length - 1; j >= 0; j--) {
+		var loc = searchlist[j] || "ROOT";
+		var stop = searchFunc(loc);
+		if (stop) {
+			break;
+		}
+	}
+};
+dojo.hostenv.localesGenerated;
+dojo.hostenv.registerNlsPrefix = function () {
+	dojo.registerModulePath("nls", "nls");
+};
+dojo.hostenv.preloadLocalizations = function () {
+	if (dojo.hostenv.localesGenerated) {
+		dojo.hostenv.registerNlsPrefix();
+		function preload(locale) {
+			locale = dojo.hostenv.normalizeLocale(locale);
+			dojo.hostenv.searchLocalePath(locale, true, function (loc) {
+				for (var i = 0; i < dojo.hostenv.localesGenerated.length; i++) {
+					if (dojo.hostenv.localesGenerated[i] == loc) {
+						dojo["require"]("nls.dojo_" + loc);
+						return true;
+					}
+				}
+				return false;
+			});
+		}
+		preload();
+		var extra = djConfig.extraLocale || [];
+		for (var i = 0; i < extra.length; i++) {
+			preload(extra[i]);
+		}
+	}
+	dojo.hostenv.preloadLocalizations = function () {
+	};
+};
+dojo.requireLocalization = function (moduleName, bundleName, locale, availableFlatLocales) {
+	dojo.hostenv.preloadLocalizations();
+	var targetLocale = dojo.hostenv.normalizeLocale(locale);
+	var bundlePackage = [moduleName, "nls", bundleName].join(".");
+	var bestLocale = "";
+	if (availableFlatLocales) {
+		var flatLocales = availableFlatLocales.split(",");
+		for (var i = 0; i < flatLocales.length; i++) {
+			if (targetLocale.indexOf(flatLocales[i]) == 0) {
+				if (flatLocales[i].length > bestLocale.length) {
+					bestLocale = flatLocales[i];
+				}
+			}
+		}
+		if (!bestLocale) {
+			bestLocale = "ROOT";
+		}
+	}
+	var tempLocale = availableFlatLocales ? bestLocale : targetLocale;
+	var bundle = dojo.hostenv.findModule(bundlePackage);
+	var localizedBundle = null;
+	if (bundle) {
+		if (djConfig.localizationComplete && bundle._built) {
+			return;
+		}
+		var jsLoc = tempLocale.replace("-", "_");
+		var translationPackage = bundlePackage + "." + jsLoc;
+		localizedBundle = dojo.hostenv.findModule(translationPackage);
+	}
+	if (!localizedBundle) {
+		bundle = dojo.hostenv.startPackage(bundlePackage);
+		var syms = dojo.hostenv.getModuleSymbols(moduleName);
+		var modpath = syms.concat("nls").join("/");
+		var parent;
+		dojo.hostenv.searchLocalePath(tempLocale, availableFlatLocales, function (loc) {
+			var jsLoc = loc.replace("-", "_");
+			var translationPackage = bundlePackage + "." + jsLoc;
+			var loaded = false;
+			if (!dojo.hostenv.findModule(translationPackage)) {
+				dojo.hostenv.startPackage(translationPackage);
+				var module = [modpath];
+				if (loc != "ROOT") {
+					module.push(loc);
+				}
+				module.push(bundleName);
+				var filespec = module.join("/") + ".js";
+				loaded = dojo.hostenv.loadPath(filespec, null, function (hash) {
+					var clazz = function () {
+					};
+					clazz.prototype = parent;
+					bundle[jsLoc] = new clazz();
+					for (var j in hash) {
+						bundle[jsLoc][j] = hash[j];
+					}
+				});
+			} else {
+				loaded = true;
+			}
+			if (loaded && bundle[jsLoc]) {
+				parent = bundle[jsLoc];
+			} else {
+				bundle[jsLoc] = parent;
+			}
+			if (availableFlatLocales) {
+				return true;
+			}
+		});
+	}
+	if (availableFlatLocales && targetLocale != bestLocale) {
+		bundle[targetLocale.replace("-", "_")] = bundle[bestLocale.replace("-", "_")];
+	}
+};
+(function () {
+	var extra = djConfig.extraLocale;
+	if (extra) {
+		if (!extra instanceof Array) {
+			extra = [extra];
+		}
+		var req = dojo.requireLocalization;
+		dojo.requireLocalization = function (m, b, locale, availableFlatLocales) {
+			req(m, b, locale, availableFlatLocales);
+			if (locale) {
+				return;
+			}
+			for (var i = 0; i < extra.length; i++) {
+				req(m, b, extra[i], availableFlatLocales);
+			}
+		};
+	}
+})();
+

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

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

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