$.validator.addMethod("parseEmailAddrs", function(value, element) {
	  		
			if (this.optional(element)){ // return true on optional element
         		return true;
			}
			
//			console.log(value);
			var spaceFix = / /gi;
        	var value = value.replace(spaceFix,",");
//			console.log(value);
			
			var emails = value.split( new RegExp( "\\s*,\\s*", "gi" ) );			
 //         console.log('parseEmailAddrs:: emails found: ' + emails.length);            
            valid = true;
            
			var newEmails = "";
			
         	for(var i in emails) {    			                            	
    //        	value = emails[i];
             	str = emails[i];
				
				if (str!=''){

	                valid = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|edu|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)\b/.test(str);
	          //    console.log('parseEmailAddrs::Loop value:' + str + ' - regex returned: ' + valid);
	                
	                if (!valid)
	                	break;
					else{
						newEmails = newEmails + str ;					
						if (i < (emails.length-1))
							newEmails = newEmails + ",";	
					}					
				}
            }

			$('#stf_friendemail').val(newEmails);

	//		console.log('parseEmailAddrs::valid='+valid);

            return valid;			
}, "please enter a valid email address");  

$(document).ready(function() {			  

	var validator = $('#stf_form').validate({
		// rules
		rules: {

			UserName: {
				required: true,	
				minlength: 1
			},
		
			UserEmail: {
				required: true,
				email: true
			},
		
			FriendName: {
				required: true,
				minlength: 1
			},
		
			FriendEmail: {
				required: true,
				parseEmailAddrs: true
			},
			
		},
	
		// messages
		messages: {
			UserName: {
				required: 'your name field cannot be left blank'
			},
		
			UserEmail: {
				required: 'your email field cannot be left blank',
				email: 'please enter a valid email address'
			},
		
			FriendName: {
				required: 'friend name field cannot be left blank'
			},
		
			FriendEmail: {
				required: 'friend email field cannot be left blank',
				// email: 'please enter a valid email address',
				parseEmailAddrs: 'please enter a valid email address (separate multiple addresses with a comma)'
			}
		},
		
		event: 'submit',
		
		// error
		errorClass: 'formErrorClass',
		errorElement: 'span',
		errorLabelContainer: $('.formErrorDisplay'),
		highlight: function(element, errorClass) {
			$(element).addClass(errorClass);
			$(element.form).find('label[for=' + element.id + ']').addClass(errorClass);
		},
		unhighlight: function(element, errorClass) {
			$(element).removeClass(errorClass);
			$(element.form).find('label[for=' + element.id + ']').removeClass(errorClass);
		}
	});
});
