function checkFields (form) {
	var fields = new Array();
	fields[0] = 'Name';
	fields[1] = 'Address1';
	fields[2] = 'City';
	fields[3] = 'Postcode';
	fields[4] = 'Country';
	fields[5] = 'Phone';
	var msg = new Array();
	msg[0] = 'Please enter your name.';
	msg[1] = 'Please enter at least one address line.';
	msg[2] = 'Please enter your city.';
	msg[3] = 'Please enter your postal or zip code.';
	msg[4] = 'Please enter your country.';
	msg[5] = 'Please enter your telephone number.';

	for (var i = 0; i < fields.length; i++) {
		if (!form[fields[i]].value) {
			alert (msg[i]);
			form[fields[i]].focus();
			return false;
		}
	}

	if (!isEmail(form.Email.value)) {
		alert ('Please enter a valid e-mail address.');
		form.Email.focus();
		return false;
	}
	
	return true;
}

function isEmail (str) {
	if (!str) {
		return false;
	}

	var iChars = "*|,\"<:>[]{}`\';()&$#%";
	for (var i = 0; i < str.length; i++) {
		if (iChars.indexOf(str.charAt(i)) != -1) {
			return false;
		}
	}
	
	var iAt = str.indexOf('@');
	var jAt = str.indexOf('@', iAt + 1);
	var iDot = str.lastIndexOf('.');
	if (iAt < 1 || jAt != -1 || iDot > str.length - 3 || iDot - iAt < 2) {
		return false;
	}
	
	return true;
}
