/*
 * rssFeed - Your rss feed on your website
 *
 * http://noprobweb.com/rss_feed_flux_jquery.php
 *
 * Version : Beta 1.1
 *
 * Copyright (c) 2011 NoProbWeb (http://www.noprobweb.com)
 *
 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * 
 * Built on top of the jQuery library
 * http://jquery.com
 * 
 */
jQuery.rssFeed = function (urlFeed, options){
	rssFeedOpt = jQuery.extend ({
		crossFile: "/gadgets/rssFeed/rssfeed.php",
		errorMessage: "no Rss Feed, Flux rss manquant",
		errorMode: "off",
		nextInterval: 4000,
		lang: "en"
	},options);
	if (rssFeedOpt.lang == "fr"){
	var linkName = 'Lire la Suite';
	var localMode = 'mode local (sans http)';
	var distantMode = 'mode inter domaine';
	}
	else
	{
	var linkName = 'Read More';
	var localMode = 'localhost mode';
	var distantMode = 'Cross-domain mode';
	}
	$("#rssFeed").replaceWith('<div id="titre"></div><div id="feed"><div id="loading" align="center"><img src="/images/loading.gif" alt="loading" /> Loading Data..</div>');
		if(!urlFeed&&urlFeed.length==0)
		{
			$("#loading").show();  
			$("#feed").append(rssFeedOpt.errorMessage);
			return false;
		}
		else
		{
			if(urlFeed.substr(0,7)=='http://' && rssFeedOpt.crossFile!='')
			{
				if (rssFeedOpt.errorMode == 'on')
				{
					alert(mode);
				}
				urlFeed = rssFeedOpt.crossFile+'?feed='+urlFeed.substr(7);
			}
			else
			{
				if (urlFeed.substr(0,7)!='http://')
				{
					if (rssFeedOpt.errorMode == 'on')
					{
						alert(distantMode);
					}
				}
			}
		}
		$("#loading").show();  
		$.ajax({  
			type: "GET",  
			url: urlFeed,  
			dataType: "xml", 
			success: parseXml  
		}); 
		var i =0;
		var titre = new Array();
		var description = new Array();
		var link = new Array();	
		function parseXml(xml) {
			$(xml).find("channel").each(function() {
			
			if ($(this).children("image").children("url").text() !="")
			{
				if ($(this).children("link").text() != "")
				{
				textTitre = '<div id="imageflux"><a href="' + $(this).children("link").text() + '" target="_blank"><img src="' + $(this).children("image").children("url").text() +'" /></a></div><div id="fluxrss" align="center"><a href="' + $(this).children("link").text() + '" target="_blank">' + $(this).children("title").text() + '</a></div>';
				}
				else
				{
				textTitre = '<div id="imageflux"><img src="' + $(this).children("image").children("url").text() +'" /></div><div id="fluxrss" align="center">' + $(this).children("title").text() + '</div>';	
				}
			}
			else
			{
				if ($(this).children("link").text() != "")
				{
				textTitre = '<div id="fluxrss" align="center"><a href="' + $(this).children("link").text() + '" target="_blank">' + $(this).children("title").text() + '</a></div>';
				}
				else
				{
				textTitre = '<div id="fluxrss" align="center">' + $(this).children("title").text() + '</div>';
				}
			}	
			$("#titre").replaceWith(textTitre)});
			$(xml).find("item").each(function() { 
			$("#feed").addClass("border");
			$("#loading").show();
			titre[i] = $(this).find("title").text();
			description[i] = $(this).find("description").text();
			link[i] = $(this).find("link").text();
			i++;
			 });
			nb_feed = titre.length;
			j = 0;		
			animation = setInterval( showDiv, rssFeedOpt.nextInterval);
		function stop(){
				clearInterval(animation);
			}
		function restart(){
				animation = setInterval( showDiv, rssFeedOpt.nextInterval);
			}	
			function showDiv(){
			if(j <nb_feed -1)
			{
				$("#loading").hide(); 
			var des = description[j];
			if (des.indexOf("<img",0) != -1)
			{
				des = des.substring(0,des.indexOf("<img",0));
			}
			var feedDiv = '<div id="feed"><div id="title">'+ titre[j] + '</div><div id="content">' +  des + '</div><div id="link"><a href="' + link[j] + '" target="_blank">' + linkName+ '</a></div></div>';
			$('#feed').replaceWith(feedDiv);
			$("#feed").addClass("borderback");
			j++;
			$('#feed').hover(stop,restart);		
			}
			else
			{
				if (j == nb_feed -1)
				{
					j=0;
				}
			}
		}	
	}  	
}

