<!--

// default window status
defaultStatus = "Welcome to Universal Casualty Company";

// remove leading/trailing white space from string
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

// get element by id
function gebi(obj){
	
	return document.getElementById(obj);
}

// set window status
function winStatus(txt){
	
	window.status = txt;
}


function routeIt(pfx1,sfx1){

	document.routerForm.pfx.value = pfx1;
	document.routerForm.sfx.value = sfx1;

	document.routerForm.submit();
}

function Trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function checkpay(amt) {

	var ptrn = /\D/i;
	if(amt.match(ptrn)) {
		return false;
	} else {
		return true;
	}
}

function ValidEmail (emailStr) {
	/* user@domain check and separate */
	var emailPat=/^(.+)@(.+)$/;
	/* special characters check */
	var specialChars="\*\?#$%\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	/* characters allowed */
	var validChars="\[^\\s" + specialChars + "\]";
	/* "user" is a quoted string (all legal) */
	var quotedUser="(\"[^\"]*\")";
	/* bracketed IP addresses as domain */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	/* atom as a series of non-special characters */
	var atom=validChars + '+';
	/* one word in the typical username */
	var word="(" + atom + "|" + quotedUser + ")";
	// structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	/* structure of a normal domain */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alert("Your email address is not valid. Please check the @ and .'s. Thank You.");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	
	if (user.match(userPat)==null) {
	
	    alert("Your USER@domain is not valid. Please re-enter your email. Thank You.");
	    return false;
	}
	
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
	
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
		        alert("Your destination IP address is not valid. Please re-enter your email. Thank You.");
			return false;
		    }
	    }
	    return true;
	}
	
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		alert("Your user@DOMAIN name is not valid. Please re-enter your email. Thank You.");
	    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) {
	
	   alert("Your email address must end in a 3-letter domain, or a 2-letter country code. Please correct this error. Thank You.");
	   return false;
	}
	
	if (len<2) {
	   var errStr="Your address is missing a hostname. Please re-enter your email. Thank You.";
	   alert(errStr);
	   return false;
	}
	
	// Good Address...
	return true;
}

function checkrequired(which, evalid) {
	var pass=true;
	var evl=true;

	if (document.images) {
		for (i=0;i<which.length;i++) {
			var tempobj=which.elements[i];
			//alert(which.elements[i]);
			if (tempobj.name.substring(0,8)=="required") {
				if (((tempobj.type=="text"||tempobj.type=="textarea")&&
					Trim(tempobj.value)=='')||(tempobj.type.toString().charAt(0)=="s"&&
					(tempobj.selectedIndex==0)||Trim(tempobj.value)=='null')||
					(tempobj.type=="radio"&&Trim(tempobj.value)=='')) {

					pass=false;
					break;
         		}
				
				if(tempobj.name == "requiredYourEmail"){
					evl = ValidEmail(evalid);
					if(!evl){
						pass=true;
						break;
					}
				}
				if(tempobj.name.indexOf("Date") != -1){
					if (tempobj.value.indexOf("use") > -1) {
						pass=false;
						break;
					}
				}
      		}
   		}
	}
	
	if (!pass) {
		shortFieldName=tempobj.name.substring(8,50).toUpperCase();
		alert("Please make sure the "+Trim(shortFieldName)+" field is completed. Thank You.");
		return false;

	} else {

		if(!evl) {
			return false;
		} else {
			return true;
		}
	}
}

