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 showCat(id) {
  if (document.getElementById('sub'+id).style.display == "none") {
    document.getElementById('sub'+id).style.display = "block";
    addClass(document.getElementById('main'+id),"active");
  }
  else {
    document.getElementById('sub'+id).style.display = "none";
    removeClass(document.getElementById('main'+id),"active");
  }
}