summaryrefslogtreecommitdiff
path: root/assets/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js')
-rw-r--r--assets/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js225
1 files changed, 0 insertions, 225 deletions
diff --git a/assets/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js b/assets/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js
deleted file mode 100644
index 8f1ea5a..0000000
--- a/assets/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- -----------------------------------------------------------
- dom.loadScript.js : 0.1.4 : 2014/02/12 : http://mudcu.be
- -----------------------------------------------------------
- Copyright 2011-2014 Mudcube. All rights reserved.
- -----------------------------------------------------------
- /// No verification
- dom.loadScript.add("../js/jszip/jszip.js");
- /// Strict loading order and verification.
- dom.loadScript.add({
- strictOrder: true,
- urls: [
- {
- url: "../js/jszip/jszip.js",
- verify: "JSZip",
- onsuccess: function() {
- console.log(1)
- }
- },
- {
- url: "../inc/downloadify/js/swfobject.js",
- verify: "swfobject",
- onsuccess: function() {
- console.log(2)
- }
- }
- ],
- onsuccess: function() {
- console.log(3)
- }
- });
- /// Just verification.
- dom.loadScript.add({
- url: "../js/jszip/jszip.js",
- verify: "JSZip",
- onsuccess: function() {
- console.log(1)
- }
- });
-*/
-
-if (typeof(dom) === "undefined") var dom = {};
-
-(function() { "use strict";
-
-dom.loadScript = function() {
- this.loaded = {};
- this.loading = {};
- return this;
-};
-
-dom.loadScript.prototype.add = function(config) {
- var that = this;
- if (typeof(config) === "string") {
- config = { url: config };
- }
- var urls = config.urls;
- if (typeof(urls) === "undefined") {
- urls = [{
- url: config.url,
- verify: config.verify
- }];
- }
- /// adding the elements to the head
- var doc = document.getElementsByTagName("head")[0];
- ///
- var testElement = function(element, test) {
- if (that.loaded[element.url]) return;
- if (test && globalExists(test) === false) return;
- that.loaded[element.url] = true;
- //
- if (that.loading[element.url]) that.loading[element.url]();
- delete that.loading[element.url];
- //
- if (element.onsuccess) element.onsuccess();
- if (typeof(getNext) !== "undefined") getNext();
- };
- ///
- var hasError = false;
- var batchTest = [];
- var addElement = function(element) {
- if (typeof(element) === "string") {
- element = {
- url: element,
- verify: config.verify
- };
- }
- if (/([\w\d.\[\]\'\"])$/.test(element.verify)) { // check whether its a variable reference
- var verify = element.test = element.verify;
- if (typeof(verify) === "object") {
- for (var n = 0; n < verify.length; n ++) {
- batchTest.push(verify[n]);
- }
- } else {
- batchTest.push(verify);
- }
- }
- if (that.loaded[element.url]) return;
- var script = document.createElement("script");
- script.onreadystatechange = function() {
- if (this.readyState !== "loaded" && this.readyState !== "complete") return;
- testElement(element);
- };
- script.onload = function() {
- testElement(element);
- };
- script.onerror = function() {
- hasError = true;
- delete that.loading[element.url];
- if (typeof(element.test) === "object") {
- for (var key in element.test) {
- removeTest(element.test[key]);
- }
- } else {
- removeTest(element.test);
- }
- };
- script.setAttribute("type", "text/javascript");
- script.setAttribute("src", element.url);
- doc.appendChild(script);
- that.loading[element.url] = function() {};
- };
- /// checking to see whether everything loaded properly
- var removeTest = function(test) {
- var ret = [];
- for (var n = 0; n < batchTest.length; n ++) {
- if (batchTest[n] === test) continue;
- ret.push(batchTest[n]);
- }
- batchTest = ret;
- };
- var onLoad = function(element) {
- if (element) {
- testElement(element, element.test);
- } else {
- for (var n = 0; n < urls.length; n ++) {
- testElement(urls[n], urls[n].test);
- }
- }
- var istrue = true;
- for (var n = 0; n < batchTest.length; n ++) {
- if (globalExists(batchTest[n]) === false) {
- istrue = false;
- }
- }
- if (!config.strictOrder && istrue) { // finished loading all the requested scripts
- if (hasError) {
- if (config.error) {
- config.error();
- }
- } else if (config.onsuccess) {
- config.onsuccess();
- }
- } else { // keep calling back the function
- setTimeout(function() { //- should get slower over time?
- onLoad(element);
- }, 10);
- }
- };
- /// loading methods; strict ordering or loose ordering
- if (config.strictOrder) {
- var ID = -1;
- var getNext = function() {
- ID ++;
- if (!urls[ID]) { // all elements are loaded
- if (hasError) {
- if (config.error) {
- config.error();
- }
- } else if (config.onsuccess) {
- config.onsuccess();
- }
- } else { // loading new script
- var element = urls[ID];
- var url = element.url;
- if (that.loading[url]) { // already loading from another call (attach to event)
- that.loading[url] = function() {
- if (element.onsuccess) element.onsuccess();
- getNext();
- }
- } else if (!that.loaded[url]) { // create script element
- addElement(element);
- onLoad(element);
- } else { // it's already been successfully loaded
- getNext();
- }
- }
- };
- getNext();
- } else { // loose ordering
- for (var ID = 0; ID < urls.length; ID ++) {
- addElement(urls[ID]);
- onLoad(urls[ID]);
- }
- }
-};
-
-dom.loadScript = new dom.loadScript();
-
-var globalExists = function(path, root) {
- try {
- path = path.split('"').join('').split("'").join('').split(']').join('').split('[').join('.');
- var parts = path.split(".");
- var length = parts.length;
- var object = root || window;
- for (var n = 0; n < length; n ++) {
- var key = parts[n];
- if (object[key] == null) {
- return false;
- } else { //
- object = object[key];
- }
- }
- return true;
- } catch(e) {
- return false;
- }
-};
-
-})();
-
-/// For NodeJS
-if (typeof (module) !== "undefined" && module.exports) {
- module.exports = dom.loadScript;
-} \ No newline at end of file