Quiz = Class.create();
Object.extend(Quiz.prototype,{

	initialize: function(id,params){

		this.id = id;

		this.questions = Array();

	},

	object_id: function(){
		return 'quiz_' + this.id;
	},

	remove_question: function(question_id){
		eval('delete question_' + question_id);
	},

	add_question: function(question_id){
		this.questions.push( question_id );
	},

	populate_type_select: function(container_id){

		new Ajax.Updater(container_id, 'type_options.php',{
			method: 'get',
			parameters: {
				type_id: this.type_id
			}
		});

	},

	append: function( tr_el ){

		var last_tr = $('question_add_control_row');
		last_tr.insert({before: tr_el});
	},

	open_new_question_box: function(){

		this.new_question_box = new Box('new_question_' + this.id,{header:'New Question',body: this.new_question_box_body() });
		this.new_question_box.open();

		this.populate_type_select('question_new_form:type_id');

	},

	close_new_question_box: function(){
		this.new_question_box.close();
		this.new_question_box = false;
	},

	add_new_question: function(){

		this.new_question_box.show_activity();

		var question = $F('question_new_form:question');
		var feedback = $F('question_new_form:feedback');
		var type_id  = $F('question_new_form:type_id');

		if (question && feedback && type_id){
			new Ajax.Request('question_new.php', {
				method: 'post',
				parameters: { quiz_id:  this.id,
							  question: question,
							  feedback: feedback,
							  type_id:  type_id
				}
			});
		} else {
			alert('all values must be provided');
		}

	},

	new_question_box_body: function(){

		var form_html = '<form>';
		form_html += '<div class="form_element">';
			form_html += '<div class="label">Question</div>';
			form_html += '<div class="input"><textarea id="question_new_form:question" name="question"></textarea></div>';
		form_html += '</div>';
		form_html += '<div class="form_element">';
			form_html += '<div class="label">Feedback</div>';
			form_html += '<div class="input"><textarea id="question_new_form:feedback" name="feeback"></textarea></div>';
		form_html += '</div>';
		form_html += '<div class="form_element">';
			form_html += '<div class="label">Graphic Type</div>';
			form_html += '<div class="input"><select id="question_new_form:type_id" name="type_id"></select></div>';
		form_html += '</div>';
		form_html += '<div class="form_control">';
			form_html += '<span onclick="' + this.object_id() + '.add_new_question();">Add Question</span>';
			form_html += '<span onclick="' + this.object_id() + '.close_new_question_box();">Close</span>';
		form_html += '</div>';
		form_html += '</form>';

		return form_html;

	}

});