/*!
 * Ext JS Library 3.3.1
 * Copyright(c) 2006-2010 Sencha Inc.
 * licensing@sencha.com
 * http://www.sencha.com/license
 */
Ext.UpdateManager=Ext.Updater=Ext.extend(Ext.util.Observable,function(){var b="beforeupdate",d="update",c="failure";function a(g){var h=this;h.transaction=null;if(g.argument.form&&g.argument.reset){try{g.argument.form.reset()}catch(i){}}if(h.loadScripts){h.renderer.render(h.el,g,h,f.createDelegate(h,[g]))}else{h.renderer.render(h.el,g,h);f.call(h,g)}}function f(g,h,i){this.fireEvent(h||d,this.el,g);if(Ext.isFunction(g.argument.callback)){g.argument.callback.call(g.argument.scope,this.el,Ext.isEmpty(i)?true:false,g,g.argument.options)}}function e(g){f.call(this,g,c,!!(this.transaction=null))}return{constructor:function(h,g){var i=this;h=Ext.get(h);if(!g&&h.updateManager){return h.updateManager}i.el=h;i.defaultUrl=null;i.addEvents(b,d,c);Ext.apply(i,Ext.Updater.defaults);i.transaction=null;i.refreshDelegate=i.refresh.createDelegate(i);i.updateDelegate=i.update.createDelegate(i);i.formUpdateDelegate=(i.formUpdate||function(){}).createDelegate(i);i.renderer=i.renderer||i.getDefaultRenderer();Ext.Updater.superclass.constructor.call(i)},setRenderer:function(g){this.renderer=g},getRenderer:function(){return this.renderer},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},setDefaultUrl:function(g){this.defaultUrl=g},getEl:function(){return this.el},update:function(h,m,n,k){var j=this,g,i;if(j.fireEvent(b,j.el,h,m)!==false){if(Ext.isObject(h)){g=h;h=g.url;m=m||g.params;n=n||g.callback;k=k||g.discardUrl;i=g.scope;if(!Ext.isEmpty(g.nocache)){j.disableCaching=g.nocache}if(!Ext.isEmpty(g.text)){j.indicatorText='<div class="loading-indicator">'+g.text+"</div>"}if(!Ext.isEmpty(g.scripts)){j.loadScripts=g.scripts}if(!Ext.isEmpty(g.timeout)){j.timeout=g.timeout}}j.showLoading();if(!k){j.defaultUrl=h}if(Ext.isFunction(h)){h=h.call(j)}var l=Ext.apply({},{url:h,params:(Ext.isFunction(m)&&i)?m.createDelegate(i):m,success:a,failure:e,scope:j,callback:undefined,timeout:(j.timeout*1000),disableCaching:j.disableCaching,argument:{options:g,url:h,form:null,callback:n,scope:i||window,params:m}},g);j.transaction=Ext.Ajax.request(l)}},formUpdate:function(j,g,i,k){var h=this;if(h.fireEvent(b,h.el,j,g)!==false){if(Ext.isFunction(g)){g=g.call(h)}j=Ext.getDom(j);h.transaction=Ext.Ajax.request({form:j,url:g,success:a,failure:e,scope:h,timeout:(h.timeout*1000),argument:{url:g,form:j,callback:k,reset:i}});h.showLoading.defer(1,h)}},startAutoRefresh:function(h,i,k,l,g){var j=this;if(g){j.update(i||j.defaultUrl,k,l,true)}if(j.autoRefreshProcId){clearInterval(j.autoRefreshProcId)}j.autoRefreshProcId=setInterval(j.update.createDelegate(j,[i||j.defaultUrl,k,l,true]),h*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return !!this.autoRefreshProcId},showLoading:function(){if(this.showLoadIndicator){this.el.dom.innerHTML=this.indicatorText}},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){return this.transaction?Ext.Ajax.isLoading(this.transaction):false},refresh:function(g){if(this.defaultUrl){this.update(this.defaultUrl,null,g,true)}}}}());Ext.Updater.defaults={timeout:30,disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Chargement...</div>',loadScripts:false,sslBlankUrl:Ext.SSL_SECURE_URL};Ext.Updater.updateElement=function(d,c,e,b){var a=Ext.get(d).getUpdater();Ext.apply(a,b);a.update(c,e,b?b.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(c,a,b,d){c.update(a.responseText,b.loadScripts,d)}};
