function autofocus(field, limit, next) {
	if(field.value.length == limit) {
		next.focus();
	}
}
function minNum(one, two){
 if(one > two){
	//alert(" one ="+one+" two="+two+" return "+two);
	return two;
 }
 else{
	//alert(" one ="+one+" two="+two+" return "+one);
	return one;
 }
}

function getUppNum2(midNum){
	if(midNum ==-1){
		return -1;
	}	
	else if(midNum ==0){
		return 0;
	}
	else if(midNum+2500 <=200000){
		return (midNum+2500);		
	}
	else if(midNum+5000 <=400000){
		return (midNum+5000);		
	}
	else{
		return (midNum+10000);		
	}
}

function getUppNum(midNum){
	if(midNum ==0){
		return 0;
	}
	else if(midNum+2500 <=200000){
		return (midNum+2500);		
	}
	else if(midNum+5000 <=400000){
		return (midNum+5000);		
	}
	else{
		return (midNum+10000);		
	}
}
function getUppNumEst(midNum){
	if(midNum <100000){
		return 100000;
	}
	else if(midNum+2500 <=200000){
		return (midNum+2500);		
	}
	else if(midNum+5000 <=400000){
		return (midNum+5000);		
	}
	else{
		return (midNum+10000);		
	}
}
function getUppNumEstQuicken(midNum){
	if(midNum <=200000){
		return (midNum+2500);		
	}
	else if(midNum+5000 <=400000){
		return (midNum+5000);		
	}
	else{
		return (midNum+25000);		
	}
}
function getUppNumFirst(midNum){
	if(midNum <50000){
		return 50000;
	}
	else if(midNum+2500 <=200000){
		return (midNum+2500);		
	}
	else if(midNum+5000 <=400000){
		return (midNum+5000);		
	}
	else{
		return (midNum+10000);		
	}
}
function getUppNumFirstQuicken(midNum){
	if(midNum <=200000){
		return (midNum+2500);		
	}
	else if(midNum+5000 <=400000){
		return (midNum+5000);		
	}
	else{
		return (midNum+25000);		
	}
}

function getMidNum(uppNum){
	if(uppNum ==0){
		return 0;
	}
	else if(uppNum <= 200000){
		return (uppNum-2500);
	}
	else if(uppNum <= 400000){
		return (uppNum - 5000);		
	}
	else{
		return (uppNum - 10000);		
	}
}

function printDollar(given){	
	given =""+given;
	var strNum ="";		
	var size = given.length;
	var time =0;	
	for(i=size-1; i>=0; i--){			
		if(time !=0){
			if(time%3 ==0){
				strNum = ","+strNum;
			}
		}
		strNum =  given.charAt(i)+ strNum;
		time++;		
	}		
	return strNum;
}

function checkBasicName(str){	
	regExp = /\w{1,}/;
	if (!regExp.test(str)){
	   return false;	
	}
	return true;	
}

function searchClosedValueIndex(obj, refNum){
	//alert("going to search refnum="+refNum);
	if(obj){
		for(i=0; i<obj.length;i++){
			var value_next = getUppNum(parseInt(obj.options[i].value));
			if(value_next >= refNum){
				if(i==0){
					return 0;
				}
				else{
					var value_prev = getUppNum(parseInt(obj.options[i-1].value));
					var temp = (value_next + value_prev)/2;
					
					return (refNum < temp)? i-1 : i;					
				}
			}
		}
	}
	return 0;
}

function searchClosedValueIndexQuicken(obj, refNum){
	//alert("going to search refnum="+refNum);
	if(obj){
		for(i=0; i<obj.length;i++){
			var value_next = parseInt(obj.options[i].value);
			if(value_next >= refNum){
				if(i==0){
					return 0;
				}
				else{
					var value_prev = getUppNum(parseInt(obj.options[i-1].value));
					var temp = (value_next + value_prev)/2;
					return (refNum < temp)? i-1 : i;					
				}
			}
		}
	}
	return 0;
}

function searchClosedValue(obj, refNum){
	
	var index = searchClosedValueIndex(obj,refNum);
		
	return obj[index].value;
}
function showhideElement(flag, formNum){
	var val_est = getUppNumEst(parseInt(document.application.estimateValue.value));
	var val_1 = getUppNumFirst(parseInt(document.application.firstBalance.value));

	if(flag ==0){
		showElement('secondMortgageFields');
		createMenuSecond(val_est - val_1, formNum);
	}
	else{
		hideElement('secondMortgageFields');
		//alert(" est ="+val_est+ " 1st="+val_1);
		if(formNum ==2){
			addCashMenu2(val_est - val_1);
		}
		else{
			addCashMenu(val_est - val_1, formNum);
		}
	}
}

function showElement(strID) {
	try { document.getElementById(strID).style.display = ""; } catch(ex) {}
}

function hideElement(strID) {
	try { document.getElementById(strID).style.display = "none"; } catch(ex) {}
}

function trimString (str) {
	if(str =='')
		return str;
  while (str.charAt(0) == ' ')
    str = str.substring(1);
  while (str.charAt(str.length - 1) == ' ')
    str = str.substring(0, str.length - 1);
  return str;
}

/*function validateFormPage1( form ) {
	if (form.propertyStateCode.value.length==0 ) {
	  alert( "Please select your Property State." );
	  form.propertyStateCode.focus();
	  return false;
	}
	else if (form.typeOfLoan.value.length==0 ) {
	  alert( "Please select your Type of Loan." );
	  form.typeOfLoan.focus();
	  return false;
	}
	return true;
}*/

function validateFormPage1( form ) {
	return true;
}

function validateFormPage2(form, formNum){
	//alert("Please enter a valid ZIPCODE");
	if (!validZip(form.zip.value)) {
		alert("Please enter a valid Property Zip Code ");	
		form.zip.focus();
		return false;
	}
	if(formNum ==4){
		return validateFormPage2c(form);
	}
	else if(formNum ==2){
		return validateFormPage2b(form);
	}
	else{
		return validateFormPage2a(form);
	}
}

