/* l_media.js
 * Version 2.3 - 10/02/2009
 * Role : cours - scripts pour page Media
 * Projet : The Web Language Lab
 * Auteur : Etienne CHEVILLARD
 *
 * Copyright (C) 2003 Etienne CHEVILLARD
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version.
 */

// donnees specifiques a la page
var titrePage = txtLng[5];
var hauteurPage = 400;

// configuration overlib
var ol_fgcolor = "#FFFFC0";
var ol_bgcolor = "#000000";
var ol_width = "150";
var ol_captionsize = "2";
var ol_textsize = "2";

// retourne le code pour les instructions
function codeInstruc() {
  var txt;
  if (mediaC.length > 1) {
    txt = "<p class=\"liste1\">" + txtLng[25];
  } else {
    txt = "";
  }
  txt+= "<p class=\"liste1\">" + txtLng[26];
  txt+= "<br>" + txtLng[27];
  return (txt);
} // fin codeInstruc()

// insere un lien pour l'affichage du vocabulaire
function insererVoc(txt) {
  var idx;
  var lien;
  var tmp = txt;
  if (((typeof vocC)!="undefined") && (vocC.length>0)) {
    for (var i=0; i<vocC.length; i++) {
      idx = tmp.indexOf(vocC[i][0]);
  	  if (idx != -1) {
  	    lien = "<a href=\"javascript:void(0)\" ";
  	    lien+= "onMouseOver=\"return overlib(\'";
  	    lien+= vocC[i][1].split("'").join("\\'");
  	    lien+= "\', CAPTION, \'";
  	    lien+= vocC[i][0].split("'").join("\\'");
  	    lien+= "\');\" onMouseOut=\"return nd();\">";
  	    tmp = tmp.substring(0, idx) + lien + vocC[i][0] + "</a>"
  	        + tmp.substring(idx+vocC[i][0].length, tmp.length);
  	  }
    }
  }
	return (tmp);
} // fin insererVoc()

// retourne le code pour le script
function codeScript(niveau) {
  var txt1;
  var txt2;
  var txt3;
  if (parseInt(niveau) < 1)
    return ("");
  // debut du tableau
  txt1 = "<table width=\"620\" border=\"0\" cellspacing=\"4\" cellpadding=\"2\"><tr><td>";
  txt1+= "<p class=\"script1\">";
  // script
  txt2 = "";
	for (var i=0; i<texteC.length; i++) {
    if (parseInt(niveauC[i]) >= parseInt(niveau))
      txt2+= "<span class=\"script2\">" + texteC[i] + "</span>";
  	else
  		txt2+= texteC[i];
  }
 	// vocabulaire
	txt2 = insererVoc(txt2);
  // mise en forme du texte
  txt2 = txt2.split("''").join("\"");
  txt2 = txt2.split("\n").join("</p><p class=\"script1\">");
  // fin du tableau
  txt3 = "</p></td></tr></table>";
  return (txt1 + txt2 + txt3);
} // fin codeScript(niveau)

// retourne le code pour les onglets
function codeOnglets(idx) {
  var txt;
  var ok_mode;
  var larg_rest;
  larg_rest = 376;
  txt = "<table width=626 class=\"onglet_table\" border=1 cellspacing=0 cellpadding=0><tr>";
  txt+= "<td width=10 height=20 class=\"onglet_vide\">&nbsp;";
  // no script
  txt+= "</td><td width=120 height=20 ";
  if (parseInt(idx) == 0) {
    txt+= "class=\"onglet_actif\">";
    txt+= "<p class=\"centre\"><b>" + txtLng[28] + "</b>";
  } else {
    txt+= "class=\"onglet_gauche\">";
    txt+= "<p class=\"centre\">";
    txt+= lienTexteWeb(txtLng[28], "javascript:afficherScriptNo()", "", txtLng[28]);
  }
  // difficult
  ok_mode = 0;
  for(var i=0; i<niveauC.length; i++) {
    if (parseInt(niveauC[i]) > 0)
      ok_mode = 1;
  }
  if (ok_mode > 0) {
    larg_rest = larg_rest - 120;
    txt+= "</td><td width=120 height=20 ";
    if (parseInt(idx) == 1) {
      txt+= "class=\"onglet_actif\">";
      txt+= "<p class=\"centre\"><b>" + txtLng[29] + "</b>";
    } else {
      if (parseInt(idx) < 1)
        txt+= "class=\"onglet_droite\">";
      else
        txt+= "class=\"onglet_gauche\">";
      txt+= "<p class=\"centre\">";
      txt+= lienTexteWeb(txtLng[29], "javascript:afficherScriptDifficult()", "", txtLng[29]);
    }
  }
  // easy
  ok_mode = 0;
  for(var i=0; i<niveauC.length; i++) {
    if (parseInt(niveauC[i]) > 1)
      ok_mode = 1;
  }
  if (ok_mode > 0) {
    larg_rest = larg_rest - 120;
    txt+= "</td><td width=120 height=20 ";
    if (parseInt(idx) == 2) {
      txt+= "class=\"onglet_actif\">";
      txt+= "<p class=\"centre\"><b>" + txtLng[30] + "</b>";
    } else {
      if (parseInt(idx) < 2)
        txt+= "class=\"onglet_droite\">";
      else
        txt+= "class=\"onglet_gauche\">";
      txt+= "<p class=\"centre\">";
      txt+= lienTexteWeb(txtLng[30], "javascript:afficherScriptEasy()", "", txtLng[30]);
    }
  }
  // complete
  txt+= "</td><td width=120 height=20 ";
  if (parseInt(idx) == 3) {
    txt+= "class=\"onglet_actif\">";
    txt+= "<p class=\"centre\"><b>" + txtLng[31] + "</b>";
  } else {
    txt+= "class=\"onglet_droite\">";
    txt+= "<p class=\"centre\">";
    txt+= lienTexteWeb(txtLng[31], "javascript:afficherScriptComplete()", "", txtLng[31]);
  }
  txt+= "</td><td width=" + larg_rest + " height=20 class=\"onglet_vide\">&nbsp;";
  txt+= "</td></tr></table>";
  return (txt);
} // fin codeOnglets(idx)

