function toggleShippingFields(formObj) {
	if (formObj.shippingaddresssameasbillingaddress.checked) {
		formObj.shippingfirstname.disabled = true;
		formObj.shippingfirstname.style.backgroundColor = '#EFEFEF';
		
		formObj.shippinglastname.disabled = true;
		formObj.shippinglastname.style.backgroundColor = '#EFEFEF';
		
		formObj.shippingaddress1.disabled = true;
		formObj.shippingaddress1.style.backgroundColor = '#EFEFEF';
		
		formObj.shippingaddress2.disabled = true;
		formObj.shippingaddress2.style.backgroundColor = '#EFEFEF';
		
		formObj.shippingcity.disabled = true;
		formObj.shippingcity.style.backgroundColor = '#EFEFEF';
		
		formObj.shippingstate.disabled = true;
		formObj.shippingstate.style.backgroundColor = '#EFEFEF';
		
		formObj.shippingzipcode.disabled = true;
		formObj.shippingzipcode.style.backgroundColor = '#EFEFEF';
		
		formObj.shippingcountry.disabled = true;
		formObj.shippingcountry.style.backgroundColor = '#EFEFEF';
	} else {
		formObj.shippingfirstname.disabled = false;
		formObj.shippingfirstname.style.backgroundColor = '#FFFFFF';
		
		formObj.shippinglastname.disabled = false;
		formObj.shippinglastname.style.backgroundColor = '#FFFFFF';
		
		formObj.shippingaddress1.disabled = false;
		formObj.shippingaddress1.style.backgroundColor = '#FFFFFF';
		
		formObj.shippingaddress2.disabled = false;
		formObj.shippingaddress2.style.backgroundColor = '#FFFFFF';
		
		formObj.shippingcity.disabled = false;
		formObj.shippingcity.style.backgroundColor = '#FFFFFF';
		
		formObj.shippingstate.disabled = false;
		formObj.shippingstate.style.backgroundColor = '#FFFFFF';
		
		formObj.shippingzipcode.disabled = false;
		formObj.shippingzipcode.style.backgroundColor = '#FFFFFF';
		
		formObj.shippingcountry.disabled = false;
		formObj.shippingcountry.style.backgroundColor = '#FFFFFF';
	}
}

function toggleShippingFieldsReview(formObj) {
	if (formObj.cbxReviewShippingAddressSameAsBillingAddress.checked) {
		formObj.tbxReviewShippingFirstName.disabled = true;
		formObj.tbxReviewShippingFirstName.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingLastName.disabled = true;
		formObj.tbxReviewShippingLastName.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingAddress1.disabled = true;
		formObj.tbxReviewShippingAddress1.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingAddress2.disabled = true;
		formObj.tbxReviewShippingAddress2.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingCity.disabled = true;
		formObj.tbxReviewShippingCity.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingStateOrProvince.disabled = true;
		formObj.tbxReviewShippingStateOrProvince.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingZipOrPostalCode.disabled = true;
		formObj.tbxReviewShippingZipOrPostalCode.style.backgroundColor = '#EFEFEF';
		
		formObj.tbxReviewShippingCountryOrRegion.disabled = true;
		formObj.tbxReviewShippingCountryOrRegion.style.backgroundColor = '#EFEFEF';
	} else {
		formObj.tbxReviewShippingFirstName.disabled = false;
		formObj.tbxReviewShippingFirstName.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingLastName.disabled = false;
		formObj.tbxReviewShippingLastName.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingAddress1.disabled = false;
		formObj.tbxReviewShippingAddress1.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingAddress2.disabled = false;
		formObj.tbxReviewShippingAddress2.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingCity.disabled = false;
		formObj.tbxReviewShippingCity.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingStateOrProvince.disabled = false;
		formObj.tbxReviewShippingStateOrProvince.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingZipOrPostalCode.disabled = false;
		formObj.tbxReviewShippingZipOrPostalCode.style.backgroundColor = '#FFFFFF';
		
		formObj.tbxReviewShippingCountryOrRegion.disabled = false;
		formObj.tbxReviewShippingCountryOrRegion.style.backgroundColor = '#FFFFFF';
	}
}

