/*******************************************************************
*
* File    : JSFX_FloatingLayer.js © JavaScript-FX.com
*
* Created : 2001/03/16
*
* Author  : Roy Whittle www.Roy.Whittle.com
*
* Purpose : To make and positional div float to
*                one plave on the page and stay there.
*
* History
* Date         Version        Description
*
* 2001-03-17        2.0                Converted for javascript-fx
***********************************************************************/
JSFX.FloatingLayer = function(theDiv, x, y)
{
        //Call the superclass constructor
        this.superC = JSFX.Layer;
        this.superC(JSFX.findLayer(theDiv), x, y);

        this.baseX = x;
        this.baseY = y;
        this.x = x;
        this.y = y;
        this.moveTo(x,y);
        this.show();

}
JSFX.FloatingLayer.prototype = new JSFX.Layer;

JSFX.FloatingLayer.prototype.animate = function()
{
        var targetX;
        var targetY;
        if(this.baseX > 0)
                targetX = JSFX.Browser.getMinX() + this.baseX;
        else
                targetX = JSFX.Browser.getMaxX() + this.baseX;

        if(this.baseY > 0)
                targetY = JSFX.Browser.getMinY() + this.baseY;
        else
                targetY = JSFX.Browser.getMaxY() + this.baseY;

        var dx = (targetX - this.x)/8;
        var dy = (targetY - this.y)/8;
        this.x += dx;
        this.y += dy;

        this.moveTo(this.x, this.y);
}
JSFX.MakeFloatingLayer = function(theDiv, x, y)
{
        JSFX.MakeFloatingLayer.floaters[JSFX.MakeFloatingLayer.floaters.length] = new JSFX.FloatingLayer(theDiv, x, y);
}
JSFX.MakeFloatingLayer.floaters = new Array();
JSFX.MakeFloatingLayer.animate = function()
{
        var i;
        for(i=0 ; i<JSFX.MakeFloatingLayer.floaters.length ; i++)
                JSFX.MakeFloatingLayer.floaters[i].animate();
}
setInterval("JSFX.MakeFloatingLayer.animate()", 10);