/**
 * This script is for Date validation
 */
var dtCh = "/";
var minYear = 1900;
var maxYear = new Date();

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,fieldName) {
	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) {
		alert("The date format should be : mm/dd/yyyy for "+fieldName)
		return false
	}
	if (strMonth.length < 1 || month < 1 || month > 12) {
		alert("Please enter a valid month for "+fieldName)
		return false
	}
	if (strDay.length < 1 || day < 1 || day > 31
			|| (month == 2 && day > daysInFebruary(year))
			|| day > daysInMonth[month]) {
		alert("Please enter a valid day for "+fieldName)
		return false
	}
	if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
		alert("Please enter a valid 4 digit year after " + minYear +" for "+fieldName)
		return false
	}
	if (dtStr.indexOf(dtCh, pos2 + 1) != -1
			|| isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
		alert("Please enter a valid date for "+fieldName)
		return false
	}
	var today = new Date();
	var ddToday = today.getDate();
	var mmToday = today.getMonth()+1;//January is 0!
	var yyyyToday = today.getFullYear();
	var ddSelected = parseInt(strDay);
	var mmSelected = parseInt(strMonth);
	var yyyySelected = parseInt(strYear);
	if(yyyySelected>yyyyToday){
		alert("Future date is not allowed for "+fieldName);
		return false;
	}
	else if(yyyySelected==yyyyToday){
		if(mmSelected>mmToday){
			alert("Future date is not allowed for "+fieldName);
			return false;
		}
		else if(mmSelected==mmToday){
			if(ddSelected>ddToday){
				alert("Future date is not allowed for "+fieldName);
				return false;
			}
		}
	}

	return true
}
function dateComparer(dtDateLossStr,dtDateLossReportedStr){
	
	var strMonthDateLossReported = (dtDateLossReportedStr.substring(0, 2))
	var strDayDateLossReported = (dtDateLossReportedStr.substring(3, 5))
	var strYearDateLossReported = (dtDateLossReportedStr.substring(6))

	var strMonthDateLoss = (dtDateLossStr.substring(0, 2))
	var strDayDateLoss = (dtDateLossStr.substring(3, 5))
	var strYearDateLoss = (dtDateLossStr.substring(6))
	
	
	if(strYearDateLoss>strYearDateLossReported){
		return false;
	}
	else if(strYearDateLoss==strYearDateLossReported){
		if(strMonthDateLoss>strMonthDateLossReported){
			return false;
		}
		else if(strMonthDateLoss==strMonthDateLossReported){
			if(strDayDateLoss>strDayDateLossReported){
				return false;
			}
		}
	}
	return true;
}
// End of Date Validation Script

/**
 * This script is for Contact Us Form
 */

