/**
 * Sets the assessment-form action to the value of the selected option (i.e. the destination url).
 * Maintains the querystring.
 * Returns false if no selection (blocking form submission if used onsubmit()).
 */
function redirect_to_selected_question() {
	var selected = $(":checked[name$='assessment-answer']:first");
	return __redirect_to_element(selected);
}

function redirect_to_question(answer_id) {
	var elem = $("#" + answer_id);
	return __redirect_to_element(elem);
}

function redirect_to_assetid(asset_id) {
	var qs = build_answer_querystring();
	$("#assessment-form").attr('action', '/' + qs + '&a=' + asset_id);
}

function __redirect_to_element(elem) {
	if (elem.val() != undefined) {
		var qs = build_answer_querystring();

		// Set the action to the selected fields value plus the querystring.
	    $("#assessment-form").attr('action', elem.val() + qs);
	} else {
		return false;
	}	
}

function get_question_id() {
	return $("#assessment-form > fieldset:first").attr('id');
}

function get_query_string() {
	var qs = location.search;
	if (qs.length == 0) {
		qs = '?';
	} else {
		qs += '&';
	}
	return qs;
}

function get_selected_answers() {
	return $(":checked[name$='assessment-answer']");
}

function build_answer_querystring() {
	var qs = get_query_string() + get_question_id() + '=';
	get_selected_answers().each(function (i) {
		qs += $(this).attr('id') + ','
	});
	qs = qs.substring(0, qs.length - 1);
	return qs;
}

function show_selected_answers() {
    var qs = new Querystring();
	// Loop over the questions
	for (var i = 0; i < qs.params.length; i++) {
		// Split the answer into answers (,)
		var values = qs.params[i][1].split(',');
		// Loop over answers
		for (var j = 0; j < values.length; j++) {
			$("#" + values[j]).attr('class', 'answer-selected');
		}
		$("#" + qs.params[i][0]).fadeIn('slow');
	}
}
