//
// File:     iperf.js
// Purpose:  Submit iperf form
//

var clicked = "FALSE";
function createForm(number)
{
    if (document.iperf.choice.value == -1)
    {
        document.getElementById("output").innerHTML = "";
        window.alert("Please select either the client or server " +
                     "from the drop down menu");
    }
    else if (document.iperf.choice.value == "client")
    {
        form =
            "<p> " +
            "<input type=hidden name='form[mode]' value='client'> " +
            "<table> " +
              "<tr> " +
                "<td class='rb'> " +
                  "Dst Host " +
                "</td> " +
                "<td class='l' colspan='5'> " +
                  "<input type='text' name='form[host]' size='40'> " +
                "</td> " +
              "</tr> " +
              "<tr> " +
                "<td class='rb' width='16%'> " +
                  "Protocol " +
                "</td> " +
                "<td class='l' width='16%'> " +
                  "<select name='form[protocol]'> " +
                    "<option value='TCP' selected>TCP " +
                    "<option value='UDP'>UDP " +
                  "</select> " +
                "</td> " +
                "<td class='rb' width='16%'> " +
                  "Port " +
                "</td> " +
                "<td class='l' width='16%'> " +
                    "<select name='form[port]'> " +
                      "<option value='5005'>5005 " +
                      "<option value='5006'>5006 " +
                      "<option value='5007'>5007 " +
                      "<option value='5008'>5008 " +
                      "<option value='5009'>5009 " +
                  "</select> " +
                "</td> " +
                "<td class='rb' width='16%'> " +
                  "Window " +
                "</td> " +
                "<td class='l' width='16%'> " +
                  "<select name='form[window]'> " +
                    "<option value='None'>None " +
                    "<option value='200000'>200000 " +
                    "<option value='150000'>150000 " +
                    "<option value='100000'>100000 " +
                    "<option value='64000' selected>64000 " +
                    "<option value='32000'>32000 " +
                    "<option value='16000'>16000 " +
                    "<option value='8000'>8000 " +
                  "</select> " +
                "</td> " +
              "</tr> " +
              "<tr> " +
                "<td class='rb'> " +
                  "Time " +
                "</td> " +
                "<td class='l'> " +
                  "<select name='form[time]'> " +
                    "<option value='10' selected>10 " +
                    "<option value='20'>20 " +
                    "<option value='30'>30 " +
                    "<option value='60'>60 " +
                  "</select> " +
                "</td> " +
                "<td class='rb'> " +
                  "Interval " +
                "</td> " +
                "<td class='l'> " +
                  "<select name='form[interval]'> " +
                    "<option value='None'>None " +
                    "<option value='1' selected>1 " +
                    "<option value='2'>2 " +
                    "<option value='5'>5 " +
                    "<option value='10'>10 " +
                  "</select> " +
                "</td> " +
                "<td class='rb'> " +
                  "Bandwidth " +
                "</td> " +
                "<td class='l'> " +
                  "<select name='form[bandwidth]'> " +
                    "<option value='None' selected>None " +
                    "<option value='1M'>1M " +
                    "<option value='2M'>2M " +
                    "<option value='5M'>5M " +
                    "<option value='10M'>10M " +
                    "<option value='20M'>20M " +
                    "<option value='50M'>50M " +
                    "<option value='100M'>100M " +
                  "</select> " +
                "</td> " +
              "</tr> " +
              "<tr> " +
                "<td class='rb'> " +
                  "IP Version " +
                "</td> " +
                "<td class='l' colspan='5'> " +
                  "<select name='form[version]'> " +
                    "<option value='IPv4' selected>IPv4 " +
                    "<option value='IPv6'>IPv6 " +
                  "</select> " +
                "</td> " +
              "</tr> " +
              "<tr> " +
                "<td class='rb'> " +
                  "Show " +
                "</td> " +
                "<td class='l'> " +
                  "<input type='radio' name='showorrun' checked> " +
                "</td> " +
                "<td class='rb'> " +
                  "Run " +
                "</td> " +
                "<td class='l'> " +
                  "<input type='radio' name='showorrun'> " +
                "</td> " +
              "</tr> " +
            "</table><br>" +
            "<input type='button' onClick='submitToCGI()' Value='Run Iperf'>";
    
        clicked = "TRUE";
        document.getElementById("output").innerHTML = form;
    }
    else if (document.iperf.choice.value == "server")
    {
        form =
            "<p> " +
            "<input type=hidden name='form[mode]' value='server'> " +
            "<table> " +
              "<tr> " +
                "<td class='rb' width='16%'> " +
                  "Protocol " +
                "</td> " +
                "<td class='l' width='16%'> " +
                  "<select name='form[protocol]'> " +
                    "<option value='TCP' selected>TCP " +
                    "<option value='UDP'>UDP " +
                  "</select> " +
                "</td> " +
                "<td class='rb' width='16%'> " +
                  "Port " +
                "</td> " +
                "<td class='l' width='16%'> " +
                  "<select name='form[port]'> " +
                    "<option value='5005'>5005 " +
                    "<option value='5006'>5006 " +
                    "<option value='5007'>5007 " +
                    "<option value='5008'>5008 " +
                    "<option value='5009'>5009 " +
                  "</select> " +
                "</td> " +
                "<td class='rb' width='16%'> " +
                  "Window " +
                "</td> " +
                "<td class='l' width='16%'> " +
                  "<select name='form[window]'> " +
                    "<option value='None'>None " +
                    "<option value='200000'>200000 " +
                    "<option value='150000'>150000 " +
                    "<option value='100000'>100000 " +
                    "<option value='64000' selected>64000 " +
                    "<option value='32000'>32000 " +
                    "<option value='16000'>16000 " +
                    "<option value='8000'>8000 " +
                  "</select> " +
                "</td> " +
              "</tr> " +
              "<tr> " +
                "<td class='rb'> " +
                  "Interval " +
                "</td> " +
                "<td class='l'> " +
                  "<select name='form[interval]'> " +
                    "<option value='None'>None " +
                    "<option value='1' selected>1 " +
                    "<option value='2'>2 " +
                    "<option value='5'>5 " +
                    "<option value='10'>10 " +
                  "</select> " +
                "</td> " +
                "<td class='rb'> " +
                  "IP Version " +
                "</td> " +
                "<td class='l' colspan='5'> " +
                  "<select name='form[version]'> " +
                    "<option value='IPv4' selected>IPv4 " +
                    "<option value='IPv6'>IPv6 " +
                  "</select> " +
                "</td> " +
              "</tr> " +
              "<tr> " +
                "<td class='rb'> " +
                  "Show " +
                "</td> " +
                "<td class='l'> " +
                  "<input type='radio' name='showorrun' checked> " +
                "</td> " +
                "<td class='rb'> " +
                  "Run " +
                "</td> " +
                "<td class='l'> " +
                  "<input type='radio' name='showorrun'> " +
                "</td> " +
              "</tr> " +
            "</table> " +
            "<p>" +
            "<input type='button' onClick='submitToCGI()' Value='Run Iperf'>";

        clicked = "TRUE";
        document.getElementById("output").innerHTML = form;
    }
}

function resetForm(number)
{
    document.getElementById("output").innerHTML = "";
    document.Iperf.reset();
    clicked = "FALSE";
}

function submitToCGI()
{
    if (clicked == "FALSE")
    {
        window.alert("Please select either the client or server " +
                     "from the drop down menu");
    }
    else
    {
        var winStyle = "toolbar=no,menubar=no,location=no,scrollbars=yes," +
                       "resizable=yes,width=600,height=400,left=200,top=100";
        var win = window.open("",
                              "iperfWindow",
                              winStyle);
        document.Iperf.method = "post";
        document.Iperf.target = "iperfWindow";
        if (document.Iperf.showorrun[1].checked)
            document.Iperf.action = "privileged/iperf-results.php";
        else
            document.Iperf.action = "show/iperf-results.php";
        document.Iperf.submit(); 
    }
}
