function getElementBGColor(currentElement)
{
	if(!currentElement)
		return null;
		
	var bgColor = null;
	if (currentElement.currentStyle)
	{
		bgColor = currentElement.currentStyle.backgroundColor;
	}
	else if (window.getComputedStyle)
	{
		//alert("getComputedStyle");
		bgColor = document.defaultView.getComputedStyle(currentElement,null).getPropertyValue("background-color");
		//alert("getComputedStyle - " + bgColor);
		
	}
	//alert("bgColor = " + bgColor);
	if (!bgColor || bgColor == "rgba(0, 0, 0, 0)" || bgColor == "rgba(0,0,0,0)" || bgColor == "transparent")
	{
		//alert("trying Parent");
		return getElementBGColor(currentElement.parentNode)
	}
	return bgColor;

}

function getFlashBGColor(elementId)
{
	flObject = document.getElementById(elementId);
	
	if (!flObject)
	{
		//alert("No flObject");
		return null;
	}
		
	var parentElement = flObject.parentNode;
	if (!parentElement)
	{
		//alert("No parentElement");
		return null;
	}
	var bgColor = null;
	bgColor = getElementBGColor(parentElement);
	
	if (bgColor)
	{
		if (bgColor.substr(0, 1) === '#')
		{
			bgColor = parseInt(bgColor.substring(1), 16);
		}
		else
		{		   
			var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(bgColor);
			
			var red = parseInt(digits[2]);
			var green = parseInt(digits[3]);
			var blue = parseInt(digits[4]);
			//alert(red + " " + green + " " + blue);
			
			bgColor = blue | (green << 8) | (red << 16);
			//alert(bgColor);
			//bgColor = rgb.toString(16);
		}
	}
	return bgColor ;
}

