﻿//**
//@author Ronald
//**

(function ($) {
    $.fn.extend({

        boxAnimation: function (count) {
            var ctnPosition;
            var wCtnAnimate = new Array();
            var timerid = new Array();
            return this.each(function () {

                $(this).children("div.no-scroll").children("div.ctn-animation").attr("id", "ctn" + count + "");
                wCtnAnimate["ctn" + count] = new Array();
                timerid["ctn" + count] = setInterval(
                   function () {
                       wCtnAnimate[ctnPosition];

                       var newLeft = 0;
                       var lPadding = 0;
                       var rPadding = 0;
                       var positionLeft = parseInt($("div#" + ctnPosition + "").css("left"), 10);

                       var w = lPadding + rPadding + wCtnAnimate[ctnPosition][0];

                       newLeft = positionLeft - w;

                       if (newLeft == (wCtnAnimate[ctnPosition].length * w) * -1) {

                           newLeft = 0;
                       }
                       $("div#" + ctnPosition + "").animate({
                           left: newLeft

                       }, 2000);

                       var totalW = wCtnAnimate[ctnPosition].length * w;
                       var positionLink = (newLeft / w) * (-1);

                       $("div#" + ctnPosition + "").parent().parent().find("div.ctn-link").find("a").removeClass("on");
                       $("div#" + ctnPosition + "").parent().parent().find("div.ctn-link").find("a").eq(positionLink).addClass("on");

                   }, 5000);

                ctnPosition = $(this).children("div.no-scroll").children("div.ctn-animation").attr("id");
                count++;
                $(this).css("overflow", "hidden").css("position", "relative");
                $(this).children("div.no-scroll").children("div.ctn-animation").children().each(function () {
                    wCtnAnimate[ctnPosition].push($(this).width());
                })

                var wDiv = 0;

                for (var i = 0; i < wCtnAnimate[ctnPosition].length; i++) {
                    var lPadding = 0;
                    var rPadding = 0;
                    wDiv += (wCtnAnimate[ctnPosition][i] + lPadding + rPadding);
                }

                $(this).children("div.no-scroll").children("div.ctn-animation").css("width", wDiv + "px");
                var link = $('<a href=""></a>');
                var ctnLink = $('<div class="ctn-link"></div>');

                $(this).append(ctnLink);
                var position = 0;
                $.each(wCtnAnimate[ctnPosition], function (i, item) {
                    var temp = link.clone();
                    position++;

                    temp.attr('href', '#' + (position - 1) + '');
                    temp.attr('class', '' + (position - 1) + '');
                    temp.append('<span>vai alla posizione' + (position) + '</span>');
                    $(ctnLink).append(temp);
                });

                $(this).children("div.ctn-link").find("a").click(function () {

                    var ctnPosition = $(this).parent().parent().find("div.ctn-animation").attr("id");
                    clearInterval(timerid[ctnPosition]);


                    var currentPosition = 0;
                    var time = 500;
                    var newLeft = 0;
                    var lPadding = 0;
                    var rPadding = 0;
                    var position = $(this).attr("class");

                    if (position > wCtnAnimate[ctnPosition].length - 1) {
                        position = 0;
                    }
                    if (position < 0) {
                        position = wCtnAnimate[ctnPosition].length - 1;
                    }

                    for (i = 0; i < position; i++) {
                        newLeft += wCtnAnimate[ctnPosition][i] + lPadding + rPadding;
                    }

                    $("div#" + ctnPosition + "").animate({
                        left: newLeft * (-1)

                    }, time);

                    $("div#" + ctnPosition + "").parent().parent().find("div.ctn-link").find("a").removeClass("on");
                    $("div#" + ctnPosition + "").parent().parent().find("div.ctn-link").find("a").eq(position).addClass("on");

                });

            });
        }
    });
})(jQuery);
