var today = new Date();
var startTime;
var endTime;
var timerStarted = false;
var bgHasChanged = false;
var reactionButton;
var intTimeout; //Wait Time

var btn;

function doReactionTest(b) {

	
	if (!timerStarted) {
	    b.value = 'Get Ready...';
	    b.blur();
		
		var randomnumber=Math.floor(Math.random()*31);
		intTimeout = (100 * randomnumber) + 1000;
		
		timerStarted = true;

		bgTimeOut = window.setTimeout(function() {
		    b.value = 'CLICK ME!'; 
		    bgHasChanged = true;
		    startTime = new Date();
		}, intTimeout);
		
	} else {
		
		endTime = new Date();
		timerStarted = false;
				
		if (bgHasChanged) {
			bgHasChanged = false;
			b.value = 'START';
			getReactionTime();
		} else {
			window.clearTimeout(bgTimeOut);
			alert('Too early..!!  Restarting Test...');
			bgHasChanged = false;				
			doReactionTest(b);
		}
	}
	
	
}


function getReactionTime() {
	var ReactionString;
	var ReactionTime = (endTime.getTime() - startTime.getTime()) / 1000;
	
	if (ReactionTime <= .100) ReactionString = 'Speed Demon !!';
	if (ReactionTime > .100 && ReactionTime <= .200) ReactionString = 'Thats Pretty Damn Quick !!';
	if (ReactionTime > .200 && ReactionTime <= .300) ReactionString = 'Thats Quick.. But You Can Do Better !!';
	if (ReactionTime > .300 && ReactionTime <= .500) ReactionString = 'Kinda Quick !!';
	if (ReactionTime > .500 && ReactionTime <= 1.0) ReactionString = 'Just About Quick..';
	if (ReactionTime > 1.0 && ReactionTime <= 1.5) ReactionString = 'Not Quick Enough..';
	if (ReactionTime > 1.5) ReactionString = 'Why Bother..?!';
	
	//alert('Your time reaction time was: ' + ReactionTime + ' seconds... \n-- ' + ReactionString);
	
	document.getElementById('ResultSpeed').innerHTML = ReactionTime;
	document.getElementById('ResultWait').innerHTML = intTimeout / 1000;
	document.getElementById('ResultText').innerHTML = ReactionString;
	
//	document.getElementById('ReactionTime').value = ReactionTime;
//	document.getElementById('WaitTime').value = intTimeout / 1000;
//	
//	document.getElementById('ReactionTest').style.display = 'none';
//	document.getElementById('ReactionScore').style.display = 'block';

}


function changeBG() {
	getBoxDiv().style.backgroundColor = '#ac7171';
	reactionButton.value = 'STOP';
	bgHasChanged = true;
	startTime = new Date();
}


function getBoxDiv()
{
//    var boxDiv = reactionButton;
//    while (boxDiv.className != 'box')
//    {
//        boxDiv = boxDiv.parentNode;
//    }

    //return boxDiv;
    return document.getElementById('quickreaction_test');
}
