/*Fonction scripts gérant les questions
 *Est appelée et chargé uniquement dans le fichier run de view/game
 *
 **/




var auto_next_time = 30; //Temps de passage automatique à la fonction suivante en secondes
var save_next_time = 0; //Temps sauvegardé, variable inter-fonctions
var num = 0; //Numéro de la question en cours

/*
 * Affiche la question suivante
 * Args : identifiant de l'appelant
 */
function shownext(args)
{
    //On réinitialise le temps de l'autonext
    save_next_time = 0;
    
    //On parse le numéro de la question
    var num_ori = args.toString().substring(args.toString().indexOf("q", 0) + 1, args.toString().indexOf("a", 0));
    
    //Sauvegarde du numéro de la question
    num = num_ori;
    
    //On parse la réponse
    var rep = args.toString().substring(args.toString().indexOf("a", 0) + 1, args.toString().length);
    
    //Si la réponse est null, le joueur n'a pas répondu
    //Par défaut, c'est le code d'une mauvaise réponse => -1
    if(rep == null)
    {
        rep = -1;
    }
    
    //On sauvegarde la réponse dans le champ associé
    document.getElementById("saveq" + num).value = rep;
    
    num++;
    
    //On met à jour les attribut des boutons
    document.getElementById("form_q_b0").setAttribute("onclick", "javascript:shownext('q" + num + "a0')");
    document.getElementById("form_q_b1").setAttribute("onclick", "javascript:shownext('q" + num + "a1')");
    document.getElementById("form_q_b2").setAttribute("onclick", "javascript:shownext('q" + num + "a2')");
  
    try
    {
        document.getElementById("form_q_text").innerHTML = document.getElementById("form_q" + num).innerHTML; 
    }
    catch (error)
    {
        //Il n'y a plus de question
        //On envoi le formulaire
        document.getElementById("form_q").submit();
    }
}


/*
 *Démarre la partie
 *Rend visible les premier éléments
 */
function startgame()
{
    //On récupère le formulaire de démarrae
    var form =  document.getElementById("form_start");
    
    //On supprime tous ses noeuds enfants
    while (form.firstChild)
    {
        form.removeChild(form.firstChild);
    }
    
    //On affiche le formulaire finale
    document.getElementById("form_q").setAttribute("style", "visibility : auto");
    
    //On lance le chrono
    starttimer();
}


/*
 * Démarre et affiche le temps du chrono
 */
function starttimer()
{
    var time = 0;
    
    //On lance aussi le timer qui passe automatiquement à la question suivante
    start_autonexttimer();
          
    //On lance le timer      
    setInterval(function()
    {
        //On met à jour le temps
        time +=100;
        var timer_date = new Date(time);
        var timer = new Date(time).toLocaleTimeString();
        
        //On parse les minutes et les secondes pour l'affichage'
        var minuts = timer.split(":")[1];
        var seconds = timer.split(":")[2];
        
        //On affiche la chaîne modifiée
        document.getElementById("time").innerHTML = minuts + "m " + seconds + "s " + timer_date.getMilliseconds() + "ms";
        
        //On stocke le temps en millisecondes dans le champ caché
        document.getElementById("form_q_time").setAttribute("value", time);
                
    }, 100);
    
    
}

/*
 * Lance le timer chargé de passer automatiquement à la question suivante au bout de 3 secondes
 */
function start_autonexttimer()
{
    //On lance le timer      
    setInterval(function()
    {
        save_next_time +=1;
        
        //Si le temps est un multiple de 3s, on passe à la question suivante
        if((save_next_time % 30) == 0)
        {
            num++;
            shownext('q' + num + 'a3');
        }
        
    }, 1000);
}
