//AUTHOR: Steven Yates - Designed and coded for ACE - I.R.M Insurance Pty Ltd
//EMAIL:  stevenyates@hotmail.com
//LAST CHANGE: 26/02/2004

var driverFields = new Array();

function Driver(name, sex, sexids, errorids, lic, birth) {
	this.addName = name;
	this.addSex = sex;
	this.addSexids = sexids;
	this.addErrorids = errorids;
	this.addLic = lic;
	this.addDOB = birth;
}

function disableElement(e) {
	var ele = document.getElementById(e);
	ele.disabled = true;
	return;	
}

function enableElement(e) {
	var htmlStr;
	var title, cell, error;
	switch(e) {
		case("curIns"):
			var errorIDs = generateErrorIds("curIns1");
			title = document.getElementById("primaryCurCell");
			cell = document.getElementById("curCell");
			error = document.getElementById("errorCur");
			title.id = errorIDs[0];
			error.id = errorIDs[1];
			cell.innerHTML += "<input type=\"text\" id=\"busType\" name=\"BUSINESS-DESCRIPTION\" size=\"20\" value=\"Type\">";
			elementErrorArray.push("busType: Please enter a description for the business the vehicle is primarily used for.");			
			break;
		case("business"):
			var errorIDs = generateErrorIds("priUse2");
			title = document.getElementById("primaryUseCell");
			cell = document.getElementById("businessCell");
			error = document.getElementById("errorBus");
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "<input type=\"text\" id=\"busType\" name=\"BUSINESS-DESCRIPTION\" size=\"20\" value=\"Type\">";
			elementErrorArray.push("busType: Please enter a description for the business the vehicle is primarily used for.");
			break;
		case("insPrice"):
			var errorIDs = generateErrorIds("marketVal2");
			title = document.getElementById("primaryInsCell");
			cell = document.getElementById("insCell");
			error = document.getElementById("errorIns");
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "<input type=\"text\" id=\"agreedValue\" name=\"AGREED-VALUE\" size=\"20\" value=\"Amount\" onBlur=\"isCurrency('agreedValue');\">";
			elementErrorArray.push("agreedValue: Please enter an agreed upon value for the vehicle.");
			//alert(document.getElementById("businessRow").innerHTML);			
			break;
		case("financeOther"):
			var errorIDs = generateErrorIds("finTypeSec");
			title = document.getElementById("primaryOtherFinanceCell");
			cell  = document.getElementById("otherFinanceCell");
			error = document.getElementById("errorFinOther");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "<input type=\"text\" id=\"finOther\" name=\"OTHER-FINANCE-TYPE\" size=\"20\" value=\"Describe\">";
			elementErrorArray.push("finOther: Please describe what finance if not mentioned above you have for your vehicle.");
			break;
		case("finance"):
			var errorIDs = generateErrorIds("financeSel2");
			title = document.getElementById("primaryFinanceCell");
			cell  = document.getElementById("financeCell");
			error = document.getElementById("errorFin");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "<input type=\"text\" id=\"finComp\" name=\"FINANCE-COMPANY\" size=\"20\" value=\"Finance Company\">";
			elementErrorArray.push("finComp: Please enter the finance company your have your finance through.");
			
			title = document.getElementById("primaryOtherFinanceCell");
			cell  = document.getElementById("otherFinanceCell");
			title.innerHTML = "Finance Type:&nbsp;";
			htmlStr  = "&nbsp;<input type=\"radio\" id=\"finTypeLease\" name=\"FINANCE-TYPE\" value=\"Lease\">Lease<br>\n";
			htmlStr += "&nbsp;<input type=\"radio\" id=\"finTypeHP\" name=\"FINANCE-TYPE\" value=\"HP\">H.P.<br>\n";
			htmlStr += "&nbsp;<input type=\"radio\" id=\"finTypeSec\" name=\"FINANCE-TYPE\" value=\"securedLoan\" checked>Secured Loan<br>\n";
			htmlStr += "&nbsp;<input type=\"radio\" id=\"finTypeOther\" name=\"FINANCE-TYPE\" value=\"Other\" onClick=\"enableElement('financeOther');\">Other&nbsp;&nbsp;";
			cell.innerHTML = htmlStr;
			break;			
		case("fuelOther"):
			if(document.getElementById("fuelType").value == "Other") {
				var errorIDs = generateErrorIds("fuelType");
				title = document.getElementById("primaryFuelCell");
				cell  = document.getElementById("fuelCell");
				error = document.getElementById("errorFuel");			
				title.id = errorIDs[0];
				error.id = errorIDs[1];			
				cell.innerHTML += "<input type=\"text\" id=\"fuelOther\" name=\"ALTERNATIVE-FUEL-TYPE\" size=\"16\" value=\"Other Fuel\">";
				elementErrorArray.push("fuelOther: Please enter the name of the alternative fuel used in your vehicle.");
			}
			break;
		case("excess"):
			if(document.getElementById("excessAmount").value == "Other") {
				var errorIDs = generateErrorIds("excessAmount");
				title = document.getElementById("primaryExcessCell");
				cell  = document.getElementById("excessCell");
				error = document.getElementById("errorExcess");			
				title.id = errorIDs[0];
				error.id = errorIDs[1];			
				cell.innerHTML += "<input type=\"text\" id=\"excessOther\" name=\"ALTERNATIVE-EXCESS-VALUE\" size=\"20\" value=\"Other Excess\">";
				elementErrorArray.push("excessOther: Please enter what excess you have on your vehicle.");
			}
			break;
		case("racq"):
			var errorIDs = generateErrorIds("racqMem2");
			var location = document.getElementById("racqDetails");			
			htmlStr = "<table width=\"500\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n";
			htmlStr += "<tr><td width=\"50%\" align=\"right\" class=\"fieldColor\" id=\""+errorIDs[0]+"\">Member Number:&nbsp;</td>\n";
            htmlStr += "<td class=\"fieldColor\" width=\"50%\">&nbsp;<input type=\"text\" onBlur=\"checkracqNumber('racqMemNum');\" id=\"racqMemNum\" name=\"RACQ-MEMBER-NUMBER\" size=\"20\"></td><td id=\""+errorIDs[1]+"\">&nbsp;</td></tr>\n";
            htmlStr += "</table>";
			elementErrorArray.push("racqMemNum: Please enter your RACQ member ID number, this can usualy be found on any documents recieved by the insurer.");
			location.innerHTML = htmlStr;
			errorIDs = generateErrorIds("racqMemNum");
			htmlStr = location.innerHTML.substr(0,location.innerHTML.length-8);
			location.innerHTML = "";
			htmlStr += "<tr><td align=\"right\" class=\"fieldColor\" id=\""+errorIDs[0]+"\">Member Since:&nbsp;</td><td class=\"fieldColor\">&nbsp;<input type=\"text\" onBlur=\"checkYear('racqMemSince');\" id=\"racqMemSince\" name=\"RACQ-MEMBER-SINCE\" size=\"20\"></td><td id=\""+errorIDs[1]+"\">&nbsp;</td></tr>\n";
			htmlStr += "</table>";
			elementErrorArray.push("racqMemSince: Please enter the date in which you became a member of RACQ.");
			location.innerHTML = htmlStr;
			break;
		case("accidents"):
			var errorIDs = generateErrorIds("prevClaims2");
			title = document.getElementById("primaryAccidentCell");
			cell  = document.getElementById("primaryAccident");
			error = document.getElementById("errorAccident");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "&nbsp;<textarea id=\"prevAcc\" name=\"PREVIOUS-CLAIMS-LIST\" cols=\"30\" >Please Describe</textarea>\n";
			elementErrorArray.push("prevAcc: Please enter any previous insurance claims you have made regardless of type and when.");
			break;
		case("bankrupt"):
			var errorIDs = generateErrorIds("bankrupt2");
			title = document.getElementById("primaryBankruptCell");
			cell  = document.getElementById("primaryBankrupt");
			error = document.getElementById("errorBankrupt");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "&nbsp;<textarea id=\"bankruptDet\" name=\"BANKRUPTCY-DETAILS\" cols=\"30\" >Please Describe</textarea>\n";
			elementErrorArray.push("bankruptDet: Please enter primary details of your bankruptcy.");
			break;
		case("infringe"):
			var errorIDs = generateErrorIds("traffInf2");
			title = document.getElementById("primaryInfringeCell");
			cell  = document.getElementById("primaryInfringe");
			error = document.getElementById("errorInfringe");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "&nbsp;<textarea id=\"prevTraffInf\" name=\"TRAFFIC-INFRIGEMENTS-LIST\" cols=\"30\" >Please Describe</textarea>";			
			elementErrorArray.push("prevTraffInf: Please enter any past traffic infrigements you have made, including speeding fines.");
			break;
		case("criminal"):
			var errorIDs = generateErrorIds("crimConv2");
			title = document.getElementById("primaryCriminalCell");
			cell  = document.getElementById("primaryCriminal");
			error = document.getElementById("errorCriminal");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "&nbsp;<textarea id=\"criminalConv\" name=\"PREVIOUS-CONVICTIONS-LIST\" cols=\"30\" >Please Describe</textarea>";			
			elementErrorArray.push("criminalConv: Please enter any criminal convictions.");
			break;		
		case("insured"):
			var errorIDs = generateErrorIds("insDecRef2");
			title = document.getElementById("primaryInsuredCell");
			cell  = document.getElementById("primaryInsured");
			error = document.getElementById("errorInsured");			
			title.id = errorIDs[0];
			error.id = errorIDs[1];			
			cell.innerHTML += "&nbsp;<textarea id=\"conditImp\" name=\"CONDITIONS-IMPOSED\" cols=\"30\" >Conditions Imposed - Last 10 Yrs.</textarea>";			
			elementErrorArray.push("conditImp: Please list any conditions imposed as a result of traffic infringements or convictions within the last 10 years.");
			break;
			/*
		case("liability"):
			<table width="500" border="0" cellspacing="2" cellpadding="2" align="center">
						<tr>
						<td class="labelColor" colspan="2">Liability Details:</td>
						</tr>
                        <tr> 
                          <td align="right" class="labelColor">Section 2 - Public Liability:&nbsp;</td>
                          <td class="fieldColor">&nbsp;<input name="pLiable" type="radio" value="1,000,000" checked>$1,000,000<br>
						  &nbsp;<input type="radio" name="pLiable" value="5,000,000">$5,000,000</td>
                        </tr>
                        <tr>
						<td height="5"></td>
						</tr>
                        <tr> 
                          <td align="right" class="labelColor">Section 3 - Injury: $&nbsp;</td>
                          <td class="fieldColor">&nbsp;<input type="text" name="injury" size="15"></td>
                        </tr>
                        <tr>
						<td height="5"></td>
						</tr>
                        <tr> 
                          <td align="right" class="labelColor">Water Skier's Liability Included:&nbsp;</td>
                          <td class="fieldColor">&nbsp;<input type="radio" name="waterSki" value="Yes">Yes<br>
						  &nbsp;<input name="waterSki" type="radio" value="No" checked>No</td>
                        </tr>
                        <tr>
						<td height="5"></td>
						</tr>
                        <tr> 
                          <td align="right" class="fieldColor">Excess: $&nbsp;</td>
                          <td class="fieldColor">&nbsp;<input type="text" size="15" name="excessSum"></td>
                        </tr>
                        <tr>
						<td height="5"></td>
						</tr>
                        <tr> 
                          <td align="right" class="labelColor">Endorsments Applicable:&nbsp;</td>
                          <td class="fieldColor">&nbsp;<textarea name="endorseApp" wrap="on" cols="30"></textarea></td>
                        </tr>
                        <tr>
						<td height="5"></td>
						</tr>
                        
                      </table>
			break*/		
		default: 
			break;
	}
}

