var Red = 180;
var MinRed = 140;
var MaxRed = 220;
var Green = 190;
var MaxGreen = 230;
var MinGreen = 150;
var Blue = 200;
var MaxBlue = 240;
var MinBlue = 160;
var dR = -1;
var dG = 2;
var dB = 1;
var ColorTempo = 15000;

function changeBg () {
Red = Red + dR;
Green = Green + dG;
Blue = Blue + dB;
if (Red > MaxRed) {dR = dR * -1; Red = MaxRed;}
if (Green > MaxGreen) {dG = dG * -1; Green = MaxGreen;}
if (Blue > MaxBlue) {dB = dB * -1; Blue = MaxBlue;}
if (Red < MinRed) {dR = dR * -1; Red = MinRed;}
if (Green < MinGreen) {dG = dG * -1; Green = MinGreen;}
if (Blue < MinBlue) {dB = dB * -1; Blue = MinBlue;}

document.body.style.background = 'rgb(' + Red + ',' + Green + ',' + Blue + ');';
updateCtrlColor ();

setTimeout('changeBg()',ColorTempo);
}

function updateCtrlColor () {
document.getElementById ('RedValue').innerHTML = Red;
document.getElementById ('RedDelta').innerHTML = dR;
document.getElementById ('GreenValue').innerHTML = Green;
document.getElementById ('GreenDelta').innerHTML = dG;
document.getElementById ('BlueValue').innerHTML = Blue;
document.getElementById ('BlueDelta').innerHTML = dB;
document.getElementById ('ColorTempoValue').innerHTML = ColorTempo / 1000;
}

function updateRed (Val) {
Red = Red + Val;
if (Red > MaxRed) {Red = MaxRed;}
if (Red < MinRed) {Red = MinRed;}
updateCtrlColor ();
}

function updateRedDelta (Val) {
dR = dR + Val;
updateCtrlColor ();
}

function updateGreen (Val) {
Green = Green + Val;
if (Green > MaxGreen) {Green = MaxGreen;}
if (Green < MinGreen) {Green = MinGreen;}
updateCtrlColor ();
}

function updateGreenDelta (Val) {
dG = dG + Val;
updateCtrlColor ();
}

function updateBlue (Val) {
Blue = Blue + Val;
if (Blue > MaxBlue) {Blue = MaxBlue;}
if (Blue < MinBlue) {Blue = MinBlue;}
updateCtrlColor ();
}

function updateBlueDelta (Val) {
dB = dB + Val;
updateCtrlColor ();
}

function updateColorTempo (Val) {
if (Val < 0) {
  if (ColorTempo < 1001) {Val = Val / 10;}
  if (ColorTempo > 10001) {Val = Val * 5;}
  }
else {
  if (ColorTempo < 999) {Val = Val / 10;}
  if (ColorTempo > 9999) {Val = Val * 5;}
  }
ColorTempo = ColorTempo + Val;
if (ColorTempo < 100) {ColorTempo = 100;}
updateCtrlColor ();
}
