var digits = "0123456789";

var phoneNumberDelimiters = "()- ";

var validWorldPhoneChars = phoneNumberDelimiters + "+";

var minDigitsInIPhoneNumber = 10;



function newImage(arg) {

	if (document.images) {

		rslt = new Image();

		rslt.src = arg;

		return rslt;

	}

}



function changeImages() {

	if (document.images && (preloadFlag == true)) {

		for (var i=0; i<changeImages.arguments.length; i+=2) {

			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];

		}

	}

}



var preloadFlag = false;

function preloadImages() {

	if (document.images) {

		ahc_04_over = newImage("http://www.affordable-health-coverage.com/images/ahc_04-over.gif");

		ahc_05_over = newImage("http://www.affordable-health-coverage.com/images/ahc_05-over.gif");

		ahc_06_over = newImage("http://www.affordable-health-coverage.com/images/ahc_06-over.gif");

		ahc_07_over = newImage("http://www.affordable-health-coverage.com/images/ahc_07-over.gif");

		ahc_08_over = newImage("http://www.affordable-health-coverage.com/images/ahc_08-over.gif");

		ahc_09_over = newImage("http://www.affordable-health-coverage.com/images/ahc_09-over.gif");

		preloadFlag = true;

	}

}



function isInteger(s)

{   var i;

    for (i = 0; i < s.length; i++)

    {

        // Check that current character is number.

        var c = s.charAt(i);

        if (((c < "0") || (c > "9"))) return false;

    }

    // All characters are numbers.

    return true;

}



function stripCharsInBag(s, bag)

{   var i;

    var returnString = "";

    // Search through string's characters one by one.

    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++)

    {

        // Check that current character isn't whitespace.

        var c = s.charAt(i);

        if (bag.indexOf(c) == -1) returnString += c;

    }

    return returnString;

}



function checkInternationalPhone(strPhone){

	s=stripCharsInBag(strPhone,validWorldPhoneChars);

	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);

}



function emailCheck (emailStr) {

	var checkTLD=1;

	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|tv|la)$/;

	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) {

		//alert("Email address seems incorrect (check @ and .'s)");

		return false;

	}

	var user=matchArray[1];

	var domain=matchArray[2];



	for (i=0; i<user.length; i++) {

		if (user.charCodeAt(i)>127) {

			//alert("Ths username contains invalid characters.");

			return false;

	   }

	}

	for (i=0; i<domain.length; i++) {

		if (domain.charCodeAt(i)>127) {

		//alert("Ths domain name contains invalid characters.");

			return false;

		}

	}



	if (user.match(userPat)==null) {

		//alert("The username doesn't seem to be valid.");

		return false;

	}



	var IPArray=domain.match(ipDomainPat);

	if (IPArray!=null) {

		for (var i=1;i<=4;i++) {

			if (IPArray[i]>255) {

				//alert("Destination IP address is invalid!");

				return false;

			}

		}

		return true;

	}



	var atomPat=new RegExp("^" + atom + "$");

	var domArr=domain.split(".");

	var len=domArr.length;

	for (i=0;i<len;i++) {

		if (domArr[i].search(atomPat)==-1) {

			//alert("The domain name does not seem to be valid.");

			return false;

		}

	}



	/*if (checkTLD && domArr[domArr.length-1].length!=2 &&

	domArr[domArr.length-1].search(knownDomsPat)==-1) {

	alert("The address must end in a well-known domain or two letter " + "country.");

	return false;

	}*/



	if (len<2) {

		//alert("This address is missing a hostname!");

		return false;

	}



	return true;

}



