function showNewsletterSignupForm() {
				Effect.Grow('newsletter_signup', {direction: 'bottom-left'});
			}
			function hideNewsletterSignupForm() {
				Effect.Shrink('newsletter_signup', {
					direction: 'bottom-left',
					afterFinish: function() {
						$('newsletter_signup_form').reset();
						$('nl_messages').innerHTML = '';
						$('nl_messages').hide();						
					}
				});
			}
			
			function signupUserForNewsletter(form) {
				var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
				var valid = true;
				var msgs = '';
				$('nl_messages').hide();
				
				if(form.nl_first_name.value==''){
					msgs = msgs+'Please provide first name.<br />';
					valid = false;
				}
				if(form.nl_last_name.value==''){
					msgs = msgs+'Please provide last name.<br />';
					valid = false;
				}
				if(form.nl_email.value==''){
					msgs = msgs+'Please provide your email address.<br />';
					valid = false;
				}
				else if(!emailPattern.test(form.nl_email.value)) {
					msgs = msgs+'Provided email address is not valid.';
					valid = false;
				}
				if(valid) {
					new Ajax.Request('ajax_newsletter.php', {
						method: 'post',
						evalScripts: true,
						parameters: $('newsletter_signup_form').serialize(true),
						onSuccess:function(transport, json) {
							var response = transport.responseText;

							if(response=='done') {
								$('nl_messages').className = 'success';
								$('nl_messages').innerHTML = 'You are successfully signed up for MaryMarthaOutreacg newsletter.';
								Effect.BlindDown('nl_messages');
								setTimeout("hideNewsletterSignupForm()", 3000);
							}
							else {
								$('nl_messages').className = 'error';
								$('nl_messages').innerHTML = 'Something went wrong...';
								Effect.BlindDown('nl_messages');
							}
						},
						onFailure:function(){
							$('nl_messages').className = 'error';
							$('nl_messages').innerHTML = 'Something went wrong...';
							Effect.BlindDown('nl_messages');
						}
					});
				}
				else {
					$('nl_messages').className = 'error';
					$('nl_messages').innerHTML = msgs;
					Effect.BlindDown('nl_messages');
				}
				
				return false;
			}
