function floating(div,holder)
{
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;
	var px = document.layers ? "" : "px";
	function ml(id)
	{
		var ns = (navigator.appName.indexOf("Netscape") != -1);
		var d = document;
		var px = document.layers ? "" : "px";
		var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
		if ((el!==undefined) && (el!==null)) {
			if(d.layers)el.style=el;
			el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
		}
		return el;
	}
	window.stayDiv=function(div,holder)
	{
		obj = ml(div);
		if ((obj===undefined) || (obj===null)) return;
		if (holder!==undefined) var objHolder = ml(holder);
		if ((holder!==undefined)&&(objHolder!==undefined)&&(objHolder!==null)) {
			var CurrentX = 0;
			var CurrentY = 0;
			if (objHolder.offsetLeft!='undefined') {
				while (objHolder) {
					CurrentX += objHolder.offsetLeft;
					CurrentY += objHolder.offsetTop;
					objHolder = objHolder.offsetParent;
				}
			} else {
				CurrentX = objHolder.left;
				CurrentY = objHolder.top;
			}
			obj.x = CurrentX;
		}
		var pH = ns ? window.innerHeight : document.body.offsetHeight;
		var pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
		var dY = (pY > obj.startY) ? pY : obj.startY;
		if (obj.offsetHeight < pH) {
			obj.y += (dY - obj.y)/8;
		}
		obj.sP(obj.x, obj.y);
		if (holder!==undefined) {
			setTimeout("stayDiv(\""+div+"\",\""+holder+"\")", 20);
		} else {
			setTimeout("stayDiv(\""+div+"\")", 20);
		}
	}
	var obj = ml(div);
	if (!obj) return;
	if ((obj.startX === undefined) || (isNaN(obj.startX))) {
		var OffsetX = 0;
		var OffsetY = 0;

		var sObj = obj;
		obj.h = 320; // minimum height

		if (sObj.offsetLeft !== undefined) {
			while (sObj) {
				OffsetX+=sObj.offsetLeft;
				OffsetY+=sObj.offsetTop;
				sObj=sObj.offsetParent;
			}
		} else {
			OffsetX = sObj.left;
			OffsetY = sObj.top;
		}

		obj.style.position = "absolute";
		obj.style.visibility = "visible";
		obj.startX = OffsetX;
		obj.startY = OffsetY;
		obj.x = OffsetX;
		obj.y = OffsetY;
	}
	stayDiv(div,holder);
}
