var TOT_LESSONS = 85;
var LEN_LINIA = 60;

var META_VB = 40;
var META_PR = 95;
var MIN_PR = 50;

var cTecles = 0;
var t;
var t1;
var t2;

var aluVB=0;
var aluPr=0;
var aluVN=0;
var errades="";		
var lesson ="";
var lang="";

arLessTxt = new Array(TOT_LESSONS);
arLessTxt[1]="asdf ñlkj asdf ñlkj asdf ñlkj fdsa jklñ fdsa jklñ fdsa jklña";
arLessTxt[2]="sal a las asas sal a las salsas sal a las salas las asas asa";
arLessTxt[3]="añada lasañas dañadas alkala kasa laka ñaka kasaka kada kaña";
arLessTxt[4]="das falsas alfalfas dadas fajas aladas ajadas da fajadas ada";
arLessTxt[5]="fgf fgf fgf jhj jhj jhj fgf fgf fgf jhj jhj jhj fgf fgf jhja";
arLessTxt[6]="hadas ha has sha ah dash aha alhajas jala kaja hadas has sha";
arLessTxt[7]="gafas algas galas llagas agallas galgas dagas faga gas galla"; 

arLessTxt[8]="aqa sws ded frf ftf ñpñ lol kik juj jyj y hasta salido plata";
arLessTxt[9]="aqsw defr gt ñplo kiju hy aqñp swlo deki frju gthy queridita";
arLessTxt[10]="que qui quo war we wi wo wu why who what ar era ir or ur ara";
arLessTxt[11]="ra re ri ro ru ta te ti to tu tra tre tri tro tru at et esta";
arLessTxt[12]="ot ut pa pe pi po pu pla ple pli plo plu pru pro pri pre pra";
arLessTxt[13]="ya ye yi yo yu ay ey iy oy uy raya reyerta yi sayo yuyu raya";
arLessTxt[14]="que quieres whiskey kiwi es eres este por para otros oh isla";
arLessTxt[15]="pida risa uña aguja yo ya y quietos wok wall eres eh respira";
arLessTxt[16]="tretas tritura trota trullo tragas trepa tripas trolas trufa";
arLessTxt[17]="quad que quesitos equipos quito quiere quedarse quieto quita";
arLessTxt[18]="whisky wish wok water we wash work white widow west walkiria";
arLessTxt[19]="pared arado adherir ira ordeñar furor ras res rifa roto ruta";
arLessTxt[20]="talla teka tierra toldo estupor atado flete quita otro fruta";
arLessTxt[21]="y yarda yeguas rally ya yogur yoghourt yute yeso yoduro yoga";
arLessTxt[22]="plata pleura plisada soplos plus puros poros pita peras para";

arLessTxt[23]="aza xsx dcd fvf bfb ñ-ñ l.l k,k jmj jnj zapato zorros zumaya";
arLessTxt[24]="azsx dcfv gb ñ-l. k,jm hn azñ- sxl. dck, fvjm gb hn zarzuela";
arLessTxt[25]="-a -e -i -o -u a, e, i, o, u, -a, -e, -ir, -o, -u, -blo -bla";
arLessTxt[26]="z. x. c. v. b. u, o, i, e, a zu ozo -uzo -aza -eza -iza -oza";
arLessTxt[27]="n... m... a... e... i... zuavo pez liz coz luz hechizo zarza";
arLessTxt[28]="ma me mi mo mu am em im om um mam mem mim mom mum mimos mema";
arLessTxt[29]="uza azu ezu izu ozu uzu xa xe xi xo xu axe exa ixa ox ux axa";
arLessTxt[30]="zozobraban, bonanza, banzai, bang, comenzaban, acaban, banca";
arLessTxt[31]="xex xix axe axi axo axu oxa exe exi exo exu ixe ixo ixu xexa";
arLessTxt[32]="ca ce ci co cu chac chec cic coc cuc ace uca oca ica eca aca";
arLessTxt[33]="eco ecu choca cuca cra cre cri cro cru clu cloc clic cle cla";
arLessTxt[34]="va ve vi vo vu av ev viv vov uv eve vav ava eva viva ova uva";
arLessTxt[35]="ba be bi bo bu bla ble bli blo blu bra bre bri bro bru barba";
arLessTxt[36]="za zo zu az ez iz oz uz azo ezo hizo ozo uzo aza eza iza oza";
arLessTxt[37]="na ne ni no nu an en in on un nan nona nin non nun nana nena";
arLessTxt[38]="zoo-loco, greco-chipriotas, xenofobia luxa xino-xano ex-mima";
arLessTxt[39]="examen, xilofonista, con, calabaza, cabizbajo, caza, cizalla"; 
arLessTxt[40]="abcdefghijklmnñopqrstuvwxyz, abcdefghijklmnñopqrstuvwxyz cba";

