function randint(lowlimit,highlimit)
{
	result = Math.floor(lowlimit+Math.random()*(highlimit-lowlimit+1))
	return(result);
}

var dq='"';
var sq="'";

var testchecked=false;

correct = new Image();
correct.src = "correct18.gif";
wrong = new Image();
wrong.src = "wrong18.gif";
clicbutt = new Image();
clicbutt.src = "clicbutt.gif";
help = new Image();
help.src = "help.gif"

var errorlist = "";

<!-- HELP WINDOW POPUP -->

function helpWindow(qu,link)

{
	tellmeimagename = "link"+qu;
	if (document[tellmeimagename].src == help.src)

	{
		window.open(link,"newhelpwindow","location=1,status=1,scrollbars=1,resizable=1,width=750,height=550");
	}
	else { window.focus() }
}



<!-- QUESTION CHECK PROCEDURES -->

function checkQuestions()
{
	score=0;

	score1=0;
	if ((document.forms.qf.elements["q001"].value == 0.5) || (document.forms.qf.elements["q001"].value == "1/2"))
		{ score1++; document.images["c001"].src = correct.src; }
	else	{ document.images["c001"].src = wrong.src; document.images["link1"].src = help.src; 
		errorlist=errorlist+"1: "+document.forms.qf.elements["q001"].value+"<BR>"; }
	score=score+score1;

	score2=0;
	smax2=2;
	if (document.forms.qf.elements["q002"].value == 3)
		{ score2++; document.images["c002"].src = correct.src; }
	else	{ document.images["c002"].src = wrong.src;
		errorlist=errorlist+"2: a="+document.forms.qf.elements["q002"].value+"<BR>"; }
	if (document.forms.qf.elements["q003"].value == -12)
		{ score2++; document.images["c003"].src = correct.src; }
	else	{ document.images["c003"].src = wrong.src;
		errorlist=errorlist+"2: b="+document.forms.qf.elements["q003"].value+"<BR>"; }
	score=score+score2;
	if (score2<smax2)
		{ document.images["link2"].src = help.src; }


	score3=0;
	if (document.forms.qf.elements["q004"].value == "0")
		{ score3++; document.images["c004"].src = correct.src; }
	else	{ document.images["c004"].src = wrong.src; document.images["link3"].src = help.src;
		errorlist=errorlist+"3: "+document.forms.qf.elements["q004"].value+"<BR>"; }
	score=score+score3;

	score4=0;
	if (document.forms.qf.elements["q005"].value == 6)
		{ score4++; document.images["c005"].src = correct.src; }
	else	{ document.images["c005"].src = wrong.src; document.images["link4"].src = help.src;
		errorlist=errorlist+"4: p="+document.forms.qf.elements["q005"].value+"<BR>"; }
	score=score+score4;

	score5=0;
	r5=document.forms.qf.elements["q006"].value.toUpperCase();
	if (r5 == "D")
		{ score5++; document.images["c006"].src = correct.src; }
	else	{ document.images["c006"].src = wrong.src; document.images["link5"].src = help.src;
		errorlist=errorlist+"5: "+r5+"<BR>"; }
	score=score+score5;

	score6=0;
	smax6=3;
	if (document.forms.qf.elements["q007"].value == "0")
		{ score6++; document.images["c007"].src = correct.src; }
	else	{ document.images["c007"].src = wrong.src;
		errorlist=errorlist+"6: a="+document.forms.qf.elements["q007"].value+"<BR>"; }
	if (document.forms.qf.elements["q008"].value == 1)
		{ score6++; document.images["c008"].src = correct.src; }
	else	{ document.images["c008"].src = wrong.src;
		errorlist=errorlist+"6: b="+document.forms.qf.elements["q008"].value+"<BR>"; }
	if (document.forms.qf.elements["q009"].value == 2)
		{ score6++; document.images["c009"].src = correct.src; }
	else	{ document.images["c009"].src = wrong.src;
		errorlist=errorlist+"6: c="+document.forms.qf.elements["q009"].value+"<BR>"; }
	score=score+score6;
	if (score6<smax6)
		{ document.images["link6"].src = help.src; }

	score7=0;
	r7=document.forms.qf.elements["q010"].value.toUpperCase();
	if (r7 == "B")
		{ score7++; document.images["c010"].src = correct.src; }
	else	{ document.images["c010"].src = wrong.src; document.images["link7"].src = help.src;
		errorlist=errorlist+"7: "+r7+"<BR>"; }
	score=score+score7;

	score8=0;
	r8=document.forms.qf.elements["q011"].value.toUpperCase();
	if (r8 == "E")
		{ score8++; document.images["c011"].src = correct.src; }
	else	{ document.images["c011"].src = wrong.src; document.images["link8"].src = help.src;
		errorlist=errorlist+"8: "+r8+"<BR>"; }
	score=score+score8;

	score9=0;
	if (document.forms.qf.elements["q012"].value == 10)
		{ score9++; document.images["c012"].src = correct.src; }
	else	{ document.images["c012"].src = wrong.src; document.images["link9"].src = help.src;
		errorlist=errorlist+"9: "+document.forms.qf.elements["q012"].value+"<BR>"; }
	score=score+score9;

	score10=0;
	if (document.forms.qf.elements["q013"].value == 460)
		{ score10++; document.images["c013"].src = correct.src; }
	else	{ document.images["c013"].src = wrong.src; document.images["link10"].src = help.src;
		errorlist=errorlist+"10: "+document.forms.qf.elements["q013"].value+"<BR>"; }
	score=score+score10;

	score11=0;
	smax11=6;
	if (document.forms.qf.elements["q014"].value == 3)
		{ score11++; document.images["c014"].src = correct.src; }
	else	{ document.images["c014"].src = wrong.src;
		errorlist=errorlist+"11: a="+document.forms.qf.elements["q014"].value+"<BR>"; }
	if (document.forms.qf.elements["q015"].value == 2)
		{ score11++; document.images["c015"].src = correct.src; }
	else	{ document.images["c015"].src = wrong.src;
		errorlist=errorlist+"11: b="+document.forms.qf.elements["q015"].value+"<BR>"; }
	if (document.forms.qf.elements["q016"].value == 1)
		{ score11++; document.images["c016"].src = correct.src; }
	else	{ document.images["c016"].src = wrong.src;
		errorlist=errorlist+"11: a="+document.forms.qf.elements["q016"].value+"<BR>"; }
	if (document.forms.qf.elements["q017"].value == 2)
		{ score11++; document.images["c017"].src = correct.src; }
	else	{ document.images["c017"].src = wrong.src;
		errorlist=errorlist+"11: b="+document.forms.qf.elements["q017"].value+"<BR>"; }
	if (document.forms.qf.elements["q018"].value == 2)
		{ score11++; document.images["c018"].src = correct.src; }
	else	{ document.images["c018"].src = wrong.src;
		errorlist=errorlist+"11: a="+document.forms.qf.elements["q018"].value+"<BR>"; }
	if (document.forms.qf.elements["q019"].value == 1)
		{ score11++; document.images["c019"].src = correct.src; }
	else	{ document.images["c019"].src = wrong.src;
		errorlist=errorlist+"11: b="+document.forms.qf.elements["q019"].value+"<BR>"; }
	if (document.forms.qf.elements["q020"].value == 2)
		{ score11++; document.images["c020"].src = correct.src; }
	else	{ document.images["c020"].src = wrong.src;
		errorlist=errorlist+"11: a="+document.forms.qf.elements["q020"].value+"<BR>"; }
	if ((document.forms.qf.elements["q021"].value == 0.5) || (document.forms.qf.elements["q021"].value == "1/2"))
		{ score11++; document.images["c021"].src = correct.src; }
	else	{ document.images["c021"].src = wrong.src;
		errorlist=errorlist+"11: b="+document.forms.qf.elements["q021"].value+"<BR>"; }
	score=score+score11;
	if (score11<smax11)
		{ document.images["link11"].src = help.src; }


	score12=0;
	if (document.forms.qf.elements["q022"].value == "0")
		{ score12++; document.images["c022"].src = correct.src; }
	else	{ document.images["c022"].src = wrong.src; document.images["link12"].src = help.src;
		errorlist=errorlist+"12: "+document.forms.qf.elements["q022"].value+"<BR>"; }
	score=score+score12;

	score13=0;
	r13=document.forms.qf.elements["q023"].value.toUpperCase();
	if (r13 == "E")
		{ score13++; document.images["c023"].src = correct.src; }
	else	{ document.images["c023"].src = wrong.src; document.images["link13"].src = help.src;
		errorlist=errorlist+"13: "+r13+"<BR>"; }
	score=score+score13;

	score14=0;
	smax14=2;
	if (document.forms.qf.elements["q024"].value == 2)
		{ score14++; document.images["c024"].src = correct.src; }
	else	{ document.images["c024"].src = wrong.src;
		errorlist=errorlist+"14: a="+document.forms.qf.elements["q024"].value+"<BR>"; }
	if (document.forms.qf.elements["q025"].value == "0")
		{ score14++; document.images["c025"].src = correct.src; }
	else	{ document.images["c025"].src = wrong.src;
		errorlist=errorlist+"14: b="+document.forms.qf.elements["q025"].value+"<BR>"; }
	score=score+score14;
	if (score14<smax14)
		{ document.images["link14"].src = help.src; }


	score15=0;
	if (document.forms.qf.elements["q026"].value == 4)
		{ score15++; document.images["c026"].src = correct.src; }
	else	{ document.images["c026"].src = wrong.src; document.images["link15"].src = help.src;
		errorlist=errorlist+"15: "+document.forms.qf.elements["q026"].value+"<BR>"; }
	score=score+score15;

	score16=0;
	smax16=2;
	if ( 	((document.forms.qf.elements["q027"].value == 16) && (document.forms.qf.elements["q028"].value == 0.1))
		|| ((document.forms.qf.elements["q027"].value == 4) && (document.forms.qf.elements["q028"].value == 0.2))
		|| ((document.forms.qf.elements["q027"].value == 2) && (document.forms.qf.elements["q028"].value == 0.4)))
		{ score16++; document.images["c027"].src = correct.src; score16++; document.images["c028"].src = correct.src; }
	else	{ document.images["c027"].src = wrong.src; document.images["c028"].src = wrong.src;
		errorlist=errorlist+"16: p="+document.forms.qf.elements["q027"].value+" q="+document.forms.qf.elements["q028"].value+"<BR>"; }
	score=score+score16;
	if (score16<smax16)
		{ document.images["link16"].src = help.src; }


	score17=0;
	if (document.forms.qf.elements["q029"].value == 1)
		{ score17++; document.images["c029"].src = correct.src; }
	else	{ document.images["c029"].src = wrong.src; document.images["link17"].src = help.src;
		errorlist=errorlist+"17: "+document.forms.qf.elements["q029"].value+"<BR>"; }
	score=score+score17;

	score18=0;
	r18=document.forms.qf.elements["q030"].value.toUpperCase();
	if (r18 == "C")
		{ score18++; document.images["c030"].src = correct.src; }
	else	{ document.images["c030"].src = wrong.src; document.images["link18"].src = help.src;
		errorlist=errorlist+"18: "+r18+"<BR>"; }
	score=score+score18;

	score19=0;
	smax19=3;
	if (document.forms.qf.elements["q031"][0].checked)
		{ score19++; document.images["c031"].src = correct.src; }
	else	{ document.images["c031"].src = wrong.src;
		if (document.forms.qf.elements["q031"][1].checked) {errorlist=errorlist+"19a: false<BR>"; } else {errorlist=errorlist+"19a:<BR>"; } }
	if (document.forms.qf.elements["q032"][1].checked)
		{ score19++; document.images["c032"].src = correct.src; }
	else	{ document.images["c032"].src = wrong.src;
		if (document.forms.qf.elements["q032"][0].checked) {errorlist=errorlist+"19b: true<BR>"; } else {errorlist=errorlist+"19b:<BR>"; } }
	if (document.forms.qf.elements["q033"][0].checked)
		{ score19++; document.images["c033"].src = correct.src; }
	else	{ document.images["c033"].src = wrong.src;
		if (document.forms.qf.elements["q033"][1].checked) {errorlist=errorlist+"19c: false<BR>"; } else {errorlist=errorlist+"19c:<BR>"; } }
	score=score+score19;
	if (score19<smax19)
		{ document.images["link19"].src = help.src; }

	score20=0;
	r20=document.forms.qf.elements["q034"].value.toUpperCase();
	if (r20 == "C")
		{ score20++; document.images["c034"].src = correct.src; }
	else	{ document.images["c034"].src = wrong.src; document.images["link20"].src = help.src;
		errorlist=errorlist+"20: "+r20+"<BR>"; }
	score=score+score20;

	score21=0;
	r21=document.forms.qf.elements["q035"].value.toUpperCase();
	if (r21 == "E")
		{ score21++; document.images["c035"].src = correct.src; }
	else	{ document.images["c035"].src = wrong.src;document.images["link21"].src = help.src;
		errorlist=errorlist+"21: "+r21+"<BR>"; }
	score=score+score21;

	score22=0;
	smax22=4;
	if (document.forms.qf.elements["q036"][1].checked)
		{ score22++; document.images["c036"].src = correct.src; }
	else	{ document.images["c036"].src = wrong.src;
		if (document.forms.qf.elements["q036"][0].checked) {errorlist=errorlist+"22a: true<BR>"; } else {errorlist=errorlist+"22a:<BR>"; } }
	if (document.forms.qf.elements["q037"][1].checked)
		{ score22++; document.images["c037"].src = correct.src; }
	else	{ document.images["c037"].src = wrong.src;
		if (document.forms.qf.elements["q037"][0].checked) {errorlist=errorlist+"22b: true<BR>"; } else {errorlist=errorlist+"22b:<BR>"; } }
	if (document.forms.qf.elements["q038"][0].checked)
		{ score22++; document.images["c038"].src = correct.src; }
	else	{ document.images["c038"].src = wrong.src;
		if (document.forms.qf.elements["q038"][1].checked) {errorlist=errorlist+"22c: false<BR>"; } else {errorlist=errorlist+"22c:<BR>"; } }
	if (document.forms.qf.elements["q039"][1].checked)
		{ score22++; document.images["c039"].src = correct.src; }
	else	{ document.images["c039"].src = wrong.src;
		if (document.forms.qf.elements["q039"][0].checked) {errorlist=errorlist+"22d: true<BR>"; } else {errorlist=errorlist+"22d:<BR>"; } }
	score=score+score22;
	if (score22<smax22)
		{ document.images["link22"].src = help.src; }

	score23=0;
	smax23=2;
	if (document.forms.qf.elements["q040"][1].checked)
		{ score23++; document.images["c040"].src = correct.src; }
	else	{ document.images["c040"].src = wrong.src;
		if (document.forms.qf.elements["q040"][0].checked) {errorlist=errorlist+"23a: true<BR>"; } else {errorlist=errorlist+"23a:<BR>"; } }
	if (document.forms.qf.elements["q041"][0].checked)
		{ score23++; document.images["c041"].src = correct.src; }
	else	{ document.images["c041"].src = wrong.src;
		if (document.forms.qf.elements["q041"][1].checked) {errorlist=errorlist+"23b: false<BR>"; } else {errorlist=errorlist+"23b:<BR>"; } }
	score=score+score23;
	if (score23<smax23)
		{ document.images["link23"].src = help.src; }

	score24=0;
	smax24=2;
	if (document.forms.qf.elements["q042"].value == 2)
		{ score24++; document.images["c042"].src = correct.src; }
	else	{ document.images["c042"].src = wrong.src;
		errorlist=errorlist+"24: a="+document.forms.qf.elements["q042"].value+"<BR>"; }
	if (document.forms.qf.elements["q043"].value == -1)
		{ score24++; document.images["c043"].src = correct.src; }
	else	{ document.images["c043"].src = wrong.src;
		errorlist=errorlist+"24: b="+document.forms.qf.elements["q043"].value+"<BR>"; }
	score=score+score24;
	if (score24<smax24)
		{ document.images["link24"].src = help.src; }

	score25=0;
	smax25=2;
	if (document.forms.qf.elements["q044"].value == -44)
		{ score25++; document.images["c044"].src = correct.src; }
	else	{ document.images["c044"].src = wrong.src;
		errorlist=errorlist+"25: p="+document.forms.qf.elements["q044"].value+"<BR>"; }
	if (document.forms.qf.elements["q045"].value == -5)
		{ score25++; document.images["c045"].src = correct.src; }
	else	{ document.images["c045"].src = wrong.src;
		errorlist=errorlist+"25: q="+document.forms.qf.elements["q045"].value+"<BR>"; }
	score=score+score25;
	if (score25<smax25)
		{ document.images["link25"].src = help.src; }

	score26=0;
	if (document.forms.qf.elements["q046"].value/document.forms.qf.elements["q047"].value == 32)
		{ score26++; document.images["c046"].src = correct.src; document.images["c047"].src = correct.src; }
	else	{ document.images["c046"].src = wrong.src; document.images["c047"].src = wrong.src; document.images["link26"].src = help.src;
		errorlist=errorlist+"26: p="+document.forms.qf.elements["q046"].value+" q="+document.forms.qf.elements["q047"].value+"<BR>"; }
	score=score+score26;

	score27=0;
	if (document.forms.qf.elements["q048"].value/document.forms.qf.elements["q049"].value == 4/7)
		{ score27++; document.images["c048"].src = correct.src; document.images["c049"].src = correct.src; }
	else	{ document.images["c048"].src = wrong.src; document.images["c049"].src = wrong.src; document.images["link27"].src = help.src;
		errorlist=errorlist+"27: p="+document.forms.qf.elements["q048"].value+" q="+document.forms.qf.elements["q049"].value+"<BR>"; }
	score=score+score27;

	score28=0;
	if (	((document.forms.qf.elements["q050"].value*document.forms.qf.elements["q050"].value*10) == document.forms.qf.elements["q051"].value) &&
		(document.forms.qf.elements["q051"].value>0) )
		{ score28++; document.images["c050"].src = correct.src; score28++; document.images["c051"].src = correct.src; }
	else	{ document.images["c050"].src = wrong.src; document.images["c051"].src = wrong.src; document.images["link28"].src = help.src;
		errorlist=errorlist+"28: p="+document.forms.qf.elements["q050"].value+" q="+document.forms.qf.elements["q051"].value+"<BR>"; }
	score=score+score28;

	score29=0;
	if (document.forms.qf.elements["q052"].value == 10)
		{ score29++; document.images["c052"].src = correct.src; }
	else	{ document.images["c052"].src = wrong.src; document.images["link29"].src = help.src;
		errorlist=errorlist+"29: p="+document.forms.qf.elements["q052"].value+"<BR>"; }
	score=score+score29;
}

