//^^^^^^^^^^^^^COSTANTI^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

var TraficLight = new Array(4);    
TraficLight[0] = "/images/pulsantiera/lightOff.gif";
TraficLight[1] = "/images/pulsantiera/lightGreen.gif";
TraficLight[2] = "/images/pulsantiera/lightOrange.gif";
TraficLight[3] = "/images/pulsantiera/lightRed.gif";

var EsitiPositivi = new Array(4);    
EsitiPositivi[0] = "Stai procedendo benissimo! Continua!";
EsitiPositivi[1] = "Ottimo lavoro!, Andiamo avanti!";
EsitiPositivi[2] = "Adesso ti meriti proprio un caffè!";
EsitiPositivi[3] = "Stiamo procedendo molto bene!";
EsitiPositivi[4] = "Ok, andiamo avanti!";
EsitiPositivi[5] = "Ok, procediamo!";
EsitiPositivi[6] = "Fin qui, tutto bene!";
EsitiPositivi[7] = "OK!";
EsitiPositivi[8] = "E' tutto corretto. Bravo!";
EsitiPositivi[9] = "Benissimo, procedi pure!";
EsitiPositivi[10] = "La risposta è esatta!";
EsitiPositivi[11] = "Va benissimo, ma ora non montarti la testa!";
EsitiPositivi[12] = "Ottimo lavoro!";
EsitiPositivi[13] = "Giustissimo!";
EsitiPositivi[14] = "Molto bene!";
EsitiPositivi[15] = "Esatto!";
EsitiPositivi[16] = "Bravissimo!";

var EsitiNegativi1 = new Array(4);    
EsitiNegativi1[0] = "Forse è meglio riprovare!";
EsitiNegativi1[1] = "Spiacente, non va. Prova di nuovo!";
EsitiNegativi1[2] = "No, non è esattamente così. Riprova!";
EsitiNegativi1[3] = "No, hai sbagliato. Ma puoi provare un'altra volta!";
EsitiNegativi1[4] = "Non è corretto. Concentrati e prova di nuovo!";
EsitiNegativi1[5] = "Faccio finta di non aver visto niente. Tu intanto, riprova!";
EsitiNegativi1[6] = "Fai attenzione, non è proprio così. Riprova!";
EsitiNegativi1[7] = "No!";
EsitiNegativi1[8] = "Prova ancora!";
EsitiNegativi1[9] = "Ritenta!";
EsitiNegativi1[10] = "Riprova!";
EsitiNegativi1[11] = "No, non ci siamo. Prova ancora!";
EsitiNegativi1[12] = "Sei proprio sicuro di quello che hai fatto? Forse, è meglio riprovare!";
EsitiNegativi1[13] = "No, c'è qualcosa che non va. Prova ancora!";

var EsitiNegativi2 = new Array(4);    
EsitiNegativi2[0] = "mmm…. Niente da fare. Segui il suggerimento!";
EsitiNegativi2[1] = "Vediamo se riesco a darti un aiutino.";
EsitiNegativi2[2] = "Non va bene, segui l'indicazione!";
EsitiNegativi2[3] = "Riprova seguendo il suggerimento.";
EsitiNegativi2[4] = "C'è ancora qualcosa che non va, ti aiuto.";

