home *** CD-ROM | disk | FTP | other *** search
- var pf;
- if (ie) pf = star0.style;
- else pf = document.layers["star0"];
- var W,H;
- var sL=0, sT=0;
- var divW = 47 + 2, divH = 46 + 3; //divW = parseInt(pf.width) + 2; divH; = parseInt(pf.height) + 3;
- var X=-1, Y=-1;
- var f;
- function buffer(n) {
- for (var i = 1; i <= n; i++) {
- this[i] = -100;
- }
- return this; }
- var bufa;
- var bufp = 0;
- var bufc = 3;
- var bufd = -1;
- var bufmax = 50; //bufc*pocet hvezd musi < velikost buff
- var bufX = new buffer(bufmax);
- var bufY = new buffer(bufmax);
- var sx, sy;
- var ra;
- var r;
- var t;
- var sp = 4;
- var rap = sp/r;
- var maxr = 200;
- var PI2 = Math.PI*2;
- var rnd;
-
-
- function isin() {
- return ( (X>=0) && (X<=W-divW) && (Y>=0) && (Y<=H-divH) );
- }
-
-
- function circleBox() {
- sL = parseInt(ie ? document.body.scrollLeft : pageXOffset);
- sT = parseInt(ie ? document.body.scrollTop : pageYOffset);
- if (!ie) {
- W=innerWidth;
- H=innerHeight;
- }
- X = sx + r*Math.cos(ra);
- Y = sy + r*Math.sin(ra);
- if (!isin()) {
- rap = -rap;
- ra += 2*rap;
- X = sx + r*Math.cos(ra);
- Y = sy + r*Math.sin(ra);
- }
- if (!isin()) resize();
- t -= Math.abs(rap);
- if (t<0) {
- rnd = maxr/2 - (Math.random()*maxr);
- if ((rnd>-10) && (rnd<10)) rnd = 10;
- sx = X - Math.cos(ra)*rnd;
- sy = Y - Math.sin(ra)*rnd;
- r = Math.abs(rnd);
- if (rnd<0) {
- if (ra < Math.PI) ra+=Math.PI;
- else ra-=Math.PI;
- if (rap<0) rap = sp/r; else rap = -sp/r;
- //rap = Math.random()*10 + 10;
- } else if (rap<0) rap = -sp/r; else rap = sp/r;
- rap = rap*(Math.random()*3+2)
- t=Math.random()*(Math.PI/2);
- }
- ra += rap;
- while (ra>PI2) ra -= PI2;
- while (ra<PI2) ra += PI2;
- pf.left = (X + sL); //+3*Math.random());
- pf.top = (Y + sT); //+3*Math.random());
- bufX[bufp] = (X + sL);
- bufY[bufp] = (Y + sT);
- bufp++;
- if (bufp>bufmax) bufp = 0;
- for (f=1; f<5; f++) {
- bufa = bufp - 1 - (bufc*f);
- if (bufa<0) bufa += bufmax + 1;
- if ( (bufX[bufa]>sL+W-divW) || (bufY[bufa]>sT+H-divH) )
- for (g=0; g<bufc; g++) {
- bufX[bufa-g<0?bufa-g+bufmax+1:bufa-g]=-100;
- bufY[bufa-g<0?bufa-g+bufmax+1:bufa-g]=-100;
- }
- if (ie) {
- eval('star'+f+'.style.left=bufX[bufa] + (f*5)');
- eval('star'+f+'.style.top=bufY[bufa] + (f*5)');
- } else {
- eval('window.document.layers["star'+f+'"].left=bufX[bufa] + (f*5)');
- eval('window.document.layers["star'+f+'"].top=bufY[bufa] + (f*5)');
- }
- }
- setTimeout((ie ? 'circleBox();' : circleBox),20);
- }
- function resize() {
- W = ie ? document.body.clientWidth : innerWidth;
- H = ie ? document.body.clientHeight : innerHeight;
- if (!isin()) {
- sx=W/2; sy=H/2;
- r=Math.random()*(W<H?sx:sy);
- if (r<10) r=10;
- ra=Math.random()*PI2;
- rap = sp/r;
- rap = rap*(Math.random()*3+2)
- t=Math.random()*PI2;
- }
- }
- function start() {
- if (ie) window.onresize = resize;
- resize();
- circleBox();
- }
-
-