/* Archivo de funciones utilizada por Tick, programa creado por Pablo Sanz Martín.
Fecha: Noviembre de 2000
Útima actualización: 11.11.00

Funciones:
	showSolsRadio(f)	Muestra las soluciones de RADIOS.
	BuidaOptions(f)	Vacía las opciones. Resetea.
	preLoadImages(....) Precarga las imágenes explicitadas como argumentos
	function getLetra(l)	 Convierte el número de opción a A, B, C...
	function checkItemsMul()	Corrige con imagen los ejercicios
	function HideCheckImages()	Oculta las imágenes de la corrección
*/

//Determina la multiplicidad de soluciones

var intentos = 0;

//imagenes precargadas
var imgOk=new Image();
var imgBad=new Image();
var imgQ=new Image();

//Imagenes del Tick
var imgThis = new Image();
var imgBlank = new Image();
var imgNumBlank = new Image();

var imgDecOk = new Image();
var imgUniOk = new Image();
var imgDecBad = new Image();
var imgUniBad = new Image();
var imgDecDuda = new Image();
var imgUniDuda = new Image();
var imgDecDia = new Image();
var imgUniDia = new Image();

var imgDiana = new Image();

var corregir = new Image();
var corregiron = new Image();

var solucions = new Image();
var solucionson = new Image();

var denou = new Image();
var denouon = new Image();

var up = new Image();
var upon = new Image();

var izda = new Image();
var izdaon = new Image();

var dcha = new Image();
var dchaon = new Image();

var imagTick = new Array;

//Permite determinar si la imagen de las soluciones se visualiza o no
var showSols = true;


function resultadoCrea()	{

	this.ok = 0;
	this.bad = 0;
	this.unknown = 0;

	this.clear = clear;

}

function clear()	{

	alert(this.ok);
	this.ok = 0;
	this.bad = 0;
	this.unknown = 0;

}

var resultado = new resultadoCrea();

//Carga las imágenes--------------------------------------------------------------------------------
function preLoadImagesTick()	{


	if (!document.images) return;

	imgOk.src = 'ok.gif';
	imgBad.src = 'mal.gif';
	imgQ.src = 'neutral.gif';
	imgThis.src = 'right.gif';
	imgBlank.src = 'blank.gif';
	imgNumBlank.src = 'numbalnk.gif';
	imgDiana.src = 'diana.gif';

	imgDecOk.src = '0.gif';
	imgUniOk.src = '0.gif';
	imgDecBad.src = '0.gif';
	imgUniBad.src = '0.gif';
	imgDecDia.src = '0.gif';
	imgUniDia.src = '0.gif';


	corregir.src = 'corregir.gif';
	corregiron.src = 'corregiron.gif';
	solucions.src = 'solucions.gif';
	solucionson.src = 'solucionson.gif';
	denou.src = 'denou.gif';
	denouon.src = 'denouon.gif';
	up.src = 'up.gif';
	upon.src = 'upon.gif';
	izda.src = 'izda.gif';
	izdaon.src = 'izdaon.gif';
	dcha.src = 'dcha.gif';
	dchaon.src = 'dchaon.gif';

	for (var i = 0; i<10; i++) {
		imagTick[i] = new Image();
		imagTick[i].src = i+'.gif';
	} 	

}

