//-----------------------------------------------------
// contact specific fields                     
//-----------------------------------------------------
if (testIsValidObject(document.forms[0].FirstName)) {
	document.forms[0].FirstName.label = "First Name";
	document.forms[0].FirstName.required =  true;
	document.forms[0].FirstName.datatype = "string";
}

if (testIsValidObject(document.forms[0].LastName)) {
	document.forms[0].LastName.label = "Last Name";
	document.forms[0].LastName.required =  true;
	document.forms[0].LastName.datatype = "string";
}

if (testIsValidObject(document.forms[0].Address)) {
	document.forms[0].Address.label = "Address";
	document.forms[0].Address.required =  true;
	document.forms[0].Address.datatype = "string";
}

if (testIsValidObject(document.forms[0].City)) {
	document.forms[0].City.label = "City";
	document.forms[0].City.required =  true;
	document.forms[0].City.datatype = "string";
}

if (testIsValidObject(document.forms[0].State)) {
	document.forms[0].State.label = "State";
	document.forms[0].State.required =  true;
	document.forms[0].State.datatype = "string";
}

if (testIsValidObject(document.forms[0].Zip)) {
	document.forms[0].Zip.label = "Zip Code";
	document.forms[0].Zip.required =  true;
	document.forms[0].Zip.datatype = "zip";
}

if (testIsValidObject(document.forms[0].Email)) {
	document.forms[0].Email.label = "Email";
	document.forms[0].Email.required =  true;
	document.forms[0].Email.datatype = "email";
}

if (testIsValidObject(document.forms[0].PhoneArea)) {
	document.forms[0].PhoneArea.label = "Phone Area";
	document.forms[0].PhoneArea.required =  true;
	document.forms[0].PhoneArea.datatype = "phonearea";
}

if (testIsValidObject(document.forms[0].PhonePrefix)) {
	document.forms[0].PhonePrefix.label = "Phone Prefix";
	document.forms[0].PhonePrefix.required =  true;
	document.forms[0].PhonePrefix.datatype = "phoneprefix";
}

if (testIsValidObject(document.forms[0].PhoneSuffix)) {
	document.forms[0].PhoneSuffix.label = "Phone Suffix";
	document.forms[0].PhoneSuffix.required = true;
	document.forms[0].PhoneSuffix.datatype = "phonesuffix";
}

//-----------------------------------------------------
// finance specific fields                     
//-----------------------------------------------------
if (testIsValidObject(document.forms[0].LoanAmount)) {
	document.forms[0].LoanAmount.label = "Loan Amount";
	document.forms[0].LoanAmount.required =  true;
}

if (testIsValidObject(document.forms[0].LoanLength)) {
	document.forms[0].LoanLength.label = "Length of the loan (months)";
	document.forms[0].LoanLength.required =  true;
}

if (testIsValidObject(document.forms[0].ResidenceType)) {
	document.forms[0].ResidenceType.label = "Residence Type";
	document.forms[0].ResidenceType.required = true;
	document.forms[0].ResidenceType.datatype = "string";
}

if (testIsValidObject(document.forms[0].EmployerName)) {
	document.forms[0].EmployerName.label = "Employer Name";
	document.forms[0].EmployerName.required = true;
	document.forms[0].EmployerName.datatype = "string";
}

if (testIsValidObject(document.forms[0].Occupation)) {
	document.forms[0].Occupation.label = "Occupation";
	document.forms[0].Occupation.required = true;
	document.forms[0].Occupation.datatype = "string";
}

if (testIsValidObject(document.forms[0].GrossMonthlyIncome)) {
	document.forms[0].GrossMonthlyIncome.label = "Gross Monthly Income";
	document.forms[0].GrossMonthlyIncome.required = true;
	document.forms[0].GrossMonthlyIncome.datatype = "number";
}

if (testIsValidObject(document.forms[0].YearsAtJob)) {
	document.forms[0].YearsAtJob.label = "Years At Present Job";
	document.forms[0].YearsAtJob.required = true;
}

if (testIsValidObject(document.forms[0].MonthlyRent)) {
	document.forms[0].MonthlyRent.label = "Monthly Rent / Mortagage Payment";
	document.forms[0].MonthlyRent.required =  true;
}

if (testIsValidObject(document.forms[0].MonthsAtJob)) {
	document.forms[0].MonthsAtJob.label = "Months At Present Job";
	document.forms[0].MonthsAtJob.required = true;
}

if (testIsValidObject(document.forms[0].SocialSecurityNumberStart)) {
	document.forms[0].SocialSecurityNumberStart.label = "First Part of Social Security Number";
	document.forms[0].SocialSecurityNumberStart.required = true;
	document.forms[0].SocialSecurityNumberStart.datatype = "numericstring";
	document.forms[0].SocialSecurityNumberStart.minlength = 3;
	document.forms[0].SocialSecurityNumberStart.maxlength = 3;
}

if (testIsValidObject(document.forms[0].SocialSecurityNumberMid)) {
	document.forms[0].SocialSecurityNumberMid.label = "Second Part of Social Security Number";
	document.forms[0].SocialSecurityNumberMid.required = true;
	document.forms[0].SocialSecurityNumberMid.datatype = "numericstring";
	document.forms[0].SocialSecurityNumberMid.minlength = 2;
	document.forms[0].SocialSecurityNumberMid.maxlength = 2;
}

if (testIsValidObject(document.forms[0].SocialSecurityNumberEnd)) {
	document.forms[0].SocialSecurityNumberEnd.label = "Third Part of Social Security Number";
	document.forms[0].SocialSecurityNumberEnd.required = true;
	document.forms[0].SocialSecurityNumberEnd.datatype = "numericstring";
	document.forms[0].SocialSecurityNumberEnd.minlength = 4;
	document.forms[0].SocialSecurityNumberEnd.maxlength = 4;
}

if (testIsValidObject(document.forms[0].BirthMonth)) {
	document.forms[0].BirthMonth.label = "Birth Month";
	document.forms[0].BirthMonth.required = true;
}

if (testIsValidObject(document.forms[0].BirthDay)) {
	document.forms[0].BirthDay.label = "Birth Day";
	document.forms[0].BirthDay.required = true;
}

if (testIsValidObject(document.forms[0].BirthYear)) {
	document.forms[0].BirthYear.label = "Birth Year";
	document.forms[0].BirthYear.required = true;
}

if (testIsValidObject(document.forms[0].EmployerPhoneArea)) {
	document.forms[0].EmployerPhoneArea.label = "Employer Phone";
	document.forms[0].EmployerPhoneArea.required = true;
	document.forms[0].EmployerPhoneArea.datatype = "numericstring";
	document.forms[0].EmployerPhoneArea.maxlength = 3;
	document.forms[0].EmployerPhoneArea.minlength = 3;
}
	
if (testIsValidObject(document.forms[0].EmployerPhonePrefix)) {
	document.forms[0].EmployerPhonePrefix.label = "Employer Phone";
	document.forms[0].EmployerPhonePrefix.required =  true;
	document.forms[0].EmployerPhonePrefix.datatype = "numericstring";
	document.forms[0].EmployerPhonePrefix.maxlength = 3;
	document.forms[0].EmployerPhonePrefix.minlength = 3;
	document.forms[0].EmployerPhoneSuffix.label = "Employer Phone";
}
	
