/**
 * Simple Scroller
 * @author adamh
 */

$(document).ready(function(){
	
	//	Old Simple Scroller
	var params = {width : 712, itemWidth : 237};
	var featuredProducts = new simple_scroller($('#featured_products'), params);
	
	/*
	New Simple Scroller
	$('#featured_products').simpleScroller({
		itemWidth : 237
		,autoScroll : true
		,autoEasing : 'swing'
		,autoDelay : 10000
		,autoSpeed : 1200
	});*/
	
	$('#bestsellers').simpleScroller({
		itemWidth : 142
		,autoScroll : true
		,autoEasing : 'swing'
		,autoDelay : 4500
		,autoSpeed : 800
	});
	
	$('#associated_products').simpleScroller({
		itemWidth : 137
		,width : 685
		,autoScroll : true
		,autoEasing : 'swing'
		,autoDelay : 4500
		,autoSpeed : 800
	});
	
	//	Sliders for featured products
	$('.vertical_slider').slider({
		orientation: "vertical",
		max: 100,
		min: 0,
		value: 85,
		slide : function(event, ui){
			var myContent = $(this).siblings().find('.veritcal_scroll_content');
			$contentY = -((($(myContent).height() - 80) / 100) * (100 - ui.value)); 
			$(myContent).css('top', $contentY + 'px');
		}
	});
});

/**
 * Old Simple Scroller, But still need due to IE nodeType undefined bug 
 * @param {} scroller
 * @param {} params
 * @deprecated
 */
function simple_scroller(scroller, params)
{
	var width = params.width;
	var itemWidth = params.itemWidth;
	var itemsHolder = $(scroller).find('.item_holder')
	var items = $(itemsHolder).children('.item');
	var itemsTotal = items.length;
	
	var leftLimit = 0;
	var rightLimit = -(itemWidth * itemsTotal)  + width;
	//var rightLimit = -($(itemsHolder).width());
	//	change the items holder css width
	$(itemsHolder).css('width', (itemWidth * itemsTotal));
	
	var currentPosition = 0;
	$('#dbug').html(currentPosition);
	var leftNav = $(scroller).find('.left_nav_button');
	var rightNav = $(scroller).find('.right_nav_button');
	
	var handleScrollStart = function(direction){
		if(direction == 'left'){
			distance = currentPosition + itemWidth;
		}
		
		else if(direction == 'right'){
			distance = currentPosition - itemWidth; 
		}
		
		$('#dbug').html(distance);
		if(distance <= leftLimit && distance >= (rightLimit-1)){// <- Spot the hack
			$(itemsHolder).animate({left: distance + 'px'}, 'normal', function(){
				handleScrollFinish(distance);
			}); 
		}
	};
	
	var handleScrollFinish = function(distance){
		currentPosition = distance;
	};
	
	//	Set the left button controller
	$(leftNav).bind('click', function(event){
		handleScrollStart('left');
	});
	
	//	Set the right button controller
	$(rightNav).bind('click', function(){
		handleScrollStart('right');
	});
}
