function tryAgain()
{
	location.reload(true);
}

var percentscore=0;
var totalnumberofquestions=0;
var achievedscore=0;
var thresholdtopass=70;


function postScore()
{
	var i=0;
	var questionid="";
	var questiontype="";
	var questionresponsevalidationstatus=false;
	var feedbackidtodisplay = "";
	var feedbackclassname = "";

	achievedscore=0;
	//http://www.tizag.com/javascriptT/javascript-string-replace.php
	totalnumberofquestions=document.forms[0].itemCntr.value.replace(/ /g, "");
	for(i=1;i<=totalnumberofquestions;i++)
	{
		questionid="";
		questionresponsevalidationstatus=false;
		questionid="Q" + ((i<10)?"0":questionid) + i.toString();									//zero padding
		//http://www.tizag.com/javascriptT/javascript-string-replace.php
		questiontype=document.getElementById("question_type_" + i.toString()).value.replace(/ /g, "");
		questionresponsevalidationstatus=validatequestion(i.toString(),questiontype);
		//alert(questionresponsevalidationstatus);

		switch (questionresponsevalidationstatus)
		{
		case "true":
			achievedscore+=parseInt(document.getElementById("score_"+i.toString()).value);
			feedbackidtodisplay = "correct_"+i.toString();
			feedbackclassname = "correct visible";
			document.getElementById(feedbackidtodisplay).className = feedbackclassname;
			document.getElementById("feedbacktext_"+i.toString()).className = "feedbacktext visible";
			break;
		case "false":
			feedbackidtodisplay = "incorrect_"+i.toString();
			feedbackclassname = "incorrect visible";
			document.getElementById(feedbackidtodisplay).className = feedbackclassname;
			document.getElementById("feedbacktext_"+i.toString()).className = "feedbacktext visible";
			document.getElementById("correctanswersfeedback_"+i.toString()).className = "correctanswersfeedback visible";
			break;
		case "not-attempted":
			feedbackidtodisplay = "notattempted_"+i.toString();
			feedbackclassname = "notattempted visible";
			document.getElementById(feedbackidtodisplay).className = feedbackclassname;
			break;
		}

	}
	

	percentscore = Math.round((achievedscore / totalnumberofquestions) * 100);
	var totalScore = document.getElementById("totalScore");
	totalScore.className = "visible";
	totalScore.innerHTML = "Total score: " + achievedscore + " out of " + totalnumberofquestions + ", " + percentscore +"%";
	
	document.getElementById("submit").className = "hidden";
	if (percentscore<thresholdtopass)
	{
		document.getElementById("tryagain").className = "visible";
	}
}


function validatequestion(qnumber, qtype)
{
	var retValue="false";
	switch (qtype)
	{
		case "tf":
			retValue=validatetfquestion(qnumber);
			break;
		case "mcss":
			retValue=validatemcssquestion(qnumber);
			break;
		case "mcms":
			retValue=validatemcmsquestion(qnumber);
			break;
		case "mat":
			retValue=validatematquestion(qnumber);
			break;
		case "fisb":
			retValue=validatefisbquestion(qnumber);
			break;
		case "fimb":
			retValue=validatefimbquestion(qnumber);
			break;
		default:
			alert("An unknown question type was detected!!");
			retValue="false";
			break;
	}
	return retValue;
}

function validatetfquestion(qnumber)
{
	var i=0;
	var retValue="false";
	var studentresponse="";
	var answercount=2;
	var questionAttempted=false;
	//http://www.tizag.com/javascriptT/javascript-string-replace.php
	var expectedresponse=document.getElementById("ans_"+qnumber).value.replace(/ /g, "");
	for(i=1; i<=answercount; i++)
	{
		if ((questionAttempted!=true) && (document.getElementById("radio_"+qnumber+"_"+i.toString()).checked))
		{
			questionAttempted=true;
		}
		studentresponse+=(document.getElementById("radio_"+qnumber+"_"+i.toString()).checked)?((studentresponse=="")?"":",")+i.toString():"";
	}
	retValue=(studentresponse!=expectedresponse)?"false":"true";
	if (!questionAttempted)
	{
		retValue="not-attempted";
	}
	return retValue;
}

