if ($_POST) {
    $pconfig = $_POST;
    if ($_POST['apply']) {
        $retval = 0;
        $retval |= filter_configure();
        $retval |= relayd_configure();
        $savemsg = get_std_save_message($retval);
        /* Wipe out old relayd anchors no longer in use. */
        cleanup_lb_marked();
        clear_subsystem_dirty('loadbalancer');
    }
}
if ($_GET['act'] == "del") {
    if (array_key_exists($_GET['id'], $a_vs)) {
        if (!$input_errors) {
            cleanup_lb_mark_anchor($a_vs[$_GET['id']]['name']);
            unset($a_vs[$_GET['id']]);
            write_config();
            mark_subsystem_dirty('loadbalancer');
            header("Location: load_balancer_virtual_server.php");
            exit;
        }
    }
}
/* Index lbpool array for easy hyperlinking */
$poodex = array();
for ($i = 0; isset($config['load_balancer']['lbpool'][$i]); $i++) {
    $poodex[$config['load_balancer']['lbpool'][$i]['name']] = $i;
}
for ($i = 0; isset($config['load_balancer']['virtual_server'][$i]); $i++) {
    if ($a_vs[$i]) {
        }
        update_if_changed("name", $vsent['name'], $_POST['name']);
        update_if_changed("descr", $vsent['descr'], $_POST['descr']);
        update_if_changed("poolname", $vsent['poolname'], $_POST['poolname']);
        update_if_changed("port", $vsent['port'], $_POST['port']);
        update_if_changed("sitedown", $vsent['sitedown'], $_POST['sitedown']);
        update_if_changed("ipaddr", $vsent['ipaddr'], $_POST['ipaddr']);
        update_if_changed("mode", $vsent['mode'], $_POST['mode']);
        update_if_changed("relay protocol", $vsent['relay_protocol'], $_POST['relay_protocol']);
        if ($_POST['sitedown'] == "") {
            unset($vsent['sitedown']);
        }
        if (isset($id) && $a_vs[$id]) {
            if ($a_vs[$id]['name'] != $_POST['name']) {
                /* Because the VS name changed, mark the old name for cleanup. */
                cleanup_lb_mark_anchor($a_vs[$id]['name']);
            }
            $a_vs[$id] = $vsent;
        } else {
            $a_vs[] = $vsent;
        }
        if ($changecount > 0) {
            /* Mark virtual server dirty */
            mark_subsystem_dirty('loadbalancer');
            write_config($changedesc);
        }
        header("Location: load_balancer_virtual_server.php");
        exit;
    }
}
$pgtitle = array(gettext("Services"), gettext("Load Balancer"), gettext("Virtual Server"), gettext("Edit"));