/**
  * This function returns the elementGroup for a DataElement
  *
  * @param string $field name of the field
  * @param object $dataElement the element of the field
  * @param array $fieldOptions options for the field
  * @return \Cx\Core\Html\Model\Entity\HtmlElement
  */
 public function getDataElementGroup($field, $dataElement, $fieldOptions = array())
 {
     $group = new \Cx\Core\Html\Model\Entity\HtmlElement('div');
     $group->setAttribute('class', 'group');
     $label = new \Cx\Core\Html\Model\Entity\HtmlElement('label');
     $label->setAttribute('for', 'form-' . $this->formId . '-' . $field);
     $fieldHeader = $field;
     if (isset($fieldOptions['formtext'])) {
         $fieldHeader = FormGenerator::getFormLabel($fieldOptions, 'formtext');
     } else {
         if (isset($fieldOptions['header'])) {
             $fieldHeader = FormGenerator::getFormLabel($fieldOptions, 'header');
         }
     }
     $label->addChild(new \Cx\Core\Html\Model\Entity\TextElement($fieldHeader . ' '));
     $group->addChild($label);
     $controls = new \Cx\Core\Html\Model\Entity\HtmlElement('div');
     $controls->setAttribute('class', 'controls');
     $controls->addChild($dataElement);
     if (isset($fieldOptions['tooltip'])) {
         $tooltipTrigger = new \Cx\Core\Html\Model\Entity\HtmlElement('span');
         $tooltipTrigger->setAttribute('class', 'icon-info tooltip-trigger');
         $tooltipTrigger->allowDirectClose(false);
         $tooltipMessage = new \Cx\Core\Html\Model\Entity\HtmlElement('span');
         $tooltipMessage->setAttribute('class', 'tooltip-message');
         $tooltipMessage->addChild(new \Cx\Core\Html\Model\Entity\TextElement($fieldOptions['tooltip']));
         $controls->addChild($tooltipTrigger);
         $controls->addChild($tooltipMessage);
     }
     $group->addChild($controls);
     return $group;
 }