var secretWord = "";
var guessedLetters = "";
var numGuesses = 0;

function setupGame()
{
   // it would be better to make an ajax call here so that no one will know the possible words
   var words = ["MATHEMATICS", "OPTIMIZATION", "VECTORS", "BASEBALL", "BASKETBALL", "ECONOMICS", "NUMBERS", "CALCULUS", "BLENDER", "GRAPHICS", "SPACE", "FRENCH", "AMERICA", "TANKS", "PAYCHECK", "MONEY", "WEALTH", "INTEREST", "OUTLOOK", "LIFE", "HOLIDAYS", "BUSH", "ZOOLOGICAL", "XEROX", "SCRABBLE"];
   secretWord = words[Math.floor(Math.random() * words.length)];
   for(var i = 0; i < secretWord.length; ++i)
   {
      guessedLetters += "-";
   }
   updateWords();
   setImage(0);
   setMsg("Click on a letter to guess the word");
}

function guessLetter(letter)
{
   if(!isGameWon() && !isGameLost())
   {
      if(document.getElementById(letter).className != "noGuess")
      {
         setMsg("You already guessed that letter");
         exit;
      }
      
      if(secretWord.indexOf(letter) > -1)
      {
         document.getElementById(letter).className = "corGuess";
         // display all occurences of letter in guessedLetters
         for(var i = 0; i < secretWord.length; ++i)
         {
            if(secretWord.charAt(i) == letter)
            {
               var temp = guessedLetters.substr(0, i) + letter;
               if(i < secretWord.length - 1)
               {
                  temp += guessedLetters.substr(i + 1);
               }
               guessedLetters = temp;
            }
         }
      }
      else
      {
         setMsg("Incorrect guess");
         document.getElementById(letter).className = "incorGuess";
         ++numGuesses;
      }
      updateWords();
      setImage(numGuesses);
      if(isGameLost())
      {
         setMsg("Sorry you lost");
      }
      else if(isGameWon())
      {
         setMsg("Congratulations you won");
      }
   }
   else
   {
      setMsg("The game is over, press new word to play again.");
   }
}

function updateWords()
{
   document.getElementById('blanks').innerHTML = guessedLetters;
}

function setImage(num)
{
   document.images["picture"].src = "images/" + num + ".gif";
}

function setMsg(msg)
{
   document.getElementById("msg").innerHTML = msg;
}

function isGameLost()
{
   return numGuesses >= 10;
}

function isGameWon()
{
   return secretWord == guessedLetters;
}

function revealWord()
{
   numGuesses = 10;
   document.getElementById('blanks').innerHTML = secretWord;
   setMsg("The game is over, press new word to play again.");
}