﻿$.jcarousel.fn.extend({
    removeAndAnimate: function (i) {

        var counter = 1;
        var itemsHTML = new Array();
        var e = this.get(i);
        children = e.parent().find("li");
        $(e).remove()
        $.each(children, function () {
            if (counter != i) {
                itemsHTML[counter] = $(this).removeAttr("class").removeAttr("jcarouselindex");
            }
            counter++;
        });
        this.size(this.options.size - 1);
        this.reset();
        counter = 1;
        carousel = this;
        $.each(itemsHTML, function (k, v) {
            if (v != null) {
                carousel.add(counter, v[0].innerHTML);
                counter++;
            }
        });
        this.reload();

    },

    removeAll: function () {
        this.size(0);
        this.reset();
        this.reload();
    },

    removeAt: function (index) {
        this.removeForce(index);
        this.size(this.options.size - 1);
        this.reload();
    },

    removeForce: function (i) {
        var e = this.get(i);

        var d = this.dimension(e);

        if (i < this.first) {
            this.list.css(this.lt, $.jcarousel.intval(this.list.css(this.lt)) + d + 'px');
        }

        e.remove();

        this.list.css(this.wh, $.jcarousel.intval(this.list.css(this.wh)) - d + 'px');

        $('li', this.list).each(function () {
            var jcarouselindex = Number($(this).attr('jcarouselindex'));
            if (jcarouselindex > i) {
                $(this).attr('jcarouselindex', jcarouselindex - 1);
                $(this).removeClass('jcarousel-item-' + jcarouselindex).addClass('jcarousel-item-' + (jcarouselindex - 1));
                $(this).removeClass('jcarousel-item-' + jcarouselindex + '-horizontal').addClass('jcarousel-item-' + +(jcarouselindex - 1) + '-horizontal');
            }
        });
    }

});
