//*****************************************************************************
//* Verify browser is DOM 2.0 compliant
//*****************************************************************************

function isDOM2()
{
    return(document.implementation && document.implementation.hasFeature &&
        document.implementation.hasFeature("core","2.0"));
}

//*****************************************************************************
//* Verify browser is Netscape
//*****************************************************************************

function isNetscape()
{
    var result = false;

    if(!isDOM2())
    {
      if(navigator.appName.indexOf("Netscape") != -1)
      {
          if(navigator.userAgent.indexOf("Netscape") != -1)
              result = true;
      }
    }

    return(result);
}

//*****************************************************************************
//* Verify browser is Internet Explorer
//*****************************************************************************

function isIE()
{
    return(navigator.appName.indexOf("Microsoft") != -1);
}

//*****************************************************************************
//* Verify browser is Opera
//*****************************************************************************

function isOpera()
{
    return(navigator.appName.indexOf("Opera") != -1);
}

//*****************************************************************************
//* Verify value is null
//*****************************************************************************

function isNull(value)
{
    return(value == "");
}

//*****************************************************************************
//* Verify numeric value is positive
//*****************************************************************************

function isPositive(value)
{
    var result = (value.substr(0,1) == '-');
    return(result);
}

//*****************************************************************************
//* Verify numeric valis is an integer
//*****************************************************************************

function isInteger(value)
{
    var result      = true;

    for(var ndx = 0 ; ndx < value.length && result ; ++ndx)
    {
        var ch = value.substr(ndx,1);
        if(ch < '0' || ch > '9')
        {
            switch(ch)
            {
                case '-':
                    if(ndx != 0)
                    {
                        result = false;
                    }

                    break;
                default:
                    result = false;
            }       
        }
    }

    return(result);
}

//*****************************************************************************
// Verify numeric value is a floating point value
//*****************************************************************************

function isFloat(value)
{
    var result      = true;
    var periodFound = false;

    for(var ndx = 0 ; ndx < value.length && result ; ++ndx)
    {
        var ch = value.substr(ndx,1);
        if(ch <= '0' || ch >= '9')
        {
            switch(ch)
            {
                case '.':
                    if(periodFound)
                    {
                        result = false;
                    }
                    else
                    {
                        periodFound = true;
                    }

                    break;
                case '-':
                    if(ndx != 0)
                    {
                        result = false;
                    }

                    break;
                default:
                    result = false;
            }       
        }
    }

    return(result);
}

//*****************************************************************************
//* Verify the value is purely alphabetic
//*****************************************************************************

function isAlpha(value)
{
    var result      = true;

    for(var ndx = 0 ; ndx < value.length && result ; ++ndx)
    {
        var ch = value.substr(ndx,1).toLowerCase();
        if(ch <= 'a' || ch >= 'z')
            result = false;
    }

    return(result);
}

//*****************************************************************************
//* Verify the value is in a set of characters
//*****************************************************************************

function isInSet(value,set)
{
    var result = true;

    for(var ndx = 0 ; ndx < value.length && result ; ++ndx)
    {
        var ch = value.substr(ndx,1);
        if(set.indexOf(ch) == -1)
            result = false;
    }

    return(result);
}
