function CSSRuleInsert(sheetNr,newRuleText) 
{	// Funktioniert für Mozilla&Co, Opera 9, MSIE 6 und 7
	var styleSheet = null;

	if (document.styleSheets[sheetNr].addRule) 
	{ // MSIE
		var styleSheet 	= document.styleSheets[sheetNr];
		var ruleParts 	= newRuleText.split('{');
		var selector    = ruleParts[0];
		var declaration = ruleParts[1].split('}')[0];
		var newIndex = styleSheet.rules.length;
		styleSheet.addRule(selector, declaration);
		return newIndex;
	} 
	else if (document.styleSheets[sheetNr].insertRule) 
	{ // DOM 2
		var styleSheet = document.styleSheets[sheetNr];
		return styleSheet.insertRule(newRuleText,styleSheet.cssRules.length);
	}
	if (styleSheet == null) {
		alert("function CSSRuleInsert: stylesheet not accessable!");
		return false;
	}
}
function CSSRuleDelete(sheetNr,index) 
{   // Funktioniert für Mozilla&Co, Opera 9, MSIE 6 und 7
	if (document.styleSheets[sheetNr].removeRule) 
	{ // MSIE
		var styleSheet = document.styleSheets[sheetNr];
		if (index >=0 && index < styleSheet.rules.length) 
			return styleSheet.removeRule(index);
		else 
			alert("function CSSRuleDelete: wrong rule-index!");
	} 
	else if (document.styleSheets[sheetNr].deleteRule) 
	{ // DOM 2
		var styleSheet = document.styleSheets[sheetNr];
		if (index >=0 && index < styleSheet.cssRules.length) 
			return styleSheet.deleteRule(index);
		else 
			alert("function CSSRuleDelete: wrong rule-index!");
	}
	if (styleSheet == null) 
	{
		alert("function CSSRuleDelete: stylesheet not accessable!");
		return false;
	}
}
function CSSRuleGetByUniqueSelector(uniqueSelector) 
{
	var theRules = new Array();
	for (var i = 0; i < document.styleSheets.length; i++)
	{
		theRules = document.styleSheets[i].cssRules || document.styleSheets[i].rules;
		for (var j = 0; j < theRules.length; j++) 
		{
			var selText = theRules[j].selectorText;	
			if (selText == uniqueSelector)
			{
				var res = new Object;
				res["indexsheet"] 	= i;
				res["indexrule" ] 	= j;
				res["rule"] 		= theRules[j];
				return res;	
			}
		}
	}
	return null;
}
