/************************************/
//  METHODES ET VARIABLES GLOBALES
/************************************/

var TABULAR_LIST=new Array();

//gestion du click sur un button
function TABULAR_clickHandler(aEvent)
{
	var myEvent = aEvent ? aEvent : window.event; //recuperation de l'evenement
	//on recupere objet cible declencheur de l'evenement
	var target= myEvent.target ? myEvent.target : myEvent.srcElement;
	
	//recomposition de l'id du bloc de tabulation  format <id_du_bloc>_XX_XX_XX
	var tmpIdTab=new Array();
	tmpIdTab=target.id.split('_');
		var idTabular='';
	for(var i=0 ;  i<tmpIdTab.length-3 ; i++) { if(i!=0) { idTabular+='_'; } idTabular+=tmpIdTab[i]; }
	//a partir de l'id du bloc on recupere l'objet tabular
	var tabularObj=TABULAR_findTabularById(idTabular);	
	//id du button declencheur
	var newIndex=tmpIdTab[tmpIdTab.length-1];
	//selection du nouveau tab
	tabularObj.selectTab(newIndex);
	
	//par securite on rafraichis la couleur de tous les texte de ce bloc
	for(var i=0 ; i<tabularObj.buttons.length ; i++)
	{
		if(i==tabularObj.selectedIndex) { document.getElementById(tabularObj.id+'_my_button_'+i).style.color=tabularObj.selectedTextColor; }
		else { document.getElementById(tabularObj.id+'_my_button_'+i).style.color=tabularObj.textColor; }
	}
	
	//on transmet aux autres block liés une instruction leur demandant de déselectionner tout leur buttons
	for(var i=0 ; i<tabularObj.linkedTabulars.length ; i++)
	{
		if(tabularObj.linkedTabulars[i]!=tabularObj)
		{
			tabularObj.linkedTabulars[i].selectTab(null);
		}
	}
}

//gestion du survole de la sourie onMouseOver
function TABULAR_overHandler(aEvent)
{
	var myEvent = aEvent ? aEvent : window.event; //recuperation de l'evenement
	//on recupere objet cible declencheur de l'evenement
	var target= myEvent.target ? myEvent.target : myEvent.srcElement;
	
	var tmpIdTab=new Array();
	tmpIdTab=target.id.split('_');
	
	var idTabular='';
	for(var i=0 ;  i<tmpIdTab.length-3 ; i++) { if(i!=0) { idTabular+='_'; } idTabular+=tmpIdTab[i]; }
	var tabularObj=TABULAR_findTabularById(idTabular);
	var cuIndex=tmpIdTab[tmpIdTab.length-1];
	
	if(tabularObj.selectedIndex!=cuIndex) { target.style.color=tabularObj.overTextColor; }
}

//gestion de la sortie de la sourie onMouseOut
function TABULAR_outHandler(aEvent)
{
	var myEvent = aEvent ? aEvent : window.event; //recuperation de l'evenement
	//on recupere objet cible declencheur de l'evenement
	var target= myEvent.target ? myEvent.target : myEvent.srcElement;
	
	var tmpIdTab=new Array();
	tmpIdTab=target.id.split('_');
	
	var idTabular='';
	for(var i=0 ;  i<tmpIdTab.length-3 ; i++) { if(i!=0) { idTabular+='_'; } idTabular+=tmpIdTab[i]; }
	var tabularObj=TABULAR_findTabularById(idTabular);	
	var cuIndex=tmpIdTab[tmpIdTab.length-1];
	
	for(var i=0 ; i<tabularObj.buttons.length ; i++)
	{
		if(i==tabularObj.selectedIndex) { document.getElementById(tabularObj.id+'_my_button_'+i).style.color=tabularObj.selectedTextColor; }
		else { document.getElementById(tabularObj.id+'_my_button_'+i).style.color=tabularObj.textColor; }
	}
}

//fonction recherchant un objet tabulation d'après son id
//  Cette fonction utilise la variable globale 
function TABULAR_findTabularById(idTabular)
{
	for(var i=0 ; i<TABULAR_LIST.length ; i++)
	{
		if(TABULAR_LIST[i].id==idTabular) { return TABULAR_LIST[i]; }
	}
	return null;
}