function validateFormPage2_v2(form, formNum){
	//alert("Please enter a valid ZIPCODE");
	/*
	if (!validZip(form.zip.value)) {
		alert("Please enter a valid Property Zip Code ");	
		form.zip.focus();
		return false;
	}
	*/
	if(formNum ==4){
		return validateFormPage2c(form);
	}
	else if(formNum ==2){
		return validateFormPage2b(form);
	}
	else{
		return validateFormPage2a(form);
	}
}
var warnCount = 0;
function validateFormPage2a(form){
	var estvalue = getUppNumEst(parseInt(form.estimateValue.value));
	var balanceA = getUppNumFirst(parseInt(form.firstBalance.value));
	var balanceB = getUppNum(parseInt(form.secondBalance.value));
	var addcash = getUppNum(parseInt(form.additionalCash.value));;

	var totalSum = parseInt(balanceA)+parseInt(addcash);
	if(form.firstRate.value==""){
		alert("Please select First Mortgage Interest Rate");
		form.firstRate.focus();
		return false;
	}	
	if(form.secondRateRadio[0].checked == true){
		if(form.secondRate.value==""){
			alert("Please select your Second Mortgage Interest Rate");
			form.secondRate.focus();
			return false;
		}
		
		totalSum += parseInt(balanceB);
	}

	if(totalSum > estvalue *0.9){
		warnCount++;
		if(warnCount<=1) {
			if(confirm("Your loan to home value is more than 90%. "+
					"Please reduce the 1st or 2nd mortgage balance to obtain the lowest rates from multiple lenders. "+
					"Click \"Cancel\" to keep the current mortgage balance.")) {
				return false;
			}
		}
	}
	else if(totalSum < estvalue *0.76){
	
		var additionalCashOut = estvalue *0.76 - totalSum;
	
		var totalCashOut = minNum(parseInt(addcash)+additionalCashOut, 100000);

		additionalCashOut = totalCashOut - parseInt(addcash);
		
		if(additionalCashOut > 2500  && confirm("You have enough equity available to take out an additional $"
						+ printDollar(totalCashOut)	+ ". Click \"OK\" to increase your loan amount."
						+ " Click \"Cancel\" to keep the current loan amount.")){
			return changeExtraCashMenu(form, totalCashOut);
	    }
    }	
	return true;
}

function validateFormPage2b(form){
	var estvalue = getUppNumEst(parseInt(form.estimateValue.value));
	var balanceA = getUppNumFirst(parseInt(form.firstBalance.value));
	var balanceB = getUppNum(parseInt(form.secondBalance.value));
	var addcash;

	var temp = parseInt(form.additionalCash.value);
	
	if(temp <=40000){
		addcash =40000;
	}
	else if(temp+2500 <=200000){
		addcash = temp+2500;		
	}
	else if(temp+5000 <=400000){
		addcash = temp+5000;		
	}
	else{
		addcash = temp+10000;
	}
	

	var totalSum = parseInt(balanceA)+parseInt(addcash);
	if(form.firstRate.value==""){
		alert("Please select First Mortgage Interest Rate");
		form.firstRate.focus();
		return false;
	}	
	if(form.secondRateRadio[0].checked == true){
		if(form.secondRate.value==""){
			alert("Please select your Second Mortgage Interest Rate");
			form.secondRate.focus();
			return false;
		}
		
		totalSum += parseInt(balanceB);
	}

	if(totalSum > estvalue *0.9){
		warnCount++;
		if(warnCount<=1) {
			if(confirm("Your loan to home value is more than 90%. "+
					"Please reduce the total loan amount to obtain the lowest rates from multiple lenders. "+
					"Click \"Cancel\" to keep the current loan amount.")) {		
				return false;
			}
		}
	}
	else if(totalSum < estvalue *0.76){
	
		var additionalCashOut = estvalue *0.76 - totalSum;
	
		var totalCashOut = minNum(parseInt(addcash)+additionalCashOut, 100000);

		additionalCashOut = totalCashOut - parseInt(addcash);
		
		if(additionalCashOut > 2500  && confirm("You have enough equity available to take out an additional $"
						+ printDollar(totalCashOut)	+ ". Click \"OK\" to increase your loan amount."
						+ " Click \"Cancel\" to keep the current loan amount.")){
			return changeExtraCashMenu(form, totalCashOut);
	    }
    }	
	return true;
}

function changeExtraCashMenu(form, amount){	
	var nextIndex = searchClosedValueIndex(form.additionalCash, amount);
	form.additionalCash.options[nextIndex].selected = true;
	
	return true;
}
function validateFormPage2c(form){
	var userarea = form.propertyAreaCode.value;
	var phoneExp = /[^0-9]/;	
	if(phoneExp.test(userarea)){
		alert("Please enter a valid area code");
		form.propertyAreaCode.focus();
		return false; 
	}	
	var areacode = new Array(
	"201","202","203","204","205","206","207","208","209","210","212","213","214",
	"215","216","217","218","219","224","225","228","229","231","234","239","240",
	"242","246","248","250","251","252","253","254","256","260","262","264","267",
	"268","269","270","276","281","284","289","301","302","303","304","305","306",
	"307","308","309","310","312","313","314","315","316","317","318","319","320",
	"321","323","325","330","334","336","337","339","340","345","347","351","352",
	"360","361","386","401","402","403","404","405","406","407","408","409","410",
	"412","413","414","415","416","417","418","419","423","424","425","430","432",
	"434","435","440","441","443","450","456","469","473","478","479","480","484",
	"500","501","502","503","504","505","506","507","508","509","510","512","513",
	"514","515","516","517","518","519","520","530","540","541","551","559","561",
	"562","563","567","570","571","573","574","580","585","586","600","601","602",
	"603","604","605","606","607","608","609","610","612","613","614","615","616",
	"617","618","619","620","623","626","630","631","636","641","646","647","649",
	"650","651","660","661","662","664","670","671","678","682","684","700","701",
	"702","703","704","705","706","707","708","709","710","712","713","714","715",
	"716","717","718","719","720","724","727","731","732","734","740","754","757",
	"758","760","763","765","767","769","770","772","773","774","775","778","780",
	"781","784","785","786","787","800","801","802","803","804","805","806","807",
	"808","809","810","812","813","814","815","816","817","818","819","828","829",
	"830","831","832","843","845","847","848","850","856","857","858","859","860",
	"862","863","864","865","866","867","868","869","870","876","877","878","900",	
	"901","902","903","904","905","906","907","908","909","910","912","913","914",	
	"915","916","917","918","919","920","925","928","931","936","937","939","940",
	"941","947","949","951","952","954","956","970","971","972","973","978","979",
	"980","985","989");
	var found = false;
	for(i=0; i<areacode.length; i++){
		if(userarea ==areacode[i]){
			found = true;
			break;
		}
	}
	if(!found){
		alert("Please enter a valid area code");
		form.propertyAreaCode.focus();		
		return false;
	}	
	var  estvalue = getUppNumEst(parseInt(form.estimateValue.value));
	var  downvalue = getUppNum(parseInt(form.downPayment.value));	
	if(downvalue/estvalue < 0.099999999){
		warnCount++;
		if(warnCount<=1) {
			if(confirm("Since your downpayment is less than 10% of estimated value. "+
					"Please increase downpayment amount to obtain the lowest rates from multiple lenders. "+
					"Click \"Cancel\" to keep the current downpayment amount.")) {
				form.downPayment.focus();
				return false;
			}
		}
	}	
	return true;
}

function validateFormPage2quicken(form, formNum) {
	if (!validZip(form.zip.value)) {
		alert("Please enter a valid Property Zip Code ");	
		form.zip.focus();
		return false;
	}
	if(formNum == 4){
		return validateFormPage2quickenpurchase(form);
	}
	else {
		return validateFormPage2quickenrefinance(form);
	}
}

