
function fn_CheckMandatory(srcForm)
{

   for (i = 0; i < srcForm.elements.length; i++)
	{
     if(srcForm.elements[i].id == "MAN") 
	 {
		if(srcForm.elements[i].type=="select-one")
		{
		  if(srcForm.elements[i].selectedIndex==0)
		   {
				alert(mandMessage);
				srcForm.elements[i].style.border="solid #FF0000 1px";
				srcForm.elements[i].focus();
				return false;
			}
		}
		else if((fn_trim(srcForm.elements[i].value).length==0))
		{
				
				
			  if(srcForm.elements[i].name=='dateOfBirth'){
				  srcForm.elements[i].style.border="solid #FF0000 1px";	  
	  		     // alert ("Please enter Date of Birth.");
				 alert(dobManMsg);
				  return false;
				}
				 if(srcForm.elements[i].name=='dateOfDeath')
				{
				srcForm.elements[i].style.border="solid #FF0000 1px";
	  		   //   alert ("Please enter Date of Death.");
				 alert(dodManMsg);
				  return false;
				}
			  srcForm.elements[i].style.border="solid #FF0000 1px";
			  srcForm.elements[i].focus();
		      alert (mandMessage);
			  return false;
		}	
      }
   }

if(fn_validateFields(srcForm))
	return true;
else 
	return false;

}

function fn_validateFields(srcForm)
{
	//alert("validate fileds...");
	var flag=false;

if(fn_policyCheck())
 if(fn_isValidDobDate(document.homepageform.dateOfBirth.value))
  if(fn_checkName(document.homepageform.claimantName.value))
	if(fn_relation())
	 if(fn_isValidDodDate(document.homepageform.dateOfDeath.value))
	 if(fn_dateDiff(srcForm.dateOfBirth.value,srcForm.dateOfDeath.value))
	if(fn_validateAllPhoneFields())
	  if(fn_emailCheck(srcForm.emailId.value))
		{
		    if(fn_ValidEmailId(fn_trim(srcForm.emailId.value))){
				flag=true;
			}else{
				flag=false;
				document.homepageform.emailId.focus();
			}
		}

		else
		{
			flag=false;
		}

//alert("flag===========================>"+flag);
return flag;

}


function fn_checkName(name)
{
//	alert("name==>"+name);
	 if(fn_IsNumeric(name))
	{
	   // alert("Please Enter valid Name.");
		document.homepageform.claimantName.style.border="solid #FF0000 1px";
		alert(validNameMsg);
	    document.homepageform.claimantName.focus();
		return false;
	}
	else
	{
		if(!fn_isAlpha(document.homepageform.claimantName.value))
		{
				document.homepageform.claimantName.style.border="solid #FF0000 1px";
				alert(validNameMsg);
				document.homepageform.claimantName.focus();
				return false;
		}


		if(fn_checkSpacesForName())
			return true;
		else
			return false;
    }
}

function fn_relation()
{
	
	if(document.homepageform.claimantrelation.value==0)
	{
		//alert("Please enter Mandatory Feild(s)");
		document.homepageform.claimantrelation.style.border="solid #FF0000 1px";
		alert(mandMessage);
		document.homepageform.claimantrelation.focus();
		return false;
	}
	else if(document.homepageform.claimantrelation.value==8) 
	{
		if(document.homepageform.otherRelation.value=="")
		{
			
		//alert ("Please enter Mandatory Feild(s)");
			alert(mandMessage);
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
			document.homepageform.otherRelation.focus();
			return false;
		}
		else
		{
			//alert("others releation else");
			if(!fn_isAlphaForOthers(document.homepageform.otherRelation.value))
			{
			
				
				
				document.homepageform.otherRelation.style.border="solid #FF0000 1px";
				alert(otherRelationError);
				document.homepageform.otherRelation.focus();

				return false;
			}
			
			//return true;

			 if(document.homepageform.otherRelation.value.indexOf('.')!=-1) 
			 {
					//alert("Dot is not allowed in the Climant Others.");
					alert(otherDotErrMsg);
					document.homepageform.otherRelation.style.border="solid #FF0000 1px";
					document.homepageform.otherRelation.focus();
					return false;

			}
			/*else if(document.homepageform.otherRelation.value.indexOf('--')!=-1) 
			{	
				document.homepageform.otherRelation.style.border="solid #FF0000 1px";
				alert("More than one Hyphen is not allowed in the  Climant Others.");
				document.homepageform.otherRelation.focus();
				return false;
			} */

			//alert("Calling fn_checkSpacesForOthers...");
			if(fn_checkSpacesForOthers())
				return true;
			else 
				return false;


		}
	}

	else 
		return true;

}




