function viewDomainOfferFields() {
	document.getElementById('moreInfoDiv').style.display = 'none';
	document.getElementById('domainOfferDiv').style.display = 'block';
}

function validate() {
	var fields = {'offer'		:'Offer,mandatory,offer',
		      'name'		:'Your name,mandatory,name',
		      'email'		:'Your email address,mandatory,email',
		      'emailConfirm'	:'Confirm email address,mandatory,email,confirmEmail',
		      'telNo'		:'Your telephone number,mandatory,telno'}
	
	var errorMsg = 'The following error(s) have occured:'+"\n\n";
	var error = '';
	var errors = '';
	var validation = new Array();
	
	for(fieldId in fields) {
		fieldValue = document.getElementById(fieldId).value;
		fieldOptions = fields[fieldId].split(',');
		fieldName = fieldOptions.shift();
		validation = fieldOptions;
		
		for(i = 0; i < validation.length; i++) {
			switch(validation[i]) {
				case 'mandatory':
					error = validateMandatory(fieldName, fieldValue);
					break;
				case 'offer':
					regex = /^\d{0,9}(\.\d{2})?$/;
					error = validateRegex(regex, fieldName, fieldValue);
					break;
				case 'name':
					regex = /^[A-Z]+([A-Z-' ]+[A-Z]+)?$/i;
					error = validateRegex(regex, fieldName, fieldValue);
					break;
				case 'email':
					regex = /^([-A-Z0-9_]+(\.[-A-Z0-9_]+)?)\@([-A-Z0-9\.]+\.[A-Z]+(\.[A-Z]+)?)$/i;
					error = validateRegex(regex, fieldName, fieldValue);
					break;
				case 'confirmEmail':
					error = validateConfirmEmail(fieldValue);
					break;
				case 'telno':
					error = validateTelno(fieldName, fieldValue);
					break;
			}
			
			if(error) {
				errors += ' - '+error+"\n";
				error = '';
				break;
			}
		}
	}
	
	if(errors.length > 0) {
		alert(errorMsg+errors);
		return false;
	} else {
		document.getElementById('domainOfferForm').submit();
	}
}

function validateMandatory(fieldName, fieldValue) {
	if(fieldValue == '' || fieldValue == 0) {
		return fieldName+' is required.';
	}
	
	return
}

function validateRegex(regex, fieldName, fieldValue) {
	if(!fieldValue.match(regex)) {
		return fieldName+' is invalid.';
	}
	
	return;
}

function validateConfirmEmail(fieldValue) {
	emailValue = document.getElementById('email').value;
	confirmEmailValue = fieldValue;
	
	if(emailValue != '' && confirmEmailValue != '') {
		if(confirmEmailValue != emailValue) {
			return 'Your email and confirmation email addresses do not match.';
		}
	}
	
	return;
}

function validateTelno(fieldName, fieldValue) {
	telno = fieldValue.replace(/ /g, '');
		
	if(telno.length < 10) {
		return fieldName+' is too short.';
	} else if(!telno.match(/^[0-9]+$/)) {
		return fieldName+' is invalid.';
	}
	
	return;
}
