function Slideshow(id,speedClick,speedSlide)
{
	this.container = $(id);
	this.nbSlide;
	this.speedClick = speedClick;
	this.speedSlide = speedSlide;
	this.current = 1;
	this.interval;
	this.paginator;
	Slideshow.prototype.init = function()
	{
		/*CSS ELEMENT EXISTANT*/
		this.container.hover(Tools.getInstance().bind(this,this.stop)).mouseleave(Tools.getInstance().bind(this,this.start));
		this.listeSlide = this.container.children("div");
		this.listeSlide.filter(":gt(0)")
					   .css("display","none");
		this.listeSlide.each(this.initSlide);
		this.nbSlide = i-1;
		/*NAV - NEXT & PREVIOUS*/
		this.container.prepend("<div class='nav'><img src='img/new/slideshow/left_arrow.png' class='previous' alt='précédent' /></div><div class='nav'><img src='img/new/slideshow/right_arrow.png' class='next' alt='précédent' /><div class='clear'></div></div>");
		nav = this.container.children(".nav");
		nav.filter(":first").css("left","0");
		nav.filter(":last").css({"right":"0","left":"auto"});
		this.container.hover(function(){nav.show(this.speedClick);}).mouseleave(function(){nav.hide();});
		prev = nav.find(".previous");
		prev.css({"float":"left","cursor":"pointer"});
		next = nav.find(".next");
		next.css({"float":"right","cursor":"pointer"});
		next.click(Tools.getInstance().bind(this,this.nextImage));
		prev.click(Tools.getInstance().bind(this,this.previousImage));
		/*NAV - PAGINATOR*/
		this.container.prepend("<div id='slidePaginator'></div>");
		this.paginator = $("#slidePaginator");
		Tools.getInstance().bind(this,this.initPaginator());
		this.paginator.children("a")
					  .click(Tools.getInstance().bind(this,this.goTo))
					  .filter(":first")
					  .css("color","#FFFFFF");
		/*START*/
		Tools.getInstance().bind(this,this.start());
	}
	
	var i = 1;
	Slideshow.prototype.initSlide = function()
	{
		$(this).attr("id",i);
		i++;
	}

	Slideshow.prototype.initPaginator = function()
	{
		for(var j = 1; j <= this.nbSlide;j++)
		{
			barre = "";
			if(j != this.nbSlide)
			{
				barre = "<div style='color:#74776d;float:left;'>|</div>";
			}
			this.paginator.append("<a href='" + j + "'>" + j + "</a>" + barre);
		}
	}
	
	Slideshow.prototype.previousImage = function(e)
	{	
		$("a[href=" + this.current + "]").css("color","#74776d");
		$("#"+this.current).fadeOut();
		this.current--;
		if(this.current < 1)
		{
			this.current = i-1;
		}
		$("a[href=" + this.current + "]").css("color","#FFFFFF");
		prev = this.container.find("#"+this.current);
		prev.fadeIn(this.speedClick);
	}
	
	Slideshow.prototype.nextImage = function(e)
	{	
		$("a[href=" + this.current + "]").css("color","#74776d");
		$("#"+this.current).fadeOut();
		this.current++;
		if(this.current > i-1)
		{
			this.current = 1;
		}
		$("a[href=" + this.current + "]").css("color","#FFFFFF");
		prev = this.container.find("#"+this.current);
		prev.fadeIn(this.speedClick);
	}
	
	Slideshow.prototype.goTo = function(e)
	{
		$("#"+this.current).fadeOut();
		$("a[href=" + this.current + "]").css("color","#74776d");
		id = "#" + $(e.target).attr("href");
		this.current = id.substr(1);
		$(id).fadeIn(this.speedClick);
		$("a[href=" + this.current + "]").css("color","#FFFFFF");
	}
	
	Slideshow.prototype.start = function(e)
	{
		this.interval = setInterval(Tools.getInstance().bind(this,this.nextImage),this.speedSlide)
	}
	
	Slideshow.prototype.stop = function(e)
	{
		clearInterval(this.interval);
	}
	this.init();
}
