
function getElementsByClassName(oElm,strTagName,oClassNames)
{
	var arrElements=(strTagName=="*" && oElm.all) ? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements=new Array();
	var arrRegExpClassNames=new Array();

	if (typeof oClassNames=="object")
	{
		for (var i=0; i<oClassNames.length; ++i)
			arrRegExpClassNames.push(new RegExp("(^|\\s)"+oClassNames[i].replace(/\-/g,"\\-")+"(\\s|$)"));
	}
	else
		arrRegExpClassNames.push(new RegExp("(^|\\s)"+oClassNames.replace(/\-/g,"\\-")+"(\\s|$)"));

	for (var j=0; j<arrElements.length; ++j)
	{
		var oElement=arrElements[j];
		var bMatchesAll=true;

		for (var k=0; k<arrRegExpClassNames.length; ++k)
		{
			if (!arrRegExpClassNames[k].test(oElement.className))
			{
				bMatchesAll=false;
				break;
			}
		}

		if (bMatchesAll)
			arrReturnElements.push(oElement);
	}

	return arrReturnElements;
}



// to work in IE 5.0, you need to include this add-on to get support for the push method on the Array object:


if (typeof Array.prototype.push!="function")
{
	Array.prototype.push=ArrayPush;

	function ArrayPush(value)
	{
		this[this.length]=value;
	}
}

