function tableEnhance(table_id) {
	if (document.getElementById && document.getElementsByTagName) {  
		var is_gecko = (navigator.userAgent.toLowerCase().indexOf('gecko') != -1);
		var trs = document.getElementById(table_id).getElementsByTagName("tr");
		// JS pour alterner les couleurs
		for (var j = 0; j < trs.length; j += 2) {
			// removeClassName(trs[j], 'xt_odd');
			addCSSClass(trs[j], 'xt_even');
			// JS pour émuler :hover
			if (is_gecko == false) {
				trs[j].onmouseover = function() {
					addCSSClass(this, 'xt_hover');
				}
				trs[j].onmouseout = function() {
					removeClassName(this, 'xt_hover');
				}
			}
		}
		for (var k = 1; k < trs.length; k += 2) {
			// removeClassName(trs[k], 'xt_even');
			addCSSClass(trs[k], 'xt_odd');
			// JS pour émuler :hover
			if (is_gecko == false) {
				trs[k].onmouseover = function() {
					addCSSClass(this, 'xt_hover');
				}
				trs[k].onmouseout = function() {
					removeClassName(this, 'xt_hover');
				}
			}
		}
		if (is_gecko == true) {
			var cols = document.getElementById(table_id).getElementsByTagName("col");
			var colsClass = "";
			for (var i = 0; i < cols.length; i++) {
				colsClass += ";" + cols[i].className;
			}
			colsClass = colsClass.substring(1);
			var classNames = colsClass.split(";");
			for (var i = 0; i < trs.length; i++) {
				var tds = trs[i].getElementsByTagName("td");
				for (var j = 0; j < tds.length; j++) {
					if (classNames[j] != "") {
						addCSSClass(tds[j], classNames[j]);					
					}
				}			
			}
		}
	}
}

function removeClassName (elem, className) {
	elem.className = elem.className.replace(className, "").trim();
}

function addCSSClass (elem, className) {
	removeClassName (elem, className);
	elem.className = (elem.className + " " + className).trim();
}

String.prototype.trim = function() {
	return this.replace( /^\s+|\s+$/, "" );
}