arLessTxt[41]="á é í ó ú á é í ó ú á é í ó ú ú ó í é á á é í ó ú ú ó í é áa";
arLessTxt[42]="áaá éeé íií óoó úuú áaá éeé íií óoó úuú úuú óoó íií éeé a áa";
arLessTxt[43]="papá café creí lloró baúl ágata éstas ínclito ósmosis úlcera";
arLessTxt[44]="maná cárcel ácaros práctico botánico áspero plátanos lámpara";
arLessTxt[45]="éxito léxico también probé sé célibe apéndice hélice poética";
arLessTxt[46]="níspero, sístole, días, nítido, ahí, física, biología, manía";
arLessTxt[47]="carbón, ratón, estómagos, limón, televisión, cazón, autónoma";
arLessTxt[48]="azúcar nenúfar crepúsculos únanime úlula úrico úrsido úlcera";

arLessTxt[49]="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ, ABCDEFGHIJKLMNÑOPQRSTUVWXYZ -za";
arLessTxt[50]="ZYXWVUTSRQPOÑNMLKJIHGFEDCBA, ZYXWVUTSRQPOÑNMLKJIHGFEDCBA -ba";

arLessTxt[51]="As Bf Cd Dj Ed Fl Gk Hj Ik Ja Ks Lf Md Ng Ñf Ol Pñ Ql Rf Sha";
arLessTxt[52]="Tf Uj Vf Ws Xs Yg Za Aj Bk Ch Dk Eñ Fu Gl Hf It Jq Kb Lea Ma";
arLessTxt[53]="Ne Ñe Of Pt Qk Ru So Ty Un Vh Ws Xm Yc Zi Al Me In Em Bra Na";
arLessTxt[54]="ñ_ñ l:l k;k Ñ_Ñ L:L K;K Ñ_ñ L:l K;k f; f: f_ d; d: a; a: _sa";

arLessTxt[55]="b; c; d; e; g; h; i; j; l; m; n; ñ; o; p; q; r; s; t; u; a;a";
arLessTxt[56]="v; w; x; y; z; B; C; D; E; F; G; H; I; J; K; L; M; N; Ñ; ñ;a";
arLessTxt[57]="Argentina; Bolivia; Chile; Dinamarca; España; Francia; Ghana";
arLessTxt[58]="Honduras; México; Nicaragua; Panamá; Perú; Suecia; Venezuela";

arLessTxt[59]="Áa Ée Íi Óo Úu ÁaÉeÍiÓoÚu Ágoras Éufrates Ítaca Óscar Úrsula";
arLessTxt[60]="güe güi güe güi güe güi güe güi güe argüir halagüeña argüirá";
arLessTxt[61]="b: c: d: e: g: h: i: j: l: m: n: ñ: o: p: q: r: s: t: u: :va";
arLessTxt[62]="1, 1b 1c 1d 1e 1f 1. 1- 11 111, 1 de octubre del año 11; 11a";
arLessTxt[63]="2, 2B 2C 2D 2E 2F 2. 2_ 12 212, 22 de junio del año 222; 12a";
arLessTxt[64]="3, 3g 3h 3i 3J 3K 3. 3_ 13 321, 31 de marzo del año 1333; 3a";
arLessTxt[65]="4, 4G 4H 4I 4j 4K 4. 4_ 14 434, 14 de abril del año 444; 34a";
arLessTxt[66]="5, 5l 5m 5N 5Ñ 5p 5. 5_ 15 545, 25 de julio del año 555; 45a";
arLessTxt[67]="6, 6L 6M 6n 6ñ 6P 6. 6_ 16 655, 16 de mayo del año 1666; 16a";
arLessTxt[68]="7, 7q 7r 7S 7T 7u 7. 7_ 17 767, 27 de noviembre de 1777; 37a";
arLessTxt[69]="8, 8Q 8R 8s 8t 8U 8. 8_ 18 878, 18 de septiembre de 1088; 8a";
arLessTxt[70]="9, 9V 9W 9x 9y 9Z 9. 9_ 19 989, 9 de diciembre del año 9; 9a";
arLessTxt[71]="0, 0v 0w 0X 0Y 0z 0. 0_ 10 090, 20 de agosto del año 10; 10a";

