if (typeof FM === "undefined") { FM = { __namespace: true }; } FM.ScriptLoader = function (urls, callback) { if (jQuery) { urls = (isArray(urls) ? urls : [urls]); callback = (isFunction(callback) ? callback : function () { }); jQuery.when.apply(this, urls.map(loadScript)).done(callback); } function loadScript(url) { return jQuery.ajax({ url: url, dataType: "script", async: true }); }; function isArray(obj) { return ( obj != null && Object.prototype.toString.call(obj) === "[object Array]"); }; function isFunction(obj) { return ( obj != null && typeof obj === "function"); }; };