floatX=5;
floatY=5;
layerwidth=180;
layerheight=78;
halign="left";
valign="bottom";
delayspeed=1;

//	var dx=1;
//	var dy=-1;
// This script is copyright (c) Henrik Petersen, NetKontoret
// Feel free to use this script on your own pages as long as you do not change it.
// It is illegal to distribute the script as part of a tutorial / script archive.
// Updated version available at: http://www.echoecho.com/toolfloatinglayer.htm
// This comment and the 4 lines above may not be removed from the code.

NS6=false;
IE4=(document.all);
if (!IE4) {NS6=(document.getElementById);}
NS4=(document.layers);

function adjust(dx, dy) {
//	var dx=1;
//	var dy=-1;

	if ((NS4) || (NS6)) {
		if (lastX==-100 || delayspeed==0)
		{
			lastX=window.pageXOffset + floatX;
			lastY=window.pageYOffset + floatY;
		} else {
			if (lastX <= window.pageXOffset+ifloatX) {dx=1;}
			if (lastX >= window.pageXOffset+window.innerWidth-ifloatX-layerwidth-20) {dx=-1;}
			if (lastY <= window.pageYOffset+ifloatY) {dy=1;}
			if (lastY >= window.pageYOffset+window.innerHeight-ifloatY-layerheight) {dy=-1;}

/*			var dx=Math.abs(window.pageXOffset+floatX-lastX);
			var dy=Math.abs(window.pageYOffset+floatY-lastY);
			var d=Math.sqrt(dx*dx+dy*dy);
			var c=Math.round(d/10);
			if (window.pageXOffset+floatX>lastX) {lastX=lastX+delayspeed+c;}
			if (window.pageXOffset+floatX<lastX) {lastX=lastX-delayspeed-c;}
			if (window.pageYOffset+floatY>lastY) {lastY=lastY+delayspeed+c;}
			if (window.pageYOffset+floatY<lastY) {lastY=lastY-delayspeed-c;}
*/
		}
		lastX = lastX+dx;
		lastY = lastY+dy;
		if (NS4){
			document.layers['floatlayer'].pageX = lastX;
			document.layers['floatlayer'].pageY = lastY;
		}
		if (NS6){
			document.getElementById('floatlayer').style.left=lastX;
			document.getElementById('floatlayer').style.top=lastY;
		}
	} else if (IE4){
		if (lastX==-100 || delayspeed==0)
		{
			lastX=document.body.scrollLeft + floatX;
			lastY=document.body.scrollTop + floatY;
		} else {
			if (lastX <= document.body.scrollLeft+ifloatX) {dx=1;}
			if (lastX >= document.body.scrollLeft+document.body.offsetWidth-ifloatX-layerwidth-20) {dx=-1;}
			if (lastY <= document.body.scrollTop+ifloatY) {dy=1;}
			if (lastY >= document.body.scrollTop+document.body.offsetHeight-ifloatY-layerheight) {dy=-1;}
/*			
			var dx=Math.abs(document.body.scrollLeft+floatX-lastX);
			var dy=Math.abs(document.body.scrollTop+floatY-lastY);
			var d=Math.sqrt(dx*dx+dy*dy);
			var c=Math.round(d/10);
			if (document.body.scrollLeft+floatX>lastX) {lastX=lastX+delayspeed+c;}
			if (document.body.scrollLeft+floatX<lastX) {lastX=lastX-delayspeed-c;}
			if (document.body.scrollTop+floatY>lastY) {lastY=lastY+delayspeed+c;}
			if (document.body.scrollTop+floatY<lastY) {lastY=lastY-delayspeed-c;}
*/
		}
		lastX = lastX+dx;
		lastY = lastY+dy;
		document.all['floatlayer'].style.posLeft = lastX;
		document.all['floatlayer'].style.posTop = lastY;
	} 
	setTimeout('adjust('+dx+','+dy+')',10);
}

function define()
{
	if ((NS4) || (NS6)) 
	{ 
		if (halign=="left") {floatX=ifloatX}
		if (halign=="right") {floatX=window.innerWidth-ifloatX-layerwidth-20}
		if (halign=="center") {floatX=Math.round((window.innerWidth-20)/2)-Math.round(layerwidth/2)}
		if (valign=="top") {floatY=ifloatY}
		if (valign=="bottom") {floatY=window.innerHeight-ifloatY-layerheight}
		if (valign=="center") {floatY=Math.round((window.innerHeight-20)/2)-Math.round(layerheight/2)}
	}else if (IE4) 
	{
		if (halign=="left") {floatX=ifloatX}
		if (halign=="right") {floatX=document.body.offsetWidth-ifloatX-layerwidth-20}
		if (halign=="center") {floatX=Math.round((document.body.offsetWidth-20)/2)-Math.round(layerwidth/2)}
		if (valign=="top") {floatY=ifloatY}
		if (valign=="bottom") {floatY=document.body.offsetHeight-ifloatY-layerheight}
		if (valign=="center") {floatY=Math.round((document.body.offsetHeight-20)/2)-Math.round(layerheight/2)}
	}
}
