/* Get XML Node
   (Parameters) TagName:'XML Element' node:'Element row number' */

function getNode(TagName, node, VarName)
{
	
	var currentNode = (node == null) ? xmlDoc.getElementsByTagName(TagName) : 
					items[node].getElementsByTagName(TagName);
	if(currentNode.length > 0){
		if (VarName == null) return currentNode[0].firstChild.nodeValue;
		else return currentNode[0].getAttribute(VarName);
	}
}
/* Load XML Object
   (Parameters) rssFeed:'RSS File' Body:'Layer for RSS Body' Title:'Layer for RSS Title' */

function ReadRSS(rssFeed, Body) 
{
	rssBody = document.getElementById(Body);

	try
	{
		if (document.all)
		{
			var errorHappendHere = "Vérifiez les paramètres de sécurité de votre navigateur";
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		}
		else
		{
			var errorHappendHere = "Vérfiez les paramètres de sécurité de votre navigateur ou assurez vous que la base de données se trouve sur le serveur";
			xmlDoc = document.implementation.createDocument("","",null);
		}
	
		xmlDoc.async=false;
		xmlDoc.load(rssFeed);
	
		items=xmlDoc.getElementsByTagName('entry');
		SetRSSTemplates();
	}
	
	catch(e)
	{
		rssBody.innerHTML = 'Erreur : '+e.message+"<br/>Note : "+errorHappendHere;
	}
}

/* Set HTML Template
	Did it this way to make the look and feel of the feed easy customizable, dont like mixing
	layout with code. */

function SetRSSTemplates()
{

	if (rssBody)
	{
		var buffer = "";
		var entree = new Array();
		var output="";
		var k=0;
		var maintenant = new Date();
		for(var i=0;(i< items.length); i++) 
		{		
			//var output = (document.all) ? Replace(rssBody.innerHTML,"(::Link::)",getNode('id',i,null)) 
			//						   : Replace(rssBody.innerHTML,"%28::Link::%29",getNode('id',i,null));
			var date_diff = getNode('gd:when',i,'startTime');
			var datefull = new Date();
			datefull.setFullYear(date_diff.substring(0,4));
			datefull.setMonth(date_diff.substring(5,7)-1);
			datefull.setDate(date_diff.substring(8,10));
			datefull.setHours(date_diff.substring(11,13));
			datefull.setMinutes(date_diff.substring(14,16));
			var Titre_ep = getNode('title',i,null);
			var Saison = Titre_ep.substring(1,2);
			var Episode = Titre_ep.substring(3,5);
			var chaine = getNode('gd:where',i,'valueString');
			diffchaine = chaine;
			if (chaine == "RTL-TVI")		diffchaine = "diffrtl";
			if (chaine == "ABC") 			diffchaine = "diffabc";
			if (chaine == "TF1") 			diffchaine = "difftf1";
			if (chaine == "TSR1") 			diffchaine = "difftsr";
			if (chaine == "Radio-Canada") 	diffchaine = "diffcan";
			if (maintenant.getTime()<(datefull.getTime()+240000)) entree[k++]=[datefull,Titre_ep,diffchaine,Saison,Episode];
		}
		entree.sort(function(a,b) 
        {
            if (a[0] < b[0]) return -1;
			if (a[0] > b[0]) return 1;
			return 0;
		});
		

		for (var i=0;((i< 8)||(i>k)); i++)
		{
			if (entree[i][2]=="Actu")
			{
				buffer+='<li>'+entree[i][0].getDate()+'/'+(entree[i][0].getMonth()+1)+'/'+entree[i][0].getFullYear()+'<span>'+entree[i][1]+'</span></li>';
			}
			else
			{
				if (entree[i][1].substring(0,6)=="Saison")
				{
					buffer+='<li class="'+entree[i][2]+'">'+(entree[i][0].getMonth()+1)+'/'+entree[i][0].getFullYear()+'<span>'+entree[i][1]+'</span></li>';
				}
				else
				{
					if (entree[i][0].getMinutes()<10) minutes_corr="0"+entree[i][0].getMinutes();
					else minutes_corr=entree[i][0].getMinutes();
					buffer+='<li class="'+entree[i][2]+'">'+entree[i][0].getDate()+'/'+(entree[i][0].getMonth()+1)+'/'+entree[i][0].getFullYear()+' &agrave; '+entree[i][0].getHours()+'h'+minutes_corr+' <span><a href="episodes/saison'+entree[i][3]+'/'+entree[i][4]+'.html">'+entree[i][1]+'</a></span></li>';
				}
			}
		}
		rssBody.innerHTML = buffer;
	}
}
