
function validateAlphaNumeric(valueArray)
{
	var alphaExp = /^[a-zA-Z\s\d]+$/;
	
	for(var i=0; i < valueArray.length; i++)
	{
		if(valueArray[i].match(alphaExp))
		{
			if(valueArray[i].replace(/^\s*|\s*$/g,'') == '')
			{
				return false;
			}
		}
		else
		{
			return false;
		}
	}
	
	return true;
}

function validateRequired(valueArray)
{
	for(var i=0; i < valueArray.length; i++)
	{
		if(valueArray[i] == null || valueArray[i] == '')
	  {
	  	return false;
	  }
	}

	return true;
}

function validateDecimal(valueArray)
{
	var decimalExp = /^\d*(\.\d{1,2})?$/;
	
	for(var i=0; i < valueArray.length; i++)
	{
		if(valueArray[i].match(decimalExp))
		{
		}
		else
		{
			return false;
		}
	}
	
	return true;
}

function validateNumeric(valueArray)
{
	var numericExp = /^[0-9]+$/;
	
	for(var i=0; i < valueArray.length; i++)
	{
		if(valueArray[i].match(numericExp))
		{
		}
		else
		{
			return false;
		}
	}
	
	return true;
}
	
function validateEmail(valueArray)
{
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

	for(var i=0; i < valueArray.length; i++)
	{
		if(valueArray[i].match(emailExp))
		{
		}
		else
		{
			return false;
		}
	}
	
	return true;
}



