function neu_form()
 {
     $this->form_scripts();
     $required = array();
     for ($i = 0; $i < count($this->fields); $i++) {
         if ($this->fields[$i]['required']) {
             $required[] = preg_replace('#[^\\w\\.]#', '_', $this->fields[$i]['name']);
         }
     }
     $required = General::array2js('required', $required);
     $form_tag = Form::form_tag(SELF . '?input', 'post', 'multipart/form-data', array('onsubmit' => 'return checkform()'));
     $form_close = Form::close_form();
     $this->scripts .= Html::script($required);
     //$this->scripts .= Html::script('',array('src'=>'/'.INSTALL_PATH.'/Module/BuddyListe/BuddyListe.js'));
     $spalten = 2;
     $table = new Table($spalten, array('id' => 'formtable'));
     $table->id_tbody('form_tbody');
     foreach ($this->fields as $field) {
         $show_name = $field['show_name'] != '' ? $field['show_name'] : $field['name'];
         $show_name = $field['required'] ? $show_name . Html::span('*', array('style' => 'color:red;cursor:help', 'title' => 'Dieses Feld muss ausgefüllt werden.')) : $show_name;
         $encoded_name = rawurlencode($field['name']);
         $id = Html::html_legal_id($field['name']);
         switch ($field['input_type']) {
             case 'text':
                 $parameters = array();
                 $parameters['id'] = $id;
                 if (isset($field['length'])) {
                     $parameters['size'] = $field['length'];
                     $parameters['maxlength'] = $field['length'];
                 } else {
                     $parameters['size'] = 40;
                 }
                 $input = Form::add_input('text', $encoded_name, '', $parameters);
                 break;
             case 'select':
                 $select = new Select($encoded_name, array('id' => $id));
                 $select->add_option('--Bitte auswählen--');
                 foreach ($field['options'] as $option) {
                     $select->add_option(rawurlencode($option), $option);
                 }
                 if ($field['sonstiges']) {
                     $select->add_option('', 'Sonstige:', array('onclick' => 'sonstig_input(this,\'' . rawurlencode($encoded_name) . '\')'));
                 }
                 $input = $select->flush_select();
                 break;
             case 'check':
                 $input = '';
                 foreach ($field['options'] as $option) {
                     $input .= Form::add_input('checkbox', $encoded_name . '[]', rawurlencode($option)) . ' ' . $option . '<br />';
                 }
                 break;
             case 'textarea':
                 $input = Form::add_textarea($encoded_name, '', array('id' => $id, 'cols' => '35', 'rows' => '2', 'onfocus' => 'textarea_grow(\'' . $id . '\')', 'onblur' => 'textarea_shrink(\'' . $id . '\')'));
                 break;
         }
         $table->add_td(array($show_name, $input));
     }
     $fileinput = Form::add_input('file', 'bild[0]');
     $table->add_td(array('Bild 1', $fileinput . Html::a('javascript:;', Html::img('/RheinaufCMS/Module/BuddyListe/edit_add.png', 'Plus', array('title' => 'Noch ein Bild', 'onclick' => 'add_file_upload()')))));
     $table->add_td(array(Form::add_input('submit', 'submit_new_buddyentry', 'Eintragen')), array('style' => 'border-top:1px solid #33466B'));
     $page = new Template(INSTALL_PATH . '/Module/BuddyListe/Templates/Form.template.html');
     $vars['form'] = $form_tag . $table->flush_table() . $form_close;
     return $page->parse_template('TEMPLATE', $vars);
 }