function validateFormPage2quickenrefinance(form) {
	var estvalue = getUppNumEst(parseInt(form.estimateValue.value));
	var balanceA = getUppNumFirst(parseInt(form.firstBalance.value));
	if(balanceA > estvalue *0.9){
		warnCount++;
		if(warnCount<=1) {
			if(confirm("Your loan to home value is more than 90%. "+
					"Please reduce the 1st mortgage balance to obtain the lowest rates from multiple lenders. "+
					"Click \"Cancel\" to keep the current mortgage balance.")) {
				return false;
			}
		}
	}
	return true;
}

function validateFormPage2quickenpurchase(form) {
	var  estvalue = getUppNumEst(parseInt(form.estimateValue.value));
	var  downvalue = getUppNum(parseInt(form.downPayment.value));	
	if(downvalue/estvalue < 0.099999999){
		warnCount++;
		if(warnCount<=1) {
			if(confirm("Since your downpayment is less than 10% of estimated value. "+
					"Please increase downpayment amount to obtain the lowest rates from multiple lenders. "+
					"Click \"Cancel\" to keep the current downpayment amount.")) {
				form.downPayment.focus();
				return false;
			}
		}
	}	
	return true;
}


function validateFormPage3(form){
	
  	if (!checkName(form.firstName.value)) {
		alert("Please enter a valid first name");
		form.firstName.focus();
		return false;
	}
	else if (!checkName(form.lastName.value)) {
		alert("Please enter a valid last name");
		form.lastName.focus();
		return false;
	}
	else if (!isValidAddress(form.address.value)) {
		alert("Please enter a valid address");
		form.address.focus();
		return false;
	}
	else if (!isValidCity(form.city.value)) {
		alert("Please enter a valid zip/city");
		//form.city.focus();
		return false;
	}
    else if (form.state.value ==""){
		alert("Please enter valid zip/state");
		form.state.focus();
		return false;
	}
    
    else if (!isValidEmail(form.email.value)) {
		alert("Please enter a valid email");
		form.email.focus();
		return false;
	}
	
	form.primaryPhone.value = form.primaryPhone1.value+form.primaryPhone2.value+form.primaryPhone3.value;
	form.secondaryPhone.value = form.secondaryPhone1.value+form.secondaryPhone2.value+form.secondaryPhone3.value;
	if (!isValidPhone(form.primaryPhone.value, form.primaryPhone2.value+form.primaryPhone3.value,
			form.secondaryPhone.value, form.secondaryPhone2.value+form.secondaryPhone3.value)) {		
		form.primaryPhone1.focus();
		return false;
	}  
	hideIt('finalSubmit');
	showIt('busyIcon');
  return true;
}

function showIt(givenname){	
	var atag = document.getElementById(givenname);
	if(atag){
		atag.style.display ="block";
	}
}

function hideIt(givenname){	
	var atag = document.getElementById(givenname);
	if(atag){
		atag.style.display ="none";
	}
}

function validZip(zipnum){

	//var zipnum = trimString(document.UserForm.zip.value);
		////doing zipcode check ////
	zipcode = Array (
		"005", "006", "007", "008", "009", "010", "011", "012", "013", "014", "015", "016", "017", 
		"018", "019", "020", "021", "022", "023", "024", "025", "026", "027", "028", "029", "030", 
		"031", "032", "033", "034", "035", "036", "037", "038", "039", "040", "041", "042", "043", 
		"044", "045", "046", "047", "048", "049", "050", "051", "052", "053", "054", "055", "056", 
		"057", "058", "059", "060", "061", "062", "063", "064", "065", "066", "067", "068", "069", 
		"070", "071", "072", "073", "074", "075", "076", "077", "078", "079", "080", "081", "082", 
		"083", "084", "085", "086", "087", "088", "089", "090", "091", "092", "093", "094", "095", 
		"096", "097", "098", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", 
		"110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", 
		"123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", 
		"136", "137", "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", 
		"149", "150", "151", "152", "153", "154", "155", "156", "157", "158", "159", "160", "161", 
		"162", "163", "164", "165", "166", "167", "168", "169", "170", "171", "172", "173", "174", 
		"175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", "186", "187", 
		"188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", 
		"201", "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "214", 
		"215", "216", "217", "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", 
		"228", "229", "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", "240", 
		"241", "242", "243", "244", "245", "246", "247", "248", "249", "250", "251", "252", "253", 
		"254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", "266", 
		"267", "268", "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", 
		"281", "282", "283", "284", "285", "286", "287", "288", "289", "290", "291", "292", "293", 
		"294", "295", "296", "297", "298", "299", "300", "301", "302", "303", "304", "305", "306", 
		"307", "308", "309", "310", "311", "312", "313", "314", "315", "316", "317", "318", "319", 
		"320", "321", "322", "323", "324", "325", "326", "327", "328", "329", "330", "331", "332", 
		"333", "334", "335", "336", "337", "338", "339", "340", "341", "342", "344", "346", "347", 
		"349", "350", "351", "352", "354", "355", "356", "357", "358", "359", "360", "361", "362", 
		"363", "364", "365", "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", 
		"376", "377", "378", "379", "380", "381", "382", "383", "384", "385", "386", "387", "388", 
		"389", "390", "391", "392", "393", "394", "395", "396", "397", "398", "399", "400", "401", 
		"402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", 
		"415", "416", "417", "418", "420", "421", "422", "423", "424", "425", "426", "427", "430", 
		"431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", "442", "443", 
		"444", "445", "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", 
		"457", "458", "459", "460", "461", "462", "463", "464", "465", "466", "467", "468", "469", 
		"470", "471", "472", "473", "474", "475", "476", "477", "478", "479", "480", "481", "482", 
		"483", "484", "485", "486", "487", "488", "489", "490", "491", "492", "493", "494", "495", 
		"496", "497", "498", "499", "500", "501", "502", "503", "504", "505", "506", "507", "508", 
		"509", "510", "511", "512", "513", "514", "515", "516", "520", "521", "522", "523", "524", 
		"525", "526", "527", "528", "530", "531", "532", "534", "535", "537", "538", "539", "540", 
		"541", "542", "543", "544", "545", "546", "547", "548", "549", "550", "551", "553", "554", 
		"555", "556", "557", "558", "559", "560", "561", "562", "563", "564", "565", "566", "567", 
		"569", "570", "571", "572", "573", "574", "575", "576", "577", "580", "581", "582", "583", 
		"584", "585", "586", "587", "588", "590", "591", "592", "593", "594", "595", "596", "597", 
		"598", "599", "600", "601", "602", "603", "604", "605", "606", "607", "608", "609", "610", 
		"611", "612", "613", "614", "615", "616", "617", "618", "619", "620", "622", "623", "624", 
		"625", "626", "627", "628", "629", "630", "631", "633", "634", "635", "636", "637", "638", 
		"639", "640", "641", "644", "645", "646", "647", "648", "649", "650", "651", "652", "653", 
		"654", "655", "656", "657", "658", "660", "661", "662", "664", "665", "666", "667", "668", 
		"669", "670", "671", "672", "673", "674", "675", "676", "677", "678", "679", "680", "681", 
		"683", "684", "685", "686", "687", "688", "689", "690", "691", "692", "693", "700", "701", 
		"703", "704", "705", "706", "707", "708", "710", "711", "712", "713", "714", "716", "717", 
		"718", "719", "720", "721", "722", "723", "724", "725", "726", "727", "728", "729", "730", 
		"731", "733", "734", "735", "736", "737", "738", "739", "740", "741", "743", "744", "745", 
		"746", "747", "748", "749", "750", "751", "752", "753", "754", "755", "756", "757", "758", 
		"759", "760", "761", "762", "763", "764", "765", "766", "767", "768", "769", "770", "772", 
		"773", "774", "775", "776", "777", "778", "779", "780", "781", "782", "783", "784", "785", 
		"786", "787", "788", "789", "790", "791", "792", "793", "794", "795", "796", "797", "798", 
		"799", "800", "801", "802", "803", "804", "805", "806", "807", "808", "809", "810", "811", 
		"812", "813", "814", "815", "816", "820", "821", "822", "823", "824", "825", "826", "827", 
		"828", "829", "830", "831", "832", "833", "834", "835", "836", "837", "838", "840", "841", 
		"842", "843", "844", "845", "846", "847", "850", "852", "853", "855", "856", "857", "859", 
		"860", "863", "864", "865", "870", "871", "873", "874", "875", "877", "878", "879", "880", 
		"881", "882", "883", "884", "885", "889", "890", "891", "893", "894", "895", "897", "898", 
		"900", "901", "902", "903", "904", "905", "906", "907", "908", "910", "911", "912", "913", 
		"914", "915", "916", "917", "918", "919", "920", "921", "922", "923", "924", "925", "926", 
		"927", "928", "930", "931", "932", "933", "934", "935", "936", "937", "938", "939", "940", 
		"941", "942", "943", "944", "945", "946", "947", "948", "949", "950", "951", "952", "953", 
		"954", "955", "956", "957", "958", "959", "960", "961", "962", "963", "964", "965", "966", 
		"967", "968", "969", "970", "971", "972", "973", "974", "975", "976", "977", "978", "979", 
		"980", "981", "982", "983", "984", "985", "986", "988", "989", "990", "991", "992", "993", 
		"994", "995", "996", "997", "998", "999");

		var testzip = zipnum.substring(0,3);
		//alert("all fields are ok, but right now submit is disable "+testzip);
		var isZip = false;
		for(i=0; i<zipcode.length; i++){
			if(testzip == zipcode[i]){
			//alert("all fields are ok, but right now submit is disable "+zipcode[i]);
				isZip = true;
				break;
			}
		}

		return isZip;
		/*if(!isZip){
			return false;
		}
		return true;*/
}

