var can_play=true,to_guess="",display_word="",used_letters="",wrong_guesses=0,nrght=0,nwrng=0,el;

function selectLetter(l)
{
  if (!can_play || used_letters.indexOf(l)!=-1) return;
  used_letters+=l; document.game.usedLetters.value=used_letters;
  el=document.getElementById('ltr'+(l.charCodeAt(0)-64).toString()); if (el) el.style.display='none';
  if (to_guess.indexOf(l)!=-1)
  {
    pos=0; temp_mask=display_word;
    while (to_guess.indexOf(l,pos)!=-1)
    {
      pos=to_guess.indexOf(l, pos); end=pos+1; start_text=temp_mask.substring(0,pos);
      end_text=temp_mask.substring(end,temp_mask.length); temp_mask=start_text+l+end_text; pos=end;
    }
    display_word=temp_mask; document.game.displayWord.value=display_word;
    if (display_word.indexOf("?")==-1)
    {
      el=document.getElementById('rghtcnt'); if (el) el.innerHTML=++nrght;
      if (confirm("Well done, you have won! Look up "+to_guess+"?")) lkthsup(to_guess);
      can_play=false;
    }
  }
  else
  {
    document.hm.src="hm"+String(++wrong_guesses)+".gif";
    if (wrong_guesses==10)
    {
      el=document.getElementById('lgus'); if (el) el.innerHTML=to_guess;
      el=document.getElementById('wrngcnt'); if (el) el.innerHTML=++nwrng;
      if (confirm("Sorry, you have lost! The word was "+to_guess+" - Look this up?")) lkthsup(to_guess);
      can_play=false;
    }
  }
}

function lkthsup(fnd)
{
  window.open('http://dictionary.reference.com/browse/'+fnd.toLowerCase(),'mjsrch',
              'toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
}

function reset()
{
  var ii;
  for (ii=1;ii<=26;++ii) { el=document.getElementById('ltr'+ii.toString()); if (el) el.style.display='';}
  el=document.getElementById('lgus'); if (el) el.innerHTML="";
  selectWord(); document.game.usedLetters.value=""; used_letters=""; wrong_guesses=0;
  document.hm.src="hmstart.gif";
}

function selectWord()
{
  can_play=true; random_number=Math.min(xx-1,Math.floor(Math.random()*xx));
  to_guess=awds[random_number].toUpperCase(); masked_word=createMask(to_guess);
  document.game.displayWord.value=masked_word; display_word=masked_word;
}

function createMask(m)
{
  mask=""; word_lenght=m.length; for (ii=0;ii<word_lenght;++ii) mask+="?";
  return mask;
}
