function maketableChronoContact($id, $option)
{
    global $mainframe;
    $database =& JFactory::getDBO();
    $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronocontact' AND parent='0' AND admin_menu_link='option=com_chronocontact'";
    $database->setQuery($query);
    $result = $database->loadObject();
    //$configs = JComponentHelper::getParams('com_chronocontact');
    $configs = new JParameter($result->params);
    $table = JRequest::getVar('table');
    $result = $database->getTableList();
    if ($table) {
        $tables = array();
        $tables[] = $table;
        $result = $database->getTableFields($tables, false);
        $table_fields = $result[$table];
        $row = new StdClass();
        $row->id = 0;
        HTML_ChronoContact::maketableChronoContact($row, $option, $table, $table_fields);
    } else {
        $row =& JTable::getInstance('chronocontact', 'Table');
        $row->load($id);
        $html_message = "";
        $multipagefields = '';
        $multipagefieldsnames = array();
        //check if form is a mother form and load childs fields
        $formparams = new JParameter($row->paramsall);
        $formplugins = explode(",", $formparams->get('plugins'));
        if (in_array('cf_multi_page', $formplugins)) {
            $query = "SELECT * FROM #__chrono_contact_plugins WHERE `form_id` = '" . $id . "' AND name='cf_multi_page'";
            $database->setQuery($query);
            $multipageconfig = $database->loadObject();
            $multipageparams = new JParameter($multipageconfig->params);
            $multipageforms = array();
            if (trim($multipageparams->get('formsnames'))) {
                $multipageforms = explode(',', $multipageparams->get('formsnames'));
                $multipagefieldsnames = array();
                $multipagefields = array();
            }
            foreach ($multipageforms as $multipageform) {
                $query = "SELECT * FROM #__chrono_contact WHERE `name` = '" . $multipageform . "'";
                $database->setQuery($query);
                $multipageformdata = $database->loadObject();
                $multipagefields[] = $multipageformdata->fieldsnames;
            }
            $multipagefieldsnames = explode(",", implode(",", $multipagefields));
        }
        $defaults = array('cf_id' => (object) array('Type' => 'INT(11)', 'Key' => 'PRI', 'Extra' => 'auto_increment'), 'uid' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''), 'recordtime' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''), 'ipaddress' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''), 'cf_user_id' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''));
        $names = array();
        if (trim($row->fieldsnames)) {
            $names = explode(",", $row->fieldsnames);
        }
        $fieldstypes = explode(",", $row->fieldstypes);
        foreach ($names as $name) {
            $defaults[$name] = (object) array('Type' => '', 'Key' => '', 'Extra' => '');
        }
        if (count($multipagefieldsnames)) {
            foreach ($multipagefieldsnames as $multipagefieldsname) {
                $defaults[$multipagefieldsname] = (object) array('Type' => '', 'Key' => '', 'Extra' => '');
            }
        }
        HTML_ChronoContact::maketableChronoContact($row, $option, '', $defaults);
    }
}