//By Kris Popendorf
//This version is half decent!
//if you copy this code, please include this header
var anim_running=false;
animimgs=new Array();
rndimgs=new Array();
var mouseoff=false;
var mouseon=false;
var step=0;
var loaded=false;
var katiestep=2;
var compstep=2;
var Timer2=null;
var waiting_to_hit=false;
var katieTimer=null;
var compTimer=null;
var timers=0;
var timerArray=new Array();
var first_run=true;

function cycleKatie()
{
  if(!loaded)return false;
  clearTimeout(katieTimer);
  document.images["Katie"].src="./media/katie"+katiestep+".jpg";
  katiestep=(katiestep)%3+1;
  return true;
}

function cycleComp()
{
  if(!loaded)return false;
  clearTimeout(katieTimer);
  document.images["Computers"].src="./media/krisc"+compstep+".jpg";
  compstep=(compstep)%8+1;
  return true;
}

function changeImage(targetImage)
{
  document.images["Kris"].src=targetImage.src;
  return true;
}

function randimg()
{
  i=Math.ceil(Math.random()*4);
  changeImage(rndimgs[i]);
}

//Set up those thingies
for(i=1;i<=11;i++)
{
  animimgs[i]=new Image()
  animimgs[i].src="./media/krisa"+i+".jpg";
}
for(i=1;i<=4;i++)
{
  rndimgs[i]=new Image()
  rndimgs[i].src="./media/kris"+i+".jpg";
}
baseimg=new Image()
baseimg.src="./media/kris0.jpg";

function start_anim()
{
  if(first_run)
  {
    step=1;
    first_run=false;
  }
  else
    step=-10;
  run_anim();
}

function run_anim()
{
  anim_running=true;
  absstep=Math.abs(step);
  changeImage(animimgs[absstep]);
  if(step<11)
  {
    TimerID=setTimeout("run_anim()", 100/absstep);
    if(++step==0)step++; //no zero image, not to mention divide by zero is bad
  }
  else
  {
    changeImage(baseimg);
    anim_running=false;
  }
}

function mouse_hit()
{
  if(!loaded)return false;
  if(anim_running)
  {
    timerArray[timers++]=setTimeout("mouse_hit()",1);
    waiting_to_hit=true;
    return false;
  }
  else
  {
    waiting_to_hit=false;
    timers=0;
    timerArray=new Array();
  }
  if(mouseon) return false;
  randimg();
  mouseon=true;
  return true;
}

function mouse_unhit()
{
  if(waiting_to_hit==true)
  {
    for(i=0;i<timers;i++)
      clearTimeout(timerArray[i]);
    waiting_to_hit=false;
  }
  if(anim_running)
  {
    mouseon=false;
    return false;
  }
  start_anim();
  mouseon=false;
  return true;
}


