function updateNewsletterBox(email, action) {
	$('#subscribe').hide();
	$('#wait4subscribe').hide();
	$('#subscribed').show();
	$('#subscriber').html(email);
	$('#subscriber').css("font-weight", "bold");
}

function busyNewsletterBox() {
	$('#subscribe').hide();
	$('#subscribed').hide();
	$('#wait4subscribe').show();
}

function redoNewsletterBox() {
	$('#subscribed').hide();
	$('#wait4subscribe').hide();
	$('#subscribe').show();
}

function subscribe() {
	if(validateEmail() == true) {
		if($('#newsletter_id').val() != undefined) {
			newsletterId = $('#newsletter_id').val();
		} else {
			newsletterId = 0;
		}
		
		doSubscribe(newsletterId, $('#email').val());
	}
}

function doSubscribe(newsletterId, email) {
	if($('#form_contest #edition')) {
		form = $('#form_contest #edition').val();
	} else {
		form = "";
	}
	
	$.ajax({
		type: "POST",
		url: baseURL + "/ajax/newsletter_ajax/remote_subscribe",
		data: "newsletter_id=" + newsletterId + "&email=" + email + '&data[form]=' + form,
		success: function(data){
			data = eval("(" + data + ")"); 
			if(data['error'] == 0) {
				if(verifySubscription() == 'activ') {
					updateNewsletterBox(email, 'subscribe');
				}
			} else if(data['error'] == 18) {
				alert("Aceasta adresa de e-mail este deja abonata");
			} else {
				alert("Adresa de e-mail este invalida");
				redoNewsletterBox();
			}
		},
		error: function(data) {
			redoNewsletterBox();
		}
	});
}

function doUnsubscribe(newsletterId, email) {
	$.ajax({
		type: "POST",
		url: baseURL + "/ajax/newsletter_ajax/remote_unsubscribe",
		data: "newsletter_id=" + newsletterId + "&email=" + email,
		success: function(msg) {
			if(verifySubscription() == 'inactiv') {
				updateNewsletterBox(email, 'unsubscribe');
			}
		}
	});
}

function checkSubscription() {
	postvars = "email=" + $('#email').val();
	
	if($('#newsletter_id').val() != undefined) {
		postvars += "&newsletter_id=" + $('#newsletter_id').val();
	}
	
	$.ajax({
		type: "POST",
		url: baseURL + "/ajax/newsletter_ajax/check_remote_subscription",
		data: postvars,
		success: function(msg){
			if(msg == 'activ') {
				$('#newsletter').attr('checked', 'checked');
			}
		}
	});
}

function verifySubscription() {
	message = '';
	
	postvars = "email=" + $('#email').val();
	
	if($('#newsletter_id').val() != undefined) {
		postvars += "&newsletter_id=" + $('#newsletter_id').val();
	}
	
	$.ajax({
		type: "POST",
		url: baseURL + "/ajax/newsletter_ajax/check_remote_subscription",
		data: postvars,
		async: false,
		success: function(msg){
			message = msg;
		}
	});
	
	return message;
}
	
function updateSubscription() {
	if($('#newsletter').attr('checked') == true) { var status = "activ"; } else { var status = "inactiv"; }
		
	if($('#newsletter_id').val() != undefined) {
		newsletterId = $('#newsletter_id').val();
	} else {
		newsletterId = 0;
	}
		
	if(status == "activ") {
		doSubscribe(newsletterId, $('#email').val());
	} else {
		doUnsubscribe(newsletterId, $('#email').val());
	}
}