/*--------------- FUNCIONES DE MOVIMIENTO 
NOMBRE LIBRERIA: DynMove.js
VERSION: v1.0
DOCUMENTACION ASOCIADA: DynMove.doc
HISTORICO:
	-fecha modificacion:28/08/00 , modificador:Jordi Blasco/Pedro Redondo  , descripcion: generamos libreria y documentacion
*/

initObject.prototype.moveTo=moveTo
initObject.prototype.moveBy=moveBy
initObject.prototype.IScrossObject = crossObject
function moveTo(x,y) {

if (x=='null') { x = this.x }
if (y=='null') { y = this.y }
this.x = x;
this.y = y;
this.css.left = x;
this.css.top = y;
}
function moveBy(x,y){
if (x=='null') { x = 0 }
if (y=='null') { y = 0 }
this.moveTo(this.x+x, this.y+y);

}                                               
function crossObject(){
this.crossTo = crossTo
this.crossFn = crossFn
this.crossBy = crossBy
}
function crossBy(x,y,inc,speed){
this.crossTo(this.x+x, this.y+y,inc,speed);
}
function crossTo(x,y,inc,speed,func){
if(!func) func='';
if (!inc) inc=10;
if (!speed) speed=20;
var Xinitial = this.x;
var Yinitial = this.y;
var Xfinal = (x)-(Xinitial);
var Yfinal = (y)-(Yinitial);
var Num = Math.sqrt( Math.pow(Xfinal,2) + Math.pow(Yfinal,2) ) / inc;
var incX = Xfinal/Num;
var incY = Yfinal/Num;
var crossToNum = Num;
var ToExe = escape(func);
var fn = this.name+'.crossFn(' + x + ',' + y + ',' + incX + ',' + incY + ',' + crossToNum + ', 0 ,' +  speed + ',\''+ToExe+'\')';
setTimeout(fn,speed);
}
function crossFn(x, y, incX, incY, crossToNum, crossToAt, speed ,func){
if (crossToAt < crossToNum-1) {
this.moveBy(incX, incY);
crossToAt++
var fn = this.name+'.crossFn(' + x + ',' + y + ',' + incX + ',' + incY + ',' + crossToNum + ','+ crossToAt +',' +  speed + ',\''+func+'\')';
setTimeout(fn,speed); } else { this.moveTo(x,y); eval(unescape(func));}
}