function checkCC(which, evalid, evalid2) {
	var pass=true;
	var evl=true;

	
	if (document.images) {
		for (i=0;i<which.length;i++) {
			var tempobj=which.elements[i];
			//alert(which.elements[i]);
			if (tempobj.name.substring(0,8)=="required") {
				if (((tempobj.type=="text"||tempobj.type=="textarea")&&
					Trim(tempobj.value)=='')||(tempobj.type.toString().charAt(0)=="s"&&
					(tempobj.selectedIndex==0)||Trim(tempobj.value)=='null')||
					(tempobj.type=="radio"&&Trim(tempobj.value)=='')) {

					pass=false;
					break;
         		}
				
				if(tempobj.name == "requiredEmail"){
					evl = ValidEmail(evalid);
					if(!evl){
						pass=true;
						break;
					}
					if(Trim(evalid) != Trim(evalid2)) {
						alert("For validation purposes, please check that your Email addresses match. Thank You.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredCreditCardNumber"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Credit Card field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredCreditCardNumber"){
					if(tempobj.value.length < 16){
						alert("Please enter the full 16-digits of your Credit Card Number.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPaymentDollar"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Payment Amount field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPaymentCents"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Payment Amount field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPaymentCents"){
					if(tempobj.value.length < 2){
						alert("Please use 2-digits for Payment Amount Cents.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPolicyholderAreaCode"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Phone Number field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredPolicyholderPhone"){
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Phone Number field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredZipCode"){
					trim(tempobj.value);
					if(checkpay(tempobj.value) == false){
						alert("Only Numbers are allowed in the Zip Code field.");
						return false;
						break;
					}
				}
				if(tempobj.name == "requiredExpirationMonth") {
					var today=new Date();
					if (trim(gebi("requiredExpirationYear").value) == today.getFullYear()) {
						if (tempobj.value < (today.getMonth() + 1)) {
							alert("Expiration Date must not before today's date");
							return false;
							break;
						}
					}
				}
				
      		}
   		}
	}
	
	
	if (!pass) {
		shortFieldName=tempobj.name.substring(8,50).toUpperCase();
		alert("Please make sure the "+Trim(shortFieldName)+" field is completed. Thank You.");
		return false;

	} else {
		if (eval(gebi("requiredPaymentDollar").value + " + 0." + gebi("requiredPaymentCents").value) == 0) {
			alert("Please enter a non-zero payment amount"); 
			return false;
		}
		if(!evl) {
			return false;
		} else {
			
			return true;
		}
	}
	
	
}

function checkFutureDate (yearControl, monthControl) {

}

function showHideStateInfo(state){
	
	var temp = document.body.all;


/*
	for (i=0; i<temp.length; i++) {
		var tempobj = temp[i];
		if (tempobj.id != null) {
			if ((tempobj.id.indexOf("Arrow")!=-1) && (tempobj.src.indexOf('uccweb_images/sub_page/arrow_orange_down.gif')!=-1)){
				var statename = tempobj.id.substring(0,tempobj.id.length-5);
				if (statename != state) {
					document.getElementById(statename+'Submenu').innerHTML='';
					document.getElementById(statename+'Submenu').style.display='none';
					//document.getElementById(statename).innerHTML="+ "+state;
					document.getElementById(statename+'Arrow').src="uccweb_images/sub_page/arrow_orange.gif";
				}
			}
		}
	}
*/
	var lable=document.getElementById(state).innerHTML;
	//var sign=lable.substring(0,1);
	var imagesource=document.getElementById(state+"Arrow").src;
	//if (sign=='-'){
	//alert(imagesource);
	if (imagesource.indexOf('uccweb_images/sub_page/arrow_orange_down.gif')!=-1){
		document.getElementById(state+'Submenu').innerHTML='';
		document.getElementById(state+'Submenu').style.display='none';
		//document.getElementById(state).innerHTML="+ "+state;
		document.getElementById(state+'Arrow').src="uccweb_images/sub_page/arrow_orange.gif";
	}else{
		var menutext=document.getElementById('temp'+state+'Submenu').innerHTML;
		document.getElementById(state+'Submenu').innerHTML=menutext;
		document.getElementById(state+'Submenu').style.display='block';
		//document.getElementById(state).innerHTML="- "+state;
		document.getElementById(state+'Arrow').src="uccweb_images/sub_page/arrow_orange_down.gif";
	}
}
function form1validation(formobj){
	// Enter name of mandatory fields
		var fieldRequired = Array("polname", "polnumber", "polresarea", "polresphone", "polbusarea", "polbusphone");
		var fieldDescription = Array("Policyholder Name", "Policy Number", "Residence Area Code", "Residence Phone", "Business Area Code", "Business Phone");
		var fieldInteger=Array("polresarea", "polresphone", "polbusarea", "polbusphone","polcellarea","polcellphone");
		var fieldIntegerDescription=Array("Policyholder Residence Area", "Policyholder Residence Phone", "Policyholder Business Area", "Policyholder Business Phone","Policyholder Cell Area","Policyholder Cell Phone");
		var field1Integer=Array("polcellarea");
		var field2Integer=Array("polcellphone");
		var field1IntegerDescription=Array("Policyholder Cell Area");
		var field2IntegerDescription=Array("Policyholder Cell Phone");
		var fieldLength3=Array("polresarea","polbusarea","polcellarea");
		var fieldLength3Description=Array("Policyholder Residence Area","Policyholder Business Area","Policyholder Cell Area");
		var fieldLength7=Array("vehowncellphone", "vehdrivcellphone","vehownniresphone","vehownnibusphone","vehownnicellphone");
		var fieldLength7Description=Array( "Owner Cell Phone","Driver Cell Phone","Vehicle Owner Residence Phone","Vehicle Owner Business Phone","Vehicle Owner Cell Phone");	
	var alertMsg = "You must supply information for the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					
				}
			}
		}
	}
	for (var i = 0; i < fieldInteger.length; i++){
		var obj = formobj.elements[fieldInteger[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	if (isInteger(obj.value)==false){
	alertMsg += " - " + fieldIntegerDescription[i] + " must be a number\n";
	}
	}
	}
	}
	for (var i=0;i<field1Integer.length;i++){
	obj1=formobj.elements[field1Integer[i]];
	obj2=formobj.elements[field2Integer[i]];
	if (obj1 && obj2){
	if (((obj1.value==null || obj1.value=="")&& (obj2.value!=null && obj2.value!=""))||
		((obj2.value==null || obj2.value=="")&& (obj1.value!=null && obj1.value!=""))
		){
			alertMsg += " - " + field1IntegerDescription[i] + " and "+field2IntegerDescription[i] +" must both be empty or numbers\n";
		}
	}
	}
	
	for (var i = 0; i < fieldLength3.length; i++){
		var obj = formobj.elements[fieldLength3[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=3){
	alertMsg += " - " + fieldLength3Description[i] + " must be exactly of length 3\n";
	}
	}
	}
	}
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function form2validation(formobj){
	// Enter name of mandatory fields
		var fieldRequired = Array("vehyear", "vehmake", "vehmodel", "vehownname", "vehownaddress", "vehownresarea", "vehownresphone", "vehownbusarea", "vehownbusphone", "vehdrivname", "vehdrivaddress", "vehdrivresarea", "vehdrivresphone", "vehdrivbusarea", "vehdrivbusphone", "vehdrivrelation", "vehdrivdobmo", "vehdrivdobda", "vehdrivdobyr", "vehdrivlicno", "vehdrivlicstate", "vehdrivhowoften", "vehusage", "vehdamagedescpri", "vehbagsdepoy", "vehdrivable");
		var fieldDescription = Array("Vehicle Year", "Vehicle Make", "Vehicle Model", "Owner Name", "Owner Address", "Owner Residence Area Code", "Owner Residence Phone", "Owner Business Area Code", "Owner Business Phone", "Driver Name", "Driver Address", "Driver Residence Area Code", "Driver Residence Phone", "Driver Business Area Code", "Driver Business Phone", "Relation to Insured", "Driver Date of Birth - Month", "Driver Date of Birth - Day", "Driver Date of Birth - Year", "Driver License Number", "Driver License State", "Drives How Often?", "Vehicle Purpose of Use", "Primary Damage", "Did Air Bags Deploy", "Is Vehicle Drivable");
		var fieldInteger=Array("vehyear","vehownresarea", "vehownresphone","vehownbusarea", "vehownbusphone", "vehowncellarea", "vehowncellphone","vehdrivresarea", "vehdrivresphone", "vehdrivbusarea", "vehdrivbusphone", "vehdrivcellarea", "vehdrivcellphone","vehownniresarea","vehownniresphone","vehownnibusarea" ,"vehownnibusphone","vehownnicellarea","vehownnicellphone","vehpoundzip","vehownnizip");
		var fieldIntegerDescription=Array("Vehicle Year","Owner Residence Area Code", "Owner Residence Phone", "Owner Business Area Code", "Owner Business Phone","Owner Cell Area Code", "Owner Cell Phone","Driver Residence Area Code", "Driver Residence Phone", "Driver Business Area Code", "Driver Business Phone","Driver Cell Area Code", "Driver Cell Phone","Vehicle Owner Residence Area Code", "Vehicle Owner Residence Phone", "Vehicle Owner Business Area Code", "Vehicle Owner Business Phone","Vehicle Owner Cell Area Code", "Vehicle Owner Cell Phone","Pound Zip Code","Vehicle Owner Zip Code");
		var field1Integer=Array("vehowncellarea", "vehdrivcellarea","vehownniresarea","vehownnibusarea" ,"vehownnicellarea");
		var field2Integer=Array("vehowncellphone", "vehdrivcellphone","vehownniresphone","vehownnibusphone","vehownnicellphone");
		var field1IntegerDescription=Array("Owner Cell Area Code","Driver Cell Area Code","Vehicle Owner Residence Area Code",  "Vehicle Owner Business Area Code", "Vehicle Owner Cell Area Code"  );
		var field2IntegerDescription=Array( "Owner Cell Phone","Driver Cell Phone","Vehicle Owner Residence Phone","Vehicle Owner Business Phone","Vehicle Owner Cell Phone");	
		var fieldLength3=Array("vehowncellarea", "vehdrivcellarea","vehownniresarea","vehownnibusarea" ,"vehownnicellarea","vehownresarea", "vehownbusarea","vehdrivresarea","vehdrivbusarea");
		var fieldLength3Description=Array("Owner Cell Area Code","Driver Cell Area Code","Vehicle Owner Residence Area Code",  "Vehicle Owner Business Area Code", "Vehicle Owner Cell Area Code","Owner Residence Area Code" ,"Owner Business Area Code","Driver Residence Area Code","Driver Business Area Code");
		var fieldLength7=Array("vehowncellphone", "vehdrivcellphone","vehownniresphone","vehownnibusphone","vehownnicellphone","vehownresphone","vehownbusphone","vehdrivresphone","vehdrivbusphone");
		var fieldLength7Description=Array( "Owner Cell Phone","Driver Cell Phone","Vehicle Owner Residence Phone","Vehicle Owner Business Phone","Vehicle Owner Cell Phone","Owner Residence Phone","Owner Business Phone","Driver Residence Phone","Driver Business Phone");	
		var fieldLength5=Array("vehpoundzip","vehownnizip");
		var fieldLength5Description=Array("Pound Zip Code","Vehicle Owner Zip Code");
	var alertMsg = "You must supply information for the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
			}
		}
	}