function fn_trim(s) 
{
  // Remove leading spaces and carriage returns
  
  while ((s.substring(0,1) == ' ') || 
         (s.substring(0,1) == '\n') || 
         (s.substring(0,1) == '\r')) {
        s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns

  while ((s.substring(s.length-1,s.length) == ' ') || 
         (s.substring(s.length-1,s.length) == '\n') || 
         (s.substring(s.length-1,s.length) == '\r')) {
       s = s.substring(0,s.length-1);
  }
  return s;
}


function fn_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)
{
	//alert("Email address seems incorrect (check @ and .'s)")
	document.homepageform.emailId.style.border="solid #FF0000 1px";
	alert(emailAddressIncorrectMsg);
	document.homepageform.emailId.focus();
	return false
}
var user=matchArray[1]
var domain=matchArray[2]
if (user.match(userPat)==null) 
{
    //alert("The part of your email address before the '@' doesn't seem to be valid.")
		document.homepageform.emailId.style.border="solid #FF0000 1px";
	alert(mailDomailInvalidMsg);
    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!")
	document.homepageform.emailId.style.border="solid #FF0000 1px";
		   alert(mailIpInvalid);
			document.homepageform.emailId.focus();
			return false
	    }
	}
	return true
}
var domainArray=domain.match(domainPat)
if (domainArray==null) 
{
	//alert("Part of your email address after the '@' doesn't seem to be valid")
	document.homepageform.emailId.style.border="solid #FF0000 1px";
	alert(mailAddressInvalid);

    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>6) 
	{
		//alert("The address must end in a top level domain (e.g. .com), or two letter country.")
	document.homepageform.emailId.style.border="solid #FF0000 1px";
		alert(topLevelDomainError);
		document.homepageform.emailId.focus();
		return false
	}

if (len<2)
{
  // var errStr="This address is missing a hostname!"
	document.homepageform.emailId.style.border="solid #FF0000 1px";
  alert(domainNameMissing);
   document.homepageform.emailId.focus();
   alert(errStr)
   return false
	}
return true;
}

//Policy No validations 

function fn_policyCheck() 
{

 msg="";
 flag=0;
 if(!fn_IsNumeric(document.homepageform.policyNo.value))
	{
	    //alert("Please Enter valid Policy no.");
		document.homepageform.policyNo.style.border="solid #FF0000 1px";
		alert(validPolicyNoError);
	    document.homepageform.policyNo.focus();
		flag=1;

	}
	else if(document.homepageform.policyNo.value==00000000)
	{
		    //alert("Please Enter valid Policy no.");
			document.homepageform.policyNo.style.border="solid #FF0000 1px";
			alert(validPolicyNoError);
			 document.homepageform.policyNo.focus();
			flag=1;
	 }
	 else 
		flag=0;

	

if(flag==1)
{
      
 	   return false;
} 	
else
	return true;
	
}

function fn_IsNumeric(Value)//returns false when not a numeric 
{
	

  for (var i = 0; i< Value.length; i++) 
  {
	

    if (Value.charAt(i) < "0" || Value.charAt(i) > "9")

    return false;
  }
  return true;
}





//DATE VALIDATIONS for DOB

function fn_isValidDobDate(dateStr) {

//alert("Date Str=="+dateStr);
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year
var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		//alert("Date Format should be - DD/MM/YYYY")
		document.homepageform.dateOfBirth.style.border="solid #FF0000 1px";
		alert(dateFormatInvalid);
			document.homepageform.dateOfBirth.focus();
		return false;
	}

	day = matchArray[1]; // parse date into variables
	month = matchArray[3];
	year = matchArray[4];
	if (month < 1 || month > 12) { // check month range
		//alert("Month must be between 1 and 12.");
		document.homepageform.dateOfBirth.style.border="solid #FF0000 1px";
		alert(monthBetweenError);
		document.homepageform.dateOfBirth.focus();
		return false;
	}
	if (day < 1 || day > 31) {
		//alert("Day must be between 1 and 31.");
		document.homepageform.dateOfBirth.style.border="solid #FF0000 1px";
		alert(monthRangeError);
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		//alert("Month "+month+" doesn't have 31 days!")
		document.homepageform.dateOfBirth.style.border="solid #FF0000 1px";
		alert(monthLable+" "+month+" "+monthDysError);
			document.homepageform.dateOfBirth.focus();
		return false;
	}

	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			//alert("February " + year + " doesn't have " + day + " days!");
		document.homepageform.dateOfBirth.style.border="solid #FF0000 1px";
			alert(febMonthLabel+" "+year+" "+doesNotHaveLable+" "+day +" "+daysLable);
			document.homepageform.dateOfBirth.focus();
			return false;
		}
	}

	if(fn_dateCheckForGreater(document.homepageform.dateOfBirth.value))
		return true;
	else
	{
		//alert("Please Check the Date of Birth  , it is after the today date");
		document.homepageform.dateOfBirth.style.border="solid #FF0000 1px";
		alert(DOBAfterDateMsg);
		document.homepageform.dateOfBirth.focus();
		return false;
	}
}

//DATE VALIDATIONS for DOD

