#!/usr/bin/perl -w

use strict;

my $NUM = 50;

my $divHTML;
foreach my $i (1..$NUM) {
    $divHTML .= qq|<DIV ID=div$i STYLE="position:absolute;">|;
    $divHTML .= '<IMG SRC="World.gif">';
    $divHTML .= "</DIV>\n";
}

print "Content-Type: text/html\n\n";
print <<"EOF";
<HTML><HEAD><TITLE>Double sinus madness</TITLE>
<STYLE>
td {
   font-family: Arial, Helvetica;
}
</STYLE>

</HEAD><BODY BGCOLOR=white>
<TABLE HEIGHT=600 WIDTH=600><TR>
<TD ALIGN=center VALIGN=middle BGCOLOR=white>
<H1>Bored? Me?</H1>
DHTML Doublesinus Plotter<BR>
by Jesper Christensen<BR>
8th July 2000<BR><BR>
</TD></TR></TABLE>
<SCRIPT>
for (i=1;i<=$NUM;i++) {
   document.write('<DIV ID=div'+i+' STYLE="position:absolute"><IMG SRC="World.gif"></DIV>');

}

mainx1=0;mainx2=10;mainy1=20;mainy2=1;
mainaddx1=5; mainaddx2=-7; mainaddy1=-5; mainaddy2=9;
addx1 = 27; addx2 = 19; addy1 = 22; addy2 = -17;

sinusTable = new Array(1024);

layerObjs = new Array($NUM);

function doFrame() {
   tempx1 = mainx1 = ( mainx1 + mainaddx1 ) & 1023;
   tempx2 = mainx2 = ( mainx2 + mainaddx2 ) & 1023;
   tempy1 = mainy1 = ( mainy1 + mainaddy1 ) & 1023;
   tempy2 = mainy2 = ( mainy2 + mainaddy2 ) & 1023;
   for (i=0;i<$NUM;i++) {
      tempx1 = (tempx1 + addx1 ) &1023;
      tempx2 = (tempx2 + addx2 ) &1023;
      tempy1 = (tempy1 + addy1 ) &1023;
      tempy2 = (tempy2 + addy2 ) &1023;

      layerObjs[i].left = sinusTable[tempx1]+sinusTable[tempx2];
      layerObjs[i].top = sinusTable[tempy1]+sinusTable[tempy2];
   }
   setTimeout("doFrame()",20);
}

for (i=0; i<$NUM; i++) {
    if (document.all) {
	layerObjs[i] = document.all('div'+(i+1)).style;
   } else if (document.layers) {
       layerObjs[i] = document.layers['div'+(i+1)];
   } else {
       layerObjs[i] = document.getElementById('div'+(i+1)).style;

   }
}

for(i=0;i<1024;i++) {
   sinusTable[i] = Math.floor(150*Math.sin(2*Math.PI*(i/1024)))+150;
}

doFrame();

</SCRIPT>
</BODY></HTML>
EOF
