/**
 * Outil de sélection
 * @version SIL 2010-05-27
 * @author Cédric Talbot <c.talbot@stelpro.com>
 */

// Conteneurs
var watts,color;

// Gestion des listes dynamiques
Event.observe(document, "dom:loaded", function() {
	// Gère le choix 1
	$('Height').observe("change", function(e) {
		// Récupère le Select modifié
		var select = e.element();
		
		// Masque les listes
		$('WattsA').fire("ts:hide");
		$('WattsB').fire("ts:hide");
		$('Therm').fire("ts:hide");
		$('ColorA').fire("ts:hide");
		$('ColorB').fire("ts:hide");
		$('ts_search_trigger').hide();
		
		// Vérifie si la valeur choisie est valide
		if (select.value != "null") {
			// Selon le choix, active la bonne liste suivante
			if (select.value == "") {
				$('WattsA').show();
				$('WattsB').fire("ts:hide");
			} else {
				$('WattsB').show();
				$('WattsA').fire("ts:hide");
			}
		}
	});
	
	// Gère le choix 2
	[$('WattsA'),$('WattsB')].invoke("observe", "change", function(e){
		// Récupère la liste modifiée
		var select = e.element();
		
		// Masque la suite
		$('Therm').fire("ts:hide");
		$('ColorA').fire("ts:hide");
		$('ColorB').fire("ts:hide");
		$('ts_search_trigger').hide();
		
		// Attribution de la valeur watts
		watts = $F(select);
		
		// Vérifie si la valeur choisie est valide
		if (select.value != "") {
			// Affiche la prochaine liste
			$('Therm').show();
		}
	});
	
	// Gère le choix 3
	$('Therm').observe("change", function(e){
		// Récupère la liste modifiée
		var select = e.element();
		
		// Masque la suite
		$('ColorA').fire("ts:hide");
		$('ColorB').fire("ts:hide");
		$('ts_search_trigger').hide();
		
		// Vérifie si la valeur choisie est valide
		if (select.value != "null") {
			// Affiche la prochaine liste selon le wattage
			if (watts == 10 || watts == 15 || watts == 20) {
				$('ColorB').show();
			} else {
				$('ColorA').show();
			}
		}
	});
	
	// Gère le choix 4
	[$('ColorA'), $('ColorB')].invoke("observe", "change", function(e){
		// Récupère la liste modifiée
		var select = e.element();
		
		// Vérifie si la valeur choisie est valide
		if (select.value != "") {
			// Affiche la prochaine liste
			$('ts_search_trigger').show();
			
			// Détermine la couleur
			color = select.value;
		} else {
			// Masque la suite
			$('ts_search_trigger').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 + $('Height').value;
	
	// Cas spécial pour le wattage
	if ($('WattsA').visible()) {
		mod += $('WattsA').value;
	} else if ($('WattsB').visible()) {
		mod += $('WattsB').value;
	}
	
	// Continue la construction
	var modele = mod + $('Therm').value;
	
	// Code pour image
	var modImg = mod + color;
	
	// Numéro complet
	var modeleFull = modele + color;
	
	// Construit le mapping des autres cellules à afficher
	var map = new Array();
	
	// Détermine la colonne de prix
	var target = $('Therm').value + color;
	switch(target) {
		case "WCW":
		case "WCA":
			var col = 1;
		break;
		case "WCSS":
			var col = 2;
		break;
		case "W" :
		case "A" :
		case "TEW":
		case "TEA":
			var col = 5;
		break;
		case "SS":
		case "TESS":
			var col = 6;
		break;
		case "PTW":
		case "PTA":
			var col = 8;
		break;
		case "PTSS":
			var col = 9;
		break;
		default:
			var col = 0;
	}
	
	// Assigne le prix dans le mapping
	map.push(col);
	
	// Assigne les colonnes de stats à afficher
	$R(10,17).each(function(e){
		map.push(e);
	});
	
	// Construit le tableau de référence
	var mapref = new Array("prix", "pow", "volt", "longMM", "longPO", "hautMM", "hautPO", "poidsKG", "poidsLB");
	
	// Sélection
	Selection(produit, modele, modeleFull, modImg, map, mapref);
}
