var Newsletter = new Class({
	Implements: [Events],
	
	xhr: null,
	
	initialize: function(checkbox) {
		checkbox.addEvent(Browser.Engine.trident ? 'click' : 'change', this.send.bind(this));
	},
	
	send: function(e) {
		var elem = $(e.target);
		var loader = elem.getPrevious();
		if(this.xhr == null) {
			new Request.JSON({
				url: '/ajax/account/newsletter',
				method: 'post',
				onRequest: function() {
					elem.hide();
					loader.show();
				},
				onSuccess: function(data) {
					if(data != true) {
						elem.setProperty('checked', !elem.checked);
					}
					loader.hide();
					elem.show();
					this.xhr = null;
				}.bind(this)
			}).send('set=' + elem.checked);
		}
	}
});