function validate(form)
{
   var lsError = "";
   var newLineChar = String.fromCharCode(10);
   var lsLine = "----------------------------------------------------------------------";
 
 
	//GORANTS - 01/21/02 - Defect 34549 - The word 'required' is deleted from error messages. 
   if (form.name == "frmNOLA") {
		if (form.efFPHFirstName.value == "") lsError += "* Policyholder First name" + newLineChar;
		if (form.efFPHLastName.value == "") lsError += "* Policyholder Last name" + newLineChar;
		if (((form.efFPHHomePhone1.value == "") || (form.efFPHHomePhone2.value == "") || (form.efFPHHomePhone3.value == "")) && ((form.efPHAddress.value =="") || (form.efPHCity.value =="") || (form.efPHState.value =="") || (form.efPHZip.value ==""))) lsError += "* Policyholder Address Or Home phone number" + newLineChar;
	 
		if (lsError != "") {
			alert("The following field(s) are required:" + newLineChar + lsLine + newLineChar + lsError + lsLine + newLineChar + "Note: To continue reporting online, you need to fill in fields marked with an asterisk(*).");
		}
		else {
			form.submit();
		}
	} 


	if (form.name == "frmNOLB") {
		if (form.efVehicleYear.value == "") lsError += "* Vehicle year" + newLineChar;
		if (form.efVehicleMake.value == "") lsError += "* Vehicle manufacturer" + newLineChar;
		if (form.efLossDate_mo.value == "" || form.efLossDate_day.value == "" || form.efLossDate_yr.value == "") lsError += "* Date of Incident" + newLineChar;
	
		if (lsError != "") {
			alert("The following field(s) are required:" + newLineChar + lsLine + newLineChar + lsError + lsLine + newLineChar + "Note: To continue reporting online, you need to fill in fields marked with an asterisk(*).");
		}
		else {
			form.submit();
		}
	} 

	
	
	if (form.name == "frmNOLC") {
			form.submit();
	} 
	
	
	if (form.name == "frmClmt") {	
		fnSubmit('Continue','Continue');
	}
	
	
	if (form.name == "frmdamage") {	
		submitform(document.frmdamage);
	}
	
	
   if (form.name == "frmHONOLA") {
		if (form.efFPHFirstName.value == "") lsError += "* Policyholder First name" + newLineChar;
		if (form.efFPHLastName.value == "") lsError += "* Policyholder Last name" + newLineChar;
		if (((form.efFPHHomePhone1.value == "") || (form.efFPHHomePhone2.value == "") || (form.efFPHHomePhone3.value == "")) && ((form.efPHAddress.value =="") || (form.efPHCity.value =="") || (form.efPHState.value =="") || (form.efPHZip.value ==""))) lsError += "* Policyholder Address Or Home phone number" + newLineChar;
	 
		if (lsError != "") {
			alert("The following field(s) are required:" + newLineChar + lsLine + newLineChar + lsError + lsLine + newLineChar + "Note: To continue reporting online, you need to fill in fields marked with an asterisk(*).");
		}
		else {
			form.submit();
		}
	}
	
	
	
	if (form.name == "frmHONOLC") {
		if (form.efNOLLossDate_mo.value == "" || form.efNOLLossDate_day.value == "" || form.efNOLLossDate_yr.value == "") lsError += "* Date of Incident" + newLineChar;
		if (form.LostDamagedItems.value == "") lsError += "* Lost/Damaged items" + newLineChar;
		
		if (lsError != "") {
			alert("The following field(s) are required:" + newLineChar + lsLine + newLineChar + lsError + lsLine + newLineChar + "Note: To continue reporting online, you need to fill in fields marked with an asterisk(*).");
		}
		else {
			form.action="NOLE.asp";
			form.submit();
		} 
	}
	
	if (form.name == "frmPDF") {
		if (form.efPHFName1.value == "") lsError += "* Policyholder First name" + newLineChar;
		if (form.efPHLName1.value == "") lsError += "* Policyholder Last name" + newLineChar;
		if (form.efPolicyNum.value == "") lsError += "* Policy Number" + newLineChar;
		if (form.efNOLLossDate.value == "") lsError += "* Date of Loss" + newLineChar;
		if (form.LossSt.value == "") lsError += "* Loss State" + newLineChar;
		if (form.FormName.value == "") lsError += "* Select Form" + newLineChar;
	 
		if (lsError != "") {
			alert("The following field(s) are required:" + newLineChar + lsLine + newLineChar + lsError + lsLine + newLineChar + "Note: To continue reporting online, you need to fill in fields marked with an asterisk(*).");
		}
		else {
			createCookie()
		}
	} 
	
} // End Function




