// FONCTIONS APPELEES PAR LE FICHIER "langues.js"

function langue(txt) {texte.lang[texte.lang.length]=txt;}
function bouton1(txt) {texte.b1[texte.lang.length-1]=txt;}
function bouton2(txt) {texte.b2[texte.lang.length-1]=txt;}
function bouton3(txt) {texte.b3[texte.lang.length-1]=txt;}
function bouton4(txt) {texte.b4[texte.lang.length-1]=txt;}
function bouton5(txt) {texte.b5[texte.lang.length-1]=txt;}
function bouton6(txt) {texte.b6[texte.lang.length-1]=txt;}
function bouton7(txt) {texte.b7[texte.lang.length-1]=txt;}
function bouton8(txt) {texte.b8[texte.lang.length-1]=txt;}
function fenetre1(txt) {texte.f1[texte.lang.length-1]=txt;}
function fenetre2(txt) {texte.f2[texte.lang.length-1]=txt;}
function fenetre3(txt) {texte.f3[texte.lang.length-1]=txt;}
function fenetre4(txt) {texte.f4[texte.lang.length-1]=txt;}
function fenetre5(txt) {texte.f5[texte.lang.length-1]=txt;}
function correction1(txt1,txt2,txt3,txt4) {
	texte.o1[texte.lang.length-1]=txt1;
	texte.o2[texte.lang.length-1]=txt2;
	texte.o3[texte.lang.length-1]=txt3;
	texte.o4[texte.lang.length-1]=txt4;
}
function correction2(txt1,txt2,txt3,txt4) {
	texte.n1[texte.lang.length-1]=txt1;
	texte.n2[texte.lang.length-1]=txt2;
	texte.n3[texte.lang.length-1]=txt3;
	texte.n4[texte.lang.length-1]=txt4;
}
function appreciation1(txt) {texte.a1[texte.lang.length-1]=txt;}
function appreciation2(txt) {texte.a2[texte.lang.length-1]=txt;}
function appreciation3(txt) {texte.a3[texte.lang.length-1]=txt;}
function appreciation4(txt) {texte.a4[texte.lang.length-1]=txt;}
function appreciation5(txt) {texte.a5[texte.lang.length-1]=txt;}
function appreciation6(txt) {texte.a6[texte.lang.length-1]=txt;}
function titre1(txt) {texte.t1[texte.lang.length-1]=txt;}
function titre2(txt) {texte.t2[texte.lang.length-1]=txt;}
function titre3(txt) {texte.t3[texte.lang.length-1]=txt;}
function titre4(txt) {texte.t4[texte.lang.length-1]=txt;}
function titre5(txt) {texte.t5[texte.lang.length-1]=txt;}
function titre6(txt) {texte.t6[texte.lang.length-1]=txt;}
function titre7(txt) {texte.t7[texte.lang.length-1]=txt;}
function titre8(txt) {texte.t8[texte.lang.length-1]=txt;}
function titre9(txt) {texte.t9[texte.lang.length-1]=txt;}
function titre10(txt) {texte.t10[texte.lang.length-1]=txt;}
function titre11(txt) {texte.t11[texte.lang.length-1]=txt;}
function mot1(txt) {texte.m1[texte.lang.length-1]=txt;}
function mot2(txt) {texte.m2[texte.lang.length-1]=txt;}
function mot3(txt) {texte.m3[texte.lang.length-1]=txt;}
function mot4(txt) {texte.m4[texte.lang.length-1]=txt;}
function mot5(txt) {texte.m5[texte.lang.length-1]=txt;}
function mot6(txt) {texte.m6[texte.lang.length-1]=txt;}
function guide1(txt) {if (texte.g1[texte.lang.length-1]==null) texte.g1[texte.lang.length-1]=txt; else texte.g1[texte.lang.length-1]+=txt;}
function guide2(txt) {if (texte.g2[texte.lang.length-1]==null) texte.g2[texte.lang.length-1]=txt; else texte.g2[texte.lang.length-1]+=txt;}


// FONCTIONS APPELEES PAR LE FICHIER "donnees.js"

