var phoneObject = null;
function phoneInputCheck(myfield, e)
{
  var key;
  var keychar;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) {
    return true;
  } else if ((("0123456789").indexOf(keychar) > -1)) {
    phoneObject = myfield;
    setTimeout( "ValidatePhone()", 50 );
    return true;
  }
  return false;
}

function checkValue(obj)
{
  var stripped = obj.value.replace(/[\(\)\.\-\ ]/g, '');
  if (isNaN(parseInt(stripped))) {
    obj.value="";
    stripped="";
  }
  return stripped;
}
function ValidatePhone() 
{
  if ( phoneObject == null )
    return;
  obj = phoneObject;
  p = checkValue(obj);

  if(p.length==3 || p.length==6 || p.length>=10){
    areaCode = p.substring(0,3);
    if ( p.length > 3 ) {
      phone = p.substring(3);
      if ( phone.length > 3 ) {
	prefix = phone.substring(0,3);
	number = phone.substring(3);
	if ( number.length > 4 )
	  number = number.substring(0,4);
	obj.value = "(" + areaCode + ")" + prefix + "-" + number ;
      } else {
        obj.value = "(" + areaCode + ")" + phone + "-";
      }
    } else {
      obj.value = "(" + areaCode + ")";
    }
  }
  phoneObject = null;
}
