function initiateSameAs(arr) {
	for (x = 0; x < arr.length; x++) {
		if (objectExists(document.getElementById(arr[x][0])) === true) {
			document.getElementById(arr[x][0]).onclick = sameAsClicked;
		}
	}
}

function sameAsClicked() {
	var found = false;
	var from = new Array();
	var to = new Array();
	for (x = 0; x < sameas.length; x++) {
		if (sameas[x][0] == this.id && found == false) {
			found = true;
			from = sameas[x][1];
			to = sameas[x][2];
			for (y = 0; y < from.length; y++) {
				if (objectExists(document.getElementById(from[y])) === true) {
					if (document.getElementById(from[y]).type == "select-one") {
						if (this.checked === true) {
							document.getElementById(from[y]).onchange = sameAsChange(this.id);
							document.getElementById(to[y]).disabled = false;
						} else {
							document.getElementById(from[y]).onchange = "";
							document.getElementById(to[y]).disabled = false;
						}

					} else {
						if (this.checked === true) {
							document.getElementById(from[y]).onblur = sameAsChange(this.id);
							document.getElementById(to[y]).disabled = false;
						} else {
							document.getElementById(from[y]).onblur = "";
							document.getElementById(to[y]).disabled = false;
						}
					}
				}
			}
			sameAsChange(this.id);
		} else {
			found = false;
		}
	}
}

function sameAsChange(objid) {
	var found = false;
	var from = new Array();
	var to = new Array();
	for (x = 0; x < sameas.length; x++) {
		if (sameas[x][0] == objid && found == false) {
			found = true;
		from = sameas[x][1];
		to = sameas[x][2];
		for (z = 0; z < from.length; z++) {
			if (objectExists(document.getElementById(from[z])) === true) {
				if (document.getElementById(from[z]).type == "select-one") {
					document.getElementById(to[z]).selectedIndex = document
							.getElementById(from[z]).selectedIndex;
				} else {
					document.getElementById(to[z]).value = document
							.getElementById(from[z]).value;
				}
			}
		}
		} else {
			found = false;
		}
	}
}

function objectExists(x) {
	var retval = true;
	if (x != '' && x != undefined && x != false) {
		retval = true;
	} else {
		retval = false;
	}
	return retval;
}

function initiateSalesperson() {
	document.getElementById('form_7_post').onsubmit = submitSalespersonRenewal;

	// lock license number
	var licensenumber = document.getElementById('license_number_input');
	licensenumber.disabled = true;

	// set and lock status
	var license_status = document.getElementById('license_status_input');
	license_status.onchange = salespersonStatus;
	license_status.disabled = true;
	salespersonStatus();

	// lock q1
	document.getElementById('first_name_input').disabled = true;
	document.getElementById('middle_name_input').disabled = true;
	document.getElementById('last_name_input').disabled = true;

	// lock q4
	document.getElementById('firmbroker_input').disabled = true;

	// lock q5
	var baddress = document.getElementById('business_address_input');
	baddress.disabled = true;
	disableWithin(baddress.parentNode.parentNode, true);

	// education
	document.getElementById('education__fov_yes1_input').onclick = salespersonEducation;
	document.getElementById('education__fov_no2_input').onclick = salespersonEducation;
	salespersonEducation();

	// legal terms
	document.getElementById('legal_terms__fov_yes1_input').onclick = salespersonLegalDetails;
	document.getElementById('legal_terms__fov_no2_input').onclick = salespersonLegalDetails;
	salespersonLegalDetails();
}

function salespersonStatus() {
	var status = document.getElementById('license_status_input');
	var firmbroker = document.getElementById('firmbroker_input');
	var baddress = document.getElementById('business_address_input');
	var bsameas = document.getElementById('same_as_2');
	var bmaddress = document.getElementById('mailing_address2_input');
	var bphone = document.getElementById('business_phone_input');

	if (status.options[status.selectedIndex].value == "Active") {
		disableWithin(firmbroker.parentNode, false);
		disableWithin(baddress.parentNode.parentNode, false);
		disableWithin(bsameas.parentNode, false);
		disableWithin(bmaddress.parentNode.parentNode, false);
		disableWithin(bphone.parentNode.parentNode, false);

	} else {
		disableWithin(firmbroker.parentNode, true);
		disableWithin(baddress.parentNode.parentNode, true);
		disableWithin(bsameas.parentNode, true);
		disableWithin(bmaddress.parentNode.parentNode, true);
		disableWithin(bphone.parentNode.parentNode, true);

		bsameas.checked = false;
	}
}

function salespersonLegalDetails() {
	var syes = document.getElementById('legal_terms__fov_yes1_input');
	var sno = document.getElementById('legal_terms__fov_no1_input');
	var sdetails = document.getElementById('details_input');
	if (syes.checked === true) {
		sdetails.disabled = false;
	} else {
		sdetails.disabled = true;
	}
}

function salespersonEducation() {
	var initialstatus = document.getElementById('initialstatus');
	var syes = document.getElementById('education__fov_yes1_input');
	var sno = document.getElementById('education__fov_no2_input');
	var sstatus = document.getElementById('license_status_input');
	var disclaimer = document.getElementById('licensechange');
	if (sno.checked === true) {
		taoCMSSetSelectOption('Inactive/Escrow', sstatus, 'value');
		disclaimer.style.display = "";
		disclaimer.style.color = "#ff0000";
	} else {
		disclaimer.style.display = "none";
		if (initialstatus.value = 'Active') {
			taoCMSSetSelectOption('Active', sstatus, 'value');
		}
	}
}

