function isNotEmpty(section, str, elem) {
	if(elem == null || elem.length == 0) {
		alert(section + 'Please complete ' + str);
		return false;
	}
	return true;	
}

function isNotEmail(section, elem) {
	if(elem == null || elem.length == 0) {
		alert(section + 'Please complete email address');
		return false;	
	} else {
		var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
		
		if(elem.match(re)) {
			return true;	
		} else {
			alert(section + 'Your email address is invalid - please verify format');
			return false;
		}
	}
	return true;
}

function isValidRadio(section, radio) {
	var valid = false;
	for(var i=0; i<radio.length; i++) {
		if(radio[i].checked) return true;
	}
	alert(section + 'Please select a title - Mr, Mrs or Ms');
	return false;
}

function isChosen(section, str, elem) {
	if(elem.selectedIndex == 0) {
		alert(section + 'Please select ' + str);
		return false;
	}
	return true;	
}


function validate(form) {

	if(isNotEmpty('Section One: ', 'Surname',form.SURNAME.value)) {
	  
	    if(isValidRadio('Section One: ', form.Title)) {
		  if(isNotEmail('Section One: ', form.email.value)) {
	        if(isNotEmpty('Section One: ', 'Telephone Number - Day',form.TELEWORK.value)) {
	          if(isNotEmpty('Section One: ', 'Home Telephone Number',form.TELEHOME.value)) {
	            if(isNotEmpty('Section One: ', 'address',form.Address4.value)) {
	              if(isNotEmpty('Section One: ', 'postcode',form.Postcode.value)) {
	                if(isChosen('Section Two: ', 'Number of nights',form.STAYLENGTH)) {
	                  if(isChosen('Section Two: ', 'Destination Island',form.DESTINATIONISLAND)) {
						if(isNotEmpty('Section Two: ', 'Accommodation name',form.Accomname.value)) {
	                      if(isChosen('Section Two: ', 'Accommodation Type',form.AccomType)) {
	                        if(isChosen('Section Two: ', 'Type of Board',form.BOARD)) {
 if(isChosen('Section Three: ', 'Passengers Adults',form.adults)) {
	                  			return true;
	}}}}}}}}}}}}}

	return false;
}
