public function GetFieldInput($id, &$params, $returnid)
 {
     $mod = $this->form_ptr->module_ptr;
     $js = $this->GetOption('javascript', '');
     // why all this? Associative arrays are not guaranteed to preserve
     // order, except in "chronological" creation order.
     $sorted = array();
     $subjects = $this->GetOptionRef('option_name');
     if (count($subjects) > 1) {
         for ($i = 0; $i < count($subjects); $i++) {
             $sorted[$subjects[$i]] = $i + 1;
         }
         if ($this->GetOption('sort') == '1') {
             ksort($sorted);
         }
     } else {
         $sorted[$subjects] = '1';
     }
     if ($this->GetOption('select_one', '') != '') {
         $sorted = array(' ' . $this->GetOption('select_one', '') => '') + $sorted;
     }
     return formbuilder_utils::create_input_dropdown($id, $this->GetCSSId(), $sorted, -1, $this->Value, $js, $this->isRequired());
 }