var k=0, simincognita=new Array(10), nelem=70; filtre=false;
var llista = new Array(nelem);

llista[0]= new elem("aigua", "H<SUB>2</SUB>O", 1, true, false,"","");
llista[1]= new elem("hidrur de liti", "LiH", 1, true, true,"hidrur lític","");
llista[2]= new elem("trihidrur de bor", "BH<SUB>3</SUB>", 1, true, false,"borà","");
llista[3]= new elem("metà", "CH<SUB>4</SUB>", 1, true, false,"tetrahidrur de carboni","");
llista[4]= new elem("amoníac", "NH<SUB>3</SUB>", 1, true, false,"trihidur de nitrogen","");
llista[5]= new elem("fluorur d'hidrogen", "HF", 1, true, false,"àcid fluorhídric","");
llista[6]= new elem("hidrur sòdic", "NaH", 1, true, false,"hidrur de sodi","");
llista[7]= new elem("trihidrur d'alumini", "AlH<SUB>3</SUB>", 1, true, true,"hidrur d'alumini","");
llista[8]= new elem("tetrahidrur de silici", "SiH<SUB>4</SUB>", 1, true, false,"silà","");
llista[9]= new elem("trihidrur de fòsfor", "PH<SUB>3</SUB>", 1, true, false,"fosfina","");
llista[10]= new elem("sulfur d'hidrogen", "H<SUB>2</SUB>S", 1, true, false,"àcid sulfhídric","");
llista[11]= new elem("clorur d'hidrogen", "HCl", 1, true, false,"àcid clorhídric","");
llista[12]= new elem("seleniur d'hidrogen", "H<SUB>2</SUB>Se", 1, true, false,"àcid selenhídric","");
llista[13]= new elem("àcid bromhídric", "HBr", 1, true, false,"bromur d'hidrogen","");
llista[14]= new elem("iodur d'hidrogen", "HI", 1, false, true,"àcid iodhídric","");
llista[15]= new elem("òxid de liti", "Li<SUB>2</SUB>O", 2, true, true,"òxid lític","monòxid de diliti");
llista[16]= new elem("òxid de beril·li", "BeO", 2, true, true,"òxid beríl·lic");
llista[17]= new elem("monòxid de carboni", "CO", 2, true, false,"òxid de carboni (II)","");
llista[18]= new elem("diòxid de carboni", "CO<SUB>2</SUB>", 2, true, false,"òxid de carboni (IV)","òxid carbònic");
llista[19]= new elem("òxid sòdic", "Na<SUB>2</SUB>O", 2, true, false,"òxid de sodi","monòxid de disodi");
llista[20]= new elem("òxid magnèsic", "MgO", 2, true, true,"òxid de magnesi","monòxid de magnesi");
llista[21]= new elem("òxid d'alumini", "Al<SUB>2</SUB>O<SUB>3</SUB>", 2, false, true,"òxid alumínic","triòxid de dialumini");
llista[22]= new elem("diòxid de silici", "SiO<SUB>2</SUB>", 2, false, true,"òxid silícic","òxid de silici (IV)");
llista[23]= new elem("òxid fosforós", "P<SUB>2</SUB>O<SUB>3</SUB>", 2, false, true,"triòxid de difòsfor","òxid de fòsfor (III)");
llista[24]= new elem("òxid fosfòric", "P<SUB>2</SUB>O<SUB>5</SUB>", 2, true, true,"pentaòxid de difòsfor","òxid de fòsfor (V)");
llista[25]= new elem("pentaòxid de diclor", "Cl<SUB>2</SUB>O<SUB>5</SUB>", 2, true, true,"òxid clòric","òxid de clor (V)");
llista[26]= new elem("òxid de potassi", "K<SUB>2</SUB>O", 2, true, true,"òxid potàssic","monòxid de dipotassi");
llista[27]= new elem("òxid càlcic", "CaO", 2, true, true,"òxid de calci","monòxid de calci");
llista[28]= new elem("òxid ferrós", "FeO", 2, true, true,"òxid de ferro (II)","monòxid de ferro");
llista[29]= new elem("òxid fèrric", "Fe<SUB>2</SUB>O<SUB>3</SUB>", 2, true, true,"òxid de ferro (III)","triòxid de diferro");
llista[30]= new elem("òxid de cobalt (III)", "Co<SUB>2</SUB>O<SUB>3</SUB>", 2, false, true,"òxid cobàltic","triòxid de dicobalt");
llista[31]= new elem("òxid niquelós", "NiO", 2, true, true,"òxid de níquel (II)","monòxid de níquel");
llista[32]= new elem("òxid cuprós", "Cu<SUB>2</SUB>O", 2, true, false,"òxid de coure (I)","monòxid de dicoure");
llista[33]= new elem("òxid cúpric", "CuO", 2, false, true,"òxid de coure (II)","monòxid de coure");
llista[34]= new elem("òxid de zinc", "ZnO", 2, true, true,"monòxid de zinc","");
llista[35]= new elem("òxid perbròmic", "Br<SUB>2</SUB>O<SUB>7</SUB>", 2, true, false,"heptaòxid de dibrom","òxid de brom (VII)");
llista[36]= new elem("òxid estannós", "SnO", 2, true, true,"òxid d'estany (II)","monòxid d'estany");
llista[37]= new elem("òxid bàric", "BaO", 2, false, true,"òxid de bari","monòxid de bari");
llista[38]= new elem("òxid mercuriós", "Hg<SUB>2</SUB>O", 2, true, true,"òxid de mercuri (I)","òxid de dimercuri");
llista[39]= new elem("diòxid de plom", "PbO<SUB>2</SUB>", 2, true, true,"òxid de plom (IV)","òxid plúmbic");
llista[40]= new elem("sulfur potàssic", "K<SUB>2</SUB>S", 3, false, true,"sulfur de potassi","monosulfur de dipotassi");
llista[41]= new elem("clorur ferrós", "FeCl<SUB>2</SUB>", 3, false, true,"diclorur de ferro","clorur de ferro (II)");
llista[42]= new elem("tetraclorur de carboni", "CCl<SUB>4</SUB>", 3, false, true,"","");
llista[43]= new elem("dibromur de níquel", "NiBr<SUB>2</SUB>", 3, false, true,"bromur niquelós","bromur de níquel (II)");
llista[44]= new elem("iodur de rubidi", "RbI", 3, false, true,"iodur rubídic","monoiodur de rubidi");
llista[45]= new elem("fluorur plumbós", "PbF<SUB>2</SUB>", 3, false, true,"difluorur de plom","fluorur de plom (II)");
llista[46]= new elem("clorur de crom (III)", "CrCl<SUB>3</SUB>", 3, true, true,"triclorur de crom","clorur cròmic");
llista[47]= new elem("sulfur de cadmi", "CdS", 3, true, true,"sulfur càdmic","monosulfur de cadmi");
llista[48]= new elem("seleniur de cesi", "Cs<SUB>2</SUB>Se", 3, false, true,"seleniur cèsic","monoseleniur de dicesi");
llista[49]= new elem("disulfur de carboni", "CS<SUB>2</SUB>", 3, true, true,"","");
llista[50]= new elem("nitrur de calci", "Ca<SUB>3</SUB>N<SUB>2</SUB>", 3, true, true,"nitrur càlcic","dinitrur de tricalci");
llista[51]= new elem("sulfur cobàltic", "Co<SUB>2</SUB>S<SUB>3</SUB>", 3, true, true,"sulfur de cobalt (III)","trisulfur de dicobalt");
llista[52]= new elem("pentaclorur de fòsfor", "PCl<SUB>5</SUB>", 3, true, true,"","");
llista[53]= new elem("sulfur cúpric", "CuS", 3, true, true,"sulfur de coure (II)","monosulfur de coure");
llista[54]= new elem("seleniur de platí (IV)", "PtSe<SUB>2</SUB>", 3, true, true,"seleniur platínic","diseleniur de platí");
llista[55]= new elem("clorur de plata", "AgCl", 3, true, true,"clorur argèntic","monoclorur de plata");
llista[56]= new elem("clorur àuric", "AuCl<SUB>3</SUB>", 3, true, true,"triclorur d'or","clorur d'or (III)");
llista[57]= new elem("bromur bàric", "BaBr<SUB>2</SUB>", 3, true, true,"dibromur de bari","bromur de bari");
llista[58]= new elem("iodur mercúric", "HgI<SUB>2</SUB>", 3, true, true,"diiodur de mercuri","iodur de mercuri (II)");
llista[59]= new elem("nitrur de liti", "Li<SUB>3</SUB>N", 3, true, true,"nitrur lític","mononitrur de triliti");
llista[60]= new elem("triclorur de nitrogen", "NCl<SUB>3</SUB>", 3, true, true,"","");
llista[61]= new elem("carbur de silici", "SiC", 3, true, true,"","");
llista[62]= new elem("trifluorur de bor", "BF<SUB>3</SUB>", 3, true, true,"","");
llista[63]= new elem("sulfur estròncic", "SrS", 3, true, true,"sulfur d'estronci","monosulfur d'estronci");
llista[64]= new elem("clorur manganós", "MnCl<SUB>2</SUB>", 3, true, true,"clorur de manganès (II)","diclorur de manganès");
llista[65]= new elem("seleniur niquèlic", "Ni<SUB>2</SUB>Se<SUB>3</SUB>", 3, true, true,"seleniur de níquel (III)","triseleniur de diníquel");
llista[66]= new elem("sulfur argèntic", "Ag<SUB>2</SUB>S", 3, true, true,"sulfur de plata","monosulfur de diplata");
llista[67]= new elem("hexafluorur de sofre", "SF<SUB>6</SUB>", 3, true, true,"","");
llista[68]= new elem("bromur de cesi", "CsBr", 3, true, true,"bromur cèsic","monobromur de cesi");
llista[69]= new elem("sulfur cròmic", "Cr<SUB>2</SUB>S<SUB>3</SUB>", 3, true, true,"sulfur de crom (III)","trisulfur de dicrom");

