// globals
//var noValue = '-1';
var curOption = new Array();
var isLoaded = new Array();

function fillList_conf( formName, listName, strOptions ){
  // fill any list with options
  //emptyList( formName, listName );
  // always insert selection prompt
  var lst = document.forms[formName][listName];
  lst.disabled = true;

  var aOptionPairs = strOptions.split('|');
  for( var i = 1; i < aOptionPairs.length; i++ ){
   if (aOptionPairs[i-1].indexOf('~') != -1) {
     var aOptions = aOptionPairs[i-1].split('~');
     lst.options[i] = new Option(aOptions[1], aOptions[0]);
   }
  }
  // init to no value
  selectOption( formName, listName, noValue );
  isLoaded[listName] = true;
  lst.disabled = false;
  lst.onchange = eval( listName + "Change" );
}


function fillList( formName, listName, strOptions ){
  // fill any list with options
  emptyList( formName, listName );
  // always insert selection prompt
  var lst = document.forms[formName][listName];
  lst.disabled = true;

  var aOptionPairs = strOptions.split('|');
  for( var i = 1; i < aOptionPairs.length; i++ ){
   if (aOptionPairs[i-1].indexOf('~') != -1) {
     var aOptions = aOptionPairs[i-1].split('~');
     lst.options[i] = new Option(aOptions[1], aOptions[0]);
   }
  }
  // init to no value
  selectOption( formName, listName, noValue );
  isLoaded[listName] = true;
  lst.disabled = false;
  lst.onchange = eval( listName + "Change" );
}

function emptyList( formName, listName ){
  var lst = document.forms[formName][listName];
  lst.options.length = 0;
  lst.onchange = null;
  //lst.options[0] = new Option('-', '');
  isLoaded[listName] = false;
  curOption[listName] = noValue;
}

function selectOption( formName, listName, optionVal ){
  // set list selection to option based on value
  var lst = document.forms[formName][listName];
  for( var i = 0; i< lst.options.length; i++ ){
    if( lst.options[i].value == optionVal ){
      lst.selectedIndex = i;
      curOption[listName] = optionVal;
      return;
    }
  }
}