'use strict';
define(
    [
        'marionette',
        'AddSeries/SearchResultView',
        'AddSeries/Collection'

    ], function (Marionette, SearchResultView, SearchResultCollection) {

        return Marionette.CollectionView.extend({

            itemView: SearchResultView,

            initialize: function (options) {


                this.isExisting = options.isExisting;
                this.fullResult = options.fullResult;

                this.listenTo(this.fullResult, 'sync', this._processResultCollection);
            },


            showAll: function () {

                this.showingAll = true;
                this.fullResult.each(function (searchResult) {
                    this.collection.add(searchResult);
                });

                this.render();
            },

            _processResultCollection: function () {
                if (!this.showingAll && this.isExisting) {
                    this.collection = new SearchResultCollection();
                    this.collection.add(this.fullResult.shift());
                }
                else {
                    this.collection = this.fullResult;
                }
            }


        });
    });