/**
 * CSSClass.js: utilities for manipulating the CSS class of an HTML element.
 * Based on code shown in the book: JavaScript - The Definitive Guide, by David Flanagan
 */

function E(e) {
	if (typeof e == "string")
		e = document.getElementById(e);

	return e;
}

var CSSClass = {} // This is our namespace object

// Return true if element e is a member of the class c; false otherwise
CSSClass.is = function(e, c) {
	e = E(e);

	if (!e.className) return false;
	if (e.className == c) return true;

	return e.className.search("\\b" + c + "\\b") != -1;
}

CSSClass.add = function(e, c) {
	e = E(e);

	if (CSSClass.is(e, c))
		return;

	if (e.className) c = " " + c;
	e.className += c;
}

CSSClass.remove = function(e, c) {
	e = E(e);

	e.className = e.className.replace(new RegExp("\\b" + c + "\\b\\s*", "g"), "");
}