function fn_isValidDodDate(dateStr) {





//alert("Date Str=="+dateStr);
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year
var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		//alert("Date Format should be - DD/MM/YYYY")
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
		alert(dateFormatInvalid);
			document.homepageform.dateOfDeath.focus();
		return false;
	}

	day = matchArray[1]; // parse date into variables
	month = matchArray[3];
	year = matchArray[4];


	if(year<2000)
	{
		//alert("The Date of Death year should be after 2000.");
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
		alert(yearLessError);
		document.homepageform.dateOfDeath.focus();
		return false;
	
	}

	if (month < 1 || month > 12) { // check month range
		//alert("Month must be between 1 and 12.");
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
		alert(monthBetweenError);
			document.homepageform.dateOfDeath.focus();
		return false;
	}
	if (day < 1 || day > 31) {
		//alert("Day must be between 1 and 31.");
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
		alert(monthRangeError);
			document.homepageform.dateOfDeath.focus();
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		//alert("Month "+month+" doesn't have 31 days!")
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
		alert(monthLable+" "+month+" "+monthDysError);
				document.homepageform.dateOfDeath.focus();
		return false;
	}

	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			//alert("February " + year + " doesn't have " + day + " days!");
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
			alert(febMonthLabel+" "+year+" "+doesNotHaveLable+" "+day +" "+daysLable);

				document.homepageform.dateOfDeath.focus();
			return false;
		}
	}

	if(fn_dateCheckForLesser())
	{
		if(fn_dateCheckForGreater(document.homepageform.dateOfDeath.value))
		{
			return true;
		}
		else
		{
			//alert("Please Check the Date of Death , it after  the today date");
			document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
			alert(DODAfterDateMsg);

			document.homepageform.dateOfDeath.focus();
			return false;
		}
		
	}

	else
	{
		document.homepageform.dateOfDeath.focus();
		return false;
	}
}



//DATE DIFFRENCE VALIDATIONS( DATE OF DEATH )

function fn_dateDiff(date1,date2) {

//	alert("date1:"+date1);
//	alert("date2:"+date2);
	
	diff  = new Date();

	if (fn_isValidDobDate(date1)) { // Validates first date 
		date1temp = new Date(date1);
	}else{
		return false; // otherwise exits
	}


	if (fn_isValidDodDate(date2)) { // Validates second date 
		date2temp = new Date(date2);
	}else{
			document.homepageform.dateOfDeath.focus();
		return false; // otherwise exits
	}

	//sets difference date to difference of first date and second date
	diff.setTime(date2temp.getTime() - date1temp.getTime());
	timediff = diff.getTime();

	weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
	timediff -= weeks * (1000 * 60 * 60 * 24 * 7);

	days = Math.floor(timediff / (1000 * 60 * 60 * 24)); 
	timediff -= days * (1000 * 60 * 60 * 24);

	hours = Math.floor(timediff / (1000 * 60 * 60)); 
	timediff -= hours * (1000 * 60 * 60);

	mins = Math.floor(timediff / (1000 * 60)); 
	timediff -= mins * (1000 * 60);

	secs = Math.floor(timediff / 1000); 
	timediff -= secs * 1000;

	if(weeks == 0 || weeks > 0 ){
	}else if(weeks < 0){
			document.homepageform.dateOfDeath.focus();
			return false;
	}

	return true;
}



//function for DATE greater

function fn_dateCheckForGreater(dateobj){
var textObject=dateobj;
//alert("Date Object===>"+textObject);
var myDate = new Date();
var myMonth = myDate.getMonth() + 1;
if (myMonth < 10 ){
    myMonth = "0" + myMonth;
}

var myDay  = myDate.getDate();
if (myDay < 10 ){
    myDay = "0" + myDay;
}

	
	var currDateString = myDate.getFullYear() + ""+myMonth + myDay;

//	alert("currDateString===>"+currDateString);

    var date   = textObject.substring(0,2);
    var month  = textObject.substring(3,5);
    var year   = textObject.substring(6,10);
    var startDateString = year + month + date;

//alert("startDateString===>"+startDateString);

    if(startDateString <= currDateString){
	   // document.homepageform.dateOfBirth.value="";
		document.homepageform.dateOfBirth.focus();
       // textObject.focus();
        numberOfTimes = 0;

        return true;
    }else{
		//alert("Please Check the Date of Birth date , it greater than the today date");
        return false;
    }
}

//function for DATE lessthan


function fn_dateCheckForLesser(){


	var textObject=document.homepageform.dateOfDeath.value;

	var dob=document.homepageform.dateOfBirth.value;
	var date   = dob.substring(0,2);
    var month  = dob.substring(3,5);
    var year   = dob.substring(6,10);

	currDateString= year + month + date;

//	alert("currDateString===>"+currDateString);

    var date   = textObject.substring(0,2);
    var month  = textObject.substring(3,5);
    var year   = textObject.substring(6,10);
    var startDateString = year + month + date;

//alert("startDateString===>"+startDateString);

     if(startDateString >= currDateString){
        //textObject.value="";
       document.homepageform.dateOfDeath.focus();
        numberOfTimes = 0;
        return true;

    }else{
		//alert("Please Check the Death of date , it before the Birth date");
		document.homepageform.dateOfDeath.style.border="solid #FF0000 1px";
		alert(DODBeforeDateMsg);
        return false;
    }
}





