(function($){

	$.fn.newsletter = function(options) {

		// Default options
		var options = $.extend({
			cookieName     : 'newsletter',
			cookieCheck    : true,
			ajaxCall       : '',
			titleMsg       : 'Schrijf u in op onze nieuwsbrief !!!',
			introMsg       : 'Ja, ik wil graag de beste aanbiedingen per email ontvangen.',
			errorMsg       : 'Er ging iets fout',
			subscribeMsg   : 'Inschrijven',
			unsubscribeMsg : 'Uitschrijven',
			firstnameMsg   : 'Voornaam',
			lastnameMsg    : 'Achternaam',
			emailMsg       : 'Emailadres',
			closeMsg       : 'X',
			showIdentifier : '#newsletter-link-show'
		}, options);

		/* AUTO SHOW */
		if (!options.cookieCheck || $.cookie('newsletter') != 'true') {
			show_newsletter_form();
		}

		/* MANUAL SHOW */
		$(options.showIdentifier).click(function() {
			show_newsletter_form();
		});
		
		/* CREATE FORM*/
		function show_newsletter_form() {
			var html =
				'<form id="newsletter-form">' +
					'<fieldset>' +
						'<h2>' + options.titleMsg + '</h2>' +
						'<p>' + options.introMsg + '</p>' +
						'<label for="client_firstname">' + options.firstnameMsg + '</label>' +
						'<input name="client_firstname" id="client_firstname"><br />' +
						'<label for="client_lastname">' + options.lastnameMsg + '</label>' +
						'<input name="client_lastname" id="client_lastname"><br />' +
						'<label for="client_email">' + options.emailMsg + '</label>' +
						'<input name="client_email" id="client_email"><br />' +
					'</fieldset>' +
					'<fieldset>' +
						'<input type="button" class="button" name="close" id="newsletter-button-close" value="' + options.closeMsg + '">' +
						'<input type="button" class="button" name="subscribe" id="newsletter-button-subscribe" value="' + options.subscribeMsg + '">' +
						'<input type="button" class="button" name="unsubscribe" id="newsletter-button-unsubscribe" value="' + options.unsubscribeMsg + '">' +
						'<input type="hidden" name="action" id="newsletter-action" value="">' +
					'</fieldset>' +
					'<div id="newsletter-message"></div>' +
				'</form>'
			;
			$('embed, object, select').css({ visibility: 'hidden' });
			$('body').append(html);
			$('#newsletter-button-close').click(function() { remove_newsletter_form(); });

			/* SUBSCRIBE */
			$('#newsletter-button-subscribe').click(function() {
				$('#newsletter-action').attr('value', 'subscribe');
				$.get(options.ajaxCall, $('#newsletter-form').serialize());
				remove_newsletter_form();
			});
			
			/* UNSUBSCRIBE */
			$('#newsletter-button-unsubscribe').click(function() {
				$('#newsletter-action').attr('value', 'unsubscribe');
				$.get(options.ajaxCall, $('#newsletter-form').serialize());
				remove_newsletter_form();
			});
		}

		/* REMOVE FORM */
		function remove_newsletter_form() {
			$('#newsletter-form').remove();
			$('embed, object, select').css({ 'visibility' : 'visible' });
			$.cookie(options.cookieName, 'true', { expires: 31 });
		}

		return this;	
	}

})(jQuery);

