function validate_newsletter_email(email)
{
	if (email == "" || email == null)
	{
		return false;
	}
	else
	{
		try
		{
			validate_email(email)
			return true;
		}
		catch (e)
		{
			return false;
		}
	}
}

function alertThenProceedToRegister()
{
	alert('We were unable to sign you up for the newsletter!');
	proceedToRegister();
}

var message;

function proceedToRegister(request)
{
	message = eval('(' + request.responseText + ')');
	message = message.message.replace(/<br>/g, '\n');
	alert(message);
	document.getElementById('registerForm').submit();
}

function selectedValue(dropdownId)
{
	var opts = document.getElementById(dropdownId).options;
	for(var i = 0; i < opts.length; i++)
	{
		if(opts[i].selected == true)
		{
			return opts[i].innerHTML;
			break;
		}
	}
}

function validateRegisterForm(form)
{	
	var error = '';
	
	if(form.email.value == '' || form.email.value == null)
	{
		error += 'Please enter an Email Address!\n';
	}
	
	if((form.email.value != '' && form.email.value != null) && (trim(form.email.value) != trim(form.confirmemail.value)))
	{
		error += 'The Email Address and Confirm Email Address do not match!\n';
	}
	
	if(form.password.value == '' || form.password.value == null)
	{
		error += 'Please enter a Password!\n';
	}
	
	if((form.password.value != '' && form.password.value != null) && (trim(form.password.value) != trim(form.confirmpassword.value)))
	{
		error += 'The Password and Confirm Password do not match!\n';
	}
	
	if(form.fname.value == null || form.fname.value == '')
	{
		error += 'Please enter a First Name!\n';
	}
	
	if(form.lname.value == null || form.lname.value == '')
	{
		error += 'Please enter a Last Name!\n';
	}
	
	if(form.gender.checked == false && form.gender.checked == false)
	{
		error += 'Please choose a Gender!\n';
	}
	
	var month = selectedValue('bmonth');
	var day = selectedValue('bday');
	var year = selectedValue('byear');
	
	if(month == 'month' && day == 'day' && year == 'year')
	{
		error += 'Please enter a Birth Date!\n';
	}
	else if(month == 'month' || day == 'day' || year == 'year')
	{
		error += 'The Birth Date is not valid!\n';
	}
	
	if(error != '')
	{
		alert(error);
		return false;
	}
	else
	{
		return true;	
	}
}

function newsletterSignUp(form)
{
	var email = trim(form.email.value);
	if(validateRegisterForm(form))
	{
		if(validate_newsletter_email(email))
		{
			var query = "email=" + encodeURIComponent(email);
			var req = new Requester("/newsletter/signup.pd", "POST", true, true);
			req.onsuccess = proceedToRegister;
			req.onerror = alertThenProceedToRegister;
			req.sendRequest(query);
		}
		else
		{
			alert('Please enter a valid email address!');
		}
	}
}

function addFormEvent()
{
	var form = document.getElementById('registerForm');
	form.onsubmit = function()
	{
		if(document.getElementById('register_newsletter').checked == true)
		{
			var x = document.createElement('input');
			x.id = 'but_x';
			x.type = 'hidden';
			x.name = 'btnlogin.x';
			x.value = 0;
			
			var y = document.createElement('input');
			y.id = 'but_y';
			y.type = 'hidden';
			y.name = 'btnlogin.y';
			y.value = 0;
			
			form.appendChild(x);
			form.appendChild(y);
			
			newsletterSignUp(form);
			return false;
		}
	}		
}