function validatemcssquestion(qnumber)
{
	var i=0;
	var retValue="false";
	var studentresponse="";
	var questionAttempted=false;
	var answercount=parseInt(document.getElementById("optioncount_"+qnumber).value);
	//http://www.tizag.com/javascriptT/javascript-string-replace.php
	var expectedresponse=document.getElementById("ans_"+qnumber).value.replace(/ /g, "");
	for(i=1; i<=answercount; i++)
	{
		if ((questionAttempted!=true) && (document.getElementById("radio_"+qnumber+"_"+i.toString()).checked))
		{
			questionAttempted=true;
		}
		studentresponse+=(document.getElementById("radio_"+qnumber+"_"+i.toString()).checked)?((studentresponse=="")?"":",")+i.toString():"";
	}
	retValue=(studentresponse!=expectedresponse)?"false":"true";
	if (!questionAttempted)
	{
		retValue="not-attempted";
	}
	return retValue;
}

function validatemcmsquestion(qnumber)
{
	var i=0;
	var retValue="false";
	var studentresponse="";
	var questionAttempted=false;
	var answercount=parseInt(document.getElementById("optioncount_"+qnumber).value);
	//http://www.tizag.com/javascriptT/javascript-string-replace.php
	var expectedresponse=document.getElementById("ans_"+qnumber).value.replace(/ /g, "");
	alert(":"+expectedresponse+":");
	for(i=1; i<=answercount; i++)
	{
		if ((questionAttempted!=true) && (document.getElementById("radio_"+qnumber+"_"+i.toString()).checked))
		{
			questionAttempted=true;
		}
		studentresponse+=(document.getElementById("checkbox_"+qnumber+"_"+i.toString()).checked)?((studentresponse=="")?"":",")+i.toString():"";
	}
	retValue=(studentresponse!=expectedresponse)?"false":"true";
	if (!questionAttempted)
	{
		retValue="not-attempted";
	}
	return retValue;
}

function validatematquestion(qnumber)
{
	var retValue="false";
	return retValue;
}

function validatefisbquestion(qnumber)
{
	var retValue="false";
	return retValue;
}

function validatefimbquestion(qnumber)
{
	var retValue="false";
	return retValue;
}








/*
function postScore()
{
	var ans; 
	var feedback; 
	var correct = 0; 
	var incorrect = 0; 
	var Total = 0; 
	var percent = 0;
	total = document.forms[0].itemCntr.value;
	var totalscores = 0;
	var itemCntr = parseInt(document.forms[0].itemCntr.value)+1;
	for (var j=1; j < itemCntr; j++)
	{
		var optioncounts= eval("document.forms[0].optioncount_"+j+".value"); 
		var comparestring ="";
		var test = false;
		var currentquestionscore = parseInt(eval("document.forms[0].score_"+j+".value"));
		for (var i=1; i < eval(parseInt(optioncounts)+1); i++) 
		{
			responsestring=(document.getElementById("checkbox_"+ j + "_"+i).checked)?"1":"0";
			if(responsestring=="1")
			{
				if(test)
				{
					comparestring += ", " + eval(i); 
				}
				else
				{
					comparestring += eval(i);
					test=true;
				}
			}
		}
		var studentresponce = eval("document.forms[0].ans_"+j+".value");
		var feedbackidtodisplay = "";
		var feedbackclassname = "";
		if(studentresponce==comparestring)
		{
			totalscores = eval(totalscores+currentquestionscore);
			feedbackidtodisplay = "correct_"+j.toString();
			feedbackclassname = "correct visible";
		}
		else
		{
			if(comparestring !="")
			{
				feedbackidtodisplay = "incorrect_"+j.toString();
				feedbackclassname = "incorrect visible";
			}
			else
			{ 
				feedbackidtodisplay = "notattempted_"+j.toString();
				feedbackclassname = "notattempted visible";
			}
		}
		document.getElementById(feedbackidtodisplay).className = feedbackclassname;
		if (feedbackidtodisplay!="notattempted_"+j.toString())
		{
			document.getElementById("feedbacktext_"+j.toString()).className = "feedbacktext visible";
		}
	}
	

	percent = Math.round((totalscores / total) * 100);
	var totalScore = document.getElementById("totalScore");
	totalScore.className = "visible";
	totalScore.innerHTML = "Total score: " + totalscores + " out of " + total + ", " + percent +"%";
	
	document.getElementById("Submit").className = "hidden";
	if (percent<70)
	{
		document.getElementById("tryagain").className = "visible";
	}
}
*/
/*
function feedbackscreen()
{
	var itemCntr = parseInt(document.forms[0].itemCntr.value)+1 ;
	for (var j=1; j < itemCntr; j++)
	{
		var optioncounts= eval("document.forms[0].optioncount_"+j+".value");
		for (var i=1; i < eval(parseInt(optioncounts)+1); i++)
		{
			var currentResponse = document.getElementById("checkbox_"+ j + "_"+i);
			currentResponse.disabled = true;
		}
	}
	var submitbutton = document.getElementById("Submit");
	submitbutton.disabled = true;
}
*/
