////////////////////////////////////////////////
// by Kim Dong Man
/* 사용법 */
/*
<script type="text/javascript" src="kdm_slide.js"></script>

<div style="position:relative; height:16px;overflow-y:hidden">
<div id="v_slidup" style="position:absolute">
        <div style='height:16px;line-height:16px; overflow-y:hidden; cursor:pointer'>안녕하세요 반갑습니다.</div>
        <div style='height:16px;line-height:16px; overflow-y:hidden; cursor:pointer'>안녕하세요 반갑습니다.</div>
        <div style='height:16px;line-height:16px; overflow-y:hidden; cursor:pointer'>안녕하세요 반갑습니다.</div>
        <div style='height:16px;line-height:16px; overflow-y:hidden; cursor:pointer'>안녕하세요 반갑습니다.</div>
        <div style='height:16px;line-height:16px; overflow-y:hidden; cursor:pointer'>안녕하세요 반갑습니다.</div>
</div>
</div>

<script type="text/javascript">
var slide = new kdmSlide("slide");
window.onload = function() { slide.start("v_slidup", 5000, 10); }
</script>
*/
//
////////////////////////////////////////////////

function kdmSlide(classname)
{
this.kdm_slidup_list = [];
this.kdm_slidup_scroll_list = [];
this.kdm_slidup_delaytime = 5000;
this.kdm_slidup_ticktime = 10;

this.kdm_slidup_scroll_process = function()
{
	var b = false;
	var cnt = this.kdm_slidup_scroll_list.length;
	for(var i=0; i<cnt; i++) {
		var s = this.kdm_slidup_scroll_list[i];

		if(s.obj.offsetTop > s.y) {
			var k = s.obj.offsetTop - 1;
			s.obj.style.top = "" + k + "px";
			b = true;
		}
	}

	if(b == true) setTimeout(classname + ".kdm_slidup_scroll_process()", this.kdm_slidup_ticktime);
	else this.kdm_slidup_scroll_list.splice(0, this.kdm_slidup_scroll_list.length);
}

this.kdm_slidup_process = function()
{
	var tm = this.kdm_slidup_delaytime;
	var cnt = this.kdm_slidup_list.length;

	this.kdm_slidup_scroll_list.splice(0, this.kdm_slidup_scroll_list.length); // 삭제

	for(var i=0; i<cnt; i++) {
		var l = this.kdm_slidup_list.pop();
		var o = l[0];

		if(o.offsetTop == -(l[2]-1)*l[3]) {
			tm = l[3] * 50 + 100;
		}
		if(o.offsetTop <= -l[2]*l[3]) {
			o.style.top = "" + l[3] + "px";
			l[1] = l[3];
		}

		var t = o.offsetTop-l[3];
		this.kdm_slidup_scroll_list.push({ obj:o, y:t });
		this.kdm_slidup_list.push(l);
	}

	this.kdm_slidup_scroll_process();
	setTimeout(classname + ".kdm_slidup_process()", tm);
}

this.start = function(object_name, delaytime, ticktime)
{
/* 여러개 동시에 동작하도록 만든거 같은데 기억이 안남
        var o = document.getElementsByName("v_slidup");
        if(typeof o == "undefined") return ;

        for(var i=0; i<o.length; i++) {
		var h = o[i].parentNode.offsetHeight;
		var cnt = parseInt(o[i].offsetHeight / h);

		this.kdm_slidup_list.push([ o[i], 0, cnt, h ]);
        }
*/
        var o = document.getElementById(object_name);
        if(typeof o == "undefined") return ;

	var h = o.parentNode.offsetHeight;
	var cnt = parseInt(o.offsetHeight / h);
	this.kdm_slidup_list.push([ o, 0, cnt, h ]);

	this.kdm_slidup_delaytime = delaytime;
	this.kdm_slidup_ticktime = ticktime;
	setTimeout(classname + ".kdm_slidup_process()", this.kdm_slidup_delaytime);
}

}
