function move(lstSrc, lstDest, idhidden, sep, leftofval, rightofval)
{
	moveItem(lstSrc, lstDest) ;
	generateIdItems(document.getElementById(idhidden), document.getElementById('sel'+idhidden), sep, leftofval, rightofval) ;
}

function moveAll(lstSrc, lstDest, idhidden, sep, leftofval, rightofval){
	var src = document.getElementById(lstSrc) ;
	
	for(i=0;i<src.length;i++){
		src.options[i].selected = true ;
	}
	
	move(lstSrc, lstDest, idhidden, sep, leftofval, rightofval) ;
}

function moveItem(lstSrc, lstDest) 
{
	var src = document.getElementById(lstSrc) ;
	var dest = document.getElementById(lstDest) ;
	
	if (src.selectedIndex < 0)
		return ;
		
	while (src.selectedIndex >= 0)
	{
		var srcIdx = src.selectedIndex ; 
		var srcValue = src.options[srcIdx].value ;
		var srcText = src.options[srcIdx].text ;
			
		src.options[srcIdx] = null ;
		
		// vérifier si pas déjà dans la liste
		for (var i=0 ; i<dest.options.length ; i++)
		{
			if (dest.options[i].value == srcValue)
				return ;
		}
		
		dest.options.add(new Option(srcText, srcValue)) ;
	}
}

function moveup(lst, idhidden, sep, leftofval, rightofval){
	var src = document.getElementById(lst) ;
	
	var srcIdx = src.selectedIndex ; 
	var srcValue = src.options[srcIdx].value ;
	var srcText = src.options[srcIdx].text ;
	
	if(srcIdx > 0){
		var srcIdxup = src.selectedIndex-1 ; 
		var srcValueup = src.options[srcIdxup].value ;
		var srcTextup = src.options[srcIdxup].text ;
		
		src.options[srcIdxup].value = srcValue ;
		src.options[srcIdxup].text = srcText ;
		src.options[srcIdx].value = srcValueup ;
		src.options[srcIdx].text = srcTextup ;
		
		src.selectedIndex=src.selectedIndex-1 ;		
	}
	
	generateIdItems(document.getElementById(idhidden), document.getElementById('sel'+idhidden), sep, leftofval, rightofval) ;
}

function movedown(lst, idhidden, sep, leftofval, rightofval){
	var src = document.getElementById(lst) ;
	
	var srcIdx = src.selectedIndex ; 
	var srcValue = src.options[srcIdx].value ;
	var srcText = src.options[srcIdx].text ;
	
	if(srcIdx < src.options.length-1){
		var srcIdxdown = src.selectedIndex+1 ; 
		var srcValuedown = src.options[srcIdxdown].value ;
		var srcTextdown = src.options[srcIdxdown].text ;
		
		src.options[srcIdxdown].value = srcValue ;
		src.options[srcIdxdown].text = srcText ;
		src.options[srcIdx].value = srcValuedown ;
		src.options[srcIdx].text = srcTextdown ;
		
		src.selectedIndex=src.selectedIndex+1 ;
	}
	
	generateIdItems(document.getElementById(idhidden), document.getElementById('sel'+idhidden), sep, leftofval, rightofval) ;
}
				
function generateIdItems(txtIdItems, lstItems, sep, leftofval, rightofval)
{
	txtIdItems.value = "" ;
	
	for (var i=0 ; i < lstItems.length ; i++)
	{
		if (i > 0) txtIdItems.value += sep ;
		txtIdItems.value += leftofval+lstItems.options[i].value+rightofval ;
	}
}

