/* $VERSION: table.js 3.1.032.1.2011.02.09.09.11	 */
/*
	Gestion des tableaux
*/
checkModified = true;

function tronmouseclick(tr){
	if (Element.hasClassName(tr, 'delete')) return;
	if (!tr.parentNode)return;
	if (tr.parentNode.nodeSelected)
		tr.parentNode.nodeSelected.className = (tr.parentNode.nodeSelected.getAttribute("oldFocusClassName")||'');
	tr.parentNode.nodeSelected = tr;
	if (tr.parentNode.parentNode.dynamique && tr.parentNode.parentNode.updatable)
	{

		tr.onformulaire();
	}
	else
	{
		tr.className =  'selected';
	}
}

function tronformulaire(tr)
{
	table = tr.parentNode.parentNode;
	rowindex = tr.sectionRowIndex;

	if (table.lastligne == rowindex) return;

	if (!table.saveRow()) return;

	data = tr.cells[tr.cells.length-1].innerHTML;
	if (data != '')
	{
		datas = data.split('|');
		colonne = table.tBodies[0].rows[table.tBodies[0].rows.length-1].cells[table.tBodies[0].rows[table.tBodies[0].rows.length-1].cells.length - 1].innerHTML;
		colonnes = colonne.split(',');
		for (numcol = 0; numcol< colonnes.length; numcol++)
		{
	    	setValue(colonnes[numcol], datas[numcol]);
		}
	}

	try {
		beforeshow = new Function('return '+ tr.parentNode.parentNode.id+ '_beforeShow();');
		Dialog.setMessage("");
		if (!beforeshow())
		{
			if (Dialog.message != '')
				Dialog.alert(Dialog.message, {windowParameters: {width:300}, okLabel: "OK"});
			return;
		}
	}
	catch (e){};

	table.swapRow(table.tBodies[0].rows.length-1, rowindex);
	table.lastligne = rowindex;
	table.tBodies[0].rows[rowindex].show();
	table.tBodies[0].rows[table.tBodies[0].rows.length -1].hide();
}

function table_cancelRow()
{
	if(this.lastligne != -1)
	{
		this.swapRow(this.tBodies[0].rows.length-1, this.lastligne);
		this.tBodies[0].rows[this.tBodies[0].rows.length -1].hide();
		if (this.tBodies[0].rows[this.lastligne].etat == 1)
		{
			this.tBodies[0].deleteRow(this.lastligne);
		}
		else
		{
			if(this.lastligne != -1)
			{
				this.tBodies[0].rows[this.lastligne].show();
			}
		}
	}
	this.lastligne = -1;
}

function table_checkRowIsModified()
{
	if(this.lastligne != -1)
	{
		row = this.tBodies[0].rows[this.tBodies[0].rows.length-1];
		rowformulaire = this.tBodies[0].rows[this.lastligne];
		data = rowformulaire.cells[rowformulaire.cells.length-1].innerHTML;
		datas = data.split(',');
		newinner = '';
		glue= '';
		for (var i = 0; i< datas.length; i++)
		{
			var obj = getObj(datas[i]);
			var value = getValue(datas[i]);
			newinner += glue;
			newinner += value;
			glue='|';
		}
		if (row.cells[row.cells.length-1].innerHTML != newinner)
		{
			return true;
		}
	}
	return false;
}

