FieldsToValidateByForm = {};
FieldsToValidateByForm['RefMailingCreator'] = ["email", "firstname", "lastname","recipients"];
for(p in FieldsToValidateByForm) {
	if(document[p])
		document[p].onsubmit = function () { validate(this); }
}

function validate(form) { 
	if(!form) return;
	var problemFields = new Array();
	var returnval = true;
	var key = form.id ? form.id : (form.name ? form.name : '');
	
	var FieldsToValidate = FieldsToValidateByForm[key];	

	for(var i=0; i < FieldsToValidate.length; i++)
	{
		var fieldInQuestion = form.elements[FieldsToValidate[i]];
		if(fieldInQuestion && fieldInQuestion.value.length < 1) 
			problemFields.push(FieldsToValidate[i]);
	}
	
	if(problemFields.length > 0)
	{
		returnval = false;
		warn(problemFields);
	}
		
	return returnval;
}

function isValidEmail(str) {
	var atpos = str.indexOf("@");
	var dotpos = str.lastIndexOf(".");
	var rv = false;
	if( (atpos > 0) 
	 && (dotpos > atpos + 1) 
	 && (dotpos > str.length - 5) 
	 && ((dotpos < str.length - 2) || !isNaN(parseInt(str[str.length-1]))) )
		rv = true;
	return rv;
}

function warn(problemFields) {
	basicMesg = "You must enter a value for ";
	if(problemFields.length < 2)
		mesg = basicMesg + problemFields[0];
	else if(problemFields.length == 2)
		mesg = basicMesg + problemFields.join(' and ');
	else
	{
		lastItem = problemFields.pop();
		mesg = basicMesg + problemFields.join(', ') 
			+ ', and ' + lastItem;
	}
	alert(mesg);
}

