// JavaScript Document

function BullesVivantes(selecteur)
{
	var UL = $(selecteur);
	UL.addClass("cadreBulles");
	var wCadre = UL.innerWidth();
	var hCadre = UL.innerHeight();
	var dureeDep = 2000;
	var ecartBalade = 100;
	var LIs = $(selecteur + " li");
	var bulles = Array();
	var bullesTimers = Array();

	function Bulle(domBulle)
	{
		this.dom = domBulle;
		this.$ = $(domBulle);
		
		this.deplace = function(x,y){
				this.$.animate({left:x,top:y},dureeDep);
		};
		
		this.deplaceHasard = function(){
			var xMax = wCadre - this.$.outerWidth();
			var yMax = hCadre - this.$.outerHeight();
			var xNew = Math.floor(Math.random()*xMax);
			var yNew = Math.floor(Math.random()*yMax);
			this.deplace(xNew,yNew);
			//log("Deplace Hasard : "  + this.dom.innerHTML);
		};
		
		this.startBalade = function(){
			var bulle = this;
			bulle.deplaceHasard();
			this.timer = setInterval(function(){bulle.deplaceHasard();},dureeDep);
			//log("Start : "  + this.dom.innerHTML);
		};
		this.stopBalade = function(){
			clearInterval(this.timer);
			//this.$.stop();
			//log("Stop : "  + this.dom.innerHTML);
		};
	}

	LIs.each(function()
	{
		bulles.push(new Bulle(this));				   
	});



	this.disposeBulles = function(){
		var curi = 0;
		for(var i=0;i < bulles.length;i++)
		{
			 bullesTimers[i] = setTimeout(function(){
				bulles[curi].deplaceHasard();
				curi++;
			},ecartBalade*i); 
		}
	};

	this.startBalade = function(){		
		var curi = 0;
		for(var i=0;i < bulles.length;i++)
		{
			bullesTimers[i] = setTimeout(function(){
				bulles[curi].startBalade();
				curi++;
			},ecartBalade*i); 
		}
	};

	this.stopBalade = function(){		
		for(var i=0;i < bulles.length;i++)
		{
			bulles[i].stopBalade();
			clearTimeout(bullesTimers[i]);
		}
	};

}




