<!-- Original:  Eddie Traversa (psych3@primus.com.au) -->
<!-- Web Site:  http://dhtmlnirvana.com/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
window.onerror = null;
var bottomMargin = 25 ;
var topMargin = 0 ;
var leftMargin = 0 ;
var pageSize =560 ;
var slideTime = 50;
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);

function layerObject(id,left) {
if (ns6) {
this.obj = document.getElementById(id).style;
this.obj.left = left;
return this.obj;
}
else if(ie4) {
this.obj = document.all[id].style;
this.obj.left = left;
return this.obj;
}
else if(ns4) {
this.obj = document.layers[id];
this.obj.left = left;
return this.obj;
   }
}

function layerSetup() {
floatLyr = new layerObject('floatLayer', pageWidth * 1);
window.setInterval("main()", 10)
}

function floatObject() {
if (ns4 || ns6) {
	findHt = window.innerHeight;
	findWd = window.innerWidth;
	if (findWd < pageSize)
	{
		leftMargin = findWd - 60 ;
		topMargin = findHt - bottomMargin - 15 ;
	}
	else if (findWd >= pageSize){

		pos = ((findWd - pageSize) / 2) + pageSize;

		leftMargin = pageSize - 30 ;
		topMargin = findHt - bottomMargin - 15 ;
	}

	} 
	else if(ie4) 
	{
		findHt = document.body.clientHeight;
		findWd = document.body.clientWidth;

		if (findWd < pageSize)
		{		
			leftMargin = findWd - 50 ;
			topMargin = findHt - bottomMargin - 15 ;
		}
		else if (findWd >= pageSize){

			pos = ((findWd - pageSize) / 2) + pageSize;

			leftMargin = pos - 60 ;
			topMargin = findHt - bottomMargin ;
		}
	}
}

function main() {
if (ns4) {
this.currentY = document.layers["floatLayer"].top;
this.scrollTop = window.pageYOffset;
mainTrigger();
}
else if(ns6) {
this.currentY = parseInt(document.getElementById('floatLayer').style.top);
this.scrollTop = scrollY;
mainTrigger();
} else if(ie4) {
this.currentY = floatLayer.style.pixelTop;
this.scrollTop = document.body.scrollTop;
mainTrigger();
   }
}
function mainTrigger() {
var newTargetY = this.scrollTop + this.topMargin;
if ( this.currentY != newTargetY ) {
if ( newTargetY != this.targetY ) {
this.targetY = newTargetY;
floatStart();
}
animator();
   }
}
function floatStart() {
var now = new Date();
this.A = this.targetY - this.currentY;
this.B = Math.PI / ( 2 * this.slideTime );
this.C = now.getTime();
if (Math.abs(this.A) > this.findHt) {
this.D = this.A > 0 ? this.targetY - this.findHt : this.targetY + this.findHt;
this.A = this.A > 0 ? this.findHt : -this.findHt;
}
else {
this.D = this.currentY;
   }
}
function animator() {
var now = new Date();
var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D;
newY = Math.round(newY);
if (( this.A > 0 && newY > this.currentY ) || ( this.A < 0 && newY < this.currentY )) {
if ( ie4 ){document.all.floatLayer.style.pixelTop = newY;
		   document.all.floatLayer.style.pixelLeft = leftMargin;}
if ( ns4 ){document.layers["floatLayer"].top = newY;
		   document.layers["floatLayer"].left = leftMargin;}
if ( ns6 ){document.getElementById('floatLayer').style.top = newY + "px";
		   document.getElementById('floatLayer').style.left = leftMargin; }
   }
}

function setPos() {
	if(ns6||ns4) {
		pageWidth = innerWidth;
		pageHeight = innerHeight;
	} else if(ie4) {
		pageWidth = document.body.clientWidth;
		pageHeight = document.body.clientHeight;
	}
}

function startFloat() {
if(ns6||ns4) {
setPos();
layerSetup();
floatObject();
//window.onresize=startFloat;
}
else if(ie4) {
setPos();
layerSetup();
floatObject();
//window.onresize=startFloat;

   }
}
//  End -->


