


  $(document).ready(function(){

	
    $('#sendNow').click( function ()
		{
		
		//to not display previous message(s)
		$("p").remove(".error");

		
		
		//perform field validation		
		
		var hasError = false;
		
		var senderEmail = $("#senderEmail").val();
				if(senderEmail == '') {
					$("#senderEmail").after('<p class="error"><span class="error">Please enter your email address.</span></p>');					
				hasError = true;
				}
				else if(!validateEmail(senderEmail) ){
					$("#senderEmail").after('<p class="error"><span class="error">Please enter a valid email address.</span></p>');					
				hasError = true;
				}
		
		var friendEmailValue = $("#friendEmail").val();
				if(friendEmailValue == '') {
					$("#friendEmail").after('<p class="error"><span class="error">Please enter an email address for your friend.</span></p>');					
					
					hasError = true;
				}	
				else if(!validateEmail(friendEmailValue) ) {
					$("#friendEmail").after('<p class="error"><span class="error">Please enter a valid email address.</span></p>');					
					hasError = true;
				}
				else if(!validateMultipleEmail(friendEmailValue) ){
				$("#friendEmail").after('<p class="error"><span class="error">Please separate email addresses with a comma.</span></p>');					
					hasError = true;
				}
		
		var messageString = $("#comment").val();
			if ( messageString.length > 512 ) {
				$("#comment").after('<p class="error"><span class="error">Please shorten your message to 512 characters.</span></p>');
			}
			
		var optIn = $('#checkbox_optIn').attr('checked');
		
		
		if (!hasError) {
		// send the ajax call and do display based on success
		
			var email= jQuery.trim( $('#senderEmail').val() );
			var friendEmail= jQuery.trim( $('#friendEmail').val() );
			var message= jQuery.trim( $('#comment').val() );
			var senderName= jQuery.trim( $('#senderName').val() );
		
						var url = "/hillspet/ajax/tellAFriendSilverpop.hjsp";
						$.get(url, { senderEmail: senderEmail, friendEmail: friendEmail, senderName: senderName, message:message, optIn:optIn }, handleResponse);			
			
		
		}
		});
		
	});	
	
	
/**
	Handles response from AJAX request, parsing XML and displaying correct message
 */
function handleResponse(xml)
{
	try {
		// alert('handleResponse : data = ' + xml);
		 /* sample return XML
				<?xml version="1.0" encoding="UTF-8"?>
				<Envelope>
					<Body>
						<RESULT>
							<SUCCESS>TRUE</SUCCESS>
							<RecipientId>0000000000</RecipientId>
						</RESULT>
					</Body>
				</Envelope>
				*/
				
				/* This works great in FF and Safari, but not IE version
				$(xml).find('success').each( function() {
			        var successText = $(this).text().toLowerCase();
			
					if (successText == 'true')
					{
						//show thank you div/text
						$("#formContainerTAF").hide();
						$("#tafThanks").show();
						
					}
					else
					{
						alert("Error - " + $(this).text());
						//set error message or ignore
					}
			    });
			    */
			    
				//manually parsing XML by characters due to IE issue above
				var successIndexStart = xml.indexOf("<success>");
				var successIndexEnd = -1;
				var isSuccessful = 'false';
				
				if (successIndexStart != -1)
				{
					var successIndexEnd = xml.indexOf("</success>");
					isSuccessful = xml.substring(successIndexStart + 9, successIndexEnd);
					
					if (isSuccessful.toLowerCase() == 'true')
					{
						$("#formContainerTAF").hide();
						$("#tafThanks").show();
					} 
					else
					{
						alert("122: Unable to complete request.");
					}
				}
				else
				{
					alert("127: Unable to complete request.");
				}
			    
			} catch (e) {
				alert(e.lineNumber + ': ' + e.message);
			}
		    
}//end handleResponse function
	

	
	//email validation function
	function validateEmail(strng) 
	{
		var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
		var regex = new RegExp(emailReg);
		return regex.test(strng);
		
	}//end validateEmail function

function validateMultipleEmail(string) {	
	var expression=/^(([a-zA-Z0-9\-\._]+)@(([a-zA-Z0-9\-_]+\.)+)([a-z]{2,3})(,(?!$))?)+$/;
	var regex = new RegExp(expression);	
	return regex.test(string);
	
	}
