/*
	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
*/

/*
	This is a compiled version of Dojo, built for deployment and not for
	development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.
*/

if(!dojo._hasResource["dojox.storage.Provider"]){dojo._hasResource["dojox.storage.Provider"]=true;dojo.provide("dojox.storage.Provider");dojo.declare("dojox.storage.Provider",function(){},{SUCCESS:"success",FAILED:"failed",PENDING:"pending",SIZE_NOT_AVAILABLE:"Size not available",SIZE_NO_LIMIT:"No size limit",DEFAULT_NAMESPACE:"default",onHideSettingsUI:null,initialize:function(){console.warn("dojox.storage.initialize not implemented");},isAvailable:function(){console.warn("dojox.storage.isAvailable not implemented");},put:function(_1,_2,_3,_4){console.warn("dojox.storage.put not implemented");},get:function(_5,_6){console.warn("dojox.storage.get not implemented");},hasKey:function(_7,_8){return (this.get(_7)!=null);},getKeys:function(_9){console.warn("dojox.storage.getKeys not implemented");},clear:function(_a){console.warn("dojox.storage.clear not implemented");},remove:function(_b,_c){console.warn("dojox.storage.remove not implemented");},getNamespaces:function(){console.warn("dojox.storage.getNamespaces not implemented");},isPermanent:function(){console.warn("dojox.storage.isPermanent not implemented");},getMaximumSize:function(){console.warn("dojox.storage.getMaximumSize not implemented");},hasSettingsUI:function(){return false;},showSettingsUI:function(){console.warn("dojox.storage.showSettingsUI not implemented");},hideSettingsUI:function(){console.warn("dojox.storage.hideSettingsUI not implemented");},isValidKey:function(_d){if((_d==null)||(typeof _d=="undefined")){return false;}return /^[0-9A-Za-z_]*$/.test(_d);},getResourceList:function(){return [];}});}if(!dojo._hasResource["dojox.storage.manager"]){dojo._hasResource["dojox.storage.manager"]=true;dojo.provide("dojox.storage.manager");dojox.storage.manager=new function(){this.currentProvider=null;this.available=false;this._initialized=false;this._providers=[];this._onLoadListeners=[];this.initialize=function(){this.autodetect();};this.register=function(_e,_f){this._providers[this._providers.length]=_f;this._providers[_e]=_f;};this.setProvider=function(_10){};this.autodetect=function(){if(this._initialized){return;}var _11=djConfig["forceStorageProvider"]||false;var _12;for(var i=0;i<this._providers.length;i++){_12=this._providers[i];if(_11==_12.declaredClass){_12.isAvailable();break;}else{if(_12.isAvailable()){break;}}}if(!_12){this._initialized=true;this.available=false;this.currentProvider=null;console.warn("No storage provider found for this platform");this.loaded();return;}this.currentProvider=_12;dojo.mixin(dojox.storage,this.currentProvider);dojox.storage.initialize();this._initialized=true;this.available=true;};this.isAvailable=function(){return this.available;};this.addOnLoad=function(_14){this._onLoadListeners.push(_14);if(this.isInitialized()){this._fireLoaded();}};this.removeOnLoad=function(_15){for(var i=0;i<this._onLoadListeners.length;i++){if(_15==this._onLoadListeners[i]){this._onLoadListeners=this._onLoadListeners.splice(i,1);break;}}};this.isInitialized=function(){if(this.currentProvider!=null&&this.currentProvider.declaredClass=="dojox.storage.browser.FlashStorageProvider"&&dojox.flash.ready==false){return false;}else{return this._initialized;}};this.supportsProvider=function(_17){try{var _18=eval("new "+_17+"()");var _19=_18.isAvailable();if(!_19){return false;}return _19;}catch(e){return false;}};this.getProvider=function(){return this.currentProvider;};this.loaded=function(){this._fireLoaded();};this._fireLoaded=function(){dojo.forEach(this._onLoadListeners,function(i){try{i();}catch(e){console.debug(e);}});};this.getResourceList=function(){var _1b=[];dojo.forEach(dojox.storage.manager._providers,function(_1c){_1b=_1b.concat(_1c.getResourceList());});return _1b;};};}if(!dojo._hasResource["dojox._sql._crypto"]){dojo._hasResource["dojox._sql._crypto"]=true;dojo.provide("dojox._sql._crypto");dojo.mixin(dojox._sql._crypto,{_POOL_SIZE:100,encrypt:function(_1d,_1e,_1f){this._initWorkerPool();var msg={plaintext:_1d,password:_1e};msg=dojo.toJson(msg);msg="encr:"+String(msg);this._assignWork(msg,_1f);},decrypt:function(_21,_22,_23){this._initWorkerPool();var msg={ciphertext:_21,password:_22};msg=dojo.toJson(msg);msg="decr:"+String(msg);this._assignWork(msg,_23);},_initWorkerPool:function(){if(!this._manager){try{this._manager=google.gears.factory.create("beta.workerpool","1.0");this._unemployed=[];this._employed={};this._handleMessage=[];var _25=this;this._manager.onmessage=function(msg,_27){var _28=_25._employed["_"+_27];_25._employed["_"+_27]=undefined;_25._unemployed.push("_"+_27);if(_25._handleMessage.length){var _29=_25._handleMessage.shift();_25._assignWork(_29.msg,_29.callback);}_28(msg);};var _2a="function _workerInit(){"+"gearsWorkerPool.onmessage = "+String(this._workerHandler)+";"+"}";var _2b=_2a+" _workerInit();";for(var i=0;i<this._POOL_SIZE;i++){this._unemployed.push("_"+this._manager.createWorker(_2b));}}catch(exp){throw exp.message||exp;}}},_assignWork:function(msg,_2e){if(!this._handleMessage.length&&this._unemployed.length){var _2f=this._unemployed.shift().substring(1);this._employed["_"+_2f]=_2e;this._manager.sendMessage(msg,_2f);}else{this._handleMessage={msg:msg,callback:_2e};}},_workerHandler:function(msg,_31){var _32=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22];var _33=[[0,0,0,0],[1,0,0,0],[2,0,0,0],[4,0,0,0],[8,0,0,0],[16,0,0,0],[32,0,0,0],[64,0,0,0],[128,0,0,0],[27,0,0,0],[54,0,0,0]];function Cipher(_34,w){var Nb=4;var Nr=w.length/Nb-1;var _38=[[],[],[],[]];for(var i=0;i<4*Nb;i++){_38[i%4][Math.floor(i/4)]=_34[i];}_38=AddRoundKey(_38,w,0,Nb);for(var _3a=1;_3a<Nr;_3a++){_38=SubBytes(_38,Nb);_38=ShiftRows(_38,Nb);_38=MixColumns(_38,Nb);_38=AddRoundKey(_38,w,_3a,Nb);}_38=SubBytes(_38,Nb);_38=ShiftRows(_38,Nb);_38=AddRoundKey(_38,w,Nr,Nb);var _3b=new Array(4*Nb);for(var i=0;i<4*Nb;i++){_3b[i]=_38[i%4][Math.floor(i/4)];}return _3b;};function SubBytes(s,Nb){for(var r=0;r<4;r++){for(var c=0;c<Nb;c++){s[r][c]=_32[s[r][c]];}}return s;};function ShiftRows(s,Nb){var t=new Array(4);for(var r=1;r<4;r++){for(var c=0;c<4;c++){t[c]=s[r][(c+r)%Nb];}for(var c=0;c<4;c++){s[r][c]=t[c];}}return s;};function MixColumns(s,Nb){for(var c=0;c<4;c++){var a=new Array(4);var b=new Array(4);for(var i=0;i<4;i++){a[i]=s[i][c];b[i]=s[i][c]&128?s[i][c]<<1^283:s[i][c]<<1;}s[0][c]=b[0]^a[1]^b[1]^a[2]^a[3];s[1][c]=a[0]^b[1]^a[2]^b[2]^a[3];s[2][c]=a[0]^a[1]^b[2]^a[3]^b[3];s[3][c]=a[0]^b[0]^a[1]^a[2]^b[3];}return s;};function AddRoundKey(_4b,w,rnd,Nb){for(var r=0;r<4;r++){for(var c=0;c<Nb;c++){_4b[r][c]^=w[rnd*4+c][r];}}return _4b;};function KeyExpansion(key){var Nb=4;var Nk=key.length/4;var Nr=Nk+6;var w=new Array(Nb*(Nr+1));var _56=new Array(4);for(var i=0;i<Nk;i++){var r=[key[4*i],key[4*i+1],key[4*i+2],key[4*i+3]];w[i]=r;}for(var i=Nk;i<(Nb*(Nr+1));i++){w[i]=new Array(4);for(var t=0;t<4;t++){_56[t]=w[i-1][t];}if(i%Nk==0){_56=SubWord(RotWord(_56));for(var t=0;t<4;t++){_56[t]^=_33[i/Nk][t];}}else{if(Nk>6&&i%Nk==4){_56=SubWord(_56);}}for(var t=0;t<4;t++){w[i][t]=w[i-Nk][t]^_56[t];}}return w;};function SubWord(w){for(var i=0;i<4;i++){w[i]=_32[w[i]];}return w;};function RotWord(w){w[4]=w[0];for(var i=0;i<4;i++){w[i]=w[i+1];}return w;};function AESEncryptCtr(_5e,_5f,_60){if(!(_60==128||_60==192||_60==256)){return "";}var _61=_60/8;var _62=new Array(_61);for(var i=0;i<_61;i++){_62[i]=_5f.charCodeAt(i)&255;}var key=Cipher(_62,KeyExpansion(_62));key=key.concat(key.slice(0,_61-16));var _65=16;var _66=new Array(_65);var _67=(new Date()).getTime();for(var i=0;i<4;i++){_66[i]=(_67>>>i*8)&255;}for(var i=0;i<4;i++){_66[i+4]=(_67/4294967296>>>i*8)&255;}var _68=KeyExpansion(key);var _69=Math.ceil(_5e.length/_65);var _6a=new Array(_69);for(var b=0;b<_69;b++){for(var c=0;c<4;c++){_66[15-c]=(b>>>c*8)&255;}for(var c=0;c<4;c++){_66[15-c-4]=(b/4294967296>>>c*8);}var _6d=Cipher(_66,_68);var _6e=b<_69-1?_65:(_5e.length-1)%_65+1;var ct="";for(var i=0;i<_6e;i++){var _70=_5e.charCodeAt(b*_65+i);var _71=_70^_6d[i];ct+=String.fromCharCode(_71);}_6a[b]=escCtrlChars(ct);}var _72="";for(var i=0;i<8;i++){_72+=String.fromCharCode(_66[i]);}_72=escCtrlChars(_72);return _72+"-"+_6a.join("-");};function AESDecryptCtr(_73,_74,_75){if(!(_75==128||_75==192||_75==256)){return "";}var _76=_75/8;var _77=new Array(_76);for(var i=0;i<_76;i++){_77[i]=_74.charCodeAt(i)&255;}var _79=KeyExpansion(_77);var key=Cipher(_77,_79);key=key.concat(key.slice(0,_76-16));var _7b=KeyExpansion(key);_73=_73.split("-");var _7c=16;var _7d=new Array(_7c);var _7e=unescCtrlChars(_73[0]);for(var i=0;i<8;i++){_7d[i]=_7e.charCodeAt(i);}var _7f=new Array(_73.length-1);for(var b=1;b<_73.length;b++){for(var c=0;c<4;c++){_7d[15-c]=((b-1)>>>c*8)&255;}for(var c=0;c<4;c++){_7d[15-c-4]=((b/4294967296-1)>>>c*8)&255;}var _82=Cipher(_7d,_7b);_73[b]=unescCtrlChars(_73[b]);var pt="";for(var i=0;i<_73[b].length;i++){var _84=_73[b].charCodeAt(i);var _85=_84^_82[i];pt+=String.fromCharCode(_85);}_7f[b-1]=pt;}return _7f.join("");};function escCtrlChars(str){return str.replace(/[\0\t\n\v\f\r\xa0!-]/g,function(c){return "!"+c.charCodeAt(0)+"!";});};function unescCtrlChars(str){return str.replace(/!\d\d?\d?!/g,function(c){return String.fromCharCode(c.slice(1,-1));});};function encrypt(_8a,_8b){return AESEncryptCtr(_8a,_8b,256);};function decrypt(_8c,_8d){return AESDecryptCtr(_8c,_8d,256);};var cmd=msg.substr(0,4);var arg=msg.substr(5);if(cmd=="encr"){arg=eval("("+arg+")");var _90=arg.plaintext;var _91=arg.password;var _92=encrypt(_90,_91);gearsWorkerPool.sendMessage(String(_92),_31);}else{if(cmd=="decr"){arg=eval("("+arg+")");var _93=arg.ciphertext;var _91=arg.password;var _92=decrypt(_93,_91);gearsWorkerPool.sendMessage(String(_92),_31);}}}});}if(!dojo._hasResource["dojox._sql.common"]){dojo._hasResource["dojox._sql.common"]=true;dojo.provide("dojox._sql.common");dojox.sql=new Function("return dojox.sql._exec(arguments);");dojo.mixin(dojox.sql,{dbName:null,debug:(dojo.exists("dojox.sql.debug")?dojox.sql.debug:false),open:function(_94){if(this._dbOpen&&(!_94||_94==this.dbName)){return;}if(!this.dbName){this.dbName="dot_store_"+window.location.href.replace(/[^0-9A-Za-z_]/g,"_");}if(!_94){_94=this.dbName;}try{this._initDb();this.db.open(_94);this._dbOpen=true;}catch(exp){throw exp.message||exp;}},close:function(_95){if(dojo.isIE){return;}if(!this._dbOpen&&(!_95||_95==this.dbName)){return;}if(!_95){_95=this.dbName;}try{this.db.close(_95);this._dbOpen=false;}catch(exp){throw exp.message||exp;}},_exec:function(_96){try{this._initDb();if(!this._dbOpen){this.open();this._autoClose=true;}var sql=null;var _98=null;var _99=null;var _9a=dojo._toArray(_96);sql=_9a.splice(0,1)[0];if(this._needsEncrypt(sql)||this._needsDecrypt(sql)){_98=_9a.splice(_9a.length-1,1)[0];_99=_9a.splice(_9a.length-1,1)[0];}if(this.debug){this._printDebugSQL(sql,_9a);}if(this._needsEncrypt(sql)){var _9b=new dojox.sql._SQLCrypto("encrypt",sql,_99,_9a,_98);return;}else{if(this._needsDecrypt(sql)){var _9b=new dojox.sql._SQLCrypto("decrypt",sql,_99,_9a,_98);return;}}var rs=this.db.execute(sql,_9a);rs=this._normalizeResults(rs);if(this._autoClose){this.close();}return rs;}catch(exp){exp=exp.message||exp;console.debug("SQL Exception: "+exp);if(this._autoClose){try{this.close();}catch(e){console.debug("Error closing database: "+e.message||e);}}throw exp;}},_initDb:function(){if(!this.db){try{this.db=google.gears.factory.create("beta.database","1.0");}catch(exp){dojo.setObject("google.gears.denied",true);dojox.off.onFrameworkEvent("coreOperationFailed");throw "Google Gears must be allowed to run";}}},_printDebugSQL:function(sql,_9e){var msg="dojox.sql(\""+sql+"\"";for(var i=0;i<_9e.length;i++){if(typeof _9e[i]=="string"){msg+=", \""+_9e[i]+"\"";}else{msg+=", "+_9e[i];}}msg+=")";console.debug(msg);},_normalizeResults:function(rs){var _a2=[];if(!rs){return [];}while(rs.isValidRow()){var row={};for(var i=0;i<rs.fieldCount();i++){var _a5=rs.fieldName(i);var _a6=rs.field(i);row[_a5]=_a6;}_a2.push(row);rs.next();}rs.close();return _a2;},_needsEncrypt:function(sql){return /encrypt\([^\)]*\)/i.test(sql);},_needsDecrypt:function(sql){return /decrypt\([^\)]*\)/i.test(sql);}});dojo.declare("dojox.sql._SQLCrypto",null,function(_a9,sql,_ab,_ac,_ad){if(_a9=="encrypt"){this._execEncryptSQL(sql,_ab,_ac,_ad);}else{this._execDecryptSQL(sql,_ab,_ac,_ad);}},{_execEncryptSQL:function(sql,_af,_b0,_b1){var _b2=this._stripCryptoSQL(sql);var _b3=this._flagEncryptedArgs(sql,_b0);var _b4=this;this._encrypt(_b2,_af,_b0,_b3,function(_b5){var _b6=false;var _b7=[];var exp=null;try{_b7=dojox.sql.db.execute(_b2,_b5);}catch(execError){_b6=true;exp=execError.message||execError;}if(exp!=null){if(dojox.sql._autoClose){try{dojox.sql.close();}catch(e){}}_b1(null,true,exp.toString());return;}_b7=dojox.sql._normalizeResults(_b7);if(dojox.sql._autoClose){dojox.sql.close();}if(dojox.sql._needsDecrypt(sql)){var _b9=_b4._determineDecryptedColumns(sql);_b4._decrypt(_b7,_b9,_af,function(_ba){_b1(_ba,false,null);});}else{_b1(_b7,false,null);}});},_execDecryptSQL:function(sql,_bc,_bd,_be){var _bf=this._stripCryptoSQL(sql);var _c0=this._determineDecryptedColumns(sql);var _c1=false;var _c2=[];var exp=null;try{_c2=dojox.sql.db.execute(_bf,_bd);}catch(execError){_c1=true;exp=execError.message||execError;}if(exp!=null){if(dojox.sql._autoClose){try{dojox.sql.close();}catch(e){}}_be(_c2,true,exp.toString());return;}_c2=dojox.sql._normalizeResults(_c2);if(dojox.sql._autoClose){dojox.sql.close();}this._decrypt(_c2,_c0,_bc,function(_c4){_be(_c4,false,null);});},_encrypt:function(sql,_c6,_c7,_c8,_c9){this._totalCrypto=0;this._finishedCrypto=0;this._finishedSpawningCrypto=false;this._finalArgs=_c7;for(var i=0;i<_c7.length;i++){if(_c8[i]){var _cb=_c7[i];var _cc=i;this._totalCrypto++;dojox._sql._crypto.encrypt(_cb,_c6,dojo.hitch(this,function(_cd){this._finalArgs[_cc]=_cd;this._finishedCrypto++;if(this._finishedCrypto>=this._totalCrypto&&this._finishedSpawningCrypto){_c9(this._finalArgs);}}));}}this._finishedSpawningCrypto=true;},_decrypt:function(_ce,_cf,_d0,_d1){this._totalCrypto=0;this._finishedCrypto=0;this._finishedSpawningCrypto=false;this._finalResultSet=_ce;for(var i=0;i<_ce.length;i++){var row=_ce[i];for(var _d4 in row){if(_cf=="*"||_cf[_d4]){this._totalCrypto++;var _d5=row[_d4];this._decryptSingleColumn(_d4,_d5,_d0,i,function(_d6){_d1(_d6);});}}}this._finishedSpawningCrypto=true;},_stripCryptoSQL:function(sql){sql=sql.replace(/DECRYPT\(\*\)/ig,"*");var _d8=sql.match(/ENCRYPT\([^\)]*\)/ig);if(_d8!=null){for(var i=0;i<_d8.length;i++){var _da=_d8[i];var _db=_da.match(/ENCRYPT\(([^\)]*)\)/i)[1];sql=sql.replace(_da,_db);}}_d8=sql.match(/DECRYPT\([^\)]*\)/ig);if(_d8!=null){for(var i=0;i<_d8.length;i++){var _dc=_d8[i];var _dd=_dc.match(/DECRYPT\(([^\)]*)\)/i)[1];sql=sql.replace(_dc,_dd);}}return sql;},_flagEncryptedArgs:function(sql,_df){var _e0=new RegExp(/([\"][^\"]*\?[^\"]*[\"])|([\'][^\']*\?[^\']*[\'])|(\?)/ig);var _e1;var _e2=0;var _e3=[];while((_e1=_e0.exec(sql))!=null){var _e4=RegExp.lastMatch+"";if(/^[\"\']/.test(_e4)){continue;}var _e5=false;if(/ENCRYPT\([^\)]*$/i.test(RegExp.leftContext)){_e5=true;}_e3[_e2]=_e5;_e2++;}return _e3;},_determineDecryptedColumns:function(sql){var _e7={};if(/DECRYPT\(\*\)/i.test(sql)){_e7="*";}else{var _e8=/DECRYPT\((?:\s*\w*\s*\,?)*\)/ig;var _e9;while(_e9=_e8.exec(sql)){var _ea=new String(RegExp.lastMatch);var _eb=_ea.replace(/DECRYPT\(/i,"");_eb=_eb.replace(/\)/,"");_eb=_eb.split(/\s*,\s*/);dojo.forEach(_eb,function(_ec){if(/\s*\w* AS (\w*)/i.test(_ec)){_ec=_ec.match(/\s*\w* AS (\w*)/i)[1];}_e7[_ec]=true;});}}return _e7;},_decryptSingleColumn:function(_ed,_ee,_ef,_f0,_f1){dojox._sql._crypto.decrypt(_ee,_ef,dojo.hitch(this,function(_f2){this._finalResultSet[_f0][_ed]=_f2;this._finishedCrypto++;if(this._finishedCrypto>=this._totalCrypto&&this._finishedSpawningCrypto){_f1(this._finalResultSet);}}));}});}if(!dojo._hasResource["dojox.sql"]){dojo._hasResource["dojox.sql"]=true;dojo.provide("dojox.sql");}if(!dojo._hasResource["dojox.storage.GearsStorageProvider"]){dojo._hasResource["dojox.storage.GearsStorageProvider"]=true;dojo.provide("dojox.storage.GearsStorageProvider");if(dojo.isGears){(function(){dojo.declare("dojox.storage.GearsStorageProvider",[dojox.storage.Provider],function(){},{TABLE_NAME:"__DOJO_STORAGE",initialized:false,_available:null,initialize:function(){if(djConfig["disableGearsStorage"]==true){return;}this.TABLE_NAME="__DOJO_STORAGE";try{dojox.sql("CREATE TABLE IF NOT EXISTS "+this.TABLE_NAME+"( "+" namespace TEXT, "+" key TEXT, "+" value TEXT "+")");dojox.sql("CREATE UNIQUE INDEX IF NOT EXISTS namespace_key_index"+" ON "+this.TABLE_NAME+" (namespace, key)");}catch(e){console.debug("dojox.storage.GearsStorageProvider.initialize:",e);this.initialized=false;dojox.storage.manager.loaded();return;}this.initialized=true;dojox.storage.manager.loaded();},isAvailable:function(){return this._available=dojo.isGears;},put:function(key,_f4,_f5,_f6){if(this.isValidKey(key)==false){throw new Error("Invalid key given: "+key);}_f6=_f6||this.DEFAULT_NAMESPACE;if(dojo.isString(_f4)){_f4="string:"+_f4;}else{_f4=dojo.toJson(_f4);}try{dojox.sql("DELETE FROM "+this.TABLE_NAME+" WHERE namespace = ? AND key = ?",_f6,key);dojox.sql("INSERT INTO "+this.TABLE_NAME+" VALUES (?, ?, ?)",_f6,key,_f4);}catch(e){console.debug("dojox.storage.GearsStorageProvider.put:",e);_f5(this.FAILED,key,e.toString());return;}if(_f5){_f5(dojox.storage.SUCCESS,key,null);}},get:function(key,_f8){if(this.isValidKey(key)==false){throw new Error("Invalid key given: "+key);}_f8=_f8||this.DEFAULT_NAMESPACE;var _f9=dojox.sql("SELECT * FROM "+this.TABLE_NAME+" WHERE namespace = ? AND "+" key = ?",_f8,key);if(!_f9.length){return null;}else{_f9=_f9[0].value;}if(dojo.isString(_f9)&&(/^string:/.test(_f9))){_f9=_f9.substring("string:".length);}else{_f9=dojo.fromJson(_f9);}return _f9;},getNamespaces:function(){var _fa=[dojox.storage.DEFAULT_NAMESPACE];var rs=dojox.sql("SELECT namespace FROM "+this.TABLE_NAME+" DESC GROUP BY namespace");for(var i=0;i<rs.length;i++){if(rs[i].namespace!=dojox.storage.DEFAULT_NAMESPACE){_fa.push(rs[i].namespace);}}return _fa;},getKeys:function(_fd){_fd=_fd||this.DEFAULT_NAMESPACE;if(this.isValidKey(_fd)==false){throw new Error("Invalid namespace given: "+_fd);}var rs=dojox.sql("SELECT key FROM "+this.TABLE_NAME+" WHERE namespace = ?",_fd);var _ff=[];for(var i=0;i<rs.length;i++){_ff.push(rs[i].key);}return _ff;},clear:function(_101){if(this.isValidKey(_101)==false){throw new Error("Invalid namespace given: "+_101);}_101=_101||this.DEFAULT_NAMESPACE;dojox.sql("DELETE FROM "+this.TABLE_NAME+" WHERE namespace = ?",_101);},remove:function(key,_103){_103=_103||this.DEFAULT_NAMESPACE;dojox.sql("DELETE FROM "+this.TABLE_NAME+" WHERE namespace = ? AND"+" key = ?",_103,key);},isPermanent:function(){return true;},getMaximumSize:function(){return this.SIZE_NO_LIMIT;},hasSettingsUI:function(){return false;},showSettingsUI:function(){throw new Error(this.declaredClass+" does not support a storage settings user-interface");},hideSettingsUI:function(){throw new Error(this.declaredClass+" does not support a storage settings user-interface");}});dojox.storage.manager.register("dojox.storage.GearsStorageProvider",new dojox.storage.GearsStorageProvider());dojox.storage.manager.initialize();})();}}if(!dojo._hasResource["dojox.storage._common"]){dojo._hasResource["dojox.storage._common"]=true;dojo.provide("dojox.storage._common");dojox.storage.manager.initialize();}if(!dojo._hasResource["dojox.storage"]){dojo._hasResource["dojox.storage"]=true;dojo.provide("dojox.storage");}if(!dojo._hasResource["dojox.off.files"]){dojo._hasResource["dojox.off.files"]=true;dojo.provide("dojox.off.files");dojox.off.files={versionURL:"version.js",listOfURLs:[],refreshing:false,_cancelID:null,_error:false,_errorMessages:[],_currentFileIndex:0,_store:null,_doSlurp:false,slurp:function(){this._doSlurp=true;},cache:function(_104){if(dojo.isString(_104)){var url=this._trimAnchor(_104+"");if(!this.isAvailable(url)){this.listOfURLs.push(url);}}else{if(_104 instanceof dojo._Url){var url=this._trimAnchor(_104.uri);if(!this.isAvailable(url)){this.listOfURLs.push(url);}}else{dojo.forEach(_104,function(url){url=this._trimAnchor(url);if(!this.isAvailable(url)){this.listOfURLs.push(url);}},this);}}},printURLs:function(){console.debug("The following URLs are cached for offline use:");dojo.forEach(this.listOfURLs,function(i){console.debug(i);});},remove:function(url){for(var i=0;i<this.listOfURLs.length;i++){if(this.listOfURLs[i]==url){this.listOfURLs=this.listOfURLs.splice(i,1);break;}}},isAvailable:function(url){for(var i=0;i<this.listOfURLs.length;i++){if(this.listOfURLs[i]==url){return true;}}return false;},refresh:function(_10c){try{if(djConfig.isDebug){this.printURLs();}this.refreshing=true;if(this.versionURL){this._getVersionInfo(function(_10d,_10e,_10f){if(djConfig.isDebug||!_10e||_10f||!_10d||_10d!=_10e){console.warn("Refreshing offline file list");this._doRefresh(_10c,_10e);}else{console.warn("No need to refresh offline file list");_10c(false,[]);}});}else{console.warn("Refreshing offline file list");this._doRefresh(_10c);}}catch(e){this.refreshing=false;dojox.off.coreOpFailed=true;dojox.off.enabled=false;dojox.off.onFrameworkEvent("coreOperationFailed");}},abortRefresh:function(){if(!this.refreshing){return;}this._store.abortCapture(this._cancelID);this.refreshing=false;},_slurp:function(){if(!this._doSlurp){return;}var _110=dojo.hitch(this,function(url){if(this._sameLocation(url)){this.cache(url);}});_110(window.location.href);dojo.query("script").forEach(function(i){try{_110(i.getAttribute("src"));}catch(exp){}});dojo.query("link").forEach(function(i){try{if(!i.getAttribute("rel")||i.getAttribute("rel").toLowerCase()!="stylesheet"){return;}_110(i.getAttribute("href"));}catch(exp){}});dojo.query("img").forEach(function(i){try{_110(i.getAttribute("src"));}catch(exp){}});dojo.query("a").forEach(function(i){try{_110(i.getAttribute("href"));}catch(exp){}});dojo.forEach(document.styleSheets,function(_116){try{if(_116.cssRules){dojo.forEach(_116.cssRules,function(rule){var text=rule.cssText;if(text){var _119=text.match(/url\(\s*([^\) ]*)\s*\)/i);if(!_119){return;}for(var i=1;i<_119.length;i++){_110(_119[i]);}}});}else{if(_116.cssText){var _11b;var text=_116.cssText.toString();var _11d=text.split(/\f|\r|\n/);for(var i=0;i<_11d.length;i++){_11b=_11d[i].match(/url\(\s*([^\) ]*)\s*\)/i);if(_11b&&_11b.length){_110(_11b[1]);}}}}}catch(exp){}});},_sameLocation:function(url){if(!url){return false;}if(url.length&&url.charAt(0)=="#"){return false;}url=new dojo._Url(url);if(!url.scheme&&!url.port&&!url.host){return true;}if(!url.scheme&&url.host&&url.port&&window.location.hostname==url.host&&window.location.port==url.port){return true;}if(!url.scheme&&url.host&&!url.port&&window.location.hostname==url.host&&window.location.port==80){return true;}return window.location.protocol==(url.scheme+":")&&window.location.hostname==url.host&&(window.location.port==url.port||!window.location.port&&!url.port);},_trimAnchor:function(url){return url.replace(/\#.*$/,"");},_doRefresh:function(_121,_122){var _123;try{_123=google.gears.factory.create("beta.localserver","1.0");}catch(exp){dojo.setObject("google.gears.denied",true);dojox.off.onFrameworkEvent("coreOperationFailed");throw "Google Gears must be allowed to run";}var _124="dot_store_"+window.location.href.replace(/[^0-9A-Za-z_]/g,"_");_123.removeStore(_124);_123.openStore(_124);var _125=_123.createStore(_124);this._store=_125;var self=this;this._currentFileIndex=0;this._cancelID=_125.capture(this.listOfURLs,function(url,_128,_129){if(!_128&&self.refreshing){self._cancelID=null;self.refreshing=false;var _12a=[];_12a.push("Unable to capture: "+url);_121(true,_12a);return;}else{if(_128){self._currentFileIndex++;}}if(_128&&self._currentFileIndex>=self.listOfURLs.length){self._cancelID=null;self.refreshing=false;if(_122){dojox.storage.put("oldVersion",_122,null,dojox.off.STORAGE_NAMESPACE);}dojox.storage.put("justDebugged",djConfig.isDebug,null,dojox.off.STORAGE_NAMESPACE);_121(false,[]);}});},_getVersionInfo:function(_12b){var _12c=dojox.storage.get("justDebugged",dojox.off.STORAGE_NAMESPACE);var _12d=dojox.storage.get("oldVersion",dojox.off.STORAGE_NAMESPACE);var _12e=null;_12b=dojo.hitch(this,_12b);dojo.xhrGet({url:this.versionURL+"?browserbust="+new Date().getTime(),timeout:5*1000,handleAs:"javascript",error:function(err){dojox.storage.remove("oldVersion",dojox.off.STORAGE_NAMESPACE);dojox.storage.remove("justDebugged",dojox.off.STORAGE_NAMESPACE);_12b(_12d,_12e,_12c);},load:function(data){if(data){_12e=data;}_12b(_12d,_12e,_12c);}});}};}if(!dojo._hasResource["dojox.off.sync"]){dojo._hasResource["dojox.off.sync"]=true;dojo.provide("dojox.off.sync");dojo.mixin(dojox.off.sync,{isSyncing:false,cancelled:false,successful:true,details:[],error:false,actions:null,autoSync:true,onSync:function(type){},synchronize:function(){if(this.isSyncing||dojox.off.goingOnline||(!dojox.off.isOnline)){return;}this.isSyncing=true;this.successful=false;this.details=[];this.cancelled=false;this.start();},cancel:function(){if(!this.isSyncing){return;}this.cancelled=true;if(dojox.off.files.refreshing){dojox.off.files.abortRefresh();}this.onSync("cancel");},finishedDownloading:function(_132,_133){if(typeof _132=="undefined"){_132=true;}if(!_132){this.successful=false;this.details.push(_133);this.error=true;}this.finished();},start:function(){if(this.cancelled){this.finished();return;}this.onSync("start");this.refreshFiles();},refreshFiles:function(){if(this.cancelled){this.finished();return;}this.onSync("refreshFiles");dojox.off.files.refresh(dojo.hitch(this,function(_134,_135){if(_134){this.error=true;this.successful=false;for(var i=0;i<_135.length;i++){this.details.push(_135[i]);}}this.upload();}));},upload:function(){if(this.cancelled){this.finished();return;}this.onSync("upload");dojo.connect(this.actions,"onReplayFinished",this,this.download);this.actions.replay();},download:function(){if(this.cancelled){this.finished();return;}this.onSync("download");},finished:function(){this.isSyncing=false;this.successful=(!this.cancelled&&!this.error);this.onSync("finished");},_save:function(_137){this.actions._save(function(){_137();});},_load:function(_138){this.actions._load(function(){_138();});}});dojo.declare("dojox.off.sync.ActionLog",null,null,{entries:[],reasonHalted:null,isReplaying:false,autoSave:true,add:function(_139){if(this.isReplaying){throw "Programming error: you can not call "+"dojox.off.sync.actions.add() while "+"we are replaying an action log";}this.entries.push(_139);if(this.autoSave){this._save();}},onReplay:function(_13a,_13b){},length:function(){return this.entries.length;},haltReplay:function(_13c){if(!this.isReplaying){return;}if(_13c){this.reasonHalted=_13c.toString();}if(this.autoSave){var self=this;this._save(function(){self.isReplaying=false;self.onReplayFinished();});}else{this.isReplaying=false;this.onReplayFinished();}},continueReplay:function(){if(!this.isReplaying){return;}this.entries.shift();if(!this.entries.length){if(this.autoSave){var self=this;this._save(function(){self.isReplaying=false;self.onReplayFinished();});return;}else{this.isReplaying=false;this.onReplayFinished();return;}}var _13f=this.entries[0];this.onReplay(_13f,this);},clear:function(){if(this.isReplaying){return;}this.entries=[];if(this.autoSave){this._save();}},replay:function(){if(this.isReplaying){return;}this.reasonHalted=null;if(!this.entries.length){this.onReplayFinished();return;}this.isReplaying=true;var _140=this.entries[0];this.onReplay(_140,this);},onReplayFinished:function(){},toString:function(){var _141="";_141+="[";for(var i=0;i<this.entries.length;i++){_141+="{";for(var j in this.entries[i]){_141+=j+": \""+this.entries[i][j]+"\"";_141+=", ";}_141+="}, ";}_141+="]";return _141;},_save:function(_144){if(!_144){_144=function(){};}try{var self=this;var _146=function(_147,key,_149){if(_147==dojox.storage.FAILED){dojox.off.onFrameworkEvent("save",{status:dojox.storage.FAILED,isCoreSave:true,key:key,value:_149,namespace:dojox.off.STORAGE_NAMESPACE});_144();}else{if(_147==dojox.storage.SUCCESS){_144();}}};dojox.storage.put("actionlog",this.entries,_146,dojox.off.STORAGE_NAMESPACE);}catch(exp){console.debug("dojox.off.sync._save: "+exp.message||exp);dojox.off.onFrameworkEvent("save",{status:dojox.storage.FAILED,isCoreSave:true,key:"actionlog",value:this.entries,namespace:dojox.off.STORAGE_NAMESPACE});_144();}},_load:function(_14a){var _14b=dojox.storage.get("actionlog",dojox.off.STORAGE_NAMESPACE);if(!_14b){_14b=[];}this.entries=_14b;_14a();}});dojox.off.sync.actions=new dojox.off.sync.ActionLog();}if(!dojo._hasResource["dojox.off._common"]){dojo._hasResource["dojox.off._common"]=true;dojo.provide("dojox.off._common");dojo.mixin(dojox.off,{isOnline:false,NET_CHECK:5,STORAGE_NAMESPACE:"_dot",enabled:true,availabilityURL:dojo.moduleUrl("dojox","off/network_check.txt"),goingOnline:false,coreOpFailed:false,doNetChecking:true,hasOfflineCache:null,browserRestart:false,_STORAGE_APP_NAME:window.location.href.replace(/[^0-9A-Za-z_]/g,"_"),_initializeCalled:false,_storageLoaded:false,_pageLoaded:false,onLoad:function(){},onNetwork:function(type){},initialize:function(){this._initializeCalled=true;if(this._storageLoaded&&this._pageLoaded){this._onLoad();}},goOffline:function(){if((dojox.off.sync.isSyncing)||(this.goingOnline)){return;}this.goingOnline=false;this.isOnline=false;},goOnline:function(_14d){if(dojox.off.sync.isSyncing||dojox.off.goingOnline){return;}this.goingOnline=true;this.isOnline=false;this._isSiteAvailable(_14d);},onFrameworkEvent:function(type,_14f){if(type=="save"){if(_14f.isCoreSave&&(_14f.status==dojox.storage.FAILED)){dojox.off.coreOpFailed=true;dojox.off.enabled=false;dojox.off.onFrameworkEvent("coreOperationFailed");}}else{if(type=="coreOperationFailed"){dojox.off.coreOpFailed=true;dojox.off.enabled=false;}}},_checkOfflineCacheAvailable:function(_150){this.hasOfflineCache=dojo.isGears;_150();},_onLoad:function(){dojox.off.files.cache(dojo.moduleUrl("dojo","dojo.js"));this._cacheDojoResources();dojox.off.files.cache(dojox.storage.manager.getResourceList());dojox.off.files._slurp();this._checkOfflineCacheAvailable(dojo.hitch(this,"_onOfflineCacheChecked"));},_onOfflineCacheChecked:function(){if(this.hasOfflineCache&&this.enabled){this._load(dojo.hitch(this,"_finishStartingUp"));}else{if(this.hasOfflineCache&&!this.enabled){this._finishStartingUp();}else{this._keepCheckingUntilInstalled();}}},_keepCheckingUntilInstalled:function(){this._finishStartingUp();},_finishStartingUp:function(){if(!this.hasOfflineCache){this.onLoad();}else{if(this.enabled){this._startNetworkThread();this.goOnline(dojo.hitch(this,function(){dojox.off.onLoad();}));}else{if(this.coreOpFailed){this.onFrameworkEvent("coreOperationFailed");}else{this.onLoad();}}}},_onPageLoad:function(){this._pageLoaded=true;if(this._storageLoaded&&this._initializeCalled){this._onLoad();}},_onStorageLoad:function(){this._storageLoaded=true;if(!dojox.storage.manager.isAvailable()&&dojox.storage.manager.isInitialized()){this.coreOpFailed=true;this.enabled=false;}if(this._pageLoaded&&this._initializeCalled){this._onLoad();}},_isSiteAvailable:function(_151){dojo.xhrGet({url:this._getAvailabilityURL(),handleAs:"text",timeout:this.NET_CHECK*1000,error:dojo.hitch(this,function(err){this.goingOnline=false;this.isOnline=false;if(_151){_151(false);}}),load:dojo.hitch(this,function(data){this.goingOnline=false;this.isOnline=true;if(_151){_151(true);}else{this.onNetwork("online");}})});},_startNetworkThread:function(){if(!this.doNetChecking){return;}window.setInterval(dojo.hitch(this,function(){var d=dojo.xhrGet({url:this._getAvailabilityURL(),handleAs:"text",timeout:this.NET_CHECK*1000,error:dojo.hitch(this,function(err){if(this.isOnline){this.isOnline=false;try{if(typeof d.ioArgs.xhr.abort=="function"){d.ioArgs.xhr.abort();}}catch(e){}dojox.off.sync.isSyncing=false;this.onNetwork("offline");}}),load:dojo.hitch(this,function(data){if(!this.isOnline){this.isOnline=true;this.onNetwork("online");}})});}),this.NET_CHECK*1000);},_getAvailabilityURL:function(){var url=this.availabilityURL.toString();if(url.indexOf("?")==-1){url+="?";}else{url+="&";}url+="browserbust="+new Date().getTime();return url;},_onOfflineCacheInstalled:function(){this.onFrameworkEvent("offlineCacheInstalled");},_cacheDojoResources:function(){var _158=true;dojo.forEach(dojo.query("script"),function(i){var src=i.getAttribute("src");if(!src){return;}if(src.indexOf("_base/_loader/bootstrap.js")!=-1){_158=false;}});if(!_158){dojox.off.files.cache(dojo.moduleUrl("dojo","_base.js").uri);dojox.off.files.cache(dojo.moduleUrl("dojo","_base/_loader/loader.js").uri);dojox.off.files.cache(dojo.moduleUrl("dojo","_base/_loader/bootstrap.js").uri);dojox.off.files.cache(dojo.moduleUrl("dojo","_base/_loader/hostenv_browser.js").uri);}for(var i=0;i<dojo._loadedUrls.length;i++){dojox.off.files.cache(dojo._loadedUrls[i]);}},_save:function(){},_load:function(_15c){dojox.off.sync._load(_15c);}});dojox.storage.manager.addOnLoad(dojo.hitch(dojox.off,"_onStorageLoad"));dojo.addOnLoad(dojox.off,"_onPageLoad");}if(!dojo._hasResource["dojox.off"]){dojo._hasResource["dojox.off"]=true;dojo.provide("dojox.off");}if(!dojo._hasResource["dojox.off.ui"]){dojo._hasResource["dojox.off.ui"]=true;dojo.provide("dojox.off.ui");dojo.mixin(dojox.off.ui,{appName:"setme",autoEmbed:true,autoEmbedID:"dot-widget",runLink:window.location.href,runLinkTitle:"Run Application",learnHowPath:dojo.moduleUrl("dojox","off/resources/learnhow.html"),customLearnHowPath:false,htmlTemplatePath:dojo.moduleUrl("dojox","off/resources/offline-widget.html").uri,cssTemplatePath:dojo.moduleUrl("dojox","off/resources/offline-widget.css").uri,onlineImagePath:dojo.moduleUrl("dojox","off/resources/greenball.png").uri,offlineImagePath:dojo.moduleUrl("dojox","off/resources/redball.png").uri,rollerImagePath:dojo.moduleUrl("dojox","off/resources/roller.gif").uri,checkmarkImagePath:dojo.moduleUrl("dojox","off/resources/checkmark.png").uri,learnHowJSPath:dojo.moduleUrl("dojox","off/resources/learnhow.js").uri,_initialized:false,onLoad:function(){},_initialize:function(){if(this._validateAppName(this.appName)==false){alert("You must set dojox.off.ui.appName; it can only contain "+"letters, numbers, and spaces; right now it "+"is incorrectly set to '"+dojox.off.ui.appName+"'");dojox.off.enabled=false;return;}this.runLinkText="Run "+this.appName;dojo.connect(dojox.off,"onNetwork",this,"_onNetwork");dojo.connect(dojox.off.sync,"onSync",this,"_onSync");dojox.off.files.cache([this.htmlTemplatePath,this.cssTemplatePath,this.onlineImagePath,this.offlineImagePath,this.rollerImagePath,this.checkmarkImagePath]);if(this.autoEmbed){this._doAutoEmbed();}},_doAutoEmbed:function(){dojo.xhrGet({url:this.htmlTemplatePath,handleAs:"text",error:function(err){dojox.off.enabled=false;err=err.message||err;alert("Error loading the Dojo Offline Widget from "+this.htmlTemplatePath+": "+err);},load:dojo.hitch(this,this._templateLoaded)});},_templateLoaded:function(data){var _15f=dojo.byId(this.autoEmbedID);if(_15f){_15f.innerHTML=data;}this._initImages();this._updateNetIndicator();this._initLearnHow();this._initialized=true;if(!dojox.off.hasOfflineCache){this._showNeedsOfflineCache();return;}if(dojox.off.hasOfflineCache&&dojox.off.browserRestart){this._needsBrowserRestart();return;}else{var _160=dojo.byId("dot-widget-browser-restart");if(_160){_160.style.display="none";}}this._updateSyncUI();this._initMainEvtHandlers();this._setOfflineEnabled(dojox.off.enabled);this._onNetwork(dojox.off.isOnline?"online":"offline");this._testNet();},_testNet:function(){dojox.off.goOnline(dojo.hitch(this,function(_161){this._onNetwork(_161?"online":"offline");this.onLoad();}));},_updateNetIndicator:function(){var _162=dojo.byId("dot-widget-network-indicator-online");var _163=dojo.byId("dot-widget-network-indicator-offline");var _164=dojo.byId("dot-widget-title-text");if(_162&&_163){if(dojox.off.isOnline==true){_162.style.display="inline";_163.style.display="none";}else{_162.style.display="none";_163.style.display="inline";}}if(_164){if(dojox.off.isOnline){_164.innerHTML="Online";}else{_164.innerHTML="Offline";}}},_initLearnHow:function(){var _165=dojo.byId("dot-widget-learn-how-link");if(!_165){return;}if(!this.customLearnHowPath){var _166=djConfig.baseRelativePath;this.learnHowPath+="?appName="+encodeURIComponent(this.appName)+"&hasOfflineCache="+dojox.off.hasOfflineCache+"&runLink="+encodeURIComponent(this.runLink)+"&runLinkText="+encodeURIComponent(this.runLinkText)+"&baseRelativePath="+encodeURIComponent(_166);dojox.off.files.cache(this.learnHowJSPath);dojox.off.files.cache(this.learnHowPath);}_165.setAttribute("href",this.learnHowPath);var _167=dojo.byId("dot-widget-learn-how-app-name");if(!_167){return;}_167.innerHTML="";_167.appendChild(document.createTextNode(this.appName));},_validateAppName:function(_168){if(!_168){return false;}return (/^[a-z0-9 ]*$/i.test(_168));},_updateSyncUI:function(){var _169=dojo.byId("dot-roller");var _16a=dojo.byId("dot-success-checkmark");var _16b=dojo.byId("dot-sync-messages");var _16c=dojo.byId("dot-sync-details");var _16d=dojo.byId("dot-sync-cancel");if(dojox.off.sync.isSyncing){this._clearSyncMessage();if(_169){_169.style.display="inline";}if(_16a){_16a.style.display="none";}if(_16b){dojo.removeClass(_16b,"dot-sync-error");}if(_16c){_16c.style.display="none";}if(_16d){_16d.style.display="inline";}}else{if(_169){_169.style.display="none";}if(_16d){_16d.style.display="none";}if(_16b){dojo.removeClass(_16b,"dot-sync-error");}}},_setSyncMessage:function(_16e){var _16f=dojo.byId("dot-sync-messages");if(_16f){while(_16f.firstChild){_16f.removeChild(_16f.firstChild);}_16f.appendChild(document.createTextNode(_16e));}},_clearSyncMessage:function(){this._setSyncMessage("");},_initImages:function(){var _170=dojo.byId("dot-widget-network-indicator-online");if(_170){_170.setAttribute("src",this.onlineImagePath);}var _171=dojo.byId("dot-widget-network-indicator-offline");if(_171){_171.setAttribute("src",this.offlineImagePath);}var _172=dojo.byId("dot-roller");if(_172){_172.setAttribute("src",this.rollerImagePath);}var _173=dojo.byId("dot-success-checkmark");if(_173){_173.setAttribute("src",this.checkmarkImagePath);}},_showDetails:function(evt){evt.preventDefault();evt.stopPropagation();if(!dojox.off.sync.details.length){return;}var html="";html+="<html><head><title>Sync Details</title><head><body>";html+="<h1>Sync Details</h1>\n";html+="<ul>\n";for(var i=0;i<dojox.off.sync.details.length;i++){html+="<li>";html+=dojox.off.sync.details[i];html+="</li>";}html+="</ul>\n";html+="<a href='javascript:window.close()' "+"style='text-align: right; padding-right: 2em;'>"+"Close Window"+"</a>\n";html+="</body></html>";var _177="height=400,width=600,resizable=true,"+"scrollbars=true,toolbar=no,menubar=no,"+"location=no,directories=no,dependent=yes";var _178=window.open("","SyncDetails",_177);if(!_178){alert("Please allow popup windows for this domain; can't display sync details window");return;}_178.document.open();_178.document.write(html);_178.document.close();if(_178.focus){_178.focus();}},_cancel:function(evt){evt.preventDefault();evt.stopPropagation();dojox.off.sync.cancel();},_needsBrowserRestart:function(){var _17a=dojo.byId("dot-widget-browser-restart");if(_17a){dojo.addClass(_17a,"dot-needs-browser-restart");}var _17b=dojo.byId("dot-widget-browser-restart-app-name");if(_17b){_17b.innerHTML="";_17b.appendChild(document.createTextNode(this.appName));}var _17c=dojo.byId("dot-sync-status");if(_17c){_17c.style.display="none";}},_showNeedsOfflineCache:function(){var _17d=dojo.byId("dot-widget-container");if(_17d){dojo.addClass(_17d,"dot-needs-offline-cache");}},_hideNeedsOfflineCache:function(){var _17e=dojo.byId("dot-widget-container");if(_17e){dojo.removeClass(_17e,"dot-needs-offline-cache");}},_initMainEvtHandlers:function(){var _17f=dojo.byId("dot-sync-details-button");if(_17f){dojo.connect(_17f,"onclick",this,this._showDetails);}var _180=dojo.byId("dot-sync-cancel-button");if(_180){dojo.connect(_180,"onclick",this,this._cancel);}},_setOfflineEnabled:function(_181){var _182=[];_182.push(dojo.byId("dot-sync-status"));for(var i=0;i<_182.length;i++){if(_182[i]){_182[i].style.visibility=(_181?"visible":"hidden");}}},_syncFinished:function(){this._updateSyncUI();var _184=dojo.byId("dot-success-checkmark");var _185=dojo.byId("dot-sync-details");if(dojox.off.sync.successful==true){this._setSyncMessage("Sync Successful");if(_184){_184.style.display="inline";}}else{if(dojox.off.sync.cancelled==true){this._setSyncMessage("Sync Cancelled");if(_184){_184.style.display="none";}}else{this._setSyncMessage("Sync Error");var _186=dojo.byId("dot-sync-messages");if(_186){dojo.addClass(_186,"dot-sync-error");}if(_184){_184.style.display="none";}}}if(dojox.off.sync.details.length&&_185){_185.style.display="inline";}},_onFrameworkEvent:function(type,_188){if(type=="save"){if(_188.status==dojox.storage.FAILED&&!_188.isCoreSave){alert("Please increase the amount of local storage available "+"to this application");if(dojox.storage.hasSettingsUI()){dojox.storage.showSettingsUI();}}}else{if(type=="coreOperationFailed"){console.log("Application does not have permission to use Dojo Offline");if(!this._userInformed){alert("This application will not work if Google Gears is not allowed to run");this._userInformed=true;}}else{if(type=="offlineCacheInstalled"){this._hideNeedsOfflineCache();if(dojox.off.hasOfflineCache==true&&dojox.off.browserRestart==true){this._needsBrowserRestart();return;}else{var _189=dojo.byId("dot-widget-browser-restart");if(_189){_189.style.display="none";}}this._updateSyncUI();this._initMainEvtHandlers();this._setOfflineEnabled(dojox.off.enabled);this._testNet();}}}},_onSync:function(type){switch(type){case "start":this._updateSyncUI();break;case "refreshFiles":this._setSyncMessage("Downloading UI...");break;case "upload":this._setSyncMessage("Uploading new data...");break;case "download":this._setSyncMessage("Downloading new data...");break;case "finished":this._syncFinished();break;case "cancel":this._setSyncMessage("Canceling Sync...");break;default:dojo.warn("Programming error: "+"Unknown sync type in dojox.off.ui: "+type);break;}},_onNetwork:function(type){if(!this._initialized){return;}this._updateNetIndicator();if(type=="offline"){this._setSyncMessage("You are working offline");var _18c=dojo.byId("dot-sync-details");if(_18c){_18c.style.display="none";}this._updateSyncUI();}else{if(dojox.off.sync.autoSync){window.setTimeout("dojox.off.sync.synchronize()",1000);}}}});dojo.connect(dojox.off,"onFrameworkEvent",dojox.off.ui,"_onFrameworkEvent");dojo.connect(dojox.off,"onLoad",dojox.off.ui,dojox.off.ui._initialize);}if(!dojo._hasResource["dojox.off.offline"]){dojo._hasResource["dojox.off.offline"]=true;dojo.provide("dojox.off.offline");}