function isValidZip(zipvalue, stateName){	
	zipExp = /[^0-9]/;
	var zipnum = trimString(zipvalue);	
	if(zipExp.test(zipnum)){
		alert("Please enter a 5-digit zip code");
		return false;
	}	
	else if(zipnum.length != 5){
		alert("Please enter a 5-digit zip code");
		return false;	
	}
	else {
		zipcode = Array ("00000","005NY","006PR","007PR","008VI","009PR","010MA","011MA","012MA","013MA","014MA","015MA",
		"016MA","017MA","018MA","019MA","020MA","021MA","022MA","023MA","024MA","025MA","026MA","027MA","028RI","029RI",
		"030NH","031NH","032NH","033NH","034NH","035NH","036NH","037NH","038NH","039ME","040ME","041ME","042ME","043ME",
		"044ME","045ME","046ME","047ME","048ME","049ME","050VT","051VT","052VT","053VT","054VT","055MA","056VT","057VT",
		"058VT","059VT","060CT","061CT","062CT","063CT","063NY","064CT","065CT","066CT","067CT","068CT","069CT","070NJ",
		"071NJ","072NJ","073NJ","074NJ","075NJ","076NJ","077NJ","078NJ","079NJ","080NJ","081NJ","082NJ","083NJ","084NJ",
		"085NJ","086NJ","087NJ","088NJ","089NJ","090AE","091AE","092AE","093AE","094AE","095AE","096AE","097AE","098AE",
		"100NY","101NY","102NY","103NY","104NY","105NY","106NY","107NY","108NY","109NY","110NY","111NY","112NY","113NY",
		"114NY","115NY","116NY","117NY","118NY","119NY","120NY","121NY","122NY","123NY","124NY","125NY","126NY","127NY",
		"128NY","129NY","130NY","131NY","132NY","133NY","134NY","135NY","136NY","137NY","138NY","139NY","140NY","141NY",
		"142NY","143NY","144NY","145NY","146NY","147NY","148NY","149NY","150PA","151PA","152PA","153PA","154PA","155PA",
		"156PA","157PA","158PA","159PA","160PA","161PA","162PA","163PA","164PA","165PA","166PA","167PA","168PA","169PA",
		"170PA","171PA","172PA","173PA","174PA","175PA","176PA","177PA","178PA","179PA","180PA","181PA","182PA","183PA",
		"184PA","185PA","186PA","187PA","188PA","189PA","190PA","191PA","192PA","193PA","194PA","195PA","196PA","197DE",
		"198DE","199DE","200DC","201VA","202DC","203DC","204DC","205DC","206MD","207MD","208MD","209MD","210MD","211MD",
		"212MD","214MD","215MD","216MD","217MD","218MD","219MD","220VA","221VA","222VA","223VA","224VA","225VA","226VA",
		"227VA","228VA","229VA","230VA","231VA","232VA","233VA","234VA","235VA","236VA","237VA","238VA","239VA","240VA",
		"241VA","242VA","243VA","244VA","245VA","246VA","247WV","248WV","249WV","250WV","251WV","252WV","253WV","254WV",
		"255WV","256WV","257WV","258WV","259WV","260WV","261WV","262WV","263WV","264WV","265WV","266WV","267WV","268WV",
		"270NC","271NC","272NC","273NC","274NC","275NC","276NC","277NC","278NC","279NC","280NC","281NC","282NC","283NC",
		"284NC","285NC","286NC","287NC","288NC","289NC","290SC","291SC","292SC","293SC","294SC","295SC","296SC","297SC",
		"298SC","299SC","300GA","301GA","302GA","303GA","304GA","305GA","306GA","307GA","308GA","309GA","310GA","311GA",
		"312GA","313GA","314GA","315GA","316GA","317GA","318GA","319GA","320FL","321FL","322FL","323FL","324FL","325FL",
		"326FL","327FL","328FL","329FL","330FL","331FL","332FL","333FL","334FL","335FL","336FL","337FL","338FL","339FL",
		"340AA","341FL","342FL","344FL","346FL","347FL","349FL","350AL","351AL","352AL","354AL","355AL","356AL","357AL",
		"358AL","359AL","360AL","361AL","362AL","363AL","364AL","365AL","366AL","367AL","368AL","369AL","370TN","371TN",
		"372TN","373TN","374TN","375TN","376TN","377TN","378TN","379TN","380TN","381TN","382TN","383TN","384TN","385TN",
		"386MS","387MS","388MS","389MS","390MS","391MS","392MS","393MS","394MS","395MS","396MS","397MS","398GA","399GA",
		"400KY","401KY","402KY","403KY","404KY","405KY","406KY","407KY","408KY","409KY","410KY","411KY","412KY","413KY",
		"414KY","415KY","416KY","417KY","418KY","419KY","420KY","421KY","422KY","423KY","424KY","425KY","426KY","427KY",
		"430OH","431OH","432OH","433OH","434OH","435OH","436OH","437OH","438OH","439OH","440OH","441OH","442OH","443OH",
		"444OH","445OH","446OH","447OH","448OH","449OH","450OH","451OH","452OH","453OH","454OH","455OH","456OH","457OH",
		"458OH","459OH","460IN","461IN","462IN","463IN","464IN","465IN","466IN","467IN","468IN","469IN","470IN","471IN",
		"472IN","473IN","474IN","475IN","476IN","477IN","478IN","479IN","480MI","481MI","482MI","483MI","484MI","485MI",
		"486MI","487MI","488MI","489MI","490MI","491MI","492MI","493MI","494MI","495MI","496MI","497MI","498MI","499MI",
		"500IA","501IA","502IA","503IA","504IA","505IA","506IA","507IA","508IA","509IA","510IA","511IA","512IA","513IA",
		"514IA","515IA","516IA","520IA","521IA","522IA","523IA","524IA","525IA","526IA","527IA","528IA","530WI","531WI",
		"532WI","534WI","535WI","537WI","538WI","539WI","540WI","541WI","542WI","543WI","544WI","545WI","546WI","547WI",
		"548WI","549WI","550MN","551MN","553MN","554MN","555MN","556MN","557MN","558MN","559MN","560MN","561MN","562MN",
		"563MN","564MN","565MN","566MN","567MN","569DC","570SD","571SD","572SD","573SD","574SD","575SD","576SD","577SD",
		"580ND","581ND","582ND","583ND","584ND","585ND","586ND","587ND","588ND","590MT","591MT","592MT","593MT","594MT",
		"595MT","596MT","597MT","598MT","599MT","600IL","601IL","602IL","603IL","604IL","605IL","606IL","607IL","608IL",
		"609IL","610IL","611IL","612IL","613IL","614IL","615IL","616IL","617IL","618IL","619IL","620IL","622IL","623IL",
		"624IL","625IL","626IL","627IL","628IL","629IL","630MO","631MO","633MO","634MO","635MO","636MO","637MO","638MO",
		"639MO","640MO","641MO","644MO","645MO","646MO","647MO","648MO","649MO","650MO","651MO","652MO","653MO","654MO",
		"655MO","656MO","657MO","658MO","660KS","661KS","662KS","664KS","665KS","666KS","667KS","668KS","669KS","670KS",
		"671KS","672KS","673KS","674KS","675KS","676KS","677KS","678KS","679KS","680NE","681NE","683NE","684NE","685NE",
		"686NE","687NE","688NE","689NE","690NE","691NE","692NE","693NE","700LA","701LA","703LA","704LA","705LA","706LA",
		"707LA","708LA","710LA","711LA","712LA","713LA","714LA","716AR","717AR","718AR","719AR","720AR","721AR","722AR",
		"723AR","724AR","725AR","726AR","727AR","728AR","729AR","730OK","731OK","733TX","734OK","735OK","736OK","737OK",
		"738OK","739OK","740OK","741OK","743OK","744OK","745OK","746OK","747OK","748OK","749OK","750TX","751TX","752TX",
		"753TX","754TX","755TX","756TX","757TX","758TX","759TX","760TX","761TX","762TX","763TX","764TX","765TX","766TX",
		"767TX","768TX","769TX","770TX","772TX","773TX","774TX","775TX","776TX","777TX","778TX","779TX","780TX","781TX",
		"782TX","783TX","784TX","785TX","786TX","787TX","788TX","789TX","790TX","791TX","792TX","793TX","794TX","795TX",
		"796TX","797TX","798TX","799TX","800CO","801CO","802CO","803CO","804CO","805CO","806CO","807CO","808CO","809CO",
		"810CO","811CO","812CO","813CO","814CO","815CO","816CO","820WY","821WY","822WY","823WY","824WY","825WY","826WY",
		"827WY","828WY","829WY","830WY","831WY","832ID","833ID","834ID","834WY","835ID","836ID","837ID","838ID","840UT",
		"841UT","842UT","843UT","844UT","845UT","846UT","847UT","850AZ","852AZ","853AZ","855AZ","856AZ","857AZ","859AZ",
		"860AZ","863AZ","864AZ","865AZ","870NM","871NM","873NM","874NM","875NM","877NM","878NM","879NM","880NM","881NM",
		"882NM","883NM","884NM","885TX","889NV","890NV","891NV","893NV","894NV","895NV","897NV","898NV","900CA","901CA",
		"902CA","903CA","904CA","905CA","906CA","907CA","908CA","910CA","911CA","912CA","913CA","914CA","915CA","916CA",
		"917CA","918CA","919CA","920CA","921CA","922CA","923CA","924CA","925CA","926CA","927CA","928CA","930CA","931CA",
		"932CA","933CA","934CA","935CA","936CA","937CA","938CA","939CA","940CA","941CA","942CA","943CA","944CA","945CA",
		"946CA","947CA","948CA","949CA","950CA","951CA","952CA","953CA","954CA","955CA","956CA","957CA","958CA","959CA",
		"960CA","961CA","962AP","963AP","964AP","965AP","966AP","967AS","967HI","968HI","969FM","969GU","969MH","969MP",
		"969PW","970OR","971OR","972OR","973OR","974OR","975OR","976OR","977OR","978OR","979OR","980WA","981WA","982WA",
		"983WA","984WA","985WA","986WA","988WA","989WA","990WA","991WA","992WA","993WA","994WA","995AK","996AK","997AK",
		"998AK","99999","999AK");
		var testState = zipnum.substring(0,3)+stateName;
		var isZip = false;
		for(i=0; i<zipcode.length; i++){
			if(testState == zipcode[i]){
				isZip = true;
				break;
			}
		}
		if(!isZip){
			alert("The zip code appears not to be appropriate for the state. Please confirm!");			
			return false;
		}	
	}
	return true;	
}
function isValidAddress(strAddress) {
	if(!checkBasicName(strAddress)){ return false; }
	strAddress = trimString(strAddress);
	if (strAddress.length < 3) { return false; }
	if (strAddress.replace(/[^0-9]/g, "").length < 1) { return false; }
	if (strAddress.replace(/[^A-Za-z]/g, "").length < 1) { return false; }
	return true;
}