if (testIsValidObject(document.forms[0].EmployerPhonePrefix)) {
	document.forms[0].EmployerPhoneSuffix.required =  true;
	document.forms[0].EmployerPhoneSuffix.datatype = "numericstring";
	document.forms[0].EmployerPhoneSuffix.maxlength = 4;
	document.forms[0].EmployerPhoneSuffix.minlength = 4;
} 

if (testIsValidObject(document.forms[0].YearsAtResidence)) {
	document.forms[0].YearsAtResidence.label = "Years At Residence";
	document.forms[0].YearsAtResidence.required = true;
}

if (testIsValidObject(document.forms[0].MonthsAtResidence)) {
	document.forms[0].MonthsAtResidence.label = "Months At Residence";
	document.forms[0].MonthsAtResidence.required = true;
}

if (testIsValidObject(document.forms[0].ResidenceType)) {
	document.forms[0].ResidenceType[0].label = "Residence Type";
	document.forms[0].ResidenceType[0].required = true;
}
 
if (testIsValidObject(document.forms[0].PAST_BANKRUPTCY)) {
	document.forms[0].PAST_BANKRUPTCY[0].label = "Declared Bankruptcy in past 7 years";
	document.forms[0].PAST_BANKRUPTCY[0].required =  true;
}

if (testIsValidObject(document.forms[0].COBORROWER)) {
	document.forms[0].COBORROWER[0].label = "Cosigner Available";
	document.forms[0].COBORROWER[0].required =  true;
}

if (testIsValidObject(document.forms[0].ExpectedRateType)) {
	document.forms[0].ExpectedRateType.label = "Expected Rate Type";
	document.forms[0].ExpectedRateType.required =  true;
}

if (testIsValidObject(document.forms[0].ExpectedLoanTerm)) {
	document.forms[0].ExpectedLoanTerm.label = "Expected Loan Term";
	document.forms[0].ExpectedLoanTerm.required =  true;
}

if (testIsValidObject(document.forms[0].DownPayment)) {
	document.forms[0].DownPayment.label = "Down Payment";
	document.forms[0].DownPayment.required =  true;
}

if (testIsValidObject(document.forms[0].MonthlyHousingPayment)) {
	document.forms[0].MonthlyHousingPayment.label = "Monthly Housing Payment";
	document.forms[0].MonthlyHousingPayment.required =  true;
}

if (testIsValidObject(document.forms[0].FirstMortgageBalance)) {
	document.forms[0].FirstMortgageBalance.label = "First Mortgage Balance";
	document.forms[0].FirstMortgageBalance.required =  true;
}

if (testIsValidObject(document.forms[0].FirstMortgageInterestRate)) {
	document.forms[0].FirstMortgageInterestRate.label = "First Mortgage Interest Rate";
	document.forms[0].FirstMortgageInterestRate.required =  true;
}

if (testIsValidObject(document.forms[0].FirstMortgageRateType)) {
	document.forms[0].FirstMortgageRateType.label = "First Mortgage Rate Type";
	document.forms[0].FirstMortgageRateType.required =  true;
}

if (testIsValidObject(document.forms[0].MortgageTypeRefinance)) {
	document.forms[0].MortgageTypeRefinance.label = "Mortgage Type";
	document.forms[0].MortgageTypeRefinance.required =  true;
}
	
if (testIsValidObject(document.forms[0].Bankruptcy)) {
	document.forms[0].Bankruptcy.label = "Bankruptcy";
	document.forms[0].Bankruptcy.required =  true;
}

if (testIsValidObject(document.forms[0].AnnualIncome)) {
	document.forms[0].AnnualIncome.label = "Annual Income";
	document.forms[0].AnnualIncome.required =  true;
}

if (testIsValidObject(document.forms[0].TotalMonthlyBills)) {
	document.forms[0].TotalMonthlyBills.label = "Total Monthly Bills";
	document.forms[0].TotalMonthlyBills.required =  true;
}

//-----------------------------------------------------
// automotive specific fields                  
//-----------------------------------------------------
if (testIsValidObject(document.forms[0].NewUsed)) {
	document.forms[0].NewUsed[0].label = "New Car or Used Car";
	document.forms[0].NewUsed[0].required =  true;
}

if (testIsValidObject(document.forms[0].Make)) {
	document.forms[0].Make.label = "Make";
	document.forms[0].Make.required =  true;
}

//-----------------------------------------------------
// real estate specific fields                 
//-----------------------------------------------------
if (testIsValidObject(document.forms[0].ContactZip)) {
	document.forms[0].ContactZip.label = "Zip Code";
	document.forms[0].ContactZip.required =  true;
	document.forms[0].ContactZip.datatype = "zip";
}

if (testIsValidObject(document.forms[0].BuyPropertyType)) {
	document.forms[0].BuyPropertyType.label = "Property Type";
	document.forms[0].BuyPropertyType.required =  true;
}

if (testIsValidObject(document.forms[0].BuyBedroomCount)) {
	document.forms[0].BuyBedroomCount.label = "Number of Bedrooms";
	document.forms[0].BuyBedroomCount.required =  true;
}

if (testIsValidObject(document.forms[0].BuyBathroomCount)) {
	document.forms[0].BuyBathroomCount.label = "Number of Bathrooms";
	document.forms[0].BuyBathroomCount.required =  true;
}

if (testIsValidObject(document.forms[0].FullSellPriceRange)) {
	document.forms[0].FullSellPriceRange.label = "Minimum Home Worth";
	document.forms[0].FullSellPriceRange.required =  true;
}

if (testIsValidObject(document.forms[0].PriceRangeFull)) {
	document.forms[0].PriceRangeFull.label = "Price Range";
	document.forms[0].PriceRangeFull.required =  true;
}

if (testIsValidObject(document.forms[0].reQHomeValuation)) {
	document.forms[0].reQHomeValuation.label = "Home Valuation";
	document.forms[0].reQHomeValuation.required =  true;
}

if (testIsValidObject(document.forms[0].CreditHistory)) {
	document.forms[0].CreditHistory.label = "Credit History";
	document.forms[0].CreditHistory.required =  true;
}

if (testIsValidObject(document.forms[0].TimeFrame)) {
	document.forms[0].TimeFrame.label = "Purchase Time Frame";
	document.forms[0].TimeFrame.required =  true;
}

if (testIsValidObject(document.forms[0].UserZips)) {
	if (document.forms[0].UserZips.length != 'undefined') {		
		for (var i = 0; i < document.forms[0].UserZips.length; i++)	{	
			document.forms[0].UserZips[i].label = "Zip code";
			document.forms[0].UserZips[i].datatype = "zip"
			if (i == 0) {
				document.forms[0].UserZips[i].required = true;
			}
		}		
	}
	else {
		document.forms[0].UserZips.label = "Zip codes";
		document.forms[0].UserZips.required =  true;
		document.forms[0].UserZips.datatype = "zip";
	}	
}

if (testIsValidObject(document.forms[0].FoundHome)) {
	document.forms[0].FoundHome.label = "Found a home";
	document.forms[0].FoundHome.required =  true;
}

if (testIsValidObject(document.forms[0].HasAgent)) {
	document.forms[0].HasAgent.label = "Have an agent";
	document.forms[0].HasAgent.required =  true;
}

if (testIsValidObject(document.forms[0].category)) {
	document.forms[0].category.label = "Home improvement type";
	document.forms[0].category.required =  true;
}

//-----------------------------------------------------
// Error string definitions:
//-----------------------------------------------------
// {0} is the field label:

