/**
* Par Avock pour Japanimes.fr
* 
* ©2008
* 
* Le contenu à défiler se trouve dans le défilant.
* Le contenu se double lors de l'initialisation afin de faire une jointure entre deux premiers passages.
* Lorsque le premier passage est fait, le contenu initial est à nouveau ajouté au double afin de faire une deuxième bonne transition.
* Et ainsi de suite. Puis, pour ne pas trop surcharger la page, on réinitialise le défilement au bout de 4 ajouts.
**/

//Variable permettant la mémoire du dernier left attribué au défilant
var leftder = 0;
//Sécurité car vu que à chaque loop on rajoute du contenu en plus de l'actuel, on vide au bout de 4 rajouts
var loops = 0;
//Dernier width attribué au défilant
var longdefil = 0;
//Permet de couper le défilement lorsque la souris passe sur la barre
var timeout = null;

function defiler() {
	$$('.imageDefilante').each(function (loopdiv) {
		loopdiv.observe('mouseover', animediv);
	});
	if(timeout != null) {
		if(4 == loops) {	//Si on a rajouté 4 fois, on vide le défilant
			longdefil = tailleorig*2;
			divdef.innerHTML = text + text;
			leftder = 0;
			divdef.style.width = longdefil + 'px';
			loops = 0;
		}
		if(0 == (leftder%tailleorig)) {	//Si on arrive au bout de l'avant dernier rajout, on fait un rajout au bout
			loops+= 1;
			longdefil+=tailleorig;
			divdef.style.width = longdefil + 'px';
			divdef.innerHTML+= text;
		}
		timeout = setTimeout("defiler()", 100);
		
		leftder -= 1;
		divdef.style.left = leftder+'px';
	}
}

var element = null;
var imageencours = false;
function animediv(e) {
	if(imageencours == false) {
		element = Event.element(e);
		element.setOpacity(0.5);
		setTimeout("animediv2()", 100);
		imageencours = true;
	}
}
var opacite = 0.5;
function animediv2() {
	opacite += 0.08;
	element.setOpacity(opacite);
	if(opacite < 0.95)
		setTimeout("animediv2()", 100);
	else  {
		opacite = 0.5;
		element.setOpacity(1);
		imageencours = false;
	}
}

initdefilement = function() {
	divdef = document.getElementById('def');
	tailleorig = divdef.style.width.substring(0, divdef.style.width.length-2);
	text = divdef.innerHTML;
	loops = 4;
	timeout = setTimeout("defiler()", 70);
	
	Event.observe('def', 'mouseover', stopdefilement);
	Event.observe('def', 'mouseout', reprendredefilement);
}

stopdefilement = function() {
	if(timeout != null) {
		clearTimeout(timeout);
		timeout = null;
	}
}

reprendredefilement = function() {
	if(timeout == null) {
		timeout = setTimeout("defiler()", 70);
	}
}

Event.observe(window, 'load', initdefilement);
