function sortSelect(obj) {
	var o = new Array();
	if (obj.options==null) { return; }
	for (var i=0; i<obj.options.length; i++) {
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
		}
	if (o.length==0) { return; }
	o = o.sort( 
		function(a,b) { 
			if ((a.text+"") < (b.text+"")) { return -1; }
			if ((a.text+"") > (b.text+"")) { return 1; }
			return 0;
			} 
		);

	for (var i=0; i<o.length; i++) {
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}


function sl_additem( name ) {
  var txt=document.getElementById('txt_'+name);
  var lst=document.getElementById('lst_'+name);
  if (txt.value != '' ) {
    var newone = new Option(txt.value,txt.value, false, false);
    //lst.add(newone,1);
		lst.options[ls.options.length]=newone;
    txt.value='';
    sl_fillhidden(name);
		sortSelect(lst);
  }
}

function sl_delitem( name ) {
  var lst = document.getElementById('lst_'+name);
  var txt = document.getElementById('txt_'+name);
  if (lst.selectedIndex >= 0) {    
    txt.value = lst.options[lst.selectedIndex].text;
    lst.options[lst.selectedIndex] = null;
  }
  sl_fillhidden(name);  
}

function sl_debug ( name ) {
  hdn=document.getElementById(name);
  alert (hdn.value);
}

function sl_fillhidden( name ) {
  lst=document.getElementById('lst_'+name);
  hdn=document.getElementById(name);
  hdn.value='';
  if (lst.options.length>0) {
    for (i=0; i<lst.options.length-1; i++ ) {
      hdn.value+=lst.options[i].text+'|';
    }
    hdn.value+=lst.options[i].text;
  }
}

function sl_init( name, initval ) {
  if ( initval != "" ) {
    lst = document.getElementById('lst_'+name);
    var arr = initval.split("|");
    for (i=0; i<arr.length; i++ ) {  
      var newone = new Option(arr[i],arr[i], false, false);
      //lst.add(newone,1);
			lst.options[ls.options.length]=newone;
    }
    sl_fillhidden(name);
		sortSelect(lst);
  }
}

/********************************
* Double select list kezeles    *
********************************/

function dbl_debug ( name ) {
  hdn=document.getElementById(name);
  alert (hdn.value);
}

function dbl_fillhidden(name) {
	var left=document.getElementById('dbl_left_' + name);
	var lefthdn=document.getElementById('left_' + name);
	lefthdn.value='';
	if ( left.options.length > 0 ) {
		for (var i=0; i<left.options.length-1; i++) {
			lefthdn.value += left.options[i].value + "|";
		}
		lefthdn.value += left.options[i].value;
	}

	var right=document.getElementById('dbl_right_' + name);
	var righthdn=document.getElementById('right_' + name);
	righthdn.value='';
	if ( right.options.length > 0 ) {
		for (var i=0; i<right.options.length-1; i++) {
			righthdn.value += right.options[i].value + "|";
		}
		righthdn.value += right.options[i].value;
	}
	//alert ('Állapot: ' + lefthdn.value + ' ---> ' + righthdn.value);
}

function dbl_moveitem( name, f, t ) {
  var from=document.getElementById('dbl_' + f + '_' + name);
  var to=document.getElementById('dbl_' + t + '_' + name);
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			to.options[to.options.length] = new Option( o.text, o.value, false, false);
		}
	}
	for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		if (o.selected) {
			from.options[i] = null;
		}
	}
	sortSelect(from);
	sortSelect(to);
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	dbl_fillhidden(name);
}

function dbl_moveall( name, f, t ) {
  var from=document.getElementById('dbl_' + f + '_' + name);
  var to=document.getElementById('dbl_' + t + '_' + name);
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		to.options[to.options.length] = new Option( o.text, o.value, false, false);
	}
	for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		from.options[i] = null;
	}
	sortSelect(from);
	sortSelect(to);
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	dbl_fillhidden(name);
}


function dbl_init( name, left, leftvalues, right, rightvalues) {
	if ( left != "" ) {
		dbl_left = document.getElementById('dbl_left_'+name);
		var arr = left.split("|");
		var vals = leftvalues.split("|");
		for (i=0; i<arr.length; i++) {
			var newone = new Option(arr[i],vals[i], false, false);
			//dbl_left.add(newone,1);
			dbl_left.options[dbl_left.options.length]=newone;
		}
		sortSelect(dbl_left);
	}
	if ( right != "" ) {
		dbl_right = document.getElementById('dbl_right_'+name);
		var arr = right.split("|");
		var vals = rightvalues.split("|");
		for (i=0; i<arr.length; i++) {
			var newone = new Option(arr[i],vals[i], false, false);
			//dbl_right.add(newone,1);
			dbl_right.options[dbl_right.options.length]=newone;
		}
		sortSelect(dbl_right);
	}
	dbl_fillhidden(name);
}


/* vim: set ts=2: */