var xd=50
var xdd
var str
var simbols
var xdd1
var xdd2
function elem(nom, simbol, tipuscomp, mostra, metall,nomal1,nomal2) //, v1, v2, v3, v4, vn)
	{
	this.nom = nom;
	this.simbol = simbol;
	this.tipuscomp = tipuscomp;
	this.mostra = mostra;
	this.metall = metall;
	this.nomal1 = nomal1;
	this.nomal2 = nomal2;


}

function creacapes(n,nfila,alt,ample,yinic,xinic){	//n total de capes 
	
	//colorfons="#ff6633";
	var fila=0;
	for (var j=0; j<=n-1; j++){
		amunt= yinic+fila*(alt+2);	//posició top
		for (var i=0; i<=nfila-1; i++){
			if (llista[j].tipuscomp == 1) colorfons="#b6c13f";
			else {
			if (llista[j].tipuscomp == 2)colorfons="#ff6633"; else colorfons="#594dc9";
			}
			nomcapa="capa"+j;
			esquerra= xinic+ i*(ample+3);	//posició left
			str="<div id='"+nomcapa+"'style='position:absolute; left:"+esquerra+"px; top:"+amunt+"px; width:"+ample+"px; height:"+alt+"px; z-index:1;background:"+colorfons+"; text-align: center' onClick='moure(id)' class=ma>"+llista[j].simbol+"</div>";
			document.write(str);
			if (i<nfila-1) j++;
		}
		fila++;
	}
}

