//IN aDefaut -> valeurs par défauts dans un tableau
function liste_select_init( objFrom, objTo, aDefaut ) {
	var FromOpt = objFrom.options;
	aDefaut = aDefaut.sort(compare_num); // ordonne
	for ( var i = 0; i < FromOpt.length; i++ )
		FromOpt[i].selection = ( ArrayRecherche_dicho(aDefaut, FromOpt[i].value, true) != -1 );

	liste_select_refresh( objFrom, objTo );
}

function liste_select_refresh( objFrom, objTo ) {
	var FromOpt = objFrom.options;
	var ToOpt = objTo.options;
	var iLong = ToOpt.length;

	for( var i = 0; i < iLong; i++ )
		ToOpt[0] = null;

	var j = 0;
	for ( i = 0; i < FromOpt.length; i++ ) {
		if( FromOpt[i].selection) {
			if( FromOpt[i].selection == true ) {
				ToOpt[j] = new Option( FromOpt[i].text, FromOpt[i].value, false, false );
				j++;
			}
		}
	}
}

function liste_select( objFrom, objTo, iLimit) { // ajout iLimit
	//if( ! $defined( iLimit))
		//iLimit = objFrom.options.length;

	var FromOpt = objFrom.options;
	//var iTop = objTo.options.length;

//alert('iTop ' + iTop);
	
	for( var i = 0; i < FromOpt.length; i++ ) {
		if( FromOpt[i].selected ) { // && iTop < iLimit
//alert('i ' + i + ' iTop' + iTop);		
			FromOpt[i].selection = true;
			//iTop++;
		}
//alert('iLimit ' + iLimit + ' iTop' + iTop);		
	}

	liste_select_refresh( objFrom, objTo );
}

function liste_deselect( objFrom, objTo ) {
	var FromOpt = objFrom.options;
	var ToOpt = objTo.options;
	var j, bTrouve;

	for( var i = 0; i < ToOpt.length; i++ ) {
		if( ToOpt[i].selected ) {
			j = 0;
			bTrouve = false;
			while( j < FromOpt.length && bTrouve == false ) {
				if( FromOpt[j].value == ToOpt[i].value	) {
					FromOpt[j].selection = false;
					bTrouve = true;
				}
				else
					j++;
			}
		}
	}

	liste_select_refresh( objFrom, objTo );
}
function liste_select_before_submit( objTo ) {
	var aResult = [];
	var ToOpt = objTo.options;

	for( var i = 0; i < ToOpt.length; i++ ) {
		aResult[i] = ToOpt[i].value;
		ToOpt[i].selected = true;
	}

	return aResult;
}