function validate_graduates_form() {
	var NUMBER_QUESTIONS = 7;
	
	fo = document.forms['grad_form'];
	
	// check all radio questions have been answered.
	checked_count=0;
	for(q=1;q<=NUMBER_QUESTIONS ;q++) {
		l = fo.elements['question'+q].length;
		for(i=0;i<l;i++) {
			if(fo.elements['question'+q][i].checked) checked_count++;
		}
	}
	
	msg = '';
	if (checked_count!=NUMBER_QUESTIONS  && !msg) msg = 'Please answer all 10 questions before submitting your details';
	if (fo.question9.value.length<1 && !msg) msg = 'Please answer "What Skills and Behaviours do you think you have that are relevant to a graduate opportunity at Carat?"';	
	if (fo.question10.value.length<1 && !msg) msg = 'Please answer "What do you think is the difference between a creative agency and a media agency and what attracts you to media?"';	
	if (fo.question11.value.length<1 && !msg) msg = 'Please answer "Please pick one of our client brands and describe the media strategy in a recent campaign."';	
	if (fo.ftitle.value.length<1 && !msg) msg = 'Please provide your Title (Mrs/Mr/Ms etc)';
	if (fo.fname.value.length<1 && !msg) msg = 'Please provide your First Name';
	if (fo.fsurname.value.length<1 && !msg) msg = 'Please provide your Surname';
	if (fo.ftel.value.length<1 && !msg) msg = 'Please provide your Telephone Number';
	if (fo.fmobile.value.length<1 && !msg) msg = 'Please provide your Mobile Number';
	if (fo.femail.value.length<1 && !msg) msg = 'Please provide your Email Address';
	if (fo.fnationality.value.length<1 && !msg) msg = 'Please provide your Nationality';
	if (fo.fprefdate.selectedIndex<1 && !msg) msg = 'Please provide your preferred start dates';
	if (fo.fspec1.selectedIndex<1 && !msg) msg = 'Please provide your preferred specialism';
	
	if (fo.fgse.value.length<1 && !msg) msg = 'Please provide your GCSE Maths grade or equivalent';
	if (fo.ffound.selectedIndex<1 && !msg) msg = 'Please provide where you found out about graduate careers at Carat?';
	
	if (msg) {
		alert(msg);
		return false;
	} else {
		fo.submit();
	}
	
}