var buttonClicked = false;

function validateForm() {
	if (buttonClicked) {
		alert("Thank you, we are processing your submission!");
		return false;
	}
	var f = document.vrform;
	var busphone = '';
	var homephone = '';
	var cellphone = '';
	
	if (f.firstname.value == '') {
		alert ("Please enter your friend's first name.");
		f.firstname.focus();
		return false;
	}
	if (f.lastname.value == '') {
		alert ("Please enter your friend's last name.");
		f.lastname.focus();
		return false;
	}
	if (!jsfc_isEmail(f.email.value,false)) {
		if (f.email.value = '') {
			alert ("Please enter your friend's e-mail address.");
		} else {
			alert ("Invalid e-mail address?");
		}
		f.email.focus();
		return false;
	}
	if (f.busphoneAreaCode.value == '' || f.busphonePrefix.value == '' || f.busphoneSuffix.value == '') {
		f.busphoneAreaCode.value = '';
		f.busphonePrefix.value = '';
		f.busphoneSuffix.value = '';
		f.busPhoneExt.value = '';
	} else {
		//check busphone
		busphone = f.busphoneAreaCode.value + '' + f.busphonePrefix.value + '' + f.busphoneSuffix.value;
		if (!jsfc_isUSPhoneNumber(busphone, false)) {
			alert("Invalid business phone number?");
			f.busphoneAreaCode.focus();
			return false;
		}
	}
	if (f.homephoneAreaCode.value == '' || f.homephonePrefix.value == '' || f.homephoneSuffix.value == '') {
		f.homephoneAreaCode.value = '';
		f.homephonePrefix.value = '';
		f.homephoneSuffix.value = '';
		f.homePhoneExt.value = '';
	} else {
		//check homephone
		homephone = f.homephoneAreaCode.value + '' + f.homephonePrefix.value + '' + f.homephoneSuffix.value;
		if (!jsfc_isUSPhoneNumber(homephone, false)) {
			alert("Invalid home phone number?");
			f.homephoneAreaCode.focus();
			return false;
		}
	}
	if (f.cellphoneAreaCode.value == '' || f.cellphonePrefix.value == '' || f.cellphoneSuffix.value == '') {
		f.cellphoneAreaCode.value = '';
		f.cellphonePrefix.value = '';
		f.cellphoneSuffix.value = '';
		f.cellPhoneExt.value = '';
	} else {
		//check cellphone
		cellphone = f.cellphoneAreaCode.value + '' + f.cellphonePrefix.value + '' + f.cellphoneSuffix.value;
		if (!jsfc_isUSPhoneNumber(cellphone, false)) {
			alert("Invalid mobile phone number?");
			f.cellphoneAreaCode.focus();
			return false;
		}
	}
	if (busphone == '' && homephone == '' && cellphone == '') {
		alert("Please enter at least one telephone number.");
		f.busphoneAreaCode.focus();
		return false;
	}
	buttonClicked = true;
	f.submit();
}

// automatically jumps to field AFTER 'theField'
// when 'theLength' characters have been entered	
var visitedList= new Array();
function autoComplete(theForm, theField) {
	//check the visited list if this field has already been completed
	//don't bother doing the jump
	var visitedFlag= false;
	for(var i=0; i < visitedList.length; i++){
		if (visitedList[i] == theField) {
			visitedFlag=true;
			break;
		}
	}
	if (visitedFlag==false){
		if (theField.value.length == theField.maxLength){
			for (i=0; i<theForm.length; i++){
				if (theForm.elements[i] == theField){
					visitedList[visitedList.length]= theField; //add this object to the list of visited
					for (j=i+1; j<theForm.length; j++){ //find the next field that isn't a hiddne field, and focus it
						if (theForm.elements[j].type!='hidden'){
							theForm.elements[j].focus();
							break;
						}
					}
					break;
				}
			}
		}
	}
}

