var isIE4 = (typeof(document.all) != 'undefined' && parseInt(navigator.appVersion) >= 4) ? 1 : 0;

var startPosition = 1;
var pictures = 0;
var r_fading_out = false;
var r_fading_in = false;
var fadeFactor = 0.02;
var fadeSpeed = 20;
var waitSeconds = 5;

var position = startPosition;
var oldPosition = null;

	function goNext()
	{
		oldPosition = position;
		if (position < pictures)
		{
			position++;
		}
		else
		{
			position = 1;
		}
		r_showElement(position);		
	}

var _fow = 1;
var _fiw = 0;

function r_fadeout(id, speed)
{
	var item = $("tp_" + id);
	var pic = $("tp_" + id).childNodes[0];
	r_fading_out = true;
	if (item == undefined)
		return;
		
	if (_fow <= 0)
	{
		if (isIE4)
			pic.style.setAttribute("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)");
		pic.style.opacity = 0;
		_fow = 1;
		item.style.display = "none";
		r_fading_out = false;
	}
	else
	{
		pic.style.opacity = parseFloat(_fow) - parseFloat(speed);
		_fow = parseFloat(_fow) - parseFloat(speed);
		if (isIE4)
			pic.style.setAttribute("filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + (_fow * 100) + ")");
		setTimeout("r_fadeout(" + id + ", " + speed + ");", fadeSpeed);
	}
}

function r_fadein(id, speed)
{
	var item = $("tp_" + id);
	var pic = $("tp_" + id).childNodes[0];
	r_fading_in = true;
	if (item == undefined)
		return;

	if (_fiw >= 1)
	{
		pic.style.opacity = 1;
		_fiw = 0;
		r_fading_in = false;
		setTimeout("goNext()", waitSeconds * 1000);		
	}
	else
	{
		pic.style.opacity = parseFloat(_fiw) + parseFloat(speed);
		_fiw = parseFloat(_fiw) + parseFloat(speed);
		if (isIE4)
			pic.style.setAttribute("filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + (_fiw * 100) + ")");
		setTimeout("r_fadein(" + id + ", " + speed + ");", fadeSpeed);
	}
}

function r_showElement(pos)
{
	if (oldPosition == pos)
		return true;
		
	if (r_fading_in == true || r_fading_out == true)
	{
		return false;
	}
	
	var	actual;
	var	actualBox;	
	var	ref;
	var	refBox;	
	var i = 0;
	
	actual = oldPosition;
	actualBox = $('tp_' + actual);
	
	refBox = $('tp_' + pos);
	
	refBox.childNodes[0].style.opacity = 0;
	refBox.style.display = "block";

	if (actualBox != undefined)
		r_fadeout(actual,fadeFactor);
			
	r_fadein(pos,fadeFactor);
}

function start_teaser(fps, factor, wait)
{
	fadeSpeed = Math.ceil(1000 / fps);
	fadeFactor = factor;
	waitSeconds = wait;
	pictures = teaserPicAmount;
	setTimeout("goNext()", waitSeconds * 1000);
}