angular.module("reportApp")
  .config(['$translateProvider', function ($translateProvider) {
        for(lang in translations){
          $translateProvider.translations(lang, translations[lang]);
        }
        $translateProvider.preferredLanguage('pl');
      }])
  .controller("reportCtrl", [ "$scope", "$filter", function($scope, $filter) {
    
    var unqValidators = null; 
 
    $scope.userInput = {};
    $scope.validatorIds = {};
    $scope.fltVal = {};
    $scope.filtercounter = null;
    
    $scope.errorType = {errors: true, warnings: true, informations: true};

    $scope.data = { results: extended_results,
                    analyzed_id: analyzed_id };
    
    $scope.extendend_data_exists = $scope.data["results"].length != 0
    $scope.href_local = location.href.search("file:");
    $scope.server_location = location_origin();

    $scope.cut_uri = function(full_url){
   
     var r = full_url.substr(full_url.indexOf('://')+3);
      return r;
    }
            
    $scope.warningLevel = function(category) {
      var result;
      switch(category) {
        case 'errors': result ='error'; break
        case 'warnings': result ='warning'; break;
        case 'informations': result = 'info'; break
        default: result ='default';
      }
      return result;
    }
    
    $scope.getUniqueValidatorIds = function() {
       var t_array = null;
        t_array = $filter('unique')($scope.data.results ,'validator_id');
         var arrayLength = t_array.length; 
        
         for (var i = 0; i < arrayLength; i++) {
          $scope.validatorIds[t_array[i]] = true;
          $scope.userInput[t_array[i]] = true;
          $scope.fltVal[t_array[i]] = true;
         }
       
       return t_array      
       
       
    };
    
    $scope.compareValidatorsObj = function() {
     var t_object = {};   
      
      for (var key in $scope.validatorIds) {
     
       if(key in $scope.userInput) {
        if($scope.validatorIds[key] == $scope.userInput[key]) {   
         t_object[key] = true;
      
        }
       } 
          
      }  
        
       return t_object; 
    };
    
    $scope.compareValidatorsArr = function() {
     var t_array = [];   
      
      for (var key in $scope.validatorIds) {
     
       if(key in $scope.userInput) {
        if($scope.validatorIds[key] == $scope.userInput[key]) {   
         t_array.push(key);
      
        }
       } 
          
      }  
        
       return t_array; 
    };
    
    
    $scope.showme = function() {
     $scope.fltVal = $scope.compareValidatorsObj();
    };

    $scope.manualFltRun = function(event) {
      $scope.fltValidatorIds = {};
      $scope.fltValidatorIds = $scope.compareValidatorsObj();
  
};
     
    $scope.clearUserInput = function() {
        $scope.userInput = {};
      return null;  
    }

    
  }]);
