var minNameLength  = 4; //manage_participant.cgi, edit_participant.cgi MIN_NAME_LENGTH
var minEmailLength = 5; //manage_participant.cgi, edit_participant.cgi MIN_EMAIL_LENGTH
var savePressed    = false;

//Set trim method for String object
if ('undefined' == typeof String.prototype.trim) {
	String.prototype.trim = function() {
		return this.replace(/^\s+/, '').replace(/\s+$/, '');
	}
}

function pressSave() {
	savePressed = true;
}

function numberedStrings(errorMessages) {
	var message = '';
	if (errorMessages.length == 1) {
		message = errorMessages[0];
	} else {
		//Format each error message
		for (var i = 1; i <= errorMessages.length; i++) {
			message += i + ". " + errorMessages[i - 1] + "\n";
		}
	}
	return message;
}

function checkParticipantData() {
	if (savePressed) { //"Save" button was pressed, check data
		var errorMessages = new Array();

		var name  = document.getElementById('name').value;
		var email = document.getElementById('email').value;
		//var emailfilter=/^\w+[\+\w-]*(\.[\+\w-]+)*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
		var emailfilter=/^[a-z0-9][a-z0-9\-\_\+]*(\.[a-z0-9\+\-_]+)*@([a-z0-9-]*[a-z0-9]\.)*[a-z0-9][a-z0-9-]*[a-z0-9]?\.([a-z]{2,4}|\d+)$/i

		//Clear spaces
		name  = name.trim();
		email = email.trim();

		//Check fields
		if (name.length < minNameLength) {
			errorMessages.push('Please complete the Name field.');
		}
		if (email.length < minEmailLength || emailfilter.test(email) == false) {
			errorMessages.push('Please complete the Email field.');
		}

		if (errorMessages.length == 0) {
			//Participant data is ok
			return true;
		} else {
			//Participant data incorrect
			alert(numberedStrings(errorMessages));
			savePressed = false;
			return false;
		}
	} else { //Submit was carried out with other button
		return true;
	}
}

function emptyParticipantData() {
	if (savePressed) { //"Save" button was pressed, check data

		var name  = document.getElementById('name').value;
		var email = document.getElementById('email').value;

		//Clear spaces
		name  = name.trim();
		email = email.trim();

		//Check whether fields are empty
		if (name.length + email.length == 0) {
			return true;
		} else {
			return false;
		}
	}
}
