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

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)
}

function changeColor(key)
{	
	if (!document.getElementById("fade_button_" + key ).currentbgRGB)
		document.getElementById("fade_button_" + key ).currentbgRGB = [255,165,0];
		
	doBGFadeMem(document.getElementById("fade_button_" + key),document.getElementById("fade_button_" + key ).currentbgRGB,[255,165,0],6,20,1);
}

function restoreColor(key)
{
	if (!document.getElementById("fade_button_" + key ).currentbgRGB) return;
	
	doBGFadeMem(document.getElementById("fade_button_" + key ),document.getElementById("fade_button_" + key ).currentbgRGB,[68,68,68],12,20,1);
}