for (var i = 0; i < fieldInteger.length; i++){
		var obj = formobj.elements[fieldInteger[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	if (isInteger(obj.value)==false){
	alertMsg += " - " + fieldIntegerDescription[i] + " must be a number\n";
	}
	}
	}
	}
	for (var i=0;i<field1Integer.length;i++){
	obj1=formobj.elements[field1Integer[i]];
	obj2=formobj.elements[field2Integer[i]];
	if (obj1 && obj2){
	if (((obj1.value==null || obj1.value=="")&& (obj2.value!=null && obj2.value!=""))||
		((obj2.value==null || obj2.value=="")&& (obj1.value!=null && obj1.value!=""))
		){
			alertMsg += " - " + field1IntegerDescription[i] + " and "+field2IntegerDescription[i] +" must both be empty or numbers\n";
		}
	}
	}
	if (document.getElementById("vehdrivdob").value=="use date chooser ->"){
	alertMsg += " - " + "Driver Date of Birth is required\n";
	}
	
	
	for (var i = 0; i < fieldLength3.length; i++){
		var obj = formobj.elements[fieldLength3[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=3){
	alertMsg += " - " + fieldLength3Description[i] + " must be exactly of length 3\n";
	}
	}
	}
	}
	
	for (var i = 0; i < fieldLength5.length; i++){
		var obj = formobj.elements[fieldLength5[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=5){
	alertMsg += " - " + fieldLength5Description[i] + " must be exactly of length 5\n";
	}
	}
	}
	}
	
	for (var i = 0; i < fieldLength7.length; i++){
		var obj = formobj.elements[fieldLength7[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=7){
	alertMsg += " - " + fieldLength7Description[i] + " must be exactly of length 7\n";
	}
	}
	}
	}
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function form3validation(formobj){
	// Enter name of mandatory fields
		var fieldRequired = Array( "genlossloc", "genlossdesc", "genauth", "genviolations","genacr");
		var fieldDescription = Array("Location of Accident", "Description of Accident", "Police Department", "Resulting Violations/Citations","Agency Crash Report");
			
	var alertMsg = "You must supply information for the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
			}
		}
	}
	if (document.getElementById("genlossdatetime").value=="use date/time chooser ->"){
	alertMsg += " - " + "Time of Accident is required\n";
	}
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function form4validation(formobj){
	// Enter name of mandatory fields
		var fieldRequired = Array("");
		//var fieldRequired = Array("pdpropdesc", "pdinsco", "pdownname", "pdownaddress", "pdownresarea", "pdownresphone", "pdownbusarea", "pdownbusphone", "pdothdrivname", "pdothdrivaddress", "pdothdrivresarea", "pdothdrivresphone", "pdothdrivbusarea", "pdothdrivbusphone", "pdothdrivlicno", "pdothdrivlicstate", "pdothvehyear","pdothvehmake","pdothvehmodel","pdothvehcolor","pdothvehtag","pdothvehstate","pddamagedescpri","pddamagedescsec");
		var fieldDescription = Array("Property Description", "Insurance Company", "Owner Name", "Owner Address", "Owner Residence Area Code", "Owner Residence Phone", "Owner Business Area Code", "Owner Business Phone", "Other Driver Name", "Other Driver Address", "Other Driver Residence Area Code", "Other Driver Residence Phone", "Other Driver Business Area Code", "Other Driver Business Phone", "Other Driver License Number", "Other Driver License State", "Vehicle Year", "Vehicle Make", "Vehicle Model", "Vehicle Color", "Vehicle Plate", "Vehicle State", "Primary damage", "Secondory Damage");
		var fieldInteger=Array("pdownresarea", "pdownresphone", "pdownbusarea", "pdownbusphone","pdowncellarea","pdowncellphone","pdothdrivresarea", "pdothdrivresphone", "pdothdrivbusarea", "pdothdrivbusphone","pdothdrivcellarea","pdothdrivcellphone","pdothvehyear");
		var fieldIntegerDescription=Array("Owner Residence Area Code", "Owner Residence Phone", "Owner Business Area Code", "Owner Business Phone","Owner Cell Area Code", "Owner Cell Phone","Other Driver Residence Area Code","Other Driver Residence Phone","Other Driver Business Area Code", "Other Driver Business Phone","Other Driver Cell Area","Other Driver Cell Phone");
		var field1Integer=Array("pdownresarea", "pdownbusarea","pdowncellarea", "pdothdrivresarea",  "pdothdrivbusarea" ,"pdothdrivcellarea" );
		var field2Integer=Array( "pdownresphone","pdownbusphone","pdowncellphone","pdothdrivresphone","pdothdrivbusphone","pdothdrivcellphone");
		var field1IntegerDescription=Array( "Owner Residence Area Code",  "Owner Business Area Code","Owner Cell Area Code" ,"Other Driver Residence Area Code",  "Other Driver Business Area Code", "Other Driver Cell Area");
		var field2IntegerDescription=Array( "Owner Residence Phone", "Owner Business Phone", "Owner Cell Phone","Other Driver Residence Phone","Other Driver Business Phone","Other Driver Cell Phone");		
		var fieldLength3=Array("pdownresarea", "pdownbusarea","pdowncellarea", "pdothdrivresarea",  "pdothdrivbusarea" ,"pdothdrivcellarea" );
		var fieldLength3Description=Array( "Owner Residence Area Code",  "Owner Business Area Code","Owner Cell Area Code" ,"Other Driver Residence Area Code",  "Other Driver Business Area Code", "Other Driver Cell Area");
		var fieldLength7=Array( "pdownresphone","pdownbusphone","pdowncellphone","pdothdrivresphone","pdothdrivbusphone","pdothdrivcellphone");
		var fieldLength7Description=Array( "Owner Residence Phone", "Owner Business Phone", "Owner Cell Phone","Other Driver Residence Phone","Other Driver Business Phone","Other Driver Cell Phone");		
	var alertMsg = "You must supply information for the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + " is required\n";
				}
			}
		}
	}

