function hasClass(obj) {
	var result = false;
	if (obj.getAttributeNode("class") != null) {
		result = obj.getAttributeNode("class").value;
	}
	return result;
}

function stripe2(id,bClassOK,bBGChangeOK) {
	var h, i, j;
	var trs;
	var tds;
	var mytd;
	var even = false;
	var oddColor = arguments[2] ? arguments[2] : "#ffffff";
	var evenColor = arguments[3] ? arguments[3] : "#ebf3ff";

	var table = document.getElementById(id);
	if ( !table) { return; }
	var tbodies = table.getElementsByTagName("tbody");
	for ( h=0; h<tbodies.length; h++ ) {
		trs = tbodies[h].getElementsByTagName("tr");
		for ( i=0; i<trs.length; i++ ) {
			if ( !hasClass(trs[i]) && !trs[i].style.backgroundColor) {
				tds = trs[i].getElementsByTagName("td");
				for ( j=0; j<tds.length; j++ ) {
					mytd = tds[j];
					if ( bClassOK || !hasClass(mytd) ) {
						if ( bBGChangeOK || !mytd.style.backgroundColor ) {
						  mytd.style.backgroundColor = even ? evenColor : oddColor;
						}
					}
				}
				even = !even;
			}
		}
	}
}

function stripe(id) {
	stripe2(id, true, false);
}

function stripe_noclass(id) {
	stripe2(id, false, false);
}
