var requiredFields = new Array();	// one-dimensional array
var emailFields = new Array();		// one-dimensional array
var passwordFields = new Array();	// two-dimensional array

function isFormValid() {
	for (var i = 0; i < requiredFields.length; i++) {
		if (isBlank(requiredFields[i].value)) {
			requiredFields[i].focus();
			alert ("Required fields can not be blank");
			return false;
		}
	}
	for (var i = 0; i < emailFields.length; i++) {
		if (!isEmail(emailFields[i].value)) {
			emailFields[i].focus();
			return false;
		}
	}
	for (var i = 0; i < passwordFields.length; i++) {
		if (passwordFields[i][0].value != passwordFields[i][1].value) {
			passwordFields[i][1].focus();
			alert ("Equal values required");
			return false;
		}
	}
	return true;
}

function isBlank (fieldValue) {
	if (fieldValue == "") {
		return true;
	}
	return false;
}

function isPasswordConfirmed (password, passwordConfirmation) {
	if (password == passwordConfirmation) {
		return true;
	}
	return false;
}

function isEmail (email) {
	if (email){
		var iAt=email.indexOf("@");
		var iDot=email.indexOf(".",iAt);
		var iBlank=email.indexOf(" ");
		var iLen=email.length;
		if ((iAt<0) || (iDot<iAt) || (iBlank!=-1) && (iLen<=iDot+3)){
			alert("Please check your email address.\n'" +
			email + "' is not a valid address");
		} else {
			return true;
		}
	}
	return false;
}

// don't allow to submit the form twice
var submitted = false;
function disableMultipleSubmission () {
	if (!submitted) {
		submitted = true;
		return true;
	}
	alert("The form has already been submitted.\nPlease wait.");
	return false;
}
