/**
 * Outil de sélection
 * @version CWS1000 2010-09-28
 * @author Cédric Talbot <c.talbot@stelpro.com>
 */
// Conteneur pour le suivi des choix
var modele, watts;

// Gestion des listes dynamiques
Event.observe(document, "dom:loaded", function() {
	// Gère le choix du modèle
	$('Modele').observe("change", function(e){
		// Remise à zéro
		VoltageReset();
		WattsReset();
		ColorReset();
		
		// Choix de liste
		if ($F('Modele') != "") {
			// Affiche
			$('Volts').show();
		}
	});
	
	// Gère le choix du voltage
    $('Volts').observe("change", function(e) {
		// Remise à zéro
		WattsReset();
		ColorReset();
		
		// Orientation
        if (e.element().getValue() != "") {
			// Il y a 1 choix de wattage par modèle
			switch($F('Modele')) {
				case "6":
					watts = "WattsA";
				break;
				case "9":
					watts = "WattsB";
				break;
				case "12":
					watts = "WattsC";
				break;
				case "15":
					watts = "WattsD";
				break;
				case "18":
					watts = "WattsE";
				break;
			}
			
			// Affichage
			$(watts).show();
        }
    });
	
    // Gère le choix du wattage
    [$('WattsA'), $('WattsB'), $('WattsC'), $('WattsD'), $('WattsE')].invoke("observe", "change", function(e) {
        // Reset des listes
        ColorReset();
        $('Color').show();
    });
	
	// Choix de couleur
	$('Color').observe("change", function(e){
		if ($F('Color') != "") {
			$('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
    $('Volts').fire("ts:hide");
}

// Fonction qui s'occupe de remettre les listes de voltages à leur état initial
function WattsReset() {
	$('WattsA').fire("ts:hide");
	$('WattsB').fire("ts:hide");
	$('WattsC').fire("ts:hide");
	$('WattsD').fire("ts:hide");
	$('WattsE').fire("ts:hide");
}

// Fonction qui s'occupe de remettre les listes de couleurs à leur état initial
function ColorReset() {
    // Masque les listes
    $('Color').fire("ts:hide");
	
	$('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 + $F('Modele') + $F(watts) + $F('Volts');

    // 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 wattage
    map.push(GetColoneWattage(watts));

    // Assigne les colonnes de stats à afficher
	$R(6, 11).each(function(e){
		map.push(e);
	});
	

    // Construit le tableau de référence
    var mapref = new Array("pow", "volt", "longMM", "longPO", "poidsKG", "poidsLB", "prix");

    // Sélection
    Selection(produit, mod, modeleFull, modImg, map, mapref);
}

/**
 * Méthode qui détermine la colonne de wattage
 */
function GetColoneWattage(watts) {
	// Modèle (pour départager les wattages équivalents
	var modele = $F('Modele');
	
	// Trouve le vrai wattage
	var watts = parseInt($(watts).options[$(watts).selectedIndex].text, 10);
	
	switch(watts) {
		case 1200:
		case 1800:
		case 3600:
			return 5;
		break;
		case 3200:
		case 4800:
			return 3;
		break;
		case 5000:
		case 6000:
			return 1;
		break;
		case 2400:
			if (modele == "9") {
				return 3;
			} else {
				return 5;
			}
		break;
		case 3000:
			if (modele == "9") {
				return 1;
			} else {
				return 5;
			}
		break;
		case 4000:
			if (modele == "12") {
				return 1;
			} else {
				return 3;
			}
		break;
		default:
			return 1;
	}
}