for (var i = 0; i < fieldInteger.length; i++){
		var obj = formobj.elements[fieldInteger[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	if (isInteger(obj.value)==false){
	alertMsg += " - " + fieldIntegerDescription[i] + " must be a number\n";
	}
	}
	}
	}
	for (var i=0;i<field1Integer.length;i++){
	obj1=formobj.elements[field1Integer[i]];
	obj2=formobj.elements[field2Integer[i]];
	if (obj1 && obj2){
	if (((obj1.value==null || obj1.value=="")&& (obj2.value!=null && obj2.value!=""))||
		((obj2.value==null || obj2.value=="")&& (obj1.value!=null && obj1.value!=""))
		){
			alertMsg += " - " + field1IntegerDescription[i] + " and "+field2IntegerDescription[i] +" must both be empty or numbers\n";
		}
	}
	}
	
	for (var i = 0; i < fieldLength3.length; i++){
		var obj = formobj.elements[fieldLength3[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=3){
	alertMsg += " - " + fieldLength3Description[i] + " must be exactly of length 3\n";
	}
	}
	}
	}
	

	
	for (var i = 0; i < fieldLength7.length; i++){
		var obj = formobj.elements[fieldLength7[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=7){
	alertMsg += " - " + fieldLength7Description[i] + " must be exactly of length 7\n";
	}
	}
	}
	}
	
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function form5validation(formobj){
	// Enter name of mandatory fields
	
		var fieldInteger=Array("injarea1","injphone1","injcellarea1","injcellphone1","injage1","injarea2","injphone2","injcellarea2","injcellphone2","injage2","injarea3","injphone3","injcellarea3","injcellphone3","injage3","injarea4","injphone4","injcellarea4","injcellphone4","injage4","injarea5","injphone5","injcellarea5","injcellphone5","injage5","injarea6","injphone6","injcellarea6","injcellphone6","injage6");
		var fieldIntegerDescription=Array("Part A - Area", "Part A - Phone", "Part A - Cell Area", "Part A - Cell Phone","Part A - Age","Part B - Area", "Part B - Phone", "Part B - Cell Area", "Part B - Cell Phone","Part B - Age","Part C - Area", "Part C - Phone", "Part C - Cell Area", "Part C - Cell Phone","Part C - Age","Part D - Area", "Part D - Phone", "Part D - Cell Area", "Part D - Cell Phone","Part D - Age","Part E - Area", "Part E - Phone", "Part E - Cell Area", "Part E - Cell Phone","Part E - Age","Part F - Area", "Part F - Phone", "Part F - Cell Area", "Part F - Cell Phone","Part F - Age");
		var field1Integer=Array("injarea1","injarea2","injarea3","injarea4","injarea5","injarea6");
		var field2Integer=Array( "injphone1","injphone2","injphone3","injphone4","injphone5","injphone6");
		var field1IntegerDescription=Array("Part A - Area","Part B - Area","Part C - Area","Part D - Area","Part E - Area","Part F - Area");
		var field2IntegerDescription=Array( "Part A - Phone","Part B - Phone","Part C - Phone","Part D - Phone","Part E - Phone","Part F - Phone");		
		var fieldLength3=Array("injarea1","injarea2","injarea3","injarea4","injarea5","injarea6");
		var fieldLength3Description=Array("Part A - Area","Part B - Area","Part C - Area","Part D - Area","Part E - Area","Part F - Area");
		var fieldLength7=Array( "injphone1","injphone2","injphone3","injphone4","injphone5","injphone6");
		var fieldLength7Description=Array( "Part A - Phone","Part B - Phone","Part C - Phone","Part D - Phone","Part E - Phone","Part F - Phone");		
	var alertMsg = "You must supply information for the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	
for (var i = 0; i < fieldInteger.length; i++){
		var obj = formobj.elements[fieldInteger[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	if (isInteger(obj.value)==false){
	alertMsg += " - " + fieldIntegerDescription[i] + " must be a number\n";
	}
	}
	}
	}
	for (var i=0;i<field1Integer.length;i++){
	obj1=formobj.elements[field1Integer[i]];
	obj2=formobj.elements[field2Integer[i]];
	if (obj1 && obj2){
	if (((obj1.value==null || obj1.value=="")&& (obj2.value!=null && obj2.value!=""))||
		((obj2.value==null || obj2.value=="")&& (obj1.value!=null && obj1.value!=""))
		){
			alertMsg += " - " + field1IntegerDescription[i] + " and "+field2IntegerDescription[i] +" must both be empty or numbers\n";
		}
	}
	}
	
	for (var i = 0; i < fieldLength3.length; i++){
		var obj = formobj.elements[fieldLength3[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=3){
	alertMsg += " - " + fieldLength3Description[i] + " must be exactly of length 3\n";
	}
	}
	}
	}
	

	
	for (var i = 0; i < fieldLength7.length; i++){
		var obj = formobj.elements[fieldLength7[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=7){
	alertMsg += " - " + fieldLength7Description[i] + " must be exactly of length 7\n";
	}
	}
	}
	}
	
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function form6validation(formobj){
	// Enter name of mandatory fields
	
		var fieldInteger=Array("witarea1","witphone1","witcellarea1","witcellphone1","witarea2","witphone2","witcellarea2","witcellphone2","witoccins","witocctpa");
		var fieldIntegerDescription=Array("Part A - Area", "Part A - Phone", "Part A - Cell Area", "Part A - Cell Phone","Part B - Area", "Part B - Phone", "Part B - Cell Area", "Part B - Cell Phone","Number Occupants - insured vehicle A", "Number Occupants - the third party vehicle B");
		var field1Integer=Array("witarea1","witcellarea1","witarea2","witcellarea2");
		var field2Integer=Array( "witphone1","witcellphone1","witphone2","witcellphone2");
		var field1IntegerDescription=Array("Part A - Area","Part A - Cell Area","Part B - Area","Part B - Cell Area");
		var field2IntegerDescription=Array( "Part A - Phone","Part A - Cell Phone","Part B - Phone","Part B - Cell Phone");		
		var fieldLength3=Array("witarea1","witcellarea1","witarea2","witcellarea2");
		var fieldLength3Description=Array("Part A - Area","Part A - Cell Area","Part B - Area","Part B - Cell Area");
		var fieldLength7=Array( "witphone1","witcellphone1","witphone2","witcellphone2");
		var fieldLength7Description=Array( "Part A - Phone","Part A - Cell Phone","Part B - Phone","Part B - Cell Phone");		
	var alertMsg = "You must supply information for the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	
for (var i = 0; i < fieldInteger.length; i++){
		var obj = formobj.elements[fieldInteger[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	if (isInteger(obj.value)==false){
	alertMsg += " - " + fieldIntegerDescription[i] + " must be a number\n";
	}
	}
	}
	}
	for (var i=0;i<field1Integer.length;i++){
	obj1=formobj.elements[field1Integer[i]];
	obj2=formobj.elements[field2Integer[i]];
	if (obj1 && obj2){
	if (((obj1.value==null || obj1.value=="")&& (obj2.value!=null && obj2.value!=""))||
		((obj2.value==null || obj2.value=="")&& (obj1.value!=null && obj1.value!=""))
		){
			alertMsg += " - " + field1IntegerDescription[i] + " and "+field2IntegerDescription[i] +" must both be empty or numbers\n";
		}
	}
	}
	
	for (var i = 0; i < fieldLength3.length; i++){
		var obj = formobj.elements[fieldLength3[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=3){
	alertMsg += " - " + fieldLength3Description[i] + " must be exactly of length 3\n";
	}
	}
	}
	}
	

	
	for (var i = 0; i < fieldLength7.length; i++){
		var obj = formobj.elements[fieldLength7[i]];
	if (obj){
	if (obj.value!=null && obj.value!=""){
	var temp=obj.value;
	if (temp.length!=7){
	alertMsg += " - " + fieldLength7Description[i] + " must be exactly of length 7\n";
	}
	}
	}
	}
	
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

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++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		return " format should be : mm/dd/yyyy"
	}
	if (strMonth.length<1 || month<1 || month>12){
		return " does not have a valid month"
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		return " does not have a valid day"
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		return " does not have a valid 4 digit year between "+minYear+" and "+maxYear
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){



		return " is not a valid date"
	}
