// Ce module permet d'avoir des tableaux avec une ligne sur deux de couleur differentes
// il suffit de mettre la class "XTableListe" à la table
// par defaut (ou XTBL_TYPE=0) la couleur change à chaque TR sinon on met XTBL_TYPE=1 et le changement
// se fait a chaque TBODY
// le choix des couleur se fait par XTBL_COULEUR="red-blue" par exemple, si ce parametre n'est pas précisé on prend
// les couleurs definies par les classes XTBL_PAIR et XTBL_IMPAIR inclu ds le css de l'appli 
// ex : <table class="XTableListe" XTBL_TYPE="1"><TBODY><TR>...</TR></TBODY>....</TABLE>
// si on veut exclure une ligne ou un TBody du changement de couleur on fait <tr XTBL_NONE> ou <tbody XTBL_NONE>
if (!window.XTBLISTE_Included)
{
	window.XTBLISTE_Included = 1;
	try
	{
		XLOG_included();
		X_addEvent(window, "load", XTBLISTE_Init);
	}
	catch (e)
	{
	}
}
var XTBLISTE_TYPE_TR    = 0;
var XTBLISTE_TYPE_TBODY = 1;

function XTBLISTE_Set(maTable)
{
	var i, j;
	var typeL = XTBLISTE_TYPE_TR;
	var cpt   = 0;
	var couleur1 = 0; //"#fdf8ed";
	var couleur2 = 0; //"#fbf1d8";
	
	if (!maTable || maTable.tagName != "TABLE")
		return;
	
	if (maTable.getAttribute("XTBL_TYPE") != null)
		typeL = maTable.getAttribute("XTBL_TYPE");

	if (typeL != XTBLISTE_TYPE_TR && typeL != XTBLISTE_TYPE_TBODY)
		typeL = XTBLISTE_TYPE_TR;
		
	if (maTable.getAttribute("XTBL_COULEUR") != null)
	{
		couleur1 = maTable.getAttribute("XTBL_COULEUR").split('-')[0];
		couleur2 = maTable.getAttribute("XTBL_COULEUR").split('-')[1];
	}

	var allTBody = maTable.getElementsByTagName("TBODY");
	for (i = 0 ; i < allTBody.length ; i++)	
	{
		if (typeL == XTBLISTE_TYPE_TBODY)
		{
			if (allTBody[i].getAttribute("XTBL_NONE") == null)
			{
				if (cpt % 2 == 0)
				{
					if (couleur1 == 0)
						allTBody[i].className += " XTBL_PAIR";
					else
						allTBody[i].style.backgroundColor = couleur1;
				}
				else
				{
					if (couleur2 == 0)
						allTBody[i].className += " XTBL_IMPAIR";
					else
						allTBody[i].style.backgroundColor = couleur2;
				}
				cpt++;
			}
		}
		else
		{
			var allTR = allTBody.item(i).getElementsByTagName("TR");
			for (j = 0 ; j < allTR.length ; j++)	
			{
				if (allTR[j].parentNode.tagName != "THEAD")
				{
					if (allTR[j].XTBL_NONE == null)
					{
						if (cpt % 2 == 0)
						{
							if (couleur1 == 0)
								allTR[j].className += " XTBL_PAIR";
							else
								allTR[j].style.backgroundColor = couleur1;
						}
						else
						{
							if (couleur2 == 0)
								allTR[j].className += " XTBL_IMPAIR";
							else
								allTR[j].style.backgroundColor = couleur2;
						}
						cpt++;
					}
				}
			}
		}
	}
}
function XTBLISTE_Init()
{
	var i;
	var all = document.getElementsByTagName("TABLE");
	
	for(i = all.length-1 ; i >= 0 ; i--)
	{
		if(all[i].className.search(/XTableListe/) != -1)
			XTBLISTE_Set(all[i]);
	}
	
}