/* 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);
                
		// 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);
		}

		// 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\">";
		}

		// 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\">";
		}

		resultado = resultado && (aux == eval("listaCorrectas_" + idEjercicio)[i]);
	}

        if( resultado )
            eval("estadoEjercicio_"+idEjercicio+" = 1 ");
        else
            eval("estadoEjercicio_"+idEjercicio+" = 0 ");        
        
        if(scorm=='1')
        {
            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:'#E8EFFF'});
                        document.getElementById('idResultadoCorreccion_' + aux).innerHTML = "<img src=\"imagenes/aspaverde.gif\" width=\"10\" height=\"10\">";

                }	
                else{
                        new Effect.Highlight("item_"+aux, {startcolor:'#FF7700', endcolor:'#E8EFFF'});
                        document.getElementById('idResultadoCorreccion_' + aux).innerHTML = "<img src=\"imagenes/cruzroja.gif\" width=\"10\" height=\"10\">";
                }

                solAlumno += parseInt(i+1)+".- "+ document.getElementById('item_' + aux).innerHTML.split("</span>")[1]+"; ";
                solCorrecta += parseInt(i+1)+".- "+ document.getElementById('item_' + eval("listaCorrectas_" + idEjercicio)[i]).innerHTML.split("</span>")[1]+"; ";
                
                result = result && (aux == eval("listaCorrectas_" + idEjercicio)[i]);
        }
        //Effect.Highlight(this)
        
        if( result )
            eval("estadoEjercicio_"+idEjercicio+" = 1 ");
        else
            eval("estadoEjercicio_"+idEjercicio+" = 0 ");           

        if(scorm=='1')
        {
            finishInteraction(idEjercicio,solAlumno, solCorrecta);
        }
}

/*function corrigeEjercicioTipoOrdenacion(idEjercicio){
    
	// OBTENEMOS UN ARRAY CON LAS OPCIONES CONTESTADAS
	var contestacion = new Array();
	var tam, lista, tags, cadena;

        tam = 0;
	formulario = document.getElementById("contenedorOpciones_"+idEjercicio);
	tags = formulario.getElementsByTagName("div");
	for(var i = 0; i<tags.length; i++) {
		if(tags[i].getAttribute("name")!=null){
			cadena = tags[i].getAttribute("name");
			if (cadena == "opcion"){
				var auxa = tags[i].id;
				auxa = auxa.substring(auxa.indexOf("_")+1, auxa.length);
				contestacion[tam++] = auxa;
			}
		}
	}

	var resultado = true;
	for(var i=0; i<contestacion.length; i++){
		if(eval("listaCorrectas_" + idEjercicio)[i] == contestacion[i])
			document.getElementById('idResultadoCorreccion_' + contestacion[i]).innerHTML = 
				"<img src=\"imagenes/aspaverde.gif\" width=\"10\" height=\"10\">";
		else{
			document.getElementById('idResultadoCorreccion_' + contestacion[i]).innerHTML = 
				"<img src=\"imagenes/cruzroja.gif\" width=\"10\" height=\"10\">&nbsp;" + eval("listaCorrectas2_" + idEjercicio)[contestacion[i]];
		}		

		resultado = resultado && (contestacion[i] == eval("listaCorrectas_" + idEjercicio)[i]);
	}

        if( resultado )
            eval("estadoEjercicio_"+idEjercicio) = 1;
        else
            eval("estadoEjercicio_"+idEjercicio) = 0;        

}*/

function limpiaEjercicioTipoOrdenacion(idEjercicio){
        document.getElementById("contenedorOpciones_"+idEjercicio).innerHTML = elementosInicial;
        Sortable.create("listaOrdenacion_"+idEjercicio, {constraint:'vertical',dropOnEmpty:true,tag:'div',containment:["listaOrdenacion_"+idEjercicio]});
}

