
var Headline = Class.create();

Headline.prototype = {

element: '',
feed_url: '',
maxFeed: 3,
feedCounter: 0,
nodes: [],
siteTitle: '',
siteLink: '',

initialize: function(element, feed_url, maxFeed, callback){
    this.element = element;
    this.feed_url = feed_url;
    this.maxFeed = maxFeed;
    this.callback = callback;
    var get_feed = this.get_feed.bindAsEventListener(this);
    Event.observe(window, 'load', get_feed);
},

get_feed: function(){
    if ($(this.element) && this.feed_url.length) {
        loadCrossOver(this.callback, this.feed_url);
    }
},

showFeed: function(){
    $(this.element).innerHTML = '';
    if (!this.nodes[this.feedCounter] || this.feedCounter >= this.maxFeed) {
        this.feedCounter = 0;
    }
    var node = this.nodes[this.feedCounter];
    var title = node.getElementsByTagName('title')[0].childNodes[0].nodeValue;
    var link = node.getElementsByTagName('link')[0].childNodes[0].nodeValue;
    var a = document.createElement('A');
    var text = document.createTextNode(title);
    a.href = link;
    a.insertBefore(text, null);
    var siteText = document.createTextNode(this.siteTitle);
//    var site = document.createElement('A');
//    site.href = this.siteLink;
//    site.insertBefore(siteText, null);
    var block = document.createElement('DIV');
    block.insertBefore(a, null);
//    block.insertBefore(document.createTextNode(' - '), null);
//    block.insertBefore(site, null);
    $('headline').insertBefore(block, null);
    var fade = new Fade(block);
    fade.rate = 50;
    fade.fadein();
    this.feedCounter++;
    var fe = this.fadeEffect.bindAsEventListener(this);
    var timer = setTimeout(fe, 3000);
},

fadeEffect: function(){
    var fade = new Fade($('headline').getElementsByTagName('DIV')[0]);
    fade.rate = 50;
    fade.fadeout();
}

}

function HeadlineCallback(xml){
    var rootNode = parseFromString(xml);
    var chnl = rootNode.getElementsByTagName('channel')[0];
    hl.siteTitle = chnl.getElementsByTagName('title')[0].childNodes[0].nodeValue;
    var cn = chnl.childNodes;
    for (var i=0; i<cn.length; i++) {
        if (cn[i].tagName == 'link') {
            try {
                hl.siteLink = cn[i].firstChild.nodeValue;
                if (h1.siteLink) {
                    break;
                } else {
                    continue;
                }
            } catch(e) {
                continue;
            }
        }
    }
    hl.nodes = rootNode.getElementsByTagName('item');
    hl.showFeed();
    var sf = hl.showFeed.bindAsEventListener(hl);
    setInterval(sf, 4000);
}

var hl = new Headline('headline', 'http://www.sea-friend.com/wp-content/themes/IceWhite/gw.php', 10, 'HeadlineCallback');