//--------------------------------------------------------------------------------------------------------




function fn_PhonePhoneAndMobileValidations()
{
	
	//alert("inside fn_PhonePhoneAndMobileValidations");
	
	var telAreaCode=document.homepageform.telAreaCode.value;
	var telStdCode=document.homepageform.telStdCode.value;
	var telPhoneNo=document.homepageform.telPhoneNo.value;
	
	var mobileStdCode=document.homepageform.mobileStdCode.value;
	var mobileNo=document.homepageform.mobileNo.value;	



	if(telAreaCode!=""&&telStdCode!=""&&telPhoneNo!=""&&mobileStdCode!=""&&mobileNo!="")
	{
		
		return true;
	}

	else if(telAreaCode=='' && telStdCode=='' && telPhoneNo=='' && mobileStdCode=='' &&  mobileNo=='')
	{

		document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
		document.homepageform.telStdCode.style.border="solid #FF0000 1px";		
		document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
		document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
		document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
		document.homepageform.mobileNo.style.border="solid #FF0000 1px";	
		//alert("telAreaCode::"+telAreaCode);
		//alert("telStdCode::"+telStdCode);
		//alert("telPhoneNo::"+telPhoneNo);
		//alert("mobileStdCode::"+mobileStdCode);
		//alert("mobileNo::"+mobileNo);

		//alert("Please provide the any one complete valid contact details[Phone or Mobile]");
		if(telAreaCode.length==0){
			document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
		}else if(telStdCode.length==0){
			document.homepageform.telStdCode.style.border="solid #FF0000 1px";
		}else if(telPhoneNo.length==0){
			document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
		}else if(mobileStdCode.length==0){
			document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
		}else if(mobileNo.length==0){
			document.homepageform.mobileNo.style.border="solid #FF0000 1px";	
		}

		alert(completeContactDetailMsg);
		return false;
	}
	
	else if(telAreaCode!='' && telStdCode!='' && telPhoneNo!='' )
	{
			
		if(mobileStdCode=='' &&  mobileNo=='')
		{
			
			return true;
		}
		else 
		{

	
			if(mobileStdCode!='')
			{

				if(!fn_checkPhoneIsNumeric(mobileStdCode))
				{
					var flag=fn_countryCode(mobileStdCode);
					if(flag=="false")
					 {
						//alert("Please Enter Valid AreaCode.");
						document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
						//alert("Please Enter Valid Country Code for Mobile Number.");
						alert(mobileSTDCode);
						document.homepageform.mobileStdCode.focus();
						 return false;
					 }

				 }

			}	

			if(mobileNo!='')
			{

				if(!fn_checkPhoneIsNumeric(mobileNo))
				 {
					var flag=fn_countryCode(mobileNo);
					if(flag=="false")
					 {
						//alert("Please Enter Valid AreaCode.");
						document.homepageform.mobileNo.style.border="solid #FF0000 1px";
						//alert("Please Enter Valid Mobile Number.");
						alert(mobilePhone);
						document.homepageform.mobileNo.focus();
						 return false;
					 }

				 }

			}

		//alert(" 11111111");
		if(mobileStdCode!='' || mobileStdCode=='')
		{

			if( mobileStdCode=='')
			{
				//alert("Please Enter the Country Code for Mobile Number.");
				alert(countryCodeManMsg);
				document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
				document.homepageform.mobileStdCode.focus();
				return false;
			}
			if(!fn_checkPhoneIsNumeric(mobileStdCode))
				{
					var flag=fn_countryCode(mobileStdCode);
					if(flag=="false")
					 {
						//alert("Please Enter Valid AreaCode.");
						document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
						//alert("Please Enter Valid Country Code for Mobile Number.");
						alert(mobileSTDCode);
						document.homepageform.mobileStdCode.focus();
						 return false;
					 }

				 }
			
		}

	
		if(mobileNo!='' || mobileNo=='')
		{
			if(mobileNo=='')
			{
				//alert("Please Enter the Mobile Number.");
				alert(mobileManMsg);
				document.homepageform.mobileNo.style.border="solid #FF0000 1px";
				document.homepageform.mobileNo.focus();
				return false;
			}


			if(!fn_checkPhoneIsNumeric(mobileNo))
				 {
					var flag=fn_countryCode(mobileNo);
					if(flag=="false")
					 {
						//alert("Please Enter Valid AreaCode.");
						document.homepageform.mobileNo.style.border="solid #FF0000 1px";
						//alert("Please Enter Valid Mobile Number.");
						alert(mobilePhone);
						document.homepageform.mobileNo.focus();
						 return false;
					 }

				 }
		}

			if(mobileStdCode.length==0){
				document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
			}else if(mobileNo.length==0){
				document.homepageform.mobileNo.style.border="solid #FF0000 1px";	
			}

			//alert("Please provide the any one complete valid contact details[Phone or Mobile]");
			
			alert(completeContactDetailMsg)
		}

	}
	else if(mobileStdCode!='' &&  mobileNo!='')
	{
			
		if(telAreaCode=='' && telStdCode=='' && telPhoneNo=='' )
		{	
			
			return true;
		}
		else 
		{	



			if(telAreaCode!='')
		{

			if(!fn_checkPhoneIsNumeric(telAreaCode))
			 {
				var flag=fn_countryCode(telAreaCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Country Code for Telephone Number.");
					alert(areaCodeMsg);
					document.homepageform.telAreaCode.focus();
					 return false;
				 }

			 }

		}
		if(telStdCode!='')
		{

			if(!fn_checkPhoneIsNumeric(telStdCode))
			 {
				var flag=fn_countryCode(telStdCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telStdCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Area/City Code.");
					alert(stdCodeMsg);
					document.homepageform.telStdCode.focus();
					 return false;
				 }

			 }

		}	

		if(telPhoneNo!='')
		{

			if(!fn_checkPhoneIsNumeric(telPhoneNo))
			 {
				var flag=fn_countryCode(telPhoneNo);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Phone Number.");
					alert(phoneNoMsg);
					document.homepageform.telPhoneNo.focus();
					 return false;
				 }

			 }

		}	




		if(telAreaCode!='' || telAreaCode=='')
		{
			if( telAreaCode=='')
			{
				//alert("Please Enter the Country Code for Telephone Number.");
				alert(telCtyCodeManMsg);
				document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
				document.homepageform.telAreaCode.focus();
				 return false;
			}
	

			if(!fn_checkPhoneIsNumeric(telAreaCode))
			 {
				var flag=fn_countryCode(telAreaCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Country Code for Telephone Number.");
					alert(areaCodeMsg);
					document.homepageform.telAreaCode.focus();
					 return false;
				 }

			 }

		}

			

		if(telStdCode!='' || telStdCode=='')
		{

			if(telStdCode=='')
			{
				document.homepageform.telStdCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Area/City Code.");
				alert(areacodeManMsg);
				document.homepageform.telStdCode.focus();
				 return false;
			}


			if(!fn_checkPhoneIsNumeric(telStdCode))
			 {
				var flag=fn_countryCode(telStdCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telStdCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Area/City Code.");
					alert(stdCodeMsg);
					document.homepageform.telStdCode.focus();
					 return false;
				 }

			 }

		}	


		if(telPhoneNo!='' || telPhoneNo=='' )
		{

			if(telPhoneNo=='' )
			{
					document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
					//alert("Please Enter the Phone Number.");
					alert(phoneManErrMsg);
					document.homepageform.telPhoneNo.focus();
					 return false;
			}

			if(!fn_checkPhoneIsNumeric(telPhoneNo))
			 {
				var flag=fn_countryCode(telPhoneNo);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Phone Number.");
					alert(phoneNoMsg);
					document.homepageform.telPhoneNo.focus();
					 return false;
				 }

			 }

		}	



			
			//alert("Please provide the any one complete valid contact details");
			if(telAreaCode.length==0){
				document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
			}else if(telStdCode.length==0){
				document.homepageform.telStdCode.style.border="solid #FF0000 1px";
			}else if(telPhoneNo.length==0){
				document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
			}
			alert(completeContactDetailMsg)
		}
	}
	else 
	{	
		
		
		//else if(telAreaCode=='' && telStdCode=='' && telPhoneNo=='' && mobileStdCode=='' &&  mobileNo=='')
		

		


//======

	
	if((telAreaCode=='' && telStdCode=='' && telPhoneNo=='')  && ( mobileStdCode!='' ||  mobileNo=='') && ( mobileStdCode=='' ||  mobileNo!=''))
	{



		if(telAreaCode!='' || telAreaCode=='')
		{
			if(telAreaCode=='')
			{
				document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Country Code for Telephone Number.");
				alert(telCtyCodeManMsg);
				document.homepageform.telAreaCode.focus();
				 return false;
			}

			var flag=fn_countryCode(telAreaCode);
			if(flag=="false")
			 {
				
				//alert("Please Enter Valid AreaCode.");
				document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
				alert(areaCodeMsg);
				document.homepageform.telAreaCode.focus();
				 return false;
			 }

			if(!fn_checkPhoneIsNumeric(telAreaCode))
			 {
				var flag=fn_countryCode(telAreaCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Country Code for Telephone Number.");
					alert(areaCodeMsg);
					document.homepageform.telAreaCode.focus();
					 return false;
				 }

			 }

		}
		if(telStdCode!='' || telStdCode=='')
		{
			if(telStdCode=='')
			{
				document.homepageform.telStdCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Area/City Code.");
				alert(areacodeManMsg);
				document.homepageform.telStdCode.focus();
				return false;
			}

			if(!fn_checkPhoneIsNumeric(telStdCode))
			 {
				var flag=fn_countryCode(telStdCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telStdCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Area/City Code.");
					alert(stdCodeMsg);
					document.homepageform.telStdCode.focus();
					 return false;
				 }

			 }

		}	

		if(telPhoneNo!='' || telPhoneNo=='')
		{
			if(telPhoneNo=='')
			{
				document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
				//alert("Please Enter the Phone Number.");
				alert(phoneManErrMsg);
				document.homepageform.telPhoneNo.focus();
				return false;

			}
			if(!fn_checkPhoneIsNumeric(telPhoneNo))
			 {
				var flag=fn_countryCode(telPhoneNo);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Phone Number.");
					alert(phoneNoMsg);
					document.homepageform.telPhoneNo.focus();
					 return false;
				 }

			 }

		}	

	}
		

