/*********************** Gestion des menus *****************************************************/
var temda=new Array();
temda[1]="<a href='pages/presentation.php'><img src='images/ssmenu/presentation.jpg' alt='Présentation de TEMDA' title='Présentation de TEMDA' /></a>";
temda[2]="<a href='pages/actualites.php'><img src='images/ssmenu/actu.jpg' alt='Actualit&eacute;s' title='Toute notre actualité' /></a>";
temda[3]="<a href='pages/liens.php'><img src='images/ssmenu/liens.jpg' alt='Liens' title='Liens utiles' /></a>";

var conseil_orga=new Array();
conseil_orga[1]="<a href='pages/entreprise.php'><img src='images/ssmenu/orga_entreprise.jpg' alt='CE, cadeaux d affaires, ...' title='CE, cadeaux d affaires, ...'  /></a>";
conseil_orga[2]="<a href='pages/collectivite.php'><img src='images/ssmenu/orga_collectivite.jpg' alt='Communication, partenariat' title='Communication, partenariat' /></a>";
conseil_orga[3]="<a href='pages/association.php'><img src='images/ssmenu/orga_association.jpg' alt='Associations' title='Associations'/></a>";

var panier=new Array();
panier[1]="<a href='pages/paniers.php'><img src='images/ssmenu/paniers2.jpg' alt='Paniers garnis'/></a>";
panier[2]="<a href='pages/boites.php'><img src='images/ssmenu/boites.jpg' alt='Nos boites'/></a>";

var galerie=new Array();
galerie[1]="";

var temda2=new Array();
temda2[1]="<a href='presentation.php'><img src='../images/ssmenu/presentation.jpg' alt='Présentation de TEMDA' title='Présentation de TEMDA'/></a>";
temda2[2]="<a href='actualites.php'><img src='../images/ssmenu/actu.jpg' alt='Actualit&eacute;s' title='Toute notre actualité' /></a>";
temda2[3]="<a href='liens.php'><img src='../images/ssmenu/liens.jpg' alt='Liens' title='Liens utiles' /></a>";

var conseil_orga2=new Array();
conseil_orga2[1]="<a href='entreprise.php'><img src='../images/ssmenu/orga_entreprise.jpg' alt='CE, cadeaux d affaires, ...' title='CE, cadeaux d affaires, ...'/></a>";
conseil_orga2[2]="<a href='collectivite.php'><img src='../images/ssmenu/orga_collectivite.jpg' alt='Communication, partenariat' title='Communication, partenariat' /></a>";
conseil_orga2[3]="<a href='association.php'><img src='../images/ssmenu/orga_association.jpg' alt='Associations' title='Associations'/></a>";

var panier2=new Array();
panier2[1]="<a href='paniers.php'><img src='../images/ssmenu/paniers2.jpg' alt='Paniers garnis'/></a>";
panier2[2]="<a href='boites.php'><img src='../images/ssmenu/boites.jpg' alt='Nos boites'/></a>";

var Thetableau=new Array();
Thetableau[1]=temda;
Thetableau[2]=conseil_orga;
Thetableau[3]=panier;
Thetableau[4]=temda2;
Thetableau[5]=conseil_orga2;
Thetableau[6]=panier2;
Thetableau[7]=galerie;

var old_indice;
var objDiv;
var opac=0;
var arretTrans = 1;
var transObj;

function affichSousMenu(indice){
	objDiv=document.getElementById(old_indice);
	if(objDiv!=null){
		objDiv.style.display="none";
		arretTrans = 1;
	}	
	objDiv=document.getElementById(indice);
	tmp="";
	for (i=1;i<Thetableau[indice].length;i++){
		tmp+=Thetableau[indice][i];
	}
	objDiv.innerHTML=tmp;
	var isIE = document.all?true:false;
	if (!isIE){
		var navVersion = navigator.appVersion;
 		var resultat = navVersion.search(/Safari.+/);
 		if(resultat != -1){
			objDiv.style.opacity = 100;
			objDiv.style.display="block";
		} else {
			objDiv.style.display="block";
			TransMoz();
		}
	}
	if(isIE){
		objDiv.style.display="block";
		Trans();
	}
	
	old_indice=indice;
}

