JQ stars!

JQ stars!

  1. <script type="text/javascript">
  2. var colour="#FFFFFF";
  3. var sparkles=120;
  4. var x=ox=400;
  5. var y=oy=300;
  6. var swide=800;
  7. var shigh=600;
  8. var sleft=sdown=0;
  9. var tiny=new Array();
  10. var star=new Array();
  11. var starv=new Array();
  12. var starx=new Array();
  13. var stary=new Array();
  14. var tinyx=new Array();
  15. var tinyy=new Array();
  16. var tinyv=new Array();

  17. window.onload=function() { if (document.getElementById) {
  18.   var i, rats, rlef, rdow;
  19.   for (var i=0; i<sparkles; i++) {
  20.     var rats=createDiv(3, 3);
  21.     rats.style.visibility="hidden";
  22.     document.body.appendChild(tiny[i]=rats);
  23.     starv[i]=0;
  24.     tinyv[i]=0;
  25.     var rats=createDiv(5, 5);
  26.     rats.style.backgroundColor="transparent";
  27.     rats.style.visibility="hidden";
  28.     var rlef=createDiv(1, 5);
  29.     var rdow=createDiv(5, 1);
  30.     rats.appendChild(rlef);
  31.     rats.appendChild(rdow);
  32.     rlef.style.top="2px";
  33.     rlef.style.left="0px";
  34.     rdow.style.top="0px";
  35.     rdow.style.left="2px";
  36.     document.body.appendChild(star[i]=rats);
  37.   }
  38.   set_width();
  39.   sparkle();
  40. }}

  41. function sparkle() {
  42.   var c;
  43.   if (x!=ox || y!=oy) {
  44.     ox=x;
  45.     oy=y;
  46.     for (c=0; c<sparkles; c++) if (!starv[c]) {
  47.       star[c].style.left=(starx[c]=x)+"px";
  48.       star[c].style.top=(stary[c]=y)+"px";
  49.       star[c].style.clip="rect(0px, 5px, 5px, 0px)";
  50.       star[c].style.visibility="visible";
  51.       starv[c]=50;
  52.       break;
  53.     }
  54.   }
  55.   for (c=0; c<sparkles; c++) {
  56.     if (starv[c]) update_star(c);
  57.     if (tinyv[c]) update_tiny(c);
  58.   }
  59.   setTimeout("sparkle()", 30);
  60. }

  61. function update_star(i) {
  62.   if (--starv[i]==25) star[i].style.clip="rect(1px, 4px, 4px, 1px)";
  63.   if (starv[i]) {
  64.     stary[i]+=1+Math.random()*3;
  65.     if (stary[i]<shigh+sdown) {
  66.       star[i].style.top=stary[i]+"px";
  67.       starx[i]+=(i%5-2)/5;
  68.       star[i].style.left=starx[i]+"px";
  69.     }
  70.     else {
  71.       star[i].style.visibility="hidden";
  72.       starv[i]=0;
  73.       return;
  74.     }
  75.   }
  76.   else {
  77.     tinyv[i]=50;
  78.     tiny[i].style.top=(tinyy[i]=stary[i])+"px";
  79.     tiny[i].style.left=(tinyx[i]=starx[i])+"px";
  80.     tiny[i].style.width="2px";
  81.     tiny[i].style.height="2px";
  82.     star[i].style.visibility="hidden";
  83.     tiny[i].style.visibility="visible"
  84.   }
  85. }

  86. function update_tiny(i) {
  87.   if (--tinyv[i]==25) {
  88.     tiny[i].style.width="1px";
  89.     tiny[i].style.height="1px";
  90.   }
  91.   if (tinyv[i]) {
  92.     tinyy[i]+=1+Math.random()*3;
  93.     if (tinyy[i]<shigh+sdown) {
  94.       tiny[i].style.top=tinyy[i]+"px";
  95.       tinyx[i]+=(i%5-2)/5;
  96.       tiny[i].style.left=tinyx[i]+"px";
  97.     }
  98.     else {
  99.       tiny[i].style.visibility="hidden";
  100.       tinyv[i]=0;
  101.       return;
  102.     }
  103.   }
  104.   else tiny[i].style.visibility="hidden";
  105. }

  106. document.onmousemove=mouse;
  107. function mouse(e) {
  108.   set_scroll();
  109.   y=(e)?e.pageY:event.y+sdown;
  110.   x=(e)?e.pageX:event.x+sleft;
  111. }

  112. function set_scroll() {
  113.   if (typeof(self.pageYOffset)=="number") {
  114.     sdown=self.pageYOffset;
  115.     sleft=self.pageXOffset;
  116.   }
  117.   else if (document.body.scrollTop || document.body.scrollLeft) {
  118.     sdown=document.body.scrollTop;
  119.     sleft=document.body.scrollLeft;
  120.   }
  121.   else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
  122.     sleft=document.documentElement.scrollLeft;
  123. sdown=document.documentElement.scrollTop;
  124.   }
  125.   else {
  126.     sdown=0;
  127.     sleft=0;
  128.   }
  129. }

  130. window.onresize=set_width;
  131. function set_width() {
  132.   if (typeof(self.innerWidth)=="number") {
  133.     swide=self.innerWidth;
  134.     shigh=self.innerHeight;
  135.   }
  136.   else if (document.documentElement && document.documentElement.clientWidth) {
  137.     swide=document.documentElement.clientWidth;
  138.     shigh=document.documentElement.clientHeight;
  139.   }
  140.   else if (document.body.clientWidth) {
  141.     swide=document.body.clientWidth;
  142.     shigh=document.body.clientHeight;
  143.   }
  144. }

  145. function createDiv(height, width) {
  146.   var div=document.createElement("div");
  147.   div.style.position="absolute";
  148.   div.style.height=height+"px";
  149.   div.style.width=width+"px";
  150.   div.style.overflow="hidden";
  151.   div.style.backgroundColor=colour;
  152.   return (div);
  153. }
  154. </script>
how can i have each star to have a different color