var r_actual = 1;
var step = 4;
var r_max = referenzen.length;
var r_fading_out = false;
var r_fading_in = false;

function r_scrollUp()
{
	var list = $('referenz_list');
	
	if (r_actual > 1)
	{
		if (r_actual <= step) // switche auf 0
		{
			r_actual = 1;
		}
		else
		{
			r_actual = r_actual - step;
		}

		r_animateScrollUp(15 - ( (r_actual-1) * 115),1);
	}
}

function r_scrollDown()
{
	var list = $('referenz_list');
	
	if (r_actual > r_max - step) // switche zum ende
	{
		r_actual = r_max - step + 1;
	}
	else
	{
		r_actual = r_actual + step;
	}

	r_animateScrollDown(15 - ( (r_actual-1) * 115),1);
}

function r_animateScrollDown(soll,_step)
{
	if (r_animate(soll,_step,false) == false)
		setTimeout("r_animateScrollDown(" + soll + "," + (_step + 1 ) + ");", 10);
}

function r_animateScrollUp(soll,_step)
{
	if (r_animate(soll,_step,true) == false)
		setTimeout("r_animateScrollUp(" + soll + "," + (_step + 1 ) + ");", 10);
}

function r_animate(soll,_step,up)
{
	var list = $('referenz_list');

	if (up == true)
	{
		if (list.offsetTop < soll)
		{
			list.style.top = (list.offsetTop + _step) + 'px';
			return false;
		}
		else
		{
			list.style.top = soll + 'px';
			return true;
		}
	}
	else
	{
		if (list.offsetTop > soll)
		{
			list.style.top = (list.offsetTop - _step) + 'px';
			return false;
		}
		else
		{
			list.style.top = soll + 'px';
			return true;
		}
	}	
}

function r_fadeout(id, speed)
{
	var item = $("referenz_" + id);
	r_fading_out = true;
	if (item == undefined)
		return;
		
	if (item.style.opacity <= 0)
	{
		item.style.opacity = 0;
		item.style.display = "none";
		r_fading_out = false;
	}
	else
	{
		item.style.opacity = parseFloat(item.style.opacity) - parseFloat(speed);
		setTimeout("r_fadeout(" + id + ", " + speed + ");", 10);
	}
}

function r_fadein(id, speed)
{
	var item = $("referenz_" + id);
	r_fading_in = true;
	if (item == undefined)
		return;

	if (item.style.opacity >= 1)
	{
		item.style.opacity = 1;
		r_fading_in = false;
	}
	else
	{
		item.style.opacity = parseFloat(item.style.opacity) + parseFloat(speed);
		setTimeout("r_fadein(" + id + ", " + speed + ");", 10);
	}
}

function r_showElement(id)
{
	if (r_showActual == id)
		return true;
		
	if (r_fading_in == true || r_fading_out == true)
	{
		return false;
	}
	
	var	actual;
	var	actualBox;	
	var	ref;
	var	refBox;	
	var i = 0;
	for(i = 0; i < referenzen.length; i++)
	{
		if (referenzen[i]['id'] == r_showActual)
		{
			actualBox = $('referenz_' + referenzen[i]['id']);
			actual = referenzen[i];

			break;
		}
	}
	
	for(i = 0; i < referenzen.length; i++)
	{
		if (referenzen[i]['id'] == id)
		{
			refBox = $('referenz_' + referenzen[i]['id']);
			ref = referenzen[i];

			if (refBox == undefined)
				return false;
			
			if(ref['opened'] == false)
			{
				$('referenz_img_' + id).src = ref['image'];
				ref['opened'] = true;
			}
			
			break;
		}
	}
	
	var actualPos = i;

	if (refBox != undefined)
	{
		refBox.style.opacity = 0;
		refBox.style.display = "block";

		if (actualBox != undefined)
			r_fadeout(actual['id'],0.02);
			
		r_fadein(ref['id'],0.02);
		r_showActual = id;
		
		var list = $('referenz_list');
		list.style.backgroundPosition = "0 " + (actualPos * 115) + "px";
	}
}