function validateMeasurements(fieldName)
{
	if(fieldName == 'BodyMeasurementsProfile')
	{
		var targetValue1 = new Array();
		var targetValue2 = new Array();
		
		var sleevesType = document.getElementById("shirtModelIndexView1_2").name;

		var cmInchesTemp = document.getElementById("body_cm_inches_drop").options.selectedIndex;
		var cmInchesChoice = document.getElementById("body_cm_inches_drop").options[cmInchesTemp].value;
		
		if(cmInchesChoice == 'cm')
		{
			targetValue2[0] = document.getElementById('body_measurements_form').inputNeckBody.value;
			targetValue2[1] = document.getElementById('body_measurements_form').inputChestBody.value;
			targetValue2[2] = document.getElementById('body_measurements_form').inputWaistBody.value;
			targetValue2[3] = document.getElementById('body_measurements_form').inputHipsBody.value;
			targetValue2[4] = document.getElementById('body_measurements_form').inputShirtLengthBody.value;
			targetValue2[5] = document.getElementById('body_measurements_form').inputBackBody.value;
			if(sleevesType == 'long')
			{
				targetValue2[6] = document.getElementById('body_measurements_form').inputArmLengthBody.value;
			}
			else if(sleevesType == 'short')
			{
				targetValue2[6] = document.getElementById('body_measurements_form').inputShortSleeveLengthBody.value;
			}
			targetValue2[7] = document.getElementById('body_measurements_form').inputArmpitBody.value;
			targetValue2[8] = document.getElementById('body_measurements_form').inputBicepBody.value;
			if(sleevesType == 'long')
			{
				targetValue2[9] = document.getElementById('body_measurements_form').inputWristBody.value;
			}
		}
		else if(cmInchesChoice == 'inches')
		{
			targetValue2[0] = document.getElementById('body_measurements_form').inputNeckBodyInches.value;
			targetValue2[1] = document.getElementById('body_measurements_form').inputChestBodyInches.value;
			targetValue2[2] = document.getElementById('body_measurements_form').inputWaistBodyInches.value;
			targetValue2[3] = document.getElementById('body_measurements_form').inputHipsBodyInches.value;
			targetValue2[4] = document.getElementById('body_measurements_form').inputShirtLengthBodyInches.value;
			targetValue2[5] = document.getElementById('body_measurements_form').inputBackBodyInches.value;
			if(sleevesType == 'long')
			{
				targetValue2[6] = document.getElementById('body_measurements_form').inputArmLengthBodyInches.value;
			}
			else if(sleevesType == 'short')
			{
				targetValue2[6] = document.getElementById('body_measurements_form').inputShortSleeveLengthBodyInches.value;
			}
			targetValue2[7] = document.getElementById('body_measurements_form').inputArmpitBodyInches.value;
			targetValue2[8] = document.getElementById('body_measurements_form').inputBicepBodyInches.value;
			if(sleevesType == 'long')
			{
				targetValue2[9] = document.getElementById('body_measurements_form').inputWristBodyInches.value;
			}
		}
		
		var checkpointRequired = validateRequired(targetValue2)
		
		if(checkpointRequired == false)
		{
			alert('All input measurement fields are required. Please check your fields.');
			return;
		}
		
		var checkpointDecimal = validateDecimal(targetValue2)
		
		if(checkpointDecimal == false)
		{
			alert('The input measurement fields only allow numbers and decimals. Please check your fields.');
			return;
		}
		
		targetValue1[0] = document.getElementById('body_hidden_form').measurementsProfileNameBody.value;
		
		var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1);
		
		if(checkpointAlphaNumeric == false)
		{
			alert('The measurements profile name is a required field allowing only letters and numbers.');
			return;
		}
	}
	
	if(fieldName == 'ShirtMeasurementsProfile')
	{
		var targetValue1 = new Array();
		var targetValue2 = new Array();
		
		var sleevesType = document.getElementById("shirtModelIndexView1_2").name;
	
		var cmInchesTemp = document.getElementById("shirt_cm_inches_drop").options.selectedIndex;
		var cmInchesChoice = document.getElementById("shirt_cm_inches_drop").options[cmInchesTemp].value;
		
		if(cmInchesChoice == 'cm')
		{
			targetValue2[0] = document.getElementById('shirt_measurements_form').inputCollarShirt.value;
			targetValue2[1] = document.getElementById('shirt_measurements_form').inputChestShirt.value;
			targetValue2[2] = document.getElementById('shirt_measurements_form').inputWaistShirt.value;
			targetValue2[3] = document.getElementById('shirt_measurements_form').inputHipsShirt.value;
			targetValue2[4] = document.getElementById('shirt_measurements_form').inputShirtLengthShirt.value;
			targetValue2[5] = document.getElementById('shirt_measurements_form').inputBackShirt.value;
			if(sleevesType == 'long')
			{
				targetValue2[6] = document.getElementById('shirt_measurements_form').inputSleeveLengthShirt.value;
			}
			else if(sleevesType == 'short')
			{
				targetValue2[6] = document.getElementById('shirt_measurements_form').inputShortSleeveLengthShirt.value;
			}
			targetValue2[7] = document.getElementById('shirt_measurements_form').inputArmpitShirt.value;
			targetValue2[8] = document.getElementById('shirt_measurements_form').inputBicepShirt.value;
			if(sleevesType == 'long')
			{
				targetValue2[9] = document.getElementById('shirt_measurements_form').inputCuffsShirt.value;
			}
		}
		else if(cmInchesChoice == 'inches')
		{
			targetValue2[0] = document.getElementById('shirt_measurements_form').inputCollarShirtInches.value;
			targetValue2[1] = document.getElementById('shirt_measurements_form').inputChestShirtInches.value;
			targetValue2[2] = document.getElementById('shirt_measurements_form').inputWaistShirtInches.value;
			targetValue2[3] = document.getElementById('shirt_measurements_form').inputHipsShirtInches.value;
			targetValue2[4] = document.getElementById('shirt_measurements_form').inputShirtLengthShirtInches.value;
			targetValue2[5] = document.getElementById('shirt_measurements_form').inputBackShirtInches.value;
			if(sleevesType == 'long')
			{
				targetValue2[6] = document.getElementById('shirt_measurements_form').inputSleeveLengthShirtInches.value;
			}
			else if(sleevesType == 'short')
			{
				targetValue2[6] = document.getElementById('shirt_measurements_form').inputShortSleeveLengthShirtInches.value;
			}
			targetValue2[7] = document.getElementById('shirt_measurements_form').inputArmpitShirtInches.value;
			targetValue2[8] = document.getElementById('shirt_measurements_form').inputBicepShirtInches.value;
			if(sleevesType == 'long')
			{
				targetValue2[9] = document.getElementById('shirt_measurements_form').inputCuffsShirtInches.value;
			}
		}
		
		var checkpointRequired = validateRequired(targetValue2)
		
		if(checkpointRequired == false)
		{
			alert('All input measurement fields are required. Please check your fields.');
			return;
		}
		
		var checkpointDecimal = validateDecimal(targetValue2)
		
		if(checkpointDecimal == false)
		{
			alert('The input measurement fields only allow numbers and decimals. Please check your fields.');
			return;
		}
		
		targetValue1[0] = document.getElementById('shirt_hidden_form').measurementsProfileNameShirt.value;
		
		var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1)
		
		if(checkpointAlphaNumeric == false)
		{
			alert('The measurements profile name is a required field allowing only letters and numbers.');
			return;
		}
	}
	
	ChangeDiv('finish_content');
	menu1Swap('finish');
}

