<!-- Define images for pre-loading -->
var redlight = new Image();
redlight.src = "redlight.src";
var greenlight = new Image();
greenlight.src = "greenlight.src";
var cross = new Image();
cross.src = "cross.gif";
var tick = new Image();
tick.src = "tick.gif";
var blank = new Image();
blank.src = "blank.gif";

function doPreload() {
  var the_images = new Array('cross.gif','tick.gif','blank.gif','redlight.src','greenlight.src');
  preloadImages(the_images);
}

function preloadImages(the_images_array) {
  for(loop = 0; loop < the_images_array.length; loop++)
  {
   var an_image = new Image();
   an_image.src = the_images_array[loop];
  }
}


function swapImage(mark,imgIndex) {
    if (mark == "tick") {
      document.images[imgIndex].src="tick.gif";
    } else if (mark == "cross") {
      document.images[imgIndex].src="cross.gif"; 
    } else if (mark == "blank") {
      document.images[imgIndex].src="blank.gif";   
    }
}

function swapLight(colour,imgIndex) {
    if (colour == "green") {
      document.images[imgIndex].src="greenlight.gif";
    } else if (colour == "red") {
      document.images[imgIndex].src="redlight.gif";
    }
}

function checkAnswer(answer,index,imgIndex,cpIndex,caseSensitive) {
  if (caseSensitive == 0) {
    correctAnswer = Answers[index].toUpperCase();
    thisAnswer = answer.toUpperCase();
  } else {
    correctAnswer = Answers[index];
    thisAnswer = answer;
  }    

  if (thisAnswer == correctAnswer) {
    swapImage("tick",imgIndex);
    Correct[index] = 2;
    checkpoint(cpIndex);
    return false;
  } else {
    swapImage("cross",imgIndex);
    Correct[index] = 1;  
    checkpoint(cpIndex);
    alert("Wrong - Correct Answer: " + Answers[index] +answerText[index]);
    return true;
  }
}

function clearForm(cpIndex) {
  startImg = checkPoints[cpIndex][0];
  endImg = checkPoints[cpIndex][1];
  startQ = checkPoints[cpIndex][2];
  endQ = checkPoints[cpIndex][3];
  swapLight("red",startImg); 
  for(loop = startImg+1; loop <= endImg; loop++) {
    swapImage("blank",loop);
  }
  for (loop = startQ; loop <= endQ; loop++) {
    Correct[loop] = 0;
  }
}

function checkpoint(cpIndex) {
  startImg = checkPoints[cpIndex][0];
  endImg = checkPoints[cpIndex][1];
  startQ = checkPoints[cpIndex][2];
  endQ = checkPoints[cpIndex][3];
  allCorrect = 1;
  for (i=startQ; i<=endQ; i++) {
    if (Correct[i] <= 1) {
      allCorrect = 0;
    }
  }
  if (allCorrect == 1) {
    swapLight("green",startImg); 
  }
  else {
    swapLight("red",startImg); 
  }
}

// resetCheckPoints is necessary because Navigator reloads from cache
// when the window is resized (AARGGH !!)
function resetCheckPoints(numCheckPoints) {
   // for each CheckPoint
   
   for (loop1 = 0; loop1 < numCheckPoints; loop1++) {
     cpIndex = loop1;
     startImg = checkPoints[cpIndex][0];
     endImg = checkPoints[cpIndex][1];
     startQ = checkPoints[cpIndex][2];
     endQ = checkPoints[cpIndex][3];
  
     allCorrect = true;
     for(loop = startImg+1; loop <= endImg; loop++) {
       if (Correct[loop] == 2) {
         swapImage("tick",loop);
       } else if (Correct[loop] == 1) {
         allCorrect = false;
         swapImage("cross",loop);   
       } else if (Correct[loop] == 0) {
         allCorrect = false;
         swapImage("blank",loop);
       }   
     }
     if (allCorrect == true)
       swapLight("green",startImg); 

   } // for loop1

//  for (loop = startQ; loop <= endQ; loop++) {
//    Correct[loop] = 0;
//  }
} 

function openWin(URL) {
  aWindow=window.open(URL,"review","toolbar=no","width=350",
                      "height=400","status=no","scrollbars=yes",
                      "resize=yes","menubar=no");
}

//  End -->