// Note: This uses the jfeed jquery plugin
var NewsBanner = function(){
var base;
var news;
var intervalID;
var rotateDuration = 5000; // 5 seconds
var fadeDuration = 400;
var newsFeed;
var self = {
init: function(selector){
base = $(selector);
jQuery.getFeed({ url: '/blog/feed/',
success: function(feed) {
NewsBanner.newsFeed = feed;
for( var i = 0; i < 3 ; i++ ) {
var newsItem;
var updateDate = new Date( NewsBanner.newsFeed.items[i].updated );
if( i == 0 ) {
newsItem = "
";
} else {
newsItem = "";
}
newsItem += '' + '' + updateDate.toDateString().substr(4) + ': ' ;
if( NewsBanner.newsFeed.items[i].title.length > 110 ) {
newsItem += NewsBanner.newsFeed.items[i].title.substr(0,110) + '......';
} else {
newsItem += NewsBanner.newsFeed.items[i].title + '';
}
base.append( newsItem );
}
news = base.find('li');
if(news.length < 2) return true;
var current = base.find('.current');
if(!current) first = base.find('li:first').addClass('current');
if(current.next().length > 0){
current.next().addClass('next');
}else{
base.find('li:first').addClass('next');
}
intervalID = setInterval(self.rotate,rotateDuration);
}
});
},
rotate: function(){
// alert( NewsBanner.newsFeed.title );
var current = base.find('.current');
var next = base.find('.next');
current.fadeOut(fadeDuration,function(){
$(this)
.removeClass('current')
.show();
if(next.next().length > 0){
next.next().addClass('next');
}else{
base.find('li:first').addClass('next');
}
next
.removeClass('next')
.addClass('current');
});
}
};
return self;
}();