/* 
 * Динамическая подгрузка javascript-файлов v20110323.
 * Данные о подгружаемых файлах берутся из глобального массива onload_js.
 * 
 * onload_js = []
 * onload_js[onload_js.length] = "script1.js" - просто загрузить script1.js
 * onload_js[onload_js.length] = ["script1.js","script2.js"] - просто загрузить script1.js и script2.js
 * onload_js[onload_js.length] = {"src":"script1.js","callback":function() { callback1(); }} - после загрузки script1.js выполнить callback1();
 * onload_js[onload_js.length] = {"src":["script1.js","script2.js"],"callback":function() { callback23(); }} - после загрузки обеих script1.js и script2.js выполнить callback23();
 *
 */


$(function() {

	for (var i = 0; i < onload_js.length; i++)
	{
		var js = onload_js[i];

		if (js["src"] == null) 
			js = {"src":js};

		if (typeof js["src"] == "string")
			js["src"] = [js["src"]];

		if (js["loaded"] == null)
			js["loaded"] = {};
	
		onload_js[i] = js;

		for (var j = 0; j < js["src"].length; j++)
		{
			var js_src = js["src"][j];

			var callback = function(i,j) 
			{
				return function()
				{
					var js = onload_js[i];
					var js_src = js["src"][j];
					js["loaded"][js_src] = true;
					if (typeof js["callback"] == "function")
					{
						var all_scripts_loaded = true;
						for (var jj = 0; jj < js["src"].length; jj++)
							if (js["loaded"][js["src"][jj]] != true)
								all_scripts_loaded = false;
						if (all_scripts_loaded == true)
							js["callback"]();
					}
					onload_js[i] = js;
				}
			}

			if (js["loaded"][js_src] != true)
				$.getScript(js_src,callback(i,j));
		}
	}

});


