var begin;
var end;
var sti;
var legal;
var responses;
var i;

function focus(){
 document.forms.frmstart.btstart.focus();
}

function start1(){
 responses = new Array(20);
	i = 0;
	
 if(document.getElementById)
	 sti = document.getElementById("blok");
	else if(document.all)
	 sti = document.all.blok;
	else if(document.layers)
	 sti = document.layers["blok"];
	
	start2();
}

function start2(){
 var delay;

 legal = false;
	document.links[0].focus();
	sti.style.backgroundColor = "#333333";
	delay = Math.floor(500 + 3500*Math.random());
	setTimeout("stimulus()",delay);
}

function stimulus(){
 sti.style.backgroundColor = "#FFFFD7";
	begin = new Date();
	legal = true;
}

function response(){
 end = new Date();

 if(!legal){
		alert("You clicked too soon !\n\nDo not anticipate.\n\nStart over again.");
		document.forms.frmstart.btstart.focus();
	}
	else{
	 responses[i++] = end.getTime() - begin.getTime();
	
		if(i<20)
	 	start2();
		else
		{
		 document.forms.frmstart.rtsd.value = Math.round(100*sd(responses))/100;
			document.forms.frmstart.mrt.value = Math.round(10*mean(responses))/10;
			document.forms.frmstart.btstart.focus();
			alert("End of series !\n\nSee below for score.");
		}
	}
}

function sd(arr){
 var sum = 0;
	var mean;
	var devsum = 0;
	
	for(i=0;i<arr.length;i++)
	 sum += arr[i];

	mean = sum/arr.length;
	
	for(i=0;i<arr.length;i++)
	 devsum += (arr[i] - mean)*(arr[i] - mean);

	return Math.sqrt(devsum/arr.length);
}

function mean(arr){
 var sum = 0;
	
	for(i=0;i<arr.length;i++)
	 sum += arr[i];

	return sum/arr.length;
}
