(function() {
	jQuery(document).ready(function() {
		var forms = jQuery('#joinMailer, #changeMailer'),
			url = forms.filter('#joinMailer').attr('action'),
			mailBtn = jQuery('#mailer'),
			formDiv = jQuery('#mailingListForms'),
			msgDiv = jQuery('#mlMessages'),
			formPar = jQuery('#mlForms');
	
		forms.submit(function(evt) {
			var sendData = jQuery(this).serialize();
	
			sendData += '&ajax=1';
			jQuery.ajax({
				url: '/ml/index.php', 
				type: 'post',
				dataType: 'text',
				data: sendData,
				success: function(data, status, xhr) {
					msgDiv.show().text(data);
					formPar.hide();

					var height = formDiv.height(),
						width = formDiv.width(),	
						offset = mailBtn.offset();	

					formDiv.css({
						left: offset.left - width / 2,
						top: offset.top - height - 25
					});
				}			
			});
			return false;
		});
	
		mailBtn.click(function(evt) {	
			msgDiv.hide();
			formPar.show();
					
			formDiv.show();
	
			var height = formDiv.height(),
				width = formDiv.width(),	
				offset = mailBtn.offset();			
			
			formDiv.css({
				opacity: 1,
				top: offset.top - height,
				left: offset.left - width / 2
			}).animate({
				opacity: 1,
				top: '-=25'
			}, 200);

			return false;
		});

		jQuery(document).click(function(evt) {
			var target = jQuery(evt.target),
				isParented = target.parents('#mailingListForms').size() > 0;

			if (!isParented && target.attr('id') !== formDiv.attr('id')) {
				formDiv.animate({
					opacity: 0,
					top: '-=25'
				}, 200, function() {
					formDiv.hide();
				});
			}
		});
	});
})();