function isValidPhone(wp,phonecheck,hp,phonecheck1) {
	
	var skipHp = false;
	var skipWp = false;
	
	var areacode = new Array(
	"201","202","203","204","205","206","207","208","209","210","212","213","214",
	"215","216","217","218","219","224","225","228","229","231","234","239","240",
	"242","246","248","250","251","252","253","254","256","260","262","264","267",
	"268","269","270","276","281","284","289","301","302","303","304","305","306",
	"307","308","309","310","312","313","314","315","316","317","318","319","320",
	"321","323","325","330","334","336","337","339","340","345","347","351","352",
	"360","361","386","401","402","403","404","405","406","407","408","409","410",
	"412","413","414","415","416","417","418","419","423","424","425","430","432",
	"434","435","440","441","443","450","456","469","473","478","479","480","484",
	"500","501","502","503","504","505","506","507","508","509","510","512","513",
	"514","515","516","517","518","519","520","530","540","541","551","559","561",
	"562","563","567","570","571","573","574","580","585","586","600","601","602",
	"603","604","605","606","607","608","609","610","612","613","614","615","616",
	"617","618","619","620","623","626","630","631","636","641","646","647","649",
	"650","651","660","661","662","664","670","671","678","682","684","700","701",
	"702","703","704","705","706","707","708","709","710","712","713","714","715",
	"716","717","718","719","720","724","727","731","732","734","740","754","757",
	"758","760","763","765","767","769","770","772","773","774","775","778","780",
	"781","784","785","786","787","800","801","802","803","804","805","806","807",
	"808","809","810","812","813","814","815","816","817","818","819","828","829",
	"830","831","832","843","845","847","848","850","856","857","858","859","860",
	"862","863","864","865","866","867","868","869","870","876","877","878","900",	
	"901","902","903","904","905","906","907","908","909","910","912","913","914",	
	"915","916","917","918","919","920","925","928","931","936","937","939","940",
	"941","947","949","951","952","954","956","970","971","972","973","978","979",
	"980","985","989");


	if(trimString(wp) !=""){
		if(wp.length !=10){
				alert("Enter a valid primary phone number");
				//document.UserForm.workphone1.focus();
				return false;		
		}

		found = false;
		var userarea = wp.substring(0,3);
		for(i=0; i<areacode.length; i++){
			if(userarea ==areacode[i]){
				found = true;
				break;
			}
		}
		if(!found){
			alert("The area code of primary phone number appears to be invalid. Please confirm!");
			//document.UserForm.workphone1.focus();
			return false;
		}
		
		var phoneExp = /[^0-9]/;
		if(phoneExp.test(phonecheck)){
		alert("Please enter a valid primary phone number");
			return false; 
		}
		
		if(phonecheck == "1234567" || phonecheck =="0000000" ||
			phonecheck == "4567890" || phonecheck == "1111111" || phonecheck == "2222222" ||
			phonecheck == "3333333" || phonecheck == "4444444" || phonecheck == "5555555" ||
			phonecheck == "6666666" || phonecheck == "7777777" || phonecheck == "8888888" ||
			phonecheck == "9999999"){
			alert("Enter a valid primary phone number");
			//document.UserForm.workphone1.focus();
			return false;
		}
	}
	else{
		alert("Primary phone number is compulsory");
			//document.UserForm.workphone1.focus();
			return false;		
	}	

	
	
	if(trimString(hp) !=""){
		 if(hp.length !=10){
			alert("Enter a valid secondary phone number");
			//document.UserForm.homephone1.focus();
			return false;		
		}

		var found = false;var userarea = hp.substring(0,3);
		for(i=0; i<areacode.length; i++){
			if(userarea ==areacode[i]){
				found = true;
				break;
			}
		}

		if(!found){
			alert("The area code of secondary phone number appears to be invalid. Please confirm!");
			//document.UserForm.homephone1.focus();
			return false;
		}
		
		var phoneExp = /[^0-9]/;
		if(phoneExp.test(phonecheck1)){
		alert("Please enter a valid secondary phone number");
			return false; 
		}
		
		if(phonecheck1 == "1234567" ||phonecheck1 =="0000000" ||
			phonecheck1 == "4567890" || phonecheck1 == "1111111" || phonecheck1 == "2222222" ||
			phonecheck1 == "3333333" || phonecheck1 == "4444444" || phonecheck1 == "5555555" ||
			phonecheck1 == "6666666" || phonecheck1 == "7777777" || phonecheck1 == "8888888" ||
			phonecheck1 == "9999999"){
			alert("Enter a valid secondary phone number");
			//document.UserForm.homephone1.focus();
			return false;
		}
	}
	else{
		skipHp = true;
	}
		

	
	
	/*if(skipHp && skipWp){
		alert("Please provide at least one valid phone number");
		//document.UserForm.workphone1.focus();
		return false;
	}*/

	return true;

/*
	strCity = trimString(strPhone);
	if (strPhone.length < 10) { 
		alert("Please enter a valid phone number");
		return false; 
	}
	
	

if(phonecheck == "1234567" ||phonecheck =="0000000" ||
phonecheck == "4567890" || phonecheck == "1111111" || phonecheck == "2222222" ||
phonecheck == "3333333" || phonecheck == "4444444" || phonecheck == "5555555" ||
phonecheck == "6666666" || phonecheck == "7777777" || phonecheck == "8888888" ||
phonecheck == "9999999"){
alert("Enter a valid work/mobile phone number");

return false;
}
		
	var phoneRE = /^\(\d{3}\)\d{3}-\d{4}$/;	
	var phoneExp = /[^0-9]/;
	if(phoneExp.test(strPhone)){
		alert("Please enter a valid phone number");
		return false; 
	}	
	var areacode = new Array(
	"201","202","203","204","205","206","207","208","209","210","212","213","214",
	"215","216","217","218","219","224","225","228","229","231","234","239","240",
	"242","246","248","250","251","252","253","254","256","260","262","264","267",
	"268","269","270","276","281","284","289","301","302","303","304","305","306",
	"307","308","309","310","312","313","314","315","316","317","318","319","320",
	"321","323","325","330","334","336","337","339","340","345","347","351","352",
	"360","361","386","401","402","403","404","405","406","407","408","409","410",
	"412","413","414","415","416","417","418","419","423","424","425","430","432",
	"434","435","440","441","443","450","456","469","473","478","479","480","484",
	"500","501","502","503","504","505","506","507","508","509","510","512","513",
	"514","515","516","517","518","519","520","530","540","541","551","559","561",
	"562","563","567","570","571","573","574","580","585","586","600","601","602",
	"603","604","605","606","607","608","609","610","612","613","614","615","616",
	"617","618","619","620","623","626","630","631","636","641","646","647","649",
	"650","651","660","661","662","664","670","671","678","682","684","700","701",
	"702","703","704","705","706","707","708","709","710","712","713","714","715",
	"716","717","718","719","720","724","727","731","732","734","740","754","757",
	"758","760","763","765","767","769","770","772","773","774","775","778","780",
	"781","784","785","786","787","800","801","802","803","804","805","806","807",
	"808","809","810","812","813","814","815","816","817","818","819","828","829",
	"830","831","832","843","845","847","848","850","856","857","858","859","860",
	"862","863","864","865","866","867","868","869","870","876","877","878","900",	
	"901","902","903","904","905","906","907","908","909","910","912","913","914",	
	"915","916","917","918","919","920","925","928","931","936","937","939","940",
	"941","947","949","951","952","954","956","970","971","972","973","978","979",
	"980","985","989");
	var found = false;
	var userarea = strPhone.substring(0,3);
	for(i=0; i<areacode.length; i++){
		if(userarea ==areacode[i]){
			found = true;
			break;
		}
	}
	if(!found){
		alert("The area code of phone number appears to be invalid. Please confirm!");		
		return false;
	}		
    return true;
    */
}


