var DOM = {

	addCssClass: function (element, className, noTest) {
		if ((noTest) || (!DOM.containsCssClass(element, className))) {
			element.className = (element.className + " " + className).trim();
		}
	},

	containsCssClass: function (element, className) {
		return ((" " + element.className.toLowerCase() + " ").indexOf(" " + className.toLowerCase() + " ") >= 0);
	},

	removeCssClass: function (element, className, noTest) {
		DOM.removeCssClassRegex(element, new RegExp("(^| )" + className + "($| )", "gi"), noTest);
	},

	removeCssClassRegex: function (element, classRegex, noTest) {
		if ((noTest) || (classRegex.test(element.className))) {
			element.className = element.className.replace(classRegex, " ").replace(/\s{2,}/g, " ").trim();
		}
	},

	toggleCssClass: function (element, className) {
		if (DOM.containsCssClass(element, className)) {
			DOM.removeCssClass(element, className, true);
			return false;
		}
		else {
			DOM.addCssClass(element, className, true);
			return true;
		}
	}
}
