function $(id) {
    return document.getElementById(id);
}
function announcement() {
    var ann = new Object();
    ann.anndelay = 3000;
    ann.annst = 0;
    ann.annstop = 0;
    ann.annrowcount = 0;
    ann.anncount = 0;
    ann.annlis = $('annbody').getElementsByTagName("li");
    ann.annrows = new Array();
    ann.announcementScroll = function() {
        if (this.annstop) {
            this.annst = setTimeout(function() {
                ann.announcementScroll();
            },
            this.anndelay);
            return;
        }
        if (!this.annst) {
            var lasttop = -1;
            for (i = 0; i < this.annlis.length; i++) {
                if (lasttop != this.annlis[i].offsetTop) {
                    if (lasttop == -1) lasttop = 0;
                    this.annrows[this.annrowcount] = this.annlis[i].offsetTop - lasttop;
                    this.annrowcount++;
                }
                lasttop = this.annlis[i].offsetTop;
            }
            if (this.annrows.length == 1) {
                $('ann').onmouseover = $('ann').onmouseout = null;
            } else {
                this.annrows[this.annrowcount] = this.annrows[1];
                $('annbodylis').innerHTML += $('annbodylis').innerHTML;
                this.annst = setTimeout(function() {
                    ann.announcementScroll();
                },
                this.anndelay);
                $('ann').onmouseover = function() {
                    ann.annstop = 1;
                };
                $('ann').onmouseout = function() {
                    ann.annstop = 0;
                };
            }
            this.annrowcount = 1;
            return;
        }
        if (this.annrowcount >= this.annrows.length) {
            $('annbody').scrollTop = 0;
            this.annrowcount = 1;
            this.annst = setTimeout(function() {
                ann.announcementScroll();
            },
            this.anndelay);
        } else {
            this.anncount = 0;
            this.announcementScrollnext(this.annrows[this.annrowcount]);
        }
    };
    ann.announcementScrollnext = function(time) {
        $('annbody').scrollTop++;
        this.anncount++;
        if (this.anncount != time) {
            this.annst = setTimeout(function() {
                ann.announcementScrollnext(time);
            },
            10);
        } else {
            this.annrowcount++;
            this.annst = setTimeout(function() {
                ann.announcementScroll();
            },
            this.anndelay);
        }
    };
    ann.announcementScroll();
}