var AccueilCtrl = function (FilmSvc, $state, $scope, $ionicLoading, $ionicPopup, $ionicModal) {
    this.titre = "Bonjour Ionic !";
    this.films = [];
    this.titreFilm = "";
    this.isLoading = false;
    this.indexPage = 1;

    this.nbFilms = function () {
        if (this.countFilms) {
            return this.countFilms;
        }
        return 0;
    };

    this.rechercherFilms = function (options) {
        if (!this.titreFilm || this.titreFilm === "") {
            $ionicPopup.alert({
                title: "Erreur",
                template: "Vous devez saisir le nom d'un film pour débuter la recherche",
                okText: "Compris",
                okType: "button-assertive"
            });
        } else {
            var self = this;
            $ionicLoading.show({
                template: '<ion-spinner></ion-spinner><p>Recherche en cours</p>',
                duration: 20000,
                hideOnStateChange: true
            });
            FilmSvc.searchFilms(this.titreFilm, options)
                .then(function (response) {
                    self.indexPage = 1;
                    self.countFilms = response.totalResults;
                    self.films = response.Search;
                    $ionicLoading.hide();
                    $scope.$broadcast('scroll.refreshComplete');
                });
        }
    };

    if ($state.params.titre) {
        this.titreFilm = $state.params.titre;
        var options = {};
        if ($state.params.annee) {
            options.annee = $state.params.annee;
        }
        if ($state.params.type) {
            options.type = $state.params.type;
        }
        this.rechercherFilms(options);
    }

    this.chargerPageSuivante = function () {
        var self = this;
        this.indexPage++;
        FilmSvc.searchFilms(
            this.titreFilm,
            { page: this.indexPage })
            .then(function (response) {
                self.films = self.films.concat(response.Search);
                $scope.$broadcast('scroll.infiniteScrollComplete');
            });
    };
};