
function addLoadEvent(func) 
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function') 
	{
		window.onload = func;
	} 
	else 
	{
		window.onload = function() 
		{
			if (oldonload) 
			{
				oldonload();
			}
			func();
		}
	}
}

function addChangeEvent(element_id, func) 
{
	var element = document.getElementById(element_id);
	if (element)
	{
		var oldonchange = element.onchange;
		if (typeof element.onchange != 'function') 
		{
			element.onchange = func;
		} 
		else 
		{
			element.onchange = function() 
			{
				if (oldonchange) 
				{
					oldonchange();
				}
				func();
			}
		}
	}
}

	
function getElementsByClassName(searchClass,node,tag) {

	var classElements = new Array();

	if ( node == null )

		node = document;

	if ( tag == null )

		tag = '*';

	var els = node.getElementsByTagName(tag);

	var elsLen = els.length;

	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");

	for (i = 0, j = 0; i < elsLen; i++) {

		if ( pattern.test(els[i].className) ) {

			classElements[j] = els[i];

			j++;

		}

	}

	return classElements;

}

if (!document.getElementsByClassName){
  document.getElementsByClassName = getElementsByClassName;
}
