/* FUNCIONES DE CORRECCION DE LOS EJERCICIOS */			

function corrigeEjercicioTipoTest(idEjercicio, scorm){
	var resultado = true;
        var solCorrecta = "";
        var solAlumno = "";
        
	for(var i=0; i<eval("listaIdOpciones_" + idEjercicio).length; i++){
		var aux = document.getElementById('idOpcion_' + eval("listaIdOpciones_" + idEjercicio)[i]).checked;

                if(aux == true)
                    solAlumno += "Opción "+parseInt(i+1)+"; ";//+": "+document.getElementById("labelIdOpcionTest_" + eval("listaIdOpciones_" + idEjercicio)[i]).innerHTML;
                
		// LA RESPUESTA CORRECTA DEL EJERCICIO
		if(eval("listaCorrectas_" + idEjercicio)[i] == true){
			document.getElementById('idLista_' + eval("listaIdOpciones_" + idEjercicio)[i]).style.border =
				"2px solid green";
                        
                        solCorrecta += "Opción "+parseInt(i+1)+"; ";//+": "+document.getElementById('labelIdOpcionTest_' + eval("listaIdOpciones_" + idEjercicio)[i]).innerHTML;
		}

		// SI HEMOS MARCADO UNA QUE NO ES CORRECTA PONEMOS LA CRUZ ROJA
		if(eval("listaCorrectas_" + idEjercicio)[i] == false && aux == true){
				document.getElementById('idResultadoCorreccion_' + eval("listaIdOpciones_" + idEjercicio)[i]).innerHTML = 
					"<img src=\"imagenes/cruzroja.gif\" width=\"10\" height=\"10\" alt=\"Correcto\" />";
		}

		// SI HEMOS MARCADO UNA QUE ES CORRECTA PONEMOS EL ASPA VERDE
		if(eval("listaCorrectas_" + idEjercicio)[i] == true && aux == true){
				document.getElementById('idResultadoCorreccion_' + eval("listaIdOpciones_" + idEjercicio)[i]).innerHTML = 
					"<img src=\"imagenes/aspaverde.gif\" width=\"10\" height=\"10\" alt=\"Incorrecto\" />";
		}

		resultado = resultado && (aux == eval("listaCorrectas_" + idEjercicio)[i]);
	}

	if( eval("estadoEjercicio_"+idEjercicio)==-1 )
	{
        if( resultado)
            eval("estadoEjercicio_"+idEjercicio+" = 1 ");
        else
            eval("estadoEjercicio_"+idEjercicio+" = 0 ");        
        
        if(scorm=='3')
        {
            finishInteraction(idEjercicio,solAlumno, solCorrecta);
        }        
    }   
}
function limpiaEjercicioTipoTest(idEjercicio){

	for(var i=0; i<eval("listaIdOpciones_" + idEjercicio).length; i++){
		// DEJAMOS LOS CHECKBOX VACIOS
		document.getElementById('idOpcion_' + eval("listaIdOpciones_" + idEjercicio)[i]).checked = "";
		// QUITAMOS EL RESULTADO DE LA CORRECCION
		document.getElementById('idResultadoCorreccion_' + eval("listaIdOpciones_" + idEjercicio)[i]).innerHTML = "";
		// QUITAMOS LOS BORDES
		document.getElementById('idLista_' + eval("listaIdOpciones_" + idEjercicio)[i]).style.border = "";
	}

}



