function load() {
		if (scripts.length !== 0) {
			var script = scripts.shift();
			var src = script.src;

			if (src.length === 0) {
				var scriptNew = document.createElement("script");
				scriptNew.type = "text/javascript";
				scriptNew.text = compile(script.text);
				script.parentNode.replaceChild(scriptNew, script);
				load();
			} else {
				var xhr = new XMLHttpRequest();
				xhr.responseType = "text";

				xhr.onload = function () {
					if (xhr.status === 0 || xhr.status === 200) {
						var _scriptNew = document.createElement("script");

						_scriptNew.type = "text/javascript";
						_scriptNew.text = compile(xhr.response);
						script.parentNode.replaceChild(_scriptNew, script);
					} else {
						error("Invalid script HTTP response.\n\nAttempted to download script:\n\t" + src + "\n\nReceived error HTTP status code:\n\t" + xhr.status + "\n\nExpected OK HTTP status code 0 or 200.");
					}

					load();
				};

				xhr.onerror = function () {
					error("Failed script HTTP request.\n\nAttempted to download script:\n\t" + src + "\n\nReceived error.\n\nExpected successful HTTP request.");
					load();
				};

				xhr.open("GET", src, true);
				xhr.send(null);
			}
		}
	}
Load scripts in the order they appear.