/****************************************
* PhoenixJP.News                        *
* ------------------------------------- *
*                                       *
* Merci de bien vouloir me contacter    *
* avant de prendre une partie du code   *
*                                       *
* A+ ^^                                 *
*                                       *
*****************************************/

//Détermine si le fichier a été chargé ou non
var inLoading    = false;
var max_time_out = 1400;
var min_time_out = 100;
var wait_loading = 512; //Comme la mémoire!

//Pour FireFox 1.x
var tmpFireFoxNumber;
var tmpFireFoxURL;
var tmpFireFoxidNews;
var tmpFireFoxnameSite;
var tmpFireFoximgSite;
var tmpFireFoxurlSite;

//Efface et remplace les news
function EraseAndGetNews(URL,numPage) {
	document.getElementById(htmlLoadingNews).style.visibility = "visible";
	document.getElementById(htmlNumberOfNews).innerHTML       = "-";
	document.getElementById(htmlTotalOfNews).innerHTML        = "-";
	document.getElementById(htmlLeftNewsName).innerHTML       = "";
	document.getElementById(htmlRightNewsName).innerHTML      = "";
	document.getElementById(htmlLeftTitleName).innerHTML      = "";
	document.getElementById(htmlRightTitleName).innerHTML     = "";
	document.getElementById(htmlLeftNewsName).height          = 0;
	document.getElementById(htmlRightNewsName).height         = 0;
	resizePresentationWithFireFox();
	GetNews(URL,numPage);
}

//Fonction principale
function GetNews(URL,numPage) {	
	//Paramètre pour l'affichage des sites
	myNumPage = numPage;
	myWithImg = withImg;
	myInLive  = inLive;
	myWithFor = withFor;
	
	//Sélection des méthodes à appliquer suivant le navigateur
	if(document.implementation && document.implementation.createDocument && (navigator.userAgent.toUpperCase().indexOf("FIREFOX")>-1 || (navigator.userAgent.toUpperCase().indexOf("MOZILLA/5")>-1 && navigator.userAgent.toUpperCase().indexOf("SAFARI")<0) )) {
		// MOZILLA
		document.getElementById(htmlLoadingNews).style.visibility = "Visible";
		GetXMLSitesWithFireFox(URL);
		
	} else if(window.ActiveXObject && navigator.userAgent.toUpperCase().indexOf("OPERA")==-1) {
		// INTERNET EXPLORER
		document.getElementById(htmlLoadingNews).style.visibility = "Visible";
		GetXMLSitesWithIE(URL);
	} else {
		// AUTRES NAVIGATEUR
		new_location = myPageIndexAutre;
		if(this.location.href.indexOf(myPageIndexNormal)>=0) {
			new_location = this.location.href.replace(myPageIndexNormal,myPageIndexAutre);
		}
		if(this.location.href.indexOf(myPageLiveNormal)>=0) {
			new_location = this.location.href.replace(myPageLiveNormal,myPageLiveAutre);
		}
		
		this.location.href = new_location;
	}
}

//Recharge tous les sites
function GetAllRSSsites() {
	
	//Sélection des méthodes à appliquer suivant le navigateur
	if(document.implementation && document.implementation.createDocument && (navigator.userAgent.toUpperCase().indexOf("FIREFOX")>-1 || (navigator.userAgent.toUpperCase().indexOf("MOZILLA/5")>-1 && navigator.userAgent.toUpperCase().indexOf("SAFARI")<0) )) {
		// MOZILLA
		GetAllRSSsitesWithFireFox();
	} else if(window.ActiveXObject && navigator.userAgent.toUpperCase().indexOf("OPERA")==-1) {
		// INTERNET EXPLORER
	} else {
		// AUTRES NAVIGATEUR
	}
}



//**********************************************
//****** UTILISATION DE INTERNET EXPLORER ******
//**********************************************