function validateFinish(fieldName)
{
	var sizingOption = getRadioSelection(document.sizing_form.radio_sizing);
	
	if(sizingOption == 'body' || sizingOption == 'shirt' || sizingOption == 'standard')
	{
		if(sizingOption == 'body')
		{
			var targetValue1 = new Array();
			var targetValue2 = new Array();
			
			var sleevesType = document.getElementById("shirtModelIndexView1_2").name;
	
			var cmInchesTemp = document.getElementById("body_cm_inches_drop").options.selectedIndex;
			var cmInchesChoice = document.getElementById("body_cm_inches_drop").options[cmInchesTemp].value;
			
			if(cmInchesChoice == 'cm')
			{
				targetValue2[0] = document.getElementById('body_measurements_form').inputNeckBody.value;
				targetValue2[1] = document.getElementById('body_measurements_form').inputChestBody.value;
				targetValue2[2] = document.getElementById('body_measurements_form').inputWaistBody.value;
				targetValue2[3] = document.getElementById('body_measurements_form').inputHipsBody.value;
				targetValue2[4] = document.getElementById('body_measurements_form').inputShirtLengthBody.value;
				targetValue2[5] = document.getElementById('body_measurements_form').inputBackBody.value;
				if(sleevesType == 'long')
				{
					targetValue2[6] = document.getElementById('body_measurements_form').inputArmLengthBody.value;
				}
				else if(sleevesType == 'short')
				{
					targetValue2[6] = document.getElementById('body_measurements_form').inputShortSleeveLengthBody.value;
				}
				targetValue2[7] = document.getElementById('body_measurements_form').inputArmpitBody.value;
				targetValue2[8] = document.getElementById('body_measurements_form').inputBicepBody.value;
				if(sleevesType == 'long')
				{
					targetValue2[9] = document.getElementById('body_measurements_form').inputWristBody.value;
				}
			}
			else if(cmInchesChoice == 'inches')
			{
				targetValue2[0] = document.getElementById('body_measurements_form').inputNeckBodyInches.value;
				targetValue2[1] = document.getElementById('body_measurements_form').inputChestBodyInches.value;
				targetValue2[2] = document.getElementById('body_measurements_form').inputWaistBodyInches.value;
				targetValue2[3] = document.getElementById('body_measurements_form').inputHipsBodyInches.value;
				targetValue2[4] = document.getElementById('body_measurements_form').inputShirtLengthBodyInches.value;
				targetValue2[5] = document.getElementById('body_measurements_form').inputBackBodyInches.value;
				if(sleevesType == 'long')
				{
					targetValue2[6] = document.getElementById('body_measurements_form').inputArmLengthBodyInches.value;
				}
				else if(sleevesType == 'short')
				{
					targetValue2[6] = document.getElementById('body_measurements_form').inputShortSleeveLengthBodyInches.value;
				}
				targetValue2[7] = document.getElementById('body_measurements_form').inputArmpitBodyInches.value;
				targetValue2[8] = document.getElementById('body_measurements_form').inputBicepBodyInches.value;
				if(sleevesType == 'long')
				{
					targetValue2[9] = document.getElementById('body_measurements_form').inputWristBodyInches.value;
				}
			}
			
			var checkpointRequired = validateRequired(targetValue2)
			
			if(checkpointRequired == true)
			{
				var checkpointDecimal = validateDecimal(targetValue2)
			
				if(checkpointDecimal == true)
				{
					targetValue1[0] = document.getElementById('body_hidden_form').measurementsProfileNameBody.value;
			
					var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1);
					
					if(checkpointAlphaNumeric == true)
					{
						if(fieldName == 'ShirtDesignName')
						{
							var targetValue1 = new Array();
							targetValue1[0] = document.getElementById('design_hidden_form').shirtDesignNameInput.value;
							
							var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1);
							
							if(checkpointAlphaNumeric == true)
							{
								submitShoppingCart();
							}
							else
							{
								alert('The shirt design name is a required field allowing only letters and numbers.');
								return;
							}
						}
					}
					else
					{
						alert('The measurements profile name is a required field allowing only letters and numbers.');
						return;
					}
				}
				else
				{
					alert('The input measurement fields only allow numbers and decimals. Please check your fields.');
					return;
				}
			}
			else
			{
				alert('All input measurement fields are required. Please check your fields.');
				return;
			}
		
		}
		if(sizingOption == 'shirt')
		{
			var targetValue1 = new Array();
			var targetValue2 = new Array();
			
			var sleevesType = document.getElementById("shirtModelIndexView1_2").name;
		
			var cmInchesTemp = document.getElementById("shirt_cm_inches_drop").options.selectedIndex;
			var cmInchesChoice = document.getElementById("shirt_cm_inches_drop").options[cmInchesTemp].value;
			
			if(cmInchesChoice == 'cm')
			{
				targetValue2[0] = document.getElementById('shirt_measurements_form').inputCollarShirt.value;
				targetValue2[1] = document.getElementById('shirt_measurements_form').inputChestShirt.value;
				targetValue2[2] = document.getElementById('shirt_measurements_form').inputWaistShirt.value;
				targetValue2[3] = document.getElementById('shirt_measurements_form').inputHipsShirt.value;
				targetValue2[4] = document.getElementById('shirt_measurements_form').inputShirtLengthShirt.value;
				targetValue2[5] = document.getElementById('shirt_measurements_form').inputBackShirt.value;
				if(sleevesType == 'long')
				{
					targetValue2[6] = document.getElementById('shirt_measurements_form').inputSleeveLengthShirt.value;
				}
				else if(sleevesType == 'short')
				{
					targetValue2[6] = document.getElementById('shirt_measurements_form').inputShortSleeveLengthShirt.value;
				}
				targetValue2[7] = document.getElementById('shirt_measurements_form').inputArmpitShirt.value;
				targetValue2[8] = document.getElementById('shirt_measurements_form').inputBicepShirt.value;
				if(sleevesType == 'long')
				{
					targetValue2[9] = document.getElementById('shirt_measurements_form').inputCuffsShirt.value;
				}
			}
			else if(cmInchesChoice == 'inches')
			{
				targetValue2[0] = document.getElementById('shirt_measurements_form').inputCollarShirtInches.value;
				targetValue2[1] = document.getElementById('shirt_measurements_form').inputChestShirtInches.value;
				targetValue2[2] = document.getElementById('shirt_measurements_form').inputWaistShirtInches.value;
				targetValue2[3] = document.getElementById('shirt_measurements_form').inputHipsShirtInches.value;
				targetValue2[4] = document.getElementById('shirt_measurements_form').inputShirtLengthShirtInches.value;
				targetValue2[5] = document.getElementById('shirt_measurements_form').inputBackShirtInches.value;
				if(sleevesType == 'long')
				{
					targetValue2[6] = document.getElementById('shirt_measurements_form').inputSleeveLengthShirtInches.value;
				}
				else if(sleevesType == 'short')
				{
					targetValue2[6] = document.getElementById('shirt_measurements_form').inputShortSleeveLengthShirtInches.value;
				}
				targetValue2[7] = document.getElementById('shirt_measurements_form').inputArmpitShirtInches.value;
				targetValue2[8] = document.getElementById('shirt_measurements_form').inputBicepShirtInches.value;
				if(sleevesType == 'long')
				{
					targetValue2[9] = document.getElementById('shirt_measurements_form').inputCuffsShirtInches.value;
				}
			}
			
			var checkpointRequired = validateRequired(targetValue2)
			
			if(checkpointRequired == true)
			{
				var checkpointDecimal = validateDecimal(targetValue2)
			
				if(checkpointDecimal == true)
				{
					targetValue1[0] = document.getElementById('shirt_hidden_form').measurementsProfileNameShirt.value;
			
					var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1)
					
					if(checkpointAlphaNumeric == true)
					{
						if(fieldName == 'ShirtDesignName')
						{
							var targetValue1 = new Array();
							targetValue1[0] = document.getElementById('design_hidden_form').shirtDesignNameInput.value;
							
							var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1);
							
							if(checkpointAlphaNumeric == true)
							{
								submitShoppingCart();
							}
							else
							{
								alert('The shirt design name is a required field allowing only letters and numbers.');
								return;
							}
						}
					}
					else
					{
						alert('The measurements profile name is a required field allowing only letters and numbers.');
						return;
					}
				}
				else
				{
					alert('The input measurement fields only allow numbers and decimals. Please check your fields.');
					return;
				}
			}
			else
			{
				alert('All input measurement fields are required. Please check your fields.');
				return;
			}
			
		}
		if(sizingOption == 'standard')
		{
			if(fieldName == 'ShirtDesignName')
			{
				var targetValue1 = new Array();
				targetValue1[0] = document.getElementById('design_hidden_form').shirtDesignNameInput.value;
				
				var checkpointAlphaNumeric = validateAlphaNumeric(targetValue1);
				
				if(checkpointAlphaNumeric == true)
				{
					submitShoppingCart();
				}
				else
				{
					alert('The shirt design name is a required field allowing only letters and numbers.');
					return;
				}
			}
		}
	}
	else
	{
		alert('Please select a sizing option.');
		return;
	}
}

