
function validateStartForm(validateConfig) {
	var startForm = $('ocaForm');
	var zipCode = startForm.zipCode.value;
	var validationErrors = new Array();

	// Check for required fields
	if ( startForm.modelName[0].checked == false &&
         startForm.modelName[1].checked == false  &&
         startForm.modelName[2].checked == false) {
	    validationErrors.push("Please choose a model");
	}
	if ( startForm.modelTransmission[0].checked == false &&
         startForm.modelTransmission[1].checked == false) {
	    validationErrors.push("Please choose a transmission");
	}

    zipCodePattern = /^\d{5}$/;
	if ( ( typeof(startForm.zipCode) == "undefined" ) ||
		 ( ! startForm.zipCode.value.match(zipCodePattern) ) ||
		 ( zipCode <= 0 ) || ( zipCode >= 99999 ) )
	{
		validationErrors.push("Please choose a valid 5-digit Zip Code");
	}

	displayValidationErrors(validationErrors);

	if ( validationErrors.length > 0 ) {
		return false;
	}

	// Check for zip codes in Hawaii, Guam, or Puerto Rico.
	if ( (zipCode == 96910) || (zipCode == 96913) || (zipCode == 96915) || (zipCode == 96921) ||
		 (zipCode == 96929) || (zipCode == 96931) || (zipCode == 96932) ||
		 ( (zipCode > 600) && (zipCode < 988) ) ||
		 ( (zipCode > 96700) && (zipCode.value < 96899 ) ) )
	{
		displayZipCodeOutOfBounds();
		return false;
	}

	// Required Dealer Handling for SET region
	/*
	var dealerRequired = null;
	dealerRequired = startForm.dealerRequired;
	if ( typeof(dealerRequired) == "undefined" ) {
		// This code takes care of adding a "dealerRequired" form field if it does not exist.
		dealerRequired = document.createElement('input');
		dealerRequired.name = 'dealerRequired';
		dealerRequired.type = 'hidden';
		startForm.appendChild(dealerRequired);
	}
	dealerRequired.value = "false";
	*/

	// passed -- submit form
	startForm.submit();
	s.pageName="sci: slash: military: oca form: submit";
	s.t(); 
	closeApplicationForm();
}

function displayValidationErrors(errors) {
	var errorHtml = "";
	var errorLayer = $('errorLayer');
	if ( ( typeof(errors) != "undefined" ) && ( errors != null ) && ( errors.length > 0 ) ) {
		for (var i=0; i < errors.length; i++) {
			errorHtml += errors[i] + "<br />";
		}
	}
	if(errorHtml != "") {
	errorLayer.style.visibility = "visible";
	errorLayer.innerHTML = errorHtml;
	}
}

function displayZipCodeOutOfBounds() {
	var errors = new Array();
	errors.push("The zip code that you entered is not supported. Please try another one.");
	displayValidationErrors(errors);
}

