name = $name; $this->setGroup(''); $this->addOptions($opts); } public function setClass($n) { $this->class = $n; return $this; } public function setId($id) { $this->id = $id; return $this; } public function addOption($key, $value) { $this->opts[$this->state_group]['data'][$key] = $value; return $this; } public function addOptions($opts) { foreach ($opts as $k=>$v) $this->addOption($k, $v); return $this; } public function setGroup($name, $label = null) { $this->state_group = $name; if (!isset($this->opts[$name]['label'])) $this->opts[$name]['label'] = $label; return $this; } public function render($name='', $selected='') { if (empty($name)) $name = $this->name; $o = "'; return $o; } private $opts = array(); private $name = ''; private $class; private $id; private $state_group; }