  function stripe(id) {
    var table = document.getElementById(id);
    if (! table) { return; }
    
	aRows = _getChildStripeElements(table);
	
	var iRowCount = 0;

    for (var i = 0; i < aRows.length; i++) {
		for (var k = 0; k < aRows[i].length; k++) {
			removeCSSClass(aRows[i][k], 'odd');
			if (iRowCount % 2 == 1) {
				addCSSClass(aRows[i][k], 'odd');
			}
			iRowCount++;
		}
    }
  }
  
  function _getChildStripeElements(oElem) {
  	var aRet = new Array();
	var oTBodies = oElem.getElementsByTagName("tbody");
	if (oTBodies.length > 0) {
		for (var i = 0; i < oTBodies.length; i++) {
			aRet = aRet.concat((oTBodies[i]).getElementsByTagName('tr'));
		}
	} else {
		aRet = aRet.concat(oElem.getElementsByTagName('tr'));
	}
	return aRet;
  }




function removeCSSClass(oElem, sClassName) {
	oElem.className = oElem.className.replace(sClassName, "" ).trim();
}

function addCSSClass(oElem, sClassName) {
	removeCSSClass(oElem, sClassName);
	oElem.className = (oElem.className + " " + sClassName).trim();
}

String.prototype.trim = function() {
	return this.replace( /^\s+|\s+$/, "" );
}