function creacapes1(n,nfila,alt,ample,yinic,xinic){	//n total de capes
	
	//colorfons="#ff6633";
	var fila=0;
	for (var j=0; j<=n-1; j++){
		amunt= yinic+fila*(alt+2);	//posició top
		var i=0
		while (i<=nfila-1 && j<=n-1){
			if (llista[j].tipuscomp == 1) colorfons="#b6c13f";
			else {
			if (llista[j].tipuscomp == 2)colorfons="#ff6633"; else colorfons="#594dc9";
			}
			nomcapa="capa"+j;
			esquerra= xinic+ i*(ample+3);	//posició left
			str="<div id='"+nomcapa+"'style='position:absolute; left:"+esquerra+"px; top:"+amunt+"px; width:"+ample+"px; height:"+alt+"px; z-index:1;background:"+colorfons+"; text-align: center' onClick='moure(id)' class=ma>"+llista[j].nom+"</div>";
			document.write(str);
			if (i<nfila-1) j++;
			i++;
		}
		fila++;
	}
	
}

function moure(id){
	l=1
		
	while (k>=0 && l==1 && k<10)
	{
		p="cella"+k
	
		capa=id
		eval("texte=document.getElementById('"+capa+"').innerHTML")
		eval("texte1=document.getElementById('"+capa+"').innerHTML")
		texte3="<div align='center'>"+texte1+"</div>"
		texte2="<div align='center'><font face='Verdana, Arial, Helvetica, sans-serif' style='size:16px'>?</font></div>"
		
		if (simincognita[k]==texte){
			eval("document.all['"+p+"'].innerHTML=texte3");
			k=k+1;
			comptadorencerts(10);
			if (k<10){
				p="cella"+k
				eval("document.all['"+p+"'].innerHTML=texte2")
				if (k==10) alert("Molt bé!!");
			}
			l=0
		}
		else{
			alert("No és correcte! Torna-ho a provar");
			comptadorerrors();
			l=0
			}
	}
}