function updateDriverArray(inc, e) {
	driverFields[inc].addErrorids[0] = "errorTitle"+e;
	driverFields[inc].addErrorids[1] = "error"+e;
	driverFields[inc].addErrorids[2] = "errorTitle"+(e+1);
	driverFields[inc].addErrorids[3] = "error"+(e+1);
	driverFields[inc].addErrorids[4] = "errorTitle"+(e+2);
	driverFields[inc].addErrorids[5] = "error"+(e+2);
		
}

function getFieldHTML() {
	var i;
	var HTMLstr = "";
	HTMLstr = "<table width=\"500\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\"\n>";
	for(i=0; i < driverFields.length; i++) {
		HTMLstr += "<tr><td class=\"labelColor\" colspan=\"2\">Additional Driver " + (i+1) + " Details</td></tr>\n";
        HTMLstr += "<tr><td id=\""+driverFields[i].addErrorids[0]+"\" width=\"50%\" align=\"right\" class=\"labelColor\">Driver " + (i+1) + " Name:&nbsp;</td><td class=\"fieldColor\">&nbsp;<input type=\"text\" id=\"ADDITIONAL-DRIVER-" + (i+1) + "-NAME\" name=\"ADDITIONAL-DRIVER-" + (i+1) + "-NAME\" size=\"30\" value=\"" + driverFields[i].addName +"\"></td><td id=\""+driverFields[i].addErrorids[1]+"\"></td></tr>\n";
        HTMLstr += "<tr><td align=\"right\" class=\"fieldColor\">Driver " + (i+1) + " Sex:&nbsp;</td><td class=\"fieldColor\">&nbsp;<input type=\"radio\" id=\"" + driverFields[i].addSexids[0] + "\" name=\"ADDITIONAL-DRIVER-" + (i+1) + "-SEX\" value=\"Male\"" + determineSexString("Male", i) + ">Male<br> &nbsp;<input type=\"radio\" id=\"" + driverFields[i].addSexids[1] + "\" name=\"ADDITIONAL-DRIVER-" + (i+1) + "-SEX\" value=\"Female\"" + determineSexString("Female", i) + ">Female </td></tr>\n";
		elementErrorArray.push("ADDITIONAL-DRIVER-"+(i+1)+"-NAME: Please enter a name for Additional Driver.");
		HTMLstr += "<tr><td id=\""+driverFields[i].addErrorids[2]+"\" align=\"right\" class=\"labelColor\">Driver " + (i+1) + " Licence Number:&nbsp;</td><td class=\"fieldColor\">&nbsp;<input type=\"text\" onBlur=\"validateLicence('ADDITIONAL-DRIVER-"+ (i+1) + "-LICENCE#');\" id=\"ADDITIONAL-DRIVER-" + (i+1) + "-LICENCE#\" name=\"ADDITIONAL-DRIVER-" + (i+1) + "-LICENCE#\" size=\"20\" maxlength=\"20\" value=\"" + driverFields[i].addLic +"\"></td><td id=\""+driverFields[i].addErrorids[3]+"\"></td></tr>\n";
        elementErrorArray.push("ADDITIONAL-DRIVER-"+(i+1)+"-LICENCE#: Please the licence number of the Additional Driver.");
		HTMLstr += "<tr><td id=\""+driverFields[i].addErrorids[4]+"\" align=\"right\" class=\"labelColor\">Driver " + (i+1) + " DOB:&nbsp;</td><td class=\"fieldColor\">&nbsp;<input type=\"text\" onBlur=\"validateDate('ADDITIONAL-DRIVER-"+ (i+1) + "-DOB');\" id=\"ADDITIONAL-DRIVER-" + (i+1) + "-DOB\" name=\"ADDITIONAL-DRIVER-" + (i+1) + "-DOB\" size=\"15\"value=\"" + driverFields[i].addDOB +"\"></td><td id=\""+driverFields[i].addErrorids[5]+"\"></td></tr>\n";
		elementErrorArray.push("ADDITIONAL-DRIVER-"+(i+1)+"-DOB: Please enter a DOB for Additional Driver.");
		HTMLstr += "<tr><td height=\"5\"></td></tr>\n";
	}
	HTMLstr += "</table>";
	return HTMLstr;
}

