

var startTime=new Date();
var endTime=new Date();
var startPressed=false;
var bgChangeStarted=false;
var maxWait=10;
var minWait=2;
var timerID;

var x=new Array();
var i=0;



function startTest()
{	
	document.getElementById('chtext').innerHTML ='<FONT face=Arial color=red>CLICK STOP NOW!</font>';//document.response.bgColorChange.options[document.response.bgColorChange.selectedIndex].text;
	bgChangeStarted=true;
	startTime=new Date();
}

function remark(responseTime)
{
	var responseString="";
	if (responseTime > 0 && responseTime <0.03)
		responseString="You have *GOD* reflexes!"
	if (responseTime >.03 && responseTime <.08 )
		responseString="You have FANTASTIC reflexes!";
	if (responseTime >= 0.07 && responseTime <.14)
		responseString="Extremly good reflexes!";
	if (responseTime >= 0.14 && responseTime < 0.20)
		responseString="Very good reflexes!";
	if (responseTime >=0.20 && responseTime < 0.33)
		responseString="Average reflexes.";
	if (responseTime >=0.33 && responseTime < 0.60)
		responseString="Below average reflexes.";
	if (responseTime >=0.60 && responseTime < 1)
		responseString="Are you drunk or what?";
	if (responseTime >=1)
		responseString="Now that wasn't serious, was it?";

	return responseString;
}

function stopTest()
{
	if(bgChangeStarted)
	{
		endTime=new Date();
		var responseTime=(endTime.getTime()-startTime.getTime())/1000;

		document.getElementById('chtext').innerHTML="Click start to begin"; 
		document.getElementById('timetext').innerHTML="&nbsp;";
		
		
		x[i]=responseTime;
		i++;
		
		document.getElementById('trytext').innerHTML ="Try #1: " + x[0] + "ms  Try #2: "+x[1]+"ms  Try #3: "+x[2]+"ms";	
		if (i==3)
		{
			var avg=(x[0]+x[1]+x[2])/3;
			avg=Math.round(avg*1000)/1000;
			document.getElementById('timetext').innerHTML ="Your average reaction time was " + avg + " seconds. " + remark(avg);		
			i=0;
		}
		startPressed=false;
		bgChangeStarted=false;
	}
	else
	{
		if (!startPressed)
		{
			document.getElementById('timetext').innerHTML="Press start to begin the test.";			
		}
		else
		{       
			clearTimeout(timerID);
			startPressed=false;             
			document.getElementById('timetext').innerHTML="Wait for the text to change first!";
		}               
	}
}

var randMULTIPLIER=0x015a4e35;
var randINCREMENT=1;
var today=new Date();
var randSeed=today.getSeconds();
function randNumber()
{
	randSeed = (randMULTIPLIER * randSeed + randINCREMENT) % (1 << 31);
	return((randSeed >> 15) & 0x7fff) / 32767;
}

function startit()
{
	if(startPressed)
	{
		document.getElementById('timetext').innerHTML="Test already started.";
		return;
	}
	else
	{
		startPressed=true; 
		if (i==0 || i>2)
		{
			i=0;
			x[0]=0;x[1]=0;x[2]=0;
			document.getElementById('trytext').innerHTML ="Try #1: " + x[0] + " ms  Try #2: "+x[1]+" ms  Try #3: "+x[2]+" ms";	
			document.getElementById('timetext').innerHTML="&nbsp;";
		}
		
		document.getElementById('chtext').innerHTML="Wait..."; 
		timerID=setTimeout('startTest()', 800+5000*randNumber());
	}
}