//====

	else if(telAreaCode!='' && telStdCode!='' && telPhoneNo!='') 
	{

		if(mobileStdCode!='' || mobileStdCode=='')
		{
			if(mobileStdCode=='')
			{
				document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Mobile STD Code.");
				alert(mobileSTDManMsg);
				document.homepageform.mobileStdCode.focus();
				 return false;
			}

			if(!fn_checkPhoneIsNumeric(mobileStdCode))
			 {
				var flag=fn_countryCode(mobileStdCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Mobile STD Code.");
					alert(mobileSTDCode);
					document.homepageform.mobileStdCode.focus();
					 return false;
				 }

			 }

		}	

		if(mobileNo!='' || mobileNo=='')
		{
			if(mobileNo=='')
			{
				document.homepageform.mobileNo.style.border="solid #FF0000 1px";
				//alert("Please Enter the Mobile Number.");
				alert(mobileManMsg);
				document.homepageform.mobileNo.focus();
				return false;
			}

			if(!fn_checkPhoneIsNumeric(mobileNo))
			 {
				var flag=fn_countryCode(mobileNo);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.mobileNo.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Mobile Number.");
					alert(mobilePhone);
					document.homepageform.mobileNo.focus();
					 return false;
				 }

			 }

		}
	} 
	else if(telAreaCode!='' || telStdCode!='' || telPhoneNo!='') 
	{



		if(telAreaCode!='' || telAreaCode=='')
		{
			if(telAreaCode=='')
			{
				document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Country Code for Telephone Number.");
				alert(telCtyCodeManMsg);
				document.homepageform.telAreaCode.focus();
				 return false;
			}

			if(!fn_checkPhoneIsNumeric(telAreaCode))
			 {
				var flag=fn_countryCode(telAreaCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Country Code for Telephone Number.");
					alert(areaCodeMsg);
					document.homepageform.telAreaCode.focus();
					 return false;
				 }

			 }

		}
		if(telStdCode!='' || telStdCode=='')
		{
			if(telStdCode=='')
			{
				document.homepageform.telStdCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Area/City Code.");
				alert(areacodeManMsg);
				document.homepageform.telStdCode.focus();
				return false;
			}

			if(!fn_checkPhoneIsNumeric(telStdCode))
			 {
				var flag=fn_countryCode(telStdCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telStdCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Area/City Code.");
					alert(stdCodeMsg);
					document.homepageform.telStdCode.focus();
					 return false;
				 }

			 }

		}	

		if(telPhoneNo!='' || telPhoneNo=='')
		{
			if(telPhoneNo=='')
			{
				document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
				//alert("Please Enter the Phone Number.");
				alert(phoneManErrMsg);
				document.homepageform.telPhoneNo.focus();
				return false;

			}
			if(!fn_checkPhoneIsNumeric(telPhoneNo))
			 {
				var flag=fn_countryCode(telPhoneNo);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Phone Number.");
					alert(phoneNoMsg);
					document.homepageform.telPhoneNo.focus();
					 return false;
				 }

			 }

		}	

	}
	else if(telAreaCode=='' && telStdCode=='' && telPhoneNo=='') 
	{

		if(mobileStdCode!='' || mobileStdCode=='')
		{
			if(mobileStdCode=='')
			{
				document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
				//alert("Please Enter the Mobile STD Code.");
				alert(mobileSTDManMsg);
				document.homepageform.mobileStdCode.focus();
				 return false;
			}

			if(!fn_checkPhoneIsNumeric(mobileStdCode))
			 {
				var flag=fn_countryCode(mobileStdCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
					//alert("Please Enter Valid Mobile STD Code.");
					alert(mobileSTDCode);
					document.homepageform.mobileStdCode.focus();
					 return false;
				 }

			 }

		}	

		if(mobileNo!='' || mobileNo=='')
		{
			if(mobileNo=='')
			{
				document.homepageform.mobileNo.style.border="solid #FF0000 1px";
				//alert("Please Enter the Mobile Number.");
					alert(mobileManMsg);
				document.homepageform.mobileNo.focus();
				return false;
			}

			if(!fn_checkPhoneIsNumeric(mobileNo))
			 {
				var flag=fn_countryCode(mobileNo);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.mobileNo.style.border="solid #FF0000 1px";
					//alert("Please Enter  Valid Mobile Number.");
					alert(mobilePhone);
					document.homepageform.mobileNo.focus();
					 return false;
				 }

			 }

		}
	}




