(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: 'Samorząd uczniowski tworzą:',
            options: ['wszyscy uczniowie szkoły', 'tylko wybrani przez uczniów w demokratycznych wyborach delegaci', 'tylko wybrani przez nauczycieli delegaci'],
            answer: 0
        },
        {
            question: 'Prawa i obowiązki ucznia obowiązujące w Twojej szkole spisane są w:',
            options: ['zarządzeniu', 'statucie', 'dekrecie'],
            answer: 1
        },
        {
            question: 'Przestępstwo to bezprawny, społecznie szkodliwy czyn człowieka , który można popełnić:',
            options: ['tylko przez działanie', 'przez działanie lub zaniechanie', 'tylko przez zaniechanie'],
            answer: 1
        },
        {
            question: 'Oskarżony w postępowaniu karnym:',
            options: ['nie może odmówić składania wyjaśnień', 'może odmówić składania wyjaśnień', 'może odmówić składania wyjaśnień, jeśli korzysta z pomocy obrońcy'],
            answer: 1
        },
        {
            question: 'Mediacja w postępowaniu w sprawach nieletnich:',
            options: ['jest dobrowolna', 'jest obowiązkowa', 'jest obowiązkowa, jeśli skierował do niej sąd'],
            answer: 0
        },
        {
            question: 'Postępowanie w sprawach nieletnich toczy się przed:',
            options: ['sądem cywilnym', 'sądem rodzinnym', 'sądem karnym'],
            answer: 1
        },
        {
            question: 'Osoba, która czuwa nad wykonaniem kary lub obowiązków nałożonych na nieletniego przez sąd, a także sprawdza, czy nieletni zachowuje się w sposób właściwy, czy przestrzega prawa i obowiązków to:',
            options: ['mediator sądowy', 'opiekun prawny', 'kurator sądowy'],
            answer: 2
        },
        {
            question: 'Mediacja jest poufna:',
            options: ['zawsze', 'jeśli sąd tak postanowi', 'jeśli strony tak zdecydowały'],
            answer: 0
        },
        {
            question: 'Osoba, której dobro prawne zostało naruszone lub zagrożone przez przestępstwo to:',
            options: ['oskarżony', 'oskarżyciel', 'pokrzywdzony'],
            answer: 2
        },
        {
            question: 'Obrońcą w postępowaniu karnym może być:',
            options: ['każdy, kto posiada pełną zdolność do czynności prawnych', 'tylko adwokat', 'adwokat lub radca prawny'],
            answer: 2
        }
    ];
})();