var drivers = 1;


function extractTrim(frm, name){
	return frm[name].value = trimStr(frm[name].value);
}


function valCarForm(frm){
	var hasErr = false;
	
	

	// if private car form
	if (document.private_car_form)
	{
		var forename = extractTrim(frm, "forename")
		var surname = extractTrim(frm, "surname")
		
		if(!markValid("reqQuotForename", forename.length != 0))
			hasErr = true;
		if(!markValid("reqQuotSurname", surname.length != 0))
			hasErr = true;
	}
	
	
	// if commercial car form
	if (document.commercial_vehicle_form)
	{
		
		if (frm.reqRegisterTo[1].checked == true)
		{
			var name = extractTrim(frm, "fullName")
			var dob = extractTrim(frm, "dob")
			
			if(!markValid("reqQuotName", name.length != 0))
				hasErr = true;
			if(!markValid("reqQuotDOB", dob.length != 0))
				hasErr = true;
				
		}
		else if (frm.reqRegisterTo[0].checked == true)
		{
			var company = extractTrim(frm, "companyName")
			var businessDesc = extractTrim(frm, "busDesc")
			
			if(!markValid("reqQuotCompanyName", company.length != 0))
				hasErr = true;
			if(!markValid("reqQuotBusDesc", businessDesc.length != 0))
				hasErr = true;
		}
		
		var carryingCapacity = extractTrim(frm, "carryingCapacity")
		
		if(!markValid("reqQuotCarryingCapacity", carryingCapacity.length != 0))
			hasErr = true;
	}

	// if private car form
	if (document.private_car_form)
	{
		var dob = extractTrim(frm, "dob")
		var licenseYears = extractTrim(frm, "licenseYears")
		var engineCapacity = extractTrim(frm, "engineCapacity")
		var marital = frm["marital"].selectedIndex != 0;
		var licenseType = frm["licenseType"].selectedIndex != 0;
		
		
		if(!markValid("reqQuotDOB", dob.length != 0))
			hasErr = true;
		if(!markValid("reqQuotLicenseYears", licenseYears.length != 0))
			hasErr = true;
		
		if(!markValid("reqQuotEngineCapacity", engineCapacity.length != 0))
			hasErr = true;		
		
		
		if(!markValid("reqQuotMarital", marital))
			hasErr = true;
		if(!markValid("reqQuotLicenseType", licenseType))
			hasErr = true;
	

	}	
	
	// common fields
	var reqAddress = extractTrim(frm, "address")
	var phoneHome = extractTrim(frm, "phoneHome")
	var phoneWork = extractTrim(frm, "phoneWork")
	var phoneMobile = extractTrim(frm, "phoneMobile")
	var email = extractTrim(frm, "email")
	var make = extractTrim(frm, "make")
	var model = extractTrim(frm, "model")
	var carYear = extractTrim(frm, "carYear")
	var carValue = extractTrim(frm, "carValue")
	var regNum = extractTrim(frm, "regNum")
	var coverType = frm["coverType"].selectedIndex != 0;
	
	if (!markValid("reqQuotAddress", reqAddress.length != 0))
		hasErr = true;
	
	if (!markValid("reqQuotPhone", phoneHome.length != 0) && !markValid("reqQuotPhone", phoneWork.length != 0) && !markValid("reqQuotPhone", phoneMobile.length != 0)) 
		hasErr = true;
		
	if (email.length != 0 && !markValid("reqQuotEmail", validMail(email)))
			hasErr = true;
			
	if(!markValid("reqQuotMake", make.length != 0))
			hasErr = true;
	
	if(!markValid("reqQuotModel", model.length != 0))
				hasErr = true;
				
	if(!markValid("reqQuotCarYear", carYear.length != 0))
		hasErr = true;
	if(!markValid("reqQuotCarValue", carValue.length != 0))
		hasErr = true;
	if(!markValid("reqQuotRegNum", regNum.length != 0))
		hasErr = true;
		
	if(!markValid("reqQuotCoverType", coverType))
		hasErr = true;
		
	if (frm.reqAdditional[0].checked == true)
	{	
		for (var i = 1; i <= drivers; i++)
		{
			var driverName = extractTrim(frm, "DriverName" + i);
			var driverDOB = extractTrim(frm, "DriverDOB" + i);
			var driverYearsHeld = extractTrim(frm, "DriverYearsHeld" + i);
		
			if (!markValid("reqQuotDriverName" + i, driverName.length != 0))
				hasErr = true;
		
			if (!markValid("reqQuotDriverRelationship" + i, frm["DriverRelationship" + i].selectedIndex != 0))
				hasErr = true;
		
			if (!markValid("reqQuotDriverDOB" + i, driverDOB.length != 0))
				hasErr = true;
		
			if (!markValid("reqQuotDriverLicense" + i, frm["licenseType" + i].selectedIndex != 0))
				hasErr = true;
		
			if (!markValid("reqQuotDriverYearsHeld" + i, driverYearsHeld.length != 0))
				hasErr = true;
		}
	}
	
	if (frm.exceptions.value.length == 0 && !markValid("declarationExceptions", frm.declaration.checked == true))
		hasErr = true;
	
	return !hasErr;
}

function	displayDrivers(display) {
		document.getElementById("additionalDrivers").style.display = (display == 'on') ? "block" : "none";
}

function	displayBusiness(display) {
		document.getElementById("individualProposer").style.display = (display == 'on') ? "none" : "block";
		document.getElementById("businessProposer").style.display = (display == 'on') ? "block" : "none";
		document.getElementById("businessDetails").style.display = (display == 'on') ? "none" : "block";
		document.getElementById("mainDriver").style.display = (display == 'on') ? "block" : "none";
}

function addADriver(){
	document.getElementById("driverTB" + (++drivers)).style.display = "block";
	document.getElementById("remDriver").style.display = (drivers > 0) ? "inline" : "none";
	document.getElementById("addDrvr").style.display = (drivers < 10) ? "inline" : "none";
	return false;
}

function removeDriver(){
	document.getElementById("driverTB" + (drivers--)).style.display = "none";
	document.getElementById("remDriver").style.display = (drivers > 0) ? "inline" : "none";
	document.getElementById("addDrvr").style.display = (drivers < 10) ? "inline" : "none";
	return false;
}

