Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojo._base.window"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo._base.window"] = true;dojo.provide("dojo._base.window");dojo._gearsObject = function(){// summary:// factory method to get a Google Gears plugin instance to// expose in the browser runtime environment, if presentvar factory;var results;var gearsObj = dojo.getObject("google.gears");if(gearsObj){ return gearsObj; } // already defined elsewhereif(typeof GearsFactory != "undefined"){ // Firefoxfactory = new GearsFactory();}else{if(dojo.isIE){// IEtry{factory = new ActiveXObject("Gears.Factory");}catch(e){// ok to squelch; there's no gears factory. move on.}}else if(navigator.mimeTypes["application/x-googlegears"]){// Safari?factory = document.createElement("object");factory.setAttribute("type", "application/x-googlegears");factory.setAttribute("width", 0);factory.setAttribute("height", 0);factory.style.display = "none";document.documentElement.appendChild(factory);}}// still nothing?if(!factory){ return null; }// define the global objects now; don't overwrite them though if they// were somehow set internally by the Gears plugin, which is on their// dev roadmap for the futuredojo.setObject("google.gears.factory", factory);return dojo.getObject("google.gears");};// see if we have Google Gears installed, and if// so, make it available in the runtime environment// and in the Google standard 'google.gears' global objectdojo.isGears = (!!dojo._gearsObject())||0;// @global: dojo.doc// summary:// Current document object. 'dojo.doc' can be modified// for temporary context shifting. Also see dojo.withDoc().// description:// Refer to dojo.doc rather// than referring to 'window.document' to ensure your code runs// correctly in managed contexts.dojo.doc = window["document"] || null;dojo.body = function(){// summary:// return the body object associated with dojo.doc// Note: document.body is not defined for a strict xhtml document// Would like to memoize this, but dojo.doc can change vi dojo.withDoc().return dojo.doc.body || dojo.doc.getElementsByTagName("body")[0];}dojo.setContext = function(/*Object*/globalObject, /*DocumentElement*/globalDocument){// summary:// changes the behavior of many core Dojo functions that deal with// namespace and DOM lookup, changing them to work in a new global// context. The varibles dojo.global and dojo.doc// are modified as a result of calling this function.dojo.global = globalObject;dojo.doc = globalDocument;};dojo._fireCallback = function(callback, context, cbArguments){// FIXME: should migrate to using "dojo.isString"!if(context && dojo.isString(callback)){callback = context[callback];}return (context ? callback.apply(context, cbArguments || [ ]) : callback());}dojo.withGlobal = function( /*Object*/globalObject,/*Function*/callback,/*Object?*/thisObject,/*Array?*/cbArguments){// summary:// Call callback with globalObject as dojo.global and// globalObject.document as dojo.doc. If provided, globalObject// will be executed in the context of object thisObject// description:// When callback() returns or throws an error, the dojo.global// and dojo.doc will be restored to its previous state.var rval;var oldGlob = dojo.global;var oldDoc = dojo.doc;try{dojo.setContext(globalObject, globalObject.document);rval = dojo._fireCallback(callback, thisObject, cbArguments);}finally{dojo.setContext(oldGlob, oldDoc);}return rval;}dojo.withDoc = function( /*Object*/documentObject,/*Function*/callback,/*Object?*/thisObject,/*Array?*/cbArguments){// summary:// Call callback with documentObject as dojo.doc. If provided,// callback will be executed in the context of object thisObject// description:// When callback() returns or throws an error, the dojo.doc will// be restored to its previous state.var rval;var oldDoc = dojo.doc;try{dojo.doc = documentObject;rval = dojo._fireCallback(callback, thisObject, cbArguments);}finally{dojo.doc = oldDoc;}return rval;};//Register any module paths set up in djConfig. Need to do this//in the hostenvs since hostenv_browser can read djConfig from a//script tag's attribute.(function(){var mp = djConfig["modulePaths"];if(mp){for(var param in mp){dojo.registerModulePath(param, mp[param]);}}})();}