function corrigeEjercicioTipoOrdenacion(idEjercicio, scorm) {

        // MARCAMOS EL EJERCICIO COMO CORREGIDO
        var result = true;
        var solAlumno = "", solCorrecta="";

        var respuesta = Sortable.serialize('listaOrdenacion_'+idEjercicio);

        var resultado = respuesta.split("&");

        for(var i=0; i<resultado.length; i++){
                var aux = resultado[i].substring(resultado[i].indexOf("=")+1, resultado[i].length );
                if(aux == eval("listaCorrectas_" + idEjercicio)[i]){

                        new Effect.Highlight("item_"+aux, {startcolor:'#00EE88', endcolor:'#FFFFFF'});
                        document.getElementById('idResultadoCorreccion_' + aux).innerHTML = "<img src=\"imagenes/aspaverde.gif\" width=\"10\" height=\"10\" alt=\"Correcto\" />";

                }	
                else{
                        new Effect.Highlight("item_"+aux, {startcolor:'#FF7700', endcolor:'#FFFFFF'});
                        document.getElementById('idResultadoCorreccion_' + aux).innerHTML = "<img src=\"imagenes/cruzroja.gif\" width=\"10\" height=\"10\" alt=\"Incorrecto\" />";
                }

                //solAlumno += parseInt(i+1)+".- "+ document.getElementById('item_' + aux).innerHTML.split("</span>")[1]+";\n ";
                //solCorrecta += parseInt(i+1)+".- "+ document.getElementById('item_' + eval("listaCorrectas_" + idEjercicio)[i]).innerHTML.split("</span>")[1]+" ";
                
                result = result && (aux == eval("listaCorrectas_" + idEjercicio)[i]);
        }

		//Almacenamiento de la solucion para mostrar en SCORM
		for(var i=0;i<eval("listaDesorden_" + idEjercicio).length;i++)
		{
			var aux = eval("listaDesorden_" + idEjercicio)[i];
			
			for(var j=0;j<eval("listaCorrectas_" + idEjercicio).length;j++)
			{
				if(aux==eval("listaCorrectas_" + idEjercicio)[j])
					solCorrecta += "OPC " + parseInt(i+1) + " => " + parseInt(j+1) + "; ";
			}
			
			for(var j=0;j<resultado.length;j++)
			{
				if(aux==resultado[j].substring(resultado[j].indexOf("=")+1, resultado[j].length ))
					solAlumno += "OPC " + parseInt(i+1) + " => " + parseInt(j+1) + "; ";				
			}				
		}		

		
        //Effect.Highlight(this)

	if( eval("estadoEjercicio_"+idEjercicio)==-1 )
	{        
        if( result )
            eval("estadoEjercicio_"+idEjercicio+" = 1 ");
        else
            eval("estadoEjercicio_"+idEjercicio+" = 0 ");           

        if(scorm=='3')
        {
            finishInteraction(idEjercicio,solAlumno, solCorrecta);
        }
	}
}

function limpiaEjercicioTipoOrdenacion(idEjercicio){
        document.getElementById("contenedorOpciones_"+idEjercicio).innerHTML = elementosInicial;
        Sortable.create("listaOrdenacion_"+idEjercicio, {constraint:'vertical',dropOnEmpty:true,tag:'div',containment:["listaOrdenacion_"+idEjercicio]});
}

