var R1=103;                                                                        //начальный цвет RGB
var G1=12;
var B1=194;
var R2= 227;                                                                       //конечный цвет RGB
var G2= 204;
var B2= 253;
var incR=(R2-R1)/20;                                                               //вычисляем скорость прироста каждого цвета
var incG=(G2-G1)/20;
var incB=(B2-B1)/20;
var r=R1;                                                                          //Установка начальных переменный
var g=G1;
var b=B1;

function blink(x){                                                                 //ФУНКЦИЯ МЕРЦАНИЯ ЦВЕТА
var color=Math.round(r)*65536+Math.round(g)*256+Math.round(b);                     //вычисление цвета RGB из состовляющих
if (x>=0) x1=x;                                                         	       //проверка на x=числу(сохранение его в x1) или undefined
if (x1==0) {document.getElementById(ID).style.color=6753474;	        		   //проверка какое это число если 0 то закончить мерцание
			r=R1;g=G1;b=B1;return}                                                 //Установка начальных переменный
ID="a"+x1;                                                                         //создание ID из переданного атрибута
r+=incR;                                                                           //инкримент на вычисленный прирост цвета
g+=incG;
b+=incB;
if (r>R2 || g>G2 || b>B2) {r=R2;g=G2;b=B2;incR=-(incR);incG=-(incG);incB=-(incB);} //проверка на MAX тогда смена знака инкримента
if (r<R1 || g<G1 || b<B1) {r=R1;g=G1;b=B1;incR=-(incR);incG=-(incG);incB=-(incB);} //проверка на MIN тогда смена знака инкримента
document.getElementById(ID).style.color=color;                                     //установка цвета в стиль объекта
window.setTimeout("blink();",115);                                                 //Установка временной задержки
}