(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'
		}, options);

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

		/* MANUAL SHOW */
		$('#newsletter-link-show').click(function() { _show(); });
		
		/* CREATE */
		function _show() {
			$('embed, object, select').css({ visibility: 'hidden' });
			$('body').append('<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="X"><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>');
			$('#newsletter-button-close').click(function() { _remove(); });

			/* SUBSCRIBE */
			$('#newsletter-button-subscribe').click(function() {
				$('#newsletter-action').attr('value', 'subscribe');
				$.get(options.ajaxCall, $('#newsletter-form').serialize());
				clicky.log('/nieuwsbrief/inschrijven.html', 'Nieuwsbrief inschrijven');
				_remove();
			});
			
			/* UNSUBSCRIBE */
			$('#newsletter-button-unsubscribe').click(function() {
				$('#newsletter-action').attr('value', 'unsubscribe');
				$.get(options.ajaxCall, $('#newsletter-form').serialize());
				clicky.log('/nieuwsbrief/uitschrijven.html', 'Nieuwsbrief uitschrijven');
				_remove();
			});
		}

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

		return this;	
	}

})(jQuery);
