
var polices = null;
var alphabet = null;
var jeu = null;
var texte = null;
var liste = null;
var image = null;
var score = null;

function CJeu() {
   alphabet = new CAlphabet();
   liste = new CListeThemes();
   image = new CDessinPendu();
   donnees();
   texte = new CATrouver();
   score = new CScore();
   this.fin_mot = false;
   this.erreurs = 6;
}


function CJ_ecrit_rejouer() {
   return "<a href='javascript:jeu.rejouer()'><img name='rejouer' src='" + _rep_images + bouton_vide + "' width='102' height='26' border='0' alt='rejouer'" + fin_tag + "</a>";
}


function CJ_demarrer() {
   score.init();
   this.ecrit();
   if (liste.themes.length == 1) liste.choix_mot();
//   alphabet.reinit();
}


function CJ_ecrit() {
   // écriture du tableau
   var ch = "<table width='100%' border='0' cellspacing='0' cellpadding='8' >\n";
   // écriture de la liste des thèmes
   ch += "<tr><td align='center'>" + liste.ecrit() + "</td></tr>\n";
   // écriture de l'alphabet
   ch += "<tr><td align='center'>" + alphabet.ecrit() + "</td></tr>\n";
   // emplacement du bouton "rejouer"
   ch += "<tr><td align='right'>" + this.ecrit_rejouer() + "</td></tr>\n";
   // écriture des cases du texte à deviner (seulement les cases)
   ch += "<tr><td align='center'>" + texte.ecrit() + "</td></tr>\n";
   // écriture du tableau des scores
   ch += "<tr><td align='center'>" + score.ecrit() + "</td></tr>\n"; 
   ch += "</table>"; 
   document.write(ch);
}


function CJ_termine(erreur) {
   this.fin_mot = true;
   liste.mot_termine();
   if (erreur == this.erreurs) {
      texte.affiche_fin();
	  image.fin();
	  score.maj(false);
   }
   else score.maj(true);
   this.affiche_rejouer();
   alphabet.cache();
   window.focus();
   commentaire(erreur);
//   LComments[erreur].choix_lib();
}


function CJ_rejouer() {
   image.reinit();
   if (this.fin_mot) liste.choix_mot();
   this.fin_mot = false;
   this.cache_rejouer();
   alphabet.reinit();
}


function CJ_affiche_rejouer() {
   document.images["rejouer"].src = _rep_images + "bouton_rejouer.gif";
}


function CJ_cache_rejouer() {
   document.images["rejouer"].src = _rep_images + bouton_vide;
   window.focus();
}


function CJ_rollover(numlettre, passif) {
   alphabet.rollover(numlettre, passif);
}


function CJ_sanctionner() {
   image.ajoute_elt(1);
}


function CJ_choisir(numlettre) {
   var choix_lettre = alphabet.choix_lettre(numlettre);
   if (choix_lettre) texte.choixLettre(choix_lettre);
}

// réagit au clic sur le bouton "extrémités"
function CJ_extremites() {
   texte.extremites(true);
}

// réagit au clic sur le bouton "définition"
function CJ_definition() {
   texte.affiche_def();
}

// réagit au clic sur le bouton "contexte"
function CJ_contexte() {
   texte.affiche_contexte();
}

// déclenché lorsqu'on clique sur un thème dans la liste déroulante des thèmes
function CJ_choix_theme(numtheme) {
   liste.choix_theme(numtheme);
}

CJeu.prototype.ecrit = CJ_ecrit;
CJeu.prototype.demarrer = CJ_demarrer;
CJeu.prototype.termine = CJ_termine;
CJeu.prototype.rejouer = CJ_rejouer;
CJeu.prototype.ecrit_rejouer = CJ_ecrit_rejouer;
CJeu.prototype.affiche_rejouer = CJ_affiche_rejouer;
CJeu.prototype.cache_rejouer = CJ_cache_rejouer;
CJeu.prototype.rollover = CJ_rollover;
CJeu.prototype.choisir = CJ_choisir;
CJeu.prototype.sanctionner = CJ_sanctionner;
CJeu.prototype.extremites = CJ_extremites;
CJeu.prototype.definition = CJ_definition;
CJeu.prototype.contexte = CJ_contexte;
CJeu.prototype.choix_theme = CJ_choix_theme;

// *****************************************************
// FONCTIONS UTILITAIRES


function main() {
   jeu = new CJeu();
   jeu.demarrer();
}


