// This JavaScript was (re?)coded by Kenneth Boyd on Oct. 1, 2000.
// Retain this initial authorship notice in all copies and modified versions.

// This JavaScript is freeware; use and modify as you find useful.  I place no
// restrictions on the license of derivative works.
function DrawQuiz(TableSize)
{	
	var Idx = 0;
	do	{
		var Target1 = Math.floor(Math.random()*TableSize);
		var Target2 = Math.floor(Math.random()*TableSize);
		var Tmp = Names[Target1];
		Names[Target1] = Names[Target2];
		Names[Target2] = Tmp;
		Tmp = Names[Target1+TableSize];
		Names[Target1+TableSize] = Names[Target2+TableSize];
		Names[Target2+TableSize] = Tmp;
		Tmp = Responses[Target1];
		Responses[Target1] = Responses[Target2];
		Responses[Target2] = Tmp;
		}
	while(TableSize>++Idx);
	Idx = 0;
	do	document.write(Responses[Idx]);
	while(TableSize>++Idx);
}

function InitializeQuiz(TableSize)
{	// initialize the quiz
	QuestionCount = 0;
	do	QuestionArray[QuestionCount] = QuestionCount;
	while(2*TableSize>++QuestionCount);
	do	{
		var Idx1 = Math.floor(Math.random()*2*TableSize);
		var Idx2 = Math.floor(Math.random()*2*TableSize);
		var Tmp = QuestionArray[Idx1];
		QuestionArray[Idx1] = QuestionArray[Idx2];
		QuestionArray[Idx2] = Tmp;
		}
	while(0<--QuestionCount);
	QuestionCount = 2*TableSize;
	document.TrigQuiz.StartQuiz.value = "Restart Quiz";
	document.TrigQuiz.Question.value = Names[QuestionArray[QuestionCount-1]];
}

function IterateQuestion(TableSize)
{	// iterate the question
	if (0<QuestionCount)
		{
		QuestionCount--;
		var i = 0;
		do	if (document.TrigQuiz.RefValue[i].checked)
				AnswerArray[QuestionArray[QuestionCount]] = i;
		while(TableSize>++i);
		};
	if (0<QuestionCount)
		document.TrigQuiz.Question.value = Names[QuestionArray[QuestionCount-1]];
	else{
		document.TrigQuiz.StartQuiz.value = "Start Quiz";
		var Identities = 0;
		var RightAnswer = 0;
		var i = 0
		do	{
			if (AnswerArray[i]==AnswerArray[i+TableSize])
				Identities++;
			if (AnswerArray[i]==i || AnswerArray[i+TableSize]==i)
				RightAnswer++;
			}
		while(TableSize>++i);
		alert("Cofunction identities: "+Identities+"\nCorrect answer at least once: "+RightAnswer+"\nTotal score: "+String(Identities+RightAnswer));
		}
}


