

var fDivName;
var fObject;
var fMgnTop;
var fMgnBtm;
var fCurrentY;
var fTop;
var fExY = cExY = 0;
var fTurn = 0;

function fCheckBrowser() {
	this.ver   = navigator.appVersion;
	this.agent = navigator.userAgent;
	this.dom   = document.getElementById ? 1 : 0;
	this.mac   = (this.agent.indexOf("Mac") > -1) ? 1 : 0;
	this.op6   = ((this.agent.indexOf("Opera 6") > -1) && this.dom) ? 1 : 0;
	this.ie5   = ((this.ver.indexOf("MSIE 5") > -1) && this.dom && !this.op6) ? 1 : 0;
	this.ie6r  = ((this.ver.indexOf("MSIE 6") > -1) && this.dom && (document.compatMode == "BackCompat")) ? 1 : 0;
	this.ie6s  = ((this.ver.indexOf("MSIE 6") > -1) && this.dom && (document.compatMode == "CSS1Compat")) ? 1 : 0;
	this.ie4   = (document.all && !this.dom) ? 1 : 0;
	this.ie    = (this.ie4 || this.ie5 || this.ie6r || this.ie6s) ? 1 : 0;
	this.ns6   = (this.dom && (parseInt(this.ver) >= 5)) ? 1 : 0;
	this.ns4   = (document.layers && !this.dom) ? 1 : 0;
	this.ns    = (this.ns4 || this.ns6) ? 1 : 0;
	this.bw5   = (this.ie5 || this.ie6r) ? 1 : 0;
	this.bw6   = (this.ie6s || this.ns6 || this.op6) ? 1 : 0;
	this.bw    = (this.ie6r || this.ie6s || this.ie5 || this.ns6 || this.op6) ? 1 : 0;
	return this;
}

function ENInit(id, mt, mb, tp) {
	oBw = new fCheckBrowser;
	if (oBw.bw) {
		fDivName         = oBw.bw5 ? document.all(id) : oBw.bw6 ? document.getElementById(id) : 0;
		fObject          = fDivName.style;
		fObject.position = 'absolute';
		fMgnTop          = mt ? mt : 0;
		fMgnBtm          = mb ? mb : 0;
		fCurrentY = fTop = tp ? tp : fDivName.offsetTop;
		fMoveLayer();
	}
}


function fMoveLayer() {
	var lWinH = 0;
	var lDivH = 0;
	var lTgtY   = 0;
	var lTgtY1  = 0;
	var lTgtY2  = 0;
	var lDtcY   = 0;

	lDivH = fDivName.offsetHeight;

	if (oBw.ie6s) {
		lWinH = document.documentElement.clientHeight;
	} else if (oBw.ns6 || oBw.op6) {
		lWinH = innerHeight;
	} else if (oBw.bw5) {
		lWinH = document.body.clientHeight;
	} else {
		lWinH = 166;
	}

	if (oBw.ie6s) {
		lTgtY = document.documentElement.scrollTop;
	} else if (oBw.bw5) {
		lTgtY = document.body.scrollTop;
	} else if (oBw.ns6 || oBw.op6) {
		lTgtY = window.pageYOffset;
	} else {
		lTgtY = 166;
	}

	if (lWinH >= fMgnTop + lDivH + fMgnBtm) {
		lTgtY = Math.max(lTgtY + fMgnTop, fTop);
	} else {

		lTgtY2 = Math.max(lTgtY - (lDivH + fMgnBtm - lWinH), fTop);
		if (lTgtY1 > fCurrentY && lTgtY2 < fCurrentY) {
			lTgtY = fCurrentY;
		} else if (lTgtY2 < fCurrentY) {
			lTgtY = Math.max(lTgtY1, lTgtY2);
		} else {
			lTgtY = Math.min(lTgtY1, lTgtY2);
		}
	}
	lTgtY += fExY;

	if (lTgtY != fCurrentY) {
		lDtcY = (lTgtY - fCurrentY) ;

		fCurrentY   += Math.round(lDtcY);
		fObject.top =  fCurrentY + 'px';

	} else {
		if (fTurn == 0) {
			fTurn = 0;
			fExY  = 0;
		} else {
			fTurn = 1;
		}
	}

	setTimeout('fMoveLayer()', 500);
}

