function validateCreditApplication(frm) {
var alertString="Please Enter: ";
var valid=true;

if (check(frm.txtFirst_Name.value))						{alertString += "\n - First Name";frm.txtFirst_Name.className="errorform"; valid=false;} else {frm.txtFirst_Name.className="form"}
if (check(frm.txtLast_Name.value))						{alertString += "\n - Last Name";frm.txtLast_Name.className="errorform"; valid=false;} else {frm.txtLast_Name.className="form"}

if (check(frm.cboDobMonth.value) && check(frm.cboDobDay.value) && check(frm.cboDobYear.value)) {
	alertString += "\n - Birth Date"; valid=false;
	frm.cboDobMonth.className="errorform";
	frm.cboDobDay.className="errorform";
	frm.cboDobYear.className="errorform";
}
else {
	if (check(frm.cboDobMonth.value))						{alertString += "\n - Birth Month";frm.cboDobMonth.className="errorform"; valid=false;} else {frm.cboDobMonth.className=""}
	if (check(frm.cboDobDay.value))							{alertString += "\n - Birth Day";frm.cboDobDay.className="errorform"; valid=false;} else {frm.cboDobDay.className=""} 
	if (check(frm.cboDobYear.value))						{alertString += "\n - Birth Year";frm.cboDobYear.className="errorform"; valid=false;} else {frm.cboDobYear.className=""} 
}

if (check(frm.cboMarital_Status.value))					{alertString += "\n - Marital Status";frm.cboMarital_Status.className="errorform"; valid=false;} else {frm.cboMarital_Status.className=""} 
if (check(frm.txtHomeTelephone.value))					{alertString += "\n - Home Telephone";frm.txtHomeTelephone.className="errorform"; valid=false;} else {frm.txtHomeTelephone.className="form"} 
if (check(frm.txtWorkTelephone.value))					{alertString += "\n - Work Telephone";frm.txtWorkTelephone.className="errorform"; valid=false;} else {frm.txtWorkTelephone.className="form"} 

if (check(frm.txtEmployer.value))						{alertString += "\n - Current Employer Name";frm.txtEmployer.className="errorform"; valid=false;} else {frm.txtEmployer.className="form"} 
if (check(frm.txtOccupation.value))						{alertString += "\n - Current Occupation";frm.txtOccupation.className="errorform"; valid=false;} else {frm.txtOccupation.className="form"} 
if (check(frm.txtGross_Monthly_Income.value))			{alertString += "\n - Current Gross Income";frm.txtGross_Monthly_Income.className="errorform"; valid=false;} else {frm.txtGross_Monthly_Income.className="form"} 

var empCurrentDurationValid = true;
if (check(frm.txtEmployerYears.value) && check(frm.txtEmployerMonths.value)) {
	alertString += "\n - Current Duration of Employment"; valid=false;
	frm.txtEmployerYears.className="errorform";
}
else {
	frm.txtEmployerYears.className="form";

	if (!isNaN(frm.txtEmployerYears.value)) {
		//valid year entered
		if (frm.txtEmployerYears.value<=1) {
			//less than 2yrs
			empCurrentDurationValid = false;
		}
	}
	else {
		if (!check(frm.txtEmployerYears.value)) {
			//years is invalid
			alertString += "\n - A valid number for Current Years of Employment"; valid=false;
			frm.txtEmployerYears.className="errorform";
		}
		else {
			if (check(frm.txtEmployerMonths.value)) {
				//less than 2yrs
				empCurrentDurationValid = false;
			}
		}
	}
}

if (!empCurrentDurationValid) {
	var reqPrevEmpName = document.getElementById("reqPrevEmpName"); 
	var reqPrevEmpOcc = document.getElementById("reqPrevEmpOcc"); 
	var reqPrevEmpIncome = document.getElementById("reqPrevEmpIncome"); 
	var reqPrevEmpDuration = document.getElementById("reqPrevEmpDuration"); 

	reqPrevEmpName.style.visibility = 'visible';
	reqPrevEmpOcc.style.visibility = 'visible';
	reqPrevEmpIncome.style.visibility = 'visible';
	reqPrevEmpDuration.style.visibility = 'visible';

	if (check(frm.txtPrevEmployer.value))					{alertString += "\n - Previous Employer Name";frm.txtPrevEmployer.className="errorform"; valid=false;} else {frm.txtPrevEmployer.className="form"} 
	if (check(frm.txtPrevOccupation.value))					{alertString += "\n - Previous Occupation";frm.txtPrevOccupation.className="errorform"; valid=false;} else {frm.txtPrevOccupation.className="form"} 
	if (check(frm.txtPrevGross_Monthly_Income.value))		{alertString += "\n - Previous Gross Income";frm.txtPrevGross_Monthly_Income.className="errorform"; valid=false;} else {frm.txtPrevGross_Monthly_Income.className="form"} 
	if (check(frm.txtPrevEmployerYears.value))				{alertString += "\n - Previous Duration of Employment";frm.txtPrevEmployerYears.className="errorform"; valid=false;} else {frm.txtPrevEmployerYears.className="form"} 
}

if (check(frm.cboResidence.value))						{alertString += "\n - Current Residence";frm.cboResidence.className="errorform"; valid=false;} else {frm.cboResidence.className=""} 
if (check(frm.txtStreet_Number.value))					{alertString += "\n - Current Street #";frm.txtStreet_Number.className="errorform"; valid=false;} else {frm.txtStreet_Number.className="form"} 
if (check(frm.txtStreet_Name.value))					{alertString += "\n - Current Street Name";frm.txtStreet_Name.className="errorform"; valid=false;} else {frm.txtStreet_Name.className="form"} 
if (check(frm.cboStreetType.value))						{alertString += "\n - Current Street Suffix";frm.cboStreetType.className="errorform"; valid=false;} else {frm.cboStreetType.className="form"} 
if (check(frm.txtCity.value))							{alertString += "\n - Current City";frm.txtCity.className="errorform"; valid=false;} else {frm.txtCity.className="form"} 
if (check(frm.cboProvince.value))						{alertString += "\n - Current Province";frm.cboProvince.className="errorform"; valid=false;} else {frm.cboProvince.className="form"} 
if (check(frm.txtPostal_Code.value))					{alertString += "\n - Current Postal Code";frm.txtPostal_Code.className="errorform"; valid=false;} else {frm.txtPostal_Code.className="form"} 


if (frm.cboResidence.options[frm.cboResidence.selectedIndex].value!="") {
	var txtRentAmount = frm.txtMonthlyAmount;
	var txtMortgageBalance = frm.txtBalanceRemainingOnMortgage;
	var txtValueofHouse = frm.txtValueOfHouse;

	switch (frm.cboResidence.options[frm.cboResidence.selectedIndex].value) {
		
		case "Rent": {
			if (check(txtRentAmount.value))						{alertString += "\n - Monthly Rent Amount";txtRentAmount.className="errorform"; valid=false;} else {txtRentAmount.className="form"} 
			break;
		}
		case "Own": {
			if (check(txtRentAmount.value))						{alertString += "\n - Monthly Mortgage Amount";txtRentAmount.className="errorform"; valid=false;} else {txtRentAmount.className="form"} 
			//if (check(txtMortgageBalance.value))				{alertString += "\n - Balance Remaining on Mortgage";txtMortgageBalance.className="errorform"; valid=false;} else {txtMortgageBalance.className="form"} 
			//if (check(txtValueofHouse.value))					{alertString += "\n - Approx. Value of House";txtValueofHouse.className="errorform"; valid=false;} else {txtValueofHouse.className="form"} 
			break;
		}
		default: {
			break;
		}
	}
}
else {
	alertString += "\n - Residence"; valid=false;
}

var addCurrentDurationValid = true;
if (check(frm.txtAddress_Years.value) && check(frm.txtAddress_Months.value)) {
	alertString += "\n - Current Duration of Residence"; valid=false;
	frm.txtAddress_Years.className="errorform";
}
else {
	frm.txtAddress_Years.className="form";

	if (!isNaN(frm.txtAddress_Years.value)) {
		//valid year entered
		if (frm.txtAddress_Years.value<=1) {
			//less than 2yrs
			addCurrentDurationValid = false;
		}
	}
	else {
		if (!check(frm.txtAddress_Years.value)) {
			//years is invalid
			alertString += "\n - A valid number for Current Years of Residence"; valid=false;
			frm.txtAddress_Years.className="errorform";
		}
		else {
			if (check(frm.txtAddress_Months.value)) {
				//less than 2yrs
				addCurrentDurationValid = false;
			}
		}
	}
}

if (!addCurrentDurationValid) {
	var reqPrevProvince = document.getElementById("reqPrevProvince"); 
	var reqPrevAddress = document.getElementById("reqPrevAddress"); 
	var reqPrevCity = document.getElementById("reqPrevCity"); 
	var reqPrevAddress_Duration = document.getElementById("reqPrevAddress_Duration"); 

	reqPrevProvince.style.visibility = 'visible';
	reqPrevAddress.style.visibility = 'visible';
	reqPrevCity.style.visibility = 'visible';
	reqPrevAddress_Duration.style.visibility = 'visible';

	if (check(frm.txtPrevStreet_Number.value))				{alertString += "\n - Previous Street #";frm.txtPrevStreet_Number.className="errorform"; valid=false;} else {frm.txtPrevStreet_Number.className="form"} 
	if (check(frm.txtPrevStreet_Name.value))				{alertString += "\n - Previous Street Name";frm.txtPrevStreet_Name.className="errorform"; valid=false;} else {frm.txtPrevStreet_Name.className="form"} 
	if (check(frm.cboPrevStreetType.value))					{alertString += "\n - Previous Street Suffix";frm.cboPrevStreetType.className="errorform"; valid=false;} else {frm.cboPrevStreetType.className="form"} 
	if (check(frm.txtPrevCity.value))						{alertString += "\n - Previous City";frm.txtPrevCity.className="errorform"; valid=false;} else {frm.txtPrevCity.className="form"} 
	if (check(frm.cboPrevProvince.value))					{alertString += "\n - Previous Province";frm.cboPrevProvince.className="errorform"; valid=false;} else {frm.cboPrevProvince.className="form"} 
	if (check(frm.txtPrevAddress_Years.value))				{alertString += "\n - Previous Duration of Residence";frm.txtPrevAddress_Years.className="errorform"; valid=false;} else {frm.txtPrevAddress_Years.className="form"} 
}

//if (check(frm.cboPurchase_or_Lease.value))				{alertString += "\n - Purchase or Lease info";frm.cboPurchase_or_Lease.className="errorform"; valid=false;} else {frm.cboPurchase_or_Lease.className=""} 
//if (check(frm.cboAmount_Requested.value))				{alertString += "\n - Approximate Amount Requested";frm.cboAmount_Requested.className="errorform"; valid=false;} else {frm.cboAmount_Requested.className=""} 
//if (check(frm.cboDo_You_Have_a_Trade.value))			{alertString += "\n - If you have a Trade-In";frm.cboDo_You_Have_a_Trade.className="errorform"; valid=false;} else {frm.cboDo_You_Have_a_Trade.className=""} 

if (frm.chkCorrect1.checked==false)						{alertString += "\n - You must agree for us to run your credit report before proceeding";frm.chkCorrect1.className="errorform"; valid=false;} else {frm.chkCorrect1.className=""} 
if (frm.chkCorrect2.checked==false)						{alertString += "\n - You must agree that all of the information stated above is correct";frm.chkCorrect2.className="errorform"; valid=false;} else {frm.chkCorrect2.className=""} 

if (valid==false){
	alert(alertString);
}	
else {
	frm.submit();
}
}

