angular
  .module('OrariTreni')
  .controller('DettaglioStazioneController', DettaglioStazioneController);

  DettaglioStazioneController.$inject = ['$scope', '$http', '$q'];

  function DettaglioStazioneController($scope, $http, $q) {
    $scope.loading = false;
    $scope.partenze = null;
    $scope.arrivi = null;

    $scope.caricaPartenze = function(codiceStazione) {
      console.log('carico le partenze');
      var def = $q.defer();
      $http.get("https://stage-api.oraritreni.it/places/"+codiceStazione+"/departures.json", {})
        .success(function(data) {
          def.resolve(data);
        })
        .error(function() {
          def.reject("Failed to get departures...");
        });

      return def.promise;
    };

    $scope.caricaArrivi = function(codiceStazione) {
      console.log('carico gli arrivi');
      var def = $q.defer();
      $http.get("https://stage-api.oraritreni.it/places/"+codiceStazione+"/arrivals.json", {})
        .success(function(data) {
          def.resolve(data);
        })
        .error(function() {
          def.reject("Failed to get arrivals...");
        });

      return def.promise;
    };

    $scope.caricaPartenzeArrivi = function(codiceStazione) {
      $scope.loading = true;
      $scope.caricaPartenze(codiceStazione).then(function(data_p){
        $scope.partenze = data_p;
        console.log('partenze caricate');
        $scope.caricaArrivi(codiceStazione).then(function(data_a){
          $scope.arrivi = data_a;
          console.log('arrivi caricati');
          $scope.loading = false;
        })
      });
    }
    console.log('codice stazione: ' + codiceStazione);
    $scope.caricaPartenzeArrivi(codiceStazione);

    console.log('ciao sono dettaglio stazione');
  };