// Slider typologies
$ = jQuery;
var on_the_move = function(variable) {
	var self=this;
	this.div = $(variable);
	this.slider = this.div.find('#slider_container');
	
	this.largeurdiv = this.div.width(); //1000
	this.largeur = 0;
	this.div.find('.slide_move').each(function() {
		self.largeur+=$(this).width();
		self.largeur+=parseInt($(this).css('padding-left'));
		self.largeur+=parseInt($(this).css('padding-right'));
	});
	
	this.prev = this.div.find('.slider_prev');
	this.next = this.div.find('.slider_next');
	this.move = this.largeurdiv;
	this.nbr_max_move = Math.ceil(this.largeur/this.move - this.largeurdiv/this.move); // moins position de départ
	this.position = 0;
	
	var hauteur = new Array();
	var i = 0;
	
	this.div.find('.slide_move').each(function() {
		a = $(this).find('img').attr('height')*1; // évite la concaténation js
		hauteur[i]=a+10;
		i++;
	});
	
	height_div(); // execution dés le début
	
	var anim_auto = {
		delay: 4,
		auto: true,
		animationSpeed: "normal",
		controls: true,
		paused : false
	};
	
	var options = $.fn.extend(anim_auto, options);
	var inter = 0;
	
	// lancement auto
	if(options.auto && !options.paused) {
		inter = requestInterval(function(){next_art(options)}, options.delay*1000);
	}
	
	// controle manuel animation 
	if(options.controls) {
	  	$('.slide_move, .slider_prev, .slider_next').mouseover(function(){
	  		clearRequestInterval(inter);
			paused = true;
		});
		
		$('.slide_move, .slider_prev, .slider_next').mouseout(function(){
			paused = false;
			inter = requestInterval(function(){next_art(options)}, options.delay*1000);
		});
		
		this.next.click(function() {
			next_art(options);
		});
		
		this.prev.click(function() {
			if(self.position>0) {
				self.position--;
				height_div(1);
				self.slider.animate({ 
					left:-self.position*self.move+10
				},700);
				self.slider.animate({ 
					left:-self.position*self.move
				},300);
				$('#slider_info_pos span').animate({
					marginLeft:15*self.position
				},700);
			}
			else {
				return false;	
			}
			$(this).animate({
				marginTop: 85
			},300, function() {
				$(this).animate({
					marginTop: 80
				},300)
			});
		}); 
	}
	
	// function animation next ->
	function next_art() {
		if(self.position<self.nbr_max_move) {
			self.position++;
			height_div(1);
			self.slider.animate({ 
				left:-self.position*self.move
			},700);
			self.slider.animate({ 
				left:-self.position*self.move+10
			},300);
			$('#slider_info_pos span').animate({
				marginLeft:15*self.position
			},700);
			
		  	$(self.next).animate({
				marginTop: 85
			},300, function() {
				$(self.next).animate({
					marginTop: 80
				},300)
			});
		}
		else {
			self.position = 0;
			height_div(1);
			self.slider.stop().animate({ 
				left:-self.position*self.move*self.nbr_max_move+10
			},700);
			self.slider.stop().animate({ 
				left:-self.position*self.move*self.nbr_max_move
			},300);  	
			$('#slider_info_pos span').animate({
				marginLeft:0
			},300);
			
			$(self.prev).animate({
				marginTop: 85
			},300, function() {
				$(self.prev).animate({
					marginTop: 80
				},300)
			});
		}
	}
	
	// function hauteur auto
	function height_div(e) {
		if(e) {
			$('#slider_bg').animate({
				height:hauteur[self.position]	
			});	
		}
		else {
			$('#slider_bg').css({
				height:hauteur[0]	
			});
		}
	}
};
