var count_pic = 5;
var img_path = "img/";
var fade_duration = 1;
var wait = 5000;
var active_lnk_color = "#88f2ff";
var unactive_lnk_color = "#192f76";

var pictures = new Array();
for(var i=1;i<=count_pic;i++) {
	var path = img_path+"visuel_"+i+".jpg";
	var img = new Image();
	img.src = path;
	pictures.push(path);
}

var ss_start=false;
var current_ss=1;

function addingPictures() {
	var arr = $A(pictures); 
	arr.each(
		function(picture){
			var div = document.createElement('DIV');
			var index = parseInt( $(arr).indexOf(picture) );
			div.id = "ss_"+(index + 1);
$(div).setStyle({
				width:"960px",
				height:"720px",
				background:"url("+arr[index]+") no-repeat",
				display:"none"
			});
			$('slide_container').appendChild(div);
		}
	);
}

var i=0;
var lasti=undefined;
var fade_fx=appear_fx=interval=null;

function start_slideshow() {
	if (!ss_start) {
		addingPictures();
		SlideShow();
	}
	interval = setInterval("SlideShow()", wait);
}

function setColor() {
	if(lasti!=undefined)
		$('lnk'+lasti).setStyle({color:unactive_lnk_color});
	$('lnk'+i).setStyle({color:active_lnk_color});
	lasti=i;
}

function selectSlide(offset) {
	
	var current = i;
	if(offset == current)
		return false;
		
	window.clearInterval(interval);
	
	if(fade_fx) fade_fx.cancel();
	if(appear_fx) appear_fx.cancel();
	
	var opac = parseFloat( $('ss_'+ current).getStyle('opacity') );
	var new_duration = (fade_duration * (opac * 100)) / 100;
	
	i=offset;
	$('ss_' + current).setStyle({position:"absolute"});
	new Effect.Parallel([
		new Effect.Fade('ss_' + current, {sync: true,from: opac,to: 0.0,duration:new_duration}),
		new Effect.Appear('ss_'+ offset, { sync: true, from:0.0, to:1.0,duration:fade_duration,beforeStart:setColor})
	]);
	
	start_slideshow();
}

function SlideShow() {
	if (ss_start) {
		$('ss_' + lasti).setStyle({position:"absolute"});
		fade_fx = new Effect.Fade('ss_' + i, {
			from: 1.0,
			to: 0.0,
			duration: fade_duration
		});
	}
	
    i++;
    if (i > count_pic) i = 1;
	if (!ss_start) {
		$('ss_' + i).show();
		setColor();
	}
	else {
		appear_fx = new Effect.Appear('ss_' + i, {
			from: 0.0,
			to: 1.0,
			duration: fade_duration,
			beforeStart: setColor
		});
	}
	ss_start=true;
}
