/**
 * @copyright Copyright 2008 WnG Solutions Sàrl, all rights reserved
 * @author Daniel Calderini <daniel.calderini@wng.ch>
 * @package Site canalsat.ch
 *
 * @filename functions.js
 * @version 1.0.0
 * @date 2008-08-26
 */

/**
 * Fonctions générales utiles pour le site de CANALSAT
 */

/**
 * Affiche ou cache un élément HTML
 *
 * @param string id Identifiant de l'élément à afficher
 * @return bool Action réussie ou non
 */
function showHideElement(id) {
	var e = getElement(id);
	
	if (e) {
		if (isVisible(e))
			e.style.display = 'none';
		else
			e.style.display = 'block';
		
		return true;
	}
	
	return false;
}

/**
 * Retourne la référence à l'élément HTML correspondant à l'ID donné
 *
 * @param string id Identifiant de l'élément
 * @return void
 */
function getElement(id) {
	if (document.all)
		var	e = document.all[id];
	else
		var e = document.getElementById(id);
	
	if (e)
		return e;
	else
		return false;
}

/**
 * Détérmine si un élément est visible ou non
 *
 * @param void element Référence à l'élément
 * @return bool
 */
function isVisible(element) {
	if (element.style.display == 'block')
		return true;
	else
		return false;
}

/**
 * Affiche ou cache un sous-menu
 *
 * @param string id Identifiant du menu à afficher/cacher
 * @return void
 */
function showHideMenu(id) {
	showHideElement('s'+id);
	
	var title = getElement(id);
	var menu = getElement('s'+id);
	
	if (title && menu) {
		if (isVisible(menu))
			title.style.backgroundColor = '#b1b2b4';
		else
			title.style.backgroundColor = '#3e3d41';
	}
}

/**
 * Affiche ou cache les détails d'une chaîne
 *
 * @param string id Identifiant du bloc à afficher/cacher
 * @return void
 */
function showHideChanelDetails(id) {
	showHideElement(id);
}