function validate_min(field,min,alerttxt)//checks minimum length
{
  var error = "";
  with (field) {
    if (value.length < min) {
      error = alerttxt += "\n";
    }
  }
  return error;
}

function validate_required(field,alerttxt)//makes sure you put in a value
{
  var error = "";
  with (field) {
    if (value==null||value=="") {
      error = alerttxt += "\n";
    }
  }
  return error;
}

function validate_match(field1,field2,alerttxt) // checks to see if two strings match
{
  var error = "";
    if (field1.value!=field2.value) {
      error = alerttxt += "\n";
    }
  return error;
}

function clearspaces(str) { //strips spaces commas and dollar signs from a string
 var newstring = str.value.replace(/[ ,$]/g,'');
 str.value = newstring;
 return str.value
}

function stripnumber(num) { //strips everything but numbers from a string
  var stripped = num.value.replace(/\D/g,'');
  num.value = stripped;
  return num.value;
}
 
function verify_email(email,alerttxt) { //verifies email addresses
  var error="";
  email.value = clearspaces(email);
  var emailFilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
  if (!(emailFilter.test(email.value))) {
    error = alerttxt += "\n";
  }
  return error;
}

function verify_illegal(str,alerttxt) { //looks for illegal characters only allows letters, numbers and underscore 
  var error="";
  var illegalChars=/\W/;
  if (illegalChars.test(str.value)) {
    error = alerttxt += "\n";
  }
  return error;
}

function verify_phone (phone) { //verifies that at least 10 digits are present
var error = "";
    phone.value = stripnumber(p);
    if (phone.value.length <= 9) {
        error = "Phone number is invalid\nMust be in the format \"(xxx) xxx-xxxx xxx\"\n";
    }
    return error;
} 

function formatphone(p) { //used in the field input, on blur formats the phone number or errors
  var tempnumber = stripnumber(p);
  if ( tempnumber.length >= 10) {
    areacode = tempnumber.substring(0,3);
    prefix = tempnumber.substring(3,6);
    digits = tempnumber.substring(6,10);
    ext = tempnumber.substring(10,tempnumber.length);
    p.value = "(" + areacode + ") " + prefix + "-" + digits;
    if ( tempnumber.length > 10) { p.value = p.value + " x" + ext; }
    return p.value;
  } else {
    p.value = "";
    alert("Phone number is invalid\nMust be in the format \"(xxx) xxx-xxxx xxx\"");
    return p.value;false;
  }
}

function formatzip(z) { //used in the field input, on blur formats the zip or zip plus 4 or errors
  var tempnumber = stripnumber(z);
  if ( tempnumber.length == 5 || tempnumber.length == 9) {
    zip = tempnumber.substring(0,5);
    plus4 = tempnumber.substring(5,9);
    if (tempnumber.length == 9) {
      z.value = zip + "-" + plus4;
    } else {
      z.value = zip;
    }
    return z.value;
  } else {
        z.value = "";
        alert("zip code is invalid\nMust be in the format \"xxxxx-xxxx\"");
	return z.value;false;
  }
}
