
var HtmlTool = {};
HtmlTool.addClass = function (node, classStr) {
	if (HtmlTool.hasClass(node, classStr)) {
		return false;
	}
	classStr = (HtmlTool.getClass(node) + " " + classStr).replace(/^\s+|\s+$/g,"");
	return HtmlTool.setClass(node, classStr);  //  boolean
};
HtmlTool.hasClass = function (node, classname) {
	return (new RegExp('(^|\\s+)'+classname+'(\\s+|$)')).test(HtmlTool.getClass(node));  //  boolean
};
HtmlTool.getClass = function (node) {
	var cs = node.className;
	return cs.replace(/^\s+|\s+$/g, "");  //  string
};
HtmlTool.setClass = function (node, classStr) {
	var cs = classStr.toString();
	try{
		if(typeof node.className == "string"){
			node.className = cs;
		}else{
			return false;
		}
	}catch(e){
		HtmlTool.showError("HtmlTool.setClass() failed" + e.message);
	}
	return true;
};
HtmlTool.removeClass = function (node, classStr, allowPartialMatches) {
	var newcs;
	try{
		if (!allowPartialMatches) {
			newcs = HtmlTool.getClass(node).replace(new RegExp('(^|\\s+)'+classStr+'(\\s+|$)'), "$1$2");
		} else {
			newcs = HtmlTool.getClass(node).replace(classStr,'');
		}
		HtmlTool.setClass(node, newcs);
	}catch(e){
		HtmlTool.showError("HtmlTool.removeClass() failed" + e.message);
	}
	return true;  //  boolean
};
HtmlTool.showError = function(msg) {
	alert(msg);
};
HtmlTool.setDisplayByClass = function(objArr, classNm, show)
{
	var styleDispl = (show) ? '' : 'none';
	
	for (var i=0; i<objArr.length; i++)
	{	
		if (objArr[i].className && HtmlTool.hasClass(objArr[i], classNm))
		{
			objArr[i].style.display = styleDispl;
		}
	}
};