function associar(nom_select) {
	var select2 = document.getElementById(nom_select+'_relacionats');
	var select = document.getElementById(nom_select);
	var hidden = document.getElementById(nom_select+'_hidden');
	var nb = select2.length;

	for (var i = select.length-1; i >= 0; i--) {
		if (select.options[i].selected) {
			var noutexte = select.options[i].text;
			var nouid = select.options[i].value;
			select2.length = nb+1;
			select2.options[nb].value = nouid;
			select2.options[nb].text = noutexte;
			nb = nb+1;
			hidden.value = hidden.value + nouid +",";

			var num = select.length;
			for (j=0; j<num-1; j++) {
				if (j>=i) {
					select.options[j].text = select.options[j+1].text;
					select.options[j].value = select.options[j+1].value;
				}
			}
			select.length = num-1;
		}
	}
}
function desassociar(nom_select) {
	var select = document.getElementById(nom_select);
	var select2 = document.getElementById(nom_select+'_relacionats');
	var hidden = document.getElementById(nom_select+'_hidden');
	var num = select.length;

	for (var i = select2.length-1; i >= 0; i--) {
		if (select2.options[i].selected) {
			var noutexte = select2.options[i].text;
			var nouid = select2.options[i].value;
			select.length = num+1;
			select.options[num].value = nouid;
			select.options[num].text = noutexte;
			num = num+1;
			var busq = select2.options[i].value+",";
			hidden.value = hidden.value.replace(busq,"");

			var nb = select2.length;
			for (j=0; j<nb-1; j++) {
				if (j>=i) {
					select2.options[j].text = select2.options[j+1].text;
					select2.options[j].value = select2.options[j+1].value;
				}
			}
			select2.length = nb-1;
		}
	}
}