var errors=0;
var performance=0;
var retblad=0;
var result=0;
var ind=0;
var correct=0;
var czas=0;
var key;
var correct_box;
var wrong_box;
var liczba,an,pl,ile;
var loop1=0;
var iii=0;
var words_all="";

function losuj()
{
	 
	ile=english.length;
	document.getElementById('remain').childNodes[0].nodeValue = ile;	
	
	key = Math.floor(Math.random() * ile);
   an = english[key];
   pl = polish[key];
   pron = pronunciation[key];
	
	if (document.nauka.kier.value == 0){
		document.nauka.question.value=pl;
		document.nauka.answer.value=an;
	}
	else{
		document.nauka.question.value=an;
		document.nauka.answer.value=pl;
	}
	
	document.nauka.pron.value=pron;
	document.nauka.texttlum.value="";
}

function check()
{
	
		str1=usunskrot(document.nauka.texttlum.value);


		if (str1.length<2){
		return false;
		}

		



		str2=usunskrot(document.nauka.answer.value);
		str1=usunznaki(str1);
		str2=usunznaki(str2);
		str1=str1.toLowerCase();
		str2=str2.toLowerCase();
	
		znal=szukaj(str2,str1);
	
		if (znal>0)
		{
			result=okshow();
		}
		else
		{
			result=errshow();
		}
		
		if(result==1)
		{
			document.nauka.how_long.value=Math.floor(initStopwatch());
			document.nauka.score.value=liczba(performance);
			document.nauka.lessend.value=1;
			//document.getElementById('nauka').submit();
			find_tough();
			return true;
		}
		return false;
}



function sort_func(a,b){
	if(a.errors > b.errors) return -1 
	if(a.errors < b.errors) return 1 
	return 0 
}

function find_tough(){
	mistakes.sort(sort_func);
	
	for (iii=0; iii<mistakes.length; iii++){
	
		mistakes[iii].errors +=1;
		words_all += mistakes[iii].id+";"+mistakes[iii].errors+"*"; 
	}
		
	document.getElementById('words_all').value=words_all;
}







function okshow()
{

	pyt=document.nauka.question.value;
	pron=document.nauka.pron.value;
	pron="rec_"+pron;
	document.getElementById('correct_pytanie').childNodes[0].nodeValue = pyt;
	answer=document.nauka.answer.value;
	
	kilka=0;

		for (i=0; i<answer.length; i++)
		{
			if(answer.charAt(i)==","){
				kilka=1;
				break; 
			}
		}
		
		if(kilka==1) {
		document.getElementById('correct_comment').childNodes[0].nodeValue = "poprawne odpowiedzi:";
		}
		else {
		document.getElementById('correct_comment').childNodes[0].nodeValue = "poprawna odpowiedź:";
		}
		
	document.getElementById('correct_odp').childNodes[0].nodeValue = answer;	
	
	//find the current el, remove it from both arrs
	last=english.length-1;
	english[key]=english[last];
	polish[key]=polish[last];
	pronunciation[key]=pronunciation[last];;

	correct_box.visibility=(dom||ie)? "visible" : "show";
	document.getElementById('closeok1').focus();
	
	correct++;
	
	showstat();
	
	english.pop();
	polish.pop();
	
	document.getElementById('remain').childNodes[0].nodeValue = english.length;

		if(english.length<1) {
			if (document.getElementById('auto_pron').checked==true){
				document.nauka.lastwordtopronounce.value=pron;
			}
			return 1;
		}
		else {
			if (document.getElementById('auto_pron').checked==true){
				var so = new SWFObject("modules/flash/play2.swf", "play_but", "10", "5", "6", "#FFFFFF");
				so.addVariable("myword", pron);
				so.addVariable("is_playing", "1");
				so.write("flash_play");
			}
		
			return 0;
		
		}
}



function toggle_pron(){
	if (document.getElementById('auto_pron').checked==true){
		document.getElementById('auto_pron').checked=false;
	}
	else {
		document.getElementById('auto_pron').checked=true;
	}



}



function errshow()
{
	pyt = document.nauka.question.value;
	document.getElementById('wrong_pytanie').childNodes[0].nodeValue = pyt;
	answer = usunkomentarz(document.nauka.answer.value);
	pron=document.nauka.pron.value;
	pron="rec_"+pron;

	var kilka=0;
	for (var i=0; i<answer.length; i++)
	{
		if(answer.charAt(i)==",") {kilka=1; break;}
	}
	
	if(kilka==1) {
		document.getElementById('wrong_comment').childNodes[0].nodeValue = "poprawne odpowiedzi:";
	}
	else {
		document.getElementById('wrong_comment').childNodes[0].nodeValue = "poprawna odpowiedź:";
	}
	
	//find word obj by .en property value
	for (iii=0; iii<mistakes.length; iii++){
		if (mistakes[iii].en==pyt || mistakes[iii].pl==pyt){
			mistakes[iii].errors +=1;
		}
	}

	document.getElementById('wrong_odp').childNodes[0].nodeValue = answer;
	
	wrong_box.visibility=(dom||ie)? "visible" : "show";
	document.getElementById('closeok2').focus();
	if (document.getElementById('auto_pron').checked==true){
				var so = new SWFObject("modules/flash/play2.swf", "play_but", "10", "5", "6", "#FFFFFF");
				so.addVariable("myword", pron);
				so.addVariable("is_playing", "1");
				so.write("flash_play");
			}
	
	errors++;
	
	showstat();
}