function table_saveRow()
{

	if(this.lastligne != -1)
	{

		rowformulaire = this.tBodies[0].rows[this.lastligne];
		row = this.tBodies[0].rows[this.tBodies[0].rows.length-1];

		data = rowformulaire.cells[rowformulaire.cells.length-1].innerHTML;
		datas = data.split(',');
		var values = new Array();
		newinner = '';
		glue= '';
		var nonnul = false;

		try {
			beforeupdate = new Function('return '+ this.id+ '_beforeUpdate();');
			if (!beforeupdate())
			{
				Dialog.alert(Dialog.message, {windowParameters: {width:300}, okLabel: "OK"});
				return ;
			}
		}
		catch (e){};

		for (var i = 0; i< datas.length; i++)
		{

			var obj = getObj(datas[i]);
			var value = getValue(datas[i]);
			if (Element.hasClassName(obj, 'obligatoire') && value == '')
			{
				if (obj.getAttribute('MessageObligatoire'))
				{
					alerte(obj.getAttribute('MessageObligatoire'));
					return false;
				}
				try {
					var td = obj.parentNode;
					while (td.tagName != 'TD')td = td.parentNode;
					alerte(this.tHead.rows[0].cells[td.cellIndex].innerHTML + ' est vide');
					return false;
				} catch(e)
				{
					alerte(datas[i]+ ' est vide');
					return false;
				};
			}
			nonnul = (nonnul || value);
			values[(datas[i])] = value;
			newinner += glue;
			newinner += value;
			glue='|';
		}
		if (!nonnul)
		{
			alerte('Aucune donnée n\'a été saisie');
			return false;
		}

		if (row.cells[row.cells.length-1].innerHTML != newinner)
		{
			row.cells[row.cells.length-1].innerHTML = newinner;
			if (row.etat != 1) row.etat = 2;

			var modele = this.tBodies[0].rows[this.tBodies[0].rows.length-2];
			for (numcol = 0; numcol< row.cells.length-2 ;numcol++)
			{
				cellInner = modele.cells[numcol].innerHTML;
				for (var i = 0; i< datas.length; i++)
				{
					tmpreg = new RegExp("@" + datas[i] , "g");
					cellInner = cellInner.replace(tmpreg, values[(datas[i])]);
				}
				row.cells[numcol].innerHTML = cellInner;
			}
			this.isModified = true;
		}
		this.swapRow(this.tBodies[0].rows.length-1, this.lastligne);
		this.tBodies[0].rows[this.lastligne].show();
		this.tBodies[0].rows[this.tBodies[0].rows.length-1].hide();
	}
	this.lastligne = -1;
	return true;
}

function table_beforeQuit()
{
	if (this.checkRowIsModified())
		this.saveRow();
	if (checkModified && this.isModified)
	{
		Check = confirm("Vous vous apprêtez à quitter la page en cours mais des modifications sur cette page n'ont pas été enregistrées.\nVoulez vous les enregistrer ?");
     	if(Check != false)
			this.save();
	}
}

function table_addRow(table)
{
	index  = 0;
	if (this.lastligne != -1)
		index = this.lastligne+1;
	else if (this.nodeSelected)
		index = this.nodeSelected.sectionRowIndex;
	if (index < 0 ) index = 0;
	if (index > this.tBodies[0].rows.length-2 ) index = this.tBodies[0].rows.length-2;

	index = 0;
	if (!this.saveRow()) return;
	var tr = this.tBodies[0].insertRow(index);
	var trmodel = this.tBodies[0].rows[this.tBodies[0].rows.length-2];
	nbcells = trmodel.cells.length
	for (numcell = 0; numcell < nbcells ; numcell++)
	{
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = trmodel.cells[numcell].innerHTML;
		if (!Element.visible(trmodel.cells[numcell]))
			Element.hide(td);
	}

	this.lastligne = tr.sectionRowIndex;
	tr.onformulaire = function(){tronformulaire(tr) };
	tr.hide = function(){trhide(tr) };
	tr.show = function(){trshow(tr) };
	tr.etat =1;
	Element.addClassName(tr, 'new');
	tr.onclick=  function(){tronmouseclick(tr) };

	tdaction = tr.cells[tr.cells.length-2];
	img = tr.getElementsByTagName('img');
	try
	{
		img[0].onclick = function(){tr.parentNode.parentNode.delRow(tr) };
	}
	catch(e){};

	tr.hide();
	this.swapRow(this.tBodies[0].rows.length-1, this.lastligne);

	rowformulaire = this.tBodies[0].rows[this.lastligne];
	data = rowformulaire.cells[rowformulaire.cells.length-1].innerHTML;
	datas = data.split(',');
	for (var i = 0; i< datas.length; i++)
	{
		setValue(datas[i],'');
	}

	try {
		beforeshow = new Function(this.id+ '_beforeShow();');
	 	beforeshow();
	}
	catch (e){};

	this.tBodies[0].rows[this.lastligne].show();
	try {
		this.focus();
		var inputs = this.tBodies[0].rows[this.lastligne].getElementsByTagName('input');
		for (var num = 0; num < inputs.length; num++)
		{
			if (inputs[num].type != 'hidden' && inputs[num].style.display != 'none')
			{
				inputs[num].focus();
				break;
			}
		}
	}
	catch (e){};

	try {
		afteradd = new Function('return '+ this.id+ '_afterAdd();');
		afteradd();
	}
	catch (e){};

	newinner = '';
	glue= '';
	for (var i = 0; i< datas.length; i++)
	{
		var obj = getObj(datas[i]);
		var value = getValue(datas[i]);
		newinner += glue;
		newinner += value;
		glue='|';
	}
	tr.cells[tr.cells.length-1].innerHTML = newinner;
}