NUMBER_ERROR = "{0} is not a number.\n\n";
PHONE_ERROR = "{0} is not a valid phone number (###-###-#### including area code).\n\n";
PHONEAREA_ERROR = "{0} is not valid.\n\n";
PHONEPREFIX_ERROR = "{0} is not valid.\n\n";
PHONESUFFIX_ERROR = "{0} is not valid.\n\n";
SSN_ERROR = "{0} is not a valid Social Security Number (###-##-####).\n\n";
POSTAL_ERROR = "{0} is not a valid US Zip Code.\n\n";
NO_SPACE_ERROR = "{0} may not have spaces.\n\n"; 
EMAIL_ERROR = "{0} is not a valid email address (for example: name@domain.com).\n\n";
DATE_ERROR = "{0} is not a valid date.\n\n";
RANGE1_ERROR = "The value for {0} must be between {1} and {2}.\n\n";
RANGE2_ERROR = "The value for {0} cannot be less than {1}.\n\n";
RANGE3_ERROR = "The value for {0} cannot be more than {1}.\n\n";
LENGTH0_ERROR = "{0} must be exactly {1} characters.\n\n";
LENGTH1_ERROR = "{0} must be between {1} and {2} characters.\n\n";
LENGTH2_ERROR = "{0} cannot be less than {1} characters.\n\n";
LENGTH3_ERROR = "{0} cannot be more than {1} characters.\n\n";
REQUIRED_ERROR = "The following required field is missing:\n{0}\n";
EMAIL_ERROR = "{0} is not valid email.\n\n";
DUPLICATE_MODEL_ERROR = "You have already selected that vehicle. Please choose a different vehicle.";
ADDITIONAL_MAKE_ERROR = "Please select a optional vehicle.";
REQUIRED_MAKE_ERROR = "Please select a Make";
REQUIRED_MODEL_ERROR = "Please select a Model";

var INIT_Z_VALUE="ZIPCODE";
var INIT_C_VALUE="CITY,STATE";
var REQ_ZC_ERROR="Please enter your zip code OR city and state.";
var VALID_Z_ERROR="Please enter a valid zip code.";

//-----------------------------------------------------
// controller specific functions
//-----------------------------------------------------

function isHaveReadPrivacy(theForm) {

	if (!(theForm.HaveReadPrivacy.checked)) {
		alert("I have read the Privacy Policy, and I authorize your partners to check my credit report.");
		return(false);
	}
	return (true);
}

function testIsValidObject(objToTest) {
	if (objToTest == null || objToTest == undefined) {
		return false;
	}
	
	return true;
}
 
 var b_enforce_mdl_trm = false;
	function b_Enforce_Mdl_Trm() {
	b_enforce_mdl_trm = true;
}

function oa_skip(form){
	window.location='http://www.openauto.com/new-car-prices/usa.html';
}
function hyperSkip(form){

	document.forms[0].mn.value='oa_autopayoff';
	document.forms[0].submit();
}
function ccsemSkip(form){

	document.forms[0].mn.value='cc_AutoPayoff';
	document.forms[0].submit();
}

function afSkip(){
	window.location="http://www.connectwithlife.com/car-dealers/in-usa.html";
}
function ccafSkip(){
	window.location="http://www.carclub.com/";
}


function iCastleLoanTypes(loanType) {

	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'icastle_financelead_homeequity25';
			break;
		case '2':
			modelName = 'icastle_financelead_homepurchase25';
			break;
		case '3':
			modelName = 'icastle_financelead_refi25';
			break;   
	}                       
	return window.location = 'http://portal.reply.com/portal/default.asp?ng=' + navGraph + '&mn=' + modelName;
}

function loadModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'reply_financelead_homeequity';
			break;
		case '2':
			modelName = 'reply_financelead_homepurchase';
			break;
		case '3':
			modelName = 'reply_financelead_refi2';
			break;   
	}		
	return window.location = 'http://portal.reply.com/portal/default.asp?ng=' + navGraph + '&mn=' + modelName;
}

function setTimer(model) {		
	document.forms[0].mn.value =  model;
	setTimeout('document.forms[0].submit();', 3000);			
	return true;
}

function loadRelatedAuto(){
	document.forms[0].adfinanceImgs.src='http://ad.linksynergy.com/fs-bin/show?id=rc0kA9dWHtM&bids=131598.10000016&type=4&subid=0';
	document.forms[0].adRfinanceImgs.src='http://ad.linksynergy.com/fs-bin/show?id=rc0kA9dWHtM&bids=135976.10000015&type=4&subid=0';
}

function homeval_readmore(){
	document.forms[0].mn.value='homeval_realestatelead_sellzip';
	document.forms[0].submit();
}

function goRelatedAuto(_gra){
	switch (_gra){
		case '_f':
			return window.location='http://click.linksynergy.com/fs-bin/click?id=rc0kA9dWHtM&offerid=131598.10000016&type=4&subid=0';
			break;
		case '_i':
			return window.location='http://www.finfrey.com/c.asp?a=CD1169&b=736&d=0&l=0&o=';
			break;
		case '_r':
			return window.location='http://click.linksynergy.com/fs-bin/click?id=rc0kA9dWHtM&offerid=135976.10000015&type=4&subid=0';
			break;
	}
}

function loadCWLModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'cwl_financelead_homeequity22';
			break;
		case '2':
			modelName = 'cwl_financelead_homepurchase22';
			break;
		case '3':
			modelName = 'cwl_financelead_refi22';
			break;   
	}		
	return window.location = 'http://portal.reply.com/portal/default.asp?ng=' + navGraph + '&mn=' + modelName;
}


function loadCheapFcModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'cheapfc_financelead_equity';
			break;
		case '2':
			modelName = 'cheapfc_financelead_purchase';
			break;
		case '3':
			modelName = 'cheapfc_financelead_refin';
			break;   
	}		
	return window.location = 'http://portal.reply.com/portal/default.asp?ng=' + navGraph + '&mn=' + modelName;
}

function setCWLModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'cwl_financelead_homeequity22';
			break;
		case '2':
			modelName = 'cwl_financelead_homepurchase22';
			break;
		case '3':
			modelName = 'cwl_financelead_refi22';
			break;   
	}		
	document.forms[0].mn.value = modelName;
}

function setReplyMortModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'reply_financelead_homeequity';
			break;
		case '2':
			modelName = 'reply_financelead_homepurchase';
			break;
		case '3':
			modelName = 'reply_financelead_refi2';
			break;   
	}		
	document.forms[0].mn.value = modelName;
}


function setICMortModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'icastle_financelead_homeequity25';
			break;
		case '2':
			modelName = 'icastle_financelead_homepurchase25';
			break;
		case '3':
			modelName = 'icastle_financelead_refi25';
			break;   
	}		
	document.forms[0].mn.value = modelName;
}

function setCheapFcModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'cheapfc_financelead_equity';
			break;
		case '2':
			modelName = 'cheapfc_financelead_purchase';
			break;
		case '3':
			modelName = 'cheapfc_financelead_refin';
			break;   
	}		
	document.forms[0].mn.value = modelName;
}

function setCheapFcHomesModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'cheapfchomes_financelead_equity';
			break;
		case '2':
			modelName = 'cheapfchomes_financelead_purchase';
			break;
		case '3':
			modelName = 'cheapfchomes_financelead_refin';
			break;   
	}		
	document.forms[0].mn.value = modelName;
}