// charge la page
function chargerPage() {
  var posH = 135;
  var posV = 110;
  // correction de la hauteur de la page
  if (texteC.length > 320)
    hauteurPage = texteC.length + 100;
  // elements communs
  chargerCommun();
  // informations specifiques
  modifierCodeDivision("infos1", codeInfos(txtLng[32]));
  // instructions
  modifierDimensionsDivision("instr1", 310, 50);
  modifierCodeDivision("instr1", codeInstruc());
  deplacerDivisionVers("instr1", posH, 30);
  modifierZIndexDivision("instr1", 1);
  montrerDivision("instr1");
  // cadre de fond 1
  if (mediaC.length > 1) {
    modifierCouleurFondDivision("fond1", "#8D8D8D");
    modifierDimensionsDivision("fond1", 302, 46);
    deplacerDivisionVers("fond1", posH+324, 50);
    modifierZIndexDivision("fond1", 1);
    montrerDivision("fond1");
  }
  // media
  if (mediaC.length > 1) {
    if (lireCookie(cook_lec) == "s") {
      modifierCodeDivision("media1", codeMediaSys(mediaC, false));
    } else {
      modifierCodeDivision("media1", codeMediaFlash(mediaC, false));  
    }
    modifierDimensionsDivision("media1", 300, 64);
    deplacerDivisionVers("media1", posH+325, 30);
    modifierZIndexDivision("media1", 2);
    montrerDivision("media1");
  }
  // cadre de fond 2
  modifierCouleurFondDivision("fond2", "#8D8D8D");
  modifierDimensionsDivision("fond2", 626, (hauteurPage-125));
  deplacerDivisionVers("fond2", posH, posV+19);
  modifierZIndexDivision("fond2", 1);
  montrerDivision("fond2");
  // script
  modifierDimensionsDivision("script1", 624, (hauteurPage-127));
  deplacerDivisionVers("script1", posH+1, posV+20);
  modifierZIndexDivision("script1", 2);
  montrerDivision("script1");
  // onglets
  deplacerDivisionVers("ongl1", posH, posV);
  modifierZIndexDivision("ongl1", 3);
  montrerDivision("ongl1");
  // par defaut, pas de script
  afficherScriptNo();
  return;
} // fin chargerPage()

// met a jour les divisions - mode No script
function afficherScriptNo() {
  modifierCodeDivision("ongl1", codeOnglets(0));
  modifierCodeDivision("script1", codeScript(0));
  return;
} // fin afficherScriptNo()

// met a jour les divisions - mode Difficult
function afficherScriptDifficult() {
  modifierCodeDivision("ongl1", codeOnglets(1));
  modifierCodeDivision("script1", codeScript(1));
  return;
} // fin afficherScriptDifficult()

// met a jour les divisions - mode Easy
function afficherScriptEasy() {
  modifierCodeDivision("ongl1", codeOnglets(2));
  modifierCodeDivision("script1", codeScript(2));
  return;
} // fin afficherScriptEasy()

// met a jour les divisions - mode Complete
function afficherScriptComplete() {
  modifierCodeDivision("ongl1", codeOnglets(3));
  modifierCodeDivision("script1", codeScript(3));
  return;
} // fin afficherScriptComplete()

// affiche le lecteur Flash
function afficherMediaFlash() {
  modifierCodeDivision("media1", codeMediaFlash(mediaC, false));
  ecrireCookie(cook_lec, "f", 3653);  // valide 10 ans
  return;
} // fin afficherMediaFlash()

// affiche le lecteur systeme
function afficherMediaSys() {
  modifierCodeDivision("media1", codeMediaSys(mediaC, false));
  ecrireCookie(cook_lec, "s", 3653);  // valide 10 ans
  return;
} // fin afficherMediaSys()
