//checkIt function by Danny Goodman
function checkIt(evt) {
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
		status = "This field accepts numbers only."
		return false
	}
	status = ""
	return true
}

function formatPHONE(field) {
	var p1=field;
	var p=p1.value
	if(p.length==3){
		//d10=p.indexOf('(')
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1){
			pp="("+pp;
		}
		if(d5==-1){
			pp=pp+")";
		}
		//pp="("+pp+")";
		//field.value="";
		field.value=pp;
	}
	if(p.length>3){
		d1=p.indexOf('(')
		d2=p.indexOf(')')
		if (d2==-1){
			l30=p.length;
			p30=p.substring(0,4);
			//alert(p30);
			p30=p30+")"
			p31=p.substring(4,l30);
			pp=p30+p31;
			//alert(p31);
			//field.value="";
			field.value=pp;
		}
	}
	if(p.length>5){
		p11=p.substring(d1+1,d2);
		if(p11.length>3){
			p12=p11;
			l12=p12.length;
			l15=p.length
			l12=l12-3
			p13=p11.substring(0,3);
			p14=p11.substring(3,l12);
			p15=p.substring(d2+1,l15);
			//field.value="";
			pp="("+p13+")"+p14+p15;
			field.value=pp;
			//obj1.value="";
			//obj1.value=pp;
		}
		l16=p.length;
		p16=p.substring(d2+1,l16);
		l17=p16.length;
		if(l17>3&&p16.indexOf('-')==-1){
			p17=p.substring(d2+1,d2+4);
			p18=p.substring(d2+4,l16);
			p19=p.substring(0,d2+1);
			//alert(p19);
			pp=p19+p17+"-"+p18;
			//field.value="";
			field.value=pp;
			//obj1.value="";
			//obj1.value=pp;
		}
	}
	if (p.length>13) {
		p20=p.substr(0,13);
		field.value="";
		field.value=p20;
	}
}

phoneerror='';
homephoneerror='';
workphoneerror='';

function validatePHONE(value) {
	if (value.length!=13) {
		phoneerror="Please enter your 10 digit phone number";
		return false;
	}
	var p=value;
	p=p.replace("(","");
	p=p.replace(")","");
	p=p.replace("-","");
	p=p.replace("-","");
	if (isNaN(p)) {
		phoneerror="Invalid characters in your phone number.  Please try again.";
		return false;
	}
	return true;
}


var nn4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 4) ? true:false          
var ie = (document.all) ? true:false   
var nn6 = (document.getElementById && !document.all) ? true:false

function browser(id){
	if(nn4){
	layer=document.layers[id]
	}
	if(ie){
	layer = document.all[id]
	}
	if(nn6){
	layer = document.getElementById(id)
	}
	//else{
	//layer=""
	//}	
return layer
}

