function toogleBtnImage(idx) {
	var className = '';
	if (idx == 0) {
		className = 'btnIniciarNoSel';
		$('btnInit').removeClassName('btnIniciarSel');
	} else {
		className = 'btnIniciarSel';
		$('btnInit').removeClassName('btnIniciarNoSel');
	}
	$('btnInit').addClassName(className);
}

function readLetter(letter, cubo) {
//alert('0. la letra es: '+letter+ ' el cubo es: '+cubo);
	var cuboId = cubo.id;				
//alert('1. la letra es: '+letter);
	// Cambia aparioencia del cubo seleccionado
	changeCuboClass(letter, cuboId);
//alert('2. La letra seleccionada es: '+$('valueSelected').value);
	// Cambia la apariencia de la incognita a interrogacion
	changeIncognitaClass(true);
	
//alert('3. La letra seleccionada es: '+$('valueSelected').value);	
}

/*Esta funcion es temporal */
function readLetterInstruccion(letter, cubo) {
	var cuboId = cubo.id;				
//	alert('la letra es: '+letter);
	// Cambia aparioencia del cubo seleccionado
		/*guardar la letra de la opcion*/
		$('valueSelected').value = letter;		

		var id = 'opt';		
		var prefix = '';
		for (i=1;i<=4;i=i+1) {
			prefix = id + i;
			if ($(prefix) != null) {
				$(prefix).removeClassName('optSelected');
			}
		}
		$(cuboId).addClassName('optSelected');					
	// Termina el cambio de apariencia de los cubos

	// Cambia la apariencia de la incognita a interrogacion
	changeIncognitaClass(true);
	
//	alert('La letra seleccionada es: '+$('valueSelected').value);
	
}
		
function writeLetterInstruction(incognita) {
	var incogonitaId = incognita.id;
	var hiddenId = 'hidden_' + incogonitaId;
	var selLetter = $('valueSelected').value;

	if ($('opt1').hasClassName('optSelected') || $('opt2').hasClassName('optSelected') || $('opt3').hasClassName('optSelected') || $('opt4').hasClassName('optSelected')) {
		$(incogonitaId).update(selLetter);
		$(hiddenId).value = selLetter;
						
		// Cambia la apariencia de la incognita a normal
		changeIncognitaClass(false);
	}
}

function writeLetterInstruction2(incognita) {
	var incogonitaId = incognita.id;
	var hiddenId = 'hidden_' + incogonitaId;
	var selLetter = $('valueSelected').value;

	if ($('opt1').hasClassName('optSelected') || $('opt2').hasClassName('optSelected') || $('opt3').hasClassName('optSelected') || $('opt4').hasClassName('optSelected')) {
		//$(incogonitaId).update(selLetter);
		$(hiddenId).value = selLetter;
						
		// Cambia la apariencia de la incognita a normal
		//changeIncognitaClass(false);

		var classNombre = 'bad';
		if (selLetter =='ok') {
			classNombre = 'good';
		}
		// La segunda vez que se le da click, deja de se una incognita
		if ($(incogonitaId).hasClassName('incognita')) {
			$(incogonitaId).removeClassName('incognita');
		}
		$(incogonitaId).removeClassName('good');
		$(incogonitaId).removeClassName('bad');
		$(incogonitaId).addClassName(classNombre);
	}				
}

/**
 * Escribe la letra en el espacio de la incognita y registra el avance
 */
function writeLetter(incognita, idxTabb) {

	var incogonitaId = incognita.id;
	var hiddenId = 'hidden_' + incogonitaId + '_' + idxTabb;
	var selLetter = $('valueSelected').value;
	// Escribe sii una opcion esta seleccionadaa
	if ($('opt1').hasClassName('optSelected') || $('opt2').hasClassName('optSelected') || $('opt3').hasClassName('optSelected')) {
		//Registro el cambio. Sii no tiene una letra escrita en la incognita
		if ($(incogonitaId).innerHTML == '_') {
			keepAvance();			
		}
		
		$(incogonitaId).update(selLetter);
		$(hiddenId).value = selLetter;
//alert('entro: writeLetter(incognita, idxTabb) y al if. El valor del '+hiddenId+' hidden: '+$(hiddenId).value);
		// Cambia la apariencia de la incognita a normal
		changeIncognitaClass(false);
		
		
	}				
}

/**
 * Escribe la letra en el espacio de la incognita y registra el avance
 */
