private static function _get_javascript_field_defs()
    {
        $def = self::$custom_field_def_template;
        foreach ($def as $row_id => &$field) {
            $name = $row_id;
            // alter the Extra part of this for the listener on the dropdown
            if ($name == 'type') {
                $field['extra'] = str_replace('[+def_i+]', 'def_i', $field['extra']);
            }
            $field['name'] = "custom_fields['+def_i+'][{$name}]";
        }
        FormGenerator::$before_elements = '<div id="generated_form_number_\'+def_i+\'">';
        FormGenerator::$after_elements = '
			<a class="button" href="#" onClick="javascript:removeDiv(this.parentNode.id);">' . __('Remove This Field', CCTM::txtdomain) . '</a>
			<hr/>
		</div>';
        $output = FormGenerator::generate($def);
        // Javascript chokes on newlines...
        return str_replace(array("\r\n", "\r", "\n", "\t"), ' ', $output);
    }