/* ---------------------------------------------------------------------

   Copyright (c) 2002 by Bartosz Pliszka <bart@task.gda.pl>
   panel dodaj/usun z listy na liste

   GNU GPL   
--------------------------------------------------------------------- */

/*

 lista skladnikow

*/
function mainList(f,list){ //filtr
  document.writeln("<select name=" + f.leftName + " size=" + f.panelHeight + " >");
	f.leftL=0;
	for (i=0;i<f.list.length;i++){
 	 	if ( f.list[i][2] == 0 )
 	 	{
			document.writeln("<option value=" + f.list[i][0] + ">" + f.list[i][1] + "</option>");
			f.leftL++;
		};
  };
	for (i = f.leftL; i < (f.list.length+1); i++)
	{
		document.writeln("<option value=puste></option>");
	};
  document.writeln('<option value="">                               </option>');
  document.writeln("</select>");
  document.writeln("<input type=hidden name=" + f.selectedListName + " value='dupa1'>");
};
/*

prawa lista

*/
function rightList(f,list){
  document.writeln("<select name=" + f.rightName + " size=" + f.panelHeight + " >");
	f.rightL=0;
	for (i=0;i<f.list.length;i++)
	{
 	 	if ( f.list[i][2] == 1 )
 	 	{
			document.writeln("<option value=" + f.list[i][0] + ">" + f.list[i][1] + "</option>");
			f.rightL++;
		};
	};
	for (i = f.rightL; i < (f.list.length+1); i++)
	{
		document.writeln("<option value=puste></option>");
	};

  document.writeln('<option value="">                               </option>');
  document.writeln("</select>");
  updateSelectedList(f);
};

/* 

 dodajemy

 */
function add(f)
{
	F=document[f.formName];
	zlisty=F[f.leftName].options;
	naliste=F[f.rightName].options;
	index=F[f.leftName].selectedIndex;
	if ((f.leftL > -1) && ( index> -1) && (zlisty[index].value != "puste") ) 
	{
		selectedId=zlisty[F[f.leftName].selectedIndex].value;
		naliste[f.rightL].text = zlisty[F[f.leftName].selectedIndex].text;
		naliste[f.rightL].value=selectedId;
		f.rightL++ ;
		for ( i = index; i < (f.leftL); i++)
		{
			zlisty[i].value=zlisty[i+1].value;
			zlisty[i].text=zlisty[i+1].text;
		}
  		zlisty[f.leftL-1].value="puste";
  		zlisty[f.leftL-1].text=f.puste;
		if (  F[f.leftName].selectedIndex.value >0)
		{
			F[f.leftName].selectedIndex.value--;
		};
		if ( f.leftL > 0 ) 
		{
			f.leftL--;
		};
		updateSelectedList(f);
	}
	else
	{
		alert ("Musisz coś zaznaczyć ! " ) ;
	};
};
/*

	Usuwanie

*/
function del(f){
	F=document[f.formName];
	lista=F[f.rightName].options;
	index=F[f.rightName].selectedIndex;
	if ((f.rightL > -1) && ( index> -1 && (lista[index].value != "puste")) ) 
	{
		selectedId=F[f.rightName].options[F[f.rightName].selectedIndex].value;
		F[f.leftName].options[f.leftL].text = F[f.rightName].options[F[f.rightName].selectedIndex].text;
		F[f.leftName].options[f.leftL].value=selectedId;
		f.leftL++ ;
		for ( i = index; i < (f.rightL); i++)
		{
			lista[i].value=lista[i+1].value;
			lista[i].text=lista[i+1].text;
		};
		lista[f.rightL-1].value="puste";
		lista[f.rightL-1].text=f.puste;
		if ( f.rightL > 0 )
		{
			f.rightL--;
		};
		updateSelectedList(f);
	}
	else
	{
		alert ("Musisz coś zaznaczyć !"); 
	}
};
/*
 
	------

*/
function pustaLista(f){
  document.writeln("<select name=" +f.rightName + " size=" + f.panelHeight +" >");
    document.writeln("<option value=puste>" + f.puste +"</option>");
  for (i = 1; i < f.n; i++)
  {
    document.writeln("<option value=puste></option>");
  };
  document.writeln("</select>");
};
/*

	-----
 
*/
function czyscListe(f){
  F=document[f.formName];
  for (i=1;i<F.lista.options.length;i++){
    F.lista.options[i].value="puste";
    F.lista.options[i].text="";
  }
};

/*
 

*/
function select2main(f,list,numb)
{
	document.write('<table><tr><td>');
	mainList(f,list);
	document.write('</td><td align="center">');
	document.write('<input type="button" name="dodaj" value="Dodaj>>" onClick="add(this,list,f)"><br>');
	document.write('<input type="button" name="usun" value="<<Usuń" onClick="del(this)">');
	document.write('</td><td>');
	pustaLista(numb);
	document.write('</td></tr></table>');
};

function updateSelectedList(f)
{
	F=document[f.formName];
	sl=F[f.selectedListName];
	sl.value="";
	for ( i = 0; i < f.rightL; i++)
	{
		sl.value+=F[f.rightName].options[i].value + ",";
	};
};

