﻿/// CLICK QUICK

var mainBorder;
var startTime;
var endTime;
var TimerStarted = false;
var bgHasChanged = false;
var GameInProgress = false;
var btnStartStop;
var btnClick;

var intTimeout; //Wait Time
var totalclicks = 25; //Total Clicks

var clickcount = 0;
var averageclickspeed = 0;
var lastclicktime;
var avgSpeed = 0;

var txtClickCount;
var txtAvgSpeed;




function doClick() {
    if (TimerStarted) {
        
        var clickspeed = new Date();
        clickcount--;
        averageclickspeed = averageclickspeed + (clickspeed.getTime() - lastclicktime.getTime());
        avgSpeed = (averageclickspeed / (totalclicks - clickcount)) / 1000;
        txtClickCount.value = clickcount;
        txtAvgSpeed.value = avgSpeed.toFixed(3);
        
        lastclicktime = new Date();
        
        if (clickcount == 0) {
			endTime = new Date();
			GameInProgress = false;
			mainBorder.className = 'gamebackground';
			bgHasChanged = false;			
			TimerStarted = false;
			btnStartStop.style.display = 'block';
			getReactionTime();        
        }		
		
	} else {
		alert('Wait for the background to go BLUE...!!!');
	}

}



function doCheckBoxTest(btn) {
	
	btnStartStop = document.getElementById(btn);
	btnClick = document.getElementById('btnClick');
	txtClickCount = document.getElementById('txtClickCount');
	txtAvgSpeed = document.getElementById('txtAvgSpeed');
	
	if (!TimerStarted) {
		document.getElementById('ReactionTestIntro').style.display = 'none';
		document.getElementById('ReactionTest').style.display = 'block';
		document.getElementById('ReactionScore').style.display = 'none';
        txtClickCount.value = totalclicks;
        txtAvgSpeed.value = '---';
		btnStartStop.style.display = 'none';
		
        clickcount = totalclicks;
        averageclickspeed = 0;
		
		btnClick.value = 'Get Ready...';
		btnClick.blur();
		
		var randomnumber=Math.floor(Math.random()*31);
		intTimeout = (100 * randomnumber) + 1000;
		bgTimeOut = window.setTimeout('changeBG();', intTimeout);
						
		GameInProgress = true;	
	} 
}
	

function changeBG() {
	mainBorder = document.getElementById('gamebackground');
    mainBorder.className = 'gamebackground_change';
	btnClick.value = 'CLICK ME!';
	bgHasChanged = true;
	TimerStarted = true;
	startTime = new Date();
    lastclicktime = startTime;

}





function getReactionTime() {
	var ReactionString = '';
	var ReactionTime = (endTime.getTime() - startTime.getTime()) / 1000;
	
	var browser=navigator.appName;
    ReactionString = 'Using <b>' + browser + '</b> you<br />';
	
	if (browser.indexOf('Microsoft') >= 0) {
	    if (ReactionTime <= 5) ReactionString += 'are a <b>Speed Demon</b> !!';
	    if (ReactionTime > 5 && ReactionTime <= 7) ReactionString += 'are <b>Pretty Damn Quick</b> !!';
	    if (ReactionTime > 7 && ReactionTime <= 8) ReactionString += 'are <b>Kinda Quick</b> !!';
	    if (ReactionTime > 8 && ReactionTime <= 10) ReactionString += '<b>Can Do Better</b> !!';
	    if (ReactionTime > 10 && ReactionTime <= 15) ReactionString += 'are <b>Not Quick Enough</b> !!';
	    if (ReactionTime > 15) ReactionString += '<b>Are Rubbish</b> !!';
    } else {
	    if (ReactionTime <= 3) ReactionString += 'are a <b>Speed Demon</b> !!';
	    if (ReactionTime > 3 && ReactionTime <= 5) ReactionString += 'are <b>Pretty Damn Quick</b> !!';
	    if (ReactionTime > 5 && ReactionTime <= 6) ReactionString += 'are <b>Kinda Quick</b> !!';
	    if (ReactionTime > 6 && ReactionTime <= 8) ReactionString += '<b>Can Do Better</b> !!';
	    if (ReactionTime > 8 && ReactionTime <= 13) ReactionString += 'are <b>Not Quick Enough</b> !!';
	    if (ReactionTime > 13) ReactionString += '<b>Are Rubbish</b> !!';
    }
	
		
	document.getElementById('ResultSpeed').innerHTML = ReactionTime;
	document.getElementById('ResultTicked').innerHTML = avgSpeed.toFixed(3);
	document.getElementById('ResultText').innerHTML = ReactionString;
	
	document.getElementById('TotalTime').value = ReactionTime;
	document.getElementById('AvgSpeed').value = avgSpeed.toFixed(3);
	document.getElementById('Browser').value = browser;
	
	document.getElementById('ReactionTest').style.display = 'none';
	document.getElementById('ReactionScore').style.display = 'block';

}
