// JavaScript Document
var date = new Date();
var last_move = date.getTime();


var fly_active = false;
var fly_x = 0;
var fly_y = 0;
var fly_xdir = 2;
var fly_ydir = 2;

var x_aim = 300;
var y_aim = 500;

var old_delta_t = 0;
var fly_last_imagestart = 0;
var fly_totaltime = 0;
var image_index = 0;

for(i = 0; i < fly_images.length; i++)
   fly_totaltime = fly_totaltime + fly_images[i].time;
 

function getWinSize() {
   var size = {w:0 ,h:0}
   var win = window;
   size.w = win.innerWidth ? win.innerWidth : win.document.body.clientWidth;
   size.h = win.innerHeight ? win.innerHeight : win.document.body.clientHeight;
   return size;
}

var klatsche_down = false;


function fly_body_onmousemove(e)
{
   var date = new Date();
   var klatsche = document.getElementById("klatsche");
   
   captureMousePosition(e);
   
   if(!fly_active) {
      var date = new Date();
	  last_move = date.getTime();
   }
   
   if(klatsche_down == true) {
      klatsche.src = "./pics/klatsche_01.gif";
      klatsche_down = false;
   }
   klatsche.style.left = xMousePos - klatsche.width/2;
   klatsche.style.top = yMousePos - klatsche.height/4;
   
   klatsche.blur();
   
   //last_move = date.getTime();
   //fly_last_imagestart = 0;
   //image_index = 0;
}

function fly_body_onmousedown()
{
   var klatsche = document.getElementById("klatsche");
   var fly = document.getElementById("fly");
   
   var exp1 = /([0-9]+)/;
   
   klatsche.src = "./pics/klatsche_02.gif";
   klatsche_down = true;
	  
   exp1.exec(fly.style.left);
   var fly_left = RegExp.$1;
   exp1.exec(fly.style.top);
   var fly_top = RegExp.$1;
   var dx = (xMousePos-fly_left);
   var dy = (yMousePos-fly_top);
   
   if(!fly_active) {
      var date = new Date();
	  last_move = date.getTime();
   }
      
   
   //KLATSCH!!!
   if(dx>=(-klatsche.width/2) && dx<=(fly.width+klatsche.width/2) &&
      dy>=0 && dy<=fly.height)
   {
      var date = new Date();
	  last_move = date.getTime();
	  image_index = 0;
	  fly_last_imagestart = 0;
   }
}

function fly_body_onmouseup()
{
   var klatsche = document.getElementById("klatsche");
   
   klatsche.src = "./pics/klatsche_01.gif";
   klatsche_down = false;
}


function fly()
{
   var fly = document.getElementById("fly");

   process_fly();
   
}

 
function process_fly()
{
   var fly = document.getElementById("fly");
   var action_line = document.getElementById("action_line");
   
   var size = getWinSize();
   var date = new Date();
   var delta_t = date.getTime()-last_move;
   
   if(delta_t > fly_timeout) {
      action_line.style.display = klatsche.style.display = "block";
	  klatsche.style.left = xMousePos - klatsche.width/2;
      klatsche.style.top = yMousePos - klatsche.height/4;
	  
	  
      fly_active = true;
	  
      //SWITCH PICTURE
      if((delta_t-fly_last_imagestart) >= fly_images[image_index].time) {
         fly.src = fly_images[image_index].src;
         fly_last_imagestart = delta_t;
	     image_index++;
	     image_index = image_index % fly_images.length;
      }

      if(fly_x > (size.w-fly.width-10) && fly_xdir >= 0)
         fly_xdir = fly_xdir * -1;
      else if(fly_x <= 0 && fly_xdir <= 0)
         fly_xdir = fly_xdir * -1;
	  
      if(fly_y > (size.h-fly.height-10) && fly_ydir >= 0)
         fly_ydir = fly_ydir * -1;
      else if(fly_y <= 0 && fly_ydir <= 0)
         fly_ydir = fly_ydir * -1;
	  
      fly_x = fly_x + fly_xdir;
      fly_y = fly_y + fly_ydir;
   
   
      fly.style.left = fly_x + "px";
      fly.style.top = fly_y + "px";
	  
	  fly.style.display = "block";
   
      window.setTimeout("process_fly()", 1);
   }
   else
   {
      fly_active = false;
      fly.style.display = "none";
	  action_line.style.display = klatsche.style.display = "none";
      window.setTimeout("process_fly()", fly_timeout);
   }
   
}


