var spouse=new Array("","","","","","","");

function checkSubmit(form){									
	form.redirect.value="http://www.compare5quotes.com/exit/thanks-life.jsp?addressZip="+form.address_1_zip.value+"&firstName="+form.first_name.value;
	//First name cannot contain a number
	if(!noNum(form.first_name.value)) {
		alert("Your first name appears to have been entered incorrectly. Please re-enter your first name.");
		form.first_name.focus();
		return false;
	}
	
	//First name cannot be blank
	if(form.first_name.value=="") {
		alert("Please enter your first name.");
		form.first_name.focus();
		return false;
	}
	
	//Last name cannot contain a number
	if(!noNum(form.last_name.value)) {
		alert("Your last name appears to have been entered incorrectly. Please re-enter your last name.");
		form.last_name.focus();
		return false;
	}

	//Last name must be at least two characters long
	if(form.last_name.value=="" || form.last_name.value.length < 2) {
		alert("Please enter your last name.");
		form.last_name.focus();
		return false;
	}

	//Street address must contain at least 1 letter and 1 number
	if(form.address_1_street1.value=="" || !validAddress(form.address_1_street1.value)) {
		alert("Your address appears to have been entered incorrectly. Please re-enter your address, including your street name and number.");
		form.address_1_street1.focus();
		return false;
	}

	//City cannot contain a number
	if(!noNum(form.address_1_city.value)) {
		alert("The name of your city appears to have been entered incorrectly. Please re-enter the name of your city or town.");
		form.address_1_city.focus();
		return false;
	}
	
	//City cannot be blank
	if(form.address_1_city.value=="") {
		alert("Please enter the name of your city or town.");
		form.address_1_city.focus();
		return false;
	}
		
	//State must be selected
	if(form.address_1_state.value=="") {
		alert("Please select the state you live in.");
		form.address_1_state.focus();
		return false;
	}

	//Zip must be 5 numbers
	if(form.address_1_zip.value=="" || isNaN(form.address_1_zip.value) || form.address_1_zip.value.length != 5) {
		alert("Your Zip code appears to have been entered incorrectly. Please re-enter your Zip code.");
		form.address_1_zip.value="";
		form.address_1_zip.focus();
		return false;
	}

	var stripped=form.phone.value.replace(/[\(\)\.\-\ ]/g,'');

	//Phone number must be all numbers
	if(isNaN(stripped) || stripped.length!=10) {
		alert("Your phone number appears to have been entered incorrectly. Please re-enter your phone number.");
		document.getElementById('phone').focus();
		return false;
	}

	stripped=form.phone2.value.replace(/[\(\)\.\-\ ]/g,'');

	//Phone number must be all numbers
	if(isNaN(stripped) || stripped.length!=10) {
		alert("Your phone number appears to have been entered incorrectly. Please re-enter your phone number.");
		document.getElementById('phone2').focus();
		return false;
	}

	//Email cannot be left blank
	if(form.email.value == "") {
		alert("Please enter your email address.");
		form.email.focus();
		return false;
	}

	//Email must be in a proper format
	if (!emailCheck(form.email.value)) {
		alert ("Your email address appears to have been entered incorrectly. Please re-enter your email address, using the format \"name@domain.com\"");
		form.email.focus();
		return false;
	}
	
	//Email domain must have a valid extension
	if(!validDomain(form.email.value)) {
		alert("Your email address appears to have been entered incorrectly. Please re-enter your email address, using the format \"name@domain.com\"");
		form.email.focus();
		return false;
	}

	if(form.insured_1_gender.value == "") {
		alert("Please select your gender.");
		form.insured_1_gender.focus();
		return false;
	}

	//Date of birth month must be a valid month
	if(form.insured_1_dobMM.value=="" || isNaN(form.insured_1_dobMM.value) || parseInt(form.insured_1_dobMM.value*1)<1 || parseInt(form.insured_1_dobMM.value*1)>12) {
		alert('Your date of birth appears to have been entered incorrectly. Please re-enter your date of birth, using the format "Month, Day, Year."\nExample: 8/20/1970');
		form.insured_1_dobMM.value="";
		form.insured_1_dobMM.focus();
		return false;
	}

	//Date of birth day must be a valid day
	if(form.insured_1_dobDD.value=="" || isNaN(form.insured_1_dobDD.value) || parseInt(form.insured_1_dobDD.value*1)<1 || parseInt(form.insured_1_dobDD.value*1)>31) {
		alert('Your date of birth appears to have been entered incorrectly. Please re-enter your date of birth, using the format "Month, Day, Year."\nExample: 8/20/1970');
		form.insured_1_dobDD.value="";
		form.insured_1_dobDD.focus();
		return false;
	}

	//Date of birth year must be a valid year
	if(form.insured_1_dobYYYY.value=="" || isNaN(form.insured_1_dobYYYY.value) || parseInt(form.insured_1_dobYYYY.value)<1886 || parseInt(form.insured_1_dobYYYY.value)>2007) {
		alert('Your date of birth appears to have been entered incorrectly. Please re-enter your date of birth, using the format "Month, Day, Year."\nExample: 8/20/1970');
		form.insured_1_dobYYYY.value="";
		form.insured_1_dobYYYY.focus();
		return false;
	}

	//Insured 1 height in feet must be selected
	if(form.insured_1_heightFT.value=="" || isNaN(form.insured_1_heightFT.value)) {
		alert("Please select your height in feet and inches.");
		form.insured_1_heightFT.focus();
		return false;
	}

	//Insured 1 height in inches must be selected
	if(form.insured_1_heightIN.value=="" || isNaN(form.insured_1_heightIN.value)) {
		alert("Please select your height in feet and inches.");
		form.insured_1_heightIN.focus();
		return false;
	}

	//Insured 1 weight has to be a number greated than 1
	if(form.insured_1_weight.value=="" || isNaN(form.insured_1_weight.value) || parseInt(form.insured_1_weight.value)<1) {
		alert("Please enter your weight in pounds.\nExample: 200");
		form.insured_1_weight.value="";
		form.insured_1_weight.focus();
		return false;
	}

	//Inusred 1 BMI must be between 10 and 100
	if(bmi(form.insured_1_weight.value,form.insured_1_heightFT.value,form.insured_1_heightIN.value)) {
		alert("Your height and weight appears to have been entered incorrectly. Please re-enter your height and weight.");
		form.insured_1_weight.focus();
		return false;
	}

	if (form.insured_1_coverage_amount.value=="Select"){
		alert("Please select a desired Coverage Amount.");
		form.insured_1_coverage_amount.focus();
		return false;
	}

	if (form.insured_1_term_length.value=="Select"){
		alert("Please select a desired Term Length.");
		form.insured_1_term_length.focus();
		return false;
	}
	
	/*
	//Check if have conditions was selected
	if(document.getElementById("insured_1_health_conditions_yes").checked) {
		var conditionDetail=form.insured_1_health_conditions_detail.value;
		
		//If have conditions was selected and no conditions were selected
		if(trim(conditionDetail).length<3 || conditionDetail == "None listed") {
			alert("Please specify and preexisting health conditions. If you have no pre-existing conditions, please select \"No\".");
			return false;
		}
	}
	else
		form.insured_1_health_conditions_detail.value="None listed";
	*/
	return true;
}

