/************************ Email form stuff ********************/

var mailReg = /^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$/; //match e-mail address
var mailMessages = ["This does not appear to be a valid e-mail address", "Please be sure complete each field"];

$(document).ready(fillForm);

function clearInput() { this.value = '';};
function setDefault() { this.value = this.defaultValue;}

function fillForm()
 {
	 $('div#emailForm').parent().css('z-index', '2'); 
	 var $inputs = $('#subscribeform input:text'); 
	 $('#submitButton').click(emailSubmit);
	// $form.submit(emailSubmit);
	 $inputs
	 .focus(clearInput)
	 .each(setDefault);
}
function emailSubmit() 
{ 
	var $theMessage = $("span#mailMessage");
	
	$('#mailResponse a').click(function(){ hideMailMessage(); return false;});

	switch (checkForm())
	{
	
		case "emptyField" : 
		$theMessage.text(mailMessages[1]);
		showMailDiv();
		break;
		
		case "invalidEmail" : 
		$theMessage.text(mailMessages[0]);
		showMailDiv();
		break;
		
		default : 
		ajaxSubmit();
		break;
		
	}
	return false;
}

function checkForm() 
{
	var $inputs = $('#subscribeform input:text');
	var isFilled = true; 
	//Test if each input is blank
	$inputs.each(
		function() 
		{ 
			if(this.value == this.defaultValue || this.value == "") 
			isFilled = false;
		}
	);
	if(!isFilled) return "emptyField";
	
	//Test e-mail address 
	var $emailAddress = $('#subscribeform input#email');
	var mailString = $emailAddress.attr('value');
	
	if(!mailReg.test(mailString)) return "invalidEmail"; 
	else return "done";
	
}

function ajaxSubmit()
{
	var $theMessage = $("span#mailMessage");
	$theMessage.text('Submitting Information');
	
	$.post("/admin/emailSignUp.php", $('form#subscribeform').serialize(), 
		function(data) 
		{ 
			$theMessage.text(data);
			showComplete();
			$('#subscribeform input:text').each(setDefault); 
		}
	);
}

function showComplete()
{
	showMailDiv();	
}

function showMailDiv()
{
	$("div#youTube").fadeOut('fast');
	$("#mailResponse").show().animate({ width: "204px", padding: "10px" }, 'fast', showMailMessage);
}

function closeMailDiv()
{
	$("#mailResponse").animate({ width: "0px", padding: "0px" }, 'fast');
	$("div#youTube").fadeIn('fast');
}

function showMailMessage()
{
	$("#mailMessage").fadeIn('fast');
}

function hideMailMessage()
{
	$("#mailMessage").fadeOut('fast', closeMailDiv);
}
