//--------------------------------------------------------------------------------------------------
// VALIDATION FOR ZIP CODE
//--------------------------------------------------------------------------------------------------

var strZipPreviousValue = ""
var strZipInvalids = /[^0-9]/;

function FormatZipCode(val)
{
        var strZipString = ""
        var strZipPass = val.value;
        var strZipLength = strZipPass.length;
        var z;
        var zz;
        var ZipcursorPosition = val.value.charAt((strZipLength) - 1)

        //IF THE INPUT IS LESS THAN 6...
        if(val.value.length < 6)
        {
                //IF THE VALUE HAS CHANGED...
                if(strZipPreviousValue != strZipPass)
                {
                        //GET ALL OF THE NUMBERS INTO A STRING
                        for(z = 0; z < strZipLength; ++z)
                        {
                                if (val.value.charAt(z) < "0" || val.value.charAt(z) > "9")
                                {

                                        for(zz = 0; zz < strZipLength; ++zz)
                                        {
                                                var lZipChar = val.value.charAt(zz);

                                                //IF IT'S A LEGAL CHARACTER, APPEND IT TO A STRING
                                                if(lZipChar.search(strZipInvalids) != -1)
                                                {
                                                        strZipString = strZipString + lZipChar
                                                        val.value = strZipPreviousValue
                                                }
                                        }
                                }
                        }
                }
        }
        else
        {
                val.value = strZipPreviousValue
        }
        strZipPreviousValue = val.value
}

//--------------------------------------------------------------------------------------------------
// VALIDATION FOR PHONE NUMBER
//--------------------------------------------------------------------------------------------------

var strPreviousValue = ""
var strInvalids = /[^0-9- \(\)\+]/;

function FormatPhone(val)
{
        var strNumberString = ""
        var strPass = val.value;
        var strLength = strPass.length;
        var i;
        var cursorPosition = val.value.charAt((strLength) - 1)

        //IF THE VALUE HAS CHANGED...
        if(strPreviousValue != strPass)
        {
                //GET ALL OF THE NUMBERS INTO A STRING
                for(i = 0; i < strLength; ++i)
                {
                        if (val.value.charAt(i) < "0" || val.value.charAt(i) > "9")
                        {
                                for(i = 0; i < strLength; ++i)
                                {
                                        var lchar = val.value.charAt(i);

                                        //IF IT'S A LEGAL CHARACTER, APPEND IT TO A STRING
                                        if(lchar.search(strInvalids) != -1)
                                        {
                                                strNumberString = strNumberString + lchar
                                                val.value = strPreviousValue
                                        }
                                }
                        }
                }
        }
        strPreviousValue = val.value
}


//--------------------------------------------------------------------------------------------------
// VALIDATION FOR NAMES
//--------------------------------------------------------------------------------------------------

var strFirstTimeInFN = "";
var strPreviousNameValue = ""

var strNameInvalids = /[^a-zA-Z\-']/;

function FormatName(sName)
{
        if(strFirstTimeInFN != "False")
        {
                strFirstTimeInFN = "False"
                strPreviousNameValue = sName.value.substr(0,sName.value.length-1)
        }

        var strNameString = ""
        var strPass = sName.value;
        var strLength = strPass.length;
        var i;
        var cursorPosition = sName.value.charAt((strLength) - 1)

        //IF THE VALUE HAS CHANGED...
        if(strPreviousNameValue != strPass)
        {
                //GET ALL OF THE NUMBERS INTO A STRING
                for(i = 0; i < strLength; ++i)
                {
                        for(i = 0; i < strLength; ++i)
                        {
                                var lchar = sName.value.charAt(i);

                                //IF IT'S A LEGAL CHARACTER, APPEND IT TO A STRING
                                if(lchar.search(strNameInvalids) != -1)
                                {
                                        strNameString = strNameString + lchar
                                        sName.value = strPreviousNameValue

                                }
                        }
                }
        }
        strPreviousNameValue = sName.value
}



//------------------------------------------------------------------------------------------
// THIS FUNCTION DYNAMICALY FORMATS A PHONE NUMBER FIELD AS THE USER INPUTS THE NUMBER
//------------------------------------------------------------------------------------------

strPreviousPhoneNumberValue = ""

function FormatPhone_Extra(PhoneNumberField)
{
        var PhoneNumberVariable = PhoneNumberField.value

        var intFieldLength
        var strFieldString = ""
        var strNumberString = ""

        intFieldLength = PhoneNumberField.value.length
        strFieldString = PhoneNumberField.value

        if(strPreviousPhoneNumberValue != PhoneNumberVariable)
        {
                //GET ALL OF THE NUMBERS INTO A STRING
                for(i = 0; i < intFieldLength; ++i)
                {
                        //IF IT'S A NUMBER, APPEND IT TO A STRING
                        if (PhoneNumberField.value.substring(i,i+1) >= "0" &&
                                PhoneNumberField.value.substring(i,i+1) <= "9")
                        {
                                strNumberString = strNumberString + strFieldString.substring(i,i+1)
                        }
                }
/*

                //IF THERE IS AT LEAST 1 NUMBER, ADD THE LEFT PARENTHESIS
                if(strNumberString.length > 0 && strNumberString.substring(0,1) != "(")
                {
                        strNumberString = "(" + strNumberString;
                }

                //IF THERE ARE MORE THAN 2 NUMBERS, INSERT THE LEFT PARENTHESIS
                if(strNumberString.length > 3 && strNumberString.substring(4,6) != ") " && strNumberString.length != 4)
                {
                        x = strNumberString.substring(4,14)
                        strNumberString = strNumberString.substring(0,4) + ") " + x;
                }
*/

                //IF THERE ARE MORE THAN 3 NUMBERS, INSERT A DASH
                if(strNumberString.length > 2 && strNumberString.substring(3,4) != "-" && strNumberString.length != 3)
                {
                        x = strNumberString.substring(3,11)
                        strNumberString =
                        strNumberString.substring(0,3) + "-" + x;
                }
                //IF THERE ARE MORE THAN 6 NUMBERS, INSERT A DASH
                if(strNumberString.length > 6 && strNumberString.substring(7,8) != "-" && strNumberString.length != 7)
                {
                        x = strNumberString.substring(7,11)
                        strNumberString =
                        strNumberString.substring(0,7) + "-" + x;
                }
                PhoneNumberField.value = strNumberString
        }
        strPreviousPhoneNumberValue = PhoneNumberField.value
}
//---------------------------------------------------------------------------