function table_delRow(tr)
{
	if (this.lastligne != -1)
	{
		this.swapRow(this.tBodies[0].rows.length-1, this.lastligne);
		this.tBodies[0].rows[this.tBodies[0].rows.length -1].hide();
		if (this.tBodies[0].rows[this.lastligne].etat == 1)
		{
			this.tBodies[0].deleteRow(this.lastligne);
		}
		else
		{
			this.tBodies[0].rows[this.lastligne].show();
			if (!tr)
				tr = this.tBodies[0].rows[this.lastligne];
		}
	}
	this.lastligne = -1;
	if (tr)
	{
		if (tr.etat == 1)
		{
			tr.parentNode.deleteRow(tr.sectionRowIndex);
			return;
		}
		tr.etat = 3;
		Element.addClassName(tr, 'delete');
		this.isModified = true;
		tr.onmouseout = '';
		tr.onmouseover = '';
	}
}
function table_reload(table)
{
		$("ACTION").value = "MULTI";
		$("ENVOI_TABLEAU_DYNAMIQUE").value = "";
		$("ENVOI_TABLEAU_DYNAMIQUE").form.submit();

}

function table_save(table)
{
	suppression = "";
	miseajour = "";
	insert = "";
	champs = "";
	if (this.checkRowIsModified())
		if (!this.saveRow())
			return;
	if (!this.isModified) return;
	var trs = this.tBodies[0].rows;
	this.etat = 0;
	numligneformulaire = this.lastligne;
	if (this.lastligne == -1)
		numligneformulaire = trs.length-1;

	var nom = trs[numligneformulaire].cells[trs[numligneformulaire].cells.length -1 ].innerHTML.split(',');

	for (numLigne = 0 ; numLigne < trs.length - 2 ; numLigne++ )
	{
		tr =  trs[numLigne];
		this.etat +=tr.etat;
		var data = tr.cells[tr.cells.length -1 ].innerHTML;
		datas = data.split('|');
		switch (tr.etat)
		{
			case 1:
				insert += "INSERT|";
				for (numColonne = 0 ; numColonne < nom.length ; numColonne++ )
				{
					insert += "|'"+datas[numColonne]+"'";
				}
			    insert += "{fin}";
				break;
			case 2: //modification
			    miseajour += "UPDATE|";
				for (numColonne = 0 ; numColonne < nom.length ; numColonne++ )
				{
					miseajour += "|'"+datas[numColonne]+"'";
				}
				miseajour += "{fin}";
				break;
			case 3:
			    suppression += "DELETE|";
				for (numColonne = 0 ; numColonne < nom.length ; numColonne++ )
				{
					suppression += "|'"+datas[numColonne]+"'";
				}
			    suppression += "{fin}";
				break;
		}
	}

	if (this.etat > 0)
	{
		for (numColonne = 0 ; numColonne < nom.length ; numColonne++ )
		{
			champs += "|/{"+nom[numColonne]+"}/";
		}
		champs += "{fin}";
   		Dialog.info("Mise à jour en cours",   {windowParameters: {width:300}, showProgress: true });
		$("ACTION").value = "MULTI";
		$("ENVOI_TABLEAU_DYNAMIQUE").value = champs+suppression+miseajour+insert;
		$("ENVOI_TABLEAU_DYNAMIQUE").form.submit();
	}
	this.isModified = false;
}


function tronmouseout(tr){
	if(tr.parentNode.nodeSelected && tr.parentNode.nodeSelected == tr) return;
    tr.className =  (tr.getAttribute("oldFocusClassName")||'');
	if (tr.parentNode.parentNode.dynamique && navigator.appVersion.match(/\bMSIE\b/))
		tr.parentNode.parentNode.tHead.rows[0].style.top = tr.parentNode.parentNode.parentNode.scrollTop;
}

function tronmouseover(tr){
	if(tr.parentNode.nodeSelected && tr.parentNode.nodeSelected == tr) return;
	tr.setAttribute("oldFocusClassName", tr.className);
	tr.className = 'focus';
	if (tr.parentNode.parentNode.dynamique && navigator.appVersion.match(/\bMSIE\b/))
		tr.parentNode.parentNode.tHead.rows[0].style.top = tr.parentNode.parentNode.parentNode.scrollTop;
}