function loadCheapFcHomesModel(loanType) {
	var modelName = '';
	var navGraph = document.forms[0].ng.value;
	switch(loanType) {
		case '1':
			modelName = 'cheapfchomes_financelead_equity';
			break;
		case '2':
			modelName = 'cheapfchomes_financelead_purchase';
			break;
		case '3':
			modelName = 'cheapfchomes_financelead_refin';
			break;   
	}		
	return window.location = 'http://portal.reply.com/portal/default.asp?ng=' + navGraph + '&mn=' + modelName;
}

function trimString(s) { // trim white space
	return s.replace(/^\s+|\s+$/g, '');
}

function isPhone(s) { // telephone, with area code + opt prefixes
	var a = s.replace(/\D+/g, '-');
	a = a.match(/(\d+-?)*(\d{3}-?){2}\d{4}/g);
	var err = (a != null && a.length ? false : true);
	return err;
}

function isZip(s) {
	if (s.length > 5) {
		return false;
	}
	var filter = /\d{5}(-?\d{4}){0,1}/;
	return filter.test(s);
}

function isSSN(s) {
	var filter = /^(\d{9}|\d{3}-\d{2}-\d{4})$/;
	return filter.test(s);
}

function isEmail(s) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(s);
}

function areStringsEqual(string1, string2) {
	return (trimString(string1.toLowerCase().toString()) == trimString(string2.toLowerCase().toString()));
}


function checkEnter(e) {
	return !(e.keyCode == 13);
}

//-----------------------------------------------------
// check functions
//-----------------------------------------------------
function profanityListcheck(field){
	var errMsg = "";
	var fvalue="";
	var nvalue="";
	field.value = trimString(field.value);
	fvalue=trimString(field.value.toLowerCase().replace(" ",""));
	switch (field.datatype)	{
		case "string":
			switch (field.label) {
				case "First Name":
					for (var i = 0; i < profanity.length; i++) {
						if (profanity[i]!=""){
							nvalue=trimString(profanity[i].replace(" ",""));
							if (areStringsEqual(fvalue,nvalue)){
								errMsg= "Please enter a valid first name.";
								break;
							}
							if (fvalue.indexOf(nvalue)!=-1){
								errMsg= "Please enter a valid first name.";
								break;
							}
						}
					}
					break;
				case "Last Name":
					for (var i = 0; i < profanity.length; i++) {
						if (profanity[i]!=""){
							nvalue=trimString(profanity[i].replace(" ",""));
							if (areStringsEqual(fvalue,nvalue)){
								errMsg= "Please enter a valid last name.";
								break;
							}
							if (fvalue.indexOf(nvalue)!=-1){
								errMsg= "Please enter a valid last name.";
								break;
							}
						}
					}
					break;
				case "City":
					for (var i = 0; i < profanity.length; i++) {
						if (profanity[i]!=""){
							nvalue=trimString(profanity[i].replace(" ",""));
							if (areStringsEqual(fvalue,nvalue)){
								errMsg= "Please enter a valid city name.";
								break;
							}
							if (fvalue.indexOf(nvalue)!=-1){
								errMsg= "Please enter a valid city name.";
								break;
							}
						}
					}
					break;
			}
			break;
		case "email":
			for (var i = 0; i < profanity.length; i++) {
				if (profanity[i]!=""){
					nvalue=trimString(profanity[i].replace(" ",""));
					if (fvalue.indexOf(nvalue)!=-1){
						errMsg= "Please enter a valid email address.";
						break;
					}
				}
			}
			break;
	}
	return errMsg;
}

function validateField(field) {

	var errMsg = "";

	if (field.name == "reQHomeValuation")
	{
		var hvval = field.options[field.selectedIndex].value;
		if (hvval == "5")
		{
			if (document.forms[0].OthersText.value == "")
			{
				return "Please enter your reason for wanting a home valuation.";
			}
		}
	}
	
	if (field.label != null && field.label != "" && !field.noValidation) {
		
		errMsg = chkRequired(field);    


		
		if ((errMsg == "") && ((field.type == "text") || (field.type == "textarea"))) {
			errMsg = chkValueFormat(field);  
		}
	}
	return errMsg;
}

function chkRequired(field) {
	var errMsg = "";
	var value = "";
	
	if (field.required) {
	
		errMsg = REQUIRED_ERROR.replace("{0}", field.label);
		switch (field.type) {
		
			case "text":
			
			case "textarea":
			
			   	value = trimString(field.value);
				if (value != "") {
				   if (field.ignoreValue == null) errMsg = "";
				   else if  (value.toLowerCase() != field.ignoreValue.toLowerCase()) errMsg = "";
				}
				break;
				
			case "checkbox":
			
			case "radio":
			
			   var fieldGroup = field.form[field.name];
				for (var i = 0; i < fieldGroup.length; i++) {
					if (fieldGroup[i].checked) {
						errMsg = "";
						break;
					}
				}
				break;
				
			case "select-one":
			
			case "select-multiple":
						
				// must has at least 1 item selected that's not the first item
				var fieldGroup = field.form[field.name];
				
				for (var i = 1; i < fieldGroup.length; i++) {
					if (fieldGroup[i].selected) {
						errMsg = "";
						break;
					}
				}
				break;
				
			default:
				errMsg = "";
		}
	}
	return errMsg;
}

function chkValueFormat(field) {

	var errMsg = "";
	// check format only if field has value, value not the same as ignoreValue, and datatype is set
	if ((field.datatype != null) && (field.value != null) && (field.value != "") && (field.ignoreValue == null || trimString(field.value).toLowerCase() != field.ignoreValue.toLowerCase())) {
		field.value = trimString(field.value);
		switch (field.datatype) {
			case "string":
				if ((field.maxlength != null) && (field.value.length > field.maxlength)) {
					errMsg = LENGTH3_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.maxlength);
				}
				else if ((field.minlength != null) && (field.value.length < field.minlength)) {
					errMsg = LENGTH2_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.minlength);
				}
				break;
			case "phone":
				if (!isPhone(field.value)) {
					errMsg = PHONE_ERROR.replace("{0}", field.label);
				}
				break;
         	case "phonearea":
                if (isNaN(field.value) || field.value.length != 3) {
					errMsg = PHONEAREA_ERROR.replace("{0}", field.label);
				}
				break;
			case "phoneprefix":
			   if (isNaN(field.value) || field.value.length != 3) {
					errMsg = PHONEPREFIX_ERROR.replace("{0}", field.label);
				}
				break;
			case "phonesuffix":
			   if (isNaN(field.value) || field.value.length != 4) {
					errMsg = PHONESUFFIX_ERROR.replace("{0}", field.label);
				}
				break;
			case "zip":
				if (!isZip(field.value)) {
					errMsg = POSTAL_ERROR.replace("{0}", field.label);
				}
				break;
			case "ssn":
				if (!isSSN(field.value)) {
					errMsg = POSTAL_ERROR.replace("{0}", field.label);
				}
				break;
			case "number":
				if (isNaN(field.value)) {
					errMsg = NUMBER_ERROR.replace("{0}", field.label);
				}				
				else if  ((field.maxrange != null) && (field.minrange != null) && (field.value > field.maxrange || field.value < field.minrange)) {
					errMsg = RANGE1_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.minrange);
					errMsg = errMsg.replace("{2}", field.maxrange);
				}				
				else if ((field.maxrange != null) && (field.value > field.maxrange)) {
					errMsg = RANGE3_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.maxrange);
				}				
				else if ((field.minrange != null) && (field.value < field.minrange)) {
					errMsg = RANGE2_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.minrange);
				}
				break;
			case "email":
				if (!isEmail(field.value)) {
					errMsg = EMAIL_ERROR.replace("{0}", field.label);					
				}
				break;
			case "numericstring": //ex: ssn broken down 222-22-4444
				if (isNaN(field.value)) {
					errMsg = NUMBER_ERROR.replace("{0}", field.label);
				}				
				else if  ((field.maxlength != null) && (field.minlength != null) && (field.value.length > field.maxlength || field.value.length < field.minlength)) {
					if (field.maxlength == field.minlength) {
						errMsg = LENGTH0_ERROR.replace("{0}", field.label);
						errMsg = errMsg.replace("{1}", field.minlength);
						errMsg = errMsg.replace("{2}", field.maxlength);
					}
					else {
						errMsg = LENGTH1_ERROR.replace("{0}", field.label);
						errMsg = errMsg.replace("{1}", field.minlength);
						errMsg = errMsg.replace("{2}", field.maxlength);
					}
				}				
				else if ((field.maxlength != null) && (field.value.length > field.maxlength)) {
					errMsg = LENGTH3_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.maxlength);
				}				
				else if ((field.minlength != null) && (field.value.length < field.minlength)) {
					errMsg = LENGTH2_ERROR.replace("{0}", field.label);
					errMsg = errMsg.replace("{1}", field.minlength);
				}
		}
	}
	return errMsg;
}