function isValidCity(strCity) {
	if(!checkBasicName(strCity)){ return false; }
	strCity = trimString(strCity);
	if (strCity.length < 2) { return false; }
    //if (/[^A-Za-z -]/.test(strCity)) { return false; }
    if (strCity.match("/[^A-Za-z -]/")) { return false; }
    return true;
}
function isValidEmail(strEmail) {
  var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;  
  if(trimString(strEmail).length ==0 ){ return false;}  
  if (strEmail.length < 5) { return false; }  
  if (!strEmail.match(re)) { return false; }  
  return true;
}
function checkName(str){	
	nameExp = /[^a-zA-Z\-\s]/;
	var name = trimString(str);
	if(name.length <=1){
		return false;
	}
	else if (nameExp.test(str)){
	   return false;	
	}
	else {	
		var count = 1;
		var charCheck = name.charAt(0);
		
		for(i = 1; i < name.length; i++){
			if(charCheck == name.charAt(i)){
				count++;				
			}
			else{
				charCheck = name.charAt(i);
				count = 1;
			}
			if(count >=3){
				return false;
			}
		}
	}
	return true;	
}
function resetMenu(formNum){
	//alert("resetMenu called");
	if(formNum !=4){
		if(document.application.secondRateRadio[0].checked){
			showElement('secondMortgageFields');
		}		
	}
	changeMenuEst(formNum);
}

