ScriptLoader=function(){this.timeout=30;this.scripts=[];this.disableCaching=false};ScriptLoader.prototype={processSuccess:function(response){this.scripts[response.argument.url]=true;window.eval(response.responseText);if(response.argument.options.scripts.length==0){}if(typeof response.argument.callback=="function"){response.argument.callback.call(response.argument.scope)}},load:function(url,callback){var cfg,callerScope;if(typeof url=="object"){cfg=url;url=cfg.url;callback=callback||cfg.callback;callerScope=cfg.scope;if(typeof cfg.timeout!="undefined"){this.timeout=cfg.timeout}if(typeof cfg.disableCaching!="undefined"){this.disableCaching=cfg.disableCaching}}Ext.Ajax.request({url:url,success:this.processSuccess,scope:this,disableCaching:this.disableCaching,argument:{url:url,scope:callerScope||window,callback:callback,options:cfg}})}};ScriptLoaderMgr=function(){this.loader=new ScriptLoader;this.load=function(o){if(!Ext.isArray(o.scripts)){o.scripts=[o.scripts]}o.url=o.scripts.shift();if(o.scripts.length==0){this.loader.load(o)}else{o.scope=this;this.loader.load(o,function(){this.load(o)})}}};ScriptMgr=new ScriptLoaderMgr;