function whyIfill() {
	var childwin = window.open('http://www.openauto.com/pages/whyfill.aspx','why', 'width=700,height=440,addressbar=0,titlebar=0,toolbar=0,location=0,directories=0,statusbar=0,menubar=0,scrollbars=0,resizable=1');
	childwin.focus();
}

function f_08WhyIfill(){
	var childwin = window.open('http://www.openauto.com/pages/08WhyIfill.aspx','why', 'width=700,height=440,addressbar=0,titlebar=0,toolbar=0,location=0,directories=0,statusbar=0,menubar=0,scrollbars=0,resizable=1');
	childwin.focus();
}

function dealWhyIfill(){
	var childwin = window.open('http://www.openauto.com/pages/dealWhyIfill.aspx','why', 'width=700,height=440,addressbar=0,titlebar=0,toolbar=0,location=0,directories=0,statusbar=0,menubar=0,scrollbars=0,resizable=1');
	childwin.focus();
}
function s_hidePopup() {
	var d = null;
	eval("d = document.getElementById('s_popup');");
	if (d != null) {
		d.style.visibility = "hidden";
		d.style.display = "none";
	}
}

function s_showPopup() {
	var d = null;
	eval("d = document.getElementById('s_popup');");
	if (d != null) {
		d.style.top = posTop()+((pageHeight()-parseInt(d.style.height))/2)-12;
		d.style.left = posLeft()+((pageWidth()-parseInt(d.style.width))/2)-12;
		d.style.visibility = "visible";
		d.style.display = "block";
		d.style.zIndex=998;
	}
}

function make_showPopup() {
	s_showPopup();
}

function pageWidth() {return window.innerWidth != null? window.innerWidth: document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body != null? document.body.clientWidth:null;}
function pageHeight() {return window.innerHeight != null? window.innerHeight: document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body != null? document.body.clientHeight:null;}
function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement && document.documentElement.scrollLeft? document.documentElement.scrollLeft:document.body.scrollLeft? document.body.scrollLeft:0;}
function posTop() {return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement && document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;}



//------------------------
// form validations....
//------------------------