function creataula(n){
	
	var eleincognita,  vcercar, vdarrer; 
	
	//Valor de variables
		
	eleincognita=new Array(10);
	//simincognita=new Array(10);
	
	// Construir eleincognita i simincognita
	i=0
	while (i<=9)
	{
		a=Math.round(Math.random()*(n-1));
		
		//Comprovar si l'element no està repetit
		vcercar=llista[a].nom;
		vdarrer=eleincognita.length-1;
	
		// Comprovar si l'element està repetit
			j=0;
			k=0;
			
			while (eleincognita[j]!=vcercar && j<vdarrer){
			
			j=j+1;
			}
			if (eleincognita[j]==vcercar)k=1;
			
		//if (llista[a].mostra == true) {
		eleincognita[i]=llista[a].nom
		simincognita[i]=llista[a].simbol
		i=i+1-k
		//}	
	}
		
		idn=new Array("id='cella0'","id='cella1'","id=cella2","id=cella3","id=cella4","id=cella5","id=cella6","id=cella7","id=cella8","id=cella9")
		ido=new Array("?","","","","","","","","","")
	// Construir taula
	
	document.write("<blockquote><table width='440px' border='1' bgcolor='#CCCC33' style='cursor:default'>")
	document.write("<tr height='30px'>")
	j=1
		for (i=0; i<=9; i++)
		{
		
		document.write("<td width='135px' class='numtd'>"+eleincognita[i]+"</td><td width='80' class='numtd1' "+idn[i]+"><div align='center'>"+ido[i]+"</div></td>")
		
		if (j%2==0){
		//alert(j)
			document.write("</tr>")
			document.write("<tr height='30px'>")
			
			}
		j++
		}
		document.write("</table></blockquote>")
				
}

