/**
 *
 * Paul Streise
 * http://www.omc.ch/
 *
 * Created on 01.06.2009
 * @copyright 2009
 *
 **/


var SubmitNewsletter = new Class({
	
	Implements : [Options],
	
	options: {
		submitButton : 'newsbutton',
		emailInput : 'emailinput',
		errorText : 'Bitte überprüfen Sie die eingegebene E-Mail Adresse.',
		maskdivid: 'defaultNewsletterContent',
		successdivid: 'newsletterSuccessSubmitted',
		url: null
	},
	
	initialize: function(options)
	{
		this.setOptions(options);
		
		$(this.options.submitButton).addEvent('click',function(){
			this.submit();
		}.bind(this));
		
		$(this.options.emailInput).addEvent('keydown',function(e){
			if(e.key == 'enter')
				this.submit();
		}.bind(this));
	},
	
	submit: function()
	{
		var email = $(this.options.emailInput).get('value');
		if(this.validate(email)==false)
		{
			$(this.options.emailInput).addClass('error');
			alert(this.options.errorText);
			return;
		}
		
		var myFx = new Fx.Tween($(this.options.maskdivid),
		{
			duration:1000,
			onComplete : function()
			{
				new Fx.Tween($(this.options.successdivid), {duration:1000}).start('opacity',0,1);
			}.bind(this)
		});
	
		myFx.start('opacity',1,0);
		
		var data = "newsletter="+email;
		
		var myRequest = new Request({
			method: 'post', 
			url: this.options.url
		}).send(data);

	},
	
	validate: function(email)
	{
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		return reg.test(email);
	}
	
});


