function newsTicker(delay, step, direction, feed) {
    this.newTicker = function(first, back) {
        try {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.load(feed);
        }
        catch (e) {
            try {
                var xmlhttp = new window.XMLHttpRequest();
                xmlhttp.open("GET",feed,false);
                xmlhttp.send(null);
                var xmlDoc = xmlhttp.responseXML.documentElement;
            }
            catch (e) {
                alert(e.message);
                return;
            }
        }
        var x = xmlDoc.getElementsByTagName("Article");
        if (this.totalNews == 0) this.totalNews = x.length;
        if (back == true) {
            this.currentNews--;
        }
        else {
            this.currentNews++;
        }
        if (this.currentNews == this.totalNews) this.currentNews = 0;
        if (this.currentNews < 0) this.currentNews = this.totalNews - 1;
        document.getElementById("tickerText").innerHTML = x[this.currentNews].getElementsByTagName("Text")[0].firstChild.nodeValue;
        if (document.getElementById("tickerDate") && x[this.currentNews].getElementsByTagName("Date"))
        {
            document.getElementById("tickerDate").innerHTML = x[this.currentNews].getElementsByTagName("Date")[0].firstChild.nodeValue;
        }
        this.newsTicker.activateTimed();
    }

    this.previous = function() {
        clearInterval(this.tickerTimer);
        var f = this;
        this.tickerTimer = setInterval(function() { f.newTicker(); }, 10000);
        this.newTicker(false, true);
    }

    this.next = function() {
        clearInterval(this.tickerTimer);
        var f = this;
        this.tickerTimer = setInterval(function() { f.newTicker(); }, 10000);
        this.newTicker();
    }
    
    this.totalNews = 0;
    this.currentNews = -1;
    this.newsTicker = new expandObject('timed', delay, step, direction);
    this.newsTicker.addObject('ticker');
    this.newsTicker.maxWidth = document.getElementById('ticker').offsetWidth;
    var f = this;
    this.newTicker();
    this.tickerTimer = setInterval(function() { f.newTicker(); }, 10000);
}