function validateDelivery()
{
	var targetValue1 = new Array();
	targetValue1[0] = document.getElementById('my_delivery_form').md_name.value;
	targetValue1[1] = document.getElementById('my_delivery_form').md_address.value;
	targetValue1[2] = document.getElementById('my_delivery_form').md_postalCode.value;
	targetValue1[3] = document.getElementById('my_delivery_form').md_city.value;
	
	var checkpointRequired = validateRequired(targetValue1);
	
	if(checkpointRequired == false)
	{
		alert('Please complete your delivery address details.');
		return;
	}
	
	var countryTemp = document.getElementById("countries_drop").options.selectedIndex;
	var countryChoice = document.getElementById("countries_drop").options[countryTemp].value;
	
	var deliveryChoice = getRadioSelection(document.my_delivery_form.myDeliveryOption);
	
	if(countryChoice == '')
	{
		alert('Please choose a country');
		return;
	}
	
	if(deliveryChoice != 'Standard' && deliveryChoice != 'Express')
	{
		alert('Please choose a delivery option.');
		return;
	}
	
	document.my_delivery_form.md_country.value = countryChoice;
	document.my_delivery_form.md_deliveryOption.value = deliveryChoice;
	
	document.my_delivery_form.formIdentity.value = 'valid';
	
	document.getElementById("my_delivery_form").submit();
}

