<!--
function ctuple(x, y, z) {
  this.x=x;
  this.y=y;
  this.z=z;
} 
function iniref(x, y, zidx, to, imgidx) {
  this.obj=new ctuple(x, y, zidx);
  this.to=to;
  this.imgidx=imgidx;
  return;
}
function tevent(tm, action) {
  this.tm=tm;
  this.action=action;
}
function pevent(x, y, zidx, size, mode, action) {
  this.pos=new ctuple(x, y, zidx);
  this.size=size;
  this.mode=mode;
  this.action=action;
}
function flyref(img, divid, imgset, tevset, pevset) {
  this.div=document.getElementById(divid);
  var left=parseInt(this.div.style.left.substring(0, this.div.style.left.indexOf("px")));
  var top=parseInt(this.div.style.top.substring(0, this.div.style.top.indexOf("px")));
  var zidx=this.div.style.zIndex;
  this.cur=new ctuple(left, top, zidx);
  this.inc=new ctuple(0, 0, 0);
  this.tm=0;
  this.to=0;
  this.tid=0;
  this.nte=0;
  this.fly=0;
  this.tevset=tevset;
  this.pevset=pevset;
  this.img=img;
  this.imgset=imgset;
  this.ini=new iniref(left, top, zidx, 25, 0);
  return;
} 
function flymode(flyidx, to, incx, xadj, incy, yadj, zidx, imgidx) {
  var flyobj=flyset[flyidx];
  if(to > 0) {
    flyobj.to=to;
    flyobj.inc.x=incx;
    flyobj.inc.y=incy;
    flyobj.cur.x=flyobj.cur.x + xadj;
    flyobj.cur.y=flyobj.cur.y + yadj;
    flyobj.cur.z=zidx;
    flyobj.img.src=flyobj.imgset[imgidx].src;
    flyobj.div.style.zIndex=(flyobj.cur.z);
  }
  else {
    flightInit(flyidx, 0);
  }
} 
function flightInit(flyidx, to) {
  var flyobj=flyset[flyidx];
  flyobj.inc.x=0;  
  flyobj.inc.y=0;  
  flyobj.inc.z=0; 
  flyobj.cur.x=flyobj.ini.obj.x;  
  flyobj.cur.y=flyobj.ini.obj.y;  
  flyobj.cur.z=flyobj.ini.obj.z; 
  flyobj.tm=0;  flyobj.to=to;  flyobj.tid=0;  
  flyobj.nte=0;
  flyobj.div.style.left=(flyobj.cur.x + "px");
  flyobj.div.style.top=(flyobj.cur.y + "px");
  flyobj.div.style.zIndex=(flyobj.cur.z);
  flyobj.img.src=flyobj.imgset[0].src;
  flyobj.div.style.visibility="visible";
  flyobj.fly=0;
  return;
}
function flightPosition(flyidx) {
  var flyobj=flyset[flyidx];
  flyobj.cur.x=flyobj.cur.x+flyobj.inc.x;
  flyobj.cur.y=flyobj.cur.y+flyobj.inc.y;
  flyobj.div.style.left=(flyobj.cur.x + "px");
  flyobj.div.style.top=(flyobj.cur.y + "px");
}
function flightCheck(flyidx, timeoutFunc) {
  var flyobj=flyset[flyidx];
  if(flyset[flyidx].to > 0) {
    flyset[flyidx].tm=flyset[flyidx].tm+flyset[flyidx].to;
    flyset[flyidx].tid=window.setTimeout(timeoutFunc, flyset[flyidx].to);
  }
}
function flightPlan(flyidx) {
  if(flyset[flyidx].fly==0) {
    flightInit(flyidx, 25);
    flyset[flyidx].fly=1;
    flyset[flyidx].tid=window.setTimeout("flightPath("+flyidx+")", flyset[flyidx].to);
  }
  else {
    flyset[flyidx].div.style.visibility="hidden";
    window.clearTimeout(flyset[flyidx].tid);
    flightInit(flyidx, 0);
  }
}
function flightEvents(flyidx) {
  var flyobj=flyset[flyidx];
  var i=flyobj.nte;
  if(flyobj.tm > flyobj.tevset[i].tm) {
    eval(flyobj.tevset[i].action);
    if(flyobj.nte < flyobj.tevset.length-1) {
      flyobj.nte=i+1;
    }
  }
  return;
} 
function flightPath(flyidx){
  flightPosition(flyidx);
  flightEvents(flyidx);
  flightCheck(flyidx, "flightPath("+flyidx+")");
}
//-->
