var bHide = new Boolean(true)

var qKette = new Array();
var words=new Array(20);
var defs=new Array(20);
var tempArray = new Array(10);
var ans=new Array(20);
var countQ=0;
var currentQ=0;
var bQuizDone = new Boolean(false);
var antwort ="";
var bQDone = new Boolean(true); //question done 
var numRight=0;
var answers = new Array();
var jap = new Array();
var kor = new Array();
var pics = new Array();
var bShow = new Boolean(false);
var bOwnWord = new Boolean(false)
var mright=0;
var mtries=0;
//var blankDots="../../../";
var bDoneDoSeq = new Boolean(false);
var defStyle0="<div class=fed id=";
var defStyle1=" style=\"cursor: pointer\" onmouseout=\"mausMatchOut(this.style)\" onmouseover=\"mausMatchOver(this.style)\" onclick=\"checkMatch(this.id)\">"
var defStyle2="</div>";
var qMode=0;
var currWord=0;
var matchAnswer="";
var lastLet="";

var extraDefs=new Array(19);

extraDefs[0] = "the name for the first person to arrive at a party or meeting";
extraDefs[3] = "hot and cold at the same time";
extraDefs[1] = "a method of moving light objects from one place to another";
extraDefs[2] = "a thick kind of paper used for important homework";
extraDefs[18] = "a strong feeling of wanting to pull someone\'s hair";
extraDefs[4] = "to remain sitting when everyone else has left the room";
extraDefs[5] = "to move the arm quickly in a sport such as tennis or badminton";
extraDefs[6] = "able to understand easy problems very quickly";
extraDefs[7] = "a piece of work done quickly and carefully";
extraDefs[8] = "one of the first types of mobile phone";
extraDefs[9] = "a small piece of delicious hot sweet food";
extraDefs[10] = "to hit someone with a soft fruit";
extraDefs[11] = "unable to work because it\'s too cold";
extraDefs[12] = "using a knife to burst a bubble";
extraDefs[13] = "washing the car although it\s already clean";
extraDefs[14] = "she always ..... her lunch before eating it";
extraDefs[15] = "if you are lazy, you will never ..... a bird";
extraDefs[16] = "the next time you steal my planner I will bite a .....";
extraDefs[17] = "dogs, books, butterflies, ....., etc.";

//for (var c=0; c<10;c++){tempArray[c]=extraDefs[c]}

function showTT(tit) {

document.getElementById('antwort').title=" " + antwort + " ";

}



function showcase () {

if (bHide==true) { 
 document.getElementById('kasus').value="     Hide info    ";
 document.getElementById('vis').style.visibility="visible";
 bHide=false;
}
else
{
 document.getElementById('kasus').value="    Show info    ";
 document.getElementById('vis').style.visibility="hidden";
 bHide=true;
}


}




function nextQ () {

if ((bQDone==false) && (currentQ > 0)) {
popAlert("You must do this question before going to the next. (Remember to press Enter to check your answer.)\n\n If you don\'t know the answer, type a ? and then press Enter.")
document.getElementById("guess").focus();
}
else
{

if (bQuizDone==false)
{


document.getElementById("pic").src=root + "images/blank.gif";
document.getElementById('guess').disabled=false;
//bQDone=false;

document.getElementById("feedback").innerHTML = "<br>";

document.getElementById("guess").value="";
document.getElementById("guess").focus();


document.getElementById("question").innerHTML=formatQuestion(defs[currentQ]);

antwort=words[currentQ];

if (pics[currentQ] != "") 
{
// document.getElementById("bild").src="../../../images/blank.gif";
}
else
{
//document.getElementById("bild").src="../../../images/blank.gif";
}

currentQ++;

if (currentQ > countQ-1) {
 bQuizDone=true;
}
else if (currentQ > countQ) {
 
 document.getElementById('goodbye').innerHTML=getGoodbye();
 document.getElementById('goodbye').style.backgroundColor="#FFFFCE"
}
document.getElementById("qnum").innerHTML=currentQ + " / " + countQ;

}
else
{
 popAlert("You are finished. Click Refresh or Reset, or press F5 to start again.")

}

}

}

