/* ------------------------------------------------------------------------
	Objet: Slider
	Auteur: Jonathan Boyer (http://www.grafikart.fr)
	Version: 1.0
------------------------------------------------------------------------- */



/*
@elem : Div contenant le slider
@content : les élément dans le slider,    "a" par défaut
@ratio : De combien de fois on bouge
*/
var sliderHorizontal = function(elem,content,ratio, largeur, precedent, suivant){
 	
	
	
	var self = this;
	this.div=$(elem);
	this.slider=this.div.find(".slider");
	this.content= content==undefined ? this.slider.find("a") : this.slider.find(content);
	ratio = ratio==undefined ? 1 : ratio;
	this.suiv=this.div.find('.suiv');
	this.prec=this.div.find('.prec');
	this.largeurCache=this.div.width();
	
	
	
	this.largeur=0;
	this.content.each(function(){		
		self.largeur+=$(this).width();		
		self.largeur+=parseInt($(this).css("margin-left"));
		self.largeur+=parseInt($(this).css("margin-right"));
		self.largeur+=parseInt($(this).css("padding-left"));
		self.largeur+=parseInt($(this).css("padding-right"));
	});
	
	//en attendant de trouver mieu
	this.largeur = largeur;
	
	
	this.numCourant=0;
	this.saut=this.largeurCache*ratio;
	this.etapes=Math.ceil((this.largeur/this.saut)-(this.largeurCache/this.saut));
	
	this.prec.hide();
	$(precedent).addClass("precedentprodgris");
	$(suivant).addClass("suivantprodrouge");
	
	
	if(this.largeurCache>this.largeur){
		this.suiv.hide();
		$(suivant).addClass("suivantprodgris");
		$(suivant).removeClass("suivantprodrouge");
	}
	
	
	
	
	// Avancer d'un cran
	this.next = function(){
		if(self.numCourant>=self.etapes){ return false;  }
		if(self.numCourant==0){ 
			self.prec.fadeIn();  
			$(precedent).addClass("precedentprodrouge");
			$(precedent).removeClass("precedentprodgris");
		}
		self.numCourant++;
		self.div.find(".slider").animate({
			"left":-self.saut*self.numCourant
		},1000);
		if(self.numCourant>=self.etapes){ 
			self.suiv.fadeOut();
			$(suivant).addClass("suivantprodgris");
			$(suivant).removeClass("suivantprodrouge");
		}
	}
	
	// Reculer d'un cran
	this.prev = function(){
		if(self.numCourant<=0){ return false;  }
		if(self.numCourant>=self.etapes){ 
			self.suiv.fadeIn();  
			$(suivant).addClass("suivantprodrouge");
			$(suivant).removeClass("suivantprodgris");
		}
		self.numCourant--;
		self.div.find(".slider").animate({
			"left":-self.saut*self.numCourant
		},1000);
		if(self.numCourant==0){ 
			self.prec.fadeOut();  
			$(precedent).addClass("precedentprodgris");
			$(precedent).removeClass("precedentprodrouge");
		}	
	}
	
	// Aller à un cran particulié
	this.goto = function(num){
		if(num==0){ 
			self.prec.fadeOut(); 
			$(precedent).addClass("precedentprodgris");
			$(precedent).removeClass("precedentprodrouge");
		}
		else{
			self.prec.fadeIn(); 
			$(precedent).addClass("precedentprodrouge");
			$(precedent).removeClass("precedentprodgris");
		}
		if(num==self.etapes){ 
			self.suiv.fadeOut(); 
			$(suivant).addClass("suivantprodgris");
			$(suivant).removeClass("suivantprodrouge");
		}
		else{
			self.suiv.fadeIn(); 
			$(suivant).addClass("suivantprodrouge");
			$(suivant).removeClass("suivantprodgris");
		}
		self.div.find(".slider").animate({
			"left":-self.saut*num
		},1000);
		self.numCourant=num;		
		
	}

	this.prec.bind('click',this.prev);	
	this.suiv.bind('click',this.next);
	
	
	
	$(precedent).bind('click',this.prev);	
	$(suivant).bind('click',this.next);

}

