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 [25/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/widget/RichText.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/RichText.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/RichText.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/RichText.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,1167 @@
+/*
+	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.RichText");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.html.*");
+dojo.require("dojo.html.layout");
+dojo.require("dojo.html.selection");
+dojo.require("dojo.event.*");
+dojo.require("dojo.string.extras");
+dojo.require("dojo.uri.Uri");
+dojo.require("dojo.Deferred");
+if (!djConfig["useXDomain"] || djConfig["allowXdRichTextSave"]) {
+	if (dojo.hostenv.post_load_) {
+		(function () {
+			var savetextarea = dojo.doc().createElement("textarea");
+			savetextarea.id = "dojo.widget.RichText.savedContent";
+			savetextarea.style = "display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;";
+			dojo.body().appendChild(savetextarea);
+		})();
+	} else {
+		try {
+			dojo.doc().write("<textarea id=\"dojo.widget.RichText.savedContent\" " + "style=\"display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;\"></textarea>");
+		}
+		catch (e) {
+		}
+	}
+}
+dojo.widget.defineWidget("dojo.widget.RichText", dojo.widget.HtmlWidget, function () {
+	this.contentPreFilters = [];
+	this.contentPostFilters = [];
+	this.contentDomPreFilters = [];
+	this.contentDomPostFilters = [];
+	this.editingAreaStyleSheets = [];
+	if (dojo.render.html.moz) {
+		this.contentPreFilters.push(this._fixContentForMoz);
+	}
+	this._keyHandlers = {};
+	if (dojo.Deferred) {
+		this.onLoadDeferred = new dojo.Deferred();
+	}
+}, {inheritWidth:false, focusOnLoad:false, saveName:"", styleSheets:"", _content:"", height:"", minHeight:"1em", isClosed:true, isLoaded:false, useActiveX:false, relativeImageUrls:false, _SEPARATOR:"@@**%%__RICHTEXTBOUNDRY__%%**@@", onLoadDeferred:null, fillInTemplate:function () {
+	dojo.event.topic.publish("dojo.widget.RichText::init", this);
+	this.open();
+	dojo.event.connect(this, "onKeyPressed", this, "afterKeyPress");
+	dojo.event.connect(this, "onKeyPress", this, "keyPress");
+	dojo.event.connect(this, "onKeyDown", this, "keyDown");
+	dojo.event.connect(this, "onKeyUp", this, "keyUp");
+	this.setupDefaultShortcuts();
+}, setupDefaultShortcuts:function () {
+	var ctrl = this.KEY_CTRL;
+	var exec = function (cmd, arg) {
+		return arguments.length == 1 ? function () {
+			this.execCommand(cmd);
+		} : function () {
+			this.execCommand(cmd, arg);
+		};
+	};
+	this.addKeyHandler("b", ctrl, exec("bold"));
+	this.addKeyHandler("i", ctrl, exec("italic"));
+	this.addKeyHandler("u", ctrl, exec("underline"));
+	this.addKeyHandler("a", ctrl, exec("selectall"));
+	this.addKeyHandler("s", ctrl, function () {
+		this.save(true);
+	});
+	this.addKeyHandler("1", ctrl, exec("formatblock", "h1"));
+	this.addKeyHandler("2", ctrl, exec("formatblock", "h2"));
+	this.addKeyHandler("3", ctrl, exec("formatblock", "h3"));
+	this.addKeyHandler("4", ctrl, exec("formatblock", "h4"));
+	this.addKeyHandler("\\", ctrl, exec("insertunorderedlist"));
+	if (!dojo.render.html.ie) {
+		this.addKeyHandler("Z", ctrl, exec("redo"));
+	}
+}, events:["onBlur", "onFocus", "onKeyPress", "onKeyDown", "onKeyUp", "onClick"], open:function (element) {
+	if (this.onLoadDeferred.fired >= 0) {
+		this.onLoadDeferred = new dojo.Deferred();
+	}
+	var h = dojo.render.html;
+	if (!this.isClosed) {
+		this.close();
+	}
+	dojo.event.topic.publish("dojo.widget.RichText::open", this);
+	this._content = "";
+	if ((arguments.length == 1) && (element["nodeName"])) {
+		this.domNode = element;
+	}
+	if ((this.domNode["nodeName"]) && (this.domNode.nodeName.toLowerCase() == "textarea")) {
+		this.textarea = this.domNode;
+		var html = this._preFilterContent(this.textarea.value);
+		this.domNode = dojo.doc().createElement("div");
+		dojo.html.copyStyle(this.domNode, this.textarea);
+		var tmpFunc = dojo.lang.hitch(this, function () {
+			with (this.textarea.style) {
+				display = "block";
+				position = "absolute";
+				left = top = "-1000px";
+				if (h.ie) {
+					this.__overflow = overflow;
+					overflow = "hidden";
+				}
+			}
+		});
+		if (h.ie) {
+			setTimeout(tmpFunc, 10);
+		} else {
+			tmpFunc();
+		}
+		if (!h.safari) {
+			dojo.html.insertBefore(this.domNode, this.textarea);
+		}
+		if (this.textarea.form) {
+			dojo.event.connect("before", this.textarea.form, "onsubmit", dojo.lang.hitch(this, function () {
+				this.textarea.value = this.getEditorContent();
+			}));
+		}
+		var editor = this;
+		dojo.event.connect(this, "postCreate", function () {
+			dojo.html.insertAfter(editor.textarea, editor.domNode);
+		});
+	} else {
+		var html = this._preFilterContent(dojo.string.trim(this.domNode.innerHTML));
+	}
+	if (html == "") {
+		html = "&nbsp;";
+	}
+	var content = dojo.html.getContentBox(this.domNode);
+	this._oldHeight = content.height;
+	this._oldWidth = content.width;
+	this._firstChildContributingMargin = this._getContributingMargin(this.domNode, "top");
+	this._lastChildContributingMargin = this._getContributingMargin(this.domNode, "bottom");
+	this.savedContent = html;
+	this.domNode.innerHTML = "";
+	this.editingArea = dojo.doc().createElement("div");
+	this.domNode.appendChild(this.editingArea);
+	if ((this.domNode["nodeName"]) && (this.domNode.nodeName == "LI")) {
+		this.domNode.innerHTML = " <br>";
+	}
+	if (this.saveName != "" && (!djConfig["useXDomain"] || djConfig["allowXdRichTextSave"])) {
+		var saveTextarea = dojo.doc().getElementById("dojo.widget.RichText.savedContent");
+		if (saveTextarea.value != "") {
+			var datas = saveTextarea.value.split(this._SEPARATOR);
+			for (var i = 0; i < datas.length; i++) {
+				var data = datas[i].split(":");
+				if (data[0] == this.saveName) {
+					html = data[1];
+					datas.splice(i, 1);
+					break;
+				}
+			}
+		}
+		dojo.event.connect("before", window, "onunload", this, "_saveContent");
+	}
+	if (h.ie70 && this.useActiveX) {
+		dojo.debug("activeX in ie70 is not currently supported, useActiveX is ignored for now.");
+		this.useActiveX = false;
+	}
+	if (this.useActiveX && h.ie) {
+		var self = this;
+		setTimeout(function () {
+			self._drawObject(html);
+		}, 0);
+	} else {
+		if (h.ie || this._safariIsLeopard() || h.opera) {
+			this.iframe = dojo.doc().createElement("iframe");
+			this.iframe.src = "javascript:void(0)";
+			this.editorObject = this.iframe;
+			with (this.iframe.style) {
+				border = "0";
+				width = "100%";
+			}
+			this.iframe.frameBorder = 0;
+			this.editingArea.appendChild(this.iframe);
+			this.window = this.iframe.contentWindow;
+			this.document = this.window.document;
+			this.document.open();
+			this.document.write("<html><head><style>body{margin:0;padding:0;border:0;overflow:hidden;}</style></head><body><div></div></body></html>");
+			this.document.close();
+			this.editNode = this.document.body.firstChild;
+			this.editNode.contentEditable = true;
+			with (this.iframe.style) {
+				if (h.ie70) {
+					if (this.height) {
+						height = this.height;
+					}
+					if (this.minHeight) {
+						minHeight = this.minHeight;
+					}
+				} else {
+					height = this.height ? this.height : this.minHeight;
+				}
+			}
+			var formats = ["p", "pre", "address", "h1", "h2", "h3", "h4", "h5", "h6", "ol", "div", "ul"];
+			var localhtml = "";
+			for (var i in formats) {
+				if (formats[i].charAt(1) != "l") {
+					localhtml += "<" + formats[i] + "><span>content</span></" + formats[i] + ">";
+				} else {
+					localhtml += "<" + formats[i] + "><li>content</li></" + formats[i] + ">";
+				}
+			}
+			with (this.editNode.style) {
+				position = "absolute";
+				left = "-2000px";
+				top = "-2000px";
+			}
+			this.editNode.innerHTML = localhtml;
+			var node = this.editNode.firstChild;
+			while (node) {
+				dojo.withGlobal(this.window, "selectElement", dojo.html.selection, [node.firstChild]);
+				var nativename = node.tagName.toLowerCase();
+				this._local2NativeFormatNames[nativename] = this.queryCommandValue("formatblock");
+				this._native2LocalFormatNames[this._local2NativeFormatNames[nativename]] = nativename;
+				node = node.nextSibling;
+			}
+			with (this.editNode.style) {
+				position = "";
+				left = "";
+				top = "";
+			}
+			this.editNode.innerHTML = html;
+			if (this.height) {
+				this.document.body.style.overflowY = "scroll";
+			}
+			dojo.lang.forEach(this.events, function (e) {
+				dojo.event.connect(this.editNode, e.toLowerCase(), this, e);
+			}, this);
+			this.onLoad();
+		} else {
+			this._drawIframe(html);
+			this.editorObject = this.iframe;
+		}
+	}
+	if (this.domNode.nodeName == "LI") {
+		this.domNode.lastChild.style.marginTop = "-1.2em";
+	}
+	dojo.html.addClass(this.domNode, "RichTextEditable");
+	this.isClosed = false;
+}, _hasCollapseableMargin:function (element, side) {
+	if (dojo.html.getPixelValue(element, "border-" + side + "-width", false)) {
+		return false;
+	} else {
+		if (dojo.html.getPixelValue(element, "padding-" + side, false)) {
+			return false;
+		} else {
+			return true;
+		}
+	}
+}, _getContributingMargin:function (element, topOrBottom) {
+	if (topOrBottom == "top") {
+		var siblingAttr = "previousSibling";
+		var childSiblingAttr = "nextSibling";
+		var childAttr = "firstChild";
+		var marginProp = "margin-top";
+		var siblingMarginProp = "margin-bottom";
+	} else {
+		var siblingAttr = "nextSibling";
+		var childSiblingAttr = "previousSibling";
+		var childAttr = "lastChild";
+		var marginProp = "margin-bottom";
+		var siblingMarginProp = "margin-top";
+	}
+	var elementMargin = dojo.html.getPixelValue(element, marginProp, false);
+	function isSignificantNode(element) {
+		return !(element.nodeType == 3 && dojo.string.isBlank(element.data)) && dojo.html.getStyle(element, "display") != "none" && !dojo.html.isPositionAbsolute(element);
+	}
+	var childMargin = 0;
+	var child = element[childAttr];
+	while (child) {
+		while ((!isSignificantNode(child)) && child[childSiblingAttr]) {
+			child = child[childSiblingAttr];
+		}
+		childMargin = Math.max(childMargin, dojo.html.getPixelValue(child, marginProp, false));
+		if (!this._hasCollapseableMargin(child, topOrBottom)) {
+			break;
+		}
+		child = child[childAttr];
+	}
+	if (!this._hasCollapseableMargin(element, topOrBottom)) {
+		return parseInt(childMargin);
+	}
+	var contextMargin = 0;
+	var sibling = element[siblingAttr];
+	while (sibling) {
+		if (isSignificantNode(sibling)) {
+			contextMargin = dojo.html.getPixelValue(sibling, siblingMarginProp, false);
+			break;
+		}
+		sibling = sibling[siblingAttr];
+	}
+	if (!sibling) {
+		contextMargin = dojo.html.getPixelValue(element.parentNode, marginProp, false);
+	}
+	if (childMargin > elementMargin) {
+		return parseInt(Math.max((childMargin - elementMargin) - contextMargin, 0));
+	} else {
+		return 0;
+	}
+}, _drawIframe:function (html) {
+	var oldMoz = Boolean(dojo.render.html.moz && (typeof window.XML == "undefined"));
+	if (!this.iframe) {
+		var currentDomain = (new dojo.uri.Uri(dojo.doc().location)).host;
+		this.iframe = dojo.doc().createElement("iframe");
+		with (this.iframe) {
+			style.border = "none";
+			style.lineHeight = "0";
+			style.verticalAlign = "bottom";
+			scrolling = this.height ? "auto" : "no";
+		}
+	}
+	if (djConfig["useXDomain"] && !djConfig["dojoRichTextFrameUrl"]) {
+		dojo.debug("dojo.widget.RichText: When using cross-domain Dojo builds," + " please save src/widget/templates/richtextframe.html to your domain and set djConfig.dojoRichTextFrameUrl" + " to the path on your domain to richtextframe.html");
+	}
+	this.iframe.src = (djConfig["dojoRichTextFrameUrl"] || dojo.uri.moduleUri("dojo.widget", "templates/richtextframe.html")) + ((dojo.doc().domain != currentDomain) ? ("#" + dojo.doc().domain) : "");
+	this.iframe.width = this.inheritWidth ? this._oldWidth : "100%";
+	if (this.height) {
+		this.iframe.style.height = this.height;
+	} else {
+		var height = this._oldHeight;
+		if (this._hasCollapseableMargin(this.domNode, "top")) {
+			height += this._firstChildContributingMargin;
+		}
+		if (this._hasCollapseableMargin(this.domNode, "bottom")) {
+			height += this._lastChildContributingMargin;
+		}
+		this.iframe.height = height;
+	}
+	var tmpContent = dojo.doc().createElement("div");
+	tmpContent.innerHTML = html;
+	this.editingArea.appendChild(tmpContent);
+	if (this.relativeImageUrls) {
+		var imgs = tmpContent.getElementsByTagName("img");
+		for (var i = 0; i < imgs.length; i++) {
+			imgs[i].src = (new dojo.uri.Uri(dojo.global().location, imgs[i].src)).toString();
+		}
+		html = tmpContent.innerHTML;
+	}
+	var firstChild = dojo.html.firstElement(tmpContent);
+	var lastChild = dojo.html.lastElement(tmpContent);
+	if (firstChild) {
+		firstChild.style.marginTop = this._firstChildContributingMargin + "px";
+	}
+	if (lastChild) {
+		lastChild.style.marginBottom = this._lastChildContributingMargin + "px";
+	}
+	this.editingArea.appendChild(this.iframe);
+	if (dojo.render.html.safari) {
+		this.iframe.src = this.iframe.src;
+	}
+	var _iframeInitialized = false;
+	var ifrFunc = dojo.lang.hitch(this, function () {
+		if (!_iframeInitialized) {
+			_iframeInitialized = true;
+		} else {
+			return;
+		}
+		if (!this.editNode) {
+			if (this.iframe.contentWindow) {
+				this.window = this.iframe.contentWindow;
+				this.document = this.iframe.contentWindow.document;
+			} else {
+				if (this.iframe.contentDocument) {
+					this.window = this.iframe.contentDocument.window;
+					this.document = this.iframe.contentDocument;
+				}
+			}
+			var getStyle = (function (domNode) {
+				return function (style) {
+					return dojo.html.getStyle(domNode, style);
+				};
+			})(this.domNode);
+			var font = getStyle("font-weight") + " " + getStyle("font-size") + " " + getStyle("font-family");
+			var lineHeight = "1.0";
+			var lineHeightStyle = dojo.html.getUnitValue(this.domNode, "line-height");
+			if (lineHeightStyle.value && lineHeightStyle.units == "") {
+				lineHeight = lineHeightStyle.value;
+			}
+			dojo.html.insertCssText("body,html{background:transparent;padding:0;margin:0;}" + "body{top:0;left:0;right:0;" + (((this.height) || (dojo.render.html.opera)) ? "" : "position:fixed;") + "font:" + font + ";" + "min-height:" + this.minHeight + ";" + "line-height:" + lineHeight + "}" + "p{margin: 1em 0 !important;}" + "body > *:first-child{padding-top:0 !important;margin-top:" + this._firstChildContributingMargin + "px !important;}" + "body > *:last-child{padding-bottom:0 !important;margin-bottom:" + this._lastChildContributingMargin + "px !important;}" + "li > ul:-moz-first-node, li > ol:-moz-first-node{padding-top:1.2em;}\n" + "li{min-height:1.2em;}" + "", this.document);
+			dojo.html.removeNode(tmpContent);
+			this.document.body.innerHTML = html;
+			if (oldMoz || dojo.render.html.safari) {
+				this.document.designMode = "on";
+			}
+			this.onLoad();
+		} else {
+			dojo.html.removeNode(tmpContent);
+			this.editNode.innerHTML = html;
+			this.onDisplayChanged();
+		}
+	});
+	if (this.editNode) {
+		ifrFunc();
+	} else {
+		if (dojo.render.html.moz) {
+			this.iframe.onload = function () {
+				setTimeout(ifrFunc, 250);
+			};
+		} else {
+			this.iframe.onload = ifrFunc;
+		}
+	}
+}, _applyEditingAreaStyleSheets:function () {
+	var files = [];
+	if (this.styleSheets) {
+		files = this.styleSheets.split(";");
+		this.styleSheets = "";
+	}
+	files = files.concat(this.editingAreaStyleSheets);
+	this.editingAreaStyleSheets = [];
+	if (files.length > 0) {
+		for (var i = 0; i < files.length; i++) {
+			var url = files[i];
+			if (url) {
+				this.addStyleSheet(dojo.uri.dojoUri(url));
+			}
+		}
+	}
+}, addStyleSheet:function (uri) {
+	var url = uri.toString();
+	if (dojo.lang.find(this.editingAreaStyleSheets, url) > -1) {
+		dojo.debug("dojo.widget.RichText.addStyleSheet: Style sheet " + url + " is already applied to the editing area!");
+		return;
+	}
+	if (url.charAt(0) == "." || (url.charAt(0) != "/" && !uri.host)) {
+		url = (new dojo.uri.Uri(dojo.global().location, url)).toString();
+	}
+	this.editingAreaStyleSheets.push(url);
+	if (this.document.createStyleSheet) {
+		this.document.createStyleSheet(url);
+	} else {
+		var head = this.document.getElementsByTagName("head")[0];
+		var stylesheet = this.document.createElement("link");
+		with (stylesheet) {
+			rel = "stylesheet";
+			type = "text/css";
+			href = url;
+		}
+		head.appendChild(stylesheet);
+	}
+}, removeStyleSheet:function (uri) {
+	var url = uri.toString();
+	if (url.charAt(0) == "." || (url.charAt(0) != "/" && !uri.host)) {
+		url = (new dojo.uri.Uri(dojo.global().location, url)).toString();
+	}
+	var index = dojo.lang.find(this.editingAreaStyleSheets, url);
+	if (index == -1) {
+		dojo.debug("dojo.widget.RichText.removeStyleSheet: Style sheet " + url + " is not applied to the editing area so it can not be removed!");
+		return;
+	}
+	delete this.editingAreaStyleSheets[index];
+	var links = this.document.getElementsByTagName("link");
+	for (var i = 0; i < links.length; i++) {
+		if (links[i].href == url) {
+			if (dojo.render.html.ie) {
+				links[i].href = "";
+			}
+			dojo.html.removeNode(links[i]);
+			break;
+		}
+	}
+}, _drawObject:function (html) {
+	this.object = dojo.html.createExternalElement(dojo.doc(), "object");
+	with (this.object) {
+		classid = "clsid:2D360201-FFF5-11D1-8D03-00A0C959BC0A";
+		width = this.inheritWidth ? this._oldWidth : "100%";
+		style.height = this.height ? this.height : (this._oldHeight + "px");
+		Scrollbars = this.height ? true : false;
+		Appearance = this._activeX.appearance.flat;
+	}
+	this.editorObject = this.object;
+	this.editingArea.appendChild(this.object);
+	this.object.attachEvent("DocumentComplete", dojo.lang.hitch(this, "onLoad"));
+	dojo.lang.forEach(this.events, function (e) {
+		this.object.attachEvent(e.toLowerCase(), dojo.lang.hitch(this, e));
+	}, this);
+	this.object.DocumentHTML = "<!doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">" + "<html><title></title>" + "<style type=\"text/css\">" + "	body,html { padding: 0; margin: 0; }" + (this.height ? "" : "	body,  { overflow: hidden; }") + "</style>" + "<body><div>" + html + "<div></body></html>";
+	this._cacheLocalBlockFormatNames();
+}, _local2NativeFormatNames:{}, _native2LocalFormatNames:{}, _cacheLocalBlockFormatNames:function () {
+	if (!this._native2LocalFormatNames["p"]) {
+		var obj = this.object;
+		var error = false;
+		if (!obj) {
+			try {
+				obj = dojo.html.createExternalElement(dojo.doc(), "object");
+				obj.classid = "clsid:2D360201-FFF5-11D1-8D03-00A0C959BC0A";
+				dojo.body().appendChild(obj);
+				obj.DocumentHTML = "<html><head></head><body></body></html>";
+			}
+			catch (e) {
+				error = true;
+			}
+		}
+		try {
+			var oNamesParm = new ActiveXObject("DEGetBlockFmtNamesParam.DEGetBlockFmtNamesParam");
+			obj.ExecCommand(this._activeX.command["getblockformatnames"], 0, oNamesParm);
+			var vbNamesArray = new VBArray(oNamesParm.Names);
+			var localFormats = vbNamesArray.toArray();
+			var nativeFormats = ["p", "pre", "address", "h1", "h2", "h3", "h4", "h5", "h6", "ol", "ul", "", "", "", "", "div"];
+			for (var i = 0; i < nativeFormats.length; ++i) {
+				if (nativeFormats[i].length > 0) {
+					this._local2NativeFormatNames[localFormats[i]] = nativeFormats[i];
+					this._native2LocalFormatNames[nativeFormats[i]] = localFormats[i];
+				}
+			}
+		}
+		catch (e) {
+			error = true;
+		}
+		if (obj && !this.object) {
+			dojo.body().removeChild(obj);
+		}
+	}
+	return !error;
+}, _isResized:function () {
+	return false;
+}, onLoad:function (e) {
+	this.isLoaded = true;
+	if (this.object) {
+		this.document = this.object.DOM;
+		this.window = this.document.parentWindow;
+		this.editNode = this.document.body.firstChild;
+		this.editingArea.style.height = this.height ? this.height : this.minHeight;
+		if (!this.height) {
+			this.connect(this, "onDisplayChanged", "_updateHeight");
+		}
+		this.window._frameElement = this.object;
+	} else {
+		if (this.iframe && !dojo.render.html.ie) {
+			this.editNode = this.document.body;
+			if (!this.height) {
+				this.connect(this, "onDisplayChanged", "_updateHeight");
+			}
+			try {
+				this.document.execCommand("useCSS", false, true);
+				this.document.execCommand("styleWithCSS", false, false);
+			}
+			catch (e2) {
+			}
+			if (dojo.render.html.safari) {
+				this.connect(this.editNode, "onblur", "onBlur");
+				this.connect(this.editNode, "onfocus", "onFocus");
+				this.connect(this.editNode, "onclick", "onFocus");
+				this.interval = setInterval(dojo.lang.hitch(this, "onDisplayChanged"), 750);
+			} else {
+				if (dojo.render.html.mozilla || dojo.render.html.opera) {
+					var doc = this.document;
+					var addListener = dojo.event.browser.addListener;
+					var self = this;
+					dojo.lang.forEach(this.events, function (e) {
+						var l = addListener(self.document, e.substr(2).toLowerCase(), dojo.lang.hitch(self, e));
+						if (e == "onBlur") {
+							var unBlur = {unBlur:function (e) {
+								dojo.event.browser.removeListener(doc, "blur", l);
+							}};
+							dojo.event.connect("before", self, "close", unBlur, "unBlur");
+						}
+					});
+				}
+			}
+		} else {
+			if (dojo.render.html.ie) {
+				if (!this.height) {
+					this.connect(this, "onDisplayChanged", "_updateHeight");
+				}
+				this.editNode.style.zoom = 1;
+			}
+		}
+	}
+	this._applyEditingAreaStyleSheets();
+	if (this.focusOnLoad) {
+		this.focus();
+	}
+	this.onDisplayChanged(e);
+	if (this.onLoadDeferred) {
+		this.onLoadDeferred.callback(true);
+	}
+}, onKeyDown:function (e) {
+	if ((!e) && (this.object)) {
+		e = dojo.event.browser.fixEvent(this.window.event);
+	}
+	if ((dojo.render.html.ie) && (e.keyCode == e.KEY_TAB)) {
+		e.preventDefault();
+		e.stopPropagation();
+		this.execCommand((e.shiftKey ? "outdent" : "indent"));
+	} else {
+		if (dojo.render.html.ie) {
+			if ((65 <= e.keyCode) && (e.keyCode <= 90)) {
+				e.charCode = e.keyCode;
+				this.onKeyPress(e);
+			}
+		}
+	}
+}, onKeyUp:function (e) {
+	return;
+}, KEY_CTRL:1, onKeyPress:function (e) {
+	if ((!e) && (this.object)) {
+		e = dojo.event.browser.fixEvent(this.window.event);
+	}
+	var modifiers = e.ctrlKey ? this.KEY_CTRL : 0;
+	if (this._keyHandlers[e.key]) {
+		var handlers = this._keyHandlers[e.key], i = 0, handler;
+		while (handler = handlers[i++]) {
+			if (modifiers == handler.modifiers) {
+				e.preventDefault();
+				handler.handler.call(this);
+				break;
+			}
+		}
+	}
+	dojo.lang.setTimeout(this, this.onKeyPressed, 1, e);
+}, addKeyHandler:function (key, modifiers, handler) {
+	if (!(this._keyHandlers[key] instanceof Array)) {
+		this._keyHandlers[key] = [];
+	}
+	this._keyHandlers[key].push({modifiers:modifiers || 0, handler:handler});
+}, onKeyPressed:function (e) {
+	this.onDisplayChanged();
+}, onClick:function (e) {
+	this.onDisplayChanged(e);
+}, onBlur:function (e) {
+}, _initialFocus:true, onFocus:function (e) {
+	if ((dojo.render.html.mozilla) && (this._initialFocus)) {
+		this._initialFocus = false;
+		if (dojo.string.trim(this.editNode.innerHTML) == "&nbsp;") {
+			this.placeCursorAtStart();
+		}
+	}
+}, blur:function () {
+	if (this.iframe) {
+		this.window.blur();
+	} else {
+		if (this.object) {
+			this.document.body.blur();
+		} else {
+			if (this.editNode) {
+				this.editNode.blur();
+			}
+		}
+	}
+}, focus:function () {
+	if (this.iframe && !dojo.render.html.ie) {
+		this.window.focus();
+	} else {
+		if (this.object) {
+			this.document.focus();
+		} else {
+			if (this.editNode && this.editNode.focus) {
+				this.editNode.focus();
+			} else {
+				dojo.debug("Have no idea how to focus into the editor!");
+			}
+		}
+	}
+}, onDisplayChanged:function (e) {
+}, _activeX:{command:{bold:5000, italic:5023, underline:5048, justifycenter:5024, justifyleft:5025, justifyright:5026, cut:5003, copy:5002, paste:5032, "delete":5004, undo:5049, redo:5033, removeformat:5034, selectall:5035, unlink:5050, indent:5018, outdent:5031, insertorderedlist:5030, insertunorderedlist:5051, inserttable:5022, insertcell:5019, insertcol:5020, insertrow:5021, deletecells:5005, deletecols:5006, deleterows:5007, mergecells:5029, splitcell:5047, setblockformat:5043, getblockformat:5011, getblockformatnames:5012, setfontname:5044, getfontname:5013, setfontsize:5045, getfontsize:5014, setbackcolor:5042, getbackcolor:5010, setforecolor:5046, getforecolor:5015, findtext:5008, font:5009, hyperlink:5016, image:5017, lockelement:5027, makeabsolute:5028, sendbackward:5036, bringforward:5037, sendbelowtext:5038, bringabovetext:5039, sendtoback:5040, bringtofront:5041, properties:5052}, ui:{"default":0, prompt:1, noprompt:2}, status:{notsupported:0, disabled:1, enabled
 :3, latched:7, ninched:11}, appearance:{flat:0, inset:1}, state:{unchecked:0, checked:1, gray:2}}, _normalizeCommand:function (cmd) {
+	var drh = dojo.render.html;
+	var command = cmd.toLowerCase();
+	if (command == "formatblock") {
+		if (drh.safari) {
+			command = "heading";
+		}
+	} else {
+		if (this.object) {
+			switch (command) {
+			  case "createlink":
+				command = "hyperlink";
+				break;
+			  case "insertimage":
+				command = "image";
+				break;
+			}
+		} else {
+			if (command == "hilitecolor" && !drh.mozilla) {
+				command = "backcolor";
+			}
+		}
+	}
+	return command;
+}, _safariIsLeopard:function () {
+	var gt420 = false;
+	if (dojo.render.html.safari) {
+		var tmp = dojo.render.html.UA.split("AppleWebKit/")[1];
+		var ver = parseFloat(tmp.split(" ")[0]);
+		if (ver >= 420) {
+			gt420 = true;
+		}
+	}
+	return gt420;
+}, queryCommandAvailable:function (command) {
+	var ie = 1;
+	var mozilla = 1 << 1;
+	var safari = 1 << 2;
+	var opera = 1 << 3;
+	var safari420 = 1 << 4;
+	var gt420 = this._safariIsLeopard();
+	function isSupportedBy(browsers) {
+		return {ie:Boolean(browsers & ie), mozilla:Boolean(browsers & mozilla), safari:Boolean(browsers & safari), safari420:Boolean(browsers & safari420), opera:Boolean(browsers & opera)};
+	}
+	var supportedBy = null;
+	switch (command.toLowerCase()) {
+	  case "bold":
+	  case "italic":
+	  case "underline":
+	  case "subscript":
+	  case "superscript":
+	  case "fontname":
+	  case "fontsize":
+	  case "forecolor":
+	  case "hilitecolor":
+	  case "justifycenter":
+	  case "justifyfull":
+	  case "justifyleft":
+	  case "justifyright":
+	  case "delete":
+	  case "selectall":
+		supportedBy = isSupportedBy(mozilla | ie | safari | opera);
+		break;
+	  case "createlink":
+	  case "unlink":
+	  case "removeformat":
+	  case "inserthorizontalrule":
+	  case "insertimage":
+	  case "insertorderedlist":
+	  case "insertunorderedlist":
+	  case "indent":
+	  case "outdent":
+	  case "formatblock":
+	  case "inserthtml":
+	  case "undo":
+	  case "redo":
+	  case "strikethrough":
+		supportedBy = isSupportedBy(mozilla | ie | opera | safari420);
+		break;
+	  case "blockdirltr":
+	  case "blockdirrtl":
+	  case "dirltr":
+	  case "dirrtl":
+	  case "inlinedirltr":
+	  case "inlinedirrtl":
+		supportedBy = isSupportedBy(ie);
+		break;
+	  case "cut":
+	  case "copy":
+	  case "paste":
+		supportedBy = isSupportedBy(ie | mozilla | safari420);
+		break;
+	  case "inserttable":
+		supportedBy = isSupportedBy(mozilla | (this.object ? ie : 0));
+		break;
+	  case "insertcell":
+	  case "insertcol":
+	  case "insertrow":
+	  case "deletecells":
+	  case "deletecols":
+	  case "deleterows":
+	  case "mergecells":
+	  case "splitcell":
+		supportedBy = isSupportedBy(this.object ? ie : 0);
+		break;
+	  default:
+		return false;
+	}
+	return (dojo.render.html.ie && supportedBy.ie) || (dojo.render.html.mozilla && supportedBy.mozilla) || (dojo.render.html.safari && supportedBy.safari) || (gt420 && supportedBy.safari420) || (dojo.render.html.opera && supportedBy.opera);
+}, execCommand:function (command, argument) {
+	var returnValue;
+	this.focus();
+	command = this._normalizeCommand(command);
+	if (argument != undefined) {
+		if (command == "heading") {
+			throw new Error("unimplemented");
+		} else {
+			if (command == "formatblock") {
+				if (this.object) {
+					argument = this._native2LocalFormatNames[argument];
+				} else {
+					if (dojo.render.html.ie) {
+						argument = "<" + argument + ">";
+					}
+				}
+			}
+		}
+	}
+	if (this.object) {
+		switch (command) {
+		  case "hilitecolor":
+			command = "setbackcolor";
+			break;
+		  case "forecolor":
+		  case "backcolor":
+		  case "fontsize":
+		  case "fontname":
+			command = "set" + command;
+			break;
+		  case "formatblock":
+			command = "setblockformat";
+		}
+		if (command == "strikethrough") {
+			command = "inserthtml";
+			var range = this.document.selection.createRange();
+			if (!range.htmlText) {
+				return;
+			}
+			argument = range.htmlText.strike();
+		} else {
+			if (command == "inserthorizontalrule") {
+				command = "inserthtml";
+				argument = "<hr>";
+			}
+		}
+		if (command == "inserthtml") {
+			var range = this.document.selection.createRange();
+			if (this.document.selection.type.toUpperCase() == "CONTROL") {
+				for (var i = 0; i < range.length; i++) {
+					range.item(i).outerHTML = argument;
+				}
+			} else {
+				range.pasteHTML(argument);
+				range.select();
+			}
+			returnValue = true;
+		} else {
+			if (arguments.length == 1) {
+				returnValue = this.object.ExecCommand(this._activeX.command[command], this._activeX.ui.noprompt);
+			} else {
+				returnValue = this.object.ExecCommand(this._activeX.command[command], this._activeX.ui.noprompt, argument);
+			}
+		}
+	} else {
+		if (command == "inserthtml") {
+			if (dojo.render.html.ie) {
+				var insertRange = this.document.selection.createRange();
+				insertRange.pasteHTML(argument);
+				insertRange.select();
+				return true;
+			} else {
+				return this.document.execCommand(command, false, argument);
+			}
+		} else {
+			if ((command == "unlink") && (this.queryCommandEnabled("unlink")) && (dojo.render.html.mozilla)) {
+				var selection = this.window.getSelection();
+				var selectionRange = selection.getRangeAt(0);
+				var selectionStartContainer = selectionRange.startContainer;
+				var selectionStartOffset = selectionRange.startOffset;
+				var selectionEndContainer = selectionRange.endContainer;
+				var selectionEndOffset = selectionRange.endOffset;
+				var a = dojo.withGlobal(this.window, "getAncestorElement", dojo.html.selection, ["a"]);
+				dojo.withGlobal(this.window, "selectElement", dojo.html.selection, [a]);
+				returnValue = this.document.execCommand("unlink", false, null);
+				var selectionRange = this.document.createRange();
+				selectionRange.setStart(selectionStartContainer, selectionStartOffset);
+				selectionRange.setEnd(selectionEndContainer, selectionEndOffset);
+				selection.removeAllRanges();
+				selection.addRange(selectionRange);
+				return returnValue;
+			} else {
+				if ((command == "hilitecolor") && (dojo.render.html.mozilla)) {
+					this.document.execCommand("useCSS", false, false);
+					returnValue = this.document.execCommand(command, false, argument);
+					this.document.execCommand("useCSS", false, true);
+				} else {
+					if ((dojo.render.html.ie) && ((command == "backcolor") || (command == "forecolor"))) {
+						argument = arguments.length > 1 ? argument : null;
+						returnValue = this.document.execCommand(command, false, argument);
+					} else {
+						argument = arguments.length > 1 ? argument : null;
+						if (argument || command != "createlink") {
+							returnValue = this.document.execCommand(command, false, argument);
+						}
+					}
+				}
+			}
+		}
+	}
+	this.onDisplayChanged();
+	return returnValue;
+}, queryCommandEnabled:function (command) {
+	command = this._normalizeCommand(command);
+	if (this.object) {
+		switch (command) {
+		  case "hilitecolor":
+			command = "setbackcolor";
+			break;
+		  case "forecolor":
+		  case "backcolor":
+		  case "fontsize":
+		  case "fontname":
+			command = "set" + command;
+			break;
+		  case "formatblock":
+			command = "setblockformat";
+			break;
+		  case "strikethrough":
+			command = "bold";
+			break;
+		  case "inserthorizontalrule":
+			return true;
+		}
+		if (typeof this._activeX.command[command] == "undefined") {
+			return false;
+		}
+		var status = this.object.QueryStatus(this._activeX.command[command]);
+		return ((status != this._activeX.status.notsupported) && (status != this._activeX.status.disabled));
+	} else {
+		if (dojo.render.html.mozilla) {
+			if (command == "unlink") {
+				return dojo.withGlobal(this.window, "hasAncestorElement", dojo.html.selection, ["a"]);
+			} else {
+				if (command == "inserttable") {
+					return true;
+				}
+			}
+		}
+		var elem = (dojo.render.html.ie) ? this.document.selection.createRange() : this.document;
+		return elem.queryCommandEnabled(command);
+	}
+}, queryCommandState:function (command) {
+	command = this._normalizeCommand(command);
+	if (this.object) {
+		if (command == "forecolor") {
+			command = "setforecolor";
+		} else {
+			if (command == "backcolor") {
+				command = "setbackcolor";
+			} else {
+				if (command == "strikethrough") {
+					return dojo.withGlobal(this.window, "hasAncestorElement", dojo.html.selection, ["strike"]);
+				} else {
+					if (command == "inserthorizontalrule") {
+						return false;
+					}
+				}
+			}
+		}
+		if (typeof this._activeX.command[command] == "undefined") {
+			return null;
+		}
+		var status = this.object.QueryStatus(this._activeX.command[command]);
+		return ((status == this._activeX.status.latched) || (status == this._activeX.status.ninched));
+	} else {
+		return this.document.queryCommandState(command);
+	}
+}, queryCommandValue:function (command) {
+	command = this._normalizeCommand(command);
+	if (this.object) {
+		switch (command) {
+		  case "forecolor":
+		  case "backcolor":
+		  case "fontsize":
+		  case "fontname":
+			command = "get" + command;
+			return this.object.execCommand(this._activeX.command[command], this._activeX.ui.noprompt);
+		  case "formatblock":
+			var retvalue = this.object.execCommand(this._activeX.command["getblockformat"], this._activeX.ui.noprompt);
+			if (retvalue) {
+				return this._local2NativeFormatNames[retvalue];
+			}
+		}
+	} else {
+		if (dojo.render.html.ie && command == "formatblock") {
+			return this._local2NativeFormatNames[this.document.queryCommandValue(command)] || this.document.queryCommandValue(command);
+		}
+		return this.document.queryCommandValue(command);
+	}
+}, placeCursorAtStart:function () {
+	this.focus();
+	if (dojo.render.html.moz && this.editNode.firstChild && this.editNode.firstChild.nodeType != dojo.dom.TEXT_NODE) {
+		dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode.firstChild]);
+	} else {
+		dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode]);
+	}
+	dojo.withGlobal(this.window, "collapse", dojo.html.selection, [true]);
+}, placeCursorAtEnd:function () {
+	this.focus();
+	if (dojo.render.html.moz && this.editNode.lastChild && this.editNode.lastChild.nodeType != dojo.dom.TEXT_NODE) {
+		dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode.lastChild]);
+	} else {
+		dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode]);
+	}
+	dojo.withGlobal(this.window, "collapse", dojo.html.selection, [false]);
+}, replaceEditorContent:function (html) {
+	html = this._preFilterContent(html);
+	if (this.isClosed) {
+		this.domNode.innerHTML = html;
+	} else {
+		if (this.window && this.window.getSelection && !dojo.render.html.moz) {
+			this.editNode.innerHTML = html;
+		} else {
+			if ((this.window && this.window.getSelection) || (this.document && this.document.selection)) {
+				this.execCommand("selectall");
+				if (dojo.render.html.moz && !html) {
+					html = "&nbsp;";
+				}
+				this.execCommand("inserthtml", html);
+			}
+		}
+	}
+}, _preFilterContent:function (html) {
+	var ec = html;
+	dojo.lang.forEach(this.contentPreFilters, function (ef) {
+		ec = ef(ec);
+	});
+	if (this.contentDomPreFilters.length > 0) {
+		var dom = dojo.doc().createElement("div");
+		dom.style.display = "none";
+		dojo.body().appendChild(dom);
+		dom.innerHTML = ec;
+		dojo.lang.forEach(this.contentDomPreFilters, function (ef) {
+			dom = ef(dom);
+		});
+		ec = dom.innerHTML;
+		dojo.body().removeChild(dom);
+	}
+	return ec;
+}, _postFilterContent:function (html) {
+	var ec = html;
+	if (this.contentDomPostFilters.length > 0) {
+		var dom = this.document.createElement("div");
+		dom.innerHTML = ec;
+		dojo.lang.forEach(this.contentDomPostFilters, function (ef) {
+			dom = ef(dom);
+		});
+		ec = dom.innerHTML;
+	}
+	dojo.lang.forEach(this.contentPostFilters, function (ef) {
+		ec = ef(ec);
+	});
+	return ec;
+}, _lastHeight:0, _updateHeight:function () {
+	if (!this.isLoaded) {
+		return;
+	}
+	if (this.height) {
+		return;
+	}
+	var height = dojo.html.getBorderBox(this.editNode).height;
+	if (!height) {
+		height = dojo.html.getBorderBox(this.document.body).height;
+	}
+	if (height == 0) {
+		dojo.debug("Can not figure out the height of the editing area!");
+		return;
+	}
+	this._lastHeight = height;
+	this.editorObject.style.height = this._lastHeight + "px";
+	this.window.scrollTo(0, 0);
+}, _saveContent:function (e) {
+	var saveTextarea = dojo.doc().getElementById("dojo.widget.RichText.savedContent");
+	saveTextarea.value += this._SEPARATOR + this.saveName + ":" + this.getEditorContent();
+}, getEditorContent:function () {
+	var ec = "";
+	try {
+		ec = (this._content.length > 0) ? this._content : this.editNode.innerHTML;
+		if (dojo.string.trim(ec) == "&nbsp;") {
+			ec = "";
+		}
+	}
+	catch (e) {
+	}
+	if (dojo.render.html.ie && !this.object) {
+		var re = new RegExp("(?:<p>&nbsp;</p>[\n\r]*)+$", "i");
+		ec = ec.replace(re, "");
+	}
+	ec = this._postFilterContent(ec);
+	if (this.relativeImageUrls) {
+		var siteBase = dojo.global().location.protocol + "//" + dojo.global().location.host;
+		var pathBase = dojo.global().location.pathname;
+		if (pathBase.match(/\/$/)) {
+		} else {
+			var pathParts = pathBase.split("/");
+			if (pathParts.length) {
+				pathParts.pop();
+			}
+			pathBase = pathParts.join("/") + "/";
+		}
+		var sameSite = new RegExp("(<img[^>]* src=[\"'])(" + siteBase + "(" + pathBase + ")?)", "ig");
+		ec = ec.replace(sameSite, "$1");
+	}
+	return ec;
+}, close:function (save, force) {
+	if (this.isClosed) {
+		return false;
+	}
+	if (arguments.length == 0) {
+		save = true;
+	}
+	this._content = this._postFilterContent(this.editNode.innerHTML);
+	var changed = (this.savedContent != this._content);
+	if (this.interval) {
+		clearInterval(this.interval);
+	}
+	if (dojo.render.html.ie && !this.object) {
+		dojo.event.browser.clean(this.editNode);
+	}
+	if (this.iframe) {
+		delete this.iframe;
+	}
+	if (this.textarea) {
+		with (this.textarea.style) {
+			position = "";
+			left = top = "";
+			if (dojo.render.html.ie) {
+				overflow = this.__overflow;
+				this.__overflow = null;
+			}
+		}
+		if (save) {
+			this.textarea.value = this._content;
+		} else {
+			this.textarea.value = this.savedContent;
+		}
+		dojo.html.removeNode(this.domNode);
+		this.domNode = this.textarea;
+	} else {
+		if (save) {
+			if (dojo.render.html.moz) {
+				var nc = dojo.doc().createElement("span");
+				this.domNode.appendChild(nc);
+				nc.innerHTML = this.editNode.innerHTML;
+			} else {
+				this.domNode.innerHTML = this._content;
+			}
+		} else {
+			this.domNode.innerHTML = this.savedContent;
+		}
+	}
+	dojo.html.removeClass(this.domNode, "RichTextEditable");
+	this.isClosed = true;
+	this.isLoaded = false;
+	delete this.editNode;
+	if (this.window._frameElement) {
+		this.window._frameElement = null;
+	}
+	this.window = null;
+	this.document = null;
+	this.object = null;
+	this.editingArea = null;
+	this.editorObject = null;
+	return changed;
+}, destroyRendering:function () {
+}, destroy:function () {
+	this.destroyRendering();
+	if (!this.isClosed) {
+		this.close(false);
+	}
+	dojo.widget.RichText.superclass.destroy.call(this);
+}, connect:function (targetObj, targetFunc, thisFunc) {
+	dojo.event.connect(targetObj, targetFunc, this, thisFunc);
+}, disconnect:function (targetObj, targetFunc, thisFunc) {
+	dojo.event.disconnect(targetObj, targetFunc, this, thisFunc);
+}, disconnectAllWithRoot:function (targetObj) {
+	dojo.deprecated("disconnectAllWithRoot", "is deprecated. No need to disconnect manually", "0.5");
+}, _fixContentForMoz:function (html) {
+	html = html.replace(/<strong([ \>])/gi, "<b$1");
+	html = html.replace(/<\/strong>/gi, "</b>");
+	html = html.replace(/<em([ \>])/gi, "<i$1");
+	html = html.replace(/<\/em>/gi, "</i>");
+	return html;
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Rounded.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Rounded.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Rounded.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Rounded.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,529 @@
+/*
+	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.Rounded");
+dojo.widget.tags.addParseTreeHandler("dojo:rounded");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.ContentPane");
+dojo.require("dojo.html.style");
+dojo.require("dojo.html.display");
+dojo.require("dojo.gfx.color");
+dojo.deprecated("dojo.widget.Rounded will be removed in version 0.5; you can now apply rounded corners to any block element using dojo.lfx.rounded.", "0.5");
+dojo.widget.defineWidget("dojo.widget.Rounded", dojo.widget.ContentPane, {isSafari:dojo.render.html.safari, boxMargin:"50px", radius:14, domNode:"", corners:"TR,TL,BR,BL", antiAlias:true, fillInTemplate:function (args, frag) {
+	dojo.widget.Rounded.superclass.fillInTemplate.call(this, args, frag);
+	dojo.html.insertCssFile(this.templateCssPath);
+	if (this.domNode.style.height <= 0) {
+		var minHeight = (this.radius * 1) + this.domNode.clientHeight;
+		this.domNode.style.height = minHeight + "px";
+	}
+	if (this.domNode.style.width <= 0) {
+		var minWidth = (this.radius * 1) + this.domNode.clientWidth;
+		this.domNode.style.width = minWidth + "px";
+	}
+	var cornersAvailable = ["TR", "TL", "BR", "BL"];
+	var cornersPassed = this.corners.split(",");
+	this.settings = {antiAlias:this.antiAlias};
+	var setCorner = function (currentCorner) {
+		var val = currentCorner.toLowerCase();
+		if (dojo.lang.inArray(cornersPassed, currentCorner)) {
+			this.settings[val] = {radius:this.radius, enabled:true};
+		} else {
+			this.settings[val] = {radius:0};
+		}
+	};
+	dojo.lang.forEach(cornersAvailable, setCorner, this);
+	this.domNode.style.margin = this.boxMargin;
+	this.curvyCorners(this.settings);
+	this.applyCorners();
+}, curvyCorners:function (settings) {
+	this.box = this.domNode;
+	this.topContainer = null;
+	this.bottomContainer = null;
+	this.masterCorners = [];
+	var boxHeight = dojo.html.getStyle(this.box, "height");
+	if (boxHeight == "") {
+		boxHeight = "0px";
+	}
+	var boxWidth = dojo.html.getStyle(this.box, "width");
+	var borderWidth = dojo.html.getStyle(this.box, "borderTopWidth");
+	if (borderWidth == "") {
+		borderWidth = "0px";
+	}
+	var borderColour = dojo.html.getStyle(this.box, "borderTopColor");
+	if (borderWidth > 0) {
+		this.antiAlias = true;
+	}
+	var boxColour = dojo.html.getStyle(this.box, "backgroundColor");
+	var backgroundImage = dojo.html.getStyle(this.box, "backgroundImage");
+	var boxPosition = dojo.html.getStyle(this.box, "position");
+	this.boxHeight = parseInt(((boxHeight != "" && boxHeight != "auto" && boxHeight.indexOf("%") == -1) ? boxHeight.substring(0, boxHeight.indexOf("px")) : this.box.scrollHeight));
+	this.boxWidth = parseInt(((boxWidth != "" && boxWidth != "auto" && boxWidth.indexOf("%") == -1) ? boxWidth.substring(0, boxWidth.indexOf("px")) : this.box.scrollWidth));
+	this.borderWidth = parseInt(((borderWidth != "" && borderWidth.indexOf("px") !== -1) ? borderWidth.slice(0, borderWidth.indexOf("px")) : 0));
+	var test = new dojo.gfx.color.Color(boxColour);
+	this.boxColour = ((boxColour != "" && boxColour != "transparent") ? ((boxColour.substr(0, 3) == "rgb") ? this.rgb2Hex(boxColour) : boxColour) : "#ffffff");
+	this.borderColour = ((borderColour != "" && borderColour != "transparent" && this.borderWidth > 0) ? ((borderColour.substr(0, 3) == "rgb") ? this.rgb2Hex(borderColour) : borderColour) : this.boxColour);
+	this.borderString = this.borderWidth + "px" + " solid " + this.borderColour;
+	this.backgroundImage = ((backgroundImage != "none") ? backgroundImage : "");
+	if (boxPosition != "absolute") {
+		this.box.style.position = "relative";
+	}
+	this.applyCorners = function () {
+		for (var t = 0; t < 2; t++) {
+			switch (t) {
+			  case 0:
+				if (this.settings.tl.enabled || this.settings.tr.enabled) {
+					var newMainContainer = document.createElement("DIV");
+					with (newMainContainer.style) {
+						width = "100%";
+						fontSize = "1px";
+						overflow = "hidden";
+						position = "absolute";
+						paddingLeft = this.borderWidth + "px";
+						paddingRight = this.borderWidth + "px";
+						var topMaxRadius = Math.max(this.settings.tl ? this.settings.tl.radius : 0, this.settings.tr ? this.settings.tr.radius : 0);
+						height = topMaxRadius + "px";
+						top = 0 - topMaxRadius + "px";
+						left = 0 - this.borderWidth + "px";
+					}
+					this.topContainer = this.box.appendChild(newMainContainer);
+				}
+				break;
+			  case 1:
+				if (this.settings.bl.enabled || this.settings.br.enabled) {
+					var newMainContainer = document.createElement("DIV");
+					with (newMainContainer.style) {
+						width = "100%";
+						fontSize = "1px";
+						overflow = "hidden";
+						position = "absolute";
+						paddingLeft = this.borderWidth + "px";
+						paddingRight = this.borderWidth + "px";
+						var botMaxRadius = Math.max(this.settings.bl ? this.settings.bl.radius : 0, this.settings.br ? this.settings.br.radius : 0);
+						height = botMaxRadius + "px";
+						bottom = 0 - botMaxRadius + "px";
+						left = 0 - this.borderWidth + "px";
+					}
+					this.bottomContainer = this.box.appendChild(newMainContainer);
+				}
+				break;
+			}
+		}
+		if (this.topContainer) {
+			this.box.style.borderTopWidth = "0px";
+		}
+		if (this.bottomContainer) {
+			this.box.style.borderBottomWidth = "0px";
+		}
+		var corners = ["tr", "tl", "br", "bl"];
+		for (var i in corners) {
+			var cc = corners[i];
+			if (!this.settings[cc]) {
+				if (((cc == "tr" || cc == "tl") && this.topContainer != null) || ((cc == "br" || cc == "bl") && this.bottomContainer != null)) {
+					var newCorner = document.createElement("DIV");
+					newCorner.style.position = "relative";
+					newCorner.style.fontSize = "1px";
+					newCorner.style.overflow = "hidden";
+					if (this.backgroundImage == "") {
+						newCorner.style.backgroundColor = this.boxColour;
+					} else {
+						newCorner.style.backgroundImage = this.backgroundImage;
+					}
+					switch (cc) {
+					  case "tl":
+						with (newCorner.style) {
+							height = topMaxRadius - this.borderWidth + "px";
+							marginRight = this.settings.tr.radius - (this.borderWidth * 2) + "px";
+							borderLeft = this.borderString;
+							borderTop = this.borderString;
+							left = -this.borderWidth + "px";
+						}
+						break;
+					  case "tr":
+						with (newCorner.style) {
+							height = topMaxRadius - this.borderWidth + "px";
+							marginLeft = this.settings.tl.radius - (this.borderWidth * 2) + "px";
+							borderRight = this.borderString;
+							borderTop = this.borderString;
+							backgroundPosition = "-" + this.boxWidth + "px 0px";
+							left = this.borderWidth + "px";
+						}
+						break;
+					  case "bl":
+						with (newCorner.style) {
+							height = botMaxRadius - this.borderWidth + "px";
+							marginRight = this.settings.br.radius - (this.borderWidth * 2) + "px";
+							borderLeft = this.borderString;
+							borderBottom = this.borderString;
+							left = -this.borderWidth + "px";
+						}
+						break;
+					  case "br":
+						with (newCorner.style) {
+							height = botMaxRadius - this.borderWidth + "px";
+							marginLeft = this.settings.bl.radius - (this.borderWidth * 2) + "px";
+							borderRight = this.borderString;
+							borderBottom = this.borderString;
+							left = this.borderWidth + "px";
+						}
+						break;
+					}
+				}
+			} else {
+				if (this.masterCorners[this.settings[cc].radius]) {
+					var newCorner = this.masterCorners[this.settings[cc].radius].cloneNode(true);
+				} else {
+					var newCorner = document.createElement("DIV");
+					with (newCorner.style) {
+						height = this.settings[cc].radius + "px";
+						width = this.settings[cc].radius + "px";
+						position = "absolute";
+						fontSize = "1px";
+						overflow = "hidden";
+					}
+					var borderRadius = parseInt(this.settings[cc].radius - this.borderWidth);
+					for (var intx = 0, j = this.settings[cc].radius; intx < j; intx++) {
+						if ((intx + 1) >= borderRadius) {
+							var y1 = -1;
+						} else {
+							var y1 = (Math.floor(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow((intx + 1), 2))) - 1);
+						}
+						if (borderRadius != j) {
+							if ((intx) >= borderRadius) {
+								var y2 = -1;
+							} else {
+								var y2 = Math.ceil(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow(intx, 2)));
+							}
+							if ((intx + 1) >= j) {
+								var y3 = -1;
+							} else {
+								var y3 = (Math.floor(Math.sqrt(Math.pow(j, 2) - Math.pow((intx + 1), 2))) - 1);
+							}
+						}
+						if ((intx) >= j) {
+							var y4 = -1;
+						} else {
+							var y4 = Math.ceil(Math.sqrt(Math.pow(j, 2) - Math.pow(intx, 2)));
+						}
+						if (y1 > -1) {
+							this.drawPixel(intx, 0, this.boxColour, 100, (y1 + 1), newCorner, -1, this.settings[cc].radius);
+						}
+						if (borderRadius != j) {
+							if (this.antiAlias) {
+								for (var inty = (y1 + 1); inty < y2; inty++) {
+									if (this.backgroundImage != "") {
+										var borderFract = (this.pixelFraction(intx, inty, borderRadius) * 100);
+										if (borderFract < 30) {
+											this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, 0, this.settings[cc].radius);
+										} else {
+											this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, -1, this.settings[cc].radius);
+										}
+									} else {
+										var pixelcolour = dojo.gfx.color.blend(this.boxColour, this.borderColour, this.pixelFraction(intx, inty, borderRadius));
+										this.drawPixel(intx, inty, pixelcolour, 100, 1, newCorner, 0, this.settings[cc].radius);
+									}
+								}
+							}
+							if (y3 >= y2) {
+								if (y1 == -1) {
+									y1 = 0;
+								}
+								this.drawPixel(intx, y2, this.borderColour, 100, (y3 - y2 + 1), newCorner, 0, this.settings[cc].radius);
+							}
+							var outsideColour = this.borderColour;
+						} else {
+							var outsideColour = this.boxColour;
+							var y3 = y1;
+						}
+						if (this.antiAlias) {
+							for (var inty = (y3 + 1); inty < y4; inty++) {
+								this.drawPixel(intx, inty, outsideColour, (this.pixelFraction(intx, inty, j) * 100), 1, newCorner, ((this.borderWidth > 0) ? 0 : -1), this.settings[cc].radius);
+							}
+						}
+					}
+					this.masterCorners[this.settings[cc].radius] = newCorner.cloneNode(true);
+				}
+				if (cc != "br") {
+					for (var t = 0, k = newCorner.childNodes.length; t < k; t++) {
+						var pixelBar = newCorner.childNodes[t];
+						var pixelBarTop = parseInt(pixelBar.style.top.substring(0, pixelBar.style.top.indexOf("px")));
+						var pixelBarLeft = parseInt(pixelBar.style.left.substring(0, pixelBar.style.left.indexOf("px")));
+						var pixelBarHeight = parseInt(pixelBar.style.height.substring(0, pixelBar.style.height.indexOf("px")));
+						if (cc == "tl" || cc == "bl") {
+							pixelBar.style.left = this.settings[cc].radius - pixelBarLeft - 1 + "px";
+						}
+						if (cc == "tr" || cc == "tl") {
+							pixelBar.style.top = this.settings[cc].radius - pixelBarHeight - pixelBarTop + "px";
+						}
+						var value;
+						switch (cc) {
+						  case "tr":
+							value = (-1 * (Math.abs((this.boxWidth - this.settings[cc].radius + this.borderWidth) + pixelBarLeft) - (Math.abs(this.settings[cc].radius - pixelBarHeight - pixelBarTop - this.borderWidth))));
+							pixelBar.style.backgroundPosition = value + "px";
+							break;
+						  case "tl":
+							value = (-1 * (Math.abs((this.settings[cc].radius - pixelBarLeft - 1) - this.borderWidth) - (Math.abs(this.settings[cc].radius - pixelBarHeight - pixelBarTop - this.borderWidth))));
+							pixelBar.style.backgroundPosition = value + "px";
+							break;
+						  case "bl":
+							value = (-1 * (Math.abs((this.settings[cc].radius - pixelBarLeft - 1) - this.borderWidth) - (Math.abs((this.boxHeight + this.settings[cc].radius + pixelBarTop) - this.borderWidth))));
+							pixelBar.style.backgroundPosition = value + "px";
+							break;
+						}
+					}
+				}
+			}
+			if (newCorner) {
+				switch (cc) {
+				  case "tl":
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.top = "0px";
+					}
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.left = "0px";
+					}
+					if (this.topContainer) {
+						this.topContainer.appendChild(newCorner);
+					}
+					break;
+				  case "tr":
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.top = "0px";
+					}
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.right = "0px";
+					}
+					if (this.topContainer) {
+						this.topContainer.appendChild(newCorner);
+					}
+					break;
+				  case "bl":
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.bottom = "0px";
+					}
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.left = "0px";
+					}
+					if (this.bottomContainer) {
+						this.bottomContainer.appendChild(newCorner);
+					}
+					break;
+				  case "br":
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.bottom = "0px";
+					}
+					if (newCorner.style.position == "absolute") {
+						newCorner.style.right = "0px";
+					}
+					if (this.bottomContainer) {
+						this.bottomContainer.appendChild(newCorner);
+					}
+					break;
+				}
+			}
+		}
+		var radiusDiff = [];
+		radiusDiff["t"] = this.settings.tl.enabled && this.settings.tr.enabled ? Math.abs(this.settings.tl.radius - this.settings.tr.radius) : 0;
+		radiusDiff["b"] = this.settings.bl.enabled && this.settings.br.enabled ? Math.abs(this.settings.bl.radius - this.settings.br.radius) : 0;
+		for (var z in radiusDiff) {
+			if (radiusDiff[z]) {
+				var smallerCornerType = ((this.settings[z + "l"].radius < this.settings[z + "r"].radius) ? z + "l" : z + "r");
+				var newFiller = document.createElement("DIV");
+				with (newFiller.style) {
+					height = radiusDiff[z] + "px";
+					width = this.settings[smallerCornerType].radius + "px";
+					position = "absolute";
+					fontSize = "1px";
+					overflow = "hidden";
+					backgroundColor = this.boxColour;
+				}
+				switch (smallerCornerType) {
+				  case "tl":
+					with (newFiller.style) {
+						bottom = "0px";
+						left = "0px";
+						borderLeft = this.borderString;
+					}
+					this.topContainer.appendChild(newFiller);
+					break;
+				  case "tr":
+					with (newFiller.style) {
+						bottom = "0px";
+						right = "0px";
+						borderRight = this.borderString;
+					}
+					this.topContainer.appendChild(newFiller);
+					break;
+				  case "bl":
+					with (newFiller.style) {
+						top = "0px";
+						left = "0px";
+						borderLeft = this.borderString;
+					}
+					this.bottomContainer.appendChild(newFiller);
+					break;
+				  case "br":
+					with (newFiller.style) {
+						top = "0px";
+						right = "0px";
+						borderRight = this.borderString;
+					}
+					this.bottomContainer.appendChild(newFiller);
+					break;
+				}
+			}
+			var newFillerBar = document.createElement("DIV");
+			with (newFillerBar.style) {
+				position = "relative";
+				fontSize = "1px";
+				overflow = "hidden";
+				backgroundColor = this.boxColour;
+			}
+			switch (z) {
+			  case "t":
+				if (this.topContainer) {
+					with (newFillerBar.style) {
+						height = topMaxRadius - this.borderWidth + "px";
+						marginLeft = this.settings.tl.radius - this.borderWidth + "px";
+						marginRight = this.settings.tr.radius - this.borderWidth + "px";
+						borderTop = this.borderString;
+					}
+					this.topContainer.appendChild(newFillerBar);
+				}
+				break;
+			  case "b":
+				if (this.bottomContainer) {
+					with (newFillerBar.style) {
+						height = botMaxRadius - this.borderWidth + "px";
+						marginLeft = this.settings.bl.radius - this.borderWidth + "px";
+						marginRight = this.settings.br.radius - this.borderWidth + "px";
+						borderBottom = this.borderString;
+					}
+					this.bottomContainer.appendChild(newFillerBar);
+				}
+				break;
+			}
+		}
+	};
+	this.drawPixel = function (intx, inty, colour, transAmount, height, newCorner, image, cornerRadius) {
+		var pixel = document.createElement("DIV");
+		pixel.style.height = height + "px";
+		pixel.style.width = "1px";
+		pixel.style.position = "absolute";
+		pixel.style.fontSize = "1px";
+		pixel.style.overflow = "hidden";
+		if (image == -1 && this.backgroundImage != "") {
+			pixel.style.backgroundImage = this.backgroundImage;
+			pixel.style.backgroundPosition = "-" + (this.boxWidth - (cornerRadius - intx) + this.borderWidth) + "px -" + ((this.boxHeight + cornerRadius + inty) - this.borderWidth) + "px";
+		} else {
+			pixel.style.backgroundColor = colour;
+		}
+		if (transAmount != 100) {
+			dojo.html.setOpacity(pixel, transAmount);
+		}
+		pixel.style.top = inty + "px";
+		pixel.style.left = intx + "px";
+		newCorner.appendChild(pixel);
+	};
+}, pixelFraction:function (x, y, r) {
+	var pixelfraction = 0;
+	var xvalues = [];
+	var yvalues = [];
+	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";
+		xvalues[point] = 0;
+		yvalues[point] = intersect - y;
+		point = point + 1;
+	}
+	var intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(y + 1, 2)));
+	if ((intersect >= x) && (intersect < (x + 1))) {
+		whatsides = whatsides + "Top";
+		xvalues[point] = intersect - x;
+		yvalues[point] = 1;
+		point = point + 1;
+	}
+	var intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(x + 1, 2)));
+	if ((intersect >= y) && (intersect < (y + 1))) {
+		whatsides = whatsides + "Right";
+		xvalues[point] = 1;
+		yvalues[point] = intersect - y;
+		point = point + 1;
+	}
+	var intersect = Math.sqrt((Math.pow(r, 2) - Math.pow(y, 2)));
+	if ((intersect >= x) && (intersect < (x + 1))) {
+		whatsides = whatsides + "Bottom";
+		xvalues[point] = intersect - x;
+		yvalues[point] = 0;
+	}
+	switch (whatsides) {
+	  case "LeftRight":
+		pixelfraction = Math.min(yvalues[0], yvalues[1]) + ((Math.max(yvalues[0], yvalues[1]) - Math.min(yvalues[0], yvalues[1])) / 2);
+		break;
+	  case "TopRight":
+		pixelfraction = 1 - (((1 - xvalues[0]) * (1 - yvalues[1])) / 2);
+		break;
+	  case "TopBottom":
+		pixelfraction = Math.min(xvalues[0], xvalues[1]) + ((Math.max(xvalues[0], xvalues[1]) - Math.min(xvalues[0], xvalues[1])) / 2);
+		break;
+	  case "LeftBottom":
+		pixelfraction = (yvalues[0] * xvalues[1]) / 2;
+		break;
+	  default:
+		pixelfraction = 1;
+	}
+	return pixelfraction;
+}, rgb2Hex:function (rgbColour) {
+	try {
+		var rgbArray = this.rgb2Array(rgbColour);
+		var red = parseInt(rgbArray[0]);
+		var green = parseInt(rgbArray[1]);
+		var blue = parseInt(rgbArray[2]);
+		var hexColour = "#" + this.intToHex(red) + this.intToHex(green) + this.intToHex(blue);
+	}
+	catch (e) {
+		alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex");
+	}
+	return hexColour;
+}, intToHex:function (strNum) {
+	var base = strNum / 16;
+	var rem = strNum % 16;
+	var base = base - (rem / 16);
+	var baseS = this.makeHex(base);
+	var remS = this.makeHex(rem);
+	return baseS + "" + remS;
+}, makeHex:function (x) {
+	if ((x >= 0) && (x <= 9)) {
+		return x;
+	} else {
+		switch (x) {
+		  case 10:
+			return "A";
+		  case 11:
+			return "B";
+		  case 12:
+			return "C";
+		  case 13:
+			return "D";
+		  case 14:
+			return "E";
+		  case 15:
+			return "F";
+		}
+	}
+}, rgb2Array:function (rgbColour) {
+	var rgbValues = rgbColour.substring(4, rgbColour.indexOf(")"));
+	var rgbArray = rgbValues.split(", ");
+	return rgbArray;
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Select.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Select.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Select.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Select.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,39 @@
+/*
+	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.Select");
+dojo.require("dojo.widget.ComboBox");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.html.stabile");
+dojo.widget.defineWidget("dojo.widget.Select", dojo.widget.ComboBox, {forceValidOption:true, setValue:function (value) {
+	this.comboBoxValue.value = value;
+	dojo.widget.html.stabile.setState(this.widgetId, this.getState(), true);
+	this.onValueChanged(value);
+}, setLabel:function (value) {
+	this.comboBoxSelectionValue.value = value;
+	if (this.textInputNode.value != value) {
+		this.textInputNode.value = value;
+	}
+}, getLabel:function () {
+	return this.comboBoxSelectionValue.value;
+}, getState:function () {
+	return {value:this.getValue(), label:this.getLabel()};
+}, onKeyUp:function (evt) {
+	this.setLabel(this.textInputNode.value);
+}, setState:function (state) {
+	this.setValue(state.value);
+	this.setLabel(state.label);
+}, setAllValues:function (value1, value2) {
+	this.setLabel(value1);
+	this.setValue(value2);
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Show.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Show.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Show.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Show.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,211 @@
+/*
+	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.Show");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.uri.Uri");
+dojo.require("dojo.event.*");
+dojo.require("dojo.lfx.*");
+dojo.require("dojo.math.curves");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.func");
+dojo.widget.defineWidget("dojo.widget.Show", dojo.widget.HtmlWidget, function () {
+	this._slides = [];
+}, {isContainer:true, _slide:-1, body:null, nav:null, hider:null, select:null, option:null, inNav:false, debugPane:null, noClick:false, templateString:"<div class=\"dojoShow\">\n\t<div dojoAttachPoint=\"contentNode\"></div>\n\t<div class=\"dojoShowNav\" dojoAttachPoint=\"nav\">\n\t\t<div class=\"dojoShowHider\" dojoAttachPoint=\"hider\"></div>\n\t\t<span unselectable=\"on\" style=\"cursor: default;\" dojoAttachEvent=\"onClick:previousSlide\">&lt;</span>\n\t\t<select dojoAttachEvent=\"onClick:gotoSlideByEvent\" dojoAttachPoint=\"select\">\n\t\t\t<option dojoAttachPoint=\"option\">Title</option>\n\t\t</select>\n\t\t<span unselectable=\"on\" style=\"cursor: default;\" dojoAttachEvent=\"onClick:nextSlide\">&gt;</span>\n\t</div>\n</div>\n", templateCssString:"@media screen {\n\thtml, body {\n\t\tmargin: 0px;\n\t\tpadding: 0px;\n\t\twidth: 100%;\n\t}\n\th1 {\n\t\tfont-size: 50px;\n\t}\n\tp, li {\n\t\tfont-size: 30px;\n\t}\n\t.dojoShowNav {\n\t\tbackground: #369;\n\t\toverflow: hid
 den;\n\t\tposition: absolute;\n\t\theight: 5px;\n\t\tbottom: 0px;\n\t\tleft: 0px;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t}\n\t.dojoShowNav input {\n\t\tmargin: 0px;\n\t}\n\t.dojoShowHider {\n\t\theight: 5px;\n\t\toverflow: hidden;\n\t\twidth: 100%;\n\t}\n\t.dojoShowPrint {\n\t\tposition: absolute;\n\t\tleft: 5px;\n\t\ttop: 0px;\n\t}\n\t.dojoShow {\n\t\tdisplay: none;\n\t}\n}\n@media print {\n\t.dojoShow {\n\t\tdisplay: none !important;\n\t}\n\t.dojoShowPrint {\n\t\tdisplay: block !important;\n\t}\n\t.dojoShowPrintSlide {\n\t\tborder: 1px solid #aaa;\n\t\tpadding: 10px;\n\t\tmargin-bottom: 15px;\n\t}\n\t.dojoShowPrintSlide, ul {\n\tpage-break-inside: avoid;\n\t}\n\th1 {\n\t\tmargin-top: 0;\n\t\tpage-break-after: avoid;\n\t}\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Show.css"), fillInTemplate:function (args, frag) {
+	if (args.debugPane) {
+		var dp = this.debugPane = dojo.widget.byId(args.debugPane);
+		dp.hide();
+		dojo.event.connect(dp, "closeWindow", dojo.lang.hitch(this, function () {
+			this.debugPane = false;
+		}));
+	}
+	var source = this.getFragNodeRef(frag);
+	this.sourceNode = dojo.body().appendChild(source.cloneNode(true));
+	for (var i = 0, child; child = this.sourceNode.childNodes[i]; i++) {
+		if (child.tagName && child.getAttribute("dojotype").toLowerCase() == "showslide") {
+			child.className = "dojoShowPrintSlide";
+			child.innerHTML = "<h1>" + child.title + "</h1>" + child.innerHTML;
+		}
+	}
+	this.sourceNode.className = "dojoShowPrint";
+	this.sourceNode.style.display = "none";
+	dojo.event.connect(document, "onclick", this, "gotoSlideByEvent");
+	if (dojo.render.html.ie) {
+		dojo.event.connect(document, "onkeydown", this, "gotoSlideByEvent");
+	} else {
+		dojo.event.connect(document, "onkeypress", this, "gotoSlideByEvent");
+	}
+	dojo.event.connect(window, "onresize", this, "resizeWindow");
+	dojo.event.connect(this.nav, "onmousemove", this, "popUpNav");
+}, postCreate:function () {
+	this._slides = [];
+	for (var i = 0, child; child = this.children[i]; i++) {
+		if (child.widgetType == "ShowSlide") {
+			this._slides.push(child);
+			this.option.text = child.title + " (" + (i + 1) + ")";
+			this.option.parentNode.insertBefore(this.option.cloneNode(true), this.option);
+		}
+	}
+	this.option.parentNode.removeChild(this.option);
+	this.domNode.style.display = "block";
+	this.resizeWindow();
+	this.gotoSlide(0, true);
+	dojo.addOnLoad(dojo.lang.hitch(this, function () {
+		var th = window.location.hash;
+		if (th.length) {
+			var parts = ("" + window.location).split(this.widgetId + "_SlideNo_");
+			if (parts.length > 1) {
+				setTimeout(dojo.lang.hitch(this, function () {
+					this.gotoSlide(parseInt(parts[1]), true);
+				}), 300);
+			}
+		}
+	}));
+}, gotoSlide:function (slide, preventSetHash) {
+	if (slide == this._slide) {
+		return;
+	}
+	if (!this._slides[slide]) {
+		for (var i = 0, child; child = this._slides[i]; i++) {
+			if (child.title == slide) {
+				slide = i;
+				break;
+			}
+		}
+	}
+	if (!this._slides[slide]) {
+		return;
+	}
+	if (this.debugPane) {
+		if (this._slides[slide].debug) {
+			this.debugPane.show();
+		} else {
+			this.debugPane.hide();
+		}
+	}
+	if (this._slide != -1) {
+		while (this._slides[this._slide].previousAction()) {
+		}
+	}
+	if (!preventSetHash) {
+		window.location.href = "#" + this.widgetId + "_SlideNo_" + slide;
+	}
+	if (this._slides[this._slide]) {
+		this._slides[this._slide].hide();
+	}
+	this._slide = slide;
+	this.select.selectedIndex = slide;
+	var cn = this.contentNode;
+	while (cn.firstChild) {
+		cn.removeChild(cn.firstChild);
+	}
+	cn.appendChild(this._slides[slide].domNode);
+	this._slides[slide].show();
+}, gotoSlideByEvent:function (event) {
+	var node = event.target;
+	var type = event.type;
+	if (type == "click") {
+		if (node.tagName == "OPTION" && node.parentNode == this.select) {
+			this.gotoSlide(node.index);
+		} else {
+			if (node == this.select) {
+				this.gotoSlide(node.selectedIndex);
+			} else {
+				this.nextSlide(event);
+			}
+		}
+	} else {
+		if (type == "keydown" || type == "keypress") {
+			var key = event.keyCode;
+			var ch = event.charCode;
+			if (key == 63234 || key == 37) {
+				this.previousSlide(event);
+			} else {
+				if (key == 63235 || key == 39 || ch == 32) {
+					this.nextSlide(event);
+				}
+			}
+		}
+	}
+}, nextSlide:function (event) {
+	if (!this.stopEvent(event)) {
+		return false;
+	}
+	if (!this._slides[this._slide].nextAction(event)) {
+		if ((this._slide + 1) != this._slides.length) {
+			this.gotoSlide(this._slide + 1);
+			return true;
+		}
+		return false;
+	}
+}, previousSlide:function (event) {
+	if (!this.stopEvent(event)) {
+		return false;
+	}
+	if (!this._slides[this._slide].previousAction(event)) {
+		if ((this._slide - 1) != -1) {
+			this.gotoSlide(this._slide - 1);
+			return true;
+		}
+		return false;
+	}
+}, stopEvent:function (ev) {
+	if (!ev) {
+		return true;
+	}
+	if (ev.type == "click" && (this._slides[this._slide].noClick || this.noClick)) {
+		return false;
+	}
+	var target = ev.target;
+	while (target != null) {
+		if (target == this.domNode) {
+			target = ev.target;
+			break;
+		}
+		target = target.parentNode;
+	}
+	if (!dojo.dom.isDescendantOf(target, this.nav)) {
+		while (target && target != this.domNode) {
+			if (target.tagName == "A" || target.tagName == "INPUT" || target.tagName == "TEXTAREA" || target.tagName == "SELECT") {
+				return false;
+			}
+			if (typeof target.onclick == "function" || typeof target.onkeypress == "function") {
+				return false;
+			}
+			target = target.parentNode;
+		}
+	}
+	if (window.event) {
+		ev.returnValue = false;
+		ev.cancelBubble = true;
+	} else {
+		ev.preventDefault();
+		ev.stopPropagation();
+	}
+	return true;
+}, popUpNav:function () {
+	if (!this.inNav) {
+		dojo.lfx.propertyAnimation(this.nav, {"height":{start:5, end:30}}, 250).play();
+	}
+	clearTimeout(this.inNav);
+	this.inNav = setTimeout(dojo.lang.hitch(this, "hideNav"), 2000);
+}, hideNav:function () {
+	clearTimeout(this.inNav);
+	this.inNav = false;
+	dojo.lfx.propertyAnimation(this.nav, {"height":{start:30, end:5}}, 250).play();
+}, resizeWindow:function (ev) {
+	dojo.body().style.height = "auto";
+	var h = Math.max(document.documentElement.scrollHeight || dojo.body().scrollHeight, dojo.html.getViewport().height);
+	dojo.body().style.height = h + "px";
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowAction.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowAction.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowAction.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowAction.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,20 @@
+/*
+	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.ShowAction");
+dojo.require("dojo.widget.*");
+dojo.widget.defineWidget("dojo.widget.ShowAction", dojo.widget.HtmlWidget, {on:"", action:"fade", duration:350, from:"", to:"", auto:"false", postMixInProperties:function () {
+	if (dojo.render.html.opera) {
+		this.action = this.action.split("/").pop();
+	}
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowSlide.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowSlide.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowSlide.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ShowSlide.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,201 @@
+/*
+	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.ShowSlide");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.lfx.html");
+dojo.require("dojo.html.display");
+dojo.require("dojo.html.layout");
+dojo.require("dojo.animation.Animation");
+dojo.require("dojo.gfx.color");
+dojo.widget.defineWidget("dojo.widget.ShowSlide", dojo.widget.HtmlWidget, {title:"", _action:-1, isContainer:true, _components:{}, _actions:[], gotoAction:function (action) {
+	this._action = action;
+}, _nextAction:function (event) {
+	if ((this._action + 1) != this._actions.length) {
+		++this._action;
+		return true;
+	}
+	return false;
+}, _previousAction:function (event) {
+	if ((this._action - 1) != -1) {
+		--this._action;
+		return true;
+	}
+	return false;
+}, htmlTitle:null, debug:false, noClick:false, templateString:"<div class=\"dojoShowSlide\">\n\t<div class=\"dojoShowSlideTitle\">\n\t\t<h1 dojoAttachPoint=\"htmlTitle\">Title</h1>\n\t</div>\n\t<div class=\"dojoShowSlideBody\" dojoAttachPoint=\"containerNode\"></div>\n</div>\n", templateCssString:".dojoShowSlideTitle {\n\theight: 100px;\n\tbackground: #369;\n}\n.dojoShowSlideTitle h1 {\n\tmargin-top: 0;\n\tline-height: 100px;\n\tmargin-left: 30px;\n}\n.dojoShowSlideBody {\n\tmargin: 15px;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/ShowSlide.css"), postCreate:function () {
+	this.htmlTitle.innerHTML = this.title;
+	var actions = this.getChildrenOfType("ShowAction", false);
+	var atypes = {};
+	dojo.lang.forEach(actions, function (act) {
+		atypes[act.on] = true;
+	});
+	this._components = {};
+	var cn = this.containerNode;
+	var nodes = dojo.render.html.ie ? cn.all : cn.getElementsByTagName("*");
+	dojo.lang.forEach(nodes, function (node) {
+		var as = node.getAttribute("as");
+		if (as) {
+			if (!this._components[as]) {
+				this._components[as] = [];
+			}
+			this._components[as].push(node);
+			if (!atypes[as]) {
+				var tmpAction = dojo.widget.createWidget("ShowAction", {on:as});
+				this.addChild(tmpAction);
+				atypes[as] = true;
+			}
+		}
+	}, this);
+	this._actions = [];
+	actions = this.getChildrenOfType("ShowAction", false);
+	dojo.lang.forEach(actions, function (child) {
+		this._actions.push(child);
+		var components = this._components[child.on];
+		for (var j = 0, component; component = components[j]; j++) {
+			if (child["action"] && ((child.action != "remove") && (child.action != "fadeout") && (child.action != "wipeout"))) {
+				this.hideComponent(component);
+			}
+		}
+	}, this);
+}, previousAction:function (event) {
+	if (!this.parent.stopEvent(event)) {
+		return false;
+	}
+	var action = this._actions[this._action];
+	if (!action) {
+		return false;
+	}
+	var on = action.on;
+	while (action.on == on) {
+		var components = this._components[on];
+		for (var i = 0, component; component = components[i]; i++) {
+			if ((action.action == "remove") || (action.action == "fadeout") || (action.action == "wipeout")) {
+				if (component.style.display == "none") {
+					component.style.display = "";
+					component.style.visibility = "visible";
+					var exits = true;
+				}
+				dojo.html.setOpacity(component, 1);
+			} else {
+				if (action.action) {
+					this.hideComponent(component);
+				}
+			}
+		}
+		--this._action;
+		if (exits) {
+			return true;
+		}
+		if (action.auto == "true") {
+			on = this._actions[this._action].on;
+		}
+		action = this._actions[this._action];
+		if (!action) {
+			return false;
+		}
+	}
+	return true;
+}, hideComponent:function (component) {
+	component.style.visibility = "hidden";
+	component.style.backgroundColor = "transparent";
+	var parent = component.parentNode;
+	if ((parent) && (parent.tagName.toLowerCase() == "li")) {
+		parent.oldType = parent.style.listStyleType;
+		parent.style.listStyleType = "none";
+	}
+}, nextAction:function (event) {
+	if (!this.parent.stopEvent(event)) {
+		return false;
+	}
+	if (!this._nextAction(this)) {
+		return false;
+	}
+	var action = this._actions[this._action];
+	if (!action) {
+		return false;
+	}
+	var tmpAction = action["action"];
+	var components = this._components[action.on];
+	for (var i = 0, component; component = components[i]; i++) {
+		if (tmpAction) {
+			var duration = action.duration || 1000;
+			if ((tmpAction == "fade") || (tmpAction == "fadeIn")) {
+				dojo.html.setOpacity(component, 0);
+				dojo.lfx.html.fadeShow(component, duration).play(true);
+			} else {
+				if (tmpAction == "fadeout") {
+					dojo.lfx.html.fadeHide(component, duration).play(true);
+				} else {
+					if (tmpAction == "fly") {
+						var width = dojo.html.getMarginBox(component).width;
+						var position = dojo.html.getAbsolutePosition(component);
+						component.style.position = "relative";
+						component.style.left = -(width + position.x) + "px";
+						dojo.lfx.html.slideBy(component, {top:0, left:(width + position.x)}, duration, -1, this.callWith).play(true);
+					} else {
+						if ((tmpAction == "wipe") || (tmpAction == "wipein")) {
+							dojo.lfx.html.wipeIn(component, duration).play();
+						} else {
+							if (tmpAction == "wipeout") {
+								dojo.lfx.html.wipeOut(component, duration).play();
+							} else {
+								if (tmpAction == "color") {
+									var from = new dojo.gfx.color.Color(action.from).toRgb();
+									var to = new dojo.gfx.color.Color(action.to).toRgb();
+									var anim = new dojo.animation.Animation(new dojo.math.curves.Line(from, to), duration, 0);
+									var node = component;
+									dojo.event.connect(anim, "onAnimate", function (e) {
+										node.style.color = "rgb(" + e.coordsAsInts().join(",") + ")";
+									});
+									anim.play(true);
+								} else {
+									if (tmpAction == "bgcolor") {
+										dojo.lfx.html.unhighlight(component, action.to, duration).play();
+									} else {
+										if (tmpAction == "remove") {
+											component.style.display = "none";
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+			if (tmpAction == "hide") {
+				component.style.visibility = "hidden";
+			} else {
+				component.style.visibility = "visible";
+			}
+		}
+	}
+	action = this._actions[this._action + 1];
+	if (action && action.auto == "true") {
+		this.nextAction();
+	}
+	return true;
+}, callWith:function (node) {
+	if (!node) {
+		return;
+	}
+	if (dojo.lang.isArray(node)) {
+		dojo.lang.forEach(node, arguments.callee);
+		return;
+	}
+	var parent = node.parentNode;
+	if ((parent) && (parent.tagName.toLowerCase() == "li")) {
+		parent.style.listStyleType = parent.oldType;
+	}
+}});
+

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

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

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

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/SlideShow.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/SlideShow.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/SlideShow.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/SlideShow.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,77 @@
+/*
+	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.SlideShow");
+dojo.require("dojo.event.*");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.lfx.*");
+dojo.require("dojo.html.display");
+dojo.widget.defineWidget("dojo.widget.SlideShow", dojo.widget.HtmlWidget, {templateString:"<div style=\"position: relative; padding: 3px;\">\n\t\t<div>\n\t\t\t<input type=\"button\" value=\"pause\" \n\t\t\t\tdojoAttachPoint=\"startStopButton\"\n\t\t\t\tdojoAttachEvent=\"onClick: togglePaused;\">\n\t\t</div>\n\t\t<div style=\"position: relative; width: ${this.width}; height: ${this.height};\"\n\t\t\tdojoAttachPoint=\"imagesContainer\"\n\t\t\tdojoAttachEvent=\"onClick: togglePaused;\">\n\t\t\t<img dojoAttachPoint=\"img1\" class=\"slideShowImg\" \n\t\t\t\tstyle=\"z-index: 1; width: ${this.width}; height: ${this.height};\"  />\n\t\t\t<img dojoAttachPoint=\"img2\" class=\"slideShowImg\" \n\t\t\t\tstyle=\"z-index: 0; width: ${this.width}; height: ${this.height};\" />\n\t\t</div>\t\n</div>\n", templateCssString:".slideShowImg {\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 0px; \n\tborder: 2px solid #4d4d4d;\n\tpadding: 0px;\n\tmargin: 0px;\n}\n\n", templateCssPath:dojo.uri.moduleUr
 i("dojo.widget", "templates/SlideShow.css"), imgUrls:[], imgUrlBase:"", delay:4000, transitionInterval:2000, imgWidth:800, imgHeight:600, preventCache:false, stopped:false, _urlsIdx:0, _background:"img2", _foreground:"img1", fadeAnim:null, startStopButton:null, img1:null, img2:null, postMixInProperties:function () {
+	this.width = this.imgWidth + "px";
+	this.height = this.imgHeight + "px";
+}, fillInTemplate:function () {
+	if (dojo.render.html.safari && this.imgUrls.length == 2) {
+		this.preventCache = true;
+	}
+	dojo.html.setOpacity(this.img1, 0.9999);
+	dojo.html.setOpacity(this.img2, 0.9999);
+	if (this.imgUrls.length > 1) {
+		this.img2.src = this.imgUrlBase + this.imgUrls[this._urlsIdx++] + this._getUrlSuffix();
+		this._endTransition();
+	} else {
+		this.img1.src = this.imgUrlBase + this.imgUrls[this._urlsIdx++] + this._getUrlSuffix();
+	}
+}, _getUrlSuffix:function () {
+	if (this.preventCache) {
+		return "?ts=" + (new Date()).getTime();
+	} else {
+		return "";
+	}
+}, togglePaused:function () {
+	if (this.stopped) {
+		this.stopped = false;
+		this._backgroundImageLoaded();
+		this.startStopButton.value = "pause";
+	} else {
+		this.stopped = true;
+		this.startStopButton.value = "play";
+	}
+}, _backgroundImageLoaded:function () {
+	if (this.stopped) {
+		return;
+	}
+	if (this.fadeAnim) {
+		this.fadeAnim.stop();
+	}
+	this.fadeAnim = dojo.lfx.fadeOut(this[this._foreground], this.transitionInterval, null);
+	dojo.event.connect(this.fadeAnim, "onEnd", this, "_endTransition");
+	this.fadeAnim.play();
+}, _endTransition:function () {
+	with (this[this._background].style) {
+		zIndex = parseInt(zIndex) + 1;
+	}
+	with (this[this._foreground].style) {
+		zIndex = parseInt(zIndex) - 1;
+	}
+	var tmp = this._foreground;
+	this._foreground = this._background;
+	this._background = tmp;
+	this._loadNextImage();
+}, _loadNextImage:function () {
+	dojo.event.kwConnect({srcObj:this[this._background], srcFunc:"onload", adviceObj:this, adviceFunc:"_backgroundImageLoaded", once:true, delay:this.delay});
+	dojo.html.setOpacity(this[this._background], 1);
+	this[this._background].src = this.imgUrlBase + this.imgUrls[this._urlsIdx++];
+	if (this._urlsIdx > (this.imgUrls.length - 1)) {
+		this._urlsIdx = 0;
+	}
+}});
+

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

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

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