// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-. ";

function gotoSubmit()
{
	var formHandle = document.forms.contact_form;
	var error = "";
	if (formHandle.NAME.value == "")
	{
		error = error + "Your Name\n";
	}
	if (CheckEmail(formHandle.EMAIL))
	{
		error = error + "A valid E-mail address\n";
	}
	if (formHandle.PHONE.value != "")
	{
		if (checkPhone(formHandle.PHONE.value)==false){
			error = error + "A valid phone number with an area code\n";
		}			
	}
	if (formHandle.COMMENTS.value == "")
	{
		error = error + "Your Questions/Comments\n";
	}
	if (formHandle.METHOD.value == "")
	{
		error = error + "How you prefer to be contacted\n";
	}
	if (error != "")
	{
		alert("Please include the following information:\n\n" +error);
		return false;
	}
	else
	{
		formHandle.submit();
	}
}

function gotoSubmitHeart()
{
	var formHandle = document.forms.heart_form;
	var error = "";
	if (formHandle.NAME.value == "")
	{
		error = error + "Your Name\n";
	}
	if (CheckEmail(formHandle.EMAIL))
	{
		error = error + "A valid E-mail address\n";
	}
	if (formHandle.COMMENTS.value == "")
	{
		error = error + "Your Story\n";
	}
	if (error != "")
	{
		alert("Please include the following information:\n\n" +error);
		return false;
	}
	else
	{
		formHandle.submit();
	}
}

function CheckEmail(t) {
	var pattern;
	var q = t.value;
	// alert(q);
	pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if (pattern.exec(q)) {
		// alert(pattern.exec(q));
		return false;
	} else {
		// alert(pattern.exec(q));
		return true;
	}
}

function includesAreacode(s)
{  		
	var pattern = /\d{10}/;
	if (pattern.exec(s)) {
		return true;
	}
	
	return false;
}

function trim(s)
{   
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not a whitespace, append to returnString.
	for (i = 0; i < s.length; i++)
	{   
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (c != " ") returnString += c;
	}
	return returnString;
}

function stripCharsInBag(s, bag)
{   
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is not in bag, append to returnString.
	for (i = 0; i < s.length; i++)
	{   
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function checkPhone(strPhone)
{
	strPhone=trim(strPhone)
	s=stripCharsInBag(strPhone,phoneNumberDelimiters);
	return (includesAreacode(s));
}