function Trans() {
  transObj = objDiv;
  opac+=5;
  if (opac<=100 && arretTrans != 0){
  	transObj.filters.alpha.opacity=opac;
  	cmpt = setTimeout("Trans();",25);
  }else{
  	opac=0;
	arretTrans = 0;
  }
}  
  
function TransMoz() {
  transObj = objDiv;
  opac+=5;
  if (opac<=100 && arretTrans != 0){
  	transObj.style.MozOpacity=opac/100;
  	cmpt = setTimeout("TransMoz()", 50); 
  }else{
  	opac=0;
	arretTrans = 0;
  }
}

/*********************** Fin de Gestion des menus *****************************************************/

/*********************** Gestion des popup *****************************************************/

function PopupImage(img) {
	titre="Agrandissement";
	w=open("",'image','width=50,height=50,toolbar=no,scrollbars=yes,resizable=yes');	
	w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");
	w.document.write("<SCRIPT language=javascript>");
	w.document.write("function checksize()  { if (document.images[0].complete) { window.resizeTo(document.images[0].width+50,document.images[0].height+100); window.focus();} else { setTimeout('check()',250) } }</SCRIPT>");
	w.document.write("<BODY onload='checksize()' STYLE='MARGIN:0px; PADDING:0px; BACKGROUND-COLOR:BLACK;'>");
	w.document.write("<TABLE STYLE='WIDTH:100%; HEIGHT:100%;' CELLSPACING='0px' CELLPADDING='0px'>");
	w.document.write("<TR>");
	w.document.write("<TD STYLE='TEXT-ALIGN:CENTER;'>");
	w.document.write("<IMG src='"+img+"' />");
	w.document.write("</TD>");
	w.document.write("</TR>");
	w.document.write("</TABLE>");
	w.document.write("");
	w.document.write("</BODY></HTML>");
	w.document.close();
}

function PopupPlan(img) {
	titre="Plan d'accès";
	w=open("",'image','width=400,height=400,toolbar=no,scrollbars=yes,resizable=yes');	
	w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE><link rel=\"stylesheet\" href=\"../css/trimartolod.css\" /></HEAD>");
	w.document.write("<SCRIPT language=javascript>");
	w.document.write("function checksize()  { if (document.images[0].complete) {  window.resizeTo(document.images[0].width+30,document.images[0].height+150); window.focus();} else { setTimeout('check()',250) } }</SCRIPT>");
	w.document.write("<BODY onload='checksize()' leftMargin=0 style='margin:0px; padding:0px; background-color:white;'><IMG src='"+img+"' style='border:0px;' />");
	w.document.write("<p style='text-align:center;'>");
	w.document.write("<a href='javascript:window.print()'>");
	w.document.write("Imprimer le plan");
	w.document.write("</a>");
	w.document.write("</p>");
	w.document.write("</BODY></HTML>");
	w.document.close();
}

/*********************** Fin Gestion des popup **************************************************/

//--------------------------------------------- Gestion d'affichage des news  (scroller) ----------------------------------------------------------------------

var globalListNewsScroller=Array(); //LISTE OU S'INCRIVE LES COMPOSANTS

var default_mouseOverColor='';
var default_hightlightNewsWithoutLinkToo=true;
var default_outGoingStep=-1;
var default_outGoingSpeed=5;
var default_pauseDuration=1000;

var default_inCommingStep=-2;
var default_inCommingSpeed=5;
var default_readPauseDuration=3000;
var default_forceAMinHeightToContainerHeight=false;


//Il est fortement déconseillé de mofidier le code à partir de cette ligne

