/*
 *
 * SELECT.JS library with helper functions for working with
 * SELECT objects
 * Author: Jakub Labath <jakub@labath.org>
 * Date: March 2002
 * This software comes with
 * NO WARRANTY!!! USE AT YOUR OWN RISK!!!
 *
 */

function getSize(selObj){
	var i = 0;
	while (selObj.options[i]){
	  i++;
	}
	return(i);
}

function emptySelect(selObj){
  var size = selObj.length;
  for (var i = size; i >= 0; i--){
  	selObj.options[i] = null;
  }
  //mozilla redraw thing
  selObj.options[0] = new Option("");
  selObj.options[0] = null;
}

function removeSelectedOptions(selObj){
	var size = selObj.length;
	var newAry = new Array();
	var j = 0;
	for (var i = 0; i < size ; i++){
		if (selObj.options[i].selected == false){
			newAry[j] = new Array(selObj.options[i].value,selObj.options[i].text);
			j++;
		}
	}
	emptySelect(selObj);
	for (var i = 0 ; i < j; i++){
		selObj.options[i] = new Option (newAry[i][1],newAry[i][0]);
	}
}

function moveSelected(fromObj,toObj){
	var size = fromObj.length;
	var targetSize = toObj.length;
	var newAry = new Array();
	var j = 0;
	for (var i = 0; i < size ; i++){
		if (fromObj.options[i].selected == true){
			newAry[j] = new Array(fromObj.options[i].value,fromObj.options[i].text);
			j++;
		}
	}
	for (var i = 0 ; i < j; i++){
		toObj.options[(i+targetSize)] = new Option (newAry[i][1],newAry[i][0]);
	}
}

function selectAll(selObj){
	var size = getSize(selObj);
	for (var i = 0 ; i < size ; i++){
		selObj.options[i].selected = true;
	}
}

function getFirstSelectedOption(selObj){
	var soption;
	var size = getSize(selObj);
	for (var i = 0 ; i < size ; i++){
		if (selObj.options[i].selected == true){
		  soption = selObj.options[i];
		  break;
	        }
	}
	return soption;
}

