// JavaScript Document

var leftMargin = 0;
var bannerWidth = 0;
var topMargin = 0;

var slideTime = 1200;
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);
var ie6st = (document.documentElement && document.documentElement.clientWidth);
var bannerEnabled = true;
var bannerTimer = 0;

function bannerActivar() {
	bannerEnabled = true;
	bannerTimer = window.setInterval("main()", 10)
	
	if (ie4) document.all.floatLayer.style.display="block"
	if (ns4) document.floatLayer.display="block";
	if (ns6) {
		var fl = document.getElementById("floatLayer")
		fl.style.display="block";
		if (!fl.style.top) 
			fl.style.top = document.defaultView.getComputedStyle(fl,null).getPropertyValue("top");
	}
}

function bannerDesactivar() {
	bannerEnabled = false;
	if (bannerTimer) {
		window.clearInterval(bannerTimer); 
		bannerTimer = 0;
	}
	if (ie4) document.all.floatLayer.style.display="none"
	if (ns4) document.floatLayer.display="none";
	if (ns6) document.getElementById("floatLayer").style.display="none";
}

function layerObject(id) {
	if (ns6) {
		this.obj = document.getElementById(id).style;
	}
	else if(ie4) {
		this.obj = document.all[id].style;
	}
	else if(ns4) {
		this.obj = document.layers[id];
	} 
	return this.obj;
}
function layerSetup() {
	floatLyr = new layerObject('floatLayer');
	bannerActivar();
}
function floatObject() {
	if (ns4 || ns6) {
		findHt = window.innerHeight;
	} else if(ie4) {
		findHt = document.body.clientHeight;
	}
} 
function main() {
	if (bannerEnabled) {	
		if (ns4) {
			this.currentY = document.layers["floatLayer"].top;
			this.scrollTop = window.pageYOffset;
		}
		else if(ns6) {
			this.currentY = parseInt(document.getElementById('floatLayer').style.top);
			this.scrollTop = scrollY;
		} else if(ie6st) {
			this.currentY = floatLayer.style.pixelTop;			
			this.scrollTop = document.documentElement.scrollTop			
		} 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 bannerStart(left_margin, top_margin, width) {
	leftMargin = left_margin;
	topMargin = top_margin;		
	bannerWidth = width;
		
	if(ns6||ns4) {
		pageWidth = innerWidth - 16;
		pageHeight = innerHeight;
	}
	else if(ie4) {
		pageWidth = document.body.clientWidth;
		pageHeight = document.body.clientHeight;
	}
	layerSetup();
	floatObject();
	checkWidth();
	window.onresize = checkWidth;
}

function checkWidth() {
	if(ns6||ns4) {
		pageWidth = innerWidth - 16;
	}
	else if(ie4) {
		pageWidth = document.body.clientWidth;
	}
	if (pageWidth >= (leftMargin + bannerWidth)) 
		bannerActivar();
	else
		bannerDesactivar();
}