//Récupère les url des sites de news
function GetXMLSitesWithIE(URL) {
	//Chargement du XML contenant la liste des sites à afficher
	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	    xmlDoc.async = false;
	    xmlDoc.load(URL);
	var itemNodes = xmlDoc.selectNodes(tagXmlIENoeud);
	
	//Compte le nombre de site à afficher
	myNumberOfNews = 0;
	for(iNews=0;iNews<itemNodes.length;iNews++){
		if(itemNodes.item(iNews).getElementsByTagName(tagXmlPageNum).item(0).text==myNumPage || myNumPage==myAllSites) {
			myNumberOfNews++;
		}
	}
	
	//Affichage du nombre de sites totaux
	document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
	document.getElementById(htmlTotalOfNews).innerHTML  = myNumberOfNews;
	
	//Variables contenant les informations des sites
	myRssDoc = new Array(myNumberOfNews);
	myRssUrl = new Array(myNumberOfNews);
	myRssNam = new Array(myNumberOfNews);
	myRssImg = new Array(myNumberOfNews);
	myRssFor = new Array(myNumberOfNews);
	var categNumTmp = "";
	var colonneNews = "";
		
	//Affichage des sites
	for(iNews=0,iSites=0;iNews<itemNodes.length;iNews++){
		//Variables du fichier xml
		var nameSite   = itemNodes.item(iNews).getElementsByTagName(tagXmlName).item(0).text.replace("'"," ");
		var rssLocal   = itemNodes.item(iNews).getElementsByTagName(tagXmlRss).item(0).text;
		var rssSite    = itemNodes.item(iNews).getElementsByTagName(tagXmlRssSite).item(0).text;
		var urlSite    = itemNodes.item(iNews).getElementsByTagName(tagXmlUrl).item(0).text;
		var urlForum   = itemNodes.item(iNews).getElementsByTagName(tagXmlForum).item(0).text;
		var imgSite    = itemNodes.item(iNews).getElementsByTagName(tagXmlImage).item(0).text;
		var pageNum    = itemNodes.item(iNews).getElementsByTagName(tagXmlPageNum).item(0).text;
		var categNum   = itemNodes.item(iNews).getElementsByTagName(tagXmlCategNum).item(0).text;
		var categName  = itemNodes.item(iNews).getElementsByTagName(tagXmlCategName).item(0).text;
		var descSite   = itemNodes.item(iNews).getElementsByTagName(tagXmlDescSite).item(0).text;
				
		//Recherche si c'est la page à afficher
		if(pageNum==myNumPage || myNumPage==myAllSites) {
			//Affichage image ou non
			if(myWithImg==1 && imgSite!="aucun") {
				feedImg = "<img alt=\""+nameSite+"\" class=\"news\" src=\""+mySiteImg+"logos/"+imgSite+"\" /><br /><br />";
			} else {
				feedImg = nameSite;
			}
			//Sélection cache ou non
			if(myInLive==1) {
				feedRSS = rssSite;
			} else {
				feedRSS = rssLocal;
			}
			//Sélection de la catégorie
			if(categNum!=categNumTmp) {
				categNumTmp = categNum;
				if(colonneNews!=htmlLeftNewsName) {
					colonneNews  = htmlLeftNewsName;
					colonneTitle = htmlLeftTitleName;
				} else {
					colonneNews  = htmlRightNewsName;
					colonneTitle = htmlRightTitleName;				
				}
			}
			//Nom de la catégorie
			if(myNumPage==myAllSites) {
				categName = myCategName;
			}
			
			//Construction message d'attente
			var feedBody  = "<div id=\"news"+iSites+"\" class=\"bordernews\">";
			    feedBody += "<div class=\"loadnews\">";
			    feedBody += "<a class=\"options\" href=\""+urlSite+"\" target=\"_blank\">";
			    feedBody += feedImg;
			    feedBody += "</a>";
			    feedBody += "<div class=\"reloadnews\">";
			    feedBody += "News de <b>\""+nameSite+"\"</b> <span id=\"message"+iSites+"\">en cours de chargement ...</span><br />";
				feedBody += "<a onclick=\"javascript:GetRSSSiteWithIE('"+feedRSS+"',"+iSites+",'"+nameSite+"','"+imgSite+"','"+urlSite+"');\">Cliquez ici pour charger le site</a>";
			    feedBody += "</div>";
			    feedBody += "</div>";
						
			//Affichage de la préparation du site
			document.getElementById(colonneNews).innerHTML += feedBody;
			document.getElementById(colonneTitle).innerHTML = categName;
			
	    	//Sauvegarde des paramètres
	    	myRssUrl[iSites] = feedRSS;
	    	myRssNam[iSites] = nameSite;
	    	myRssImg[iSites] = imgSite;
	    	myRssFor[iSites] = urlForum;
	    	
	    	//Charge le site
			myRssDoc[iSites] = new ActiveXObject("Microsoft.XMLDOM");
			myRssDoc[iSites].async = true;
			myRssDoc[iSites].onreadystatechange = GetRSSNewsWithIE;
	    	myRssDoc[iSites].load(myRssReader+feedRSS);
	    	
	    	iSites++;
	    }
	}
}

//RéAffiche le flux RSS
function GetRSSSiteWithIE(URL,idNews,nameSite,imgSite,urlSite) {
	//Affichage image ou non
	if(myWithImg==1 && imgSite!="aucun") {
    	feedImg = "<img alt=\""+nameSite+"\" class=\"news\" src=\""+mySiteImg+"logos/"+imgSite+"\" /><br /><br />";
    } else {
    	feedImg = nameSite;
    }
    
	//Construction message d'attente
    var feedBody  = "<div class=\"loadnews\">";
        feedBody += "<a class=\"menulink\" title=\""+nameSite+"\" href=\""+urlSite+"\" target=\"_blank\">"
		feedBody += feedImg;
		feedBody += "</a>";
    	feedBody += "</div>";
    	feedBody += "<div class=\"reloadnews\">";
    	feedBody += "News de <b>\""+nameSite+"\"</b> <span id=\"message"+idNews+"\">en cours de chargement ...</span><br />";
    	feedBody += "<a onclick=\"javascript:GetRSSSiteWithIE('"+URL+"',"+idNews+",'"+nameSite+"','"+imgSite+"','"+urlSite+"');\">Cliquez ici pour charger le site</a>";
    	feedBody += "</div>";
	document.getElementById(htmlNewsID+idNews).innerHTML = feedBody;
	
	//Augment le nombre des sites à charger
	myNumberOfNews++;
	document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
	
	//Recharge le site
	myRssDoc[idNews] = new ActiveXObject("Microsoft.XMLDOM");
	myRssDoc[idNews].async = true;
	myRssDoc[idNews].onreadystatechange = GetRSSNewsWithIE;
	myRssDoc[idNews].load(myRssReader+URL);
}

