/* StarsField par E.D Prod 1998
   etiennedeb@ifrance.com
   http://javascript.lab.cc
*/
var isNS = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);
var ax=1;var ay=1;var az=1;
var nbstar=20;
var coordx=new Array(nbstar);var coordy=new Array(nbstar);var coordz=new Array(nbstar);
var coz=new Array();var zin=new Array();
ax=180;ay=0;az=0;
sx=0;sy=0;sz=-8;

for (var i = 0; i < 360; i++) {
 zin[i]=Math.sin((2*3.14116)*i/360)
 coz[i]=Math.cos((2*3.14116)*i/360)
}

function InitStars(){
 for (i=0;i<nbstar;i++){
  if (isNS==0) {var vara="DIV ID";var varb="/DIV";var styl='style="position:absolute;width:1px;height:1px;"';}
  else {var vara="LAYER NAME";var varb="/LAYER";var styl="";}
  chaine='<'+vara+'="star'+i+'" '+styl+'><IMG SRC="plo.gif" WIDTH=1 HEIGHT=1 BORDER=0><'+varb+'>';
  document.write(chaine);
  coordx[i]=(Math.random()*1040)-520;coordy[i]=(Math.random()*1040)-520;coordz[i]=(Math.random()*1040)-520;
 }
}

function placeObj(num,px,py){
 if (isNS==0){
  eval ('document.all.star'+num+'.style.top = py;');
  eval ('document.all.star'+num+'.style.left = px;');
 }
 else {
  eval ('document.star'+num+'.top = py;');
  eval ('document.star'+num+'.left = px;');
 }
}

function voirObj(num){
 if (isNS==0){
  eval ('document.all.star'+num+'.style.visibility = "visible"');
 }
 else {
  eval ('document.star'+num+'.visibility = "visible"');
 }
}

function cacheObj(num){
 if (isNS==0){
  eval ('document.all.star'+num+'.style.visibility = "hidden"');
 }
 else {
  eval ('document.star'+num+'.visibility = "hidden"');
 }
}

function starsfield() {
 if (isNS==0) {
  tay=document.body.clientHeight;tax=document.body.clientWidth;
  oay=document.body.scrollTop;oax=document.body.scrollLeft;
 }
 else {
  tay=window.innerHeight;tax=window.innerWidth;
  oay=window.pageYOffset;oax=window.pageXOffset;
 }

 for (i=0;i<nbstar;i++) {
  xs=coordx[i];ys=coordy[i];zs=coordz[i]+520;
  tx=(ys*zin[az])+(xs*coz[az]);
  ty=(ys*coz[az])-(xs*zin[az]);
  yt=(zs*zin[ax])+(ty*coz[ax]);
  tz=(zs*coz[ax])-(ty*zin[ax]);
  xt=(tz*zin[ay])+(tx*coz[ay]);
  zt=(tz*coz[ay])-(tx*zin[ay]);
  if (zt==0) {zt=0.001;}
  temp=320/(320-zt);
  xd=(tax/2)+(xt*temp);
  yd=(tay/2)-(yt*temp);
  if (xd>=tax-16) {xd=tax-16;cacheObj(i);}
  if (yd>=tay-16) {yd=tay-16;cacheObj(i);}

  placeObj(i,xd+oax,yd+oay);

  coordx[i]+=sx;coordy[i]+=sy;coordz[i]+=sz;

  if (coordx[i]<=-520) {coordx[i]=519;coordy[i]=(Math.random()*1040)-520;coordz[i]=(Math.random()*1040)-520;voirObj(i);}
  if (coordx[i]>=520) {coordx[i]=-519;coordy[i]=(Math.random()*1040)-520;coordz[i]=(Math.random()*1040)-520;voirObj(i);}

  if (coordy[i]<=-520) {coordy[i]=519;coordx[i]=(Math.random()*1040)-520;coordz[i]=(Math.random()*1040)-520;voirObj(i);}
  if (coordy[i]>=520) {coordy[i]=-519;coordx[i]=(Math.random()*1040)-520;coordz[i]=(Math.random()*1040)-520;voirObj(i);}

  if (coordz[i]<=-520) {coordx[i]=(Math.random()*1040)-520;coordy[i]=(Math.random()*1040)-520;coordz[i]=519;voirObj(i);}
  if (coordz[i]>=520) {coordx[i]=(Math.random()*1040)-520;coordy[i]=(Math.random()*1040)-520;coordz[i]=-519;voirObj(i);}

 }

 ax+=0;ay-=0;az+=0;
 if (ax>359) {ax=0}
 if (ay>359) {ay=0}
 if (az>359) {az=0}
 if (ax<0) {ax=359}
 if (ay<0) {ay=359}
 if (az<0) {az=359}

 setTimeout("starsfield()",10)
}

function frapper(code) {
 switch (code) {
  case 100: // gauche
   sx-=1;
   break;
  case 102: // droite
   sx+=1;
   break;
  case 104: // haut
   sy-=1;
   break;
  case 98: // bas
   sy+=1
   break;
  case 109: // +
   sz+=1;
   break;
  case 107: // -
   sz-=1;
   break;
  case 106: // *
   sx=0;sy=0;sz=0;
   break;
/* pour netscape qui utilise le code ascii de la touche */
  case 52: // gauche
   sx-=1;
   break;
  case 54: // droite
   sx+=1;
   break;
  case 56: // haut
   sy-=1;
   break;
  case 50: // bas
   sy+=1
   break;
  case 43: // +
   sz-=1;
   break;
  case 45: // -
   sz+=1;
   break;
  case 42: // *
   sx=0;sy=0;sz=0;
   break;
 }
}

var userAgent=navigator.appName + " " + navigator.appVersion;
var agentInfo=userAgent.substring(0, 12);

if(agentInfo >= "Netscape 4.0")
{
document.captureEvents(Event.onkeypress);
function toucheA(evnt) {
 frapper(evnt.which);
}
document.onkeypress = toucheA;
}
else {
function toucheB() {
 frapper(event.keyCode);
}
document.onkeydown = toucheB;
}
