var newsletterHandler = {

	defaultValue : null,

	init : function(erroremail) {
		element = $('newsletter_subsrcibe');
		this.defaultValue = $F(element);

		if (erroremail) element.setValue(erroremail);

		element.observe('focus', newsletterHandler.onInputFocus.bindAsEventListener(newsletterHandler, element));
		element.observe('blur', newsletterHandler.onInputBlur.bindAsEventListener(newsletterHandler, element));

		var form = $('user_newsletter');
		if (form) form.select('a.newsletter_button_subscribe').each(function(element) {
			$(element).observe('click', newsletterHandler.onSubscribeClick.bindAsEventListener(newsletterHandler, element));
		});

		if (form) form.select('a.newsletter_button_unsubscribe').each(function(element) {
			$(element).observe('click', newsletterHandler.onUnSubscribeClick.bindAsEventListener(newsletterHandler, element));
		});

		form.observe('submit', newsletterHandler.onFormSubmit.bindAsEventListener(newsletterHandler, element));
	},

	onFormSubmit : function(event, element) {
		var formvalue = $F('newsletter_subsrcibe');
		if (!formvalue || formvalue == this.defaultValue) {
			alert(jsLabels.txtUserNewsletterSubscribeWarning);
			event.stop();
			return false;
		}
		return true;
	},

	onSubscribeClick : function(event, element) {
		event.stop();
		if ($F('newsletter_subsrcibe') == this.defaultValue) {
			alert(jsLabels.txtUserNewsletterSubscribeWarning);
			return false;
		}
		$('user_newsletter_event').setValue('subscribeNewsletter');
		$('user_newsletter').submit();
		return false;
	},

	onUnSubscribeClick : function(event, element) {
		event.stop();
		if ($F('newsletter_subsrcibe') == this.defaultValue) {
			alert(jsLabels.txtUserNewsletterUnsubscribeWarning);
			return false;
		}
		$('user_newsletter_event').setValue('unSubscribeNewsletter');
		$('user_newsletter').submit();
		return false;
	},

	onInputFocus : function(event, element) {
		if ($F(element) == this.defaultValue) element.setValue('');
	},

	onInputBlur : function(event, element) {
		if (!$F(element)) element.setValue(this.defaultValue);
	}
}