var sliderHorizontalbis = function(elem,content,ratio, largeur, precedent, suivant){
 	var self = this;
	this.div=$(elem);
	this.sliderbis=this.div.find(".sliderbis");
	this.content= content==undefined ? this.sliderbis.find("a") : this.sliderbis.find(content);
	ratio = ratio==undefined ? 1 : ratio;
	this.suiv=this.div.find('.suiv');
	this.prec=this.div.find('.prec');
	this.largeurCache=this.div.width();
	
	
	
	this.largeur=0;
	this.content.each(function(){		
		self.largeur+=$(this).width();		
		self.largeur+=parseInt($(this).css("margin-left"));
		self.largeur+=parseInt($(this).css("margin-right"));
		self.largeur+=parseInt($(this).css("padding-left"));
		self.largeur+=parseInt($(this).css("padding-right"));
	});
	
	//en attendant de trouver mieux
	this.largeur = largeur;
	
	
	this.numCourant=0;
	this.saut=this.largeurCache*ratio;
	this.etapes=Math.ceil((this.largeur/this.saut)-(this.largeurCache/this.saut));
	
	this.prec.hide();
	$(precedent).addClass("precedentprodgris");
	$(suivant).addClass("suivantprodrouge");
	
	
	if(this.largeurCache>this.largeur){
		this.suiv.hide();
		$(suivant).addClass("suivantprodgris");
		$(suivant).removeClass("suivantprodrouge");
	}
	
	
	
	
	// Avancer d'un cran
	this.next = function(){
		if(self.numCourant>=self.etapes){ return false;  }
		if(self.numCourant==0){ 
			self.prec.fadeIn();  
			$(precedent).addClass("precedentprodrouge");
			$(precedent).removeClass("precedentprodgris");
		}
		self.numCourant++;
		self.div.find(".sliderbis").animate({
			"left":-self.saut*self.numCourant
		},1000);
		if(self.numCourant>=self.etapes){ 
			self.suiv.fadeOut();
			$(suivant).addClass("suivantprodgris");
			$(suivant).removeClass("suivantprodrouge");
		}
	}
	
	// Reculer d'un cran
	this.prev = function(){
		if(self.numCourant<=0){ return false;  }
		if(self.numCourant>=self.etapes){ 
			self.suiv.fadeIn();  
			$(suivant).addClass("suivantprodrouge");
			$(suivant).removeClass("suivantprodgris");
		}
		self.numCourant--;
		self.div.find(".sliderbis").animate({
			"left":-self.saut*self.numCourant
		},1000);
		if(self.numCourant==0){ 
			self.prec.fadeOut();  
			$(precedent).addClass("precedentprodgris");
			$(precedent).removeClass("precedentprodrouge");
		}	
	}
	
	// Aller à un cran particulié
	this.goto = function(num){
		if(num==0){ 
			self.prec.fadeOut(); 
			$(precedent).addClass("precedentprodgris");
			$(precedent).removeClass("precedentprodrouge");
		}
		else{
			self.prec.fadeIn(); 
			$(precedent).addClass("precedentprodrouge");
			$(precedent).removeClass("precedentprodgris");
		}
		if(num==self.etapes){ 
			self.suiv.fadeOut(); 
			$(suivant).addClass("suivantprodgris");
			$(suivant).removeClass("suivantprodrouge");
		}
		else{
			self.suiv.fadeIn(); 
			$(suivant).addClass("suivantprodrouge");
			$(suivant).removeClass("suivantprodgris");
		}
		self.div.find(".sliderbis").animate({
			"left":-self.saut*num
		},1000);
		self.numCourant=num;		
		
	}

	this.prec.bind('click',this.prev);	
	this.suiv.bind('click',function () {alert("test");});
	
	
	
	$(precedent).bind('click',this.prev);	
	
	$(suivant).bind('click',this.next);
	

}



