var max_n_test= 100;
var n_test= 3;
var time_wait= 3;
var r_num= new Array(max_n_test);
var glob_i= 0;
var quest_running= 0;
var abort_flag= 0;
var charKeyPressed= 0;

function generate_randoms()
{
  for( i= 0; i < n_test; i++ )
  {
    r_num[i]= Math.floor( Math.random() * n_words );
  }
}

function print_current()
{
  document.write( w[r_num[glob_i]] );
  document.write("<br>");
}

function abfragen_beendet()
{
  parent.viewframe.location="brain_train_wiederholen1.html";
  quest_running= 0;
}

function close_word_window()
{
  //wordWindow= window.open("","fens1",
  //			  "width=500,height=100");
  if( wordWindow.closed ) abort_flag= 1;
  else                    wordWindow.close();
  if( !abort_flag )
  {
    abfragen_beendet();
  }
}

function create_word_window()
{
  if( abort_flag || ( glob_i > 0 && wordWindow.closed ) )
  {
    close_word_window();
    quest_running= 0;
    return;
  }
  var text= "<html><head><title>Gedaechtnistraining "+
    file_n.toString() +
    "</title></head>" +
    "<body><center><h1>" +
    w[r_num[glob_i]] +
    "<form name=\"wiederholenform2\">" +
    "<table width=\"100%\">" +
    "<tr>" +
    "<td align=\"center\"><br>" +
    "<input type=\"button\" value=\"Abbruch\"" +
    "name=\"abortbutton\"" +
    "onclick=\"opener.abort_quest()\"></td></tr>"
    "</h1></center>" +
    "</body></html>";
  if( glob_i == 0 )
  {
    wordWindow= window.open("","fens1",
			    "width=500,height=140");
    wordWindow.moveTo(200,200);
  }
  wordWindow.document.write(text);
  wordWindow.document.close();
  ++glob_i;
  if( glob_i < n_test ) setTimeout( 'create_word_window()', time_wait*1000 );
  else                  setTimeout( 'close_word_window()',  time_wait*1000 );
} // create_word_window

function create_word_window_repeat()
{
  if( glob_i >= n_test )
  {
    if( !wordWindow.closed ) wordWindow.close();
    parent.viewframe.location="brain_train_wiederholen2.html";
    return;
  }
  var text= "<html><head><title>Gedaechtnistraining "+
    file_n.toString() +
    "</title></head>" +
    "<body><center><h1>" +
    w[r_num[glob_i]] +
    "</h1></center>" +
    "</body></html>" +
    "<form name=\"wiederholenform2\">" +
    "<table width=\"100%\">" +
    "<tr>";
  if( glob_i < n_test - 1 )
    text= text +
      "<td align=\"center\"><br>" +
      "<input type=\"button\" value=\"N&auml;chster Begriff\"";
  else
    text= text +
      "<td align=\"left\"><br>" +
      "<input type=\"button\" value=\"Fenster schlie&szlig;en\"";
  text= text +
    "name=\"nextbutton\"" +
    "onclick=\"opener.create_word_window_repeat()\"></td></tr>" +
    "</table></form>";

  wordWindow= window.open("","fens1",
			  "width=500,height=140");
  if( glob_i == 0 )
    wordWindow.moveTo(200,200);
  wordWindow.document.write(text);
  wordWindow.document.close();
  ++glob_i;
} // create_word_window_repeat

function start_questions()
{
  if( quest_running && !wordWindow.closed ) return;
  quest_running= 1;
  
  n_test=    parent.viewframe.document.basicsettings.nBegriffe.value;
  time_wait= parent.viewframe.document.basicsettings.Zeit.value;
  glob_i=    0;
  abort_flag= 0;

  generate_randoms();
  create_word_window();
}

function start_repeating()
{
  glob_i=    0;

  create_word_window_repeat();
}

function reset_quest()
{
  parent.viewframe.location="brain_train_start.html";
}

