(function () {
    'use strict';
    angular
        .module('controleApp')
        .controller('novoalertaController', novoalertaController);

    novoalertaController.$inject = ['$scope', 'Comando', '$location'];

    function novoalertaController($scope, Comando, $location) {
        /*jshint validthis:true*/
        this.toggleModal = {};
        this.notificationMessages = {};

        $scope.critico = "0";
        $scope.RedirecionarListaAlertas = RedirecionarListaAlertas;
        $scope.SalvarAlerta = SalvarAlerta;
        var confirm = false;

        function RedirecionarListaAlertas() {
            $location.path("/Controle" + $scope.novoalertaCtrl.toggleModal.redirectMensagem);
            confirm = true;
        }

        $scope.$on('$locationChangeStart', function (event, next, current) {
            if (next != current && !confirm) {
                $scope.novoalertaCtrl.toggleModal.sairSemSalvarAlerta(next.split('Controle')[1]);
                event.preventDefault();
            }
            confirm = false;
        });

        function SalvarAlerta() {
            var obj = {
                Critico: $scope.critico,
                Descricao: $scope.novoalertaCtrl.nomeAlerta,
                ClasseIcone: $scope.iconClass,
                //Icone: $scope.Icone
            };
            if ((obj.Critico && obj.Critico !== 0) && obj.Descricao && obj.ClasseIcone) {
                $(".loading-div").fadeIn();
                Comando.SalvarAlerta(obj, function (data) {
                    if (data.data.IsSucesso) {
                        localStorage.setItem("MensagemSucesso", data.data.Mensagem);

                        confirm = true;
                        $location.path("/Controle/Alertas");
                    } else {
                        $scope.showError(data.data.Mensagem);
                        $(".loading-div").fadeOut();
                    }
                }, function (error) {
                    $scope.showError(error.statusText);
                });
            } else {
                if (!obj.ClasseIcone)
                    $("#icon-selected").addClass('error-border');
                $scope.showWarning("Existem campos obrigatórios não preenchidos, por favor, preencha todos os campos obrigatórios!");
            }
        }
    }

})();