function trshow(tr){
	try
	{
		tr.style.display = 'table-row';
	}
	catch(e)
	{
		tr.style.display = 'inline';
	}
}

function trhide(tr){
	tr.style.display = 'none';
}

function theadtdonmouseout(td){
    try {
		if (td.style)
			td.style.cursor = '';
	    } catch (e) {}

}

function theadtdonmouseover(td){
    try {
		if (td.style && !(td.getAttribute("orderby") == 'false'))
			td.style.cursor = 'pointer';
	    } catch (e) {}
}

function theadtdonclick(e, td){
	if (Event.element(e) != td) return;
	table = td.parentNode.parentNode.parentNode;

	if(td.getAttribute("orderby") == 'false')
        return;

	if (!table.coltri) table.coltri = 0;

	Element.removeClassName(table.rows[0].cells[table.coltri], 'tridecroissant');
	Element.removeClassName(table.rows[0].cells[table.coltri], 'tricroissant');

	table.coltri = td.cellIndex;

	td.order = td.order * -1;
	if (td.order == 1){
		Element.removeClassName(td, 'tricroissant');
		Element.addClassName(td, 'tridecroissant');
	}
	else {
		Element.removeClassName(td, 'tridecroissant');
		Element.addClassName(td, 'tricroissant');
	}
	table.order = td.order;
	if (!td.getAttribute("datatype")){
        datatype = 3;
		for (irow = 0; irow < table.tBodies[0].rows.length; irow++){
			if (isNaN(table.getValue(irow, td.cellIndex)))
			{
				datatype = 2;
				break;
			}
		}

		if (datatype == 2)
		{
			regT = new Array(
		        /^(0[1-9]|[1-3]0|[1-3]1|[1-2][0-9])\D?(0[1-9]|1[0-2])\D?(0|[1-9]|\d{2}|\d{3}|\d{4})$/,
		        /^(0[1-9]|[1-3]0|[1-3]1|[1-2][0-9])\D?([1-9]|0[1-9]|1[0-2])\D?(0|[1-9]|\d{2}|\d{3}|\d{4})$/,
		        /^([1-9]|0[1-9]|[1-3]0|[1-3]1|[1-2][0-9])\D?([1-9]|0[1-9]|1[0-2])\D?(0|[1-9]|\d{2}|\d{3}|\d{4})$/
	        )
	        datatype = 2;
			for (irow = 0; irow < table.tBodies[0].rows.length; irow++){
				if (table.getValue(irow, td.cellIndex)=='') {
			   		table.tBodies[0].rows[irow].cells[td.cellIndex].setAttribute("tmporderby","");
					continue;
				}
		        var testdate = false;
				for(i=0; i<regT.length; i++){
				   if(regT[i].test(table.getValue(irow, td.cellIndex))) {
				   		testdate = true;
				   		table.tBodies[0].rows[irow].cells[td.cellIndex].setAttribute("tmporderby",RegExp.$3+RegExp.$2+RegExp.$1);
				   }
				}
				if (!testdate){
					datatype = 1;
					break;
				}
			}
			if (datatype == 2){
				for (irow = 0; irow < table.tBodies[0].rows.length; irow++){
					table.tBodies[0].rows[irow].cells[td.cellIndex].setAttribute("orderby",table.tBodies[0].rows[irow].cells[td.cellIndex].getAttribute("tmporderby"));
				}
			}
		}
		td.setAttribute("datatype", datatype);
		td.datatype = datatype;
	}
	table.datatype = td.datatype;
	table.sort(0, table.tBodies[0].rows.length);
	var classname = 'impaire';
	$$('table.tableau tbody tr').each(function(element) {
		classname = (classname == 'paire') ? 'impaire' : 'paire';
		if (!Element.hasClassName('element', 'new') && !Element.hasClassName('element', 'delete'))
			element.className = classname;
	});
}