/***********************************/
/**          NEWS OBJET           **/
/***********************************/
function News(_container,_html,_url,_target)
{
	if(typeof(_url)=='undefined') { _url=null; }
	if(typeof(_html)=='undefined') { _html=null; }
	if(typeof(_target)=='undefined') { _target='_self'; }
	//propriete via constructeur
	this.container=_container;  // OBLIGATOIRE
	this.indexInList=0;
	this.php=_html;
	this.url=_url;
	this.target=_target;
	this.div=null;
	this.id=uniqueIDInDOM();
	//autres proprietes
	this.h=0;
	//methode de l'objet news
	this.init=news_init;
}

function news_init()
{
	this.div=document.createElement('div');
	this.div.innerHTML=this.php;

	//ajout du div contenant le message de la news
	this.container.obj.appendChild(this.div);

	this.h=this.div.offsetHeight;

	if(this.container.forceAMinHeightToContainerHeight && this.h<this.container.height)	//on retaille chaque news pour qu'elle soit au moins aussi haute que le conteneur.
	{
		this.h=this.container.height;
		this.div.style.height=this.h+'px';
	}
	
	this.div.style.position='relative';
	this.div.style.display='none';
	
	this.container.obj.removeChild(this.div);
}

/***********************************/
/** Methode globales de recherche **/
/** d'un container                **/
/***********************************/
function globalSearchAContainer(id)
{
	var resu=null;
	//on liste tous les news container enregistre dans la liste
	for(var i=0 ; i<globalListNewsScroller.length ; i++)
	{
		if(''+globalListNewsScroller[i].id==''+id) { return i; }
	}
	return resu;
}

/***********************************/
/**       CONTAINER OBJET         **/
/***********************************/
function Container(idNode)
{
	//initialisation
	this.id=idNode;
	
	this.obj=document.getElementById(this.id);
	this.width=this.obj.offsetWidth;//-(this.obj.style.paddingLeft.replace('px',''))-(this.obj.style.paddingRight.replace('px',''))
	this.height=this.obj.offsetHeight;//-(this.obj.style.paddingTop.replace('px',''))-(this.obj.style.paddingBottom.replace('px',''));
	//initialisation du style du container
	this.obj.style.overflow='hidden';
	
	//proprietes
	this.listNews=Array();
	this.currentIndex=0;
	this.inPause=false;
	this.initilised=false;
	
	this.currentUrl=null;
	this.currentTarget=null;
	
	//propriete graphique
	this.mouseOverColor=default_mouseOverColor;
	this.hightlightNewsWithoutLinkToo=default_hightlightNewsWithoutLinkToo;
	this.outGoingStep=default_outGoingStep;
	this.outGoingSpeed=default_outGoingSpeed;
	this.pauseDuration=default_pauseDuration;
	this.inCommingStep=default_inCommingStep;
	this.inCommingSpeed=default_inCommingSpeed;
	this.readPauseDuration=default_readPauseDuration;
	this.forceAMinHeightToContainerHeight=default_forceAMinHeightToContainerHeight;

	
	//methodes
	this.addNews=addNews;
	this.initAllNews=initAllNews;
	this.launch=launch;
	this.currentGoOut=currentGoOut;
	this.currentComming=currentComming;
	this.loadFromUl=loadFromUl;
	//les listener
	this.overContainer=overContainer;
	this.outContainer=outContainer;
	this.openMore=openMore;
	
	//enregistrement de l'objet dans la liste global
	this.indexInGlobalContainerList=globalListNewsScroller.length;
	globalListNewsScroller.push(this);
	
	//on ajoute les listener (pause au survole et click)
	if(document.all) { this.obj.attachEvent('onmousemove',this.overContainer); }
	else { this.obj.addEventListener('mousemove',this.overContainer,false);}
	if(document.all) { this.obj.attachEvent('onmouseout',this.outContainer); }
	else { this.obj.addEventListener('mouseout',this.outContainer,false);}
	if(document.all) { this.obj.attachEvent('onclick',this.openMore); }
	else { this.obj.addEventListener('click',this.openMore,false);}
	
	
	return;
}

