$(document).ready(function() {
    $objects.init();
    BatiCenter.init();
});


var $objects = {
	slides : null,
	carrousel : null,
	carrouselLength : 0,
	
	init : function(){
		this.slides = $(".banner-content");
		this.carrousel = $(".promos-content .carrousel");
		this.carrouselItems = this.carrousel.find("li.produit");
		this.carrouselLength = this.carrouselItems.length;
	}
}

var BatiCenter = {
	clickBanner : true,
	
	init : function(){
		this.initBannerSlides();
		this.initPromoCarrousel();
	},
	
	initBannerSlides : function(){
		var items = $(".banner-menu").find("a");
		for(i=0 ; i< items.length; i++){
			$(items[i]).data("index", i);
		}
		
		var lis = $(".banner-menu").find("li");
		
		items.click(function(event){
			event.preventDefault();
			if(BatiCenter.clickBanner == true){
				var item = $(this);
				var itemParent = item.parent();
				
				if(!itemParent.hasClass("on")){
					BatiCenter.clickBanner = false;
					lis.removeClass("on");
					itemParent.addClass("on");
					BatiCenter.displaySlide($(this).data("index"));
				}
			}
		})
	},
	
	displaySlide : function(index){
		var current = $(".banner-content.on");
		var next = $($objects.slides[index]);
		current.addClass("out", 700, function(){current.removeClass("on").removeClass("out").addClass("off");});
		next.addClass("on", 700, function(){BatiCenter.clickBanner = true;}).removeClass("off");
	},
	
	carrouselXMax : 0,
	carrouselXmin : 0,
	carrouselStep : 157,
	carrouselCurrentPos : 0,
	carrouselCurrentIndex : 0,
	
	initPromoCarrousel : function(){
		var nextButton = $(".right-nav a");
		var previousButton = $(".left-nav a");
		
		this.carrouselXMin = ($objects.carrouselLength-4)*this.carrouselStep*(-1);
		
		nextButton.click(function(event){
			event.preventDefault();
			clearTimeout(BatiCenter.carrouselInterval);
			BatiCenter.turnCarrousel("next");
		});
		
		previousButton.click(function(event){
			event.preventDefault();
			clearTimeout(BatiCenter.carrouselInterval);
			BatiCenter.turnCarrousel("previous");
		});
		
		BatiCenter.carrouselInterval = setInterval('BatiCenter.turnCarrousel("next")', 4000);
	},
	
	turnCarrousel : function(action){
		switch(action){
			case "next":
				if(BatiCenter.carrouselXMin < BatiCenter.carrouselCurrentPos){
					BatiCenter.carrouselCurrentIndex += 1;
					var nextPos = BatiCenter.carrouselCurrentPos - BatiCenter.carrouselStep;
					var nextCssPos = nextPos+"px";
					$($objects.carrouselItems[BatiCenter.carrouselCurrentIndex+3]).addClass("off").removeClass("off", 1000);
					$objects.carrousel.animate({left:nextCssPos, duration:700});
					BatiCenter.carrouselCurrentPos = nextPos;
				}
				else{
					$objects.carrousel.animate({left:"0px", duration:700});
					BatiCenter.carrouselCurrentPos = 0;
					BatiCenter.carrouselCurrentIndex = 0
				}
			break;
			
			case "previous":
				if(BatiCenter.carrouselXMax > BatiCenter.carrouselCurrentPos){
					BatiCenter.carrouselCurrentIndex -= 1;
					var nextPos = BatiCenter.carrouselCurrentPos + BatiCenter.carrouselStep;
					var nextCssPos = nextPos+"px";
					$($objects.carrouselItems[BatiCenter.carrouselCurrentIndex]).addClass("off").removeClass("off", 1000);
					$objects.carrousel.animate({left:nextCssPos, duration:700});
					BatiCenter.carrouselCurrentPos = nextPos;
				}
				else{
					$objects.carrousel.animate({left:BatiCenter.carrouselXMin+"px", duration:700});
					BatiCenter.carrouselCurrentPos = BatiCenter.carrouselXMin;
					BatiCenter.carrouselCurrentIndex = $objects.carrouselLength-4;
				}
			break;
		}
	}
}