function table_swapRow (row1, row2) {
	var trs = this.tBodies[0].getElementsByTagName("tr");
	if (this.dynamique)
	{
		var etat1 = this.tBodies[0].rows[row1].etat;
		var etat2 = this.tBodies[0].rows[row2].etat;
	}
	if(!trs[row1] || !trs[row2]) return;

	//memorisation de la valeur des imputs
	var vals = new Array();
	var inputs = this.tBodies[0].getElementsByTagName('input');
	for (var num = 0; num < inputs.length; num++)
	{
		if (inputs[num].name != '')
			vals[inputs[num].name] = getValue(inputs[num].name);
	}

	if(row1 == row2 + 1)
	{
		this.tBodies[0].insertBefore(trs[row1], trs[row2]);
	}
	else if(row2 == row1 + 1) {
		this.tBodies[0].insertBefore(trs[row2], trs[row1]);
	}
	else
	{
		var tmpNode = this.tBodies[0].replaceChild(trs[row1], trs[row2]);

		if(typeof(trs[row1]) != "undefined")
		{
			this.tBodies[0].insertBefore(tmpNode, trs[row1]);
		}
		else {
			this.tBodies[0].appendChild(tmpNode);
		}
	}
	//restauration de la valeur des imputs
	for (var num = 0; num < inputs.length; num++)
	{
		if (inputs[num].name != '')
			setValue(inputs[num].name, vals[inputs[num].name]);
	}

	if (this.dynamique)
	{
		this.tBodies[0].rows[row1].etat = etat2;
		this.tBodies[0].rows[row2].etat = etat1;
	}

}


function table_compare(row1, row2){
		if (this.order > 0)
			return (this.getValue(row1, this.coltri) < this.getValue(row2, this.coltri));
		else
			return (this.getValue(row1, this.coltri) > this.getValue(row2, this.coltri));

}

function table_getvalue(row, col) {

	if (!this.tBodies[0].rows[row].cells[col].getAttribute("orderby"))	{
		var child = this.tBodies[0].rows[row].cells[col];
		var value = child.nodeValue;
		while (child && child.nodetype != 3) {
			value = child.nodeValue
			child = child.firstChild;
		}
		if (this.datatype == 3)
			return Number(value);
		this.tBodies[0].rows[row].cells[col].setAttribute("orderby", value);
	}
	return this.tBodies[0].rows[row].cells[col].getAttribute("orderby");
}

/* on prefere un algorythme qui minimise le nombre de swap de ligne */
function table_sort()
{
	var i = 0;
	var j = 0;

	var trs = this.tBodies[0].getElementsByTagName("tr");
	var max = trs.length;
	if (this.dynamique)
	{
		this.cancelRow();
		max = max -2;
	}
	var indice = 0;
	for (i = 0; i < max; i++) {
		indice = i;
		for( var j= i+1; j < max; j++)	{
			if (this.compare(indice,j))
				indice = j;
		}
		if (indice != i)
			this.swapRow(i, indice);
	}

 };

