You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2007/05/09 04:56:45 UTC

svn commit: r536397 [17/36] - in /tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo: ./ nls/ src/ src/animation/ src/cal/ src/charting/ src/charting/svg/ src/charting/vml/ src/collections/ src/crypto/ src/data/ src/data/core/ src/data/old/ src/da...

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js Tue May  8 19:56:15 2007
@@ -0,0 +1,28 @@
+
+dojo.provide("dojo.i18n.number");dojo.require("dojo.experimental");dojo.experimental("dojo.i18n.number");dojo.require("dojo.regexp");dojo.require("dojo.i18n.common");dojo.require("dojo.lang.common");dojo.i18n.number.format = function (value, flags, locale) {flags = (typeof flags == "object") ? flags : {};var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);if (typeof flags.separator == "undefined") {flags.separator = formatData[1];}
+if (typeof flags.decimal == "undefined") {flags.decimal = formatData[2];}
+if (typeof flags.groupSize == "undefined") {flags.groupSize = formatData[3];}
+if (typeof flags.groupSize2 == "undefined") {flags.groupSize2 = formatData[4];}
+if (typeof flags.round == "undefined") {flags.round = true;}
+if (typeof flags.signed == "undefined") {flags.signed = true;}
+var output = (flags.signed && (value < 0)) ? "-" : "";value = Math.abs(value);var whole = String((((flags.places > 0) || !flags.round) ? Math.floor : Math.round)(value));function splitSubstrings(str, count) {for (var subs = []; str.length >= count; str = str.substr(0, str.length - count)) {subs.push(str.substr(-count));}
+if (str.length > 0) {subs.push(str);}
+return subs.reverse();}
+if (flags.groupSize2 && (whole.length > flags.groupSize)) {var groups = splitSubstrings(whole.substr(0, whole.length - flags.groupSize), flags.groupSize2);groups.push(whole.substr(-flags.groupSize));output = output + groups.join(flags.separator);} else {if (flags.groupSize) {output = output + splitSubstrings(whole, flags.groupSize).join(flags.separator);} else {output = output + whole;}}
+if (flags.places > 0) {var fract = value - Math.floor(value);fract = (flags.round ? Math.round : Math.floor)(fract * Math.pow(10, flags.places));output = output + flags.decimal + fract;}
+return output;};dojo.i18n.number.parse = function (value, locale, flags) {flags = (typeof flags == "object") ? flags : {};var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);if (typeof flags.separator == "undefined") {flags.separator = formatData[1];}
+if (typeof flags.decimal == "undefined") {flags.decimal = formatData[2];}
+if (typeof flags.groupSize == "undefined") {flags.groupSize = formatData[3];}
+if (typeof flags.groupSize2 == "undefined") {flags.groupSize2 = formatData[4];}
+if (typeof flags.validate == "undefined") {flags.validate = true;}
+if (flags.validate && !dojo.i18n.number.isReal(value, locale, flags)) {return Number.NaN;}
+var numbers = value.split(flags.decimal);if (numbers.length > 2) {return Number.NaN;}
+var whole = Number(numbers[0].replace(new RegExp("\\" + flags.separator, "g"), ""));var fract = (numbers.length == 1) ? 0 : Number(numbers[1]) / Math.pow(10, String(numbers[1]).length);return whole + fract;};dojo.i18n.number.isInteger = function (value, locale, flags) {flags = (typeof flags == "object") ? flags : {};var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);if (typeof flags.separator == "undefined") {flags.separator = formatData[1];} else {if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {flags.separator = [formatData[1], ""];}}
+if (typeof flags.groupSize == "undefined") {flags.groupSize = formatData[3];}
+if (typeof flags.groupSize2 == "undefined") {flags.groupSize2 = formatData[4];}
+var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");return re.test(value);};dojo.i18n.number.isReal = function (value, locale, flags) {flags = (typeof flags == "object") ? flags : {};var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);if (typeof flags.separator == "undefined") {flags.separator = formatData[1];} else {if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {flags.separator = [formatData[1], ""];}}
+if (typeof flags.decimal == "undefined") {flags.decimal = formatData[2];}
+if (typeof flags.groupSize == "undefined") {flags.groupSize = formatData[3];}
+if (typeof flags.groupSize2 == "undefined") {flags.groupSize2 = formatData[4];}
+var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");return re.test(value);};(function () {dojo.i18n.number.FORMAT_TABLE = {"ar-ae":["", "", ",", 1], "ar-bh":["", "", ",", 1], "ar-dz":["", "", ",", 1], "ar-eg":["", "", ",", 1], "ar-jo":["", "", ",", 1], "ar-kw":["", "", ",", 1], "ar-lb":["", "", ",", 1], "ar-ma":["", "", ",", 1], "ar-om":["", "", ",", 1], "ar-qa":["", "", ",", 1], "ar-sa":["", "", ",", 1], "ar-sy":["", "", ",", 1], "ar-tn":["", "", ",", 1], "ar-ye":["", "", ",", 1], "cs-cz":[".", ".", ",", 3], "da-dk":[".", ".", ",", 3], "de-at":[".", ".", ",", 3], "de-de":[".", ".", ",", 3], "de-lu":[".", ".", ",", 3], "de-ch":["'", "'", ".", 3], "el-gr":[".", ".", ",", 3], "en-au":[",", ",", ".", 3], "en-ca":[",", ",", ".", 3], "en-gb":[",", ",", ".", 3], "en-hk":[",", ",", ".", 3], "en-ie":[",", ",", ".", 3], "en-in":[",", ",", ".", 3, 2], "en-nz":[",", ",", ".", 3], "en-us":[",", ",", ".", 3], "en-za":[",", ",", ".", 3], "es-ar":[".", ".", ",", 3], "es-bo":["."
 , ".", ",", 3], "es-cl":[".", ".", ",", 3], "es-co":[".", ".", ",", 3], "es-cr":[".", ".", ",", 3], "es-do":[".", ".", ",", 3], "es-ec":[".", ".", ",", 3], "es-es":[".", ".", ",", 3], "es-gt":[",", ",", ".", 3], "es-hn":[",", ",", ".", 3], "es-mx":[",", ",", ".", 3], "es-ni":[",", ",", ".", 3], "es-pa":[",", ",", ".", 3], "es-pe":[",", ",", ".", 3], "es-pr":[",", ",", ".", 3], "es-py":[".", ".", ",", 3], "es-sv":[",", ",", ".", 3], "es-uy":[".", ".", ",", 3], "es-ve":[".", ".", ",", 3], "fi-fi":[" ", " ", ",", 3], "fr-be":[".", ".", ",", 3], "fr-ca":[" ", " ", ",", 3], "fr-ch":[" ", " ", ".", 3], "fr-fr":[" ", " ", ",", 3], "fr-lu":[".", ".", ",", 3], "he-il":[",", ",", ".", 3], "hu-hu":[" ", " ", ",", 3], "it-ch":[" ", " ", ".", 3], "it-it":[".", ".", ",", 3], "ja-jp":[",", ",", ".", 3], "ko-kr":[",", ",", ".", 3], "no-no":[".", ".", ",", 3], "nl-be":[" ", " ", ",", 3], "nl-nl":[".", ".", ",", 3], "pl-pl":[".", ".", ",", 3], "pt-br":[".", ".", ",", 3], "pt-pt":[".", ".", "$
 ", 3], "ru-ru":[" ", " ", ",", 3], "sv-se":[".", " ", ",", 3], "tr-tr":[".", ".", ",", 3], "zh-cn":[",", ",", ".", 3], "zh-hk":[",", ",", ".", 3], "zh-tw":[",", ",", ".", 3], "*":[",", ",", ".", 3]};})();dojo.i18n.number._mapToLocalizedFormatData = function (table, locale) {locale = dojo.hostenv.normalizeLocale(locale);var data = table[locale];if (typeof data == "undefined") {data = table["*"];}
+return data;};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/i18n/number.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js Tue May  8 19:56:15 2007
@@ -0,0 +1,2 @@
+
+dojo.require("dojo.cal.iCalendar");dojo.deprecated("dojo.icalendar", "use dojo.cal.iCalendar isntead", "0.5");
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/iCalendar.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js Tue May  8 19:56:15 2007
@@ -0,0 +1,2 @@
+
+dojo.provide("dojo.io");dojo.require("dojo.io.*");dojo.deprecated("dojo.io", "replaced by dojo.io.*", "0.5");
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js Tue May  8 19:56:15 2007
@@ -0,0 +1,75 @@
+
+dojo.provide("dojo.io.BrowserIO");dojo.require("dojo.io.common");dojo.require("dojo.lang.array");dojo.require("dojo.lang.func");dojo.require("dojo.string.extras");dojo.require("dojo.dom");dojo.require("dojo.undo.browser");if (!dj_undef("window")) {dojo.io.checkChildrenForFile = function (node) {var hasFile = false;var inputs = node.getElementsByTagName("input");dojo.lang.forEach(inputs, function (input) {if (hasFile) {return;}
+if (input.getAttribute("type") == "file") {hasFile = true;}});return hasFile;};dojo.io.formHasFile = function (formNode) {return dojo.io.checkChildrenForFile(formNode);};dojo.io.updateNode = function (node, urlOrArgs) {node = dojo.byId(node);var args = urlOrArgs;if (dojo.lang.isString(urlOrArgs)) {args = {url:urlOrArgs};}
+args.mimetype = "text/html";args.load = function (t, d, e) {while (node.firstChild) {dojo.dom.destroyNode(node.firstChild);}
+node.innerHTML = d;};dojo.io.bind(args);};dojo.io.formFilter = function (node) {var type = (node.type || "").toLowerCase();return !node.disabled && node.name && !dojo.lang.inArray(["file", "submit", "image", "reset", "button"], type);};dojo.io.encodeForm = function (formNode, encoding, formFilter) {if ((!formNode) || (!formNode.tagName) || (!formNode.tagName.toLowerCase() == "form")) {dojo.raise("Attempted to encode a non-form element.");}
+if (!formFilter) {formFilter = dojo.io.formFilter;}
+var enc = /utf/i.test(encoding || "") ? encodeURIComponent : dojo.string.encodeAscii;var values = [];for (var i = 0; i < formNode.elements.length; i++) {var elm = formNode.elements[i];if (!elm || elm.tagName.toLowerCase() == "fieldset" || !formFilter(elm)) {continue;}
+var name = enc(elm.name);var type = elm.type.toLowerCase();if (type == "select-multiple") {for (var j = 0; j < elm.options.length; j++) {if (elm.options[j].selected) {values.push(name + "=" + enc(elm.options[j].value));}}
+} else {if (dojo.lang.inArray(["radio", "checkbox"], type)) {if (elm.checked) {values.push(name + "=" + enc(elm.value));}} else {values.push(name + "=" + enc(elm.value));}}
+}
+var inputs = formNode.getElementsByTagName("input");for (var i = 0; i < inputs.length; i++) {var input = inputs[i];if (input.type.toLowerCase() == "image" && input.form == formNode && formFilter(input)) {var name = enc(input.name);values.push(name + "=" + enc(input.value));values.push(name + ".x=0");values.push(name + ".y=0");}}
+return values.join("&") + "&";};dojo.io.FormBind = function (args) {this.bindArgs = {};if (args && args.formNode) {this.init(args);} else {if (args) {this.init({formNode:args});}}
+};dojo.lang.extend(dojo.io.FormBind, {form:null, bindArgs:null, clickedButton:null, init:function (args) {var form = dojo.byId(args.formNode);if (!form || !form.tagName || form.tagName.toLowerCase() != "form") {throw new Error("FormBind: Couldn't apply, invalid form");} else {if (this.form == form) {return;} else {if (this.form) {throw new Error("FormBind: Already applied to a form");}}
+}
+dojo.lang.mixin(this.bindArgs, args);this.form = form;this.connect(form, "onsubmit", "submit");for (var i = 0; i < form.elements.length; i++) {var node = form.elements[i];if (node && node.type && dojo.lang.inArray(["submit", "button"], node.type.toLowerCase())) {this.connect(node, "onclick", "click");}}
+var inputs = form.getElementsByTagName("input");for (var i = 0; i < inputs.length; i++) {var input = inputs[i];if (input.type.toLowerCase() == "image" && input.form == form) {this.connect(input, "onclick", "click");}}
+}, onSubmit:function (form) {return true;}, submit:function (e) {e.preventDefault();if (this.onSubmit(this.form)) {dojo.io.bind(dojo.lang.mixin(this.bindArgs, {formFilter:dojo.lang.hitch(this, "formFilter")}));}}, click:function (e) {var node = e.currentTarget;if (node.disabled) {return;}
+this.clickedButton = node;}, formFilter:function (node) {var type = (node.type || "").toLowerCase();var accept = false;if (node.disabled || !node.name) {accept = false;} else {if (dojo.lang.inArray(["submit", "button", "image"], type)) {if (!this.clickedButton) {this.clickedButton = node;}
+accept = node == this.clickedButton;} else {accept = !dojo.lang.inArray(["file", "submit", "reset", "button"], type);}}
+return accept;}, connect:function (srcObj, srcFcn, targetFcn) {if (dojo.evalObjPath("dojo.event.connect")) {dojo.event.connect(srcObj, srcFcn, this, targetFcn);} else {var fcn = dojo.lang.hitch(this, targetFcn);srcObj[srcFcn] = function (e) {if (!e) {e = window.event;}
+if (!e.currentTarget) {e.currentTarget = e.srcElement;}
+if (!e.preventDefault) {e.preventDefault = function () {window.event.returnValue = false;};}
+fcn(e);};}}});dojo.io.XMLHTTPTransport = new function () {var _this = this;var _cache = {};this.useCache = false;this.preventCache = false;function getCacheKey(url, query, method) {return url + "|" + query + "|" + method.toLowerCase();}
+function addToCache(url, query, method, http) {_cache[getCacheKey(url, query, method)] = http;}
+function getFromCache(url, query, method) {return _cache[getCacheKey(url, query, method)];}
+this.clearCache = function () {_cache = {};};function doLoad(kwArgs, http, url, query, useCache) {if (((http.status >= 200) && (http.status < 300)) || (http.status == 304) || (location.protocol == "file:" && (http.status == 0 || http.status == undefined)) || (location.protocol == "chrome:" && (http.status == 0 || http.status == undefined))) {var ret;if (kwArgs.method.toLowerCase() == "head") {var headers = http.getAllResponseHeaders();ret = {};ret.toString = function () {return headers;};var values = headers.split(/[\r\n]+/g);for (var i = 0; i < values.length; i++) {var pair = values[i].match(/^([^:]+)\s*:\s*(.+)$/i);if (pair) {ret[pair[1]] = pair[2];}}
+} else {if (kwArgs.mimetype == "text/javascript") {try {ret = dj_eval(http.responseText);}
+catch (e) {dojo.debug(e);dojo.debug(http.responseText);ret = null;}} else {if (kwArgs.mimetype == "text/json" || kwArgs.mimetype == "application/json") {try {ret = dj_eval("(" + http.responseText + ")");}
+catch (e) {dojo.debug(e);dojo.debug(http.responseText);ret = false;}} else {if ((kwArgs.mimetype == "application/xml") || (kwArgs.mimetype == "text/xml")) {ret = http.responseXML;if (!ret || typeof ret == "string" || !http.getResponseHeader("Content-Type")) {ret = dojo.dom.createDocumentFromText(http.responseText);}} else {ret = http.responseText;}}
+}}
+if (useCache) {addToCache(url, query, kwArgs.method, http);}
+kwArgs[(typeof kwArgs.load == "function") ? "load" : "handle"]("load", ret, http, kwArgs);} else {var errObj = new dojo.io.Error("XMLHttpTransport Error: " + http.status + " " + http.statusText);kwArgs[(typeof kwArgs.error == "function") ? "error" : "handle"]("error", errObj, http, kwArgs);}}
+function setHeaders(http, kwArgs) {if (kwArgs["headers"]) {for (var header in kwArgs["headers"]) {if (header.toLowerCase() == "content-type" && !kwArgs["contentType"]) {kwArgs["contentType"] = kwArgs["headers"][header];} else {http.setRequestHeader(header, kwArgs["headers"][header]);}}
+}}
+this.inFlight = [];this.inFlightTimer = null;this.startWatchingInFlight = function () {if (!this.inFlightTimer) {this.inFlightTimer = setTimeout("dojo.io.XMLHTTPTransport.watchInFlight();", 10);}};this.watchInFlight = function () {var now = null;if (!dojo.hostenv._blockAsync && !_this._blockAsync) {for (var x = this.inFlight.length - 1; x >= 0; x--) {try {var tif = this.inFlight[x];if (!tif || tif.http._aborted || !tif.http.readyState) {this.inFlight.splice(x, 1);continue;}
+if (4 == tif.http.readyState) {this.inFlight.splice(x, 1);doLoad(tif.req, tif.http, tif.url, tif.query, tif.useCache);} else {if (tif.startTime) {if (!now) {now = (new Date()).getTime();}
+if (tif.startTime + (tif.req.timeoutSeconds * 1000) < now) {if (typeof tif.http.abort == "function") {tif.http.abort();}
+this.inFlight.splice(x, 1);tif.req[(typeof tif.req.timeout == "function") ? "timeout" : "handle"]("timeout", null, tif.http, tif.req);}}
+}}
+catch (e) {try {var errObj = new dojo.io.Error("XMLHttpTransport.watchInFlight Error: " + e);tif.req[(typeof tif.req.error == "function") ? "error" : "handle"]("error", errObj, tif.http, tif.req);}
+catch (e2) {dojo.debug("XMLHttpTransport error callback failed: " + e2);}}
+}}
+clearTimeout(this.inFlightTimer);if (this.inFlight.length == 0) {this.inFlightTimer = null;return;}
+this.inFlightTimer = setTimeout("dojo.io.XMLHTTPTransport.watchInFlight();", 10);};var hasXmlHttp = dojo.hostenv.getXmlhttpObject() ? true : false;this.canHandle = function (kwArgs) {return hasXmlHttp && dojo.lang.inArray(["text/plain", "text/html", "application/xml", "text/xml", "text/javascript", "text/json", "application/json"], (kwArgs["mimetype"].toLowerCase() || "")) && !(kwArgs["formNode"] && dojo.io.formHasFile(kwArgs["formNode"]));};this.multipartBoundary = "45309FFF-BD65-4d50-99C9-36986896A96F";this.bind = function (kwArgs) {if (!kwArgs["url"]) {if (!kwArgs["formNode"] && (kwArgs["backButton"] || kwArgs["back"] || kwArgs["changeUrl"] || kwArgs["watchForURL"]) && (!djConfig.preventBackButtonFix)) {dojo.deprecated("Using dojo.io.XMLHTTPTransport.bind() to add to browser history without doing an IO request", "Use dojo.undo.browser.addToHistory() instead.", "0.4");dojo.undo.browser.addToHistory(kwArgs);return true;}}
+var url = kwArgs.url;var query = "";if (kwArgs["formNode"]) {var ta = kwArgs.formNode.getAttribute("action");if ((ta) && (!kwArgs["url"])) {url = ta;}
+var tp = kwArgs.formNode.getAttribute("method");if ((tp) && (!kwArgs["method"])) {kwArgs.method = tp;}
+query += dojo.io.encodeForm(kwArgs.formNode, kwArgs.encoding, kwArgs["formFilter"]);}
+if (url.indexOf("#") > -1) {dojo.debug("Warning: dojo.io.bind: stripping hash values from url:", url);url = url.split("#")[0];}
+if (kwArgs["file"]) {kwArgs.method = "post";}
+if (!kwArgs["method"]) {kwArgs.method = "get";}
+if (kwArgs.method.toLowerCase() == "get") {kwArgs.multipart = false;} else {if (kwArgs["file"]) {kwArgs.multipart = true;} else {if (!kwArgs["multipart"]) {kwArgs.multipart = false;}}
+}
+if (kwArgs["backButton"] || kwArgs["back"] || kwArgs["changeUrl"]) {dojo.undo.browser.addToHistory(kwArgs);}
+var content = kwArgs["content"] || {};if (kwArgs.sendTransport) {content["dojo.transport"] = "xmlhttp";}
+do {if (kwArgs.postContent) {query = kwArgs.postContent;break;}
+if (content) {query += dojo.io.argsFromMap(content, kwArgs.encoding);}
+if (kwArgs.method.toLowerCase() == "get" || !kwArgs.multipart) {break;}
+var t = [];if (query.length) {var q = query.split("&");for (var i = 0; i < q.length; ++i) {if (q[i].length) {var p = q[i].split("=");t.push("--" + this.multipartBoundary, "Content-Disposition: form-data; name=\"" + p[0] + "\"", "", p[1]);}}
+}
+if (kwArgs.file) {if (dojo.lang.isArray(kwArgs.file)) {for (var i = 0; i < kwArgs.file.length; ++i) {var o = kwArgs.file[i];t.push("--" + this.multipartBoundary, "Content-Disposition: form-data; name=\"" + o.name + "\"; filename=\"" + ("fileName" in o ? o.fileName : o.name) + "\"", "Content-Type: " + ("contentType" in o ? o.contentType : "application/octet-stream"), "", o.content);}} else {var o = kwArgs.file;t.push("--" + this.multipartBoundary, "Content-Disposition: form-data; name=\"" + o.name + "\"; filename=\"" + ("fileName" in o ? o.fileName : o.name) + "\"", "Content-Type: " + ("contentType" in o ? o.contentType : "application/octet-stream"), "", o.content);}}
+if (t.length) {t.push("--" + this.multipartBoundary + "--", "");query = t.join("\r\n");}} while (false);var async = kwArgs["sync"] ? false : true;var preventCache = kwArgs["preventCache"] || (this.preventCache == true && kwArgs["preventCache"] != false);var useCache = kwArgs["useCache"] == true || (this.useCache == true && kwArgs["useCache"] != false);if (!preventCache && useCache) {var cachedHttp = getFromCache(url, query, kwArgs.method);if (cachedHttp) {doLoad(kwArgs, cachedHttp, url, query, false);return;}}
+var http = dojo.hostenv.getXmlhttpObject(kwArgs);var received = false;if (async) {var startTime = this.inFlight.push({"req":kwArgs, "http":http, "url":url, "query":query, "useCache":useCache, "startTime":kwArgs.timeoutSeconds ? (new Date()).getTime() : 0});this.startWatchingInFlight();} else {_this._blockAsync = true;}
+if (kwArgs.method.toLowerCase() == "post") {if (!kwArgs.user) {http.open("POST", url, async);} else {http.open("POST", url, async, kwArgs.user, kwArgs.password);}
+setHeaders(http, kwArgs);http.setRequestHeader("Content-Type", kwArgs.multipart ? ("multipart/form-data; boundary=" + this.multipartBoundary) : (kwArgs.contentType || "application/x-www-form-urlencoded"));try {http.send(query);}
+catch (e) {if (typeof http.abort == "function") {http.abort();}
+doLoad(kwArgs, {status:404}, url, query, useCache);}} else {var tmpUrl = url;if (query != "") {tmpUrl += (tmpUrl.indexOf("?") > -1 ? "&" : "?") + query;}
+if (preventCache) {tmpUrl += (dojo.string.endsWithAny(tmpUrl, "?", "&") ? "" : (tmpUrl.indexOf("?") > -1 ? "&" : "?")) + "dojo.preventCache=" + new Date().valueOf();}
+if (!kwArgs.user) {http.open(kwArgs.method.toUpperCase(), tmpUrl, async);} else {http.open(kwArgs.method.toUpperCase(), tmpUrl, async, kwArgs.user, kwArgs.password);}
+setHeaders(http, kwArgs);try {http.send(null);}
+catch (e) {if (typeof http.abort == "function") {http.abort();}
+doLoad(kwArgs, {status:404}, url, query, useCache);}}
+if (!async) {doLoad(kwArgs, http, url, query, useCache);_this._blockAsync = false;}
+kwArgs.abort = function () {try {http._aborted = true;}
+catch (e) {}
+return http.abort();};return;};dojo.io.transports.addTransport("XMLHTTPTransport");};}

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/BrowserIO.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js Tue May  8 19:56:15 2007
@@ -0,0 +1,30 @@
+
+dojo.provide("dojo.io.IframeIO");dojo.require("dojo.io.BrowserIO");dojo.require("dojo.uri.*");dojo.io.createIFrame = function (fname, onloadstr, uri) {if (window[fname]) {return window[fname];}
+if (window.frames[fname]) {return window.frames[fname];}
+var r = dojo.render.html;var cframe = null;var turi = uri;if (!turi) {if (djConfig["useXDomain"] && !djConfig["dojoIframeHistoryUrl"]) {dojo.debug("dojo.io.createIFrame: When using cross-domain Dojo builds," + " please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl" + " to the path on your domain to iframe_history.html");}
+turi = (djConfig["dojoIframeHistoryUrl"] || dojo.uri.moduleUri("dojo", "../iframe_history.html")) + "#noInit=true";}
+var ifrstr = ((r.ie) && (dojo.render.os.win)) ? "<iframe name=\"" + fname + "\" src=\"" + turi + "\" onload=\"" + onloadstr + "\">" : "iframe";cframe = document.createElement(ifrstr);with (cframe) {name = fname;setAttribute("name", fname);id = fname;}
+dojo.body().appendChild(cframe);window[fname] = cframe;with (cframe.style) {if (!r.safari) {position = "absolute";}
+left = top = "0px";height = width = "1px";visibility = "hidden";}
+if (!r.ie) {dojo.io.setIFrameSrc(cframe, turi, true);cframe.onload = new Function(onloadstr);}
+return cframe;};dojo.io.IframeTransport = new function () {var _this = this;this.currentRequest = null;this.requestQueue = [];this.iframeName = "dojoIoIframe";this.fireNextRequest = function () {try {if ((this.currentRequest) || (this.requestQueue.length == 0)) {return;}
+var cr = this.currentRequest = this.requestQueue.shift();cr._contentToClean = [];var fn = cr["formNode"];var content = cr["content"] || {};if (cr.sendTransport) {content["dojo.transport"] = "iframe";}
+if (fn) {if (content) {for (var x in content) {if (!fn[x]) {var tn;if (dojo.render.html.ie) {tn = document.createElement("<input type='hidden' name='" + x + "' value='" + content[x] + "'>");fn.appendChild(tn);} else {tn = document.createElement("input");fn.appendChild(tn);tn.type = "hidden";tn.name = x;tn.value = content[x];}
+cr._contentToClean.push(x);} else {fn[x].value = content[x];}}
+}
+if (cr["url"]) {cr._originalAction = fn.getAttribute("action");fn.setAttribute("action", cr.url);}
+if (!fn.getAttribute("method")) {fn.setAttribute("method", (cr["method"]) ? cr["method"] : "post");}
+cr._originalTarget = fn.getAttribute("target");fn.setAttribute("target", this.iframeName);fn.target = this.iframeName;fn.submit();} else {var query = dojo.io.argsFromMap(this.currentRequest.content);var tmpUrl = cr.url + (cr.url.indexOf("?") > -1 ? "&" : "?") + query;dojo.io.setIFrameSrc(this.iframe, tmpUrl, true);}}
+catch (e) {this.iframeOnload(e);}};this.canHandle = function (kwArgs) {return ((dojo.lang.inArray(["text/plain", "text/html", "text/javascript", "text/json", "application/json"], kwArgs["mimetype"])) && (dojo.lang.inArray(["post", "get"], kwArgs["method"].toLowerCase())) && (!((kwArgs["sync"]) && (kwArgs["sync"] == true))));};this.bind = function (kwArgs) {if (!this["iframe"]) {this.setUpIframe();}
+this.requestQueue.push(kwArgs);this.fireNextRequest();return;};this.setUpIframe = function () {this.iframe = dojo.io.createIFrame(this.iframeName, "dojo.io.IframeTransport.iframeOnload();");};this.iframeOnload = function (errorObject) {if (!_this.currentRequest) {_this.fireNextRequest();return;}
+var req = _this.currentRequest;if (req.formNode) {var toClean = req._contentToClean;for (var i = 0; i < toClean.length; i++) {var key = toClean[i];if (dojo.render.html.safari) {var fNode = req.formNode;for (var j = 0; j < fNode.childNodes.length; j++) {var chNode = fNode.childNodes[j];if (chNode.name == key) {var pNode = chNode.parentNode;pNode.removeChild(chNode);break;}}
+} else {var input = req.formNode[key];req.formNode.removeChild(input);req.formNode[key] = null;}}
+if (req["_originalAction"]) {req.formNode.setAttribute("action", req._originalAction);}
+if (req["_originalTarget"]) {req.formNode.setAttribute("target", req._originalTarget);req.formNode.target = req._originalTarget;}}
+var contentDoc = function (iframe_el) {var doc = iframe_el.contentDocument || ((iframe_el.contentWindow) && (iframe_el.contentWindow.document)) || ((iframe_el.name) && (document.frames[iframe_el.name]) && (document.frames[iframe_el.name].document)) || null;return doc;};var value;var success = false;if (errorObject) {this._callError(req, "IframeTransport Request Error: " + errorObject);} else {var ifd = contentDoc(_this.iframe);try {var cmt = req.mimetype;if ((cmt == "text/javascript") || (cmt == "text/json") || (cmt == "application/json")) {var js = ifd.getElementsByTagName("textarea")[0].value;if (cmt == "text/json" || cmt == "application/json") {js = "(" + js + ")";}
+value = dj_eval(js);} else {if (cmt == "text/html") {value = ifd;} else {value = ifd.getElementsByTagName("textarea")[0].value;}}
+success = true;}
+catch (e) {this._callError(req, "IframeTransport Error: " + e);}}
+try {if (success && dojo.lang.isFunction(req["load"])) {req.load("load", value, req);}}
+catch (e) {throw e;}
+finally {_this.currentRequest = null;_this.fireNextRequest();}};this._callError = function (req, message) {var errObj = new dojo.io.Error(message);if (dojo.lang.isFunction(req["error"])) {req.error("error", errObj, req);}};dojo.io.transports.addTransport("IframeTransport");};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/IframeIO.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js Tue May  8 19:56:15 2007
@@ -0,0 +1,32 @@
+
+dojo.require("dojo.event.*");dojo.require("dojo.io.BrowserIO");dojo.provide("dojo.io.RepubsubIO");dojo.io.repubsubTranport = new function () {var rps = dojo.io.repubsub;this.canHandle = function (kwArgs) {if ((kwArgs["mimetype"] == "text/javascript") && (kwArgs["method"] == "repubsub")) {return true;}
+return false;};this.bind = function (kwArgs) {if (!rps.isInitialized) {rps.init();}
+if (!rps.topics[kwArgs.url]) {kwArgs.rpsLoad = function (evt) {kwArgs.load("load", evt);};rps.subscribe(kwArgs.url, kwArgs, "rpsLoad");}
+if (kwArgs["content"]) {var cEvt = dojo.io.repubsubEvent.initFromProperties(kwArgs.content);rps.publish(kwArgs.url, cEvt);}};dojo.io.transports.addTransport("repubsubTranport");};dojo.io.repubsub = new function () {this.initDoc = "init.html";this.isInitialized = false;this.subscriptionBacklog = [];this.debug = true;this.rcvNodeName = null;this.sndNodeName = null;this.rcvNode = null;this.sndNode = null;this.canRcv = false;this.canSnd = false;this.canLog = false;this.sndTimer = null;this.windowRef = window;this.backlog = [];this.tunnelInitCount = 0;this.tunnelFrameKey = "tunnel_frame";this.serverBaseURL = location.protocol + "//" + location.host + location.pathname;this.logBacklog = [];this.getRandStr = function () {return Math.random().toString().substring(2, 10);};this.userid = "guest";this.tunnelID = this.getRandStr();this.attachPathList = [];this.topics = [];this.parseGetStr = function () {var baseUrl = document.location.toString();var params = baseUrl.split("?", 2);if (pa
 rams.length > 1) {var paramStr = params[1];var pairs = paramStr.split("&");var opts = [];for (var x in pairs) {var sp = pairs[x].split("=");try {opts[sp[0]] = eval(sp[1]);}
+catch (e) {opts[sp[0]] = sp[1];}}
+return opts;} else {return [];}};var getOpts = this.parseGetStr();for (var x in getOpts) {this[x] = getOpts[x];}
+if (!this["tunnelURI"]) {this.tunnelURI = ["/who/", escape(this.userid), "/s/", this.getRandStr(), "/kn_journal"].join("");}
+if (window["repubsubOpts"] || window["rpsOpts"]) {var optObj = window["repubsubOpts"] || window["rpsOpts"];for (var x in optObj) {this[x] = optObj[x];}}
+this.tunnelCloseCallback = function () {dojo.io.setIFrameSrc(this.rcvNode, this.initDoc + "?callback=repubsub.rcvNodeReady&domain=" + document.domain);};this.receiveEventFromTunnel = function (evt, srcWindow) {if (!evt["elements"]) {this.log("bailing! event received without elements!", "error");return;}
+var e = {};for (var i = 0; i < evt.elements.length; i++) {var ee = evt.elements[i];e[ee.name || ee.nameU] = (ee.value || ee.valueU);this.log("[event]: " + (ee.name || ee.nameU) + ": " + e[ee.name || ee.nameU]);}
+this.dispatch(e);};this.widenDomain = function (domainStr) {var cd = domainStr || document.domain;if (cd.indexOf(".") == -1) {return;}
+var dps = cd.split(".");if (dps.length <= 2) {return;}
+dps = dps.slice(dps.length - 2);document.domain = dps.join(".");};this.parseCookie = function () {var cs = document.cookie;var keypairs = cs.split(";");for (var x = 0; x < keypairs.length; x++) {keypairs[x] = keypairs[x].split("=");if (x != keypairs.length - 1) {cs += ";";}}
+return keypairs;};this.setCookie = function (keypairs, clobber) {if ((clobber) && (clobber == true)) {document.cookie = "";}
+var cs = "";for (var x = 0; x < keypairs.length; x++) {cs += keypairs[x][0] + "=" + keypairs[x][1];if (x != keypairs.length - 1) {cs += ";";}}
+document.cookie = cs;};this.log = function (str, lvl) {if (!this.debug) {return;}
+while (this.logBacklog.length > 0) {if (!this.canLog) {break;}
+var blo = this.logBacklog.shift();this.writeLog("[" + blo[0] + "]: " + blo[1], blo[2]);}
+this.writeLog(str, lvl);};this.writeLog = function (str, lvl) {dojo.debug(((new Date()).toLocaleTimeString()) + ": " + str);};this.init = function () {this.widenDomain();this.openTunnel();this.isInitialized = true;while (this.subscriptionBacklog.length) {this.subscribe.apply(this, this.subscriptionBacklog.shift());}};this.clobber = function () {if (this.rcvNode) {this.setCookie([[this.tunnelFrameKey, "closed"], ["path", "/"]], false);}};this.openTunnel = function () {this.rcvNodeName = "rcvIFrame_" + this.getRandStr();this.setCookie([[this.tunnelFrameKey, this.rcvNodeName], ["path", "/"]], false);this.rcvNode = dojo.io.createIFrame(this.rcvNodeName);dojo.io.setIFrameSrc(this.rcvNode, this.initDoc + "?callback=repubsub.rcvNodeReady&domain=" + document.domain);this.sndNodeName = "sndIFrame_" + this.getRandStr();this.sndNode = dojo.io.createIFrame(this.sndNodeName);dojo.io.setIFrameSrc(this.sndNode, this.initDoc + "?callback=repubsub.sndNodeReady&domain=" + document.domain);};t
 his.rcvNodeReady = function () {var statusURI = [this.tunnelURI, "/kn_status/", this.getRandStr(), "_", String(this.tunnelInitCount++)].join("");this.log("rcvNodeReady");var initURIArr = [this.serverBaseURL, "/kn?kn_from=", escape(this.tunnelURI), "&kn_id=", escape(this.tunnelID), "&kn_status_from=", escape(statusURI)];dojo.io.setIFrameSrc(this.rcvNode, initURIArr.join(""));this.subscribe(statusURI, this, "statusListener", true);this.log(initURIArr.join(""));};this.sndNodeReady = function () {this.canSnd = true;this.log("sndNodeReady");this.log(this.backlog.length);if (this.backlog.length > 0) {this.dequeueEvent();}};this.statusListener = function (evt) {this.log("status listener called");this.log(evt.status, "info");};this.dispatch = function (evt) {if (evt["to"] || evt["kn_routed_from"]) {var rf = evt["to"] || evt["kn_routed_from"];var topic = rf.split(this.serverBaseURL, 2)[1];if (!topic) {topic = rf;}
+this.log("[topic] " + topic);if (topic.length > 3) {if (topic.slice(0, 3) == "/kn") {topic = topic.slice(3);}}
+if (this.attachPathList[topic]) {this.attachPathList[topic](evt);}}
+};this.subscribe = function (topic, toObj, toFunc, dontTellServer) {if (!this.isInitialized) {this.subscriptionBacklog.push([topic, toObj, toFunc, dontTellServer]);return;}
+if (!this.attachPathList[topic]) {this.attachPathList[topic] = function () {return true;};this.log("subscribing to: " + topic);this.topics.push(topic);}
+var revt = new dojo.io.repubsubEvent(this.tunnelURI, topic, "route");var rstr = [this.serverBaseURL + "/kn", revt.toGetString()].join("");dojo.event.kwConnect({once:true, srcObj:this.attachPathList, srcFunc:topic, adviceObj:toObj, adviceFunc:toFunc});if (!this.rcvNode) {}
+if (dontTellServer) {return;}
+this.log("sending subscription to: " + topic);this.sendTopicSubToServer(topic, rstr);};this.sendTopicSubToServer = function (topic, str) {if (!this.attachPathList[topic]["subscriptions"]) {this.enqueueEventStr(str);this.attachPathList[topic].subscriptions = 0;}
+this.attachPathList[topic].subscriptions++;};this.unSubscribe = function (topic, toObj, toFunc) {dojo.event.kwDisconnect({srcObj:this.attachPathList, srcFunc:topic, adviceObj:toObj, adviceFunc:toFunc});};this.publish = function (topic, event) {var evt = dojo.io.repubsubEvent.initFromProperties(event);evt.to = topic;var evtURLParts = [];evtURLParts.push(this.serverBaseURL + "/kn");evtURLParts.push(evt.toGetString());this.enqueueEventStr(evtURLParts.join(""));};this.enqueueEventStr = function (evtStr) {this.log("enqueueEventStr");this.backlog.push(evtStr);this.dequeueEvent();};this.dequeueEvent = function (force) {this.log("dequeueEvent");if (this.backlog.length <= 0) {return;}
+if ((this.canSnd) || (force)) {dojo.io.setIFrameSrc(this.sndNode, this.backlog.shift() + "&callback=repubsub.sndNodeReady");this.canSnd = false;} else {this.log("sndNode not available yet!", "debug");}};};dojo.io.repubsubEvent = function (to, from, method, id, routeURI, payload, dispname, uid) {this.to = to;this.from = from;this.method = method || "route";this.id = id || repubsub.getRandStr();this.uri = routeURI;this.displayname = dispname || repubsub.displayname;this.userid = uid || repubsub.userid;this.payload = payload || "";this.flushChars = 4096;this.initFromProperties = function (evt) {if (evt.constructor = dojo.io.repubsubEvent) {for (var x in evt) {this[x] = evt[x];}} else {for (var x in evt) {if (typeof this.forwardPropertiesMap[x] == "string") {this[this.forwardPropertiesMap[x]] = evt[x];} else {this[x] = evt[x];}}
+}};this.toGetString = function (noQmark) {var qs = [((noQmark) ? "" : "?")];for (var x = 0; x < this.properties.length; x++) {var tp = this.properties[x];if (this[tp[0]]) {qs.push(tp[1] + "=" + encodeURIComponent(String(this[tp[0]])));}}
+return qs.join("&");};};dojo.io.repubsubEvent.prototype.properties = [["from", "kn_from"], ["to", "kn_to"], ["method", "do_method"], ["id", "kn_id"], ["uri", "kn_uri"], ["displayname", "kn_displayname"], ["userid", "kn_userid"], ["payload", "kn_payload"], ["flushChars", "kn_response_flush"], ["responseFormat", "kn_response_format"]];dojo.io.repubsubEvent.prototype.forwardPropertiesMap = {};dojo.io.repubsubEvent.prototype.reversePropertiesMap = {};for (var x = 0; x < dojo.io.repubsubEvent.prototype.properties.length; x++) {var tp = dojo.io.repubsubEvent.prototype.properties[x];dojo.io.repubsubEvent.prototype.reversePropertiesMap[tp[0]] = tp[1];dojo.io.repubsubEvent.prototype.forwardPropertiesMap[tp[1]] = tp[0];}
+dojo.io.repubsubEvent.initFromProperties = function (evt) {var eventObj = new dojo.io.repubsubEvent();eventObj.initFromProperties(evt);return eventObj;};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RepubsubIO.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js Tue May  8 19:56:15 2007
@@ -0,0 +1,18 @@
+
+dojo.provide("dojo.io.RhinoIO");dojo.require("dojo.io.common");dojo.require("dojo.lang.func");dojo.require("dojo.lang.array");dojo.require("dojo.string.extras");dojo.io.RhinoHTTPTransport = new function () {this.canHandle = function (req) {if (dojo.lang.find(["text/plain", "text/html", "text/xml", "text/javascript", "text/json", "application/json"], (req.mimetype.toLowerCase() || "")) < 0) {return false;}
+if (req.url.substr(0, 7) != "http://") {return false;}
+return true;};function doLoad(req, conn) {var ret;if (req.method.toLowerCase() == "head") {} else {var stream = conn.getContent();var reader = new java.io.BufferedReader(new java.io.InputStreamReader(stream));var text = "";var line = null;while ((line = reader.readLine()) != null) {text += line;}
+if (req.mimetype == "text/javascript") {try {ret = dj_eval(text);}
+catch (e) {dojo.debug(e);dojo.debug(text);ret = null;}} else {if (req.mimetype == "text/json" || req.mimetype == "application/json") {try {ret = dj_eval("(" + text + ")");}
+catch (e) {dojo.debug(e);dojo.debug(text);ret = false;}} else {ret = text;}}
+}
+req.load("load", ret, req);}
+function connect(req) {var content = req.content || {};var query;if (req.sendTransport) {content["dojo.transport"] = "rhinohttp";}
+if (req.postContent) {query = req.postContent;} else {query = dojo.io.argsFromMap(content, req.encoding);}
+var url_text = req.url;if (req.method.toLowerCase() == "get" && query != "") {url_text = url_text + "?" + query;}
+var url = new java.net.URL(url_text);var conn = url.openConnection();conn.setRequestMethod(req.method.toUpperCase());if (req.headers) {for (var header in req.headers) {if (header.toLowerCase() == "content-type" && !req.contentType) {req.contentType = req.headers[header];} else {conn.setRequestProperty(header, req.headers[header]);}}
+}
+if (req.contentType) {conn.setRequestProperty("Content-Type", req.contentType);}
+if (req.method.toLowerCase() == "post") {conn.setDoOutput(true);var output_stream = conn.getOutputStream();var byte_array = (new java.lang.String(query)).getBytes();output_stream.write(byte_array, 0, byte_array.length);}
+conn.connect();doLoad(req, conn);}
+this.bind = function (req) {var async = req["sync"] ? false : true;if (async) {setTimeout(dojo.lang.hitch(this, function () {connect(req);}), 1);} else {connect(req);}};dojo.io.transports.addTransport("RhinoHTTPTransport");};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/RhinoIO.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js Tue May  8 19:56:15 2007
@@ -0,0 +1,46 @@
+
+dojo.provide("dojo.io.ScriptSrcIO");dojo.require("dojo.io.BrowserIO");dojo.require("dojo.undo.browser");dojo.io.ScriptSrcTransport = new function () {this.preventCache = false;this.maxUrlLength = 1000;this.inFlightTimer = null;this.DsrStatusCodes = {Continue:100, Ok:200, Error:500};this.startWatchingInFlight = function () {if (!this.inFlightTimer) {this.inFlightTimer = setInterval("dojo.io.ScriptSrcTransport.watchInFlight();", 100);}};this.watchInFlight = function () {var totalCount = 0;var doneCount = 0;for (var param in this._state) {totalCount++;var currentState = this._state[param];if (currentState.isDone) {doneCount++;delete this._state[param];} else {if (!currentState.isFinishing) {var listener = currentState.kwArgs;try {if (currentState.checkString && eval("typeof(" + currentState.checkString + ") != 'undefined'")) {currentState.isFinishing = true;this._finish(currentState, "load");doneCount++;delete this._state[param];} else {if (listener.timeoutSeconds && listener.t
 imeout) {if (currentState.startTime + (listener.timeoutSeconds * 1000) < (new Date()).getTime()) {currentState.isFinishing = true;this._finish(currentState, "timeout");doneCount++;delete this._state[param];}} else {if (!listener.timeoutSeconds) {doneCount++;}}
+}}
+catch (e) {currentState.isFinishing = true;this._finish(currentState, "error", {status:this.DsrStatusCodes.Error, response:e});}}
+}}
+if (doneCount >= totalCount) {clearInterval(this.inFlightTimer);this.inFlightTimer = null;}};this.canHandle = function (kwArgs) {return dojo.lang.inArray(["text/javascript", "text/json", "application/json"], (kwArgs["mimetype"].toLowerCase())) && (kwArgs["method"].toLowerCase() == "get") && !(kwArgs["formNode"] && dojo.io.formHasFile(kwArgs["formNode"])) && (!kwArgs["sync"] || kwArgs["sync"] == false) && !kwArgs["file"] && !kwArgs["multipart"];};this.removeScripts = function () {var scripts = document.getElementsByTagName("script");for (var i = 0; scripts && i < scripts.length; i++) {var scriptTag = scripts[i];if (scriptTag.className == "ScriptSrcTransport") {var parent = scriptTag.parentNode;parent.removeChild(scriptTag);i--;}}
+};this.bind = function (kwArgs) {var url = kwArgs.url;var query = "";if (kwArgs["formNode"]) {var ta = kwArgs.formNode.getAttribute("action");if ((ta) && (!kwArgs["url"])) {url = ta;}
+var tp = kwArgs.formNode.getAttribute("method");if ((tp) && (!kwArgs["method"])) {kwArgs.method = tp;}
+query += dojo.io.encodeForm(kwArgs.formNode, kwArgs.encoding, kwArgs["formFilter"]);}
+if (url.indexOf("#") > -1) {dojo.debug("Warning: dojo.io.bind: stripping hash values from url:", url);url = url.split("#")[0];}
+var urlParts = url.split("?");if (urlParts && urlParts.length == 2) {url = urlParts[0];query += (query ? "&" : "") + urlParts[1];}
+if (kwArgs["backButton"] || kwArgs["back"] || kwArgs["changeUrl"]) {dojo.undo.browser.addToHistory(kwArgs);}
+var id = kwArgs["apiId"] ? kwArgs["apiId"] : "id" + this._counter++;var content = kwArgs["content"];var jsonpName = kwArgs.jsonParamName;if (kwArgs.sendTransport || jsonpName) {if (!content) {content = {};}
+if (kwArgs.sendTransport) {content["dojo.transport"] = "scriptsrc";}
+if (jsonpName) {content[jsonpName] = "dojo.io.ScriptSrcTransport._state." + id + ".jsonpCall";}}
+if (kwArgs.postContent) {query = kwArgs.postContent;} else {if (content) {query += ((query) ? "&" : "") + dojo.io.argsFromMap(content, kwArgs.encoding, jsonpName);}}
+if (kwArgs["apiId"]) {kwArgs["useRequestId"] = true;}
+var state = {"id":id, "idParam":"_dsrid=" + id, "url":url, "query":query, "kwArgs":kwArgs, "startTime":(new Date()).getTime(), "isFinishing":false};if (!url) {this._finish(state, "error", {status:this.DsrStatusCodes.Error, statusText:"url.none"});return;}
+if (content && content[jsonpName]) {state.jsonp = content[jsonpName];state.jsonpCall = function (data) {if (data["Error"] || data["error"]) {if (dojo["json"] && dojo["json"]["serialize"]) {dojo.debug(dojo.json.serialize(data));}
+dojo.io.ScriptSrcTransport._finish(this, "error", data);} else {dojo.io.ScriptSrcTransport._finish(this, "load", data);}};}
+if (kwArgs["useRequestId"] || kwArgs["checkString"] || state["jsonp"]) {this._state[id] = state;}
+if (kwArgs["checkString"]) {state.checkString = kwArgs["checkString"];}
+state.constantParams = (kwArgs["constantParams"] == null ? "" : kwArgs["constantParams"]);if (kwArgs["preventCache"] || (this.preventCache == true && kwArgs["preventCache"] != false)) {state.nocacheParam = "dojo.preventCache=" + new Date().valueOf();} else {state.nocacheParam = "";}
+var urlLength = state.url.length + state.query.length + state.constantParams.length + state.nocacheParam.length + this._extraPaddingLength;if (kwArgs["useRequestId"]) {urlLength += state.idParam.length;}
+if (!kwArgs["checkString"] && kwArgs["useRequestId"] && !state["jsonp"] && !kwArgs["forceSingleRequest"] && urlLength > this.maxUrlLength) {if (url > this.maxUrlLength) {this._finish(state, "error", {status:this.DsrStatusCodes.Error, statusText:"url.tooBig"});return;} else {this._multiAttach(state, 1);}} else {var queryParams = [state.constantParams, state.nocacheParam, state.query];if (kwArgs["useRequestId"] && !state["jsonp"]) {queryParams.unshift(state.idParam);}
+var finalUrl = this._buildUrl(state.url, queryParams);state.finalUrl = finalUrl;this._attach(state.id, finalUrl);}
+this.startWatchingInFlight();};this._counter = 1;this._state = {};this._extraPaddingLength = 16;this._buildUrl = function (url, nameValueArray) {var finalUrl = url;var joiner = "?";for (var i = 0; i < nameValueArray.length; i++) {if (nameValueArray[i]) {finalUrl += joiner + nameValueArray[i];joiner = "&";}}
+return finalUrl;};this._attach = function (id, url) {var element = document.createElement("script");element.type = "text/javascript";element.src = url;element.id = id;element.className = "ScriptSrcTransport";document.getElementsByTagName("head")[0].appendChild(element);};this._multiAttach = function (state, part) {if (state.query == null) {this._finish(state, "error", {status:this.DsrStatusCodes.Error, statusText:"query.null"});return;}
+if (!state.constantParams) {state.constantParams = "";}
+var queryMax = this.maxUrlLength - state.idParam.length - state.constantParams.length - state.url.length - state.nocacheParam.length - this._extraPaddingLength;var isDone = state.query.length < queryMax;var currentQuery;if (isDone) {currentQuery = state.query;state.query = null;} else {var ampEnd = state.query.lastIndexOf("&", queryMax - 1);var eqEnd = state.query.lastIndexOf("=", queryMax - 1);if (ampEnd > eqEnd || eqEnd == queryMax - 1) {currentQuery = state.query.substring(0, ampEnd);state.query = state.query.substring(ampEnd + 1, state.query.length);} else {currentQuery = state.query.substring(0, queryMax);var queryName = currentQuery.substring((ampEnd == -1 ? 0 : ampEnd + 1), eqEnd);state.query = queryName + "=" + state.query.substring(queryMax, state.query.length);}}
+var queryParams = [currentQuery, state.idParam, state.constantParams, state.nocacheParam];if (!isDone) {queryParams.push("_part=" + part);}
+var url = this._buildUrl(state.url, queryParams);this._attach(state.id + "_" + part, url);};this._finish = function (state, callback, event) {if (callback != "partOk" && !state.kwArgs[callback] && !state.kwArgs["handle"]) {if (callback == "error") {state.isDone = true;throw event;}} else {switch (callback) {case "load":
+var response = event ? event.response : null;if (!response) {response = event;}
+state.kwArgs[(typeof state.kwArgs.load == "function") ? "load" : "handle"]("load", response, event, state.kwArgs);state.isDone = true;break;case "partOk":
+var part = parseInt(event.response.part, 10) + 1;if (event.response.constantParams) {state.constantParams = event.response.constantParams;}
+this._multiAttach(state, part);state.isDone = false;break;case "error":
+state.kwArgs[(typeof state.kwArgs.error == "function") ? "error" : "handle"]("error", event.response, event, state.kwArgs);state.isDone = true;break;default:
+state.kwArgs[(typeof state.kwArgs[callback] == "function") ? callback : "handle"](callback, event, event, state.kwArgs);state.isDone = true;}}
+};dojo.io.transports.addTransport("ScriptSrcTransport");};window.onscriptload = function (event) {var state = null;var transport = dojo.io.ScriptSrcTransport;if (transport._state[event.id]) {state = transport._state[event.id];} else {var tempState;for (var param in transport._state) {tempState = transport._state[param];if (tempState.finalUrl && tempState.finalUrl == event.id) {state = tempState;break;}}
+if (state == null) {var scripts = document.getElementsByTagName("script");for (var i = 0; scripts && i < scripts.length; i++) {var scriptTag = scripts[i];if (scriptTag.getAttribute("class") == "ScriptSrcTransport" && scriptTag.src == event.id) {state = transport._state[scriptTag.id];break;}}
+}
+if (state == null) {throw "No matching state for onscriptload event.id: " + event.id;}}
+var callbackName = "error";switch (event.status) {case dojo.io.ScriptSrcTransport.DsrStatusCodes.Continue:
+callbackName = "partOk";break;case dojo.io.ScriptSrcTransport.DsrStatusCodes.Ok:
+callbackName = "load";break;}
+transport._finish(state, callbackName, event);};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/ScriptSrcIO.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js Tue May  8 19:56:15 2007
@@ -0,0 +1,14 @@
+
+dojo.provide("dojo.io.XhrIframeProxy");dojo.require("dojo.experimental");dojo.experimental("dojo.io.XhrIframeProxy");dojo.require("dojo.io.IframeIO");dojo.require("dojo.dom");dojo.require("dojo.uri.Uri");dojo.io.XhrIframeProxy = {xipClientUrl:djConfig["xipClientUrl"] || dojo.uri.moduleUri("dojo.io", "xip_client.html"), _state:{}, _stateIdCounter:0, needFrameRecursion:function () {return (true == dojo.render.html.ie70);}, send:function (facade) {var stateId = "XhrIframeProxy" + (this._stateIdCounter++);facade._stateId = stateId;var frameUrl = this.xipClientUrl + "#0:init:id=" + stateId + "&server=" + encodeURIComponent(facade._ifpServerUrl) + "&fr=false";if (this.needFrameRecursion()) {var fullClientUrl = window.location.href;if ((this.xipClientUrl + "").charAt(0) == "/") {var endIndex = fullClientUrl.indexOf("://");endIndex = fullClientUrl.indexOf("/", endIndex + 1);fullClientUrl = fullClientUrl.substring(0, endIndex);} else {fullClientUrl = fullClientUrl.substring(0, fullCl
 ientUrl.lastIndexOf("/") + 1);}
+fullClientUrl += this.xipClientUrl;var serverUrl = facade._ifpServerUrl + (facade._ifpServerUrl.indexOf("?") == -1 ? "?" : "&") + "dojo.fr=1";frameUrl = serverUrl + "#0:init:id=" + stateId + "&client=" + encodeURIComponent(fullClientUrl) + "&fr=" + this.needFrameRecursion();}
+this._state[stateId] = {facade:facade, stateId:stateId, clientFrame:dojo.io.createIFrame(stateId, "", frameUrl)};return stateId;}, receive:function (stateId, urlEncodedData) {var response = {};var nvPairs = urlEncodedData.split("&");for (var i = 0; i < nvPairs.length; i++) {if (nvPairs[i]) {var nameValue = nvPairs[i].split("=");response[decodeURIComponent(nameValue[0])] = decodeURIComponent(nameValue[1]);}}
+var state = this._state[stateId];var facade = state.facade;facade._setResponseHeaders(response.responseHeaders);if (response.status == 0 || response.status) {facade.status = parseInt(response.status, 10);}
+if (response.statusText) {facade.statusText = response.statusText;}
+if (response.responseText) {facade.responseText = response.responseText;var contentType = facade.getResponseHeader("Content-Type");if (contentType && (contentType == "application/xml" || contentType == "text/xml")) {facade.responseXML = dojo.dom.createDocumentFromText(response.responseText, contentType);}}
+facade.readyState = 4;this.destroyState(stateId);}, clientFrameLoaded:function (stateId) {var state = this._state[stateId];var facade = state.facade;if (this.needFrameRecursion()) {var clientWindow = window.open("", state.stateId + "_clientEndPoint");} else {var clientWindow = state.clientFrame.contentWindow;}
+var reqHeaders = [];for (var param in facade._requestHeaders) {reqHeaders.push(param + ": " + facade._requestHeaders[param]);}
+var requestData = {uri:facade._uri};if (reqHeaders.length > 0) {requestData.requestHeaders = reqHeaders.join("\r\n");}
+if (facade._method) {requestData.method = facade._method;}
+if (facade._bodyData) {requestData.data = facade._bodyData;}
+clientWindow.send(dojo.io.argsFromMap(requestData, "utf8"));}, destroyState:function (stateId) {var state = this._state[stateId];if (state) {delete this._state[stateId];var parentNode = state.clientFrame.parentNode;parentNode.removeChild(state.clientFrame);state.clientFrame = null;state = null;}}, createFacade:function () {if (arguments && arguments[0] && arguments[0]["iframeProxyUrl"]) {return new dojo.io.XhrIframeFacade(arguments[0]["iframeProxyUrl"]);} else {return dojo.io.XhrIframeProxy.oldGetXmlhttpObject.apply(dojo.hostenv, arguments);}}};dojo.io.XhrIframeProxy.oldGetXmlhttpObject = dojo.hostenv.getXmlhttpObject;dojo.hostenv.getXmlhttpObject = dojo.io.XhrIframeProxy.createFacade;dojo.io.XhrIframeFacade = function (ifpServerUrl) {this._requestHeaders = {};this._allResponseHeaders = null;this._responseHeaders = {};this._method = null;this._uri = null;this._bodyData = null;this.responseText = null;this.responseXML = null;this.status = null;this.statusText = null;this.read
 yState = 0;this._ifpServerUrl = ifpServerUrl;this._stateId = null;};dojo.lang.extend(dojo.io.XhrIframeFacade, {open:function (method, uri) {this._method = method;this._uri = uri;this.readyState = 1;}, setRequestHeader:function (header, value) {this._requestHeaders[header] = value;}, send:function (stringData) {this._bodyData = stringData;this._stateId = dojo.io.XhrIframeProxy.send(this);this.readyState = 2;}, abort:function () {dojo.io.XhrIframeProxy.destroyState(this._stateId);}, getAllResponseHeaders:function () {return this._allResponseHeaders;}, getResponseHeader:function (header) {return this._responseHeaders[header];}, _setResponseHeaders:function (allHeaders) {if (allHeaders) {this._allResponseHeaders = allHeaders;allHeaders = allHeaders.replace(/\r/g, "");var nvPairs = allHeaders.split("\n");for (var i = 0; i < nvPairs.length; i++) {if (nvPairs[i]) {var nameValue = nvPairs[i].split(": ");this._responseHeaders[nameValue[0]] = nameValue[1];}}
+}}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/XhrIframeProxy.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js Tue May  8 19:56:15 2007
@@ -0,0 +1,2 @@
+
+dojo.kwCompoundRequire({common:["dojo.io.common"], rhino:["dojo.io.RhinoIO"], browser:["dojo.io.BrowserIO", "dojo.io.cookie"], dashboard:["dojo.io.BrowserIO", "dojo.io.cookie"]});dojo.provide("dojo.io.*");
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js Tue May  8 19:56:15 2007
@@ -0,0 +1,45 @@
+
+dojo.require("dojo.io.common");dojo.provide("dojo.io.cometd");dojo.require("dojo.AdapterRegistry");dojo.require("dojo.json");dojo.require("dojo.io.BrowserIO");dojo.require("dojo.io.IframeIO");dojo.require("dojo.io.ScriptSrcIO");dojo.require("dojo.io.cookie");dojo.require("dojo.event.*");dojo.require("dojo.lang.common");dojo.require("dojo.lang.func");cometd = new function () {this.initialized = false;this.connected = false;this.connectionTypes = new dojo.AdapterRegistry(true);this.version = 0.1;this.minimumVersion = 0.1;this.clientId = null;this._isXD = false;this.handshakeReturn = null;this.currentTransport = null;this.url = null;this.lastMessage = null;this.globalTopicChannels = {};this.backlog = [];this.tunnelInit = function (childLocation, childDomain) {};this.tunnelCollapse = function () {dojo.debug("tunnel collapsed!");};this.init = function (props, root, bargs) {props = props || {};props.version = this.version;props.minimumVersion = this.minimumVersion;props.channel = 
 "/meta/handshake";this.url = root || djConfig["cometdRoot"];if (!this.url) {dojo.debug("no cometd root specified in djConfig and no root passed");return;}
+var bindArgs = {url:this.url, method:"POST", mimetype:"text/json", load:dojo.lang.hitch(this, "finishInit"), content:{"message":dojo.json.serialize([props])}};var regexp = "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";var r = ("" + window.location).match(new RegExp(regexp));if (r[4]) {var tmp = r[4].split(":");var thisHost = tmp[0];var thisPort = tmp[1] || "80";r = this.url.match(new RegExp(regexp));if (r[4]) {tmp = r[4].split(":");var urlHost = tmp[0];var urlPort = tmp[1] || "80";if ((urlHost != thisHost) || (urlPort != thisPort)) {dojo.debug(thisHost, urlHost);dojo.debug(thisPort, urlPort);this._isXD = true;bindArgs.transport = "ScriptSrcTransport";bindArgs.jsonParamName = "jsonp";bindArgs.method = "GET";}}
+}
+if (bargs) {dojo.lang.mixin(bindArgs, bargs);}
+return dojo.io.bind(bindArgs);};this.finishInit = function (type, data, evt, request) {data = data[0];this.handshakeReturn = data;if (data["authSuccessful"] == false) {dojo.debug("cometd authentication failed");return;}
+if (data.version < this.minimumVersion) {dojo.debug("cometd protocol version mismatch. We wanted", this.minimumVersion, "but got", data.version);return;}
+this.currentTransport = this.connectionTypes.match(data.supportedConnectionTypes, data.version, this._isXD);this.currentTransport.version = data.version;this.clientId = data.clientId;this.tunnelInit = dojo.lang.hitch(this.currentTransport, "tunnelInit");this.tunnelCollapse = dojo.lang.hitch(this.currentTransport, "tunnelCollapse");this.initialized = true;this.currentTransport.startup(data);while (this.backlog.length != 0) {var cur = this.backlog.shift();var fn = cur.shift();this[fn].apply(this, cur);}};this._getRandStr = function () {return Math.random().toString().substring(2, 10);};this.deliver = function (messages) {dojo.lang.forEach(messages, this._deliver, this);};this._deliver = function (message) {if (!message["channel"]) {dojo.debug("cometd error: no channel for message!");return;}
+if (!this.currentTransport) {this.backlog.push(["deliver", message]);return;}
+this.lastMessage = message;if ((message.channel.length > 5) && (message.channel.substr(0, 5) == "/meta")) {switch (message.channel) {case "/meta/subscribe":
+if (!message.successful) {dojo.debug("cometd subscription error for channel", message.channel, ":", message.error);return;}
+this.subscribed(message.subscription, message);break;case "/meta/unsubscribe":
+if (!message.successful) {dojo.debug("cometd unsubscription error for channel", message.channel, ":", message.error);return;}
+this.unsubscribed(message.subscription, message);break;}}
+this.currentTransport.deliver(message);if (message.data) {var tname = (this.globalTopicChannels[message.channel]) ? message.channel : "/cometd" + message.channel;dojo.event.topic.publish(tname, message);}};this.disconnect = function () {if (!this.currentTransport) {dojo.debug("no current transport to disconnect from");return;}
+this.currentTransport.disconnect();};this.publish = function (channel, data, properties) {if (!this.currentTransport) {this.backlog.push(["publish", channel, data, properties]);return;}
+var message = {data:data, channel:channel};if (properties) {dojo.lang.mixin(message, properties);}
+return this.currentTransport.sendMessage(message);};this.subscribe = function (channel, useLocalTopics, objOrFunc, funcName) {if (!this.currentTransport) {this.backlog.push(["subscribe", channel, useLocalTopics, objOrFunc, funcName]);return;}
+if (objOrFunc) {var tname = (useLocalTopics) ? channel : "/cometd" + channel;if (useLocalTopics) {this.globalTopicChannels[channel] = true;}
+dojo.event.topic.subscribe(tname, objOrFunc, funcName);}
+return this.currentTransport.sendMessage({channel:"/meta/subscribe", subscription:channel});};this.subscribed = function (channel, message) {dojo.debug(channel);dojo.debugShallow(message);};this.unsubscribe = function (channel, useLocalTopics, objOrFunc, funcName) {if (!this.currentTransport) {this.backlog.push(["unsubscribe", channel, useLocalTopics, objOrFunc, funcName]);return;}
+if (objOrFunc) {var tname = (useLocalTopics) ? channel : "/cometd" + channel;dojo.event.topic.unsubscribe(tname, objOrFunc, funcName);}
+return this.currentTransport.sendMessage({channel:"/meta/unsubscribe", subscription:channel});};this.unsubscribed = function (channel, message) {dojo.debug(channel);dojo.debugShallow(message);};};cometd.iframeTransport = new function () {this.connected = false;this.connectionId = null;this.rcvNode = null;this.rcvNodeName = "";this.phonyForm = null;this.authToken = null;this.lastTimestamp = null;this.lastId = null;this.backlog = [];this.check = function (types, version, xdomain) {return ((!xdomain) && (!dojo.render.html.safari) && (dojo.lang.inArray(types, "iframe")));};this.tunnelInit = function () {this.postToIframe({message:dojo.json.serialize([{channel:"/meta/connect", clientId:cometd.clientId, connectionType:"iframe"}])});};this.tunnelCollapse = function () {if (this.connected) {this.connected = false;this.postToIframe({message:dojo.json.serialize([{channel:"/meta/reconnect", clientId:cometd.clientId, connectionId:this.connectionId, timestamp:this.lastTimestamp, id:this.
 lastId}])});}};this.deliver = function (message) {if (message["timestamp"]) {this.lastTimestamp = message.timestamp;}
+if (message["id"]) {this.lastId = message.id;}
+if ((message.channel.length > 5) && (message.channel.substr(0, 5) == "/meta")) {switch (message.channel) {case "/meta/connect":
+if (!message.successful) {dojo.debug("cometd connection error:", message.error);return;}
+this.connectionId = message.connectionId;this.connected = true;this.processBacklog();break;case "/meta/reconnect":
+if (!message.successful) {dojo.debug("cometd reconnection error:", message.error);return;}
+this.connected = true;break;case "/meta/subscribe":
+if (!message.successful) {dojo.debug("cometd subscription error for channel", message.channel, ":", message.error);return;}
+dojo.debug(message.channel);break;}}
+};this.widenDomain = function (domainStr) {var cd = domainStr || document.domain;if (cd.indexOf(".") == -1) {return;}
+var dps = cd.split(".");if (dps.length <= 2) {return;}
+dps = dps.slice(dps.length - 2);document.domain = dps.join(".");return document.domain;};this.postToIframe = function (content, url) {if (!this.phonyForm) {if (dojo.render.html.ie) {this.phonyForm = document.createElement("<form enctype='application/x-www-form-urlencoded' method='POST' style='display: none;'>");dojo.body().appendChild(this.phonyForm);} else {this.phonyForm = document.createElement("form");this.phonyForm.style.display = "none";dojo.body().appendChild(this.phonyForm);this.phonyForm.enctype = "application/x-www-form-urlencoded";this.phonyForm.method = "POST";}}
+this.phonyForm.action = url || cometd.url;this.phonyForm.target = this.rcvNodeName;this.phonyForm.setAttribute("target", this.rcvNodeName);while (this.phonyForm.firstChild) {this.phonyForm.removeChild(this.phonyForm.firstChild);}
+for (var x in content) {var tn;if (dojo.render.html.ie) {tn = document.createElement("<input type='hidden' name='" + x + "' value='" + content[x] + "'>");this.phonyForm.appendChild(tn);} else {tn = document.createElement("input");this.phonyForm.appendChild(tn);tn.type = "hidden";tn.name = x;tn.value = content[x];}}
+this.phonyForm.submit();};this.processBacklog = function () {while (this.backlog.length > 0) {this.sendMessage(this.backlog.shift(), true);}};this.sendMessage = function (message, bypassBacklog) {if ((bypassBacklog) || (this.connected)) {message.connectionId = this.connectionId;message.clientId = cometd.clientId;var bindArgs = {url:cometd.url || djConfig["cometdRoot"], method:"POST", mimetype:"text/json", content:{message:dojo.json.serialize([message])}};return dojo.io.bind(bindArgs);} else {this.backlog.push(message);}};this.startup = function (handshakeData) {dojo.debug("startup!");dojo.debug(dojo.json.serialize(handshakeData));if (this.connected) {return;}
+this.rcvNodeName = "cometdRcv_" + cometd._getRandStr();var initUrl = cometd.url + "/?tunnelInit=iframe";if (false && dojo.render.html.ie) {this.rcvNode = new ActiveXObject("htmlfile");this.rcvNode.open();this.rcvNode.write("<html>");this.rcvNode.write("<script>document.domain = '" + document.domain + "'");this.rcvNode.write("</html>");this.rcvNode.close();var ifrDiv = this.rcvNode.createElement("div");this.rcvNode.appendChild(ifrDiv);this.rcvNode.parentWindow.dojo = dojo;ifrDiv.innerHTML = "<iframe src='" + initUrl + "'></iframe>";} else {this.rcvNode = dojo.io.createIFrame(this.rcvNodeName, "", initUrl);}};};cometd.mimeReplaceTransport = new function () {this.connected = false;this.connectionId = null;this.xhr = null;this.authToken = null;this.lastTimestamp = null;this.lastId = null;this.backlog = [];this.check = function (types, version, xdomain) {return ((!xdomain) && (dojo.render.html.mozilla) && (dojo.lang.inArray(types, "mime-message-block")));};this.tunnelInit = funct
 ion () {if (this.connected) {return;}
+this.openTunnelWith({message:dojo.json.serialize([{channel:"/meta/connect", clientId:cometd.clientId, connectionType:"mime-message-block"}])});this.connected = true;};this.tunnelCollapse = function () {if (this.connected) {this.connected = false;this.openTunnelWith({message:dojo.json.serialize([{channel:"/meta/reconnect", clientId:cometd.clientId, connectionId:this.connectionId, timestamp:this.lastTimestamp, id:this.lastId}])});}};this.deliver = cometd.iframeTransport.deliver;this.handleOnLoad = function (resp) {cometd.deliver(dojo.json.evalJson(this.xhr.responseText));};this.openTunnelWith = function (content, url) {this.xhr = dojo.hostenv.getXmlhttpObject();this.xhr.multipart = true;if (dojo.render.html.mozilla) {this.xhr.addEventListener("load", dojo.lang.hitch(this, "handleOnLoad"), false);} else {if (dojo.render.html.safari) {dojo.debug("Webkit is broken with multipart responses over XHR = (");this.xhr.onreadystatechange = dojo.lang.hitch(this, "handleOnLoad");} else {t
 his.xhr.onload = dojo.lang.hitch(this, "handleOnLoad");}}
+this.xhr.open("POST", (url || cometd.url), true);this.xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");dojo.debug(dojo.json.serialize(content));this.xhr.send(dojo.io.argsFromMap(content, "utf8"));};this.processBacklog = function () {while (this.backlog.length > 0) {this.sendMessage(this.backlog.shift(), true);}};this.sendMessage = function (message, bypassBacklog) {if ((bypassBacklog) || (this.connected)) {message.connectionId = this.connectionId;message.clientId = cometd.clientId;var bindArgs = {url:cometd.url || djConfig["cometdRoot"], method:"POST", mimetype:"text/json", content:{message:dojo.json.serialize([message])}};return dojo.io.bind(bindArgs);} else {this.backlog.push(message);}};this.startup = function (handshakeData) {dojo.debugShallow(handshakeData);if (this.connected) {return;}
+this.tunnelInit();};};cometd.longPollTransport = new function () {this.connected = false;this.connectionId = null;this.authToken = null;this.lastTimestamp = null;this.lastId = null;this.backlog = [];this.check = function (types, version, xdomain) {return ((!xdomain) && (dojo.lang.inArray(types, "long-polling")));};this.tunnelInit = function () {if (this.connected) {return;}
+this.openTunnelWith({message:dojo.json.serialize([{channel:"/meta/connect", clientId:cometd.clientId, connectionType:"long-polling"}])});this.connected = true;};this.tunnelCollapse = function () {if (!this.connected) {this.connected = false;dojo.debug("clientId:", cometd.clientId);this.openTunnelWith({message:dojo.json.serialize([{channel:"/meta/reconnect", connectionType:"long-polling", clientId:cometd.clientId, connectionId:this.connectionId, timestamp:this.lastTimestamp, id:this.lastId}])});}};this.deliver = cometd.iframeTransport.deliver;this.openTunnelWith = function (content, url) {dojo.io.bind({url:(url || cometd.url), method:"post", content:content, mimetype:"text/json", load:dojo.lang.hitch(this, function (type, data, evt, args) {cometd.deliver(data);this.connected = false;this.tunnelCollapse();}), error:function () {dojo.debug("tunnel opening failed");}});this.connected = true;};this.processBacklog = function () {while (this.backlog.length > 0) {this.sendMessage(th
 is.backlog.shift(), true);}};this.sendMessage = function (message, bypassBacklog) {if ((bypassBacklog) || (this.connected)) {message.connectionId = this.connectionId;message.clientId = cometd.clientId;var bindArgs = {url:cometd.url || djConfig["cometdRoot"], method:"post", mimetype:"text/json", content:{message:dojo.json.serialize([message])}, load:dojo.lang.hitch(this, function (type, data, evt, args) {cometd.deliver(data);})};return dojo.io.bind(bindArgs);} else {this.backlog.push(message);}};this.startup = function (handshakeData) {if (this.connected) {return;}
+this.tunnelInit();};};cometd.callbackPollTransport = new function () {this.connected = false;this.connectionId = null;this.authToken = null;this.lastTimestamp = null;this.lastId = null;this.backlog = [];this.check = function (types, version, xdomain) {return dojo.lang.inArray(types, "callback-polling");};this.tunnelInit = function () {if (this.connected) {return;}
+this.openTunnelWith({message:dojo.json.serialize([{channel:"/meta/connect", clientId:cometd.clientId, connectionType:"callback-polling"}])});this.connected = true;};this.tunnelCollapse = function () {if (!this.connected) {this.connected = false;this.openTunnelWith({message:dojo.json.serialize([{channel:"/meta/reconnect", connectionType:"long-polling", clientId:cometd.clientId, connectionId:this.connectionId, timestamp:this.lastTimestamp, id:this.lastId}])});}};this.deliver = cometd.iframeTransport.deliver;this.openTunnelWith = function (content, url) {var req = dojo.io.bind({url:(url || cometd.url), content:content, mimetype:"text/json", transport:"ScriptSrcTransport", jsonParamName:"jsonp", load:dojo.lang.hitch(this, function (type, data, evt, args) {cometd.deliver(data);this.connected = false;this.tunnelCollapse();}), error:function () {dojo.debug("tunnel opening failed");}});this.connected = true;};this.processBacklog = function () {while (this.backlog.length > 0) {this.s
 endMessage(this.backlog.shift(), true);}};this.sendMessage = function (message, bypassBacklog) {if ((bypassBacklog) || (this.connected)) {message.connectionId = this.connectionId;message.clientId = cometd.clientId;var bindArgs = {url:cometd.url || djConfig["cometdRoot"], mimetype:"text/json", transport:"ScriptSrcTransport", jsonParamName:"jsonp", content:{message:dojo.json.serialize([message])}, load:dojo.lang.hitch(this, function (type, data, evt, args) {cometd.deliver(data);}), };return dojo.io.bind(bindArgs);} else {this.backlog.push(message);}};this.startup = function (handshakeData) {if (this.connected) {return;}
+this.tunnelInit();};};cometd.connectionTypes.register("mime-message-block", cometd.mimeReplaceTransport.check, cometd.mimeReplaceTransport);cometd.connectionTypes.register("long-polling", cometd.longPollTransport.check, cometd.longPollTransport);cometd.connectionTypes.register("callback-polling", cometd.callbackPollTransport.check, cometd.callbackPollTransport);cometd.connectionTypes.register("iframe", cometd.iframeTransport.check, cometd.iframeTransport);dojo.io.cometd = cometd;
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cometd.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js Tue May  8 19:56:15 2007
@@ -0,0 +1,26 @@
+
+dojo.provide("dojo.io.common");dojo.require("dojo.string");dojo.require("dojo.lang.extras");dojo.io.transports = [];dojo.io.hdlrFuncNames = ["load", "error", "timeout"];dojo.io.Request = function (url, mimetype, transport, changeUrl) {if ((arguments.length == 1) && (arguments[0].constructor == Object)) {this.fromKwArgs(arguments[0]);} else {this.url = url;if (mimetype) {this.mimetype = mimetype;}
+if (transport) {this.transport = transport;}
+if (arguments.length >= 4) {this.changeUrl = changeUrl;}}
+};dojo.lang.extend(dojo.io.Request, {url:"", mimetype:"text/plain", method:"GET", content:undefined, transport:undefined, changeUrl:undefined, formNode:undefined, sync:false, bindSuccess:false, useCache:false, preventCache:false, load:function (type, data, transportImplementation, kwArgs) {}, error:function (type, error, transportImplementation, kwArgs) {}, timeout:function (type, empty, transportImplementation, kwArgs) {}, handle:function (type, data, transportImplementation, kwArgs) {}, timeoutSeconds:0, abort:function () {}, fromKwArgs:function (kwArgs) {if (kwArgs["url"]) {kwArgs.url = kwArgs.url.toString();}
+if (kwArgs["formNode"]) {kwArgs.formNode = dojo.byId(kwArgs.formNode);}
+if (!kwArgs["method"] && kwArgs["formNode"] && kwArgs["formNode"].method) {kwArgs.method = kwArgs["formNode"].method;}
+if (!kwArgs["handle"] && kwArgs["handler"]) {kwArgs.handle = kwArgs.handler;}
+if (!kwArgs["load"] && kwArgs["loaded"]) {kwArgs.load = kwArgs.loaded;}
+if (!kwArgs["changeUrl"] && kwArgs["changeURL"]) {kwArgs.changeUrl = kwArgs.changeURL;}
+kwArgs.encoding = dojo.lang.firstValued(kwArgs["encoding"], djConfig["bindEncoding"], "");kwArgs.sendTransport = dojo.lang.firstValued(kwArgs["sendTransport"], djConfig["ioSendTransport"], false);var isFunction = dojo.lang.isFunction;for (var x = 0; x < dojo.io.hdlrFuncNames.length; x++) {var fn = dojo.io.hdlrFuncNames[x];if (kwArgs[fn] && isFunction(kwArgs[fn])) {continue;}
+if (kwArgs["handle"] && isFunction(kwArgs["handle"])) {kwArgs[fn] = kwArgs.handle;}}
+dojo.lang.mixin(this, kwArgs);}});dojo.io.Error = function (msg, type, num) {this.message = msg;this.type = type || "unknown";this.number = num || 0;};dojo.io.transports.addTransport = function (name) {this.push(name);this[name] = dojo.io[name];};dojo.io.bind = function (request) {if (!(request instanceof dojo.io.Request)) {try {request = new dojo.io.Request(request);}
+catch (e) {dojo.debug(e);}}
+var tsName = "";if (request["transport"]) {tsName = request["transport"];if (!this[tsName]) {dojo.io.sendBindError(request, "No dojo.io.bind() transport with name '" + request["transport"] + "'.");return request;}
+if (!this[tsName].canHandle(request)) {dojo.io.sendBindError(request, "dojo.io.bind() transport with name '" + request["transport"] + "' cannot handle this type of request.");return request;}} else {for (var x = 0; x < dojo.io.transports.length; x++) {var tmp = dojo.io.transports[x];if ((this[tmp]) && (this[tmp].canHandle(request))) {tsName = tmp;break;}}
+if (tsName == "") {dojo.io.sendBindError(request, "None of the loaded transports for dojo.io.bind()" + " can handle the request.");return request;}}
+this[tsName].bind(request);request.bindSuccess = true;return request;};dojo.io.sendBindError = function (request, message) {if ((typeof request.error == "function" || typeof request.handle == "function") && (typeof setTimeout == "function" || typeof setTimeout == "object")) {var errorObject = new dojo.io.Error(message);setTimeout(function () {request[(typeof request.error == "function") ? "error" : "handle"]("error", errorObject, null, request);}, 50);} else {dojo.raise(message);}};dojo.io.queueBind = function (request) {if (!(request instanceof dojo.io.Request)) {try {request = new dojo.io.Request(request);}
+catch (e) {dojo.debug(e);}}
+var oldLoad = request.load;request.load = function () {dojo.io._queueBindInFlight = false;var ret = oldLoad.apply(this, arguments);dojo.io._dispatchNextQueueBind();return ret;};var oldErr = request.error;request.error = function () {dojo.io._queueBindInFlight = false;var ret = oldErr.apply(this, arguments);dojo.io._dispatchNextQueueBind();return ret;};dojo.io._bindQueue.push(request);dojo.io._dispatchNextQueueBind();return request;};dojo.io._dispatchNextQueueBind = function () {if (!dojo.io._queueBindInFlight) {dojo.io._queueBindInFlight = true;if (dojo.io._bindQueue.length > 0) {dojo.io.bind(dojo.io._bindQueue.shift());} else {dojo.io._queueBindInFlight = false;}}
+};dojo.io._bindQueue = [];dojo.io._queueBindInFlight = false;dojo.io.argsFromMap = function (map, encoding, last) {var enc = /utf/i.test(encoding || "") ? encodeURIComponent : dojo.string.encodeAscii;var mapped = [];var control = new Object();for (var name in map) {var domap = function (elt) {var val = enc(name) + "=" + enc(elt);mapped[(last == name) ? "push" : "unshift"](val);};if (!control[name]) {var value = map[name];if (dojo.lang.isArray(value)) {dojo.lang.forEach(value, domap);} else {domap(value);}}
+}
+return mapped.join("&");};dojo.io.setIFrameSrc = function (iframe, src, replace) {try {var r = dojo.render.html;if (!replace) {if (r.safari) {iframe.location = src;} else {frames[iframe.name].location = src;}} else {var idoc;if (r.ie) {idoc = iframe.contentWindow.document;} else {if (r.safari) {idoc = iframe.document;} else {idoc = iframe.contentWindow;}}
+if (!idoc) {iframe.location = src;return;} else {idoc.location.replace(src);}}
+}
+catch (e) {dojo.debug(e);dojo.debug("setIFrameSrc: " + e);}};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/common.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cookie.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cookie.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cookie.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/io/cookie.js Tue May  8 19:56:15 2007
@@ -0,0 +1,15 @@
+
+dojo.provide("dojo.io.cookie");dojo.io.cookie.setCookie = function (name, value, days, path, domain, secure) {var expires = -1;if ((typeof days == "number") && (days >= 0)) {var d = new Date();d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));expires = d.toGMTString();}
+value = escape(value);document.cookie = name + "=" + value + ";" + (expires != -1 ? " expires=" + expires + ";" : "") + (path ? "path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "; secure" : "");};dojo.io.cookie.set = dojo.io.cookie.setCookie;dojo.io.cookie.getCookie = function (name) {var idx = document.cookie.lastIndexOf(name + "=");if (idx == -1) {return null;}
+var value = document.cookie.substring(idx + name.length + 1);var end = value.indexOf(";");if (end == -1) {end = value.length;}
+value = value.substring(0, end);value = unescape(value);return value;};dojo.io.cookie.get = dojo.io.cookie.getCookie;dojo.io.cookie.deleteCookie = function (name) {dojo.io.cookie.setCookie(name, "-", 0);};dojo.io.cookie.setObjectCookie = function (name, obj, days, path, domain, secure, clearCurrent) {if (arguments.length == 5) {clearCurrent = domain;domain = null;secure = null;}
+var pairs = [], cookie, value = "";if (!clearCurrent) {cookie = dojo.io.cookie.getObjectCookie(name);}
+if (days >= 0) {if (!cookie) {cookie = {};}
+for (var prop in obj) {if (obj[prop] == null) {delete cookie[prop];} else {if ((typeof obj[prop] == "string") || (typeof obj[prop] == "number")) {cookie[prop] = obj[prop];}}
+}
+prop = null;for (var prop in cookie) {pairs.push(escape(prop) + "=" + escape(cookie[prop]));}
+value = pairs.join("&");}
+dojo.io.cookie.setCookie(name, value, days, path, domain, secure);};dojo.io.cookie.getObjectCookie = function (name) {var values = null, cookie = dojo.io.cookie.getCookie(name);if (cookie) {values = {};var pairs = cookie.split("&");for (var i = 0; i < pairs.length; i++) {var pair = pairs[i].split("=");var value = pair[1];if (isNaN(value)) {value = unescape(pair[1]);}
+values[unescape(pair[0])] = value;}}
+return values;};dojo.io.cookie.isSupported = function () {if (typeof navigator.cookieEnabled != "boolean") {dojo.io.cookie.setCookie("__TestingYourBrowserForCookieSupport__", "CookiesAllowed", 90, null);var cookieVal = dojo.io.cookie.getCookie("__TestingYourBrowserForCookieSupport__");navigator.cookieEnabled = (cookieVal == "CookiesAllowed");if (navigator.cookieEnabled) {this.deleteCookie("__TestingYourBrowserForCookieSupport__");}}
+return navigator.cookieEnabled;};if (!dojo.io.cookies) {dojo.io.cookies = dojo.io.cookie;}