
function SymError()
{
  return true;
}

window.onerror = SymError;

var submitcount=0;

function highlightTextField(field) {
		field.style.borderColor = 'red';
		field.style.borderStyle = 'solid';
		field.style.borderWidth = '2px;';
}

function highlightSelectField(field) {
		field.style.backgroundColor = 'red';
		field.style.color = 'white';
}

function trim(temp) {
	temp = temp.replace(/^\s+/,'');
	temp = temp.replace(/\s+$/,'');
	return temp;
}
			
// END OF NEW CODE

function validateMortgageApplication(myform) {
	var ErrorMsg = '';
	var FirstErrorField = '';
	
	// checking bad words and phrases
	var contentCurse = "";
	var formCurse = "";	
	var emptyFN = false;
	var emptyLN = false;
	
	arrCurse=new Array;
	arrPhrase= new Array;
	
	arrCurse[0] = "FUCK";
	arrCurse[1] = "MOTHER";
	arrCurse[2] =  "SHIT";
	arrCurse[4] =  "ASS";
	arrCurse[5] = "HOLE"; 
	arrCurse[6] = "COCK"; 
	arrCurse[7] = "BITCH"; 
	arrCurse[8] = "WHORE";
	arrCurse[9] = "SLUT"; 
	arrCurse[10] = "BUTT";
	arrCurse[11] = "PUSSY";
	arrCurse[12] = "BADASS"; 
	arrCurse[13] = "GODDAMN"; 
	arrCurse[14] = "PHUCK"; 
	arrCurse[15] =  "DUMB"; 
	arrCurse[16] =  "BULL";
	arrCurse[17] =  "LICK";
	arrCurse[18] = "DARN";
	arrCurse[19] =  "SCREW";
	arrCurse[20] = "HELL";


	arrPhrase[0] = "MORTGAGE";
	arrPhrase[1] = "REFINANCE";
	arrPhrase[2] = "PURCHASE";
	arrPhrase[4] = "EMAIL";
	arrPhrase[5] = "ALREADY";

	// CHECK FIRST NAME
	if (trim(myform.FirstName.value) == '')  {
		emptyFN = true;
		ErrorMsg = ErrorMsg + '- First Name\n';
		highlightTextField(myform.FirstName);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.FirstName';
		}
	}

	if (trim(myform.LastName.value) == '') {
		emptyLN = true;
		ErrorMsg = ErrorMsg + '- Last Name\n';
		highlightTextField(myform.LastName);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.LastName';
		}
	}
	
	if (!emptyFN) {
		for(i=0; i<arrCurse.length; i++)  {   
			contentCurse = myform.FirstName.value.toUpperCase();
			//formCurse = arrCurse[i];
			// checking first name
			if ( contentCurse == arrCurse[i]) {
				ErrorMsg = ErrorMsg + '- Invalid First Name\n';
				highlightTextField(myform.FirstName);
				if(FirstErrorField == '') {
					FirstErrorField = 'myform.FirstName';
				}
			} // End if
		} // End for loop
	} // End for loop

	if (!emptyLN) {
		for(i=0; i<arrCurse.length; i++)  {   
			contentCurse = myform.LastName.value.toUpperCase();
			//formCurse = arrCurse[i];
			// checking first name
			if ( contentCurse == arrCurse[i]) {
				ErrorMsg = ErrorMsg + '- Invalid Last Name\n';
				highlightTextField(myform.LastName);
				if(FirstErrorField == '') {
					FirstErrorField = 'myform.LastName';
				}
			} // End if
		} // End for loop
	} // End for loop

	
	if(trim(myform.Address1.value) == '') {
		ErrorMsg = ErrorMsg + '- Address\n';
		highlightTextField(myform.Address1);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.Address1';
		}
	}

	if(trim(myform.City.value) == '') {
		ErrorMsg = ErrorMsg + '- City\n';
		highlightTextField(myform.City);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.City';
		}
	}

	if(myform.State.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- State\n';
		highlightSelectField(myform.State);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.State';
		}
	}

	if((trim(myform.ZipCode.value).length != 5) || isNaN(myform.ZipCode.value) || trim(myform.ZipCode.value) == '') {
		ErrorMsg = ErrorMsg + '- Zip Code\n';
		highlightTextField(myform.ZipCode);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.ZipCode';
		}
	}

	// Per andrew, change work phone to alternate phone and making it required and split into 3 parts: AreaCode, WorkFirst, WorkSecond 	
	if ((trim(myform.HomeAreaCode.value).length != 3) || isNaN(myform.HomeAreaCode.value) ||
		 (trim(myform.HomeFirst.value).length != 3) || isNaN(myform.HomeFirst.value)  ||
		 (trim(myform.HomeSecond.value).length != 4) || isNaN(myform.HomeSecond.value) ) {
		ErrorMsg = ErrorMsg + '- Home Phone\n';

		if((trim(myform.HomeAreaCode.value).length != 3) || isNaN(myform.HomeAreaCode.value)) {highlightTextField(myform.HomeAreaCode);
			if(FirstErrorField == '') {
				FirstErrorField = 'myform.HomeAreaCode';
				}		
		}
		if((trim(myform.HomeFirst.value).length != 3) || isNaN(myform.HomeFirst.value)) {highlightTextField(myform.HomeFirst);
			if(FirstErrorField == '') {
				FirstErrorField = 'myform.HomeFirst';
				}		
		
		}
		if((trim(myform.HomeSecond.value).length != 4) || isNaN(myform.HomeSecond.value)) {highlightTextField(myform.HomeSecond);
			if(FirstErrorField == '') {
				FirstErrorField = 'myform.HomeSecond';
				}		
		}
	}

	// Per andrew, change work phone to alternate phone and making it required and split into 3 parts: AreaCode, WorkFirst, WorkSecond 	
	if (myform.WorkAreaCode.value.length !=0 || myform.WorkFirst.value.length !=0 || myform.WorkSecond.value.length !=0 ) 
	{
		if ((trim(myform.WorkAreaCode.value).length != 3) || isNaN(myform.WorkAreaCode.value) ||
			 (trim(myform.WorkFirst.value).length != 3) || isNaN(myform.WorkFirst.value)  ||
			 (trim(myform.WorkSecond.value).length != 4) || isNaN(myform.WorkSecond.value)) {
			 ErrorMsg = ErrorMsg + '- Alternate Phone\n';
	
			if((trim(myform.WorkAreaCode.value).length != 3) || isNaN(myform.WorkAreaCode.value)) {highlightTextField(myform.WorkAreaCode);
				if(FirstErrorField == '') {
					FirstErrorField = 'myform.WorkAreaCode';
					}		
			}
			if((trim(myform.WorkFirst.value).length != 3) || isNaN(myform.WorkFirst.value)) {highlightTextField(myform.WorkFirst);
				if(FirstErrorField == '') {
					FirstErrorField = 'myform.WorkFirst';
					}		
	
			
			}
			if((trim(myform.WorkSecond.value).length != 4) || isNaN(myform.WorkSecond.value)) {highlightTextField(myform.WorkSecond);
				if(FirstErrorField == '') {
					FirstErrorField = 'myform.WorkSecond';
					}		
			}
		}
	} // End of if myform.WorkAreaCode.value.length !=0
	// Old code before Andrew's change
	//if (myform.WorkAreaCode.value.length !=0)
	//{
		//if ( ((myform.WorkAreaCode.value.length != 3) || isNaN(myform.WorkAreaCode.value)) ||
			//((myform.WorkNumber.value.length != 7) || isNaN(myform.WorkNumber.value)) ) {
				//ErrorMsg = ErrorMsg + '- Work Phone\n';
			//if((myform.WorkAreaCode.value.length != 3) || isNaN(myform.WorkAreaCode.value)) {highlightTextField(myform.WorkAreaCode);}
			//if((myform.WorkNumber.value.length != 7) || isNaN(myform.WorkNumber.value)) {highlightTextField(myform.WorkNumber);}
			//if(FirstErrorField == '') {
				//FirstErrorField = 'myform.WorkAreaCode';
			//}
		//}
	//}
	
	// the opposite of the work area code
	//if (myform.WorkNumber.value.length !=0)
	//{
		//if ( ((myform.WorkNumber.value.length != 7) || isNaN(myform.WorkNumber.value)) ||
			//((myform.WorkAreaCode.value.length != 3) || isNaN(myform.WorkAreaCode.value)) ) {
				//ErrorMsg = ErrorMsg + '- Work Phone\n';
			//if((myform.WorkNumber.value.length != 7) || isNaN(myform.WorkNumber.value)) {highlightTextField(myform.WorkNumber);}
			//if((myform.WorkAreaCode.value.length != 3) || isNaN(myform.WorkAreaCode.value)) {highlightTextField(myform.WorkAreaCode);}
			//if(FirstErrorField == '') {
				//FirstErrorField = 'myform.WorkNumber';
			//}
		//}
	//} 


	if(myform.Purpose.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- Purpose\n';
		highlightSelectField(myform.Purpose);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.Purpose';
		}
	}

	if(myform.PropertyType.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- Property Type\n';
		highlightSelectField(myform.PropertyType);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.PropertyType';
		}
	}	

	/////////////////////////////COMBO BOX PROPERTYVALUE//////////////////////////////
	if(myform.PropertyValue.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- Home Value\n';
		highlightSelectField(myform.PropertyValue);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.PropertyValue';
		}
	}

	/////////////////////////////COMBO BOX MORTGAGEBALANCE1//////////////////////////////
	if(myform.MortgageBalance1.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- Mortgage Balance\n';
		highlightSelectField(myform.MortgageBalance1);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.MortgageBalance1';
		}
	}

	
	/////////////////////////////COMBO BOX DESIREDLOANAMT//////////////////////////////
	if(myform.DesiredLoanAmt.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- Cash Out/Debt Consolidation\n';
		highlightSelectField(myform.DesiredLoanAmt);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.DesiredLoanAmt';
		}
	}

	
	/////////////////////////////COMBO BOX MORTGAGERATE1//////////////////////////////
	if(myform.MortgageRate1.selectedIndex == 0) {
		ErrorMsg = ErrorMsg + '- Current Interest Rate\n';
		highlightSelectField(myform.MortgageRate1);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.MortgageRate1';
		}
	}
	
	//if (myform.YearPropertyAcquired.value.length != 0) {	
		//if (isNaN(myform.YearPropertyAcquired.value) || (myform.YearPropertyAcquired.value < 1900) || (myform.YearPropertyAcquired.value > 2002) ) {
			//ErrorMsg = ErrorMsg + '- Invalid Year Property Acquired\n';
			//highlightTextField(myform.YearPropertyAcquired);
			//if(FirstErrorField == '') {
				//FirstErrorField = 'myform.YearPropertyAcquired';
			//}		
		//}
	//}	
	
    if(myform.CreditRating.selectedIndex == 0)  {
		ErrorMsg = ErrorMsg + '- Credit Rating\n';
		highlightSelectField(myform.CreditRating);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.CreditRating';
		}
	}
	
	if(trim(myform.Email.value) == '' || trim(myform.Email.value) == '.@' || trim(myform.Email.value) == '@.') {
		ErrorMsg = ErrorMsg + '- Email\n';
		highlightTextField(myform.Email);
		if(FirstErrorField == '') {
			FirstErrorField = 'myform.Email';
		}
	}
	
	else {
	
		var email;
		email = myform.Email.value;
			if (email.indexOf('.') == -1 || email.indexOf('@') == -1) {
				ErrorMsg = ErrorMsg + '- Invalid Email: It must be in the form x@y.z \n';
				highlightTextField(myform.Email);
				if(FirstErrorField == '') {
					FirstErrorField = 'myform.Email';
				}
			}
	}

	if(ErrorMsg != '') {
		eval(FirstErrorField + '.focus();');
		alert('Please complete ALL the following fields to continue:\n' + ErrorMsg);
		return false;
	} else {
		if (submitcount == 0)	{
			submitcount++;
			return true;
		}	else	{
			return false;
		}
	}

}