//=======





		//alert("Please provide the any one complete valid contact details");
		if(mobileStdCode.length==0){
				document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
			}else if(mobileNo.length==0){
				document.homepageform.mobileNo.style.border="solid #FF0000 1px";	
			}
		alert(completeContactDetailMsg)
		return false;
	}

}

function fn_checkPhoneIsNumeric(Value)//returns false when not a numeric 
{

  for (var i = 0; i< Value.length; i++) 
  {
    if (Value.charAt(i) < "0" || Value.charAt(i) > "9")

    return false;
  }
  return true;
}
 

  function fn_validateAllPhoneFields()
 {

	var telAreaCode=document.homepageform.telAreaCode.value;
	var telAreaCodeLength=telAreaCode.length;
	var telStdCode=document.homepageform.telStdCode.value;
	var telStdCodeLength=telStdCode.length;
	var telPhoneNo=document.homepageform.telPhoneNo.value;
	var telPhoneNoLength=telPhoneNo.length;
	var mobileStdCode=document.homepageform.mobileStdCode.value;
	var mobileStdCodeLength=mobileStdCode.length;
	var mobileNo=document.homepageform.mobileNo.value;
	var mobileNoLength=mobileNo.length;

	if(fn_PhonePhoneAndMobileValidations())
	 {
	
		if(telAreaCodeLength>0)
		 {
			if(!fn_checkPhoneIsNumeric(telAreaCode))
			 {
				var flag=fn_countryCode(telAreaCode);
				if(flag=="false")
				 {
					//alert("Please Enter Valid AreaCode.");
					document.homepageform.telAreaCode.style.border="solid #FF0000 1px";
						alert(areaCodeMsg);
					document.homepageform.telAreaCode.focus();
					 return false;
				 }

			 }
		 }

		//alert("telStdCode==>"+telStdCode);
		if(telStdCodeLength>0)
		 {
			if(!fn_checkPhoneIsNumeric(telStdCode))
			 {
				//alert("Please Enter Valid StdCode.");
			document.homepageform.telStdCode.style.border="solid #FF0000 1px";
				alert(stdCodeMsg);
				document.homepageform.telStdCode.focus();
				 return false;
			 }
		 }
		 
		
		if(telPhoneNoLength>0)
		 {
			if(!fn_checkPhoneIsNumeric(telPhoneNo))
			 {
				 //alert("Please Enter Valid PhoneNo.");
				document.homepageform.telPhoneNo.style.border="solid #FF0000 1px";
				 alert(phoneNoMsg);
				document.homepageform.telPhoneNo.focus();
				 return false;
			 }
		 }
	
		
		if(mobileStdCodeLength>0)
		 {
			if(!fn_checkPhoneIsNumeric(mobileStdCode))
			 {
			
					//alert("Please Enter Valid MobileStdCode.");
					alert(mobileSTDCode);
					document.homepageform.mobileStdCode.style.border="solid #FF0000 1px";
					document.homepageform.mobileStdCode.focus();
					 return false;
				
			 }
		 }

		
		if(mobileNoLength>0)
		 {
			if(!fn_checkPhoneIsNumeric(mobileNo))
			 {
				//alert("Please Enter Valid MobileNo.");
				document.homepageform.mobileNo.style.border="solid #FF0000 1px";
				alert(mobilePhone);
				document.homepageform.mobileNo.focus();
				 return false;
			 }
		 }

		 return true;
	 }
	
 }


