function getCSSRule(ruleName)
{
	var rule = null;
	var sheets = document.styleSheets;
	for (i=0; i < sheets.length && rule == null; i++)
	{
		var rules = sheets[i].rules || sheets[i].cssRules;
		for (j=0; j < rules.length && rule == null; j++)
		{
			if (rules[j].selectorText == ruleName)
			{
				rule = rules[j];        
			}
		}
	}      

	return rule;
}

function getElementsByClass(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;
}

//Requires string stuff.js
function getElementsBySubClass(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;
	
	for (i = 0, j = 0; i < elsLen; i++)
	{
		if (els[i].className.indexOfWord(searchClass) != -1)
		{
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
