function getElementsByAttribute(attribute,  attributeValue)
{
	var elementArray = new Array();
	var matchedArray = new Array();

	if(document.all)
	{
		elementArray = document.all;
	}
	else
	{
		elementArray = document.getElementsByTagName("*");
	}
	for(var i=0;  i<elementArray.length;  i++)
	{
		if(attribute == "class")
		{
			var pattern = new RegExp("(^| )" + attributeValue + "( |$)");

			if(pattern.test(elementArray[i].className))
			{
				matchedArray[matchedArray.length] = elementArray[i];
			}
		}
		else if(attribute == "for")
		{
			if(elementArray[i].getAttribute("htmlFor")  ||  elementArray[i].getAttribute("for"))
			{
				if(elementArray[i].htmlFor == attributeValue)
				{
					matchedArray[matchedArray.length] = elementArray[i];
				}
			}
		}
		else if(elementArray[i].getAttribute(attribute) == attributeValue)
		{
			matchedArray[matchedArray.length] = elementArray[i];
		}
	}
	return matchedArray;
}