// JavaScript Document

function validate()
{
	var message = new Array();
	var name = getEl("name");
	var email = getEl("email");
	var phone = getEl("phone");
	//var password = getEl("password"); (remove for now)
	var labelName = getEl("lblname");
	var labelEmail = getEl("lblemail");
	var labelPhone = getEl("lblphone");
	//var labelPassword = getEl("lblpassword"); (remove for now)
	//toggle check false if form element doesn't validate
	var check = true;
	
	var i = 0;
	if (name.value == "")
	{
		message[i] = "Please enter a name.";
		labelName.style.fontWeight = "bold";
		i++;
		check = false;
	}
	else
	{
		labelName.style.fontWeight = "normal";
	}
	
	//check to see if email is entered, else email entered but format incorrect
	if (email.value == "")
	{
		message[i] = "Please enter your email address.";
		labelEmail.style.fontWeight = "bold";
		i++;
		check = false;
	}
	else if (email.value != "")
	{	
		//run check email script
		var result = validateEmail(email.value);
		if (result == false)
		{
			message[i] = "Please enter a valid email address.";
			labelEmail.style.fontWeight = "bold";
			i++;
			check = false;
		}
		else
		{
			labelEmail.style.fontWeight = "normal";
		}
	}
	
	
	//check to see if phone is entered, else email entered but format incorrect
	if (phone.value == "")
	{
		message[i] = "Please enter your phone number plus area code.";
		labelPhone.style.fontWeight = "bold";
		i++;
		check = false;
	}
	else if (phone.value != "")
	{	
		//run check email script
		var result = validatePhone(phone.value);
		if (result == false)
		{
			message[i] = "Please enter a valid phone number plus area code.";
			labelPhone.style.fontWeight = "bold";
			i++;
			check = false;
		}
		else
		{
			labelPhone.style.fontWeight = "normal";
		}
	}
	
	/*
	if (password.value == "")
	{
		message[i] = "Please enter captcha.";
		labelPassword.style.fontWeight = "bold";
		i++;
		check = false;
	}
	*/
	
	status(message);
	return check;
}

function validateEmail(email)
{
	var testresults;
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	
	if (filter.test(email))
		return true
	else
		return false

}	

function validatePhone(phone) 
{
	
	var stripped = phone.replace(/[\(\)\.\-\ ]/g, '');
	
	//strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) 
	{
		return false;
	}
	
	if (!(stripped.length == 10)) 
	{
		return false;
	}
		
	return true;
	
}

function status(message)
{
	var html = "";
	var count = message.length;
	var status = getEl("error");
	for (var i = 0; i < count; i++)
	{
		html += '<p>'+message[i]+'</p>';
	}
	status.innerHTML = html;
	status.className = "errorDisplay";
}

function getEl(id)
{
	return document.getElementById(id);
}