function corrigeEjercicioTipoAsociacion(idEjercicio, scorm){

	colorFlecha = "red";
        var numTotales=0,numCorrectas=0;
        var solAlumno="",solCorrecta="";
	
	var arrayCorrectas = new Array();
        var arrayCorrectasAux = new Array();
        
        arrayCorrectasAux = eval("respuestaUsuario_"+idEjercicio);
        eval("respuestaUsuario_"+idEjercicio+" = new Array();");
	
        // PRIMERO LAS PONEMOS TODAS EN ROJO
	for(var i=0; i<arrayCorrectasAux.length; i++){

		var aux = arrayCorrectasAux[i];
		var inicio = aux.substring(0, aux.indexOf("_"));
		var fin = aux.substring(aux.indexOf("_")+1, aux.length);

		marcaInicio("izquierda_" + inicio, idEjercicio);
		marcaFin("derecha_" + fin, idEjercicio);
		
                if(inicio==fin)
                    arrayCorrectas.push(inicio);
		
		numTotales++;
		//solAlumno += inicio + " => " + fin + ", ";
	}


	// DESPUES PONEMOS EN VERDE LAS CORRECTAS
	colorFlecha = "green";

	// RECORREMOS EL ARRAY DE SOLUCIONES
	for(var i=0; i<eval("listaCorrectas_"+idEjercicio).length; i++){

		//idObjetoInicio = "izquierda_" + eval("listaCorrectas_"+idEjercicio)[i];
		marcaInicio("izquierda_" + eval("listaCorrectas_"+idEjercicio)[i], idEjercicio);
		marcaFin("derecha_" + eval("listaCorrectas_"+idEjercicio)[i], idEjercicio);
                
        //solCorrecta += eval("listaCorrectas_"+idEjercicio)[i] + " => " + eval("listaCorrectas_"+idEjercicio)[i] + ", ";

	}

	colorFlecha = "blue";
	
	// MARCAMOS LOS CHECKBOX DE LAS QUE HEMOS TENIDO CORRECTAS
	for(var i=0; i<arrayCorrectas.length; i++){

		document.getElementById("izquierda_"+arrayCorrectas[i]).checked = "checked";
		document.getElementById("derecha_"+arrayCorrectas[i]).checked = "checked";			
                
                numCorrectas++;
        }


		for(var i=0;i<eval("listaCorrectas_" + idEjercicio).length;i++)
		{
			var aux = eval("listaCorrectas_" + idEjercicio)[i];
			
			for(var j=0;j<eval("listaDesorden_" + idEjercicio).length;j++)
			{
				if(aux==eval("listaDesorden_" + idEjercicio)[j])
					solCorrecta += "IZDA " + parseInt(i+1) + " => DCHA " + parseInt(j+1) + "; ";
			}
			
			for(var j=0;j<eval("listaCorrectas_"+idEjercicio).length;j++)
			{
				var inicio = eval("respuestaUsuario_"+idEjercicio)[j].substring(0, eval("respuestaUsuario_"+idEjercicio)[j].indexOf("_"));
				if(aux==parseInt(inicio))
					solAlumno += "IZDA " + parseInt(i+1) + " => DCHA " + parseInt(j+1) + "; ";				
			}				
		}


	if( eval("estadoEjercicio_"+idEjercicio)==-1 )
	{        
            if( numTotales == numCorrectas )
                eval("estadoEjercicio_"+idEjercicio+" = 1 ");
            else
                eval("estadoEjercicio_"+idEjercicio+" = 0 ");       


            if(scorm=='3')
            {
                finishInteraction(idEjercicio,solAlumno, solCorrecta);
            }       
	}
}


function limpiaEjercicioTipoAsociacion(idEjercicio){
	jg[numEjercicioActual].clear();
	// DESMARCAR CHECKBOXES
	for(var i=0; i<eval("listaCorrectas_"+idEjercicio).length; i++){
            document.getElementById("izquierda_" + eval("listaCorrectas_"+idEjercicio)[i]).checked=false;
            document.getElementById("derecha_" + eval("listaCorrectas_"+idEjercicio)[i]).checked=false;
	}

	//LIMPIAR ARRAY DE RESPUESTAS
	while(eval("respuestaUsuario_"+idEjercicio).length > 0){
		eval("respuestaUsuario_"+idEjercicio).pop();
	}
}

function corrigeEjercicioTipoTextoLibre(idEjercicio, scorm){
    
	var solAlumno="",solCorrecta="";
	
	eval("estadoEjercicio_"+idEjercicio+" = 1 ");
	solAlumno = tinyMCE.getContent(tinyMCE.getEditorId("txtTextoLibre_"+idEjercicio));
	
	if(scorm == '3')    
            finishInteraction(idEjercicio,solAlumno, solCorrecta);

}

function corrigeEjercicioTipoCompletarHuecos(idEjercicio, scorm){
    
    var solAlumno="",solCorrecta="";

    eval("estadoEjercicio_"+idEjercicio+" = 1 ");
    solAlumno = "solucion alumno";
    solCorrecta = "solucion correcta"

    if(scorm == '3')
            finishInteraction(idEjercicio,solAlumno, solCorrecta);  

}

