var spouse=new Array("","","","","","","");

function checkSubmit(form){				
	//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;
	}

	//First section of phone number must contain 3 characters, second section 3 charaters, third section 4 characters
	if(form.phone1.value == "" || form.phone_2.value == "" || form.phone3.value == "" || form.phone1.value.length < 3 || form.phone_2.value.length < 3 || form.phone3.value.length < 4) {
		alert("Your phone number appears to have been entered incorrectly. Please re-enter your phone number.");
		form.phone1.focus();
		return false;
	}
	
	//Combines phone number
	document.getElementById('phone').value = document.getElementById('phone1').value+document.getElementById('phone_2').value+document.getElementById('phone3').value;

	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('phone1').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;
	}

	//Gender must be selected for insured 1
	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 || hasSpace(form.insured_1_dobMM.value)) {
		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 || hasSpace(form.insured_1_dobDD.value)) {
		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 || hasSpace(form.insured_1_dobYYYY.value)) {
		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 insured 2 gender is selected
	if(spouse==1){
		//insured 2 date of birth month must be a valid month
		if(form.insured_2_dobMM.value=="" || isNaN(form.insured_2_dobMM.value) || parseInt(form.insured_2_dobMM.value*1)<1 || parseInt(form.insured_2_dobMM.value*1)>12  || hasSpace(form.insured_2_dobMM.value)) {
			alert("Your spouse's date of birth appears to have been entered incorrectly. Please re-enter your spouse's date of birth, using the format \"Month, Day, Year.\"\nExample: 8/21/1970");
			form.insured_2_dobMM.value="";
			form.insured_2_dobMM.focus();
			return false;
		}
		//insured 2 date of birth day must be a valid day
		if(form.insured_2_dobDD.value=="" || isNaN(form.insured_2_dobDD.value) || parseInt(form.insured_2_dobDD.value*1)<1 || parseInt(form.insured_2_dobDD.value*1)>31  || hasSpace(form.insured_2_dobDD.value)) {
			alert("Your spouse's date of birth appears to have been entered incorrectly. Please re-enter your spouse\'s date of birth, using the format \"Month, Day, Year.\"\nExample: 8/21/1970");
			form.insured_2_dobDD.value="";
			form.insured_2_dobDD.focus();
			return false;
		}
		//insured 2 date of birth year must be a valid year
		if(form.insured_2_dobYYYY.value=="" || isNaN(form.insured_2_dobYYYY.value) || parseInt(form.insured_2_dobYYYY.value)<1886 || parseInt(form.insured_2_dobYYYY.value)>2007   || hasSpace(form.insured_2_dobYYYY.value)) {
			alert("Your spouse's date of birth appears to have been entered incorrectly. Please re-enter your spouse's date of birth, using the format \"Month, Day, Year.\"\nExample: 8/21/1970");
			form.insured_2_dobYYYY.value="";
			form.insured_2_dobYYYY.focus();
			return false;
		}
		//insured 2 height in feet must be selected
		if(form.insured_2_heightFT.value=="" || isNaN(form.insured_2_heightFT.value)) {
			alert("Please select your spouse's height in feet and inches.");
			form.insured_2_heightFT.focus();
			return false;
		}
		//insured 2 height in inches must be selected
		if(form.insured_2_heightIN.value=="" || isNaN(form.insured_2_heightIN.value)) {
			alert("Please select your spouse's height in feet and inches.");
			form.insured_2_heightIN.focus();
			return false;
		}
		//insured 2 weight must be a number greater than 1
		if(form.insured_2_weight.value=="" || isNaN(form.insured_2_weight.value) || parseInt(form.insured_2_weight.value)<1) {
			alert("Please enter your spouse's weight in pounds.");
			form.insured_2_weight.value="";
			form.insured_2_weight.focus();
			return false;
		}
		//Inusred 2 BMI must be between 10 and 100
		if(bmi(form.insured_2_weight.value,form.insured_2_heightFT.value,form.insured_2_heightIN.value)) {
			alert("Your spouse's height and weight appears to have been entered incorrectly. Please re-enter your spouse's height and weight.");
			form.insured_1_weight.focus();
			return false;
		}
	}
	
	if((form.insured_2_dobMM.value!="" || form.insured_2_dobDD.value!="" || form.insured_2_dobYYYY.value!="" || form.insured_2_heightFT.value!="" || form.insured_2_heightIN.value!="" || form.insured_2_weight.value!="") && form.insured_2_gender.value=="") {
		alert("Please enter your spouse's gender.");
		return false;
	}
	
	//check all selected children
	for(i=3;i<=parseInt(eval(getDocObj("number_of_dependents")).value)+2;i++) {
		//gender must be selected
		if(eval(getDocObj("insured_"+i+"_gender")).value=="") {
			alert("Please select your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child\'s gender.");
			eval(getDocObj("insured_"+i+"_gender")).focus();
			return false;
		}
		//date of birth month must be a valid month
		if(eval(getDocObj("insured_"+i+"_dobMM")).value=="" ||isNaN(eval(getDocObj("insured_"+i+"_dobMM")).value) || parseInt(eval(getDocObj("insured_"+i+"_dobMM")).value*1)<1 || parseInt(eval(getDocObj("insured_"+i+"_dobMM")).value*1)>12  || hasSpace(eval(getDocObj("insured_"+i+"_dobMM")).value)) {
			alert("Your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child\'s date of birth appears to have been entered incorrectly. Please enter the date numerically, using the format \"Month, Day, Year.\"\nExample: 8/20/06");
			eval(getDocObj("insured_"+i+"_dobMM")).value="";
			eval(getDocObj("insured_"+i+"_dobMM")).focus();
			return false;
		}
		//date of birth day must be a valid day
		if(eval(getDocObj("insured_"+i+"_dobDD")).value=="" ||isNaN(eval(getDocObj("insured_"+i+"_dobDD")).value) || parseInt(eval(getDocObj("insured_"+i+"_dobDD")).value*1)<1 || parseInt(eval(getDocObj("insured_"+i+"_dobDD")).value*1)>31  || hasSpace(eval(getDocObj("insured_"+i+"_dobDD")).value)) {
			alert("Your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child\'s date of birth appears to have been entered incorrectly. Please enter the date numerically, using the format \"Month, Day, Year.\"\nExample: 8/20/06");
			eval(getDocObj("insured_"+i+"_dobDD")).value="";
			eval(getDocObj("insured_"+i+"_dobDD")).focus();
			return false;
		}
		//date of birth year must be a valid year
		if(eval(getDocObj("insured_"+i+"_dobYYYY")).value=="" ||isNaN(eval(getDocObj("insured_"+i+"_dobYYYY")).value) || parseInt(eval(getDocObj("insured_"+i+"_dobYYYY")).value*1)>2007 || parseInt(eval(getDocObj("insured_"+i+"_dobYYYY")).value*1)<1886  || hasSpace(eval(getDocObj("insured_"+i+"_dobYYYY")).value)) {
			alert("Your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child's date of birth appears to have been entered incorrectly. Please enter the date numerically, using the format \"Month, Day, Year.\"\nExample: 8/20/06");
			eval(getDocObj("insured_"+i+"_dobYYYY")).value="";
			eval(getDocObj("insured_"+i+"_dobYYYY")).focus();
			return false;
		}
		//height in feet must be selected
		if(eval(getDocObj("insured_"+i+"_heightFT")).value=="" || isNaN(eval(getDocObj("insured_"+i+"_heightFT")).value)) {
			alert("Please select your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child's height in feet and inches.\nIf your child is an infant, please select '11' in the inches field and leave feet at 0.");
			eval(getDocObj("insured_"+i+"_heightFT")).focus();
			return false;
		}
		//height in inches must be selected
		if(eval(getDocObj("insured_"+i+"_heightIN")).value=="" || isNaN(eval(getDocObj("insured_"+i+"_heightIN")).value)) {
			alert("Please select your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child's height in feet and inches.\nIf your child is an infant, please select '11' in the inches field and leave feet at 0.");
			eval(getDocObj("insured_"+i+"_heightIN")).focus();
			return false;
		}
		//weight must be a number greater than 1
		if(eval(getDocObj("insured_"+i+"_weight")).value=="" ||isNaN(eval(getDocObj("insured_"+i+"_weight")).value) || parseInt(eval(getDocObj("insured_"+i+"_weight")).value)<1) {
			alert("Please enter your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child's weight in pounds.");
			eval(getDocObj("insured_"+i+"_weight")).value="";
			eval(getDocObj("insured_"+i+"_weight")).focus();
			return false;
		}
		//BMI must be between 10 and 100
		if(bmi(eval(getDocObj("insured_"+i+"_weight")).value,eval(getDocObj("insured_"+i+"_heightFT")).value,eval(getDocObj("insured_"+i+"_heightIN")).value)) {
			alert("Your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child's height and weight appears to have been entered incorrectly. Please re-enter your "+(i-2)+((i==3)?"st":(i==4)?"nd":(i==5||i==6)?"rd":"th")+" child's height and weight.");
			eval(getDocObj("insured_"+i+"_weight")).value="";
			eval(getDocObj("insured_"+i+"_weight")).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 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 fillDropdown(id, val) {
	for(var i=0; i<parseInt(eval(getDocObj(id)).options.length)-1; i++) {
		if(eval(getDocObj(id)).options[i].value==val) {
			eval(getDocObj(id)).options[i].selected=true;
			break;
		}
	}
}

function changeChildren(value,form) {
	for(var i=8;i>parseInt(value)+2;i--) {
		fillDropdown("insured_"+i+"_gender","");
		fillDropdown("insured_"+i+"_heightFT","");
		fillDropdown("insured_"+i+"_heightIN","");
		eval(getDocObj("insured_"+i+"_dobMM")).value="";
		eval(getDocObj("insured_"+i+"_dobDD")).value="";
		eval(getDocObj("insured_"+i+"_dobYYYY")).value="";
		eval(getDocObj("insured_"+i+"_weight")).value="";
		eval(getDocObj("insured_"+i+"_smoker")).checked=false;
	}

	if(value==1) {
		eval(getDocObj("child_option1")).style.display="";
		eval(getDocObj("child_option2")).style.display="none";
		eval(getDocObj("child_option3")).style.display="none";
		eval(getDocObj("child_option4")).style.display="none";
		eval(getDocObj("child_option5")).style.display="none";
		eval(getDocObj("child_option6")).style.display="none";
	} else if(value==2) {
		eval(getDocObj("child_option1")).style.display="";
		eval(getDocObj("child_option2")).style.display="";
		eval(getDocObj("child_option3")).style.display="none";
		eval(getDocObj("child_option4")).style.display="none";
		eval(getDocObj("child_option5")).style.display="none";
		eval(getDocObj("child_option6")).style.display="none";
	} else if(value==3) {
		eval(getDocObj("child_option1")).style.display="";
		eval(getDocObj("child_option2")).style.display="";
		eval(getDocObj("child_option3")).style.display="";
		eval(getDocObj("child_option4")).style.display="none";
		eval(getDocObj("child_option5")).style.display="none";
		eval(getDocObj("child_option6")).style.display="none";
	} else if(value==4) {
		eval(getDocObj("child_option1")).style.display="";
		eval(getDocObj("child_option2")).style.display="";
		eval(getDocObj("child_option3")).style.display="";
		eval(getDocObj("child_option4")).style.display="";
		eval(getDocObj("child_option5")).style.display="none";
		eval(getDocObj("child_option6")).style.display="none";
	} else if(value==5) {
		eval(getDocObj("child_option1")).style.display="";
		eval(getDocObj("child_option2")).style.display="";
		eval(getDocObj("child_option3")).style.display="";
		eval(getDocObj("child_option4")).style.display="";
		eval(getDocObj("child_option5")).style.display="";
		eval(getDocObj("child_option6")).style.display="none";
	} else if(value==6) {
		eval(getDocObj("child_option1")).style.display="";
		eval(getDocObj("child_option2")).style.display="";
		eval(getDocObj("child_option3")).style.display="";
		eval(getDocObj("child_option4")).style.display="";
		eval(getDocObj("child_option5")).style.display="";
		eval(getDocObj("child_option6")).style.display="";
	} else {
		eval(getDocObj("child_option1")).style.display="none";
		eval(getDocObj("child_option2")).style.display="none";
		eval(getDocObj("child_option3")).style.display="none";
		eval(getDocObj("child_option4")).style.display="none";
		eval(getDocObj("child_option5")).style.display="none";
		eval(getDocObj("child_option6")).style.display="none";
	}
}

function setConditions() {
	document.getElementById("insured_1_health_conditions_detail").value=(((document.getElementById("aids").checked)?"HIV/AIDS / ":"")+""+((document.getElementById("diabetes").checked)?"Diabetes / ":"")+""+((document.getElementById("cancer").checked)?"Cancer / ":"")+""+((document.getElementById("heart-attack").checked)?"Heart Attack / ":"")+""+((document.getElementById("high-blood-pressure").checked)?"High Blood Pressure / ":"")+""+((document.getElementById("pregnant").checked)?"Pregnant / ":"")+""+((document.getElementById("stroke").checked)?"Stroke / ":"")+""+((document.getElementById("depression").checked)?"Depression / ":"")+""+((document.getElementById("other-illness").checked)?"Other major illness not listed. / ":"")+"@").replace("/ @","");
}

function unSetConditions() {
	document.getElementById("aids").checked=false;
	document.getElementById("diabetes").checked=false;
	document.getElementById("cancer").checked=false;
	document.getElementById("heart-attack").checked=false;
	document.getElementById("high-blood-pressure").checked=false;
	document.getElementById("pregnant").checked=false;
	document.getElementById("stroke").checked=false;
	document.getElementById("depression").checked=false;
	document.getElementById("other-illness").checked=false;
}

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){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 hasSpace(s) {
	for(var i = 0; i < s.length; i++)
		if(s.charAt(i)==" ")
			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;
}