/*******************************************************************
*
* 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 place 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 (JSFX.Browser.getMinY()> 113)//they have scrolled down over 113 pixels
		//alert(JSFX.Browser.getMinY());
		{
		if(this.baseX > 0)
			targetX = JSFX.Browser.getMinX() + this.baseX;
		else
			targetX = JSFX.Browser.getMaxX() + this.baseX;
		
		if(this.baseY > 0)//vertical axis
			targetY = JSFX.Browser.getMinY() + this.baseY -110;
		else
			targetY = JSFX.Browser.getMaxY() + this.baseY;
				
		var dx = (targetX - this.x)/8;
		var dy = (targetY - this.y)/2;
		this.x += dx;
		this.y += dy;
		
		this.moveTo(this.x, this.y);
	
		}
	else
		{
		if(this.baseX > 0)//horizontal  axis
			targetX = JSFX.Browser.getMinX() + this.baseX;
		else
			targetX = JSFX.Browser.getMaxX() + this.baseX;
		
		if(this.baseY > 0)
			targetY = this.baseY;
		else
			targetY = JSFX.Browser.getMaxY() + this.baseY;
		
		var dx = (targetX - this.x)/8;
		var dy = (targetY - this.y)/2;
		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()",5);

