/**
* Javascripte nachladen
*
* Diesen Script lädt weitere Javascripte dynamisch nach.
* Dazu braucht es lediglich die URL des nachzuladenden
* Scriptes, um diese im <head>-Bereich am Ende anzu-
* hängen.
*
* erstellt von Felix Riesterer (Felix.Riesterer@gmx.net)
*/

/*
Ä = \u00c4
Ö = \u00d6
Ü = \u00dc
ä = \u00e4
ö = \u00f6
ü = \u00fc
ß = \u00df
*/
jsLoader = {

	/* Hier stehen die nachladbaren Scripte mit ihren URLs
	-> RELATIV ZU DIESEM SCRIPT <-
	und die Namen der Eigenschaften dürfen
	-> KEINE LEERZEICHEN <-
	enthalten!
	Der Unterstrich am Beginn eines Scriptes verhindert, dass es
	\u00fcber den Eigenschaften-Dialog im Editor auswählbar ist (daher
	braucht es auch keine Beschreibungen) */
	scripte : {
		adventure : {
			url : "adventure/adventure.js",
			de : "Adventure Framework",
			en : "adventure framework"
		},
		js_popup : {
			url : "js_popup/js_popup.js",
			de : "Bilder-Popup",
			en : "full image popup"
		},
		quiz : {
			url : "quiz/quiz.js",
			de : "Quiz-Funktionalit\u00e4t",
			en : "functionality for interactive quiz"
		},
		translator : {
			url : "translator.js",
			de : "\u00dcbersetzungshilfe",
			en : "translation help"
		},
		_inlinepopup : {
			url : "inlinepopup/inlinepopup.js"
		},
		_mausverfolger : {
			url : "mausverfolger.js"
		},
		_explorer : {
			url : "explorer/explorer.js"
		},
		_filebrowser : {
			url : "pg-cms-filebrowser.js"
		},
		_formularhilfen : {
			url : "formularhilfen.js"
		},
		_pgcms_filebrowser : {
			url : "pg-cms-filebrowser.js"
		},
		_dateiverwaltung : {
			url : "dateiverwaltung.js"
		} // Am Schluss steht kein Komma!
	},

	oldWinOnLoad : false, // hier steht später eine Funktion
	baseURL : false, // hier steht später der Pfad zu diesem Script

	addJS : function (URL) {
		var scriptElm = document.createElement("script");
		scriptElm.type = "text/javascript";
		scriptElm.src = URL;
		document.getElementsByTagName("head")[0].appendChild(scriptElm);
	},

	holeBaseURL : function () {
		var scripts = document.getElementsByTagName("script"),
			i;
		for (i = 0; i< scripts.length; i++)
			if (scripts[i].src && scripts[i].src.match(/\/js_loader.js$/))
				jsLoader.baseURL = scripts[i].src.replace(/^(.*\/)[^\/]+$/, "$1");
	},

	load : function (string) {
		var URL, wuensche, i, script;

		if (!jsLoader.baseURL)
			jsLoader.holeBaseURL();

		string = string.replace(/ /g, '');
		wuensche = string.split(",");
		for (i = 0; i < wuensche.length; i++) {
			script = jsLoader.scripte[wuensche[i]] || jsLoader.scripte["_"+wuensche[i]];

			if (script) {
				URL = jsLoader.baseURL + script.url;
				jsLoader.addJS(URL);
			}
		}
	}
}

