/* Last Modified: 10/27/99 9:30am - mft */

/* ============================================================= */

//Purpose: Check if a string is a valid American phone number
//Input: robjField: field where the phone number was entered
//Output: false if not a valid phone number, true if it is a valid phone number

function isPhoneNumber(robjField)
{
	var strRawNumber, i;

	strRawNumber = "";
	for (i = 0; i < robjField.value.length; i++)
	{
		if ((robjField.value.charAt(i) >= '0') && (robjField.value.charAt(i) <= '9')) {
			strRawNumber += robjField.value.charAt(i);
		}
	}
//	alert(strRawNumber); // in pure digits

	if (strRawNumber.length == 7) {
		robjField.value = strRawNumber.substring(0,3)+"-"+strRawNumber.substring(3,7);
		return true;
	} else if (strRawNumber.length == 10) {
		robjField.value = "("+strRawNumber.substring(0,3)+")"+strRawNumber.substring(3,6)+"-"+strRawNumber.substring(6,10);
		return true;
	} else if ((strRawNumber.length == 11) && (strRawNumber.substring(0,1) == 1)) {
		robjField.value = "1("+strRawNumber.substring(1,4)+")"+strRawNumber.substring(4,7)+"-"+strRawNumber.substring(7,11);
		return true;
	} else {
		alert("Not a valid phone number");
		robjField.focus();
		return false;
	}
}

/* ============================================================= */

//Purpose: do an "input mask" for phone number entry
//Input: robjField: field where the phone number was entered
//Output: none

function doPhoneMask(robjField) {
// INCOMPLETE
// BUGS ARE STILL PRESENT
// currently the function works, but does not allow to insert digits
	if ((window.event.keyCode - 48 < 0) || (window.event.keyCode - 48 > 9)) {
		return false;
	} else {
		var strNumber = robjField.value;
		var strNewNumber = '';
		for (var i = 0; i < strNumber.length; i++) {
			if ((strNumber.charAt(i) >= '0') && (strNumber.charAt(i) <= '9')) {
				strNewNumber += '' + strNumber.charAt(i);
			}
		}

		if (strNewNumber.length > 10) {
			return false;
		} else {
//			alert(strNumber + '' + (window.event.keyCode - 48));

			strNumber = strNewNumber;
			strNewNumber = '';
			if (strNumber.length < 4) {
				strNewNumber = strNumber.substring(0,11);
			} else if ((strNumber.length > 3) && (strNumber.length < 7)) {
				strNewNumber = strNumber;
				strNewNumber = strNumber.substring(0,strNumber.length-3) + '-' + strNumber.substring(strNumber.length-3,strNumber.length);
			} else if ((strNumber.length > 6) && (strNumber.length < 10)) {
				strNewNumber = strNumber;
				strNewNumber = '(' + strNumber.substring(0,strNumber.length-6) + ')' + strNumber.substring(strNumber.length-6,strNumber.length-3) + '-' + strNumber.substring(strNumber.length-3,strNumber.length);
			} else if (strNumber.length == 10) {
				strNewNumber = strNumber.charAt(0) + '(' + strNumber.substring(1,4) + ')' + strNumber.substring(4,7) + '-' + strNumber.substring(7,11);
			} else {
				strNewNumber = strNumber.substring(0,10);
			}

			robjField.value = strNewNumber + '' + (window.event.keyCode - 48);
			return false;
		}
	}
}

/* ============================================================= */