function validateForm(form) {
	var errMsg = "";
	var field;	
	var make = "";
	var make1 = "";
	var make2 = "";
	var model = "";
	var model1 = "";
	var model2 = "";
	
	var makeName = "";
	var makeName2 = "";
	var modelName = "";
	var modelName2 = "";
	
	var fulltrim = '';
	var VerticalBarLocation = 0;


	if (testIsValidObject(document.forms[0].Trim)) {
		fullTrim = document.forms[0].Trim.value;
		VerticalBarLocation = fullTrim.indexOf('|'); 
		document.forms[0].vehicle_nmb.value = Left(fullTrim, VerticalBarLocation);
	}

	if (testIsValidObject(document.forms[0].Trim1)) {
		fullTrim = document.forms[0].Trim1.value;
		VerticalBarLocation = fullTrim.indexOf('|'); 
		document.forms[0].vehicle_nmb2.value = Left(fullTrim, VerticalBarLocation);
	}


	if (testIsValidObject(document.forms[0].Trim2)) {
		fullTrim = document.forms[0].Trim2.value;
		VerticalBarLocation = fullTrim.indexOf('|'); 
		document.forms[0].vehicle_nmb3.value = Left(fullTrim, VerticalBarLocation);
	}
	
	if (testIsValidObject(document.forms[0].Make)) {
		make = document.forms[0].Make.value;
	}
	
	if (testIsValidObject(document.forms[0].Make1)) {
		make1 = document.forms[0].Make1.value;
	}

	if (testIsValidObject(document.forms[0].Make2)) {
		make2 = document.forms[0].Make2.value;
	}
	

	if (make != "") {

		if (make=="" || make=="0"  || make=="Select Make"){
			alert("Please select a Make");
			return false;	
		}
		if (testIsValidObject(document.forms[0].Model)) {
			model = document.forms[0].Model.value;
			if (model == "0" && b_enforce_mdl_trm)
			{
				alert("Please select a Model");
				return false;
			} else if (model == "")
			{
				alert("Please select a Model");
				return false;
			}
		}
		if (testIsValidObject(document.forms[0].Trim)) {
			var t_jnk = document.forms[0].Trim.value;
			if (t_jnk == "0" && b_enforce_mdl_trm)
			{
				alert("Please select a Trim");
				return false;
			} else if (t_jnk == "")
			{
				alert("Please select a Trim");
				return false;
			}
		}
	}	
	
	if (make1 != "" && make1!="0" ) 
	{
		if (testIsValidObject(document.forms[0].Model1)) {
			model1 = document.forms[0].Model1.value;
			if (model1 == "0" && b_enforce_mdl_trm)
			{
				alert("Please select a Model");
				return false;
			} else if (model1 == "")
			{
				alert("Please select a Model");
				return false;
			}
		}
		if (areStringsEqual(make, make1) && areStringsEqual(model, model1)) {
			errMsg = DUPLICATE_MODEL_ERROR;
			alert(errMsg);
			return false;
		}

		if (testIsValidObject(document.forms[0].Trim1)) {
			var t_jnk = document.forms[0].Trim1.value;
			if (t_jnk == "0" && b_enforce_mdl_trm)
			{
				alert("Please select a Trim");
				return false;
			} else if (t_jnk == "")
			{
				alert("Please select a Trim");
				return false;
			}
		}
	}			
	
	if (make2 != "" && make2!="0" ) 
	{
		if (testIsValidObject(document.forms[0].Model2)) {
			model2 = document.forms[0].Model2.value;
			if (model2 == "0" && b_enforce_mdl_trm)
			{
				alert("Please select a Model");
				return false;
			} else if (model2 == "")
			{
				alert("Please select a Model");
				return false;
			}
		}
		
		if (areStringsEqual(make, make1) && areStringsEqual(model, model1)) {
			errMsg = DUPLICATE_MODEL_ERROR;
			alert(errMsg);
			return false;
		}
		if (areStringsEqual(make, make2) && areStringsEqual(model, model2)) {
			errMsg = DUPLICATE_MODEL_ERROR;
			alert(errMsg);
			return false;
		}
		if (areStringsEqual(make1, make2) && areStringsEqual(model1, model2)) {
			errMsg = DUPLICATE_MODEL_ERROR;
			alert(errMsg);
			return false;
		}
		if (testIsValidObject(document.forms[0].Trim2)) {
			var t_jnk = document.forms[0].Trim2.value;
			if (t_jnk == "0" && b_enforce_mdl_trm)
			{
				alert("Please select a Trim");
				return false;
			} else if (t_jnk == "")
			{
				alert("Please select a Trim");
				return false;
			}
		}
	}

	// prevent duplicate logic for the conquest page...
	if (testIsValidObject(document.forms[0].MakeName)) {
		makeName = document.forms[0].MakeName.value;
	}
	
	if (testIsValidObject(document.forms[0].MakeName2)) {
		makeName2 = document.forms[0].MakeName2.value;
	}
	
	if (testIsValidObject(document.forms[0].ModelName)) {
		modelName = document.forms[0].ModelName.value;
	}

	if (testIsValidObject(document.forms[0].ModelName2)) {
		modelName2 = document.forms[0].ModelName2.value;
	}

	if (makeName != "") {
		
		if (testIsValidObject(document.forms[0].Make1)) {
			make1 = document.forms[0].Make1.options[document.forms[0].Make1.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].Make2)) {
			make2 = document.forms[0].Make2.options[document.forms[0].Make2.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].Model1)) {
			model1 = document.forms[0].Model1.options[document.forms[0].Model1.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].Model2)) {
			model2 = document.forms[0].Model2.options[document.forms[0].Model2.selectedIndex].text;
		}
		
		if (make1=="" || make1=="0"  || make1=="Select Make"){
			errMsg = ADDITIONAL_MAKE_ERROR;
			alert(errMsg);
			return false;
		}

		
		if (areStringsEqual(makeName, make1)) {
			if (areStringsEqual(modelName, model1)) {
				errMsg = DUPLICATE_MODEL_ERROR;
				alert(errMsg);
				return false;
			}
		}	
	
		if (areStringsEqual(makeName, make2)) {
			if (areStringsEqual(modelName, model2)) {
				errMsg = DUPLICATE_MODEL_ERROR;
				alert(errMsg);
				return false;
			}
		}
		
		if (areStringsEqual(make1, make2)) {
			if (areStringsEqual(model1, model2)) {
				errMsg = DUPLICATE_MODEL_ERROR;
				alert(errMsg);
				return false;
			}
		}
	}

	if (makeName2 != "") {	
	
		if (testIsValidObject(document.forms[0].Make1)) {
			make1 = document.forms[0].Make1.options[document.forms[0].Make1.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].Make2)) {
			make2 = document.forms[0].Make2.options[document.forms[0].Make2.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].Model1)) {
			model1 = document.forms[0].Model1.options[document.forms[0].Model1.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].Model2)) {
			model2 = document.forms[0].Model2.options[document.forms[0].Model2.selectedIndex].text;
		}

		if (areStringsEqual(makeName2, make1)) {
		
			if (areStringsEqual(modelName2, model1)) {
				errMsg = DUPLICATE_MODEL_ERROR;
				alert(errMsg);
				return false;
			}
		}	
	
		if (areStringsEqual(makeName2, make2)) {
			if (areStringsEqual(modelName2, model2)) {
				errMsg = DUPLICATE_MODEL_ERROR;
				alert(errMsg);
				return false;
			}
		}

	}

	for (var i = 0; i < form.length; i++) {
		field = form.elements[i];
		errMsg = validateField(field);
		//show errorMsg if set
		if (errMsg != "") {
			alert(errMsg);
			field.focus();
			if (field.type == "text") field.select();
			return false;
		}
	}
	//profanity list check--
	for (var i = 0; i < form.length; i++) {
		field = form.elements[i];
		errMsg = profanityListcheck(field);
		if (errMsg != "") {
			alert(errMsg);
			field.focus();
			if (field.type == "text") field.select();
			return false;
		}
	}
	document.body.style.cursor = "wait";
	
	if (window.FL_submit_clicked) {
		FL_submit_clicked();
		return false;
	} else {
		return true;
	}

	//return true;
}


