/* Author: 
	
*/

jQuery(function($){
	
	var slides = $(".slide");
	var numSlides = slides.length;
	var t = setTimeout(changePic, 5000);
	var index = 0;
	//changePic();
	
	function changePic(){
		var visible = $(".slide:not(.hide)");
		//var index = visible.index(slides);
		
		if (index == numSlides - 1) index = 0;
		visible.fadeOut(1000, function(){ $(this).addClass("hide");});
		$(".slide.hide").eq(index).hide().removeClass("hide").fadeIn(1000, function(){ t = setTimeout(changePic,5000); });
		index++; 
	}
	
	var tslides = $(".tslide");
	var numTSlides = tslides.length;
	var t2 = setTimeout(changePic2, 5000);
	var index2 = 0;
	//changePic();
	
	function changePic2(){
		var visible = $(".tslide:not(.hide)");
		//var index = visible.index(slides);
		
		if (index2 > numTSlides-2) index2 = 0;
		visible.fadeOut(1000, function(){ $(this).addClass("hide");});
		$(".tslide.hide").eq(index2).hide().removeClass("hide").fadeIn(1000, function(){ t2 = setTimeout(changePic2,5000); });
		index2++; 
	}
	
	var productSlides = $("#productSlides");
	var pslides = $(".pslide");
	var numPSlides = pslides.length;
	var pslideWidth = pslides.eq(0).width();
	var bound =  numPSlides * pslideWidth * (-1);
	var next = $(".next");
	var prev = $(".prev");
	next.click(function(){
		slideNext(productSlides);
	});
	prev.click(function(){
		slidePrev(productSlides);
	});
	
	function setPrevNextState(obj){
		var left = parseInt(obj.css("left"),10);
		if (left == 0) prev.addClass("disabled");
		else prev.removeClass("disabled");
		if (left <= bound + 3*pslideWidth) next.addClass("disabled");
		else next.removeClass("disabled");
	}
	
	setPrevNextState(productSlides);
	
	$('div.slider')
	        .bind('mousewheel', function(event, delta) {
	            var dir = delta > 0 ? 1 : -1,
	                vel = Math.abs(delta);
	            //$(this).text(dir + ' at a velocity of ' + vel);
				scrollToSlide(dir*Math.ceil(vel), productSlides);
	            return false;
	        });
	
	
	function scrollToSlide(howMany, obj){
		var left = Math.floor((parseInt(obj.css("left"),10) + (howMany*300))/(- 300))*(-300);
		if (left >= bound + 3*pslideWidth && left <= 0)
		obj.stop().animate({"left": left + "px"}, 500, function(){setPrevNextState(productSlides);});
	}
	
	function slideNext(obj){
		//alert(-350%300);
		var left = Math.floor((parseInt(obj.css("left"),10) - 300)/(- 300))*(-300);
		//alert(left);
		//alert(bound);
		if (left >= bound + 3*pslideWidth)
		obj.animate({"left": left + "px"}, 500, function(){setPrevNextState(productSlides);});
	}
	function slidePrev(obj){
		var left = Math.ceil((parseInt(obj.css("left"),10) + 300)/(-300))*(-300);
		//alert(left);
		if (left <= 0)
		obj.animate({"left": left + "px"}, 500, function(){setPrevNextState(productSlides);});
	}
	
	
});























