
function MoveSelected(frmObj,src,tgt,quotes,onChange,onB4RightSelChange){
	if (onB4RightSelChange != ""){
		b4change = eval(onB4RightSelChange);
		if(!b4change)
			return false;
	}
	sfield = frmObj.elements["sel"+src];
	source = sfield.options.length;
	tfield = frmObj.elements["sel"+tgt];
	target = tfield.options.length;
	changed = false;
	for(i=0;i<source;i++){
		if(sfield.options[i].selected && sfield.options[i].value != ""){
			tx = sfield.options[i].text;
			vl = sfield.options[i].value;
			newOpt = new Option(tx, vl, false, false);

			tfield.options[target]=newOpt;
			sfield.options[i] = null;
			source--;
			target++;
			i--;
			SetValues(frmObj,quotes,src);
			SetValues(frmObj,quotes,tgt);
			changed = true;
		}
	}
	if ((onChange != "") && changed) 
		eval(onChange);
}
function MoveAll(frmObj,src,tgt,quotes,onChange,onB4RightSelChange){
	if (onB4RightSelChange != ""){
		b4change = eval(onB4RightSelChange);
		if(!b4change)
			return false;
	}
	sfield = frmObj.elements["sel"+src];
	source = sfield.options.length;
	tfield = frmObj.elements["sel"+tgt];
	target = tfield.options.length;
	for(l=0;l<source;l++){
		vl = sfield.options[0].value;
		tl = sfield.options[0].text;
		newOpt = new Option(tl, vl, false, false);
		tfield.options[target ++]=newOpt;
		sfield.options[0] = null;
	}
	SetValues(frmObj,quotes,src);
	SetValues(frmObj,quotes,tgt);
	if (onChange != "") eval(onChange);
}

function SetValues(frmObj,quotes,objName){
	sel = frmObj.elements["sel"+objName];
	len = sel.options.length;
	vr = "";
	tr = "";
	for(r=0;r<len;r++){
		vr += sel.options[r].value;
		if(r < len -1){
			vr += "";
		}
		tr += sel.options[r].text;
		if(r < len -1){
			vr += ",";
			tr += ",";
		}
	}
	Obj=frmObj.elements[objName];
	Obj.value = vr;

	Obj=frmObj.elements[objName+"_text"];
	if (Obj != null)
		Obj.value= tr;
}