//Affiche le flux RSS
function GetRSSNewsWithIE() {
	var feedBody = "";
	
	//Lit tous les RSS en loading
	for(iActuNews=0;iActuNews<myRssDoc.length;iActuNews++) {
		var myNewRssDoc = myRssDoc[iActuNews];
		
		//Le site RSS n'est pas encore charger
		if (myNewRssDoc!=null) {
			//On attend que le site se charge
			if (myNewRssDoc.readyState==4) {
				//Le site est chargé
				myRssDoc[iActuNews] = null;
				
				//Variables à récupérer
				var headNode  = myNewRssDoc.getElementsByTagName(tagRSSChannel);
				var itemNodes = myNewRssDoc.getElementsByTagName(tagRSSItem);
				var siteURL   = headNode.item(0).getElementsByTagName(tagRSSLink).item(0).text;
				var siteTitle = headNode.item(0).getElementsByTagName(tagRSSTitle).item(0).text;
				var siteDescript = headNode.item(0).getElementsByTagName(tagRSSDescript).item(0).text;
				
				//Impossible de loader le flux
				if(headNode.length>0) {
					//Affichage image ou non
					if(myWithImg==1 && myRssImg[iActuNews]!="aucun") {
						feedImg = "<img alt=\""+siteTitle+"\" class=\"news\" src=\""+mySiteImg+"logos/"+myRssImg[iActuNews]+"\" />";
					} else {
						feedImg = siteTitle+"<br /><span class=\"newsUrlTitle\">"+siteURL+"</span>";
					}
					//Affichage lien forum ou non
					if(myWithFor==1) {
						if(myRssFor[iActuNews]==myAucunFor) {
							feedFor = "aucun&nbsp;|&nbsp;";
						} else {
							feedFor = "<a class=\"options\" href=\""+myRssFor[iActuNews]+"\" target=\"_blank\">forum</a>&nbsp;|&nbsp;";
						}
					} else {
						feedFor = "";
					}
					//Date de la dernière mise à jour des news du site
					if(withUpd==1) {
						lastUpdate   = headNode.item(0).getElementsByTagName("lastUpdateNews").item(0).text;
						lastUpdate   = lastUpdate.substr(8,2)+"/"+lastUpdate.substr(5,2)+"/"+lastUpdate.substr(0,4)+" à "+lastUpdate.substr(11,8);
						feedLastUpdt = "<div class=\"last_update\">Mise à jour du site:<br />"+siteTitle+"<br />le "+lastUpdate+"</div>";
					} else {
						feedLastUpdt = ""
					}
					
					//Entete du site
					feedBody += "<div class=\"news\">";
					feedBody += "<div class=\"newsGlobalTitle\">";
					feedBody += "<div class=\"newsTitle\">";
					feedBody += "<a class=\"menulink\" title=\""+siteTitle+"\" href=\""+siteURL+"\" target=\"_blank\">";
					feedBody += feedImg;
					feedBody += "</a>";
					feedBody += "</div>";
					feedBody += feedLastUpdt;
					feedBody += "</div>";
					feedBody += "<div class=\"desc_site\">"+siteDescript+"</div>";
					feedBody += "<div class=\"newsTitleBorderMenu\">";
					feedBody += "<div class=\"newsTitleMenu\">";
					feedBody += feedFor;
					//feedBody += "<a class=\"options\" href=\"vote.php?refSite="+"\">votez</a>&nbsp;|&nbsp;";
					feedBody += "<a class=\"options\" href=\""+myForComm+"\" target=\"_blank\">réagir à une news</a>";
					feedBody += "</div>";
					feedBody += "</div>";
					
					//Corp du site: les news
					feedBody += "<div class=\"newsUrl\">";	
					
					for(j=0;j<itemNodes.length && j<myMaxNews;j++) {
						//Récupération des données
						newsLink     = itemNodes.item(j).getElementsByTagName(tagRSSLink).item(0).text;
						newsTitle    = itemNodes.item(j).getElementsByTagName(tagRSSTitle).item(0).text;
						newsDate     = "";
						newsDateDisp = "";
						
						//Vérifie qu'une date existe dans le fichier
						try {
							newsDate  = itemNodes.item(j).getElementsByTagName(tagRSSIEDate).item(0).text;
							newsTime  = newsDate.substr(11,8);
							newsDate  = newsDate.substr(8,2)+"/"+newsDate.substr(5,2);
							newsDateDisp = "<i>"+newsDate+"</i>";
							
							//Si la news appartient à aujourd'hui
							if(newsDate==getCurrDateNewsFormat()) {
								newsDateDisp = "<b>"+newsDate+"</b>";
							}
							//Si la news appartient à avant hier
							if(newsDate==getDateNewsFormat(-1)) {
								newsDateDisp = newsDate;
							}
						} catch(eee) { }
						
						//Préparation pour l'affichage
						if(newsLink=="." && newsTitle=="Pas de news publié à cette date") {
							feedBody += newsDateDisp+" - <font color=\"red\"><i>";
							feedBody += newsTitle;
							feedBody += "</i></font><br/>";
						} else {
							feedBody += "<a href=\"" + newsLink + "\" title=\"Sauvegardé à "+newsTime+"\" target=\"_blank\">"+newsDateDisp+" - ";
							feedBody += newsTitle;
							feedBody += "</a><br/>";
						}
					}
					feedBody += "</div>";
					feedBody += "</div>";
				    
					//Bas du site
				    	feedBody += "<div class=\"reloadnews\">";
				    	feedBody += "<FORM id=\"cse-search-box\" class=\"googleit\" method=\"GET\" action=\"http://www.google.fr/custom\" target=\"_blank\">";
				    	
					//feedBody += "<select name=\"filtreDate"+iActuNews+"\" class=\"options\" onchange=\"javascript:GetRSSSiteWithIE(filtreDate"+iActuNews+".options[selectedIndex].value,"+iActuNews+",'"+myRssNam[iActuNews]+"','"+myRssImg[iActuNews]+"','"+siteURL+"');\" style=\"font-family: arial;font-size: 8pt\">";
					//feedBody += "<option value=\".\">-- Filtre date --</option>";
					//feedBody += "<option value=\""+myRssUrl[iActuNews]+"\">Aucun</option>";
					//feedBody += "<option value=\""+myRssUrl[iActuNews].replace('.','_0.')+"\">Aujourd'hui</option>";
					//feedBody += "<option value=\""+myRssUrl[iActuNews].replace('.','_1.')+"\">Hier</option>";
					//feedBody += "<option value=\""+myRssUrl[iActuNews].replace('.','_2.')+"\">Avant hier</option>";
					//feedBody += "</select>";
					//feedBody += "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;";
					
					feedBody += "<INPUT class=\"cinput\" TYPE=\"text\" name=\"q\" size=\"15\" maxlength=\"255\" value=\"\" />&nbsp;&nbsp;";
					feedBody += "<INPUT class=\"cbutton\" type=\"submit\" name=\"sa\" VALUE=\"Google !\" style=\"font-family: arial;font-size: 8pt\">";
					feedBody += "<INPUT type=\"hidden\" name=\"cof\" VALUE=\"LW:400;L:http://www.phoenixjp.net/news/include/img/pjp_recherche_logo_trans.gif;LH:60;AH:left;GL:0;S:http://www.phoenixjp.net/;AWFID:212104415c556751;\">";
					feedBody += "<INPUT type=\"hidden\" name=\"sitesearch\" value=\""+siteURL.substring(0,siteURL.length-1)+"\">";
					
					feedBody += "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;";
				    	feedBody += "<INPUT class=\"cbutton\" type=\"button\" value=\"Rafraichir\" onclick=\"javascript:GetRSSSiteWithIE('"+myRssUrl[iActuNews]+"',"+iActuNews+",'"+myRssNam[iActuNews]+"','"+myRssImg[iActuNews]+"','"+siteURL+"');\" style=\"font-family: arial;font-size: 8pt\" />";
									    	
					feedBody += "</FORM>";					
					feedBody += "</div>";
					
					document.getElementById(htmlNewsID+iActuNews).innerHTML = feedBody;
				} else {
				    feedBody += myImposLoad;
				    
				    document.getElementById(htmlMessageID+iActuNews).innerHTML = feedBody;
				}
				
				//Evite les nombres négatifs
				if(myNumberOfNews>0) {
					myNumberOfNews--;
					document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
				}
				if(myNumberOfNews==0) {				
					//Efface le message de chargement
					document.getElementById(htmlLoadingNews).style.visibility = "hidden";
				}
			}
		}
	}
}



