$(document).ready(function(){

	$('.slideshow img').css('display','inline-block');

	if($('#main-banner').length){
		$('#main-banner').cycle({
			fx:'fade',
			timeout:4000, 
			speed:1500,
			pager:'#main-banner-nav-dots',
			next:'#main-banner-nav-next',
			prev:'#main-banner-nav-prev'
		});
	}
	if($('#pod1').length){
		$('#pod1').cycle({
			fx:'fade',
			timeout:4000, 
			speed:1500,
			pager:'#pod1-nav-dots',
			next:'#pod1-nav-next',
			prev:'#pod1-nav-prev'
		});
	}
	if($('#pod2').length){
		$('#pod2').cycle({
			fx:'fade',
			timeout:4000, 
			speed:1500,
			pager:'#pod2-nav-dots',
			next:'#pod2-nav-next',
			prev:'#pod2-nav-prev'
		});
	}

	$('.product-slider .product-slider-nav a').click(function(){
		var this_index = $('.product-slider .product-slider-nav a').index($(this));
		$('.product-slider .product-slider-nav a.current').removeClass('current');
		$(this).addClass('current');
		$('.product-slider .product_slider_container').removeClass('current').eq(this_index).addClass('current');
		return false;
	});

	$('.product_slider_global_container .product_slider_container').each(function(){
		var global_container = $(this);
		var image_number = 1;
		var image_count = global_container.find('.product_slider_scroller img').length;
		var image_jump = getImageJump(global_container);
		var images_to_display = Math.ceil(Math.abs(parseInt(global_container.find('.product_slider_scroller').css("width"))/image_jump));
		var animate_in_progress = false;
		var animation_time = 500;
		refreshSteps(global_container);
		global_container.find('.product_slider_next').click(function() {
			doStep(true, global_container);
			return false;
		});
		global_container.find('.product_slider_prev').click(function() {
			doStep(false, global_container);
			return false;
		});

		function isStepAvailable(next) {
			if ( next == true ) {
				return (image_count>images_to_display && (image_count-images_to_display)>=image_number) ? true : false;
			}
			else {
				return (image_number>1) ? true : false;
			}
		}

		function refreshSteps(global_container) {
			if ( isStepAvailable(true, global_container) ) {
				global_container.find('.product_slider_next').fadeIn();
			}
			else {
				global_container.find('.product_slider_next').fadeOut();
			}

			if ( isStepAvailable(false, global_container) ) {
				global_container.find('.product_slider_prev').fadeIn();
			}
			else {
				global_container.find('.product_slider_prev').fadeOut();
			}
		}

		function getStep(next, global_container) {
			var currentPosition = getCurrentPosition(global_container);

			if ( isStepAvailable(next, global_container) ) {
				if ( next == true ) {
					currentPosition += image_jump;
				}
				else {
					currentPosition -= image_jump;
				}
			}

			return (currentPosition>0) ? currentPosition : 0;
		}

		function doStep(next, global_container) {
			if ( !animate_in_progress ) {
				animate_in_progress = true;

				global_container.find('.product_slider_content').animate(
				{
					marginLeft: '-' + getStep(next, global_container) + 'px'
				},
				{
					queqe: false,
					duration: animation_time,
					complete: function(){
						animate_in_progress = false;
						if ( next ) {
							image_number++;
						}
						else {
							image_number--;
						}
						refreshSteps(global_container);
					}
				});
			}
		}
	});
});

function getCurrentPosition(global_container) {
	return Math.abs(parseInt(global_container.find('.product_slider_content').css("margin-left")));
}

function getImageJump(global_container) {
	var width = Math.abs(parseInt(global_container.find('.product_slider_item:eq(0)').css("width")));
	var padding = Math.abs(parseInt(global_container.find('.product_slider_item:eq(0)').css("padding-right")));
	return width + padding;
}

