function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}


function stripeTables() {
	var tbodies = document.getElementsByTagName("tbody");
	for (var i=0; i<tbodies.length; i++) {
		var odd = true;
		var rows = tbodies[i].getElementsByTagName("tr");
		for (var j=0; j<rows.length; j++) {
			if (odd == false) {
				odd = true;
			} else {
				addClass(rows[j],"odd");
				odd = false;
			}
		}
	}
}

function highlightRows() {
  if(!document.getElementsByTagName) return false;
  var tbodies = document.getElementsByTagName("tbody");
  for (var j=0; j<tbodies.length; j++) {
      var rows = tbodies[j].getElementsByTagName("tr");
      for (var i=0; i<rows.length; i++) {
		rows[i].oldClassName = rows[i].className
				rows[i].onmouseover = function() {
				  addClass(this,"highlight");
				}
				rows[i].onmouseout = function() {
				  this.className = this.oldClassName
				}
      }
   }
}


addLoadEvent(stripeTables);
addLoadEvent(highlightRows);
addLoadEvent(lockRow);