a:34:{s:9:"#provides";s:4:"dojo";s:9:"#resource";s:26:"_base/_loader/bootstrap.js";s:8:"djConfig";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:131:"Application code can set the global 'djConfig' prior to loading the library to override certain global settings for how dojo works.";}s:16:"djConfig.isDebug";a:2:{s:4:"type";s:7:"Boolean";s:7:"summary";s:551:"Defaults to `false`. If set to `true`, ensures that Dojo provides extended debugging feedback via Firebug. If Firebug is not available on your platform, setting `isDebug` to `true` will force Dojo to pull in (and display) the version of Firebug Lite which is integrated into the Dojo distribution, thereby always providing a debugging/logging console when `isDebug` is enabled. Note that Firebug's `console.*` methods are ALWAYS defined by Dojo. If `isDebug` is false and you are on a platform without Firebug, these methods will be defined as no-ops.";}s:24:"djConfig.debugAtAllCosts";a:2:{s:4:"type";s:7:"Boolean";s:7:"summary";s:895:"Defaults to `false`. If set to `true`, this triggers an alternate mode of the package system in which dependencies are detected and only then are resources evaluated in dependency order via `<script>` tag inclusion. This may double-request resources and cause problems with scripts which expect `dojo.require()` to preform synchronously. `debugAtAllCosts` can be an invaluable debugging aid, but when using it, ensure that all code which depends on Dojo modules is wrapped in `dojo.addOnLoad()` handlers. Due to the somewhat unpredictable side-effects of using `debugAtAllCosts`, it is strongly recommended that you enable this flag as a last resort. `debugAtAllCosts` has no effect when loading resources across domains. For usage information, see the [Dojo Book](http://dojotoolkit.org/book/book-dojo/part-4-meta-dojo-making-your-dojo-code-run-faster-and-better/debugging-facilities/deb)";}s:15:"djConfig.locale";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:462:"The locale to assume for loading localized resources in this page, specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt). Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`. See the documentation for `dojo.i18n` and `dojo.requireLocalization` for details on loading localized resources. If no locale is specified, Dojo assumes the locale of the user agent, according to `navigator.userLanguage` or `navigator.language` properties.";}s:20:"djConfig.extraLocale";a:2:{s:4:"type";s:5:"Array";s:7:"summary";s:171:"No default value. Specifies additional locales whose resources should also be loaded alongside the default locale when calls to `dojo.requireLocalization()` are processed.";}s:16:"djConfig.baseUrl";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:919:"The directory in which `dojo.js` is located. Under normal conditions, Dojo auto-detects the correct location from which it was loaded. You may need to manually configure `baseUrl` in cases where you have renamed `dojo.js` or in which `<base>` tags confuse some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned either the value of `djConfig.baseUrl` if one is provided or the auto-detected root if not. Other modules are located relative to this path. The path should end in a slash. modulePaths: Object A map of module names to paths relative to `dojo.baseUrl`. The key/value pairs correspond directly to the arguments which `dojo.registerModulePath` accepts. Specifiying `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple modules may be configured via `djConfig.modulePaths`.";}s:20:"djConfig.modulePaths";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:20:"djConfig.afterOnLoad";a:2:{s:4:"type";s:7:"Boolean";s:7:"summary";s:236:"Indicates Dojo was added to the page after the page load. In this case Dojo will not wait for the page DOMContentLoad/load events and fire its dojo.addOnLoad callbacks after making sure all outstanding dojo.required modules have loaded.";}s:18:"djConfig.addOnLoad";a:2:{s:4:"type";s:8:"Function";s:7:"summary";s:434:"or Array Adds a callback via dojo.addOnLoad. Useful when Dojo is added after the page loads and djConfig.afterOnLoad is true. Supports the same arguments as dojo.addOnLoad. When using a function reference, use `djConfig.addOnLoad = function(){};`. For object with function name use `djConfig.addOnLoad = [myObject, "functionName"];` and for object with function reference use `djConfig.addOnLoad = [myObject, function(){}];`";}s:16:"djConfig.require";a:2:{s:4:"type";s:5:"Array";s:7:"summary";s:92:"An array of module names to be loaded immediately after dojo.js has been included in a page.";}s:24:"djConfig.defaultDuration";a:2:{s:4:"type";s:5:"Array";s:7:"summary";s:113:"Default duration, in milliseconds, for wipe and fade animations within dijits. Assigned to dijit.defaultDuration.";}s:25:"djConfig.dojoBlankHtmlUrl";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:450:"Used by some modules to configure an empty iframe. Used by dojo.io.iframe and dojo.back, and dijit popup support in IE where an iframe is needed to make sure native controls do not bleed through the popups. Normally this configuration variable does not need to be set, except when using cross-domain/CDN Dojo builds. Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl` to the path on your domain your copy of blank.html.";}s:4:"dojo";a:1:{s:7:"summary";s:0:"";}s:5:"dijit";a:1:{s:7:"summary";s:0:"";}s:5:"dojox";a:1:{s:7:"summary";s:0:"";}s:15:"dojo._scopeArgs";a:2:{s:7:"private";b:1;s:7:"summary";s:0:"";}s:11:"dojo.global";a:3:{s:4:"type";s:6:"Object";s:7:"summary";s:65:"Alias for the global scope (e.g. the window object in a browser).";s:11:"description";s:151:"Refer to 'dojo.global' rather than referring to window to ensure your code runs correctly in contexts other than web browsers (e.g. Rhino on a server).";}s:11:"dojo.config";a:1:{s:7:"summary";s:0:"";}s:11:"dojo.locale";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:41:"the locale as defined by Dojo (read-only)";}s:12:"dojo.version";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:22:"version number of dojo";}s:15:"dojo.deprecated";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:9:"behaviour";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:94:"The API or behavior being deprecated. Usually in the form of "myApp.someFunction()".";}s:5:"extra";a:3:{s:4:"type";s:6:"String";s:8:"optional";b:1;s:7:"summary";s:138:"Text to append to the message. Often provides advice on a new function or facility to achieve the same goal during the deprecation period.";}s:7:"removal";a:3:{s:4:"type";s:6:"String";s:8:"optional";b:1;s:7:"summary";s:91:"Text to indicate when in the future the behavior will be removed. Usually a version number.";}}s:6:"source";s:634:" // summary: // Log a debug message to indicate that a behavior has been // deprecated. // behaviour: String // The API or behavior being deprecated. Usually in the form // of "myApp.someFunction()". // extra: String? // Text to append to the message. Often provides advice on a // new function or facility to achieve the same goal during // the deprecation period. // removal: String? // Text to indicate when in the future the behavior will be // removed. Usually a version number. // example: // | dojo.deprecated("myApp.getTemp()", "use myApp.getLocaleTemp() instead", "1.0");";s:7:"summary";s:68:"Log a debug message to indicate that a behavior has been deprecated.";s:8:"examples";a:1:{i:0;s:82:" dojo.deprecated("myApp.getTemp()", "use myApp.getLocaleTemp() instead", "1.0");";}}s:11:"dojo._mixin";a:6:{s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"obj";a:1:{s:4:"type";s:6:"Object";}s:5:"props";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:763:" for(var x in props){ // the "tobj" condition avoid copying properties in "props" // inherited from Object.prototype. For example, if obj has a custom // toString() method, don't overwrite it with the toString() method // that props inherited from Object.prototype if(tobj[x] === undefined || tobj[x] != props[x]){ obj[x] = props[x]; } } //>>excludeStart("webkitMobile", kwArgs.webkitMobile); // IE doesn't recognize custom toStrings in for..in if(d.isIE && props){ var p = props.toString; if(typeof p == "function" && p != obj.toString && p != tobj.toString && p != "\nfunction toString() {\n [native code]\n}\n"){ obj.toString = props.toString; } } //>>excludeEnd("webkitMobile"); return obj; // Object";s:7:"summary";s:172:"Adds all properties and methods of props to obj. This addition is "prototype extension safe", so that instances of objects will not pass along prototype defaults.";s:7:"returns";s:6:"Object";s:7:"private";b:1;}s:10:"dojo.mixin";a:7:{s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"obj";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:57:"The object to mix properties into. Also the return value.";}s:5:"props";a:3:{s:9:"repeating";b:1;s:4:"type";s:6:"Object";s:7:"summary";s:190:"One or more objects whose values are successively copied into obj. If more than one of these objects contain the same value, the one specified last in the function call will "win".";}}s:6:"source";s:129:" if(!obj){ obj = {}; } for(var i=1, l=arguments.length; i` tag inclusion. This may double-request resources and // cause problems with scripts which expect `dojo.require()` to // preform synchronously. `debugAtAllCosts` can be an invaluable // debugging aid, but when using it, ensure that all code which // depends on Dojo modules is wrapped in `dojo.addOnLoad()` handlers. // Due to the somewhat unpredictable side-effects of using // `debugAtAllCosts`, it is strongly recommended that you enable this // flag as a last resort. `debugAtAllCosts` has no effect when loading // resources across domains. For usage information, see the // [Dojo Book](http://dojotoolkit.org/book/book-dojo/part-4-meta-dojo-making-your-dojo-code-run-faster-and-better/debugging-facilities/deb) debugAtAllCosts: false, // locale: String // The locale to assume for loading localized resources in this page, // specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt). // Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`. // See the documentation for `dojo.i18n` and `dojo.requireLocalization` // for details on loading localized resources. If no locale is specified, // Dojo assumes the locale of the user agent, according to `navigator.userLanguage` // or `navigator.language` properties. locale: undefined, // extraLocale: Array // No default value. Specifies additional locales whose // resources should also be loaded alongside the default locale when // calls to `dojo.requireLocalization()` are processed. extraLocale: undefined, // baseUrl: String // The directory in which `dojo.js` is located. Under normal // conditions, Dojo auto-detects the correct location from which it // was loaded. You may need to manually configure `baseUrl` in cases // where you have renamed `dojo.js` or in which `` tags confuse // some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned // either the value of `djConfig.baseUrl` if one is provided or the // auto-detected root if not. Other modules are located relative to // this path. The path should end in a slash. baseUrl: undefined, // modulePaths: Object // A map of module names to paths relative to `dojo.baseUrl`. The // key/value pairs correspond directly to the arguments which // `dojo.registerModulePath` accepts. Specifiying // `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent // of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple // modules may be configured via `djConfig.modulePaths`. modulePaths: {}, // afterOnLoad: Boolean // Indicates Dojo was added to the page after the page load. In this case // Dojo will not wait for the page DOMContentLoad/load events and fire // its dojo.addOnLoad callbacks after making sure all outstanding // dojo.required modules have loaded. afterOnLoad: false, // addOnLoad: Function or Array // Adds a callback via dojo.addOnLoad. Useful when Dojo is added after // the page loads and djConfig.afterOnLoad is true. Supports the same // arguments as dojo.addOnLoad. When using a function reference, use // `djConfig.addOnLoad = function(){};`. For object with function name use // `djConfig.addOnLoad = [myObject, "functionName"];` and for object with // function reference use // `djConfig.addOnLoad = [myObject, function(){}];` addOnLoad: null, // require: Array // An array of module names to be loaded immediately after dojo.js has been included // in a page. require: [], // defaultDuration: Array // Default duration, in milliseconds, for wipe and fade animations within dijits. // Assigned to dijit.defaultDuration. defaultDuration: 200, // dojoBlankHtmlUrl: String // Used by some modules to configure an empty iframe. Used by dojo.io.iframe and // dojo.back, and dijit popup support in IE where an iframe is needed to make sure native // controls do not bleed through the popups. Normally this configuration variable // does not need to be set, except when using cross-domain/CDN Dojo builds. // Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl` // to the path on your domain your copy of blank.html. dojoBlankHtmlUrl: undefined } //>>excludeStart("webkitMobile", kwArgs.webkitMobile); (function(){ //>>excludeEnd("webkitMobile"); // firebug stubs if(typeof this["loadFirebugConsole"] == "function"){ // for Firebug 1.2 this["loadFirebugConsole"](); }else{ this.console = this.console || {}; // Be careful to leave 'log' always at the end var cn = [ "assert", "count", "debug", "dir", "dirxml", "error", "group", "groupEnd", "info", "profile", "profileEnd", "time", "timeEnd", "trace", "warn", "log" ]; var i=0, tn; while((tn=cn[i++])){ if(!console[tn]){ (function(){ var tcn = tn+""; console[tcn] = ('log' in console) ? function(){ var a = Array.apply({}, arguments); a.unshift(tcn+":"); console["log"](a.join(" ")); } : function(){} })(); } } } //TODOC: HOW TO DOC THIS? // dojo is the root variable of (almost all) our public symbols -- make sure it is defined. if(typeof dojo == "undefined"){ this.dojo = { _scopeName: "dojo", _scopePrefix: "", _scopePrefixArgs: "", _scopeSuffix: "", _scopeMap: {}, _scopeMapRev: {} }; } var d = dojo; //Need placeholders for dijit and dojox for scoping code. if(typeof dijit == "undefined"){ this.dijit = {_scopeName: "dijit"}; } if(typeof dojox == "undefined"){ this.dojox = {_scopeName: "dojox"}; } if(!d._scopeArgs){ d._scopeArgs = [dojo, dijit, dojox]; } dojo.global = { // summary: // Alias for the global scope // (e.g. the window object in a browser). // description: // Refer to 'dojo.global' rather than referring to window to ensure your // code runs correctly in contexts other than web browsers (e.g. Rhino on a server). } d.global = this; d.config = djConfig = { isDebug: false, debugAtAllCosts: false }; if(typeof djConfig != "undefined"){ for(var opt in djConfig){ d.config[opt] = djConfig[opt]; } } // Override locale setting, if specified dojo.locale = { // summary: the locale as defined by Dojo (read-only) }; dojo.locale = d.config.locale; var rev = "$Rev: 18832 $".match(/\d+/); dojo.version = { // summary: // version number of dojo // major: Integer // Major version. If total version is "1.2.0beta1", will be 1 // minor: Integer // Minor version. If total version is "1.2.0beta1", will be 2 // patch: Integer // Patch version. If total version is "1.2.0beta1", will be 0 // flag: String // Descriptor flag. If total version is "1.2.0beta1", will be "beta1" // revision: Number // The SVN rev from which dojo was pulled major: 1, minor: 3, patch: 2, flag: "", revision: rev ? +rev[0] : NaN, toString: function(){ with(d.version){ return major + "." + minor + "." + patch + flag + " (" + revision + ")"; // String } } } //>>excludeStart("webkitMobile", kwArgs.webkitMobile); // Register with the OpenAjax hub if(typeof OpenAjax != "undefined"){ OpenAjax.hub.registerLibrary(dojo._scopeName, "http://dojotoolkit.org", d.version.toString()); } //>>excludeEnd("webkitMobile"); var tobj = {}; dojo._mixin = function(/*Object*/ obj, /*Object*/ props){ // summary: // Adds all properties and methods of props to obj. This addition // is "prototype extension safe", so that instances of objects // will not pass along prototype defaults. for(var x in props){ // the "tobj" condition avoid copying properties in "props" // inherited from Object.prototype. For example, if obj has a custom // toString() method, don't overwrite it with the toString() method // that props inherited from Object.prototype if(tobj[x] === undefined || tobj[x] != props[x]){ obj[x] = props[x]; } } //>>excludeStart("webkitMobile", kwArgs.webkitMobile); // IE doesn't recognize custom toStrings in for..in if(d.isIE && props){ var p = props.toString; if(typeof p == "function" && p != obj.toString && p != tobj.toString && p != "\nfunction toString() {\n [native code]\n}\n"){ obj.toString = props.toString; } } //>>excludeEnd("webkitMobile"); return obj; // Object } dojo.mixin = function(/*Object*/obj, /*Object...*/props){ // summary: // Adds all properties and methods of props to obj and returns the // (now modified) obj. // description: // `dojo.mixin` can mix multiple source objects into a // destionation object which is then returned. Unlike regular // `for...in` iteration, `dojo.mixin` is also smart about avoiding // extensions which other toolkits may unwisely add to the root // object prototype // obj: // The object to mix properties into. Also the return value. // props: // One or more objects whose values are successively copied into // obj. If more than one of these objects contain the same value, // the one specified last in the function call will "win". // example: // make a shallow copy of an object // | var copy = dojo.mixin({}, source); // example: // many class constructors often take an object which specifies // values to be configured on the object. In this case, it is // often simplest to call `dojo.mixin` on the `this` object: // | dojo.declare("acme.Base", null, { // | constructor: function(properties){ // | // property configuration: // | dojo.mixin(this, properties); // | // | console.log(this.quip); // | // ... // | }, // | quip: "I wasn't born yesterday, you know - I've seen movies.", // | // ... // | }); // | // | // create an instance of the class and configure it // | var b = new acme.Base({quip: "That's what it does!" }); // example: // copy in properties from multiple objects // | var flattened = dojo.mixin( // | { // | name: "Frylock", // | braces: true // | }, // | { // | name: "Carl Brutanananadilewski" // | } // | ); // | // | // will print "Carl Brutanananadilewski" // | console.log(flattened.name); // | // will print "true" // | console.log(flattened.braces); if(!obj){ obj = {}; } for(var i=1, l=arguments.length; i