
Haedus.Fnc.Newsletter = {
	
	newsletter : null,
	email : null,
	signin : null,
	signout : null,
	
	setEvent : function(container, email, signin, signout) {
		
		this.newsletter = Haedus.getDom(container);
		this.email = Haedus.getDom(email);
		this.signin = Haedus.getDom(signin);
		this.signout = Haedus.getDom(signout);
		
		if (null === this.newsletter || null === this.email || null === this.signin || null === this.signout) {
			return false;
		}
		
		Haedus.Event.addEvent(
			this.newsletter,
			'submit',
			Haedus.Fnc.Newsletter.singInOut,
			false
		);
		
		Haedus.Event.addEvent(
			this.signin,
			'click',
			Haedus.Fnc.Newsletter.singInOut,
			false
		);
		
		Haedus.Event.addEvent(
			this.signout,
			'click',
			Haedus.Fnc.Newsletter.singInOut,
			false
		);
		
	},
	
	clear : function() {
		
		Haedus.Event.rmvEvent(
			this.newsletter,
			'submit',
			Haedus.Fnc.Newsletter.singInOut,
			false
		);
		
		Haedus.Event.rmvEvent(
			this.signin,
			'click',
			Haedus.Fnc.Newsletter.singInOut,
			false
		);
		
		Haedus.Event.rmvEvent(
			this.signout,
			'click',
			Haedus.Fnc.Newsletter.singInOut,
			false
		);
		
	},
	
	singInOut : function(e) {
		
		if (e.preventDefault) {
			e.preventDefault()
		} else {
			e.returnValue = false;
		}
		
		element = Haedus.Event.getTarget(Haedus.Event.getEvent(e));
		
		switch (element.id) {
			
			case Haedus.Dom.getId(Haedus.Fnc.Newsletter.newsletter):
				return false;
				break;
			
			case Haedus.Dom.getId(Haedus.Fnc.Newsletter.signin):
				Ajax_SendRequest('GET', webaddress + '/ajax.php?page=' + Haedus.Fnc.Newsletter.newsletter.action.replace(webaddress, "") + '&newsletter[signin]=signin&newsletter[e-mail]=' + Haedus.Fnc.Newsletter.email.value);
				break;
			
			case Haedus.Dom.getId(Haedus.Fnc.Newsletter.signout):
				Ajax_SendRequest('GET', webaddress + '/ajax.php?page=' + Haedus.Fnc.Newsletter.newsletter.action.replace(webaddress, "") + '&newsletter[signout]=signout&newsletter[e-mail]=' + Haedus.Fnc.Newsletter.email.value);
				break;
			
		}
		
		document.getElementById('ajax-loading').style.display = 'block';
		
		return false;
		
	}
	
};