function checkFields(){
	var theform = (nn4) ? layer.document.forms[0] : document.forms[0]
	if(nn6 || ie){
		var themethod = theform.method
		var theaction = theform.action
		var element = new Array()  
		var pyIndex = (theform.elements.length-1) 
		var emptyReq = 0 
		var astL = new RegExp(/\W\D/i)
		var lastN = new RegExp(/[^abcdefghijklnopqrstuvwxyz]\Dd{2}e0*N./i)
	}

	var genderset=false;
	var gendervalue="";
	var coverage_amountset=false;
	var coverage_amountvalue="";
	var monthset=false;
	var monthvalue="";
	var dateset=false;
	var datevalue="";
	var yearset=false;
	var yearvalue="";
	var monthField="";
	var dateField="";
	var yearField="";
	var birthdaystr="";
	var birthdayset=false;
	var stateset=false;
	var statevalue="";
	var tobaccoset=false;
	var tobaccovalue="";
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	var emailset=false;
	var emailinvalid=false;
	var emailvalue="";
	var age=0;
	var firstnameset=false;
	var firstnamevalue="";
	var homephoneset=false;
	var homephonevalue="";
	var workphoneset=false;
	var workphonevalue="";
	var ratingsclassset=false;
	var ratingsclassvalue="";

	function validateMonth(field) {
		var input = field.value
		input = parseInt(field.value, 10)
		if (isNaN(input)) {
			birthdaystr="Month must be numbers only."
			return false
		} else {
			if ((input<1)||(input>12)) {
				birthdaystr="Enter a number for month between 1 (January) and 12 (December)."
				return false
			}
		}
		monthField=field;
		return true
	}

	function validateDate(field) {
		var input = field.value
		input = parseInt(field.value, 10)
		if (isNaN(input)) {
			birthdaystr="Day must be numbers only."
			return false
		} else {
			var monthVal = parseInt(monthField.value, 10)
			var monthMax = new Array(31,31,29,31,30,31,30,31,31,30,31,30,31)
			var top = monthMax[monthVal]
			if ((input<1)||(input>top)) {
				birthdaystr="Enter a number for day between 1 and " + top + "."
				return false
			}
		}
		dateField=field;
		return true
	}

	function validateYear(field) {
		var input = field.value
		input = parseInt(field.value, 10)
		if (isNaN(input)) {
			birthdaystr="Year must be numbers only."
			return false
		} else {
			if ((input<1900)||(input>2004)) {
				birthdaystr="Enter a number for year between 1900 and 2004."
				return false
			}
		}
		yearField=field;
		return true
	}

	function validateBirthday() {
		var monthVal = parseInt(monthField.value, 10)
		var dateVal = parseInt(dateField.value, 10)
		var yearVal = parseInt(yearField.value, 10)
		var months = new Array('Jan','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Aug','Sep','Oct','Nov','Dec')
		var monthtext=months[monthVal];
		var myDateStr = dateVal + ' ' + monthtext + ' ' + yearVal;
		var myDate = new Date( myDateStr );
		var myDate_string = myDate.toGMTString();
		var myDate_array = myDate_string.split( ' ' );
		if ( myDate_array[2] != monthtext ) {
			birthdaystr="Invalid date of birth entered."
			return false
		}
		var days=new Date();
		var gdate=days.getDate();
		var gmonth=days.getMonth();
		var gyear=days.getYear();
		if (gyear<1900) {
			gyear+=1900;
		}
		age=gyear-yearVal;
		if ((monthVal==(gmonth+1))&&(dateVal<=parseInt(gdate))) {
		} else {
			if (monthVal<=gmonth) {
			} else {
				age=age-1;
			}
		}
		return true;
	}

	for(i=0; i<theform.elements.length; i++){
		if (theform.elements[i].type!="hidden") {
			if(theform.elements[i].name=="Coverage_Amount") {
				for (j=0;j<theform.elements[i].length;j++) {
					if(theform.elements[i].options[j].selected) {
						if(theform.elements[i].options[j].value != "") {
							coverage_amountset=true;
							coverage_amountvalue=theform.elements[i].options[j].value;
						}
					}
				}
			} else if(theform.elements[i].name=="Gender") {
				if(theform.elements[i].checked) {
					genderset=true;
					gendervalue=theform.elements[i].value;
				}
			} else if(theform.elements[i].name=="Month") {
				if(theform.elements[i].value!="") {
					if(validateMonth(theform.elements[i])) {
						monthset=true;
						monthvalue=theform.elements[i].value;
					} 
				} else {
					birthdaystr="Month of Birth must be specified";
				}
			} else if(monthset&&theform.elements[i].name=="Date") {
				if(theform.elements[i].value!="") {
					if(validateDate(theform.elements[i])) {
						dateset=true;
						datevalue=theform.elements[i].value;
					}
				} else {
					birthdaystr="Day of Birth must be specified";
				}
			} else if(monthset&&dateset&&theform.elements[i].name=="Year") {
				if(theform.elements[i].value!="") {
					if(validateYear(theform.elements[i])) {
						yearset=true;
						yearvalue=theform.elements[i].value;
					}
				} else {
					birthdaystr="Year of Birth must be specified";
				}
			} else if(theform.elements[i].name=="State") {
				for (j=0;j<theform.elements[i].length;j++) {
					if(theform.elements[i].options[j].selected) {
						if(theform.elements[i].options[j].value != "") {
							stateset=true;
							statevalue=theform.elements[i].options[j].value;
						}
					}
				}
			} else if(theform.elements[i].name=="Tobacco") {
				if(theform.elements[i].checked) {
					tobaccoset=true;
					tobaccovalue=theform.elements[i].value;
				}
			} else if(theform.elements[i].name=="Email") {
				if(theform.elements[i].value!="") {
					if(filter.test(theform.elements[i].value)) {
						emailset=true;
						emailinvalid=false;
						emailvalue=theform.elements[i].value;
					} else {
						emailinvalid=true;
					}
				}
			} else if(theform.elements[i].name=="FirstName") {
				if(theform.elements[i].value!="") {
					firstnameset=true;
					firstnamevalue=theform.elements[i].value;
				}
			} else if(theform.elements[i].name=="RatingsClass") {
				for (j=0;j<theform.elements[i].length;j++) {
					if(theform.elements[i].options[j].selected) {
						if(theform.elements[i].options[j].value != "") {
							ratingsclassset=true;
							ratingsclassvalue=theform.elements[i].options[j].value;
						}
					}
				}
			} else if(theform.elements[i].name=="HomePhone") {
				if(theform.elements[i].value!="") {
					if (validatePHONE(theform.elements[i].value)) {
						homephoneset=true;
						homephonevalue=theform.elements[i].value;
					} else {
						homephoneerror=phoneerror;
					}
				} else {
					homephoneerror="Home Phone must be specified!";
				}
			} else if(theform.elements[i].name=="WorkPhone") {
				workphoneset=true;
				workphonevalue=theform.elements[i].value;
			}
		} else {
			if(theform.elements[i].name=="Coverage_Amount") {
				coverage_amountset=true;
				coverage_amountvalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Gender") {
				genderset=true;
				gendervalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Month") {
				monthset=true;
				monthvalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Date") {
				dateset=true;
				datevalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Year") {
				yearset=true;
				yearvalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Age") {
				birthdayset=true;
				age=theform.elements[i].value;
			} else if(theform.elements[i].name=="State") {
				stateset=true;
				statevalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Tobacco") {
				tobaccoset=true;
				tobaccovalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="Email") {
				emailset=true;
				emailvalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="FirstName") {
				firstnameset=true;
				firstnamevalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="RatingsClass") {
				ratingsclassset=true;
				ratingsclassvalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="HomePhone") {
				homephoneset=true;
				homephonevalue=theform.elements[i].value;
			} else if(theform.elements[i].name=="WorkPhone") {
				workphoneset=true;
				workphonevalue=theform.elements[i].value;
			}
		}
	}
	if (coverage_amountset) {
		var layerCoverage_Amount = (nn4) ? document.Coverage_AmountFormRequired : browser("Coverage_AmountFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"Coverage_Amount\" value=\""+coverage_amountvalue+"\">";
		layerCoverage_Amount.innerHTML = writeGroup
	} else {
		var layerCoverage_Amount = (nn4) ? document.Coverage_AmountFormError : browser("Coverage_AmountFormError")
		var writeGroup = "Coverage_Amount must be specified!"
		layerCoverage_Amount.innerHTML = writeGroup
	}
	if (genderset) {
		var layerGender = (nn4) ? document.GenderFormRequired : browser("GenderFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"Gender\" value=\""+gendervalue+"\">";
		layerGender.innerHTML = writeGroup
	} else {
		var layerGender = (nn4) ? document.GenderFormError : browser("GenderFormError")
		var writeGroup = "Gender must be specified!"
		layerGender.innerHTML = writeGroup
	}
	if (!birthdayset) {
		if(monthset&&dateset&&yearset&&validateBirthday()) {
			birthdayset=true;
		}
	}
	if (birthdayset) {
		var layerBirthday = (nn4) ? document.BirthdayFormRequired : browser("BirthdayFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"Month\" value=\""+monthvalue+"\"><input type=\"Hidden\" name=\"Date\" value=\""+datevalue+"\"><input type=\"Hidden\" name=\"Year\" value=\""+yearvalue+"\"><input type=\"Hidden\" name=\"Age\" value=\""+age+"\">";
		layerBirthday.innerHTML = writeGroup
	} else {
		var layerBirthday = (nn4) ? document.BirthdayFormError : browser("BirthdayFormError")
		var writeGroup = birthdaystr 
		layerBirthday.innerHTML = writeGroup
	}
	if (stateset) {
		var layerState = (nn4) ? document.StateFormRequired : browser("StateFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"State\" value=\""+statevalue+"\">";
		layerState.innerHTML = writeGroup
	} else {
		var layerState = (nn4) ? document.StateFormError : browser("StateFormError")
		var writeGroup = "State must be specified!"
		layerState.innerHTML = writeGroup
	}
	if (tobaccoset) {
		var layerTobacco = (nn4) ? document.TobaccoFormRequired : browser("TobaccoFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"Tobacco\" value=\""+tobaccovalue+"\">";
		layerTobacco.innerHTML = writeGroup
	} else {
		var layerTobacco = (nn4) ? document.TobaccoFormError : browser("TobaccoFormError")
		var writeGroup = "Tobacco must be specified!"
		layerTobacco.innerHTML = writeGroup
	}
	if (emailset) {
		var layerEmail = (nn4) ? document.EmailFormRequired : browser("EmailFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"Email\" value=\""+emailvalue+"\">";
		layerEmail.innerHTML = writeGroup
	} else if (emailinvalid) {
		var layerEmail = (nn4) ? document.EmailFormError : browser("EmailFormError")
		var writeGroup = "Email is invalid, please check!"
		layerEmail.innerHTML = writeGroup
	} else {
		var layerEmail = (nn4) ? document.EmailFormError : browser("EmailFormError")
		var writeGroup = "Email must be specified!"
		layerEmail.innerHTML = writeGroup
	}
	if (firstnameset) {
		var layerFirstName = (nn4) ? document.FirstNameFormRequired : browser("FirstNameFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"FirstName\" value=\""+firstnamevalue+"\">";
		layerFirstName.innerHTML = writeGroup
	} else {
		var layerFirstName = (nn4) ? document.FirstNameFormError : browser("FirstNameFormError")
		var writeGroup = "First Name must be specified!"
		layerFirstName.innerHTML = writeGroup
	}
	if (ratingsclassset) {
		var layerRatingsClass = (nn4) ? document.RatingsClassFormRequired : browser("RatingsClassFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"RatingsClass\" value=\""+ratingsclassvalue+"\">";
		layerRatingsClass.innerHTML = writeGroup
	} else {
		var layerRatingsClass = (nn4) ? document.RatingsClassFormError : browser("RatingsClassFormError")
		var writeGroup = "Ratings Class must be specified!"
		layerRatingsClass.innerHTML = writeGroup
	}
	if (homephoneset) {
		var layerHomePhone = (nn4) ? document.HomePhoneFormRequired : browser("HomePhoneFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"HomePhone\" value=\""+homephonevalue+"\">";
		layerHomePhone.innerHTML = writeGroup
	} else {
		var layerHomePhone = (nn4) ? document.HomePhoneFormError : browser("HomePhoneFormError")
		var writeGroup = homephoneerror;
		layerHomePhone.innerHTML = writeGroup
	}
	if (workphoneset) {
		var layerWorkPhone = (nn4) ? document.WorkPhoneFormRequired : browser("WorkPhoneFormRequired")
		var writeGroup = "<input type=\"Hidden\" name=\"WorkPhone\" value=\""+workphonevalue+"\">";
		layerWorkPhone.innerHTML = writeGroup
	}

	setTimeout("reFocus()",01)
	if (coverage_amountset&&genderset&&birthdayset&&stateset&&tobaccoset&&emailset&&firstnameset&&ratingsclassset&&homephoneset&&workphoneset) {
		var layerSubmitButton = (nn4) ? document.SubmitButtonFormRequired : browser("SubmitButton")
		layerSubmitButton.innerHTML = "";
		return true
	}
	return false
}

function reFocus(){
var layer = (nn4) ? document.GenderFormRequired : browser("GenderFormRequired")
var theform = (nn4) ? layer.document.forms[0] : document.forms[0]
	for(i=0; i<theform.elements.length; i++){
		if(theform.elements[i].type!="hidden"){
		theform.elements[i].focus()
		break
		}
	}
}