function option(txt) {for (var i=0;i<texte.lang.length;i++) if (texte.lang[i]==txt) num_langue=i;}
function titre(txt) {qcm.titre+=txt;}
function introduction(txt) {qcm.commentaire+=txt;}
function avertir(txt) {qcm.avertissement+=txt;}
function nombre_questions() {for (var i=0;i<arguments.length;i++) qcm.nb_questions[i]=arguments[i];}
function theme(txt) {qcm.ajouter_theme(txt);}
function question(txt) {
	if(qcm.theme.length==0) qcm.ajouter_theme("Theme_non_defini");
	qcm.theme[qcm.theme.length-1].ajouter_question(txt);
}
function reponse(txt) {
	var num_theme=qcm.theme.length-1;
	var num_question=qcm.theme[num_theme].question.length-1;
	qcm.theme[num_theme].question[num_question].ajouter_reponse(txt);
}
function schema(txt) {
	var num_theme=qcm.theme.length-1;
	var num_question=qcm.theme[num_theme].question.length-1;
	qcm.theme[num_theme].question[num_question].ajouter_schema(txt);
}
function quest(txt) {question(txt);}
function rep(txt) {reponse(txt);}
function sch(txt) {schema(txt);}


// PAGES AFFICHEES DANS "page.html"

function ecrire_page1() {
	if (qcm.nb_questions.length==0) {
		qcm.nb_questions[0]=10;
		qcm.nb_questions[1]=20;
		qcm.nb_questions[2]=30;
	}
	if (qcm.nb_questions_choisi==0) qcm.nb_questions_choisi=qcm.nb_questions[0];
	var choix="aucun";
	for (var i=0;i<qcm.theme.length;i++) {
		if (qcm.theme[i].choisi=="oui") choix="fait";
	}
	if (choix=="aucun") qcm.theme[0].choisi="oui";
	txt_page='<form name="f">';
	if (qcm.titre!="") txt_page+='<h1>'+qcm.titre+'</h1>';
	if (qcm.commentaire!="") txt_page+='<div class="introduction">'+qcm.commentaire+'</div>';
	if (qcm.nb_questions.length>1 && qcm.theme.length>1) {
		txt_page+='<table width="100%" border="0"><tr>';
		txt_page+='<td width="7%">&nbsp;</td>';
		txt_page+='<td width="40%">'+afficher_themes()+'</td>';
		txt_page+='<td width="7%">&nbsp;</td>';
		txt_page+='<td width="40%">'+afficher_nb_questions()+'</td>';
		txt_page+='<td>&nbsp;</td>';
		txt_page+='</tr></table>';
	}
	if (qcm.nb_questions.length>1 && qcm.theme.length==1) {
		txt_page+='<table width="100%" border="0"><tr>';
		txt_page+='<td width="30%">&nbsp;</td>';
		txt_page+='<td width="40%">'+afficher_nb_questions()+'</td>';
		txt_page+='<td>&nbsp;</td>';
		txt_page+='</tr></table>';
	}
	if (qcm.nb_questions.length==1 && qcm.theme.length>1) {
		txt_page+='<table width="100%" border="0"><tr>';
		txt_page+='<td width="30%">&nbsp;</td>';
		txt_page+='<td width="40%">'+afficher_themes()+'</td>';
		txt_page+='<td>&nbsp;</td>';
		txt_page+='</tr></table>';
	}
	txt_page+='<div class="menu"><table width="100%" border="0"><tr><td width="33%" align="center">';
	txt_page+='<input type="button" value="'+texte.b1[num_langue]+'" onclick="parent.cache.commencer(f);">';
	txt_page+='</td><td width="33%" align="center">';
	txt_page+='</td><td align="center">';
	txt_page+='<input type="button" value="'+texte.b8[num_langue]+'" onclick="parent.cache.quitter_qcm();">';
	txt_page+='</td></tr></table></div></form>';
	if (num_page==1) {
		num_page=2;
		parent.pages.location="page2.html";
	}
	else {
		num_page=1;
		parent.pages.location="page1.html";
	}
}