function checkZip() {
	try{
		ValidateClick();
	}
	catch(e){
			
	}
	try{
		//frmUserData.zip.value = frmUserData.txtZip.value;
	}
	catch(e){
	}
	 if (!frmUserData.txtZip.value) {

		  alert('Please enter your Zip Code');

		  frmUserData.txtZip.focus();

		  return(false);

	 }
	
	 else {frmUserData.submit();}

}



		function checkVals() {

			var Phone = frmUserData.txtPhone1.value + frmUserData.txtPhone2.value + frmUserData.txtPhone3.value;



			if (!frmUserData.txtFName.value) {

				alert('Please enter your first name');

				frmUserData.txtFName.focus();

				return(false);

			}

			else if (!frmUserData.txtLName.value) {

				alert('Please enter your last name');

				frmUserData.txtLName.focus();

				return(false);

			}

			else if (!frmUserData.txtAddress.value) {

			alert('Please enter your Street Address');

				frmUserData.txtAddress.focus();

				return(false);

			}

			else if (!frmUserData.txtCity.value) {

				alert('Please enter your City');

				frmUserData.txtCity.focus();

				return(false);

			}

			else if (!frmUserData.selState.value) {

				alert('Please enter your State');

				frmUserData.selState.focus();

				return(false);

			}

			else if (!frmUserData.txtZip.value) {

				alert('Please enter your Zip Code');

				frmUserData.txtZip.focus();

				return(false);

			}

			else if (!Phone || !checkInternationalPhone(Phone)){

				alert("Please enter your Phone Number");

				frmUserData.txtPhone1.focus();

				return(false);

			}

			else if (!frmUserData.selMonth.value || !frmUserData.selDay.value || !frmUserData.selYear.value) {

				alert('Please enter your Birthday');

				if (!frmUserData.selMonth.value) frmUserData.selMonth.focus();

				else if (!frmUserData.selDay.value) frmUserData.selDay.focus();

				else if (!frmUserData.selYear.value) frmUserData.selYear.focus();



				return(false);

			}

			else if (!frmUserData.height.value) {

				alert('Please select your Height');

				frmUserData.height.focus();

				return(false);

			}

			else if (!frmUserData.weight.value) {

				alert('Please select your Weight');

				frmUserData.weight.focus();

				return(false);

			}

			else if (!frmUserData.txtEmail.value || !emailCheck(frmUserData.txtEmail.value)) {

				alert('Please enter your email address');

				frmUserData.txtEmail.focus();

				return(false);

			}

		  else return(true);

		}



		function checkVals2() {

			var Phone = frmUserData.txtPhone11.value + frmUserData.txtPhone12.value + frmUserData.txtPhone13.value;



			if (!frmUserData.txtFName.value) {

				alert('Please enter your first name');

				frmUserData.txtFName.focus();

				return(false);

			}

			else if (!frmUserData.txtLName.value) {

				alert('Please enter your last name');

				frmUserData.txtLName.focus();

				return(false);

			}

			else if (!frmUserData.txtAddress.value) {

				alert('Please enter your Street Address');

				frmUserData.txtAddress.focus();

				return(false);

			}

			else if (!frmUserData.txtCity.value) {

				alert('Please enter your City');

				frmUserData.txtCity.focus();

				return(false);

			}

			else if (!frmUserData.selState.value) {

				alert('Please enter your State');

				frmUserData.selState.focus();

				return(false);

			}

			else if (!frmUserData.txtZip.value) {

				alert('Please enter your Zip Code');

				frmUserData.txtZip.focus();

				return(false);

			}

			else if (!Phone || !checkInternationalPhone(Phone)){

				alert("Please enter your Phone Number");

				frmUserData.txtPhone11.focus();

				return(false);

			}

			else if (!frmUserData.txtEmail.value || !emailCheck(frmUserData.txtEmail.value)) {

				alert('Please enter your email address');

				frmUserData.txtEmail.focus();

				return(false);

			}

			else if (!frmUserData.selPAMonth.value) {

				alert('Please enter your Month of birth');

				frmUserData.selPAMonth.focus();

				return(false);

			}

			else if (!frmUserData.selPADay.value) {

				alert('Please enter your Day of birth');

				frmUserData.selPADay.focus();

				return(false);

			}

			else if (!frmUserData.selPAYear.value) {

				alert('Please enter your Month of birth');

				frmUserData.selPAYear.focus();

				return(false);

			}

			else if (!frmUserData.selPAFeet.value) {

				alert('Please enter your Height');

				frmUserData.selPAFeet.focus();

				return(false);

			}

			else if (!frmUserData.selPAInches.value) {

				alert('Please enter your Height');

				frmUserData.selPAInches.focus();

				return(false);

			}

			else if (!frmUserData.txtPAWeight.value) {

				alert('Please enter your Weight');

				frmUserData.txtPAWeight.focus();

				return(false);

			}

			else if (!frmUserData.selPATobacco.value) {

				alert('Please tell us when you last used Tobacco products');

				frmUserData.selPATobacco.focus();

				return(false);

			}

			else if (frmUserData.rbSEmployed[0].value && !frmUserData.txtEmpCnt.value) {

				alert('Please tell us the Number of Employees');

				frmUserData.txtEmpCnt.focus();

				return(false);

			}

			else if (!frmUserData.selContact.value) {

				alert('Please tell the Best Time to Contact you');

				frmUserData.selContact.focus();

				return(false);

			}

			else if (!frmUserData.selCoverage.value) {

				alert('Please enter the Converage Needed');

				frmUserData.selConverage.focus();

				return(false);

			}

		  else return(true);

		}