var emailregex = /^([\w]+[\.\-])*\w+@([\w]+[\.\-])+([a-zA-Z]{2,3}|info|areo|coop|museum|name)$/;
function sendForm(theForm){
	for(var i = 0;i < binValidation.length;i++){
		if(binValidation[i] & 1 == 1){
			var fieldName = fieldNames[i].replace(/ /g, '_');
			if(document.getElementById(fieldName)){
				if(! validateEmail(document.getElementById(fieldName).value)){
					if(validateCompulsory(document.getElementById(fieldName).value) == false
						&& (binValidation[i] & 2) != 2){
						//do nothing
					}
					else {
						alert('The field \'' + fieldNames[i] + '\' is not a valid email address.');
						document.getElementById(fieldName).focus();
						document.getElementById(fieldName).select();
						return false;
					}
				}
			}
		}

		if((binValidation[i] & 2) == 2){
			var fieldName = fieldNames[i].replace(/ /g, '_');
			if(document.getElementById(fieldName)){
				if(! validateCompulsory(document.getElementById(fieldName).value)){
					alert('The field \'' + fieldNames[i] + '\' is compulsory.');
					document.getElementById(fieldName).focus();
					document.getElementById(fieldName).select();
					return false;
				}
			}
		}
	}
	return true;
}

function validateCompulsory(str){
	return str.replace(/\s/g, '') != '';
}

function validateEmailAddressString(emailStr){
	addresses = emailStr.split(';');

	for(var i = 0; i<addresses.length - 1;i++){
		if(! validateEmail(addresses[i])){
			return false;
		}
	}
	return true;
}
function validateEmail(emailStr){
	return emailregex.test(emailStr);
}

function saveIt(){
	document.getElementById('return_email').value = tidyEmailString(document.getElementById('return_email').value);

	if(document.getElementById('friendly_name')
			&& document.getElementById('friendly_name').value.replace(/\s/g,'')==''){
		alert('The from friendly name field cannot be blank');
		document.getElementById('friendly_name').select();
		return;
	}
	else if(document.getElementById('return_email').value.replace(/\s/g,'')==''){
		alert('The return e-mail field cannot be blank');
		document.getElementById('return_email').select();
		return;
	}
	else if(! validateEmailAddressString(document.getElementById('return_email').value)){
		alert('You did not enter a valid return e-mail address:\nuser@domain.com;user@domain.co.uk;');
		document.getElementById('return_email').select();
		return;
	}
	else if(! validateCompulsory(document.getElementById('email_subject').value)){
		alert('You must enter an e-mail subject.');
		document.getElementById('email_subject').select();
		return;
	}
	else if(!(validateCompulsory(document.getElementById('field1name').value) ||
		      validateCompulsory(document.getElementById('field2name').value) ||
	          validateCompulsory(document.getElementById('field3name').value) ||
	          validateCompulsory(document.getElementById('field4name').value))){
		alert('Your form must consist of at least one field.');
		document.getElementById('field1name').select();
		return;
	}
	else if(! validateCompulsory(document.getElementById('submit_text').value)){
		alert('You must enter text for the submit button.');
		document.getElementById('submit_text').select();
		return;
	}
	else if(! validateCompulsory(document.getElementById('notification_message').value)){
		alert('You must enter a notification message.');
		document.getElementById('notification_message').select();
		return;
	}
	else if(document.getElementById('return_email').value.replace(/\;/g,'').length - document.getElementById('return_email').value.length < -3){
		alert('A maximum of 4 e-mail addresses can be entered in the return to field.');
		return;
	}
	document.getElementById('plug').submit();
}

function tidyEmailString(emailStr){
	var addresses = emailStr.split(';');
	var tmp = '';

	for(var i = 0;i<addresses.length;i++){
		if(addresses[i] != ''){
			tmp += addresses[i] + ';';
		}
	}
	return tmp;
}

function setMailerFromAddress(newValue) {
	if(newValue == ''){
		document.getElementById('from_email').value = document.getElementById('from_email').defaultValue;
	}
	else{
		document.getElementById('from_email').value = newValue;
	}
}