var rolling_banner = function(ta)
{
    this.ta = ta;
    this.gap_count=0;
    this.ta_id = 'roll_'+(this.ta.id||this.ta.name);
    this.gap = 10;					//¿òÁ÷ÀÌ´Â ÇÈ¼¿´ÜÀ§
    this.gap_time = 50;		        //¿òÁ÷ÀÌ´Â ´ÜÀ§½Ã°£
    this.gap_sleep = 4000;	        //È­¸éÀÌ ¸ØÃçÀÖÀ» ´ÜÀ§½Ã°£
    this.over_stop = true;          //¸¶¿ì½º¸¦ ¿Ã·ÈÀ» ¶§ ¸ØÃâ °ÍÀÎ°¡?
    this.timer = null;
    eval(this.ta_id+'=this');
    var temp = eval(this.ta_id);
    this.init_div();	
}

rolling_banner.prototype.start = function()
{
    this.ta.readonly = false;
    this.stop = false;	
    if(!this.timer)
        this.rolling();
}

rolling_banner.prototype.stop = function()
{
    this.stop = true;
}

rolling_banner.prototype.init_div = function()
{
    this.ta.style.position="relative";
    this.ta.style.overflow="hidden";
    this.ta.onmouseover=function(){ eval("this.readOnly=true;"); }
    this.ta.onmouseout=function(){ eval("this.readOnly=false;"); }

    var child = this.ta.childNodes;
    var ch = this.ta.firstChild;
    var ch2 = null;
    while(ch)
    {
        ch2 = ch.nextSibling;
        if(ch.nodeName.toLowerCase() !='div')
        {
            this.ta.removeChild(ch);
        } else {
            ch.style.position = "relative";
            ch.style.borderStyle='none';
            ch.style.top='0px';
        }
        ch=ch2;
	}
}

rolling_banner.prototype.strtonum = function(str)
{
    var num = parseInt(str);
    if(isNaN(num)) num = '0';
    return num
}

rolling_banner.prototype.strtopx = function(str)
{
    var num = this.strtonum(str);
    return num+'px';
}

rolling_banner.prototype.rolling = function()
{
    if(this.gap_count==0)
    {
        this.sleep();
        this.gap_count+=1;
        return;
    }
    if(!this.ta.readOnly && !this.stop)
    {
        this.rolling_top();
    }
    this.timer = null;
    var re = this.ta_id+'.rolling()';
    this.timer = setTimeout(re,this.gap_time);
}

rolling_banner.prototype.rolling_top = function()
{
    this.gap_count+=parseInt(this.gap);
    var ch1 = this.ta.firstChild;
    var child = this.ta.childNodes;
    var ta_ch = null;
    var	top_ori = this.strtonum(child[0].style.top);
    var top = this.strtopx(top_ori-parseInt(this.gap));			
    for(var i=0,m=child.length;i<m;i++)
    {
        child[i].style.top=top;
    }
    if(this.gap_count >= this.strtonum(ch1.style.height))
    {
        var temp =ch1.cloneNode(true);	
        this.ta.removeChild(ch1);
        this.ta.appendChild(temp);
        for(var i=0,m=child.length;i<m;i++){
            child[i].style.top='0px';
        }		
    this.gap_count = 0		
    }
}

rolling_banner.prototype.sleep = function()
{
    this.timer = null;
    var re = this.ta_id+'.rolling()';
    this.timer = setTimeout(re,this.gap_sleep);
}