function as_validateForm(form) {
	var interMake="";
	var interModel="";
	var errMsg = "";
	var field;	
	var VerticalBarLocation = 0;
	var makeName1="";
	var makeName2="";
	var makeName3="";
	var modelName1="";
	var modelName2="";
	var modelName3="";
	var make1="";
	var make2="";
	var make3="";
	var model1="";
	var model2="";
	var model3="";

	if (testIsValidObject(document.forms[0].addMakeName)) {
		interMake = document.forms[0].addMakeName.value;
	}
	if (testIsValidObject(document.forms[0].addModelName)) {
		interModel = document.forms[0].addModelName.value;
	}

	if (testIsValidObject(document.forms[0].addMakeName1)) {
		makeName1 = document.forms[0].addMakeName1.value;
	}
	if (testIsValidObject(document.forms[0].addMakeName2)) {
		makeName2 = document.forms[0].addMakeName2.value;
	}
	if (testIsValidObject(document.forms[0].addMakeName3)) {
		makeName3 = document.forms[0].addMakeName3.value;
	}
	if (testIsValidObject(document.forms[0].addModelName1)) {
		modelName1 = document.forms[0].addModelName1.value;
	}
	if (testIsValidObject(document.forms[0].addModelName2)) {
		modelName2 = document.forms[0].addModelName2.value;
	}
	if (testIsValidObject(document.forms[0].addModelName3)) {
		modelName3 = document.forms[0].addModelName3.value;
	}
	
	if (interMake=="0" || interMake=="" ){
		errMsg = REQUIRED_MAKE_ERROR;
		alert(errMsg);
		document.forms[0].addMakeName.focus();
		return false;
	}
	if (interModel=="0" || interModel=="" ){
		errMsg = REQUIRED_MODEL_ERROR;
		alert(errMsg);
		document.forms[0].addModelName.focus();
		return false;
	}
	
	if (checkmakeselection(makeName1)) {
		if (testIsValidObject(document.forms[0].addMakeName1)) {
			make1 = document.forms[0].addMakeName1.options[document.forms[0].addMakeName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].addModelName1)) {
			model1 = document.forms[0].addModelName1.options[document.forms[0].addModelName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}
		
		//ad
		if (!checkmodelselection(model1)){
			errMsg = REQUIRED_MODEL_ERROR;
			alert(errMsg);
			document.forms[0].addModelName1.focus();
			return false;
		}
		//ad

		if (mc_makeNamesEqual(make1,make2)){
			errMsg = DUPLICATE_MODEL_ERROR;
		}
		if (mc_makeNamesEqual(make1,make3)){
			errMsg = DUPLICATE_MODEL_ERROR;
		}

		if (mc_makesEqual(makeName1, makeName2, makeName3)) {
			if (mc_modelsEqual(modelName1, modelName2,modelName3)) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}	

		if (errMsg != "") {
			alert(errMsg);
			return false;
		}
	}
	if (checkmakeselection(makeName2)) {
		if (testIsValidObject(document.forms[0].addMakeName1)) {
			make1 = document.forms[0].addMakeName1.options[document.forms[0].addMakeName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].addModelName1)) {
			model1 = document.forms[0].addModelName1.options[document.forms[0].addModelName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}

		if (mc_makesEqual(makeName2, makeName1, makeName3)) {
			if (mc_modelsEqual(modelName2, modelName1,modelName3)) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}
	if (checkmakeselection(makeName3)) {
		if (testIsValidObject(document.forms[0].addMakeName1)) {
			make1 = document.forms[0].addMakeName1.options[document.forms[0].addMakeName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].addModelName1)) {
			model1 = document.forms[0].addModelName1.options[document.forms[0].addModelName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}

		if (mc_makesEqual(makeName3, makeName1, makeName2)) {
			if (mc_modelsEqual(modelName3, modelName1,modelName2)) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	if (checkmakeselection(makeName1))
	{	
		if (mc_intMakeEqual(interMake,makeName1))
		{
			if (mc_intModelsEqual(interModel,modelName1)){
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	if (checkmakeselection(makeName2))
	{	
		if (mc_intMakeEqual(interMake,makeName2))
		{
			if (mc_intModelsEqual(interModel,modelName2)){
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}
	if (checkmakeselection(makeName3))
	{	
		if (mc_intMakeEqual(interMake,makeName3))
		{
			if (mc_intModelsEqual(interModel,modelName3)){
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}
	for (var i = 0; i < form.length; i++) {
		field = form.elements[i];
			errMsg = validateField(field);
		if (errMsg != "") {
			alert(errMsg);
				field.focus();
					if (field.type == "text") field.select();
					return false;
		}
	}

	return true;
}


function ac_validateForm(form) {
	
	var interMake="";
	var interModel="";
	var errMsg = "";
	var field;	
	var VerticalBarLocation = 0;
	var makeName1="";
	var makeName2="";
	var makeName3="";
	var modelName1="";
	var modelName2="";
	var modelName3="";
	var make1="";
	var make2="";
	var make3="";
	var model1="";
	var model2="";
	var model3="";
	
	
	interMake=document.forms[0].Make.value;
	interModel=document.forms[0].Model.value;

	var opt2make="";
	if (testIsValidObject(document.forms[0].MakeName2)) {
		opt2make = document.forms[0].MakeName2.value;
	}
	
	if (testIsValidObject(document.forms[0].addMakeName1)) {
		makeName1 = document.forms[0].addMakeName1.value;
	}
	if (testIsValidObject(document.forms[0].addMakeName2)) {
		makeName2 = document.forms[0].addMakeName2.value;
	}
	if (testIsValidObject(document.forms[0].addMakeName3)) {
		makeName3 = document.forms[0].addMakeName3.value;
	}
	if (testIsValidObject(document.forms[0].addModelName1)) {
		modelName1 = document.forms[0].addModelName1.value;
	}
	if (testIsValidObject(document.forms[0].addModelName2)) {
		modelName2 = document.forms[0].addModelName2.value;
	}
	if (testIsValidObject(document.forms[0].addModelName3)) {
		modelName3 = document.forms[0].addModelName3.value;
	}
	
	if (opt2make!="") {
		
		make1 = opt2make;
		model1 = document.forms[0].ModelName2.value;
				
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}
	
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}

		if (make1 == make2 || make1 == make3 ) {
			if (model1 == modelName2 || model1 == modelName3) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}

		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}


	if (checkmakeselection(makeName1)) {
		if (testIsValidObject(document.forms[0].addMakeName1)) {
			make1 = document.forms[0].addMakeName1.options[document.forms[0].addMakeName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].addModelName1)) {
			model1 = document.forms[0].addModelName1.options[document.forms[0].addModelName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}
		
		//ad
		if (!checkmodelselection(model1)){
			errMsg = REQUIRED_MODEL_ERROR;
			alert(errMsg);
			document.forms[0].addModelName1.focus();
			return false;
		}
		//ad

		if (mc_makeNamesEqual(make1,make2)){
			errMsg = DUPLICATE_MODEL_ERROR;
		}
		if (mc_makeNamesEqual(make1,make3)){
			errMsg = DUPLICATE_MODEL_ERROR;
		}
		
		if (mc_makesEqual(makeName1, makeName2, makeName3)) {
			if (mc_modelsEqual(modelName1, modelName2,modelName3)) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}

		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	if (checkmakeselection(makeName2)) {
		if (testIsValidObject(document.forms[0].addMakeName1)) {
			make1 = document.forms[0].addMakeName1.options[document.forms[0].addMakeName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].addModelName1)) {
			model1 = document.forms[0].addModelName1.options[document.forms[0].addModelName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}
		
		//ad
		if (!checkmodelselection(model2)){
			errMsg = REQUIRED_MODEL_ERROR;
			alert(errMsg);
			document.forms[0].addModelName2.focus();
			return false;
		}
		//ad

		if (mc_makesEqual(makeName2, makeName1, makeName3)) {
			if (mc_modelsEqual(modelName2, modelName1,modelName3)) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	if (checkmakeselection(makeName3)) {
		if (testIsValidObject(document.forms[0].addMakeName1)) {
			make1 = document.forms[0].addMakeName1.options[document.forms[0].addMakeName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName2)) {
			make2 = document.forms[0].addMakeName2.options[document.forms[0].addMakeName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addMakeName3)) {
			make3 = document.forms[0].addMakeName3.options[document.forms[0].addMakeName3.selectedIndex].text;
		}

		if (testIsValidObject(document.forms[0].addModelName1)) {
			model1 = document.forms[0].addModelName1.options[document.forms[0].addModelName1.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName2)) {
			model2 = document.forms[0].addModelName2.options[document.forms[0].addModelName2.selectedIndex].text;
		}
		if (testIsValidObject(document.forms[0].addModelName3)) {
			model3 = document.forms[0].addModelName3.options[document.forms[0].addModelName3.selectedIndex].text;
		}

		//ad
		if (!checkmodelselection(model3)){
			errMsg = REQUIRED_MODEL_ERROR;
			alert(errMsg);
			document.forms[0].addModelName3.focus();
			return false;
		}
		//ad

		if (mc_makesEqual(makeName3, makeName1, makeName2)) {
			if (mc_modelsEqual(modelName3, modelName1,modelName2)) {
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	if (checkmakeselection(makeName1))
	{	
		if (mc_intMakeEqual(interMake,makeName1))
		{
			if (mc_intModelsEqual(interModel,modelName1)){
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	if (checkmakeselection(makeName2))
	{	
		if (mc_intMakeEqual(interMake,makeName2))
		{
			if (mc_intModelsEqual(interModel,modelName2)){
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}
	if (checkmakeselection(makeName3))
	{	
		if (mc_intMakeEqual(interMake,makeName3))
		{
			if (mc_intModelsEqual(interModel,modelName3)){
				errMsg = DUPLICATE_MODEL_ERROR;
			}
		}
		if (errMsg != "") {
				alert(errMsg);
			return false;
		}
	}

	for (var i = 0; i < form.length; i++) {
		field = form.elements[i];
			errMsg = validateField(field);
		if (errMsg != "") {
			alert(errMsg);
			field.focus();
			if (field.type == "text") field.select();
			return false;
		}
	}

	return true;
}


function mc_makesEqual(string1, string2, string3) {
	var makeequal=false;
	if (checkmakeselection(string2)){
		if (trimString(string1.toLowerCase().toString())== trimString(string2.toLowerCase().toString())){
		makeequal=true;
		}
	}
	if (checkmakeselection(string3)){
		if (trimString(string1.toLowerCase().toString())== trimString(string3.toLowerCase().toString())){
		makeequal=true;
		}
	}
	return makeequal;
}

function mc_modelsEqual(string1, string2, string3) {
	var modelequal=false;
	if (checkmodelselection(string2)){
		if (trimString(string1.toLowerCase().toString())== trimString(string2.toLowerCase().toString())){
		modelequal=true;
		}
	}
	if (checkmodelselection(string3)){
		if (trimString(string1.toLowerCase().toString())== trimString(string3.toLowerCase().toString())){
		modelequal=true;
		}
	}
	return modelequal;
}

function mc_intMakeEqual(string1, string2) {
	var makeequal=false;
	if (checkmakeselection(string2)){
		if (trimString(string1.toLowerCase().toString())== trimString(string2.toLowerCase().toString())){
		makeequal=true;
		}
	}
	return makeequal;
}

function mc_intModelsEqual(string1, string2) {
	var modelequal=false;
	if (checkmodelselection(string2)){
		if (trimString(string1.toLowerCase().toString())== trimString(string2.toLowerCase().toString())){
		modelequal=true;
	}
	}
	return modelequal;
}

function mc_makeNamesEqual(string1, string2) {
	var makeequal=false;
	if (checkmakenameselection(string2)){
		if (trimString(string1.toLowerCase().toString())== trimString(string2.toLowerCase().toString())){
		makeequal=true;
		}
	}
	return makeequal;
}

function checkmakenameselection(string){
	var strmodelflag=false;
	if (trimString(string)!="Select Make"){
		strmodelflag=true;
	}
	return strmodelflag;
}

function checkmodelselection(string){
	var strmodelflag=false;
	if (trimString(string)!="Select Model"){
		strmodelflag=true;
	}
	return strmodelflag;
}

function checkmakeselection(string){
	var strmakeflag=false;
	if (parseInt(string)>0){
		strmakeflag=true;
	}
	return strmakeflag;
}



//-----foreclosed functions-------------------------------------------->
function zc_validateForm(form){


	var errMsg="";
	var zc_zip="";
	var zc_citystate="";
	var ng="";
	

	if (testIsValidObject(document.forms[0].ng)){
		ng=document.forms[0].ng.value;
	}
	if (ng+""!=""){
		switch(ng){
			case "3": 
				if (document.getElementById('scombo').style.visibility=="hidden"){
					REQ_ZC_ERROR ="Please enter your zip code";
				}
				else{
					REQ_ZC_ERROR ="Please enter your zip code OR city, state";
				}
				break;
			case "6": 
				if (document.getElementById('scombo').style.visibility=="hidden"){
					REQ_ZC_ERROR ="Please enter your zip code";
				}
				else{
					REQ_ZC_ERROR ="Please enter your zip code OR city, state";
				}
				break;
			case "57": 
				if (document.getElementById('scombo').style.visibility=="hidden"){
					REQ_ZC_ERROR ="Please enter your zip code";
				}
				else{
					REQ_ZC_ERROR ="Please enter your zip code OR city, state";
				}
				break;
		}
	}

	if (testIsValidObject(document.forms[0].Zip)){
		zc_zip=document.forms[0].Zip.value;
	}
	if (testIsValidObject(document.forms[0].citystate_combo)){
		zc_citystate=document.forms[0].citystate_combo.value;
	}

	/* added - 09/09*/
	if (zc_zip+""==""){
		zc_zip = INIT_Z_VALUE;
	}
	if (zc_citystate+""==""){
		zc_citystate = INIT_C_VALUE;
	}	

	if (zc_zip == INIT_Z_VALUE &&  zc_citystate == INIT_C_VALUE){
		errMsg=REQ_ZC_ERROR;
	}
	if (zc_zip == "" && zc_citystate == ""){
		errMsg=REQ_ZC_ERROR;
	}
	if (zc_zip == INIT_Z_VALUE && zc_citystate == ""){
		errMsg=REQ_ZC_ERROR;
	}
	if (zc_zip == "" && zc_citystate == INIT_C_VALUE){
		errMsg=REQ_ZC_ERROR;
	}
	if (zc_zip!="" && zc_zip != INIT_Z_VALUE){
		if (!isZip(zc_zip)){
			errMsg=VALID_Z_ERROR;
		}
	}
	if (zc_citystate != INIT_C_VALUE && zc_zip!=""){
		errMsg = z_profanityListcheck(zc_citystate);
	}
	if (errMsg != "") {
		alert(errMsg);
		return false;
	}
	if (trimString(zc_zip) == INIT_Z_VALUE ){
		if (testIsValidObject(document.forms[0].Zip)){
		document.forms[0].Zip.value="";
		}
	}
	if (trimString(zc_citystate) == INIT_C_VALUE){
		if (testIsValidObject(document.forms[0].citystate_combo)){
		document.forms[0].citystate_combo.value="";
		}
	}
	return true;
}

function z_profanityListcheck(value){
	var z_errMsg = "";
	var z_nvalue="";
	var z_fvalue=value.toLowerCase().replace(" ","");
	z_fvalue=trimString(z_fvalue);
	for (var i = 0; i < profanity.length; i++) {
	if (profanity[i]!=""){
		z_nvalue=trimString(profanity[i].replace(" ",""));
		if (areStringsEqual(z_fvalue,z_nvalue)){
			z_errMsg= REQ_ZC_ERROR;
			break;
		}
		if (z_fvalue.indexOf(z_nvalue)!=-1){
			z_errMsg= REQ_ZC_ERROR;
			break;
		}
	  }
	}
	return z_errMsg;
}

//----------GMC Dealer Validation--------------------------------------------------->
function dealerGmc_validateForm(form){

	if (testIsValidObject(document.forms[0].ds_p0_all)){
	var df_select_one ="false";
	for(var i = 0;i<document.forms[0].ds_p0_one.length;i++) { 
	 if(document.forms[0].ds_p0_one[i].checked){
		df_select_one="true";
		break;
	 } 
	} 
	if (df_select_one=="false") {
	alert("Please select dealer(s) to see vehicle #1 clearance.");
	return false;
	}
	}

	if (testIsValidObject(document.forms[0].ds_p1_all)){
	var ds_select_one ="false";
	for(var i = 0;i<document.forms[0].ds_p1_one.length;i++) { 
	 if(document.forms[0].ds_p1_one[i].checked){
		ds_select_one="true";
		break;
	 } 
	} 
	if (ds_select_one=="false") {
	alert("Please select dealer(s) to see vehicle #2 clearance.");
	return false;
	}
	}
	if (testIsValidObject(document.forms[0].ds_p2_all)){
	var ds_select_one ="false";
	for(var i = 0;i<document.forms[0].ds_p2_one.length;i++) { 
	 if(document.forms[0].ds_p2_one[i].checked){
		ds_select_one="true";
		break;
	 } 
	} 
	if (ds_select_one=="false") {
	alert("Please select dealer(s) to see vehicle #3 clearance.");
	return false;
	}
	}
	if (testIsValidObject(document.forms[0].ds_p3_all)){
	var ds_select_one ="false";
	for(var i = 0;i<document.forms[0].ds_p3_one.length;i++) { 
	 if(document.forms[0].ds_p3_one[i].checked){
		ds_select_one="true";
		break;
	 } 
	} 
	if (ds_select_one=="false") {
	alert("Please select dealer(s) to see vehicle #4 clearance.");
	return false;
	}
	}
	return true;	
}
