function verifyRegistration(){
	if(document.forms.register.elements.j_captcha_response.value == '')
		return setError(document.forms.register.elements.j_captcha_response, 'Please answer the validation code');
	if(document.forms.register.elements.first_name.value == '')
		return setError(document.forms.register.elements.first_name, 'First Name must have a value');
	if(document.forms.register.elements.last_name.value == '')
		return setError(document.forms.register.elements.last_name, 'Last Name must have a value');
	var email = document.forms.register.elements.email.value.toLowerCase();
	if(!(/^[\040-\176]+@[-A-Za-z0-9.]+\.[A-Za-z]+$/.test(email))) {
		return setError(document.forms.register.elements.email, 'Please enter a valid e-mail address');
	} else if(document.forms.register.elements.confirm_email && 
		document.forms.register.elements.confirm_email.value.toLowerCase() != email) {
		return setError(document.forms.register.elements.confirm_email, 'Please confirm your email address: the values must match.');
	}
	var genderVal = -1;
	for (var i=0; i < document.forms.register.elements.Gender.length; i++) {
		if (document.forms.register.elements.Gender[i].checked) {
				genderVal = i;
				break;
		}
	}
	if (genderVal == -1) {
		alert('Please select a gender');
		return false;
	}
	if(document.forms.register.elements.zipcode.value == '')
		return setError(document.forms.register.elements.zipcode, 'Please enter a zip code');
	if(document.forms.register.elements.password.value == '')
		return setError(document.forms.register.elements.password, 'Please enter a password');
	if(document.forms.register.elements.confirm_password.value == '')
		return setError(document.forms.register.elements.confirm_password, 'Please repeat your password');
	if(document.forms.register.elements.confirm_password.value != document.forms.register.elements.password.value)
		return setError(document.forms.register.elements.password, 'Password does not match confirm password');
	if(document.forms.register.elements.site_alias.value == '')
		return setError(document.forms.register.elements.site_alias, 'Site Alias must have a value');
	if(!document.forms.register.elements.chkTOS.checked)
		return setError(document.forms.register.elements.chkTOS, "Please acknowledge and agree to the Terms of Service");

	return true;
}

function validateOrder(formNum){
	validateOrder(formNum, false);
}
function validateOrder(formNum, disableSubmit){
	//assumes the standard 0 index
	var form = document.forms[formNum];
	if(!form.fName.value || form.fName.value == '')
		return setError(form.fName, 'Your first name cannot be empty');
	if(!form.lName.value || form.lName.value == '')
		return setError(form.lName, 'Your last name cannot be empty');
	if(!form.billingName.value || form.billingName.value == '')
		return setError(form.billingName, 'Credit Card name cannot be empty');
	if(!form.expMonth.value || form.expMonth.value == '')
		return setError(form.expMonth, 'Expiration Month cannot be empty');
	if(!form.expYear.value || form.expYear.value == '')
		return setError(form.expYear, 'Expiration Year cannot be empty');
		/*
	if(!form.cardSecCode.value || form.cardSecCode.value == '')
		return setError(form.cardSecCode, 'Credit Card Security Code cannot be empty');
		*/
	if(!form.cardNumber.value || form.cardNumber.value == '')
		return setError(form.cardNumber, 'Credit Card Number cannot be empty');
		/*
	//exp date
	var date = new Date();
	var formYear = parseInt(form.expYear[form.expYear.selectedIndex].value);
	formYear += 2000;
	var formMon = parseInt(form.expMonth[form.expMonth.selectedIndex].value, 10);
	if(formYear < date.getYear() || (formYear == date.getYear() && formMon < date.getMonth() + 1))
		return setError(form.expMonth, 'Expiration Date must be in the future');
		*/
	//shipping info
	if(!form.shipAddr1.value || form.shipAddr1.value == '')
		return setError(form.shipAddr1, 'First line of the shipping address cannot be empty');
	if(!form.shipCity.value || form.shipCity.value == '')
		return setError(form.shipCity, 'City in the shipping address cannot be empty');
	if(!form.shipZip.value || form.shipZip.value == '')
		return setError(form.shipZip, 'Shipping Zip code cannot be empty');
		
	if(form.shipCountry) {
		shipCountry = form.shipCountry[form.shipCountry.selectedIndex].value;
		if(!shipCountry || shipCountry == '')
			return setError(form.shipCountry, 'Please choose a country for the shipping address.');
	}
	if(form.shipState) {
		shipState = form.shipState[form.shipState.selectedIndex].value;
		if(!shipState || shipState == '')
			return setError(form.shipState, 'Please choose a state for the shipping address.');
	}
		/*
	var country = form.shipCountry[form.shipCountry.selectedIndex].value;
	var state = form.shipState[form.shipState.selectedIndex].value;
	if(country == 'Canada' && (state.substring(0, 2) != 'CA' || state == 'CA'))
		return setError(form.shipState, 'The province chosen is not in Canada');
	else if(country == 'Mexico' && state.substring(0, 2) != 'MX')
		return setError(form.shipState, 'The province chosen is not in Mexico');
	else if(country == 'United States' && (state.substring(0, 2) == 'MX' || state.substring(0, 2) == 'CA') && state != 'CA')
		return setError(form.shipState, 'The state chosen is not in the United States');
		*/
	//if they have specified a different billing address from the shipping then we have to check that
	if(!form.sameAsShip.checked){
		if(!form.billAddr1.value || form.billAddr1.value == '')
			return setError(form.billAddr1, 'First line of the billing address cannot be empty');
		if(!form.billCity.value || form.billCity.value == '')
			return setError(form.shipCity, 'City in the billing address cannot be empty');
		if(!form.billZip.value || form.billZip.value == '')
			return setError(form.billZip, 'Billing Zip code cannot be empty');

		if(form.billCountry) {
			billCountry = form.billCountry[form.billCountry.selectedIndex].value;
			if(!billCountry || billCountry == '')
				return setError(form.billCountry, 'Please choose a country for the billing address.');
		}
		if(form.billState) {
			billState = form.billState[form.billState.selectedIndex].value;
			if(!billState || billState == '')
				return setError(form.billState, 'Please choose a state for the billing address.');
		}
			
			/*
		country = form.billCountry[form.billCountry.selectedIndex].value;
		state = form.billState[form.billState.selectedIndex].value;
		if(country == 'Canada' && (state.substring(0, 2) != 'CA' || state == 'CA'))
			return setError(form.billState, 'The province chosen is not in Canada');
		else if(country == 'Mexico' && state.substring(0, 2) != 'MX')
			return setError(form.billState, 'The province chosen is not in Mexico');
		else if(country == 'United States' && (state.substring(0, 2) == 'MX' || state.substring(0, 2) == 'CA') && state != 'CA')
			return setError(form.billState, 'The state chosen is not in the United States');
			*/
	}
	if(disableSubmit){
		document.getElementById("submitOrder").src = '/drw/ecs/va/images/processingcreditcard.gif';
		document.getElementById("submitOrder").disabled=true;	
	}
	return true;	
}

function setError(elem, message){
	alert(message);
	elem.focus();
	return false;
}