html_tbl_print_header(lang_get('req_doc_type'));
 html_tbl_print_header(lang_get('test_id'));
 html_tbl_print_header(lang_get('percent_covered'));
 print "</tr>" . NEWLINE;
 # Variables for summary statistics
 $req_count = 0;
 $total_coverage = 0;
 foreach ($rows_requirement as $row_requirement) {
     $req_count += 1;
     $req_id = util_pad_id($row_requirement[REQ_ID]);
     $req_name = $row_requirement[REQ_FILENAME];
     $req_version_id = $row_requirement[REQ_VERS_UNIQUE_ID];
     $req_doc_type = $row_requirement[REQ_DOC_TYPE_NAME];
     # Set the row's background color to something special if the requirement
     # has no test cases associated with it (a bad thing).
     $req_test_relationships = requirement_get_test_relationships($req_id);
     if (empty($req_test_relationships)) {
         $row_style = ROW2_STYLE;
     } else {
         $row_style = ROW1_STYLE;
     }
     print "<tr class='{$row_style}'>" . NEWLINE;
     print "<td valign=top width='5%'><a href='requirement_detail_page.php?req_id={$req_id}&amp;req_version_id={$req_version_id}'>{$req_id}</a></td>" . NEWLINE;
     print "<td valign=top width='25%' class='tbl-l'>{$req_name}</td>" . NEWLINE;
     print "<td valign=top width='10%' class='tbl-c'>{$req_doc_type}</td>" . NEWLINE;
     # List all associated test cases for the requirement
     $coverage = 0;
     if (!empty($req_test_relationships)) {
         print "<td valign=top align=left>";
         foreach ($req_test_relationships as $req_test_rels) {
             $test_id = $req_test_rels[TEST_ID];
function requirement_add_version($project_id, $req_id, $req_defect_id, $area_covered, $type, $record_or_file, $version, $status, $filename, $detail = "", $reason_for_change = "", $assign_to, $upload_by, $functionality, $priority, $release_id)
{
    global $db;
    $tbl_req = REQ_TBL;
    $f_req_id = $tbl_req . "." . REQ_ID;
    $f_req_filename = $tbl_req . "." . REQ_FILENAME;
    $f_req_area_covered = $tbl_req . "." . REQ_AREA_COVERED;
    $f_req_type = $tbl_req . "." . REQ_TYPE;
    $f_req_parent = $tbl_req . "." . REQ_PARENT;
    $f_req_label = $tbl_req . "." . REQ_LABEL;
    $f_req_unique_id = $tbl_req . "." . REQ_UNIQUE_ID;
    $f_req_functionality = $tbl_req . "." . REQ_FUNCTIONALITY;
    $f_req_locked_by = $tbl_req . "." . REQ_LOCKED_BY;
    $f_req_locked_date = $tbl_req . "." . REQ_LOCKED_DATE;
    $f_req_priority = $tbl_req . "." . REQ_PRIORITY;
    $f_req_last_updated = $tbl_req . "." . REQ_LAST_UPDATED;
    $tbl_req_ver = REQ_VERS_TBL;
    $f_req_ver_uid = $tbl_req_ver . "." . REQ_VERS_UNIQUE_ID;
    $f_req_ver_req_id = $tbl_req_ver . "." . REQ_VERS_REQ_ID;
    $f_req_ver_version = $tbl_req_ver . "." . REQ_VERS_VERSION;
    $f_req_ver_timestamp = $tbl_req_ver . "." . REQ_VERS_TIMESTAMP;
    $f_req_ver_uploaded_by = $tbl_req_ver . "." . REQ_VERS_UPLOADED_BY;
    $f_req_ver_filename = $tbl_req_ver . "." . REQ_VERS_FILENAME;
    $f_req_ver_comments = $tbl_req_ver . "." . REQ_VERS_COMMENTS;
    $f_req_ver_status = $tbl_req_ver . "." . REQ_VERS_STATUS;
    $f_req_ver_shed_release = $tbl_req_ver . "." . REQ_VERS_SCHEDULED_RELEASE_IMP;
    $f_req_ver_shed_build = $tbl_req_ver . "." . REQ_VERS_SCHEDULED_BUILD_IMP;
    $f_req_ver_actual_release = $tbl_req_ver . "." . REQ_VERS_ACTUAL_RELEASE_IMP;
    $f_req_ver_actual_build = $tbl_req_ver . "." . REQ_VERS_ACTUAL_BUILD_IMP;
    $f_req_ver_detail = $tbl_req_ver . "." . REQ_VERS_DETAIL;
    $f_req_ver_release = $tbl_req_ver . "." . REQ_VERS_ASSIGN_RELEASE;
    $f_req_ver_latest = $tbl_req_ver . "." . REQ_VERS_LATEST;
    $f_req_ver_reason_change = $tbl_req_ver . "." . REQ_VERS_REASON_CHANGE;
    $f_req_ver_assigned = $tbl_req_ver . "." . REQ_VERS_ASSIGNED_TO;
    $f_req_ver_defect_id = $tbl_req_ver . "." . REQ_VERS_DEFECT_ID;
    $last_updated = date_get_short_dt();
    if ($area_covered == '') {
        $area_covered = 0;
    }
    if ($type == '') {
        $type = 0;
    }
    $q = "\tUPDATE {$tbl_req_ver}\n\t\t\tSET\n\t\t\t\t{$f_req_ver_latest} = 'N'\n\t\t\tWHERE\n\t\t\t\t{$f_req_ver_req_id} = {$req_id}";
    db_query($db, $q);
    $q = "\tUPDATE {$tbl_req}\n\t\t\tSET\n\t\t\t\t{$f_req_area_covered} = '{$area_covered}',\n\t\t\t\t{$f_req_type} = '{$type}',\n\t\t\t\t{$f_req_priority} = '{$priority}',\n\t\t\t\t{$f_req_last_updated} = '{$last_updated}'\n\t\t\tWHERE\n\t\t\t\t{$f_req_id} = {$req_id}";
    db_query($db, $q);
    $q = "\tINSERT INTO {$tbl_req_ver}\n\t\t\t\t(\t{$f_req_ver_req_id},\n\t\t\t\t\t{$f_req_ver_defect_id},\n\t\t\t\t\t{$f_req_ver_version},\n\t\t\t\t\t{$f_req_ver_timestamp},\n\t\t\t\t\t{$f_req_ver_uploaded_by},\n\t\t\t\t\t{$f_req_ver_filename},\n\t\t\t\t\t{$f_req_ver_status},\n\t\t\t\t\t{$f_req_ver_detail},\n\t\t\t\t\t{$f_req_ver_reason_change},\n\t\t\t\t\t{$f_req_ver_assigned},\n\t\t\t\t\t{$f_req_ver_latest} )\n\t\t\tVALUES\n\t\t\t\t(\t{$req_id},\n\t\t\t\t    '{$req_defect_id}',\n\t\t\t\t\t'{$version}',\n\t\t\t\t\t'{$last_updated}',\n\t\t\t\t\t'{$upload_by}',\n\t\t\t\t\t'{$filename}',\n\t\t\t\t\t'{$status}',\n\t\t\t\t\t'{$detail}',\n\t\t\t\t\t'{$reason_for_change}',\n\t\t\t\t\t'{$assign_to}',\n\t\t\t\t\t'Y' )";
    db_query($db, $q);
    requirement_edit_functionality($req_id, $functionality);
    # update related tests statuses to "Review Requirement"
    $req_test_relationships = requirement_get_test_relationships($req_id);
    foreach ($req_test_relationships as $row_req_test_rels) {
        $test_id = $row_req_test_rels[TEST_ID];
        test_update_field($project_id, $test_id, TEST_STATUS, "Review Requirement");
    }
    # Get the req_version_id just inserted.
    $req_version_id = requirement_get_latest_version($req_id);
    # update requirment_release_assoc
    requirement_edit_release($req_version_id, $release_id);
}
util_set_filter('test_status', $filter_test_status, $_POST);
util_set_filter('test_priority', $filter_test_priority, $_POST);
util_set_filter('test_search', $filter_test_search, $_POST);
$order_by = TEST_NAME;
$order_dir = "ASC";
$page_number = 1;
util_set_order_by($order_by, $_POST);
util_set_order_dir($order_dir, $_POST);
util_set_page_number($page_number, $_POST);
# Set or Reset the % covered session vars
if (sizeof($_POST)) {
    session_validate_form_set($_POST);
} else {
    session_validate_form_reset();
}
$assoc_tests = requirement_get_test_relationships($s_req_id);
$selected_rows = array();
foreach ($assoc_tests as $row) {
    $selected_rows[$row[TEST_ID]] = "";
}
session_records("requirement_tests_assoc", $selected_rows);
html_window_title();
html_print_body();
html_page_title($project_name . " - " . lang_get('req_assoc_tests_page'));
html_page_header($db, $project_name);
html_print_menu();
requirement_menu_print($page);
error_report_check($_GET);
$row_requirement = requirement_get_detail($project_id, $s_req_id, $s_req_version_id);
foreach ($row_requirement as $row_detail) {
    $req_name = $row_detail[REQ_FILENAME];