function hideShowPrevious(oElem) {
	if (oElem.value!="") {
		if (isNaN(oElem.value)==true) {
			alert("Please enter a valid number.");
		}
		else {
			var prevInfo = document.getElementById("trPrevInfo");
			var prevProv = document.getElementById("trPrevProv");
			var prevAddress = document.getElementById("trPrevAddress");
			var prevCity = document.getElementById("trPrevCity");
			var prevDuration = document.getElementById("trPrevDuration");

			if (oElem.value < 2) {
				prevInfo.style.display = "block";
				prevProv.style.display = "block";
				prevAddress.style.display = "block";
				prevCity.style.display = "block";
				prevDuration.style.display = "block";
			}
			else {
				prevInfo.style.display = "none";
				prevProv.style.display = "none";
				prevAddress.style.display = "none";
				prevCity.style.display = "none";
				prevDuration.style.display = "none";
			}
		}
	}
	
}

function hideShowPreviousEmp(oElem) {
	if (oElem.value!="") {
		if (isNaN(oElem.value)==true) {
			alert("Please enter a valid number.");
		}
		else {
			var prevEmpInfo = document.getElementById("trEmpInfo");
			var prevEmpName = document.getElementById("trEmpName");
			var prevEmpOcc = document.getElementById("trEmpOcc");
			var prevEmpIncome = document.getElementById("trEmpIncome");
			var prevEmpDuration = document.getElementById("trEmpDuration");

			if (oElem.value < 2) {
				prevEmpInfo.style.display = "block";
				prevEmpName.style.display = "block";
				prevEmpOcc.style.display = "block";
				prevEmpIncome.style.display = "block";
				prevEmpDuration.style.display = "block";
			}
			else {
				prevEmpInfo.style.display = "none";
				prevEmpName.style.display = "none";
				prevEmpOcc.style.display = "none";
				prevEmpIncome.style.display = "none";
				prevEmpDuration.style.display = "none";
			}
		}
	}
}