function submitSalespersonRenewal() {
	var anyerror = 0;
	var fields = new Array();
	var retval = true;

	fields[fields.length] = new Array('license_number', 'input', 'numeric');
	fields[fields.length] = new Array('license_status', 'input', 'text');
	fields[fields.length] = new Array('first_name', 'input', 'text');
	fields[fields.length] = new Array('last_name', 'input', 'text');
	fields[fields.length] = new Array('address', 'input', 'text');
	fields[fields.length] = new Array('city', 'input', 'text');
	fields[fields.length] = new Array('state', 'input', 'text');
	fields[fields.length] = new Array('zip', 'input', 'text');
	fields[fields.length] = new Array('mailing_address', 'input', 'text');
	fields[fields.length] = new Array('city2', 'input', 'text');
	fields[fields.length] = new Array('state2', 'input', 'text');
	fields[fields.length] = new Array('zip_code2', 'input', 'text');
	fields[fields.length] = new Array('phone', 'input', 'phone');
	fields[fields.length] = new Array('email', 'input', 'email');

	if (document.getElementById('license_status_input').options[document
			.getElementById('license_status_input').selectedIndex].value == 'Active') {
		fields[fields.length] = new Array('firmbroker', 'input', 'text');
		fields[fields.length] = new Array('business_address', 'input', 'text');
		fields[fields.length] = new Array('business_city', 'input', 'text');
		fields[fields.length] = new Array('business_state', 'input',
				'select-one');
		fields[fields.length] = new Array('business_zip_code', 'input', 'text');

		fields[fields.length] = new Array('mailing_address2', 'input', 'text');
		fields[fields.length] = new Array('city4', 'input', 'text');
		fields[fields.length] = new Array('state4', 'input', 'select-one');
		fields[fields.length] = new Array('zip_code4', 'input', 'text');

		fields[fields.length] = new Array('business_phone', 'input', 'text');
		fields[fields.length] = new Array('business_fax', 'input', 'text');
	}

	fields[fields.length] = new Array('legal_terms__fov_yes1', 'input', 'radio');
	if (document.getElementById('legal_terms__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('details', 'input', 'textarea');
	}

	fields[fields.length] = new Array('education__fov_yes1', 'input', 'radio');
	fields[fields.length] = new Array(
			'certification_fov_Iagreetoalltermsandconditions141', 'input',
			'multicheckbox');

	fields.reverse();

	anyerror += validateFields(fields);

	if (anyerror <= 0) {
		retval = true;
		for (x = 0; x < sameas.length; x++) {
			for (y = 0; y < sameas[x][2].length; y++) {
				document.getElementById(sameas[x][2][y]).disabled = false;
			}
		}

		// enable license number and status fields
		document.getElementById('license_number_input').disabled = false;
		document.getElementById('license_status_input').disabled = false;

		// unlock q1
		document.getElementById('first_name_input').disabled = false;
		document.getElementById('middle_name_input').disabled = false;
		document.getElementById('last_name_input').disabled = false;

		// unlock q4
		document.getElementById('firmbroker_input').disabled = false;

		// unlock q5
		var baddress = document.getElementById('business_address_input');
		baddress.disabled = false;
		disableWithin(baddress.parentNode.parentNode, false);

		var additionalfees = 0;
		document.getElementById('additional_fees_input').value = 0;
		var latefee = getLateFee();

		additionalfees = additionalfees + latefee;
		document.getElementById('additional_fees_input').value = additionalfees;

		var zips = new Array();
		zips[zips.length] = 'zip';
		zips[zips.length] = 'zip_code2';
		zips[zips.length] = 'zip_code3';
		zips[zips.length] = 'zip_code4';
		emptyZips(zips);
	} else {
		retval = false;
		window.scrollTo(0, 0);
		document.getElementById('form_7_msg').innerHTML = 'Required fields missing.';
	}
	return retval;
}

function initiateFirm() {
	document.getElementById('form_4_post').onsubmit = submitFirmRenewal;

	// lock license number
	var licensenumber = document.getElementById('additional_license_number_input');
	licensenumber.disabled = true;
	// lock q1
	document.getElementById('first_name_input').disabled = true;
	document.getElementById('last_name_input').disabled = true;

	// lock q4
	document.getElementById('additional_firm_name_input').disabled = true;

	// lock q5
	var baddress = document.getElementById('additional_address_input');
	baddress.disabled = true;
	disableWithin(baddress.parentNode.parentNode, true);

	// branch office radios
	document.getElementById('do_you_operate_a_branch_office__fov_yes1_input').onclick = firmBranchOffices;
	document.getElementById('do_you_operate_a_branch_office__fov_no2_input').onclick = firmBranchOffices;
	firmBranchOffices();

	// legal issues
	document.getElementById('legal_terms__fov_yes1_input').onclick = firmLegalIssues;
	document.getElementById('legal_terms__fov_no2_input').onclick = firmLegalIssues;
	firmLegalIssues();
}

/*
 * Initialize E&O Certificate Form Form ID - form_10_post
 */
function initiateEO() {
	document.getElementById('form_10_post').onsubmit = submitEO;
	document.getElementById('first_name_input').disabled = true;
	document.getElementById('last_name_input').disabled = true;
	document.getElementById('firmbroker_input').disabled = true;
	document.getElementById('email_input').disabled = true;
	
}

/*
 * Submit EO form
 */
function submitEO() {
	var retval = true;
	var anyerror = 0;
	var fields = new Array();

	fields[fields.length] = new Array('first_name', 'input', 'text');
	fields[fields.length] = new Array('last_name', 'input', 'text');
	fields[fields.length] = new Array('firmbroker', 'input', 'text');

	fields.reverse();
	anyerror += validateFields(fields);

	if (anyerror <= 0) {
		retval = true;
		// unlock fields
		document.getElementById('first_name_input').disabled = false;
		document.getElementById('last_name_input').disabled = false;
		document.getElementById('firmbroker_input').disabled = false;
		document.getElementById('email_input').disabled = false;

	} else {
		retval = false;
		window.scrollTo(0, 0);
		document.getElementById('form_10_msg').innerHTML = 'Required fields missing.';
	}
	return retval;
}

function getLateFee() {
	var janone = new Date();
	janone.setDate(1);
	janone.setMonth(0);
	janone.setFullYear(2012);
	janone.setHours(0);
	janone.setMinutes(0);
	janone.setSeconds(0);
	janone.setMilliseconds(0);

	var feb1 = new Date();
	feb1.setDate(1);
	feb1.setMonth(1);
	feb1.setFullYear(2012);
	feb1.setHours(0);
	feb1.setMinutes(0);
	feb1.setSeconds(0);
	feb1.setMilliseconds(0);

	var current = new Date();
	var latefee = 0;
	var janonemili = janone.getTime();
	var currentmili = current.getTime();
	var feb1mili = feb1.getTime();
	janonemili = parseInt(janonemili);
	currentmili = parseInt(currentmili);
	feb1mili = parseInt(feb1mili);

	if (currentmili > janonemili) {
		latefee = 50;
		if (currentmili > feb1mili) {
			latefee = 100;
		}
	} else {
		latefee = 0;
	}
	return latefee;
}

function firmBranchOffices() {
	var fyes = document
			.getElementById('do_you_operate_a_branch_office__fov_yes1_input');
	var fno = document
			.getElementById('do_you_operate_a_branch_office__fov_no2_input');
	// var details = document.getElementById('number_of_branches_input');
	var details2 = document.getElementById('branch_office_address_input');
	// var details3 = document.getElementById('branch_office_licensees_input');
	if (fyes.checked === true) {
		// details.disabled=false;
		details2.disabled = false;
		// details3.disabled=false;

	} else {
		// details.disabled=true;
		details2.disabled = true;
		// details3.disabled=true;
	}
}

function brokerfirmBranchOffices() {
	var fyes = document.getElementById('firm_do_you_operate_a_branch_office__fov_yes1_input');
	var fno = document.getElementById('firm_do_you_operate_a_branch_office__fov_no2_input');
	// var details = document.getElementById('number_of_branches_input');
	var details2 = document.getElementById('firm_branch_office_address_input');
	// var details3 = document.getElementById('branch_office_licensees_input');
	if (fyes.checked === true) {
		// details.disabled=false;
		details2.disabled = false;
		// details3.disabled=false;
	} else {
		// details.disabled=true;
		details2.disabled = true;
		// details3.disabled=true;
	}
}

function firmLegalIssues() {
	var fyes = document.getElementById('legal_terms__fov_yes1_input');
	var fno = document.getElementById('legal_terms__fov_no2_input');
	var details = document.getElementById('details_input');
	if (fyes.checked === true) {
		details.disabled = false;
	} else {
		details.disabled = true;
	}
}

function brokerfirmLegalIssues() {
	var fyes = document.getElementById('firm_legal_terms__fov_yes1_input');
	var fno = document.getElementById('firm_legal_terms__fov_no2_input');
	var details = document.getElementById('firm_details_input');
	if (fyes.checked === true) {
		details.disabled = false;
	} else {
		details.disabled = true;
	}
}

function submitFirmRenewal() {
	var retval = false;
	var anyerror = 0;
	var fields = new Array();

	fields[fields.length] = new Array('first_name', 'input', 'text');
	fields[fields.length] = new Array('last_name', 'input', 'text');

	fields[fields.length] = new Array('additional_firm_name', 'input', 'text');

	fields[fields.length] = new Array('additional_address', 'input', 'text');
	fields[fields.length] = new Array('additional_city', 'input', 'text');
	fields[fields.length] = new Array('additional_state', 'input', 'text');
	fields[fields.length] = new Array('additional_zip_code', 'input', 'text');

	fields[fields.length] = new Array('mailing_address', 'input', 'text');
	fields[fields.length] = new Array('city2', 'input', 'text');
	fields[fields.length] = new Array('state2', 'input', 'text');
	fields[fields.length] = new Array('zip_code2', 'input', 'text');

	fields[fields.length] = new Array('business_phone', 'input', 'phone');
	fields[fields.length] = new Array('business_fax', 'input', 'phone');

	fields[fields.length] = new Array('additional_license_number', 'input', 'numeric');

	fields[fields.length] = new Array('email', 'input', 'email');

	fields[fields.length] = new Array('operates_as', 'input', 'select-one');
	fields[fields.length] = new Array('designated_broker', 'input', 'text');

	fields[fields.length] = new Array(
			'do_you_operate_a_branch_office__fov_yes1_input', 'input', 'radio');
	if (document
			.getElementById('do_you_operate_a_branch_office__fov_yes1_input').checked === true) {
		// fields[fields.length]=new
		// Array('number_of_branchs','input','numeric');
		fields[fields.length] = new Array('branch_office_address', 'input',
				'text');
		// fields[fields.length]=new
		// Array('branch_office_licensees','input','text');

	}
	fields[fields.length] = new Array('legal_terms__fov_yes1', 'input', 'radio');
	if (document.getElementById('legal_terms__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('details', 'input', 'textarea');
	}

	fields[fields.length] = new Array(
			'agree_to_terms_fov_Icertifyallinformationiscorrectforthebusinessorindividual153',
			'input', 'multicheckbox');

	fields.reverse();
	anyerror += validateFields(fields);

	if (anyerror <= 0) {
		retval = true;
		
		var elem = document.getElementById('form_4_post').elements;
		for(i=0; i<elem.length; i++)
		{
			elem[i].disabled = false;
		}
		
		/*
		for (x = 0; x < sameas.length; x++) {
			for (y = 0; y < sameas[x][2].length; y++) {
				document.getElementById(sameas[x][2][y]).disabled = false;
			}
		}

		// unlock q4
		document.getElementById('additional_license_number_input').disabled = false;

		// unlock name
		document.getElementById('first_name_input').disabled = false;
		document.getElementById('last_name_input').disabled = false;

		// unlock q1
		document.getElementById('additional_firm_name_input').disabled = false;

		// unlock q2
		var baddress = document.getElementById('business_address_input');
		baddress.disabled = false;
		disableWithin(baddress.parentNode.parentNode, false);
*/
		var additionalfees = 0;
		document.getElementById('additional_fees_input').value = 0;
		// var numbranches=document.getElementById('number_of_branches_input');
		// additionalfees=intval(numbranches.value)*10;
		var latefee = getLateFee();
		additionalfees = additionalfees + latefee;
		document.getElementById('additional_fees_input').value = additionalfees;

		var zips = new Array();
		zips[zips.length] = 'zip';
		zips[zips.length] = 'zip_code2';
		emptyZips(zips);

	} else {
		window.scrollTo(0, 0);
		document.getElementById('form_4_msg').innerHTML = 'Required fields missing.';
	}
	return retval;
}
function brokerLicenseStatus() {
	var licensestatus = document.getElementById('license_status_input');
	var firmbroker = document.getElementById('firmbroker_input');
	var operatesas = document.getElementById('firm_operates_as_a_input');
	var businessaddress = document.getElementById('business_address_input');
	var businessphone = document.getElementById('business_phone_input');
	var sameas = document.getElementById('same_as_2');
	var mailingaddress = document.getElementById('mailing_address2_input');
	var website = document.getElementById('website_input');
	var desbroker = document.getElementById('designated_broker_input');
	var operatebranches = document
			.getElementById('do_you_operate_a_branch_office__fov_yes1_input');
	var numofbranches = document
			.getElementById('number_of_branch_offices_input');
	var branchaddresses = document.getElementById('branch_address_input');
	var trustaccount = document
			.getElementById('trust_account_location__fov_yes1_input');
	var multiplendlicenses = document
			.getElementById('multiple_nd_broker_licenses__fov_yes1_input');
	var licenses = document.getElementById('number_of_broker_licenses_input');
	var additionalfirms = document.getElementById('additional_firm_input');

	if (licensestatus.options[licensestatus.selectedIndex].value == "Active") {
		firmbroker.disabled = false;
		operatesas.disabled = false;
		disableWithin(businessaddress.parentNode.parentNode, false);
		disableWithin(businessphone.parentNode.parentNode, false);
		sameas.disabled = false;
		disableWithin(mailingaddress.parentNode.parentNode, false);
		website.disabled = false;
		desbroker.disabled = false;
		disableWithin(operatebranches.parentNode.parentNode, false);
		disableWithin(trustaccount.parentNode.parentNode, false);
		disableWithin(multiplendlicenses.parentNode.parentNode, false);
	} else {
		firmbroker.disabled = true;
		operatesas.disabled = true;
		disableWithin(businessaddress.parentNode.parentNode, true);
		disableWithin(businessphone.parentNode.parentNode, true);
		sameas.disabled = true;
		disableWithin(mailingaddress.parentNode.parentNode, true);
		website.disabled = true;
		desbroker.disabled = true;
		disableWithin(operatebranches.parentNode.parentNode, true);
		numofbranches.disabled = true;
		branchaddresses.disabled = true;
		disableWithin(trustaccount.parentNode.parentNode, false);
		disableWithin(multiplendlicenses.parentNode.parentNode, false);

		document.getElementById('zip_code4_input').value = '';

		sameas.checked = false;
	}
}

/*
 * Initiate Broker w/Firm renewal
 * Webform ID: form_9_post
 */
function initiateBrokerFirm() {
	document.getElementById('form_9_post').onsubmit = submitBrokerFirmRenewal;

	// lock license number
	var licensenumber = document.getElementById('license_number_input');
	licensenumber.disabled = true;

	// set and lock status
	var license_status = document.getElementById('license_status_input');
	license_status.onchange = brokerLicenseStatus;
	license_status.disabled = true;
	brokerLicenseStatus();

	// lock q1
	document.getElementById('first_name_input').disabled = true;
	document.getElementById('middle_name_input').disabled = true;
	document.getElementById('last_name_input').disabled = true;

	// lock q4
	document.getElementById('firmbroker_input').disabled = true;

	// lock q6
	var baddress = document.getElementById('business_address_input');
	baddress.disabled = true;
	disableWithin(baddress.parentNode.parentNode, true);



	// branch office radios
	document.getElementById('do_you_operate_a_branch_office__fov_yes1_input').onclick = branchOffices;
	document.getElementById('do_you_operate_a_branch_office__fov_no2_input').onclick = branchOffices;
	branchOffices();

	// multiple broker licenses
	document.getElementById('multiple_nd_broker_licenses__fov_yes1_input').onclick = multipleBrokerLicenses;
	document.getElementById('multiple_nd_broker_licenses__fov_no2_input').onclick = multipleBrokerLicenses;
	multipleBrokerLicenses();

	// legal issues
	document.getElementById('legal_terms__fov_yes1_input').onclick = legalIssues;
	document.getElementById('legal_terms__fov_no2_input').onclick = legalIssues;
	legalIssues();

	// legal issues
	document.getElementById('education__fov_yes1_input').onclick = brokerEducation;
	document.getElementById('education__fov_no2_input').onclick = brokerEducation;
	brokerEducation();

	// business type
	document.getElementById('firm_operates_as_a_input').onchange=brokerBusinessType;
	brokerBusinessType();

	// Firm Portion
	// lock license number
	var firm_licensenumber = document.getElementById('firm_id_input');
	//firm_licensenumber.value = licensenumber.value;
	firm_licensenumber.disabled = true;
	// lock q1
	var firm_first_name = document.getElementById('firm_first_name_input');
	firm_first_name.value = document.getElementById('first_name_input').value;
	firm_first_name.disabled = true;
	var firm_last_name = document.getElementById('firm_last_name_input');
	firm_last_name.value = document.getElementById('last_name_input').value;
	firm_last_name.disabled = true;

	// lock q4
	var firm_firmbroker = document.getElementById('firm_firmbroker_input');
	firm_firmbroker.value = document.getElementById('firmbroker_input').value;
	firm_firmbroker.disabled = true;
	
	// lock q5
	var baddress = document.getElementById('firm_business_address_input');
	baddress.disabled = true;
	document.getElementById('firm_business_address_input').value = document.getElementById('business_address_input').value;
	document.getElementById('firm_business_city_input').value = document.getElementById('business_city_input').value;
	document.getElementById('firm_business_state_input').value = document.getElementById('business_state_input').value;
	document.getElementById('firm_business_zip_code_input').value = document.getElementById('business_zip_code_input').value;
	document.getElementById('firm_business_phone_input').value = document.getElementById('business_phone_input').value;
	document.getElementById('firm_business_fax_input').value = document.getElementById('business_fax_input').value;
	disableWithin(baddress.parentNode.parentNode, true);
	
	document.getElementById('firm_website_input').value = document.getElementById('website_input').value;
	document.getElementById('firm_email_input').value = document.getElementById('email_input').value;

	// branch office radios
	document.getElementById('firm_do_you_operate_a_branch_office__fov_yes1_input').onclick = brokerfirmBranchOffices;
	document.getElementById('firm_do_you_operate_a_branch_office__fov_no2_input').onclick = brokerfirmBranchOffices;
	brokerfirmBranchOffices();

	// legal issues
	document.getElementById('firm_legal_terms__fov_yes1_input').onclick = brokerfirmLegalIssues;
	document.getElementById('firm_legal_terms__fov_no2_input').onclick = brokerfirmLegalIssues;
	brokerfirmLegalIssues();
}

/*
 * Submit Broker w/ Firm Renewal
 */
function submitBrokerFirmRenewal() {
	var anyerror = 0;
	var retval = false;
	var fields = new Array();


	// Broker fields
	fields[fields.length] = new Array('license_number', 'input', 'numeric');
	fields[fields.length] = new Array('license_status', 'input', 'text');
	fields[fields.length] = new Array('first_name', 'input', 'text');
	fields[fields.length] = new Array('last_name', 'input', 'text');
	fields[fields.length] = new Array('address', 'input', 'text');
	fields[fields.length] = new Array('city', 'input', 'text');
	fields[fields.length] = new Array('state', 'input', 'text');
	fields[fields.length] = new Array('zip', 'input', 'text');
	fields[fields.length] = new Array('phone', 'input', 'phone');
	fields[fields.length] = new Array('email', 'input', 'email');
	
	// Firm fields
	fields[fields.length] = new Array('firm_first_name', 'input', 'text');
	fields[fields.length] = new Array('firm_last_name', 'input', 'text');
//	fields[fields.length] = new Array('firm_firmbroker', 'input', 'text');
	fields[fields.length] = new Array('firm_business_address', 'input', 'text');
	fields[fields.length] = new Array('firm_business_city', 'input', 'text');
	fields[fields.length] = new Array('firm_business_state', 'input', 'text');
	fields[fields.length] = new Array('firm_business_zip_code', 'input', 'text');
	fields[fields.length] = new Array('firm_mailing_address', 'input', 'text');
	fields[fields.length] = new Array('firm_city2', 'input', 'text');
	fields[fields.length] = new Array('firm_state2', 'input', 'text');
	fields[fields.length] = new Array('firm_zip_code2', 'input', 'text');
	fields[fields.length] = new Array('firm_business_phone', 'input', 'phone');
	fields[fields.length] = new Array('firm_business_fax', 'input', 'phone');
	fields[fields.length] = new Array('firm_id', 'input', 'numeric');
	fields[fields.length] = new Array('firm_email', 'input', 'email');
	fields[fields.length] = new Array('firm_operates_as', 'input', 'select-one');
	fields[fields.length] = new Array('firm_designated_broker', 'input', 'text');

	
	if (document.getElementById('license_status_input').options[document.getElementById('license_status_input').selectedIndex].value === 'Active') {
		fields[fields.length] = new Array('firmbroker', 'input', 'text');		
		fields[fields.length] = new Array('firm_operates_as_a', 'input','select-one');
		fields[fields.length] = new Array('designated_broker', 'input', 'text');
		fields[fields.length] = new Array('do_you_operate_a_branch_office__fov_yes1', 'input', 'radio');
		if (document.getElementById('do_you_operate_a_branch_office__fov_yes1_input').checked === true) {
			fields[fields.length] = new Array('branch_address', 'input', 'text');
			fields[fields.length] = new Array('number_of_branch_offices','input', 'numeric');
		}

	}
	fields[fields.length] = new Array('trust_account_location__fov_yes1','input', 'radio');
	fields[fields.length] = new Array('multiple_nd_broker_licenses__fov_yes1', 'input', 'radio');
	if (document.getElementById('multiple_nd_broker_licenses__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('number_of_broker_licenses','input', 'numeric');
		fields[fields.length] = new Array('additional_firm', 'input', 'text');
	}
	fields[fields.length] = new Array('legal_terms__fov_yes1', 'input', 'radio');
	if (document.getElementById('legal_terms__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('details', 'input', 'textarea');
	}
	fields[fields.length] = new Array('education__fov_yes1', 'input', 'radio');
	fields[fields.length] = new Array('certification_fov_Iagreetoalltermsandconditions150', 'input', 'multicheckbox');

// Firm fields

	fields[fields.length] = new Array('firm_do_you_operate_a_branch_office__fov_yes1', 'input', 'radio');
	if (document.getElementById('firm_do_you_operate_a_branch_office__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('firm_branch_office_address', 'input', 'text');
	}

	fields[fields.length] = new Array('firm_legal_terms__fov_yes1', 'input', 'radio');
	if (document.getElementById('firm_legal_terms__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('firm_details', 'input', 'textarea');
	}

	fields[fields.length] = new Array(
			'firm_agree_to_terms_i_certify_that_i_have_read_this_application_and_that_the_above_i_input',
			'input', 'multicheckbox');



	fields.reverse();
	anyerror += validateFields(fields);

	if (anyerror <= 0) {
		retval = true;
	
		var elem = document.getElementById('form_9_post').elements;
		for(i=0; i<elem.length; i++)
		{
			elem[i].disabled = false;
		}
		
		/*
		for (x = 0; x < sameas.length; x++) {
			for (y = 0; y < sameas[x][2].length; y++) {
				document.getElementById(sameas[x][2][y]).disabled = false;
			}
		}

		// enable license number and status fields
		document.getElementById('license_number_input').disabled = false;
		document.getElementById('license_status_input').disabled = false;

		// unlock q1
		document.getElementById('first_name_input').disabled = false;
		document.getElementById('middle_name_input').disabled = false;
		document.getElementById('last_name_input').disabled = false;

		// unlock q4
		document.getElementById('firmbroker_input').disabled = false;

		// unlock q5
		var baddress = document.getElementById('business_address_input');
		baddress.disabled = false;
		disableWithin(baddress.parentNode.parentNode, false);
		*/

		var additionalfees = 0;
		document.getElementById('additional_fees_input').value = 0;

		var numbranches = document.getElementById('number_of_branch_offices_input');
		var brokerlicenses = document.getElementById('number_of_broker_licenses_input');

		additionalfees = intval(numbranches.value) * 10	+ intval(brokerlicenses.value) * 10;

		var latefee = getLateFee();

		additionalfees = additionalfees + latefee + latefee;  // late fee is added two times since this form is combined
		document.getElementById('additional_fees_input').value = additionalfees;

		var zips = new Array();
		zips[zips.length] = 'zip';
		emptyZips(zips);
	} else {
		window.scrollTo(0, 0);
		document.getElementById('form_9_msg').innerHTML = 'Required fields missing.';
	}
	return retval;
}

function initiateBroker() {
	document.getElementById('form_5_post').onsubmit = submitBrokerRenewal;

	// lock license number
	var licensenumber = document.getElementById('license_number_input');
	licensenumber.disabled = true;

	// set and lock status
	var license_status = document.getElementById('license_status_input');
	license_status.onchange = brokerLicenseStatus;
	license_status.disabled = true;
	brokerLicenseStatus();

	// lock q1
	document.getElementById('first_name_input').disabled = true;
	document.getElementById('middle_name_input').disabled = true;
	document.getElementById('last_name_input').disabled = true;

	// lock q4
	document.getElementById('firmbroker_input').disabled = true;

	// lock q6
	var baddress = document.getElementById('business_address_input');
	baddress.disabled = true;
	disableWithin(baddress.parentNode.parentNode, true);

	// branch office radios
	document.getElementById('do_you_operate_a_branch_office__fov_yes1_input').onclick = branchOffices;
	document.getElementById('do_you_operate_a_branch_office__fov_no2_input').onclick = branchOffices;
	branchOffices();

	// multiple broker licenses
	document.getElementById('multiple_nd_broker_licenses__fov_yes1_input').onclick = multipleBrokerLicenses;
	document.getElementById('multiple_nd_broker_licenses__fov_no2_input').onclick = multipleBrokerLicenses;
	multipleBrokerLicenses();

	// legal issues
	document.getElementById('legal_terms__fov_yes1_input').onclick = legalIssues;
	document.getElementById('legal_terms__fov_no2_input').onclick = legalIssues;
	legalIssues();

	// legal issues
	document.getElementById('education__fov_yes1_input').onclick = brokerEducation;
	document.getElementById('education__fov_no2_input').onclick = brokerEducation;
	brokerEducation();

	// business type
	// document.getElementById('firm_operates_as_a_input').onchange=brokerBusinessType;
	// brokerBusinessType();

}

function submitBrokerRenewal() {
	var anyerror = 0;
	var fields = new Array();

	fields[fields.length] = new Array('license_number', 'input', 'numeric');
	fields[fields.length] = new Array('license_status', 'input', 'text');
	fields[fields.length] = new Array('first_name', 'input', 'text');
	fields[fields.length] = new Array('last_name', 'input', 'text');
	fields[fields.length] = new Array('address', 'input', 'text');
	fields[fields.length] = new Array('city', 'input', 'text');
	fields[fields.length] = new Array('state', 'input', 'text');
	fields[fields.length] = new Array('zip', 'input', 'text');
	fields[fields.length] = new Array('phone', 'input', 'phone');
	fields[fields.length] = new Array('email', 'input', 'email');
	if (document.getElementById('license_status_input').options[document.getElementById('license_status_input').selectedIndex].value === 'Active') {
		fields[fields.length] = new Array('firmbroker_name', 'input', 'text');
		fields[fields.length] = new Array('firm_operates_as_a', 'input', 'select-one');
		fields[fields.length] = new Array('designated_broker', 'input', 'text');
		
		fields[fields.length] = new Array('do_you_operate_a_branch_office__fov_yes1', 'input', 'radio');
		if (document.getElementById('do_you_operate_a_branch_office__fov_yes1_input').checked === true) {
			fields[fields.length] = new Array('branch_address', 'input', 'text');
			fields[fields.length] = new Array('number_of_branch_offices','input', 'numeric');
		}
	}
	fields[fields.length] = new Array('trust_account_location__fov_yes1', 'input', 'radio');
	
	
	fields[fields.length] = new Array('multiple_nd_broker_licenses__fov_yes1', 'input', 'radio');
	if (document.getElementById('multiple_nd_broker_licenses__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('number_of_broker_licenses', 'input', 'numeric');
		fields[fields.length] = new Array('additional_firm', 'input', 'text');
	}
	
	fields[fields.length] = new Array('legal_terms__fov_yes1', 'input', 'radio');
	if (document.getElementById('legal_terms__fov_yes1_input').checked === true) {
		fields[fields.length] = new Array('details', 'input', 'textarea');
	}
	fields[fields.length] = new Array('education__fov_yes1', 'input', 'radio');
	fields[fields.length] = new Array('certification_fov_Iagreetoalltermsandconditions150', 'input', 'multicheckbox');

	fields.reverse();
	anyerror += validateFields(fields);

	var retval = true;
	if (anyerror <= 0) {
		retval = true;
		for (x = 0; x < sameas.length; x++) {
			for (y = 0; y < sameas[x][2].length; y++) {
				document.getElementById(sameas[x][2][y]).disabled = false;
			}
		}

		// enable license number and status fields
		document.getElementById('license_number_input').disabled = false;
		document.getElementById('license_status_input').disabled = false;

		// unlock q1
		document.getElementById('first_name_input').disabled = false;
		document.getElementById('middle_name_input').disabled = false;
		document.getElementById('last_name_input').disabled = false;

		// unlock q4
		document.getElementById('firmbroker_input').disabled = false;

		// unlock q5
		var baddress = document.getElementById('business_address_input');
		baddress.disabled = false;
		disableWithin(baddress.parentNode.parentNode, false);

		var additionalfees = 0;
		document.getElementById('additional_fees_input').value = 0;

		var numbranches = document.getElementById('number_of_branch_offices_input');
		var brokerlicenses = document.getElementById('number_of_broker_licenses_input');

		additionalfees = intval(numbranches.value) * 10	+ intval(brokerlicenses.value) * 10;

		var latefee = getLateFee();

		additionalfees = additionalfees + latefee;
		document.getElementById('additional_fees_input').value = additionalfees;

		var zips = new Array();
		zips[zips.length] = 'zip';
		emptyZips(zips);
	} else {
		retval = false;
		window.scrollTo(0, 0);
		document.getElementById('form_5_msg').innerHTML = 'Required fields missing.';
	}
	return retval;
}

function trim(strText) { 
    while (strText.substring(0,1) == ' ') 
        strText = strText.substring(1, strText.length);
    while (strText.substring(strText.length-1,strText.length) == ' ')
        strText = strText.substring(0, strText.length-1);
   return strText;
}

function validateFields(fields) {
	var type = '';
	var value = '';
	var selectedIndex = 0;
	var baseid = '';
	var valid = '';
	var fieldobj = '';
	var fieldlabel = '';
	var anyerror = 0;
	var testval = '';
	var htmlname = '';

	for (x = 0; x < fields.length; x++) {
		baseid = fields[x][0];
		fieldobj = document.getElementById(baseid + '_input');
		if (objectExists(fieldobj) === true) {

			valid = fields[x][2];
			type = fieldobj.type;
			value = fieldobj.value;

			if (type == 'radio' && valid == 'radio') {
				fieldlabel = document.getElementById(fieldobj.name);
			} else if (type == 'checkbox' && valid == 'multicheckbox') {
				fieldlabel = document.getElementById(fieldobj.name.replace('[]', ''));
			} else {
				fieldlabel = document.getElementById(baseid);
			}

			// if(objectExists(fieldlabel)===false){
			// fieldlabel=document.getElementById('form_'+fieldobj.form.id.substring(fieldobj.form.id.indexOf('_')+1,fieldobj.form.id.lastIndexOf('_'))+'_msg');
			// }

			if (type == 'select-one') {
				selectedIndex = fieldobj.selectedIndex;
			} else {
				selectedIndex = 0;
			}

			if (type == 'select-one') {
				if (fieldobj.selectedIndex == 0) {
					fieldobj.focus();
					fieldlabel.style.color = "#ff0000";
					anyerror++;
				} else {
					fieldlabel.style.color = "#000000";
				}
			}

			if (type == 'text') {
				if (valid == 'text' || valid == 'numeric') {
					if (trim(value) == "") {
						// fieldobj.focus();
						fieldlabel.style.color = "#ff0000";
						anyerror++;
					} else {
						fieldlabel.style.color = "";
					}
				}
				if (valid == 'email') {
					if (value.search('@') < 0 || value.length <= 5) {
						// fieldobj.focus();
						fieldlabel.style.color = "#ff0000";
						anyerror++;
					} else {
						fieldlabel.style.color = "";
					}
				}

				/*
				 * if(valid=='numeric'){ testval=intval(fieldobj.value);
				 * if(ctype_digit(testval)===false){ fieldobj.focus();
				 * fieldlabel.style.color="#ff0000"; anyerror++; } else{
				 * fieldlabel.style.color=""; } }
				 */

				if (valid == 'zip') {
					testval = trim(value);
					if (testval.length != 5 && testval.length != 9
							&& testval.length != 10) {
						// fieldobj.focus();
						fieldlabel.style.color = "#ff0000";
						anyerror++;
					} else {
						fieldlabel.style.color = "";
					}
				}

				if (valid == 'phone') {
					testval = trim(value);
					if (testval.length != 7 && testval.length != 10
							&& testval.length != 11 && testval.length != 12
							&& testval.length != 13 && testval.length != 14) {
						// fieldobj.focus();
						fieldlabel.style.color = "#ff0000";
						anyerror++;
					} else {
						fieldlabel.style.color = "";
					}
				}
			}

			if (type == 'textarea') {
				if (trim(value) == "") {	
					fieldobj.focus();
					fieldlabel.style.color = "#ff0000";
					anyerror++;
				} else {
					fieldlabel.style.color = "";
				}
			}

			if (type == 'checkbox' && valid != 'multicheckbox') {
				if (fieldobj.checked === false) {
					fieldobj.focus();
					fieldlabel.style.color = "#ff0000";
					anyerror++;
				} else {
					fieldlabel.style.color = "";
				}
			}

			if (type == 'radio' && valid == 'radio') {
				testval = getRadioValue(fieldobj.name);
				if (testval == null) {
					fieldobj.focus();
					fieldlabel.style.color = "#ff0000";
					anyerror++;
				} else {
					fieldlabel.style.color = "";
				}
			}

			if (type == 'checkbox' && valid == 'multicheckbox') {
				testval = getMulticheckboxValue(fieldobj.name);

				if (testval == null) {
					fieldobj.focus();
					fieldlabel.style.color = "#ff0000";
					anyerror++;
				} else {
					fieldlabel.style.color = "#000";
				}
			}
		}
	}

	return anyerror;
}

function getRadioValue(group) {
	var inputs = document.getElementsByTagName('input');
	var retval = null;
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].name == group && inputs[i].checked === true
				&& inputs[i].type == 'radio') {
			retval = inputs[i].value;
		}
	}
	return retval;
}
function getMulticheckboxValue(group) {
	var inputs = document.getElementsByTagName('input');
	var retval = null;
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].name == group && inputs[i].checked === true
				&& inputs[i].type == 'checkbox') {
			retval = inputs[i].value;
		}
	}
	return retval;
}
function branchOffices() {
	var byes = document
			.getElementById('do_you_operate_a_branch_office__fov_yes1_input');
	var bno = document
			.getElementById('do_you_operate_a_branch_office__fov_no2_input');
	var btable = document.getElementById('branches').parentNode.parentNode;
	if (byes.checked === true) {
		disableWithin(btable, false);
		document.getElementById('number_of_branch_offices_input').value = '';
		document.getElementById('number_of_branch_offices_input').focus();
	} else {
		disableWithin(btable, true);
		document.getElementById('number_of_branch_offices_input').value = "0";
	}
}
function multipleBrokerLicenses() {
	var byes = document
			.getElementById('multiple_nd_broker_licenses__fov_yes1_input');
	var bno = document
			.getElementById('multiple_nd_broker_licenses__fov_no2_input');
	var btable = document.getElementById('licenses').parentNode.parentNode;
	if (byes.checked === true) {
		disableWithin(btable, false);
		document.getElementById('number_of_broker_licenses_input').value = '';
		document.getElementById('number_of_broker_licenses_input').focus();
	} else {
		disableWithin(btable, true);
		document.getElementById('number_of_broker_licenses_input').value = "0";
	}
}
function legalIssues() {
	var byes = document.getElementById('legal_terms__fov_yes1_input');
	var bno = document.getElementById('legal_terms__fov_no2_input');
	var btable = document.getElementById('details_input').parentNode.parentNode.parentNode;
	if (byes.checked === true) {
		disableWithin(btable, false);
		document.getElementById('details_input').focus();
	} else {
		disableWithin(btable, true);
	}
}

function brokerEducation() {
	var initialstatus = document.getElementById('initialstatus');
	var byes = document.getElementById('education__fov_yes1_input');
	var bno = document.getElementById('education__fov_no2_input');
	var bstatus = document.getElementById('license_status_input');
	var disclaimer = document.getElementById('licensechange');
	if (bno.checked === true) {
		taoCMSSetSelectOption('Inactive/Escrow', bstatus, 'value');
		disclaimer.style.display = "";
		disclaimer.style.color = "#ff0000";
	} else {
		disclaimer.style.display = "none";
		if (initialstatus.value = 'Active') {
			taoCMSSetSelectOption('Active', bstatus, 'value');
		}
	}
}
function brokerBusinessType() {
	var btype = document.getElementById('firm_operates_as_a_input');
	var baddress = document.getElementById('businessaddress');
	if (btype.options[btype.selectedIndex].value != 'Individual Proprietorship'
			&& btype.options[btype.selectedIndex].text != 'Please Select') {
		disableWithin(baddress, false);
	} else {
		disableWithin(baddress, true);
	}
}
function disableWithin(x, mode) {
	var inputs = x.getElementsByTagName('input');
	var selects = x.getElementsByTagName('select');
	var tareas = x.getElementsByTagName('textarea');
	var tmpoptions = '';
	for (i = 0; i < inputs.length; i++) {
		inputs[i].disabled = mode;
	}
	for (i = 0; i < tareas.length; i++) {
		tareas[i].disabled = mode;
	}
	for (i = 0; i < selects.length; i++) {
		selects[i].disabled = mode;
	}
}
function taoCMSSetSelectOption(x, list, dom) {
	listopts = list.options;
	var found = false;
	for (i = 0; i < listopts.length; i++) {
		if (dom == "value") {
			if (listopts[i].value == x) {
				list.selectedIndex = i;
				found = true;
			}
		} else {
			// dom=="text";
			if (listopts[i].text == x) {
				list.selectedIndex = i;
				found = true;
			}

		}
	}
	if (found === false) {
		list.selectedIndex = 0;
	}
}
function emptyZips(zips) {
	var testzipcode = '';
	for (z = 0; z < zips.length; z++) {
		testzipcode = document.getElementById(zips[z] + '_input');
		if (objectExists(testzipcode) === true) {
			if (testzipcode.value == '' || testzipcode.value == ' '
					|| testzipcode.value == '  ' || testzipcode.value == '   ') {
				testzipcode.value = '';
			}
		}
	}
}