function displayCompany() {

	if(document.getElementById("insured_1_current_policy_yes").checked) {
		document.getElementById("current_policy").style.display = "";
	} else {
		document.getElementById("current_policy").style.display = "none";
		document.getElementById("current_policy_company").value = "";
	}

}

function unSetConditions() {

	document.getElementById("aids").checked=false;
	document.getElementById("alzheimer").checked=false;
	document.getElementById("heart-disease").checked=false;
	document.getElementById("kidney-disease").checked=false;
	document.getElementById("liver-disease").checked=false;
	document.getElementById("mental-illness").checked=false;
	document.getElementById("pulmonary-disease").checked=false;
	document.getElementById("stroke").checked=false;

}

function makePopUp(whereTo,winWidth,winHeight) {
	remote= window.open("","remotewin","width="+winWidth+",height="+winHeight+",menubar=0,toolbar=no,scrollbars=yes");
	remote.location.href = whereTo;remote.focus();
}

function getDocObj(elem,parent) {
	if(document.layers) {
		if(parent) {
			return "document."+parent+".document."+elem;
		} else {
			return "document."+elem;
		}
	} else if(document.all) {
		return "document.all."+ elem;
	} else if(document.getElementById) {
		return "document.getElementById('"+elem+"')";
	}
}

function displayCommentBox(commentId, val) {
	if(val == "yes") {
		eval(getDocObj(commentId)).style.display="";
	}
	
	if(val == "no") {
		eval(getDocObj(commentId)).style.display="none";
	}
}