function creataula1(n){
	
	var eleincognita,  vcercar, vdarrer; 
	
	//Valor de variables
		
	eleincognita=new Array(10);
	//simincognita=new Array(10);
	
	// Construir eleincognita i simincognita
	i=0
	while (i<=9)
	{
		a=Math.round(Math.random()*(n-1));
		
		//Comprovar si l'element no està repetit
		vcercar=llista[a].simbol;
		vdarrer=eleincognita.length-1;
	
		// Comprovar si l'element està repetit
			j=0;
			k=0;
			
			while (eleincognita[j]!=vcercar && j<vdarrer){
			
			j=j+1;
			}
			if (eleincognita[j]==vcercar)k=1;
			
		//if (llista[a].mostra == true) {
		eleincognita[i]=llista[a].simbol
		simincognita[i]=llista[a].nom
		i=i+1-k
		//}	
	}
		
		idn=new Array("id='cella0'","id='cella1'","id=cella2","id=cella3","id=cella4","id=cella5","id=cella6","id=cella7","id=cella8","id=cella9")
		ido=new Array("?","","","","","","","","","")
	// Construir taula
	
	document.write("<blockquote><table width='450px' border='1' bgcolor='#CCCC33' style='cursor:default'>")
	document.write("<tr height='30px'>")
	j=1
		for (i=0; i<=9; i++)
		{
		
		document.write("<td width='60px' class='numtd'>"+eleincognita[i]+"</td><td width='145' class='numtd1' "+idn[i]+"><div align='center'>"+ido[i]+"</div></td>")
		
		if (j%2==0){
		//alert(j)
			document.write("</tr>")
			document.write("<tr height='30px'>")
			
			}
		j++
		}
		document.write("</table></blockquote>")
				
}

function comprova(nsimbol,nnom,nllista,nnom1,nnom2,nseguent){
	var comparar=eval("document.form1."+nllista+".value");
	var correcte = false;	
	//alert(comparar+" "+unescape(nnom));
	
	if (comparar == unescape(nnom)) {
		comptadorencerts(12);eval("document.form1."+nllista+".disabled=true");correcte =true; }	
	else {
			if (comparar ==unescape(nnom1)) {comptadorencerts(12);eval("document.form1."+nllista+".disabled=true");correcte =true;}
			else {
					if (comparar ==unescape(nnom2)) {comptadorencerts(12);eval("document.form1."+nllista+".disabled=true");correcte =true;}
					else {alert("Incorrecte"); comptadorerrors();eval("document.form1."+nllista+".focus()");}
					
				}
			
		}
	if (correcte && nseguent!=1) {eval("document.form1."+nseguent+".focus()");}
}

function creaformulari(n){
	
	var iniform="<form name='form1' method='post' action=''>";
	var i=0, nomarray=new Array(12),formarray= new Array(12);
	var nomal1array=new Array(12),nomal2array=new Array(12);
	while (i<=11){ 
		a=Math.round(Math.random()*(n-1));
		vcercar=llista[a].nom;
		vdarrer=nomarray.length-1;
		// Comprovar si l'element està repetit
		j=0;
		k=0;
			
		while (nomarray[j]!=vcercar && j<vdarrer){
			j=j+1;
		}
		if (nomarray[j]==vcercar)k=1;
		nomarray[i]=llista[a].nom;
		formarray[i]=llista[a].simbol;
		nomal1array[i]=llista[a].nomal1;
		nomal2array[i]=llista[a].nomal2;
		i=i+1-k
	}
	document.write(iniform);
	document.write("<table width='440px' border='1' bgcolor='#b6c13f' align='center'>")
	document.write("<tr height='30px'>")
	j=1
	for(i=0; i<=11; i++){
		fllista="a"+i;
		fseguent=1;
		if (i<11) fseguent="a"+(i+1);
		fsimbol=formarray[i];
		fnom=nomarray[i];
		fnom1=nomal1array[i];
		fnom2=nomal2array[i];
		
		fcamp=" <input type='text' name='"+fllista+"' size='30' maxlength='30' class='fons' onChange='comprova(\""+fsimbol+"\",\""+escape(fnom)+"\",\""+fllista+"\",\""+escape(fnom1)+"\",\""+escape(fnom2)+"\",\""+fseguent+"\")'>";
		//alert(fcamp);
		document.write("<td width='80px' class='numtd'><b>"+fsimbol+"</b></td><td width='135'>"+fcamp+"</td>")
		
		if(j%2 == 0){
			
			document.write("<tr height='30px'>")
		}	
		j++	
	}
		eval("document.form1.a0.focus()");
		document.write("</table></form>")
	
}

