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 = arguments[1] ? arguments[1] : "#fff";
   var oddColor = arguments[2] ? arguments[2] : "#edf3fe";
   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;
     }
   }
 }
 
 function currentYear() {
 	var today = new Date();
	var year = today.getFullYear();
	return year;
 }