function fn_countryCode(Value)
{
	var flag="false";
	
	  for (var i = 0; i< Value.length; i++) 
	  {
	  if(i==0)
		 if(Value.charAt(0)=="+")
		  continue;
    if (Value.charAt(i) < "0" || Value.charAt(i) > "9")
    return flag;
  }
  return true;
}



function fn_isAlpha(value)	
{			
	var Alphabet;		
	//Alphabet = "^[a-zA-Z]+$";	
	Alphabet =/^[A-Za-z .]+$/;	
	//A-Z or a-z Alphabets only allowed		
	var name =value;	
	if (name.search(Alphabet) == -1) 	
	//	Or//if (!name.match(Alphabet))		
	{	
		return false;		

	}		
	else		
	{	
		return true;

	}	

}
function fn_isAlphaForOthers(value)	
{			
	var Alphabet;		
	//Alphabet = "^[a-zA-Z]+$";	
	Alphabet =/^[A-Za-z .-]+$/;	
	//A-Z or a-z Alphabets only allowed		
	var name =value;	
	if (name.search(Alphabet) == -1) 	
	//	Or//if (!name.match(Alphabet))		
	{	

		return false;		

	}		
	else		
	{	
	
		return true;

	}	

}



function fn_checkSpacesForName()
{
//	alert("Inside fn_checkSpacesForName function ");
	var name=document.homepageform.claimantName.value;

	var length=name.length;
	

	if(name.charAt(0)==' ')
	{
		document.homepageform.claimantName.style.border="solid #FF0000 1px";
		alert(nameStartSpaceError);
		document.homepageform.claimantName.focus();
		return false;
	}
	else if(name.indexOf('..')!=-1) 
	{
		document.homepageform.claimantName.style.border="solid #FF0000 1px";
		alert(twodotNameError);
		document.homepageform.claimantName.focus();
		return false;
	}
		else if(name.indexOf('  ')!=-1) 
	{
		document.homepageform.claimantName.style.border="solid #FF0000 1px";
		alert(twoSpaceNameError);
		document.homepageform.claimantName.focus();
		return false;
	}
	else if(name.charAt(length-1)==' ')
	{
		document.homepageform.claimantName.style.border="solid #FF0000 1px";
		alert(nameEndSpaceError);
		document.homepageform.claimantName.focus();
		return false;
	}
	else if(name.indexOf('.')!=-1) 
	{
		var index=name.indexOf('.');
		
		//alert("index====>"+index);

		if(index==0)
		{
			//alert("Dot is not allowed in begining at the Claimant Name.");
			alert(nameDotBegErr);
			document.homepageform.claimantName.style.border="solid #FF0000 1px";
			document.homepageform.claimantName.focus();
			return false;
		}
		else if(index==length-1)
		{
			//alert("Dot is not allowed in end at the Claimant Name.");
			alert(nameDotEndErr);
				document.homepageform.claimantName.style.border="solid #FF0000 1px";
			document.homepageform.claimantName.focus();
			return false;

		}
		else
		{
			return true;
		}
		
		//if(name.charAt(index-1)==' ')
			//alert("Space is not allowed before Dot.");
		//if(name.charAt(index+1)==' ')
			//alert("Space is not allowed after Dot.");

	}	

	else
	{
		//alert("returned true=>"+index);
		return true;
	}

}

