
// vertival Floating DIV
// EX: <div id="divTopLeft" style="position:absolute">
// call: JSFX_FloatDiv("divTopLeft", 10,-285).floatIt();
function JSFX_FloatDiv(id, sx /* left position */, sy /* top position */, idstop /* don't slide over this element */)
{
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;

	var el = d.getElementById ? d.getElementById(id) : d.all ? d.all[id] : d.layers[id];
	var px = document.layers ? "" : "px";
	window[id + "_obj"] = el;
	if(d.layers)el.style=el;
	el.cx = el.sx = sx;el.cy = el.sy = sy;
	el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};

	var stop = d.getElementById ? d.getElementById(idstop) : d.all ? d.all[idstop] : d.layers[idstop];
    if(stop)
    {	
	    el.stopOffset = stop.offsetTop;
	    el.stopHeight = $("#" + idstop).outerHeight(true); //stop.offsetHeight;
	    //alert("offset: " + el.stopOffset + " height: " + el.stopHeight);
	}
	else
	{
	    
	    el.stopOffset = 0;
	    el.stopHeight = 0;
    }	

	el.floatIt=function()
	{
		var pX, pY;
		pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
		document.documentElement && document.documentElement.clientWidth ? 
		document.documentElement.clientWidth : document.body.clientWidth;
		pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
		document.documentElement.scrollTop : document.body.scrollTop;
		if(this.sy<0) 
		pY += ns ? innerHeight : document.body.clientHeight
		//pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
		//document.documentElement.clientHeight : document.body.clientHeight;
		Y = Math.max(pY + this.sy, this.stopOffset + this.stopHeight);
		this.cy += (Y - this.cy)/8;		
		this.cx += (pX + this.sx - this.cx)/8;
		this.sP(this.cx, this.cy);
		setTimeout(this.id + "_obj.floatIt()", 40);
	}
	return el;
}