function validatePayment()
{
	var targetValue1 = new Array();
	targetValue1[0] = document.getElementById('my_payment_form').mp_nameCard.value;
	targetValue1[1] = document.getElementById('my_payment_form').mp_numberCard.value;
	targetValue1[2] = document.getElementById('my_payment_form').mp_cvvCard.value;
	
	var checkpointRequired = validateRequired(targetValue1);
	
	if(checkpointRequired == false)
	{
		alert('Please complete your delivery address details.');
		return;
	}
	
	var cardtypeTemp = document.getElementById("dropdown_cardtype").options.selectedIndex;
	var cardtypeChoice = document.getElementById("dropdown_cardtype").options[cardtypeTemp].value;
	
	var monthTemp = document.getElementById("dropdown_month").options.selectedIndex;
	var monthChoice = document.getElementById("dropdown_month").options[monthTemp].value;
	
	var yearTemp = document.getElementById("dropdown_year").options.selectedIndex;
	var yearChoice = document.getElementById("dropdown_year").options[yearTemp].value;
	
	document.my_payment_form.mp_cardType.value = cardtypeChoice;
	document.my_payment_form.mp_expMonth.value = monthChoice;
	document.my_payment_form.mp_expYear.value = yearChoice;
	
	document.my_payment_form.formIdentity.value = 'valid';
	
	document.getElementById('my_payment_form').submit();
}

function validateRegistration()
{
	var targetValue1 = new Array();
	var targetValue2 = new Array();
	
	targetValue1[0] = document.getElementById('registerForm').firstNameField.value;
	targetValue1[1] = document.getElementById('registerForm').lastNameField.value;
	targetValue1[2] = document.getElementById('registerForm').emailField.value;
	targetValue1[3] = document.getElementById('registerForm').passwordField.value;
	targetValue1[4] = document.getElementById('registerForm').confirmField.value;
	targetValue1[5] = document.getElementById('registerForm').birthdayField.value;
	targetValue1[6] = document.getElementById('registerForm').birthmonthField.value;
	targetValue1[7] = document.getElementById('registerForm').birthyearField.value;
	targetValue1[8] = document.getElementById('registerForm').refCountryField.value;
	targetValue1[9] = document.getElementById('registerForm').refSourceField.value;
	
	var checkpointRequired = validateRequired(targetValue1);
	
	if(checkpointRequired == false)
	{
		alert('Please complete your registration details.');
		return;
	}
	
	targetValue2[0] = document.getElementById('registerForm').emailField.value;
	
	var checkpointEmail = validateEmail(targetValue2);
	
	if(checkpointEmail == false)
	{
		alert('Please enter a valid email address.');
		return;
	}
	
	if(targetValue1[3] != targetValue1[4])
	{
		alert('Please confirm your password.');
		return;
	}
	
	checkEmail('ajaxResponse.php', 'checkEmail', targetValue2[0]);
}