function(){
				Object.defineProperty(this,'listen',{ value:function(){} });
				var hasSyncEvent=this.self.store.hasSyncEvent;
				this.on('request.started',function(){
					S.log('request.started');
					this.state='pending';
					this.nodes.forEach(function(node){
						node.first('.state').html('<img src="/web/sync-14.gif"/>');
					});
				}.bind(this));
				this.on('request.success',function(){
					S.log('request.success');
					if(this.state==='pending') this.state='saved'; //the state could change to 'unsaved' for instance.
					this.nodes.forEach(function(node){
						var state=node.first('.state');
						hasSyncEvent ? state.html('<img src="/web/sync-server.gif"/>') : state.empty();
					});
				}.bind(this));
				
				if(hasSyncEvent){
					this.on('synced',function(){
						S.log('synced');
						this.nodes.forEach(function(node){
							node.first('.state').empty();//TODO : gérer les cas où state !== sync-server.
						});
					}.bind(this));
				}
			}
function(){
				Object.defineProperty(this,'listen',{ value:function(){} });
				var hasSyncEvent=this.self.store.hasSyncEvent;
				this.on('request.started',function(){
					S.log('request.started');
					this.state='pending';
					this.nodes.forEach(function(node){
						node.first('.state').html('<img src="/web/sync-14.gif"/>');
					});
				}.bind(this));
				this.on('request.success',function(){
					S.log('request.success');
					if(this.state==='pending') this.state='saved'; 
					this.nodes.forEach(function(node){
						var state=node.first('.state');
						hasSyncEvent ? state.html('<img src="/web/sync-server.gif"/>') : state.empty();
					});
				}.bind(this));
				
				if(hasSyncEvent){
					this.on('synced',function(){
						S.log('synced');
						this.nodes.forEach(function(node){
							node.first('.state').empty();
						});
					}.bind(this));
				}
			}
function ( ) { Object . defineProperty ( this , 'listen' , { value : function ( ) { } } ) ; var hasSyncEvent = this . self . store . hasSyncEvent ; this . on ( 'request.started' , function ( ) { S . log ( 'request.started' ) ; this . state = 'pending' ; this . nodes . forEach ( function ( node ) { node . first ( '.state' ) . html ( '<img src="/web/sync-14.gif"/>' ) ; } ) ; } . bind ( this ) ) ; this . on ( 'request.success' , function ( ) { S . log ( 'request.success' ) ; if ( this . state === 'pending' ) this . state = 'saved' ; //the state could change to 'unsaved' for instance. this . nodes . forEach ( function ( node ) { var state = node . first ( '.state' ) ; hasSyncEvent ? state . html ( '<img src="/web/sync-server.gif"/>' ) : state . empty ( ) ; } ) ; } . bind ( this ) ) ; if ( hasSyncEvent ) { this . on ( 'synced' , function ( ) { S . log ( 'synced' ) ; this . nodes . forEach ( function ( node ) { node . first ( '.state' ) . empty ( ) ; //TODO : gérer les cas où state !== sync-server. } ) ; } . bind ( this ) ) ; } }
/*#if BROWSER
/ * #if BROWSER