/*function limpiaEjercicioTipoOrdenacion(idEjercicio){
	
	// OBTENEMOS UN ARRAY CON LAS OPCIONES CONTESTADAS
	var contestacion = new Array();
	var tam, lista, tags, cadena;
	tam = 0;
	formulario = document.getElementById("contenedorOpciones_"+idEjercicio);
	tags = formulario.getElementsByTagName("div");
	for(var i = 0; i<tags.length; i++) {
		if(tags[i].getAttribute("name")!=null){
			cadena = tags[i].getAttribute("name");
			if (cadena == "opcion"){
				var auxa = tags[i].id;
				auxa = auxa.substring(auxa.indexOf("_")+1, auxa.length);
				contestacion[tam++] = auxa;
			}
		}
	}
        
        var nodo = new Array();
        
	for(var i=0;i<eval("listaCorrectas_"+idEjercicio).length; i++){
		//posHueco.push(findPos(document.getElementById(idEjercicio+"_"+i)));
                nodo[i] = eval("hijos_" + idEjercicio)[i].cloneNode(true);
	}        
	for(var i=0;i<eval("listaCorrectas_"+idEjercicio).length; i++){
		//posHueco.push(findPos(document.getElementById(idEjercicio+"_"+i)));
                document.getElementById(idEjercicio+"_"+i).removeChild(document.getElementById("opcion_"+contestacion[i])).cloneNode(true);
	}   
	for(var i=0;i<eval("listaCorrectas_"+idEjercicio).length; i++){
		//posHueco.push(findPos(document.getElementById(idEjercicio+"_"+i)));
                document.getElementById(idEjercicio+"_"+i).appendChild(nodo[i]);
	}           
 	
	//Detect IE5.5+
	version=0
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		temp=navigator.appVersion.split("MSIE")
		version=parseFloat(temp[1])
	}
	
	
	// PRIMER HUECO
	var posHueco = new Array();

	for(var i=0;i<eval("listaCorrectas_"+idEjercicio).length; i++){
		posHueco.push(findPos(document.getElementById(idEjercicio+"_"+i)));
	}	

	
	if(version>=5.5){
		
		//alert("La version es mayor que 5.5");
		
		
		for(var i=0;i<eval("listaCorrectas3_"+idEjercicio).length; i++){
			//alert(document.getElementById(eval("listaCorrectas3_" + idEjercicio)[i]));
			document.getElementById(eval("listaCorrectas3_" + idEjercicio)[i]).style.left = posHueco[0][0] + 2;
			document.getElementById(eval("listaCorrectas3_" + idEjercicio)[i]).style.top = posHueco[0][1] + 2;
		}
	}
	else{
		
		for(var i=0;i<eval("listaCorrectas3_"+idEjercicio).length; i++){
			document.getElementById(eval("listaCorrectas3_" + idEjercicio)[i]).style.left = posHueco[0][0];
			document.getElementById(eval("listaCorrectas3_" + idEjercicio)[i]).style.top = posHueco[0][1];
		}
	}	
}*/

function corrigeEjercicioTipoAsociacion(idEjercicio, scorm){

	colorFlecha = "red";
        var numTotales=0,numCorrectas=0;
        var solAlumno="",solCorrecta="";
	
	var arrayCorrectas = new Array();
	
        // PRIMERO LAS PONEMOS TODAS EN ROJO
	for(var i=0; i<eval("respuestaUsuario_"+idEjercicio).length; i++){

		var aux = eval("respuestaUsuario_"+idEjercicio).pop();
		var inicio = aux.substring(0, aux.indexOf("_"));
		var fin = aux.substring(aux.indexOf("_")+1, aux.length);

		//alert(inicio + " -  " + fin);
		marcaInicio("izquierda_" + inicio, idEjercicio);
		marcaFin("derecha_" + fin, idEjercicio);
		
		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++;
        }

        
        if( numTotales == numCorrectas )
            eval("estadoEjercicio_"+idEjercicio+" = 1 ");
        else
            eval("estadoEjercicio_"+idEjercicio+" = 0 ");       

        
        if(scorm=='1')
        {
            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 == '1')    
        finishInteraction(idEjercicio,solAlumno, solCorrecta);
}

function corrigeEjercicioTipoCompletarHuecos(idEjercicio, scorm){
    
    var solAlumno="",solCorrecta="";

    eval("estadoEjercicio_"+idEjercicio+" = 1 ");
    solAlumno = "solucion alumno";
    solCorrecta = "solucion correcta"
    
    if(scorm == '1')
        finishInteraction(idEjercicio,solAlumno, solCorrecta);    
}


