app.config(['$qProvider', function ($qProvider) {
    $qProvider.errorOnUnhandledRejections(false);
}]);

app.run(function($rootScope,$http,$window,$location) {
    $rootScope.$on('$locationChangeStart', function (event, next, current) {
        var patch=window.encodeURIComponent($location.url());

        var url="";
        if(patch!='')
            url="?url="+patch;
            
       $http.post('app/ws/chequeoLogin.php').then(function(msg){
            if(msg.data.logout){
               $window.location.href='/vet/vet_login.html';
            }
            $rootScope.cod_perfil=msg.data.cod_perfil;            
        });
    });
});

app.filter('html', ['$sce', function ($sce) { 
    return function (text) {
        return $sce.trustAsHtml(text);
    };    
}])

app.filter('nl2br', function() {
    var span = document.createElement('span');
    return function(input) {
        if (!input) return input;
        var lines = input.split('\n');

        for (var i = 0; i < lines.length; i++) {
            span.innerText = lines[i];
            span.textContent = lines[i];  //for Firefox
            lines[i] = span.innerHTML;
        }
        return lines.join('<br />');
    }
});


app.run(function($rootScope,$state,$http,$window, $location){
    $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams){
        var parametros = JSON.stringify({cual:'usuarioPermisoPagina',des_pagina:toState.name});
        $http.post('app/ws/ws_publico.php',parametros).then(function(msg){
            if (msg.data!='true'){
                var patch=window.encodeURIComponent($location.url());
                var url="";
                if(patch!='')
                    url="?url="+patch;

                if (fromState.name=='')
                    $window.location.href='/vet/vet_login.html';
                $state.go(fromState.name);
            }
        });        
    });
});


app.filter('truncate', function () {
    return function (value, wordwise, max, tail) {
        if (!value) return '';
        max = parseInt(max, 10);
        if (!max) return value;
        if (value.length <= max) return value;

        value = value.substr(0, max);
        if (wordwise) {
            var lastspace = value.lastIndexOf(' ');
            if (lastspace != -1) {
                value = value.substr(0, lastspace);
            }
        }
        return value + (tail || ' …');
    };
});

app.filter('unsafe', function($sce) { return $sce.trustAsHtml; });

// No borrar esto, se necesita para el textAngular
app.config(function() {
  angular.lowercase = angular.$$lowercase;  
});