(function () {
    'use strict';

    angular
        .module('app')
            .controller('ConfiguracaoRodaPeController', ConfiguracaoRodaPeController);

    ConfiguracaoRodaPeController.$inject = ['$scope', '$interval', '$location', 'Consulta', 'Comando', 'CompartilharScope', 'CompartilharScopeImagens', 'GlobalVariable', '$rootScope'];

    function ConfiguracaoRodaPeController($scope, $interval, $location, Consulta, Comando, CompartilharScope, CompartilharScopeImagens, GlobalVariable, $rootScope) {

        $scope.ConfiguracaoRodaPe;
        $scope.CodigoPainel = 0;

        $scope.$watch('ConfiguracaoRodaPe', function (newV, oldV) {
            if (newV !== oldV && oldV)
                $rootScope.Alterado = true;
        }, true);

        var ConfiguracaoRodaPeNoticaController = CompartilharScope.getScope("ConfiguracaoRodaPeNoticiaController");

        function successCallBack(data) {
            if (data.data) {
                if (data.data.TempoSaidasIntervaloSaidasPrevistas) data.data.TempoSaidasIntervaloSaidasPrevistas = new Date(data.data.TempoSaidasIntervaloSaidasPrevistas);
                if (data.data.TempoPaginacaoSaidasPrevistas) data.data.TempoPaginacaoSaidasPrevistas = new Date(data.data.TempoPaginacaoSaidasPrevistas);
                if (data.data.TempoMensagensCustomizaveis) data.data.TempoMensagensCustomizaveis = new Date(data.data.TempoMensagensCustomizaveis);
                $scope.ConfiguracaoRodaPe = data.data;
            }
            $scope.ConfiguracaoRodaPe = data.data;

            $scope.$parent.setCollapseCheck($scope.ConfiguracaoRodaPe.ExibirSaidasPrevistas ? 2 : 0);
            $scope.$parent.setCollapseCheck($scope.ConfiguracaoRodaPe.ExibirMensagensCustomizaveis ? 2 : 0);

            $scope.$parent.ExibirPrevisaoRodape = angular.copy($scope.ConfiguracaoRodaPe.ExibirSaidasPrevistas);
            $scope.$parent.ExibirMensagemRodape = angular.copy($scope.ConfiguracaoRodaPe.ExibirMensagensCustomizaveis);

            $scope.resetFooter(true);

            $rootScope.Alterado = false;
        }
        function errorCallBack(error) {

        }

        $scope.CodigoPainel = GlobalVariable.getPainelFinal();

        if ($scope.CodigoPainel && $scope.CodigoPainel !== 0)
            Consulta.CarregarConfiguracaoRodaPePorCodigoPainel($scope.CodigoPainel, successCallBack, errorCallBack);

        $scope.SalvarConfiguracaoRodaPe = function () {

            var fileUpLoadRP1 = CompartilharScopeImagens.getScope("FileUploadRP1");
            var fileUpLoadRP2 = CompartilharScopeImagens.getScope("FileUploadRP2");
            var fileUpLoadRP3 = CompartilharScopeImagens.getScope("FileUploadRP3");

            if (fileUpLoadRP1.EstadoImg) {
                if (fileUpLoadRP1.fileread) {
                    $scope.ConfiguracaoRodaPe.NomeImagemUmMensagensCustomizaveis = fileUpLoadRP1.fileread.name;
                } else {
                    $scope.ConfiguracaoRodaPe.NomeImagemUmMensagensCustomizaveis = null;
                    $scope.ConfiguracaoRodaPe.ImagemUmMensagensCustomizaveis = null;
                }
                $scope.ConfiguracaoRodaPe.EstadoImgUm = fileUpLoadRP1.EstadoImg;
                fileUpLoadRP1.EstadoImg = false;
            }

            if (fileUpLoadRP2.EstadoImg) {
                if (fileUpLoadRP2.fileread) {
                    $scope.ConfiguracaoRodaPe.NomeImagemDoisMensagensCustomizaveis = fileUpLoadRP2.fileread.name;
                } else {
                    $scope.ConfiguracaoRodaPe.NomeImagemDoisMensagensCustomizaveis = null;
                    $scope.ConfiguracaoRodaPe.ImagemDoisMensagensCustomizaveis = null;
                }
                $scope.ConfiguracaoRodaPe.EstadoImgDois = fileUpLoadRP2.EstadoImg;
                fileUpLoadRP2.EstadoImg = false;
            }

            if (fileUpLoadRP3.EstadoImg) {
                if (fileUpLoadRP3.fileread) {
                    $scope.ConfiguracaoRodaPe.NomeImagemTresMensagensCustomizaveis = fileUpLoadRP3.fileread.name;
                } else {
                    $scope.ConfiguracaoRodaPe.NomeImagemTresMensagensCustomizaveis = null;
                    $scope.ConfiguracaoRodaPe.ImagemTresMensagensCustomizaveis = null;
                }
                $scope.ConfiguracaoRodaPe.EstadoImgTres = fileUpLoadRP3.EstadoImg;
                fileUpLoadRP3.EstadoImg = false;
            }

            $scope.ConfiguracaoRodaPe.CodigoPainel = $scope.CodigoPainel;
            Comando.SalvarConfiguracaoRodaPe($scope.ConfiguracaoRodaPe, successCallBack, errorCallBack);

            //ConfiguracaoRodaPeNoticaController.AtualizaRodape();
        };

        CompartilharScope.addScope("ConfiguracaoRodaPeController", $scope);
    }
})();
