}
$checkPrerequisitesDAO = new CheckPrerequisitesDAO();
$testPassDAO = new TestPassDAO();
$guidelinesDAO = new GuidelinesDAO();
$checkExamplesDAO = new CheckExamplesDAO();
// handle submit
if (isset($_POST['cancel'])) {
    header('Location: index.php');
    exit;
} else {
    if (isset($_POST['save_no_close']) || isset($_POST['save_and_close']) || $_POST['javascript_submit']) {
        $checksDAO = new ChecksDAO();
        if (!isset($check_id)) {
            $check_id = $checksDAO->Create($_SESSION['user_id'], $_POST['html_tag'], $_POST['confidence'], $_POST['note'], $_POST['name'], $_POST['err'], $_POST['description'], $_POST['search_str'], $_POST['long_description'], $_POST['rationale'], $_POST['how_to_repair'], $_POST['repair_example'], $_POST['question'], $_POST['decision_pass'], $_POST['decision_fail'], $_POST['test_procedure'], $_POST['test_expected_result'], $_POST['test_failed_result'], $_POST['open_to_public']);
        } else {
            $checksDAO->Update($check_id, $_SESSION['user_id'], $_POST['html_tag'], $_POST['confidence'], $_POST['note'], $_POST['name'], $_POST['err'], $_POST['description'], $_POST['search_str'], $_POST['long_description'], $_POST['rationale'], $_POST['how_to_repair'], $_POST['repair_example'], $_POST['question'], $_POST['decision_pass'], $_POST['decision_fail'], $_POST['test_procedure'], $_POST['test_expected_result'], $_POST['test_failed_result'], $_POST['open_to_public']);
        }
        if (!$msg->containsErrors()) {
            // re-create check examples
            $checkExamplesDAO->DeleteByCheckID($check_id);
            $pass_example_desc = trim($_POST['pass_example_desc']);
            $pass_example = trim($_POST['pass_example']);
            $fail_example_desc = trim($_POST['fail_example_desc']);
            $fail_example = trim($_POST['fail_example']);
            if ($pass_example_desc != '' || $pass_example != '') {
                $checkExamplesDAO->Create($check_id, AC_CHECK_EXAMPLE_PASS, $pass_example_desc, $pass_example);
            }
            if ($fail_example_desc != '' || $fail_example != '') {
                $checkExamplesDAO->Create($check_id, AC_CHECK_EXAMPLE_FAIL, $fail_example_desc, $fail_example);
            }
            $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');