//Check form values
function check_form(form)
{
	var names = form.names.value;
	var surname = form.surname.value;
	var address = form.address.value;
	var postcode = form.postcode.value;
	var homephone = form.homePhone.value;
	var mobile = form.mobile.value;
	var email = form.email.value;
	var birthDate = form.birthDate.value;
	var employment = form.employment.value;
	var reference1 = form.reference1.value;
	var reference2 = form.reference2.value;
	var reference3 = form.reference3.value;
	
	if (!checkName(surname)) {
		alert("That surname is not valid.\r\nPlease write your last name");
	    return false;
	}
	else if (!checkName(names)) {
		alert("That christian name is not valid.\r\nPlease write your name");
	    return false;
	}
	else if (isEmpty(address)) {
		alert("Please type your address");
		return false;
	}
	else if (isEmpty(postcode) || !checkNum(postcode)) {
		alert("Please type a valid postcode");
		return false;
	}
	else if (isEmpty(homephone) && isEmpty(mobile)) {
		alert("Please type your home phone number or your mobile number");
		return false;
	}
	else if (!isEmpty(homephone) && !checkNum(homephone)) {
		alert("Please type your home phone number");
		return false;
	}
	else if (!isEmpty(mobile) && !checkNum(mobile)) {
		alert("Please type your mobile number");
		return false;
	}
	else if (!isEmpty(email) && !isEmail(email)) {
		alert("Please provide a valid email address");
		return false;
	}
	else if (isEmpty(birthDate)) {
		alert("Please type your birth date");
		return false;
	}
	else if (isEmpty(employment)) {
		alert("Please provide details of your previous employment");
		return false;
	}
	else if (isEmpty(reference1) || isEmpty(reference2) || isEmpty(reference3)) {
		alert("Please provide 3 references");
		return false;
	}
	else {
		//Submit Form
		return true;
	}
}

function checkName(name) {
  if (name.length<3)
    return false;
  else if (!isAlphabetic(name))
    return false;
  else
    return true;
}

function isAlphabetic(s){
  var i;
  for (i=0;i<s.length;i++) {
    var c=s.charAt(i);
    if (!isLetter(c))
        return false;
  }
  // All are letters
  return true;
}

function isLetter(c) {
  return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) || (c==" ") || (c=="'") || (c=="-"));
}

function checkNum(num) {
  if (num.length<2)
    return false;
  else if (!isNumber(num))
    return false;
  else
    return true;
}

function isNumber(s) {
  var i;
  for (i=0;i<s.length;i++) {
	var c=s.charAt(i);
    if (!isDigit(c))
	  return false;
  }
  // All are digits
  return true;
}

function isDigit(c) {
  return ( ((c >= "0") && (c <= "9")) || (c=="-") || (c=="(") || (c==")") || (c=="[") || (c=="]") || (c==" ") );
}

function isEmpty(s) {
  return ((s == null) || (s.length == 0));
}

function isEmail(s) {
	var email = trim(s);
    var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
    var regex = new RegExp(emailReg);
    return regex.test(email);
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}
