//Movement routines V2.12
//23rd January 2001
//karl.bunyan@oyster.co.uk

var steps=25;
var ismoving=0;
var slideString='';

function slideObjectInit(x,y,tempsteps,instr){
	slideString+=this.obj+".slidingObject();";
	this.endx=x=(x!=null ? x :this.x);
	this.endy=y=(y!=null ? y :this.y);
	this.steps=tempsteps||this.steps||steps;
	this.frame=0;
	this.instr=instr;
	this.stepx=(x-this.x)/this.steps;
	this.stepy=(y-this.y)/this.steps;
	if (!this.easing)this.easing=0;
	ismoving++;
	if (ismoving==1)setTimeout("slideMove()",40);
}

function slidingObject(){
	if (++this.frame<this.steps){
		var addon=Math.cos(Math.PI*2*this.frame/this.steps)*this.easing;
		this.moveTo(this.x+this.stepx-addon*this.stepx,this.y+this.stepy-addon*this.stepy);
	}
	else{
		this.moveTo(this.endx,this.endy);
		slideString=eval('slideString.replace(/'+this.obj+'\.slidingObject\\(\\)\\;/,"")');
		eval(this.instr);
		ismoving--;
	}
}

function slideMove(){
	if (slideString.length>0){
		eval(slideString);
		if (ismoving>0)setTimeout("slideMove()",40);
	}
}

divObject.prototype.slideTo=slideObjectInit;
divObject.prototype.slidingObject=slidingObject;
divObject.prototype.easeTo=easeObjectInit;

function easeObjectInit(x,y,easing,tempsteps,instr){
	this.easing=easing||this.easing;
	this.slideTo(x,y,tempsteps,instr);
}