function formCheck(formobj){
	//1) Enter name of mandatory fields
	var fieldRequired = Array("fname", "lname", "Street", "Zip","City", "State", "Email", "dob", "Sex", "Amount", "Term", "Tob", "Health");
	//2) Enter field description to appear in the dialog box
	var fieldDescription = Array("First Name", "Last Name", "Address","Zip", "City", "State", "Email", "Date of Birth", "Gender", "Amount of Insurance Needed", "Duration of Insurance", "Have You Used Tobacco in the Past 12 Months", "What Best Describes Your Health Status");
	//3) Enter dialog message
	var alertMsg = "The Following fields are Incomplete OR Invalid:\n";
	
	var l_Msg = alertMsg.length;
    var ph_flag,eph_flag;
	
     document.getElementById('Work_Phone').value=document.getElementById('Work_Phone1').value+document.getElementById('Work_Phone2').value+document.getElementById('Work_Phone3').value;

	if(document.getElementById('Work_Phone').value == '')
	{
		ph_flag=true;
	}
	else
	{
		ph_flag=false;
	}
	
	document.getElementById('phone').value=document.getElementById('Phone1').value+document.getElementById('Phone2').value+document.getElementById('Phone3').value;
	if(document.getElementById('phone').value == '')
	{
		eph_flag=true;
	}
	else
	{
		eph_flag=false;
	}

	document.getElementById('dob').value=document.getElementById('MM').value+"-"+document.getElementById('DD').value+"-"+document.getElementById('YY').value;

	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 == "" || obj.options[obj.selectedIndex].value == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
			case "hidden":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				if(fieldRequired[i]=='dob')
				{
			
					if(document.getElementById('dob').value == '--')
					  {
						alertMsg += " - Date of Birth \n";
					  }
					else{
						
						if(validateDate(document.getElementById('dob')) == false)
					  {
 						  alertMsg += " - Please enter valid Date of Birth \n";
					  }
					}
				}
				if(fieldRequired[i]=='Zip' && obj.value !='')
				{
				   if(document.getElementById('zip') != null || document.getElementById('zip') != undefined)
				   {
					    if (document.getElementById('zip').value == ''){
					        alertMsg += " - Please enter valid Zip Code \n";
					    }
						else if(document.getElementById('zip').value.length != 5)
						{
							alertMsg += " - Please enter five digit Zip Code \n";
						}
						else if(document.getElementById('zip').value == 0)
						{
							alertMsg += " - Please enter valid Zip Code \n";
						}
						else if(isNumeric(document.getElementById('zip').value) == false)
						{
							alertMsg += " - Please enter valid Zip Code \n";
						}
				   }
				}

				if(fieldRequired[i]=='Email' && obj.value !='')
				{
				   if(document.getElementById('email') != null || document.getElementById('email') != undefined)
				   {
					   if(isValidEmail(obj.value) == false)
					   {
							 alertMsg += " - Please enter valid Email Address \n";
					   }
				   }
				}
				break;
			default:
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

   if(eph_flag == true && ph_flag==true)
   {
	alertMsg += " - Day or Evening Phone Number \n";
   }
	
	if(document.getElementById('Work_Phone').value != '')
		{
		  if((document.getElementById('Work_Phone').value.length) != 10)
		  {
			alertMsg += " - Please enter valid Day Phone Number \n";
		  }
		  else if(isNumeric(document.getElementById('Work_Phone').value) == false)
		  {
			alertMsg += " - Please enter valid Day Phone Number \n";
		  }
		  else if(validate_phonenumber(document.getElementById('Work_Phone').value)==0)
		  {
			alertMsg += " - Please enter valid Day Phone Number \n";
		  }
		}
	

   if((document.getElementById('phone') != null || document.getElementById('phone') != undefined) && document.getElementById('phone').value !='')
	{				 
		if((document.getElementById('phone').value.length) != 10)
	    {
			alertMsg += " - Please enter valid Evening Phone Number \n";
	    }
	    else if(isNumeric(document.getElementById('phone').value) == false)
		{
		   alertMsg += " - Please enter numeric Evening Phone Number \n";
		}
		else if(validate_phonenumber(document.getElementById('phone').value)==0)
		{
			alertMsg += " - Please enter valid Evening Phone Number \n";
		}
	}
	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function isValidEmail(emailStr){
	if(emailStr.length== 0){
		return true;
	}
	if(!/^\w+([\.\-\+]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(emailStr))
		return false
	return true	
}


function check_zip_life(zip,serverURL)
{
	var zipVal=zip.value;
	if(zipVal.length == 5)
	{
		if(isValidZip(zip,'Please enter valid Zip Code') == false) 
		{
			document.getElementById('img_Zip').style.visibility="hidden";
			return false;
		}
		validate_zip(zip,serverURL);
	}
}


function validate_zip(zip,serverURL)
{
	document.getElementById('img_Zip').style.visibility="visible";
	xmlHTTPObj=getXML_HTTPObj();
	if(isValidZip(zip,'Please enter valid Zip Code') == false) 
		{
			return false;
		}
	xmlHTTPObj.onreadystatechange = function()
	{
			if(xmlHTTPObj.readyState == 4)
			{
				document.getElementById('img_Zip').style.visibility="hidden";
				var serverText = xmlHTTPObj.responseText;
				if(serverText == 'zip code not found')
				{
					alert('Please enter valid Zip Code');
					document.getElementById('zip').value='';
					document.getElementById('city').value='';
					document.getElementById('state').value='';
					document.getElementById('zip').focus();

					return false;
				}
				else
				{
					var add_arr=serverText.split(":");
					document.getElementById('city').value=add_arr[0];
					//document.getElementById('county').value=add_arr[2];
					document.getElementById('state').value=add_arr[1];
				}

	       }
	}
	xmlHTTPObj.open("GET",serverURL+"?zipCode="+zip.value,true);
	xmlHTTPObj.send(null);
}
function validateDate(fld) 
{
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;

    if ((fld.value.match(RegExPattern)) && (fld.value!='')) 
        return true;
	else 
	{
		return false;
    } 
}

function jump_to_next(ctrl,nextfld,count)
{
	var val=ctrl.value;
    var ctrlLen=val.length;

	if(ctrlLen == count)
	{
		if(nextfld != '')
		{
			nextctrl=document.getElementById(nextfld);
			nextctrl.focus();
		}
	}
}