function ecrire_page2() {
	var a=qcm.activite.num_theme;
	var b=qcm.activite.num_question;
	var c=qcm.theme[a].question[b].reponse.length;
	var d=qcm.theme[a].question[b].schema;
	txt_page='<form name="f">';
	var ch='<table width="100%" border="0"><tr valign="top"><td width="99%">';
	ch+='<h2>'+texte.t3[num_langue]+(qcm.activite.nb_faites+1)+'/'+qcm.nb_questions_choisi+'</h2>';
	ch+=qcm.theme[a].question[b].enonce+'</td><td>';
	if (d!="schemas/vide.gif") ch+='<img src="'+d+'" border="0">'; else ch+='&nbsp;';
	ch+='</td></tr></table>';
	txt_page+=encadrer(ch);
	ch='<h2>'+texte.t4[num_langue]+'</h2><table border="0">';
	for (var i=0;i<c;i++) {
		ch+='<tr><td><input type="checkbox" name="case'+i+'">&nbsp;&nbsp;</td>';
		ch+='<td>'+qcm.theme[a].question[b].reponse[i].enonce+'</td></tr>';
	}
	ch+='</table>';
	txt_page+=encadrer(ch);
	txt_page+='<div class="menu"><table width="100%" border="0"><tr><td width="50%" align="center">';
	txt_page+='<input type="button" value="'+texte.b3[num_langue]+'" name="bouton" onclick="parent.cache.valider();">';
	txt_page+='&nbsp;&nbsp;&nbsp;<input type="text" name="mot" size="15">';
	txt_page+='</td><td align="center">';
	txt_page+='<input type="button" value="'+texte.b6[num_langue]+'" onclick="parent.cache.quitter_question();">';
	txt_page+='</td></tr></table></div></form>';
	if (num_page==1) {
		num_page=2;
		parent.pages.location="page2.html";
	}
	else {
		num_page=1;
		parent.pages.location="page1.html";
	}
}

function ecrire_page3() {
	var notesur20=Math.round(qcm.evaluation.note*10)/10;
	var duree=Math.round((qcm.evaluation.fin.getTime()-qcm.evaluation.debut.getTime())/1000);
	var minutes=Math.floor(duree/60);
	var secondes=duree-60*minutes;
	var exercice="non termine";
	if (qcm.activite.nb_faites==qcm.nb_questions_choisi) exercice="termine";
	txt_page='<form><h1>'+texte.t5[num_langue]+'</h1>';
	var ch='<h2>'+texte.t6[num_langue]+'</h2>'+notesur20+' / 20';
	txt_page+=encadrer(ch);
	ch='<h2>'+texte.t7[num_langue]+'</h2>';
	if (minutes==0) ch+=duree+' '+texte.m6[num_langue]+'.';
	else {
		if (minutes==1) ch+='1 '+texte.m3[num_langue];
		else ch+=minutes+' '+texte.m4[num_langue];
		if (secondes==0) ch+='.';
		else if (secondes==1) ch+=' et 1 '+texte.m5[num_langue]+'.';
		else ch+=' et '+secondes+' '+texte.m6[num_langue]+'.';
	}
	txt_page+=encadrer(ch);
	ch='<h2>'+texte.t8[num_langue]+'</h2>';
	if (exercice=="termine") {
		if (notesur20>=16)  ch+=texte.a1[num_langue];
		if (notesur20<16 && notesur20>=13) ch+=texte.a2[num_langue];
		if (notesur20<13 && notesur20>=10) ch+=texte.a3[num_langue];
		if (notesur20<10 && notesur20>=6) ch+=texte.a4[num_langue];
		if (notesur20<6) ch+=texte.a5[num_langue];
	}
	else ch+=texte.a6[num_langue];
	txt_page+=encadrer(ch);
	txt_page+='<div class="menu"><table width=100% border="0"><tr>';
	txt_page+='<td width="50%" align="center">';
	txt_page+='<input type="button" value="'+texte.b7[num_langue]+'" onclick="parent.cache.quitter_evaluation();">';
	txt_page+='</td><td align="center">';
	txt_page+='<input type="button" value="'+texte.b8[num_langue]+'" onclick="parent.cache.quitter_qcm();">';
	txt_page+='</td></tr></table></div></form>';
	if (num_page==1) {
		num_page=2;
		parent.pages.location="page2.html";
	}
	else {
		num_page=1;
		parent.pages.location="page1.html";
	}
}


// FONCTIONS APPELEES DEPUIS LA PAGE 1 AFFICHEE DANS "page.html"

function afficher_themes() {
	var ch='<h2>'+texte.t1[num_langue]+'</h2><table border="0">';
	for (var i=0;i<qcm.theme.length;i++) {
		var txt=" ";
		if (qcm.theme[i].choisi=="oui") txt=" checked";
		ch+='<tr><td><input type="checkbox" name="case'+i+'"'+txt+' onClick="parent.cache.choisir_themes();">&nbsp;&nbsp;</td>';
		ch+='<td>'+qcm.theme[i].titre+'</td></tr>';
	}
	ch+='<tr><td><input type="checkbox" name="tous" onClick="parent.cache.choisir_themes();">&nbsp;&nbsp;</td>';
	ch+='<td>'+texte.m1[num_langue]+'</td></tr></table>';
	return encadrer(ch);
}

