// Procédures globales du projet
function PGNDATATABLES_PGNDATATABLEAFFICHE(VPNOMTABLE, VPCALLBACKSELECTION, VPREFRESH, VPVARCODEJSON )
{
	{
	if (VPCALLBACKSELECTION==undefined) VPCALLBACKSELECTION="";
	if (VPREFRESH==undefined) VPREFRESH=false;
	if (VPVARCODEJSON==undefined) VPVARCODEJSON="";
	{
		clWDAJAXMain.AJAXExecuteAsynchrone("PGA_DATATABLE_AFFICHE","PGNDATATABLES_PGNDATATABLERETOUR", "",VPNOMTABLE,VPREFRESH,VPVARCODEJSON,VPCALLBACKSELECTION);
	}
}
}
function PGNDATATABLES_PGNDATATABLERETOUR(VPRETOUR )
{
	{
	var VXNOUVELLESVALEURS=_EC(VPRETOUR,1,unescape("[%A4]"),0);
	var VXREFRESH=_EC(VPRETOUR,2,unescape("[%A4]"),0);
	var VXNBENR=_EC(VPRETOUR,3,unescape("[%A4]"),0);
	var VXNOMTABLE=_EC(VPRETOUR,4,unescape("[%A4]"),0);
	var VXCALLBACK=_EC(VPRETOUR,5,unescape("[%A4]"),0);
	var VXPARAMTABLE=_EC(VPRETOUR,6,unescape("[%A4]"),0);
	var VXJSONTABLE=_EC(VPRETOUR,7,unescape("[%A4]"),0);
	PGNJS_DATATABLE_RETOUR(VXNOMTABLE,VXCALLBACK,VXPARAMTABLE,VXJSONTABLE,VXNBENR,VXREFRESH);
}
}
function PGNDATATABLES_PGNGENEREROUTILSTABLE( )
{
	{
	var VXCODEHTML="";
	return(VXCODEHTML);
}
}
function PGNJS_SELECTION_LIGNE(event,oTableLocal,pMulti,pNomTable)
{	

	if (event.ctrlKey) {
		event.preventDefault(); 
		pMulti = true;
	}
	else pMulti = false;

	if (pMulti)
	{
		if ($(event.target.parentNode).hasClass("row_selected"))
		$(event.target.parentNode).removeClass("row_selected");
		else
		$(event.target.parentNode).addClass('row_selected');
	}
	else
	{
		$("#"+pNomTable+" tr.row_selected").removeClass("row_selected");
		$(event.target.parentNode).addClass('row_selected');
	}

	//Renvoi la valeur de la première colonne de la ligne séléctionnée (cachée ou pas)
	return PGNJS_RENVOYER_VALEUR_PREMIERE_COLONNE(oTableLocal,pMulti);
}
function PGNJS_RENVOYER_VALEUR_PREMIERE_COLONNE(oTableLocal, pMulti)
{

	var aRowData = new Array();
	var xValeurs;
	var oSelectedRows = new Array();
	var aTrs = oTableLocal.fnGetNodes();
	
	if (pMulti)
	{
		var xListeInscriptions = "";
		
		for ( var i=0; i<aTrs.length; i++ )
		{
			if ( $(aTrs[i]).hasClass('row_selected') )
			{
				oSelectedRows = new Array();
				oSelectedRows.push(aTrs[i]);
				aRowData = oTableLocal.fnGetData(oSelectedRows[0]);
				xListeInscriptions += aRowData[0]+";"
	
			}
		}
	
		return xListeInscriptions;
	}
	else
	{
		for ( var i=0; i<aTrs.length; i++ )
		{
			if ( $(aTrs[i]).hasClass('row_selected') )
			{
				oSelectedRows.push(aTrs[i]);
				break;
			}
		}
		
		aRowData = oTableLocal.fnGetData(oSelectedRows[0]);
		
		return aRowData[0];
	}

}

function PGNJS_DATATABLE_RETOUR(pNomTable,pCallBack,pParamTable,pJSONTable,pNbEnr,pRefresh)
{

	$(document).ready(function(){
		
		window["o"+pNomTable+"_nbEnr"] = pNbEnr
		if ( pRefresh == false )
		{ window["o"+pNomTable] = $("#"+pNomTable).dataTable(eval("("+pParamTable+")")); }
		window["o"+pNomTable+"_ligne"] = 0
		
		var xContenuTable;
		
		if (navigator.appName=='Microsoft Internet Explorer')
		{ xContenuTable = eval(pJSONTable); }
		else
		{ xContenuTable = JSON.parse(pJSONTable); }
		
		$('#'+pNomTable).dataTable().fnClearTable();
		$('#'+pNomTable).dataTable().fnAddData(xContenuTable);
		
		window["o"+pNomTable+"_callback"] = pCallBack;
		
		$("#"+pNomTable+" tbody").click(function(event){
			
			window["o"+pNomTable+"_ligne"] = PGNJS_SELECTION_LIGNE(event,window["o"+pNomTable],true,pNomTable);
			
			if (pCallBack != "") eval(pCallBack+"()");
			
		});
	
	});
}
function PGNJS_SELECT_ALL_LIGNES(pNomTable)
{
	$("#"+pNomTable+" tr").each(function(){
		$(this).addClass('row_selected');
	});
	
	window["o"+pNomTable+"_ligne"] = PGNJS_RENVOYER_VALEUR_PREMIERE_COLONNE(window["o"+pNomTable],true);
	if (window["o"+pNomTable+"_callback"] != "") eval(window["o"+pNomTable+"_callback"]+"()");
}
function PGNJS_UNSELECT_ALL_LIGNES(pNomTable)
{
	$("#"+pNomTable+" tr").each(function(){
		$(this).removeClass('row_selected');
	});
	
	window["o"+pNomTable+"_ligne"] = PGNJS_RENVOYER_VALEUR_PREMIERE_COLONNE(window["o"+pNomTable],true);
	if (window["o"+pNomTable+"_callback"] != "") eval(window["o"+pNomTable+"_callback"]+"()");
}

