	function striper(parentElementTag, parentElementClass, childElementTag, styleClasses)
	{
		var i=0,currentParent,currentChild;
		// capability and sanity check
		if ((document.getElementsByTagName)&&(parentElementTag)&&(childElementTag)&&(styleClasses)) {
			// turn the comma separate list of classes into an array
			var styles = styleClasses.split(',');
			// get an array of all parent tags
			var parentItems = document.getElementsByTagName(parentElementTag);
			// loop through all parent elements
			while (currentParent = parentItems[i++]) {
				// if parentElementClass was null, or if the current parent's class matches the specified class
				if ((parentElementClass == null)||(currentParent.className == parentElementClass)) {
					var j=0,k=0;
					// get all child elements in the current parent element
					var childItems = currentParent.getElementsByTagName(childElementTag);
					// loop through all child elements
					while (currentChild = childItems[j++]) {
						// based on the current element and the number of styles in the array, work out which class to apply
						k = (j+(styles.length-1)) % styles.length;
						// add the class to the child element - if any other classes were already present, they're kept intact
						currentChild.className = currentChild.className+" "+styles[k];
					}
				}
			}
		}
	}
	
	function stripe()
	{
		striper('table',false,'tr','oddRow, evenRow');
	}
	
	window.onload = function() { 
	  stripe();
	}// JavaScript Document