function afficher_nb_questions() {
	var ch='<h2>'+texte.t2[num_langue]+'</h2><table border="0">';
	for (var i=0;i<qcm.nb_questions.length;i++) {
		var txt=" ";
		if (qcm.nb_questions_choisi==qcm.nb_questions[i]) txt=" checked";
		ch+='<tr><td><input type="radio" name="ch_nb"'+txt+'>&nbsp;&nbsp;</td><td>'+qcm.nb_questions[i]+' '+texte.m2[num_langue]+'</td></tr>';
	}
	ch+='</table>';
	return encadrer(ch);
}

function choisir_themes() {
	if (parent.pages.document.f.tous.checked) {
		for (var i=0;i<qcm.theme.length;i++) parent.pages.document.f.elements["case"+i].checked=true;
	}
}

function commencer(g) {
	var choix_theme="aucun";
	var nb_questions_disponibles=0;
	if (qcm.theme.length==1) {
		choix_theme="fait";
		qcm.theme[0].choisi="oui";
		nb_questions_disponibles=qcm.theme[0].question.length;
	}
	else {
		for (var i=0;i<qcm.theme.length;i++) {
			if (g.elements["case"+i].checked) {
				choix_theme="fait";
				qcm.theme[i].choisi="oui";
				nb_questions_disponibles+=qcm.theme[i].question.length;
			}
			else qcm.theme[i].choisi="non";
		}
	}
	if (choix_theme=="aucun") alert(texte.f1[num_langue]);
	else {
		if (qcm.nb_questions.length==1) qcm.nb_questions_choisi=qcm.nb_questions[0];
		else {
			for (var i=0;i<qcm.nb_questions.length;i++) {
				if (g.ch_nb[i].checked) qcm.nb_questions_choisi=qcm.nb_questions[i];
			}
		}
		if (qcm.nb_questions_choisi>nb_questions_disponibles) alert(texte.f2[num_langue]);
		else {
			qcm.evaluation.debut=new Date();
			if(qcm.avertissement!="") alert(qcm.avertissement);
			nouvelle_question();
		}
	}
}

function guide() {
	var ch='<head><link rel="stylesheet" type="text/css" href="presentation.css"></head><body>';
	ch+='<h1>'+texte.t9[num_langue]+'</h1>';
	var ch1='<h2>'+texte.t10[num_langue]+'</h2>';
	ch1+='<p>'+texte.g1[num_langue]+'</p>';
	ch+=encadrer(ch1);
	var ch2='<h2>'+texte.t11[num_langue]+'</h2>';
	ch2+='<p>'+texte.g2[num_langue]+': <i>http://dyris.free.fr</i></p>';
	ch+=encadrer(ch2);
	ch+='<form><table class="menu" width="100%" border="0"><tr><td width="100%" align="center">';
	ch+='<input type="button" value="'+texte.b8[num_langue]+'" onclick="self.close();">';
	ch+='</td></tr></table></form></body>';
	var largeur=screen.width/1.5;
	var hauteur=screen.height/1.3;
	var pos_x=(screen.width-largeur)/2;
	var pos_y=(screen.height-hauteur)/3;
	var dimensions='width='+largeur+',height='+hauteur;
	var proprietes='menubar=no,toolbar=no,directories=no,location=no,status=no,scrollbars=yes';
	fen_guide=window.open('','options',dimensions+proprietes);
	fen_guide.moveTo(pos_x,pos_y);
	fen_guide.document.open();
	fen_guide.document.write(ch);
	fen_guide.document.close();
	fen_guide.focus();
}


// FONCTIONS APPELEES DEPUIS LA PAGE 2 AFFICHEE DANS "pages.html"

