$_types = array('webpage');
$_types = $GLOBALS['Loader']->LoadConfig('documenttypes_add');

$_form = Documents_Document::BuildTypedForm(array_merge(array('base'), $_types));

foreach(array_keys($_form) as $_form_field)
{
    switch ($_form[$_form_field]['fieldtype']){
    	case 'datetime':
    		$_form[$_form_field]['_rule'][] = 'date';
        case 'int':
        case 'float':
        	$_form[$_form_field]['_rule'][] = 'numeric';
        case 'string':        
            $_form[$_form_field]['type'] = 'text';
        break;
        case 'text':
        case 'array':
            if (isset($_form[$_form_field]['_rule'][0]) && (($_form[$_form_field]['_rule'][0] == 'nn|files') || ($_form[$_form_field]['_rule'][0] == 'mn|files')))
            {
                $_form[$_form_field]['type'] = 'file';
            }
            else
            {
                $_form[$_form_field]['type'] = 'textarea';
            }
        break;
        case 'boolean':
            $_form[$_form_field]['type'] = 'checkbox';
        break;

    }
    
    $_form[$_form_field]['title'] = $_form[$_form_field]['comment'];

    $_form[$_form_field]['default'] = '"'.$_form[$_form_field]['def'].'"'; 
}

$_technical_data = array(
            'type' => array(
					'_rule'   =>   'setstr|'.implode(',', $_types),
			),

            'documentadd' => array(
	        	'_rule'   => '',
	        	'type'    => 'submit',
	        	'caption' => 'Добавить',
			),

            '' => array(
				'_rule'   =>   'permission_add_child',
	        	'У вас нет прав на добавление дочерних докуметов',
			),
);

return array_merge($_form, $_technical_data);