return ""
}

function filldriverForm2(){

	var driversame=document.getElementById("driversame");
	if (driversame.checked) {
		document.getElementById("vehdrivname").value = document.getElementById("vehownname").value;
		document.getElementById("vehdrivaddress").value = document.getElementById("vehownaddress").value;
		document.getElementById("vehdrivresarea").value = document.getElementById("vehownresarea").value;
		document.getElementById("vehdrivresphone").value = document.getElementById("vehownresphone").value;
		document.getElementById("vehdrivbusarea").value = document.getElementById("vehownbusarea").value;
		document.getElementById("vehdrivbusphone").value = document.getElementById("vehownbusphone").value;
		document.getElementById("vehdrivcellarea").value = document.getElementById("vehowncellarea").value;
		document.getElementById("vehdrivcellphone").value = document.getElementById("vehowncellphone").value;
		
		document.getElementById("vehdrivname").readOnly = true;
		document.getElementById("vehdrivaddress").readOnly = true;
		document.getElementById("vehdrivresarea").readOnly = true;
		document.getElementById("vehdrivresphone").readOnly = true;
		document.getElementById("vehdrivbusarea").readOnly = true;
		document.getElementById("vehdrivbusphone").readOnly = true;
		document.getElementById("vehdrivcellarea").readOnly = true;
		document.getElementById("vehdrivcellphone").readOnly = true;
	}else{
	
		document.getElementById("vehdrivname").value = "";
		document.getElementById("vehdrivaddress").value = "";
		document.getElementById("vehdrivresarea").value = "";
		document.getElementById("vehdrivresphone").value = "";
		document.getElementById("vehdrivbusarea").value = "";
		document.getElementById("vehdrivbusphone").value = "";
		document.getElementById("vehdrivcellarea").value = "";
		document.getElementById("vehdrivcellphone").value = "";
		
		document.getElementById("vehdrivname").readOnly = false;
		document.getElementById("vehdrivaddress").readOnly = false;
		document.getElementById("vehdrivresarea").readOnly = false;
		document.getElementById("vehdrivresphone").readOnly = false;
		document.getElementById("vehdrivbusarea").readOnly = false;
		document.getElementById("vehdrivbusphone").readOnly = false;
		document.getElementById("vehdrivcellarea").readOnly = false;
		document.getElementById("vehdrivcellphone").readOnly = false;
	
	}
}
function filldriverForm4(){
var driversame=document.getElementById("driversame");
	if (driversame.checked) {
		

		document.getElementById("pdothdrivname").value = document.getElementById("pdownname").value;
		document.getElementById("pdothdrivaddress").value = document.getElementById("pdownaddress").value;
		document.getElementById("pdothdrivresarea").value = document.getElementById("pdownresarea").value;
		document.getElementById("pdothdrivresphone").value = document.getElementById("pdownresphone").value;
		document.getElementById("pdothdrivbusarea").value = document.getElementById("pdownbusarea").value;
		document.getElementById("pdothdrivbusphone").value = document.getElementById("pdownbusphone").value;
		document.getElementById("pdothdrivcellarea").value = document.getElementById("pdowncellarea").value;
		document.getElementById("pdothdrivcellphone").value = document.getElementById("pdowncellphone").value;
		
		
		document.getElementById("pdothdrivname").readOnly =true;
		document.getElementById("pdothdrivaddress").readOnly = true;
		document.getElementById("pdothdrivresarea").readOnly = true;
		document.getElementById("pdothdrivresphone").readOnly = true;
		document.getElementById("pdothdrivbusarea").readOnly = true;
		document.getElementById("pdothdrivbusphone").readOnly = true;
		document.getElementById("pdothdrivcellarea").readOnly = true;
		document.getElementById("pdothdrivcellphone").readOnly = true;
	}else{
	document.getElementById("pdothdrivname").value = "";
		document.getElementById("pdothdrivaddress").value = "";
		document.getElementById("pdothdrivresarea").value = "";
		document.getElementById("pdothdrivresphone").value = "";
		document.getElementById("pdothdrivbusarea").value = "";
		document.getElementById("pdothdrivbusphone").value = "";
		document.getElementById("pdothdrivcellarea").value = "";
		document.getElementById("pdothdrivcellphone").value = "";
		
		document.getElementById("pdothdrivname").readOnly =false;
		document.getElementById("pdothdrivaddress").readOnly = false;
		document.getElementById("pdothdrivresarea").readOnly = false;
		document.getElementById("pdothdrivresphone").readOnly = false;
		document.getElementById("pdothdrivbusarea").readOnly = false;
		document.getElementById("pdothdrivbusphone").readOnly = false;
		document.getElementById("pdothdrivcellarea").readOnly = false;
		document.getElementById("pdothdrivcellphone").readOnly = false;
	
	}
}
/* --------------------------------------------------------------------------------------- */
/* VALIDATE WELL-FORMED EMAIL ADDRESS ---------------------------------------------------- */
/* --------------------------------------------------------------------------------------- */
function validateEmail(emailStr){
	// user@domain check and separate
	var emailPat=/^(.+)@(.+)$/;
	// special chars check
	var specialChars="\*\?#$%\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	// chars allowed
	var validChars="\[^\\s" + specialChars + "\]";
	// "user" is quoted - OK
	var quotedUser="(\"[^\"]*\")";
	// bracketed IP as domain
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	// atom as a series of non-special chars
	var atom=validChars + '+';
	// one word in the typical username
	var word="(" + atom + "|" + quotedUser + ")";
	// structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	// structure of a normal domain
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		
		alert("Your email address is not valid. Please check the @ and .'s. Thank You.");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	if (user.match(userPat)==null) {

	    alert("Your USER@domain is not valid. Please re-enter your email. Thank You.");
    	return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {

		for (var i=1;i<=4;i++) {
	    	
	    	if (IPArray[i]>255) {
	        	alert("Your destination IP address is not valid. Please re-enter your email. Thank You.");
				return false;
	    	}
    	}
    	return true;
	}

	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		
		alert("Your user@DOMAIN name is not valid. Please re-enter your email. Thank You.");
    	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) {

		alert("Your email address must end in a 3-letter domain, or a 2-letter country code. Please correct this error. Thank You.");
   		return false;
	}

	if (len<2) {
   		
   		var errStr="Your address is missing a hostname. Please re-enter your email. Thank You.";
   		alert(errStr);
   		return false;
	}

	// ALL OK
	return true;
}

