/*
* Динамическая подгрузка 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));
}
}
});