// Copyright it-motive AG, Duisburg

// Die folgende Zeile im CFM- oder HTML-Code laedt das Skript:
/*
  <script language="JavaScript" src="ElementProperties.js" type="text/javascript"></script>
*/

// GetPosition  ( element )
// GetXPosition ( element )
// GetYPosition ( element )
// Liefert die absolute (zum Body) Position eines Elements

// Parameter:
// - element: DOM-Element

// MemorizeAndSetColor           ( element , color )
// MemorizeAndSetBackgroundColor ( element , color )
// SetOrRememberColor            ( element , color )
// SetOrRememberBackgroundColor  ( element , color )
// Speichert bestehende Farbe und setzt Farbe / Erinnert oder setzt Farbe

// Parameter:
// - element: DOM-Element
// - color:   Farbe


//-----------------------------------------------------------------------
// Positions
//
function GetPosition(element)
{
	var x=0, y=0;

	while((typeof(element)=="object") && (typeof(element.tagName)!="undefined"))
	{
		y += element.offsetTop;
		x += element.offsetLeft;

		if(element.tagName.toUpperCase() == "BODY")                                  break;
		else if(typeof(element)=="object" && typeof(element.offsetParent)=="object") element = element.offsetParent;
		else                                                                         break;
	}

	var position=new Object();
	position.x = x;
	position.y = y;

	return(position);
}
function GetXPosition(element)
{
	var x=0;

	while((typeof(element)=="object") && (typeof(element.tagName)!="undefined"))
	{
		x += element.offsetLeft;

		if(element.tagName.toUpperCase() == "BODY")                                  break;
		else if(typeof(element)=="object" && typeof(element.offsetParent)=="object") element = element.offsetParent;
		else                                                                         break;
	}
	return(x);
}
function GetYPosition(element)
{
	var y=0;

	while((typeof(element)=="object") && (typeof(element.tagName)!="undefined"))
	{
		y += element.offsetTop;

		if(element.tagName.toUpperCase() == "BODY")                                  break;
		else if(typeof(element)=="object" && typeof(element.offsetParent)=="object") element = element.offsetParent;
		else                                                                         break;
	}
	return(y);
}
//-----------------------------------------------------------------------


//-----------------------------------------------------------------------
// Color Settings
//
function MemorizeAndSetColor(element, color)
{
	if(element)
	{
		// if color is there, remember
		if(element.style.color && element.style.color != "") element.style.origColor = element.style.color;
		element.style.color = color;
	}
}
function MemorizeAndSetBackgroundColor(element, color)
{
	if(element)
	{
		// if color is there, remember
		if(element.style.backgroundColor && element.style.backgroundColor != "") element.style.origBackgroundColor = element.style.backgroundColor;
		element.style.backgroundColor = color;
	}
}
function SetOrRememberColor(element, color)
{
	if(element)
	{
		// if color is remembered, use for reset - argument otherwise
		if(element.style.origColor && element.style.origColor != "") element.style.color = element.style.origColor;
		else                                                         element.style.color = color;
	}
}
function SetOrRememberBackgroundColor(element, color)
{
	if(element)
	{
		// if color is remembered, use for reset - argument otherwise
		if(element.style.origBackgroundColor && element.style.origBackgroundColor != "") element.style.backgroundColor = element.style.origBackgroundColor;
		else                                                                             element.style.backgroundColor = color;
	}
}
//-----------------------------------------------------------------------

