var resuelta=false;
var tabindex=0;
var soluciones = new Array();
var lenSoluciones = 0;
var boton="";
var strMensajeAbandonar="Sure you want to leave this game ??";
/* clase palabra */
function palabra(idInput,tablaRepaso) {
	// inicializamos
	this.nombre = idInput;
	this.intentos = 0;
	this.fallos = 0;
	this.tabla = parseInt(tablaRepaso);
	//metodo incIntentos
	this.incIntentos = function() {
		var i = this.intentos;
		i++;
		this.intentos = i;
	}
	//metodo incFallos
	this.incFallos = function() {
		var i = this.fallos;
		i++;
		this.fallos = i;
	}
}
function dameintentos() {
	return this.intentos;
}
/* end clase palabra */
function buscarPalabra(clave) {
	for (i=0;i<lenSoluciones;i++) {
		if (soluciones[i].nombre==clave) {
			return i;
		};
	}
}
/* ======================================================================
ejerciciosMultiplicar
========================================================================= */
function ejerciciosMultiplicar(opcion) {
	if (!juegoCompletado()) {
		if (!eval(confirm(strMensajeAbandonar))) {
			return;
		}
	}
	//document.getElementById("panelAciertos").style.display = 'none';
	var strFilas="";
	var textoAyuda="";
	var strTituloPagina="";
	boton="Multiplicar";
	switch (opcion) {
		case 'tablas':
			for (i=1;i<=10;i++) {
				strFilas+="<tr><td class='mate left' colspan='4' width='200px'> TABLE OF " + i + "</td><td>&nbsp;</td></tr>";
				for (j=1;j<=10;j++) {
					oper = i + " x " + j + " = " + i*j;
					strFilas+="<tr><td class='cm'>" + i + "</td><td class='cm'>x</td><td class='cm'>" + j + " =</td><td class='cm'>" + i*j + "</td></tr>";
				}
				strFilas+="<tr><td>&nbsp;</td></tr>";
			}
			textoAyuda="Here is a brief overview of the multiplication table from 1-10.<br><br>";
			strTituloPagina="Reviewing the multiplication table.";
			break;
		case 'deberes':
			strFilas+="" +
			"<tr><td class='label'>Multiplying</td><td><input type='text' value='157' id='n' size=11></td></tr>" +
			"<tr><td class='label'>Multiplier</td><td><input type='text' value='23' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Multiply' onclick='javascript:plantearMultiplicacion();'></td></tr>";
			textoAyuda="Enter the values of the multiplier and multiplying.<br><br>";
			strTituloPagina="Do your homework";
			boton="Multiply";
			break;
		case 'practicar':
			strFilas+="<tr><td class='label'>Number of digits Multiplying</td><td><input type='text' value='2' id='n' size=11></td></tr>" +
			"<tr><td class='label'>Number of digits Multiplier</td><td><input type='text' value='2' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Multiply' onclick='javascript:RandomNumber();'></td></tr>";
			textoAyuda="Enter the number of digits of the multiplier and multiplying.<br><br>";
			strTituloPagina="Practicing multiplication";
			boton="Multiply";
			break;
		case 'practicarTablas':
			strFilas+="<tr><td class='label'></td><td><input type='text' value='2' id='n' size=1></td></tr>" +
			"<tr><td class='label'></td><td><input type='hidden' value='4' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Multiply' onclick='javascript:practicarTabla();'></td></tr>";
			textoAyuda="Enter the digit of the table you want to practice.<br><br>";
			strTituloPagina="Practicing the multiplication tables";
			boton="Multiply";
			break;
		case 'ejemplos':
			strFilas+="<tr><td class='label'>Multiplyin</td><td><input type='text' value='12' id='n' size=11></td></tr>" +
			"<tr><td class='label'>Multiplier</td><td><input type='text' value='2' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Multiply' onclick='javascript:resolverMultiplicacion();'></td></tr>";
			break;
		case 'examen':
			strFilas+="<tr><td class='label'>How many multiplications?</td><td><input type='text' value='2' id='num_mult' size=2></td></tr>"+
			"<tr><td class='label'>Number of digits Multiplyin</td><td><input type='text' value='2' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digits Multiplier</td><td><input type='text' value='2' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><img src='../../../elabueloeduca_img/pdf.jpg' alt='Generate a pdf document for printing. You may need to hold down the Ctrl key to allow it to open another window.' onclick='javascript:multiplicacionesPDF(0)' style='cursor:pointer'></td></tr>";
			textoAyuda="These exercises can be printed and made in pencil.<br><br>"+
			"First, tell us how many multiplications, you want to print.<br><br>"+
			"Then enter the number of digits of the multiplier and multiplying.<br><br>"+
			"Finally give the button to generate the PDF document you can print."
			strTituloPagina="Before generating the document for practice";
			break;			
		case 'sumar':
			strFilas+="<tr><td class='label'>First number</td><td><input type='text' value='6245' id='n' size=11></td></tr>" +
			"<tr><td class='label'>Second number</td><td><input type='text' value='2354' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Add' onclick='javascript:resolverSuma();'></td></tr>";
			textoAyuda="Enter the values of numbers to add.<br><br>";
			strTituloPagina="Do your homework";
			boton="Add";
			break;
		case 'practicarSuma':
			strFilas+="<tr><td class='label'>Number of digits 1<sup>er</sup>&nbsp;Number</td><td><input type='text' value='4' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digits 2º&nbsp;&nbsp;Number</td><td><input type='text' value='4' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Add' onclick='javascript:RandomNumberSuma();'></td></tr>";
			textoAyuda="Enter the number of digits of numbers to add.<br><br>";
			strTituloPagina="Practicing sums";
			boton="Add";
			break;
		case 'examenSuma':
			strFilas+="<tr><td class='label'>How many sums?</td><td><input type='text' value='2' id='num_mult' size=2></td></tr>"+
			"<tr><td class='label'>Number of digits 1<sup>er</sup>&nbsp;Number</td><td><input type='text' value='2' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digits 2º&nbsp;&nbsp;Number</td><td><input type='text' value='2' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><img src='../../../elabueloeduca_img/pdf.jpg' alt='Generate a pdf document for printing. You may need to hold down the Ctrl key to allow it to open another window.' onclick='javascript:multiplicacionesPDF(1)' style='cursor:pointer'></td></tr>";
			textoAyuda="These exercises can be printed and made in pencil.<br><br>"+
			"First, tell us how many sums you want to print.<br><br>"+
			"Then enter the number of digits of the numbers.<br><br>"+
			"Finally give the button to generate the PDF document you can print."
			strTituloPagina="Before generating the document for practice";
			break;				
		case 'restar':
			strFilas+="<tr><td class='label'>Minuend</td><td><input tabindex=0 type='text' value='6512' id='n' size=11></td></tr>" +
			"<tr><td class='label'>Subtrahend</td><td><input type='text' value='2421' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Subtract' onclick='javascript:resolverResta();'></td></tr>";
			textoAyuda="Enter values of the minuend and subtrahend.<br><br>";
			strTituloPagina="Do your homework";
			boton="Subtract";
			break;
		case 'practicarResta':
			strFilas+="<tr><td class='label'>Number of digit Minuend</td><td><input type='text' value='4' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digit Subtrahend</td><td><input type='text' value='4' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Subtrac' onclick='javascript:RandomNumberResta();'></td></tr>";
			textoAyuda="Enter the number of digits of the minuend and subtrahend.<br><br>";
			strTituloPagina="Practicing subtraction";
			boton="Subtract";
			break;
		case 'examenResta':
			strFilas+="<tr><td class='label'>How many subtractions?</td><td><input type='text' value='2' id='num_mult' size=2></td></tr>"+
			"<tr><td class='label'>Number of digit Minuend</td><td><input type='text' value='2' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digit Subtrahend</td><td><input type='text' value='2' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><img src='../../../elabueloeduca_img/pdf.jpg' alt='Generate a pdf document for printing. You may need to hold down the Ctrl key to allow it to open another window.' onclick='javascript:multiplicacionesPDF(2)' style='cursor:pointer'></td></tr>";
			textoAyuda="These exercises can be printed and made in pencil.<br><br>"+
			"First, tell us how many subtraction you want to print.<br><br>"+
			"Then enter the number of digits of the minuend and subtrahend.<br><br>"+
			"Finally give the button to generate the PDF document you can print."
			strTituloPagina="Before generating the document for practice";			
			break;
		case 'dividir':
			strFilas+="<tr><td class='label'>Dividend</td><td><input type='text' value='814' id='n' size=11></td></tr>" +
			"<tr><td class='label'>Divider</td><td><input type='text' value='9' id='m' size=11></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Divide' onclick='javascript:resolverDivision();'></td></tr>";
			textoAyuda="Enter values of the dividend and divider.<br><br>";
			strTituloPagina="Do your homework";
			boton="Divide";
			break;			
		case 'practicarDivision':
			strFilas+="<tr><td class='label'>Number of digits Dividend</td><td><input type='text' value='4' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digits Divider</td><td><input type='text' value='2' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><input class='button' type='button' value='Divide' onclick='javascript:RandomNumberDivision();'></td></tr>";
			textoAyuda="Enter the number of digits of the dividend and divider.<br><br>";
			strTituloPagina="Practicing divisions";
			boton="Divide";
			break;			
		case 'examenDivision':
			strFilas+="<tr><td class='label'>How many divisions?</td><td><input type='text' value='2' id='num_mult' size=2></td></tr>"+
			"<tr><td class='label'>Number of digits Dividend</td><td><input type='text' value='2' id='n' size=2></td></tr>" +
			"<tr><td class='label'>Number of digits Divider</td><td><input type='text' value='2' id='m' size=2></td></tr>" +
			"<tr><td></td><td align='left'><img src='../../../elabueloeduca_img/pdf.jpg' alt='Generate a pdf document for printing. You may need to hold down the Ctrl key to allow it to open another window.' onclick='javascript:multiplicacionesPDF(3)' style='cursor:pointer'></td></tr>";
			textoAyuda="These exercises can be printed and made in pencil.<br><br>"+
			"First, tell us how many divisions you want to print.<br><br>"+
			"Then enter the number of digits of the dividend and divider.<br><br>"+
			"Finally give the button to generate the PDF document you can print."
			strTituloPagina="Before generating the document for practice";			
			break;						
		default:
		break;
	}
	var strDocumento="";
	var pintarPanel=true;
	if (opcion=='tablas' || opcion.lastIndexOf("examen")!=-1) {
		pintarPanel=false;
	}
	if (pintarPanel) {
		strDocumento=pintarPanelAciertos();
	}
	/*strDocumento+="<table id='tablaPreguntas' border=0 cellspacing='0' cellpadding='0' align='center'>"+
	"<tr><td class='label' colspan='2'></td></tr>";
	strDocumento+=strFilas;
	strDocumento+="</table>" + "<br><div id='contenedorTabla'> <div id='tablamultiplicacion'></div>";
	strDocumento+="<div id='panelAyuda'>" +
	"<div style='float:right;clear:both'>" +
	"<img id='imgDuda' src='../../../elabueloeduca_img/duda.gif'/>" +
	"</div></div></div>";*/
	strDocumento+="<div id='tablaTotal'><div id='colIzq' align='center'>";
	strDocumento+="<table id='tablaPreguntas' border=0 cellspacing='2' align='center' cellpadding='0' class='classFondo center'>";
	strDocumento+=strFilas;
	//strDocumento+="<tr><td colspan='9'><div id='tablamultiplicacion' class='center'></div></td></tr>";
	strDocumento+="</table><div id='tablamultiplicacion' class='center'></div></div>";
	//strDocumento+="</table></div>";
	strDocumento+="<div id='colDcha'><div id='panelAyuda'></div><img id='imgDuda' src='../../../elabueloeduca_img/duda.gif'/ style='display:none'/></div></div>";	
	//strDocumento+="<br><input type='button' value='Multiplicar' onclick='javascript:resolverMultiplicacion();'>";
	strDocumentoFinal="<form name='tablaMultiplicar'>" +strDocumento+ "</form>";
	var obj = document.getElementById("panelMostrar");
	if (obj!=null) {
		obj.style.display='block';
		obj.innerHTML=strDocumentoFinal;
	} else {
		alert("No se ha encontrado el objeto panelMostrar");
	}
	obj = document.getElementById("divPubliV");
	if (obj!=null) {
		obj.innerHTML='';
	}
	obj = document.getElementById("divPubliH");
	if (obj!=null) {
		obj.innerHTML='';
	}
	obj = document.getElementById("tituloPagina");
	if (obj!=null) {
		obj.innerHTML=strTituloPagina;
	}
	//if (opcion!='tablas' && opcion!='examen') {
	if (pintarPanel) {
		textoAyuda+="To move from one number to another using the mouse or the tab.<br><br>" +
		"To start playing, click on the button  " +  boton + "."
		pintarAyuda(textoAyuda);
	} else {
		pintarAyuda(textoAyuda);
	}
	ponerFoco();
}
var num_respuestas=0;
var num_respuestas_total=0;
function inicializar() {
num_respuestas=0;
lenSoluciones=0;
document.getElementById("panelAyuda").style.display = 'none';
//document.getElementById("panelAciertos").style.display = 'block';
//document.getElementById("panelInfo").style.display = 'none';
soluciones = new Array();
}
var lenMultiplicando=0;
function multiplicar(multiplicando,multiplicador) {
	iniciaContadores();
	inicializar();
	var num1 = multiplicando.toString();
	var num2 = multiplicador.toString();
	numcolumnas = num1.length + num2.length;
	numfilas = num2.length + 3;
	lenMultiplicando = num1.length;
	num1 = " " + num1;
	len1 = num1.length;
	while (num2.length<len1) {
		num2 = " " + num2;
	}
	len2 = num2.length;
	var strHTML="<table border=0 cellpagind='0px' cellspacing='0px' align='center'>";
	clase="";
	//for (fila=0;fila<len2+2;fila++) {
	for (fila=0;fila<numfilas;fila++) {
		nombrefila='F' + fila
		strHTML+="<tr id=" + nombrefila+ ">";
		for (i=numcolumnas;i>=0;i--){
			//strHTML+="<td witdh='100px'><label id='F" + fila + "-" + i + "'>F" + fila + "-" + i + "</label></td>";
			strHTML+="<td class='celda' id='F" + fila + "-" + i + "'>&nbsp;&nbsp;</td>";
		}
		strHTML+="</tr>";
	}
	strHTML+="</table>";
	strHTML+="<div class='center'><input type='button' class='button' value='Check' onclick='javascript:establecerMarcadores(0);' tabindex=1000></div>";
	//strHTML+="<div id='textoComprobar'></div>";
	objtabla = document.getElementById("tablamultiplicacion");
	if (objtabla!=null) {
		objtabla.innerHTML = strHTML;
	} else {
		alert("No se ha encontrado la tabla base!");
	}
	//multiplicamos
	pintarNumero(num1,0,0, 'numero',0);
	pintarNumero(num2,1,0, 'sumar',0);
	var numero1 =parseInt(num1);
	var numero2 =parseInt(num2);
	var strnumero2 =numero2.toString();;
	len2 = strnumero2.length;
	num1 = numero1.toString();;
	columna=0;
	strNumeros="";
	strSeparador="";
	posicion=2;
	for (digito=len2;digito>0;digito--) {
		num = strnumero2.substring(digito-1,digito);
		if (num>=0) {
			rdo = num*numero1;
			//document.write("<br>rdo=" + rdo + " en F " + posicion + " " + num + " * " + num1);
			//document.write("<br> " + num + " * " + num1 + " = " + rdo);
			if (len2>1) {
			pintarNumero(rdo, posicion, columna, 'numero', num);
			posicion++;
			}
			for (a=0;a<columna;a++) {
				rdo+="0";
			}
			columna++;
			strNumeros+=strSeparador + rdo;
			strSeparador=",";
		}
	}
	//sumamos
	//document.write("<br> " + strNumeros);
	arrayNumeros = strNumeros.split(",");
	lenArray = arrayNumeros.length;
	final=0;
	for (i=0;i<lenArray;i++) {
		final+=parseInt(arrayNumeros[i]);
	}
	if (final<1) {
		//alert("Num " + final + " menor");
	}
	if (len2>1) {
	pintarNumero(final, posicion, 0, 'classFinal',0);
	} else {
		pintarNumero(final, posicion, 0, 'classFinalSolo',num2);
	}
	obj = document.getElementById("F1-" + (len2));
	if (obj!=null) {
		obj.innerHTML="<b>x</b>";
	}
	strfinal = final+"";
	if (len2>1) {
	obj = document.getElementById("F" + (posicion-1) + "-" + strfinal.length);
	if (obj!=null) {
		obj.innerHTML="<b>+</b>";
	}
	}
	obj = document.getElementById("input_F2-0");
	if (obj!=null) {
		obj.focus();
	}
}
function pintarNumero(numero, fila, columna, clase, tabla) {
	obj = document.getElementById("F"+ fila);
	if (obj!=null) {
		//obj.className=clase;
	} else {
		alert("no existe fila"+ fila);
	}
	numero=numero.toString();
	lenNum = numero.length;
	if (numero=="0") {
		rdo+="";
		for (i=1;i<lenMultiplicando;i++) {
			rdo+="0";
		}
		numero = rdo;
		lenNum = numero.length;
	}
	c = lenNum-1+columna;
	for (i=0;i<lenNum;i++) {
		celda = "F"+ fila + "-" + c;
		obj = document.getElementById(celda);
		num = numero.substring(i,i+1)
		if (obj!=null) {
			//obj.innerHTML="<label class='" + clase + "' >" + num + "</label>";
			//obj.innerHTML="<label >&nbsp;" + num + "&nbsp;</label>";
			//innerCelda = "<label >";
			innerCelda = "";
			if (num!=" " && fila>=2 && !resuelta) {
				loc_tabindex = lenNum - i + ((fila -2)*lenNum);
				num_respuestas++;
				//obligamos a acertar
				//innerCelda+="<input type='text' class='inputText' size='1' onblur='javascript:return validar_class(this)' onchange='javascript:return comprobar(\"" + celda + "\", this.value, \"" + num + "\")' id='input_" + celda + "' maxlength='1' tabindex='" + loc_tabindex + "'></input>";
				innerCelda+="<input type='text' class='inputText' size='1' onchange='javascript:comprobar(\"" + celda + "\", this.value, \"" + num + "\")' id='input_" + celda + "' maxlength='1' tabindex='" + loc_tabindex + "'></input>";
				soluciones.push(new palabra(celda,tabla));
				lenSoluciones++;
				//alert(innerCelda);
			} else {
				innerCelda+="&nbsp;" + num + "&nbsp;";
			}
			//innerCelda+="</label>"
			obj.innerHTML=innerCelda;
			obj.className=clase;
		} else {
		}
		c--;
	}
}
function RandomNumber() {
x=document.getElementById("n").value;
v=document.getElementById("m").value;
if (!validar_num("n","m")) {return false;}
if (!validar_num_cifras("n","m")) {return false;}
multiplicando = num_random(x);
multiplicador = num_random(v);
multiplicar(multiplicando,multiplicador);
}
function practicarTabla() {
x=document.getElementById("m").value;
numTabla=document.getElementById("n").value;
if (!validar_num("n","m")) {return false;}
if (eval(numTabla<0 || numTabla>10)) {
	alert("Enter a value between 0 and 10 ");
	document.getElementById("n").focus();
	return;
}
multiplicando = num_random(x);
multiplicador = numTabla;
multiplicar(multiplicando,multiplicador);
}
function comprobar(celda, valorInput, valorComprobar) {
	obj = document.getElementById("input_" + celda);
	id_palabra = buscarPalabra(celda);
	obj_palabra = soluciones[id_palabra];
	/*alert("obj_palabra " + obj_palabra	);
	alert("obj_palabra " + soluciones[id_palabra].nombre);*/
	obj_palabra.incIntentos();
	//TOTAL
	incrementarIntentos();
	if (valorInput!=valorComprobar) {
		if (obj!=null) {
			document.getElementById("bgsound").src='../../../error.wav'
			obj.className='inputText error';
			obj.focus();
			obj_palabra.incFallos();
			//TOTAL
			incrementarFallos();
			if (obj_palabra.intentos>1) {
				//alert("Necesitas repasar la tabla del " + obj_palabra.tabla);
				if (boton.toUpperCase()=="MULTIPLICAR") {
					pintarTabla(obj_palabra.tabla.toString());
					wav='../../../' + obj_palabra.tabla + '.wav'
					document.getElementById("bgsound").src=wav;
					//wav2='../../../ok.wav'
					//wav3='../../../error.wav'
					//document.getElementById("bgsound").src=wav2;
					//document.getElementById("bgsound").src=wav3;
				}
			}
		}
		msg="fallo";
	} else {
		document.getElementById("bgsound").src='../../../ok.wav';
		//alert("valorInput " + valorInput + " contra valorComprobar " + valorComprobar);
		obj.className='inputText correcto';
		incrementarAciertos();
		//alert("correcto " + celda + " " + obj.className);
		//alert("cajas:" + document.getElementsByTagName("input").length)
		/*if (num_respuestas == document.getElementsByTagName("input").length) {
			alert("De acuerdo!!! has respondido a todas!");
		} */
		//return true;
		msg="ok";
	}
	return false;
}
function resolverMultiplicacion() {
	var objmultiplicando=document.getElementById("n");
	var objmultiplicador=document.getElementById("m");
	multiplicando=objmultiplicando.value;
	multiplicador=objmultiplicador.value;
	if (validar(multiplicando,objmultiplicando,"numero") && validar(multiplicador,objmultiplicador,"numero")) {
	resuelta=true;
	multiplicar(multiplicando,multiplicador);
	resuelta=false;
	}
}
function plantearMultiplicacion() {
	var objmultiplicando=document.getElementById("n");
	var objmultiplicador=document.getElementById("m");
	multiplicando=objmultiplicando.value;
	multiplicador=objmultiplicador.value;
	if (validar(multiplicando,objmultiplicando,"numero") && validar(multiplicador,objmultiplicador,"numero")) {
	resuelta=false;
	multiplicar(multiplicando,multiplicador);
	var texto="Put the values for each line.<br><br>" +
	"To move to another line you can use the tab key or mouse." +
	"<br><br>Once you complete all the numbers pressed the button to check.<br><br>" +
	"GOOD LUCK!!!."
	pintarAyuda(texto);
	}
}
function validar_class(obj) {
	var clase = obj.className;
	if(clase.lastIndexOf("error")!=-1) {
		obj.focus();
	}
}
function pintarTabla(tabla) {
	//obj = document.getElementById("textoComprobar");
	var i=parseInt(tabla);
	var strFilas="<table><tr><td colspan='4' width='200px'><h6>Here is a short help...</h6></tr>"+
	"<tr><td class='mate left' colspan='4' width='200px'><h6> TABLE OF " + i + "</h6></td><td>&nbsp;</td></tr>";
	for (j=0;j<=10;j++) {
		oper = i + " x " + j + " = " + i*j;
		strFilas+="<tr><td class='cm'>" + i + "</td><td class='cm'>x</td><td class='cm'>" + j + "</td><td class='cm'>= " + i*j + "</td></tr>";
	}
	strFilas+="<tr><td>&nbsp;</td></tr></table>";

	/*if (obj!=null) {
		obj.style.visibility = 'visible';
		obj.innerHTML=strFilas;
	}*/
	pintarAyuda(strFilas)
}
function establecerMarcadores(tipo) {
	//num_respuestas_total = document.getElementsByTagName("input").length;
	num_respuestas_total = 0;
	lenForm = document.forms["tablaMultiplicar"].elements.length;
	var aciertos=0;
	var errores=0;
	var respondidas=0;
	for (i=0;i<lenForm;i++) {
		obj = document.forms["tablaMultiplicar"].elements[i];
		if (obj.type=="text") {
		}
		if (obj.id.lastIndexOf("input_")!=-1) {
			num_respuestas_total++;
			valor = obj.value;
			if (valor!="") {
				clase = obj.className;
				if (clase.lastIndexOf('error')!=-1) {
					errores++;
				} else if (clase.lastIndexOf('correcto')!=-1) {
					aciertos++;
				}
				respondidas++;
			}
		}
		//className.lastIndexOf("error
	}
	var juego="";
	if (tipo==0) {
		juego="Multiplicación";
	} else if (tipo==1) {
		juego="Suma";
	}	else if (tipo==2) {
		juego="Resta";
	}	 else  {
		juego="División";
	}
	strHTML="";
	//alert("respondidas:" + respondidas + " num_respuestas_total:" + num_respuestas_total);
	if (respondidas>0 && respondidas==num_respuestas_total) {
		if (errores==0) {
      nota=(10 - num_fallos*(10/num_aciertos));
			nota=nota.toFixed(2);
			//strHTML+="<h6>¡¡¡ MUY BIEN !!!</h6>";
	if (nota>=5.5) {
		if (nota>=8) {
			if (nota==10) {
        strHTML+="<h6>¡¡¡ VERY VERY GOOD !!!</h6>";
				strHTML+="<p>¡ You have proven to be a <b>GENIUS</b> in this operation !</p>";
		  	strHTML+="<p class='ini'><b>¡¡ CONGRATULATIONS !!</b></p>";
			} else {
        strHTML+="<h6>¡¡¡ VERY GOOD !!!</h6>";
				strHTML+="<p>¡ You have proven to be  <b>VERY VERY GOOD</b> in this operation !</p>";
		  	strHTML+="<p class='ini'><b>¡¡ CONGRATULATIONS !!</b></p>";
			}
		} else if (nota>=7 && nota<8) {
			strHTML+="<h6>¡¡¡ VERY GOOD !!!</h6>";
			  strHTML+="<p>¡ You have proven to be  <b> VERY GOOD</b> in this operation !</p>";
		  	strHTML+="<p class='ini'><b>¡¡ CONGRATULATIONS !!</b></p>";
		} else {
        strHTML+="<h6>¡¡¡ GOOD !!!</h6>";
		  	strHTML+="<p>¡ You have proven to be  <b>GOOD</b> in this operation !</p>";
		  	strHTML+="<p class='ini'><b>¡¡ CONGRATULATIONS !!</b></p>";
		}
	} else {
        strHTML+="<h6>¡¡¡ GOOD !!!</h6>";
        strHTML+="<p>¡ UPSS, you have to review a little this operation !</p>";
		  	strHTML+="<p class='ini'><b>¡¡ GOOD LUCK !!</b></p>";
	}
		  //strHTML+="<p class='ini'>Has sacado un  " + nota + "</p>";
		} else {
			strHTML+="<h6>¡UY! It seems that some answers are not OK</h6>"+
			"<p>Look at the numbers marked in red and carefully check  this operation.</p>"+
			"<p class='ini'>Wrong:" + errores + "<br>Right:" + aciertos + "</p>"+
			"<p class='ini'>Try again and good luck!</p>";
		}
	} else {
		strHTML+="<h6>PLEASE, BEFORE CHECK , FILL OUT THE OPERATION</h6>";
		strHTML+="<p>Look at the blue line and put the cursor over to write the corresponding number.</p>";
		strHTML+="<p>Try again and good luck!</p>";
	}
	//alert("Errores " + errores + ", Correctas: " + aciertos);
	/*obj = document.getElementById("textoComprobar");
	if (obj!=null) {
		obj.innerHTML="<div>" + strHTML + "</div>"
		obj.style.visibility = 'visible';
	} else {
		alert("no existe");
	}*/
	pintarAyuda("<div>" + strHTML + "</div>");
}
/* ESta función reemplaza a la del js es este juego*/
function juegoCompletado() {
	var completado=true;
	num_respuestas_total = 0;
	var formulario = document.forms["tablaMultiplicar"];
	if (formulario==null) {return completado};
	lenForm = formulario.elements.length;
	var aciertos=0;
	var errores=0;
	var respondidas=0;
	for (i=0;i<lenForm;i++) {
		obj = document.forms["tablaMultiplicar"].elements[i];
		if (obj.type=="text") {
		}
		if (obj.id.lastIndexOf("input_")!=-1) {
			num_respuestas_total++;
			valor = obj.value;
			if (valor!="") {
				completado=false;
			}
		}
		//className.lastIndexOf("error
	}
	return completado;
}
function resolverSuma() {
	var objsumando1=document.getElementById("n");
	var objsumando2=document.getElementById("m");
	sumando1=objsumando1.value;
	sumando2=objsumando2.value;
	if (validar(sumando1,objsumando1,"numero") && validar(sumando2,objsumando2,"numero")) {
	resuelta=true;
	sumar(sumando1,sumando2);
	resuelta=false;
	var texto="Put the values for each line.<br><br>" +
	"To move to another line you can use the tab key or mouse." +
	"<br><br>Once you complete all the numbers pressed the button to check.<br><br>" +
	"GOOD LUCK!!!."
	pintarAyuda(texto);
	}
}
function sumar(sumando1,sumando2) {
	iniciaContadores();
	inicializar();
	var num1 = sumando1.toString();
	var num2 = sumando2.toString();
	numcolumnas = num1.length + num2.length;
	//numfilas = num2.length + 3;
	numfilas = 3;
	lenMultiplicando = num1.length;
	num1 = " " + num1;
	len1 = num1.length;
	while (num2.length<len1) {
		num2 = " " + num2;
	}
	len2 = num2.length;
	var strHTML="<table border=0 cellpagind='0px' cellspacing='0px' align='center'>";
	clase="";
	//for (fila=0;fila<len2+2;fila++) {
	for (fila=0;fila<numfilas;fila++) {
		nombrefila='F' + fila
		strHTML+="<tr id=" + nombrefila+ ">";
		for (i=numcolumnas;i>=0;i--){
			//strHTML+="<td witdh='100px'><label id='F" + fila + "-" + i + "'>F" + fila + "-" + i + "</label></td>";
			strHTML+="<td class='celda' id='F" + fila + "-" + i + "'>&nbsp;&nbsp;</td>";
		}
		strHTML+="</tr>";
	}
	strHTML+="</table>";
	strHTML+="<div class='right'><br/><input type='button' class='button' value='Check' onclick='javascript:establecerMarcadores(1);' tabindex=1000></div>";
	objtabla = document.getElementById("tablamultiplicacion");
	if (objtabla!=null) {
		objtabla.innerHTML = strHTML;
	} else {
		alert("Not found the base table!");
	}
	//multiplicamos
	pintarNumero(num1,0,0, 'numero',0);
	pintarNumero(num2,1,0, 'sumarSuma',0);
	var numero1 =parseInt(num1);
	var numero2 =parseInt(num2);
	var suma = numero1 + numero2;

  pintarSuma(suma,2,0, 'rdoSuma',1);
	obj = document.getElementById("F1-" + (len2));
	if (obj!=null) {
		obj.innerHTML="<b>+</b>";
	}
	obj = document.getElementById("input_F2-0");
	if (obj!=null) {
		obj.focus();
		return;
	}
}
function pintarSuma(numero, fila, columna, clase, tabla) {
	obj = document.getElementById("F"+ fila);
	if (obj!=null) {
		//obj.className=clase;
	} else {
		alert("no existe fila"+ fila);
	}
	numero=numero.toString();
	lenNum = numero.length;
	if (numero=="0") {
		rdo+="";
		for (i=1;i<lenMultiplicando;i++) {
			rdo+="0";
		}
		numero = rdo;
		lenNum = numero.length;
	}
	c = lenNum-1+columna;
	for (i=0;i<lenNum;i++) {
		celda = "F"+ fila + "-" + c;
		obj = document.getElementById(celda);
		num = numero.substring(i,i+1)
		if (obj!=null) {
			//obj.innerHTML="<label class='" + clase + "' >" + num + "</label>";
			//obj.innerHTML="<label >&nbsp;" + num + "&nbsp;</label>";
			//innerCelda = "<label >";
			innerCelda = "";
			//if (num!=" " && fila>=2 && !resuelta) {
			if (num!=" ") {
				loc_tabindex = lenNum - i + ((fila -2)*lenNum);
				num_respuestas++;
				//obligamos a acertar
				//innerCelda+="<input type='text' class='inputText' size='1' onblur='javascript:return validar_class(this)' onchange='javascript:return comprobar(\"" + celda + "\", this.value, \"" + num + "\")' id='input_" + celda + "' maxlength='1' tabindex='" + loc_tabindex + "'></input>";
				innerCelda+="<input type='text' class='inputText' size='1' onchange='javascript:comprobar(\"" + celda + "\", this.value, \"" + num + "\")' id='input_" + celda + "' maxlength='1' tabindex='" + loc_tabindex + "'></input>";
				soluciones.push(new palabra(celda,tabla));
				lenSoluciones++;
			} else {
				//alert("no existe " + celda);
				innerCelda+="&nbsp;" + num + "&nbsp;";
			}
			//innerCelda+="</label>"
			obj.innerHTML=innerCelda;
			obj.className=clase;
		} else {
		}
		c--;
	}
}
function RandomNumberSuma() {
x=document.getElementById("n").value;
v=document.getElementById("m").value;
if (!validar_num("n","m")) {return false;}
if (!validar_num_cifras("n","m")) {return false;}
multiplicando = num_random(x);
multiplicador = num_random(v);
sumar(multiplicando,multiplicador);
}
function resolverResta() {
	var objminuendo=document.getElementById("n");
	var objsustraendo=document.getElementById("m");
	minuendo=objminuendo.value;
	sustraendo=objsustraendo.value;
	if (validar(minuendo,objminuendo,"numero") && validar(sustraendo,objsustraendo,"numero")) {
	if (eval(parseInt(minuendo)<parseInt(sustraendo))) {
		alert("The minuend must be greater or equal to subtrahend!");
		return;
	}
	resuelta=true;
	restar(minuendo,sustraendo);
	resuelta=false;
	var texto="Put the values for each line.<br><br>" +
	"To move to another line you can use the tab key or mouse." +
	"<br><br>Once you complete all the numbers pressed the button to check.<br><br>" +
	"GOOD LUCK!!!."
	pintarAyuda(texto);
	}
}
function restar(minuendo,sustraendo) {
	iniciaContadores();
	inicializar();
	var num1 = minuendo.toString();
	var num2 = sustraendo.toString();
	numcolumnas = num1.length + num2.length;
	//numfilas = num2.length + 3;
	numfilas = 3;
	lenMultiplicando = num1.length;
	num1 = " " + num1;
	len1 = num1.length;
	while (num2.length<len1) {
		num2 = " " + num2;
	}
	len2 = num2.length;
	var strHTML="<table border=0 cellpagind='0px' cellspacing='0px' align='center'>";
	clase="";
	//for (fila=0;fila<len2+2;fila++) {
	for (fila=0;fila<numfilas;fila++) {
		nombrefila='F' + fila
		strHTML+="<tr id=" + nombrefila+ ">";
		for (i=numcolumnas;i>=0;i--){
			//strHTML+="<td witdh='100px'><label id='F" + fila + "-" + i + "'>F" + fila + "-" + i + "</label></td>";
			strHTML+="<td class='celda' id='F" + fila + "-" + i + "'>&nbsp;&nbsp;</td>";
		}
		strHTML+="</tr>";
	}
	strHTML+="</table>";
	strHTML+="<div class='right'><br/><input type='button' class='button' value='Check' onclick='javascript:establecerMarcadores(2);' tabindex=1000></div>";
	objtabla = document.getElementById("tablamultiplicacion");
	if (objtabla!=null) {
		objtabla.innerHTML = strHTML;
	} else {
		alert("Not found the base table!");
	}
	//multiplicamos
	pintarNumero(num1,0,0, 'numero',0);
	
    pintarNumero(num2,1,0, 'sumarSuma',0);
	var numero1 =parseInt(num1);
	var numero2 =parseInt(num2);
	var resta = numero1 - numero2;
	
    pintarResta(resta,2,0, 'rdoSuma',1);
	obj = document.getElementById("F1-" + (len2));
	if (obj!=null) {
		obj.innerHTML="<b>-</b>";
	}
	obj = document.getElementById("input_F2-0");
	if (obj!=null) {
		obj.focus();
	}
}
function pintarResta(numero, fila, columna, clase, tabla) {
	obj = document.getElementById("F"+ fila);
	if (obj!=null) {
		//obj.className=clase;
	} else {
		alert("no existe fila"+ fila);
	}
	numero=numero.toString();
	lenNum = numero.length;
	if (numero=="0") {
		var rdo="";
		for (i=1;i<lenMultiplicando;i++) {
			rdo+="0";
		}
		numero = rdo;
		lenNum = numero.length;
	}
	c = lenNum-1+columna;
	for (i=0;i<lenNum;i++) {
		celda = "F"+ fila + "-" + c;
		obj = document.getElementById(celda);
		num = numero.substring(i,i+1)
		if (obj!=null) {
			//obj.innerHTML="<label class='" + clase + "' >" + num + "</label>";
			//obj.innerHTML="<label >&nbsp;" + num + "&nbsp;</label>";
			//innerCelda = "<label >";
			innerCelda = "";
			//if (num!=" " && fila>=2 && !resuelta) {
			if (num!=" ") {
				loc_tabindex = lenNum - i + ((fila -2)*lenNum);
				num_respuestas++;
				//obligamos a acertar
				//innerCelda+="<input type='text' class='inputText' size='1' onblur='javascript:return validar_class(this)' onchange='javascript:return comprobar(\"" + celda + "\", this.value, \"" + num + "\")' id='input_" + celda + "' maxlength='1' tabindex='" + loc_tabindex + "'></input>";
				innerCelda+="<input type='text' class='inputText' size='1' onchange='javascript:comprobar(\"" + celda + "\", this.value, \"" + num + "\")' id='input_" + celda + "' maxlength='1' tabindex='" + loc_tabindex + "'></input>";
				soluciones.push(new palabra(celda,tabla));
				lenSoluciones++;
			} else {
				//alert("no existe " + celda);
				innerCelda+="&nbsp;" + num + "&nbsp;";
			}
			//innerCelda+="</label>"
			obj.innerHTML=innerCelda;
			obj.className=clase;
		} else {
		}
		c--;
	}
}
function RandomNumberResta() {
x=document.getElementById("n").value;
v=document.getElementById("m").value;
if (!validar_num("n","m")) {return false;}
if (!validar_num_cifras("n","m")) {return false;}
if (eval(x<v)) {
	alert("The number of figures subtrahend must be less than or equal to those of minuend!");
	document.getElementById("m").value=x;
	document.getElementById("m").focus();
	return false;
}
minuendo = num_random(x);
sustraendo = num_random(v);
cont=0;
while(minuendo<sustraendo) {
	sustraendo = num_random(v);
	cont++;
	if (cont>200) {
		break;
	}
}
//alert("minuendo: " + minuendo + " sustraendo: " +sustraendo +  " en " + cont + " intentos" );
//window.status = "minuendo: " + minuendo + " sustraendo: " +sustraendo +  " en " + cont + " intentos"
restar(minuendo,sustraendo);
}
function RandomNumberDivision() {
iniciaContadores();
x=document.getElementById("n").value;
v=document.getElementById("m").value;
if (!validar_num("n","m")) {return false;}
if (!validar_num_cifras("n","m")) {return false;}
multiplicando = num_random(x);
multiplicador = num_random(v);
dividir(multiplicando,multiplicador);
}
function resolverDivision() {
iniciaContadores();
//inicializar();
	var objminuendo=document.getElementById("n");
	var objsustraendo=document.getElementById("m");
	minuendo=objminuendo.value;
	sustraendo=objsustraendo.value;
	if (validar(minuendo,objminuendo,"numero") && validar(sustraendo,objsustraendo,"numero")) {
	if (eval(parseInt(minuendo)<parseInt(sustraendo))) {
		alert("The dividend must be greater or equal to the divider!");
		return;
	}
	resuelta=true;
	dividir(minuendo,sustraendo);
	resuelta=false;
	var texto="Put the values for each line.<br><br>" +
	"To move to another line you can use the tab key or mouse." +
	"<br><br>Once you complete all the numbers pressed the button to check.<br><br>" +
	"GOOD LUCK!!!."
	pintarAyuda(texto);
	}
}
function ponerFoco() {
	var obj = document.getElementById("n");
	if (obj!=null) {
		document.getElementById("n").focus();
		document.forms["tablaMultiplicar"].elements["n"].focus();
	}
}
function validar(valor,objValidar,tipo) {
	var patron="";
	switch (tipo) {
		case "numero":
			//Numérico
			patron = /^(\d+)$/;
			msg="un número"
			break;
		default:
			patron= /^[a-zA-Z0-9@\s]+$/;
			break;
	}
	if (!patron.test(valor)) {	
		alert("Por favor, introduzca " + msg + " correcto.");
		if (objValidar!=null) objValidar.focus();
		return false;
	} else {
		return true;
	}
}
function validar_num(idObj1,idObj2) {
	var obj1=document.getElementById(idObj1);
	var obj2=document.getElementById(idObj2);
	if (obj1!=null && obj2!=null) {
		return (validar(obj1.value,obj1,"numero") &&	validar(obj2.value,obj2,"numero"));
	} else {
		alert("Uppss, An error occurred when checking the values!");
		return false;
	}
}
function validar_num_cifras(idObj1,idObj2) {
	var obj1=document.getElementById(idObj1);
	var obj2=document.getElementById(idObj2);
	if (obj1!=null && obj2!=null) {
		if (eval(parseInt(obj1.value)>10) || eval(parseInt(obj1.value)<1)) {
			alert("The number of digits must be between 1 and 10!");
			obj1.focus();
			return false;
		}
		if (eval(parseInt(obj2.value)>10) || eval(parseInt(obj2.value)<1)) {
			alert("The number of digits must be between 1 and 10!");
			obj2.focus();
			return false;
		}
		return true;
	} else {
		alert("Uppss, An error occurred when checking the values!");
		return false;
	}
}
function multiplicacionesPDF(opcion) {
	num_mult=document.getElementById("num_mult").value;
	var x=document.getElementById("n").value;
	var v=document.getElementById("m").value;
	if (!validar_num("n","m")) {return false;}
	if (!validar_num_cifras("n","m")) {return false;}
	if (opcion==2) {
		if (eval(parseInt(x)<parseInt(v))) {
			alert("The number of digits minuend must be greater than or equal to the number of digits of subtrahend!");
			return;
		}	
	}
	if (eval(num_mult>50)) {
		alert("The maximum number of operations per exercise is 50! But then you can generate another.");
		document.getElementById("num_mult").value="50";
		return false;
	}
	var strHTML="";
	var separador="";
	for (i=0;i<num_mult;i++) {
		multiplicando = num_random(x);
		multiplicador = num_random(v);
		if (opcion==2) {
			cont=0;
			while(multiplicando<multiplicador) {
				multiplicador = num_random(v);
				cont++;
				if (cont>200) {
					break;
				}
			}
		}
		if (opcion==3) {
			cont=0;
			while(multiplicando<multiplicador) {
				multiplicador = num_random(v);
				cont++;
				if (cont>200) {
					break;
				}
			}
		}
		strHTML+= separador + multiplicando+","+multiplicador;
		separador=",";
	}
	var pagina="";
	switch(opcion) {
		case 0: 
			//Multiplicaciones
			pagina="generadorMultiplicaciones.php";
			break;
		case 1: 
			//Sumas
			pagina="generadorSumas.php";
			break;
		case 2: 
			//Restas
			pagina="generadorRestas.php";
			break;			
		case 3: 
			//Restas
			pagina="generadorDivisiones.php";
			break;		
		default:
			break;
	}
	toPDFMultiplicar(strHTML,"Performs these multipli.",v,pagina);
}
function toPDFMultiplicar(strHTML,strTituloPagina,cifrasM,pagina) {
	//window.open("../../../generadorMultiplicaciones.php?html=" + strHTML+"&titulo="+strTituloPagina+"&cifrasM="+cifrasM,"","");
	window.open("../../../"+pagina+"?html=" + strHTML+"&titulo="+strTituloPagina+"&cifrasM="+cifrasM,"","");
}
 
//Esta función es distinta a la del js porque cambia el length
function incrementarAciertos() {
var objContador = document.getElementById("aciertos");
var num = parseInt(objContador.innerHTML);
if (num<lenSoluciones) {
num++;
objContador.innerHTML = num;
num_aciertos =num;
}
} 