function loadFromUl(ulNode)
{
  var tabNews=ulNode.getElementsByTagName('ul');
  for(var i=0 ; i<tabNews.length ; i++)
  {
	var tmpLi=tabNews[i].getElementsByTagName('li');
	
	var content=tmpLi[0].innerHTML;
	var url='';
	var target='_self';
	
	if(tmpLi.length>1)
	{
		var tmpA=tmpLi[1].getElementsByTagName('a');
		if(tmpA[0])
		{
			url=tmpA[0].href;
			if(tmpA[0].target)
			{
				target=tmpA[0].target;
			}
		}
	}
	this.addNews(new News(null,content,url,target));
  }
  
  this.launch();
}

//Handler pour la gestion du survol avec la sourie permettant la pause de l'animation
function overContainer(aEvent)
{
  	var myEvent = aEvent ? aEvent : window.event; //recuperation de l'evenement selon le navigateur
	//on recupere cible de l'evenemet
	var nodeDOM= myEvent.target ? myEvent.target : myEvent.srcElement;
	
	var myContainerObjIndex=globalSearchAContainer(nodeDOM.id);
	while(myContainerObjIndex==null)
	{
		nodeDOM=nodeDOM.parentNode;
		myContainerObjIndex=globalSearchAContainer(nodeDOM.id);
	}

	if(globalListNewsScroller[myContainerObjIndex].currentUrl!=null && globalListNewsScroller[myContainerObjIndex].currentUrl!='' || globalListNewsScroller[myContainerObjIndex].hightlightNewsWithoutLinkToo)
	{
		globalListNewsScroller[myContainerObjIndex].obj.style.backgroundColor=globalListNewsScroller[myContainerObjIndex].mouseOverColor;
	}
	if(globalListNewsScroller[myContainerObjIndex].currentUrl!=null && globalListNewsScroller[myContainerObjIndex].currentUrl!='')
	{ if(globalListNewsScroller[myContainerObjIndex].obj) { globalListNewsScroller[myContainerObjIndex].obj.style.cursor='pointer'; }
	} else { if(globalListNewsScroller[myContainerObjIndex].obj) { globalListNewsScroller[myContainerObjIndex].obj.style.cursor='default'; } }
	
	globalListNewsScroller[myContainerObjIndex].inPause=true;
}

//handler gerant la sortie de la souris, permettant le redemarrage du defilement
function outContainer(aEvent)
{
  	var myEvent = aEvent ? aEvent : window.event; //recuperation de l'evenement selon le navigateur
	//on recupere cible de l'evenemet
	var nodeDOM= myEvent.target ? myEvent.target : myEvent.srcElement;
	
	var myContainerObjIndex=globalSearchAContainer(nodeDOM.id);
	while(myContainerObjIndex==null) //on recherche le container de news
	{
		nodeDOM=nodeDOM.parentNode;
		myContainerObjIndex=globalSearchAContainer(nodeDOM.id);
	}
	
	if(globalListNewsScroller[myContainerObjIndex].currentUrl!=null && globalListNewsScroller[myContainerObjIndex].currentUrl!='' || globalListNewsScroller[myContainerObjIndex].hightlightNewsWithoutLinkToo)
	{
		globalListNewsScroller[myContainerObjIndex].obj.style.backgroundColor='';
	}
	globalListNewsScroller[myContainerObjIndex].inPause=false;
}

//gestion du clic sur le container, avec eventuelle ouverture du lien de la news courante (si elle en possede un)
function openMore(aEvent)
{
  	var myEvent = aEvent ? aEvent : window.event; //recuperation de l'evenement selon le navigateur
	//on recupere cible de l'evenemet
	var nodeDOM= myEvent.target ? myEvent.target : myEvent.srcElement;
	
	var myContainerObjIndex=globalSearchAContainer(nodeDOM.id);
	while(myContainerObjIndex==null)
	{
		nodeDOM=nodeDOM.parentNode;
		myContainerObjIndex=globalSearchAContainer(nodeDOM.id);
	}
	if(globalListNewsScroller[myContainerObjIndex].currentUrl!=null && globalListNewsScroller[myContainerObjIndex].currentUrl!='')
	{
		window.open(globalListNewsScroller[myContainerObjIndex].currentUrl,globalListNewsScroller[myContainerObjIndex].currentTarget,'');
	}
}

