/* Common Functions */

function AddClass(elem, classname)
{
	if(!CheckClass(elem, classname))
	{
		if(elem.className == "")
			elem.className = classname;
		else
			elem.className += " " + classname;
	}
}

function RemoveClass(elem, classname)
{
	var re = new RegExp("\\s*" + classname + "\\b");
	
	if(!re.test(elem.className))
		re = new RegExp(classname);
		
	elem.className = elem.className.replace(re, "");
}

function CheckClass(elem, classname)
{
	var re = new RegExp("\\b" + classname + "\\b");
	
	return re.test(elem.className);
}

function GetChildElementsByTagName(tag, elem)
{
	var i;
	var numChildren;
	var matchingNodes;
	
	numChildren = elem.childNodes.length;
	matchingNodes = new Array();
	
	for(i = 0; i < numChildren; i++)
	{
		if(elem.childNodes[i].nodeType == 1)
		{
			if(elem.childNodes[i].tagName.toUpperCase() == tag.toUpperCase())
				matchingNodes[matchingNodes.length] = elem.childNodes[i];
		}
	}
	
	return matchingNodes;
}