function abort_quest()
{
  abort_flag= 1;
}

//**********************************************************************
//**********************************************************************
//**********************************************************************


function generate_randoms_letter()
{
  for( i= 0; i < max_n_test; i++ )
  {
    r_num[i]= Math.floor( Math.random() * 26 ) + 65;
  }
}

function abfragen_beendet_letter()
{
  if( wordWindow.closed ) return;

  var text= "<html><head><title>Gedaechtnistraining "+
    "</title></head>" +
    "<body><center><h1>Wow! Das waren " + max_n_test.toString() +
    " Buchstaben.<br>" +
    "Das Spiel endet hier.</h1></center>";

  text= text + "<form name=\"winform\" "+
    "onsubmit=\"opener.restart_all_letter();\"" +
    "><table width=\"100%\"><tr align=\"left\">";

  text= text +
    "<td align=\"center\" colspan=\"10\"><br>" +
    "<input type=\"submit\" value=\"Weiter\"" +
    " name=\"weiterbutton\"" +
    "></td></tr></table></form>";
  text= text + "</body></html>";

  wordWindow.document.write(text);
  wordWindow.document.close();
} // abfragen_beendet_letter

function close_word_window_letter()
{
  //wordWindow= window.open("","fens2",
  //		  "width=500,height=100");
  wordWindow.close();
  if( !abort_flag )
  {
    abfragen_beendet_letter();
  }
}

function restart_all_letter()
{
  wordWindow.close();
  quest_running= 0;
  parent.viewframe.location="brain_train_start.html";
}

function lost_window_letter()
{
  var text= "<html><head><title>Gedaechtnistraining "+
    "</title></head>";
  
  if( glob_i > 1 ) {
    text= text +
      "<body><center><h1>Leider falsch! Hier noch einmal die " +
      glob_i.toString() + " Buchstaben:";
  } else {
    text= text +
      "<body><center><h1>Leider falsch! Richtig war"
  }

  text= text +
    "</h1></center>";

  text= text + "<form name=\"lostform\" "+
    "onsubmit=\"opener.restart_all_letter();\"" +
    "><table width=\"100%\"><tr align=\"left\">";


  for( c= 0; c < glob_i; c++ )
  {
    text= text + "<td align=\"left\">" + String.fromCharCode( r_num[c] ) +
      "</td>";
    if( ( c+1 ) % 10 == 0 && c < glob_i - 1 )
      text= text + "</tr><tr>";
  } // for c

  text= text + "</tr><tr>" +
    "<td align=\"center\" colspan=\"10\"><br>" +
    "<input type=\"submit\" value=\"Weiter\"" +
    " name=\"weiterbutton\"" +
    "></td></tr></table></form>";
  text= text + "</body></html>";

  wordWindow.document.write(text);
  wordWindow.document.close();
  
} // lost_window_letter

function pressed_key_letter(event)
{
  var k=event.keyCode;
  var ch=String.fromCharCode(k).toUpperCase();

  if( ch>="A" && ch <="Z" ) charKeyPressed=1;
  else                      charKeyPressed=0;
} // pressed_key_letter


