$(document).ready(function() {

    var carouselArray = $(".innerLeftContent"); 					/* Step 0*/

    carouselArray.each(function() {
        setCarouselCss(this);
    });

    function setCarouselCss(src) {
        // Carousel UL LI //
        var initialItems = 0; // Original number of LIs
        var itemCount = 0; 	// Final number of LIs
        var position = 0; 	// Position Left of LIs

        var carouselWrapper = $(src).find(".productContainer");     /* Step 1*/
        var carousel = $(src).find(".productContainer ul"); 		/* Step 2*/
        var carouselLeft = $(src).find(".next"); 	                /* Step 3*/
        var carouselRight = $(src).find(".prev"); 	                /* Step 4*/
        var carouselWrapperHeight = 195; 					        /* Step 5*/
        var carouselWrapperWidth = 823; 						    /* Step 6*/
        var carouselSpacing = 15; 							        /* Step 7*/
        var carouselWidth = 150; 							        /* Step 8*/
        var carouselHeight = 195; 							        /* Step 9*/
        var carouselSpeed = 360; 							        /* Step 10*/
        var move = carouselWidth + carouselSpacing;
        var hide = "hidden";

        carousel.find("li").each(function() {
            $(this).css("height", carouselHeight);
            $(this).css("width", carouselWidth);
            $(this).css("marginRight", carouselSpacing);
            $(this).css("float", "left");
            $(this).css("position", "absolute");
            initialItems++
        });
        var initialWidth = initialItems * move;
        if (initialWidth > carouselWrapperWidth) {
            carousel.find("li").each(function() { carousel.find("li:last").after($(this).clone()); });
        }
        carousel.find("li").each(function() { // Add Positioning after cloning
            $(this).css("left", position); position = position + move; itemCount++;
        });

        // Carousel UL //
        carousel.css("list-style-type", "none");
        carousel.css("position", "relative");
        if (initialWidth > carouselWrapperWidth) {
            carousel.css("left", -move);
        }
        if (initialWidth <= carouselWrapperWidth) {
            carouselLeft.hide(); carouselRight.hide()
        }
        var TotalWidth = ((itemCount * 2) * (carouselWidth + carouselSpacing));
        carousel.css("width", TotalWidth); carousel.css("padding", "0"); carousel.css("margin", "0");

        // Wrapper DIV //
        carouselWrapper.css("height", carouselWrapperHeight);
        carouselWrapper.css("width", carouselWrapperWidth);
        carouselWrapper.css("overflow", hide);

        // Controls //
        if (initialWidth > carouselWrapperWidth) {
            carouselLeft.bind("click", function() { carousel.find("li").animate({ left: "-=" + move + "px" }, { duration: carouselSpeed, callback: cutLeft() }); });
            carouselRight.bind("click", function() { carousel.find("li").animate({ left: "+=" + move + "px" }, { duration: carouselSpeed, callback: cutRight() }); });
        }
        function cutLeft() {
            carousel.find("li:last").after(carousel.find("li:first").clone());
            carousel.find("li:last").css("left", move * itemCount);
            carousel.find("li:last").animate({ left: "-=" + move + "px" }, { duration: carouselSpeed });
            carousel.find("li:first").remove();
        }
        function cutRight() {
            carousel.find("li:first").before(carousel.find("li:last").clone());
            carousel.find("li:first").css("left", -move + "px");
            carousel.find("li:first").animate({ left: "+=" + move + "px" }, { duration: carouselSpeed })
            carousel.find("li:last").remove();
        }
    };

});
