$(document).ready(function() {
	updateInterval = setInterval ('update()', frequency)

//	$('#mmHome').click( function () {
//		addFade2($('#halfTimeScore'));
//		return false;
//	});


	$('#lineupsToggle').click( function () {
		$('#lineups').slideToggle("normal");
		togglePlusMinus($('#lineupsToggle'));
		return false;
	});

	$('#bookingsToggle').click( function () {
		$('#bookings').slideToggle("fast");
		togglePlusMinus($('#bookingsToggle'));
		return false;
	});

	$('#betsToggle').click( function () {
		$('#bets').slideToggle("normal");
		togglePlusMinus($('#betsToggle'));
		return false;
	});
});

function update() {
	d = new Date();	time = d.getTime(); lineup = ($('#lineups div.hometeam:first ol:first li').size() == 0);
		$.getJSON('ajax.php?id=' + id + '&date=' + date + '&lineup=' + lineup + '&time=' + time, function (data) {
			$('#bets').empty();
			$('#bets').append(data.bets);
			$('#bookings').empty();
			$('#bookings').append(data.bookings);
			$('#mainscores').empty();
			$('#mainscores').append(data.mainscores);
			$('#currentMatchList div').empty().append(data.fixtureList);
			if (lineup) {
				$('#lineups').empty().append(data.lineups);
			}
			if (data.newInterval != frequency) {
				frequency = data.newInterval;
				clearInterval(updateInterval);
				updateInterval = setInterval ('update()', frequency)
			}
			matchLinks();
	});
}

function togglePlusMinus(element) {
	oldClass = element.attr('class');
	element.removeClass();
	if (oldClass == 'minus') {
		element.addClass('plus');
	} else {
		element.addClass('minus');
	}
}

function doBGFade(elem,startRGB,endRGB,finalColor,steps,intervals,powr) {
	if (elem.bgFadeInt) window.clearInterval(elem.bgFadeInt);
	var actStep = 0;
	elem.bgFadeInt = window.setInterval(
		function() {
			elem.style.backgroundColor = "rgb("+
				easeInOut(startRGB[0],endRGB[0],steps,actStep,powr)+","+
				easeInOut(startRGB[1],endRGB[1],steps,actStep,powr)+","+
				easeInOut(startRGB[2],endRGB[2],steps,actStep,powr)+")";
			actStep++;
			if (actStep > steps) {
			elem.style.backgroundColor = finalColor;
			window.clearInterval(elem.bgFadeInt);
			}
		}
		,intervals)
}

function addFade() {
	doBGFade(this,[255,255,204],[255,255,255],'transparent',175,20,4);
}

function addFade2(el) {
	doBGFade(el.get(0),[255,255,0],[255,255,255],'transparent',175,2,4);
}

function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
	var delta = maxValue - minValue;
	var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta);
	return Math.ceil(stepp)
}
