﻿$(document).ready(function() {
    $("#promo_container").css("overflow", "hidden");

    var slideWidth = parseInt($("#promo_container div.promo_box").first().css("width").replace("px", ""));
    var initLeftMargin = parseInt($("#promo_container div.promo_box").first().css("margin-left").replace("px", ""));
    var visible = 3;
    var total = $("#promo_container div.promo_box").length;

    //$("#promo_container").shuffle();
    $("#promo_container div.promo_box").wrapAll('<div id="slidesContainer"></div>');
    $("#slidesContainer").css("width", "auto");

    var boxSelector = "#slidesContainer div.promo_box";
    var currentIndex = 0;

    function resetDisplay() {
        $("#slidesContainer div.promo_box").each(function(index) {
            if (index > visible - 1)
                $(this).fadeOut();
        });
    }

    function setIndex(index, direction) {
        var value = ((index / Math.abs(index)) * -1) * ((slideWidth * Math.abs(index)) + (initLeftMargin * (Math.abs(index))));
        if (isNaN(value)) value = 0;

        $("#slidesContainer").animate({
            "marginLeft": value
        }, 400, function() {
            if (direction == "right")
                $("#slidesContainer div.promo_box").last().after($("#slidesContainer div.promo_box").first());
            else if (direction == "left")
                $("#slidesContainer div.promo_box").first().before($("#slidesContainer div.promo_box").last());

            resetDisplay();

            $("#slidesContainer div.promo_box").each(function(innerIndex) {

                if (innerIndex == 0) {
                    var margin = ((slideWidth * Math.abs(index)) + (initLeftMargin * (Math.abs(index) + (index / Math.abs(index))))) * (index / Math.abs(index));
                    $(this).css("marginLeft", margin + "px");
                }
                else {
                    $(this).css("marginLeft", "20px");
                }

                if (innerIndex <= visible - 1) {
                    $(this).fadeIn();

                    if (index < -1 && innerIndex > 0) {
                        var prevMargin = parseInt($(this).prev().css("marginLeft").replace("px", ""));
                        $(this).css("marginLeft", (prevMargin + slideWidth + initLeftMargin) + "px");
                    }
                }
            });
        });
    }

    resetDisplay();


    setInterval(function() {
        setIndex(++currentIndex, "right");
    }, 15000);

    /*
    $("a.next").click(function(event) {
    currentIndex++;

        setIndex(currentIndex, "right");

        event.preventDefault();
    });

    $("a.prev").click(function(event) {
    currentIndex--;

        setIndex(currentIndex, "left");

        event.preventDefault();
    });
    */

});