function determineSexString(sex, inc) {
	if(driverFields[inc].addSex == sex) {
		return "checked";
	}
	else {
		return "";
	}
}

function determineSex(buttonGroup) {
	var j;
	for(j=0; j < buttonGroup.length; j++) {
		if(buttonGroup[j].checked) {
			return buttonGroup[j].value;
		}
	}
	return -1;	
}

function addAdditionalDriver() {
	var allString = "document.getElementById(\"";
	var allStringRad = "document.getElementsByName(\"";
	var endString = "\")";
	var errorPrev;
	var ids = generateRadioIds();
	if(driverFields.length < 1) {
		errorPrev = "dob1";
	}
	else {
		errorPrev = "ADDITIONAL-DRIVER-"+driverFields.length+"-DOB";	
	}
	var errorids = generateDriverErrorIds(errorPrev);
	driverFields.push(new Driver("", "Male", ids, errorids, "", ""));
	var i;
	var fieldLocation = eval(allString + "additionalDrivers" + endString);
	
	if(driverFields.length > 1) {	
		for(i=0;i < driverFields.length - 1; i++) {
			var name = eval(allString + "ADDITIONAL-DRIVER-" + (i+1) + "-NAME" + endString).value;
			var sex = determineSex(eval(allStringRad + "ADDITIONAL-DRIVER-" + (i+1) + "-SEX" + endString));
			var lic = eval(allString + "ADDITIONAL-DRIVER-" + (i+1) + "-LICENCE#" + endString).value;
			var dob = eval(allString + "ADDITIONAL-DRIVER-" + (i+1) + "-DOB" + endString).value;
			var driverObj = new Driver(name, sex, driverFields[i].addSexids, driverFields[i].addErrorids, lic, dob);
			driverFields[i] = driverObj;
		}
	}
	fieldLocation.innerHTML = getFieldHTML();	
}