function changeMenuEst(formNum){
	//alert("changeEst() called");
	var maxNum =getUppNumEst(parseInt(document.application.estimateValue.value));	

	if(formNum ==4){
		createDomnPayMenu(maxNum);
	}
	else{
		createMenuFirst(maxNum, formNum);
	}

}

function changeMenuEstQuicken(formNum){
	//alert("changeEst() called");
	var maxNum =getUppNumEst(parseInt(document.application.estimateValue.value));	

	if(formNum ==4){
		updateDomnPayMenuQuicken(maxNum);
	}
	else{
		updateMenuFirstQuicken(maxNum);
	}

}

function updateDomnPayMenuQuicken(maxNum) {
	var index = searchClosedValueIndexQuicken(document.application.downPayment, maxNum*0.2);	
	document.application.downPayment.options[index].selected = true;
}
function updateMenuFirstQuicken(maxNum) {
	index = searchClosedValueIndexQuicken(document.application.firstBalance, maxNum*0.65);
	var midvalue = document.application.firstBalance.options[index].value;
	document.application.firstBalance.options[index].selected = true;
}

function changeMenuFirst(formNum){
	var val_est = getUppNumEst(parseInt(document.application.estimateValue.value));
	var val_1 = getUppNumFirst(parseInt(document.application.firstBalance.value));
	
	if(document.application.secondRateRadio[0].checked){
		createMenuSecond(val_est - val_1, formNum);		
	}
	else{
		if(formNum==1){
			createMenuCash(val_est - val_1);
		}
		else if(formNum==2){
			createMenuCash2(val_est - val_1);
		}
	}
}
function changeMenuSecond(formNum){
	var val_est = getUppNumEst(parseInt(document.application.estimateValue.value));
	var val_1 = getUppNumFirst(parseInt(document.application.firstBalance.value));
	var val_2 = getUppNum(parseInt(document.application.secondBalance.value));
	if(formNum ==1){
		createMenuCash(val_est - val_1 - val_2);
	}
	else if(formNum ==2){
		createMenuCash2(val_est - val_1 - val_2);
	}
}
function createMenuFirst(maxNum, formNum){
	for(i=document.application.firstBalance.length-1;i>=0;i--){
		document.application.firstBalance.options[i] = null;
	}	
	document.application.firstBalance.options[document.application.firstBalance.length] = 
								new Option("Below 50,000", "49500");	
	var num = 50000;
	var num_low;
	while(num+1 <= maxNum){			
		num_low = num;
		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}		
		document.application.firstBalance.options[document.application.firstBalance.length] = 
					new Option(printDollar(num_low+1)+" - "+printDollar(num), (num+num_low)/2);		
	}	
	var index;
	
	//alert("createing 1st mortgage, maxNum = "+maxNum);
	if(formNum ==1){
		index = searchClosedValueIndex(document.application.firstBalance, maxNum*0.65);
	}
	else{
		index = searchClosedValueIndex(document.application.firstBalance, minNum((maxNum-40000)*0.9,maxNum*0.65));
	}
	var midvalue = document.application.firstBalance.options[index].value;
	document.application.firstBalance.options[index].selected = true;	
	var max2Num = maxNum - getUppNumFirst(parseInt(midvalue));
	if(document.application.secondRateRadio[0].checked){
		createMenuSecond(max2Num, formNum);		
	}
	else{			
		if(formNum ==1){
			createMenuCash(max2Num);
		}
		else if(formNum ==2){
			createMenuCash2(max2Num);
		}		
	}	
}
function createMenuSecond(maxNum,formNum){	
	var temphold = 0;	
	if(document.application.secondBalance.length >0){
		temphold = getUppNum(parseInt(document.application.secondBalance.value));
	}


	for(i=document.application.secondBalance.length-1;i>=0;i--){
		document.application.secondBalance.options[i] = null;
	}	
	var num = 0;	
	var num_low;		
	document.application.secondBalance.options[document.application.secondBalance.length] = 
								new Option("0", "0");	
	while(num+1 <= maxNum){	
		
		num_low = printDollar(num+1)

		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}		
		document.application.secondBalance.options[document.application.secondBalance.length] = 
					new Option(num_low+" - "+printDollar(num), getMidNum(num));		
	}
	
	if(temphold !=0){
		if(temphold > maxNum){
			document.application.secondBalance.options[0].selected = true;	
		}		
		else{
			var index = searchClosedValueIndex(document.application.secondBalance, temphold);
			document.application.secondBalance.options[index].selected = true;	
		}
	}		
	maxNum = maxNum - getUppNum(parseInt(document.application.secondBalance.value));	
	if(formNum ==1){		
		createMenuCash(maxNum);
	}
	else if(formNum ==2){
		createMenuCash2(maxNum);
	}
}
function createMenuCash(maxNum){	
	//alert(" going to create cash menu, given maxNum ="+maxNum +", length="+document.application.additionalCash.length);
	var temphold = 0;
	
	if(document.application.additionalCash.length >0){
		//alert("document.application.additionalCash ="+document.application.additionalCash.value);
		temphold = getUppNum2(parseInt(document.application.additionalCash.value));
		if(temphold == -1){
			temphold = 0;
		}
	}
	
	for(i=document.application.additionalCash.length-1;i>=0;i--){
		document.application.additionalCash.options[i] = null;
	}		
	var num = 0;	
	var num_low;

	document.application.additionalCash.options[document.application.additionalCash.length] = 
								new Option("0", "0");
	while(num+1 <= maxNum){		
		num_low = printDollar(num+1)
		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}
		document.application.additionalCash.options[document.application.additionalCash.length] = 
					new Option(num_low+" - "+printDollar(num), getMidNum(num));		
	}
	
	if(temphold !=0){
		//alert("come here1 "+temphold);
		if(temphold > maxNum){
			if(maxNum <40000){
				document.application.additionalCash.options[document.application.additionalCash.length-1].selected = true;	
			}
			else{
				var index = searchClosedValueIndex(document.application.additionalCash, 40000);
				document.application.additionalCash.options[index].selected = true;	
			}
		}
		else{
			var index = searchClosedValueIndex(document.application.additionalCash, temphold);
			document.application.additionalCash.options[index].selected = true;	
		}
	}
	else if(maxNum <40000){
		//alert("come here2");
		document.application.additionalCash.options[document.application.additionalCash.length-1].selected = true;	
	}
	else{
		//alert("come here3");
		var index = searchClosedValueIndex(document.application.additionalCash, 40000);
		document.application.additionalCash.options[index].selected = true;	
	}
	
	
	
	
}
function createMenuCash2(maxNum){

	var temphold = 0;
	
	if(document.application.additionalCash.length >0){
		temphold = getUppNum(parseInt(document.application.additionalCash.value));
	}
	
	//alert(" going to create cash menu, given maxNum ="+maxNum);
	for(i=document.application.additionalCash.length-1;i>=0;i--){
		document.application.additionalCash.options[i] = null;
	}		
	var num = 40000;	
	var num_low;			
	document.application.additionalCash.options[document.application.additionalCash.length] = 
								new Option("Below 40,000", "40000");
	
	var ref = maxNum;
	if(maxNum >200000){
		ref = 200000;
	}
	while(num+1 <= ref){		
		num_low = printDollar(num+1)
		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}
		document.application.additionalCash.options[document.application.additionalCash.length] = 
					new Option(num_low+" - "+printDollar(num), getMidNum(num));		
	}
	
	if(maxNum >200000){
		document.application.additionalCash.options[document.application.additionalCash.length] = 
								new Option("Over 200,000", "200001");
	}
	
	
	if(temphold !=40000){
		if(temphold > maxNum){
			var index = searchClosedValueIndex(document.application.additionalCash, 40000);
			document.application.additionalCash.options[index].selected = true;			
		}
		else{
			var index = searchClosedValueIndex(document.application.additionalCash, temphold);
			document.application.additionalCash.options[index].selected = true;	
		}
	}	
}
function createDomnPayMenu(maxNum){	
	for(i=document.application.downPayment.length-1;i>=0;i--){
		document.application.downPayment.options[i] = null;
	}		
	var num = 5000;
	var num_low;
	while(num+1 <= maxNum){			
		num_low = num;
		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}		
		document.application.downPayment.options[document.application.downPayment.length] = 
					new Option(printDollar(num_low+1)+" - "+printDollar(num), (num+num_low)/2);		
	}	
	var index = searchClosedValueIndex(document.application.downPayment, maxNum*0.2);	
	document.application.downPayment.options[index].selected = true;
}
function addCashMenu(maxNum){		
	var num = getUppNum(parseInt(document.application.additionalCash.options[document.application.additionalCash.length-1].value));	
	var num_low;	
	while(num+1 <= maxNum){			
		num_low = printDollar(num+1)
		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}				
		document.application.additionalCash.options[document.application.additionalCash.length] = 
					new Option(num_low+" - "+printDollar(num), getMidNum(num));		
	}
}
function addCashMenu2(maxNum){		
	var num = getUppNum(parseInt(document.application.additionalCash.options[document.application.additionalCash.length-1].value));	
	var num_low;

	var ref = maxNum;
	if(maxNum >200000){
		ref = 200000;
	}
	while(num+1 <= ref){			
		num_low = printDollar(num+1)
		if(num <200000){
			num = num + 5000;			
		}
		else if(num < 400000){
			num = num + 10000;		
		}
		else{
			num = num + 20000;		
		}				
		document.application.additionalCash.options[document.application.additionalCash.length] = 
					new Option(num_low+" - "+printDollar(num), getMidNum(num));		
	}
	if(maxNum >200000){
		document.application.additionalCash.options[document.application.additionalCash.length] = 
								new Option("Over 200,000", "200001");
	}
}
function STMRCWindow(page, sHeight, swidth) {
	if (swidth && sHeight) {
			window.open(page, "CtrlWindow", ",toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,dependent=no,directories=no,width="+swidth+",height="+sHeight+",x=50,y=50");
		}
		else { 
			window.open(page, "CtrlWindow", "toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,dependent=no,directories=no,width=455,height=540,x=50,y=50");
		}
}

