var httpRequest; // variable for posting information
var reponse;
var news_courante = 1;
var nb_news = 1;
var nb_elements = 0;

function loadXMLPosDocNews(url,posData) 
{
    // reinit 
	news_courante = 1;
	nb_elements = 0;
	document.getElementById("news").style.display = "none";
	
	// branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
        httpRequest.onreadystatechange = processPosChangeNews;
        httpRequest.open("POST", url, true);
		httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        httpRequest.send(posData);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        if (httpRequest) {
            httpRequest.onreadystatechange = processPosChangeNews;
            httpRequest.open("POST", url, true);
			httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            httpRequest.send(posData);
        }
    }
}


function grabPosXMLNews (tagName, index) 
{
	return reponse.getElementsByTagName(tagName)[index].childNodes[0].nodeValue;
}


// Node cleaner
function go(c)
{
	if(!c.data.replace(/\s/g,''))
		c.parentNode.removeChild(c);
}

function clean(d)
{
	var bal=d.getElementsByTagName('*');

	for(i=0;i<bal.length;i++)
	{
		a=bal[i].previousSibling;
		if(a && a.nodeType==3)
			go(a);
		b=bal[i].nextSibling;
		if(b && b.nodeType==3)
			go(b);
	}
	return d;
} 




// traitement de la réponse du serveur
function processPosChangeNews() 
{
	
	
	// le serveur a fini de transmettre les résultats
    if (httpRequest.readyState == 4) 
	{
       
	   // la news est "OK"
        if (httpRequest.status == 200) 
		{
			reponse = clean(httpRequest.responseXML.documentElement); 
			nb_elements = reponse.getElementsByTagName("title").length;
			nb_news = nb_elements;
			//alert ("nombre d'elements = " + nb_elements);
			//alert ("nombre de news = " + nb_news);
			
			if (nb_elements == 0)
			{
				document.getElementById("news").style.display = "none";
			}
			else
	    	{
				remplirNews(1);
			}
			
		}
	}
}



// formattage des donnes pour la news a afficher
function remplirNews(news_number)
{
	
	var divNews = document.getElementById('news');
	var divNewsTitle = document.getElementById('news_title');
	var divNewsContent = document.getElementById('news_content');
	
	if( news_number > nb_news)
	{
		 alert("Cette news n'existe pas (news_number > nb_news) !"); // DEBUG
		 news_numer = nb_news;
	}
	else
	{
		
		divNews.style.display = "none";
		
		// remplir la news
		divNewsTitle.innerHTML = grabPosXMLNews("title", news_number-1);      
		divNewsContent.innerHTML =  grabPosXMLNews("content", news_number-1).replace(/\n/g,'<br/>');
		Cufon.replace('#news_title', { fontFamily: 'Futura MdCn BT' });
		
		// affichage de la news
		$("#news").fadeIn(300);
		
		
	}
	
}


// fait afficher la news précédente
function previousNews()
{
	if( news_courante - 1 >= 1)
	{	
		news_courante -- ;
		remplirNews(news_courante);
	}
	else
	{
		news_courante = nb_news;
		remplirNews(news_courante);
	}
}


// fait afficher la news suivante
function nextNews()
{
	if( news_courante + 1 <= nb_news)
	{	
		news_courante ++;
		remplirNews(news_courante);
	}
	else
	{
		news_courante = 1;
		remplirNews(news_courante);
	}
}



// cycle automatically through news
var delay_news = 3500; // half delay in ms
function pre_init_news()																					 
{
	setTimeout("init_news()",2000);	
}
function init_news()																					 
{
	setTimeout("run_news()",delay_news);	
}
function run_news()
{	
	nextNews();
	setTimeout("init_news()",delay_news);		
}


