<!--

var playing = false;

var effBoxWidth = 360;  // = 480 -120 (actual - word size)
var effBoxHt = 340; // = 380 - 40 (actual - word height)

    // 0 = red; 1 = green; 2 = blue; 3 = yellow:
var curColor;
var numTried;
var numCorrect;

var correctItemFactor = 1;
var allCorrectBonus = 0;
var totalPossibleScore;

var flashOnTimer = true;
var flashMode = 1;  //0 = off; 1 = on
var flashTime;
var flashOnTimeLimit = 1;  //clockticks
var flashOffTimeLimit = 1; //clockticks
var clocktick = 800;       //millisecs

var primaryParent;
var statisticsdiv;
var containerdiv;
var slocatediv;

function onPageLoaded()
{
  statisticsdiv = document.getElementById('tried_correct_statistics');
  primaryParent = statisticsdiv.parentNode;
  statisticsdiv = primaryParent.removeChild(statisticsdiv);
}

function initialStartGame()
{
  var textdiv = document.getElementById('intro_text');

  primaryParent.insertBefore(statisticsdiv, textdiv);

  textdiv.innerHTML='';
  setupStartStop();

  containerdiv = document.getElementById('stroop_container');

  var msgsdiv = document.createElement('div');
  msgsdiv.id = 'user_messages';
  primaryParent.insertBefore(msgsdiv, containerdiv);

  startGame();
}

function startGame()
{
    reset_timer();
    initialize();
    flashOn();
    start_timer();
    setStopStartBtns(false, true);
    
    var statisticsdiv = document.getElementById('tried_correct_statistics');
  	statisticsdiv.style.display='block';

    containerdiv = document.getElementById('stroop_container');
    slocatediv = document.getElementById('stroop-locate');
    var bboxdiv = document.getElementById('buttons-container');

    var slocateem = slocatediv.clientHeight/9.0;
    effBoxWidth = slocatediv.clientWidth - 2 * bboxdiv.clientWidth;
    effBoxHt = containerdiv.clientHeight - 1.1 * slocateem; 

    nextDisplay();
}

function initialize()
{
  curColor = 0;
  numTried = 0;
  numCorrect = 0;
  setNumTried();
  setCorrect();
}

function stopGame()
{
    stop_timer();
    hideWord();
    setStopStartBtns(true, false);
    totalPossibleScore= numTried  * correctItemFactor + allCorrectBonus;	
    var userNum = sbCookieData.usernum;
	Record.recordNumCorrectPlusMovesWithMax(taskId, numTried, numCorrect, elapsed_time, totalPossibleScore, userNum);
}

  // random integer 0 <= X < n:
function rnd(n) {
  return Math.floor(Math.random() * n);
}

function rndColor()
{
    var nn = rnd(4);
    var slocatediv = document.getElementById('stroop-locate');
    
    	// 0 = red; 1 = green; 2 = blue; 3 = yellow:
    curColor = nn;
    if (nn == 0){
       slocatediv.style.color = '#FF0000';   // red
    } else if (nn == 1) {
       slocatediv.style.color = '#00FF00';   // green
    } else if (nn == 2) {
       slocatediv.style.color = '#0000FF';   // blue
    } else if (nn == 3) {
       slocatediv.style.color = '#FFD700';   // golden yellow
    }
}

function doNextDisplay()
{
  nextDisplay();
}

function nextDisplay()
{
    incrNumTried();
    rndColor();
    containerdiv.removeChild(slocatediv);
    slocatediv.style.left = rnd(effBoxWidth) + 'px';
    slocatediv.style.top = rnd(effBoxHt) + 'px';
    rndWord();
    containerdiv.appendChild(slocatediv);
}

function rndWord()
{
    var nn = rnd(4);
    while (nn == curColor){
        nn = rnd(4);
    }
    if (nn == 0){
       slocatediv.innerHTML = 'Red';
    } else if (nn == 1) {
       slocatediv.innerHTML = 'Green';
    } else if (nn == 2) {
       slocatediv.innerHTML = 'Blue';
    } else if (nn == 3) {
       slocatediv.innerHTML = 'Yellow';
    }
}

function hideWord()
{
    slocatediv.innerHTML = '';
}

function respond(response)
{
  var respNum = parseInt(response);
  if (respNum == curColor){
    numCorrect++;
    setCorrect();
  }
  flashOn();
  nextDisplay();
}

function incrNumTried()
{
  numTried++;
  setNumTried();
}
function setNumTried()
{
  var numtried_div = document.getElementById('numtried_div');
  numtried_div.innerHTML = numTried;
}
function setCorrect()
{
  var numcorrectdiv = document.getElementById('numcorrect_div');
  numcorrectdiv.innerHTML = numCorrect;
}

function showInstructions()
{
    var ipath= 'stroop-task-instructions'
    var entry_win=window.open(
                     ipath,
                     'Stroop_Task_Instructions',
                     'height=550,width=650');
    return false;
}

	//--------Elapsed time code -------------

function doFlash()
{
   if (flashTime == 0)
   {
      var lastFlashMode = flashMode;
      flashMode = 1 - flashMode;
      if (flashMode == 0){
         hideWord();
         flashTime = flashOffTimeLimit;
      } else {
         nextDisplay();
         flashTime = flashOnTimeLimit;
      }
   } else {
     flashTime--;
   }
}

function  flashOn()
{
  flashMode = 1;
  flashTime = flashOnTimeLimit;
}

	//-------- Performance Display code -------------

function displayPerfData(response)
{
    genericDisplayPerfData('Stroop Task', response);
    return false;
}

// -->