function comprovaformula(nsimbol,nnom,nllista,ncapa,nseguent){
	var comparar=eval("document.form1."+nllista+".value");
	var correcte = false, cadena =""
	var l = comparar.length;
	for (var i=1; i<=l; i++){
		lletra = comparar.substr(i-1,1);
		if (isNaN(lletra)) cadena= cadena+ lletra;
		else cadena = cadena+ "<SUB>"+lletra+"</SUB>";
		//alert(cadena);
	}
	if (cadena == nsimbol) {
		comptadorencerts(12);eval("document.form1."+nllista+".disabled=true");correcte =true; }	
	else {alert("Incorrecte"); comptadorerrors();eval("document.form1."+nllista+".focus()");}
			
	if (correcte){
		eval("document.form1."+nllista+".value =''");
		eval("document.all['"+ncapa+"'].innerHTML= cadena");
		//eval("document.all['"+ncapa+"'].style.backgroundColor=\'#594dc9\'");
		eval("document.all['"+ncapa+"'].style.visibility= \'visible\'");
	}
	if (correcte && nseguent!=1) {eval("document.form1."+nseguent+".focus()");}
	
}

function creaformulariformula(n){
	var iniform="<form name='form1' method='post' action=''>";
	var i=0, nomarray=new Array(12),formarray= new Array(12);
	var nomal1array=new Array(12),nomal2array=new Array(12);
	while (i<=11){ 
		var a=Math.round(Math.random()*(n-1));
		var b=Math.round(Math.random()*2);
		vcercar=llista[a].nom;
		vdarrer=nomarray.length-1;
		var j=0,k=0;		// Comprovar si l'element està repetit
			
		while (nomarray[j]!=vcercar && j<vdarrer){
			j=j+1;
		}
		if (nomarray[j]==vcercar)k=1;
		nomarray[i]=llista[a].nom;
		formarray[i]=llista[a].simbol;
		nomal1array[i]=llista[a].nomal1;
		nomal2array[i]=llista[a].nomal2;
		i=i+1-k
	}
	document.write(iniform);
	document.write("<table width='600px' border='1' bgcolor='#b6c13f' align='center'>")
	document.write("<tr height='30px'>")
	j=1
	for(i=0; i<=11; i++){
		fllista="a"+i;
		fseguent=1;
		if (i<11) fseguent="a"+(i+1);
		fsimbol=formarray[i];
		if (b == 0) fnom=nomarray[i];
		else {if (b == 1) fnom=nomal1array[i];
				else fnom=nomal2array[i];
			}
		if (fnom.length == 0) fnom = nomarray[i];
		
		
		cllista="c"+i;
		farcit="a"
		fcamp=" <input type='text' name='"+fllista+"' size='8' maxlength='8' class='fons' onChange='comprovaformula(\""+fsimbol+"\",\""+escape(fnom)+"\",\""+fllista+"\",\""+cllista+"\",\""+fseguent+"\")'>";
		//alert(fcamp);
		document.write("<td width='120px' class='numtd'>"+fnom+"</td><td width='50px'>"+fcamp+"</td><td width='50px'><div id='"+cllista+"' align='center' class='formula'>"+farcit+"</div></td>")
		
		if(j%2 == 0){
			document.write("</tr><tr height='30px'>")
		}	
		j++	
	}
		eval("document.form1.a0.focus()");
		document.write("</table></form>")
}


function comptadorencerts(n){

	contadoru++;
	document.form4.textfield1.value=contadoru;
	if (contadoru==n) {
		estat=0;
		if (contadorp <5) alert("Has acabat, molt bé!!");
		else {alert("Has acabat, però tens molts errors.\n\n Pensa un poc més abans de clicar!!");}
		document.all.nouexercici.style.visibility='visible';
	}
}

function comptadorerrors(){

	contadorp++
	document.form5.textfield2.value=contadorp;
	if (contadorp>=10){
		alert("Tens massa errors, torna a començar");
		document.location.reload();
	}
}

