// JavaScript Document
/*

Validation routines for appraisal_request.php

*/
//setTimeout('doQuickSave()',1200000);
function doQuickSave() {
	if (confirm("Your session is set to expire in 5 minutes.\nWould you like to save your changes and extend your session time?")) {
		document.dataform.submit();
	}
	setTimeout('doQuickSave()',1200000);
}


//
// form validation code
//

// personal information
validations.strFName = new Validator("Your First Name");
validations.strFName.required = true;
validations.strLName = new Validator("Your Last Name");
validations.strLName.required = true;
validations.strTitle = new Validator("Your Title");
validations.strLoanSubmissionType = new Validator("Submission Type");
validations.strLoanSubmissionType.required = true;
validations.strCompanyAddress1 = new Validator("Company Address");
validations.strCompanyAddress1.required = true;
validations.strCompanyAddress2 = new Validator("Company Address line 2");
validations.strCompanyCity = new Validator("Company City");
validations.strCompanyCity.required = true;
validations.strCompanyName = new Validator("Company Name");
validations.strCompanyName.required = true;
validations.strCompanyState = new Validator("Company State");
validations.strCompanyState.required = true;
validations.strCompanyZip = new Validator("Company Zip");
validations.strCompanyZip.datatype = "Postal";
validations.strCompanyZip.required = true;
validations.strPhone = new Validator("Phone");
validations.strPhone.required = true;
validations.strPhone.datatype = "Phone";
validations.strCellPhone = new Validator("Cell Phone");
validations.strCellPhone.datatype = "Phone";
validations.strFax = new Validator("Fax");
validations.strFax.datatype = "Phone";
validations.strEmail = new Validator("Email Address");
validations.strEmail.required = true;
validations.strEmail.datatype = "Email";
validations.strAltEmail = new Validator("Alternate Email Address");
validations.strAltEmail.datatype = "Email";

// subject property
validations.strPropAddress1 = new Validator("Property Address");
validations.strPropAddress1.required = true;
validations.strPropCity = new Validator("Property City");
validations.strPropCity.required = true;
validations.strPropState = new Validator("Property State");
validations.strPropState.required = true;
validations.strPropZip = new Validator("Property Zip");
validations.strPropZip.datatype = "Postal";
validations.strPropZip.required = true;
validations.strPropCounty = new Validator("Property County");
validations.strPropUnit = new Validator("Property Apt/Unit #");

// appraisal order  information
validations.strOrderType = new Validator("Order Type");
validations.strOrderType.required = true;
validations.strAppraisalType = new Validator("Type of Appraisal");
validations.strAppraisalType.required = true;
validations.strPropType = new Validator("Property Type");
validations.strPropType.required = true;
validations.strOccupancyStatus = new Validator("Occupancy Status");
validations.strLoanType = new Validator("Loan Type");
validations.strLoanType.required = true;
validations.strLoanReason = new Validator("Loan Reason");
validations.strLoanReason.required = true;
validations.strLoanReason.compute = computeLoanReason;
var cvLoanReason = '';
function computeLoanReason() {
	var v = this.getValue();
	if (v != cvLoanReason) {
		cvLoanReason = v;
		if (v == 'Purchase' ) {
			xRowShow('trSalesPrice');
			xRowHide('trEstimatedValue');
			xRowShow('trAgents');
			validations.strSAgent_Name.required = true;
			validations.strSAgent_Company.required = true;
			validations.strSAgent_Phone.required = true;
			validations.strLAgent_Name.required = true;
			validations.strLAgent_Company.required = true;
			validations.strLAgent_Phone.required = true;
		} else {
			xRowHide('trSalesPrice');
			xRowShow('trEstimatedValue');
			xRowHide('trAgents');
			validations.strSAgent_Name.required = false;
			validations.strSAgent_Company.required = false;
			validations.strSAgent_Phone.required = false;
			validations.strLAgent_Name.required = false;
			validations.strLAgent_Company.required = false;
			validations.strLAgent_Phone.required = false;
		}
	}
	return "";
}


