// check required fields for valuation request form

// $id : //

function validate(form_name) {

// set array for form errors

	form_errors = new Array;

// get form object

	request_form  = document.getElementById(form_name);

// check name and address

	fullname = request_form.fullname.value;
	if ( fullname == '' ) {
		form_errors.push( 'You must specify your full name' );
	}
	
	address = request_form.address.value;
	if ( address == '' ) {
		form_errors.push( 'You must specify your address' );
	}

	postcode = request_form.postcode.value;
	if ( postcode == '' ) {
		form_errors.push( 'You must specify your postcode' );
	}

// check telephone numbers

	if (form_name == 'valuation' ) {
		tel_count = 0;
		home_set = 0;
		home_telephone = request_form.home_telephone.value;
		if ( home_telephone  != '' ) {
			home_set++;
			tel_count++;
		}
	
		work_set = 0;
		work_telephone = request_form.work_telephone.value;
		if ( work_telephone  != '' ) {
			work_set++;
			tel_count++;
		}
	
		mobile_set = 0;
		mobile = request_form.mobile.value;
		if ( mobile  != '' ) {
			mobile_set++;
			tel_count++;
		}
	
	// check telephone count
	
		if ( tel_count < 1) {
			form_errors.push( 'You must specify at least one contact number' );
	
	// check preferred number
	
		} else {
		
			preferred = request_form.preferred_number.options[request_form.preferred_number.selectedIndex].value;
			if ( preferred == 'none' ) {
				form_errors.push( 'You must specify a preferred contact number' );
			} else if ((( preferred == 'home') && ! home_set ) || (( preferred == 'work') && ! work_set ) || (( preferred == 'mobile') && ! mobile_set )) {
				 form_errors.push( 'Your preferred contact number is blank' );
			}
		}
	} else {
		telephone = request_form.telephone.value;
		if ( telephone == '' ) {
			form_errors.push( 'You must specify your contact number' );
		}
	}

// check nearest office

	if (form_name == 'valuation' ) {
		office = request_form.office.options[request_form.office.selectedIndex].value;
		if ( office == 'none' ) {
			form_errors.push( 'You must specify your nearest office' );
		}
	}

// display any errors

	if ( form_errors.length ) {
		error_string = 'Your request form has the following errors:\n\n';
		for ( n = 0; n < form_errors.length; n++ ) {
			error_string = error_string + form_errors[n] + '\n';
		}
		window.alert(error_string);
		document.validate_passed = false;
	} else {
		document.validate_passed = true;
	}
}
