//----------------------------------------------------
//CG_SortMasterSlave
//
//Rempli pour, un maître donné, son esclave avec les valeurs dépendantes à ce même maître
//
//Francis Desjardins - 2002/09/20
//
//MODIFICATIONS :
//	Philippe Meunier - 2004-11-23
//	Changement qui font en sorte que si la valeur par défaut (Aucune) apparait au début de la
//	Liste au lieu d'à la fin.
//
//DÉPENDANCES
//	1 - CG_PopulateJavaScriptArrayWithRS
//
//ENTRÉES
//	1 - theMaster : Le listbox maître (ex : CATEGORIE)
//	2 - theSlave : Le listbox esclave (ex : SOUS-CATEGORIE)
//	3 - arrSlaveByMaster : Tableau des éléments esclave (ex : arrFichierX[8] = 'nom fichier 1','1',nom fichier 2','2')
//						   Où "8" = le ID du maître; "nom fichier 1" =  le nom du fichier; "1" = le ID de ce fichier
//	4 - sMsgNone : Titre de l'élément à choisir si l'esclave doit rester vide (ex : Aucun)
//
//SORTIE
//	NON-RÉCUPÉRABLE
//		1 - AUCUN
//	RÉCUPÉRABLE
//		1 - AUCUN
//----------------------------------------------------
function CG_SortMasterSlave(theMaster, theSlave, arrSlaveByMaster, sMsgNone, sValueNone)
{
	if (sMsgNone == null || sMsgNone.Length == 0)
	{
		sMsgNone = 'Aucun(e)';
	}
	
	if (sValueNone == null || sValueNone.Length == 0)
		sValueNone = '0';
	
	if ( theMaster != null && theSlave != null )
	{
		try
		{ 
	   		var lstSlave = arrSlaveByMaster[theMaster.options[theMaster.selectedIndex].value];
		} 
		catch(er)
		{
		   	var lstSlave = arrSlaveByMaster[theMaster.value];
		}
		
		while (theSlave.options.length) theSlave.options[0] = null;
	
		if (lstSlave != null)
		{
			if (sMsgNone != 'SKIP')
			{
				theSlave.options.add(new Option( sMsgNone, sValueNone ));
			}
			
			for ( i = 0; i < lstSlave.length; i += 2 )
			{
				theSlave.options.add( new Option( lstSlave[i], lstSlave[i+1] ) );
			}
		}
		else
		{
			if (sMsgNone != 'SKIP')
			{
				theSlave.options[0] = new Option( sMsgNone, sValueNone );
			}
		}
	}
}
function CG_SortMasterSlave2(theMaster, theSlave, arrSlaveByMaster, sMsgNone, sValueNone)
{
	if (sMsgNone == null || sMsgNone.Length == 0)
	{
		sMsgNone = 'Aucun(e)';
	}
	
	if (sValueNone == null || sValueNone.Length == 0)
		sValueNone = '0';
	
	if ( theMaster != null && theSlave != null )
	{
		try
		{ 
	   		var lstSlave = arrSlaveByMaster[theMaster.options[theMaster.selectedIndex].value];
		} 
		catch(er)
		{
		   	var lstSlave = arrSlaveByMaster[theMaster.value];
		}
		
		while (theSlave.options.length) theSlave.options[0] = null;
	
		if (lstSlave != null)
		{
			if (sMsgNone != 'SKIP')
			{
				//theSlave.options.add(new Option( sMsgNone, sValueNone ));
			}
			
			for ( i = 0; i < lstSlave.length; i += 2 )
			{
				theSlave.options.add( new Option( lstSlave[i], lstSlave[i+1] ) );
			}
		}
		else
		{
			if (sMsgNone != 'SKIP')
			{
				//theSlave.options[0] = new Option( sMsgNone, sValueNone );
			}
		}
	}
}