
var sustancias = new Array("leche", "agua", "hierro", "az\u00FAcar", "sal",
"hielo", "cobre", "vidrio", "aceite", "pl\u00E1stico");
var propiedades = new Array( "color", "olor", "sabor", "densidad", "dureza", "fragilidad", "ductilidad", "brillo", "maleabilidad", "viscosidad");
var preguntas = new Array("Marca las tres sustancias que aparecen a continuaci\u00f3n:","Marca las tres propiedades caracter\u00edsticas que aparecen a continuaci\u00f3n:");

var vector = new Array(sustancias, propiedades);

var pregunta=-1;
var numSel=3; //Número de respuestas a seleccionar de cada array
var respuestas= new Array();
var contador=0;


/***************************************************************************************************
+ Nombre: seleccionaPregunta
+ Finalidad: función que escogerá aleatoriamente una pregunta de las posibles. Coloca la pregunta 
seleccionada en la división correspondiente.
+ Suposiciones: 
	- pregunta
	- preguntas[]
+ Efectos: 
	- pregunta 
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function seleccionaPregunta(){
 naleat=aleat(0,preguntas.length);
 pregunta=naleat;
 
 eDIV = document.createElement("div");
 eDIV.setAttribute("id","myDiv");
 eDIV.appendChild(document.createTextNode(preguntas[naleat]));
 document.getElementById("divx").appendChild(eDIV);
 
}


/***************************************************************************************************
+ Nombre: seleccionaRespuesta
+ Finalidad: función que escogerá las posibles respuestas mostradas tras la pregunta correspondiente. 
Deberá escoger 'numSel' propiedades y 'numSel' sustancias distintas y colocarlas en cualquier orden 
en el vector respuestas. Crea los checbox necesarios.
+ Suposiciones: 
	- numSel 
	- sustancias[] 
	- propiedades[]
	- respuestas[] 
+ Efectos: 
	- respuestas[] será relleno con las respuestas escogidas por el algoritmo: 'numSel' sustancias y 
	'numSel' propiedades.
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/
function seleccionaRespuestas(){
var posiElegidas = new Array();
var sustElegidas = new Array();
var propElegidas = new Array();

for(i=0;i< numSel*2;i++)
	posiElegidas[i]=0;
for(i=0;i< sustancias.length;i++)
	sustElegidas[i]=0;
for(i=0;i< propiedades.length;i++)
	propElegidas[i]=0;

for(i=0;i< numSel*2;i++){

	j=aleat(0,numSel*2);
	while(posiElegidas[j]!=0)
		j=(j+1)%(numSel*2);
	posiElegidas[j]=1;

	if(i<numSel){
		k=aleat(0,sustElegidas.length);
		while(sustElegidas[k]!=0)
			k=(k+1)%(sustElegidas.length);
		sustElegidas[k]=1;
		respuestas[j]=sustancias[k];
		
	}
	else{
		k=aleat(0,propElegidas.length);
		while(propElegidas[k]!=0)
			k=(k+1)%(propElegidas.length);
		propElegidas[k]=1;
		respuestas[j]=propiedades[k];
	}
}

formulario = document.createElement("form");
formulario.setAttribute("name", "form1");
formulario.setAttribute("method", "POST");
	
for(i=0;i< numSel*2;i++){
	
	input=document.createElement("input");
	input.setAttribute("id","colores");
	input.setAttribute("type","checkbox");
	input.setAttribute("onclick","compruebaRespuesta();");
	input.setAttribute("value",respuestas[i]);
	formulario.appendChild(input);
	formulario.appendChild(document.createTextNode(respuestas[i]));	
	}
	
eDIV = document.createElement("div");
eDIV.setAttribute("id","myDiv");
eDIV.appendChild(formulario);
document.getElementById("respuestas").appendChild(eDIV);

for(i=0;i< numSel*2;i++){
document.forms[0].colores[i].checked=false;
}

}

/***************************************************************************************************
+ Nombre: compruebaRespuesta
+ Finalidad: función que comprueba si la opción escogida como respuesta es correcta o no. Procede con
el aviso en caso de que la respuesta sea errónea. En el momento que se seleccionan las 'numSel' 
respuestas correctas muestra el aviso de que todo ha sido realizado de manera satisfactoria y 
refresca la actividad. 
+ Suposiciones: 
	- numSel 
	- contador
+ Efectos: 
	- contador: contabiliza las respuestas que hasta el momento han sido contestadas de manera 
	correcta.
+ Parámetros Entrada: --
+ Valores Devueltos: --
****************************************************************************************************/

function compruebaRespuesta(){

contador=0;
for (i = 0; i < document.forms[0].colores.length; i++) {
	if (document.forms[0].colores[i].checked == true) {
		ok=0;
		for (k = 0; k < vector[pregunta].length; k++) {
		
			if (vector[pregunta][k] == document.forms[0].colores[i].value) {
				ok = 1;
				contador++;
				if (contador == numSel) {
					dialogo("Muy bien, esas eran las " + numSel + " respuestas correctas.");
					
					clearObj(document.getElementById("divx"));
					clearObj(document.getElementById("respuestas"));
					seleccionaPregunta();
					seleccionaRespuestas();
				}
			}			
		}
		if(!ok){
			
			dialogo(document.forms[0].colores[i].value +" no es una respuesta correcta." );
			document.forms[0].colores[i].checked=false;			
		}
	}
}

}