function validateFirstForm(){
var choselog=document.getElementById("logchoise1");

if (choselog.checked){

var insemail=document.getElementById("insemail").value;

var res= validateEmail(insemail);
var insname=document.getElementById("insname").value;
var insphone=document.getElementById("insphone").value;
if (res && (insname!=null&& insname!="")&&(insphone!=null && insphone!="" && !isNaN(insphone)) ){

return true;
}
else{
 if (insname==null || insname==""){
alert('Insured Name is required field!');
}else if (insphone==null || insphone=="" || isNaN(insphone)){
alert('Insured Phone is required field and must be a number!');
}

return false;
}
}else{

var origemail=document.getElementById("origemail").value;
var controlnumber=document.getElementById("controlnumber").value;
var res= validateEmail(origemail);
if (res && (controlnumber!=null && controlnumber!="" && !isNaN(controlnumber)) ){
return true;
}
else{
 if (controlnumber==null || controlnumber==""){
alert('Control Number is required field!');
}else if (isNaN(controlnumber)){
alert('Control Number must be a number!');
}

return false;
}

}

}
function checkTerms(){
var agree=document.getElementById("agree");
	if (agree.checked) {
	document.getElementById("submit").disabled=false;
	}else{
	document.getElementById("submit").disabled=true;
	}

}
//-->
