/**
 * Définit l'image de titre de la gamme
 */
function definitGammeTitre(a_gamme) {
	xbGetElementById("titre_gamme").src = './_imgs/titre_gamme' + a_gamme + ".gif";
}

/**
 * Définit le texte de la gamme
 */
function definitGammeTexte() {
	if (GAMME_DESC) {
		xbSetInnerHTML(xbGetElementById("texte_gamme"), GAMME_DESC);
	}
}

/**
 * Définit l'image de visuel principal de la gamme
 */
function definitGammeVisu(a_gamme) {
	xbGetElementById("visu_gamme").src = './_imgs/visu_gamme' + a_gamme + ".jpg";
}

/**
 * Initialisation de la page.
 */
function init() {
	// function principale
	initPage();
	
	// on dessine l'arbre
	RedrawAllTrees();
}

/**
 * Appelée sur clic dans l'arbre des catégories
 * @param a_oldSel		(COOLjsTreeNodePRO)	ancien noeud sélectionné
 * @param a_node		(COOLjsTreeNodePRO)	nouveau noeud sélectionné
 */
function selectCat(a_oldSel, a_node) {
	window.REP_IMAGE = '../_imgsdata/zoom/';
	
	treeCat.expandNode(a_node.index, 0, 1);
	
	displayProduits(PRODUITS[a_node.uid()]);
}

/**
 * Affiche la partie de visualisation de la liste des produits d'une catégorie,
 * et affiche le premier produit.
 * @param	a_produits (Object[])	tableaux des produits
 */
function displayProduits(a_produits) {
	// on conserve la liste courante des produits
	window.currProds = a_produits;
	
	var l_buf = '<table height="100%" width="100%" cellspacing="0" cellpadding="0" border="0">';
    l_buf += '<tr><td class="desc" width="300" height="100%" align="center" style="vertical-align:middle;"><img id="visu_prod" src="../_imgs/spacer.gif" width="200" height="200"/></td>';
    l_buf += '<td rowspan="2" width="180" class="menuTransRub03" valign="top">';
    l_buf += '<table height="100%" width="100%" cellspacing="0" cellpadding="0" border="0">';
    l_buf += '<tr><td><img src="./_imgs/les_references.gif" width="120" height="20"/></td></tr>';
    
    // on crée un tableau d'items d'onglet en bouclant sur les produits
    var l_items = [];
    var l_item;
    for (var i = 0; i < a_produits.length; i++) {
    	l_items[i] = new Object();
    	l_item = l_items[i];
    	l_item.code = a_produits[i].pro_titre;
    	l_item.url = 'javascript:selectProd(' + i + ');';
    }
    // on définit les items du gestionnaire d'onglets
    ongProduits.setItems(l_items);
    // on ajoute le code généré par l'objet Onglets
    l_buf += '<tr><td height="100%">' + ongProduits.buildItems() + '</td></tr>';
    
    // on ferme la table
    l_buf += '</table></td></tr>';
    
    // on ajoute la zone de description, dépendant du type de produit
    l_buf += '<tr><td id="desc_prod" valign="top" class="desc" align="center"></tr></td></table>';
    
    // on remplace la zone de description par le contenu du buffer
    xbSetInnerHTML(xbGetElementById("detailProd"), l_buf);
    
    // on affiche le premier produit
    if (a_produits.length > 0) {
	    ongProduits.selectItem(l_items[0].code);
    	selectProd(0);
    }
}

/**
 * Affiche les informations concernant le produit défini par son index dans le tableau window.currProds
 * @param	a_index (int)	index dans le tableau window.currProds
 */
function selectProd(a_index) {
	// on récupère les données du produit
	var l_prod = window.currProds[a_index];
	
	// on modifie l'image
	var l_img;
	if (l_prod.pro_vignette) {
		l_img = window.REP_IMAGE + l_prod.pro_vignette;
	} else {
		l_img = "../_imgs/spacer.gif";
	}
	xbGetElementById("visu_prod").src = l_img;
	
	// on affiche la description
	var l_desc = l_prod.pro_desc || l_prod.pro_titre;

	// on affiche le détail, en fonction du type
	var l_detail = '';
	if ("sa" == l_prod.pro_type) {
		// savon
		if (l_prod.sa_parfum && (l_prod.sa_parfum != 'null')) {
			l_desc += ' ' + l_prod.sa_parfum;
		}
		if (l_prod.sa_huile) {
			l_detail += 'base ' + l_prod.sa_huile + '<br/>';
		}
 
    } else if ("ge" == l_prod.pro_type) {
		// gel douche
		if (l_prod.ge_parfum && (l_prod.ge_parfum != 'null')) {
			l_desc += ' ' + l_prod.ge_parfum;
		}
		l_detail += 'contenance ' + l_prod.ge_contenance + '<br/>';

    } else if ("so" == l_prod.pro_type) {
		// soin
		if (l_prod.so_parfum && (l_prod.so_parfum != 'null')) {
			l_desc += ' ' + l_prod.so_parfum;
		}
		if (l_prod.so_huile) {
			l_detail += 'base ' + l_prod.so_huile + '<br/>';
		}
		l_detail += 'contenance ' + l_prod.so_contenance + '<br/>';

    } else if ("se" == l_prod.pro_type) {
		// sel
		if (l_prod.se_parfum && (l_prod.se_parfum != 'null')) {
			l_desc += ' ' + l_prod.se_parfum;
		}
    }
	
	// on construit la description
	// titre
	var l_buf = '<span class="article">' + l_desc + '</span><br/>';
	// détail
	l_buf += l_detail;
    // référence
	l_buf += 'R&eacute;f. ' + l_prod.pro_ref;
    
    xbSetInnerHTML(xbGetElementById("desc_prod"), l_buf);
}

