var clientPC = navigator.userAgent.toLowerCase();
var opera = (clientPC.indexOf("opera") != -1);
var farben = new Array ('bg','bgr','bgy','bgb','bgg');
var forefarben  = new Array ('fg','fgr','fgy','fgb','fgg');
var abbrfarben  = new Array ('', 'R', 'Y', 'B', 'G');
var a, b, txt, myObject, rawBackGround, rawForeGround;

for (a = 0; a < 5; a++)
{
	eval ('var ' + farben[a] + ' = new Array (4)');
	eval ('var ' + forefarben[a] + ' = new Array (4)');
}

if (opera) 
{
	for (a = 0; a < 5; a++)
	{
		for (b = 1; b < 4; b++)
		{
			txt = 'z' + farben[a] + b;
			myObject = window.getComputedStyle(document.getElementById(txt), null);
			rawBackGround = farben[a] + '[' + b + '] = myObject.backgroundColor';
			rawForeGround = forefarben[a] + '[' + b + '] = myObject.color';
			eval(rawBackGround);
			eval(rawForeGround);
		}
	}	
}
else
{
	var styleElements = document.styleSheets[0].rules;
	if (styleElements == undefined) styleElements = document.styleSheets[0].cssRules;
	
	for (a = 0; a < 5; a++)
	{
		for (b = 1; b < 4; b++)
		{
			txt = '.row' + b + abbrfarben[a];
			myObject = getCssColors (txt);
			rawBackGround = farben[a] + '[' + b + '] = myObject.background';
			rawForeGround = forefarben[a] + '[' + b + '] = myObject.foreground';
			eval(rawBackGround);
			eval(rawForeGround);		
		}
	}
}

function getCssColors (styleName)
{
	var colorObj = new Object;
	var bgnd = 0;
	var pattern = new RegExp (styleName + '($|\,| )');	
	var numStyles = styleElements.length;
	for (var loop = 0; loop < numStyles; loop++)
	{
		if (styleElements[loop].selectorText.match(pattern)) 
		{
			if (styleElements[loop].style.backgroundColor != '')
			{
				colorObj.background = styleElements[loop].style.backgroundColor;
				break;
			}
		}
	}
	for (loop = 0; loop < numStyles; loop++)
	{
		if (styleElements[loop].selectorText.match(pattern)) 
		{
			if (styleElements[loop].style.color != '')
			{
				colorObj.foreground = styleElements[loop].style.color;
				break;
			}
		}
	}	
	return colorObj;
}

function togbase (rowId, m, myColors)
{
	var g = new Array(8);
	var f = new Array(8);
	if (m)
	{
		g[1] = bgy[1];  f[1] = fgy[1];
		g[2] = bgy[2];  f[2] = fgy[2];
		g[3] = bgy[3];  f[3] = fgy[3];
	}
	else
	{
		g[1] = bgr[1];  f[1] = fgr[1];
		g[2] = bgr[2];  f[2] = fgr[2];
		g[3] = bgr[3];  f[3] = fgr[3];
	}
	g[4] = g[1];  f[4] = f[1];
	g[5] = g[2];  f[5] = f[2];
	g[6] = g[1];  f[6] = f[1];
	g[7] = g[2];  f[7] = f[2];
	var doit = false;
	var r1 = document.getElementById(rowId+'_1').style;
	if (r1.backgroundColor == '' || r1.backgroundColor == bg[myColors[0]]) 
	{
		doit = true;
	}
	else
	{
		if (r1.backgroundColor == bgy[myColors[0]])
		{
			if (m)
			{
				g[1] = bg[1];  f[1] = fg[1];
				g[2] = bg[2];  f[2] = fg[2];
				g[3] = bg[3];  f[3] = fg[3];
				g[4] = bgb[1];  f[4] = fgb[1];
				g[5] = bgb[2];  f[5] = fgb[2];
				g[6] = bgg[1];  f[6] = fgg[1];
				g[7] = bgg[2];  f[7] = fgg[2];
				
			}
			else
			{
				g[1] = bgr[1];  f[1] = fgr[1];
				g[2] = bgr[2];  f[2] = fgr[2];
				g[3] = bgr[3];  f[3] = fgr[3];
				g[4] = bgr[1];  f[4] = fgr[1];
				g[5] = bgr[2];  f[5] = fgr[2];
				g[6] = bgr[1];  f[6] = fgr[1];
				g[7] = bgr[2];  f[7] = fgr[2];
			}
			doit = true;
		}
		else
		{
			if (m == 0)
			{
				g[1] = bgy[1];  f[1] = fgy[1];
				g[2] = bgy[2];  f[2] = fgy[2];
				g[3] = bgy[3];  f[3] = fgy[3];
				g[4] = g[1];    f[4] = fg[1];
				g[5] = g[2];    f[5] = fg[2];
				g[6] = g[1];    f[6] = fg[1];
				g[7] = g[2];    f[7] = fg[2];
				doit = true;
			}
		}
	}
	if (doit)
	{
		r1.backgroundColor = g[myColors[0]];
		r1.color = f[myColors[0]];
		var numColumns = myColors.length;
		var label;
		for (var loop = 1; loop < numColumns; loop++)
		{
			label = rowId + '_' + String (loop + 1);
			myObject = document.getElementById(label).style;
			myObject.backgroundColor = g[myColors[loop]];
			myObject.color = f[myColors[loop]];
		}
	}
}
