/* http://www.developpement-web.net */

/* Choix de l'effet et temps entre les images */

var effect = 1;

if(time == '')
{
	var time = 120;
}

var time_del = time;

/**********************************************/

var prev_image = 0;
var current_image = 0;
var next_image = 1;
var image = new Array();

/***/

function DelTime()
{
	if(time > 0)
	{
		time--;
		window.setTimeout('DelTime();', time);
	}
	else
	{
		nextimage();
		DelTime();
	}
}

function AddTime()
{
	if(time < time_del)
	{
		time_diff = time_del - time;
		time += time_diff;
	}
}

function init(div_id, className, effecTime)
{
	var ss_parent = $(div_id);
	
	if(ss_parent.getElementsByClassName(className))
	{
		image = ss_parent.getElementsByClassName(className);
	}
	
	if(image.length > 1)
	{
		prev_image = (image.length-1);
		
		//initialisation du compte à rebour pour afficher
		AddTime();
		DelTime();
	}
}

function change(img_id)
{
	for(i=0; i < image.length; i++)
	{
		if(img_id == image[i].id)
		{
			next_image = i;
		}
	}
	
	/***/
	
	if(effect == 1) 
	{
		if(current_image != next_image)
		{
			if(image[current_image].style.display != 'none')
			{
				new Effect.Fade(image[current_image].id, {duration: 0.5, queue: 'front'});
			}
		}
		
		new Effect.Appear(image[next_image].id, {duration: 0.5, queue: 'front'});
	}
	
	if(next_image == (image.length-1))
	{
		prev_image = current_image;
		if(current_image != (parseInt(next_image) - 1) && next_image != 0)
		{
			prev_image = parseInt(next_image) - 1;
		}
		else if(next_image == 0)
		{
			prev_image = (image.length-1);
		}
		
		current_image = next_image;
		next_image = 0;
	}
	else
	{
		prev_image = current_image;
		if(current_image != (parseInt(next_image) - 1) && next_image != 0)
		{
			prev_image = parseInt(next_image) - 1;
		}
		else if(next_image == 0)
		{
			prev_image = (image.length-1);
		}
		
		current_image = next_image;
		next_image++;
	}
	
	/***/
	
	AddTime();
}

function nextimage()
{
	if(effect == 1) 
	{
		if(image[current_image].style.display != 'none')
		{
			new Effect.Fade(image[current_image].id, {duration: 0.5, queue: 'front'});
		}
		
		new Effect.Appear(image[next_image].id, {duration: 0.5, queue: 'front'});
	}
	
	if(next_image == (image.length-1))
	{
		prev_image = current_image;
		if(current_image != (parseInt(next_image) - 1) && next_image != 0)
		{
			prev_image = parseInt(next_image) - 1;
		}
		else if(next_image == 0)
		{
			prev_image = (image.length-1);
		}
		
		current_image = next_image;
		next_image = 0;
	}
	else
	{
		prev_image = current_image;
		if(current_image != (parseInt(next_image) - 1) && next_image != 0)
		{
			prev_image = parseInt(next_image) - 1;
		}
		else if(next_image == 0)
		{
			prev_image = (image.length-1);
		}
		
		current_image = next_image;
		next_image++;
	}
	
	/***/
	
	AddTime();
}

function previousimage()
{
	if(effect == 1) 
	{
		if(image[current_image].style.display != 'none')
		{
			new Effect.Fade(image[current_image].id, {duration: 0.5, queue: 'front'});
		}
		
		new Effect.Appear(image[prev_image].id, {duration: 0.5, queue: 'front'});
	}
	
	if(prev_image == 0)
	{
		next_image = current_image;
		if(current_image != (parseInt(prev_image) + 1) && prev_image != (image.length-1))
		{
			next_image = parseInt(prev_image) + 1;
		}
		else if(prev_image == (image.length-1))
		{
			next_image = 0;
		}
		
		current_image = prev_image;
		prev_image = (image.length-1);
	}
	else
	{
		next_image = current_image;
		if(current_image != (parseInt(prev_image) + 1) && prev_image != (image.length-1))
		{
			next_image = parseInt(prev_image) + 1;
		}
		else if(prev_image == (image.length-1))
		{
			next_image = 0;
		}
		
		current_image = prev_image;
		prev_image--;
	}
	
	/***/
	
	AddTime();
}
