( function( $ ) {

	$.mailplus_subscription = function ( box, options )
	{
		var $document = $(document);
		var $window   = $(window);

		init(box);
		
		function init( box ) {
			
		
			
			$(box).find(".mailplus-subscription-input").bind("click", function(){
				if($(this).val() == "Emailadres"){
					$(this).val("");
				}
			});
			
			$(box).find("p.mailplus-subscription-error").hide().empty();
			
			$(box).find(".mailplus-subscription-submit-button").bind("click", validateEmail);
			
		}
		
		function validateEmail(){
			
			$(box).find(".mailplus-subscription-input-error-box").hide();
			
			if(checkEmail($(box).find("#mailplus-email").val())){
				
				_gaq.push(['_trackEvent', 'home', 'inschrijven-nieuwsbrief-start']);
				
				$("#mailplus-subscription-loader").show();
				
				$(".mailplus-subscription-submit-button").hide();
				
				var subscriberMail = $(box).find("#mailplus-email").val();
				var subscriberDanone;
				
				if($(box).find("#mailplus-danone-check").attr('checked')){
					subscriberDanone = 1;
				} else {
					subscriberDanone = 0;
				}

				//console.log(subscriberDanone);
				
				$.post("/wp-content/plugins/mailplus-subscription/ajax/add-subscription.php", 
				{
					email:subscriberMail,
					danoneMail:subscriberDanone
				},
				function(data) {
					
					//console.log(data);
					
					if(data.returnStr == "ok"){
						$(box).find(".mailplus-subscription-error-box").css("background-color", "#e7ffd0");
						$(box).find("p.mailplus-subscription-error").show().text("Bedankt voor het aanmelden voor onze nieuwsbrief.").css("color", "#7cb742");
						_gaq.push(['_trackEvent', 'home', 'inschrijven-nieuwsbrief-gereed']);
						$("#mailplus-subscription-loader").hide();
						
					} else if (data.returnStr == "duplicate"){
						$(box).find(".mailplus-subscription-error-box").css("background-color", "#ffc6c6");
						$(box).find("p.mailplus-subscription-error").show().text("Er bestaat al een aanmelding met dit email adres.").css("color", "#ff0000");
						$("#mailplus-subscription-loader").hide();
						$(".mailplus-subscription-submit-button").show();
						_gaq.push(['_trackEvent', 'home', 'inschrijven-nieuwsbrief-dubbel']);
						
					} else {
						$(box).find(".mailplus-subscription-error-box").css("background-color", "#ffc6c6");
						$(box).find("p.mailplus-subscription-error").show().text("Op dit moment zijn er problemen met deze service. Probeer het later nog eens of neem contact op met de webmaster.").css("color", "#ff0000");
						_gaq.push(['_trackEvent', 'home', 'inschrijven-nieuwsbrief-service-down']);
						
						$("#mailplus-subscription-loader").hide();
						$(".mailplus-subscription-submit-button").show();
					}
					
				},
				"json");

			} else {
				$(box).find(".mailplus-subscription-input-error-box").show();
				$(box).find("p.mailplus-subscription-input-error").text("Het emailadres is onjuist.").css("color", "#ff0000");
				_gaq.push(['_trackEvent', 'home', 'inschrijven-nieuwsbrief-email-onjuist']);
			}
			return false;
		}
		
		function checkEmail(elementValue){  
		   var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
		   return emailPattern.test(elementValue);  
		}
	
	};

	$.fn.mailplus_subscription = function ( options )
	{

		this.each( function() 
		{
			new $.mailplus_subscription( this, options );
		}
	);

	return this;
};

})( jQuery );

$(document).ready(function() {
	jQuery('#mailplus-subscription-form').mailplus_subscription();
});
