var quiz;
var formRef;

function init()
{
	formRef = document.forms[0];
	quiz = top.frames['brain'].quiz;
	
}

function quizReset()
{
	init();
	for(i=1;i<=8;i++)
	{
		quiz.answers[i] = "";
	}
	formRef.reset();
}

function validate()
{
	init();
	var allAnswered = true;
	var missing = "";
	var positiveReqCnt1 = 0; // answer usually/always to two of Q1-4
	var positiveReqCnt2 = 0; // answer usually/always to one of Q5-6
	var positiveReqCnt3 = 0; // answer yes to questions 7 and 8
	var negativeReqCnt1	= 0; // answer never to of Q1-4
	var negativeReqCnt2	= 0; // answer never to of Q5-6
	var negativeReqCnt3	= 0; // answer no to questions 7 and 8

					
	// make sure everything is answered
	// validate never/usually/always
	for(var i = 1; i <= 6; i++)
	{
		if (!formRef.elements["q"+i][0].checked &&
			!formRef.elements["q"+i][1].checked &&
			!formRef.elements["q"+i][2].checked)
		{
			allAnswered = false;
			missing += ", " + i;
		}
		if (formRef.elements["q"+i][0].checked)
		{
			if (i<=4)
			{
				negativeReqCnt1++;
			}
			else
			{
				negativeReqCnt2++;
			}
		}
		if (formRef.elements["q"+i][1].checked ||
			formRef.elements["q"+i][2].checked)
		{
			if (i<=4)
			{
				positiveReqCnt1++;
			}
			else
			{
				positiveReqCnt2++;
			}
		}
	}

	// validate yes/no
	for(var i = 7; i <= 8; i++){
		if (!formRef.elements["q"+i][0].checked &&
			!formRef.elements["q"+i][1].checked)
		{
			allAnswered = false;
			missing += ", " + i;
		}
		if (formRef.elements["q"+i][0].checked)
		{
			positiveReqCnt3++;
		}
		else if (formRef.elements["q"+i][1].checked)
		{
			negativeReqCnt3++;
		}
	}
					
	//populate quiz object and move to the appropriate next step
	if (allAnswered)
	{
		for(var i = 1; i <= 8; i++) // for each question
		{
			for (z=0;z<4;z++) // find selected answer
			{
				if (formRef.elements["q"+i][z].checked)
				{
					quiz.answers[i] = z; // populate quiz answer & move to next question
					break;
					
				}
			}
			
		}
		// The following criteria must be met to forward to "positive" section:
		// answer usually/always to two of Q1-4
		// answer usually/always to one of Q5-6
		// answer yes to questions 7 and 8
		if (positiveReqCnt1 >= 2 && positiveReqCnt2 >= 1 && positiveReqCnt3 >= 2)
		{
			top.frames['brain'].quiz = quiz;
			//alert(quiz.answers.valueOf());
			document.location = "quiz_positive.html" ;
		}
		// The following criteria must be met to forward to "probable" section:
		// answer usually/always to two of Q1-4
		// answer never to both Q5-6
		// answer yes to questions 7 and 8
		else if (positiveReqCnt1 >= 2 && negativeReqCnt2 == 2 && positiveReqCnt3 >= 2)
		{
			top.frames['brain'].quiz = quiz;
			//alert(quiz.answers.valueOf());
			document.location = "quiz_probable.html" ;
		}
		else
		{
			document.location = "quiz_negative.html";
		}
	}
	else
	{
		alert("Please answer the following question(s):\n" + missing.substring(2, missing.length));
	}
}
