function choixEvt(idEvt,full)
{
    document.getElementById("idEvt").value = idEvt;
    document.getElementById("full").value = full;
    f = document.getElementById("mainForm");
    f.action = "pageJeu.php";
    f.submit();
}

var imageCycle = {
	Set : function(cle,valeur) {this[cle] = valeur;},
	Get : function(cle) {return this[cle];}
}
var nbImgPresentation = 12;
imageCycle.Set("flip", parseInt(Math.random()*nbImgPresentation) );

function afficherPhoto(idImg,prefixe,nbMax)
{
    i = parseInt(imageCycle.Get(prefixe)) + 1;
    while (i > nbMax) {
        i -= nbMax;
    }
    imageCycle.Set(prefixe, i);
    nom = i + ".jpg";
    if (i < 10) { nom = "0" + nom; }
    nom = prefixe + nom;
    img = document.getElementById(idImg);
    if (img) { img.src = nom; }
}

function cyclePresentation()
{
    afficherPhoto("presentation","flip",nbImgPresentation);
    setTimeout("cyclePresentation();",2500);
}

/* Recopie et met en forme les donnees saisies dans la page Verifications */
function recopierOnglet1()
{
  // Mise en forme des donnees affichees dans le cadre Donnees personelles
  sexe = document.getElementById("v_sexe").value;
  texte = document.getElementById("v_nom").value + "&nbsp;" + document.getElementById("v_prenom").value + "<br>N&eacute;"; //  + "&nbsp;(" + sexe + ")
  if (sexe == "F") texte += "e";
  texte += " en " + document.getElementById("v_nais").value;
  p = document.getElementById("v_tel").value;
  tel = p;
  if (p.length == 10)
  {
    tel = p.slice(0,2) + "&nbsp;" + p.slice(2,4) + "&nbsp;" + p.slice(4,6) + "&nbsp;" + p.slice(6,8) + "&nbsp;" + p.slice(8,10);
  }
  texte += "<br>Tel : " + tel + "<br>E-mail : " + document.getElementById("v_mail").value;
  document.getElementById("recapId1").innerHTML = texte;

  texte = "Lieu de r&eacute;sidence :";
  texte += "<br>" + document.getElementById("v_ad1").value;
  texte += "<br>" + document.getElementById("v_ad2").value + "<br>";
  cp = document.getElementById("v_cp").value;
  if (cp != "")
  {
    texte += cp + "&nbsp;";
  }
  texte +=  document.getElementById("v_ville").value
  document.getElementById("recapId2").innerHTML = texte;
}

