(function($){var _registered=false,_queue=null,_queueCursor=0,_loadedScripts=null;var _loadNextScript=function(){var nbLayers=_queue.length;if(_queueCursor>=nbLayers){return;}
var url=_queue[_queueCursor];var options={cache:true,dataType:'script',url:url,timeout:500};if(_queueCursor==nbLayers-1){options.complete=function(){_queue=[];_queueCursor=0;_registered=false;$(document).trigger("loaderready");};}else{options.complete=function(){_loadNextScript();};}
_queueCursor++;if(_loadedScripts.indexOf(url)!==-1){options.complete();}else{options.complete=options.complete.wrap(function(proceed){_loadedScripts.push(url);proceed();});$.ajax(options);}};$.extend({registerScriptLoader:function(scripts){if(_loadedScripts==null){_loadedScripts=$.filters.uncombine($.getLoadedScripts());}
scripts=$.filters.uncombine(scripts);if(_registered){_queue=_queue.concat(scripts);return;}
_queue=scripts;_registered=true;_loadNextScript();},scriptLoaderRegistred:function(){return _registered;},registerWidgetLoader:function(widgets,force){var startLoad=function(){$.each(widgets,function(index,widget){var element=$('#'+widget.id);if(element.length&&$.isFunction(element[widget.params['jqueryPlugin']])){element[widget.params['jqueryPlugin']].call(element,widget.params);}});};if(force===true){startLoad();}else{$(function(){if($.scriptLoaderRegistred()){$(document).bind("loaderready.widgets",function(){$(document).unbind("loaderready.widgets");startLoad();});}else{startLoad();}});}}});})(jQuery);
