// JavaScript Document
FADE_DURATION = 0.35;
//||||||||||
//Variables|
//||||||||||
var timer,zero,w,lf,el;
var tab=new Array();
var tab2=new Array();
var pos=0;
var val=0;
var oui=true;
var c;
var growedMe=false;

var browser = {
    IE: !!(window.attachEvent && !window.opera) ? true : false,
    Opera: !!window.opera ? true : false,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1 ? true : false,
    Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1 ? true : false,
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) ? true : false,
    Safari: !!navigator.userAgent.match(/Apple.*Safari/) ? true : false
}


//||||||||||||||||||||||||
//Variables paramétrables|
//||||||||||||||||||||||||
var M=0;// marge de gauche de la boîte à images;
var W=1680;// largeur de la boîte à images
// (forcément supérieure à la somme des largeurs des images);
var H=440;// hauteur de la boîte à images;
var T=150;// marge haute;
var E=168; // ecart
var delai=Math.round(W/4);// le délai initial est d'un quart
// de la largeur de la boîte;

var dec=M+W/2;// position horizontale au centre de la boîte;




//|||||||||||||||||||||||
//Déplacement des images|
//|||||||||||||||||||||||
function go(){
	for(var i=0; i<tab.length; i++){
	   lf=parseInt(tab[i].style.left);
	   w=tab[i].width;
	   tab[i].style.left=(lf+val)+"px";
	   if(lf>(pos-w)){
		  tab[i].style.left=(lf-pos)+"px"};
	   if (tab2.length > 3) {
		   if(lf<(W-pos)){
			  tab[i].style.left=(lf+pos)+"px"};
	   }
	   else {
		   if(lf<(1380-pos)){
			  tab[i].style.left=(lf+pos)+"px"};
	   }
	}

timer=setTimeout("go()",30);
}


//||||||||||||||||
//Vitesse et sens|
//||||||||||||||||
function speed(e){
el= (!e) ? event.clientX : e.pageX;
if(el>=dec){
   delai=W/2+2-(el-dec);val=2}// val=déplacement
else{
   delai=W/2-1-(dec-el);val=-2};// val=déplacement

}






//|||||||||||||||||||||||||||||||||||||||||||||||||
//Positionnement des images et lancement du script|
//|||||||||||||||||||||||||||||||||||||||||||||||||
function init() {
	//|||||||||||||||||||||
	//Création de la boîte|
	//|||||||||||||||||||||
	c=document.createElement('div');
	c.id="c";
	c.style.marginLeft=M+"px";
	c.style.width=W+"px";
	c.style.height=H+"px";
	c.style.marginTop=T+"px";	
	//c.style.display="block";
	var cpt=0;
	//||||||||||||||||||||
	//Création des images|
	//||||||||||||||||||||
	//var lis = $('diaporama').getElementsByTagName('img');
	//var lis = $('diaporama').getElementsById('im');
	for(var i=0; i<tab2.length; i++){
		var s = document.createElement('div');
		s.style.marginLeft="120px";
		tab[i]=new Image();
		tab[i].src=tab2[i];
		tab[i].style.border="0px";
		tab[i].i = i;
		Event.observe(tab[i], 'load', function(event) { loadImage(this,s); });
		/*s.appendChild(tab[i]);
		c.appendChild(s);*/
	}
	
	function loadImage(par1, par2) {
		cpt++;
		// load de l'image
		tab[par1.i].width = par1.width;
		/*tab[par1.i].style.left=pos+E+"px";
		tab[par1.i].style.display="inline";
		pos+=tab[par1.i].width+E;*/
		par2.appendChild(tab[par1.i]);
		c.appendChild(par2);
		if (cpt >= tab2.length) {
			delai=10;val=-2;
			replacer();
			go();
			
		}
	}
	
	document.body.replaceChild(c,document.getElementById('nul'));	
	
	

		
	function replacer() {
	
		for(var i=0; i<tab.length; i++){
			tab[i].style.left=pos+E+"px";
			tab[i].style.display="inline";
			pos+=tab[i].width+E;
		}
		if (!browser.IE) {
			$(c).visualEffect('Opacity', { from: 0.1, to: 1.0, duration: FADE_DURATION,afterUpdate:titi });}
		else {
			new Effect.Opacity('c', {duration:FADE_DURATION, from:0.1, to:1.0, afterUpdate:titi });
			}			
	}

	
	function titi() {
		c.style.display="block";
	}
	

	//||||||||||||||||||||||||
	//Gestionnaire de "speed"|
	//||||||||||||||||||||||||
	Event.observe(c, 'mousemove', speed);
	
	//|||||||||||||||||||||||||||||||||||||||||||||||||
	//Pause / relance du script / activation des liens|
	//|||||||||||||||||||||||||||||||||||||||||||||||||
	Event.observe(c, 'click', function() {
	//c.observe("click", function() {
	   if(oui){clearTimeout(timer);oui=false;
	   }
	   else{go();oui=true;
	   };
	});	

}


Event.observe(window, 'load', init, false);
