
ie = (document.all)?true:false;
var imageIndex = 0;
function getFilter(obj)
{
	if (ie)
		if (obj.filters.alpha)
		{
			return obj.filters.alpha.opacity;
		}
		else
			return 0;
		else
			return (obj.style.MozOpacity - 0) * 100;
}

function setFilter(obj, opac)
{
	if (ie) 
	{
		obj.style.filter = "Alpha(opacity="+opac+")";
	}
	else
	{
		obj.style.MozOpacity = (opac / 100);
	}
}

function fade(id, pics, out)
{
	var currRefreshrate = refreshrate;
	o = out?(1000 / (speed / refreshrate)):((1000 / (speed / refreshrate)) * -1);
	images = eval(pics);
	var obj = document.getElementById(id);
	if (!obj.getAttribute("sibling"))
	{
		obj.style.position = "absolute";
		setFilter(obj, 100);
		img = document.createElement("img");
		img.id = id + "_sibling";
		img.setAttribute("sibling", id);
		obj.setAttribute("sibling", img.id);
		imageIndex++;
		if (imageIndex >= images.length)
		{
			imageIndex = 0;
		}
		img.src = images[imageIndex];
		img.style.position = "absolute";
		setFilter(img, 0);
		if (obj.nextSibling)
		{
			obj.parentNode.insertBefore(img, obj.nextSibling);
		}
		else
		{
			obj.parentNode.appendChild(img);
		}
	}
	else
	{
		if (getFilter(obj) > 0)
		{
			setFilter(obj, getFilter(obj) + o);
			sib = document.getElementById(obj.getAttribute("sibling"));
			setFilter(sib, getFilter(sib) + (o * -1));
		}
		else
		{
			id = obj.getAttribute("sibling");
			sib = document.getElementById(id);
			currRefreshrate = stopTime;
			sib.style.top = "0px";
			obj.parentNode.insertBefore(sib, obj);
			imageIndex++;
			if (imageIndex >= images.length)
			{
				imageIndex = 0;
			}
			obj.src = images[imageIndex];
		}
	}
	timeout = setTimeout("fade('"+id+"', pics, "+out+");", currRefreshrate);
}