function formatQuestion(q) {
if (q.indexOf(".gif") != -1  || q.indexOf(".jpg") != -1 ) {

 if (document.URL.indexOf("academic") != -1 )
 {
 return(q)
 }
 else
 {
 return("<img align=left src='../images/" + q + "'>")
 }
}
else
{
return (q)
}

}


function printAnswers () {

ans.sort();

var temp="<br>" + ans[0] + "<br>";

for (var i=1; i < countQ; i++) 
{
if (ans[i] != ans[i-1])
 {
 temp+= ans[i] + "<br>";
 }

}
document.getElementById("answers").innerHTML=temp
}

function show() {

if (bShow==false)
 {
document.getElementById("answers").style.visibility="visible";
document.getElementById("showhide").value="Hide answers";
bShow=true;
}
else
{
document.getElementById("answers").style.visibility="hidden";
document.getElementById("showhide").value="Show answers";
bShow=false;
}

if (document.getElementById("guess").disabled == false)
{document.getElementById("guess").focus();}

}



function q(s) {

var parts=s.split("#");
words[countQ]=parts[0];
ans[countQ]=parts[0];
defs[countQ]=parts[1];

countQ++;

}


function getGoodbye() {

var bye="";

if (bOwnWord == false) {
 bye="Click <i>Refresh</i> or press F5 to do the quiz again.";
}

else
{
bye="Press F5 or click Refresh to do the quiz again."
}
return("<br>That was the last question. Your score is: " + parseInt(document.getElementById("score").innerHTML) +"%.<br><br>" + bye);
}


function trim(kette) {

var temp=kette;
//temp=kette.toLowerCase();
temp=temp.replace(/ /g,"");
return temp

}

function qHelp() {

popAlert("Type your answer in the box and press Enter.\n\n To see the answer:\n - move the mouse over the two ?? question marks\n or:\n - type a question mark in the box and press Enter\n or:\n - keep pressing Enter to step through the answers one-by-one.\n\nTo go to the next question, press Alt-N (Firefox: Shift-Alt-N) or click Next Question. ");
//document.getElementById('guess').focus();
}

function giveFeedback(mode) {

if (mode == 1) {
  if (bPlaySound==true) {sound(0)}
  document.getElementById("pic").src=root + "images/yes.gif"
  document.getElementById("feedback").innerHTML = "<span style='color: green; font-size: 140%'>" + document.getElementById('guess').value + "</span> - Your answer is correct!";
  document.getElementById("score").innerHTML = parseInt(updateScore(1));
      document.getElementById('guess').disabled=true;
   // document.getElementById('guess').style.background="green";
    document.getElementById('neuQ').focus(); 


  }
else if (mode == 2)
  {  
if (bPlaySound==true) {sound(1)}
//  document.getElementById("pic").src=root + "images/no.gif"
 // document.getElementById("feedback").innerHTML = "The correct answer is:<span class=farbe> " + antwort + "</span>.";
 seeAnswer(); 
  document.getElementById("score").innerHTML = parseInt(updateScore(0));
}
else
{  

 if  (document.getElementById("guess").value == "") {
  //document.getElementById("feedback").innerHTML = "The correct answer is:<span class='farbe'> " + antwort + "</span>.";
  seeAnswer();
  document.getElementById('neuQ').focus();
  }
  else
  {
  document.getElementById("feedback").innerHTML = "Sorry, this is wrong, or it is not spelled/capitalized correctly!<br><br>Try again, or click: <input class='qbut' autocorrect='off' onclick='seeAnswer()' type='button' value='Answer'>";
  if (bPlaySound==true) {sound(1)}
  document.getElementById("pic").src=root + "images/no.gif" 
  document.getElementById("guess").focus();
  }

document.getElementById("score").innerHTML = parseInt(updateScore(0));
}

}

function seeAnswer() {

document.getElementById('guess').value=antwort;
document.getElementById('guess').disabled=true;
document.getElementById("pic").src=root + "images/yes.gif" 
document.getElementById('feedback').innerHTML=""; 
if (document.getElementById('gap')) {document.getElementById('gap').innerHTML=antwort}
}