function errclose()
{
	correct_box.visibility="hidden";
	wrong_box.visibility="hidden";
	out=losuj();
	document.nauka.texttlum.focus();
}



function showstat()
{
	if(errors>0 || correct>0) {
		performance=liczba((correct *100)/(correct+errors));
	}
	
	document.getElementById('errors').childNodes[0].nodeValue = errors;
	document.getElementById('correct').childNodes[0].nodeValue = correct;
	document.getElementById('performance').childNodes[0].nodeValue = liczba(performance)+"%";
	
	if(english.length<1) {
	document.nauka.lessend.value=1;
	}
}


function getSecs()
{
	var mySecs = initStopwatch();
	var mySecs1 = ""+mySecs;
	mySecs1= mySecs1.substring(0,mySecs1.indexOf("."));
	document.getElementById('zegar').childNodes[0].nodeValue = zegar(mySecs1);
	
}


function usunskrot(txt)
{
  result="";
  newtxt="";
  if(txt.charAt(0)=='a' && txt.charAt(1)==' ') pozod=2;
  else if(txt.charAt(0)=='a' && txt.charAt(1)=='n' && txt.charAt(2)==' ') pozod=3;
  else if(txt.charAt(0)=='t' && txt.charAt(1)=='o' && txt.charAt(2)==' ') pozod=3;
  else if(txt.charAt(0)=='t' && txt.charAt(1)=='h' && txt.charAt(2)=='e' && txt.charAt(3)==' ') pozod=4;
  else pozod=0;

  for (i=pozod;i<txt.length;i++)
  {
    if (txt.charAt(i)=='n' &&  (txt.charAt(i+1)=='\'' ||  txt.charAt(i+1)=='`') && txt.charAt(i+2)=='t')
    {  if (txt.charAt(i-1)=='a') result=result+"n not";
       else result=result+" not";
       i=i+2;
    }
    else if (txt.charAt(i)=='\'' || txt.charAt(i)=='`')
    {
       if (txt.charAt(i+1)=='s') { result=result+" is"; i=i+1; }
       else if (txt.charAt(i+1)=='r') { result=result+" ar"; i=i+1; }
       else if (txt.charAt(i+1)=='l' && txt.charAt(i+2)=='l') { result=result+" will"; i=i+2; }
       else result=result+txt.charAt(i);
    }
    else result=result+txt.charAt(i);
  }
  return result;
}

function usunogonki(txt)
{
var i;

 result="";
 for (i=0;i<txt.length;i++)
 {
 if (txt.charAt(i)=='ą') result=result+"a";
 else if (txt.charAt(i)=='ć') result=result+"c";
 else if (txt.charAt(i)=='ę') result=result+"e";
 else if (txt.charAt(i)=='ł') result=result+"l";
 else if (txt.charAt(i)=='ń') result=result+"n";
 else if (txt.charAt(i)=='ó') result=result+"o";
 else if (txt.charAt(i)=='ś') result=result+"s";
 else if (txt.charAt(i)=='ź') result=result+"z";
 else if (txt.charAt(i)=='ż') result=result+"z";
 //else if (txt.charAt(i)=='`') result=result+"\'";
 else result=result+txt.charAt(i);
 }
 return result;
}



function usunkomentarz(line)
{
  var result="";
  var koment=0;
  for (i=0;i<line.length;i++)
  {
     if (line.charAt(i) == ' ' && line.charAt(i+1) == '(') { koment=1; }
     if (line.charAt(i) == ')') { koment=0; i++; }
     if (koment==0) result=result+line.charAt(i)
  }
  return result;
}


function usunznaki(line)
{

  var result="";
  var k=0;
  kier=document.nauka.kier.value;
  line=usunkomentarz(line);
  for (i=0;i<line.length;i++)
  {
    if (kier==0)
    {
       if (line.charAt(i) != '.' && line.charAt(i) != ':' && line.charAt(i) != '?' && line.charAt(i) != '-' && line.charAt(i) != ' ' && line.charAt(i) != '!')
         result=result+line.charAt(i);
    }
    else
    {
       if (line.charAt(i) != '.' && line.charAt(i) != ':' && line.charAt(i) != '?' && line.charAt(i) != '-' && line.charAt(i) != ' ' && line.charAt(i) != '/' && line.charAt(i) != '\"')
         result=result+line.charAt(i);
    }
	}
  return result;
}


