window.onerror = null;
var topMargin = 0;
var pageWidth = 825;
var slideTime = 1200;
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);
var floatIntervalID = null;
var displayCount = 0;
var displayMaxCount = 9999;
var checkDisplayID = null;
function layerObject(id) {
	if (ns6) return document.getElementById(id).style;
	else if(ie4) return document.all[id].style;
	else if(ns4) return document.layers[id];
}
function layerSetup() {
	floatLyr = new layerObject('floatLayer');
	floatIntervalID = window.setInterval("main()", 20);
}
function floatObject() {
	if (ns4 || ns6) {
		findHt = window.innerHeight;
	} else if(ie4) {
		findHt = document.body.clientHeight;
   }
}
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;
		if (typeof window.pageYOffset != 'undefined') { 
		   this.scrollTop = window.pageYOffset; 
		} 
		else if (typeof document.compatMode != 'undefined' && 
			 document.compatMode != 'BackCompat') { 
		   this.scrollTop = document.documentElement.scrollTop; 
		} 
		else if (typeof document.body != 'undefined') { 
		   this.scrollTop = document.body.scrollTop; 
		} 
		mainTrigger();
   }
}
function checkDisplay() {
	if (ns4) {
		if (document.layers["floatLayer"].style.display == "block") {
			document.layers["floatLayer"].style.display = "none";
		}
	} else if(ns6) {
		if (document.getElementById('floatLayer').style.display == "block") {
			document.getElementById('floatLayer').style.display = "none";
		}
	} else if(ie4) {
		if (floatLayer.style.display == "block") {
			floatLayer.style.display = "none";
		}
   }
   checkDisplayID = null;
}
function mainTrigger() {
	var newTargetY = this.scrollTop + this.topMargin;
	if ( this.currentY != newTargetY ) {
		if ( newTargetY != this.targetY ) {
			this.targetY = newTargetY;
			floatStart();
		}
		animator();
	} else if ( ie4 ) {
		clearInterval(floatIntervalID);
		floatIntervalID = null;
	}
}
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 floatLayerInit() {
	if(ns6||ns4) {
		pageHeight = innerHeight;
		layerSetup();
		floatObject();
	}
	else if(ie4) {
		pageHeight = document.body.clientHeight;
		layerSetup();
		floatObject();
   }
}
function floatEvent(e)
{
	if (!e) {
		clearInterval(floatIntervalID);
		e = window.event;
		floatLayerInit();
	}
	return true;
}
// 	Starting float layer by calling function 'floatLayerStart()'
function floatLayerStart() {
	if ( ie4 ) {
		window.onscroll = floatEvent;
		floatEvent(event);
	}
	else
		floatLayerInit();
}
