// JavaScript Document
// Only script specific to this form goes here.
// General-purpose routines are in a separate file.
  function validateOnSubmit(page) {
    var elem;
    var errs=0;
	var firstError = ''
	var theForm = document.forms[0].elements;
    // execute all element validations in reverse order, so focus gets
    // set to the first one in error.
	switch(page){
	
	case 1:
		if (!validatePresent(theForm['visitorFirstName'], 'inf_FirstName')){ errs += 1; firstError = 'visitorFirstName' }
		if (!validatePresent (theForm['visitorLastName'],  'inf_LastName')){ errs += 1; if(firstError =='') firstError = 'visitorLastName'}
		if (!validateEmail (theForm['visitorEmail'], 'inf_Email', true)){ errs += 1; if(firstError =='') firstError = 'visitorEmail'}
		var contactElem = "contactMethodEmail,contactMethodPostal,contactMethodTelephone,contactMethodFax";
		if (!validateContactMeth('inf_ContactMethod',contactElem)) { errs += 1; if(firstError =='') firstError = 'contactMethodEmail'}
	break
	
	case 2:
		if (!validatePresent(theForm.analysisBoatMfg,'inf_BoatMfg')) { errs += 1; firstError = 'analysisBoatMfg' }
		if (!validatePresent(theForm.analysisBoatModel, 'inf_BoatModel')) { errs += 1; firstError = 'analysisBoatModel' }
		if (!validateYear(theForm.analysisBoatYear, 'inf_BoatYear', true)){ errs += 1; firstError = 'analysisBoatYear' }
		if (!validateNumber(theForm.analysisOLfeet, 'inf_OL', true)) { errs += 1; firstError = 'analysisOLfeet' }
		if (!emptyString.test(theForm.analysisOLfeet.value))
		if (!validateNumber(theForm.analysisOLinch, 'inf_OL', false)) { errs += 1; firstError = 'analysisOLinch' }
			if (!validateNumber(theForm.analysisWLfeet, 'inf_WL', false)) { errs += 1; firstError = 'analysisWLfeet' }
		if (!validateNumber(theForm.analysisWLinch, 'inf_WL', false)) { errs += 1; firstError = 'analysisWLinch' }
		if (!validateNumber(theForm.analysisBeamFeet, 'inf_Beam', true)) { errs += 1; firstError = 'analysisBeamFeet' }
		if (!emptyString.test(theForm.analysisBeamFeet.value))
		if (!validateNumber(theForm.analysisBeamInch, 'inf_Beam', false)) { errs += 1; firstError = 'analysisBeamInch' }
			
		if (!validateNumber(theForm.analysisDraftFeet, 'inf_Draft', false)) { errs += 1; firstError = 'analysisDraftFeet' }
		if (!validateNumber(theForm.analysisDraftInch, 'inf_Draft', false)) { errs += 1; firstError = 'analysisDraftInch' }
		
		if (!validateNumber(theForm.analysisLCGfeet, 'inf_LCG', false)) { errs += 1; firstError = 'analysisLCGfeet' }
		if (!validateNumber(theForm.analysisLCGinch, 'inf_LCG', false)) { errs += 1; firstError = 'analysisLCGinch' }
		
		if (!validateNumber(theForm.analysisLoadedTons, 'inf_LoadedTons', true)){ errs += 1; firstError = 'analysisLoadedTons' }
		if (!validateSelect(theForm.analysisHullMaterial, 'inf_HullMaterial')){ errs += 1; firstError = 'analysisHullMaterial' }
		if (!validateNumber(theForm.analysisDeadRise, 'inf_DeadRise', false)) { errs += 1; firstError = 'analysisDeadRise' }
		if (!validateNumber(theForm.analysisHullSpeed, 'inf_HullSpeed', true)) { errs += 1; firstError = 'analysisHullSpeed' }
		if (!validateNumber(theForm.analysisDesiredSpeed, 'inf_DesiredSpeed', false)){ errs += 1; firstError = 'analysisDesiredSpeed' }
	break
	
	case 3:
		if (!validatePresent(theForm.analysisEngManufacturer, 'inf_EngMfg')) { errs += 1; firstError = 'analysisEngManufacturer' }
		if (!validatePresent(theForm.analysisEngModel, 'inf_EngModel')) { errs += 1; firstError = 'analysisEngModel' }
		if (!validateNumber(theForm.analysisCID, 'inf_CID')) { errs += 1; firstError = 'analysisCID' }
		if (!validateNumber(theForm.analysisEngRatingHP, 'inf_EngRating', true)) { errs += 1; firstError = 'analysisEngRatingHP' }
		if (!validateNumber(theForm.analysisEngRatingRPM, 'inf_EngRating', true)) { errs += 1; firstError = 'analysisEngRatingRPM' }
		if (!validateNumber(theForm.analysisGearRatio, 'inf_GearRatio', true)) { errs += 1; firstError = 'analysisGearRatio' }
		if (!validateSelect(theForm.analysisFuel, 'inf_Fuel')) { errs += 1; firstError = 'analysisFuel' }
		if (!validateNumRange(theForm.analysisNumEngines, 'inf_NumEngines', '1', '5', true)) { errs += 1; firstError = 'analysisNumEngines' }
		if (!validateSelect(theForm.analysisPropulsionType, 'inf_PropulsionType')) { errs += 1; firstError = 'analysisPropulsionType' }
	break
	
	case 4:
		if (!validateNumber(theForm.analysisExPropBore, 'inf_ExPropBore', false)) errs += 1;
		if (!validateNumber(theForm.analysisExPropDiam, 'inf_ExPropDiam', false)) errs += 1;
		if (!validateNumber(theForm.analysisExPropPitch, 'inf_ExPropPitch', false)) errs += 1;
		if (!validateNumber(theForm.analysisExPropBlades, 'inf_ExPropBlades', false)) errs += 1;
		if (!validateNumber(theForm.analysisExPropMaxRPM, 'inf_ExPropMaxRPM', true)) errs += 1;
		if (!validateNumber(theForm.analysisExPropMaxDia, 'inf_ExPropMaxDia', false)) errs += 1;
	break
	}
	if (errs>1)  alert('There are fields which need correction before sending');
	if (errs==1) alert('There is a field which needs correction before sending');
	if(!firstError=='') theForm[firstError].focus;
    return (errs==0);
  }
