var markerPositions = [ -328, -314, -296, -277, -262, -245, -224, -204, -184, -165, -147, -131 ];

var angle = 0;
var angles = 24;
var cd, marker, texte;
var playing = false;

var dragObject = null;
var mouseY = 0;
var offY = 0;

var impressum = false;

IE = document.all && !window.opera;
DOM = document.getElementById && !IE;

var dragging = false;

var scrollTarget = 0;
var scrollTimer = null;

function slowScrolling()
{
	if( scrollTimer )
	{
		clearTimeout( scrollTimer );
	}
	
	var diff =  texte.offsetTop - scrollTarget;
	
	if( Math.abs( diff ) < 5 )
	{
		texte.style.top = scrollTarget + "px";
	}
	else
	{
		texte.style.top = texte.offsetTop - diff / 3.0 + "px";
		scrollTimer = setTimeout( slowScrolling, 40 );
	}
}

function scrollText( current_song )
{
	if( IE )
	{
		scrollTarget = scrollTarget - document.getElementById( "song_" + ( current_song + 1 ) ).offsetTop;
	}
	else
	{
		scrollTarget = -document.getElementById( "song_" + ( current_song + 1 ) ).offsetTop;
	}
	
	slowScrolling();
}

function toggleImpressum()
{
	impressum = !impressum;
	
	if( impressum )
	{
		document.getElementById( "impressum" ).style.display = "block";
	}
	else
	{
		document.getElementById( "impressum" ).style.display = "none";
	}
}

function preload()
{
	tempImg = new Image();
	cdImages = new Array();
	
	var i;
	for( i=0; i<24; i++ )
	{
		cdImages[i] = "cd/" + i + ".gif";
		tempImg.src = cdImages[i];
	}
	
	cd = document.getElementById( "cd" );
	marker = document.getElementById( "marker" );
	texte = document.getElementById( "text" );
	
	if( texte.addEventListener )
	{
		texte.addEventListener( "DOMMouseScroll", mouseWheel, false );
	}
	else if( texte.attachEvent )
	{
		texte.attachEvent( "onmousewheel", mouseWheel );
	}
	
	document.onmousemove = doDrag;
	document.onmouseup = stopDrag;
}
	
function rotate()
{
	angle = ( angle + 1 ) % angles;
	
	cd.src = cdImages[ angle ];
	
	if( playing )
	{
		r = setTimeout( rotate, 30 );
	}
}

function startRotating()
{
	s = setTimeout( rotate, 30 );
	playing = true;
}

function openCD()
{
	document.getElementById('tab0').style.display = "";
	document.getElementById('tab1').style.display = "block";
	fade_out = 0;
	play_song();
}

function closeCD()
{
	playing = false;
	document.getElementById('tab0').style.display = "block";
	document.getElementById('tab1').style.display = "none";
	fade_out = 1;
	stop_song();
}

function deselect()
{
	if( !IE )
	{
		var selection = window.getSelection();
		selection.removeAllRanges();
	}
	else
	{
		document.selection.empty();
	}
}

function startDrag()
{
	if( scrollTimer )
	{
		clearTimeout( scrollTimer );
	}
	
	dragging = true;
	offY = mouseY - texte.offsetTop;
	return 0;
	
	deselect();
}

function doDrag( e )
{
	mouseY = IE ? window.event.clientY : e.pageY;
	
	if( dragging )
	{
		texte.style.top = ( mouseY - offY ) + "px"
		
		if( mouseY-offY > 0 )
			texte.style.top = 0 + "px";
		
		if( mouseY-offY < -5386 )
			texte.style.top = -5386 + "px";
	}
		
	deselect();
}

function stopDrag( e )
{
	dragging = false;
	deselect();
}

function mouseWheel( e )
{
	e = e ? e : window.event;
	var value = e.detail ? e.detail * -1 : e.wheelDelta / 40;
	
	texte.style.top = texte.offsetTop + value*10 + "px";
	
	if( texte.offsetTop > 0 )
		texte.style.top = 0 + "px";
	
	if( texte.offsetTop < -5386 )
		texte.style.top = -5386 + "px";
	
	dragging = false;
}

