exit;
} elseif ($action == 'filter' && ($js_tab == 'stats' || $js_tab == 'instances') && !empty($survey_id)) {
    # Update the survey filter
    if (!empty($StartMonth) && !empty($StartDay) && !empty($StartYear) && !empty($EndMonth) && !empty($EndDay) && !empty($EndYear)) {
        $filter_surveys[$survey_id] = array('date_from' => mktime(0, 0, 0, $StartMonth, $StartDay, $StartYear), 'date_to' => mktime(23, 59, 59, $EndMonth, $EndDay, $EndYear));
    }
    cw_header_location("index.php?target={$target}&survey_id={$survey_id}&js_tab={$js_tab}");
} elseif ($action == 'reset_filter' && ($js_tab == 'stats' || $js_tab == 'instances') && !empty($survey_id)) {
    # Reset the survey filter
    if (isset($filter_surveys[$survey_id])) {
        unset($filter_surveys[$survey_id]);
    }
    cw_header_location("index.php?target={$target}&survey_id={$survey_id}&js_tab={$js_tab}");
}
$surveys_count = cw_query_first_cell("SELECT COUNT(*) FROM {$tables['surveys']}");
$survey = cw_get_survey($survey_id, $edited_language);
$survey = cw_get_survey_results($survey_id, true, $filter_surveys[$survey_id]);
if (empty($survey)) {
    if ($mode == 'preview') {
        cw_close_window();
    }
    $top_message = array('type' => 'E', 'content' => cw_get_langvar_by_name('txt_survey_not_found'));
    cw_header_location("index.php?target={$targets}");
}
if ($js_tab == "maillist") {
    # Get maillist (with pagination)
    $total_items = cw_query_first_cell("SELECT COUNT(survey_id) FROM {$tables['survey_maillist']} WHERE survey_id = '{$survey_id}'");
    $navigation = cw_core_get_navigation($target, $total_items, $page);
    $navigation['script'] = "index.php?target={$target}&js_tab=maillist&survey_id=" . $survey_id;
    $smarty->assign('navigation', $navigation);
    if ($total_items > 0) {
    }
    $completed = empty($quids) ? "Y" : (count($quids) == $quids_count ? 'E' : 'N');
    cw_array2update("survey_results", array("completed" => $completed), "survey_result_id = '{$survey_result_id}'");
    $filled_surveys[$survey_result_id] = $survey_id;
    $top_message = array('content' => !empty($survey['complete']) ? $survey['complete'] : cw_get_langvar_by_name('txt_survey_default_complete_message'));
    if ($survey['publish_results']) {
        cw_header_location("index.php?target=surveys&survey_id=" . $survey_id . "&mode=view");
    }
    cw_header_location("index.php");
}
if ((!empty($survey_id) || !empty($survey_key)) && empty($mode)) {
    # Display survey
    if (!empty($survey_key)) {
        $survey_id = cw_query_first_cell("SELECT survey_id FROM {$tables['survey_maillist']} WHERE access_key = '{$survey_key}'");
    }
    $survey = cw_get_survey($survey_id);
    if (!empty($survey) && $survey['valid'] && ($survey['survey_type'] != 'R' || !empty($customer_id) || !empty($survey_key))) {
        if ($check_res = cw_check_survey_filling($survey_id)) {
            $top_message = array("type" => "W");
            if ($check_res == 1) {
                $top_message['content'] = cw_get_langvar_by_name("txt_survey_is_already_filling_sess");
            } elseif ($check_res == 2) {
                $top_message['content'] = cw_get_langvar_by_name("txt_survey_is_already_filling_ip");
            } elseif ($check_res == 3) {
                $top_message['content'] = cw_get_langvar_by_name("txt_survey_is_already_filling_customer_id");
            }
            cw_header_location("index.php?target=survey");
        }
        $smarty->assign('survey', $survey);
        $smarty->assign('survey_key', $survey_key);
    } else {
function cw_get_survey_instance($survey_result_id)
{
    global $tables;
    $result = cw_query_first("SELECT {$tables['survey_results']}.*, {$tables['customers']}.usertype FROM {$tables['survey_results']} LEFT JOIN {$tables['customers']} ON {$tables['survey_results']}.customer_id={$tables['customers']}.customer_id WHERE {$tables['survey_results']}.survey_result_id = '{$survey_result_id}'");
    if (empty($result)) {
        return false;
    }
    $survey = cw_get_survey($result['survey_id']);
    $survey['result'] = $result;
    if (!empty($survey['questions'])) {
        foreach ($survey['questions'] as $qid => $q) {
            if (empty($q['answers']) && $q['answers_type'] != 'N') {
                continue;
            }
            if (empty($q['answers'])) {
                $survey['questions'][$qid]['comment'] = cw_query_first_cell("SELECT comment FROM {$tables['survey_result_answers']} WHERE question_id = '{$qid}' AND survey_result_id = '{$survey_result_id}'");
                continue;
            }
            foreach ($q['answers'] as $aid => $a) {
                $tmp = cw_query_first("SELECT answer_id, comment FROM {$tables['survey_result_answers']} WHERE question_id = '{$qid}' AND survey_result_id = '{$survey_result_id}' AND answer_id = '{$aid}'");
                $q['answers'][$aid]['selected'] = $tmp['answer_id'] == $aid;
                $q['answers'][$aid]['comment'] = $tmp['comment'];
            }
            $survey['questions'][$qid] = $q;
        }
    }
    return $survey;
}