Object.extend(Element,
{
	// a little function to extract an id from the className property of an element
	extractId: function(element)
	{
		if (!(element = $(element))) return;
		
		return parseInt(element.className.match(/id-([\d]+)/)[1]) || 0;
	}
});

Object.extend(Event,
{
	whichKey: function(event)
	{
		return event.keyCode || event.which || false;
	}
});

// get Elements By given attribute value
document.getElementsByAttribute = function (parent, tag, attribute, avalue) 
{
	var elements =[];
	
	$A(($(parent) || document).getElementsByTagName(tag)).each(function(elem)
	{
		if ((!avalue && elem.getAttribute(attribute)) || (avalue && elem.getAttribute(attribute) == avalue))
		{
			elements.push(elem);
		}
	});
	
	return elements;
}