function isEmail(email) {
	var invalidChars, badChar, atPos, periodPos;

	invalidChars = " /:,;";

	if (email == "") {            // cannot be empty
		return false;
	}
	for (i=0; i<invalidChars.length; i++) {  // does it contain any invalid characters?
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) > -1) {
			return false;
		}
	}
	atPos = email.indexOf("@",1)      // there must be one "@" symbol
	if (atPos == -1) {
		return false;
	}
	if (email.indexOf("@",atPos+1) != -1) {  // and only one "@" symbol
		return false;
	}
	periodPos = email.indexOf(".",atPos)
	if (periodPos == -1) {          // and at least one "." after the "@"
		return false;
	}
	if (periodPos+3 > email.length)  {    // must be at least 2 characters after the "."
		return false;
	}
	return true;
}

function reqFields(elements, emails, msgFillReq, reqLabels, msgValidEmail)
{
    var s = "";
    var q = 0;
    var aelements = elements.split(",");

    for(var i=0; i < aelements.length; i++){
        var element = aelements[i].replace(" ", "");
	    if ($("#" + element).val() == "") {
			alert(msgFillReq + reqLabels);
			return false;
		}
    }
    
    var aemails = emails.split(",");
    for(var i=0; i < aemails.length; i++){
		var email = aemails[i].replace(" ", "");
		if(!isEmail($("#" + email).val())){
			alert(msgValidEmail);
			return false;
		}
    }
    return true;
}

