﻿// COPYRIGHT BY MODIX.DE
// YOU ARE NOT ALLOWED TO COPY THIS CODE WITHOUT WRITTEN PERMISSION OF MODIX

var carArenaBackground = "#eeeeee";
var carArenaImageBorderColor = "#ffffff";
var carArenaImageBorderColorActive = "#828b94";

var carArenaImageSize = 130;
var carArenaWidth = 679;
var carArenaHeight = 310;
var carArenaWidthMul = 180;
var carArenaHeightMul = 20;
var carArenaTextTop = carArenaHeight - 80;

var carArenaCenterX = (carArenaWidth - carArenaImageSize) / 2;
var carArenaCenterY = ((carArenaHeight - carArenaImageSize) / 2) - 20;

var carArenaAngle = 0;
var carArenaAnimInterval = null;
var carArenaHalfAngle = Math.round((360 / cars.length) / 2);

function carArenaRotate()
{
	var x, y;

	for (var i = 0; i < cars.length; i++)
	{
		carArenaSetPosition(i + 1, (360 / cars.length) * i);
	}

	carArenaAngle = (carArenaAngle + 1) % 360;
}

function carArenaSetPosition(elem, elemAngle)
{
	x = Math.cos(((carArenaAngle + elemAngle) % 360) * (Math.PI / 180));
	y = Math.sin(((carArenaAngle + elemAngle) % 360) * (Math.PI / 180));

	if ((((carArenaAngle + elemAngle) % 360) > (90 - carArenaHalfAngle)) && (((carArenaAngle + elemAngle) % 360) < (90 + carArenaHalfAngle)))
	{
		carArenaShowTitle(elem);
	}

	document.getElementById("carArena" + elem + "Div").style.zIndex = Math.round((y * carArenaHeightMul) + 20);
	setOpacity(document.getElementById("carArena" + elem + "Img"), (y / 2) + 0.5);
	document.getElementById("carArena" + elem + "Div").style.left = Math.round((x * carArenaWidthMul) + carArenaCenterX) + "px";
	if (document.all)
	{
		document.getElementById("carArena" + elem + "Div").style.top = Math.round((y * carArenaHeightMul) + carArenaCenterY - 20) + "px";
		document.getElementById("carArena" + elem + "Img2").style.display = "block";
		document.getElementById("carArena" + elem + "Img2").style.filter = "FlipV() Alpha(opacity=" + Math.round(((y / 2) + 0.5) * 20) + ", startx=0, starty=0, finishx=0, finishy=40, finishopacity=0, style=1)";
	}
	else
	{
		document.getElementById("carArena" + elem + "Div").style.top = Math.round((y * carArenaHeightMul) + carArenaCenterY - 10) + "px";
	}
}

function carArenaShowTitle(elem)
{
	for (var i = 1; i <= cars.length; i++)
	{
		document.getElementById("carArenaInfo" + i + "Span").style.display = (i == elem) ? "inline" : "none";

		document.getElementById("carArena" + i + "Img").style.borderColor = (i == elem) ? carArenaImageBorderColorActive : carArenaImageBorderColor;
		document.getElementById("carArena" + i + "Img2").style.borderColor = (i == elem) ? carArenaImageBorderColor : carArenaImageBorderColor;
	}
}

function setOpacity(element, opacity)
{
	element.style.opacity = opacity;
	element.style.MozOpacity = opacity;
	element.style.KhtmlOpacity = opacity;
	element.style.filter = "Alpha(style=0, opacity=" + (opacity * 100) + ")";
}

function carArenaResumeAnim()
{
	carArenaAnimInterval = setInterval("carArenaRotate();", 30);
}

function carArenaStopAnim()
{
	window.clearInterval(carArenaAnimInterval);
	carArenaAnimInternal = null;
}

function initCarArena()
{
	var out = '';

	for (var i = 1; i <= cars.length; i++)
	{
		out += '<div id="carArenaInfo' + i + 'Span" style="position:relative; top:' + carArenaTextTop + 'px; z-index:8000; display:none; color:#828b94; font-weight:bold;">' + cars[i - 1].title + '</div>';
		out += '<div id="carArena' + i+ 'Div" style="position:absolute; visibility:hidden;">';
		if (cars[i - 1].link != undefined)
		{
			out += '<a href="' + cars[i - 1].link + '" target="_blank" title="' + cars[i - 1].title + '"><div style="background:' + carArenaBackground + ';"><img id="carArena' + i + 'Img" style="border:4px solid ' + carArenaImageBorderColor + ';" src="images/cararena/' + cars[i - 1].img + '" onmouseover="carArenaStopAnim(); carArenaShowTitle(' + i + ');" onmouseout="carArenaResumeAnim();"></div></a>';
		}
		else
		{
			out += '<div style="background:' + carArenaBackground + ';"><img id="carArena' + i + 'Img" style="border:4px solid ' + carArenaImageBorderColor + ';" src="images/cararena/' + cars[i - 1].img + '" onmouseover="carArenaStopAnim(); carArenaShowTitle(' + i + ');" onmouseout="carArenaResumeAnim();"></div>';
		}
		out += '<img id="carArena' + i + 'Img2" src="images/cararena/' + cars[i - 1].img + '" style="border:4px solid ' + carArenaImageBorderColor + '; display:none;">';
		out += '</div>';
	}
	document.getElementById("carArena").innerHTML = out;

	carArenaRotate();

	for (var i = 1; i <= cars.length; i++)
	{
		document.getElementById("carArena" + i + "Div").style.visibility = "visible";
	}

	carArenaResumeAnim();
}