//************************************
//****** UTILISATION DE FIREFOX ******
//************************************

function GetXMLSitesWithFireFox(URL) {
	//Chargement du XML contenant la liste des sites à afficher
	xmlDoc = document.implementation.createDocument("", "", null);
	xmlDoc.onload = createTableWithFireFox;	
	xmlDoc.load(URL);
}

//Récupère les url des sites de news et créé les cadres
function createTableWithFireFox() {	
	var iXmlMax = xmlDoc.getElementsByTagName(tagXmlFFNoeud).length;	
	
	//Compte le nombre de site à afficher
	myNumberOfNews = 0;
	for(iNews=0;iNews<iXmlMax;iNews++){
		if(xmlDoc.getElementsByTagName(tagXmlPageNum)[iNews].firstChild.nodeValue==myNumPage || myNumPage==myAllSites) {
			myNumberOfNews++;
		}
	}
	
	//Affichage nombre de news
	document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
	document.getElementById(htmlTotalOfNews).innerHTML = myNumberOfNews;
	
	//Corps de la news
	myRssDoc = new Array(myNumberOfNews);
	myRssUrl = new Array(myNumberOfNews);
	myRssRss = new Array(myNumberOfNews);
	myRssNam = new Array(myNumberOfNews);
	myRssImg = new Array(myNumberOfNews);
	myRssFor = new Array(myNumberOfNews);
	
	//Initialise les variables de sauvegarde
	initVarRSS(myNumberOfNews);
	
	var categNumTmp = "";
	var colonneNews = "";
	
	// Préparation des cadres
	for(iNews=0,iSites=0;iNews<iXmlMax;iNews++) {
		//Variables du fichier xml
		var nameSite   = xmlDoc.getElementsByTagName(tagXmlName)[iNews].firstChild.nodeValue.replace("'"," ");
		var rssLocal   = xmlDoc.getElementsByTagName(tagXmlRss)[iNews].firstChild.nodeValue;
		var rssSite    = xmlDoc.getElementsByTagName(tagXmlRssSite)[iNews].firstChild.nodeValue;
		var urlSite    = xmlDoc.getElementsByTagName(tagXmlUrl)[iNews].firstChild.nodeValue;
		var urlForum   = xmlDoc.getElementsByTagName(tagXmlForum)[iNews].firstChild.nodeValue;
		var imgSite    = xmlDoc.getElementsByTagName(tagXmlImage)[iNews].firstChild.nodeValue;
		var pageNum    = xmlDoc.getElementsByTagName(tagXmlPageNum)[iNews].firstChild.nodeValue;
		var categNum   = xmlDoc.getElementsByTagName(tagXmlCategNum)[iNews].firstChild.nodeValue;
		var categName  = xmlDoc.getElementsByTagName(tagXmlCategName)[iNews].firstChild.nodeValue;
		var descSite   = xmlDoc.getElementsByTagName(tagXmlDescSite)[iNews].firstChild.nodeValue;
		
		//Recherche si c'est la page à afficher
		if(pageNum==myNumPage || myNumPage==myAllSites) {
			
			//Affiche l'image ou non
			if(myWithImg==1 && imgSite!="aucun") {
		    	feedImg = "<img alt=\""+nameSite+"\" class=\"news\" src=\""+mySiteImg+"logos/"+imgSite+"\" /><br /><br />";
		    } else {
		    	feedImg = nameSite;
		    }
			//Sélection cache ou non
			if(myInLive==1) {
				feedRSS = rssSite;
			} else {
				feedRSS = rssLocal;
			}
		    //Sélection de la catégorie
			if(categNum!=categNumTmp) {			
				categNumTmp = categNum;
				if(colonneNews!=htmlLeftNewsName) {
					colonneNews  = htmlLeftNewsName;
					colonneTitle = htmlLeftTitleName;
				} else {
					colonneNews  = htmlRightNewsName;
					colonneTitle = htmlRightTitleName;
				}
			}
			//Nom de la catégorie
			if(myNumPage==myAllSites) {
				categName = myCategName;
			}
			
			//Construction message d'attente
			var feedBody  = "<div id=\"news"+iSites+"\" class=\"bordernews\">";
			    feedBody += "<div class=\"loadnews\">";
			    feedBody += "<a class=\"options\" href=\""+urlSite+"\" target=\"_blank\">";
			    feedBody += feedImg;
			    feedBody += "</a>";
			    feedBody += "</div>";
			    feedBody += "<div class=\"reloadnews\">";
			    feedBody += "News de <b>\""+nameSite+"\"</b> <span id=\"message"+iSites+"\">en cours de chargement ...</span><br />";
			    feedBody += "<a href=\"javascript:GetRSSsitesWithFireFox('"+feedRSS+"',"+iSites+",'"+nameSite+"','"+imgSite+"','"+urlSite+"');\">Cliquez ici pour charger le site</a>";
			    feedBody += "</div>";
			    feedBody += "</div>";
			
			//Affichage de la préparation du site
			document.getElementById(colonneNews).innerHTML += feedBody;
			document.getElementById(colonneTitle).innerHTML = categName;
			resizePresentationWithFireFox();
								
			//Sauvegarde des données dans les variables de sauvegarde
			tmpFireFoxURL[iSites]      = feedRSS;
			tmpFireFoxidNews[iSites]   = iSites;
			tmpFireFoxnameSite[iSites] = nameSite;
			tmpFireFoximgSite[iSites]  = imgSite;
			tmpFireFoxurlSite[iSites]  = urlSite;
			
			//Sauvegarde des paramètres
	    	myRssUrl[iSites] = urlSite;
	    	myRssRss[iSites] = feedRSS;
	    	myRssNam[iSites] = nameSite;
	    	myRssImg[iSites] = imgSite;
	    	myRssFor[iSites] = urlForum;
	    	
	    	iSites++;
		}
	}
	
	//Chargement des news dans les cadres
	var tmpCategNum = -1;
	var incrementTimeOut = 0;
	var iLoadNews = 0;
	for(iNews=0;iNews<iXmlMax;iNews++) {
		//Variables du fichier xml
		var rssLocal  = xmlDoc.getElementsByTagName(tagXmlRss)[iNews].firstChild.nodeValue;
		var rssSite   = xmlDoc.getElementsByTagName(tagXmlRssSite)[iNews].firstChild.nodeValue;
		var pageNum   = xmlDoc.getElementsByTagName(tagXmlPageNum)[iNews].firstChild.nodeValue;
		var CategNum  = xmlDoc.getElementsByTagName(tagXmlCategNum)[iNews].firstChild.nodeValue;
		
		//Recherche si c'est la page à afficher
		if(pageNum==myNumPage || myNumPage==myAllSites) {
			//Sélection cache ou non
			if(myInLive==1) {
				feedRSS = rssSite;
			} else {
				feedRSS = rssLocal;
			}
			//Pour charger les catégorie gauche et droite puis gauche et droite, etc.
			if(CategNum!=tmpCategNum) {
				iLoadNews = 0;
				incrementTimeOut++;				
				tmpCategNum = CategNum;
			}
			
			//Charge la news du site
			GetNewsWithFireFox(myRssReader+feedRSS, min_time_out*(iLoadNews+incrementTimeOut/wait_loading));
			
			iLoadNews++;
		}
	}
}