function writeWord(incognita, idxTabb) {
	var incognitaId = incognita.id;
	var hiddenId = 'hidden_' + incognitaId + '_' + idxTabb;
	var selection = $('valueSelected').value;

	// Escribe sii una opcion esta seleccionadaa
	if ($('opt1').hasClassName('optSelected') || $('opt2').hasClassName('optSelected')) {
		//Registro el avance. Sii el classname del elemento sea diferente al valor seleccionado		
		if ( $(hiddenId).value == '') { // Solo la primera vez reguistro avance
			keepAvance();
		}
				
		$(hiddenId).value = selection;
		// Quito la class incognita. Ya que al seleccionarla por primera vez deja de ser una incognita.
		$(incognitaId).removeClassName('incognita');
		$(incognitaId).removeClassName('bad');
		$(incognitaId).removeClassName('good');
		
		$(incognitaId).addClassName(selection);

		// Cambia la apariencia de la incognita a normal
		changeIncognitaClass(false);		
	}				
}

/**
 * Registra el avance o quita un avance.
 * Un avance es cada que se escribe una letra sobre la incognita.
 * Ojo! Tener cuidado de no incrementar el avance a lo bestia. 
 * Sii se incrementa el avance si la incognita no tiene valor.
 */
function keepAvance()
{
	var int_avance = $('avanceHidden').value;    
    int_avance = Math.floor(int_avance) + 1;    
    $('avanceHidden').value = int_avance;
  	//int_avance = Math.floor((int_avance/81)*100);	
	//window.parent.frames[0].document.getElementById('avanceDiv').innerHTML = int_avance+"%";
}

/** 
 * Cambia la apariencia de todas las incognitas.
 * wichType = true -> la incognita se pone cursor de help
 * wichType = false -> la incognita se pone cursor de normal
 */
function changeIncognitaClass(wichType) {
	/* Al momento de capturar la letra de la opcion tengo que barrer a 
	todos los elementos del divSentences que tengan la class
	incognita y solo a etos cambiarle el puntero del mouse. */
	var incognitas = $('mountIncognitas').value;
	var prefix = 'incognita';
	var className;
	
	if (wichType) {
		className = 'cursorIncognitaHelp';
	} else {
		className = 'cursorIncognitaNormal';
	}
		
	for (i=1; i<=incognitas; i=i+1) {	
		incogId = prefix + i;
		$(incogId).addClassName(className);
	}
}

/* Cambia la apariencia de la option y guarda la letra seleccionada en un hidden */
function changeCuboClass(letter, cuboId) {
		var id = 'opt';		
		var prefix = '';
		for (i=1;i<=3;i=i+1) {
			prefix = id + i;
			if ($(prefix) != null) {
				$(prefix).removeClassName('optSelected');
			}
		}
		$(cuboId).addClassName('optSelected');					
		$('valueSelected').value = letter;
	//}
	
}

/* Este metodo lo usan las preguntas que usan radio para seleccionar la respuesta */
function setValueIncognitaRadio(incognitaRadio, idxTabb) {
	var incognitaId = incognitaRadio.id;
	var radioGrpName = incognitaRadio.name;	
	var hiddenId = 'hidden_' + incognitaId + '_' + idxTabb;
	var auxHidden = '';
	var auxRadio = '';
	var sufix = '';
	var optId = 'optionSeleccionada_'+idxTabb+'_';
	var mountIncognitas = $('mountIncognitas').value;
	
	
//alert('incognitas: '+mountIncognitas);
	// Resetear todos los hiddens de esta tabb
	for (i=1; i<=mountIncognitas; i=i+1) {			
		auxHidden = 'hidden_incognita' + i + '_' + idxTabb;
		auxRadio = 'incognita'+i;
//		alert('grupo de los demas radio:: '+$(auxRadio).name+' Grupo radio seleccionado: '+radioGrpName);
		if ($(auxRadio).name == radioGrpName) {					
			$(auxHidden).value = '';		 
		}
	}
	
	sufix = radioGrpName.substring(radioGrpName.lastIndexOf('_') + 1, radioGrpName.length);
	optId = optId + sufix;
//	alert('optId: '+optId);
	
	if ($(optId).value == '') {
		keepAvance();
	}
	
	// el valor que ponga a la incognita no importa. ya que por logica de negocio tengo que comparar el valor.
	// si el valor de la incognita es <> de "" entonces el valor a insertar es 1	
	$(hiddenId).value = idxTabb;
	$(optId).value = $(hiddenId).value;
}

/**
 * Valida que todas las casillas esten llenas.
 * De lo contrario no deja avanzar.
 * กก Pensar en hacer este metodo generico para todas las pruebas !!
 */
function validatedTest(test) {
	var incognitas = $('mountIncognitas').value;
	var prefix = 'hidden_incognita';				
					
/*	if (test == 1) {
		for (i=1; i<=incognitas; i=i+1) {	
			incogId = prefix + i;
			if ($(incogId).value == '') {
				alert("No a contestado el ejemplo ...");
				return;
			}
		}
	}*/
	//alert('Ya terminaste el ejemplo');
	$('form1').submit();				
}