function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

function get(obj) {
  return document.getElementById(obj);
}

function init() {
  var trs = get('main').getElementsByTagName('tr');
  for (var i=0; i<trs.length; ++i) {
    var as = trs[i].getElementsByTagName('a');
    if (as.length == 1) {
      trs[i].style.cursor = 'pointer';
      trs[i].onclick = trClick;
      trs[i].onmouseover = trMouseOver;
      trs[i].onmouseout = trMouseOut;
    }
  }
}

function trClick() {
  window.location.href = this.getElementsByTagName('a')[0].href;
}

function trMouseOver() {
  this.className = this.className + ' trhover';
}

function trMouseOut() {
  this.className = this.className.replace('trhover', '');
}

addEvent(window, "load", init);