function emailCheck(emailStr){
   var emailPat=/^(.+)@(.+)$/
   var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
   var validChars="\[^\\s" + specialChars + "\]"
   var quotedUser="(\"[^\"]*\")"
   var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
   var atom=validChars + '+';
   var word="(" + atom + "|" + quotedUser + ")";
   var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
   var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
   var matchArray=emailStr.match(emailPat)
   if(matchArray==null){return false;}
   var user=matchArray[1];
   var domain=matchArray[2];
   if(user.match(userPat)==null){return false;}
   var IPArray=domain.match(ipDomainPat);
   if(IPArray!=null){for(var i=1;i<=4;i++){if(IPArray[i]>255){return false;}}return true;}
   var domainArray=domain.match(domainPat);
   if(domainArray==null){return false;}
   var atomPat=new RegExp(atom,"g");
   var domArr=domain.match(atomPat);
   var len=domArr.length;
   if(domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3){return false;}
   if(len<2){var errStr="This address is missing a hostname!";return false;}
   return true;
}

function ltrim(s){return s.replace(/^\s*/,"");}
function rtrim(s){return s.replace(/\s*$/,"");}
function trim(s){return rtrim(ltrim(s));}

function noNum(s){
	for(var i = 0; i < s.length; i++)
		if(!isNaN(s.charAt(i)) && s.charAt(i)!=" ")
			return false;
	return true;
}

function validAddress(s) {
	var numbers = false;
	var letters = false;
	for(var i = 0; i < s.length; i++) {
		if(!isNaN(s.charAt(i)) && s.charAt(i)!=" ")
			numbers = true;
		else
			letters = true;
		if(numbers && letters)
			return true;
	}
	return false;	
}

function validDomain(email){
	//Divide email by @
	var split_email = email.split("@");
	
	var domain=split_email[1];
	
	while(domain.indexOf(".")!=-1){
		//Find extension by splitting domain by .
		domain = domain.slice(domain.indexOf(".")+1);
	}

	var valid=false;
	
	//Array of possible domain extensions
	var valid_domains = new Array("aero","asia","biz","cat","com","coop","edu","gov","info","int","jobs","mil","mobi","museum","name","net","org","pro","tel","travel","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kr","kw","ky","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md", "mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","su","sv","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zw");
	
	//Check if domain extension is valid
	for(var i = 0; i < valid_domains.length; i++) {
		if(domain==valid_domains[i])
			valid=true;
	}
	
	return valid;
}

//Checks if BMI is valid, returns true if BMI is not valid
function bmi(w,hFT,hIN){
	//calculate height in inches
	var h = ((hFT * 12) + (hIN * 1));
	//calculate BMI
	var bmi = 703 * (w/(h*h));
	//Pass if BMI is not valid
	if(bmi > 100 || bmi < 10)
		return true;
	return false;
}

function setConditions() {
	document.getElementById("insured_1_health_conditions_detail").value=(((document.getElementById("aids").checked)?"HIV/AIDS / ":"")+""+((document.getElementById("heart-disease").checked)?"Heart Disease / ":"")+""+((document.getElementById("mental-illness").checked)?"Mental Illness / ":"")+""+((document.getElementById("alzheimer").checked)?"Alzheimer's / ":"")+""+((document.getElementById("kidney-disease").checked)?"Kidney Disease / ":"")+""+((document.getElementById("pulmonary-disease").checked)?"Pulmonary Disease / ":"")+""+((document.getElementById("cancer").checked)?"Cancer / ":"")+""+((document.getElementById("liver-disease").checked)?"Liver Disease / ":"")+""+((document.getElementById("stroke").checked)?"Stroke / ":"@").replace("/ @",""));
}