function abfrage_window_letter()
{
  var c;

  if( abort_flag || wordWindow.closed )
  {
    close_word_window_letter();
    quest_running= 0;
    return;
  }
  var text= "<html><head><title>Gedaechtnistraining "+
    "</title></head>" +
    "<body><center><h1>";
  if( glob_i == 1 ) text= text + "Wie lautet der erste Buchstabe?";
  else              
    text= text + "Wie lauten die " + glob_i.toString() + " Buchstaben?";
  text= text + "</h1></center>";

  text= text + "<form name=\"wiederholenform2\" "+
    "onsubmit=\"opener.ergebnis_vergleich_letter();\"" +
    "><table width=\"100%\"><tr align=\"left\">";

  for( c= 0; c < glob_i; c++ )
  {
    text= text + "<td align=\"left\"><input type=\"text\" name=\"l" + 
      c.toString() +
      "\" size=\"1\"";
    text= text + " onkeydown=opener.pressed_key_letter(event)";
    text= text + " onkeyup=\"opener.newfocus_letter(" +
      (c+1).toString() + ");\"";
    text= text + "></td>";
    if( ( c+1 ) % 10 == 0 && c < glob_i - 1 )
      text= text + "</tr><tr>";
  } // for c

  //for( c= glob_i; c < 10; c++ ) text= text + "<td align=\"left\">&nbsp;</td>";

  text= text + "</tr><tr>" +
    "<td align=\"center\" colspan=\"10\"><br>" +
    "<input type=\"submit\" value=\"Weiter\"" +
    " name=\"weiterbutton\"" +
    "></td></tr></table></form>";
  text= text + "</body></html>";

  wordWindow.document.write(text);
  wordWindow.document.wiederholenform2.l0.focus();
  wordWindow.document.close();

} // abfrage_window_letter

function newfocus_letter( c )
{
  var letter;
  var new_focus= c;

  if( charKeyPressed == 0 ) return letter;

  letter= wordWindow.document.wiederholenform2.elements[c-1].value;
  letter= letter.toUpperCase();
  if( letter.length > 1 ) {
    var j;
    for( j= 1; j < letter.length; j++ ) {
      if( j + c > glob_i ) break;
      wordWindow.document.wiederholenform2.elements[c+j-1].value= letter.charAt(j);
    }
    new_focus= c + letter.length - 1;
    if( new_focus >= glob_i ) new_focus= glob_i - 1;
    letter= letter.charAt(0).toString();
  }
  wordWindow.document.wiederholenform2.elements[c-1].value= letter;

  if( new_focus < glob_i )
    wordWindow.document.wiederholenform2.elements[new_focus].focus();

  return letter;
} // newfocus_letter

function ergebnis_vergleich_letter()
{
  var c, correct= 0;
  var letter;

  for( c= 0; c < glob_i; c++ )
  {
    letter= wordWindow.document.wiederholenform2.elements[c].value;
    letter= letter.toUpperCase();
    if( letter == String.fromCharCode( r_num[c] ) ) correct++;
  } // for c

  if( correct == glob_i ) 
  {
    if( glob_i == max_n_test ) return abfragen_beendet_letter();
    return create_word_window_letter();
  }
  return lost_window_letter();
} // ergebnis_vergleich_letter

function create_word_window_letter()
{
  if( abort_flag )
  {
    close_word_window_letter();
    quest_running= 0;
    return;
  }
  var text= "<html><head><title>Gedaechtnistraining "+
    "</title></head>" +
    "<body><center><h1>" +
    (glob_i+1).toString() + ". Buchstabe: " +
    String.fromCharCode( r_num[glob_i] ) +
    "<form name=\"wiederholenform2\">" +
    "<table width=\"100%\">" +
    "<tr>" +
    "<td align=\"center\"><br>" +
    "<input type=\"button\" value=\"Abbruch\"" +
    "name=\"abortbutton\"" +
    "onclick=\"opener.abort_quest()\"></td></tr></table></form>" +
    "</h1></center>" +
    "</body></html>";
  if( glob_i == 0 )
  {
    wordWindow= window.open("","fens2",
			    "width=600,height=340");
    wordWindow.moveTo(200,200);
  }

  wordWindow.document.write(text);
  wordWindow.document.close();
  ++glob_i;
  setTimeout( 'abfrage_window_letter()', time_wait*1000);
} // create_word_window_letter

function start_questions_letter()
{
  if( quest_running && !wordWindow.closed ) return;
  quest_running= 1;

  glob_i=     0;
  abort_flag= 0;
  time_wait=  2;
  charKeyPressed= 0;

  generate_randoms_letter();
  create_word_window_letter();
}

function abort_quest()
{
  abort_flag= 1;
}

