//werte und ereignisse initialisieren



var x_=0;
var y_=0;

function ev_ini(){

  document.all ? window.onmousemove=ev_xy : document.addEventListener("mousemove",ev_xy,true);

}
function ev_xy(event){

  document.all ? x_=event.clientX : x_=event.pageX;
  document.all ? y_=event.clientY : y_=event.pageY;

}

//elemente
function e_(obj){

  document.all ? e__=document.all[obj] : e__=document.getElementById(obj);
  return e__;
}

function e_style(obj){

  document.all ? e__=document.all[obj].style : e__=document.getElementById(obj).style;
  return e__;
}

//flash
function e_flash(id,a,name){

  this.name=name;
  this.id=id;
  this.t_=a[0];

  this.methode='action()';
  a_=new Array;
  
  switch(a[0][2]){

  case 'p':
   a_[0]=a[0];
   a_[1]=a[1];
   step_P=Math.round((a[3]-a[2])/a[4]);
   for(k_=0;k_<a[4];k_=k_+1){
   a_=a_.concat(a[2]+k_*step_P);
   }
   a_=a_.concat(a[3]);
   break;

  case 'xy':
   a_[0]=a[0];
   a_[1]=a[1];
   step_X=Math.round((a[3][0]-a[2][0])/a[4]);
   step_Y=Math.round((a[3][1]-a[2][1])/a[4]);
   
   for(k_=0;k_<a[4];k_=k_+1){
   a_[2+k_]=[a[2][0]+k_*step_X,a[2][1]+k_*step_Y];
   }
   a_[2+k_]=[a[3][0],a[3][1]];
   break;

  case 'c':
   a_[0]=a[0];
   a_[1]=a[1];
   step_R=Math.round((a[3][0]-a[2][0])/a[4]);
   step_G=Math.round((a[3][1]-a[2][1])/a[4]);
   step_B=Math.round((a[3][2]-a[2][2])/a[4]);
   for(k_=0;k_<a[4];k_=k_+1){
   RGB='RGB('+(a[2][0]+k_*step_R)+','+(a[2][1]+k_*step_G)+','+(a[2][2]+k_*step_B)+')';
   a_=a_.concat(RGB);
   }
   RGB='RGB('+a[3][0]+','+a[3][1]+','+a[3][2]+')';
   a_=a_.concat(RGB);
   break;

  default:
   a_=a;
   break;

  }

  this.a_=a_;
  this.fs_=a_.length;
  this.s_=2;
  this.k_=1;

  this.start();

}

e_flash.prototype.action=function(){

  this.style=e_style(this.id);
  if(this.t_[2]=='xy' && this.a_[this.s_]){
    this.style[this.a_[1][0]]=this.a_[this.s_][0];
    this.style[this.a_[1][1]]=this.a_[this.s_][1];
  }

  else if(this.a_[this.s_]){
    this.style[this.a_[1]]=this.a_[this.s_];

  }
  
  this.s_=this.s_+this.k_;
  if(this.fs_<this.s_ || this.s_==2){
    if(this.t_[3]=='z'){
       this.s_=2;//this.k_*(-1);
    }
    else{
       setTimeout('clearInterval('+this.t_[4]+')',10);
    }
  }

}

e_flash.prototype.start=function(){

  this.methode=this.name+'.t_[4]'+'=setInterval("'+this.name+'.'+this.methode+'",'+this.t_[1]+')';
  setTimeout(this.methode,this.t_[0]);

}

n___=0;

function flash_(id,a__){

  for(n__=0;n__<a__.length;n__=n__+1){
    n___++;
    obj='obj'+n__+id+'index'+n___;
    eval(obj+'=new e_flash(id,a__[n__],obj)');
  }


}