validations.strNumPropUnits = new Validator("Property Units");
validations.strNumPropUnits.required = true;
validations.strLegalDescription = new Validator("Legal Description");
validations.strRequiredAddenda = new Validator("Required Addenda");
validations.strOtherRequiredAddenda = new Validator("Other Addenda");
validations.strInvestmentAddenda = new Validator("Investment Addenda");
validations.strComments = new Validator("Comments");
validations.numEstimatedValue = new Validator("Estimated Value");
validations.numEstimatedValue.datatype = "Integer";
validations.numSalesPrice = new Validator("Sales Price");
validations.numSalesPrice.datatype = "Integer";
validations.numLoanAmount = new Validator("Loan Amount");
validations.numLoanAmount.datatype = "Integer";

validations.strBrokerSameAsCreator = new Validator("Broker same as Creator");
validations.strBrokerSameAsCreator.compute = computeSameAsCreator;
var cvBrokerName = '';
function computeSameAsCreator() {
	var v = this.getValue();
	if (v != cvBrokerName) {
		cvBrokerName = v;
		if (v == '1' ) {
			formdata.setStrBrokerName(formdata.getStrFName() + ' ' + formdata.getStrLName());
			formdata.setStrBrokerAddress1(formdata.getStrCompanyAddress1());
			formdata.setStrBrokerAddress2(formdata.getStrCompanyAddress2());
			formdata.setStrBrokerCity(formdata.getStrCompanyCity());
			formdata.setStrBrokerState(formdata.getStrCompanyState());
			formdata.setStrBrokerZip(formdata.getStrCompanyZip());
		} else {
			formdata.setStrBrokerName('');
			formdata.setStrBrokerAddress1('');
			formdata.setStrBrokerAddress2('');
			formdata.setStrBrokerCity('');
			formdata.setStrBrokerState('');
			formdata.setStrBrokerZip('');
		}
	}
	return "";
}

validations.strEscrow_Name = new Validator("Escrow Name");
validations.strEscrow_Name.required = true;
validations.strEscrow_Company = new Validator("Escrow Company");
validations.strEscrow_Company.required = true;
validations.strEscrow_Address1 = new Validator("Escrow Address 1");
validations.strEscrow_Address2 = new Validator("Escrow Address 2");
validations.strEscrow_City = new Validator("Escrow City");
validations.strEscrow_State = new Validator("Escrow State");
validations.strEscrow_Zip = new Validator("Escrow Zip");
validations.strEscrow_Zip.datatype = "Postal";
validations.strEscrow_Phone = new Validator("Escrow Phone");
validations.strEscrow_Phone.required = true;
validations.strEscrow_Phone.datatype = "Phone";
validations.strEscrow_Fax = new Validator("Escrow Fax");
validations.strEscrow_Fax.datatype = "Phone";
validations.strEscrow_Email = new Validator("Escrow Email");
validations.strEscrow_Email.datatype = "Email";

validations.strTitle_Name = new Validator("Title Name");
validations.strTitle_Name.required = true;
validations.strTitle_Company = new Validator("Title Company");
validations.strTitle_Company.required = true;
validations.strTitle_Address1 = new Validator("Title Address 1");
validations.strTitle_Address2 = new Validator("Title Address 2");
validations.strTitle_City = new Validator("Title City");
validations.strTitle_State = new Validator("Title State");
validations.strTitle_Zip = new Validator("Title Zip");
validations.strTitle_Zip.datatype = "Postal";
validations.strTitle_Phone = new Validator("Title Phone");
validations.strTitle_Phone.required = true;
validations.strTitle_Phone.datatype = "Phone";
validations.strTitle_Fax = new Validator("Title Fax");
validations.strTitle_Fax.datatype = "Phone";
validations.strTitle_Email = new Validator("Title Email");
validations.strTitle_Email.datatype = "Email";

