(function () {
    var app = angular.module('quiz', ['ui.bootstrap']);
    
    app.controller('QuizController', function ($scope, $modal){
        $scope.controller = 'sc';
        $scope.questions = questions;
        $scope.currentQuestion = {};
        $scope.color = 'blue';
        $scope.isCorrect = false;
        $scope.score = 0;
        $scope.view = 1;
        $scope.answerId = -1;
        $scope.percentageTotalScore = null;
        
        this.loadQuestion = function(id) {
            angular.copy($scope.questions[id], $scope.currentQuestion);
        };
        
        this.startQuiz = function() {
            $scope.score = 0;
            $scope.currentQuestionId = 0;
            $scope.questionNumber = questions.length;
            $scope.answerChecked = false;
            this.loadQuestion($scope.currentQuestionId);            
        }
        
        this.nextQuestion = function() {
            if ($scope.currentQuestionId == $scope.questionNumber -1) { 
                $scope.percentageTotalScore = $scope.score / $scope.questionNumber;
                this.nextView(); 
            } else {
                $scope.currentQuestionId++;
                this.loadQuestion($scope.currentQuestionId);
                $scope.answerChecked = false;
                $scope.answerId = -1;
            };
        }
        
        this.checkAnswer = function() {
            $scope.isCorrect = ($scope.answerId  == $scope.currentQuestion.answer);
            //$scope.isCorrect = true;
            if ($scope.isCorrect) { $scope.score++ };

            $scope.answerChecked = true;

        }
        
        this.nextView = function() {
            $scope.view++;    
        }
        
        this.startQuiz();

    });
      
    var questions = [
        {
            question: 'Jerzyk złożył do sądu cywilnego pozew o zapłatę wynagrodzenia. Jerzyk jest:',
            options: ['powodem', 'pozwanym', 'biegłym'],
            answer: 0
        },
        {
            question: 'Jakie są dwa podstawowe tryby postępowania cywilnego:',
            options: ['procesowe i nieprocesowe', 'jawne i niejawne', 'przygotowawcze i sądowe.'],
            answer: 0
        },
        {
            question: 'Pismo wszczynające postępowanie procesowe to:',
            options: ['wniosek', 'pozew', 'apelacja'],
            answer: 1
        },
        {
            question: 'Pan Adam Poprawny jest niezadowolony z wyroku, wydanego przez sąd cywilny w jego sprawie. Od wyroku Pan Adam może złożyć:',
            options: ['odwołanie', 'apelację', 'skargę'],
            answer: 1
        },
        {
            question: 'Dziadek Antka, pan Bronisław jest stroną w sprawie cywilnej o zniesienie współwłasności nieruchomości. Chciałby, żeby jego pełnomocnikiem w sprawie był syn Adam. Czy syn może być pełnomocnikiem w postępowaniu cywilnym?',
            options: ['nie, ponieważ pełnomocnikiem może być tylko osoba, która ma odpowiednie uprawnienia – radca prawny lub adwokat', 'tak, ale pod warunkiem, że wyrażą na to zgodę wszyscy uczestnicy postępowania', 'tak'],
            answer: 2
        },
        {
            question: 'Organ administracyjny rozstrzyga sprawę przez wydanie:',
            options: ['decyzji', 'wyroku', 'obwieszczenia'],
            answer: 0
        },
        {
            question: 'Ewa otrzymała decyzję dotyczącą odmowy przyznania stypendium naukowego. Jest z niej niezadowolona i chce zaskarżyć decyzję. Ewa może złożyć:',
            options: ['odwołanie', 'zażalenie', 'apelację'],
            answer: 0
        },
        {
            question: 'Akt oskarżenia do sądu wnosi:',
            options: ['biegły', 'prokurator', 'świadek'],
            answer: 1
        },
        {
            question: 'W postępowaniu karnym obrońcę musi mieć:',
            options: ['oskarżony, który nie ukończył 18 lat', 'każdy oskarżony', 'każdy pokrzywdzony'],
            answer: 0
        },
        {
            question: 'Franek napadł na dziewczynę i ukradł jej laptopa, grożąc przy tym nożem. Został schwytany przez policję. Prokurator wniósł do sądu akt oskarżenia. Franek jest:',
            options: ['podejrzanym', 'oskarżonym', 'skazanym'],
            answer: 1
        }
    ];
})();