﻿var msg_array = new Array();
var failedEmailsArray;

msg_array[0] = "Please enter an email address or a list of addresses seperated by a comma.";
msg_array[1] = "Please enter a valid email address (or addresses seperated by a comma).";

function checkEmail(source, args) {
    var email_data_str = args.Value;
	var emails_array = new Array();
	var alphaExp =/^[A-Za-z0-9@\\,\\._]+$/;
	var msg= "The following emails are not valid.  Please correct.\n\n";
	
	//CHECK IF FIELD HAS DATA
	if (email_data_str == "") {
	
		window.alert(msg_array[0]);
		args.IsValid = false;
	}
	
	//CHECK IF FIELD HAS VALID CHARACTERS
	if(email_data_str.match(alphaExp)){
		
		//CHARS ARE VALID, NOW CREATE ARRAY OF EMAILS FROM COMMA LIST
		emails_array = email_data_str.split(",");
		
		//NOW, CHECK IF EACH ITEM IN THE ARRAY IS A VALID EMAIL ADDRESS
			failedEmailsArray = new Array();
		for (var i = 0; i < emails_array.length; i++) {
			this.emailValidator(emails_array[i]);		
		}
	
		
		if (failedEmailsArray.length > 0 ) {
		
			//RESET FAILED EMAIL ARRAY EACH TIME USER CLICKS SUBMIT
			
			for (var j = 0; j < failedEmailsArray.length;j++) {
				msg += failedEmailsArray[j] + '\n';
			}
		
			window.alert(msg);
			args.IsValid = false;

		}
		else {
			//FORM IS GOOD TO GO!
			args.IsValid = true;
		}
	}
	else {
		window.alert(msg_array[1]);
	
		args.IsValid = false;
	}
}
function emailValidator(email_str){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

	if(email_str.match(emailExp)){
		return true;
	}else{
		failedEmailsArray.push(email_str);
	}
}