var puwin;

function checkall()
{
	if (testchecked) {alert("You"+sq+"ve already checked this test - you can"+sq+"t check the same test twice.")}
	else
	{
	// pop up window
		puwin = window.open("","puwin","resizeable=no,menubar=no,scrollbars=no,height=160,width=240");
		if (!puwin)
		{
			alert('Your answers can not be checked because\nyou have disabled pop-up windows.\nPlease enable pop-ups and try again.\n\nIn Internet Explorer, go to Tools...\nPop-up Blocker...Pop-up Blocker Settings\nand set the Filter Level to Medium');
		}
		else
		{
		puwin.document.open();
		puwin.document.write("<HTML><HEAD><TITLE>Marking test ...</TITLE></HEAD>");
		puwin.document.write("<BODY bgcolor="+dq+"#6464FF"+dq+" text="+dq+"#FFFF00"+dq+" link="+dq+"#000000"+dq+" alink="+dq+"#000000"+dq+" vlink="+dq+"#000000"+dq+">");
		puwin.document.write("<CENTER><FONT size="+dq+"+1"+dq+" face="+dq+"arial"+dq+"><B>");
		puwin.document.write("Your test is<BR>being marked by<BR>the computer.<BR><IMG SRC='clock.gif' border='0'><BR>Thank you.");
		puwin.document.write("</B></FONT></CENTER>");
		puwin.document.write("</BODY>");
		puwin.document.write("</HTML>");
		puwin.document.close();
	// check answers
		checkQuestions();
		setTimeout("puwin.close()",1500);
		testchecked=true;
		document.images["mark"].src=clicbutt.src;
		}
	}
}

