// Tell-a-friend page functions

function sendPassword(passwordForm)
{
	$('errors').style.display = 'none';
	var errors = $('errors');
	errors.style.display = 'none';
	
	var email = passwordForm.email;
	if (email.value.length == 0 || !isValidEmail(email.value))
	{	
		errors.innerHTML = 'ERROR: You must enter a valid e-mail address';
		errors.style.display = 'block';
		return false;
	}

	var elements = Form.getInputs(passwordForm);
 	var postStr = Form.serializeElements(elements);

	$('password_submit').disabled = 'true';
	$('waiting').style.display = 'inline';
	$('errors').style.display = 'none';
	
	for (i=0; i<elements.length; i++)
	{
		elements[i].disabled = 'true';
	}

	var url = '/method/sendpassword';
	// notice the use of a proxy to circumvent the Same Origin Policy.
	
	new Ajax.Request(url, {
		method: 'post',
		parameters: postStr,
		onSuccess: function(transport) {
			var json = transport.responseText.evalJSON();
			if (json.result.error)
			{
				$('errors').innerHTML = 'ERROR: ' + json.result.error;
				$('errors').style.display = 'block';
					
				enablePWForm(passwordForm);
			}
			else if (json.result.success == 'true')
			{
				$('send_password').style.display = 'none';
				$('confirm').style.display = 'block';
				
				// Coremetrics tracking
				cmCreateConversionEventTag('Recover password', 2, 'Microsite:Quizzes', 30)
			}
			else
			{
				enablePFForm(passwordForm);
			}
		}
	});
}

function enablePWForm(passwordForm)
{
	var elements = Form.getInputs(passwordForm);
	var postStr = Form.serializeElements(elements);

	$('password_submit').disabled = '';
	$('waiting').style.display = 'none';
	for (i=0; i<elements.length; i++)
	{
		elements[i].disabled = '';
	}
}

function isValidEmail(address) {
	if (address !== "")
	{
		var regex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
		if (regex.test(address)) 
		{
			return true;
		}
		else 
		{
			return false;
		}
	}
}
