/**
 * @author Pascal Brewing
 * @email pascal.brewing@internetstores.de
 * @version 0.2 
 * @change 0.1 - 0.2 Refactoring der Arrow Funktion
 */
function scroll_zusatz()
{
	if(jQuery('.produkt_detail_scroller'))
    {
        var scrollContainerSuper = jQuery('.produkt_detail_box_holder');
        var scrollContainer = jQuery('.produkt_detail_box_holder .tx-nfcshop-pi1');
		var productBoxContainer = jQuery('.produkt_box');
		var produktBoxLength = 0;
		var productBoxWidth = 0;
		var productBoxHeight = 0;
		var selectedIndex = 1;
		var marginNow = 0;
		var maxScrollIndex = 0;
		var boxAbstand = 50;
		var rightArrow = jQuery('.produkt_detail_scroller_arrowRight .arrow');
		var leftArrow = jQuery('.produkt_detail_scroller_arrowLeft .arrow');
		var rightArrowInvisible= false;
		var leftArrowInvisible = false;

        jQuery(scrollContainer).each(
            function()
            {
                produktBoxLength += jQuery(this).children(productBoxContainer).length;
            }
        );

        maxScrollIndex = (produktBoxLength - 3);
        productBoxWidth = productBoxContainer.outerWidth()+boxAbstand;
        productBoxHeight = 	productBoxContainer.outerHeight();

        if(produktBoxLength >= 0 && produktBoxLength >= maxScrollIndex)
        {
            jQuery(scrollContainerSuper).css('width',(productBoxWidth*produktBoxLength)+'px').css('height',productBoxHeight+'px');
        }

        if(produktBoxLength < 5)
        {
            leftArrow.toggle();
            rightArrow.toggle();
        }

		rightArrow.click(function()
        {
            if (selectedIndex > 0 && selectedIndex < maxScrollIndex)
            {
				rightArrowInvisible = false;
				leftArrowInvisible = false;

				marginNow = '-'+(((selectedIndex*productBoxWidth)))+'px';
                animateContainer(marginNow);

				if(selectedIndex == maxScrollIndex){
					selectedIndex = selectedIndex;
				}else{
					selectedIndex = selectedIndex+1;
				}
			}

			if(selectedIndex == 0)
            {
				marginNow = '-'+productBoxWidth+'px';
				animateContainer(marginNow);
				selectedIndex = selectedIndex+1;
			}

            checkArrowVisible(selectedIndex);
		});

		leftArrow.click(function()
        {
            if(selectedIndex > 1 && selectedIndex <= maxScrollIndex)
            {
                selectedIndex = selectedIndex - 1;
                marginNow = '-'+(((selectedIndex*productBoxWidth)-productBoxWidth))+'px';
                animateContainer(marginNow);
            }
            else if(selectedIndex == 1)
            {
                selectedIndex = 0;
                animateContainer('0px');
            }
            else
            {
                selectedIndex = 0;
                animateContainer('0px');
            }

            checkArrowVisible(selectedIndex);
        });

		function animateContainer(marginLeft)
        {
            scrollContainerSuper.animate({
				marginLeft: marginLeft
			}, 400 );
		}

		function checkArrowVisible(selectedIndex)
        {
			if(selectedIndex == maxScrollIndex)
            {
				hideArrow(rightArrow);
				showArrow(leftArrow);
			}
            else if(selectedIndex == 1 )
            {
				hideArrow(leftArrow);
				showArrow(rightArrow);
			}
            else
            {
				showArrow(rightArrow);
				showArrow(leftArrow);
			}
		}

		function hideArrow(arrowCont){
			arrowCont.fadeOut(200);
		}

		function showArrow(arrowCont){
			arrowCont.fadeIn(200);
		}
	}
}
