window.addEvent('domready', function() {

	$$('#diaporama').each(function(newsList) {
		var classes = newsList.getProperty('class').split(/\s/);
		var delay = 3000;
		for (var c = classes.length - 1; c >= 0; c--) {
			if (classes[c].substr(0, 'fading'.length) == 'fading') {
				var options = classes[c].split('-');
				for (var o = 1; o < options.length; o++) {
					if (/^\d{1,6}ms$/.test(options[o])) {
						delay = options[o].substring(-2).toInt();
					} else if (/^\d{1,3}s$/.test(options[o])) {
						delay = 1000 * options[o].substring(-1).toInt();
					} 
				}
			}
		}
		
		var isContainerHover = false;
		
		newsList.addEvent('mouseover', function() { isContainerHover = true; });
		newsList.addEvent('mouseout', function() { isContainerHover = false; });
		$$('.fleche').addEvent('mouseover', function() { isContainerHover = true; });
		$$('.fleche').addEvent('mouseout', function() { isContainerHover = false; });
	
		tabImages = $$('#diaporama').getElement('.newslist').getElements('.layout_latest')[0];
		currentImage = 0;
		
		for(var i = 1;i<tabImages.length;i++){
			tabImages[i].fade('hide');
		}
		
		window.setTimeout(function() {
			if (isContainerHover) {
				window.setTimeout(arguments.callee, 1000);
			} else {
				var imageToRemove = tabImages[currentImage];
				var imageToDisplay = tabImages[(currentImage + 1) % tabImages.length];
				
				imageToRemove.fade('out');
				(function(){ 
					imageToRemove.hide(); 
					imageToDisplay.show();
					imageToDisplay.fade('in');
				}).delay(550);
				
				currentImage = (currentImage + 1) % tabImages.length;
				window.setTimeout(arguments.callee, delay);
			}
		}, delay);
	});
	
	$$('.fleche').addEvent('click', function() { 
		if(this.id == 'fleche_gauche'){
			if(currentImage){
				var indexToDisplay = currentImage - 1;
			}
			else{
				var indexToDisplay = 5;
			}
		}
		else if(this.id == 'fleche_droite'){
			var indexToDisplay = (currentImage + 1) % tabImages.length;
		}
		
		
		var imageToRemove = tabImages[currentImage];
		var imageToDisplay = tabImages[indexToDisplay];
		
		imageToRemove.fade('out');
		(function(){ 
			imageToRemove.hide(); 
			imageToDisplay.show();
			imageToDisplay.fade('in');
		}).delay(500);
		
		currentImage = (indexToDisplay) % tabImages.length;
	});
});
