function checkMailsAddress(val, fieldName) {
	var fieldName = fieldName || 'Email';
	regExp = new RegExp("[ ,;\n\r]");
	var arr = val.split(regExp);

	var flag = false;
    for (var i = 0; i < arr.length; i++) {
        var res = arr[i];
   		//alert (res);
		if (res.length==0) {
			continue;
		}
		if (!checkMail(res)) {
			return false;
		} else {
			flag = true;
		}
	}
	if (!flag) {
		alert("Please enter " + fieldName + ".");
		return false;
	} else {
		return true;		
	}
}

function checkMail(frm, fieldName) {
	var fieldName = fieldName || 'Email';
	if (frm == "") {
		alert("Please enter " + fieldName + ".");
		return (false);
	}
	if (frm.length < 7) {
		alert("Email address should contain at least 7 characters.");
		return (false);
	}
	if (frm.length > 255) {
		alert("Email address should contain 255 or less characters.");
		return (false);
	}
	//check the form and validity of the email address
	var e_str = frm;
	var str_at = e_str.indexOf("@");
	var before_at = e_str.substr(0,str_at);
	var dot_afterat = e_str.indexOf(".", str_at);
	var after_at = e_str.substr(str_at + 1);
	var str_dot = after_at.indexOf(".");
	var str_lastdot = after_at.lastIndexOf(".");
	var str_dot2 = after_at.substr(str_lastdot+1);

	if (e_str.charAt(0) == "." ||  e_str.charAt(0) == "@") {
		alert("Invalid email address. Illegal first character!");
		return(false);
	}
	if (str_at < 0) {
		alert("Invalid email address. No \"@\" found.");
		return(false);
	}
	if (e_str.charAt(e_str.indexOf("@")-1) == ".") {
		alert("Invalid email address. Illegal character precedes \"@\".");
		return(false);
	}
	if (e_str.charAt(e_str.indexOf("@")+1) == "@") {
		alert("Invalid email address. Illegal character precedes \"@\".");
		return(false);
	}
	//check first . after that @
	if (dot_afterat < 0) {
		alert("Invalid email address. No \".\" found after the \"@\".");
		return(false);
	} else if ((dot_afterat - str_at) < 2) {
		alert("Invalid email address. \".\" immediately follows \"@\" .");
		return(false);
	} 
	if (str_lastdot > (after_at.length - 3)) {
		alert("Invalid email address. Too few characters after the last \".\" .");
		return(false);
	}
	var sec=after_at.indexOf("@")
	if (sec>0) {
		alert("Invalid email address. Too many \"@\" symbols.");
		return(false);
	}
	//^([a-z0-9][a-z0-9_\-]*)
	if ( (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+$/i).test(before_at)==false ) {
		alert("Invalid email address. User name must not contain special symbols.");
		return(false);
	}
	if ( (/^([a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,6}$/i).test(after_at)==false ) {
		alert("Invalid email address. Domain name must not contain special symbols.");
		return(false);
	}
	return true;
}