<h3><i class="ui exchange icon"></i> New Proxy Endpoint</h3>
<p>You can create a proxy endpoing by subdomain or virtual directories</p>
<div class="ui form">
    <div class="field">
        <label>Proxy Type</label>
        <div class="ui selection dropdown">
            <input type="hidden" id="ptype" value="subd">
            <i class="dropdown icon"></i>
            <div class="default text">Proxy Type</div>
            <div class="menu">
                <div class="item" data-value="subd">Sub-domain</div>
                <div class="item" data-value="vdir">Virtual Directory</div>
            </div>
        </div>
    </div>
    <div class="field">
        <label>Subdomain Matching Keyword / Virtual Directory Name</label>
        <input type="text" id="rootname" placeholder="s1.mydomain.com">
        <div class="ui message">
            Example of subdomain matching keyword:<br>
            <code>s1.arozos.com</code> <br>(Any access starting with s1.arozos.com will be proxy to the IP address below)<br>
            Example of virtual directory name: <br>
            <code>/s1/home</code> <br>(Any access to {this_server}/s1/ will be proxy to the IP address below)
        </div>
    </div>
    <div class="field">
        <label>IP Address or Domain Name with port</label>
        <input type="text" id="proxyDomain">
        <small>E.g. 192.168.0.101:8000 or example.com</small>
    </div>
    <div class="field">
        <div class="ui checkbox">
            <input type="checkbox" id="reqTls">
            <label>Proxy Target require TLS Connection <br><small>(i.e. Your proxy target starts with https://)</small></label>
        </div>
    </div>
    <button class="ui teal button" onclick="newProxyEndpoint();">Create Proxy Endpoint</button>
</div>
<div class="ui green message" id="proxyaddSucc" style="display:none">
    <i class="ui checkmark icon"></i> Proxy Endpoint Added
</div>

<script>
    //New Proxy Endpoint
    function newProxyEndpoint(){
        var type = $("#ptype").val();
        var rootname = $("#rootname").val();
        var proxyDomain = $("#proxyDomain").val();
        var useTLS = $("#reqTls")[0].checked;

        if (rootname.trim() == ""){
            $("#rootname").parent().addClass("error");
            return
        }else{
            $("#rootname").parent().removeClass("error");
        }

        if (proxyDomain.trim() == ""){
            $("#proxyDomain").parent().addClass("error");
            return
        }else{
            $("#proxyDomain").parent().removeClass("error");
        }

        //Create the endpoint by calling add
        $.ajax({
            url: "/api/proxy/add",
            data: {type: type, rootname: rootname, tls: useTLS, ep: proxyDomain},
            success: function(data){
                if (data.error != undefined){
                    alert(data.error);
                }else{
                    //OK
                    listVdirs();
                    listSubd();
                    $("#proxyaddSucc").stop().slideDown('fast').delay(3000).slideUp('fast');

                    //Clear old data
                    $("#rootname").val("");
                    $("#proxyDomain").val("");
                }
            }
        });
        
    }

    //Generic functions for delete rp endpoints 
    function deleteEndpoint(ptype, epoint){
                if (confirm("Confirm remove proxy for :" + epoint + " (type: " + ptype + ")?")){
                    $.ajax({
                        url: "/api/proxy/del",
                        data: {ep: epoint, ptype: ptype},
                        success: function(){
                            listVdirs();
                            listSubd();
                        }
                    })
                }
            }
</script>