function LTrim( value ) {
var re = /\s*((\S+\s*)*)/;
return value.replace(re, "$1");
}

function RTrim( value ) {
var re = /((\s*\S+)*)\s*/;
return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function check(value) {
if (LTrim(RTrim(value))!="") 
	return false;
else 
	return true;
}

function changeResidence(sel) {
//label for rent
var elemMortgage = document.getElementById("objMortgageAmount"); 
var elemRent = document.getElementById("objRentAmount"); 

//required fields
var elemRequiredMonthlyAmount = document.getElementById("reqMonthlyAmount"); 

//textboxes
var elemRentAmount = document.forms[0].txtMonthlyAmount;

if (sel.options[sel.selectedIndex].value!="") {
	switch (sel.options[sel.selectedIndex].value) {
		
		case "Rent": {
			elemRequiredMonthlyAmount.style.visibility = 'visible';

			elemRent.style.display = 'block';
			elemMortgage.style.display = 'none'; 

			elemRentAmount.text = "";
			elemRentAmount.disabled = false;
			elemRentAmount.style.backgroundColor = 'white';
			elemRentAmount.style.borderColor = '#BEC0C2';
			elemRentAmount.focus();

			break;
		}
		case "Own": {
			//show 'mortgage monthly amount label
			elemMortgage.style.display = 'block';
			elemRent.style.display = 'none';

			//enable all required fields
			elemRequiredMonthlyAmount.style.visibility = 'visible';

			elemRentAmount.text = "";
			elemRentAmount.disabled = false;
			elemRentAmount.style.backgroundColor = 'white';
			elemRentAmount.style.borderColor = '#BEC0C2';
			elemRentAmount.focus();

			break;
		}
		default: {
			elemRequiredMonthlyAmount.style.visibility = 'hidden';

			elemRentAmount.disabled = true;
			elemRentAmount.style.backgroundColor = 'lightGrey';
			elemRentAmount.style.borderColor = 'Black';

			break;
		}
	}
}
else {
	elemRequiredMonthlyAmount.style.visibility = 'hidden';
	
	elemRentAmount.disabled = true;
	elemRentAmount.style.backgroundColor = 'lightGrey';
	elemRentAmount.style.borderColor = 'Black';
	
}
}