//lie une nouvelle instance d'un objet News a cette instance de container
function addNews(aNews)
{
	aNews.container=this;
	aNews.indexInList=this.listNews.length;
	this.listNews.push(aNews);
	return;
}

//fonction d'initialisation du container
// elle appel principallement la fonction d'initialisation de news sur chaque news
function initAllNews()
{
	this.obj.innerHTML='';
	
	//initilisation d'une news apres l'autre
	for(var i=0 ; i<this.listNews.length ; i++) { this.listNews[i].init(); }
}

//fonction de lancement de l'animation
// automatiquement appeler par loadFromUl
// Mais peut-être appeler manuellement dans le cadre d'une chargement manuelle des news via addNews
function launch()
{
	if(!this.initilised) { this.initAllNews(); }
	
	this.listNews[this.currentIndex].div.style.top='0px';
	this.listNews[this.currentIndex].div.style.display='block';
	this.currentUrl=this.listNews[this.currentIndex].url;
	this.currentTarget=this.listNews[this.currentIndex].target;
	
	this.obj.appendChild(this.listNews[this.currentIndex].div);
	setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentGoOut()',this.readPauseDuration);
}


//animation de sortie d'une news
function currentGoOut()
{
	if(this.inPause)
	{
		setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentGoOut()',this.pauseDuration);
	}
	else
	{
		var tmpTop=Math.round(this.listNews[this.currentIndex].div.style.top.replace('px',''));
		var divHeight=this.listNews[this.currentIndex].h;
		this.listNews[this.currentIndex].div.style.top=(tmpTop+this.outGoingStep)+'px';
		if(divHeight>-tmpTop)
		{
			setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentGoOut()',this.outGoingSpeed);
		}
		else
		{
			this.listNews[this.currentIndex].div.style.display='none';
			
			this.obj.removeChild(this.listNews[this.currentIndex].div);
			
			this.currentIndex=(this.currentIndex+1)%this.listNews.length;
			this.listNews[this.currentIndex].div.style.display='block';
			this.listNews[this.currentIndex].div.style.top=this.height+'px';
			
			this.obj.appendChild(this.listNews[this.currentIndex].div);
	
			setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentComming()',this.outGoingSpeed);
		}
	}
}

//animation d'entré d'une news
function currentComming()
{
	if(this.inPause)
	{
		setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentComming()',this.pauseDuration);
	}
	else
	{
		this.currentUrl=this.listNews[this.currentIndex].url;
		this.currentTarget=this.listNews[this.currentIndex].target;
		
		if(this.currentUrl==null || this.currentUrl=='') { this.obj.style.cursor='default'; }
		else { this.obj.style.cursor='pointer'; }
		
		var tmpTop=Math.round(this.listNews[this.currentIndex].div.style.top.replace('px',''));
		this.listNews[this.currentIndex].div.style.top=(tmpTop+this.inCommingStep)+'px';
		
		if(tmpTop>0)
		{
			setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentComming()',this.inCommingSpeed);
		}
		else
		{
			//on passe a l'animation de sortie apres une pause de this.readPauseDuration milisecondes
			setTimeout('globalListNewsScroller['+this.indexInGlobalContainerList+'].currentGoOut()',this.readPauseDuration);
		}
	}
}

function uniqueIDInDOM()  //genère un id unique dans le DOM
{
	var resu=Math.ceil(Math.random()*9999)+'_'+(+new Date().getTime());	//tant qu'un element du dom possede deja un tel ID
	while(document.getElementById(resu)!=null)							// on en genere aleatoirement un nouveau
	{ resu=Math.ceil(Math.random()*9999)+'_'+(+new Date().getTime()); }	//le fait d'utiliser un timestamp limite grandement la chance d'avoir
	return resu;														//mais veut mieux verifier
}

function f_init()
{
	var monContainer=new Container('div_container');
	monContainer.loadFromUl(document.getElementById('news_data'));
}

//--------------------------------------------- Fin Gestion d'affichage des news  (scroller) -------------------------------------------------------------------