//Muestra soluciones con iconos---------------------------------------------------------------
function showSolsRadioTick()	{

	var contador = -1;
	var contOpciones = 0;	
	var resultados= new Array();
	var opciones = new Array();
	var eleccion = new Array();

	var temp = '';
	radio = 0;

	if (!document.images) return;

	for(i=0; i<document.forms[0].elements.length; i++) {
		if ((document.forms[0].elements[i].type != 'button') && (document.forms[0].elements[i].type != 'hidden')) {
			switch (document.forms[0].elements[i].type)	{
				case "radio" :	{
					radio = 1;
					if (temp != document.forms[0].elements[i].name) {
						contador++;
						temp = document.forms[0].elements[i].name;
						opciones[contador] = new Array();
						eleccion[contador] = new Array();
						contOpciones = 0;
					}
					opciones[contador][contOpciones] = document.forms[0].elements[i].value;			
					eleccion[contador][contOpciones] = document.forms[0].elements[i].checked;			
					contOpciones++;
					break;
				}
				default: {
			if (contador < 0) contador = 0;
					resultados[contador] = document.forms[0].elements[i].options[document.forms[0].elements[i].selectedIndex].value;
					contador++;
				}
			}
		}
	}


	contador = 0;
	contOpciones = 0;
	
	if(radio == 1)	{
		for(i=0; i<opciones.length; i++)	{
			for(l = 0; l < opciones[i].length; l++)	{
   				contador = i+1;
	
				if (opciones[i][l] == "si") {
					if(showSols) {
						eval("document.ans"+contador+getLetra(l)).src = imgThis.src;
						break;
					}
					else {
						eval("document.ans"+contador+getLetra(l)).src = imgQ.src;
						break;
					}
				}
				else {}
			}
		}
	}
	else {
		for(i=0; i<resultados.length; i++)	{
   			contador = i+1;
			if (resultados[i] == "si") eval("document.imgitem"+contador).src = imgOk.src
			else eval("document.imgitem"+contador).src = imgBad.src;
		}
	}
	showSols = !showSols;
}

//Obtiene letra en función de la solución-------------------------------------------------------
function getLetra(l)	{

				var letra = '';
				switch (l)	{
					case 0: {
						letra = 'A';
						break;
					}
					case 1: {
						letra = 'B';
						break;
					}
					case 2: {
						letra = 'C';
						break;
					}
					case 3: {
						letra = 'D';
						break;
					}
					case 4: {
						letra = 'E';
						break;
					}
				}
				return (letra);
}


//Vacía el form---------------------------------------------------------------------------------
function BuidaOptions()	{

	for(var i=0; i<document.forms[0].elements.length; i++) 	{
		if(document.forms[0].elements[i].type=='radio')
			if(document.forms[0].elements[i].defaultChecked==false) document.forms[0].elements[i].checked=false;
	}

	HideCheckImages();
	showCeros();
}

//Rompe frames------------------------------------------------------------------------------------
function breakFrames() {
                if (self.parent.frames.length != 0)
                        self.parent.location=document.location;
                }


//Comprueba la solucions de los items y los marca con símbolos----------------------------------
function checkItemsMul()	{

	var contador = -1;
	var contOpciones = 0;	
	var resultados= new Array();
	var opciones = new Array();
	var eleccion = new Array();

	var temp = '';
	radio = 0;

	resultado.ok = 0;
	resultado.bad = 0;
	resultado.inknown = 0;

	intentos++;

	if (!document.images) return;

	for(i=0; i<document.forms[0].elements.length; i++) {
		if ((document.forms[0].elements[i].type != 'button') && (document.forms[0].elements[i].type != 'hidden')) {
			switch (document.forms[0].elements[i].type)	{
				case "radio" :	{
					radio = 1;
					if (temp != document.forms[0].elements[i].name) {
						contador++;
						temp = document.forms[0].elements[i].name;
						opciones[contador] = new Array();
						eleccion[contador] = new Array();
						contOpciones = 0;
					}
					opciones[contador][contOpciones] = document.forms[0].elements[i].value;			
					eleccion[contador][contOpciones] = document.forms[0].elements[i].checked;			
					contOpciones++;
					break;
				}
				default: {
			if (contador < 0) contador = 0;
					resultados[contador] = document.forms[0].elements[i].options[document.forms[0].elements[i].selectedIndex].value;
					contador++;
				}
			}
		}
	}


	contador = 0;
	contOpciones = 0;
	
	if(radio == 1)	{
		for(i=0; i<opciones.length; i++)	{
			for(l = 0; l < opciones[i].length; l++)	{
   				contador = i+1;
				if ((opciones[i][l] == "si") && (eleccion[i][l])) {
					eval("document.imgitem"+contador).src = imgOk.src;
					resultado.ok++;
					break;
				}
				else {
					eval("document.imgitem"+contador).src = imgBad.src;
					resultado.bad++;
				}
			}
		}
	}
	else {
		for(i=0; i<resultados.length; i++)	{
   			contador = i+1;
			if (resultados[i] == "si") eval("document.imgitem"+contador).src = imgOk.src
			else eval("document.imgitem"+contador).src = imgBad.src;
		}
	}

	resultado.bad = contador - resultado.ok;
	showResultado();
}

