// <INPUT TYPE="TEXT" NAME="Cphone" SIZE="11" MAXLENGTH="30" onBlur="PhoneCHK(this.value, this);">
// this file is being used by cstcombine.asp to validate and format the Cphone field.


// nnn-nnnn
// nnn-nnn-nnnn
// 1-nnn-nnn-nnnn
// 1-nnn-nnnn
// nnn-nnnn xnnnn
// nnn-nnn-nnnn xnnnn
// 1-nnn-nnn-nnnn xnnnn
// 1-nnn-nnnn xnnnn

// VARIABLE DECLARATIONS

var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
// U.S. phone numbers have 10 digits.
// They are formatted as 123 456 7890 or (123) 456-7890.
var digitsInUSPhoneNumber = 10;



// Removes all characters which appear in string bag from string s.

function stripCharsInBag (s, bag)

{   var i;
    var returnString = "";

    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}



// Removes all characters which do NOT appear in string bag 
// from string s.
function stripCharsNotInBag (s, bag)

{   var i;
    var returnString = "";

    // Search through string's characters one by one.
    // If character is in bag, append to returnString.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}

function reformat (s)
{   var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function PhoneCHK(number, numberfield)
{
	if	(numberfield != null && numberfield.type != "hidden")
	{
		if 	(number.length != 0)
		{
			if (number.charAt(0) == 0) 
			{
				alert(number + ' appears \n to be an international phone \n number and will not be formatted.') 
			}
			else
			{
				number = stripCharsNotInBag(number, digits)
					
				if (number.charAt(0) == 0) 
				{
					alert(number + ' appears \n to be an international phone \n number and will not be formatted.') 
				}
				else
				{
				
					if (number.charAt(0) == 1) 
					{ 
					number = number.slice(1) 
					}
				
					if (number.charAt(0) == 0) 
					{
						alert(numberfield.value + ' appears \n to be an international phone \n number and will not be formatted.') 
					}
					else
					{	
						if (number.length < 10) 
							{
							alert('please enter a 10 digit phone number')
							numberfield.focus();
							}
						else
							{
							var nlength = number.length - 10
							if (nlength > 0)
								{
								number = reformat (number, "(", 3, ") ", 3, "-", 4, " x", nlength)
								}
							else
								{
								number = reformat (number, "(", 3, ") ", 3, "-", 4)
								}
							numberfield.value = number  //document.form.field.value = number
							}
					}
				}
			}
		}
		else
		{
		alert('please enter a 10 digit phone number')
		numberfield.focus();
		}
	}
}

