//function to valid the online contact us form
function validContact(obj) {
   var bad = false;
   var errors = "";
   
   if (obj.FirstName.value.length == 0) {
		errors += "The First Name field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.LastName.value.length == 0) {
		errors += "The Last Name field can't be empty.<br>";
		bad = true;
   }
   
   if (obj.Phone.value.length > 0 && obj.Phone.value.length < 10) {
		errors += "The Phone Number must be at least 10 digits.<br>";
		bad = true;
   }
   
   if (obj.Email.value.length == 0) {
		errors += "The Email field can't be empty.<br>";
		bad = true;
   }
   else if (!isEmail(obj.Email.value)) {
		errors += "The Email entered is invalid.<br>";
		bad = true;
   }
	
	if (obj.Captcha.value.length == 0) {
		errors += "The Security Code field can't be empty.<br>";
		bad = true;
   }
   else if (obj.Captcha.value.length != 6) {
		errors += "The Security Code entered is not the right length.<br>";
		bad = true;
   }
   
   if (bad) {
		error(errors);
		return false;
   }

   return true;
}

function validOuting(obj) {
   var bad = false;
   var errors = "";
   
   if (obj.Name.value.length == 0) {
		errors += "The Name field can't be empty.<br>";
		bad = true;
   }
   
   if (obj.Phone.value.length > 0 && obj.Phone.value.length < 10) {
		errors += "The Phone Number must be at least 10 digits.<br>";
		bad = true;
   }
   
   if (obj.Email.value.length == 0) {
		errors += "The Email field can't be empty.<br>";
		bad = true;
   }
   else if (!isEmail(obj.Email.value)) {
		errors += "The Email entered is invalid.<br>";
		bad = true;
   }
	
	if (obj.Captcha.value.length == 0) {
		errors += "The Security Code field can't be empty.<br>";
		bad = true;
   }
   else if (obj.Captcha.value.length != 6) {
		errors += "The Security Code entered is not the right length.<br>";
		bad = true;
   }
   
   if (bad) {
		error(errors);
		return false;
   }

   return true;
}

function validOrder(obj) {
   var bad = false;
   var errors = "";
   
   if (obj.FirstName.value.length == 0) {
		errors += "The First Name field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.LastName.value.length == 0) {
		errors += "The Last Name field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.Address1.value.length == 0) {
		errors += "The Address field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.City.value.length == 0) {
		errors += "The City field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.ZipCode.value.length == 0) {
		errors += "The Zip Code can't be empty.<br>";
		bad = true;
   }
	
	if (obj.Country.value.length == 0) {
		errors += "The Country can't be empty.<br>";
		bad = true;
   }
   
   if (obj.Phone.value.length > 0 && obj.Phone.value.length < 10) {
		errors += "The Phone Number must be at least 10 digits.<br>";
		bad = true;
   }
   
   if (obj.Email.value.length == 0) {
		errors += "The Email field can't be empty.<br>";
		bad = true;
   }
   else if (!isEmail(obj.Email.value)) {
		errors += "The Email entered is invalid.<br>";
		bad = true;
   }
	
	if (obj.RecFirstName.value.length == 0) {
		errors += "The First Name field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.RecLastName.value.length == 0) {
		errors += "The Last Name field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.RecAddress1.value.length == 0) {
		errors += "The Address field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.RecCity.value.length == 0) {
		errors += "The City field can't be empty.<br>";
		bad = true;
   }
	
	if (obj.RecZipCode.value.length == 0) {
		errors += "The Zip Code can't be empty.<br>";
		bad = true;
   }
	
	if (obj.RecCountry.value.length == 0) {
		errors += "The Country can't be empty.<br>";
		bad = true;
   }
	
	if (obj.CCNum.value.length == 0) {
		errors += "The Credit Card Number can't be empty.<br>";
		bad = true;
   }
   else if (!isCCNum(obj.CCNum.value)) {
		errors += "The Credit Card Number entered is invalid.<br>";
		bad = true;
   }
	
	if (obj.Captcha.value.length == 0) {
		errors += "The Verification Code can't be empty.<br>";
		bad = true;
   }
   else if (obj.Captcha.value.length != 6) {
		errors += "The Verification Code entered is not the right length.<br>";
		bad = true;
   }
   
   if (bad) {
		error(errors);
		return false;
   }

   return true;
}

function isPhone(p)
{
	var phoneExp = /^\d{10}\d*$/
	return phoneExp.test(p);
}

function isEmail(e)
{
   var emailExp = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   return emailExp.test(e);
}

function isCCNum(num)
{
	// Strip any non-digits (useful for credit card numbers with spaces and hyphens)
	var number=number.replace(/\D/g, '');

	// Set the string length and parity
	var number_length=number.length;
	var parity=number_length % 2;

	// Loop through each digit and do the maths
	var total=0;
	for (i=0; i < number_length; i++) {
		var digit=number.charAt(i);
		// Multiply alternate digits by two
		if (i % 2 == parity) {
			digit=digit * 2;
			// If the sum is two digits, add them together (in effect)
			if (digit > 9) {
				digit=digit - 9;
			}
		}
		// Total up the digits
		total = total + parseInt(digit);
	}

	// If the total mod 10 equals 0, the number is valid
	if (total % 10 == 0) {
		return true;
	} else {
		return false;
	}
}

function error(msg)
{
	msg = "<span>The following errors occurred:</span><br>" + msg;
	errorsDiv = document.getElementById('errors');
	errorsDiv.innerHTML = msg;
	errorsDiv.style.display = 'block';
}