//Charge la news du site en paramètre
function GetNewsWithFireFox(urlNewsSites, time_out) {
	if(inLoading==true) {
		setTimeout("GetNewsWithFireFox('"+urlNewsSites+"',"+time_out+");", time_out);
	} else {
		//Met l'indicateur à en cours de chargement
		inLoading = true;
		
		//Chargement du site
		rssDoc = document.implementation.createDocument("", "", null);
		rssDoc.onload = GetRSSNewsWithFireFox;
		rssDoc.load(urlNewsSites);
	}
}

//RéAffiche le flux RSS
function GetRSSsitesWithFireFox(URL,idNews,nameSite,imgSite,urlSite) {
	//Affichage image ou non
	if(myWithImg==1 && imgSite!="aucun") {
		feedImg = "<img alt=\""+nameSite+"\" class=\"news\" src=\""+mySiteImg+"logos/"+imgSite+"\" /><br /><br />";
	} else {
		feedImg = nameSite;
	}
	
	//Construction message d'attente
	var feedBody  = "<div class=\"loadnews\">";
	    feedBody += "<a class=\"options\" title=\""+nameSite+"\" href=\""+urlSite+"\" target=\"_blank\">";
	    feedBody += feedImg;
	    feedBody += "</a>";
	    feedBody += "</div>";
	    feedBody += "<div class=\"reloadnews\">";
	    feedBody += "News de <b>\""+nameSite+"\"</b> <span id=\"message"+idNews+"\">en cours de chargement ...</span><br />";
	    feedBody += "<a onclick=\"javascript:GetRSSsitesWithFireFox('"+URL+"',"+idNews+",'"+nameSite+"','"+imgSite+"','"+urlSite+"');\">Cliquez ici pour charger le site</a>";
	    feedBody += "</div>";
	document.getElementById(htmlNewsID+idNews).innerHTML = feedBody;
	resizePresentationWithFireFox();
	
	//Augment le nombre des sites à charger
	if(myNumberOfNews<=0) {
		myNumberOfNews++;
		document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
	}
	
	//Reload le site
	rssDoc = document.implementation.createDocument("", "", null);
	rssDoc.onload = GetRSSNewsWithFireFox;
	rssDoc.load(myRssReader+URL);
}

