function get_fk_lookups_data($tablename, $fk_lookups)
{
    $lookups_data = array();
    $fk_defs = get_foreignkeys($tablename, 'S');
    foreach ($fk_defs as $colname => $defs) {
        // skip foreign keys with more than FKLOOKUP_ENTRIES values
        if (!isset($GLOBALS['s_tables'][$defs['table']]['count'])) {
            $GLOBALS['s_tables'][$defs['table']]['count'] = get_table_count($defs['table']);
        }
        if ($GLOBALS['s_tables'][$defs['table']]['count'] > FKLOOKUP_ENTRIES) {
            continue;
        }
        $value_field = ifsetor($fk_lookups[$colname], $defs['column']);
        if ($value_field != $defs['column']) {
            $value_field = "COALESCE(" . $value_field . ", '')" . " || ' - '" . ' || ' . $defs['column'];
        }
        $sql = 'SELECT ' . $defs['column'] . ', ' . $value_field . ' FROM ' . $defs['table'] . ' ORDER BY ' . $value_field . ' ASC';
        $res = fbird_query($GLOBALS['dbhandle'], $sql) or ib_error(__FILE__, __LINE__, $sql);
        $data = array();
        while ($row = fbird_fetch_row($res)) {
            $data[trim($row[0])] = trim($row[1]);
        }
        fbird_free_result($res);
        $lookups_data[$colname] = array('table' => $defs['table'], 'column' => $defs['column'], 'data' => $data);
    }
    return $lookups_data;
}
    }
    // for editing make sure that $s_wt[columns] contains the primary key fields
    if ($s_wt['edit']) {
        $add_primary = FALSE;
        foreach ($s_fields[$s_wt['table']] as $field) {
            if (isset($field['primary']) && $field['primary'] == 'Yes' && !in_array($field['name'], $wt['columns'])) {
                $s_wt['columns'][] = $field['name'];
                $add_primary = TRUE;
            }
        }
        if ($add_primary) {
            $message .= $MESSAGES['EDIT_ADD_PRIMARY'];
        }
    }
    // get foreign key definititions
    $s_wt['fks'] = get_foreignkeys($s_wt['table'], 'S');
    // update the customize cookie
    $s_cust['wt'][$s_login['database']] = array('table' => $s_wt['table'], 'start' => $s_wt['start'], 'order' => $s_wt['order'], 'dir' => $s_wt['direction']);
    set_customize_cookie($s_cust);
    // cleanup the watchtable output buffer
    $s_watch_buffer = '';
}
// deleting of a row is confirmed
if (isset($_POST['confirm_yes'])) {
    if (preg_match('/row([0-9]+)/', $_POST['confirm_subject'], $matches)) {
        $instance = $matches[1];
        $sql = $s_confirmations['row'][$instance]['sql'];
        @fbird_query($dbhandle, $sql) or $ib_error = fbird_errmsg();
        remove_confirm($instance);
        // cleanup the watchtable output buffer
        $s_watch_buffer = '';