var MailFriend = {
	
	initialize: function() {
		
		$('#mail-friend form').submit(function() {
			if (MailFriend.validate()) {
				MailFriend.send();
			}
			return false;
		});
		
		$('.mail-friend a').click( function() {
			MailFriend.open();
			return false;
		} );
		
		$('#mail-friend .close').click(function() {
			MailFriend.close();
			return false;
		});
		
	},

	validate: function() {
		
		if ($('#mail-friend form input[type=text][value=]').length > 0) {
			$('#mail-friend .error-required').show();
			return false;
		}

		$('#mail-friend .error-required').hide();

		var email = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
		var emailError = false;

		$('#mail-friend form input.validate.email').each(function() {
			if (email.test($(this).val()) == false) {
				emailError = true;
			}
		});

		if (emailError) {
			$('#mail-friend .error-email').show();
			return false;
		}
		
		$('#mail-friend .error-email').hide();
		return true;
		
	},
	
	open: function() {
		
		$('#overlay .box').each(function() {
			$(this).not('#mail-friend').slideUp('fast');
		});
		
		$('#mail-friend').show();
		$('#overlay').slideDown('slow', function() {
			$('#mail-friend form input[type=text]').get(0).focus();
		});
		
	},

	close: function() {
		$('#overlay').slideUp('fast');
	},
	
	send: function() {
		
		var data = $('#mail-friend form').serialize();
		
		var callback = function(result) {

			var result = Math.floor(result);
			
			if (result == 0 || result == 1 || result == 4) {
								
				$('#mail-friend .error-mislukt').show();				
				$('#mail-friend form').css('visibility', 'hidden');
				
				window.setTimeout(function() {
					MailFriend.close();
					window.setTimeout(function() {
						$('#mail-friend .error-mislukt').hide();
						$('#mail-friend form').css('visibility', 'visible').get(0).reset();
					}, 1000);
				}, 3000);				
			}

			if (result == 2) {
				
				$('#mail-friend .msg').show();				
				$('#mail-friend form').css('visibility', 'hidden');
				
				window.setTimeout(function() {
					MailFriend.close();
					window.setTimeout(function() {
						$('#mail-friend .msg').hide();
						$('#mail-friend form').css('visibility', 'visible').get(0).reset();
					}, 1000);
				}, 3000);
			}
		}

		$.post('/nldoet/sendafriend/', data, callback);
	}
};

$(document).ready( function() { MailFriend.initialize(); } );