//Affiche les flux rss
function GetRSSNewsWithFireFox() {
	inLoading = true;
	
	//Gestion des problèmes de chargement du site
	if (rssDoc.documentElement.namespaceURI == "http://www.mozilla.org/newlayout/xml/parsererror.xml") {
		//Recherche parmis tous les sites
		for(i=0;i<myRssDoc.length;i++) {
			if(rssDoc.documentURI.indexOf(myRssUrl[i])!=-1) {
				document.getElementById(htmlMessageID+i).innerHTML = myImposLoad;
			}
		}
		
		//Evite les nombres négatifs
		if(myNumberOfNews>0) {
			myNumberOfNews--;
			document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
		}
		
		//Retaille la fenêtre
		resizePresentationWithFireFox();
	} else {
		var headRssNode  = rssDoc.getElementsByTagName(tagRSSChannel);
		var itemRssNodes = rssDoc.getElementsByTagName(tagRSSItem);
		var siteURL      = headRssNode[0].getElementsByTagName(tagRSSLink)[0].firstChild.nodeValue;
		var siteTitle    = headRssNode[0].getElementsByTagName(tagRSSTitle)[0].firstChild.nodeValue;
		var siteDescript = headRssNode[0].getElementsByTagName(tagRSSDescript)[0].firstChild.nodeValue;
		var feedBody     = "";
		var newsLink;
		var newsDate;
		
		//Recherche parmis tous les sites
		for(i=0;i<myRssDoc.length;i++) {
			try {
				//Recherche si c'est le bon site à afficher (à cause d'un chargement aléatoire)
				if(myRssUrl[i].indexOf(siteURL)!=-1) {
					
					//Affichage de l'image ou non
					if(myWithImg==1 && myRssImg[i]!="aucun") {
						feedImg = "<img alt=\""+siteTitle+"\" class=\"news\" src=\""+mySiteImg+"logos/"+myRssImg[i]+"\" />";
					} else {
						feedImg = siteTitle+"<br /><span class=\"newsUrlTitle\">"+siteURL+"</span>";
					}
					//Affichage lien forum ou non
					if(myWithFor==1) {
						if(myRssFor[i]==myAucunFor) {
							feedFor = "aucun&nbsp;|&nbsp;";
						} else {
							feedFor = "<a class=\"options\" href=\""+myRssFor[i]+"\" target=\"_blank\">forum</a>&nbsp;|&nbsp;";
						}
					} else {
						feedFor = "";
					}
					//Date de la dernière mise à jour des news du site
					if(withUpd==1) {
						lastUpdate   = headRssNode[0].getElementsByTagName("lastUpdateNews")[0].firstChild.nodeValue;
						lastUpdate   = lastUpdate.substr(8,2)+"/"+lastUpdate.substr(5,2)+"/"+lastUpdate.substr(0,4)+" à "+lastUpdate.substr(11,8);
						feedLastUpdt = "<div class=\"last_update\">Mise à jour du site:<br />"+siteTitle+"<br />le "+lastUpdate+"</div>";
					} else {
						feedLastUpdt = ""
					}
					
					//Entête du site
					feedBody += "<div class=\"news\">";
					feedBody += "<div class=\"newsGlobalTitle\">";
					feedBody += "<div class=\"newsTitle\">";
					feedBody += "<a class=\"menulink\" title=\""+siteTitle+"\" href=\""+siteURL+"\" target=\"_blank\">";
					feedBody += feedImg;
					feedBody += "</a>";
					feedBody += "</div>";
					feedBody += feedLastUpdt;
					feedBody += "</div>";
					feedBody += "<div class=\"desc_site\">"+siteDescript+"</div>";
					feedBody += "<div class=\"newsTitleBorderMenu\">";
					feedBody += "<div class=\"newsTitleMenu\">";
					feedBody += feedFor;
					//feedBody += "<a class=\"options\" href=\"vote.php?refSite="+"\">votez</a>&nbsp;|&nbsp;";
					feedBody += "<a class=\"options\" href=\""+myForComm+"\" target=\"_blank\">réagir à une news</a>";
					feedBody += "</div>";
					feedBody += "</div>";
					
					//Corp du site: les news
					feedBody += "<div class=\"newsUrl\">";
					
					for(j=0;j<itemRssNodes.length && j<myMaxNews;j++) {
						//Récupération des données
						newsLink     = itemRssNodes[j].getElementsByTagName(tagRSSLink)[0].firstChild.nodeValue;
						newsTitle    = itemRssNodes[j].getElementsByTagName(tagRSSTitle)[0].firstChild.nodeValue
						newsDate     = "";
						newsDateDisp = "";
						
						//Vérifie qu'une date existe dans le fichier
						try {
						    if(navigator.userAgent.toUpperCase().indexOf("FIREFOX/2")>-1) {
							    newsDate  = itemRssNodes[j].getElementsByTagName(tagRSSFFDate)[0].firstChild.nodeValue;
							} else {
							    newsDate  = itemRssNodes[j].getElementsByTagName(tagRSSF3Date)[0].firstChild.nodeValue;
							}
							newsTime  = newsDate.substr(11,8);
							newsDate  = newsDate.substr(8,2)+"/"+newsDate.substr(5,2);
							newsDateDisp = "<i>"+newsDate+"</i>";
							
							//Si la news appartient à aujourd'hui
							if(newsDate==getCurrDateNewsFormat()) {
								newsDateDisp = "<b>"+newsDate+"</b>";
							}
							//Si la news appartient à avant hier
							if(newsDate==getDateNewsFormat(-1)) {
								newsDateDisp = newsDate;
							}
						} catch(eee) { }
						
						//Préparation pour l'affichage
						if(newsLink=="." && newsTitle=="Pas de news publié à cette date") {
							feedBody += newsDateDisp+" - <font color=\"red\"><i>";
							feedBody += newsTitle;
							feedBody += "</i></font><br/>";
						} else {
							feedBody += "<a href=\"" + newsLink + "\" title=\"Sauvegardé à "+newsTime+"\" target=\"_blank\">"+newsDateDisp+" - ";
							feedBody += newsTitle;
							feedBody += "</a><br/>";
						}
					}
					feedBody += "</div>";
					feedBody += "</div>";
					
					//Bas du site										
				    	feedBody += "<div class=\"reloadnews\">";
				    	feedBody += "<FORM id=\"cse-search-box\" method=\"GET\" action=\"http://www.google.fr/custom\" target=\"_blank\">";
				    					
					//feedBody += "<select name=\"filtreDate"+i+"\" class=\"options\" onchange=\"javascript:GetRSSsitesWithFireFox(filtreDate"+i+".options[selectedIndex].value,"+i+",'"+myRssNam[i]+"','"+myRssImg[i]+"','"+siteURL+"');\" style=\"font-family: arial;font-size: 8pt\">";
					//feedBody += "<option value=\".\">-- Filtre date --</option>";
					//feedBody += "<option value=\""+myRssRss[i]+"\">Aucun</option>";
					//feedBody += "<option value=\""+myRssRss[i].replace('.','_0.')+"\">Aujourd'hui</option>";
					//feedBody += "<option value=\""+myRssRss[i].replace('.','_1.')+"\">Hier</option>";
					//feedBody += "<option value=\""+myRssRss[i].replace('.','_2.')+"\">Avant hier</option>";
					//feedBody += "</select>";
					//feedBody += "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;";
									    
					feedBody += "<INPUT class=\"cinput\" TYPE=\"text\" name=\"q\" size=\"15\" maxlength=\"255\" value=\"\" />&nbsp;&nbsp;";
					feedBody += "<INPUT class=\"cbutton\" type=\"submit\" name=\"sa\" VALUE=\"Google !\" style=\"font-family: arial;font-size: 8pt\">";
					feedBody += "<INPUT type=\"hidden\" name=\"cof\" VALUE=\"LW:400;L:http://www.phoenixjp.net/news/include/img/pjp_recherche_logo_trans.gif;LH:60;AH:left;GL:0;S:http://www.phoenixjp.net/;AWFID:212104415c556751;\">";
					feedBody += "<INPUT type=\"hidden\" name=\"sitesearch\" value=\""+siteURL.substring(0,siteURL.length-1)+"\">";
					
					feedBody += "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;";
				    	feedBody += "<INPUT class=\"cbutton\" type=\"button\" value=\"Rafraichir\" onclick=\"javascript:GetRSSsitesWithFireFox('"+myRssRss[i]+"',"+i+",'"+myRssNam[i]+"','"+myRssImg[i]+"','"+siteURL+"');\" style=\"font-family: arial;font-size: 8pt\" />";
										
					feedBody += "</FORM>";					
					feedBody += "</div>";
					
					document.getElementById(htmlNewsID+i).innerHTML = feedBody;
					
					//Evite les nombres négatifs
					if(myNumberOfNews>0) {
						myNumberOfNews--;
						document.getElementById(htmlNumberOfNews).innerHTML = myNumberOfNews;
					}
					if(myNumberOfNews==0) {
						//Efface le message de chargement
						document.getElementById(htmlLoadingNews).style.visibility = "hidden";
					}
					
					//Retaille la fenêtre
					resizePresentationWithFireFox();
				}
			} catch(eee) {}
		}
	}
	
	inLoading=false;
}

