/*
  Element attributes:
    - offsetLeft (r)
    - offsetTop (r)
    - offsetWidth (r)
    - offsetHeight (r)
    - pixelLeft
    - pixelTop
    - parentNode
*/

//--------------------------------------------------------------------------

function GetPosX(item)
{
  return item.offsetLeft;
}

function GetPosY(item)
{
  return item.offsetTop;
}

function GetPosStyleItem(item, name)
{
  var value=new String(item.style[name]);
  if(value)
    value=value.replace(/px|pt/,'');
  value=TrimStr(value);
  return value;
}

//--------------------------------------------------------------------------

function SetPosX(item, value)
{
  EnablePositioning(item);
  item.style.left=value+'px';
  item.style.right='';
}

function SetPosY(item, value)
{
  EnablePositioning(item);
  item.style.top=value+'px';
  item.style.bottom='';
}

// Helper function
function EnablePositioning(item)
{
  var pos=item.style.position;
  pos=TrimStr(pos).toLowerCase();
  if(pos!='absolute')
  {
    /*
      Der folgende HTML-Code verursacht Probleme. Grund dafür ist, dass das
      div-Element seine Größe nach der Zuweisung item.style.position='absolute'
      ändert. Dadurch verschiebt sich der Koordinatenursprung.
      
      <div style="position: absolute; bottom: 280px; right: 70px; border: 1px red solid">
        <img id="flowers" src="flowers.gif">
      </div>
    */
    var x=GetPosX(item);
    var y=GetPosY(item);
    item.style.left=x;
    item.style.top=y;
    item.style.right='';
    item.style.bottom='';
    item.style.position='absolute';
  }
}

//--------------------------------------------------------------------------

function GetOpacity(item)
{
  if(item.filters)
  {
    if(item.filters.alpha)
      return item.filters.alpha.opacity;
    return 100;
  }
  else if(item.style.MozOpacity)
  {
    var value=item.style.MozOpacity;
    value=TrimStr(value);
    if(value=="")
      return 100;
    return item.style.MozOpacity*100;
  }
  else
  {
    var value=item.style.opacity;
    value=TrimStr(value);
    if(value=="")
      return 100;
    return item.style.opacity*100;
  }
}

function SetOpacity(item, value)
{
  if(item.filters)
  {

    if(item.filters.alpha)
      item.filters.alpha.opacity=value;
    else item.style.filter='alpha(opacity='+value+')';
  }
  else if(item.style.MozOpacity) item.style.MozOpacity=value/100;
	else {
		item.style.opacity=value/100;
	}
}
      
//--------------------------------------------------------------------------

function SetVisible(item, visible)
{
  if(item.style)
  {
    item.style.visibility=visible ? 'visible' : 'hidden';
    item.style.display=visible ? 'block' : 'none';
  }
}

//--------------------------------------------------------------------------

