/*

require func.js!!

divMove.move(Element,steps,maxOpacity,setLeft,setTop,moveDistance,secs);


  */

divMove = {
  
  // MOVE STEPS
  steps : 4,
  // WAIT SECONDS
  secs  : 25,
  // MAXIMUM OF DIV OPACITY
  maxOpacity : 60,
  // 
  fadeIn : false,
  // STOP DIV LEFT
  setLeft : 0,
  // STOP DIV TOP
  setTop : 0,
  // MOVE DISTANCE
  moveDistance : 5,
//  MOVE LAYER
  moveArr:new Array(),
move : function (node,steps,maxOpacity,setLeft,setTop,moveDistance,secs){

  if(steps)
    this.steps=steps;
  if(secs)
    this.secs=secs;
  if(maxOpacity)
    this.maxOpacity=maxOpacity;
  if(setLeft)
    this.setLeft=setLeft;
  if(setTop)
    this.setTop=setTop;
  if(moveDistance)
    this.moveDistance=moveDistance;
  
  if(!node.style){ el = getNode(node); }
  else{  el=node; }

  
  if(el.moveIndex == null){
    el.moveIndex=this.moveArr.length;
    this.moveArr[el.moveIndex]=el;
    el.style.pixelTop = this.setTop;
  }

  if(el.fadeIn == null){
    el.fadeIn = false;
  }

  el.setLeft = this.setLeft;
  el.moveDist=this.moveDistance;
  el.fadeIn = !el.fadeIn;

  
  if(!el.visible){
    el.visible = false;
    el.stepNumber = 0;
  }

  this.repeat(el.moveIndex);
},
// REPEAT MOVE LAYER 
repeat : function (index){

  el=this.moveArr[index];

  if(el.moveTimer != null)
    clearTimeout(el.moveTimer);

  (!el.fadeIn) ? el.stepNumber-- : el.stepNumber++;
  this.setPosition(el);

  if(!el.visible){
    el.style.visibility="visible";
    el.visible = !el.visible;
  }

  this.setOpacity(el);

  if(el.stepNumber == this.steps || el.stepNumber == 0){
    if(!el.fadeIn){
      el.style.visibility="hidden";
      el.visible = !el.visible;
    }
    return;
  }
  else{
   el.moveTimer = window.setTimeout("divMove.repeat("+index+");",this.secs);
  }
},

// SET DIV POSITION
setPosition : function (el){
  rad = Math.PI/2*(1-el.stepNumber/this.steps);
  el.style.left = Math.round((Math.sin(rad-Math.PI/2)+1)*el.moveDist)+el.setLeft;
},

// 透明度の設定
setOpacity : function (el){
  rate = el.stepNumber/this.steps;
  el.style.filter = "alpha(Opacity = "+Math.round(rate*this.maxOpacity)+");";
}

};//End Of Object