//Retaille le cadre global contenant les news
function resizePresentationWithFireFox() {
	if(document.getElementById(htmlLeftNewsName).offsetHeight>document.getElementById(htmlRightNewsName).offsetHeight) {
		document.getElementById(htmlPresentation).style.height=document.getElementById(htmlMenuNews).offsetHeight+document.getElementById(htmlLeftTitleName).offsetHeight+document.getElementById(htmlLeftNewsName).offsetHeight;
	} else {
		document.getElementById(htmlPresentation).style.height=document.getElementById(htmlMenuNews).offsetHeight+document.getElementById(htmlRightTitleName).offsetHeight+document.getElementById(htmlRightNewsName).offsetHeight;
	}
}

//Initialise les variables de sauvegarde (pour Firefox)
function initVarRSS(myNumberOfNews) {
	tmpFireFoxNumber   = myNumberOfNews;
	tmpFireFoxURL      = new Array(myNumberOfNews);
	tmpFireFoxidNews   = new Array(myNumberOfNews);
	tmpFireFoxnameSite = new Array(myNumberOfNews);
	tmpFireFoximgSite  = new Array(myNumberOfNews);
	tmpFireFoxurlSite  = new Array(myNumberOfNews);
}

//Recharge tous les sites
function GetAllRSSsitesWithFireFox() {
	for(i=0;i<tmpFireFoxNumber;i++) {
		if(document.getElementById(htmlNewsID+tmpFireFoxidNews[i]).innerHTML.indexOf("en cours de chargement ...")>-1) {
			setTimeout("GetRSSsitesWithFireFox('"+tmpFireFoxURL[i]+"','"+tmpFireFoxidNews[i]+"','"+tmpFireFoxnameSite[i]+"','"+tmpFireFoximgSite[i]+"','"+tmpFireFoxurlSite[i]+"');",(max_time_out/4)*(i+1));
		}
	}
}

