function renderForm(Form &$form, DataModel $model, $formType = null, $raw = false)
{
$useChosen = $form->getAttribute('chosen', 'select');
$useChosen = in_array($useChosen, array('false', 'no', 'off', '0')) ? '' : $useChosen;
if ($useChosen) {
\JHtml::_('formbehavior.chosen', $useChosen);
}
if (is_null($formType)) {
$formType = $form->getAttribute('type', 'edit');
} else {
$formType = strtolower($formType);
}
switch ($formType) {
case 'browse':
return $this->renderFormBrowse($form, $model);
break;
case 'read':
if ($raw) {
return $this->renderFormRaw($form, $model, 'read');
} else {
return $this->renderFormRead($form, $model);
}
break;
default:
if ($raw) {
return $this->renderFormRaw($form, $model, 'edit');
} else {
return $this->renderFormEdit($form, $model);
}
break;
}
}