/*
* Javascript extensions
* @author: Marco Hoeck <marco.hoeck@tvi-services.de>
* @copyright	TV Information Services 2007
* @since		20.09.2007 - 10:00:00
*/

/*
* document.getElementsByClassName
*/
document.getElementsByClassName = function (name)
{
	var resultNodes = new Array();
	var nodes = document.getElementsByTagName('*');
	for(var i = 0; i < nodes.length; i++)
	{
		var classes = nodes[i].className.split(' ');
		for(var j = 0; j < classes.length; j++)
		{
			if(classes[j] == name)
				resultNodes.push(nodes[i]);
				break;
			}
	}
	return resultNodes;
}

/*
* classNameAppend
*/
function classNameAppend(src_class, add_class)
{
	if(src_class.search(add_class) > 0)
		return src_class;

	if(src_class.length > 0)
		src_class += ' ';
	src_class += add_class

	return src_class;
}

/*
* classNameRemove
*/
function classNameRemove(src_class, rm_class)
{
	var classes = src_class.split(' ');
	src_class = '';
	for(var i = 0; i < classes.length; i++)
	{
		if(classes[i] != rm_class)
		{
			if(src_class.length > 0)
				src_class += ' ';
			src_class += classes[i];
		}
	}

	return src_class;
}

/*
* classNameContains
*/
function classNameContains(src_class, con_class)
{
	var classes = src_class.split(' ');
	var match = false;
	for(var i = 0; i < classes.length && !match; i++)
	{
		if(classes[i] == con_class)
		{
			match = true;
		}
	}

	return match;
}