// contactus.js

function resetRespond(){	//reply no was checked, clear all selected repsond radio button
	for (var i = 0; i < document.feedback.respond.length; i++)
		document.feedback.respond[i].checked = false;
	return true;
}

function resetReply(thisMethod){	//some respond radio button was seleced, set focus to the corresponding input field, check the reply yes radio button
	if (thisMethod == 'email')
		document.feedback.email.focus();
	else if (thisMethod == 'letter')
		document.feedback.post1.focus();
	else if (thisMethod == 'fax')
		document.feedback.faxnumber.focus();
	document.feedback.yes.checked = true;
	return true;
}

function trim(thisString){	//use a regular expression to replace leading and trailing spaces with the empty string
  	return thisString.replace(/(^\s*)|(\s*$)/g,"");
}

function validateEmailAddress(thisEmailAddress){	//top level domain names have two to four characters only
	var regExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
	return regExp.test(thisEmailAddress);
}

function filterFaxNumber(thisFaxNumber){	//extract integers only
	return thisFaxNumber.replace(/[^0-9]/g, '');	//[^0-9] matches any non-digit, replacing it by '' globally
}

function filterPhoneNumber(thiPhoneNumber){	//extract integers only
	return thisPhoneNumber.replace(/[^0-9]/g, '');	//[^0-9] matches any non-digit, replacing it by '' globally
}

function validateContactUsForm(){

	//trim all text fields	
	document.feedback.Name.value = trim(document.feedback.Name.value);
	document.feedback.Email_Address.value = trim(document.feedback.Email_Address.value);
	document.feedback.Date.value = trim(document.feedback.Date.value);
	document.feedback.Venue.value = trim(document.feedback.Venue.value);
	document.feedback.Phone.value = trim(document.feedback.Phone.value);


	
	//check name is filled out
	if (document.feedback.Name.value == ''){
		alert('Please enter your Name in the Name box.');
		return false;
	}
	//check email is filled out
	if (document.feedback.Email_Address.value == ''){
		alert('Please enter your Email in the Email box.');
		return false;
	}
	//validate email address as long as it is filled out
	if (!validateEmailAddress(document.feedback.Email_Address.value)){
		alert('Please enter a valid Email address.');
		document.feedback.Email_Address.focus();
		return false;
	}
	
	//check date is filled out
	if (document.feedback.Date.value == ''){
		alert('Please enter your Wedding Date in the Wedding Date box.');
		return false;
	}
	//check venue is filled out
	if (document.feedback.Venue.value == ''){
		alert('Please enter your Venue/Location in the Venue/Location box.');
		return false;
	}
	
	//check Referrer is filled out
	if (document.feedback.Referrer.value == ''){
		alert('Please enter how you heard about me in the referrer box.');
		return false;
	}


	//validate (filtered) fax number as long as it is non-empty
	//if (document.feedback.faxnumber.value.length > 0){
	//	if (document.feedback.faxnumber.value.length < 10){
	//		alert('Please enter a valid Fax number of at least 10 digits including the area code.');
	//		document.feedback.faxnumber.focus();
	//		return false;
	//	}
	//}

	return true;
}