function encoder(txt) {
	texte = txt.replace(/"/g,'&quot;'); // 34 22
	texte = texte.replace(/\'/g,'&#39;'); // 39 27
	texte = texte.replace(/</g,'&lt;'); // 60 3C
	texte = texte.replace(/>/g,'&gt;'); // 62 3E
	return texte;
}

/* Accompagnateurs souhaites pour les murders */
function compMurder(idElt)
{
    /* Lecture du tableau des murders  : liste de (idElt,chaine representant les noms des amis) */
    t = eval(document.getElementById("recapAcc").value);

    /* Rechercher cet element dans ce tableau */
    nbElt = t.length;
    i = 0;
    while (i < nbElt)
    {
        if (t[i][0] == idElt) { break; }
        i += 1;
    }
    // Si cet element n'est pas trouve dans le tableau, i = t.length permet de l'ajouter.
    amis = [idElt,document.getElementById("murder"+idElt).value];
    t[i] = amis;
    nbElt = t.length;
    // t s'affiche sans les crochets, il faut donc calculer le tableau sous forme Texte pour le restocker.
    txt = "[";
    i = 0;
    virgule = "";
    while (i < nbElt)
    {
        t[i][1] = encoder(t[i][1]);
        // Il faut aussi remettre manuellement les guillemets.
        txt += virgule + '[' + t[i][0] + ',"' + t[i][1] + '"]';
        virgule = ",";
        i += 1;
    }
    txt += "]";

    document.getElementById("recapAcc").value = txt;
    recopierOnglet2(idElt);
}

/* Complete le tableau des evenements auxquels le joueur est inscrit */
function recopierOnglet2(idEltNew)
{
    if(!Array.indexOf)
    {
       Array.prototype.indexOf = function(obj)
       {
          for(var i=0; i<this.length; i++)
          {
             if(this[i]==obj)
             {
                return i;
             }
          }
          return -1;
       }
    }
  

    texteMail = "";
    datePrecedente = "";
    dateEnCours = "";
    
    // 1. Recuperer le tableau de tous les evenements.
    var t = eval(document.getElementById("recapEvts").value);
    
    // 2. Recuperer le tableau des evenements auxquels s'est inscrit ce joueur.
    var j = eval(document.getElementById("recapInscription").value);
    
    // 3. Mettre a jour ce tableau.
    cb = document.getElementById(idEltNew);
    // 3.1 La case est-elle cochee ?
    if (cb.checked)
    {
        // Oui. Ajouter cet evenement a la liste du joueur.
        j[j.length] = idEltNew;
    }
    else
    {
        // Non. Retirer cet evenement de la liste du joueur.
        i = j.indexOf(idEltNew); // Position de l'element a retirer.
        j.splice(i,1);        // Suppression d'1 item a cette position
    }
    document.getElementById("recapInscription").value = "[" + j + "]";
    
    // 4. Afficher ces evenements : parcourrir la liste complete des elements et afficher ceux qui figurent dans j.
    var idElt;
    var type_jeu = 1;
    var type_murder = 2;
    var type_tournoi = 3;
    var type_troll_ball = 4;
    var type_hebergement = 10;
    var type_repas_midi = 11;
    var type_repas_soir = 12;
    var nomType = new Array();
    nomType[type_jeu] = "au jeu";
    nomType[type_murder] = "a la murder";
    nomType[type_tournoi] = "au tournoi";
    nomType[type_troll_ball] = "pour le troll ball";
    nomType[type_hebergement] = "pour l'hebergement";
    nomType[type_repas_midi] = "pour le repas de ce midi";
    nomType[type_repas_soir] = "pour le repas du soir";
    var codeJeux = "<table frame='void' rules='cols' cellspacing=0 cellpadding=0 style='background-color:#f9f1c4; color:#000000; border:2px solid #CC9933; width:100%; text-align:left; vertical-align:top;'><tr><td style='text-align:center;'>Date</td><td style='text-align:center;'>Heure</td><td style='text-align:center;'>Activit&eacute;</td></tr><tr><td><hr/></td><td><hr/></td><td><hr/></td></tr>";
    var codeLogistique = "<table frame='void' rules='cols' cellspacing=0 cellpadding=0 style='background-color:#f9f1c4; color:#000000; border:2px solid #CC9933; width:100%; font-family:Courier sans MS;'><tr><td>Date</td><td>Repas de midi</td><td>Repas du soir</td><td>H&eacute;bergement</td></tr><tr><td><hr/></td><td><hr/></td><td><hr/></td><td><hr/></td></tr>";
    var nbElt = t.length;
    var n = 0;
    var styleJ = "";
    var styleL = "";
    var colorJ = 0;
    var colorL = 0;
    var rm = 0;
    var rs = 0;
    var hb = 0;
    var dt = "";
    var cout = 0;
    var coutTotal = 0;
    // Traitement en rupture sur la date:
    var ligneCourante;
    var ligneDavance;
    var dernier = (nbElt == 1);
    if (nbElt> 0) { ligneCourante = t[0]; }
    var rupturePremiere = true;
    var ruptureDerniere = dernier;
    var joueurInscrit = false;
    var strRecapInscription = "," + j + ",";
    while (!dernier)
    {
        n += 1;
        dernier = (n >= nbElt);
        ruptureDerniere = dernier;
        // t contient des elements tableau : [idElt,titre,dateElt,heureElt,typeElt,cout]
        i = 0;
        cout = 0;
        if (!dernier)
        {
            ligneDavance = t[n];
            if (ligneCourante[2] != ligneDavance[2])
            { 
                ruptureDerniere = true; 
            }
        }
        idElt = ligneCourante[0];
        joueurInscrit = (strRecapInscription.indexOf(","+idElt+",") >= 0);
        cout = 1 * ligneCourante[5];
    
        // Sur chaque premiere date, creer une nouvelle ligne Date pour l'ajouter au mail si le joueur a une inscription a cette date.
        if (rupturePremiere)
        {
            dateEnCours = ".\nLe "+ligneCourante[2]+", vous etes inscrit pour ";
        }

        if (joueurInscrit)
        {
            // Preparation du mail
            texteMail += dateEnCours + nomType[ligneCourante[4]];
            dateEnCours = ", ";

            // Cout de l'activite ajoute au total.
            coutTotal += cout;
            // Afficher chaque "jeu" sur une ligne differente
            if ((ligneCourante[4] == type_jeu) || (ligneCourante[4] == type_murder) || (ligneCourante[4] == type_tournoi) || (ligneCourante[4] == type_troll_ball))
            {
                if (colorJ == 1) { styleJ = " style='background-color:#EEBB55;'"; }
                else { styleJ = ""; }
                colorJ += 1;
                if (colorJ >= 3) { colorJ = 0}
                titre = ligneCourante[1];
                if ((ligneCourante[4] == type_murder) || (ligneCourante[4] == type_troll_ball))
                {
                    // Recuperer le tableau des accompagnateurs de murder.
                    var acc = eval(document.getElementById("recapAcc").value);
                    // Chercher les accompagnateurs eventuels pour cette murder.
                    var sizeAcc = acc.length;
                    var nAcc = 0;
                    while (nAcc < sizeAcc)
                    {
                        if (acc[nAcc][0] == ligneCourante[0])
                        {
                            titre += " avec " + acc[nAcc][1];
                            break;
                        }
                        nAcc += 1;
                    }
                }
                // Cout eventuel
                if (ligneCourante[5] > 0) { titre += " (" + ligneCourante[5].toFixed(2)+" &euro;)"; }
                codeJeux += "<tr" + styleJ + "><td>" + ligneCourante[2] + "</td><td>" + ligneCourante[3] + "</td><td>" + titre + "</td></tr>";
                texteMail += " : "+titre;
            }
            else if (ligneCourante[4] == type_repas_midi)  { rm = cout; }
            else if (ligneCourante[4] == type_repas_soir)  { rs = cout; }
            else if (ligneCourante[4] == type_hebergement) { hb = cout; }
        }

        // Ne creer la ligne Logistique qu'en cas de changement de date
        if (ruptureDerniere)
        {
            // Y a-t-il un evenement de type logistique a enregistrer ce jour ?
            somme = 1*rm + 1*rs + 1*hb;
            if (somme > 0)
            {
                if (colorL == 1) { styleL = " style='background-color:#EEBB55;'"; }
                else { styleL = ""; }
                colorL += 1;
                if (colorL >= 3) { colorL = 0}
                codeLogistique += "<tr" + styleL + "><td>" + ligneCourante[2] + "</td><td>";
                if (rm > 0) {  codeLogistique += rm.toFixed(2) + " &euro;"; }
                codeLogistique += "</td><td>";
                if (rs > 0) { codeLogistique += rs.toFixed(2) + " &euro;"; }
                codeLogistique += "</td><td>";
                if (hb > 0) { codeLogistique += hb.toFixed(2) + " &euro;"; }
                codeLogistique += "</td></tr>";
                rm = 0;
                rs = 0;
                hb = 0;
            }
        }

        rupturePremiere = ruptureDerniere;
        ligneCourante = ligneDavance;
    }
    if (coutTotal > 0)
    {
        coutTotal = coutTotal.toFixed(2);
        document.getElementById("coutTotal").innerHTML = "<br><br>Co&ucirc;t total : "+coutTotal+" &euro;";
        texteMail += ".\n\nMerci de faire parvenir votre reglement de "+coutTotal+" euros a REEL.";
    }
    xxx = document.getElementById("recapJeux");
    xxx.style.width="100%";
    codeJeux += "</table>";
    xxx.innerHTML = codeJeux;
    codeLogistique += "</table>";
    document.getElementById("recapLogistique").innerHTML = codeLogistique;
    document.getElementById("texteMail").value = texteMail;
}

function popupErreur(message, nbErreurs)
{
    // Mise en forme du message
    message = "<div style='background-color:#f9f1c4; color:#000000; border:2px solid #CC9933; width:100%; font-size:12pt; font-weight:normal; font-family:helvetica;'>"+message+"</div>";
    // Ouverture d'une popup pour signaler les erreurs.
    w = window.open("loading.html","popupErreur","width=850, height="+((2+nbErreurs)*20));
    w.document.write(message);   
}