(function()
{
	function is_email(email)
	{
		var isValid = true;
	  	var atIndex = email.lastIndexOf("@");
	  	if (atIndex == -1)
	  	{
	   		isValid = false;
	  	}
	  	else
	  	{
	   		var domain = email.substr(atIndex+1);
	   		var local = email.substr(0, atIndex);
	   		var localLen = local.length;
	   		var domainLen = domain.length;
	   		var localLast = local.replace(/\\\\/g,"");
	   		var firstChar = "a";
	   		var lastChar = "b";
	   
	   		if (localLen < 1 || localLen > 64)
	   		{
	    		// local part length exceeded
	    		isValid = false;
	   		}
	   		else if (domainLen < 1 || domainLen > 255)
	   		{
	    		// domain part length exceeded
	    		isValid = false;
	   		}
	   		else if (local.match('\\.\\.') != null)
	   		{
	    		// local part has two consecutive dots
	    		isValid = false;
	   		}
	   		else if (domain.match('^[A-Za-z0-9\\-\\.]+$') == null)
	   		{
	    		// character not valid in domain part
	    		isValid = false;
	   		}
	   		else if (domain.match('\\.\\.') != null)
	   		{
	    		// domain part has two consecutive dots
	    		isValid = false;
	   		}
	   		else if (local.charAt(0) == '.' || local.charAt(localLen-1) == '.')
	   		{
	    		// local part starts or ends with '.'
	    		isValid = false;
	   		}
	   		else if (localLast.match('^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$') == null)
	   		{
	    		// character not valid in local part unless 
	    		// local part is quoted
	    		if (localLast.match('^"(\\\\"|[^"])+"$') == null)
	    		{
	     			isValid = false;
	    		}
	   		}
	  	}
	  return isValid;
	}

	

	$(document).ready(
		function()
		{
			$("input[name='dodaj_n']").click(
				function()
				{
					dodajNewsletter();
				}
			);
			
			$("input[name='usun_n']").click(
				function()
				{
					usunNewsletter();
				}
			);
		}
	);		
	
	function dodajNewsletter()
	{
		var email = $("input[name='email_n']").val();
		
		if(!is_email(email))
		{
			//alert("bledny adres email: " + email)
			$("#newsletter_msg").empty();
			$("#newsletter_msg").append("<span style='color:#ff0000;'>Niepoprawny adres e-mail</span>");
			return false;
		}
		
		$("#newsletter_msg").empty();
		$("#newsletter_msg").append("<span style='color:#666;'>Czekaj...</span>");
		$("input[name='email_n']").attr('disabled', true);
		$("input[name='dodaj_n']").attr('disabled', true);
		$("input[name='usun_n']").attr('disabled', true);
		
		$("#jsNewsletterEmail").addClass("BCgray");
		
		$.ajax({
			type: "POST",
			url: "/jnewsletter",
			dataType: "json",
			data: 
			{
				email: email
			},
			success: function(result){
				$("#newsletter_msg").empty();
				if(result["MNewsletter"][0] == 2)
					$("#newsletter_msg").append("<span style='color:#00ff00;'>E-mail dodany</span>");
				else if(result["MNewsletter"][0] == 0)
					$("#newsletter_msg").append("<span style='color:#ff0000;'>E-mail nie dodany</span>");
				else if(result["MNewsletter"][0] == 1)
					$("#newsletter_msg").append("<span style='color:#ff0000;'>Niepoprawny adres e-mail</span>");
				
				$("input[name='email_n']").removeAttr('disabled');
				$("input[name='dodaj_n']").removeAttr('disabled');
				$("input[name='usun_n']").removeAttr('disabled');
				
				$("#jsNewsletterEmail").removeClass("BCgray");
			},	
			error: function ()
			{
				$("input[name='email_n']").removeAttr('disabled');
				$("input[name='dodaj_n']").removeAttr('disabled');
				$("input[name='usun_n']").removeAttr('disabled');
				
				$("#jsNewsletterEmail").removeClass("BCgray");
			}
		});
	}
	
	function usunNewsletter()
	{
		var email = $("input[name='email_n']").val();
		
		if(!is_email(email))
		{
			//alert("bledny adres email: " + email)
			$("#newsletter_msg").empty();
			$("#newsletter_msg").append("<span style='color:#ff0000;'>Niepoprawny adres e-mail</span>");
			return false;
		}
		
		$("#newsletter_msg").empty();
		$("#newsletter_msg").append("<span style='color:#666;'>Czekaj...</span>");
		$("input[name='email_n']").attr('disabled', true);
		$("input[name='dodaj_n']").attr('disabled', true);
		$("input[name='usun_n']").attr('disabled', true);
		
		$("#jsNewsletterEmail").addClass("BCgray");
			
		$.ajax({
			type: "POST",
			url: "/jnewsletter__remu_method,DELETE",
			dataType: "json",
			data: 
			{
				email: email
			},
			success: function(result){
				$("#newsletter_msg").empty();
				if(result["MNewsletter"][0] == 2)
					$("#newsletter_msg").append("<span style='color:#00ff00;'>E-mail usunięty</span>");
				else if(result["MNewsletter"][0] == 0)
					$("#newsletter_msg").append("<span style='color:#ff0000;'>E-mail nie usunięty</span>");
				else if(result["MNewsletter"][0] == 1)
					$("#newsletter_msg").append("<span style='color:#ff0000;'>Niepoprawny adres e-mail</span>");
				
				$("input[name='email_n']").removeAttr('disabled');
				$("input[name='dodaj_n']").removeAttr('disabled');
				$("input[name='usun_n']").removeAttr('disabled');
				
				$("#jsNewsletterEmail").removeClass("BCgray");
			},	
			error: function ()
			{
				$("input[name='email_n']").removeAttr('disabled');
				$("input[name='dodaj_n']").removeAttr('disabled');
				$("input[name='usun_n']").removeAttr('disabled');
				
				$("#jsNewsletterEmail").removeClass("BCgray");
			}
		});
	}
	
})();
