// JavaScript Document
function CheckForm(f) {
	var retVal;	
	var msg;
	var digits = "0123456789";
	var phoneNumberDelimiters = "()- ";
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	var minDigitsInIPhoneNumber = 11;


		function validEmail(email) {
			invalidChars = " /:,;"
	
			if (email == "") {
				return false
			}
			for (i=0; i<invalidChars.length; i++) {
				badChar = invalidChars.charAt(i)
				if (email.indexOf(badChar,0) > -1) {
					return false
				}
			}
			atPos = email.indexOf("@",1)
			if (atPos == -1) {
				return false
			}
			if (email.indexOf("@",atPos+1) > -1) {
				return false
			}
			periodPos = email.indexOf(".",atPos)
			if (periodPos == -1) {
				return false
			}
			if (periodPos+3 > email.length)	{
				return false
			}
			return true
		}
function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++){   
    var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false; }
    return true;}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
    var c = s.charAt(i);
    if (bag.indexOf(c) == -1) returnString += c;
    }return returnString;
}
function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}	
	retVal = true;
	msg = 'There are errors on this form.\nSome required fields have not been filled in correctly:\n\n';	
	if(f.Fname.value=='') {
		msg += 'Enter your First Name.\n';
		retVal = false;
	}
	if(f.Lname.value=='') {
		msg += 'Enter your Last Name.\n';
		retVal = false;
	}
	if(f.add1.value=='') {
		msg += 'Enter the first line of your address in the Address1 field.\n';
		retVal = false;
	}
	if(f.Town.value=='') {
		msg += 'Enter your Town.\n';
		retVal = false;
	}	
		if(f.County.value=='') {
		msg += 'Enter your County.\n';
		retVal = false;
	}	
	if (f.PostCode.value=='' ){
		msg += 'Enter a Postcode.\n';
		retVal = false;
	}
	if (f.Telephone.value=='' || checkInternationalPhone(f.Telephone.value)==false){
	msg += 'Enter a valid Contact Telephone Number.\n';
		retVal = false;
	}
	if (!validEmail(f.Email.value)) {
	msg += 'Enter a valid e-mail address.\n';
		retVal = false;
	}	
		if (f.Qualifications.value=='' ){
		msg += 'List your Qualifications, if None please state.\n';
		retVal = false;
	}
		if (f.Experience.value=='' ){
		msg += 'List your Experience, if None please state.\n';
		retVal = false;
	}
		if (f.salary.value=='' ){
		msg += 'Indicate the level of salary you are looking for.\n';
		retVal = false;
	}	

	if(!retVal) {
		alert(msg + '\n\nPlease correct the errors before continuing.');
	}
	return retVal;
}
