/* constructor */
/* 인수는 (엘리먼트 id, 초기 top 값, (선택사항) bottom 마진) */
function floatedLayer(eleName, initialTop, bottomLimit) {

	if (!document.getElementById(eleName)) { return; }
	
	this.ele = document.getElementById(eleName);
	this.initialTop = initialTop;
	this.bottomLimit = (!bottomLimit)? 0 : bottomLimit;
	this.timer = null;
	this.moveLayer();
}

/* class property */
floatedLayer.INTERVAL = 10; /* 동작 간격: (단위: 밀리초(ms)) */
floatedLayer.DEGREE = 5; /* 움직임 정도: (단위: 퍼센트, 0 < 범위 <= 100) */


/* instance method */
floatedLayer.prototype.moveLayer = function () {

	var scrollHeight = 0;

	// 스크롤된 높이 계산 (참고: http://www.howtocreate.co.uk/tutorials/javascript/browserwindow)
	if (document.body && document.body.scrollTop) {
		scrollHeight = document.body.scrollTop;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		scrollHeight = document.documentElement.scrollTop;
	}

	var top = (isNaN(parseInt(this.ele.style.top)))? this.initialTop : parseInt(this.ele.style.top);
	var exactHeight = scrollHeight + this.initialTop;

	var moveHeight = Math.ceil(Math.abs(top - exactHeight) * floatedLayer.DEGREE / 100);
	
	top = (top > exactHeight)? top - moveHeight : top + moveHeight;

	var documentHeight = document.body.offsetHeight;
	var eleHeight = this.ele.offsetHeight;

	if ((top + eleHeight) >= documentHeight - this.bottomLimit) {
		top = documentHeight - eleHeight - this.bottomLimit;
	}

	this.ele.style.top = top + "px";

	// setTimeout에서 인스턴스 메소드 사용 (참고: http://www.faqts.com/knowledge_base/view.phtml/aid/2311)
	var self = this;
	if (this.timer) {
		window.clearTimeout(this.timer);
	}
	this.timer = window.setTimeout(function () { self.moveLayer(); }, floatedLayer.INTERVAL);
}


function menuOn(imgEl) {
	imgEl.src = imgEl.src.replace(".gif", "_on.gif");
}

function menuOut(imgEl) {
	imgEl.src = imgEl.src.replace("_on.gif", ".gif");
}

function writeWebzineLink() {
	var s = '';
	s += '<select class="prev-webzine" onchange="viewPrevWebzine(this.options[selectedIndex].value);">';
	s += '<option value="0" selected="selected">지난호보기</option>';
	s += '<option value="25">THE VALUE 2010년 3-4월호 </option>';
	s += '<option value="24">THE VALUE 2010년 1-2월호 </option>';
	s += '<option value="23">THE VALUE 2009년 11-12월호 </option>';
	s += '<option value="22">THE VALUE 2009년 9-10월호 </option>';
	s += '<option value="21">THE VALUE 2009년 6-7월호 </option>';
	s += '<option value="20">THE VALUE 2009년 4-5월호 </option>';
	s += '<option value="19">THE VALUE 2009년 2-3월호 </option>';
	s += '</select>';
	document.write(s);
}

function viewPrevWebzine(numVal) {
//	alert(numVal);
	switch (numVal) {
		case "19": window.location.href = "/kr/webzine_feb09/2009feb/pfs_main.htm"; return;
		case "20": window.location.href = "/kr/webzine_apr09/2009apr/pfs_main.htm"; return;
		case "21": window.location.href = "/kr/webzine_jun09/2009jun/pfs_main.htm"; return;
		case "22": window.location.href = "/kr/webzine_oct09/2009oct/pfs_main.htm"; return;
		case "23": window.location.href = "/kr/webzine_nov09/2009nov/pfs_main.htm"; return;
		case "24": window.location.href = "/kr/webzine_feb2010/2010feb/pfs_main.htm"; return;
		case "25": window.location.href = "/kr/webzine_mar2010/2010mar/pfs_main.htm"; return;
		default : return;
	}
}

window.onload  = function() {
	var ele1Top = 400;
	var ele2Top = 198;
	if (document.getElementById("divMenu")) {
		new floatedLayer("divMenu", ele1Top, 80);
	}
	if (document.getElementById("divStayTopLeft")) {
		new floatedLayer("divStayTopLeft", ele2Top, 80);
	}
}