$facility = new Facility($database, $_POST['equipment']['facility_id']);
    } catch (Exception $e) {
        redirect_to(array('location' => 'equipment.php' . (isset($_REQUEST['id']) ? "?id=" . intval($_REQUEST['id']) : ""), 'status' => 'This facility does not exist.', 'class' => 'error'));
    }
    //ensure that this machine type exists.
    try {
        $machineType = new Machine($database, $_POST['equipment']['machine_id']);
    } catch (Exception $e) {
        redirect_to(array('location' => 'equipment.php' . (isset($_REQUEST['id']) ? "?id=" . intval($_REQUEST['id']) : ""), 'status' => 'This machine does not exist.', 'class' => 'error'));
    }
    try {
        $equipment = new Equipment($database, intval($_REQUEST['id']));
    } catch (Exception $e) {
        redirect_to(array('location' => 'equipment.php' . (isset($_REQUEST['id']) ? "?id=" . intval($_REQUEST['id']) : ""), 'status' => 'This equipment does not exist.', 'class' => 'error'));
    }
    $equipmentID = $equipment->create_or_update($_POST['equipment']);
    if ($equipmentID) {
        redirect_to(array('location' => 'equipment.php?action=view&id=' . intval($equipmentID), 'status' => 'Successfully ' . (intval($_REQUEST['id']) == 0 ? 'created' : 'updated') . ' equipment.', 'class' => 'success'));
    } else {
        redirect_to(array('location' => 'equipment.php' . (isset($_REQUEST['id']) ? "?id=" . intval($_REQUEST['id']) : ""), 'status' => 'An error occurred while ' . (intval($_REQUEST['id']) == 0 ? 'creating' : 'updating') . ' this equipment. Please try again.', 'class' => 'error'));
    }
} elseif ($_REQUEST['action'] == 'get_parameters' && isset($_REQUEST['id']) && is_numeric($_REQUEST['id'])) {
    // return a js response instantiating all the parameters and values for this equipment.
    try {
        $equipment = new Equipment($database, intval($_REQUEST['id']));
    } catch (Exception $e) {
        echo json_encode(array());
        exit;
    }
    echo json_encode($equipment->parameters);
    exit;