var activeBox=0;
var opacMax = 1;
var opacMin = 0;
var opacStp = 0.05;
var boxes;
var maxBoxes=0;
var InfoboxInterval=4000;
function initInfoboxFading(interval)
{
	if(window.statusbar && window.statusbar.visible==true)
		window.status="Init infobox fading ...";
	InfoboxInterval=interval;
	maxBoxes=0;
	while(document.getElementById('boxA'+maxBoxes))
		maxBoxes++;
	boxes = new Array(maxBoxes);
	for(var i=0;i<maxBoxes;i++)
	{
		var boxA = document.getElementById ('boxA'+i);
		if(boxA)
		{
			var boxB = document.getElementById ('boxB'+i);
			if(i==0)
			{
				activeBox=i;
				if(!boxA.filters)			// Not IE
				{
					boxA.style.opacity=1;
					boxB.style.opacity=1;
					opacMax = 1;
					opacMin = 0;
					opacStp = 0.1;
					boxes[i] = createBox(opacMax, true, boxA.style, boxB.style,boxA,boxB);
				}
				else
				{
					boxA.style.filter="Alpha(opacity=100)";
					boxB.style.filter="Alpha(opacity=100)";
					opacMax = 100;
					opacMin = 0;
					opacStp = 5;
					boxes[i] = createBox(opacMax, true, boxA.filters.alpha, boxB.filters.alpha,boxA,boxB);
				}
			}
			else
			{
				if(!boxA.filters)			// Not IE
				{
					boxA.style.opacity=0;
					boxB.style.opacity=0;
					boxes[i] = createBox(opacMin, false, boxA.style, boxB.style,boxA,boxB);
				}
				else
				{
					boxA.style.filter="Alpha(opacity=0)";
					boxB.style.filter="Alpha(opacity=0)";
					boxes[i] = createBox(opacMin, false, boxA.filters.alpha, boxB.filters.alpha,boxA,boxB);
				}
			}
		}
	}
}
var autoProc=null;
function stopInfoboxFading()
{
	if(autoProc)
	{
		window.clearInterval(autoProc);
		autoProc = null;
	}
}
function startInfoboxFading()
{
	if(!autoProc && maxBoxes>1 && InfoboxInterval!=0)
		autoProc = window.setInterval("autoInfoBoxFading()",InfoboxInterval);
}
function autoInfoBoxFading()
{
	if(maxBoxes>1)
		fadeInInfobox((activeBox+1)%maxBoxes);
}
var proc = null;
function fadeInInfobox(number)
{
	if(!boxes[number])
		return;
	var itemIn=document.getElementById('item'+number);
	if(itemIn.style)
		itemIn.style.backgroundColor="DCDDDE";
	if(number == activeBox)
		return;
	var itemOut=document.getElementById('item'+activeBox);
	if(itemOut.style)
		itemOut.style.backgroundColor="ffffff";
	boxes[number].on = true;
	boxes[number].styleA.zIndex = 10;
	boxes[number].styleB.zIndex = 10;
	boxes[activeBox].on = false;
	boxes[activeBox].styleA.zIndex = 0;
	boxes[activeBox].styleB.zIndex = 0;
	if(!proc)
		proc = window.setInterval("fadeBox()",10);
	activeBox=number;
}
function fadeBox()
{
	var status=0;
	for(var i=0;i<maxBoxes;i++)
	{
		if(boxes[i].on)
		{
			if(boxes[i].opac < opacMax)
				boxes[i].opac += opacStp;
			if(boxes[i].opac >= opacMax)
			{
				boxes[i].opac = opacMax;
				status++;
			}
//			boxes[i].boxA.zIndex=10;
//			boxes[i].boxB.zIndex=10;
		}
		else
		{
			if(boxes[i].opac > opacMin)
				boxes[i].opac -= opacStp;
			if(boxes[i].opac <= opacMin)
			{
				boxes[i].opac = opacMin;
//				boxes[i].boxA.zIndex=0;
//				boxes[i].boxB.zIndex=0;
				status++;
			}
		}
		boxes[i].boxA.opacity = boxes[i].opac;
		boxes[i].boxB.opacity = boxes[i].opac;
	}
	if(status == maxBoxes)
	{
		window.clearInterval(proc);
		proc = null;
	}
}
function setOpacity(element, value)
{
	if(element.filters)
		element.filters.alpha.opacity = value;
	else
		element.style.opacity = value;
}
function createBox(opacity, onFlag, a, b,boxA,boxB)
{
	var obj = new Object()
	obj.opac = opacity;
	obj.on = onFlag;
	obj.boxA = a;
	obj.boxB = b;
	obj.styleA = boxA.style;
	obj.styleB = boxB.style;
	if(onFlag)
	{
		obj.styleA.zIndex=10;
		obj.styleB.zIndex=10;
	}
	else
	{
		obj.styleA.zIndex=0;
		obj.styleB.zIndex=0;
	}
	return(obj);
}
function getPosition(element)
/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
   des Objekts element */
{
  var elem=element,tagname="",x=0,y=0;
  
/* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

/* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
    if (tagname=="BODY")
      elem=0;

/* wenn elem ein Objekt ist und offsetParent enthaelt
   Offset-Elternelement ermitteln */
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

/* Objekt mit x und y zurueckgeben */
  position=new Object();
  position.x=x;
  position.y=y;
  return position;
}
