// variable declarations
var CanadianProvinceCodeDelimiter = "|";
var CanadianProvinceCodes = "AB|BC|MB|NB|NL|NT|NS|NU|ON|PE|QC|SK|YT";



function onSubmit(form)
{
	return (
		validateReceiptTargets(form) &&
		validateProductCodes(form.elements["serialNumber0"], form.elements["modifier0"]) &&
		validateProductCodes(form.elements["serialNumber1"], form.elements["modifier1"]) &&
		validateProductCodes(form.elements["serialNumber2"], form.elements["modifier2"]) &&
		validateProductCodes(form.elements["serialNumber3"], form.elements["modifier3"]) &&
		validateProductCodes(form.elements["serialNumber4"], form.elements["modifier4"]) &&
		validateProductCodes(form.elements["serialNumber5"], form.elements["modifier5"]) &&
		validateProductCodes(form.elements["serialNumber6"], form.elements["modifier6"]) &&
		validateProductCodes(form.elements["serialNumber7"], form.elements["modifier7"]) &&
		validateProductCodes(form.elements["serialNumber8"], form.elements["modifier8"]) &&
		validateProductCodes(form.elements["serialNumber9"], form.elements["modifier9"])
	)

}

function validateProductCodes(serialField, modifierField)
{
	// check if anything was entered in either field
	var serialNo = serialField.value;
	var modifier = modifierField.value;
	if (serialNo.length != 0 || modifier.length != 0) {
	
		// check the serial number
		if (serialNo.length != 21) {
			warnInvalid(serialField, "A valid serial number is exactly 21 characters long.  Please verify that you entered it correctly.");
			return false;
		}

		// check the modifier
        if (modifier.length < 1) {
            warnInvalid(modifierField, "Please enter the Modifier or Machine ID as specified in the software's license activation dialog.");
            return false;
        }
    }

	return true;
}



function validateReceiptTargets(form)
{
	// check for no selection made
	if (!((form.elements["recipient"][0].checked == true) ||
	        (form.elements["recipient"][1].checked == true) ||
	        (form.elements["recipient"][2].checked == true))) {

		form.elements["recipient"][0].focus();
		//alert("You must specify a recipient of the activation information.");
		warnInvalid(form.elements["recipient"][0], "You must specify a recipient of the activation information.");
		return false;
	}

	// if no reseller info was supplied, just set the value to "Client Contact"
	if (!form.elements["specifyResellerInfo"].checked) {
		form.elements["recipient"][0].checked = false;
		form.elements["recipient"][2].checked = false;
		form.elements["recipient"][1].checked = true;
	}

	return true;
}


