﻿/*
 * Right Float Banner
 * 2009.06.09 KiHyunKim
 */

	var FloatBanner = {
		stmnWIDTH			: 930,
		stmnGAP				: 347,
		stmnBASE			: 300,
		stmnActivateSpeed	: 50,
		stmnScrollSpeed		: 5,
		stmnTimer			: null,
		idBanner			: "RightFloatMenu"
	}
	
	FloatBanner.agent_name	= navigator.userAgent.toLowerCase();
	FloatBanner.is_ie		= ((FloatBanner.agent_name.indexOf("msie") != -1) && (FloatBanner.agent_name.indexOf("opera") == -1));
	FloatBanner.is_chrome	= (FloatBanner.agent_name.indexOf('chrome') != -1);
	FloatBanner.is_strict	= (document.compatMode == 'CSS1Compat');
	FloatBanner.body		= function() { return ( ((!FloatBanner.is_ie && !FloatBanner.is_chrome) || (FloatBanner.is_ie && FloatBanner.is_strict)) ? self.document.documentElement : self.document.body ) };
	FloatBanner.obj			= document.getElementById( FloatBanner.idBanner );

	FloatBanner.RefreshStaticMenu = function () {
		var stmnStartPoint, stmnEndPoint, stmnRefreshTimer;

		stmnStartPoint = parseInt(FloatBanner.obj.style.top);
		stmnEndPoint = FloatBanner.body().scrollTop + FloatBanner.stmnGAP;
		stmnRefreshTimer = FloatBanner.stmnActivateSpeed;

		FloatBanner.PositionHorizontal();

		if ( stmnStartPoint != stmnEndPoint ) {
			stmnScrollAmount = Math.ceil( Math.abs( stmnEndPoint - stmnStartPoint ) / 15 );
			FloatBanner.obj.style.top = (parseInt(FloatBanner.obj.style.top) + ( ( stmnEndPoint<stmnStartPoint ) ? -stmnScrollAmount : stmnScrollAmount )).toString() + "px";
			stmnRefreshTimer = FloatBanner.stmnScrollSpeed;
		}
		stmnTimer = setTimeout ("FloatBanner.RefreshStaticMenu();", stmnRefreshTimer);
    };

    FloatBanner.InitializeStaticMenu = function () {
		if (FloatBanner.obj) {
			FloatBanner.PositionHorizontal();
			FloatBanner.obj.style.top = (FloatBanner.body().scrollTop + FloatBanner.stmnBASE).toString() + "px";
			FloatBanner.obj.style.visibility = "visible";
			FloatBanner.RefreshStaticMenu();
		}
    }

    FloatBanner.PositionHorizontal = function () {
		var minWidth, posLeft
		minWidth = FloatBanner.stmnWIDTH + parseInt(FloatBanner.getStyle(FloatBanner.obj, "width")) * 2;
		if (FloatBanner.body().scrollWidth <= minWidth)
			posLeft = FloatBanner.stmnWIDTH;
		else
			posLeft = ((FloatBanner.body().scrollWidth - FloatBanner.stmnWIDTH) / 2) + FloatBanner.stmnWIDTH;
		FloatBanner.obj.style.left = posLeft.toString() + "px";
    }

	FloatBanner.getStyle = function (obj, style) {
		var value = '';
		if (obj) {
			if (document.defaultView)
				value = document.defaultView.getComputedStyle(obj,'').getPropertyValue(style);
			else if (obj.currentStyle) {
				style = style.replace(/\-(\w)/g, function (strMatch,p1){return p1.toUpperCase();});
				value = obj.currentStyle[style];
			}
		}
		return value;
	};

	FloatBanner.InitializeStaticMenu();