function fn_checkSpacesForOthers()
{
//	alert("Inside fn_checkSpacesForOthers function ");
	var name=document.homepageform.otherRelation.value;

	var length=name.length;
	

	if(name.charAt(0)==' ')
	{
		alert(othersStartSpaceError);
		document.homepageform.otherRelation.style.border="solid #FF0000 1px";
		document.homepageform.otherRelation.focus();
		return false;
	}
	if(name.indexOf('..')!=-1) 
	{
		alert(twodotOthersError);
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
		document.homepageform.otherRelation.focus();
		return false;
	}
	if(name.indexOf('  ')!=-1) 
	{
		alert(twoSpaceOthersError);
		document.homepageform.otherRelation.style.border="solid #FF0000 1px";
		document.homepageform.otherRelation.focus();
		return false;
	}
	if(name.charAt(length-1)==' ')
	{
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
		alert(othersEndSpaceError);
		document.homepageform.otherRelation.focus();
		return false;
	}

	if(name.indexOf('.')!=-1) 
	{
		var index=name.indexOf('.');
		
		//alert(" . index====>"+index);

		if(index==0)
		{
			//alert("Dot is not allowed in begining at the Others.");
			alert(othersDotBegErr);
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
			document.homepageform.otherRelation.focus();
			return false;
		}
		else if(index==length-1)
		{
			//alert("Dot is not allowed in end at the Others.");
			alert(othersDotEndErr);
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
			document.homepageform.otherRelation.focus();
			return false;

		}
		
	}
	if(name.indexOf('-')!=-1) 
	{
		var index=name.indexOf('-');
	//	alert("- index====>"+index);
		if(index==0)
		{
			//alert("Hyphen is not allowed in begining at the Others.");
			alert(othersHyphenBegErr);
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
			document.homepageform.otherRelation.focus();
			return false;
		}
		else if(index==length-1)
		{
			//alert("Hyphen is not allowed in end at the Others.");
			alert(othersHyphenEndErr);
			document.homepageform.otherRelation.style.border="solid #FF0000 1px";
			document.homepageform.otherRelation.focus();
			return false;
		}
	}
	return true;

}



 function enterKeyTrapper(e){
		if (window.event) e = window.event;
		var Key = e.keyCode;
		if(Key==13){//Enter key value is '13'
			return true;
		}else{
			return false;
		}
	}

function fn_ValidEmailId(emailVal){
	var emailIds=new Array('lifeline@iciciprulife.com' , 'eliteservice@iciciprulife.com' , 'callcenter@iciciprulife.com' , 'estatements@iciciprulife.com' , 'communication@iciciprulife.com' , 'gro@iciciprulife.com' , 'grievance@iciciprulife.com' , 'grouplife@iciciprulife.com' , 'customerinfo@iciciprulife.com' , 'customerservice@iciciprulife.com' , 'employeeassist@iciciprulife.com' , 'sru@iciciprulife.com' , 'beanadvisor@iciciprulife.com' , 'corporateagent@iciciprulife.com' , 'website@iciciprulife.com' , 'corporatecommunications@iciciprulife.com');
	var flg=true;
	for(var i=0;i<emailIds.length;i++){
		if(emailVal==emailIds[i]){
			alert("Entered Email Id is not allowed to used.");
			flg=false;
			break;
		}
	}
	return flg; 
}


