// www.lacertagames.com  by Dave Carlson
// variables and functions for UFO on index screen

var xSize=screen.availWidth-250; // get screen size for display
var ySize=Math.round(xSize/4.5);
var xUfo=Math.round(xSize/3); // set up UFO parameters
var yUfo=Math.round(ySize/3);
var dirUfo=Math.floor(Math.random()*8);
var spdUfo=Math.round(Math.random()*3)+5;
var timUfo;
var xShot=xSize; // set up shot parameters
var yShot=ySize;
var staShot=0; // shot state: 0=no shot, 1=shot moving, 2=blast, 3=delay
var timShot=0;

function advanceUfo()
  {
  if (dirUfo>0 && dirUfo<4) xUfo+=spdUfo;
  if (dirUfo>2 && dirUfo<6) yUfo+=spdUfo;
  if (dirUfo>4) xUfo-=spdUfo;
  if (dirUfo>6 || dirUfo <2) yUfo-=spdUfo;
  if (xUfo<(.2*xSize)) dirUfo=Math.floor(Math.random()*3)+1;
  if (xUfo>(1.1*xSize)) dirUfo=Math.floor(Math.random()*3)+5;
  if (yUfo<(.05*ySize)) dirUfo=Math.floor(Math.random()*3)+3;
  if (yUfo>(1.8*ySize)) dirUfo=Math.floor(Math.random()*2);
  if (Math.round(Math.random()*20)==0) dirUfo++;
  if (Math.round(Math.random()*20)==0) dirUfo--;
  if (dirUfo>7) dirUfo=0;
  if (dirUfo<0) dirUfo=7;
  if (spdUfo<12 && Math.round(Math.random()*20)==0) spdUfo++;
  if (spdUfo>5 && Math.round(Math.random()*15)==0) spdUfo--;
  if (staShot<2)
    {
    ufo.style.left=xUfo;
    ufo.style.top=yUfo;
    }
  if (staShot==1)
    {
    var xDif=xUfo+25-xShot;
    var yDif=yUfo+25-yShot;
    var tDif=1+Math.sqrt((xDif*xDif)+(yDif*yDif));
    xShot+=Math.round(20*xDif/tDif);
    yShot+=Math.round(20*yDif/tDif);
    shot.style.left=xShot-7;
    shot.style.top=yShot-7;
    if (tDif<20)
      {
      staShot=2;
      timShot=15;
      shot.src="lacpix/shot_0.gif";
      ufo.src="lacpix/bang.gif";
      }
    }
  if (staShot==2)
    {
    timShot--;
    if (timShot<=0)
      {
      staShot=3;
      timShot=150;
      ufo.src="lacpix/shot_0.gif";
      }
    }
  if (staShot==3)
    {
    timShot--;
    if (timShot<=0)
      {
      staShot=0;
      ufo.style.left=xUfo;
      ufo.style.top=yUfo;
      ufo.src="lacpix/ufo.gif";
      }
    }
  timUfo=setTimeout("advanceUfo()",50);
  }

function startShot()
  {
  if (staShot==0)
    {
    xShot=0;
    yShot=ySize;
    shot.style.left=xShot-7;
    shot.style.top=yShot-7;
    shot.src="lacpix/shot_1.gif";
    staShot=1;
    }
  }