function checkFields(formObj, whichAction) {
	var foundRadio;
	var result;
	var errorBox;

	result = true;

	switch (whichAction) {
		case 'login': {
			if (0 == formObj.username.value.length) {
				formObj.username.style.backgroundColor = '#CECECE';
				result = false;
			} else {
				if (0 != formObj.username.value.search(/\w+((\.|\-)\w+)*@\w+((\.|\-)\w+)*\.[a-zA-Z]+/i)) {
					formObj.username.style.backgroundColor = '#CECECE';
					result = false;
				}
			}
			
			if (0 == formObj.password.value.length) {
				formObj.password.style.backgroundColor = '#CECECE';
				result = false;
			}
			break;
		}
		
		case 'register': {
			if (0 == formObj.firstname.value.length) {
				formObj.firstname.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.lastname.value.length) {
				formObj.lastname.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.company.value.length) {
				formObj.company.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.phonenumber.value.length) {
				formObj.phonenumber.style.backgroundColor = '#CECECE';
				result = false;
			}
			/*if (0 == formObj.faxnumber.value.length) {
				formObj.faxnumber.style.backgroundColor = '#CECECE';
				result = false;
			}*/
			
			if (0 == formObj.newusername.value.length) {
				formObj.newusername.style.backgroundColor = '#CECECE';
				result = false;
			} else {
				if (0 != formObj.newusername.value.search(/\w+((\.|\-)\w+)*@\w+((\.|\-)\w+)*\.[a-zA-Z]+/i)) {
					formObj.newusername.style.backgroundColor = '#CECECE';
					result = false;
				}
			}
			
			if ((formObj.newpassword.value == formObj.newpasswordagain.value) && (0 < formObj.newpassword.value.length) && (0 < formObj.newpasswordagain.value.length)) {
				if ((6 > formObj.newpassword.value.length) || (6 > formObj.newpasswordagain.value.length)) {
					formObj.newpassword.style.backgroundColor = '#CECECE';
					formObj.newpassword.value = '';
					formObj.newpasswordagain.style.backgroundColor = '#CECECE';
					formObj.newpasswordagain.value = '';
					result = false;
				}
			} else {
				formObj.newpassword.style.backgroundColor = '#CECECE';
				formObj.newpassword.value = '';
				formObj.newpasswordagain.style.backgroundColor = '#CECECE';
				formObj.newpasswordagain.value = '';
				result = false;
			}
			
			if (0 == formObj.billingfirstname.value.length) {
				formObj.billingfirstname.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.billinglastname.value.length) {
				formObj.billinglastname.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.billingaddress1.value.length) {
				formObj.billingaddress1.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.billingcity.value.length) {
				formObj.billingcity.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.billingstate.value.length) {
				formObj.billingstate.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.billingzipcode.value.length) {
				formObj.billingzipcode.style.backgroundColor = '#CECECE';
				result = false;
			}
			if (0 == formObj.billingcountry.value.length) {
				formObj.billingcountry.style.backgroundColor = '#CECECE';
				result = false;
			}
			
			if (!formObj.shippingaddresssameasbillingaddress.checked) {
				if (0 == formObj.shippingfirstname.value.length) {
					formObj.shippingfirstname.style.backgroundColor = '#CECECE';
					result = false;
				}
				if (0 == formObj.shippinglastname.value.length) {
					formObj.shippinglastname.style.backgroundColor = '#CECECE';
					result = false;
				}
				if (0 == formObj.shippingaddress1.value.length) {
					formObj.shippingaddress1.style.backgroundColor = '#CECECE';
					result = false;
				}
				if (0 == formObj.shippingcity.value.length) {
					formObj.shippingcity.style.backgroundColor = '#CECECE';
					result = false;
				}
				if (0 == formObj.shippingstate.value.length) {
					formObj.shippingstate.style.backgroundColor = '#CECECE';
					result = false;
				}
				if (0 == formObj.shippingzipcode.value.length) {
					formObj.shippingzipcode.style.backgroundColor = '#CECECE';
					result = false;
				}
				if (0 == formObj.shippingcountry.value.length) {
					formObj.shippingcountry.style.backgroundColor = '#CECECE';
					result = false;
				}
			}

			for (index = 0; index < formObj.OrderedFromHarman.length; index++) {
				if (formObj.OrderedFromHarman[index].checked) {
					foundRadio = true;
					break;
				}
			}
			
			if (!foundRadio) {
				result = false;
			}
			
			if (null == formObj.FindHarmanSite.value.match(/[a-zA-Z0-9\s\.]+/i)) {
				result = false;
			}
			
			if (null == formObj.BusinessTypes.value.match(/[a-zA-Z0-9\s\.]+/i)) {
				result = false;
			}
			
			break;
		}
		
		default: {
			break;
		}
	}
	
	if (!result) {
		errorBox = document.getElementById(whichAction + 'error');
		errorBox.style.display = 'block';
	}
	
	return result;
}

function fieldColorSwitchReview(fieldObj) {
	var result;
	
	result = true;

	if (0 == fieldObj.value.length) {
		fieldObj.style.backgroundColor = '#CECECE';
		result = false;
	} else {
		fieldObj.style.backgroundColor = '#FFFFFF';
	}
	
	return result;
}

function checkFieldsReview(formObj, whichAction) {
	var result;
	var tempResult;
	var errorBox;

	result = true;

	switch (whichAction) {
		case 'continue': {
			tempResult = fieldColorSwitchReview(formObj.tbxReviewFirstName);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewLastName);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewCompany);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewPhoneNumber);
			if (!tempResult) {result = false;}
			
			/*tempResult = fieldColorSwitchReview(formObj.tbxReviewFaxNumber);
			if (!tempResult) {result = false;}*/
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingFirstName);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingLastName);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingAddress1);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingCity);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingStateOrProvince);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingZipOrPostalCode);
			if (!tempResult) {result = false;}
			
			tempResult = fieldColorSwitchReview(formObj.tbxReviewBillingCountryOrRegion);
			if (!tempResult) {result = false;}
			
			if (!formObj.cbxReviewShippingAddressSameAsBillingAddress.checked) {
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingFirstName);
				if (!tempResult) {result = false;}
				
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingLastName);
				if (!tempResult) {result = false;}
			
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingAddress1);
				if (!tempResult) {result = false;}
				
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingCity);
				if (!tempResult) {result = false;}
				
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingStateOrProvince);
				if (!tempResult) {result = false;}
				
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingZipOrPostalCode);
				if (!tempResult) {result = false;}
				
				tempResult = fieldColorSwitchReview(formObj.tbxReviewShippingCountryOrRegion);
				if (!tempResult) {result = false;}
			}
			break;
		}
		
		default: {
			break;
		}
	}
	
	if (!result) {
		errorBox = document.getElementById('formerroroutputboxreview');
		errorBox.innerHTML = '<hr />One or more required fields are missing or invalid. Each has been highlighted for your convenience. See above for details.';
		errorBox.style.display = 'block';
	}
	
	return result;
}

