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

function stripe(id) 
{
  var even = false;
  var evenColor = "#DDEECC";
  var oddColor = "#FFFFFF";

  var table = document.getElementById(id);
  if (! table) { return; }
  
  var tbodies = table.getElementsByTagName("tbody");
  for (var h = 0; h < tbodies.length; h++) 
  {
    var trs = tbodies[h].getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) 
    {
      if (! hasClass(trs[i]) && ! trs[i].style.backgroundColor) 
      {
        var tds = trs[i].getElementsByTagName("td");
        for (var j = 0; j < tds.length; j++) 
        {
          var mytd = tds[j];
          if (! hasClass(mytd) && ! mytd.style.backgroundColor) 
          {
            mytd.style.backgroundColor = even ? evenColor : oddColor;
          }
        }
      }
      even =  ! even;
    }
  }
}