/**
 * Outil de sélection
 * @version RWF 2010-08-06
 * @author Cédric Talbot <c.talbot@stelpro.com>
 */
// Tableau global qui associe la liste au wattage
var VoltLists = new Array();
VoltLists['050'] = "A";
VoltLists['075'] = "A";
VoltLists['100'] = "A";
VoltLists['125'] = "A";
VoltLists['150'] = "A";
VoltLists['200'] = "B";

// Gestion des listes dynamiques
Event.observe(document, "dom:loaded", function() {
    // Gère le choix du wattage
    $('Watts').observe("change", function(e) {
        // Reset des listes
        VoltageReset();

        // Affiche la bonne liste
        if (e.element().getValue() != "") {
            // Sélectionne la liste en fonction du wattage
            $('Volts' + VoltLists[e.element().getValue()]).show();
        }
    });

    // Gère le choix du voltage
    [$('VoltsA'), $('VoltsB')].invoke("observe", "change", function(e) {
        // Un choix dans une liste affiche le choix de couleur
        if (e.element().getValue() != "" && e.element().getValue() != 3) {
            $('ThermA').show();
            $('ThermB').fire("ts:hide");
            $('Color').show();
        } else {
            $('ThermB').show();
            $('ThermA').fire("ts:hide");
            $('Color').fire("ts:hide");
        }
    });

    // Gère le choix d'un thermostat
    $('ThermB').observe("change", function(e) {
       if (e.element().getValue() != "") {
           $('Color').show();
       } else {
           $('Color').fire("ts:hide");
       }
    });

    // Gère le choix d'une couleur
    $('Color').observe("change", function(e) {
       if (e.element().getValue() != "") {
           $('ts_search_trigger').show();
       } else {
           $('ts_search_trigger').hide();
       }
    });
});

// Fonction qui s'occupe de remettre les listes de voltage à leur état initial
function VoltageReset() {
    // Masque les listes
    $('VoltsA').fire("ts:hide");
    $('VoltsB').fire("ts:hide");
}

/**
 * Fonction qui prepare le processus de sélection
 */
function PrepareSelection() {
    // Construit le nom de modèle à trouver
    var produit = $F("CODE_PRODUIT");

    // Construction
    var mod = produit + $F('Watts') + $F('Volts' + VoltLists[$F('Watts')]);

    // Pour les appareils de 347 V, un choix doit être fait pour le thermostat
    if ($F('Volts' + VoltLists[$F('Watts')]) == 3) {
        mod += $F('ThermB');
    }

    // Code pour image
    var modImg = produit + $F('Color');

    // Numéro complet
    var modeleFull = mod + $F('Color');

    // Construit le mapping des autres cellules à afficher
    var map = new Array();

    // Détermine la colonne de prix
	if (produit == "RWF") {
		var col;
		switch ($F('Volts' + VoltLists[$F('Watts')])) {
			case "1":
			case "8":
			case "2":
			case "7":
				col = 1;
				break;
			default:
				if ($F('ThermB') == "T") {
					col = 3;
				}
				else {
					col = 5;
				}
				break;
		}
		map.push(col);
		
		// Assigne les colonnes de stats à afficher
		$R(6, 10).each(function(e){
			map.push(e);
		});
		
		// Construit le tableau de référence
    	var mapref = new Array("prix", "pow", "volt", "pcm", "poidsKG", "poidsLB");
	} else {
		// Variante US spéciale
		var col;
		var col_no_bb;
		switch ($F('Volts' + VoltLists[$F('Watts')])) {
			case "1":
			case "8":
			case "2":
			case "7":
				col = 1;
				col_no_bb = 2;
			break;
			default:
				if ($F('ThermB') == "4") {
					col = 3;
					col_no_bb = 4;
				}
				else {
					col = 7;
					col_no_bb = 8;
				}
				break;
		}
		map.push(col);
		map.push(col_no_bb);
		
		// Assigne les colonnes de stats à afficher
		$R(9, 13).each(function(e){
			map.push(e);
		});
		
		// Construit le tableau de référence
    	var mapref = new Array("prix", "prix_no_bb", "pow", "volt", "pcm", "poidsKG", "poidsLB");
	}

    // Sélection
    Selection(produit, mod, modeleFull, modImg, map, mapref);
}
