function MailLister()
{
	var self;
	{
		self = this;
		self.ListOpen = false;
		self.MailForm = document.getElementById('mail_form');
		self.MailEmail = document.getElementById('mail_list_email');
		self.MailHeader = document.getElementById('mail_list');
	}
	
	this.toggleMailForm = function()
	{
		if(self.ListOpen == false)
		{
			self.ListOpen = true;
			self.MailForm.style.display = "block";
			self.MailEmail.value = "Enter Email Here";
			mailTween = new Tween(self.MailForm.style, 'height', Tween.strongEaseOut, 0, 80, 0.2, 'px');
			mailTween.start();
		}
		else
		{
			self.closeMailForm();
		}
	}
	
	this.closeMailForm = function()
	{
		self.ListOpen = false;
		mailTween = new Tween(self.MailForm.style, 'height', Tween.strongEaseIn, 80, 0, 0.2, 'px');
		mailTween.onMotionFinished = function(){self.MailForm.style.display = "none";};
		mailTween.start();
	}
	
	this.clearEmail = function()
	{
		if(self.MailEmail.value == "Enter Email Here")
		{
			self.MailEmail.value = "";
		}
	}
	
	this.submitEmail = function()
	{
		if(self.MailEmail.value.length > 0){
			YUI().use("io-base", function(Y) {
				var uri = "/submitMail?addr=" + self.MailEmail.value;
				Y.on('io:complete', self.submitComplete, this);
				Y.io(uri);
			});
		}
	}

	this.submitComplete = function(id, o)
	{
		self.MailHeader.style.fontSize = "14px";
		if(o.responseText == "success")
		{
			self.closeMailForm();
			self.MailHeader.innerHTML = "Thanks for joining!";
			setTimeout(self.resetMailHeader, 5000);
		}
		else
		{
			self.MailHeader.innerHTML = "Please enter a better email.";
		}
	}

	this.resetMailHeader = function()
	{
		self.MailHeader.style.fontSize = "20px";
		self.MailHeader.innerHTML = "Mailing List";
	}
}