function validateForm_contactUs() {
	form = document.getElementById("claimsummary");
	var regularExpression = /^[a-zA-z0-9&,-;. ]+$/;

	if (form.elements['contactUs.firstName']) {
		field = form.elements['contactUs.firstName'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("First Name is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(regularExpression)) {
			alert("Only Alpha Numeric and special characters(&,.,-,;,) are allowed");
			field.focus();
			return false;
		}
	}
	if (form.elements['contactUs.firstName']) {

		field = form.elements['contactUs.firstName'];
		if (field.value != null) {
			var value = field.value;
			while (value.substring(0, 1) == ' ')
				value = value.substring(1, value.length);
			while (value.substring(value.length - 1, value.length) == ' ')
				value = value.substring(0, value.length - 1);
			if ((-1 > -1 && value.length < -1)
					|| (255 > -1 && value.length > 255)) {
				alert("First Name should not be more than 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['contactUs.lastName']) {
		field = form.elements['contactUs.lastName'];
		var error = "Last Name is required";
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Last Name is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(regularExpression)) {
			alert("Only Alpha Numeric and special characters(&,.,-,;,) are allowed");
			field.focus();
			return false;
		}
	}
	if (form.elements['contactUs.lastName']) {
		field = form.elements['contactUs.lastName'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (255 > -1 && field.value.length > 255)) {
				alert("Last Name should not be more than 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['contactUs.email']) {
		field = form.elements['contactUs.email'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Email Address is required");
			field.focus();
			return false;
		} else if (field.value != null
				&& field.value.length > 0
				&& field.value
						.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi) == null) {
			alert("Please enter a valid email address");
			field.focus();
			return false;
		}
	}
	
	if (form.elements['contactUs.confirmEmail']) {
		field = form.elements['contactUs.confirmEmail'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Confirm Email Address is required");
			field.focus();
			return false;
		} else if (field.value != null
				&& field.value.length > 0
				&& field.value
						.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi) == null) {
			alert("Please enter a valid email address");
			field.focus();
			return false;
		} else if(field.value != form.elements['contactUs.email'].value){
			alert("Email Address and Confirm Email Address must be same");
			field.focus();
			return false;
		}
		
	}
	
	if ((form.elements['contactUs.phoneNumber_1'].value == "")
			&& (form.elements['contactUs.phoneNumber_2'].value == "")
			&& (form.elements['contactUs.phoneNumber_3'].value == "")) {
		alert("Phone Number is required");
		form.elements['contactUs.phoneNumber_1'].focus();
		return false;
	}
	else if (!(form.elements['contactUs.phoneNumber_1'].value
			.match(/^\d{3}$/)
			&& form.elements['contactUs.phoneNumber_2'].value
					.match(/^\d{3}$/) && form.elements['contactUs.phoneNumber_3'].value
			.match(/^\d{4}$/))) {
		alert("Phone number must be in 000-000-0000 format");
		form.elements['contactUs.phoneNumber_1'].focus();
		return false;
	}
	if (form.elements['contactUs.preferredContact']) {
		field = form.elements['contactUs.preferredContact'];
		if (field.value != null && (field.value == "")) {
			alert("Please select a Preferred Contact Method");
			field.focus();
			return false;
		} else if(field.value == "Mail"){
			if (form.elements['contactUs.address_1']) {
				field = form.elements['contactUs.address_1'];
				if (field.value != null
						&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
					alert("Address is required");
					field.focus();
					return false;
				}
			}
			if (form.elements['contactUs.city']) {
				field = form.elements['contactUs.city'];
				if (field.value != null
						&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
					alert("City is required");
					field.focus();
					return false;
				}
			}

			if (form.elements['contactUs.state']) {
				field = form.elements['contactUs.state'];
				if (field.value != null && (field.value == "")) {
					alert("Please select a State");
					field.focus();
					return false;
				}
			}

			if (form.elements['contactUs.zip']) {
				field = form.elements['contactUs.zip'];
				if (field.value != null
						&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
					alert("Zip is required");
					field.focus();
					return false;
				} else if (field.value != null
						&& !field.value.match(/(\d\d\d\d\d)/)) {
					alert("Zip code must be 5 digits");
					field.focus();
					return false;
				}
			}
		}
	}
	
	if (form.elements['contactUs.topic']) {
		field = form.elements['contactUs.topic'];
		if (field.value != null && (field.value == "")) {
			alert("Please select a Topic");
			field.focus();
			return false;
		}
	}
	
	if (form.elements['contactUs.questionsOrComments']) {
		field = form.elements['contactUs.questionsOrComments'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (2000 > -1 && field.value.length > 2000)) {
				alert("Questions and Comments can contain maximum 2000 characters");
				field.focus();
				return false;
			}
		}
	}
	return true;
}

// End of Contact Us Form Validation

/**
 * This script is for Request Claim Summary Form
 */

function validateForm_claimsummary() {
	form = document.getElementById("claimsummary");
	var regularExpression = /^[a-zA-z0-9&,-;. ]+$/;
	if (form.elements['claimSummary.firstName']) {
		field = form.elements['claimSummary.firstName'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("First Name is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(regularExpression)) {
			alert("Only Alpha Numeric and special characters are allowed");
			field.focus();
			return false;
		}
	}
	if (form.elements['claimSummary.firstName']) {
		field = form.elements['claimSummary.firstName'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (255 > -1 && field.value.length > 255)) {
				alert("First Name should not be more than 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['claimSummary.lastName']) {
		field = form.elements['claimSummary.lastName'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Last Name is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(regularExpression)) {
			alert("Only Alpha Numeric and special characters are allowed");
			field.focus();
			return false;
		}
	}
	if (form.elements['claimSummary.lastName']) {
		field = form.elements['claimSummary.lastName'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (255 > -1 && field.value.length > 255)) {
				alert("Last Name should not be more than 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['claimSummary.businessName']) {
		field = form.elements['claimSummary.businessName'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Business Name is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(regularExpression)) {
			alert("Only Alpha Numeric and special characters are allowed");
			field.focus();
			return false;
		}
	}
	if (form.elements['claimSummary.businessName']) {
		field = form.elements['claimSummary.businessName'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (255 > -1 && field.value.length > 255)) {
				alert("Business Name should not be more than 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['claimSummary.email']) {
		field = form.elements['claimSummary.email'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Email Address is required");
			field.focus();
			return false;
		} else if (field.value != null
				&& field.value.length > 0
				&& field.value
						.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi) == null) {
			alert("Please enter a valid email address");
			field.focus();
			return false;
		}
	}
	
	if (!((form.elements['claimSummary.phone_1'].value == "")
			&& (form.elements['claimSummary.phone_2'].value == "") && (form.elements['claimSummary.phone_3'].value == ""))) {
		if (!(form.elements['claimSummary.phone_1'].value
				.match(/^\d{3}$/)
				&& form.elements['claimSummary.phone_2'].value
						.match(/^\d{3}$/) && form.elements['claimSummary.phone_3'].value
				.match(/^\d{4}$/))) {
			alert("Phone must be in 000-000-0000 format");
			form.elements['claimSummary.phone_1'].focus();
			return false;
		}
	}
	
	var checkBox_1 = form.elements['claimSummary.informationStatusOfYourClaim'];
	var checkBox_2 = form.elements['claimSummary.informationAmountPaidToDate'];
	var checkBox_3 = form.elements['claimSummary.informationWhoCanISpeakTo'];
	if (!((checkBox_1.checked) || (checkBox_2.checked) || (checkBox_3.checked))) {
		alert("Please select the information you are interested in");
		field.focus();
		return false;
	}
	
	if (form.elements['claimSummary.comments']) {
		field = form.elements['claimSummary.comments'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (2000 > -1 && field.value.length > 2000)) {
				alert("Comments can contain maximum 2000 characters");
				field.focus();
				return false;
			}
		}
	}
	return true;
}

//End of Request Claim Summary Form Validation

/**
 * This script is for Report New Claim Form
 */

function moveOnMax(field,nextFieldID){
	  if(field.value.length >= field.maxLength){
	    nextField = document.getElementById(nextFieldID);
	    nextField.focus();
	  }
}

function validateForm_reportnewclaim() {
	form = document.getElementById("reportnewclaimId");
	var regularExpression = /^[a-zA-z0-9&,-;. ]+$/;

	if ((form.elements['reportNewClaim.dateOfLossMonth'].value == "")
			&& (form.elements['reportNewClaim.dateOfLossDay'].value == "")
			&& (form.elements['reportNewClaim.dateOfLossYear'].value == "")) {
		alert("Date of Loss is required");
		form.elements['reportNewClaim.dateOfLossMonth'].focus();
		return false;
	} else if (isDate(form.elements['reportNewClaim.dateOfLossMonth'].value
			+ "/" + form.elements['reportNewClaim.dateOfLossDay'].value + "/"
			+ form.elements['reportNewClaim.dateOfLossYear'].value,"Date of Loss") == false) {
		return false;
	}

	if ((form.elements['reportNewClaim.dateLossReportedMonth'].value == "")
			&& (form.elements['reportNewClaim.dateLossReportedDay'].value == "")
			&& (form.elements['reportNewClaim.dateLossReportedYear'].value == "")) {
		alert("Date Loss Reported is required");
		form.elements['reportNewClaim.dateLossReportedMonth'].focus();
		return false;
	} else if (isDate(form.elements['reportNewClaim.dateLossReportedMonth'].value
			+ "/"
			+ form.elements['reportNewClaim.dateLossReportedDay'].value
			+ "/" + form.elements['reportNewClaim.dateLossReportedYear'].value,"Date Loss Reported") == false) {
		return false;
	}

	if (form.elements['reportNewClaim.policyNumber']) {
		field = form.elements['reportNewClaim.policyNumber'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Policy Number is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(/^[a-zA-z0-9-]+$/)) {
			alert("Only Alpha Numeric and '-' is allowed for Policy number");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.policyNumber']) {
		field = form.elements['reportNewClaim.policyNumber'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (40 > -1 && field.value.length > 40)) {
				alert("Maximum 40 characters are allowed for Policy number");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['reportNewClaim.personName']) {
		field = form.elements['reportNewClaim.personName'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Name of person reporting the claim is required");
			field.focus();
			return false;
		} else if (field.value != null && !field.value.match(regularExpression)) {
			alert("Person name allows only Alpha Numeric and special characters('.',',','&',';','-')");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.personName']) {
		field = form.elements['reportNewClaim.personName'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (255 > -1 && field.value.length > 255)) {
				alert("Person Name can have maximum 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['reportNewClaim.personRelation']) {
		field = form.elements['reportNewClaim.personRelation'];
		if (field.value != null && (field.value == "")) {
			alert("Please select the Relation of person reporting the claim to the insured");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.bestContactNumber']) {
		field = form.elements['reportNewClaim.bestContactNumber'];
		if (field.value != null && (field.value == "")) {
			alert("Please select the best number to contact you");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.bestContactNumber']) {
		field = form.elements['reportNewClaim.bestContactNumber'];
		if (field.value == "Work Phone") {
			if ((form.elements['reportNewClaim.workPhone_1'].value == "")
					&& (form.elements['reportNewClaim.workPhone_2'].value == "")
					&& (form.elements['reportNewClaim.workPhone_3'].value == "")) {
				alert("Work Phone is required");
				form.elements['reportNewClaim.workPhone_1'].focus();
				return false;
			}
		} else if (field.value == "Home Phone") {
			if ((form.elements['reportNewClaim.homePhone_1'].value == "")
					&& (form.elements['reportNewClaim.homePhone_2'].value == "")
					&& (form.elements['reportNewClaim.homePhone_3'].value == "")) {
				alert("Home Phone is required");
				form.elements['reportNewClaim.homePhone_1'].focus();
				return false;
			}
		} else if (field.value == "Mobile Phone") {
			if ((form.elements['reportNewClaim.mobilePhone_1'].value == "")
					&& (form.elements['reportNewClaim.mobilePhone_2'].value == "")
					&& (form.elements['reportNewClaim.mobilePhone_3'].value == "")) {
				alert("Mobile Phone is required");
				form.elements['reportNewClaim.mobilePhone_1'].focus();
				return false;
			}
		}
	}
	if (!((form.elements['reportNewClaim.workPhone_1'].value == "")
			&& (form.elements['reportNewClaim.workPhone_2'].value == "") && (form.elements['reportNewClaim.workPhone_3'].value == ""))) {
		if (!(form.elements['reportNewClaim.workPhone_1'].value
				.match(/^\d{3}$/)
				&& form.elements['reportNewClaim.workPhone_2'].value
						.match(/^\d{3}$/) && form.elements['reportNewClaim.workPhone_3'].value
				.match(/^\d{4}$/))) {
			alert("Work Phone must be in 000-000-0000 format");
			form.elements['reportNewClaim.workPhone_1'].focus();
			return false;
		}
	}
	if (!((form.elements['reportNewClaim.homePhone_1'].value == "")
			&& (form.elements['reportNewClaim.homePhone_2'].value == "") && (form.elements['reportNewClaim.homePhone_3'].value == ""))) {
		if (!(form.elements['reportNewClaim.homePhone_1'].value
				.match(/^\d{3}$/)
				&& form.elements['reportNewClaim.homePhone_2'].value
						.match(/^\d{3}$/) && form.elements['reportNewClaim.homePhone_3'].value
				.match(/^\d{4}$/))) {
			alert("Home Phone must be in 000-000-0000 format");
			form.elements['reportNewClaim.homePhone_1'].focus();
			return false;
		}
	}
	if (!((form.elements['reportNewClaim.mobilePhone_1'].value == "")
			&& (form.elements['reportNewClaim.mobilePhone_2'].value == "") && (form.elements['reportNewClaim.mobilePhone_3'].value == ""))) {
		if (!(form.elements['reportNewClaim.mobilePhone_1'].value
				.match(/^\d{3}$/)
				&& form.elements['reportNewClaim.mobilePhone_2'].value
						.match(/^\d{3}$/) && form.elements['reportNewClaim.mobilePhone_3'].value
				.match(/^\d{4}$/))) {
			alert("Mobile Phone must be in 000-000-0000 format");
			form.elements['reportNewClaim.mobilePhone_1'].focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.bestContactTime']) {
		field = form.elements['reportNewClaim.bestContactTime'];
		if (field.value != null && (field.value == "")) {
			alert("Please select the best time to contact you");
			field.focus();
			return false;
		}
	}

	if (form.elements['reportNewClaim.damageDescription']) {
		field = form.elements['reportNewClaim.damageDescription'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (2000 > -1 && field.value.length > 2000)) {
				alert("Damage description can contain maximum 2000 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['reportNewClaim.email']) {
		field = form.elements['reportNewClaim.email'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Email Address is required");
			field.focus();
			return false;
		} else if (field.value != null
				&& field.value.length > 0
				&& field.value
						.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi) == null) {
			alert("Please enter a valid email address");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.lossCause']) {
		field = form.elements['reportNewClaim.lossCause'];
		if (field.value != null && (field.value == "")) {
			alert("Please select the cause of the loss");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.address_1']) {
		field = form.elements['reportNewClaim.address_1'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Address is required");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.address_1']) {
		field = form.elements['reportNewClaim.address_1'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (60 > -1 && field.value.length > 60)) {
				alert("Maximum 60 characters are allowed in first address line");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['reportNewClaim.address_2']) {
		field = form.elements['reportNewClaim.address_2'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (60 > -1 && field.value.length > 60)) {
				alert("Maximum 60 characters are allowed in second address line");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['reportNewClaim.city']) {
		field = form.elements['reportNewClaim.city'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("City is required");
			field.focus();
			return false;
		}
	}
	if (form.elements['reportNewClaim.city']) {
		field = form.elements['reportNewClaim.city'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (60 > -1 && field.value.length > 60)) {
				alert("Maximum 60 characters are allowed in City");
				field.focus();
				return false;
			}
		}
	}

	if (form.elements['reportNewClaim.state']) {
		field = form.elements['reportNewClaim.state'];
		if (field.value != null && (field.value == "")) {
			alert("Please select a State");
			field.focus();
			return false;
		}
	}

	if (form.elements['reportNewClaim.zip']) {
		field = form.elements['reportNewClaim.zip'];
		if (field.value != null
				&& (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
			alert("Zip is required");
			field.focus();
			return false;
		} else if (field.value != null
				&& !field.value.match(/(\d\d\d\d\d)/)) {
			alert("Zip code must be 5 digits");
			field.focus();
			return false;
		}
	}

	if (form.elements['reportNewClaim.remarks']) {
		field = form.elements['reportNewClaim.remarks'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (2000 > -1 && field.value.length > 2000)) {
				alert("Remarks can maximum be 2000 characters");
				field.focus();
				return false;
			}
		}
	}

	if (form.elements['reportNewClaim.insuredName']) {
		field = form.elements['reportNewClaim.insuredName'];
		if (field.value != null) {
			while (field.value.substring(0, 1) == ' ')
				field.value = field.value.substring(1, field.value.length);
			while (field.value.substring(field.value.length - 1,
					field.value.length) == ' ')
				field.value = field.value.substring(0, field.value.length - 1);
			if ((-1 > -1 && field.value.length < -1)
					|| (255 > -1 && field.value.length > 255)) {
				alert("Insured name can maximum take 255 characters");
				field.focus();
				return false;
			}
		}
	}
	if (form.elements['reportNewClaim.insuredName']) {
		field = form.elements['reportNewClaim.insuredName'];
		if (field.value != null && !field.value.match(regularExpression)) {
			if ((field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
				return true;
			}
			alert("Insured name allows only Alpha Numeric and special characters('.',',','&',';','-')");
			field.focus();
			return false;
		}
	}
	return true;
}

//End of Report New Claim Form Validation

