// Validate the submitted form
// Added by John Marshall 
function validateForm(thisForm) {
	// Return true if the form is to be submitted and processed and false otherwise

        var thisField;
        	if (thisForm.fldFullName) {
                thisField = thisForm.fldFullName;
		if ((thisField.value == null) || (thisField.value == "")){
			alert("Please enter your full name")
			thisField.focus()
			return false;
		}
        }

	if ((typeof mandFields != 'undefined') && (mandFields.length > 0)){
		for (i = 0; i < thisForm.elements.length; i ++) {
			for (t = 0; t < mandFields.length; t++) {
				thisField = thisForm.elements[i];
				if (thisField.name == mandFields[t]) {
					if ((thisField.value == null) || (thisField.value == "")){
						alert("Please enter your " + getFieldLabel(thisField.name) + ".")
						thisField.focus()
						return false;
					}
				}
			}
		}
	}		

        if (thisForm.form.value == 'eventForm') {
	

	        if (thisForm.fldPosition) {
        	        thisField = thisForm.fldPosition;
			if ((thisField.value == null) || (thisField.value == "")){
				alert("Please enter your position")
				thisField.focus()
				return false;
			}
        	}

	        if (thisForm.fldCompany) {
        	        thisField = thisForm.fldCompany;
			if ((thisField.value == null) || (thisField.value == "")){
				alert("Please enter your company")
				thisField.focus()
				return false;
			}
	        }

	        if (thisForm.fldAddress) {
        	        thisField = thisForm.fldAddress;
			if ((thisField.value == null) || (thisField.value == "")){
				alert("Please enter your address")
				thisField.focus()
				return false;
			}
	        }

	        if (thisForm.fldTelephone) {
        	        thisField = thisForm.fldTelephone;
			if ((thisField.value == null) || (thisField.value == "")){
				alert("Please enter your telephone number")
				thisField.focus()
				return false;
			}
	        }

        }

        if (thisForm.fldEmail) {
                thisField = thisForm.fldEmail;
		if ((thisField.value == null)||(thisField.value == "")){
			alert("Please enter your email address")
			thisField.focus()
			return false;
		}
                if (echeck(thisField.value) == false) {
	                alert("Please enter a valid email addrress");
			thisField.focus()
			return false;
                }
        }
	return true;
}


function echeck(str) {
	var at = "@"
	var dot = "."
	var lat = str.indexOf(at)
	var lstr = str.length
	var ldot = str.indexOf(dot)
	if (str.indexOf(at) == -1){
	   return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){		   
		return false
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}
	if (str.indexOf(at,(lat+1))!=-1){
		return false
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	}
	if (str.indexOf(dot,(lat+2))==-1){
		return false
	}
	if (str.indexOf(" ")!=-1){
		return false
	}
	return true					
}


function getFieldLabel(fieldName) {

	var fieldLabel = "";

	if (fieldName == 'fldFirstName') {
		fieldLabel = 'first name'		
	} else if (fieldName == 'fldFamilyName') {
		fieldLabel = 'family name'		
	} else if (fieldName == 'fldJobTitle') {
		fieldLabel = 'job title / position'		
	} else if (fieldName == 'fldCompanyName') {
		fieldLabel = 'company'		
	} else if (fieldName == 'fldAddress1') {
		fieldLabel = 'address'		
	} else if (fieldName == 'fldAddress2') {
		fieldLabel = 'address (line 2)'		
	} else if (fieldName == 'fldCityTown') {
		fieldLabel = 'city / town'		
	} else if (fieldName == 'fldPostCode') {
		fieldLabel = 'postcode'		
	} else if (fieldName == 'fldCountry') {
		fieldLabel = 'country'		
	} else if (fieldName == 'fldTelephoneNumber') {
		fieldLabel = 'telephone number'		
	} else if (fieldName == 'fldMobileNumber') {
		fieldLabel = 'mobile telephone number'		
	} else if (fieldName == 'fldCompanyName') {
		fieldLabel = 'company'		
	} else if (fieldName == 'fldMessage') {
		fieldLabel = 'message / comment'		
	}

	return fieldLabel;

}	
