var DrDefilement = new Class({
		initialize: function(el) {
			this.el = el;	
			this.delaiAnimation = 3000;
			this.duree_defilement = 1000;
			this.stopAnim = false;
			window.addEvent('domready', this.effet.bind(this));
			
		},
		stop: function(){
			this.stopAnim = true;
			this.el.setStyle('width','100%');
			this.el.setStyle('margin-left','0px');
		},
		
		play: function(){
			this.el.setStyle('width','500000px');
			this.stopAnim = false;
		},
		
		effet: function(){
			var linear = new Fx.Style('margin', {transition: Fx.Transitions.Elastic.easeOut});
			var el = this.el;
			var delaiAnimation = this.delaiAnimation;
			var duree_defilement = this.duree_defilement;
			var class_fil = "blck-lst-biens";
			var elements = this.el.getElements('div[class='+class_fil+']');
			
			this.el.getParent().setStyle('overflow','hidden');
			this.el.setStyle('width','500000px');
			
			var nb_elements = elements.length;
			var decalage = 215;
			var position = 0;
			var nombre_elements_affichable = 4;

			//var depart = elements[0].getStyle('margin-left');
			//depart = depart.substring(0,depart.length-2);
			var pos=0;
			
			var decaler = function(){
				if(!this.stopAnim){
					var diff = nb_elements-nombre_elements_affichable;
					if(position < diff){
						if(position < (diff-1)){
							var affichejusteElements = new Fx.Style(elements[position+nombre_elements_affichable+1], 'opacity');
							affichejusteElements.set(0);
						}
						var affichejusteElements = new Fx.Style(elements[position+nombre_elements_affichable], 'opacity');
						affichejusteElements.set(1);
						
						var marginChange = new Fx.Style(el, 'margin-left', {duration:duree_defilement});
						if(position == 0){
							decalage = 230;
						}
						position++;
						
						marginChange.start(pos,pos-decalage);
						pos = pos-decalage;
						if(position == 1){
							decalage = 221;
						}
					}
					else{
						position = 0;
						var marginChange = new Fx.Style(el, 'margin-left', {duration:duree_defilement});
						marginChange.start(pos,0);
						pos=0;
					}
				}
			};
			
			if(nb_elements > nombre_elements_affichable){
				var affichejusteElements = new Fx.Style(elements[nombre_elements_affichable], 'opacity');
				//affichejusteElements.set(0);
				decaler.periodical(delaiAnimation, this);
			}
		}
});
