function ltrim(s)
{
    while(('' + s.charAt(0) == ' ') || ('' + s.charAt(0) == '\u00a0'))
        s = s.substring(1, s.length);
    return s;
}

function rtrim(s)
{
    while(('' + s.charAt(s.length-1) == ' ') || ('' + s.charAt(s.length-1) == '\u00a0'))
        s = s.substring(0, s.length-1);
    return s;
}

function trim(s)
{
    return rtrim(ltrim(s));
}

function toMixedCase(s)
{
 var index;
 var tmpStr;
 var currChar;
 var prevChar;
 var preString;
 var postString;
 var strLen;

    tmpStr = s.toLowerCase();
    strLen = tmpStr.length;
    if (strLen > 0)
    {
        for (index = 0; index < strLen; index++)
        {
            if (index == 0)
            {
                currChar = tmpStr.substring(0, 1).toUpperCase();
                postString = tmpStr.substring(1, strLen);
                tmpStr = currChar + postString;
            }
            else
            {
                prevChar = currChar;
                currChar = tmpStr.substring(index, index + 1);
                if (currChar != " " && prevChar == " " && index < (strLen - 1))
                {
                    tmpChar = currChar.toUpperCase();
                    preString = tmpStr.substring(0, index);
                    postString = tmpStr.substring(index + 1, strLen);
                    tmpStr = preString + tmpChar + postString;
                }
            }
        }
    }
    return tmpStr;
}

function formatfield(e)
{
    //
    //   Format text field
    //
    if ((e.type == "text") || (e.type == "textarea"))
    {
        //
        //   Force case
        //
        switch (e.caps)
        {
            case "lower":
                e.value = e.value.toLowerCase();
                break;
            case "mixed":
                e.value = toMixedCase(e.value);
                break;
            case "upper":
                e.value = e.value.toUpperCase();
                break;
            default:
                break;
        }
        //
        //   Trimming
        //
        switch (e.trim)
        {
            case "both":
                e.value = trim(e.value);
                break;
            case "left":
                e.value = ltrim(e.value);
                break;
            case "right":
                e.value = rtrim(e.value);
                break;
            default:
                break;
        }
        //
        //   Reformat year
        //
        if ((e.year) && (isnumeric(e.value)))
        {
            if (e.value.length == 1)
                e.value = "200" + e.value;
            else if (e.value.length == 2)
            {
                if (e.value < 50)
                    e.value = "20" + e.value;
                else
                    e.value = "19" + e.value;
            }
            else if (e.value.length == 3)
                e.value = "0" + e.value;
        }
    }
}
function rollover(message)
{
    self.status = message
    return(true)
}