function validateTime1(efTime) {
	var temp = efTime.value.charAt(2);
	var lsError = false;
	if (efTime.value == "") return;
	if (efTime.value.charAt(2) != ":" || ((efTime.value.charAt(0) + efTime.value.charAt(1)) > 12)  || 
		(efTime.value.charAt(3) > 6)) lsError = true;
	
	if (lsError == true) {
		alert("Please enter time in HH:MM format");
		efTime.select();
		} // end if
} // end function

function validateTime(efTime) {
	if (efTime.value == "") return(true);
	var a = new Date("December 25, 1995 " + efTime.value + " AM");
	if ( isNaN(a) ) {
		alert("Please enter valid time in HH:MM format.");
		efTime.value="";
		efTime.select();
		return(false);
	}
	else
	{
		var hours;
		hours =	a.getHours();
		var mins;
		mins	= a.getMinutes();
		if (isNaN(hours) || isNaN(mins)) {
		 alert("Please enter valid time in HH:MM format.");
		 efTime.value="";
		 efTime.select();
		 return(false);
		 }
		 else	
		 {
		 if (hours > 12) {
			alert("Please enter valid time in HH:MM format.");
			efTime.value="";
			efTime.select();
			return(false);
			}
		 if (String(hours).length < 2) hours =	"0" +	hours;
		 if ((String(mins).length = 2) && (mins < 10)) mins =	"0" + mins;
		 else if ((String(mins).length = 2) && (mins >= 10)) mins = mins;
		 else if ((String(mins).length < 2) && (mins > 5)) mins =	"0" + mins;
		 else if ((String(mins).length < 2) && (mins <= 5)) mins =	mins + "0";  
		 if ((efTime.value.charAt(0) + efTime.value.charAt(1)) == 12) hours = "12"
		 efTime.value	= hours	+ ":"	+ mins;
		 }
	}
} // end function

function limit7clmt() {
		alert("You have reached your level of seven claimants." + String.fromCharCode(10) + "Any further Property Damage Information entered will not be saved.");
} // end function


function fnSubmit(lsvalue,Action) {
  var frm = document.frmClmt;
  if ((frm.efNumClaimants.value == "7") &&  (lsvalue == "Continue") ) {
     if ( !isFormBlank(frm)) {
        alert("You have reached your level of seven claimants." + String.fromCharCode(10) + "The current Property Damage Information entered will not be saved.");
	   	frm.efFirstName.value = "";frm.efLastName.value = "";
		frm.efAddress.value = "";frm.efCity.value = "";
        frm.efState.selectedIndex = 0;frm.efZipCode.value = ""; 
        frm.efHomePhone1.value = "";frm.efHomePhone2.value = "";
        frm.efHomePhone3.value = "";frm.efWorkPhone1.value = "";
        frm.efWorkPhone2.value = "";frm.efWorkPhone3.value = "";
        frm.efWorkPhoneExt.value = "";frm.efComment.value = ""; 
		frm.clicked.value=lsvalue;
		frm.submit();
      }
     else {
		frm.clicked.value=lsvalue;
		frm.submit();
      }    
        
	}
 else if (Action == "Edit" || Action == "Delete"){
			if (isFormBlank(frm))
			{
				frm.clicked.value=lsvalue;
				frm.submit();
			}
			else
			{
				alert("Please click on REPORT ADDITIONAL DAMAGED PROPERTY button to save this information before editing/deleting parties.");
				//if (confirm("This action will delete information present in Property Damage Information table." + String.fromCharCode(10) + "Do you want to continue?"))
				//{
				//	frm.clicked.value=lsvalue;
				//	frm.submit();
				//} // end if
			} // end if
	}
else if (Action == "Add") 
	{
	     if (!isFormBlank(frm)) {
			frm.clicked.value=lsvalue;
			frm.submit();
		 }	
	}
else if (Action == "Continue")
	{
			frm.action="NOLE.asp"
			frm.clicked.value=lsvalue;
			frm.submit();
	}	
} // end function