function updateScore(mode) {

var erg =0;

if (mode == 1) {
 numRight++;
} 
erg = (numRight / countQ) * 100
return (erg.toString() + " ");

}


function offneBAK(datei) {

checkFenster();


var printData='dependent=1,toolbar=0,locationbar=0,directories=0,status=0,menubar=0,scrollbars=1,width=800,height=600,resizable=no';

 fenster=window.open(datei,'tt',printData);
 fenster.moveTo(0,0);
 fenster.document.close();

}


function remove(){

document.getElementById('guess').value="";
if (bQDone==false) { 
  document.getElementById('guess').focus();
  }
}



function init()  {


//if (document.URL.indexOf("q7v") != -1) {blankDots="../../"}

document.getElementById("answers").style.visibility="hidden";
document.getElementById("qnum").innerHTML = "1 / " + countQ;
printAnswers();
if (document.URL.indexOf("_r.htm") !=-1) {randomize()}
nextQ();
writeInstructions();
}

function writeInstructions () {
switch (document.URL.substring(document.URL.length-11))
{
case "asia4_r.htm":
document.getElementById("feedback").innerHTML="<i>Write the name of the country shown in red on the map, and press Enter.</i>"
case "asia3_r.htm":
document.getElementById("feedback").innerHTML="<i>Write the capital of the country shown in red on the map, and press Enter.</i>"

break;
default:
break;
}


}

function randomize () {

var done = new Array(countQ);
var ran=0;
var tempWords=new Array(countQ);
var tempDefs=new Array(countQ);
var tempQKette=new Array(countQ);

for (var c=0; c < countQ; c++) {done[c]=0;}

for (var c=0; c < countQ; c++)
{
do {ran=Math.floor(Math.random()* countQ)} 
while(done[ran]==1)
done[ran]=1;
tempWords[c]=words[ran];
tempDefs[c]=defs[ran];
//tempQKette[c]=qKette[ran];
tempQKette[c]=words[ran];

}

words=tempWords; defs=tempDefs;ans=tempQKette;


}


function auf () {

checkFenster();

var fensterData='dependent=1,toolbar=0,locationbar=0,directories=0,status=0,menubar=0,scrollbars=1,width=600,height=500,resizable=no';

 fenster=window.open('instruct.htm','tt',fensterData);
 fenster.moveTo(0,0);
 fenster.document.close();
 
}

function putinapost(kette) {

return(kette.replace(/'/g,"\'"));

}

function fillGap() {

var include=document.getElementById('guess').value;
if ( include==" " || include=="") {include="....."}
document.getElementById("gap").innerHTML=include + "";
}


function doSeq(totalQ) {

bRandom=false;
var startNum=Number(document.getElementById('startPos').value);
if (startNum < 1 || startNum > totalQ || isNaN(startNum)) 
{
popAlert("Sorry, you must type a number between 1 and " + totalQ.toString() + ".")
}
else 
{

if ((bDoneDoSeq==false) && (startNum==1))
{
popAlert("Starting quiz at word 1. If you want to start at a later word, change the number in the box at the top left and click Sequential Quiz again.")
}
bDoneDoSeq=true;
count=startNum;
currentQ=startNum-1;

nextQ();
}
}



function check(evt) {

evt = (evt) ? evt : ((window.event) ? event : null);

if (evt) {
var versuch;
//lastLet=String.fromCharCode(evt.keyCode);

if (document.getElementById('gap')) {fillGap()}

if (evt.keyCode==13) {  

 
  if (evt.preventDefault) {evt.preventDefault()} else {evt.keyCode = 0}
  
  bQDone = true;
  
  versuch=document.getElementById('guess').value;
  //document.getElementById('guess').disabled=true;

  if (trim(versuch)==trim(antwort)) 
   {
    giveFeedback(1)

   }
   else if (trim(versuch)=="?")
   {
    giveFeedback(2)
   }    
   else
   {
   giveFeedback(0)
   }


//popAlert( countQ + " // " + currentQ)
if (currentQ > countQ-1) {

 document.getElementById('goodbye').innerHTML=getGoodbye();
 document.getElementById('goodbye').style.backgroundColor="#FFFFCE"
}

}

}



}