function changeAction (){
	if(SSNState(document.loanform.STATE.value) == false){
		document.loanform.action = document.loanform.LOC_ACTIONURL.value;
	}
}

function SSNState(state){
	if(	state =="AL" || state =="AR" || state =="AZ" || state =="CA" || state =="DE" ||
		state =="DC" || state =="FL" || state =="ID" || state =="IL" || 
		state =="IA" || state =="LA" || state =="ME" || state =="MD" || state =="MA" || 
		state =="MI" || state =="MN" || state =="MS" || state =="MO" || state =="NM" || 
		state =="NY" || state =="NC" || state =="ND" || state =="OK" || state =="OR" || 
		state =="PA" || state =="TN" || state =="TX" || state =="UT" || state =="VT" || 
		state =="VA" || state =="WA" || state =="WV" || state =="WY" ){
		return true;
	}	
	return false;	
}

function getSSNValue(){
	return getValue("mynum1")+getValue("mynum2")+getValue("mynum3");
}
function getValue(id){
	var atag  = document.getElementById(id);	
	if (atag){
		return atag.value;
	}
	else{
		return "";
	}
}

function showError(id, classname){
	var atag  = document.getElementById(id);	
	if (atag){
		atag.className = classname;
	}	
}

function hideError(id, classname){
	var atag  = document.getElementById(id);	
	if (atag){
		atag.className = classname;
	}
}

function validSSN(value){

	if(value.length != 9){
		return false;
	}
	else{
		if( value == "000000000" || 
			value == "111111111" || 
			value == "222222222" || 
			value == "333333333" || 
			value == "444444444" || 
			value == "555555555" || 
			value == "666666666" || 
			value == "777777777" || 
			value == "888888888" || 
			value == "999999999"){
			return false;
			
		}		
	}
	return true;
}


function onKeyPressOnlyNumbers(e){
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
		
	var keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) ||
	    (key==9) || (key==13) || (key==27) || (key==37) 
		|| (key==39) || (key==46) )
	   return true;

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
	   return true;

	return false;
}

function updateButton(){
	showIt('finalSubmit');
	hideIt('busyIcon');		  
  	return true;
}