validations.strSAgent_Name = new Validator("Selling Agent Name");
validations.strSAgent_Company = new Validator("Selling Agent Company");
validations.strSAgent_Address1 = new Validator("Selling Agent Address 1");
validations.strSAgent_Address2 = new Validator("Selling Agent Address 2");
validations.strSAgent_City = new Validator("Selling Agent City");
validations.strSAgent_State = new Validator("Selling Agent State");
validations.strSAgent_Zip = new Validator("Selling Agent Zip");
validations.strSAgent_Zip.datatype = "Postal";
validations.strSAgent_Phone = new Validator("Selling Agent Phone");
validations.strSAgent_Phone.datatype = "Phone";
validations.strSAgent_Fax = new Validator("Selling Agent Fax");
validations.strSAgent_Fax.datatype = "Phone";
validations.strSAgent_Email = new Validator("Selling Agent Email");
validations.strSAgent_Email.datatype = "Email";

validations.strLAgent_Name = new Validator("Listing Agent Name");
validations.strLAgent_Company = new Validator("Listing Agent Company");
validations.strLAgent_Address1 = new Validator("Listing Agent Address 1");
validations.strLAgent_Address2 = new Validator("Listing Agent Address 2");
validations.strLAgent_City = new Validator("Listing Agent City");
validations.strLAgent_State = new Validator("Listing Agent State");
validations.strLAgent_Zip = new Validator("Listing Agent Zip");
validations.strLAgent_Zip.datatype = "Postal";
validations.strLAgent_Phone = new Validator("Listing Agent Phone");
validations.strLAgent_Phone.datatype = "Phone";
validations.strLAgent_Fax = new Validator("Listing Agent Fax");
validations.strLAgent_Fax.datatype = "Phone";
validations.strLAgent_Email = new Validator("Listing Agent Email");
validations.strLAgent_Email.datatype = "Email";

validations.strBrokerName = new Validator("Broker Name");
validations.strBrokerName.required = true;
validations.strBrokerAddress1 = new Validator("Broker Address 1");
validations.strBrokerAddress1.required = true;
validations.strBrokerAddress2 = new Validator("Broker Address 2");
validations.strBrokerCity = new Validator("Broker City");
validations.strBrokerCity.required = true;
validations.strBrokerState = new Validator("Broker State");
validations.strBrokerState.required = true;
validations.strBrokerZip = new Validator("Broker Zip");
validations.strBrokerZip.required = true;
validations.strBrokerZip.datatype = "Postal";
validations.strBrokerReference = new Validator("Broker Reference");

validations.strBorrowerName = new Validator("Borrower Name");
validations.strBorrowerName.required = true;
validations.strBorrowerPhone1 = new Validator("Borrower Phone 1");
validations.strBorrowerPhone1.required = true;
validations.strBorrowerPhone1.datatype = "Phone";
validations.strBorrowerPhone2 = new Validator("Borrower Phone 2");
validations.strBorrowerPhone2.datatype = "Phone";
validations.strBorrowerEmail = new Validator("Borrower Email");
validations.strBorrowerEmail.datatype = "Email";
validations.strPropContactName = new Validator("Contact Name");
validations.strPropContactName.required = true;
validations.strPropContactPhone1 = new Validator("Contact Phone 1");
validations.strPropContactPhone1.required = true;
validations.strPropContactPhone1.datatype = "Phone";
validations.strPropContactPhone2 = new Validator("Contact Phone 2");
validations.strPropContactPhone2.datatype = "Phone";
validations.strPropContactEmail = new Validator("Contact Email");
validations.strPropContactEmail.datatype = "Email";

validations.strContactSameAsBorrower = new Validator("Contact same as Borrower");
validations.strContactSameAsBorrower.compute = computeSameAsBorrower;
var cvContactName = '';
function computeSameAsBorrower() {
	var v = this.getValue();
	if (v != cvContactName) {
		cvContactName = v;
		if (v == '1' ) {
			formdata.setStrPropContactName(formdata.getStrBorrowerName());
			formdata.setStrPropContactPhone1(formdata.getStrBorrowerPhone1());
			formdata.setStrPropContactPhone2(formdata.getStrBorrowerPhone2());
			formdata.setStrPropContactEmail(formdata.getStrBorrowerEmail());
		} else {
			formdata.setStrPropContactName('');
			formdata.setStrPropContactPhone1('');
			formdata.setStrPropContactPhone2('');
			formdata.setStrPropContactEmail('');
		}
	}
	return "";
}
