﻿function Scroll(panel){
    this.ItemPanel=null;
    this.Interval=0;
    this.PreTop=0;
    this.Panel=null;
    this.ScrollHeight=0;
    this.paused=false;
    this.Init = function() {
        if (isIE && document.readyState != "complete") {
            window.attachEvent("onload", this.Init);
            return;
        }
        if (panel == null || panel == '' || panel == "undifend" || (typeof (panel) == "string" && $(panel) == null)) {
            alert("请指定Scroll的容器！");
            return;
        }
        if (typeof (panel) == "string")
            panel = $(panel);
        this.Panel = panel;
        this.Panel.instance = this;
        with (this.Panel) {
            onmouseover = function() {
                this.instance.paused = true;
            }
            onmouseout = function() {
                this.instance.paused = false;
            }
        }
        this.ScrollHeight = panel.offsetHeight;
        this.ItemPanel = document.createElement("div");
        document.body.appendChild(this.ItemPanel);
        with (this.ItemPanel.style) {
            position = "absolute";
            zIndex = 1;
            top = -100;
            left = -100;
            height = "auto";
            overflow = "auto";
            visibility = "hidden";
        }
        while (this.ItemPanel.offsetHeight < this.ScrollHeight) {
            this.ItemPanel.innerHTML += panel.innerHTML;
        }
        //alert(this.ItemPanel.offsetHeight);
        panel.innerHTML = this.ItemPanel.innerHTML + this.ItemPanel.innerHTML;
        this.Interval = setInterval(function() { Scroll.ScrollUp(this) }, 40);
    }
}
Scroll.ScrollUp=function(instance){
    if (instance.paused) return;
    this.instance=instance;
    this.instance.PreTop=this.instance.Panel.scrollTop;
    this.instance.Panel.scrollTop+=1;
    if(this.instance.PreTop==this.instance.Panel.scrollTop){
        this.instance.Panel.scrollTop=this.instance.ItemPanel.offsetHeight-this.instance.ScrollHeight;
        this.instance.Panel.scrollTop+=1;
    }
}
