if(typeof dojo == "undefined"){ dj_usingBootstrap = true; //Needed for bootstrap2.js to work properly. (function(){ var hostEnv = "browser"; var isRhino = false; var isSpidermonkey = false; var isDashboard = false; if((typeof this["load"] == "function")&&((typeof this["Packages"] == "function")||(typeof this["Packages"] == "object"))){ var isRhino = true; hostEnv = "rhino"; }else if(typeof this["load"] == "function"){ isSpidermonkey = true; hostEnv = "spidermonkey"; }else if(window.widget){ isDashboard = true; hostEnv = "dashboard"; } var tmps = ["bootstrap1.js", "loader.js", "hostenv_"+hostEnv+".js"]; if((this["djConfig"])&&((djConfig["forceXDomain"])||(djConfig["useXDomain"]))){ tmps.push("loader_xd.js"); } if(hostEnv == "dashboard"){ tmps.splice(1, 0, "hostenv_browser.js"); } tmps.push("bootstrap2.js"); if((this["djConfig"])&&(djConfig["baseScriptUri"])){ var root = djConfig["baseScriptUri"]; }else if((this["djConfig"])&&(djConfig["baseRelativePath"])){ var root = djConfig["baseRelativePath"]; }else{ var root = "./"; if(isSpidermonkey){ // auto-detect the base path via an exception. Hack! try{ throw new Error(""); }catch(e){ root = e.fileName.split("dojo.js")[0]; }; } if(!this["djConfig"]){ djConfig = { baseRelativePath: root }; } // attempt to figure out the path to dojo if it isn't set in the config if((this["document"])&&(this["document"]["getElementsByTagName"])){ var scripts = document.getElementsByTagName("script"); var rePkg = /(__package__|dojo)\.js([\?\.]|$)/i; for(var i = 0; i < scripts.length; i++) { var src = scripts[i].getAttribute("src"); if(!src) { continue; } var m = src.match(rePkg); if(m) { root = src.substring(0, m.index); if(!this["djConfig"]) { djConfig = {}; } djConfig["baseScriptUri"] = djConfig["baseRelativePath"] = root; break; } } } } if((this["djConfig"])&&((djConfig["isDebug"])||(djConfig["debugAtAllCosts"]))){ tmps.push("debug.js"); } if((this["djConfig"])&&(djConfig["debugAtAllCosts"])&&(!isRhino)&&(!isDashboard)){ tmps.push("browser_debug.js"); } //Support compatibility packages. Right now this only allows setting one //compatibility package. Might need to revisit later down the line to support //more than one. if((this["djConfig"])&&(djConfig["compat"])){ tmps.push("compat/" + djConfig["compat"] + ".js"); } var loaderRoot = root; if((this["djConfig"])&&(djConfig["baseLoaderUri"])){ loaderRoot = djConfig["baseLoaderUri"]; } for(var x=0; x < tmps.length; x++){ var spath = loaderRoot+"src/"+tmps[x]; if(isRhino||isSpidermonkey){ load(spath); } else { try { document.write(""); } catch (e) { var script = document.createElement("script"); script.src = spath; document.getElementsByTagName("head")[0].appendChild(script); } } } })(); };