function saveData(inputOnSave, listado) 
{
	var i=listado.length-1, str='';
	while(i>=0) 
	{
		if (listado.options[i].value != '') 
		str = str + listado.options[i].value + ';' ;
		i--;
	}

	document.getElementById(inputOnSave).value = str;
}

function InsertElement(desti,valor,text)
{
	var index=0;
	var trobat=false;
	for(index=0;(index<desti.length && !trobat);index++) 
	{
		if (desti.options[index]!=null && desti.options[index].value == valor)
			trobat=true;
	}

	if (!trobat) 
	{
		var elem = new Option(text, valor, false, true);
		elem.selected=false;
		desti.options[desti.length]=elem;
	}
}

function InsertAllElements(disponibles,seleccionats,inputOnSave, placeToSave)
{ 
	var i=disponibles.length-1;

	while(i>=0) 
	{
		if (disponibles.options[i].value != '') 
		{
			InsertElement(seleccionats,disponibles.options[i].value,disponibles.options[i].text);
			disponibles.options[i]=null;
		}
		i--;
	}
	if (inputOnSave !='')
		saveData(inputOnSave, placeToSave);
}

function DeleteElement(source, txt)
{
	var i=source.length-1;
	for (i; i>=0; i--)
	{
		if (source.options[i].text == txt)  {
			source.options[i]=null;
		}
	}
}

function InsertSelectedElements(disponibles,seleccionats, inputOnSave, placeToSave)
{
	var i=disponibles.length-1;
	while(i>=0)
	{
		if (disponibles.options[i].selected && disponibles.options[i].value != '') 
		{
			InsertElement(seleccionats,disponibles.options[i].value,disponibles.options[i].text);
			disponibles.options[i]=null;
		}
		i--;
	}
	if (inputOnSave !='')
		saveData(inputOnSave, placeToSave);
}

function eliminar_disp(seleccionats,disponibles)
{
	var sp1=seleccionats.length-1;
	var dp1=disponibles.length-1;

	while(sp1>0)
	{
		if (seleccionats.options[sp1].value != '') 
		{
			dp1=disponibles.length-1;
			while (dp1 > 0)
			{
				if (seleccionats.options[sp1].value == disponibles.options[dp1].value)
				{
					disponibles.options[dp1]=null;
				}
				dp1--;
			}
		}
		sp1--;
	}
}

function generarGrupos(seleccionats,grups,campo)
{
	var i=1;
	var n=seleccionats.length;
	grups.value = "";
	while(i<n)
	{
		if (seleccionats.options[i].value != '') 
		{
			if(campo=="text") grups.value = grups.value + seleccionats.options[i].text + ";";
			if(campo=="value") grups.value = grups.value + seleccionats.options[i].value + ";";
		}
		i++;
	}
}


