/* 	Animation des nuages en fond d'écran
	Par Jautée William
	http://www.seyartdesign.fr
	version 0.4
								*/

var animnuage = function() {
	
	// def des nuages
	nuages = new Array();
	nuages[1] = 'nuages/nuage1.png';
	nuages[2] = 'nuages/nuage2.png';
	nuages[3] = 'nuages/nuage3.png';
	
	//placement aléatoire (mais délimité) des nuages
	
	FenSize = Math.max(window.getSize().x,980);
	
	tabeltnuages = new Array();
	
	for (i=1; i<nuages.length; i++) {
		var y = $random(0,75);//var y = $random(10,125);
		var x = $random(10,FenSize-310);
		var element = new Element('div');
		element.setStyles({
			position:'absolute',
			width: 300 + 'px',
			height: 75 + 'px',
			background:'transparent url(../ui/js/'+nuages[i]+') no-repeat center center', // version sur le serveur : ../ui/js/ etc... | local HTML : url(../js/'+nuages[i]+'
			top: y + 'px',
			left: x + 'px'
						  });
		element.inject($('wrapper'),'before');
		tabeltnuages[i]= element;
	}
			
	// animation

	var animN = new Class({
					initialize : function(elt,vitesse){
						this.elt = elt;
						this.vitesse = vitesse;
						this.duree = $random(FenSize/this.vitesse,FenSize/this.vitesse*1.25)*1000;
						this.myFx = new Fx.Tween(elt,{
							duration : this.duree,
							transition: 'linear',
							link:'chain',
							onComplete: function(){
								this.makeAnim();
							}.bind(this)
							});
					},
					makeAnim: function(){
						var minMaxX = FenSize * 0.85;
						var maxMinX = FenSize * 0.15;
						if (this.elt.getStyle('left').toInt() < (window.getSize().x/2)) {
							var toX = $random(minMaxX-310,FenSize-310);
						} else {
							var toX = $random(10,maxMinX);
						}
						this.myFx.start('left', toX +'px');
					},
					restartAnim: function(){
						this.myFx.cancel();
						this.myFx.duration = $random(FenSize/this.vitesse,FenSize/this.vitesse*1.25)*1000;
						this.makeAnim();
					}	  
						  });
	
	// lancement de l'animation pour chaque nuage
	
 	tabObjNuages = new Array();
	
	var animLaunch = function(){
		for (j=1; j<tabeltnuages.length; j++) {
			var vitesse = 32;
			tabObjNuages[j] = new animN(tabeltnuages[j],vitesse);
			tabObjNuages[j].makeAnim();
		}
	}
	
	animLaunch();
	
	// relancement de l'animation en cas de resizing
	
	var animRestart = function(){
		for (k=1; k<tabObjNuages.length; k++) {
			FenSize = Math.max(window.getSize().x,980);
			tabObjNuages[k].restartAnim();
		}
	}
	
	// timer sur afin que l'event resize ne soit pas envoyer plein de fois.
	
	var resizeTimer = 0;
	
	var doCancelAnim = function(){
		if (resizeTimer)
			clearTimeout(resizeTimer);
	
		resizeTimer = setTimeout(animRestart, 500);
	}
	
	window.addEvent('resize',doCancelAnim);
	
}
