function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function setHover(elmId) {
  var a=document.getElementById(elmId).getElementsByTagName("li")
      for(i=0;i!=a.length;i++) {
    a[i]['onmouseover'] = function() { addClass(this,'hover'); };
    a[i]['onmouseout'] = function() { removeClass(this,'hover'); };
      }
}