﻿/// <reference path="jquery-1.2.6-vsdoc.js" />

Quiz = (function() {
	return {
		showQuestion: function(number) {
			var t = this,
			    q = $(this.questions[number]),
			    div,
			    submit;
			if (number < this.questions.length) {
				div = $('<div class="submit"></div>'),
				submit = $('<input type="submit" value="Next" />');
				submit.click(function (e) {
					e.preventDefault();
					if ($(':radio:checked', q)) {
						q.hide();
						t.showNote(number);
					}
				});
				q.append(div.append(submit));
			}
			q.show();
			this.currentQuestion = number;
		},
		showNote: function (number) {
			var t = this,
			    q = $(this.questions[number]),
			    div = $('<div></div>'),
			    header = $('h2', q),
			    submitDiv = $('<div class="submit"></div>'),
			    submit = $('<input type="submit" value="Next" />'),
			    note = $(':radio:checked', q).siblings('.note');
			submit.click(function (e) {
				e.preventDefault();
				div.hide();
				t.showQuestion(t.currentQuestion + 1);
			});
			note.show();
			q.after(div.append(header));
			if (number == t.questions.length - 1) {
				t.submitArea.show();
				q.after(div.append(note).append(t.submitArea));
			}
			else {
				q.after(div.append(note).append(submitDiv.append(submit)));
			}
		},
		init: function() {
			this.currentQuestion = 0;
			this.form = $('#test-form');
			this.questions = $('.question', this.form);
			this.submitArea = $('.submit-area', this.form);
			this.questions.hide();
			this.submitArea.hide();
			this.showQuestion(0);
		}
	};
})();

// Init on document ready
$(document).ready(function() {
	Quiz.init();
});