﻿<!--
var MarqueeFullScreen = function(myName)
{
    var obj = new Object();
    obj.name            = myName;             // 对象的名
    obj.marquees        = new Array();        // 滚动对象
    obj.marqueeInterval = 1;                 // 滚动间隔像素
    
    obj.add_marquee = function(e, le, ms, dir, w, h)    // 把e放在le中按dir方向滚动，每ms微秒滚动一个像素。
    {
        //----------- 检查传入参数 ---------------------------
        if (!e || !le) {return;}
        if (dir)
        {
            dir = ((""+dir).toLowerCase()).substring(0,1);
            if ("lrtb".indexOf(dir)<0) {dir = "l";}
        }
        else {dir = "l";}
        //----------------------------------
        var m_obj = new Object();
        m_obj.marqueeMilliSecond = (ms?ms:50);              // 滚动时间间隔微秒数
        m_obj.marqueeDirection   = dir;                     // 滚动方向。L：向左；R：向右；T：向顶；B：向底。
        m_obj.marqueeObject      = null;                    // 滚动对象
        m_obj.marqueeElement     = null;                    // 滚动主体
        m_obj.marqueeWidth       = 0;                       // 滚动宽度
        m_obj.marqueeHeight      = 0;                       // 滚动高度
        m_obj.contentWidth       = 0;                       // 内容宽度
        m_obj.contentHeight      = 0;                       // 内容高度
        m_obj.marquee;                                      // 滚动处理程序
        m_obj.marqueeInterval    = this.marqueeInterval;    // 滚动间隔像素
        //------------ 计算滚动宽度和高度 ----------------------
        if (!w || !h)
        {
            w = le.offsetWidth;
            h = le.offsetHeight;
        }
        e.style.display = "block";
//        m_obj.contentWidth       = e.offsetWidth;
//        m_obj.contentHeight      = e.offsetHeight;
//        m_obj.marqueeWidth  = (w>0&&w<m_obj.contentWidth  ? w : m_obj.contentWidth);
//        m_obj.marqueeHeight = (h>0&&h<m_obj.contentHeight ? h : m_obj.contentHeight);
        //------------ 建立滚动主体 ----------------------
//alert("("+m_obj.contentWidth+","+m_obj.contentHeight+"), ("+m_obj.marqueeWidth+","+m_obj.marqueeHeight+")");
        m_obj.marqueeElement = document.createElement("div");
        m_obj.marqueeElement.style.overflow = "hidden";
//        m_obj.marqueeElement.style.width  = m_obj.marqueeWidth;
//        m_obj.marqueeElement.style.height = m_obj.marqueeHeight;
        var tbl = document.createElement("table");
        tbl.cellPadding = 0;
        tbl.cellSpacing = 0;
        tbl.border = 0;
        m_obj.marqueeElement.appendChild(tbl);
        if ("lr".indexOf(dir)>=0)    // 是左右滚动
        {
            tbl.insertRow(0);
            tbl.rows[0].insertCell();
            tbl.rows[0].insertCell();
            tbl.rows[0].cells[0].innerHTML = e.innerHTML;
            tbl.rows[0].cells[1].innerHTML = e.innerHTML;
            tbl.rows[0].cells[0].style.display = "block";
            tbl.rows[0].cells[1].style.display = "block";
        }
        else
        {
            tbl.insertRow(0);
            tbl.rows[0].insertCell();
            tbl.insertRow(1);
            tbl.rows[1].insertCell();
            tbl.rows[0].cells[0].innerHTML = e.innerHTML;
            tbl.rows[1].cells[0].innerHTML = e.innerHTML;
            tbl.rows[0].cells[0].style.display = "block";
            tbl.rows[1].cells[0].style.display = "block";
        }
        e.style.display = "none";
        le.innerHTML = "";
        le.appendChild(m_obj.marqueeElement);
        m_obj.contentWidth       = tbl.rows[0].cells[0].offsetWidth;
        m_obj.contentHeight      = tbl.rows[0].cells[0].offsetHeight;
        m_obj.marqueeWidth  = (w>0&&w<m_obj.contentWidth  ? w : m_obj.contentWidth);
        m_obj.marqueeHeight = (h>0&&h<m_obj.contentHeight ? h : m_obj.contentHeight);
        m_obj.marqueeElement.style.width  = m_obj.marqueeWidth;
        m_obj.marqueeElement.style.height = m_obj.marqueeHeight;
        //------------- 定义滚动处理 ----------------------------------
        if (dir=="l")
        {
            m_obj.marqueeElement.scrollLeft = 0;
            m_obj.marquee = function()
            {
                if(this.marqueeElement.scrollLeft+this.marqueeWidth+this.marqueeInterval<this.contentWidth*2)
                {
                    this.marqueeElement.scrollLeft += this.marqueeInterval;
                }
                else {this.marqueeElement.scrollLeft = this.contentWidth - this.marqueeWidth;}
            }
        }
        if (dir=="r")
        {
            m_obj.marqueeElement.scrollLeft = m_obj.contentWidth*2 - m_obj.marqueeWidth;
            m_obj.marquee = function()
            {
                if(this.marqueeElement.scrollLeft>=this.marqueeInterval)
                {
                    this.marqueeElement.scrollLeft -= this.marqueeInterval;
                }
                else {this.marqueeElement.scrollLeft += this.contentWidth - this.marqueeInterval;}
            }
        }
        if (dir=="t")
        {
            m_obj.marqueeElement.scrollTop = 0;
            m_obj.marquee = function()
            {
                if(this.marqueeElement.scrollTop+this.marqueeHeight+this.marqueeInterval<this.contentHeight*2)
                {
                    this.marqueeElement.scrollTop += this.marqueeInterval;
                }
                else {this.marqueeElement.scrollTop = this.contentHeight-this.marqueeHeight;}
            }
        }
        if (dir=="b")
        {
            m_obj.marqueeElement.scrollTop = m_obj.contentHeight*2 - m_obj.marqueeHeight;
            m_obj.marquee = function()
            {
                if(this.marqueeElement.scrollTop>=this.marqueeInterval)
                {
                    this.marqueeElement.scrollTop -= this.marqueeInterval;
                }
                else {this.marqueeElement.scrollTop += this.contentHeight - this.marqueeInterval;}
            }
        }
        //-----------------------------------------------
        m_obj.marqueeElement.onmouseover = new Function(this.name+".marqueeStop("+this.marquees.length+");");
        m_obj.marqueeElement.onmouseout  = new Function(this.name+".marqueeStart("+this.marquees.length+");");
        m_obj.marqueeObject = setInterval(this.name+".marquee("+this.marquees.length+")", m_obj.marqueeMilliSecond);
//alert(m_obj.marqueeElement.outerHTML);
        this.marquees[this.marquees.length] = m_obj;
    }
    obj.marqueeStart = function(n)    // 启动滚动
    {
        this.marquees[n].marqueeObject = setInterval(this.name+".marquee("+n+")", this.marquees[n].marqueeMilliSecond);
    }
    obj.marqueeStop = function(n)     // 停止滚动
    {
        if (this.marquees[n].marqueeObject) {clearInterval(this.marquees[n].marqueeObject);}
    }
    obj.marquee = function(n)        // 滚动
    {
        this.marquees[n].marquee();
    }
      
    eval(obj.name + " = obj");
    return obj;
}
//-->