<!-- FEEDBACK WINDOW OPENER -->

function feedback()
{
if (!testchecked) {alert("You need to check the test before you can see a report.")}
else {
var fbwin = window.open("","fbwin","resizeable=no,menubar=yes,scrollbars=yes,height=400,width=640");
fbwin.document.open();
fbwin.document.write("<HTML><HEAD><TITLE>Report on A-Level Pure Mathematics Audit</TITLE></HEAD>");
fbwin.document.write("<BODY ALINK=WHITE VLINK=WHITE LINK=WHITE>");
fbwin.document.write("<TABLE border=0 cellpadding=10 cellspacing=0 bgcolor=darkblue width=100%><TR><TD>");
fbwin.document.write("<CENTER><FONT SIZE=+1 FACE=arial COLOR=white>You can print this page by clicking on <B>Print</B> in the <B>File</B> menu.</FONT></CENTER>");
fbwin.document.write("</TD></TR></TABLE><P>");

fbwin.document.write("<FONT FACE=ARIAL><CENTER>This is the summary of your results in the audit:<BR>");
fbwin.document.write("<B><FONT size=+1>A-Level Pure Mathematics</FONT></FONT></B></CENTER><P>");

fbwin.document.write("<B>Summary</B><BR>");
fbwin.document.write("<TABLE border=0 cellpadding=5 cellspacing=0>");
fbwin.document.write("<TR><TD valign=top>");
totpc=score*2;
fbwin.document.write("You scored "+score+" marks out of 50, which gives you a percentage score of "+totpc+"%<BR>");
if (totpc>83) {fbwin.document.write("This is excellent.  You have reached an acceptable standard for this section.<BR>")}
if (totpc>66 && totpc<83) {fbwin.document.write("You have reached an acceptable standard for this section, but you may benefit from more practice.<BR>")}
if (totpc<66) {fbwin.document.write("You will need some more practice on this section before you reach an acceptable level.<BR>")}
fbwin.document.write("</TD></TR>");
fbwin.document.write("</TABLE>");


if (errorlist!="")
{
fbwin.document.write("<P><B>Your errors were in the following questions:</B><BR>");
fbwin.document.write("<TABLE border=0 cellpadding=5 cellspacing=0>");
fbwin.document.write("<TR><TD valign=top>");
fbwin.document.write(errorlist+"<P><CENTER><FONT color=red>You should make a note of the areas in which you had particular difficulty.</FONT></CENTER>")
fbwin.document.write("</TD></TR>");
fbwin.document.write("</TABLE>");
}

fbwin.document.write("<P><TABLE border=0 cellpadding=10 cellspacing=0 bgcolor=darkblue width=100%><TR><TD>");
fbwin.document.write("<CENTER><FONT SIZE=+1 FACE=arial COLOR=white>Feel free to <A href="+dq+"#"+dq+" onClick="+dq+"parent.window.close()"+dq+">close</A> this window.</FONT></CENTER>");
fbwin.document.write("</TD></TR></TABLE>");

fbwin.document.write("</BODY></HTML>");
fbwin.document.close();
document.images["report"].src=clicbutt.src;
}
}

function ww(line) { document.write(line) }

if (typeof window.event != "undefined") document.onkeydown = function()
  { if (event.srcElement.tagName.toUpperCase() != "INPUT") return (event.keyCode != 8) }
else document.onkeypress = function(e)
  { if (e.target.nodeName.toUpperCase() != "INPUT") return (e.keyCode != 8) }

function clearForms()  	{ for (c=0; c<document.forms.length; c++) { document.forms[c].reset();
	for (i=0; i<document.forms[c].length; i++) { document.forms[c].elements[i].onkeypress = function(e) 
	{ var key = (window.event) ? window.event.keyCode : e.which; return (key != 13) } } } }

