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 2008/02/04 23:08:37 UTC

svn commit: r618461 [26/43] - in /tapestry/tapestry4/trunk/tapestry-framework/src/js: dojo-0.4.3-custom-4.1.5/ dojo-0.4.3-custom-4.1.5/nls/ dojo-0.4.3-custom-4.1.5/src/ dojo-0.4.3-custom-4.1.5/src/animation/ dojo-0.4.3-custom-4.1.5/src/cal/ dojo-0.4.3-...

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/Storage.as
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/Storage.as?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/Storage.as (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/Storage.as Mon Feb  4 14:07:13 2008
@@ -0,0 +1,146 @@
+/*
+	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
+*/
+
+import DojoExternalInterface;
+
+class Storage {
+	public static var SUCCESS = "success";
+	public static var FAILED = "failed";
+	public static var PENDING = "pending";
+	
+	public var so;
+	
+	public function Storage(){
+		//getURL("javascript:dojo.debug('FLASH:Storage constructor')");
+		DojoExternalInterface.initialize();
+		DojoExternalInterface.addCallback("put", this, put);
+		DojoExternalInterface.addCallback("get", this, get);
+		DojoExternalInterface.addCallback("showSettings", this, showSettings);
+		DojoExternalInterface.addCallback("clear", this, clear);
+		DojoExternalInterface.addCallback("getKeys", this, getKeys);
+		DojoExternalInterface.addCallback("remove", this, remove);
+		DojoExternalInterface.loaded();
+		
+		// preload the System Settings finished button movie for offline
+		// access so it is in the cache
+		_root.createEmptyMovieClip("_settingsBackground", 1);
+		// getURL("javascript:alert('"+DojoExternalInterface.dojoPath+"');");
+		_root._settingsBackground.loadMovie(DojoExternalInterface.dojoPath + "storage_dialog.swf");
+	}
+
+	public function put(keyName, keyValue, namespace){
+		// Get the SharedObject for these values and save it
+		so = SharedObject.getLocal(namespace);
+		
+		// prepare a storage status handler
+		var self = this;
+		so.onStatus = function(infoObject:Object){
+			//getURL("javascript:dojo.debug('FLASH: onStatus, infoObject="+infoObject.code+"')");
+			
+			// delete the data value if the request was denied
+			if (infoObject.code == "SharedObject.Flush.Failed"){
+				delete self.so.data[keyName];
+			}
+			
+			var statusResults;
+			if(infoObject.code == "SharedObject.Flush.Failed"){
+				statusResults = Storage.FAILED;
+			}else if(infoObject.code == "SharedObject.Flush.Pending"){
+				statusResults = Storage.PENDING;
+			}else if(infoObject.code == "SharedObject.Flush.Success"){
+				statusResults = Storage.SUCCESS;
+			}
+			//getURL("javascript:dojo.debug('FLASH: onStatus, statusResults="+statusResults+"')");
+			
+			// give the status results to JavaScript
+			DojoExternalInterface.call("dojo.storage._onStatus", null, statusResults, 
+																 keyName);
+		}
+		
+		// save the key and value
+		so.data[keyName] = keyValue;
+		var flushResults = so.flush();
+		
+		// return results of this command to JavaScript
+		var statusResults;
+		if(flushResults == true){
+			statusResults = Storage.SUCCESS;
+		}else if(flushResults == "pending"){
+			statusResults = Storage.PENDING;
+		}else{
+			statusResults = Storage.FAILED;
+		}
+		
+		DojoExternalInterface.call("dojo.storage._onStatus", null, statusResults, 
+															 keyName);
+	}
+
+	public function get(keyName, namespace){
+		// Get the SharedObject for these values and save it
+		so = SharedObject.getLocal(namespace);
+		var results = so.data[keyName];
+		
+		return results;
+	}
+	
+	public function showSettings(){
+		// Show the configuration options for the Flash player, opened to the
+		// section for local storage controls (pane 1)
+		System.showSettings(1);
+		
+		// there is no way we can intercept when the Close button is pressed, allowing us
+		// to hide the Flash dialog. Instead, we need to load a movie in the
+		// background that we can show a close button on.
+		_root.createEmptyMovieClip("_settingsBackground", 1);
+		_root._settingsBackground.loadMovie(DojoExternalInterface.dojoPath + "storage_dialog.swf");
+	}
+	
+	public function clear(namespace){
+		so = SharedObject.getLocal(namespace);
+		so.clear();
+		so.flush();
+	}
+	
+	public function getKeys(namespace){
+		// Returns a list of the available keys in this namespace
+		
+		// get the storage object
+		so = SharedObject.getLocal(namespace);
+		
+		// get all of the keys
+		var results = new Array();
+		for(var i in so.data)
+			results.push(i);	
+		
+		// join the keys together in a comma seperated string
+		results = results.join(",");
+		
+		return results;
+	}
+	
+	public function remove(keyName, namespace){
+		// Removes a key
+
+		// get the storage object
+		so = SharedObject.getLocal(namespace);
+		
+		// delete this value
+		delete so.data[keyName];
+		
+		// save the changes
+		so.flush();
+	}
+
+	static function main(mc){
+		//getURL("javascript:dojo.debug('FLASH: storage loaded')");
+		_root.app = new Storage(); 
+	}
+}
+

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.kwCompoundRequire({common:["dojo.storage"],browser:["dojo.storage.browser"]});
+dojo.provide("dojo.storage.*");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,537 @@
+dojo.provide("dojo.storage.browser");
+dojo.require("dojo.storage");
+dojo.require("dojo.flash");
+dojo.require("dojo.json");
+dojo.require("dojo.uri.*");
+dojo.storage.browser.FileStorageProvider=function(){
+};
+dojo.inherits(dojo.storage.browser.FileStorageProvider,dojo.storage);
+dojo.storage.browser.FileStorageProvider._KEY_INDEX_FILENAME="__dojoAllKeys";
+dojo.storage.browser.FileStorageProvider._APPLET_ID="__dojoFileJavaObj";
+dojo.lang.extend(dojo.storage.browser.FileStorageProvider,{namespace:"default",initialized:false,_available:null,_statusHandler:null,_keyIndex:new Array(),initialize:function(){
+if(djConfig["disableFileStorage"]==true){
+return;
+}
+this._loadKeyIndex();
+this.initialized=true;
+dojo.storage.manager.loaded();
+},isAvailable:function(){
+this._available=false;
+var _1=window.location.protocol;
+if(_1.indexOf("file")!=-1||_1.indexOf("chrome")!=-1){
+this._available=this._isAvailableXPCOM();
+if(this._available==false){
+this._available=this._isAvailableActiveX();
+}
+}
+return this._available;
+},put:function(_2,_3,_4){
+if(this.isValidKey(_2)==false){
+dojo.raise("Invalid key given: "+_2);
+}
+this._statusHandler=_4;
+try{
+this._save(_2,_3);
+_4.call(null,dojo.storage.SUCCESS,_2);
+}
+catch(e){
+this._statusHandler.call(null,dojo.storage.FAILED,_2,e.toString());
+}
+},get:function(_5){
+if(this.isValidKey(_5)==false){
+dojo.raise("Invalid key given: "+_5);
+}
+var _6=this._load(_5);
+return _6;
+},getKeys:function(){
+return this._keyIndex;
+},hasKey:function(_7){
+if(this.isValidKey(_7)==false){
+dojo.raise("Invalid key given: "+_7);
+}
+this._loadKeyIndex();
+var _8=false;
+for(var i=0;i<this._keyIndex.length;i++){
+if(this._keyIndex[i]==_7){
+_8=true;
+}
+}
+return _8;
+},clear:function(){
+this._loadKeyIndex();
+var _a=new Array();
+for(var i=0;i<this._keyIndex.length;i++){
+_a[_a.length]=new String(this._keyIndex[i]);
+}
+for(var i=0;i<_a.length;i++){
+this.remove(_a[i]);
+}
+},remove:function(_c){
+if(this.isValidKey(_c)==false){
+dojo.raise("Invalid key given: "+_c);
+}
+this._loadKeyIndex();
+for(var i=0;i<this._keyIndex.length;i++){
+if(this._keyIndex[i]==_c){
+this._keyIndex.splice(i,1);
+break;
+}
+}
+this._save(dojo.storage.browser.FileStorageProvider._KEY_INDEX_FILENAME,this._keyIndex,false);
+var _e=this._getPagePath()+_c+".txt";
+if(this._isAvailableXPCOM()){
+this._removeXPCOM(_e);
+}else{
+if(this._isAvailableActiveX()){
+this._removeActiveX(_e);
+}
+}
+},isPermanent:function(){
+return true;
+},getMaximumSize:function(){
+return dojo.storage.SIZE_NO_LIMIT;
+},hasSettingsUI:function(){
+return false;
+},showSettingsUI:function(){
+dojo.raise(this.getType()+" does not support a storage settings user-interface");
+},hideSettingsUI:function(){
+dojo.raise(this.getType()+" does not support a storage settings user-interface");
+},getType:function(){
+return "dojo.storage.browser.FileStorageProvider";
+},_save:function(_f,_10,_11){
+if(typeof _11=="undefined"){
+_11=true;
+}
+if(dojo.lang.isString(_10)==false){
+_10=dojo.json.serialize(_10);
+_10="/* JavaScript */\n"+_10+"\n\n";
+}
+var _12=this._getPagePath()+_f+".txt";
+if(this._isAvailableXPCOM()){
+this._saveFileXPCOM(_12,_10);
+}else{
+if(this._isAvailableActiveX()){
+this._saveFileActiveX(_12,_10);
+}
+}
+if(_11){
+this._updateKeyIndex(_f);
+}
+},_load:function(key){
+var _14=this._getPagePath()+key+".txt";
+var _15=null;
+if(this._isAvailableXPCOM()){
+_15=this._loadFileXPCOM(_14);
+}else{
+if(this._isAvailableActiveX()){
+_15=this._loadFileActiveX(_14);
+}else{
+if(this._isAvailableJava()){
+_15=this._loadFileJava(_14);
+}
+}
+}
+if(_15==null){
+return null;
+}
+if(!dojo.lang.isUndefined(_15)&&_15!=null&&/^\/\* JavaScript \*\//.test(_15)){
+_15=dojo.json.evalJson(_15);
+}
+return _15;
+},_updateKeyIndex:function(key){
+this._loadKeyIndex();
+var _17=false;
+for(var i=0;i<this._keyIndex.length;i++){
+if(this._keyIndex[i]==key){
+_17=true;
+break;
+}
+}
+if(_17==false){
+this._keyIndex[this._keyIndex.length]=key;
+}
+this._save(dojo.storage.browser.FileStorageProvider._KEY_INDEX_FILENAME,this._keyIndex,false);
+},_loadKeyIndex:function(){
+var _19=this._load(dojo.storage.browser.FileStorageProvider._KEY_INDEX_FILENAME);
+if(_19==null){
+this._keyIndex=new Array();
+}else{
+this._keyIndex=_19;
+}
+},_saveFileXPCOM:function(_1a,_1b){
+try{
+netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+var f=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+f.initWithPath(_1a);
+var _1d=Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
+_1d.init(f,32|4|8,256+128,null);
+_1d.write(_1b,_1b.length);
+_1d.close();
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._saveFileXPCOM(): "+msg);
+}
+},_loadFileXPCOM:function(_1f){
+try{
+netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+var f=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+f.initWithPath(_1f);
+if(f.exists()==false){
+return null;
+}
+var inp=Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
+inp.init(f,1,4,null);
+var _22=Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream);
+_22.init(inp);
+var _23=_22.read(_22.available());
+return _23;
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._loadFileXPCOM(): "+msg);
+}
+return null;
+},_saveFileActiveX:function(_25,_26){
+try{
+var _27=new ActiveXObject("Scripting.FileSystemObject");
+var f=_27.OpenTextFile(_25,2,true);
+f.Write(_26);
+f.Close();
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._saveFileActiveX(): "+msg);
+}
+},_loadFileActiveX:function(_2a){
+try{
+var _2b=new ActiveXObject("Scripting.FileSystemObject");
+if(_2b.FileExists(_2a)==false){
+return null;
+}
+var f=_2b.OpenTextFile(_2a,1);
+var _2d=f.ReadAll();
+f.Close();
+return _2d;
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._loadFileActiveX(): "+msg);
+}
+},_saveFileJava:function(_2f,_30){
+try{
+var _31=dojo.byId(dojo.storage.browser.FileStorageProvider._APPLET_ID);
+_31.save(_2f,_30);
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._saveFileJava(): "+msg);
+}
+},_loadFileJava:function(_33){
+try{
+var _34=dojo.byId(dojo.storage.browser.FileStorageProvider._APPLET_ID);
+var _35=_34.load(_33);
+return _35;
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._loadFileJava(): "+msg);
+}
+},_isAvailableActiveX:function(){
+try{
+if(window.ActiveXObject){
+var _37=new window.ActiveXObject("Scripting.FileSystemObject");
+return true;
+}
+}
+catch(e){
+dojo.debug(e);
+}
+return false;
+},_isAvailableXPCOM:function(){
+try{
+if(window.Components){
+netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+return true;
+}
+}
+catch(e){
+dojo.debug(e);
+}
+return false;
+},_isAvailableJava:function(){
+try{
+if(dojo.render.html.safari==true||dojo.render.html.opera==true()){
+if(navigator.javaEnabled()==true){
+return true;
+}
+}
+}
+catch(e){
+dojo.debug(e);
+}
+return false;
+},_getPagePath:function(){
+var _38=window.location.pathname;
+if(/\.html?$/i.test(_38)){
+_38=_38.replace(/(?:\/|\\)?[^\.\/\\]*\.html?$/,"");
+}
+if(/^\/?[a-z]+\:/i.test(_38)){
+_38=_38.replace(/^\/?/,"");
+_38=_38.replace(/\//g,"\\");
+}else{
+if(/^[\/\\]{2,3}[^\/]/.test(_38)){
+_38=_38.replace(/^[\/\\]{2,3}/,"");
+_38=_38.replace(/\//g,"\\");
+_38="\\\\"+_38;
+}
+}
+if(/\/$/.test(_38)==false&&/\\$/.test(_38)==false){
+if(/\//.test(_38)){
+_38+="/";
+}else{
+_38+="\\";
+}
+}
+_38=unescape(_38);
+return _38;
+},_removeXPCOM:function(_39){
+try{
+netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+var f=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
+f.initWithPath(_39);
+if(f.exists()==false||f.isDirectory()){
+return;
+}
+if(f.isFile()){
+f.remove(false);
+}
+}
+catch(e){
+dojo.raise("dojo.storage.browser.FileStorageProvider.remove(): "+e.toString());
+}
+},_removeActiveX:function(_3b){
+try{
+var _3c=new ActiveXObject("Scripting.FileSystemObject");
+_3c.DeleteFile(_3b);
+}
+catch(e){
+dojo.raise("dojo.storage.browser.FileStorageProvider.remove(): "+e.toString());
+}
+},_removeJava:function(_3d){
+try{
+var _3e=dojo.byId(dojo.storage.browser.FileStorageProvider._APPLET_ID);
+_3e.remove(_3d);
+}
+catch(e){
+var msg=e.toString();
+if(e.name&&e.message){
+msg=e.name+": "+e.message;
+}
+dojo.raise("dojo.storage.browser.FileStorageProvider._removeJava(): "+msg);
+}
+},_writeApplet:function(){
+var _40=dojo.uri.moduleUri("dojo","../DojoFileStorageProvider.jar").toString();
+var tag="<applet "+"id='"+dojo.storage.browser.FileStorageProvider._APPLET_ID+"' "+"style='position: absolute; top: -500px; left: -500px; width: 1px; height: 1px;' "+"code='DojoFileStorageProvider.class' "+"archive='"+_40+"' "+"width='1' "+"height='1' "+">"+"</applet>";
+document.writeln(tag);
+}});
+dojo.storage.browser.WhatWGStorageProvider=function(){
+};
+dojo.inherits(dojo.storage.browser.WhatWGStorageProvider,dojo.storage);
+dojo.lang.extend(dojo.storage.browser.WhatWGStorageProvider,{namespace:"default",initialized:false,_domain:null,_available:null,_statusHandler:null,initialize:function(){
+if(djConfig["disableWhatWGStorage"]==true){
+return;
+}
+this._domain=location.hostname;
+this.initialized=true;
+dojo.storage.manager.loaded();
+},isAvailable:function(){
+try{
+var _42=globalStorage[location.hostname];
+}
+catch(e){
+this._available=false;
+return this._available;
+}
+this._available=true;
+return this._available;
+},put:function(key,_44,_45){
+if(this.isValidKey(key)==false){
+dojo.raise("Invalid key given: "+key);
+}
+this._statusHandler=_45;
+if(dojo.lang.isString(_44)){
+_44="string:"+_44;
+}else{
+_44=dojo.json.serialize(_44);
+}
+window.addEventListener("storage",function(evt){
+_45.call(null,dojo.storage.SUCCESS,key);
+},false);
+try{
+var _47=globalStorage[this._domain];
+_47.setItem(key,_44);
+}
+catch(e){
+this._statusHandler.call(null,dojo.storage.FAILED,key,e.toString());
+}
+},get:function(key){
+if(this.isValidKey(key)==false){
+dojo.raise("Invalid key given: "+key);
+}
+var _49=globalStorage[this._domain];
+var _4a=_49.getItem(key);
+if(_4a==null){
+return null;
+}
+_4a=_4a.value;
+if(!dojo.lang.isUndefined(_4a)&&_4a!=null&&/^string:/.test(_4a)){
+_4a=_4a.substring("string:".length);
+}else{
+_4a=dojo.json.evalJson(_4a);
+}
+return _4a;
+},getKeys:function(){
+var _4b=globalStorage[this._domain];
+var _4c=new Array();
+for(i=0;i<_4b.length;i++){
+_4c[i]=_4b.key(i);
+}
+return _4c;
+},clear:function(){
+var _4d=globalStorage[this._domain];
+var _4e=new Array();
+for(var i=0;i<_4d.length;i++){
+_4e[_4e.length]=_4d.key(i);
+}
+for(var i=0;i<_4e.length;i++){
+_4d.removeItem(_4e[i]);
+}
+},remove:function(key){
+var _51=globalStorage[this._domain];
+_51.removeItem(key);
+},isPermanent:function(){
+return true;
+},getMaximumSize:function(){
+return dojo.storage.SIZE_NO_LIMIT;
+},hasSettingsUI:function(){
+return false;
+},showSettingsUI:function(){
+dojo.raise(this.getType()+" does not support a storage settings user-interface");
+},hideSettingsUI:function(){
+dojo.raise(this.getType()+" does not support a storage settings user-interface");
+},getType:function(){
+return "dojo.storage.browser.WhatWGProvider";
+}});
+dojo.storage.browser.FlashStorageProvider=function(){
+};
+dojo.inherits(dojo.storage.browser.FlashStorageProvider,dojo.storage);
+dojo.lang.extend(dojo.storage.browser.FlashStorageProvider,{namespace:"default",initialized:false,_available:null,_statusHandler:null,initialize:function(){
+if(djConfig["disableFlashStorage"]==true){
+return;
+}
+var _52=function(){
+dojo.storage._flashLoaded();
+};
+dojo.flash.addLoadedListener(_52);
+var _53=dojo.uri.moduleUri("dojo","../Storage_version6.swf").toString();
+var _54=dojo.uri.moduleUri("dojo","../Storage_version8.swf").toString();
+dojo.flash.setSwf({flash6:_53,flash8:_54,visible:false});
+},isAvailable:function(){
+if(djConfig["disableFlashStorage"]==true){
+this._available=false;
+}else{
+this._available=true;
+}
+return this._available;
+},put:function(key,_56,_57){
+if(this.isValidKey(key)==false){
+dojo.raise("Invalid key given: "+key);
+}
+this._statusHandler=_57;
+if(dojo.lang.isString(_56)){
+_56="string:"+_56;
+}else{
+_56=dojo.json.serialize(_56);
+}
+dojo.flash.comm.put(key,_56,this.namespace);
+},get:function(key){
+if(this.isValidKey(key)==false){
+dojo.raise("Invalid key given: "+key);
+}
+var _59=dojo.flash.comm.get(key,this.namespace);
+if(_59==""){
+return null;
+}
+if(!dojo.lang.isUndefined(_59)&&_59!=null&&/^string:/.test(_59)){
+_59=_59.substring("string:".length);
+}else{
+_59=dojo.json.evalJson(_59);
+}
+return _59;
+},getKeys:function(){
+var _5a=dojo.flash.comm.getKeys(this.namespace);
+if(_5a==""){
+return [];
+}
+return _5a.split(",");
+},clear:function(){
+dojo.flash.comm.clear(this.namespace);
+},remove:function(key){
+dojo.unimplemented("dojo.storage.browser.FlashStorageProvider.remove");
+},isPermanent:function(){
+return true;
+},getMaximumSize:function(){
+return dojo.storage.SIZE_NO_LIMIT;
+},hasSettingsUI:function(){
+return true;
+},showSettingsUI:function(){
+dojo.flash.comm.showSettings();
+dojo.flash.obj.setVisible(true);
+dojo.flash.obj.center();
+},hideSettingsUI:function(){
+dojo.flash.obj.setVisible(false);
+if(dojo.storage.onHideSettingsUI!=null&&!dojo.lang.isUndefined(dojo.storage.onHideSettingsUI)){
+dojo.storage.onHideSettingsUI.call(null);
+}
+},getType:function(){
+return "dojo.storage.browser.FlashStorageProvider";
+},_flashLoaded:function(){
+this._initialized=true;
+dojo.storage.manager.loaded();
+},_onStatus:function(_5c,key){
+var ds=dojo.storage;
+var dfo=dojo.flash.obj;
+if(_5c==ds.PENDING){
+dfo.center();
+dfo.setVisible(true);
+}else{
+dfo.setVisible(false);
+}
+if((!dj_undef("_statusHandler",ds))&&(ds._statusHandler!=null)){
+ds._statusHandler.call(null,_5c,key);
+}
+}});
+dojo.storage.manager.register("dojo.storage.browser.FileStorageProvider",new dojo.storage.browser.FileStorageProvider());
+dojo.storage.manager.register("dojo.storage.browser.WhatWGStorageProvider",new dojo.storage.browser.WhatWGStorageProvider());
+dojo.storage.manager.register("dojo.storage.browser.FlashStorageProvider",new dojo.storage.browser.FlashStorageProvider());
+dojo.storage.manager.initialize();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/browser.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.class?rev=618461&view=auto
==============================================================================
Binary file - no diff available.

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.class
------------------------------------------------------------------------------
    svn:mime-type = application/java

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java Mon Feb  4 14:07:13 2008
@@ -0,0 +1,53 @@
+/**
+	This is a simple class that can load, save, and remove 
+	files from the native file system. It is needed by Safari and Opera
+	for the dojo.storage.browser.FileStorageProvider, since both of
+	these platforms have no native way to talk to the file system
+	for file:// URLs. Safari supports LiveConnect, but only for talking
+	to an applet, not for generic scripting by JavaScript, so we must
+	have an applet.
+
+	@author Brad Neuberg, bkn3@columbia.edu
+*/
+
+import java.io.*;
+
+public class DojoFileStorageProvider{
+	public String load(String filePath) 
+			throws IOException, FileNotFoundException{
+		StringBuffer results = new StringBuffer();
+		BufferedReader reader = new BufferedReader(
+					new FileReader(filePath));	
+		String line = null;
+		while((line = reader.readLine()) != null){
+			results.append(line);
+		}
+
+		reader.close();
+
+		return results.toString();
+	}
+
+	public void save(String filePath, String content) 
+			throws IOException, FileNotFoundException{
+		PrintWriter writer = new PrintWriter(
+					new BufferedWriter(
+						new FileWriter(filePath, false)));
+		writer.print(content);
+
+		writer.close();
+	}
+
+	public void remove(String filePath)
+			throws IOException, FileNotFoundException{
+		File f = new File(filePath);
+
+		if(f.exists() == false || f.isDirectory()){
+			return;
+		}
+
+		if(f.exists() && f.isFile()){
+			f.delete();
+		}
+	}
+}

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/java/DojoFileStorageProvider.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/storage_dialog.fla
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/storage_dialog.fla?rev=618461&view=auto
==============================================================================
Binary file - no diff available.

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/storage/storage_dialog.fla
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.provide("dojo.string");
+dojo.require("dojo.string.common");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,91 @@
+dojo.provide("dojo.string.Builder");
+dojo.require("dojo.string");
+dojo.require("dojo.lang.common");
+dojo.string.Builder=function(_1){
+this.arrConcat=(dojo.render.html.capable&&dojo.render.html["ie"]);
+var a=[];
+var b="";
+var _4=this.length=b.length;
+if(this.arrConcat){
+if(b.length>0){
+a.push(b);
+}
+b="";
+}
+this.toString=this.valueOf=function(){
+return (this.arrConcat)?a.join(""):b;
+};
+this.append=function(){
+for(var x=0;x<arguments.length;x++){
+var s=arguments[x];
+if(dojo.lang.isArrayLike(s)){
+this.append.apply(this,s);
+}else{
+if(this.arrConcat){
+a.push(s);
+}else{
+b+=s;
+}
+_4+=s.length;
+this.length=_4;
+}
+}
+return this;
+};
+this.clear=function(){
+a=[];
+b="";
+_4=this.length=0;
+return this;
+};
+this.remove=function(f,l){
+var s="";
+if(this.arrConcat){
+b=a.join("");
+}
+a=[];
+if(f>0){
+s=b.substring(0,(f-1));
+}
+b=s+b.substring(f+l);
+_4=this.length=b.length;
+if(this.arrConcat){
+a.push(b);
+b="";
+}
+return this;
+};
+this.replace=function(o,n){
+if(this.arrConcat){
+b=a.join("");
+}
+a=[];
+b=b.replace(o,n);
+_4=this.length=b.length;
+if(this.arrConcat){
+a.push(b);
+b="";
+}
+return this;
+};
+this.insert=function(_c,s){
+if(this.arrConcat){
+b=a.join("");
+}
+a=[];
+if(_c==0){
+b=s+b;
+}else{
+var t=b.split("");
+t.splice(_c,0,s);
+b=t.join("");
+}
+_4=this.length=b.length;
+if(this.arrConcat){
+a.push(b);
+b="";
+}
+return this;
+};
+this.append.apply(this,arguments);
+};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/Builder.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.kwCompoundRequire({common:["dojo.string","dojo.string.common","dojo.string.extras","dojo.string.Builder"]});
+dojo.provide("dojo.string.*");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,50 @@
+dojo.provide("dojo.string.common");
+dojo.string.trim=function(_1,wh){
+if(!_1.replace){
+return _1;
+}
+if(!_1.length){
+return _1;
+}
+var re=(wh>0)?(/^\s+/):(wh<0)?(/\s+$/):(/^\s+|\s+$/g);
+return _1.replace(re,"");
+};
+dojo.string.trimStart=function(_4){
+return dojo.string.trim(_4,1);
+};
+dojo.string.trimEnd=function(_5){
+return dojo.string.trim(_5,-1);
+};
+dojo.string.repeat=function(_6,_7,_8){
+var _9="";
+for(var i=0;i<_7;i++){
+_9+=_6;
+if(_8&&i<_7-1){
+_9+=_8;
+}
+}
+return _9;
+};
+dojo.string.pad=function(_b,_c,c,_e){
+var _f=String(_b);
+if(!c){
+c="0";
+}
+if(!_e){
+_e=1;
+}
+while(_f.length<_c){
+if(_e>0){
+_f=c+_f;
+}else{
+_f+=c;
+}
+}
+return _f;
+};
+dojo.string.padLeft=function(str,len,c){
+return dojo.string.pad(str,len,c,1);
+};
+dojo.string.padRight=function(str,len,c){
+return dojo.string.pad(str,len,c,-1);
+};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/common.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,165 @@
+dojo.provide("dojo.string.extras");
+dojo.require("dojo.string.common");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.array");
+dojo.string.substituteParams=function(_1,_2){
+var _3=(typeof _2=="object")?_2:dojo.lang.toArray(arguments,1);
+return _1.replace(/\%\{(\w+)\}/g,function(_4,_5){
+if(typeof (_3[_5])!="undefined"&&_3[_5]!=null){
+return _3[_5];
+}
+dojo.raise("Substitution not found: "+_5);
+});
+};
+dojo.string.capitalize=function(_6){
+if(!dojo.lang.isString(_6)){
+return "";
+}
+if(arguments.length==0){
+_6=this;
+}
+var _7=_6.split(" ");
+for(var i=0;i<_7.length;i++){
+_7[i]=_7[i].charAt(0).toUpperCase()+_7[i].substring(1);
+}
+return _7.join(" ");
+};
+dojo.string.isBlank=function(_9){
+if(!dojo.lang.isString(_9)){
+return true;
+}
+return (dojo.string.trim(_9).length==0);
+};
+dojo.string.encodeAscii=function(_a){
+if(!dojo.lang.isString(_a)){
+return _a;
+}
+var _b="";
+var _c=escape(_a);
+var _d,re=/%u([0-9A-F]{4})/i;
+while((_d=_c.match(re))){
+var _f=Number("0x"+_d[1]);
+var _10=escape("&#"+_f+";");
+_b+=_c.substring(0,_d.index)+_10;
+_c=_c.substring(_d.index+_d[0].length);
+}
+_b+=_c.replace(/\+/g,"%2B");
+return _b;
+};
+dojo.string.escape=function(_11,str){
+var _13=dojo.lang.toArray(arguments,1);
+switch(_11.toLowerCase()){
+case "xml":
+case "html":
+case "xhtml":
+return dojo.string.escapeXml.apply(this,_13);
+case "sql":
+return dojo.string.escapeSql.apply(this,_13);
+case "regexp":
+case "regex":
+return dojo.string.escapeRegExp.apply(this,_13);
+case "javascript":
+case "jscript":
+case "js":
+return dojo.string.escapeJavaScript.apply(this,_13);
+case "ascii":
+return dojo.string.encodeAscii.apply(this,_13);
+default:
+return str;
+}
+};
+dojo.string.escapeXml=function(str,_15){
+str=str.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
+if(!_15){
+str=str.replace(/'/gm,"&#39;");
+}
+return str;
+};
+dojo.string.escapeSql=function(str){
+return str.replace(/'/gm,"''");
+};
+dojo.string.escapeRegExp=function(str){
+return str.replace(/\\/gm,"\\\\").replace(/([\f\b\n\t\r[\^$|?*+(){}])/gm,"\\$1");
+};
+dojo.string.escapeJavaScript=function(str){
+return str.replace(/(["'\f\b\n\t\r])/gm,"\\$1");
+};
+dojo.string.escapeString=function(str){
+return ("\""+str.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");
+};
+dojo.string.summary=function(str,len){
+if(!len||str.length<=len){
+return str;
+}
+return str.substring(0,len).replace(/\.+$/,"")+"...";
+};
+dojo.string.endsWith=function(str,end,_1e){
+if(_1e){
+str=str.toLowerCase();
+end=end.toLowerCase();
+}
+if((str.length-end.length)<0){
+return false;
+}
+return str.lastIndexOf(end)==str.length-end.length;
+};
+dojo.string.endsWithAny=function(str){
+for(var i=1;i<arguments.length;i++){
+if(dojo.string.endsWith(str,arguments[i])){
+return true;
+}
+}
+return false;
+};
+dojo.string.startsWith=function(str,_22,_23){
+if(_23){
+str=str.toLowerCase();
+_22=_22.toLowerCase();
+}
+return str.indexOf(_22)==0;
+};
+dojo.string.startsWithAny=function(str){
+for(var i=1;i<arguments.length;i++){
+if(dojo.string.startsWith(str,arguments[i])){
+return true;
+}
+}
+return false;
+};
+dojo.string.has=function(str){
+for(var i=1;i<arguments.length;i++){
+if(str.indexOf(arguments[i])>-1){
+return true;
+}
+}
+return false;
+};
+dojo.string.normalizeNewlines=function(_28,_29){
+if(_29=="\n"){
+_28=_28.replace(/\r\n/g,"\n");
+_28=_28.replace(/\r/g,"\n");
+}else{
+if(_29=="\r"){
+_28=_28.replace(/\r\n/g,"\r");
+_28=_28.replace(/\n/g,"\r");
+}else{
+_28=_28.replace(/([^\r])\n/g,"$1\r\n").replace(/\r([^\n])/g,"\r\n$1");
+}
+}
+return _28;
+};
+dojo.string.splitEscaped=function(str,_2b){
+var _2c=[];
+for(var i=0,_2e=0;i<str.length;i++){
+if(str.charAt(i)=="\\"){
+i++;
+continue;
+}
+if(str.charAt(i)==_2b){
+_2c.push(str.substring(_2e,i));
+_2e=i+1;
+}
+}
+_2c.push(str.substr(_2e));
+return _2c;
+};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/string/extras.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/style.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/style.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/style.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/style.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,5 @@
+dojo.provide("dojo.style");
+dojo.require("dojo.lang.common");
+dojo.kwCompoundRequire({browser:["dojo.html.style"]});
+dojo.deprecated("dojo.style","replaced by dojo.html.style","0.5");
+dojo.lang.mixin(dojo.style,dojo.html);

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

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/style.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/style.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,246 @@
+dojo.provide("dojo.svg");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.dom");
+dojo.mixin(dojo.svg,dojo.dom);
+dojo.svg.graphics=dojo.svg.g=new function(d){
+this.suspend=function(){
+try{
+d.documentElement.suspendRedraw(0);
+}
+catch(e){
+}
+};
+this.resume=function(){
+try{
+d.documentElement.unsuspendRedraw(0);
+}
+catch(e){
+}
+};
+this.force=function(){
+try{
+d.documentElement.forceRedraw();
+}
+catch(e){
+}
+};
+}(document);
+dojo.svg.animations=dojo.svg.anim=new function(d){
+this.arePaused=function(){
+try{
+return d.documentElement.animationsPaused();
+}
+catch(e){
+return false;
+}
+};
+this.pause=function(){
+try{
+d.documentElement.pauseAnimations();
+}
+catch(e){
+}
+};
+this.resume=function(){
+try{
+d.documentElement.unpauseAnimations();
+}
+catch(e){
+}
+};
+}(document);
+dojo.svg.toCamelCase=function(_3){
+var _4=_3.split("-"),cc=_4[0];
+for(var i=1;i<_4.length;i++){
+cc+=_4[i].charAt(0).toUpperCase()+_4[i].substring(1);
+}
+return cc;
+};
+dojo.svg.toSelectorCase=function(_7){
+return _7.replace(/([A-Z])/g,"-$1").toLowerCase();
+};
+dojo.svg.getStyle=function(_8,_9){
+return document.defaultView.getComputedStyle(_8,_9);
+};
+dojo.svg.getNumericStyle=function(_a,_b){
+return parseFloat(dojo.svg.getStyle(_a,_b));
+};
+dojo.svg.getOpacity=function(_c){
+return Math.min(1,dojo.svg.getNumericStyle(_c,"fill-opacity"));
+};
+dojo.svg.setOpacity=function(_d,_e){
+_d.setAttributeNS(this.xmlns.svg,"fill-opacity",_e);
+_d.setAttributeNS(this.xmlns.svg,"stroke-opacity",_e);
+};
+dojo.svg.clearOpacity=function(_f){
+_f.setAttributeNS(this.xmlns.svg,"fill-opacity","1.0");
+_f.setAttributeNS(this.xmlns.svg,"stroke-opacity","1.0");
+};
+dojo.svg.getCoords=function(_10){
+if(_10.getBBox){
+var box=_10.getBBox();
+return {x:box.x,y:box.y};
+}
+return null;
+};
+dojo.svg.setCoords=function(_12,_13){
+var p=dojo.svg.getCoords();
+if(!p){
+return;
+}
+var dx=p.x-_13.x;
+var dy=p.y-_13.y;
+dojo.svg.translate(_12,dx,dy);
+};
+dojo.svg.getDimensions=function(_17){
+if(_17.getBBox){
+var box=_17.getBBox();
+return {width:box.width,height:box.height};
+}
+return null;
+};
+dojo.svg.setDimensions=function(_19,dim){
+if(_19.width){
+_19.width.baseVal.value=dim.width;
+_19.height.baseVal.value=dim.height;
+}else{
+if(_19.r){
+_19.r.baseVal.value=Math.min(dim.width,dim.height)/2;
+}else{
+if(_19.rx){
+_19.rx.baseVal.value=dim.width/2;
+_19.ry.baseVal.value=dim.height/2;
+}
+}
+}
+};
+dojo.svg.translate=function(_1b,dx,dy){
+if(_1b.transform&&_1b.ownerSVGElement&&_1b.ownerSVGElement.createSVGTransform){
+var t=_1b.ownerSVGElement.createSVGTransform();
+t.setTranslate(dx,dy);
+_1b.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.scale=function(_1f,_20,_21){
+if(!_21){
+var _21=_20;
+}
+if(_1f.transform&&_1f.ownerSVGElement&&_1f.ownerSVGElement.createSVGTransform){
+var t=_1f.ownerSVGElement.createSVGTransform();
+t.setScale(_20,_21);
+_1f.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.rotate=function(_23,ang,cx,cy){
+if(_23.transform&&_23.ownerSVGElement&&_23.ownerSVGElement.createSVGTransform){
+var t=_23.ownerSVGElement.createSVGTransform();
+if(cx==null){
+t.setMatrix(t.matrix.rotate(ang));
+}else{
+t.setRotate(ang,cx,cy);
+}
+_23.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.skew=function(_28,ang,_2a){
+var dir=_2a||"x";
+if(_28.transform&&_28.ownerSVGElement&&_28.ownerSVGElement.createSVGTransform){
+var t=_28.ownerSVGElement.createSVGTransform();
+if(dir!="x"){
+t.setSkewY(ang);
+}else{
+t.setSkewX(ang);
+}
+_28.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.flip=function(_2d,_2e){
+var dir=_2e||"x";
+if(_2d.transform&&_2d.ownerSVGElement&&_2d.ownerSVGElement.createSVGTransform){
+var t=_2d.ownerSVGElement.createSVGTransform();
+t.setMatrix((dir!="x")?t.matrix.flipY():t.matrix.flipX());
+_2d.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.invert=function(_31){
+if(_31.transform&&_31.ownerSVGElement&&_31.ownerSVGElement.createSVGTransform){
+var t=_31.ownerSVGElement.createSVGTransform();
+t.setMatrix(t.matrix.inverse());
+_31.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.applyMatrix=function(_33,a,b,c,d,e,f){
+if(_33.transform&&_33.ownerSVGElement&&_33.ownerSVGElement.createSVGTransform){
+var m;
+if(b){
+var m=_33.ownerSVGElement.createSVGMatrix();
+m.a=a;
+m.b=b;
+m.c=c;
+m.d=d;
+m.e=e;
+m.f=f;
+}else{
+m=a;
+}
+var t=_33.ownerSVGElement.createSVGTransform();
+t.setMatrix(m);
+_33.transform.baseVal.appendItem(t);
+}
+};
+dojo.svg.group=function(_3c){
+var p=_3c.item(0).parentNode;
+var g=document.createElementNS(this.xmlns.svg,"g");
+for(var i=0;i<_3c.length;i++){
+g.appendChild(_3c.item(i));
+}
+p.appendChild(g);
+return g;
+};
+dojo.svg.ungroup=function(g){
+var p=g.parentNode;
+while(g.childNodes.length>0){
+p.appendChild(g.childNodes.item(0));
+}
+p.removeChild(g);
+};
+dojo.svg.getGroup=function(_42){
+var a=this.getAncestors(_42);
+for(var i=0;i<a.length;i++){
+if(a[i].nodeType==this.ELEMENT_NODE&&a[i].nodeName.toLowerCase()=="g"){
+return a[i];
+}
+}
+return null;
+};
+dojo.svg.bringToFront=function(_45){
+var n=this.getGroup(_45)||_45;
+n.ownerSVGElement.appendChild(n);
+};
+dojo.svg.sendToBack=function(_47){
+var n=this.getGroup(_47)||_47;
+n.ownerSVGElement.insertBefore(n,n.ownerSVGElement.firstChild);
+};
+dojo.svg.bringForward=function(_49){
+var n=this.getGroup(_49)||_49;
+if(this.getLastChildElement(n.parentNode)!=n){
+this.insertAfter(n,this.getNextSiblingElement(n),true);
+}
+};
+dojo.svg.sendBackward=function(_4b){
+var n=this.getGroup(_4b)||_4b;
+if(this.getFirstChildElement(n.parentNode)!=n){
+this.insertBefore(n,this.getPreviousSiblingElement(n),true);
+}
+};
+dojo.svg.createNodesFromText=function(txt,_4e){
+var _4f=(new DOMParser()).parseFromString(txt,"text/xml").normalize();
+if(_4e){
+return [_4f.firstChild.cloneNode(true)];
+}
+var _50=[];
+for(var x=0;x<_4f.childNodes.length;x++){
+_50.push(_4f.childNodes.item(x).cloneNode(true));
+}
+return _50;
+};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/svg.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/__package__.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/__package__.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/__package__.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/__package__.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.kwCompoundRequire({common:["dojo.text.String","dojo.text.Builder"]});
+dojo.deprecated("dojo.text","textDirectory moved to cal, text.String and text.Builder havne't been here for awhile","0.5");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.require("dojo.cal.textDirectory");
+dojo.deprecate("dojo.text.textDirectory","use dojo.cal.textDirectory","0.5");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/text/textDirectory.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,8 @@
+dojo.provide("dojo.tlocale");
+dojo.require("dojo.i18n.common");
+dojo.requireLocalization("dojo.i18n.calendar","gregorian",null,"zh-cn,zh-hk,de,ko,zh-tw,zh,ja,fi,pt-br,fr,es,ROOT,hu,en,it,sv,nl,pt");
+dojo.requireLocalization("dojo.i18n.calendar","gregorianExtras",null,"zh,ja,ROOT");
+dojo.requireLocalization("dojo.widget","DatePicker",null,"");
+dojo.requireLocalization("dojo.widget","TimePicker",null,"ROOT");
+dojo.requireLocalization("dojo.widget","DropdownDatePicker",null,"ROOT");
+dojo.requireLocalization("dojo.widget","DropdownTimePicker",null,"ROOT");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/tlocale.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,137 @@
+dojo.provide("dojo.undo.Manager");
+dojo.require("dojo.lang.common");
+dojo.undo.Manager=function(_1){
+this.clear();
+this._parent=_1;
+};
+dojo.extend(dojo.undo.Manager,{_parent:null,_undoStack:null,_redoStack:null,_currentManager:null,canUndo:false,canRedo:false,isUndoing:false,isRedoing:false,onUndo:function(_2,_3){
+},onRedo:function(_4,_5){
+},onUndoAny:function(_6,_7){
+},onRedoAny:function(_8,_9){
+},_updateStatus:function(){
+this.canUndo=this._undoStack.length>0;
+this.canRedo=this._redoStack.length>0;
+},clear:function(){
+this._undoStack=[];
+this._redoStack=[];
+this._currentManager=this;
+this.isUndoing=false;
+this.isRedoing=false;
+this._updateStatus();
+},undo:function(){
+if(!this.canUndo){
+return false;
+}
+this.endAllTransactions();
+this.isUndoing=true;
+var _a=this._undoStack.pop();
+if(_a instanceof dojo.undo.Manager){
+_a.undoAll();
+}else{
+_a.undo();
+}
+if(_a.redo){
+this._redoStack.push(_a);
+}
+this.isUndoing=false;
+this._updateStatus();
+this.onUndo(this,_a);
+if(!(_a instanceof dojo.undo.Manager)){
+this.getTop().onUndoAny(this,_a);
+}
+return true;
+},redo:function(){
+if(!this.canRedo){
+return false;
+}
+this.isRedoing=true;
+var _b=this._redoStack.pop();
+if(_b instanceof dojo.undo.Manager){
+_b.redoAll();
+}else{
+_b.redo();
+}
+this._undoStack.push(_b);
+this.isRedoing=false;
+this._updateStatus();
+this.onRedo(this,_b);
+if(!(_b instanceof dojo.undo.Manager)){
+this.getTop().onRedoAny(this,_b);
+}
+return true;
+},undoAll:function(){
+while(this._undoStack.length>0){
+this.undo();
+}
+},redoAll:function(){
+while(this._redoStack.length>0){
+this.redo();
+}
+},push:function(_c,_d,_e){
+if(!_c){
+return;
+}
+if(this._currentManager==this){
+this._undoStack.push({undo:_c,redo:_d,description:_e});
+}else{
+this._currentManager.push.apply(this._currentManager,arguments);
+}
+this._redoStack=[];
+this._updateStatus();
+},concat:function(_f){
+if(!_f){
+return;
+}
+if(this._currentManager==this){
+for(var x=0;x<_f._undoStack.length;x++){
+this._undoStack.push(_f._undoStack[x]);
+}
+if(_f._undoStack.length>0){
+this._redoStack=[];
+}
+this._updateStatus();
+}else{
+this._currentManager.concat.apply(this._currentManager,arguments);
+}
+},beginTransaction:function(_11){
+if(this._currentManager==this){
+var mgr=new dojo.undo.Manager(this);
+mgr.description=_11?_11:"";
+this._undoStack.push(mgr);
+this._currentManager=mgr;
+return mgr;
+}else{
+this._currentManager=this._currentManager.beginTransaction.apply(this._currentManager,arguments);
+}
+},endTransaction:function(_13){
+if(this._currentManager==this){
+if(this._parent){
+this._parent._currentManager=this._parent;
+if(this._undoStack.length==0||_13){
+var idx=dojo.lang.find(this._parent._undoStack,this);
+if(idx>=0){
+this._parent._undoStack.splice(idx,1);
+if(_13){
+for(var x=0;x<this._undoStack.length;x++){
+this._parent._undoStack.splice(idx++,0,this._undoStack[x]);
+}
+this._updateStatus();
+}
+}
+}
+return this._parent;
+}
+}else{
+this._currentManager=this._currentManager.endTransaction.apply(this._currentManager,arguments);
+}
+},endAllTransactions:function(){
+while(this._currentManager!=this){
+this.endTransaction();
+}
+},getTop:function(){
+if(this._parent){
+return this._parent.getTop();
+}else{
+return this;
+}
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/Manager.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.require("dojo.undo.Manager");
+dojo.provide("dojo.undo.*");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,190 @@
+dojo.provide("dojo.undo.browser");
+dojo.require("dojo.io.common");
+try{
+if((!djConfig["preventBackButtonFix"])&&(!dojo.hostenv.post_load_)){
+document.write("<iframe style='border: 0px; width: 1px; height: 1px; position: absolute; bottom: 0px; right: 0px; visibility: visible;' name='djhistory' id='djhistory' src='"+(djConfig["dojoIframeHistoryUrl"]||dojo.hostenv.getBaseScriptUri()+"iframe_history.html")+"'></iframe>");
+}
+}
+catch(e){
+}
+if(dojo.render.html.opera){
+dojo.debug("Opera is not supported with dojo.undo.browser, so back/forward detection will not work.");
+}
+dojo.undo.browser={initialHref:(!dj_undef("window"))?window.location.href:"",initialHash:(!dj_undef("window"))?window.location.hash:"",moveForward:false,historyStack:[],forwardStack:[],historyIframe:null,bookmarkAnchor:null,locationTimer:null,setInitialState:function(_1){
+this.initialState=this._createState(this.initialHref,_1,this.initialHash);
+},addToHistory:function(_2){
+this.forwardStack=[];
+var _3=null;
+var _4=null;
+if(!this.historyIframe){
+if(djConfig["useXDomain"]&&!djConfig["dojoIframeHistoryUrl"]){
+dojo.debug("dojo.undo.browser: When using cross-domain Dojo builds,"+" please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl"+" to the path on your domain to iframe_history.html");
+}
+this.historyIframe=window.frames["djhistory"];
+}
+if(!this.bookmarkAnchor){
+this.bookmarkAnchor=document.createElement("a");
+dojo.body().appendChild(this.bookmarkAnchor);
+this.bookmarkAnchor.style.display="none";
+}
+if(_2["changeUrl"]){
+_3="#"+((_2["changeUrl"]!==true)?_2["changeUrl"]:(new Date()).getTime());
+if(this.historyStack.length==0&&this.initialState.urlHash==_3){
+this.initialState=this._createState(_4,_2,_3);
+return;
+}else{
+if(this.historyStack.length>0&&this.historyStack[this.historyStack.length-1].urlHash==_3){
+this.historyStack[this.historyStack.length-1]=this._createState(_4,_2,_3);
+return;
+}
+}
+this.changingUrl=true;
+setTimeout("window.location.href = '"+_3+"'; dojo.undo.browser.changingUrl = false;",1);
+this.bookmarkAnchor.href=_3;
+if(dojo.render.html.ie){
+_4=this._loadIframeHistory();
+var _5=_2["back"]||_2["backButton"]||_2["handle"];
+var _6=function(_7){
+if(window.location.hash!=""){
+setTimeout("window.location.href = '"+_3+"';",1);
+}
+_5.apply(this,[_7]);
+};
+if(_2["back"]){
+_2.back=_6;
+}else{
+if(_2["backButton"]){
+_2.backButton=_6;
+}else{
+if(_2["handle"]){
+_2.handle=_6;
+}
+}
+}
+var _8=_2["forward"]||_2["forwardButton"]||_2["handle"];
+var _9=function(_a){
+if(window.location.hash!=""){
+window.location.href=_3;
+}
+if(_8){
+_8.apply(this,[_a]);
+}
+};
+if(_2["forward"]){
+_2.forward=_9;
+}else{
+if(_2["forwardButton"]){
+_2.forwardButton=_9;
+}else{
+if(_2["handle"]){
+_2.handle=_9;
+}
+}
+}
+}else{
+if(dojo.render.html.moz){
+if(!this.locationTimer){
+this.locationTimer=setInterval("dojo.undo.browser.checkLocation();",200);
+}
+}
+}
+}else{
+_4=this._loadIframeHistory();
+}
+this.historyStack.push(this._createState(_4,_2,_3));
+},checkLocation:function(){
+if(!this.changingUrl){
+var _b=this.historyStack.length;
+if((window.location.hash==this.initialHash||window.location.href==this.initialHref)&&(_b==1)){
+this.handleBackButton();
+return;
+}
+if(this.forwardStack.length>0){
+if(this.forwardStack[this.forwardStack.length-1].urlHash==window.location.hash){
+this.handleForwardButton();
+return;
+}
+}
+if((_b>=2)&&(this.historyStack[_b-2])){
+if(this.historyStack[_b-2].urlHash==window.location.hash){
+this.handleBackButton();
+return;
+}
+}
+}
+},iframeLoaded:function(_c,_d){
+if(!dojo.render.html.opera){
+var _e=this._getUrlQuery(_d.href);
+if(_e==null){
+if(this.historyStack.length==1){
+this.handleBackButton();
+}
+return;
+}
+if(this.moveForward){
+this.moveForward=false;
+return;
+}
+if(this.historyStack.length>=2&&_e==this._getUrlQuery(this.historyStack[this.historyStack.length-2].url)){
+this.handleBackButton();
+}else{
+if(this.forwardStack.length>0&&_e==this._getUrlQuery(this.forwardStack[this.forwardStack.length-1].url)){
+this.handleForwardButton();
+}
+}
+}
+},handleBackButton:function(){
+var _f=this.historyStack.pop();
+if(!_f){
+return;
+}
+var _10=this.historyStack[this.historyStack.length-1];
+if(!_10&&this.historyStack.length==0){
+_10=this.initialState;
+}
+if(_10){
+if(_10.kwArgs["back"]){
+_10.kwArgs["back"]();
+}else{
+if(_10.kwArgs["backButton"]){
+_10.kwArgs["backButton"]();
+}else{
+if(_10.kwArgs["handle"]){
+_10.kwArgs.handle("back");
+}
+}
+}
+}
+this.forwardStack.push(_f);
+},handleForwardButton:function(){
+var _11=this.forwardStack.pop();
+if(!_11){
+return;
+}
+if(_11.kwArgs["forward"]){
+_11.kwArgs.forward();
+}else{
+if(_11.kwArgs["forwardButton"]){
+_11.kwArgs.forwardButton();
+}else{
+if(_11.kwArgs["handle"]){
+_11.kwArgs.handle("forward");
+}
+}
+}
+this.historyStack.push(_11);
+},_createState:function(url,_13,_14){
+return {"url":url,"kwArgs":_13,"urlHash":_14};
+},_getUrlQuery:function(url){
+var _16=url.split("?");
+if(_16.length<2){
+return null;
+}else{
+return _16[1];
+}
+},_loadIframeHistory:function(){
+var url=(djConfig["dojoIframeHistoryUrl"]||dojo.hostenv.getBaseScriptUri()+"iframe_history.html")+"?"+(new Date()).getTime();
+this.moveForward=true;
+dojo.io.setIFrameSrc(this.historyIframe,url,false);
+return url;
+}};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/undo/browser.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,79 @@
+dojo.provide("dojo.uri.Uri");
+dojo.uri=new function(){
+var _1=new RegExp("^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$");
+var _2=new RegExp("(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$");
+var _3=new RegExp("/(\\w+.css)");
+this.dojoUri=function(_4){
+return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri(),_4);
+};
+this.moduleUri=function(_5,_6){
+var _7=dojo.hostenv.getModuleSymbols(_5).join("/");
+if(!_7){
+return null;
+}
+if(_7.lastIndexOf("/")!=_7.length-1){
+_7+="/";
+}
+var _8=_7.indexOf(":");
+var _9=_7.indexOf("/");
+if(_7.charAt(0)!="/"&&(_8==-1||_8>_9)){
+_7=dojo.hostenv.getBaseScriptUri()+_7;
+}
+return new dojo.uri.Uri(_7,_6);
+};
+this.Uri=function(){
+var _a=arguments[0];
+if(_a&&arguments.length>1){
+var _b=_3.exec(_a);
+if(_b){
+_a=_a.toString().replace(_b[1],"");
+}
+}
+for(var i=1;i<arguments.length;i++){
+if(!arguments[i]){
+continue;
+}
+var _d=new dojo.uri.Uri(arguments[i].toString());
+var _e=new dojo.uri.Uri(_a.toString());
+if((_d.path=="")&&(_d.scheme==null)&&(_d.authority==null)&&(_d.query==null)){
+if(_d.fragment!=null){
+_e.fragment=_d.fragment;
+}
+_d=_e;
+}
+if(_d.scheme!=null&&_d.authority!=null){
+_a="";
+}
+if(_d.scheme!=null){
+_a+=_d.scheme+":";
+}
+if(_d.authority!=null){
+_a+="//"+_d.authority;
+}
+_a+=_d.path;
+if(_d.query!=null){
+_a+="?"+_d.query;
+}
+if(_d.fragment!=null){
+_a+="#"+_d.fragment;
+}
+}
+this.uri=_a.toString();
+var r=this.uri.match(_2);
+this.scheme=r[2]||(r[1]?"":null);
+this.authority=r[4]||(r[3]?"":null);
+this.path=r[5];
+this.query=r[7]||(r[6]?"":null);
+this.fragment=r[9]||(r[8]?"":null);
+if(this.authority!=null){
+r=this.authority.match(_1);
+this.user=r[3]||null;
+this.password=r[4]||null;
+this.host=r[5];
+this.port=r[7]||null;
+}
+this.toString=function(){
+return this.uri;
+};
+};
+};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/Uri.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,2 @@
+dojo.kwCompoundRequire({common:[["dojo.uri.Uri",false,false]]});
+dojo.provide("dojo.uri.*");

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/__package__.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,19 @@
+dojo.provide("dojo.uri.cache");
+dojo.uri.cache={_cache:{},set:function(_1,_2){
+this._cache[_1.toString()]=_2;
+return _1;
+},remove:function(_3){
+delete this._cache[_3.toString()];
+},get:function(_4){
+var _5=_4.toString();
+var _6=this._cache[_5];
+if(!_6){
+_6=dojo.hostenv.getText(_5);
+if(_6){
+this._cache[_5]=_6;
+}
+}
+return _6;
+},allow:function(_7){
+return _7;
+}};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uri/cache.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,29 @@
+dojo.provide("dojo.uuid.LightweightGenerator");
+dojo.uuid.LightweightGenerator=new function(){
+var _1=16;
+function _generateRandomEightCharacterHexString(){
+var _2=Math.floor((Math.random()%1)*Math.pow(2,32));
+var _3=_2.toString(_1);
+while(_3.length<8){
+_3="0"+_3;
+}
+return _3;
+}
+this.generate=function(_4){
+var _5="-";
+var _6="4";
+var _7="8";
+var a=_generateRandomEightCharacterHexString();
+var b=_generateRandomEightCharacterHexString();
+b=b.substring(0,4)+_5+_6+b.substring(5,8);
+var c=_generateRandomEightCharacterHexString();
+c=_7+c.substring(1,4)+_5+c.substring(4,8);
+var d=_generateRandomEightCharacterHexString();
+var _c=a+_5+b+_5+c+d;
+_c=_c.toLowerCase();
+if(_4&&(_4!=String)){
+_c=new _4(_c);
+}
+return _c;
+};
+}();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,11 @@
+dojo.provide("dojo.uuid.NameBasedGenerator");
+dojo.uuid.NameBasedGenerator=new function(){
+this.generate=function(_1){
+dojo.unimplemented("dojo.uuid.NameBasedGenerator.generate");
+var _2="00000000-0000-0000-0000-000000000000";
+if(_1&&(_1!=String)){
+_2=new _1(_2);
+}
+return _2;
+};
+}();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,10 @@
+dojo.provide("dojo.uuid.NilGenerator");
+dojo.uuid.NilGenerator=new function(){
+this.generate=function(_1){
+var _2="00000000-0000-0000-0000-000000000000";
+if(_1&&(_1!=String)){
+_2=new _1(_2);
+}
+return _2;
+};
+}();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,11 @@
+dojo.provide("dojo.uuid.RandomGenerator");
+dojo.uuid.RandomGenerator=new function(){
+this.generate=function(_1){
+dojo.unimplemented("dojo.uuid.RandomGenerator.generate");
+var _2="00000000-0000-0000-0000-000000000000";
+if(_1&&(_1!=String)){
+_2=new _1(_2);
+}
+return _2;
+};
+}();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,232 @@
+dojo.provide("dojo.uuid.TimeBasedGenerator");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.type");
+dojo.require("dojo.lang.assert");
+dojo.uuid.TimeBasedGenerator=new function(){
+this.GREGORIAN_CHANGE_OFFSET_IN_HOURS=3394248;
+var _1=null;
+var _2=null;
+var _3=null;
+var _4=0;
+var _5=null;
+var _6=null;
+var _7=null;
+var _8=16;
+function _carry(_9){
+_9[2]+=_9[3]>>>16;
+_9[3]&=65535;
+_9[1]+=_9[2]>>>16;
+_9[2]&=65535;
+_9[0]+=_9[1]>>>16;
+_9[1]&=65535;
+dojo.lang.assert((_9[0]>>>16)===0);
+}
+function _get64bitArrayFromFloat(x){
+var _b=new Array(0,0,0,0);
+_b[3]=x%65536;
+x-=_b[3];
+x/=65536;
+_b[2]=x%65536;
+x-=_b[2];
+x/=65536;
+_b[1]=x%65536;
+x-=_b[1];
+x/=65536;
+_b[0]=x;
+return _b;
+}
+function _addTwo64bitArrays(_c,_d){
+dojo.lang.assertType(_c,Array);
+dojo.lang.assertType(_d,Array);
+dojo.lang.assert(_c.length==4);
+dojo.lang.assert(_d.length==4);
+var _e=new Array(0,0,0,0);
+_e[3]=_c[3]+_d[3];
+_e[2]=_c[2]+_d[2];
+_e[1]=_c[1]+_d[1];
+_e[0]=_c[0]+_d[0];
+_carry(_e);
+return _e;
+}
+function _multiplyTwo64bitArrays(_f,_10){
+dojo.lang.assertType(_f,Array);
+dojo.lang.assertType(_10,Array);
+dojo.lang.assert(_f.length==4);
+dojo.lang.assert(_10.length==4);
+var _11=false;
+if(_f[0]*_10[0]!==0){
+_11=true;
+}
+if(_f[0]*_10[1]!==0){
+_11=true;
+}
+if(_f[0]*_10[2]!==0){
+_11=true;
+}
+if(_f[1]*_10[0]!==0){
+_11=true;
+}
+if(_f[1]*_10[1]!==0){
+_11=true;
+}
+if(_f[2]*_10[0]!==0){
+_11=true;
+}
+dojo.lang.assert(!_11);
+var _12=new Array(0,0,0,0);
+_12[0]+=_f[0]*_10[3];
+_carry(_12);
+_12[0]+=_f[1]*_10[2];
+_carry(_12);
+_12[0]+=_f[2]*_10[1];
+_carry(_12);
+_12[0]+=_f[3]*_10[0];
+_carry(_12);
+_12[1]+=_f[1]*_10[3];
+_carry(_12);
+_12[1]+=_f[2]*_10[2];
+_carry(_12);
+_12[1]+=_f[3]*_10[1];
+_carry(_12);
+_12[2]+=_f[2]*_10[3];
+_carry(_12);
+_12[2]+=_f[3]*_10[2];
+_carry(_12);
+_12[3]+=_f[3]*_10[3];
+_carry(_12);
+return _12;
+}
+function _padWithLeadingZeros(_13,_14){
+while(_13.length<_14){
+_13="0"+_13;
+}
+return _13;
+}
+function _generateRandomEightCharacterHexString(){
+var _15=Math.floor((Math.random()%1)*Math.pow(2,32));
+var _16=_15.toString(_8);
+while(_16.length<8){
+_16="0"+_16;
+}
+return _16;
+}
+function _generateUuidString(_17){
+dojo.lang.assertType(_17,String,{optional:true});
+if(_17){
+dojo.lang.assert(_17.length==12);
+}else{
+if(_7){
+_17=_7;
+}else{
+if(!_1){
+var _18=32768;
+var _19=Math.floor((Math.random()%1)*Math.pow(2,15));
+var _1a=(_18|_19).toString(_8);
+_1=_1a+_generateRandomEightCharacterHexString();
+}
+_17=_1;
+}
+}
+if(!_2){
+var _1b=32768;
+var _1c=Math.floor((Math.random()%1)*Math.pow(2,14));
+_2=(_1b|_1c).toString(_8);
+}
+var now=new Date();
+var _1e=now.valueOf();
+var _1f=_get64bitArrayFromFloat(_1e);
+if(!_5){
+var _20=_get64bitArrayFromFloat(60*60);
+var _21=_get64bitArrayFromFloat(dojo.uuid.TimeBasedGenerator.GREGORIAN_CHANGE_OFFSET_IN_HOURS);
+var _22=_multiplyTwo64bitArrays(_21,_20);
+var _23=_get64bitArrayFromFloat(1000);
+_5=_multiplyTwo64bitArrays(_22,_23);
+_6=_get64bitArrayFromFloat(10000);
+}
+var _24=_1f;
+var _25=_addTwo64bitArrays(_5,_24);
+var _26=_multiplyTwo64bitArrays(_25,_6);
+if(now.valueOf()==_3){
+_26[3]+=_4;
+_carry(_26);
+_4+=1;
+if(_4==10000){
+while(now.valueOf()==_3){
+now=new Date();
+}
+}
+}else{
+_3=now.valueOf();
+_4=1;
+}
+var _27=_26[2].toString(_8);
+var _28=_26[3].toString(_8);
+var _29=_padWithLeadingZeros(_27,4)+_padWithLeadingZeros(_28,4);
+var _2a=_26[1].toString(_8);
+_2a=_padWithLeadingZeros(_2a,4);
+var _2b=_26[0].toString(_8);
+_2b=_padWithLeadingZeros(_2b,3);
+var _2c="-";
+var _2d="1";
+var _2e=_29+_2c+_2a+_2c+_2d+_2b+_2c+_2+_2c+_17;
+_2e=_2e.toLowerCase();
+return _2e;
+}
+this.setNode=function(_2f){
+dojo.lang.assert((_2f===null)||(_2f.length==12));
+_7=_2f;
+};
+this.getNode=function(){
+return _7;
+};
+this.generate=function(_30){
+var _31=null;
+var _32=null;
+if(_30){
+if(dojo.lang.isObject(_30)&&!dojo.lang.isBuiltIn(_30)){
+var _33=_30;
+dojo.lang.assertValidKeywords(_33,["node","hardwareNode","pseudoNode","returnType"]);
+var _34=_33["node"];
+var _35=_33["hardwareNode"];
+var _36=_33["pseudoNode"];
+_31=(_34||_36||_35);
+if(_31){
+var _37=_31.charAt(0);
+var _38=parseInt(_37,_8);
+if(_35){
+dojo.lang.assert((_38>=0)&&(_38<=7));
+}
+if(_36){
+dojo.lang.assert((_38>=8)&&(_38<=15));
+}
+}
+_32=_33["returnType"];
+dojo.lang.assertType(_32,Function,{optional:true});
+}else{
+if(dojo.lang.isString(_30)){
+_31=_30;
+_32=null;
+}else{
+if(dojo.lang.isFunction(_30)){
+_31=null;
+_32=_30;
+}
+}
+}
+if(_31){
+dojo.lang.assert(_31.length==12);
+var _39=parseInt(_31,_8);
+dojo.lang.assert(isFinite(_39));
+}
+dojo.lang.assertType(_32,Function,{optional:true});
+}
+var _3a=_generateUuidString(_31);
+var _3b;
+if(_32&&(_32!=String)){
+_3b=new _32(_3a);
+}else{
+_3b=_3a;
+}
+return _3b;
+};
+}();

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/Uuid.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/Uuid.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/Uuid.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/uuid/Uuid.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,202 @@
+dojo.provide("dojo.uuid.Uuid");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.assert");
+dojo.uuid.Uuid=function(_1){
+this._uuidString=dojo.uuid.Uuid.NIL_UUID;
+if(_1){
+if(dojo.lang.isString(_1)){
+this._uuidString=_1.toLowerCase();
+dojo.lang.assert(this.isValid());
+}else{
+if(dojo.lang.isObject(_1)&&_1.generate){
+var _2=_1;
+this._uuidString=_2.generate();
+dojo.lang.assert(this.isValid());
+}else{
+dojo.lang.assert(false,"The dojo.uuid.Uuid() constructor must be initializated with a UUID string.");
+}
+}
+}else{
+var _3=dojo.uuid.Uuid.getGenerator();
+if(_3){
+this._uuidString=_3.generate();
+dojo.lang.assert(this.isValid());
+}
+}
+};
+dojo.uuid.Uuid.NIL_UUID="00000000-0000-0000-0000-000000000000";
+dojo.uuid.Uuid.Version={UNKNOWN:0,TIME_BASED:1,DCE_SECURITY:2,NAME_BASED_MD5:3,RANDOM:4,NAME_BASED_SHA1:5};
+dojo.uuid.Uuid.Variant={NCS:"0",DCE:"10",MICROSOFT:"110",UNKNOWN:"111"};
+dojo.uuid.Uuid.HEX_RADIX=16;
+dojo.uuid.Uuid.compare=function(_4,_5){
+var _6=_4.toString();
+var _7=_5.toString();
+if(_6>_7){
+return 1;
+}
+if(_6<_7){
+return -1;
+}
+return 0;
+};
+dojo.uuid.Uuid.setGenerator=function(_8){
+dojo.lang.assert(!_8||(dojo.lang.isObject(_8)&&_8.generate));
+dojo.uuid.Uuid._ourGenerator=_8;
+};
+dojo.uuid.Uuid.getGenerator=function(){
+return dojo.uuid.Uuid._ourGenerator;
+};
+dojo.uuid.Uuid.prototype.toString=function(_9){
+if(_9){
+switch(_9){
+case "{}":
+return "{"+this._uuidString+"}";
+break;
+case "()":
+return "("+this._uuidString+")";
+break;
+case "\"\"":
+return "\""+this._uuidString+"\"";
+break;
+case "''":
+return "'"+this._uuidString+"'";
+break;
+case "urn":
+return "urn:uuid:"+this._uuidString;
+break;
+case "!-":
+return this._uuidString.split("-").join("");
+break;
+default:
+dojo.lang.assert(false,"The toString() method of dojo.uuid.Uuid was passed a bogus format.");
+}
+}else{
+return this._uuidString;
+}
+};
+dojo.uuid.Uuid.prototype.compare=function(_a){
+return dojo.uuid.Uuid.compare(this,_a);
+};
+dojo.uuid.Uuid.prototype.isEqual=function(_b){
+return (this.compare(_b)==0);
+};
+dojo.uuid.Uuid.prototype.isValid=function(){
+try{
+dojo.lang.assertType(this._uuidString,String);
+dojo.lang.assert(this._uuidString.length==36);
+dojo.lang.assert(this._uuidString==this._uuidString.toLowerCase());
+var _c=this._uuidString.split("-");
+dojo.lang.assert(_c.length==5);
+dojo.lang.assert(_c[0].length==8);
+dojo.lang.assert(_c[1].length==4);
+dojo.lang.assert(_c[2].length==4);
+dojo.lang.assert(_c[3].length==4);
+dojo.lang.assert(_c[4].length==12);
+for(var i in _c){
+var _e=_c[i];
+var _f=parseInt(_e,dojo.uuid.Uuid.HEX_RADIX);
+dojo.lang.assert(isFinite(_f));
+}
+return true;
+}
+catch(e){
+return false;
+}
+};
+dojo.uuid.Uuid.prototype.getVariant=function(){
+var _10=this._uuidString.charAt(19);
+var _11=parseInt(_10,dojo.uuid.Uuid.HEX_RADIX);
+dojo.lang.assert((_11>=0)&&(_11<=16));
+if(!dojo.uuid.Uuid._ourVariantLookupTable){
+var _12=dojo.uuid.Uuid.Variant;
+var _13=[];
+_13[0]=_12.NCS;
+_13[1]=_12.NCS;
+_13[2]=_12.NCS;
+_13[3]=_12.NCS;
+_13[4]=_12.NCS;
+_13[5]=_12.NCS;
+_13[6]=_12.NCS;
+_13[7]=_12.NCS;
+_13[8]=_12.DCE;
+_13[9]=_12.DCE;
+_13[10]=_12.DCE;
+_13[11]=_12.DCE;
+_13[12]=_12.MICROSOFT;
+_13[13]=_12.MICROSOFT;
+_13[14]=_12.UNKNOWN;
+_13[15]=_12.UNKNOWN;
+dojo.uuid.Uuid._ourVariantLookupTable=_13;
+}
+return dojo.uuid.Uuid._ourVariantLookupTable[_11];
+};
+dojo.uuid.Uuid.prototype.getVersion=function(){
+if(!this._versionNumber){
+var _14="Called getVersion() on a dojo.uuid.Uuid that was not a DCE Variant UUID.";
+dojo.lang.assert(this.getVariant()==dojo.uuid.Uuid.Variant.DCE,_14);
+var _15=this._uuidString.charAt(14);
+this._versionNumber=parseInt(_15,dojo.uuid.Uuid.HEX_RADIX);
+}
+return this._versionNumber;
+};
+dojo.uuid.Uuid.prototype.getNode=function(){
+if(!this._nodeString){
+var _16="Called getNode() on a dojo.uuid.Uuid that was not a TIME_BASED UUID.";
+dojo.lang.assert(this.getVersion()==dojo.uuid.Uuid.Version.TIME_BASED,_16);
+var _17=this._uuidString.split("-");
+this._nodeString=_17[4];
+}
+return this._nodeString;
+};
+dojo.uuid.Uuid.prototype.getTimestamp=function(_18){
+var _19="Called getTimestamp() on a dojo.uuid.Uuid that was not a TIME_BASED UUID.";
+dojo.lang.assert(this.getVersion()==dojo.uuid.Uuid.Version.TIME_BASED,_19);
+if(!_18){
+_18=null;
+}
+switch(_18){
+case "string":
+case String:
+return this.getTimestamp(Date).toUTCString();
+break;
+case "hex":
+if(!this._timestampAsHexString){
+var _1a=this._uuidString.split("-");
+var _1b=_1a[0];
+var _1c=_1a[1];
+var _1d=_1a[2];
+_1d=_1d.slice(1);
+this._timestampAsHexString=_1d+_1c+_1b;
+dojo.lang.assert(this._timestampAsHexString.length==15);
+}
+return this._timestampAsHexString;
+break;
+case null:
+case "date":
+case Date:
+if(!this._timestampAsDate){
+var _1e=3394248;
+var _1f=this._uuidString.split("-");
+var _20=parseInt(_1f[0],dojo.uuid.Uuid.HEX_RADIX);
+var _21=parseInt(_1f[1],dojo.uuid.Uuid.HEX_RADIX);
+var _22=parseInt(_1f[2],dojo.uuid.Uuid.HEX_RADIX);
+var _23=_22&4095;
+_23<<=16;
+_23+=_21;
+_23*=4294967296;
+_23+=_20;
+var _24=_23/10000;
+var _25=60*60;
+var _26=_1e;
+var _27=_26*_25;
+var _28=_27*1000;
+var _29=_24-_28;
+this._timestampAsDate=new Date(_29);
+}
+return this._timestampAsDate;
+break;
+default:
+dojo.lang.assert(false,"The getTimestamp() method dojo.uuid.Uuid was passed a bogus returnType: "+_18);
+break;
+}
+};