var EsitiNegativi3 = new Array(4);    
EsitiNegativi3[0] = "Guarda, ora ci provo io!";
EsitiNegativi3[1] = "Ok, ti mostro come fare.";
EsitiNegativi3[2] = "Meglio che ci provi io ...";
EsitiNegativi3[3] = "Ti faccio vedere come si fa.";
EsitiNegativi3[4] = "Peccato, hai sbagliato di nuovo. Ora faccio io!";
EsitiNegativi3[5] = "Temo di non essermi spiegato bene. Comunque ora provvedo io!";
EsitiNegativi3[6] = "Purtroppo hai sbagliato ancora, ma non ti preoccupare. Rispondo io e andiamo avanti!";
EsitiNegativi3[7] = "No, non è ancora corretto. Rispondo io e andiamo avanti!";
EsitiNegativi3[8] = "Non ci siamo ancora, ma non è grave. Ora provvedo io!";
EsitiNegativi3[9] = "Hai sbagliato ancora. Faccio io, ma tu fai attenzione!";
EsitiNegativi3[10] = "Non va ancora bene, ci penso io. Non ti scoraggiare però!";
EsitiNegativi3[11] = "No, non va. Questa volta rispondo io!";
EsitiNegativi3[12] = "Hai sbagliato di nuovo. Ma non ti preoccupare, rispondo io!";

var COD_ESITO_NON_FATTO = 0; // in realtà preimpostata
var COD_ESITO_LETTO = 1; // passo letto
var COD_ESITO_NEGATIVO = 2; // esercizio sbagliato
var COD_ESITO_BENE_1 = 3; // esercizi fatti bene al primo tentativo
var COD_ESITO_BENE_2 = 4; // esercizi fatti bene al secondo tentativo
var COD_ESITO_BENE_N = 5; // esercizi fatti bene ad un successivo tentativo

var _esercizio_finito=false;

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

function Random(max) {
	var ret = Math.round((max-1)*Math.random());
	return ret;
}

function GetEsitoPositivo()	{
	var i = Random(16);
	//playAudio("EP_" +i);
	return EsitiPositivi[i];
}

function GetEsitoNegativo(errori)	{
	var i = Random(1000);
	//playAudio("EN1_" +i);
	switch(errori)
	{
		case 1: return EsitiNegativi1[i%14];
		case 2: return EsitiNegativi2[i%5];
		case 3: return EsitiNegativi3[i%13];
		default: return EsitiNegativi1[i%14];
	}
	
}

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

function setSemaforo(index)
{
	document.getElementById("traficLight").src=TraficLight[index];
}

function feedbackEsercizio(id_esercizio,corretto,commento,gravita)
{
	if(corretto)
	{
		cambiaPersonaggio("corretto");
		scriviFeedback(GetEsitoPositivo(),commento);
		setSemaforo(0);
	}
	else
	{	
		try
		{
			document.getElementById(id_esercizio+"_tentativi_errati").value=(parseInt(document.getElementById(id_esercizio+"_tentativi_errati").value) + 1);
			gravita=parseInt(document.getElementById(id_esercizio+"_tentativi_errati").value);			
		}	catch(e){}
		
		switch(gravita)
		{
				case 1: 			
			scriviFeedback(GetEsitoNegativo(1),commento);
			cambiaPersonaggio("errato");
			setSemaforo(1);
			break;
				
				case 2:
			cambiaPersonaggio("errato");
			scriviFeedback(GetEsitoNegativo(2),commento);
			setSemaforo(2);
			break;
			
				case 3:
			cambiaPersonaggio("triste");
			scriviFeedback(GetEsitoNegativo(3),commento);
			document.getElementById("pulsante_soluzione").href="javascript: soluzione('"+id_esercizio+"');";
			document.getElementById("pulsante_soluzione").style.display="";
			setSemaforo(3);
			break;
				
				default:
			cambiaPersonaggio("errato");
			scriviFeedback(GetEsitoNegativo(),commento);			
		}
	}
}

// chiamata al termine di un esercizio con esito "risultato".
function FineEsercizio(risultato,id_esercizio,errori)	
{
	_esercizio_finito=true;
	if (risultato)	
	{
		cambiaPersonaggio("felice");
		scriviFeedback("Complimenti, hai completato l'esercizio!","");
	}
	else	
	{
		// testo, suggerimenti ....
//		alert("hai sbagliato!" + contatoreTentativi);
		/*document.getElementById("tracePasso").value=COD_ESITO_NEGATIVO;*/
	}
}