function valider() {
	var a=qcm.activite.num_theme;
	var b=qcm.activite.num_question;
	var c=qcm.theme[a].question[b].reponse.length;
	if (qcm.theme[a].question[b].etat=="affichee") {
		var cas="non repondu";
		for (var i=0;i<c;i++) if (parent.pages.document.f.elements["case"+i].checked) cas="repondu";
		if (cas=="non repondu") alert(texte.f3[num_langue]);
		else {
			qcm.theme[a].question[b].etat="corrigee";
			cas="vrai";
			for (var i=0;i<c;i++) {
				if (parent.pages.document.f.elements["case"+i].checked) {
					if (qcm.theme[a].question[b].reponse[i].resultat=="faux") cas="faux";
				}
				else {
					if (qcm.theme[a].question[b].reponse[i].resultat=="vrai") cas="faux";
				}
			}
			var nb=Math.floor(4*Math.random());
			if (cas=="vrai") {
				if (nb==0) parent.pages.document.f.mot.value=texte.o1[num_langue];
				if (nb==1) parent.pages.document.f.mot.value=texte.o2[num_langue];
				if (nb==2) parent.pages.document.f.mot.value=texte.o3[num_langue];
				if (nb==3) parent.pages.document.f.mot.value=texte.o4[num_langue];
				qcm.evaluation.note+=20/qcm.nb_questions_choisi;
			}
			else if (cas=="faux") {
				if (nb==0) parent.pages.document.f.mot.value=texte.n1[num_langue];
				if (nb==1) parent.pages.document.f.mot.value=texte.n2[num_langue];
				if (nb==2) parent.pages.document.f.mot.value=texte.n3[num_langue];
				if (nb==3) parent.pages.document.f.mot.value=texte.n4[num_langue];
				for (var i=0;i<c;i++) parent.pages.document.f.elements["case"+i].checked=false;
				clignoter();
			}
			qcm.activite.nb_faites++;
			if (qcm.activite.nb_faites==qcm.nb_questions_choisi) {
				parent.pages.document.f.bouton.value=texte.b5[num_langue];
			}
			else parent.pages.document.f.bouton.value=texte.b4[num_langue];
		}
	}
	else {
		if (qcm.activite.nb_faites==qcm.nb_questions_choisi) fin_questions();
		else nouvelle_question();
	}
}

function quitter_question() {
	if (qcm.activite.nb_faites==qcm.nb_questions_choisi) fin_questions();
	else {
		if (confirm(texte.f4[num_langue])) fin_questions();
	}
}


// FONCTION APPELEE DEPUIS LA PAGE 3 AFFICHEE "pages.html"

function quitter_evaluation() {
	// Remise à l'état initial de tous les paramètres.
	qcm.activite.nb_faites=0;
	qcm.evaluation.note=0;
	for (var i=0;i<qcm.theme.length;i++) {
		qcm.theme[i].etat="libre";
		for (var j=0;j<qcm.theme[i].question.length;j++) {
			qcm.theme[i].question[j].etat="libre";
		}
	}
	ecrire_page1();
}


// FONCTIONS APPELEES A PLUSIEURS REPRISES

function encadrer(txt) {
	return '<table class="cadre" width="100%" border="0" cellpadding="0" cellspacing="10"><tr valign="top"><td>'+txt+'</td></tr></table>';
}

function nouvelle_question() {
	// Arrêt du clignotement des cases à cocher.
	clearTimeout(qcm.timer);
	// Choix d'un thème disponible pris au hasard.
	var a=Math.floor(qcm.theme.length*Math.random());
	while (qcm.theme[a].choisi=="non"||qcm.theme[a].etat=="fini") {
		a=Math.floor(qcm.theme.length*Math.random());
	}
	qcm.activite.num_theme=a;
	// Choix d'une question disponible prise au hasard.
	var b=Math.floor(qcm.theme[a].question.length*Math.random());
	while (qcm.theme[a].question[b].etat!="libre") {
		b=Math.floor(qcm.theme[a].question.length*Math.random());
	}
	qcm.activite.num_question=b;
	qcm.theme[a].question[b].etat="affichee";
	// Vérification du thème pour savoir s'il est disponible ou non.
	qcm.theme[a].etat="fini";
	for (var i=0;i<qcm.theme[a].question.length;i++) {
		if (qcm.theme[a].question[i].etat=="libre") qcm.theme[a].etat="libre";
	}
	ecrire_page2();
}

function clignoter() {
	var a=qcm.activite.num_theme;
	var b=qcm.activite.num_question;
	var c=qcm.theme[a].question[b].reponse.length;
	var cas="eteint";
	for (var i=0;i<c;i++) if (parent.pages.document.f.elements["case"+i].checked==true) cas="allume";
	if (cas=="eteint") {
		for (var i=0;i<c;i++) {
			if (qcm.theme[a].question[b].reponse[i].resultat=="vrai") {
				parent.pages.document.f.elements["case"+i].checked=true;
			}
		}
		qcm.timer=setTimeout("clignoter()",300);
	}
	else {
		for (var i=0;i<c;i++) parent.pages.document.f.elements["case"+i].checked=false;
		qcm.timer=setTimeout("clignoter()",100);
	}
}

function fin_questions() {
	clearTimeout(qcm.timer);
	qcm.evaluation.fin=new Date();
	ecrire_page3();
}

function quitter_qcm() {
	alert(texte.f5[num_langue]);
	if (fen_guide!=null) {if (fen_guide.closed==false) fen_guide.close();}
	parent.quitter();
}