var sliderVertical = function(elem,content,ratio, precedent, suivant){
 	var self = this;
	this.div=$(elem);
	this.slider=this.div.find(".slider");
	this.content= content==undefined ? this.slider.find("a") : this.slider.find(content);
	ratio = ratio==undefined ? 1 : ratio;
	this.suiv=this.div.find('.suiv');
	this.prec=this.div.find('.prec');
	
	this.hauteurCache=this.div.height();
	
	
	this.hauteur=0;
	this.content.each(function(){
		self.hauteur+=$(this).height();
		if ($(this).css("margin-top")!='auto') self.hauteur+=parseInt($(this).css("margin-top"));
		if ($(this).css("margin-bottom")!='auto') self.hauteur+=parseInt($(this).css("margin-bottom"));
		if ($(this).css("padding-top") != 'auto') self.hauteur+=parseInt($(this).css("padding-top"));
		if ($(this).css("padding-bottom") != 'auto') self.hauteur+=parseInt($(this).css("padding-bottom"));
	});
	
	
	
	
	this.numCourant=0;
	this.saut=this.hauteurCache*ratio;
	this.etapes=Math.ceil((this.hauteur/this.saut)-(this.hauteurCache/this.saut));
	
	this.prec.hide();
	$(precedent).addClass("precedentgris");
	$(suivant).addClass("suivantrouge");
	
	if(this.hauteurCache>this.hauteur){
		this.suiv.hide();
		$(suivant).addClass("suivantgris");
		$(suivant).removeClass("suivantrouge");
	}
	
	// Avancer d'un cran
	this.next = function(){
		
		
		
		if(self.numCourant>=self.etapes){ return false;  }
		if(self.numCourant==0){ 
			self.prec.fadeIn();  
			$(precedent).addClass("precedentrouge");
			$(precedent).removeClass("precedentgris");
		}
		self.numCourant++;
		self.div.find(".slider").animate({
			"top":-self.saut*self.numCourant
		},1000);
		if(self.numCourant>=self.etapes){ 
			self.suiv.fadeOut();  
			$(suivant).addClass("suivantgris");
			$(suivant).removeClass("suivantrouge");
		}
	}
	
	// Reculer d'un cran
	this.prev = function(){
		
		
		
		if(self.numCourant<=0){ return false;  }
		if(self.numCourant>=self.etapes){ 
			self.suiv.fadeIn();  
			$(suivant).addClass("suivantrouge");
			$(suivant).removeClass("suivantgris");
		}
		self.numCourant--;
		self.div.find(".slider").animate({
			"top":-self.saut*self.numCourant
		},1000);
		if(self.numCourant==0){ 
			self.prec.fadeOut();  
			$(precedent).addClass("precedentgris");
			$(precedent).removeClass("precedentrouge");
		}	
	}
	
	// Aller à un cran particulié
	this.goto = function(num){
		if(num==0){ 
			self.prec.fadeOut(); 
			$(precedent).addClass("precedentgris");
			$(precedent).removeClass("precedentrouge");
		}
		else{
			self.prec.fadeIn(); 
			$(precedent).addClass("precedentrouge");
			$(precedent).removeClass("precedentgris");
		}
		if(num==self.etapes){ 
			self.suiv.fadeOut(); 
			$(suivant).addClass("suivantgris");
			$(suivant).removeClass("suivantrouge");
		}
		else{
			self.suiv.fadeIn(); 
			$(suivant).addClass("suivantrouge");
			$(suivant).removeClass("suivantgris");
		}
		self.div.find(".slider").animate({
			"top":-self.saut*num
		},1000);
		self.numCourant=num;		
		
	}

	//this.prec.bind('click',this.prev);	
	//this.suiv.bind('click',this.next);
	
	
	
	$(precedent).bind('click',this.prev);	
	
	
	
	$(suivant).bind('click',this.next);
	
	
	

}