arLessTxt[72]="1º de Mayo; 2º Nivel, 3º E.S.O. 48º Regto. 59ºC 67ºF 1º Dcha";
arLessTxt[73]="I'm singin' You're Rock'n'Roll Je t'aime T'estimem Ven pa'ca";
arLessTxt[74]="¡Viva! ¡Fuera! ¡Hurra! ¡Ja! ¡Eh! ¡Bravo! ¡Estupendo! ¡Ah! ¡a";
arLessTxt[75]="9ª Marcha; 8ª Edición; 4ª Pl. 3ª Clase, 2ª División. 1ª fila";
arLessTxt[76]="\"sin blanca\"; \"en la masa\", \"in fraganti\" \"¡Wow!\" \"¡Buah!\" a";
arLessTxt[77]="ampul·lós bel·ligerant il·legals il·legible col·legi il·lesa";
arLessTxt[78]="1$ 2$ 3$ 4$ 5$ 6$ 7$ 8$ 9$ 0,20$ 99$ 102$, 49.67$ 859$ a cta";
arLessTxt[79]="98%, 7%, 6%, 5%, 4%; 3%; 2%; 1%; 0%; 19% 13%, 9.65% de media";
arLessTxt[80]="1/20, 4/9; 5/8, 6/7; 9/10, 1/2 melón, 1/4 limón y 1/3 patata";
arLessTxt[81]="(EE.UU.) (CC.OO.) (U. K.) (ONU) (FAO) (NAFTA) (Unión Europea";
arLessTxt[82]="30/2=15; 4%=0.04; 8/4=6/3; meta=c%3D; 12%=0,12; 3=9/3; ab=ba";
arLessTxt[83]="¿Qué? ¿Cómo? ¿Cuándo? ¿Por qué? ¿Sí? ¿A dónde? ¿Vale? ¿Ahora";
arLessTxt[84]="1<9; 8>2; 3<7; 10>4; 5<16; 80>2; Drôme; València; Çid; Plaça";
arLessTxt[85]="cd\\ dir|more #1 #9 Do# 2€, 8€, 3€, 7€, 5€, 6€, 4€ tu@mail.va";



function canviaTeclat(lesson){
	var lessonTeclat="";
	if (lesson=="") {
		 lesson = document.forms.frmTeclat.selLesson.value;
	} 	
	if (parseInt(lesson) >= 1 && parseInt(lesson) < 5){lessonTeclat = "001";
	} else if (parseInt(lesson) >= 5 && parseInt(lesson) < 8){lessonTeclat = "005";
	} else if (parseInt(lesson) >= 8 && parseInt(lesson) < 23){lessonTeclat = "008";
	} else if (parseInt(lesson) >= 23 && parseInt(lesson) < 41){lessonTeclat = "023";
	} else if (parseInt(lesson) >= 49 && parseInt(lesson) < 49){lessonTeclat = "049";
	} else if (parseInt(lesson) >= 51 && parseInt(lesson) < 62){lessonTeclat = "051";
	} else if (parseInt(lesson) >= 62 && parseInt(lesson) < 72){lessonTeclat = "062";
	} else if (parseInt(lesson) >= 72 && parseInt(lesson) < 86){lessonTeclat = "";
	}
		
	lang = document.forms.frmTeclat.Teclat.value;			 
	if (lesson<10) {lesson = "00" +lesson;
	} else if (lesson<100) {lesson = "0" +lesson; }
	
	var dirImatges = "http://www.mecagratis.com/img/";
  var imatgeTeclat = dirImatges + "mg" + lang + "Teclat1280.jpg";
  var imgTecles = dirImatges + "mg" + lang + "Teclat1280L" + lessonTeclat + ".jpg";	
	
  document.getElementById("imgTeclat").src = imatgeTeclat;
	document.getElementById("imgTecles").src = imgTecles;
}