var _classname = 'paire';
function _trinit(element)
{
	element.onmouseover= function(){tronmouseover(element) };
	element.onmouseout = function(){tronmouseout(element) };
	element.onformulaire = function(){tronformulaire(element) };
	element.hide = function(){trhide(element) };
	element.show = function(){trshow(element) };
	element.etat = 0;
	Event.observe(element, 'click', function() {tronmouseclick(element) }, false);
	if (element.parentNode.parentNode.dynamique)
	{
		try
		{
			if (element.sectionRowIndex < (element.parentNode.parentNode.rows.length -3))
			{
				tdaction = element.cells[element.cells.length-2];
				img = tdaction.getElementsByTagName('img');
				try
				{
					img[0].onclick = function(){element.parentNode.parentNode.delRow(element) };
				}
				catch(e){};
			}
		}
		catch(e) {};
	}
	_classname = (_classname == 'paire') ? 'impaire' : 'paire';
	element.className = _classname
}
function _thinit(element)
{
	element.order = 1;
	element.type = 1;
	Event.observe(element, 'mouseover', function(){theadtdonmouseover(element) }, false);
	Event.observe(element, 'mouseout', function(){theadtdonmouseout(element) }, false);
	Event.observe(element, 'click', function(e){theadtdonclick(e,element) }, false);
}

 Event.onDOMReady(function() {
 	$$('table.tableau').each(function(element) {
		element.swapRow  = table_swapRow;
		element.sort = table_sort;
		element.compare = table_compare;
		element.getValue = table_getvalue;
 		element.dynamique = false;
 		element.updatable = false;
// 		for (var index = 0, len = element.tBodies[0].rows.length; index < len; index++) {
// 			_trinit(element.tBodies[0].rows[index]);
// 		}
	});

	dynamique = document.getElementById('tableaudynamique');
	if(dynamique)
	{
		$$('#tableaudynamique table.tableau').each(function(element) {
	 		element.dynamique = true;
	 		element.updatable = true;
	 		element.isModified = false;
	 		if (Element.hasClassName(element, 'noupdatable'))
	 		{
	 			element.updatable = false;
	 		}
			element.addRow = table_addRow;
			element.checkRowIsModified = table_checkRowIsModified;
			element.saveRow = table_saveRow;
			element.delRow = table_delRow;
			element.cancelRow = table_cancelRow;
			element.save = table_save;
			element.reload = table_reload;
			element.beforeQuit = table_beforeQuit;

			element.lastligne=-1;
			var tab = $('tableContainer');
			try
			{
				hauteur_tableau = hauteur_tableau.replace(/px/,'');
			}
			catch(e){
				hauteur_tableau = 0;
			};

	 		if (hauteur_tableau == -1)
			{
				Element.setStyle(tab, 'overflow', 'visible');
			}
	 		else if (hauteur_tableau >= 0)
			{
				Element.addClassName(tab,"tableContainerhauteur")
				if (hauteur_tableau > 0)
				{
					tab.style.height= hauteur_tableau+'px';
				}
				if (element.clientHeight > tab.clientHeight)
			 	{
					if (navigator.appVersion.match(/\bMSIE\b/))
					{
						element.tHead.rows[0].style.position= 'relative';
			 			element.tHead.rows[0].style.top = 0;
					}
					else
					{
						element.tBodies[0].style.overflow = 'auto';
						element.tBodies[0].style.overflowX = 'hidden';
						element.tBodies[0].style.height = parseFloat(tab.clientHeight - (element.tHead.clientHeight+2))+'px';
					}
			 	}
			}

		 	trhide(element.tBodies[0].rows[element.tBodies[0].rows.length-1]);
		 	trhide(element.tBodies[0].rows[element.tBodies[0].rows.length-2]);

		 	$$('#tab_add').each(function(add) {
				Event.observe(add, 'click', function(){element.addRow() }, false);
		 	});
		 	$$('#tab_save').each(function(save) {
				Event.observe(save, 'click', function(){checkModified = false ;element.save() }, false);
		 	});
		 	$$('#tab_cancel').each(function(cancel) {
				Event.observe(cancel, 'click', function(){checkModified = false; element.reload()}, false);
		 	});

		 	$$('#validrow').each(function(img) 	{
				Event.observe(img, 'click', function(e){element.saveRow(); Event.stop(e); }, false);
		 	});
		 	$$('#cancelrow').each(function(img) 	{
				Event.observe(img, 'click', function(e){element.cancelRow(e);Event.stop(e); }, false);
		 	});
		 	$$('#deleterow').each(function(img) 	{
				Event.observe(img, 'click', function(){element.delRow();Event.stop(e); }, false);
		 	});

	 	});
 	}

	window.onbeforeunload = function () {
		$$('table.tableau').each(function(element) {if(element.dynamique) element.beforeQuit();}
			);
 	}.bind(this);

	$$('table.tableau tbody tr').each(function(element) {
	  _trinit(element);
	});

	$$('table.tableau thead td').each(function(element) {
		_thinit(element);
	});
	if (dynamique)
	{
	 	$$('#tableaudynamique table.tableau').each(function(element) {
		 	if ($('tab_add') && element.tBodies[0].rows.length == 2)
		 	{
		 		element.addRow();
		 	}
	 	});
	}
});

function afficherLigne(ligne)
{
}

function StyleTable()
{
	var oTables = document.getElementsByTagName("table");
	var pair = false;

	for (var numTable = 0; numTable < oTables.length; numTable++)
	{
		if (oTables[numTable].className == 'tableau')
		{
			for (var numRow=0; numRow < oTables[numTable].rows.length; numRow++)
			{
				classtr=oTables[numTable].rows[numRow].className;
				tmpreg = new RegExp("impaire" , "g");
				classtr = classtr.replace(tmpreg, "" );
				tmpreg = new RegExp("paire" , "g");
				classtr = classtr.replace(tmpreg, "" );

				if ( pair )
				{
					oTables[numTable].rows[numRow].className =classtr+' paire';
				}
				else
				{
					oTables[numTable].rows[numRow].className =classtr+' impaire';
				}

				pair = !pair;
			}
		}
	}
}


