function addLoadEvent(func)
{
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
	{
        window.onload = func;
    }
	else
	{
        window.onload = function()
		{
            if (oldonload)
			{
                oldonload();
            }
            func();
        }
    }
}

function getElementsLabelByFor(htmlfor)
{
	var labelForElements=getElementsByAttribute('label','for');
}

function getTagsByAttributeName(tag,attributeName)
{
	var tags = document.getElementsByTagName(tag);
	var tagsByAttributeName = new Array();
	for(var i=0;i<tags.length;i++)
	{
		var attributeValue=tags[i].getAttribute(attribute);
		if(attributeValue!=null)
		{
			tagsByAttributeName.push(tags[i]);
		}
	}
	return tagsByAttributeName;
}

function getTagsByAttributeValue(tag,attributeName,attributeValue)
{
	var tags=getTagsByAttributeName(tag,attributeName);
	var tagsByAttributeValue = new Array();
	for(var i=0;i<tags.length;i++)
	{
		var attributeValue=tags[i].getAttribute(attribute);
		if(attributeValue==attributeValue)
		{
			tagsByAttributeValue.push(attributeValue);
		}
	}
	return tagsByAttributeValue;
}

function getTagsByAttributeValueMap(tag,attributeName)
{
 	 var tags = document.getElementsByTagName(tag);
	 var tagsByAttributeValueMap = new Object();
	 for (var i=0;i<tags.length;i++)
	 {
		 var attributeValue=tags[i].getAttribute(attributeName);
		 if(tagsByAttributeValueMap[attributeValue]==null)
		 {
			 tagsByAttributeValueMap[attributeValue]=new Array();
		 }
		tagsByAttributeValueMap[attributeValue].push(tags[i]);
	 }
	 return tagsByAttributeValueMap;
}

function hasClass(object,clazz)
{
	return new RegExp('\\b'+clazz+'\\b').test(object.className);
}