function canviaLesson(lang){
  var Lesson = document.forms.frmTeclat.selLesson.value;
	var lang = document.forms.frmTeclat.Teclat.value;
	document.location="index.php?p=curso&lang="+lang+"&lesson="+Lesson;
}


function nextLessonReg(lesson, Correu, Clau){
	var nLesson = "";
	var vb = document.forms.frmTxt.vb.value;
	var pr = document.forms.frmTxt.pr.value;
	if (lesson > TOT_LESSONS){lesson = TOT_LESSONS;}
	if (lesson<10) {nLesson = "00" + lesson;
	}	else if (lesson<100) {nLesson = "0" +lesson; }
}

function nextLesson(lesson){
	var nLesson = "";
	var vb = document.forms.frmTxt.vb.value;
	var pr = document.forms.frmTxt.pr.value;
	if (lesson > TOT_LESSONS){lesson = TOT_LESSONS;}
	if (lesson<10) {nLesson = "00" + lesson;
	}	else if (lesson<100) {nLesson = "0" +lesson; }
	window.location="index.php?p=curso&lesson="+nLesson+"&vb="+vb+"&pr="+pr;
}


function començar(lesson){		 
	document.forms.frmTxt.inTxt.value = arLessTxt[parseInt(lesson)];
	cTecles = 0;	
  aluVB=0;
  aluPr=0;
  aluVN=0;
	errades="";			
	document.forms.frmTxt.inAlu.value = "";
	document.forms.frmTxt.inErr.value = "";
	document.forms.frmTxt.inAlu.focus();
	document.forms.frmTxt.vb.value = "";
	document.forms.frmTxt.pr.value = "";
	document.forms.frmTxt.vn.value = "";
	document.forms.frmTxt.inCom.value = "";
}


function calVB(){
	t = (t2 - t1)/1000;
	return Math.round(60*60/t);
}

function calPr(e){
	var encerts=0;
	var charCode;
	
	for (i=0; i<LEN_LINIA-1; i++){
		
		if (document.forms.frmTxt.inTxt.value.substr(i, 1)==document.forms.frmTxt.inAlu.value.substr(i, 1)){	
			encerts++;
			errades += " ";			 	
		} else {errades += document.forms.frmTxt.inTxt.value.substr(i, 1);}
	}

  if (navigator.appName == "Netscape"){
    charCode = e.which;
	}else {
    charCode = e.keyCode;
  }
	
	
	if (charCode=='97'){	
			encerts++;
			errades += " ";			 	
		} else {errades += document.forms.frmTxt.inTxt.value.substr(LEN_LINIA-1, 1);}
	
	if (encerts==0){ return 0;
	} else {return Math.round(encerts * 100 / LEN_LINIA);}
}

function calVN(){
	return Math.round(document.forms.frmTxt.vb.value * document.forms.frmTxt.pr.value / 100);
}

function resultats(){
	if (aluVB<500 && aluPr>20) document.forms.frmTxt.vb.value = aluVB;
	if (aluPr>20) {document.forms.frmTxt.pr.value = aluPr;}
	if (aluPr >= META_PR) {
		 aluVN = calVN();
		 document.forms.frmTxt.vn.value = aluVN; }
	
	document.forms.frmTxt.inErr.value = errades;
	
	if (aluVB >= META_VB && aluPr == 100) {
			document.forms.frmTxt.inCom.value = "Ejercicio perfecto. No ha mirado su teclado ¿verdad? Avance al siguiente.";
	} else if (aluVB >= META_VB && aluPr >= META_PR) {
			document.forms.frmTxt.inCom.value = "Bien. Ha superado las metas establecidas. Pase al ejercicio siguiente.";
	} else if (aluVB >= META_VB && aluPr < META_PR && aluPr >= MIN_PR) {
			document.forms.frmTxt.inCom.value = "Ha superado la meta de velocidad pero no la de precisión. Repita el ejercicio, por favor.";
	} else if (aluVB < META_VB && aluPr >= META_PR) {
			document.forms.frmTxt.inCom.value = "Ha superado la meta de precisión pero no la de velocidad. Repita el ejercicio, por favor.";
	} else if (aluVB >= 500 || aluPr >= 20) {
			document.forms.frmTxt.inCom.value = "Debería visitar la página web de juegos.";
	}
}		

