﻿//create by chenhao 2009-09-01  version 1.0.0.09090100

function newMyMarquee() {
    ///	<summary>
    ///	自动滚动的实例
    ///	</summary>
    ///<returns>返回新的实例</returns>
    return {
        marqueeDirection: "Left",    //或者 Top
        delay: 10, //延迟时间
        marqueeObject: null,
        marqueeItem: null,
        running: true,
        marqueeRender: function() {
            ///	<summary>
            ///	移动的方法
            ///	</summary>
        if (this.running) {
                if (this.marqueeDirection == "Top") {
                    if (this.getObjectByIndex(1).offsetHeight - this.marqueeObject.scrollTop <= 0) {
                        this.marqueeObject.scrollTop -= this.marqueeItem.offsetHeight
                    } else {
                        this.marqueeObject.scrollTop++;
                    }
                } else {
                    if (this.getObjectByIndex(1).offsetWidth - this.marqueeObject.scrollLeft <= 0) {
                        this.marqueeObject.scrollLeft -= this.marqueeItem.offsetWidth
                    } else {
                        this.marqueeObject.scrollLeft++;
                    }
                }
            }
            var _this = this;
            var temp = setTimeout(function() { _this.marqueeRender() }, this.delay);
            if (this.running) {
                this.marqueeObject.onmouseover = function() { clearTimeout(temp); }
                this.marqueeObject.onmouseout = function() { temp = setTimeout(function() { _this.marqueeRender() }, _this.delay); }
            }
        },
        getObjectByIndex: function(index) {
            return document.getElementById(this.marqueeItem.id.substring(0, this.marqueeItem.id.length - 1) + index);
        },
        init: function(objId, item0Id, imageCount) {
            ///	<summary>
            ///	初始化对象
            ///	</summary>
            ///<param name="obj">对象的id</param>
            ///<param name="item0Id">子控件第1个的id</param>
            ///<param name="imageCount">图片最多能显示几张</param>
            this.marqueeObject = document.getElementById(objId);
            this.marqueeObject.scrollLeft = 0;
            this.marqueeObject.scrollTop = 0;
            this.marqueeItem = document.getElementById(item0Id);
            var _this = this;
            this.getObjectByIndex(1).innerHTML = this.marqueeItem.innerHTML;
            for (i = 2; i < imageCount; i++) {
                var item = this.getObjectByIndex(i);
                item.innerHTML = this.marqueeItem.innerHTML;
            }
            this.marqueeRender();
        }
    }
}

