/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 * Fonction qui force la sélection d'un input[type=radio]
 */
function ForceSelect(id) {
    // Vérifie l'état
    if ($(id).checked == false) {
        $(id).checked = true;
    }

    // Vérifie si le reload doit être fait
    DetermineRefresh();
}

/**
 * Associe certains événements aux éléments du formulaire pour la mise à jour automatique du calcul
 */
Event.observe(document, "dom:loaded", function() {
   /** Le bouton Calculer lance le calcul **/
   $("CalcBtn").observe("click", FormProcess);

   /** La modification des champs de dimension relance le calcul si nécessaire **/
   [$('Largeur'), $('Longueur'), $('Hauteur'), $('Gamme1'), $('Gamme2')].invoke("observe", "change", DetermineRefresh);
});

/**
 * Fonction qui lance le calcul et met à jour l'affichage
 */
function FormProcess() {
    // Flag l'affichage'
    $('Etat').value = "1";

    // Trouve la gamme
    var gamme;
    if ($('Gamme1').checked) { gamme = 1; }
    if ($('Gamme2').checked) { gamme = 2; }

    // Lance le calcul via AJAX
    new Ajax.Request("?action=ventcalc", {
        method:"get",
        parameters:{
            pc:($F("Largeur") * $F("Longueur") * $F("Hauteur")),
            gamme:gamme
        },
        onSuccess:function(xhr) {
            $("CalcRes").update(xhr.responseText);
            Effect.Appear("CalcRes", {
                duration:0.2
            });
        },
        onFailure:function(xhr) {
            return false;
        }
    })
}

/**
 * Fonction qui détermine si le calcul doit être relancé
 */
function DetermineRefresh() {
    if ($F('Etat') == 1) {
        // Les résultats sont affichés, chaque changement dans les choix relance le calcul
        FormProcess();
    }
}

