function createForm()
    {
        $form = new Am_Form_Admin();
        $plugins = $form->addSelect('plugin')->setLabel(___('Plugin'));
        $plugins->addRule('required');
        $plugins->addOption('*** ' . ___('Select a plugin') . ' ***', '');
        foreach (Am_Di::getInstance()->plugins_protect->getAllEnabled() as $plugin) {
            if (!$plugin->isConfigured()) {
                continue;
            }
            $group = $form->addFieldset($plugin->getId())->setId('headrow-' . $plugin->getId());
            $group->setLabel($plugin->getTitle());
            $plugin->getIntegrationFormElements($group);
            // add id[...] around the element name
            foreach ($group->getElements() as $el) {
                $el->setName('_plugins[' . $plugin->getId() . '][' . $el->getName() . ']');
            }
            if (!$group->count()) {
                $form->removeChild($group);
            } else {
                $plugins->addOption($plugin->getTitle(), $plugin->getId());
            }
        }
        $group = $form->addFieldset('access')->setLabel(___('Access'));
        $group->addElement(new Am_Form_Element_ResourceAccess())->setName('_access')->setLabel(___('Access Permissions'))->setAttribute('without_period', 'true')->setAttribute('without_free', 'true')->setAttribute('without_free_without_login', 'true');
        $form->addScript()->setScript(<<<CUT
\$(function(){
    \$("select[name='plugin']").change(function(){
        var selected = \$(this).val();
        \$("[id^='headrow-']").hide();
        if (selected) {
            \$("[id=headrow-"+selected+"-legend]").show();
            \$("[id=headrow-"+selected+"]").show();
        }
    }).change();
});
CUT
);
        return $form;
    }