﻿/* Affiche un flux RSS "générique" dans un élément identifié de la page
NB : n'affiche que 4 éléments récupérés dans le flux RSS : 
titre, lien, description, date depublication
Les éléments sont affichés sous forme d'une liste
parametres :
resXML : contenu du flux RSS
id : id de l'élément ou inclure le résultat
*/
function genericRSSReadAndDisplay(resXML, id)
{
	// element ou mettre le contenu
	var node = document.getElementById(id);
	// vider l'element
	node.innerHTML= "";

	// je recherche tous les elements "item"
	var items = resXML.documentElement.getElementsByTagName("item");
	if (items.length==0)
	{
		// pas de resultat
		// j'affiche dans un div de classe "message"
		var newDiv = document.createElement("div");
		newDiv.setAttribute("class", "message");
		var div_text  = "Aucune information";
		div_text = document.createTextNode(div_text);
		newDiv.appendChild(div_text);
		node.appendChild(newDiv);
		return false;
	}
	// si j'ai des resultats

	// je cree la liste (ul) pour afficher les resultats
	var newUl = document.createElement("ul");
	node.appendChild(newUl);

	for (i=0; i<items.length; i++)
	{          
		var title="";
		var link="";
		var desc="";
		var date=""

		// je recupere les noeuds enfants de "item"
		var childs = items[i].childNodes;
		// je parcours le tableau            
		for (j=0; j<childs.length; j++)
		{
			// on cherche uniquement les noeuds de type "element"
			if (childs[j].nodeType != 1)
			{
				// ce n'est pas le cas
				continue;
			}
			//si c'est le cas
			try
			{
				// si le nom du noeud est "title"
				if (childs[j].nodeName=="title")
				{
					// on recupere son contenu
					// plus precisement le contenu de 
					// le nodeValue son premier "enfant"
					// qui est un noeud de type #text
					title = childs[j].firstChild.nodeValue;
					// ou 
					//title = childs[j].childNodes[0].nodeValue; 
				}
				// si le nom du noeud est "link"
				
				// si le nom du noeud est "description"
				if (childs[j].nodeName=="description")
				{
					// idem
					desc = childs[j].firstChild.nodeValue;
				}
				// si le nom du noeud est "pubDate"
				if (childs[j].nodeName=="date")
				{
					// idem
					date = childs[j].firstChild.nodeValue;
				}
				// si le nom du noeud est lienImage
				if (childs[j].nodeName=="lienImage")
				{
					// idem
					lienImage = childs[j].firstChild.nodeValue;
				}
				// si le nom du noeud est img
				if (childs[j].nodeName=="img")
				{
					// idem
					img = childs[j].firstChild.nodeValue;
				}
				// si le nom du noeud est lienTexte
				if (childs[j].nodeName=="lienTexte")
				{
					// idem
					lienTexte = childs[j].firstChild.nodeValue;
				}
				// si le nom du noeud est intituleLien
				if (childs[j].nodeName=="intituleLien")
				{
					// idem
					intituleLien = childs[j].firstChild.nodeValue;
				}
			}
			catch (ex) 
			{ 
				// todo
			} // fin try catch

		} // fin for (j=0; j<childs.length; j++)

		var newLi = document.createElement("li");
		newUl.appendChild(newLi);
		newUl.setAttribute("id","newsul");
		newLi.setAttribute("id","newsli");
		var newDiv = document.createElement("div");
		var div_text_1  = title;
		var div_text_2  = date;
		var div_text_3 = desc;
		var div_text_4 = lienImage;
		var div_text_5 = img;
		var div_text_6 = lienTexte;
		var div_text_7 = intituleLien;
		
		//création div
		var titre = document.createElement("div");
		var date = document.createElement("div");
		var bandeau = document.createElement("div");
		var description = document.createElement("div");
		var lien = document.createElement("div");
		var img = document.createElement("div");
		var lienTexte = document.createElement("div");
		
		
		div_text_node1 = document.createTextNode(div_text_1);
		div_text_node2 = document.createTextNode(div_text_2);
		div_text_node3 = document.createTextNode(div_text_3);
				
		
		//creation image
		var oImg = document.createElement('img');
		oImg.src = div_text_5;
   		img.appendChild(oImg);
		
		//création lienImage
		var oA = document.createElement('a');
   		oA.setAttribute('href', div_text_4 );
		oA.setAttribute('class', 'thickbox');
		oA.setAttribute('className','thickbox');
   		oA.appendChild(oImg);
		
		
		//création lienTexte
		var oLienTexte = document.createElement('a');
   		oLienTexte.setAttribute('href', div_text_6 );
		var oTxtA = document.createTextNode(div_text_7);
   		oLienTexte.appendChild(oTxtA);
		
		
				
		titre.appendChild(div_text_node1);
		date.appendChild(div_text_node2);
		description.appendChild(div_text_node3);
		lien.appendChild(oA);
		lienTexte.appendChild(oLienTexte);
		
				
		titre.setAttribute("id","newstitre");
		date.setAttribute("id","newsdate");
		bandeau.setAttribute("id","newsbandeau");
		description.setAttribute("id","newsdescription");
				
		bandeau.appendChild(titre);
		bandeau.appendChild(date);		
		newDiv.appendChild(bandeau);
		newDiv.appendChild(description);
		newDiv.appendChild(lienTexte);
		newDiv.appendChild(lien);
		
		
		newLi.appendChild(newDiv);

	} // fin for (i=0; i<items.length; i++)
	return true;
}


