News = new function()
{
    var _data = new Array(10);
    var _months = new Array('Jan.', 'F&#233;v.', 'Mars', 'Avr.', 'Mai', 'Juin', 'Juil.', 'Ao&#251;.', 'Sep.', 'Oct.', 'Nov.', 'D&#233;c.');
    var _currentNews;
    
    this.setData = function(range, news)
    {
        _data[range] = news;
    }
    
    this.loadNews = function()
    {
        _currentNews = News.randRange(0, _data.length);
        _currentNews = _data[_currentNews];
        
        if(_currentNews != null) {
            var dateParser = _currentNews.pubDate.$t.split(" ");
			var dateEmulator = new Date("01 " + dateParser[2] + " 1970");
            var date = dateParser[1] + " " + _months[dateEmulator.getMonth()] + " " + dateParser[3];
            var title = this.utf8_decode(_currentNews.title.$t).split(' ');
            var titleString = '';
            var len;
            
            if(title.length > 4) len = 4;
            else len = title.length;
            
            for(var i = 0; i < len; i++)
            {
                if(i == 3) titleString += title[i] + '...';
                else titleString += title[i] + ' ';
            }
            
            title = titleString;
            
            var pitch = _currentNews.description.$t.substring(0, 100) + '...';
            var link = _currentNews.link.$t;
            var date = '<span class="newsDate">'+date+'</span>';
            $(".newsViewer h3.newsTitle").html(date + ' ' + title);
            $(".newsViewer p.newsAbstract").html(pitch);
            var newsLink = '<a href="'+link+'" target="_blank" class="newsLink"">[plus]</a>';
            $(".newsViewer p.newsAbstract").append(newsLink);
        }
    }
    
    this.loadNewsAnimate = function(time)
    {
        $(".newsContent").animate({opacity:0}, time, function()
        {
            News.loadNews();
            $(".newsContent").animate({opacity:1}, time);
        });   
    }
    
    
    this.randRange = function(min, max)
    {
        return Math.floor(Math.random()*(max - min)+min);
    }
	
	this.utf8_decode = function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
}

function rssQuery(data)
{
    for(var i = 0; i < 10; i++) {
        News.setData(i, data[i])
    }
    News.loadNews();
}

$(document).ready(function()
{
	$.get(window.location.protocol + '//' + window.location.href.split("/")[2].split("?")[0] + '/xml2json/', 
		function(responseData) {
			var jsonNews = eval("(" + responseData + ")");
			rssQuery(jsonNews.rss.channel.item)
		}
	);
});