//Oculta los iconos de la corrección------------------------------------------------------------------
function HideCheckImages()	{

	var contador=0;
	var resultados= 0;

	var temp = '';
	radio = 0;

	if (!document.images) return;

	for(i=0; i<document.forms[0].elements.length; i++) {
		switch (document.forms[0].elements[i].type)	{
				case "radio" :	{
					radio = 1;
					if (temp != document.forms[0].elements[i].name) {
						resultados++;
						temp =  document.forms[0].elements[i].name ;
					}
					break;
				}
				case "button": {
					break;
				}
				case "submit": {
					break;
				}
				case "hidden": {break}
				case "select-one": {
					resultados++;
					break;
				}
				default: {break}
		}
	}


	contador=0;

	if(radio == 1) {
		for(i=0; i<resultados; i++)	{
   			contador = i+1;
			eval("document.imgitem"+contador).src = imgQ.src;
		}
	}
	else {
		for(i=0; i<resultados; i++)	{
   			contador = i+1;
			eval("document.imgitem"+contador).src = imgQ.src;
		}
	}
		showSols = false;
		showSolsRadioTick();
}

//Intercambia imágenes------------------------------------------------------------------------------
function rollImage(img, imgSrc)	{

	if (document.images) document[img].src = imgSrc;

}

function imageOn(imgName)	{

	if (document.images) document[imgName].src = eval(imgName+'on.src');

}	

function imageOff(imgName)	{

	if (document.images) document[imgName].src = eval(imgName+'.src');

}	

function showCeros()	{

		if(!document.images) return;

		document.images.decok.src = imagTick[0].src;
		document.images.uniok.src = imagTick[0].src
		document.images.decbad.src = imagTick[0].src
		document.images.unibad.src = imagTick[0].src
//		document.images.decdia.src = imagTick[0].src
//		document.images.unidia.src = imagTick[0].src
}

function showResultado()	{

	if (!document.images) return;

	var temp = '"'+resultado.ok+'"';
	var uni = 0;
	var dec = 0;

	if(resultado.ok < 10) {	
		uni = temp.substr(1, 1);
		dec = 0;
	}
	else {
		uni = temp.substr(2, 1);
		dec = temp.substr(1, 1);
	}
	document.images.uniok.src = imagTick[uni].src;
	document.images.decok.src = imagTick[dec].src;


	temp = '"'+resultado.bad+'"';
	if(resultado.bad < 10) {	
		uni = temp.substr(1, 1);
		dec = 0;
	}
	else {
		uni = temp.substr(2, 1);
		dec = temp.substr(1, 1);
	}
	document.images.unibad.src = imagTick[uni].src;
	document.images.decbad.src = imagTick[dec].src;

	temp = '"'+intentos+'"';
	if(intentos< 10) {	
		uni = temp.substr(1, 1);
		dec = 0;
	}
	else {
		uni = temp.substr(2, 1);
		dec = temp.substr(1, 1);
	}
	document.images.unidia.src = imagTick[uni].src;
	document.images.decdia.src = imagTick[dec].src;

}

function init()	{

	showCeros();

}

function InsertaObjeto(link, tipo)	{

	var navegador=QueNavegador();

	if(navegador=="n4") {
		if(tipo=="video") document.write('<EMBED SRC='+link+' ALIGN="left" HEIGHT=180 WIDTH=240> ')
		else document.write('<EMBED SRC='+link+' ALIGN="left" HEIGHT=60 WIDTH=140> ');
	}
	else if(navegador=="ie4") {
		if(tipo=="video") document.write('<EMBED SRC='+link+' ALIGN="left"> ')
		else document.write('<EMBED SRC='+link+' ALIGN="left"> ');
	};

}

function QueNavegador()	{

	if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)==2) { return "n2"; }
	if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)==3) { return "n3"; }
	if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4) { return "n4"; }
	if(navigator.appVersion.indexOf("MSIE 3.0") != -1) { return "ie3"; }
	if(navigator.appVersion.indexOf("MSIE 4.0") != -1) { return "ie4"; }

}
