// (C) Copyright IBM Corp. 2001 - 2002 All Rights Reserved.
//
// params.js
//
// last upload: ??? ??, ????
// last update: Feb 20, 2002 (Aug 13, 2001)

function checkKQParameters(form)
{
if ((!(form.K.value > 0)) || (!(form.M.value > 0)))
        {
        alert("A positive value for K and Q must be entered");
        return false;
        }

if (!(checkKQNonNum(form)))
        {
        return false;
        }

if ((form.M.value < 0) || (form.M.value > 2147483647))
        {
        alert('The "Q" parameter (' + form.M.value + ') must be an integer between 0 and 2147483647');
        return false;
        }

return true;
}

function checkMaxBrackets(form)
{
if ((form.maximumBrackets.value < 0) ||  (form.maximumBrackets.value > 200))
        {
        alert('The "Max Brackets" parameter (' + form.maximumBrackets.value + ') must be an integer greater than 0 and less than 200');
        return false;
        }

return true;
}

function checkLWKQParameters(form)
{
if ((!(form.L.value > 0))  || (!(form.W.value > 0))  || (!(form.K.value > 0)) || (!(form.M.value > 0)))
        {
        alert("A positive value for L, K, W, and Q must be entered");
        return false;
        }

if (!(checkLWKQNonNum(form)))
        {
        return false;
        }

if (form.L.value < 1)
        {
        alert('The "L" parameter (' + form.L.value + ') must be a positive integer');
        return false;
         }

if (form.W.value < 1)
        {
        alert('The "W" parameter (' + form.W.value + ') must be a positive integer');
        return false;
         }

if (form.K.value < 2)
        {
        alert('The "K" parameter (' + form.K.value + ') must be an integer greater than 1');
        return false;
        }

if ((form.M.value < 0) || (form.M.value > 2147483647))
        {
        alert('The "Q" parameter (' + form.M.value + ') must be an integer between 0 and 2147483647');
        return false;
        }

// the following line did not work!
// if ((form.L.value) > (form.W.value))

if (eval(form.W.value - form.L.value) < 0)
        {
        alert('The "L" parameter (' + form.L.value  + ") must be less than or equal to W (" + form.W.value  + ")");
        return false;
        }

if (form.W.value > (10*form.L.value))
        {
//      ??? what is a good value; currently using 10X as borderline excessive

        if (!confirm('Do you want to use a "W"  (' + form.W.value + ') which is much larger than "L" (' + form.L.value + ')?'))
                {
                return false;
                }
        }

return true;
}

function checkKQNonNum(form)
{
var c_1;

for (c_1 = 0; c_1 < form.K.value.length; c_1++)
        {
        if ((form.K.value.charAt(c_1) < "0") || (form.K.value.charAt(c_1) > "9"))
                {
                alert('The "K" parameter (' + form.K.value + ') must be an integer greater than zero');
                return false;
                }
        }

for (c_1 = 0; c_1 < form.M.value.length; c_1++)
        {
        if ((form.M.value.charAt(c_1) < "0") || (form.M.value.charAt(c_1) > "9"))
                {
                alert('The "Q" parameter (' + form.M.value + ') must be an integer greater than zero');
                return false;
                }
        }

return true;
}

function checkLWKQNonNum(form)
{
var c_1;

for (c_1 = 0; c_1 < form.L.value.length; c_1++)
        {
        if ((form.L.value.charAt(c_1) < "0") || (form.L.value.charAt(c_1) > "9"))
                {
                alert('The "L" parameter (' + form.L.value + ') must be an integer greater than zero');
                return false;
                }
        }

for (c_1 = 0; c_1 < form.W.value.length; c_1++)
        {
        if ((form.W.value.charAt(c_1) < "0") || (form.W.value.charAt(c_1) > "9"))
                {
                alert('The "W" parameter (' + form.W.value + ') must be an integer greater than zero');
                return false;
                }
        }

for (c_1 = 0; c_1 < form.K.value.length; c_1++)
        {
        if ((form.K.value.charAt(c_1) < "0") || (form.K.value.charAt(c_1) > "9"))
                {
                alert('The "K" parameter (' + form.K.value + ') must be an integer greater than zero');
                return false;
                }
        }

for (c_1 = 0; c_1 < form.M.value.length; c_1++)
        {
        if ((form.M.value.charAt(c_1) < "0") || (form.M.value.charAt(c_1) > "9"))
                {
                alert('The "Q" parameter (' + form.M.value + ') must be an integer greater than zero');
                return false;
                }
        }

return true;
}
