var wediaGlobal = (function(){

	var importedLibraries = [];
	
	var hasWritenScript = function(scriptKey) {
		for(var i=0,size=importedLibraries.length; i<size; i++) {
			if(scriptKey == importedLibraries[i]) {
				return true;
			}
		}
		return false;
	};
	
	return {
		/**
		 * Writes the script tag of required library 
		 * examples:
		 * wediaGlobal.importLibrary("/js/myScriptLibrary.js");
		 * wediaGlobal.importLibrary("/js/myScriptLibrary.js", {"libraryName": "myLib"});
		 * wediaGlobal.importLibrary("/js/myScriptLibrary.js", {"libraryName": "myLib", "encoding": "UTF-8"});
		 * wediaGlobal.importLibrary("/js/myScriptLibrary.js", {"encoding": "UTF-8"});
		 */
		importLibrary : function(scriptPath, options) {
			if(typeof scriptPath != "undefined") {
				options = options || {};
				if((typeof options).toLowerCase() == "string") {
					options = {libraryName: options};
				}
				var libraryName	= options.libraryName || scriptPath;
				var encoding	= options.encoding || "";
				if(! hasWritenScript(libraryName)) {
					try {
						var script = document.createElement('script');
						script.type = 'text/javascript';
						script.src = scriptPath;
						if(encoding != "") {
							script.encoding = encoding;
						}
						document.getElementsByTagName('head')[0].appendChild(script);
					} catch(e) {
						if(encoding != "") {
							encoding = "encoding='" + encoding +"'";
						}
						// inserting via DOM fails in Safari 2.0, so brute force approach
						document.write("<script src='" + scriptPath + "' type='text/javascript'" + encoding + "><\/script>");
					}
					importedLibraries.push(libraryName);
				}
			}
		},
		setLibraryImported: function(libraryName) {
			importedLibraries.push(libraryName);
			return this;
		}
	};
})();