function tecla(e){
  cTecles++;
	switch (cTecles){
    case 1:	 																
		  t1 = new Date(); 
	    break;
    case LEN_LINIA:	 																
		  t2 = new Date();
     	aluVB=calVB();
      aluPr=calPr(e);
      aluVN=0;
			if (aluPr >= META_PR) {
				aluVN = calVN();
			}
			resultats();
	    break;
	}					
}


function enviarMatrMg(){
	if (document.forms.MgMatricula.Nom.value.length==0) {
    	alert('Por favor, introduzca su nombre y apellidos.');
    	document.forms.MgMatricula.Nom.focus();
  } else if (document.forms.MgMatricula.Correu.value.length==0) {
    	alert('Por favor, introduzca su dirección de correo electrónico.');
    	document.forms.MgMatricula.Correu.focus();
  } else if (document.forms.MgMatricula.Clau.value.length<6) {
    	alert('Por favor, introduzca una nueva contraseña de 6 caracteres.');
    	document.forms.MgMatricula.Clau.focus();
  } else if (document.forms.MgMatricula.Correu.value.length>0){
        var Byte="";
        var Arroba=0;
        var Punto=0;
        for (var i=0;i<document.forms.MgMatricula.Correu.value.length;i++){
          Byte=document.forms.MgMatricula.Correu.value.substring(i,i+1);
          if(Byte=="@")
            Arroba=Arroba+1;
          if(Byte==".")
            Punto=Punto+1;
        }
        if (Arroba!=1 || Punto==0) {
          alert ("La dirección de e-mail no es correcta.");
          document.forms.MgMatricula.Correu.focus();  
  } else document.forms.MgMatricula.submit() }
}


function enviarMgAlumne(){
	if (document.forms.frmMgAlumne.Correu.value.length==0) {
    	alert('Por favor, introduzca su dirección de correo electrónico.');
    	document.forms.frmMgAlumne.Correu.focus();
  } else if (document.forms.frmMgAlumne.Clau.value.length<6) {
    	alert('Por favor, introduzca su contraseña de 6 caracteres.');
    	document.forms.frmMgAlumne.Clau.focus();
  } else if (document.forms.frmMgAlumne.Correu.value.length>0){
        var Byte="";
        var Arroba=0;
        var Punto=0;
        for (var i=0;i<document.forms.frmMgAlumne.Correu.value.length;i++){
          Byte=document.forms.frmMgAlumne.Correu.value.substring(i,i+1);
          if(Byte=="@")
            Arroba=Arroba+1;
          if(Byte==".")
            Punto=Punto+1;
        }
        if (Arroba!=1 || Punto==0) {
          alert ("La dirección de e-mail no es correcta.");
          document.forms.frmMgAlumne.Correu.focus();  
  } else document.forms.frmMgAlumne.submit() }
}


function enviarMgClau(){
	if (document.forms.frmMgClau.Correu.value.length==0) {
    	alert('Por favor, introduzca su dirección de correo electrónico.');
    	document.forms.frmMgClau.Correu.focus();
  } else if (document.forms.frmMgClau.Correu.value.length>0){
        var Byte="";
        var Arroba=0;
        var Punto=0;
        for (var i=0;i<document.forms.frmMgClau.Correu.value.length;i++){
          Byte=document.forms.frmMgClau.Correu.value.substring(i,i+1);
          if(Byte=="@")
            Arroba=Arroba+1;
          if(Byte==".")
            Punto=Punto+1;
        }
        if (Arroba!=1 || Punto==0) {
          alert ("La dirección de e-mail no es correcta.");
          document.forms.frmMgClau.Correu.focus();  
  } else document.forms.frmMgClau.submit() }
}
