﻿function newsTicker(delay, step, direction, feed) {
    this.newTicker = function(first, back) {
        try {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        }
        catch (e) {
            try {
                xmlDoc = document.implementation.createDocument("", "", null);
            }
            catch (e) {
                alert(e.message);
                return;
            }
        }
        xmlDoc.async = false;
        xmlDoc.load(feed);
        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;
        }
        if (first != true) 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.newTicker(true);
	this.newsTicker = new expandObject('timed', delay, step, direction);
	this.newsTicker.addObject('ticker');
	this.newsTicker.maxWidth = document.getElementById('ticker').offsetWidth;
	var f = this;
	this.tickerTimer = setInterval(function() { f.newTicker(); }, 10000);
}
