﻿function surveyQuestionViewModel(parent, options) {

    var self = this;
    self.parent = parent;
    self.options = $.extend({ question: "" }, options);

    self.question = self.options.question;
    self.answer = ko.observable("");

    self.yes = function () {
        self.answer("Yes");
    };

    self.no = function () {
        self.answer("No");
    };


}

function surveyViewModel(parent, options) {

    var self = this;
    self.parent = parent;
    self.options = $.extend({}, options);

    self.title = $survey.title();
    self.description = $survey.description();
    self.instruction = $survey.submitInstruction();
    self.resetInstruction = $survey.resetInstruction();
    self.resultsPositive = $survey.resultsPositive();
    self.resultsNegative = $survey.resultsNegative();

    self.questions = $.map($survey.questions(), function (item) {
        return new surveyQuestionViewModel(self, { question: item });
    });

    self.score = ko.observable(-1);

    self.submit = function () {
        var score = 0;
        for (var i = 0; i < self.questions.length; i++)
        {
            if (self.questions[i].answer() == "Yes")
            {
                score++;
            }
        }
        self.score(score);

        $('html, body').animate({
            scrollTop: $("#survey-results").offset().top
        }, 1000);
    };

    self.reset = function () {
        self.score(-1);
        for (var i = 0; i < self.questions.length; i++) {
            self.questions[i].answer("");
        }

        $('html, body').animate({
            scrollTop: $("#page-content").offset().top
        }, 1000);
    };


}