function initStopwatch()
{
 var myTime = new Date();
        var timeNow = myTime.getTime();
        var timeDiff = timeNow - clockStart;
        this.diffSecs = timeDiff/1000;
        return(this.diffSecs);
}

function zegar(czas)
{
  var txt="";
  var txt1="";
  var txt2="";
  sek=czas%60;
  min=Math.floor (eval(czas/60));
  if (min<10) txt1="0"+min;
  else txt1=min;
  txt=txt1+":";
  if (sek<10) txt2="0"+sek;
  else txt2=sek;
  txt=txt+txt2;
  return txt;
}

function ilesek(czas)
{
  var min="";
  var sek="";
  for (i=0;i<czas.length;i++)
  {
     if (i < 2) min=min+czas.charAt(i);
     if (i > 2) sek=sek+czas.charAt(i);
  }
  return 60*eval(min)+eval(sek);
}



function liczba(expr)
{
  var str = "" + Math.round (eval(expr) * 100);
  while (str.length<=2) { str = "0" + str };
  var decpoint = str.length - 2;
  return str.substring (0, decpoint) + "." + str.substring (decpoint, str.length);
}


startday = new Date();
clockStart = startday.getTime();

function onautoplay()
{
  document.nauka.texttlum.focus();   
}


//szuka w linii line tekstu text
function szukaj(line, text)
{
	if (line==text) return 1;
	//if (usunogonki(line)==usunogonki(text)) return 1;
	var result="";
	var k=0;j=0;
	var aa="";
	var bb="";
	var tline=[null,null,null,null,null,null];
	var ttext=[null,null,null,null,null,null];
	var i;
	var ii;
	
	for (i=0;i<line.length;i++)
	{
		if (line.charAt(i) == ",")
		{
			tline[k++]=aa;
			aa="";
		}
		else
			aa=aa+line.charAt(i);
	}
	tline[k++]=aa;

	for (i=0;i<text.length;i++)
	{
		if (text.charAt(i) == ",")
		{
			ttext[j++]=bb;
			bb="";
		}
		else
			bb=bb+text.charAt(i);
	}
	ttext[j++]=bb;

	var ok=0;
	for(ii=0;ii<j;ii++)
	{
		for(i=0;i<k;i++)
		{
			//alert(i+":"+tline[i]+" - "+ii+":"+ttext[ii]);
			if(tline[i]==ttext[ii]){ 
				ok++;
			}
			else{ 
				var klucz = usunogonki(tline[i]);
				var odp = usunogonki(ttext[ii]);
				 			
				if (klucz==odp){
					ok++;
				}
			}
		}
	}	
	//alert("j:"+j+" - ok:"+ok);
	if(j==ok) return 1;
	return 0;
}

function substr(text,poz)
{
  result="";
  for (i=poz;i<text.length;i++)
  {
     result=result+text.charAt(i);
  }    
  return result;
}



// F. Permadi May 2000 - thanks to the author for the hint & inspiration!
function getMovie(mName){
	
	if (window.document[mName]){
		return window.document[mName];
	}

	if (navigator.appName.indexOf("Microsoft Internet")==-1){
	
		if (document.embeds && document.embeds[mName]){
			return document.embeds[mName];
		}
	}
	else{
		return document.getElementById(mName);
	}
}

/*
function SendData(dir,word){
	var flashMovie=getMovie("play_but");
	flashMovie.SetVariable("/:myword", word);
	flashMovie.SetVariable("/:dir2", dir);
	flashMovie.SetVariable("/:is_playing", "1");
	  
}

function SendData(dir,word){
so.addVariable("myword", word);
so.addVariable("dir2", dir);
so.addVariable("is_playing", "1");
}

*/







function initbox(){                                                                         
                                                                                            
correct_box=0;                                                                              
wrong_box=0;                                                                                
ie=document.all;                                                                            
dom=document.getElementById;                                                                
ns4=document.layers;                                                                        
                                                                                            
	if (!dom&&!ie&&!ns4){                                                                      
	return;                                                                                    
	}                                                                                          
	                                                                                           
correct_box=(dom)?document.getElementById('correct_box').style : ie? document.all.correct_box : document.correct_box;
wrong_box=(dom)?document.getElementById('wrong_box').style : ie? document.all.wrong_box : document.wrong_box;

document.nauka.texttlum.focus();
losuj();                                                                                    
setInterval('getSecs()',1000);                                                                                            
}                                                                                           




















