/* (c) 2005 - Laurent Houdard <laurent@houdard.net>
   
   by Fred Bird http://fredbird.org
   License : Public Domain

   $Id: css.js,v 1.1 2006-02-17 14:56:52 lh Exp $ */

function hasClass(obj, cName) {
  return new RegExp('\\b'+cName+'\\b').test(obj.className);
}

function addClass(obj, cName) {
  if (! hasClass(obj, cName)) { 
    obj.className = (obj.className ? cName + ' ' : cName) + obj.className;
  }
}

function removeClass(obj, cName) { 
  if (! hasClass(obj, cName)) {
    return;
  }
  var rep = obj.className.match(cName + ' ') ? cName + ' ' : cName; 
  obj.className = obj.className.replace(rep, '');
}

function getElementsByClassName(className, container, tag) { 
  container = container || document;
  tag = tag || '*';

  var objs = container.getElementsByTagName(tag);
  var found = new Array();

  for (var i = 0; i < objs.length; i++) {
    var o = objs[i];
    if (hasClass(o, className)) {
      found.push(o);
    }
  }
  return found;
}

