// ============================================================================
// Quiz Javascript
// ============================================================================
// copyright 29th October 2006, by Stephen Chapman
// copyright 17/08/2009 11:31:21 AM, by Sage Internet Solutions Ltd
// permission to use this Javascript on your web page is granted
// provided that all of the code in this script (including these
// comments) is used without any alteration
// ============================================================================
var n2 = 13;
var blnComplete = false;


// ============================================================================
// FUNCTION debugit()
// ============================================================================
debugit = function (strMessage){
	var o_debug_map = $("pnlDebug");
	if(o_debug_map){

		var o_debug_map_visibility = o_debug_map.style.visibility;
		if(o_debug_map_visibility.toLowerCase()=="visible" || o_debug_map_visibility == ""){
			o_debug_map.innerHTML = o_debug_map.innerHTML + '<br />' + strMessage;
		}
	}
}; // End function sageGoogleMap.debugit(strMessage)
//-----------------------------------------------------------------------------


// ============================================================================
// FUNCTION loadQuiz()
// ============================================================================
function loadQuiz(event, element){
	if (blnComplete){
		displayResult();
	}
	else{
		displayQuiz();
	}
}

// ============================================================================
// FUNCTION displayQuiz()
// ============================================================================
function displayQuiz(event, element){
	var pnlQuiz = $("pnlQuiz");
	var pnlQuestions = $("pnlQuestions");
	var pnlResult = $("pnlResult");
	var i;
	for (i=0;i<aryQuiz.length;i++){
		var intQuestion     = i+1;
		var strQuestionData = aryQuiz[i];
		var aryQuestionData = strQuestionData.split("~");

		var pnlRow = document.createElement("div");
		var pnlQuestion = document.createElement("div");
		var pnlQuestionNum = document.createElement("div");
		var pnlQuestionText = document.createElement("div");
		var pnlAnswers = document.createElement("div");

		Element.extend(pnlQuestion);

		pnlRow.addClassName('pnlRow')
		pnlQuestion.addClassName('pnlQuestion')
		pnlQuestionNum.addClassName('pnlQuestionNum')
		pnlQuestionText.addClassName('pnlQuestionText')
		pnlAnswers.addClassName('pnlAnswers')
		pnlQuestionNum.appendChild(document.createTextNode(Number(intQuestion)));
		pnlQuestionText.appendChild(document.createTextNode(aryQuestionData[2]));

		pnlQuestion.appendChild(pnlQuestionNum);
		pnlQuestion.appendChild(pnlQuestionText);

		var strRadioName  = 'a'+intQuestion;

		for (var intAnswer = 3; aryQuestionData[intAnswer] != null && aryQuestionData[intAnswer] != ''; intAnswer++) {

			var strRadioId = strRadioName+'-'+intAnswer;

			var pnlAnswer = document.createElement("div");
			pnlAnswer.addClassName('pnlAnswer')

			var lblAnswer = document.createElement("label");
			lblAnswer.addClassName('lblAnswer')
			lblAnswer.htmlFor = strRadioId;

			var objRadio   = document.createElement("input");
			objRadio.type  = 'radio';
			objRadio.value = intAnswer;
			objRadio.name  = strRadioName;
			objRadio.id    = strRadioId;

			lblAnswer.appendChild(objRadio);
			lblAnswer.appendChild(document.createTextNode(' '+aryQuestionData[intAnswer]+' '));

			pnlAnswer.appendChild(objRadio);
			pnlAnswer.appendChild(lblAnswer);

			pnlAnswers.appendChild(pnlAnswer);
		}

		pnlRow.appendChild(pnlQuestion);
		pnlRow.appendChild(pnlAnswers);
		pnlQuestions.appendChild(pnlRow);
	}
	var btnNext = document.createElement("button");
		btnNext.onclick = function() {
			displayResult();
			return false;
		};
		var btnNextText = document.createTextNode('Next >>');
		btnNext.appendChild(btnNextText);
		pnlQuestions.appendChild(btnNext);
}

// ============================================================================
// FUNCTION checkAnswer()
// ============================================================================
function checkAnswer(strRadioName,col1,col0,intQuestionNumber){
	var a = -1;
	var x = (col1%n2) + 2;
	var blnHasAnswer = false;
	for (var intAnswer=3; document.getElementById(strRadioName+'-'+intAnswer); intAnswer++) {
		if (document.getElementById(strRadioName+'-'+intAnswer).checked) {
			a = intAnswer-3;
			blnHasAnswer = true;
		}
	}
	if (!blnHasAnswer) {
		return -1;
	}
	var c = (col0%x);
	return a == c?1:0;
}

// ============================================================================
// FUNCTION displayResult()
// ============================================================================
function displayResult() {
	var intCorrect = 0;
	var blnAllAnswerwd = true;
	var aryNotAnswered = $A();
	for (var i=0; i < aryQuiz.length; i++) {
		var intQuestion     = i+1;
		var strRadioName     = 'a'+intQuestion;
		var aryQuestionData = aryQuiz[i].split('~');
		var intAnswerState = checkAnswer(strRadioName,aryQuestionData[1],aryQuestionData[0],i);

		if(intAnswerState == -1){
			blnAllAnswerwd = false;
			aryNotAnswered[aryNotAnswered.length] = intQuestion;
		}
		else{
			intCorrect += intAnswerState;
		}
	}

	if (!blnAllAnswerwd){
		$('pnlErrors').update("All questions need to have answers. Please answer the following questions: " + aryNotAnswered.join(", "));
		$('pnlErrors').show();
		return;
	}

	blnComplete = true;

	var fltPercentage     = (intCorrect/aryQuiz.length)*100;

	if(fltPercentage>=60){$('pnl66').show();}
	else if(fltPercentage>=30){$('pnl33').show();}
	else if(fltPercentage>=0){$('pnl00').show();}

	$('pnlResultSummary').update('Your score is ' + intCorrect + '0%');
	$('pnlResultSummary').show();
	$('pnlResult').show();

	$('pnlDebug').hide();
	$('pnlQuestions').hide();
	$('pnlErrors').hide();
}

