
jQuery.fn.slidingProducts = function( settings ) {
	settings = jQuery.extend({
        headline : "Items in this category",
        speed : "normal",
		slideBy : 8
    }, settings);
    return this.each(function() {
		jQuery.fn.slidingProducts.run( jQuery( this ), settings );
    });
};
jQuery.fn.slidingProducts.run = function( $this, settings ) {
	//jQuery( ".javascript_css", $this ).css( "display", "none" );
	var ul = jQuery( "ul:eq(0)", $this );
	var li = ul.children();
	if ( li.length > settings.slideBy ) {
		var $next = jQuery( ".next", $this );
		var $back = jQuery( ".prev", $this );
		var liWidth = jQuery( li[0] ).width() + parseInt(jQuery( li[0] ).css('marginRight')) ;
		var animating = false;
		ul.css( "width", ( li.length * liWidth ));
		//$next.parent().prev('h5').find('span.pageTotal').html(li.length);
		$next.click(function() {
			$(this).blur();
			if ( !animating ) {
				animating = true;
				offsetLeft = parseInt( ul.css( "left" ) ) - ( liWidth * settings.slideBy );
				if ( offsetLeft + ul.width() > 0 ) {
					//$back.css( "visibility", "visible" );
					ul.animate({
						left: offsetLeft
					}, settings.speed, function() {
						if ( parseInt( ul.css( "left" ) ) + ul.width() <= liWidth * settings.slideBy ) {
							//$next.css( "visibility", "hidden" );
						}
						animating = false;
					});
					var currentPageNum = parseInt($next.parent().prev('h5').find('span.pageOf').html()) + 1;
					$next.parent().prev('h5').find('span.pageOf').html(currentPageNum + '');
				} else {
					ul.animate({
						left: 0
					}, settings.speed, function() {
						$next.parent().prev('h5').find('span.pageOf').html(1);
						animating = false;
					});
				}
			}
			return false;
		});
		$back.click(function() {
			$(this).blur();
			if ( !animating ) {
				animating = true;
				offsetRight = parseInt( ul.css( "left" ) ) + ( liWidth * settings.slideBy );
				var currentPageNum = parseInt($next.parent().prev('h5').find('span.pageOf').html()) - 1;
				var totalPageNum = parseInt($next.parent().prev('h5').find('span.pageTotal').html());
				
				if ( offsetRight + ul.width() <= ul.width() ) {
					//$next.css( "visibility", "visible" );
					ul.animate({
						left: offsetRight
					}, settings.speed, function() {
						if ( parseInt( ul.css( "left" ) ) == 0 ) {
							//$back.css( "visibility", "hidden" );
						}
						animating = false;
					});
				} else {
					ul.animate({
						left: - liWidth * settings.slideBy * (totalPageNum - 1)
					}, settings.speed, function() {
						$next.parent().prev('h5').find('span.pageOf').html(totalPageNum);
						animating = false;
					});
				}
				
				if(currentPageNum <= 0) currentPageNum = 1;
				$next.parent().prev('h5').find('span.pageOf').html(currentPageNum + '');
			}
			return false;
		});

	}
};
