
  function hasClass(obj) {
     var result = false;
     if (obj.getAttributeNode("class") != null) {
         result = obj.getAttributeNode("class").value;
     }
     return result;
  }   




 function stripe(class_name) {





    // the flag we'll use to keep track of 
    // whether the current row is odd or even
    var even = false;
  
    // if arguments are provided to specify the colours
    // of the even & odd rows, then use the them;
    // otherwise use the following defaults:
    var evenColor = arguments[1] ? arguments[1] : "#fff";
    var oddColor = arguments[2] ? arguments[2] : "#ccc";
  
    // obtain a reference to the desired table
    // if no such table exists, abort


	var allElems = document.getElementsByTagName('table');
	for (var t = 0; t < allElems.length; t++) {
		var table = allElems[t];
		if (table.className && table.className == class_name) {
	    if (! table) { return; }

			
			// by definition, tables can have more than one tbody
			// element, so we'll have to get the list of child
			// &lt;tbody&gt;s 
			var tbodies = table.getElementsByTagName("tbody");

			// and iterate through them...
			for (var h = 0; h < tbodies.length; h++) {
			
			 // find all the &lt;tr&gt; elements... 
			  var trs = tbodies[h].getElementsByTagName("tr");
			  
			  // ... and iterate through them
			  for (var i = 0; i < trs.length; i++) {

				var mytr = trs[i];

				// avoid rows that have a class attribute
				// or backgroundColor style
				if (! hasClass(mytr) &&
					! mytr.style.backgroundColor) {
						a = even ? 'even' :'odd';
						mytr.setAttribute('class',a);
						mytr.setAttribute('className',a);//IE6
		//              mytr.style.backgroundColor =
		//                even ? evenColor : oddColor;



				}
				// flip from odd to even, or vice-versa
				even =  ! even;
			  }
			}


		}
	}


  }
