function getElementsByClass(attributeValue, target)
{
	var elementArray = new Array();
	var matchedArray = new Array();
	
	if (typeof target == "undefined")
	{
		target = document;
	}
	
	if (document.all)
	{
		elementArray = document.all;
	}
	else
	{
		elementArray = target.getElementsByTagName("*");
	}
	
	var pattern = new RegExp("(^| )" + attributeValue + "( |$)");
		
	for (var i = 0; i < elementArray.length; i++)
	{
		if (typeof elementArray[i].className != "undefined" && pattern.test(elementArray[i].className))
		{
			if (document.all)
			{
				if (target != document && !kannuu.isDescendantNode(elementArray[i], target))
				{
					continue;
				}
			}
			
			matchedArray[matchedArray.length] = elementArray[i];
		}
	}
	
	return matchedArray;
};




function addEvent(target, eventType, functionRef, capture)
{
	if (typeof target.addEventListener != "undefined")
	{
		target.addEventListener(eventType, functionRef, capture);
	}
	else if (typeof target.attachEvent != "undefined")
	{
		var functionString = eventType + functionRef;
		target["e" + functionString] = functionRef;
		
		target[functionString] = function(event)
		{
			if(typeof event == "undefined")
			{
				event = window.event
			};

			target["e" + functionString](event);
		};
		
		target.attachEvent("on" + eventType, target[functionString]);
	}

	return true;
};