$(document).ready(function() {
	$("#button_newsletter").click(function() {
		$("#newsletter_box").modal({
			position:['20%',],	
			opacity: 30,
			overlayCss: {
				"background-color": "#000000"
			},
		
			onShow: function() {
				$(".newsletter_input").focus();
				$("#newsletter_box").find(".subscribe").fadeTo('fast', 0.5);
				$("#newsletter_box").find(".subscribe").addClass("disable");
			},
			
			closeHTML : '<a class="element_common icon_close"></a>'
		});
	});
	
	
	$("#newsletterForm").find(".unsubscribe").fadeTo('fast', 0.5);
	$("#newsletterForm").find(".unsubscribe").addClass("disable");;
				
	$(".newsletter_input").keyup(function(){
		if($(this).attr("name") == "Email")
		{
			var email = $(this).val();
			newsletterFieldChecker(email,$(this).parent());
		}
	});
	
	$(".subscribe,.unsubscribe").click(function(){
		var self = $(this);
		if($(this).hasClass("disable"))
		{
			return false;
		}
		
		var emailField = $(this).siblings(".newsletter_input");
		var email = emailField.val();
		var actionType = "";
		if($(this).hasClass("subscribe"))
		{
			actionType = "subscribe";
		}
		else if($(this).hasClass("unsubscribe"))
		{
			actionType = "unsubscribe";
		}
		
		var shortName = "site";
		if($(this).prev("#feed_short_name").val())
		{
			shortName = $("#feed_short_name").val();
		}
		
		$.ajax( {
			url : "/newsletter/"+actionType+"/"+shortName,
			type : "POST",
			data : $.toJSON(email),
			dataType : "json",
			success : 
				function(data,stat,resp){
				var reponseId = "";
					if(self.hasClass("unsubscribe")){
						reponseId="";
					}
					else if(self.hasClass("subscribe")){
						if(self.attr('id')=='newsletter_send'){
							reponseId = "#newsletter_box .content .text ";
							var t=setTimeout("$('"+reponseId+"#newsletter_response').text('')",2000);
							var t2=setTimeout("$('.simplemodal-close').trigger('click')",2100);
						}
						else if(self.attr('id')=='newsletter_send2'){
							reponseId = "";
							emailField.val('');
						}
					}
					$(reponseId+"#newsletter_response").hide();
					var msg = jQuery.parseJSON(resp.responseText);
					$(reponseId+"#newsletter_response").attr("class","success_message");
					$(reponseId+"#newsletter_response").text(msg.translate);
					$(reponseId+"#newsletter_response").show("slow");
				},
			error :
				function(resp,stat,errorThrown){
					if(self.hasClass("unsubscribe")){
						reponseId="";
					}
					else if(self.hasClass("subscribe")){
						if(self.attr('id') == 'newsletter_send'){
							reponseId = "#newsletter_box .content .text ";
						}
						else if(self.attr('id') == 'newsletter_send2'){
							reponseId = "";
						}
					}
					$(reponseId+"#newsletter_response").hide();
					var msg = jQuery.parseJSON(resp.responseText);
					$(reponseId+"#newsletter_response").attr("class","error_message");
					$(reponseId+"#newsletter_response").text(msg.translate);
					$(reponseId+"#newsletter_response").show("slow");
						
					self.fadeTo('fast', 0.5);
					self.addClass("disable");
					self.siblings(".newsletter_input").css({'border-color':'red'});
				}
		});
	});
});

function newsletterFieldChecker(email,$parent) {
	if(email != ""){
		var valid = checkEmailValid(email);
		if(valid==true){
			$parent.children(".newsletter_button").fadeTo('fast', 1);
			$parent.children(".newsletter_button").removeClass("disable");
			$parent.children(".newsletter_input").css({'border-color':'#000000'});
		}
		else{
			$parent.children(".newsletter_button").fadeTo('fast', 0.5);
			$parent.children(".newsletter_button").addClass("disable");
			$parent.children(".newsletter_input").css({'border-color':'red'});
		}
	}
}
	
function checkEmailValid(email) {
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
	return(reg.test(email));
}

