//**********************
//scripts page d'accueil
//Auteur : MICHAU Grégory
//Créé le : 18/12/02
//Modidier le : 24/11/2006
//I.D.M.S. (c) 2002-2006
//**********************
//Affichage des news
//dans la page d'accueil

//variables globales
var objN1, objNews;
var TimerId1;
var boucle = 0;
var interv = 25;
var loopTime = 5000;
var objDataNews;
var offsetNews = 3;
var pause = false;
//fin variables globales

//****
//initialisation de la page
function initDefil()
{
	objN1 = document.getElementById("n1");
	objNews = document.getElementById("counterEvents");
	//initialise l'objet datanews
	objDataNews = new dataNews();
	//demarre l'affichage des news
	startAff();
}
//Fin
//****

//****
//affichage des news
function startAff()
{
	//initialise les objets
	objN1.style.top = "144px";
	
	//charge les données de la news
	var nItem = boucle * offsetNews;
	objDataNews.addTitre(tabInf[nItem]);
	objDataNews.addDescription(tabInf[nItem+1]);
	objDataNews.addLink(tabInf[nItem+2]);
	//mets à jour le compteur de news
	var oldNode;
	var _texte = "news : " + (boucle+1) + "/"+nbNews;
	if(objNews.childNodes.length > 0)
	{
	    oldNode = objNews.childNodes[0];
	    oldNode.replaceData(0,_texte.length,_texte);
	}else
	{
	    var txtNode = document.createTextNode(_texte);
	    objNews.appendChild(txtNode);
	}
	//démarre l'animation
	TimerId1 = setInterval("defilNews()",interv);
}
//Fin
//****


//*********************************************
//defilement du texte dans les cadres des news
function defilNews()
{
	var pos = parseInt(objN1.style.top);
	pos -= 4;
	objN1.style.top = pos+"px";
	if (pos == 0 && pause == false)
	{
		clearInterval(TimerId1);
		setTimeout("effNews()",loopTime);
	}else if(pos == 0 && pause == true){
	    clearInterval(TimerId1);
	}
}

function effNews()
{
	TimerId1 = setInterval("defilNews2()",interv);
}

function defilNews2()
{
	var pos = parseInt(objN1.style.top);
	pos -= 4;
	objN1.style.top = pos+"px";
	if (pos == -108)
	{
		clearInterval(TimerId1);
		boucle += 1;
		if(boucle > nbNews-1){
			boucle = 0;
		}
		startAff();
	}
}
//fin
//*********************************************

//*****
//definition de l'objet chargé de manipulé les données

function dataNews()
{
    this.addTitre = addTitle;
    this.addDescription = addDateNews;
    this.addLink = addURL;
}

//**
//definition des methodes.
function addTitle(title)
{
    var s = objN1.getElementsByTagName("span")[0];
    if(s.childNodes.length > 0)
        s.childNodes[0].replaceData(0,s.childNodes[0].length,title);
    else
    {
        var _texte = document.createTextNode(title);
        s.appendChild(_texte);
    }
    
}

function addDateNews(datenews)
{
    var d = objN1.getElementsByTagName("p")[0];
    if(d.childNodes.length > 0)
        d.childNodes[0].replaceData(0,d.childNodes[0].length,datenews);
    else{
        var _date = document.createTextNode(datenews);
        d.appendChild(_date);
    }

}

function addURL(url)
{
    var u = objN1.getElementsByTagName("a")[0];
    if(url != null)
    {
        var href = u.getAttributeNode("href");
        href.nodeValue = url;
        u.style.visibility = "visible";
    }else{
        u.style.visibility = "hidden";    
    }
}

//fonction pour la pause et la reprise du défilement
function pauseDefile()
{
    pause = true;
}

function startDefile()
{
    pause = false;
    effNews();
}