/**
 *	init field object
 */
function jcf_init_field_object($field_mixed, $fieldset_id = '', $collection_id = '')
{
    // $field_mixed can be real field id or only id_base
    $id_base = preg_replace('/\\-([0-9]+)/', '', $field_mixed);
    $field = jcf_get_registered_fields($id_base);
    $field_obj = new $field['class_name']();
    $field_obj->set_fieldset($fieldset_id);
    $field_obj->set_collection($collection_id);
    $field_obj->set_id($field_mixed);
    //if is not new field and include to cillection
    if (!$field_obj->is_new && $collection_id) {
        $collection_obj = new Just_Field_Collection();
        $collection_obj->set_fieldset($fieldset_id);
        $collection_obj->set_id($collection_id);
        $field = $collection_obj->instance['fields'][$field_mixed];
        $field_obj->set_slug($field['slug']);
        $field_obj->instance = $field;
    }
    return $field_obj;
}
/**
 * save field from the form callback
 */
function jcf_ajax_save_field()
{
    $field_type = $_POST['field_id'];
    $fieldset_id = $_POST['fieldset_id'];
    $collection_id = isset($_POST['collection_id']) ? $_POST['collection_id'] : '';
    $field_obj = jcf_init_field_object($field_type, $fieldset_id, $collection_id);
    $resp = $field_obj->do_update();
    if (isset($resp['id_base']) && $resp['id_base'] == 'collection') {
        ob_start();
        Just_Field_Collection::settings_row($resp['id'], $fieldset_id);
        $resp["collection_fields"] = ob_get_clean();
    }
    jcf_ajax_reposnse($resp, 'json');
}
        ?>
" data-collection_id="<?php 
        echo $collection_id;
        ?>
"><?php 
        _e('Delete', JCF_TEXTDOMAIN);
        ?>
</a></span>
						</div>
					</td>
					<td><?php 
        echo preg_replace('/\\-[0-9]+$/', '', $field_id);
        ?>
</td>
					<td><?php 
        echo Just_Field_Collection::get_width_alias($field['field_width']);
        ?>
					</td>
					<td><?php 
        if ($field['enabled']) {
            _e('Yes', JCF_TEXTDOMAIN);
        } else {
            _e('No', JCF_TEXTDOMAIN);
        }
        ?>
</td>
				</tr>
			<?php 
    }
    ?>
		<?php 
    /**
     * return empty collection fields group
     */
    public static function ajax_return_collection_field_group()
    {
        $fieldset_id = $_POST['fieldset_id'];
        $collection_id = $_POST['collection_id'];
        $collection = jcf_init_field_object($collection_id, $fieldset_id);
        self::$current_collection_field_key = $_POST['group_id'];
        ?>
			<div class="collection_field_group">
				<h3>
					<span class="dashicons dashicons-editor-justify"></span>
					<span class="collection_group_title">
					<?php 
        echo $collection->instance['title'] . ' Item';
        ?>
					</span>
					<span class="dashicons dashicons-trash"></span>

				</h3>
				<div class="collection_field_group_entry">
<?php 
        foreach ($collection->instance['fields'] as $field_id => $field) {
            echo '<div class="collection_field_border jcf_collection_' . (intval($field['field_width']) ? $field['field_width'] : '100') . '">';
            $field_obj = jcf_init_field_object($field_id, $collection->fieldset_id, $collection->id);
            $field_obj->set_slug($field['slug']);
            $field_obj->instance = $field;
            $field_obj->is_post_edit = true;
            $field_obj->field($field_obj->field_options);
            echo '</div>';
        }
        ?>
					<div class="clr"></div>
				</div>
			</div>
<?php 
        die;
    }