function isFormBlank(frm) {
        if (isBlank(frm.efFirstName.value) && isBlank(frm.efLastName.value) &&
            isBlank(frm.efAddress.value) && isBlank(frm.efCity.value) &&
            isBlank(frm.efState.options[frm.efState.selectedIndex].value) && isBlank(frm.efZipCode.value) && 
            isBlank(frm.efHomePhone1.value) && isBlank(frm.efHomePhone2.value) &&
            isBlank(frm.efHomePhone3.value) && isBlank(frm.efWorkPhone1.value) &&
            isBlank(frm.efWorkPhone2.value) && isBlank(frm.efWorkPhone3.value) &&
            isBlank(frm.efWorkPhoneExt.value) && isBlank(frm.efComment.value)   )
            return true;
} //end function isFormBlank
 
function isBlank(strField) {
         var intLength = strField.length;
         if ( intLength != 0 ){
            for (i=0; i < intLength; i++ ) {
                if ( strField.charAt(i) != " " ) {
                   return false;
                }
            }
         }   
         return true;            
} //end function isBlank


function validateDate(field, noAlert) {
	if (noAlert == null) noAlert = false;
	//alert("validateDate(" + field.name + ", " + noAlert + ")");
	if (validateDateEntered(field, noAlert)) {
		var bd = new Date(field.value);
		var today = new Date;
	
		//only for glass only best date to call field
		frmToday = today.getYear() * 10000 + today.getMonth() * 100 + today.getDate();
		frmBD = bd.getYear() * 10000 + bd.getMonth() * 100 + bd.getDate();
		if ((field.name == "efDate")&&(frmToday > frmBD)) {
			alert("The date cannot be in the past.  Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
			field.value="";
			field.focus();
		}
		if ((field.name != "efDate")&&(today.valueOf() < bd.valueOf())) {
			if (noAlert) {
				errors += "\n- The date cannot be in the future.  Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.";
				if (!errfield1) errfield1 = field;
			}
			else {
				alert("The date cannot be in the future.  Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
				field.value="";
				field.focus();
				// field.handleEvent(Event.blur);
			}
			return (false);
		}
		return (true);
	}
	else {
		return (false);
	}
}

function validateDateEntered(field, noAlert) {
	if (noAlert == null) noAlert = false;
	if (field.value.length == 0) {
		return (false);
	}
	theDate = new Date(field.value);
	//alert((theDate.getMonth()+1) + "/" + theDate.getDate() + "/" + theDate.getFullYear());
	mo = theDate.getMonth()+ 1;
	da = theDate.getDate();
	yr = theDate.getFullYear();
	if (yr != field.value.substr(field.value.length-4)) { //Century must have been added by Date(); make sure right.
		var shortyr = yr % 100
		if (shortyr >= 30) {
			yr = 1900 + shortyr
		} else {
			yr = 2000 + shortyr
		}
		theDate.setFullYear(yr);
	}
	if (isNaN(mo) || isNaN(da) || isNaN(yr)) {
		if (noAlert) {
			errors += "\n- Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.";
			if (!errfield1) errfield1 = field;
		}
		else {
			alert("Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
			field.value="";
			// field.handleEvent(Event.blur);
			field.focus();
		}
		return (false);
	}
	else if (String(yr).length != 4) {
		if (noAlert) {
			errors += "\n- Please be sure all dates have a 4-digit year";
			if (!errfield1) errfield1 = field;
		}
		else {
			alert("Please enter a 4-digit year in the date field");
			field.focus();
		}
	}
	else {
		field.value = (theDate.getMonth()+1) + "/" + theDate.getDate() + "/" + theDate.getFullYear();
		return (true);
	}
}

function validateParsedDate(fieldMo,fieldDay,fieldYr,field,noAlert) {
	if (noAlert == null) noAlert = false;
	if (fieldMo.value == "" || fieldDay.value == "" || fieldYr.value == "") return false;
	//alert("validateDate(" + field.name + ", " + noAlert + ")");
	if (validatePDateEntered(fieldMo,fieldDay,fieldYr,field,noAlert)) {
		var bd = new Date(field.value);
		var today = new Date;
		var preday = new Date("01/01/1753"); //sql standards
		//only for glass only best date to call field
		frmToday = today.getYear() * 10000 + today.getMonth() * 100 + today.getDate();
		frmBD = bd.getYear() * 10000 + bd.getMonth() * 100 + bd.getDate();
		if ((field.name == "efDate")&&(frmToday > frmBD)) {
			alert("The date cannot be in the past.  Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
			fieldMo.value="";
			fieldDay.value="";
			fieldYr.value="";
			fieldMo.focus();
			return (false);
		}
		if ((field.name != "efDate")&&(today.valueOf() < bd.valueOf())) {
			if (noAlert) {
				errors += "\n- The date cannot be in the future.  Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.";
				if (!errfield1) errfield1 = field;
			}
			else {
				alert("The date cannot be in the future.  Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
				fieldMo.value="";
				fieldDay.value="";
				fieldYr.value="";
				fieldMo.focus();
				// field.handleEvent(Event.blur);
			}
			return (false);
		} else if ((field.name != "efDate")&&(bd.valueOf() < preday.valueOf())) {
			alert("Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
			fieldMo.value="";
			fieldDay.value="";
			fieldYr.value="";
			fieldMo.focus();
			return (false);
		}
		return (true);
	}
	else {
		return (false);
	}
}

function validatePDateEntered(fieldMo,fieldDay,fieldYr,field,noAlert) {
	if (noAlert == null) noAlert = false;
	var fieldDate = fieldMo.value + "/" + fieldDay.value + "/" + fieldYr.value;
	if (fieldDate.length == 0) {
		return (false);
	}
	theDate = new Date(fieldDate);
	//alert((theDate.getMonth()+1) + "/" + theDate.getDate() + "/" + theDate.getFullYear());
	mo = theDate.getMonth()+ 1;
	da = theDate.getDate();
	yr = theDate.getFullYear();
	if (yr != fieldDate.substr(fieldDate.length-4)) { //Century must have been added by Date(); make sure right.
		var shortyr = yr % 100
		if (shortyr >= 30) {
			yr = 1900 + shortyr
		} else {
			yr = 2000 + shortyr
		}
		theDate.setFullYear(yr);
	}
	if (isNaN(mo) || isNaN(da) || isNaN(yr)) {
		if (noAlert) {
			errors += "\n- Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.";
			if (!errfield1) errfield1 = field;
		}
		else {
			alert("Please enter a valid date in the mm/dd/yyyy format, e.g. 3/29/2000.");
			fieldMo.value="";
			fieldDay.value="";
			fieldYr.value="";
			fieldMo.focus();
			// field.handleEvent(Event.blur);
		}
		return (false);
	}
	else if (String(yr).length != 4) {
		if (noAlert) {
			errors += "\n- Please be sure all dates have a 4-digit year";
			if (!errfield1) errfield1 = field;
		}
		else {
			alert("Please enter a 4-digit year in the date field");
			fieldYr.value="";
			fieldYr.focus();
		}
	}
	else {
		field.value = (theDate.getMonth()+1) + "/" + theDate.getDate() + "/" + theDate.getFullYear();
		fieldMo.value=theDate.getMonth()+1;
		fieldDay.value=theDate.getDate();
		fieldYr.value=theDate.getFullYear();
		return (true);
	}
}

function validateVehYear(field, noAlert) {
	if (field.value == "") return(true);
	if (noAlert == null) noAlert = false;
	var valid = true;
	if (field.value.length != 4) valid = false;  //check that year is 4-digits
	var str = new String(field.value);
	for (i=0; i<field.value.length; i++) {  //check that year contains numerics
		test = field.value.charAt(i);
		if (isNaN(parseInt(test))) valid = false;
	}
	if (!valid) {
		if (noAlert) {
			errors += "\n- Please enter a valid 4-digit Year";
			if (!errfield1) errfield1 = field;
		}
		else {
			alert("Please enter a valid 4-digit Year");
			field.focus();
		}
		field.value="";
		field.select();
		return(false);
	}
	//check that year not more than 1 year in future
	var dt = new Date();
	var yr = dt.getFullYear() + 1;
	if (field.value > yr) {
		if (noAlert) {
			errors += "\n- Model year can not be more than one year in the future";
			if (!errfield1) errfield1 = field;
		}
		else {
			alert("Model year can not be more than one year in the future");
			field.focus();
		}
		field.value="";
		field.select();
		return(false);
	}
	return (true);
}

function chkLength(field, desc, len){
	if (field.value == "") return(true);
	if (field.value.length < len) {
		alert("Not a valid " + desc + ".  Please reenter the value");
		field.value="";
		field.select();
		return false;
	}
}

function chkNumeric(field, desc, len) {
	if (field.value == "") return(true);
	if (field.value.length < len) {
		alert("Not a valid " + desc + ".  Please reenter the value");
		field.value="";
		field.select();
		return false;
	}
	var val;
	var errors;
	if (field.value > "") val = new String(field.value);
	else return false;
	var bNum = true;
	for (i=0; i<val.length; i++) {
		if (isNaN(parseInt(val.substr(i,1)))) bNum = false;
	}
	if (!bNum) {
		alert("Not a valid " + desc + ".  Please reenter the value");
		field.value="";
		field.select();
		return false;
	}
	return true;
}

function CheckLength(field,lnum){
  	if ( field.value.length > (lnum - 1) ) {
	   	alert("You have reached a limit." + String.fromCharCode(10) + "Please limit your text to " + lnum.toString() + " characters!!");
	   	var s = field.value;
	   	field.value = s.substr(0,lnum);
		field.select();
	   	return false;
	}
}

function CheckBlurLength(field,lnum){
  	if ( field.value.length > (lnum) ) {
	   	alert("You have reached a limit." + String.fromCharCode(10) + "Please limit your text to " + lnum.toString() + " characters!!");
	   	var s = field.value;
	   	field.value = s.substr(0,lnum);
		field.select();
	   	return false;
	}
}


function UpperCase(field){
  	var a;
  	a = field.value;
  	field.value=a.toUpperCase();
}

function previous(frm,Name){
		//	form=document.frm
			frm.action=Name;
			frm.submit();
	} // end function
	
function submitform(frm){
			if (confirm("You are about to submit this claim. Do you want to continue?")) frm.submit();
} // end function

function cancel(){
			if (confirm("You are about to cancel this claim.\n\nPress OK to cancel the claim, or Cancel to stay on the current page")) window.location = "http://www.nationwide.com/insurance-claims-center.jsp";
} // end function

function copyAdd(frm,Name){ // for copy property ph address from nola to nolc
	var AField, AValue, i;
	AField=frm.efField.value.split("|");
	AValue=frm.efValue.value.split("|");
	for (i=0;i<AField.length;i++) {
		if (AField[i] == "efPHAddress") {
			frm.efLossAddress.value = AValue[i];
		}
		if (AField[i] == "efPHCity") {
			frm.efLossCity.value = AValue[i];
		}
		if (AField[i] == "efPHState") {
			frm.efLossState.value = AValue[i];
		}
		if (AField[i] == "efPHZip") {
			frm.efLossZip.value = AValue[i];
		}	
	}
}

function clearAdd(frm){  //delete address
	frm.efLossAddress.value = "";
	frm.efLossCity.value = "";
	frm.efLossState.options[0].selected = "true";
	frm.efLossZip.value = "";
}

function checkTime(frm){
	//alert(frm.efTimeODay.length)
	if (frm.cbxLossTimeUnknown.checked){
		frm.selectAMPM.length = 0;
		frm.efNOLLossTime.value = "";
		frm.efNOLLossTime.disabled = true;
	}
	else if (frm.selectAMPM.length == 0){
		frm.efNOLLossTime.disabled = false;
		frm.selectAMPM.length = 2;
		frm.selectAMPM.options[0] = new Option("AM","AM",false,true);
		frm.selectAMPM.options[1] = new Option("PM","PM");
		frm.efNOLLossTime.value = "";
	}
}

//This function is used to set some radio button and drop down menus and will refresh
// the screen based on dynamic properties
function showForm(formElement, frm)
{
	//just for IE
  if (document.all){ 

	if (formElement.name == "rbLossPolice"){
		rbPolice = formElement.value;
		if (rbPolice == "Y"){
			efDeptID.className			= "clsShow";
			efReportNumberID.className  = "clsShow";
			frm.efLossDept.length = 5;
			frm.efLossDept.options[0] = new Option("City","CITY",false,true)
			frm.efLossDept.options[1] = new Option("County","CNTY")
			frm.efLossDept.options[2] = new Option("State","STAT")
			frm.efLossDept.options[3] = new Option("Township","TWP")
			frm.efLossDept.options[4] = new Option("Other","OTHE")
			}
		else{
			efDeptID.className			= "clsHide";
			efReportNumberID.className  = "clsHide";
			//frm.efLossDept.value			= ""; 
			frm.efLossDept.length = 0;
			frm.efLossReportNumber.value	= ""; 
		}
	}
 
  }// end if 
  else{  // for Netscape
  	var AField, AValue, i, rbPolice1;
	AField=frm.efField.value.split("|");
	AValue=frm.efValue.value.split("|");
	rbPolice1="";
	for (i=0;i<AField.length;i++) {
		if (AField[i] == "rbLossPolice") {
			rbPolice1 = AValue[i];
		}
	}
	if (formElement.name == "rbLossPolice" && ((formElement.value == "Y" && (rbPolice1 != "Y")) || (formElement.value != "Y" && rbPolice1 == "Y")) ){
		frm.action="NOLC.asp";
		frm.submit();
	}
 }// end else - For Netscape
}



//This function is used to set some radio button and drop down menus and will refresh
// the screen based on dynamic properties
function showFormAuto(formElement, frm)
{
	//just for IE
  if (document.all){ 
	if (formElement.name == "rbPolice"){
		rbPolice = formElement.value;
		if (rbPolice == "Y"){
			efDeptID.className			= "clsShow";
			efReportNumberID.className  = "clsShow";
			frm.efDept.length = 5;
			frm.efDept.options[0] = new Option("City","CITY",false,true)
			frm.efDept.options[1] = new Option("County","CNTY")
			frm.efDept.options[2] = new Option("State","STAT")
			frm.efDept.options[3] = new Option("Township","TWP")
			frm.efDept.options[4] = new Option("Other","OTHE")
			}
		else{
			efDeptID.className			= "clsHide";
			efReportNumberID.className  = "clsHide";
			//frm.efDept.value			= ""; 
			frm.efDept.length = 0;
			frm.efReportNumber.value	= ""; 
		}
	}
 
  }// end if 
  else{  // for Netscape
  	var AField, AValue, i, rbPolice1;
	AField=frm.efField.value.split("|");
	AValue=frm.efValue.value.split("|");
	rbPolice1="";
	for (i=0;i<AField.length;i++) {
		if (AField[i] == "rbPolice") {
			rbPolice1 = AValue[i];
		}
	}
	if (formElement.name == "rbPolice" && ((formElement.value == "Y" && (rbPolice1 != "Y")) || (formElement.value != "Y" && rbPolice1 == "Y")) ){
		frm.action="NOLC.asp";
		frm.submit();
	}
 }// end else - For Netscape
}