/****************************************************
FLOATER floats a div at any position on page.
Place the following DIV at the bottom of the page.
And reference this script directly below the div.
Set dimensions, etc in the DIV.
Set float right and bottom offsets in the OFFSETS script.

<DIV align="left" id="floatLayer" style="visibility:visible; position:absolute; height:150px; width:150px; left:0px; top:0px; z-index:0; border:solid 1px;">
PUT TEXT, PICTURE OR ANYTHING YOU WISH IN THIS FLOATING DIV
</DIV>
<SCRIPT Language="Javascript">hOffset=150; vOffset=25//OFFSETS</SCRIPT>
<SCRIPT Language="Javascript" SRC="floater.js"></SCRIPT>

*****************************************************/
floaterTest='exist'
window.onerror = null;
var topMargin = 0;
var slideTime = 950;
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() {
hOffset=eval(hOffset)
hOffset=eval(hOffset)
atCenter=pageWidth-pageWidth/2+hOffset
atLeft=pageWidth-hOffset
atTop=pageHeight-vOffset
atRight=hOffset
atBottom=vOffset
//MODIFY NEXT TWO LINES FOR LEFT/TOP OR RIGHT/BOTTOM FLOAT
floatLyr = new layerObject('floatLayer', pageWidth-eval(hPosn));
topMargin = pageHeight-eval(vPosn);
window.setInterval("main()", 10)
}

function floatObject() {
  if (ns4 || ns6) {
    findHt = window.innerHeight;
  } 
  else if(ie4) {
    findHt = document.body.clientHeight;
  }
  if ( ie4 ) {
    document.all.floatLayer.style.pixelTop = parseInt(findHt - 162);
    document.all.floatLayer.style.visibility = '';
  }
  if ( ns4 ) {
    document.layers["floatLayer"].top = parseInt(findHt - 162);
    document.layers["floatLayer"].visibility = '';
  }
  if ( ns6 ) {
    document.getElementById('floatLayer').style.top = parseInt(findHt - 162) + "px";
    document.getElementById('floatLayer').style.visibility = '';
  }
  
} 
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;
if ( ns4 )document.layers["floatLayer"].top = newY;
if ( ns6 )document.getElementById('floatLayer').style.top = newY + "px";
   }
}
function startFloater() {
if(ns6||ns4) {
pageWidth = innerWidth;
pageHeight = innerHeight;
layerSetup();
floatObject();
}
else if(ie4) {
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight;
layerSetup();
floatObject();
   }
}  
startFloater();
window.onresize=startFloater;